{"version":3,"sources":["jsdelivr-header.js","/npm/placer-toolkit@1.0.0-alpha.4/dist/placer.js"],"names":[],"mappings":"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,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,IAAK,KACV,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KACvB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,IACpB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,EAAG,IAAK,IAAK,GAAI,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,IAAK,IAAK,EAAG,IAAK,KACvB,CAAC,GAAI,GAAI,GAAI,EAAG,GAAI,IACpB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,IACrB,CAAC,GAAI,G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","file":"/npm/placer-toolkit@1.0.0-alpha.4/dist/placer.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/placer-toolkit@1.0.0-alpha.4/dist/placer.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __export = (target, all) => {\n  for (var name in all)\n    __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __decorateClass = (decorators, target, key, kind) => {\n  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n  for (var i8 = decorators.length - 1, decorator; i8 >= 0; i8--)\n    if (decorator = decorators[i8])\n      result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n  if (kind && result) __defProp(target, key, result);\n  return result;\n};\n\n// src/global-shims.ts\nvar _a;\nif (typeof window === \"undefined\") {\n  if (typeof globalThis.Event === \"undefined\") {\n    globalThis.Event = (_a = class {\n      constructor(type, eventInitDict) {\n        this.bubbles = false;\n        this.cancelBubble = false;\n        this.cancelable = false;\n        this.composed = false;\n        this.currentTarget = null;\n        this.defaultPrevented = false;\n        this.eventPhase = 0;\n        this.isTrusted = false;\n        this.returnValue = true;\n        this.srcElement = null;\n        this.target = null;\n        this.timeStamp = Date.now();\n        this.type = \"\";\n        if (type) this.type = type;\n        if (eventInitDict) {\n          if (typeof eventInitDict.bubbles === \"boolean\") {\n            this.bubbles = eventInitDict.bubbles;\n          }\n          if (typeof eventInitDict.cancelable === \"boolean\") {\n            this.cancelable = eventInitDict.cancelable;\n          }\n          if (typeof eventInitDict.composed === \"boolean\") {\n            this.composed = eventInitDict.composed;\n          }\n        }\n      }\n      composedPath() {\n        return [];\n      }\n      initEvent(_type, _bubbles, _cancelable) {\n      }\n      preventDefault() {\n        this.defaultPrevented = true;\n      }\n      stopImmediatePropagation() {\n      }\n      stopPropagation() {\n      }\n    }, _a.NONE = 0, _a.CAPTURING_PHASE = 1, _a.AT_TARGET = 2, _a.BUBBLING_PHASE = 3, _a);\n  }\n  if (typeof globalThis.TouchEvent === \"undefined\") {\n    class TouchEventStub extends globalThis.Event {\n      constructor(type, eventInitDict) {\n        super(type, eventInitDict);\n        this.altKey = false;\n        this.changedTouches = [];\n        this.ctrlKey = false;\n        this.metaKey = false;\n        this.shiftKey = false;\n        this.targetTouches = [];\n        this.touches = [];\n      }\n    }\n    globalThis.TouchEvent = TouchEventStub;\n  }\n  if (typeof globalThis.MouseEvent === \"undefined\") {\n    class MouseEventStub extends globalThis.Event {\n      constructor(type, eventInitDict) {\n        super(type, eventInitDict);\n      }\n    }\n    globalThis.MouseEvent = MouseEventStub;\n  }\n  if (typeof globalThis.window === \"undefined\") {\n    globalThis.window = {\n      navigator: {}\n    };\n  }\n  if (typeof globalThis.document === \"undefined\") {\n    globalThis.document = {\n      documentElement: {\n        dir: \"ltr\",\n        hasAttribute: () => false\n      },\n      createElement: (_tagName) => ({\n        getBoundingClientRect: () => ({\n          x: 0,\n          y: 0,\n          width: 0,\n          height: 0,\n          top: 0,\n          right: 0,\n          bottom: 0,\n          left: 0\n        }),\n        style: {}\n      }),\n      body: {}\n    };\n  }\n}\n\n// node_modules/@lit/reactive-element/css-tag.js\nvar t = globalThis;\nvar e = t.ShadowRoot && (void 0 === t.ShadyCSS || t.ShadyCSS.nativeShadow) && \"adoptedStyleSheets\" in Document.prototype && \"replace\" in CSSStyleSheet.prototype;\nvar s = /* @__PURE__ */ Symbol();\nvar o = /* @__PURE__ */ new WeakMap();\nvar n = class {\n  constructor(t7, e10, o9) {\n    if (this._$cssResult$ = true, o9 !== s) throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");\n    this.cssText = t7, this.t = e10;\n  }\n  get styleSheet() {\n    let t7 = this.o;\n    const s4 = this.t;\n    if (e && void 0 === t7) {\n      const e10 = void 0 !== s4 && 1 === s4.length;\n      e10 && (t7 = o.get(s4)), void 0 === t7 && ((this.o = t7 = new CSSStyleSheet()).replaceSync(this.cssText), e10 && o.set(s4, t7));\n    }\n    return t7;\n  }\n  toString() {\n    return this.cssText;\n  }\n};\nvar r = (t7) => new n(\"string\" == typeof t7 ? t7 : t7 + \"\", void 0, s);\nvar S = (s4, o9) => {\n  if (e) s4.adoptedStyleSheets = o9.map(((t7) => t7 instanceof CSSStyleSheet ? t7 : t7.styleSheet));\n  else for (const e10 of o9) {\n    const o10 = document.createElement(\"style\"), n6 = t.litNonce;\n    void 0 !== n6 && o10.setAttribute(\"nonce\", n6), o10.textContent = e10.cssText, s4.appendChild(o10);\n  }\n};\nvar c = e ? (t7) => t7 : (t7) => t7 instanceof CSSStyleSheet ? ((t8) => {\n  let e10 = \"\";\n  for (const s4 of t8.cssRules) e10 += s4.cssText;\n  return r(e10);\n})(t7) : t7;\n\n// node_modules/@lit/reactive-element/reactive-element.js\nvar { is: i2, defineProperty: e2, getOwnPropertyDescriptor: h, getOwnPropertyNames: r2, getOwnPropertySymbols: o2, getPrototypeOf: n2 } = Object;\nvar a = globalThis;\nvar c2 = a.trustedTypes;\nvar l = c2 ? c2.emptyScript : \"\";\nvar p = a.reactiveElementPolyfillSupport;\nvar d = (t7, s4) => t7;\nvar u = { toAttribute(t7, s4) {\n  switch (s4) {\n    case Boolean:\n      t7 = t7 ? l : null;\n      break;\n    case Object:\n    case Array:\n      t7 = null == t7 ? t7 : JSON.stringify(t7);\n  }\n  return t7;\n}, fromAttribute(t7, s4) {\n  let i8 = t7;\n  switch (s4) {\n    case Boolean:\n      i8 = null !== t7;\n      break;\n    case Number:\n      i8 = null === t7 ? null : Number(t7);\n      break;\n    case Object:\n    case Array:\n      try {\n        i8 = JSON.parse(t7);\n      } catch (t8) {\n        i8 = null;\n      }\n  }\n  return i8;\n} };\nvar f = (t7, s4) => !i2(t7, s4);\nvar b = { attribute: true, type: String, converter: u, reflect: false, useDefault: false, hasChanged: f };\nSymbol.metadata ?? (Symbol.metadata = /* @__PURE__ */ Symbol(\"metadata\")), a.litPropertyMetadata ?? (a.litPropertyMetadata = /* @__PURE__ */ new WeakMap());\nvar y = class extends HTMLElement {\n  static addInitializer(t7) {\n    this._$Ei(), (this.l ?? (this.l = [])).push(t7);\n  }\n  static get observedAttributes() {\n    return this.finalize(), this._$Eh && [...this._$Eh.keys()];\n  }\n  static createProperty(t7, s4 = b) {\n    if (s4.state && (s4.attribute = false), this._$Ei(), this.prototype.hasOwnProperty(t7) && ((s4 = Object.create(s4)).wrapped = true), this.elementProperties.set(t7, s4), !s4.noAccessor) {\n      const i8 = /* @__PURE__ */ Symbol(), h3 = this.getPropertyDescriptor(t7, i8, s4);\n      void 0 !== h3 && e2(this.prototype, t7, h3);\n    }\n  }\n  static getPropertyDescriptor(t7, s4, i8) {\n    const { get: e10, set: r8 } = h(this.prototype, t7) ?? { get() {\n      return this[s4];\n    }, set(t8) {\n      this[s4] = t8;\n    } };\n    return { get: e10, set(s5) {\n      const h3 = e10?.call(this);\n      r8?.call(this, s5), this.requestUpdate(t7, h3, i8);\n    }, configurable: true, enumerable: true };\n  }\n  static getPropertyOptions(t7) {\n    return this.elementProperties.get(t7) ?? b;\n  }\n  static _$Ei() {\n    if (this.hasOwnProperty(d(\"elementProperties\"))) return;\n    const t7 = n2(this);\n    t7.finalize(), void 0 !== t7.l && (this.l = [...t7.l]), this.elementProperties = new Map(t7.elementProperties);\n  }\n  static finalize() {\n    if (this.hasOwnProperty(d(\"finalized\"))) return;\n    if (this.finalized = true, this._$Ei(), this.hasOwnProperty(d(\"properties\"))) {\n      const t8 = this.properties, s4 = [...r2(t8), ...o2(t8)];\n      for (const i8 of s4) this.createProperty(i8, t8[i8]);\n    }\n    const t7 = this[Symbol.metadata];\n    if (null !== t7) {\n      const s4 = litPropertyMetadata.get(t7);\n      if (void 0 !== s4) for (const [t8, i8] of s4) this.elementProperties.set(t8, i8);\n    }\n    this._$Eh = /* @__PURE__ */ new Map();\n    for (const [t8, s4] of this.elementProperties) {\n      const i8 = this._$Eu(t8, s4);\n      void 0 !== i8 && this._$Eh.set(i8, t8);\n    }\n    this.elementStyles = this.finalizeStyles(this.styles);\n  }\n  static finalizeStyles(s4) {\n    const i8 = [];\n    if (Array.isArray(s4)) {\n      const e10 = new Set(s4.flat(1 / 0).reverse());\n      for (const s5 of e10) i8.unshift(c(s5));\n    } else void 0 !== s4 && i8.push(c(s4));\n    return i8;\n  }\n  static _$Eu(t7, s4) {\n    const i8 = s4.attribute;\n    return false === i8 ? void 0 : \"string\" == typeof i8 ? i8 : \"string\" == typeof t7 ? t7.toLowerCase() : void 0;\n  }\n  constructor() {\n    super(), this._$Ep = void 0, this.isUpdatePending = false, this.hasUpdated = false, this._$Em = null, this._$Ev();\n  }\n  _$Ev() {\n    this._$ES = new Promise(((t7) => this.enableUpdating = t7)), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach(((t7) => t7(this)));\n  }\n  addController(t7) {\n    (this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(t7), void 0 !== this.renderRoot && this.isConnected && t7.hostConnected?.();\n  }\n  removeController(t7) {\n    this._$EO?.delete(t7);\n  }\n  _$E_() {\n    const t7 = /* @__PURE__ */ new Map(), s4 = this.constructor.elementProperties;\n    for (const i8 of s4.keys()) this.hasOwnProperty(i8) && (t7.set(i8, this[i8]), delete this[i8]);\n    t7.size > 0 && (this._$Ep = t7);\n  }\n  createRenderRoot() {\n    const t7 = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);\n    return S(t7, this.constructor.elementStyles), t7;\n  }\n  connectedCallback() {\n    this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(true), this._$EO?.forEach(((t7) => t7.hostConnected?.()));\n  }\n  enableUpdating(t7) {\n  }\n  disconnectedCallback() {\n    this._$EO?.forEach(((t7) => t7.hostDisconnected?.()));\n  }\n  attributeChangedCallback(t7, s4, i8) {\n    this._$AK(t7, i8);\n  }\n  _$ET(t7, s4) {\n    const i8 = this.constructor.elementProperties.get(t7), e10 = this.constructor._$Eu(t7, i8);\n    if (void 0 !== e10 && true === i8.reflect) {\n      const h3 = (void 0 !== i8.converter?.toAttribute ? i8.converter : u).toAttribute(s4, i8.type);\n      this._$Em = t7, null == h3 ? this.removeAttribute(e10) : this.setAttribute(e10, h3), this._$Em = null;\n    }\n  }\n  _$AK(t7, s4) {\n    const i8 = this.constructor, e10 = i8._$Eh.get(t7);\n    if (void 0 !== e10 && this._$Em !== e10) {\n      const t8 = i8.getPropertyOptions(e10), h3 = \"function\" == typeof t8.converter ? { fromAttribute: t8.converter } : void 0 !== t8.converter?.fromAttribute ? t8.converter : u;\n      this._$Em = e10;\n      const r8 = h3.fromAttribute(s4, t8.type);\n      this[e10] = r8 ?? this._$Ej?.get(e10) ?? r8, this._$Em = null;\n    }\n  }\n  requestUpdate(t7, s4, i8) {\n    if (void 0 !== t7) {\n      const e10 = this.constructor, h3 = this[t7];\n      if (i8 ?? (i8 = e10.getPropertyOptions(t7)), !((i8.hasChanged ?? f)(h3, s4) || i8.useDefault && i8.reflect && h3 === this._$Ej?.get(t7) && !this.hasAttribute(e10._$Eu(t7, i8)))) return;\n      this.C(t7, s4, i8);\n    }\n    false === this.isUpdatePending && (this._$ES = this._$EP());\n  }\n  C(t7, s4, { useDefault: i8, reflect: e10, wrapped: h3 }, r8) {\n    i8 && !(this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Map())).has(t7) && (this._$Ej.set(t7, r8 ?? s4 ?? this[t7]), true !== h3 || void 0 !== r8) || (this._$AL.has(t7) || (this.hasUpdated || i8 || (s4 = void 0), this._$AL.set(t7, s4)), true === e10 && this._$Em !== t7 && (this._$Eq ?? (this._$Eq = /* @__PURE__ */ new Set())).add(t7));\n  }\n  async _$EP() {\n    this.isUpdatePending = true;\n    try {\n      await this._$ES;\n    } catch (t8) {\n      Promise.reject(t8);\n    }\n    const t7 = this.scheduleUpdate();\n    return null != t7 && await t7, !this.isUpdatePending;\n  }\n  scheduleUpdate() {\n    return this.performUpdate();\n  }\n  performUpdate() {\n    if (!this.isUpdatePending) return;\n    if (!this.hasUpdated) {\n      if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {\n        for (const [t9, s5] of this._$Ep) this[t9] = s5;\n        this._$Ep = void 0;\n      }\n      const t8 = this.constructor.elementProperties;\n      if (t8.size > 0) for (const [s5, i8] of t8) {\n        const { wrapped: t9 } = i8, e10 = this[s5];\n        true !== t9 || this._$AL.has(s5) || void 0 === e10 || this.C(s5, void 0, i8, e10);\n      }\n    }\n    let t7 = false;\n    const s4 = this._$AL;\n    try {\n      t7 = this.shouldUpdate(s4), t7 ? (this.willUpdate(s4), this._$EO?.forEach(((t8) => t8.hostUpdate?.())), this.update(s4)) : this._$EM();\n    } catch (s5) {\n      throw t7 = false, this._$EM(), s5;\n    }\n    t7 && this._$AE(s4);\n  }\n  willUpdate(t7) {\n  }\n  _$AE(t7) {\n    this._$EO?.forEach(((t8) => t8.hostUpdated?.())), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t7)), this.updated(t7);\n  }\n  _$EM() {\n    this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = false;\n  }\n  get updateComplete() {\n    return this.getUpdateComplete();\n  }\n  getUpdateComplete() {\n    return this._$ES;\n  }\n  shouldUpdate(t7) {\n    return true;\n  }\n  update(t7) {\n    this._$Eq && (this._$Eq = this._$Eq.forEach(((t8) => this._$ET(t8, this[t8])))), this._$EM();\n  }\n  updated(t7) {\n  }\n  firstUpdated(t7) {\n  }\n};\ny.elementStyles = [], y.shadowRootOptions = { mode: \"open\" }, y[d(\"elementProperties\")] = /* @__PURE__ */ new Map(), y[d(\"finalized\")] = /* @__PURE__ */ new Map(), p?.({ ReactiveElement: y }), (a.reactiveElementVersions ?? (a.reactiveElementVersions = [])).push(\"2.1.1\");\n\n// node_modules/lit-html/lit-html.js\nvar t2 = globalThis;\nvar i3 = t2.trustedTypes;\nvar s2 = i3 ? i3.createPolicy(\"lit-html\", { createHTML: (t7) => t7 }) : void 0;\nvar e3 = \"$lit$\";\nvar h2 = `lit$${Math.random().toFixed(9).slice(2)}$`;\nvar o3 = \"?\" + h2;\nvar n3 = `<${o3}>`;\nvar r3 = document;\nvar l2 = () => r3.createComment(\"\");\nvar c3 = (t7) => null === t7 || \"object\" != typeof t7 && \"function\" != typeof t7;\nvar a2 = Array.isArray;\nvar u2 = (t7) => a2(t7) || \"function\" == typeof t7?.[Symbol.iterator];\nvar d2 = \"[ \t\\n\\f\\r]\";\nvar f2 = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g;\nvar v = /-->/g;\nvar _ = />/g;\nvar m = RegExp(`>|${d2}(?:([^\\\\s\"'>=/]+)(${d2}*=${d2}*(?:[^ \t\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`, \"g\");\nvar p2 = /'/g;\nvar g = /\"/g;\nvar $ = /^(?:script|style|textarea|title)$/i;\nvar y2 = (t7) => (i8, ...s4) => ({ _$litType$: t7, strings: i8, values: s4 });\nvar x = y2(1);\nvar b2 = y2(2);\nvar w = y2(3);\nvar T = /* @__PURE__ */ Symbol.for(\"lit-noChange\");\nvar E = /* @__PURE__ */ Symbol.for(\"lit-nothing\");\nvar A = /* @__PURE__ */ new WeakMap();\nvar C = r3.createTreeWalker(r3, 129);\nfunction P(t7, i8) {\n  if (!a2(t7) || !t7.hasOwnProperty(\"raw\")) throw Error(\"invalid template strings array\");\n  return void 0 !== s2 ? s2.createHTML(i8) : i8;\n}\nvar V = (t7, i8) => {\n  const s4 = t7.length - 1, o9 = [];\n  let r8, l4 = 2 === i8 ? \"<svg>\" : 3 === i8 ? \"<math>\" : \"\", c4 = f2;\n  for (let i9 = 0; i9 < s4; i9++) {\n    const s5 = t7[i9];\n    let a3, u4, d3 = -1, y3 = 0;\n    for (; y3 < s5.length && (c4.lastIndex = y3, u4 = c4.exec(s5), null !== u4); ) y3 = c4.lastIndex, c4 === f2 ? \"!--\" === u4[1] ? c4 = v : void 0 !== u4[1] ? c4 = _ : void 0 !== u4[2] ? ($.test(u4[2]) && (r8 = RegExp(\"</\" + u4[2], \"g\")), c4 = m) : void 0 !== u4[3] && (c4 = m) : c4 === m ? \">\" === u4[0] ? (c4 = r8 ?? f2, d3 = -1) : void 0 === u4[1] ? d3 = -2 : (d3 = c4.lastIndex - u4[2].length, a3 = u4[1], c4 = void 0 === u4[3] ? m : '\"' === u4[3] ? g : p2) : c4 === g || c4 === p2 ? c4 = m : c4 === v || c4 === _ ? c4 = f2 : (c4 = m, r8 = void 0);\n    const x2 = c4 === m && t7[i9 + 1].startsWith(\"/>\") ? \" \" : \"\";\n    l4 += c4 === f2 ? s5 + n3 : d3 >= 0 ? (o9.push(a3), s5.slice(0, d3) + e3 + s5.slice(d3) + h2 + x2) : s5 + h2 + (-2 === d3 ? i9 : x2);\n  }\n  return [P(t7, l4 + (t7[s4] || \"<?>\") + (2 === i8 ? \"</svg>\" : 3 === i8 ? \"</math>\" : \"\")), o9];\n};\nvar N = class _N {\n  constructor({ strings: t7, _$litType$: s4 }, n6) {\n    let r8;\n    this.parts = [];\n    let c4 = 0, a3 = 0;\n    const u4 = t7.length - 1, d3 = this.parts, [f4, v2] = V(t7, s4);\n    if (this.el = _N.createElement(f4, n6), C.currentNode = this.el.content, 2 === s4 || 3 === s4) {\n      const t8 = this.el.content.firstChild;\n      t8.replaceWith(...t8.childNodes);\n    }\n    for (; null !== (r8 = C.nextNode()) && d3.length < u4; ) {\n      if (1 === r8.nodeType) {\n        if (r8.hasAttributes()) for (const t8 of r8.getAttributeNames()) if (t8.endsWith(e3)) {\n          const i8 = v2[a3++], s5 = r8.getAttribute(t8).split(h2), e10 = /([.?@])?(.*)/.exec(i8);\n          d3.push({ type: 1, index: c4, name: e10[2], strings: s5, ctor: \".\" === e10[1] ? H : \"?\" === e10[1] ? I : \"@\" === e10[1] ? L : k }), r8.removeAttribute(t8);\n        } else t8.startsWith(h2) && (d3.push({ type: 6, index: c4 }), r8.removeAttribute(t8));\n        if ($.test(r8.tagName)) {\n          const t8 = r8.textContent.split(h2), s5 = t8.length - 1;\n          if (s5 > 0) {\n            r8.textContent = i3 ? i3.emptyScript : \"\";\n            for (let i8 = 0; i8 < s5; i8++) r8.append(t8[i8], l2()), C.nextNode(), d3.push({ type: 2, index: ++c4 });\n            r8.append(t8[s5], l2());\n          }\n        }\n      } else if (8 === r8.nodeType) if (r8.data === o3) d3.push({ type: 2, index: c4 });\n      else {\n        let t8 = -1;\n        for (; -1 !== (t8 = r8.data.indexOf(h2, t8 + 1)); ) d3.push({ type: 7, index: c4 }), t8 += h2.length - 1;\n      }\n      c4++;\n    }\n  }\n  static createElement(t7, i8) {\n    const s4 = r3.createElement(\"template\");\n    return s4.innerHTML = t7, s4;\n  }\n};\nfunction S2(t7, i8, s4 = t7, e10) {\n  if (i8 === T) return i8;\n  let h3 = void 0 !== e10 ? s4._$Co?.[e10] : s4._$Cl;\n  const o9 = c3(i8) ? void 0 : i8._$litDirective$;\n  return h3?.constructor !== o9 && (h3?._$AO?.(false), void 0 === o9 ? h3 = void 0 : (h3 = new o9(t7), h3._$AT(t7, s4, e10)), void 0 !== e10 ? (s4._$Co ?? (s4._$Co = []))[e10] = h3 : s4._$Cl = h3), void 0 !== h3 && (i8 = S2(t7, h3._$AS(t7, i8.values), h3, e10)), i8;\n}\nvar M = class {\n  constructor(t7, i8) {\n    this._$AV = [], this._$AN = void 0, this._$AD = t7, this._$AM = i8;\n  }\n  get parentNode() {\n    return this._$AM.parentNode;\n  }\n  get _$AU() {\n    return this._$AM._$AU;\n  }\n  u(t7) {\n    const { el: { content: i8 }, parts: s4 } = this._$AD, e10 = (t7?.creationScope ?? r3).importNode(i8, true);\n    C.currentNode = e10;\n    let h3 = C.nextNode(), o9 = 0, n6 = 0, l4 = s4[0];\n    for (; void 0 !== l4; ) {\n      if (o9 === l4.index) {\n        let i9;\n        2 === l4.type ? i9 = new R(h3, h3.nextSibling, this, t7) : 1 === l4.type ? i9 = new l4.ctor(h3, l4.name, l4.strings, this, t7) : 6 === l4.type && (i9 = new z(h3, this, t7)), this._$AV.push(i9), l4 = s4[++n6];\n      }\n      o9 !== l4?.index && (h3 = C.nextNode(), o9++);\n    }\n    return C.currentNode = r3, e10;\n  }\n  p(t7) {\n    let i8 = 0;\n    for (const s4 of this._$AV) void 0 !== s4 && (void 0 !== s4.strings ? (s4._$AI(t7, s4, i8), i8 += s4.strings.length - 2) : s4._$AI(t7[i8])), i8++;\n  }\n};\nvar R = class _R {\n  get _$AU() {\n    return this._$AM?._$AU ?? this._$Cv;\n  }\n  constructor(t7, i8, s4, e10) {\n    this.type = 2, this._$AH = E, this._$AN = void 0, this._$AA = t7, this._$AB = i8, this._$AM = s4, this.options = e10, this._$Cv = e10?.isConnected ?? true;\n  }\n  get parentNode() {\n    let t7 = this._$AA.parentNode;\n    const i8 = this._$AM;\n    return void 0 !== i8 && 11 === t7?.nodeType && (t7 = i8.parentNode), t7;\n  }\n  get startNode() {\n    return this._$AA;\n  }\n  get endNode() {\n    return this._$AB;\n  }\n  _$AI(t7, i8 = this) {\n    t7 = S2(this, t7, i8), c3(t7) ? t7 === E || null == t7 || \"\" === t7 ? (this._$AH !== E && this._$AR(), this._$AH = E) : t7 !== this._$AH && t7 !== T && this._(t7) : void 0 !== t7._$litType$ ? this.$(t7) : void 0 !== t7.nodeType ? this.T(t7) : u2(t7) ? this.k(t7) : this._(t7);\n  }\n  O(t7) {\n    return this._$AA.parentNode.insertBefore(t7, this._$AB);\n  }\n  T(t7) {\n    this._$AH !== t7 && (this._$AR(), this._$AH = this.O(t7));\n  }\n  _(t7) {\n    this._$AH !== E && c3(this._$AH) ? this._$AA.nextSibling.data = t7 : this.T(r3.createTextNode(t7)), this._$AH = t7;\n  }\n  $(t7) {\n    const { values: i8, _$litType$: s4 } = t7, e10 = \"number\" == typeof s4 ? this._$AC(t7) : (void 0 === s4.el && (s4.el = N.createElement(P(s4.h, s4.h[0]), this.options)), s4);\n    if (this._$AH?._$AD === e10) this._$AH.p(i8);\n    else {\n      const t8 = new M(e10, this), s5 = t8.u(this.options);\n      t8.p(i8), this.T(s5), this._$AH = t8;\n    }\n  }\n  _$AC(t7) {\n    let i8 = A.get(t7.strings);\n    return void 0 === i8 && A.set(t7.strings, i8 = new N(t7)), i8;\n  }\n  k(t7) {\n    a2(this._$AH) || (this._$AH = [], this._$AR());\n    const i8 = this._$AH;\n    let s4, e10 = 0;\n    for (const h3 of t7) e10 === i8.length ? i8.push(s4 = new _R(this.O(l2()), this.O(l2()), this, this.options)) : s4 = i8[e10], s4._$AI(h3), e10++;\n    e10 < i8.length && (this._$AR(s4 && s4._$AB.nextSibling, e10), i8.length = e10);\n  }\n  _$AR(t7 = this._$AA.nextSibling, i8) {\n    for (this._$AP?.(false, true, i8); t7 !== this._$AB; ) {\n      const i9 = t7.nextSibling;\n      t7.remove(), t7 = i9;\n    }\n  }\n  setConnected(t7) {\n    void 0 === this._$AM && (this._$Cv = t7, this._$AP?.(t7));\n  }\n};\nvar k = class {\n  get tagName() {\n    return this.element.tagName;\n  }\n  get _$AU() {\n    return this._$AM._$AU;\n  }\n  constructor(t7, i8, s4, e10, h3) {\n    this.type = 1, this._$AH = E, this._$AN = void 0, this.element = t7, this.name = i8, this._$AM = e10, this.options = h3, s4.length > 2 || \"\" !== s4[0] || \"\" !== s4[1] ? (this._$AH = Array(s4.length - 1).fill(new String()), this.strings = s4) : this._$AH = E;\n  }\n  _$AI(t7, i8 = this, s4, e10) {\n    const h3 = this.strings;\n    let o9 = false;\n    if (void 0 === h3) t7 = S2(this, t7, i8, 0), o9 = !c3(t7) || t7 !== this._$AH && t7 !== T, o9 && (this._$AH = t7);\n    else {\n      const e11 = t7;\n      let n6, r8;\n      for (t7 = h3[0], n6 = 0; n6 < h3.length - 1; n6++) r8 = S2(this, e11[s4 + n6], i8, n6), r8 === T && (r8 = this._$AH[n6]), o9 || (o9 = !c3(r8) || r8 !== this._$AH[n6]), r8 === E ? t7 = E : t7 !== E && (t7 += (r8 ?? \"\") + h3[n6 + 1]), this._$AH[n6] = r8;\n    }\n    o9 && !e10 && this.j(t7);\n  }\n  j(t7) {\n    t7 === E ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t7 ?? \"\");\n  }\n};\nvar H = class extends k {\n  constructor() {\n    super(...arguments), this.type = 3;\n  }\n  j(t7) {\n    this.element[this.name] = t7 === E ? void 0 : t7;\n  }\n};\nvar I = class extends k {\n  constructor() {\n    super(...arguments), this.type = 4;\n  }\n  j(t7) {\n    this.element.toggleAttribute(this.name, !!t7 && t7 !== E);\n  }\n};\nvar L = class extends k {\n  constructor(t7, i8, s4, e10, h3) {\n    super(t7, i8, s4, e10, h3), this.type = 5;\n  }\n  _$AI(t7, i8 = this) {\n    if ((t7 = S2(this, t7, i8, 0) ?? E) === T) return;\n    const s4 = this._$AH, e10 = t7 === E && s4 !== E || t7.capture !== s4.capture || t7.once !== s4.once || t7.passive !== s4.passive, h3 = t7 !== E && (s4 === E || e10);\n    e10 && this.element.removeEventListener(this.name, this, s4), h3 && this.element.addEventListener(this.name, this, t7), this._$AH = t7;\n  }\n  handleEvent(t7) {\n    \"function\" == typeof this._$AH ? this._$AH.call(this.options?.host ?? this.element, t7) : this._$AH.handleEvent(t7);\n  }\n};\nvar z = class {\n  constructor(t7, i8, s4) {\n    this.element = t7, this.type = 6, this._$AN = void 0, this._$AM = i8, this.options = s4;\n  }\n  get _$AU() {\n    return this._$AM._$AU;\n  }\n  _$AI(t7) {\n    S2(this, t7);\n  }\n};\nvar Z = { M: e3, P: h2, A: o3, C: 1, L: V, R: M, D: u2, V: S2, I: R, H: k, N: I, U: L, B: H, F: z };\nvar j = t2.litHtmlPolyfillSupport;\nj?.(N, R), (t2.litHtmlVersions ?? (t2.litHtmlVersions = [])).push(\"3.3.1\");\nvar B = (t7, i8, s4) => {\n  const e10 = s4?.renderBefore ?? i8;\n  let h3 = e10._$litPart$;\n  if (void 0 === h3) {\n    const t8 = s4?.renderBefore ?? null;\n    e10._$litPart$ = h3 = new R(i8.insertBefore(l2(), t8), t8, void 0, s4 ?? {});\n  }\n  return h3._$AI(t7), h3;\n};\n\n// node_modules/lit-element/lit-element.js\nvar s3 = globalThis;\nvar i4 = class extends y {\n  constructor() {\n    super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;\n  }\n  createRenderRoot() {\n    var _a2;\n    const t7 = super.createRenderRoot();\n    return (_a2 = this.renderOptions).renderBefore ?? (_a2.renderBefore = t7.firstChild), t7;\n  }\n  update(t7) {\n    const r8 = this.render();\n    this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t7), this._$Do = B(r8, this.renderRoot, this.renderOptions);\n  }\n  connectedCallback() {\n    super.connectedCallback(), this._$Do?.setConnected(true);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback(), this._$Do?.setConnected(false);\n  }\n  render() {\n    return T;\n  }\n};\ni4._$litElement$ = true, i4[\"finalized\"] = true, s3.litElementHydrateSupport?.({ LitElement: i4 });\nvar o4 = s3.litElementPolyfillSupport;\no4?.({ LitElement: i4 });\n(s3.litElementVersions ?? (s3.litElementVersions = [])).push(\"4.2.1\");\n\n// node_modules/@lit/reactive-element/decorators/custom-element.js\nvar t3 = (t7) => (e10, o9) => {\n  void 0 !== o9 ? o9.addInitializer((() => {\n    customElements.define(t7, e10);\n  })) : customElements.define(t7, e10);\n};\n\n// node_modules/@lit/reactive-element/decorators/property.js\nvar o5 = { attribute: true, type: String, converter: u, reflect: false, hasChanged: f };\nvar r4 = (t7 = o5, e10, r8) => {\n  const { kind: n6, metadata: i8 } = r8;\n  let s4 = globalThis.litPropertyMetadata.get(i8);\n  if (void 0 === s4 && globalThis.litPropertyMetadata.set(i8, s4 = /* @__PURE__ */ new Map()), \"setter\" === n6 && ((t7 = Object.create(t7)).wrapped = true), s4.set(r8.name, t7), \"accessor\" === n6) {\n    const { name: o9 } = r8;\n    return { set(r9) {\n      const n7 = e10.get.call(this);\n      e10.set.call(this, r9), this.requestUpdate(o9, n7, t7);\n    }, init(e11) {\n      return void 0 !== e11 && this.C(o9, void 0, t7, e11), e11;\n    } };\n  }\n  if (\"setter\" === n6) {\n    const { name: o9 } = r8;\n    return function(r9) {\n      const n7 = this[o9];\n      e10.call(this, r9), this.requestUpdate(o9, n7, t7);\n    };\n  }\n  throw Error(\"Unsupported decorator location: \" + n6);\n};\nfunction n4(t7) {\n  return (e10, o9) => \"object\" == typeof o9 ? r4(t7, e10, o9) : ((t8, e11, o10) => {\n    const r8 = e11.hasOwnProperty(o10);\n    return e11.constructor.createProperty(o10, t8), r8 ? Object.getOwnPropertyDescriptor(e11, o10) : void 0;\n  })(t7, e10, o9);\n}\n\n// node_modules/@lit/reactive-element/decorators/state.js\nfunction r5(r8) {\n  return n4({ ...r8, state: true, attribute: false });\n}\n\n// node_modules/@lit/reactive-element/decorators/event-options.js\nfunction t4(t7) {\n  return (n6, o9) => {\n    const c4 = \"function\" == typeof n6 ? n6 : n6[o9];\n    Object.assign(c4, t7);\n  };\n}\n\n// node_modules/@lit/reactive-element/decorators/base.js\nvar e4 = (e10, t7, c4) => (c4.configurable = true, c4.enumerable = true, Reflect.decorate && \"object\" != typeof t7 && Object.defineProperty(e10, t7, c4), c4);\n\n// node_modules/@lit/reactive-element/decorators/query.js\nfunction e5(e10, r8) {\n  return (n6, s4, i8) => {\n    const o9 = (t7) => t7.renderRoot?.querySelector(e10) ?? null;\n    if (r8) {\n      const { get: e11, set: r9 } = \"object\" == typeof s4 ? n6 : i8 ?? /* @__PURE__ */ (() => {\n        const t7 = /* @__PURE__ */ Symbol();\n        return { get() {\n          return this[t7];\n        }, set(e12) {\n          this[t7] = e12;\n        } };\n      })();\n      return e4(n6, s4, { get() {\n        let t7 = e11.call(this);\n        return void 0 === t7 && (t7 = o9(this), (null !== t7 || this.hasUpdated) && r9.call(this, t7)), t7;\n      } });\n    }\n    return e4(n6, s4, { get() {\n      return o9(this);\n    } });\n  };\n}\n\n// node_modules/@lit/reactive-element/decorators/query-async.js\nfunction r6(r8) {\n  return (n6, e10) => e4(n6, e10, { async get() {\n    return await this.updateComplete, this.renderRoot?.querySelector(r8) ?? null;\n  } });\n}\n\n// src/styles/component-styles/host.css\nvar host_default = \":host {\\n    box-sizing: border-box !important;\\n}\\n\\n:host *,\\n:host *::before,\\n:host *::after {\\n    box-sizing: inherit !important;\\n}\\n\\n[hidden] {\\n    display: none !important;\\n}\\n\";\n\n// src/internal/placer-element.ts\nvar PlacerElement = class extends i4 {\n  constructor() {\n    super();\n    this.hasRecordedInitialProperties = false;\n    this.initialReflectedProperties = /* @__PURE__ */ new Map();\n    /** A method to set and check custom states. */\n    this.customStates = {\n      /** Adds or removes the specified custom state. */\n      set: (customState, active) => {\n        if (!Boolean(this.internals?.states)) {\n          return;\n        }\n        try {\n          if (active) {\n            this.internals.states.add(customState);\n          } else {\n            this.internals.states.delete(customState);\n          }\n        } catch (event) {\n          if (String(event).includes(\"must start with '--'\")) {\n            console.error(\n              \"Your browser implements an outdated version of `CustomStateSet`. Consider using a polyfill.\"\n            );\n          } else {\n            throw event;\n          }\n        }\n      },\n      /** Determines whether or not the element currently has the specified state. */\n      has: (customState) => {\n        if (!Boolean(this.internals?.states)) {\n          return false;\n        }\n        return this.internals.states.has(customState);\n      }\n    };\n    try {\n      this.internals = this.attachInternals();\n    } catch {\n      console.error(\n        \"ElementInternals are not supported in your browser. Consider using a polyfill.\"\n      );\n    }\n    this.customStates.set(\"pc-defined\", true);\n    let Self = this.constructor;\n    for (let [property, spec] of Self.elementProperties) {\n      if (spec.default === \"inherit\" && spec.initial !== void 0 && typeof property === \"string\") {\n        this.customStates.set(\n          `initial-${property}-${spec.initial}`,\n          true\n        );\n      }\n    }\n  }\n  /** Override the default `styles` property to fetch and convert string CSS files. Components can override this behavior by setting their own `static styles = []` property. */\n  static get styles() {\n    const styles = Array.isArray(this.css) ? this.css : this.css ? [this.css] : [];\n    return [host_default, ...styles].map(\n      (style) => typeof style === \"string\" ? r(style) : style\n    );\n  }\n  attributeChangedCallback(name, oldValue, newValue) {\n    if (!this.hasRecordedInitialProperties) {\n      this.constructor.elementProperties.forEach((object, property) => {\n        if (typeof property === \"string\" && object.reflect) {\n          const value = this[property];\n          if (value != null) {\n            this.initialReflectedProperties.set(property, value);\n          }\n        }\n      });\n      this.hasRecordedInitialProperties = true;\n    }\n    super.attributeChangedCallback(name, oldValue, newValue);\n  }\n  willUpdate(changedProperties) {\n    super.willUpdate(changedProperties);\n    this.initialReflectedProperties.forEach((value, prop) => {\n      if (changedProperties.has(prop) && this[prop] == null) {\n        this[prop] = value;\n      }\n    });\n  }\n  firstUpdated(changedProperties) {\n    super.firstUpdated(changedProperties);\n  }\n  /** @internal Given a native event, this function cancels it and dispatches it again from the host element using the desired event options. */\n  relayNativeEvent(event, eventOptions) {\n    event.stopImmediatePropagation();\n    this.dispatchEvent(\n      new event.constructor(event.type, {\n        ...event,\n        ...eventOptions\n      })\n    );\n  }\n};\n__decorateClass([\n  n4()\n], PlacerElement.prototype, \"lang\", 2);\n__decorateClass([\n  n4()\n], PlacerElement.prototype, \"dir\", 2);\n\n// src/events/pc-cancel.ts\nvar PcCancelEvent = class extends Event {\n  constructor() {\n    super(\"pc-cancel\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n  }\n};\n\n// src/events/pc-finish.ts\nvar PcFinishEvent = class extends Event {\n  constructor() {\n    super(\"pc-finish\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n  }\n};\n\n// src/events/pc-start.ts\nvar PcStartEvent = class extends Event {\n  constructor() {\n    super(\"pc-start\", { bubbles: true, cancelable: false, composed: true });\n  }\n};\n\n// src/internal/watch.ts\nfunction watch(propertyName, options) {\n  const resolvedOptions = {\n    waitUntilFirstUpdate: false,\n    ...options\n  };\n  return (proto, decoratedFnName) => {\n    const { update: update2 } = proto;\n    const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];\n    proto.update = function(changedProps) {\n      watchedProperties.forEach((property) => {\n        const key = property;\n        if (changedProps.has(key)) {\n          const oldValue = changedProps.get(key);\n          const newValue = this[key];\n          if (oldValue !== newValue) {\n            if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n              this[decoratedFnName](\n                oldValue,\n                newValue\n              );\n            }\n          }\n        }\n      });\n      update2.call(this, changedProps);\n    };\n  };\n}\n\n// src/animations/index.ts\nvar animations_exports = {};\n__export(animations_exports, {\n  backInDown: () => backInDown,\n  backInLeft: () => backInLeft,\n  backInRight: () => backInRight,\n  backInUp: () => backInUp,\n  backOutDown: () => backOutDown,\n  backOutLeft: () => backOutLeft,\n  backOutRight: () => backOutRight,\n  backOutUp: () => backOutUp,\n  bounce: () => bounce,\n  bounceIn: () => bounceIn,\n  bounceInDown: () => bounceInDown,\n  bounceInLeft: () => bounceInLeft,\n  bounceInRight: () => bounceInRight,\n  bounceInUp: () => bounceInUp,\n  bounceOut: () => bounceOut,\n  bounceOutDown: () => bounceOutDown,\n  bounceOutLeft: () => bounceOutLeft,\n  bounceOutRight: () => bounceOutRight,\n  bounceOutUp: () => bounceOutUp,\n  easings: () => easings,\n  fadeIn: () => fadeIn,\n  fadeInBottomLeft: () => fadeInBottomLeft,\n  fadeInBottomRight: () => fadeInBottomRight,\n  fadeInDown: () => fadeInDown,\n  fadeInDownBig: () => fadeInDownBig,\n  fadeInLeft: () => fadeInLeft,\n  fadeInLeftBig: () => fadeInLeftBig,\n  fadeInRight: () => fadeInRight,\n  fadeInRightBig: () => fadeInRightBig,\n  fadeInTopLeft: () => fadeInTopLeft,\n  fadeInTopRight: () => fadeInTopRight,\n  fadeInUp: () => fadeInUp,\n  fadeInUpBig: () => fadeInUpBig,\n  fadeOut: () => fadeOut,\n  fadeOutBottomLeft: () => fadeOutBottomLeft,\n  fadeOutBottomRight: () => fadeOutBottomRight,\n  fadeOutDown: () => fadeOutDown,\n  fadeOutDownBig: () => fadeOutDownBig,\n  fadeOutLeft: () => fadeOutLeft,\n  fadeOutLeftBig: () => fadeOutLeftBig,\n  fadeOutRight: () => fadeOutRight,\n  fadeOutRightBig: () => fadeOutRightBig,\n  fadeOutTopLeft: () => fadeOutTopLeft,\n  fadeOutTopRight: () => fadeOutTopRight,\n  fadeOutUp: () => fadeOutUp,\n  fadeOutUpBig: () => fadeOutUpBig,\n  flash: () => flash,\n  flip: () => flip,\n  flipInX: () => flipInX,\n  flipInY: () => flipInY,\n  flipOutX: () => flipOutX,\n  flipOutY: () => flipOutY,\n  headShake: () => headShake,\n  heartBeat: () => heartBeat,\n  hinge: () => hinge,\n  jackInTheBox: () => jackInTheBox,\n  jello: () => jello,\n  lightSpeedInLeft: () => lightSpeedInLeft,\n  lightSpeedInRight: () => lightSpeedInRight,\n  lightSpeedOutLeft: () => lightSpeedOutLeft,\n  lightSpeedOutRight: () => lightSpeedOutRight,\n  pulse: () => pulse,\n  rollIn: () => rollIn,\n  rollOut: () => rollOut,\n  rotateIn: () => rotateIn,\n  rotateInDownLeft: () => rotateInDownLeft,\n  rotateInDownRight: () => rotateInDownRight,\n  rotateInUpLeft: () => rotateInUpLeft,\n  rotateInUpRight: () => rotateInUpRight,\n  rotateOut: () => rotateOut,\n  rotateOutDownLeft: () => rotateOutDownLeft,\n  rotateOutDownRight: () => rotateOutDownRight,\n  rotateOutUpLeft: () => rotateOutUpLeft,\n  rotateOutUpRight: () => rotateOutUpRight,\n  rubberBand: () => rubberBand,\n  shake: () => shake,\n  shakeX: () => shakeX,\n  shakeY: () => shakeY,\n  slideInDown: () => slideInDown,\n  slideInLeft: () => slideInLeft,\n  slideInRight: () => slideInRight,\n  slideInUp: () => slideInUp,\n  slideOutDown: () => slideOutDown,\n  slideOutLeft: () => slideOutLeft,\n  slideOutRight: () => slideOutRight,\n  slideOutUp: () => slideOutUp,\n  swing: () => swing,\n  tada: () => tada,\n  wobble: () => wobble,\n  zoomIn: () => zoomIn,\n  zoomInDown: () => zoomInDown,\n  zoomInLeft: () => zoomInLeft,\n  zoomInRight: () => zoomInRight,\n  zoomInUp: () => zoomInUp,\n  zoomOut: () => zoomOut,\n  zoomOutDown: () => zoomOutDown,\n  zoomOutLeft: () => zoomOutLeft,\n  zoomOutRight: () => zoomOutRight,\n  zoomOutUp: () => zoomOutUp\n});\n\n// src/animations/attention_seekers/bounce.ts\nvar bounce = [\n  {\n    offset: 0,\n    easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\",\n    transform: \"translate3d(0, 0, 0)\"\n  },\n  {\n    offset: 0.2,\n    easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\",\n    transform: \"translate3d(0, 0, 0)\"\n  },\n  {\n    offset: 0.4,\n    easing: \"cubic-bezier(0.755, 0.05, 0.855, 0.06)\",\n    transform: \"translate3d(0, -30px, 0) scaleY(1.1)\"\n  },\n  {\n    offset: 0.43,\n    easing: \"cubic-bezier(0.755, 0.05, 0.855, 0.06)\",\n    transform: \"translate3d(0, -30px, 0) scaleY(1.1)\"\n  },\n  {\n    offset: 0.53,\n    easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\",\n    transform: \"translate3d(0, 0, 0)\"\n  },\n  {\n    offset: 0.7,\n    easing: \"cubic-bezier(0.755, 0.05, 0.855, 0.06)\",\n    transform: \"translate3d(0, -15px, 0) scaleY(1.05)\"\n  },\n  {\n    \"offset\": 0.8,\n    \"transition-timing-function\": \"cubic-bezier(0.215, 0.61, 0.355, 1)\",\n    \"transform\": \"translate3d(0, 0, 0) scaleY(0.95)\"\n  },\n  { offset: 0.9, transform: \"translate3d(0, -4px, 0) scaleY(1.02)\" },\n  {\n    offset: 1,\n    easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\",\n    transform: \"translate3d(0, 0, 0)\"\n  }\n];\n\n// src/animations/attention_seekers/flash.ts\nvar flash = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 0.25, opacity: \"0\" },\n  { offset: 0.5, opacity: \"1\" },\n  { offset: 0.75, opacity: \"0\" },\n  { offset: 1, opacity: \"1\" }\n];\n\n// src/animations/attention_seekers/headShake.ts\nvar headShake = [\n  { offset: 0, transform: \"translateX(0)\" },\n  { offset: 0.065, transform: \"translateX(-6px) rotateY(-9deg)\" },\n  { offset: 0.185, transform: \"translateX(5px) rotateY(7deg)\" },\n  { offset: 0.315, transform: \"translateX(-3px) rotateY(-5deg)\" },\n  { offset: 0.435, transform: \"translateX(2px) rotateY(3deg)\" },\n  { offset: 0.5, transform: \"translateX(0)\" }\n];\n\n// src/animations/attention_seekers/heartBeat.ts\nvar heartBeat = [\n  { offset: 0, transform: \"scale(1)\" },\n  { offset: 0.14, transform: \"scale(1.3)\" },\n  { offset: 0.28, transform: \"scale(1)\" },\n  { offset: 0.42, transform: \"scale(1.3)\" },\n  { offset: 0.7, transform: \"scale(1)\" }\n];\n\n// src/animations/attention_seekers/jello.ts\nvar jello = [\n  { offset: 0, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 0.111, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 0.222, transform: \"skewX(-12.5deg) skewY(-12.5deg)\" },\n  { offset: 0.33299999999999996, transform: \"skewX(6.25deg) skewY(6.25deg)\" },\n  { offset: 0.444, transform: \"skewX(-3.125deg) skewY(-3.125deg)\" },\n  { offset: 0.555, transform: \"skewX(1.5625deg) skewY(1.5625deg)\" },\n  {\n    offset: 0.6659999999999999,\n    transform: \"skewX(-0.78125deg) skewY(-0.78125deg)\"\n  },\n  { offset: 0.777, transform: \"skewX(0.390625deg) skewY(0.390625deg)\" },\n  { offset: 0.888, transform: \"skewX(-0.1953125deg) skewY(-0.1953125deg)\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/attention_seekers/pulse.ts\nvar pulse = [\n  { offset: 0, transform: \"scale3d(1, 1, 1)\" },\n  { offset: 0.5, transform: \"scale3d(1.05, 1.05, 1.05)\" },\n  { offset: 1, transform: \"scale3d(1, 1, 1)\" }\n];\n\n// src/animations/attention_seekers/rubberBand.ts\nvar rubberBand = [\n  { offset: 0, transform: \"scale3d(1, 1, 1)\" },\n  { offset: 0.3, transform: \"scale3d(1.25, 0.75, 1)\" },\n  { offset: 0.4, transform: \"scale3d(0.75, 1.25, 1)\" },\n  { offset: 0.5, transform: \"scale3d(1.15, 0.85, 1)\" },\n  { offset: 0.65, transform: \"scale3d(0.95, 1.05, 1)\" },\n  { offset: 0.75, transform: \"scale3d(1.05, 0.95, 1)\" },\n  { offset: 1, transform: \"scale3d(1, 1, 1)\" }\n];\n\n// src/animations/attention_seekers/shake.ts\nvar shake = [\n  { offset: 0, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 0.1, transform: \"translate3d(-10px, 0, 0)\" },\n  { offset: 0.2, transform: \"translate3d(10px, 0, 0)\" },\n  { offset: 0.3, transform: \"translate3d(-10px, 0, 0)\" },\n  { offset: 0.4, transform: \"translate3d(10px, 0, 0)\" },\n  { offset: 0.5, transform: \"translate3d(-10px, 0, 0)\" },\n  { offset: 0.6, transform: \"translate3d(10px, 0, 0)\" },\n  { offset: 0.7, transform: \"translate3d(-10px, 0, 0)\" },\n  { offset: 0.8, transform: \"translate3d(10px, 0, 0)\" },\n  { offset: 0.9, transform: \"translate3d(-10px, 0, 0)\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/attention_seekers/shakeX.ts\nvar shakeX = [\n  { offset: 0, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 0.1, transform: \"translate3d(-10px, 0, 0)\" },\n  { offset: 0.2, transform: \"translate3d(10px, 0, 0)\" },\n  { offset: 0.3, transform: \"translate3d(-10px, 0, 0)\" },\n  { offset: 0.4, transform: \"translate3d(10px, 0, 0)\" },\n  { offset: 0.5, transform: \"translate3d(-10px, 0, 0)\" },\n  { offset: 0.6, transform: \"translate3d(10px, 0, 0)\" },\n  { offset: 0.7, transform: \"translate3d(-10px, 0, 0)\" },\n  { offset: 0.8, transform: \"translate3d(10px, 0, 0)\" },\n  { offset: 0.9, transform: \"translate3d(-10px, 0, 0)\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/attention_seekers/shakeY.ts\nvar shakeY = [\n  { offset: 0, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 0.1, transform: \"translate3d(0, -10px, 0)\" },\n  { offset: 0.2, transform: \"translate3d(0, 10px, 0)\" },\n  { offset: 0.3, transform: \"translate3d(0, -10px, 0)\" },\n  { offset: 0.4, transform: \"translate3d(0, 10px, 0)\" },\n  { offset: 0.5, transform: \"translate3d(0, -10px, 0)\" },\n  { offset: 0.6, transform: \"translate3d(0, 10px, 0)\" },\n  { offset: 0.7, transform: \"translate3d(0, -10px, 0)\" },\n  { offset: 0.8, transform: \"translate3d(0, 10px, 0)\" },\n  { offset: 0.9, transform: \"translate3d(0, -10px, 0)\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/attention_seekers/swing.ts\nvar swing = [\n  { offset: 0.2, transform: \"rotate3d(0, 0, 1, 15deg)\" },\n  { offset: 0.4, transform: \"rotate3d(0, 0, 1, -10deg)\" },\n  { offset: 0.6, transform: \"rotate3d(0, 0, 1, 5deg)\" },\n  { offset: 0.8, transform: \"rotate3d(0, 0, 1, -5deg)\" },\n  { offset: 1, transform: \"rotate3d(0, 0, 1, 0deg)\" }\n];\n\n// src/animations/attention_seekers/tada.ts\nvar tada = [\n  { offset: 0, transform: \"scale3d(1, 1, 1)\" },\n  {\n    offset: 0.1,\n    transform: \"scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)\"\n  },\n  {\n    offset: 0.2,\n    transform: \"scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)\"\n  },\n  {\n    offset: 0.3,\n    transform: \"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)\"\n  },\n  {\n    offset: 0.4,\n    transform: \"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)\"\n  },\n  {\n    offset: 0.5,\n    transform: \"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)\"\n  },\n  {\n    offset: 0.6,\n    transform: \"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)\"\n  },\n  {\n    offset: 0.7,\n    transform: \"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)\"\n  },\n  {\n    offset: 0.8,\n    transform: \"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)\"\n  },\n  {\n    offset: 0.9,\n    transform: \"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)\"\n  },\n  { offset: 1, transform: \"scale3d(1, 1, 1)\" }\n];\n\n// src/animations/attention_seekers/wobble.ts\nvar wobble = [\n  { offset: 0, transform: \"translate3d(0, 0, 0)\" },\n  {\n    offset: 0.15,\n    transform: \"translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)\"\n  },\n  {\n    offset: 0.3,\n    transform: \"translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)\"\n  },\n  {\n    offset: 0.45,\n    transform: \"translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)\"\n  },\n  {\n    offset: 0.6,\n    transform: \"translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)\"\n  },\n  {\n    offset: 0.75,\n    transform: \"translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)\"\n  },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/back_entrances/backInDown.ts\nvar backInDown = [\n  { offset: 0, transform: \"translateY(-1200px) scale(0.7)\", opacity: \"0.7\" },\n  { offset: 0.8, transform: \"translateY(0px) scale(0.7)\", opacity: \"0.7\" },\n  { offset: 1, transform: \"scale(1)\", opacity: \"1\" }\n];\n\n// src/animations/back_entrances/backInLeft.ts\nvar backInLeft = [\n  { offset: 0, transform: \"translateX(-2000px) scale(0.7)\", opacity: \"0.7\" },\n  { offset: 0.8, transform: \"translateX(0px) scale(0.7)\", opacity: \"0.7\" },\n  { offset: 1, transform: \"scale(1)\", opacity: \"1\" }\n];\n\n// src/animations/back_entrances/backInRight.ts\nvar backInRight = [\n  { offset: 0, transform: \"translateX(2000px) scale(0.7)\", opacity: \"0.7\" },\n  { offset: 0.8, transform: \"translateX(0px) scale(0.7)\", opacity: \"0.7\" },\n  { offset: 1, transform: \"scale(1)\", opacity: \"1\" }\n];\n\n// src/animations/back_entrances/backInUp.ts\nvar backInUp = [\n  { offset: 0, transform: \"translateY(1200px) scale(0.7)\", opacity: \"0.7\" },\n  { offset: 0.8, transform: \"translateY(0px) scale(0.7)\", opacity: \"0.7\" },\n  { offset: 1, transform: \"scale(1)\", opacity: \"1\" }\n];\n\n// src/animations/back_exits/backOutDown.ts\nvar backOutDown = [\n  { offset: 0, transform: \"scale(1)\", opacity: \"1\" },\n  { offset: 0.2, transform: \"translateY(0px) scale(0.7)\", opacity: \"0.7\" },\n  { offset: 1, transform: \"translateY(700px) scale(0.7)\", opacity: \"0.7\" }\n];\n\n// src/animations/back_exits/backOutLeft.ts\nvar backOutLeft = [\n  { offset: 0, transform: \"scale(1)\", opacity: \"1\" },\n  { offset: 0.2, transform: \"translateX(0px) scale(0.7)\", opacity: \"0.7\" },\n  { offset: 1, transform: \"translateX(-2000px) scale(0.7)\", opacity: \"0.7\" }\n];\n\n// src/animations/back_exits/backOutRight.ts\nvar backOutRight = [\n  { offset: 0, transform: \"scale(1)\", opacity: \"1\" },\n  { offset: 0.2, transform: \"translateX(0px) scale(0.7)\", opacity: \"0.7\" },\n  { offset: 1, transform: \"translateX(2000px) scale(0.7)\", opacity: \"0.7\" }\n];\n\n// src/animations/back_exits/backOutUp.ts\nvar backOutUp = [\n  { offset: 0, transform: \"scale(1)\", opacity: \"1\" },\n  { offset: 0.2, transform: \"translateY(0px) scale(0.7)\", opacity: \"0.7\" },\n  { offset: 1, transform: \"translateY(-700px) scale(0.7)\", opacity: \"0.7\" }\n];\n\n// src/animations/bouncing_entrances/bounceIn.ts\nvar bounceIn = [\n  { offset: 0, opacity: \"0\", transform: \"scale3d(0.3, 0.3, 0.3)\" },\n  { offset: 0, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 0.2, transform: \"scale3d(1.1, 1.1, 1.1)\" },\n  { offset: 0.2, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 0.4, transform: \"scale3d(0.9, 0.9, 0.9)\" },\n  { offset: 0.4, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 0.6, opacity: \"1\", transform: \"scale3d(1.03, 1.03, 1.03)\" },\n  { offset: 0.6, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 0.8, transform: \"scale3d(0.97, 0.97, 0.97)\" },\n  { offset: 0.8, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 1, opacity: \"1\", transform: \"scale3d(1, 1, 1)\" },\n  { offset: 1, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" }\n];\n\n// src/animations/bouncing_entrances/bounceInDown.ts\nvar bounceInDown = [\n  {\n    offset: 0,\n    opacity: \"0\",\n    transform: \"translate3d(0, -3000px, 0) scaleY(3)\"\n  },\n  { offset: 0, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  {\n    offset: 0.6,\n    opacity: \"1\",\n    transform: \"translate3d(0, 25px, 0) scaleY(0.9)\"\n  },\n  { offset: 0.6, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 0.75, transform: \"translate3d(0, -10px, 0) scaleY(0.95)\" },\n  { offset: 0.75, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 0.9, transform: \"translate3d(0, 5px, 0) scaleY(0.985)\" },\n  { offset: 0.9, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 1, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" }\n];\n\n// src/animations/bouncing_entrances/bounceInLeft.ts\nvar bounceInLeft = [\n  {\n    offset: 0,\n    opacity: \"0\",\n    transform: \"translate3d(-3000px, 0, 0) scaleX(3)\"\n  },\n  { offset: 0, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  {\n    offset: 0.6,\n    opacity: \"1\",\n    transform: \"translate3d(25px, 0, 0) scaleX(1)\"\n  },\n  { offset: 0.6, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 0.75, transform: \"translate3d(-10px, 0, 0) scaleX(0.98)\" },\n  { offset: 0.75, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 0.9, transform: \"translate3d(5px, 0, 0) scaleX(0.995)\" },\n  { offset: 0.9, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 1, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" }\n];\n\n// src/animations/bouncing_entrances/bounceInRight.ts\nvar bounceInRight = [\n  {\n    offset: 0,\n    opacity: \"0\",\n    transform: \"translate3d(3000px, 0, 0) scaleX(3)\"\n  },\n  { offset: 0, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  {\n    offset: 0.6,\n    opacity: \"1\",\n    transform: \"translate3d(-25px, 0, 0) scaleX(1)\"\n  },\n  { offset: 0.6, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 0.75, transform: \"translate3d(10px, 0, 0) scaleX(0.98)\" },\n  { offset: 0.75, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 0.9, transform: \"translate3d(-5px, 0, 0) scaleX(0.995)\" },\n  { offset: 0.9, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 1, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" }\n];\n\n// src/animations/bouncing_entrances/bounceInUp.ts\nvar bounceInUp = [\n  {\n    offset: 0,\n    opacity: \"0\",\n    transform: \"translate3d(0, 3000px, 0) scaleY(5)\"\n  },\n  { offset: 0, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  {\n    offset: 0.6,\n    opacity: \"1\",\n    transform: \"translate3d(0, -20px, 0) scaleY(0.9)\"\n  },\n  { offset: 0.6, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 0.75, transform: \"translate3d(0, 10px, 0) scaleY(0.95)\" },\n  { offset: 0.75, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 0.9, transform: \"translate3d(0, -5px, 0) scaleY(0.985)\" },\n  { offset: 0.9, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 1, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" }\n];\n\n// src/animations/bouncing_exits/bounceOut.ts\nvar bounceOut = [\n  { offset: 0.2, transform: \"scale3d(0.9, 0.9, 0.9)\" },\n  { offset: 0.5, opacity: \"1\", transform: \"scale3d(1.1, 1.1, 1.1)\" },\n  { offset: 0.55, opacity: \"1\", transform: \"scale3d(1.1, 1.1, 1.1)\" },\n  { offset: 1, opacity: \"0\", transform: \"scale3d(0.3, 0.3, 0.3)\" }\n];\n\n// src/animations/bouncing_exits/bounceOutDown.ts\nvar bounceOutDown = [\n  { offset: 0.2, transform: \"translate3d(0, 10px, 0) scaleY(0.985)\" },\n  {\n    offset: 0.4,\n    opacity: \"1\",\n    transform: \"translate3d(0, -20px, 0) scaleY(0.9)\"\n  },\n  {\n    offset: 0.45,\n    opacity: \"1\",\n    transform: \"translate3d(0, -20px, 0) scaleY(0.9)\"\n  },\n  {\n    offset: 1,\n    opacity: \"0\",\n    transform: \"translate3d(0, 2000px, 0) scaleY(3)\"\n  }\n];\n\n// src/animations/bouncing_exits/bounceOutLeft.ts\nvar bounceOutLeft = [\n  {\n    offset: 0.2,\n    opacity: \"1\",\n    transform: \"translate3d(20px, 0, 0) scaleX(0.9)\"\n  },\n  {\n    offset: 1,\n    opacity: \"0\",\n    transform: \"translate3d(-2000px, 0, 0) scaleX(2)\"\n  }\n];\n\n// src/animations/bouncing_exits/bounceOutRight.ts\nvar bounceOutRight = [\n  {\n    offset: 0.2,\n    opacity: \"1\",\n    transform: \"translate3d(-20px, 0, 0) scaleX(0.9)\"\n  },\n  {\n    offset: 1,\n    opacity: \"0\",\n    transform: \"translate3d(2000px, 0, 0) scaleX(2)\"\n  }\n];\n\n// src/animations/bouncing_exits/bounceOutUp.ts\nvar bounceOutUp = [\n  { offset: 0.2, transform: \"translate3d(0, -10px, 0) scaleY(0.985)\" },\n  {\n    offset: 0.4,\n    opacity: \"1\",\n    transform: \"translate3d(0, 20px, 0) scaleY(0.9)\"\n  },\n  {\n    offset: 0.45,\n    opacity: \"1\",\n    transform: \"translate3d(0, 20px, 0) scaleY(0.9)\"\n  },\n  {\n    offset: 1,\n    opacity: \"0\",\n    transform: \"translate3d(0, -2000px, 0) scaleY(3)\"\n  }\n];\n\n// src/animations/fading_entrances/fadeIn.ts\nvar fadeIn = [\n  { offset: 0, opacity: \"0\" },\n  { offset: 1, opacity: \"1\" }\n];\n\n// src/animations/fading_entrances/fadeInBottomLeft.ts\nvar fadeInBottomLeft = [\n  { offset: 0, opacity: \"0\", transform: \"translate3d(-100%, 100%, 0)\" },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/fading_entrances/fadeInBottomRight.ts\nvar fadeInBottomRight = [\n  { offset: 0, opacity: \"0\", transform: \"translate3d(100%, 100%, 0)\" },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/fading_entrances/fadeInDown.ts\nvar fadeInDown = [\n  { offset: 0, opacity: \"0\", transform: \"translate3d(0, -100%, 0)\" },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/fading_entrances/fadeInDownBig.ts\nvar fadeInDownBig = [\n  { offset: 0, opacity: \"0\", transform: \"translate3d(0, -2000px, 0)\" },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/fading_entrances/fadeInLeft.ts\nvar fadeInLeft = [\n  { offset: 0, opacity: \"0\", transform: \"translate3d(-100%, 0, 0)\" },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/fading_entrances/fadeInLeftBig.ts\nvar fadeInLeftBig = [\n  { offset: 0, opacity: \"0\", transform: \"translate3d(-2000px, 0, 0)\" },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/fading_entrances/fadeInRight.ts\nvar fadeInRight = [\n  { offset: 0, opacity: \"0\", transform: \"translate3d(100%, 0, 0)\" },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/fading_entrances/fadeInRightBig.ts\nvar fadeInRightBig = [\n  { offset: 0, opacity: \"0\", transform: \"translate3d(2000px, 0, 0)\" },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/fading_entrances/fadeInTopLeft.ts\nvar fadeInTopLeft = [\n  { offset: 0, opacity: \"0\", transform: \"translate3d(-100%, -100%, 0)\" },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/fading_entrances/fadeInTopRight.ts\nvar fadeInTopRight = [\n  { offset: 0, opacity: \"0\", transform: \"translate3d(100%, -100%, 0)\" },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/fading_entrances/fadeInUp.ts\nvar fadeInUp = [\n  { offset: 0, opacity: \"0\", transform: \"translate3d(0, 100%, 0)\" },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/fading_entrances/fadeInUpBig.ts\nvar fadeInUpBig = [\n  { offset: 0, opacity: \"0\", transform: \"translate3d(0, 2000px, 0)\" },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/fading_exits/fadeOut.ts\nvar fadeOut = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, opacity: \"0\" }\n];\n\n// src/animations/fading_exits/fadeOutBottomLeft.ts\nvar fadeOutBottomLeft = [\n  { offset: 0, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" },\n  { offset: 1, opacity: \"0\", transform: \"translate3d(-100%, 100%, 0)\" }\n];\n\n// src/animations/fading_exits/fadeOutBottomRight.ts\nvar fadeOutBottomRight = [\n  { offset: 0, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" },\n  { offset: 1, opacity: \"0\", transform: \"translate3d(100%, 100%, 0)\" }\n];\n\n// src/animations/fading_exits/fadeOutDown.ts\nvar fadeOutDown = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, opacity: \"0\", transform: \"translate3d(0, 100%, 0)\" }\n];\n\n// src/animations/fading_exits/fadeOutDownBig.ts\nvar fadeOutDownBig = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, opacity: \"0\", transform: \"translate3d(0, 2000px, 0)\" }\n];\n\n// src/animations/fading_exits/fadeOutLeft.ts\nvar fadeOutLeft = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, opacity: \"0\", transform: \"translate3d(-100%, 0, 0)\" }\n];\n\n// src/animations/fading_exits/fadeOutLeftBig.ts\nvar fadeOutLeftBig = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, opacity: \"0\", transform: \"translate3d(-2000px, 0, 0)\" }\n];\n\n// src/animations/fading_exits/fadeOutRight.ts\nvar fadeOutRight = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, opacity: \"0\", transform: \"translate3d(100%, 0, 0)\" }\n];\n\n// src/animations/fading_exits/fadeOutRightBig.ts\nvar fadeOutRightBig = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, opacity: \"0\", transform: \"translate3d(2000px, 0, 0)\" }\n];\n\n// src/animations/fading_exits/fadeOutTopLeft.ts\nvar fadeOutTopLeft = [\n  { offset: 0, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" },\n  { offset: 1, opacity: \"0\", transform: \"translate3d(-100%, -100%, 0)\" }\n];\n\n// src/animations/fading_exits/fadeOutTopRight.ts\nvar fadeOutTopRight = [\n  { offset: 0, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" },\n  { offset: 1, opacity: \"0\", transform: \"translate3d(100%, -100%, 0)\" }\n];\n\n// src/animations/fading_exits/fadeOutUp.ts\nvar fadeOutUp = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, opacity: \"0\", transform: \"translate3d(0, -100%, 0)\" }\n];\n\n// src/animations/fading_exits/fadeOutUpBig.ts\nvar fadeOutUpBig = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, opacity: \"0\", transform: \"translate3d(0, -2000px, 0)\" }\n];\n\n// src/animations/flippers/flip.ts\nvar flip = [\n  {\n    offset: 0,\n    transform: \"perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg)\",\n    easing: \"ease-out\"\n  },\n  {\n    offset: 0.4,\n    transform: \"perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)\\n      rotate3d(0, 1, 0, -190deg)\",\n    easing: \"ease-out\"\n  },\n  {\n    offset: 0.5,\n    transform: \"perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)\\n      rotate3d(0, 1, 0, -170deg)\",\n    easing: \"ease-in\"\n  },\n  {\n    offset: 0.8,\n    transform: \"perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)\\n      rotate3d(0, 1, 0, 0deg)\",\n    easing: \"ease-in\"\n  },\n  {\n    offset: 1,\n    transform: \"perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg)\",\n    easing: \"ease-in\"\n  }\n];\n\n// src/animations/flippers/flipInX.ts\nvar flipInX = [\n  {\n    offset: 0,\n    transform: \"perspective(400px) rotate3d(1, 0, 0, 90deg)\",\n    easing: \"ease-in\",\n    opacity: \"0\"\n  },\n  {\n    offset: 0.4,\n    transform: \"perspective(400px) rotate3d(1, 0, 0, -20deg)\",\n    easing: \"ease-in\"\n  },\n  {\n    offset: 0.6,\n    transform: \"perspective(400px) rotate3d(1, 0, 0, 10deg)\",\n    opacity: \"1\"\n  },\n  { offset: 0.8, transform: \"perspective(400px) rotate3d(1, 0, 0, -5deg)\" },\n  { offset: 1, transform: \"perspective(400px)\" }\n];\n\n// src/animations/flippers/flipInY.ts\nvar flipInY = [\n  {\n    offset: 0,\n    transform: \"perspective(400px) rotate3d(0, 1, 0, 90deg)\",\n    easing: \"ease-in\",\n    opacity: \"0\"\n  },\n  {\n    offset: 0.4,\n    transform: \"perspective(400px) rotate3d(0, 1, 0, -20deg)\",\n    easing: \"ease-in\"\n  },\n  {\n    offset: 0.6,\n    transform: \"perspective(400px) rotate3d(0, 1, 0, 10deg)\",\n    opacity: \"1\"\n  },\n  { offset: 0.8, transform: \"perspective(400px) rotate3d(0, 1, 0, -5deg)\" },\n  { offset: 1, transform: \"perspective(400px)\" }\n];\n\n// src/animations/flippers/flipOutX.ts\nvar flipOutX = [\n  { offset: 0, transform: \"perspective(400px)\" },\n  {\n    offset: 0.3,\n    transform: \"perspective(400px) rotate3d(1, 0, 0, -20deg)\",\n    opacity: \"1\"\n  },\n  {\n    offset: 1,\n    transform: \"perspective(400px) rotate3d(1, 0, 0, 90deg)\",\n    opacity: \"0\"\n  }\n];\n\n// src/animations/flippers/flipOutY.ts\nvar flipOutY = [\n  { offset: 0, transform: \"perspective(400px)\" },\n  {\n    offset: 0.3,\n    transform: \"perspective(400px) rotate3d(0, 1, 0, -15deg)\",\n    opacity: \"1\"\n  },\n  {\n    offset: 1,\n    transform: \"perspective(400px) rotate3d(0, 1, 0, 90deg)\",\n    opacity: \"0\"\n  }\n];\n\n// src/animations/lightspeed/lightSpeedInLeft.ts\nvar lightSpeedInLeft = [\n  {\n    offset: 0,\n    transform: \"translate3d(-100%, 0, 0) skewX(30deg)\",\n    opacity: \"0\"\n  },\n  { offset: 0.6, transform: \"skewX(-20deg)\", opacity: \"1\" },\n  { offset: 0.8, transform: \"skewX(5deg)\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/lightspeed/lightSpeedInRight.ts\nvar lightSpeedInRight = [\n  {\n    offset: 0,\n    transform: \"translate3d(100%, 0, 0) skewX(-30deg)\",\n    opacity: \"0\"\n  },\n  { offset: 0.6, transform: \"skewX(20deg)\", opacity: \"1\" },\n  { offset: 0.8, transform: \"skewX(-5deg)\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/lightspeed/lightSpeedOutLeft.ts\nvar lightSpeedOutLeft = [\n  { offset: 0, opacity: \"1\" },\n  {\n    offset: 1,\n    transform: \"translate3d(-100%, 0, 0) skewX(-30deg)\",\n    opacity: \"0\"\n  }\n];\n\n// src/animations/lightspeed/lightSpeedOutRight.ts\nvar lightSpeedOutRight = [\n  { offset: 0, opacity: \"1\" },\n  {\n    offset: 1,\n    transform: \"translate3d(100%, 0, 0) skewX(30deg)\",\n    opacity: \"0\"\n  }\n];\n\n// src/animations/rotating_entrances/rotateIn.ts\nvar rotateIn = [\n  { offset: 0, transform: \"rotate3d(0, 0, 1, -200deg)\", opacity: \"0\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\", opacity: \"1\" }\n];\n\n// src/animations/rotating_entrances/rotateInDownLeft.ts\nvar rotateInDownLeft = [\n  { offset: 0, transform: \"rotate3d(0, 0, 1, -45deg)\", opacity: \"0\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\", opacity: \"1\" }\n];\n\n// src/animations/rotating_entrances/rotateInDownRight.ts\nvar rotateInDownRight = [\n  { offset: 0, transform: \"rotate3d(0, 0, 1, 45deg)\", opacity: \"0\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\", opacity: \"1\" }\n];\n\n// src/animations/rotating_entrances/rotateInUpLeft.ts\nvar rotateInUpLeft = [\n  { offset: 0, transform: \"rotate3d(0, 0, 1, 45deg)\", opacity: \"0\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\", opacity: \"1\" }\n];\n\n// src/animations/rotating_entrances/rotateInUpRight.ts\nvar rotateInUpRight = [\n  { offset: 0, transform: \"rotate3d(0, 0, 1, -90deg)\", opacity: \"0\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\", opacity: \"1\" }\n];\n\n// src/animations/rotating_exits/rotateOut.ts\nvar rotateOut = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, transform: \"rotate3d(0, 0, 1, 200deg)\", opacity: \"0\" }\n];\n\n// src/animations/rotating_exits/rotateOutDownLeft.ts\nvar rotateOutDownLeft = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, transform: \"rotate3d(0, 0, 1, 45deg)\", opacity: \"0\" }\n];\n\n// src/animations/rotating_exits/rotateOutDownRight.ts\nvar rotateOutDownRight = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, transform: \"rotate3d(0, 0, 1, -45deg)\", opacity: \"0\" }\n];\n\n// src/animations/rotating_exits/rotateOutUpLeft.ts\nvar rotateOutUpLeft = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, transform: \"rotate3d(0, 0, 1, -45deg)\", opacity: \"0\" }\n];\n\n// src/animations/rotating_exits/rotateOutUpRight.ts\nvar rotateOutUpRight = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 1, transform: \"rotate3d(0, 0, 1, 90deg)\", opacity: \"0\" }\n];\n\n// src/animations/sliding_entrances/slideInDown.ts\nvar slideInDown = [\n  { offset: 0, transform: \"translate3d(0, -100%, 0)\", visibility: \"visible\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/sliding_entrances/slideInLeft.ts\nvar slideInLeft = [\n  { offset: 0, transform: \"translate3d(-100%, 0, 0)\", visibility: \"visible\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/sliding_entrances/slideInRight.ts\nvar slideInRight = [\n  { offset: 0, transform: \"translate3d(100%, 0, 0)\", visibility: \"visible\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/sliding_entrances/slideInUp.ts\nvar slideInUp = [\n  { offset: 0, transform: \"translate3d(0, 100%, 0)\", visibility: \"visible\" },\n  { offset: 1, transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/sliding_exits/slideOutDown.ts\nvar slideOutDown = [\n  { offset: 0, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 1, visibility: \"hidden\", transform: \"translate3d(0, 100%, 0)\" }\n];\n\n// src/animations/sliding_exits/slideOutLeft.ts\nvar slideOutLeft = [\n  { offset: 0, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 1, visibility: \"hidden\", transform: \"translate3d(-100%, 0, 0)\" }\n];\n\n// src/animations/sliding_exits/slideOutRight.ts\nvar slideOutRight = [\n  { offset: 0, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 1, visibility: \"hidden\", transform: \"translate3d(100%, 0, 0)\" }\n];\n\n// src/animations/sliding_exits/slideOutUp.ts\nvar slideOutUp = [\n  { offset: 0, transform: \"translate3d(0, 0, 0)\" },\n  { offset: 1, visibility: \"hidden\", transform: \"translate3d(0, -100%, 0)\" }\n];\n\n// src/animations/specials/hinge.ts\nvar hinge = [\n  { offset: 0, easing: \"ease-in-out\" },\n  {\n    offset: 0.2,\n    transform: \"rotate3d(0, 0, 1, 80deg)\",\n    easing: \"ease-in-out\"\n  },\n  {\n    offset: 0.4,\n    transform: \"rotate3d(0, 0, 1, 60deg)\",\n    easing: \"ease-in-out\",\n    opacity: \"1\"\n  },\n  {\n    offset: 0.6,\n    transform: \"rotate3d(0, 0, 1, 80deg)\",\n    easing: \"ease-in-out\"\n  },\n  {\n    offset: 0.8,\n    transform: \"rotate3d(0, 0, 1, 60deg)\",\n    easing: \"ease-in-out\",\n    opacity: \"1\"\n  },\n  { offset: 1, transform: \"translate3d(0, 700px, 0)\", opacity: \"0\" }\n];\n\n// src/animations/specials/jackInTheBox.ts\nvar jackInTheBox = [\n  {\n    \"offset\": 0,\n    \"opacity\": \"0\",\n    \"transform\": \"scale(0.1) rotate(30deg)\",\n    \"transform-origin\": \"center bottom\"\n  },\n  { offset: 0.5, transform: \"rotate(-10deg)\" },\n  { offset: 0.7, transform: \"rotate(3deg)\" },\n  { offset: 1, opacity: \"1\", transform: \"scale(1)\" }\n];\n\n// src/animations/specials/rollIn.ts\nvar rollIn = [\n  {\n    offset: 0,\n    opacity: \"0\",\n    transform: \"translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)\"\n  },\n  { offset: 1, opacity: \"1\", transform: \"translate3d(0, 0, 0)\" }\n];\n\n// src/animations/specials/rollOut.ts\nvar rollOut = [\n  { offset: 0, opacity: \"1\" },\n  {\n    offset: 1,\n    opacity: \"0\",\n    transform: \"translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)\"\n  }\n];\n\n// src/animations/zooming_entrances/zoomIn.ts\nvar zoomIn = [\n  { offset: 0, opacity: \"0\", transform: \"scale3d(0.3, 0.3, 0.3)\" },\n  { offset: 0.5, opacity: \"1\" }\n];\n\n// src/animations/zooming_entrances/zoomInDown.ts\nvar zoomInDown = [\n  {\n    offset: 0,\n    opacity: \"0\",\n    transform: \"scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0)\",\n    easing: \"cubic-bezier(0.55, 0.055, 0.675, 0.19)\"\n  },\n  {\n    offset: 0.6,\n    opacity: \"1\",\n    transform: \"scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0)\",\n    easing: \"cubic-bezier(0.175, 0.885, 0.32, 1)\"\n  }\n];\n\n// src/animations/zooming_entrances/zoomInLeft.ts\nvar zoomInLeft = [\n  {\n    offset: 0,\n    opacity: \"0\",\n    transform: \"scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0)\",\n    easing: \"cubic-bezier(0.55, 0.055, 0.675, 0.19)\"\n  },\n  {\n    offset: 0.6,\n    opacity: \"1\",\n    transform: \"scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0)\",\n    easing: \"cubic-bezier(0.175, 0.885, 0.32, 1)\"\n  }\n];\n\n// src/animations/zooming_entrances/zoomInRight.ts\nvar zoomInRight = [\n  {\n    offset: 0,\n    opacity: \"0\",\n    transform: \"scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0)\",\n    easing: \"cubic-bezier(0.55, 0.055, 0.675, 0.19)\"\n  },\n  {\n    offset: 0.6,\n    opacity: \"1\",\n    transform: \"scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0)\",\n    easing: \"cubic-bezier(0.175, 0.885, 0.32, 1)\"\n  }\n];\n\n// src/animations/zooming_entrances/zoomInUp.ts\nvar zoomInUp = [\n  {\n    offset: 0,\n    opacity: \"0\",\n    transform: \"scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0)\",\n    easing: \"cubic-bezier(0.55, 0.055, 0.675, 0.19)\"\n  },\n  {\n    offset: 0.6,\n    opacity: \"1\",\n    transform: \"scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0)\",\n    easing: \"cubic-bezier(0.175, 0.885, 0.32, 1)\"\n  }\n];\n\n// src/animations/zooming_exits/zoomOut.ts\nvar zoomOut = [\n  { offset: 0, opacity: \"1\" },\n  { offset: 0.5, opacity: \"0\", transform: \"scale3d(0.3, 0.3, 0.3)\" },\n  { offset: 1, opacity: \"0\" }\n];\n\n// src/animations/zooming_exits/zoomOutDown.ts\nvar zoomOutDown = [\n  {\n    offset: 0.4,\n    opacity: \"1\",\n    transform: \"scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0)\",\n    easing: \"cubic-bezier(0.55, 0.055, 0.675, 0.19)\"\n  },\n  {\n    offset: 1,\n    opacity: \"0\",\n    transform: \"scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0)\",\n    easing: \"cubic-bezier(0.175, 0.885, 0.32, 1)\"\n  }\n];\n\n// src/animations/zooming_exits/zoomOutLeft.ts\nvar zoomOutLeft = [\n  {\n    offset: 0.4,\n    opacity: \"1\",\n    transform: \"scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)\"\n  },\n  {\n    offset: 1,\n    opacity: \"0\",\n    transform: \"scale(0.1) translate3d(-2000px, 0, 0)\"\n  }\n];\n\n// src/animations/zooming_exits/zoomOutRight.ts\nvar zoomOutRight = [\n  {\n    offset: 0.4,\n    opacity: \"1\",\n    transform: \"scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)\"\n  },\n  {\n    offset: 1,\n    opacity: \"0\",\n    transform: \"scale(0.1) translate3d(2000px, 0, 0)\"\n  }\n];\n\n// src/animations/zooming_exits/zoomOutUp.ts\nvar zoomOutUp = [\n  {\n    offset: 0.4,\n    opacity: \"1\",\n    transform: \"scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0)\",\n    easing: \"cubic-bezier(0.55, 0.055, 0.675, 0.19)\"\n  },\n  {\n    offset: 1,\n    opacity: \"0\",\n    transform: \"scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0)\",\n    easing: \"cubic-bezier(0.175, 0.885, 0.32, 1)\"\n  }\n];\n\n// src/animations/easings/easings.ts\nvar easings = {\n  linear: \"linear\",\n  ease: \"ease\",\n  easeIn: \"ease-in\",\n  easeOut: \"ease-out\",\n  easeInOut: \"ease-in-out\",\n  easeInSine: \"cubic-bezier(0.47, 0, 0.745, 0.715)\",\n  easeOutSine: \"cubic-bezier(0.39, 0.575, 0.565, 1)\",\n  easeInOutSine: \"cubic-bezier(0.445, 0.05, 0.55, 0.95)\",\n  easeInQuad: \"cubic-bezier(0.55, 0.085, 0.68, 0.53)\",\n  easeOutQuad: \"cubic-bezier(0.25, 0.46, 0.45, 0.94)\",\n  easeInOutQuad: \"cubic-bezier(0.455, 0.03, 0.515, 0.955)\",\n  easeInCubic: \"cubic-bezier(0.55, 0.055, 0.675, 0.19)\",\n  easeOutCubic: \"cubic-bezier(0.215, 0.61, 0.355, 1)\",\n  easeInOutCubic: \"cubic-bezier(0.645, 0.045, 0.355, 1)\",\n  easeInQuart: \"cubic-bezier(0.895, 0.03, 0.685, 0.22)\",\n  easeOutQuart: \"cubic-bezier(0.165, 0.84, 0.44, 1)\",\n  easeInOutQuart: \"cubic-bezier(0.77, 0, 0.175, 1)\",\n  easeInQuint: \"cubic-bezier(0.755, 0.05, 0.855, 0.06)\",\n  easeOutQuint: \"cubic-bezier(0.23, 1, 0.32, 1)\",\n  easeInOutQuint: \"cubic-bezier(0.86, 0, 0.07, 1)\",\n  easeInExpo: \"cubic-bezier(0.95, 0.05, 0.795, 0.035)\",\n  easeOutExpo: \"cubic-bezier(0.19, 1, 0.22, 1)\",\n  easeInOutExpo: \"cubic-bezier(1, 0, 0, 1)\",\n  easeInCirc: \"cubic-bezier(0.6, 0.04, 0.98, 0.335)\",\n  easeOutCirc: \"cubic-bezier(0.075, 0.82, 0.165, 1)\",\n  easeInOutCirc: \"cubic-bezier(0.785, 0.135, 0.15, 0.86)\",\n  easeInBack: \"cubic-bezier(0.6, -0.28, 0.735, 0.045)\",\n  easeOutBack: \"cubic-bezier(0.175, 0.885, 0.32, 1.275)\",\n  easeInOutBack: \"cubic-bezier(0.68, -0.55, 0.265, 1.55)\"\n};\n\n// src/components/animation/animations.ts\nfunction getAnimationNames() {\n  return Object.entries(animations_exports).filter(([name]) => name !== \"easings\").map(([name]) => name);\n}\nfunction getEasingNames() {\n  return Object.entries(easings).map(([name]) => name);\n}\n\n// src/components/animation/animation.css\nvar animation_default = \":host {\\n    display: contents;\\n}\\n\";\n\n// src/components/animation/animation.ts\nvar PcAnimation = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.hasStarted = false;\n    this.name = \"none\";\n    this.play = false;\n    this.delay = 0;\n    this.direction = \"normal\";\n    this.duration = 1e3;\n    this.easing = \"ease-in-out\";\n    this.endDelay = 0;\n    this.fill = \"auto\";\n    this.iterations = Infinity;\n    this.iterationStart = 0;\n    this.playbackRate = 1;\n    this.handleAnimationFinish = () => {\n      this.play = false;\n      this.hasStarted = false;\n      this.dispatchEvent(new PcFinishEvent());\n    };\n    this.handleAnimationCancel = () => {\n      this.play = false;\n      this.hasStarted = false;\n      this.dispatchEvent(new PcCancelEvent());\n    };\n  }\n  /** Gets and sets the current animation time. */\n  get currentTime() {\n    return this.animation?.currentTime ?? 0;\n  }\n  set currentTime(time) {\n    if (this.animation) {\n      this.animation.currentTime = time;\n    }\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.createAnimation();\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this.destroyAnimation();\n  }\n  handleSlotChange() {\n    this.destroyAnimation();\n    this.createAnimation();\n  }\n  async createAnimation() {\n    const easing = animations_exports.easings[this.easing] ?? this.easing;\n    const keyframes = this.keyframes ?? animations_exports[this.name];\n    const slot = await this.defaultSlot;\n    const element = slot.assignedElements()[0];\n    if (!element || !keyframes) {\n      return false;\n    }\n    this.destroyAnimation();\n    this.animation = element.animate(keyframes, {\n      delay: this.delay,\n      direction: this.direction,\n      duration: this.duration,\n      easing,\n      endDelay: this.endDelay,\n      fill: this.fill,\n      iterationStart: this.iterationStart,\n      iterations: this.iterations\n    });\n    this.animation.playbackRate = this.playbackRate;\n    this.animation.addEventListener(\"cancel\", this.handleAnimationCancel);\n    this.animation.addEventListener(\"finish\", this.handleAnimationFinish);\n    if (this.play) {\n      this.hasStarted = true;\n      this.dispatchEvent(new PcStartEvent());\n    } else {\n      this.animation.pause();\n    }\n    return true;\n  }\n  destroyAnimation() {\n    if (this.animation) {\n      this.animation.cancel();\n      this.animation.removeEventListener(\n        \"cancel\",\n        this.handleAnimationCancel\n      );\n      this.animation.removeEventListener(\n        \"finish\",\n        this.handleAnimationFinish\n      );\n      this.hasStarted = false;\n    }\n  }\n  handleAnimationChange() {\n    if (!this.hasUpdated) {\n      return;\n    }\n    this.createAnimation();\n  }\n  handlePlayChange() {\n    if (this.animation) {\n      if (this.play && !this.hasStarted) {\n        this.hasStarted = true;\n        this.dispatchEvent(new PcStartEvent());\n      }\n      if (this.play) {\n        this.animation.play();\n      } else {\n        this.animation.pause();\n      }\n      return true;\n    }\n    return false;\n  }\n  handlePlaybackRateChange() {\n    if (this.animation) {\n      this.animation.playbackRate = this.playbackRate;\n    }\n  }\n  /** Clears all keyframes caused by this animation and aborts its playback. */\n  cancel() {\n    this.animation?.cancel();\n  }\n  /** Sets the playback time to the end of the animation corresponding to the current playback direction. */\n  finish() {\n    this.animation?.finish();\n  }\n  render() {\n    return x`<slot @slotchange=${this.handleSlotChange}></slot>`;\n  }\n};\nPcAnimation.css = animation_default;\n__decorateClass([\n  r6(\"slot\")\n], PcAnimation.prototype, \"defaultSlot\", 2);\n__decorateClass([\n  n4()\n], PcAnimation.prototype, \"name\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcAnimation.prototype, \"play\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcAnimation.prototype, \"delay\", 2);\n__decorateClass([\n  n4()\n], PcAnimation.prototype, \"direction\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcAnimation.prototype, \"duration\", 2);\n__decorateClass([\n  n4()\n], PcAnimation.prototype, \"easing\", 2);\n__decorateClass([\n  n4({ attribute: \"end-delay\", type: Number })\n], PcAnimation.prototype, \"endDelay\", 2);\n__decorateClass([\n  n4()\n], PcAnimation.prototype, \"fill\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcAnimation.prototype, \"iterations\", 2);\n__decorateClass([\n  n4({ attribute: \"iteration-start\", type: Number })\n], PcAnimation.prototype, \"iterationStart\", 2);\n__decorateClass([\n  n4({ attribute: false })\n], PcAnimation.prototype, \"keyframes\", 2);\n__decorateClass([\n  n4({ attribute: \"playback-rate\", type: Number })\n], PcAnimation.prototype, \"playbackRate\", 2);\n__decorateClass([\n  watch([\n    \"name\",\n    \"delay\",\n    \"direction\",\n    \"duration\",\n    \"easing\",\n    \"endDelay\",\n    \"fill\",\n    \"iterations\",\n    \"iterationsStart\",\n    \"keyframes\"\n  ])\n], PcAnimation.prototype, \"handleAnimationChange\", 1);\n__decorateClass([\n  watch(\"play\")\n], PcAnimation.prototype, \"handlePlayChange\", 1);\n__decorateClass([\n  watch(\"playbackRate\")\n], PcAnimation.prototype, \"handlePlaybackRateChange\", 1);\nPcAnimation = __decorateClass([\n  t3(\"pc-animation\")\n], PcAnimation);\n\n// node_modules/lit-html/directive.js\nvar t5 = { ATTRIBUTE: 1, CHILD: 2, PROPERTY: 3, BOOLEAN_ATTRIBUTE: 4, EVENT: 5, ELEMENT: 6 };\nvar e6 = (t7) => (...e10) => ({ _$litDirective$: t7, values: e10 });\nvar i5 = class {\n  constructor(t7) {\n  }\n  get _$AU() {\n    return this._$AM._$AU;\n  }\n  _$AT(t7, e10, i8) {\n    this._$Ct = t7, this._$AM = e10, this._$Ci = i8;\n  }\n  _$AS(t7, e10) {\n    return this.update(t7, e10);\n  }\n  update(t7, e10) {\n    return this.render(...e10);\n  }\n};\n\n// node_modules/lit-html/directives/class-map.js\nvar e7 = e6(class extends i5 {\n  constructor(t7) {\n    if (super(t7), t7.type !== t5.ATTRIBUTE || \"class\" !== t7.name || t7.strings?.length > 2) throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\");\n  }\n  render(t7) {\n    return \" \" + Object.keys(t7).filter(((s4) => t7[s4])).join(\" \") + \" \";\n  }\n  update(s4, [i8]) {\n    if (void 0 === this.st) {\n      this.st = /* @__PURE__ */ new Set(), void 0 !== s4.strings && (this.nt = new Set(s4.strings.join(\" \").split(/\\s/).filter(((t7) => \"\" !== t7))));\n      for (const t7 in i8) i8[t7] && !this.nt?.has(t7) && this.st.add(t7);\n      return this.render(i8);\n    }\n    const r8 = s4.element.classList;\n    for (const t7 of this.st) t7 in i8 || (r8.remove(t7), this.st.delete(t7));\n    for (const t7 in i8) {\n      const s5 = !!i8[t7];\n      s5 === this.st.has(t7) || this.nt?.has(t7) || (s5 ? (r8.add(t7), this.st.add(t7)) : (r8.remove(t7), this.st.delete(t7)));\n    }\n    return T;\n  }\n});\n\n// src/events/pc-error.ts\nvar PcErrorEvent = class extends Event {\n  constructor() {\n    super(\"pc-error\", { bubbles: true, cancelable: false, composed: true });\n  }\n};\n\n// src/events/pc-load.ts\nvar PcLoadEvent = class extends Event {\n  constructor() {\n    super(\"pc-load\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n  }\n};\n\n// src/utilities/kit-code.ts\nvar kitCode = \"\";\nfunction setKitCode(code) {\n  kitCode = code;\n}\nfunction getKitCode() {\n  if (!kitCode) {\n    const element = document.querySelector(\"[data-fa-kit-code]\");\n    if (element) {\n      setKitCode(element.getAttribute(\"data-fa-kit-code\") || \"\");\n    }\n  }\n  return kitCode;\n}\n\n// src/components/icon/library.default.ts\nvar faVersion = \"7.2.0\";\nfunction getIconURL(name, iconStyle, autoWidth) {\n  const basePath = autoWidth ? \"svgs\" : \"svgs-full\";\n  const kitCode2 = getKitCode();\n  const isPro = kitCode2.length > 0;\n  return isPro ? `https://ka-p.fontawesome.com/releases/v${faVersion}/${basePath}/${iconStyle}/${name}.svg?token=${encodeURIComponent(kitCode2)}` : `https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@${faVersion}/${basePath}/${iconStyle}/${name}.svg`;\n}\nvar library = {\n  name: \"default\",\n  resolver: (name, iconStyle = \"solid\", autoWidth = false) => {\n    return getIconURL(name, iconStyle, autoWidth);\n  },\n  mutator: (svg, hostElement) => {\n    if (hostElement?.iconStyle && !svg.hasAttribute(\"data-duotone-initialized\")) {\n      const { iconStyle } = hostElement;\n      if (iconStyle?.startsWith(\"duotone\") || iconStyle?.startsWith(\"sharp-duotone\") || iconStyle === \"jelly-duo-regular\" || iconStyle === \"notdog-duo-solid\" || iconStyle?.startsWith(\"thumbprint\") || iconStyle === \"utility-duo-semibold\") {\n        const paths = [...svg.querySelectorAll(\"path\")];\n        const primaryPath = paths.find(\n          (path) => !path.hasAttribute(\"opacity\")\n        );\n        const secondaryPath = paths.find(\n          (path) => path.hasAttribute(\"opacity\")\n        );\n        if (!primaryPath || !secondaryPath) {\n          return;\n        }\n        primaryPath.setAttribute(\"data-duotone-primary\", \"\");\n        secondaryPath.setAttribute(\"data-duotone-secondary\", \"\");\n        if (hostElement.swapOpacity && primaryPath && secondaryPath) {\n          const originalOpacity = secondaryPath.getAttribute(\"opacity\") || \"0.4\";\n          primaryPath.style.setProperty(\n            \"--fa-primary-opacity\",\n            originalOpacity\n          );\n          secondaryPath.style.setProperty(\n            \"--fa-secondary-opacity\",\n            \"1\"\n          );\n        }\n        svg.setAttribute(\"data-duotone-initialized\", \"\");\n      }\n    }\n  }\n};\nvar library_default_default = library;\n\n// src/components/icon/library.system.ts\nvar icons = {\n  solid: {\n    \"check\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M530.8 134.1C545.1 144.5 548.3 164.5 537.9 178.8L281.9 530.8C276.4 538.4 267.9 543.1 258.5 543.9C249.1 544.7 240 541.2 233.4 534.6L105.4 406.6C92.9 394.1 92.9 373.8 105.4 361.3C117.9 348.8 138.2 348.8 150.7 361.3L252.2 462.8L486.2 141.1C496.6 126.8 516.6 123.6 530.9 134z\"\n                />\n            </svg>\n        `,\n    \"chevron-down\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M297.4 470.6C309.9 483.1 330.2 483.1 342.7 470.6L534.7 278.6C547.2 266.1 547.2 245.8 534.7 233.3C522.2 220.8 501.9 220.8 489.4 233.3L320 402.7L150.6 233.4C138.1 220.9 117.8 220.9 105.3 233.4C92.8 245.9 92.8 266.2 105.3 278.7L297.3 470.7z\"\n                />\n            </svg>\n        `,\n    \"chevron-left\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M169.4 297.4C156.9 309.9 156.9 330.2 169.4 342.7L361.4 534.7C373.9 547.2 394.2 547.2 406.7 534.7C419.2 522.2 419.2 501.9 406.7 489.4L237.3 320L406.6 150.6C419.1 138.1 419.1 117.8 406.6 105.3C394.1 92.8 373.8 92.8 361.3 105.3L169.3 297.3z\"\n                />\n            </svg>\n        `,\n    \"chevron-right\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M471.1 297.4C483.6 309.9 483.6 330.2 471.1 342.7L279.1 534.7C266.6 547.2 246.3 547.2 233.8 534.7C221.3 522.2 221.3 501.9 233.8 489.4L403.2 320L233.9 150.6C221.4 138.1 221.4 117.8 233.9 105.3C246.4 92.8 266.7 92.8 279.2 105.3L471.2 297.3z\"\n                />\n            </svg>\n        `,\n    \"eye-dropper\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M405.6 93.2L304 194.8L294.6 185.4C282.1 172.9 261.8 172.9 249.3 185.4C236.8 197.9 236.8 218.2 249.3 230.7L409.3 390.7C421.8 403.2 442.1 403.2 454.6 390.7C467.1 378.2 467.1 357.9 454.6 345.4L445.2 336L546.8 234.4C585.8 195.4 585.8 132.2 546.8 93.3C507.8 54.4 444.6 54.3 405.7 93.3zM119.4 387.3C104.4 402.3 96 422.7 96 443.9L96 486.3L69.4 526.2C60.9 538.9 62.6 555.8 73.4 566.6C84.2 577.4 101.1 579.1 113.8 570.6L153.7 544L196.1 544C217.3 544 237.7 535.6 252.7 520.6L362.1 411.2L316.8 365.9L207.4 475.3C204.4 478.3 200.3 480 196.1 480L160 480L160 443.9C160 439.7 161.7 435.6 164.7 432.6L274.1 323.2L228.8 277.9L119.4 387.3z\"\n                />\n            </svg>\n        `,\n    \"grip-vertical\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M288 104C288 81.9 270.1 64 248 64L200 64C177.9 64 160 81.9 160 104L160 152C160 174.1 177.9 192 200 192L248 192C270.1 192 288 174.1 288 152L288 104zM288 296C288 273.9 270.1 256 248 256L200 256C177.9 256 160 273.9 160 296L160 344C160 366.1 177.9 384 200 384L248 384C270.1 384 288 366.1 288 344L288 296zM160 488L160 536C160 558.1 177.9 576 200 576L248 576C270.1 576 288 558.1 288 536L288 488C288 465.9 270.1 448 248 448L200 448C177.9 448 160 465.9 160 488zM480 104C480 81.9 462.1 64 440 64L392 64C369.9 64 352 81.9 352 104L352 152C352 174.1 369.9 192 392 192L440 192C462.1 192 480 174.1 480 152L480 104zM352 296L352 344C352 366.1 369.9 384 392 384L440 384C462.1 384 480 366.1 480 344L480 296C480 273.9 462.1 256 440 256L392 256C369.9 256 352 273.9 352 296zM480 488C480 465.9 462.1 448 440 448L392 448C369.9 448 352 465.9 352 488L352 536C352 558.1 369.9 576 392 576L440 576C462.1 576 480 558.1 480 536L480 488z\"\n                />\n            </svg>\n        `,\n    \"minus\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M96 320C96 302.3 110.3 288 128 288L512 288C529.7 288 544 302.3 544 320C544 337.7 529.7 352 512 352L128 352C110.3 352 96 337.7 96 320z\"\n                />\n            </svg>\n        `,\n    \"star\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M341.5 45.1C337.4 37.1 329.1 32 320.1 32C311.1 32 302.8 37.1 298.7 45.1L225.1 189.3L65.2 214.7C56.3 216.1 48.9 222.4 46.1 231C43.3 239.6 45.6 249 51.9 255.4L166.3 369.9L141.1 529.8C139.7 538.7 143.4 547.7 150.7 553C158 558.3 167.6 559.1 175.7 555L320.1 481.6L464.4 555C472.4 559.1 482.1 558.3 489.4 553C496.7 547.7 500.4 538.8 499 529.8L473.7 369.9L588.1 255.4C594.5 249 596.7 239.6 593.9 231C591.1 222.4 583.8 216.1 574.8 214.7L415 189.3L341.5 45.1z\"\n                />\n            </svg>\n        `,\n    \"user\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M320 312C386.3 312 440 258.3 440 192C440 125.7 386.3 72 320 72C253.7 72 200 125.7 200 192C200 258.3 253.7 312 320 312zM290.3 368C191.8 368 112 447.8 112 546.3C112 562.7 125.3 576 141.7 576L498.3 576C514.7 576 528 562.7 528 546.3C528 447.8 448.2 368 349.7 368L290.3 368z\"\n                />\n            </svg>\n        `,\n    \"xmark\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M183.1 137.4C170.6 124.9 150.3 124.9 137.8 137.4C125.3 149.9 125.3 170.2 137.8 182.7L275.2 320L137.9 457.4C125.4 469.9 125.4 490.2 137.9 502.7C150.4 515.2 170.7 515.2 183.2 502.7L320.5 365.3L457.9 502.6C470.4 515.1 490.7 515.1 503.2 502.6C515.7 490.1 515.7 469.8 503.2 457.3L365.8 320L503.1 182.6C515.6 170.1 515.6 149.8 503.1 137.3C490.6 124.8 470.3 124.8 457.8 137.3L320.5 274.7L183.1 137.4z\"\n                />\n            </svg>\n        `\n  },\n  regular: {\n    \"circle-question\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M528 320C528 205.1 434.9 112 320 112C205.1 112 112 205.1 112 320C112 434.9 205.1 528 320 528C434.9 528 528 434.9 528 320zM64 320C64 178.6 178.6 64 320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576C178.6 576 64 461.4 64 320zM320 240C302.3 240 288 254.3 288 272C288 285.3 277.3 296 264 296C250.7 296 240 285.3 240 272C240 227.8 275.8 192 320 192C364.2 192 400 227.8 400 272C400 319.2 364 339.2 344 346.5L344 350.3C344 363.6 333.3 374.3 320 374.3C306.7 374.3 296 363.6 296 350.3L296 342.2C296 321.7 310.8 307 326.1 302C332.5 299.9 339.3 296.5 344.3 291.7C348.6 287.5 352 281.7 352 272.1C352 254.4 337.7 240.1 320 240.1zM288 432C288 414.3 302.3 400 320 400C337.7 400 352 414.3 352 432C352 449.7 337.7 464 320 464C302.3 464 288 449.7 288 432z\"\n                />\n            </svg>\n        `,\n    \"circle-xmark\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M320 112C434.9 112 528 205.1 528 320C528 434.9 434.9 528 320 528C205.1 528 112 434.9 112 320C112 205.1 205.1 112 320 112zM320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM231 231C221.6 240.4 221.6 255.6 231 264.9L286 319.9L231 374.9C221.6 384.3 221.6 399.5 231 408.8C240.4 418.1 255.6 418.2 264.9 408.8L319.9 353.8L374.9 408.8C384.3 418.2 399.5 418.2 408.8 408.8C418.1 399.4 418.2 384.2 408.8 374.9L353.8 319.9L408.8 264.9C418.2 255.5 418.2 240.3 408.8 231C399.4 221.7 384.2 221.6 374.9 231L319.9 286L264.9 231C255.5 221.6 240.3 221.6 231 231z\"\n                />\n            </svg>\n        `,\n    \"copy\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M480 400L288 400C279.2 400 272 392.8 272 384L272 128C272 119.2 279.2 112 288 112L421.5 112C425.7 112 429.8 113.7 432.8 116.7L491.3 175.2C494.3 178.2 496 182.3 496 186.5L496 384C496 392.8 488.8 400 480 400zM288 448L480 448C515.3 448 544 419.3 544 384L544 186.5C544 169.5 537.3 153.2 525.3 141.2L466.7 82.7C454.7 70.7 438.5 64 421.5 64L288 64C252.7 64 224 92.7 224 128L224 384C224 419.3 252.7 448 288 448zM160 192C124.7 192 96 220.7 96 256L96 512C96 547.3 124.7 576 160 576L352 576C387.3 576 416 547.3 416 512L416 496L368 496L368 512C368 520.8 360.8 528 352 528L160 528C151.2 528 144 520.8 144 512L144 256C144 247.2 151.2 240 160 240L176 240L176 192L160 192z\"\n                />\n            </svg>\n        `,\n    \"eye\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M320 144C254.8 144 201.2 173.6 160.1 211.7C121.6 247.5 95 290 81.4 320C95 350 121.6 392.5 160.1 428.3C201.2 466.4 254.8 496 320 496C385.2 496 438.8 466.4 479.9 428.3C518.4 392.5 545 350 558.6 320C545 290 518.4 247.5 479.9 211.7C438.8 173.6 385.2 144 320 144zM127.4 176.6C174.5 132.8 239.2 96 320 96C400.8 96 465.5 132.8 512.6 176.6C559.4 220.1 590.7 272 605.6 307.7C608.9 315.6 608.9 324.4 605.6 332.3C590.7 368 559.4 420 512.6 463.4C465.5 507.1 400.8 544 320 544C239.2 544 174.5 507.2 127.4 463.4C80.6 419.9 49.3 368 34.4 332.3C31.1 324.4 31.1 315.6 34.4 307.7C49.3 272 80.6 220 127.4 176.6zM320 400C364.2 400 400 364.2 400 320C400 290.4 383.9 264.5 360 250.7C358.6 310.4 310.4 358.6 250.7 360C264.5 383.9 290.4 400 320 400zM240.4 311.6C242.9 311.9 245.4 312 248 312C283.3 312 312 283.3 312 248C312 245.4 311.8 242.9 311.6 240.4C274.2 244.3 244.4 274.1 240.5 311.5zM286 196.6C296.8 193.6 308.2 192.1 319.9 192.1C328.7 192.1 337.4 193 345.7 194.7C346 194.8 346.2 194.8 346.5 194.9C404.4 207.1 447.9 258.6 447.9 320.1C447.9 390.8 390.6 448.1 319.9 448.1C258.3 448.1 206.9 404.6 194.7 346.7C192.9 338.1 191.9 329.2 191.9 320.1C191.9 309.1 193.3 298.3 195.9 288.1C196.1 287.4 196.2 286.8 196.4 286.2C208.3 242.8 242.5 208.6 285.9 196.7z\"\n                />\n            </svg>\n        `,\n    \"eye-slash\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M73 39.1C63.6 29.7 48.4 29.7 39.1 39.1C29.8 48.5 29.7 63.7 39 73.1L567 601.1C576.4 610.5 591.6 610.5 600.9 601.1C610.2 591.7 610.3 576.5 600.9 567.2L504.5 470.8C507.2 468.4 509.9 466 512.5 463.6C559.3 420.1 590.6 368.2 605.5 332.5C608.8 324.6 608.8 315.8 605.5 307.9C590.6 272.2 559.3 220.2 512.5 176.8C465.4 133.1 400.7 96.2 319.9 96.2C263.1 96.2 214.3 114.4 173.9 140.4L73 39.1zM208.9 175.1C241 156.2 278.1 144 320 144C385.2 144 438.8 173.6 479.9 211.7C518.4 247.4 545 290 558.5 320C544.9 350 518.3 392.5 479.9 428.3C476.8 431.1 473.7 433.9 470.5 436.7L425.8 392C439.8 371.5 448 346.7 448 320C448 249.3 390.7 192 320 192C293.3 192 268.5 200.2 248 214.2L208.9 175.1zM390.9 357.1L282.9 249.1C294 243.3 306.6 240 320 240C364.2 240 400 275.8 400 320C400 333.4 396.7 346 390.9 357.1zM135.4 237.2L101.4 203.2C68.8 240 46.4 279 34.5 307.7C31.2 315.6 31.2 324.4 34.5 332.3C49.4 368 80.7 420 127.5 463.4C174.6 507.1 239.3 544 320.1 544C357.4 544 391.3 536.1 421.6 523.4L384.2 486C364.2 492.4 342.8 496 320 496C254.8 496 201.2 466.4 160.1 428.3C121.6 392.6 95 350 81.5 320C91.9 296.9 110.1 266.4 135.5 237.2z\"\n                />\n            </svg>\n        `,\n    \"star\": `\n            <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\">\n                <!--! Font Awesome Free v7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc. -->\n                <path\n                    d=\"M320.1 32C329.1 32 337.4 37.1 341.5 45.1L415 189.3L574.9 214.7C583.8 216.1 591.2 222.4 594 231C596.8 239.6 594.5 249 588.2 255.4L473.7 369.9L499 529.8C500.4 538.7 496.7 547.7 489.4 553C482.1 558.3 472.4 559.1 464.4 555L320.1 481.6L175.8 555C167.8 559.1 158.1 558.3 150.8 553C143.5 547.7 139.8 538.8 141.2 529.8L166.4 369.9L52 255.4C45.6 249 43.4 239.6 46.2 231C49 222.4 56.3 216.1 65.3 214.7L225.2 189.3L298.8 45.1C302.9 37.1 311.2 32 320.2 32zM320.1 108.8L262.3 222C258.8 228.8 252.3 233.6 244.7 234.8L119.2 254.8L209 344.7C214.4 350.1 216.9 357.8 215.7 365.4L195.9 490.9L309.2 433.3C316 429.8 324.1 429.8 331 433.3L444.3 490.9L424.5 365.4C423.3 357.8 425.8 350.1 431.2 344.7L521 254.8L395.5 234.8C387.9 233.6 381.4 228.8 377.9 222L320.1 108.8z\"\n                />\n            </svg>\n        `\n  }\n};\nfunction dataURI(svg) {\n  return `data:image/svg+xml,${encodeURIComponent(svg)}`;\n}\nvar systemLibrary = {\n  name: \"system\",\n  resolver: (name, iconStyle = \"solid\") => {\n    let collection = icons[iconStyle];\n    let svg = collection[name] ?? icons.regular[name] ?? icons.regular[\"circle-question\"];\n    if (svg) {\n      return dataURI(svg);\n    }\n    return \"\";\n  }\n};\nvar library_system_default = systemLibrary;\n\n// src/components/icon/library.ts\nvar registry = [library_default_default, library_system_default];\nvar watchedIcons = [];\nfunction watchIcon(icon) {\n  watchedIcons.push(icon);\n}\nfunction unwatchIcon(icon) {\n  watchedIcons = watchedIcons.filter((element) => element !== icon);\n}\nfunction getIconLibrary(name) {\n  return registry.find((library2) => library2.name === name);\n}\nfunction registerIconLibrary(name, options) {\n  unregisterIconLibrary(name);\n  registry.push({\n    name,\n    resolver: options.resolver,\n    mutator: options.mutator,\n    spriteSheet: options.spriteSheet\n  });\n  watchedIcons.forEach((icon) => {\n    if (icon.library === name) {\n      icon.setIcon();\n    }\n  });\n}\nfunction unregisterIconLibrary(name) {\n  registry = registry.filter((library2) => library2.name !== name);\n}\n\n// src/components/icon/icon.css\nvar icon_default = ':host {\\n    --fa-primary-color: currentColor;\\n    --fa-secondary-color: currentColor;\\n    --fa-primary-opacity: 1;\\n    --fa-secondary-opacity: 0.4;\\n\\n    display: inline-flex;\\n    justify-content: center;\\n    box-sizing: content-box !important;\\n    inline-size: auto;\\n    block-size: 1em;\\n}\\n\\nsvg {\\n    display: inline-block;\\n    inline-size: auto;\\n    block-size: inherit;\\n    fill: currentColor;\\n    overflow: visible;\\n}\\n\\n/* Fixed\\u2010width icons */\\n:host([library=\"default\"]:not([auto-width])) svg *,\\n:host([library=\"system\"]:not([auto-width])) svg * {\\n    /* This scaling gets rid of the whitespace around the icon grid. */\\n    scale: 1.25;\\n    transform-origin: center;\\n}\\n\\n/* Primary layer */\\nsvg path[data-duotone-primary] {\\n    color: var(--fa-primary-color);\\n    opacity: var(--fa-primary-opacity);\\n}\\n\\n/* Secondary layer */\\nsvg path[data-duotone-secondary] {\\n    color: var(--fa-secondary-color);\\n    opacity: var(--fa-secondary-opacity);\\n}\\n';\n\n// src/components/icon/icon.ts\nvar CACHEABLE_ERROR = /* @__PURE__ */ Symbol();\nvar RETRYABLE_ERROR = /* @__PURE__ */ Symbol();\nvar parser;\nvar iconCache = /* @__PURE__ */ new Map();\nvar PcIcon = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.svg = null;\n    this.iconStyle = \"solid\";\n    this.autoWidth = false;\n    this.swapOpacity = false;\n    this.label = \"\";\n    this.library = \"default\";\n    /** Given a URL, this function returns the resulting SVG element or an appropriate error icon. */\n    this.resolveIcon = async (url, library2) => {\n      let fileData;\n      if (library2?.spriteSheet) {\n        if (!this.hasUpdated) {\n          await this.updateComplete;\n        }\n        this.svg = x`\n                <svg part=\"svg\">\n                    <use part=\"use\" href=${url}></use>\n                </svg>\n            `;\n        await this.updateComplete;\n        const svg = this.shadowRoot.querySelector('[part=\"svg\"]');\n        if (typeof library2.mutator === \"function\") {\n          library2.mutator(svg, this);\n        }\n        return this.svg;\n      }\n      try {\n        fileData = await fetch(url, { mode: \"cors\" });\n        if (!fileData.ok) {\n          return fileData.status === 410 ? CACHEABLE_ERROR : RETRYABLE_ERROR;\n        }\n      } catch {\n        return RETRYABLE_ERROR;\n      }\n      try {\n        const div = document.createElement(\"div\");\n        div.innerHTML = await fileData.text();\n        const svg = div.firstElementChild;\n        if (svg?.tagName?.toLowerCase() !== \"svg\") {\n          return CACHEABLE_ERROR;\n        }\n        if (!parser) {\n          parser = new DOMParser();\n        }\n        const doc = parser.parseFromString(svg.outerHTML, \"text/html\");\n        const svgElement = doc.body.querySelector(\"svg\");\n        if (!svgElement) {\n          return CACHEABLE_ERROR;\n        }\n        svgElement.part.add(\"svg\");\n        return document.adoptNode(svgElement);\n      } catch {\n        return CACHEABLE_ERROR;\n      }\n    };\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    watchIcon(this);\n  }\n  firstUpdated(changedProperties) {\n    super.firstUpdated(changedProperties);\n    this.setIcon();\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    unwatchIcon(this);\n  }\n  getIconSource() {\n    const library2 = getIconLibrary(this.library);\n    if (this.name && library2) {\n      return {\n        url: library2.resolver(\n          this.name,\n          this.iconStyle,\n          this.autoWidth\n        ),\n        fromLibrary: true\n      };\n    }\n    return {\n      url: this.src,\n      fromLibrary: false\n    };\n  }\n  handleLabelChange() {\n    const hasLabel = typeof this.label === \"string\" && this.label.length > 0;\n    if (hasLabel) {\n      this.setAttribute(\"role\", \"img\");\n      this.setAttribute(\"aria-label\", this.label);\n      this.removeAttribute(\"aria-hidden\");\n    } else {\n      this.removeAttribute(\"role\");\n      this.removeAttribute(\"aria-label\");\n      this.setAttribute(\"aria-hidden\", \"true\");\n    }\n  }\n  async setIcon() {\n    const { url, fromLibrary } = this.getIconSource();\n    const library2 = fromLibrary ? getIconLibrary(this.library) : void 0;\n    if (!url) {\n      this.svg = null;\n      return;\n    }\n    let iconResolver = iconCache.get(url);\n    if (!iconResolver) {\n      iconResolver = this.resolveIcon(url, library2);\n      iconCache.set(url, iconResolver);\n    }\n    const svg = await iconResolver;\n    if (svg === RETRYABLE_ERROR) {\n      iconCache.delete(url);\n    }\n    if (url !== this.getIconSource().url) {\n      return;\n    }\n    switch (svg) {\n      case RETRYABLE_ERROR:\n      case CACHEABLE_ERROR:\n        this.svg = null;\n        this.dispatchEvent(new PcErrorEvent());\n        break;\n      default:\n        this.svg = svg.cloneNode(true);\n        library2?.mutator?.(this.svg, this);\n        this.dispatchEvent(new PcLoadEvent());\n    }\n  }\n  updated(changedProperties) {\n    super.updated(changedProperties);\n    const library2 = getIconLibrary(this.library);\n    const svg = this.shadowRoot?.querySelector(\"svg\");\n    if (svg) {\n      library2?.mutator?.(svg, this);\n    }\n  }\n  render() {\n    if (this.hasUpdated) {\n      return this.svg;\n    }\n    return x`\n            <svg part=\"svg\" width=\"16\" height=\"16\" fill=\"currentColor\"></svg>\n        `;\n  }\n};\nPcIcon.css = icon_default;\n__decorateClass([\n  r5()\n], PcIcon.prototype, \"svg\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcIcon.prototype, \"name\", 2);\n__decorateClass([\n  n4({ attribute: \"icon-style\", reflect: true })\n], PcIcon.prototype, \"iconStyle\", 2);\n__decorateClass([\n  n4({ attribute: \"auto-width\", type: Boolean, reflect: true })\n], PcIcon.prototype, \"autoWidth\", 2);\n__decorateClass([\n  n4({ attribute: \"swap-opacity\", type: Boolean, reflect: true })\n], PcIcon.prototype, \"swapOpacity\", 2);\n__decorateClass([\n  n4()\n], PcIcon.prototype, \"src\", 2);\n__decorateClass([\n  n4()\n], PcIcon.prototype, \"label\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcIcon.prototype, \"library\", 2);\n__decorateClass([\n  watch(\"label\")\n], PcIcon.prototype, \"handleLabelChange\", 1);\n__decorateClass([\n  watch([\"library\", \"iconStyle\", \"name\", \"src\", \"autoWidth\", \"swapOpacity\"])\n], PcIcon.prototype, \"setIcon\", 1);\nPcIcon = __decorateClass([\n  t3(\"pc-icon\")\n], PcIcon);\n\n// src/components/avatar/avatar.css\nvar avatar_default = \":host {\\n    --size: 3rem;\\n\\n    display: inline-block;\\n}\\n\\n.avatar {\\n    display: inline-flex;\\n    position: relative;\\n    align-items: center;\\n    justify-content: center;\\n    inline-size: var(--size);\\n    block-size: var(--size);\\n    background-color: var(--pc-color-neutral-fill-normal);\\n    color: var(--pc-color-neutral-on-normal);\\n    font-family: var(--pc-font-sans);\\n    font-size: calc(var(--size) * 0.4);\\n    font-weight: var(--pc-font-weight-bold);\\n    user-select: none;\\n    -webkit-user-select: none;\\n    vertical-align: middle;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n.circle,\\n.circle .image {\\n    border-radius: var(--pc-border-radius-circle);\\n}\\n\\n.rounded,\\n.rounded .image {\\n    border-radius: var(--pc-border-radius-m);\\n}\\n\\n.square {\\n    border-radius: 0;\\n}\\n\\n.icon {\\n    display: flex;\\n    position: absolute;\\n    align-items: center;\\n    justify-content: center;\\n    inset-block-start: 0;\\n    inset-inline-start: 0;\\n    inline-size: 100%;\\n    block-size: 100%;\\n}\\n\\n.initials {\\n    line-height: 1;\\n    text-transform: uppercase;\\n}\\n\\n.image {\\n    position: absolute;\\n    inset-block-start: 0;\\n    inset-inline-start: 0;\\n    inline-size: 100%;\\n    block-size: 100%;\\n    object-fit: cover;\\n    overflow: hidden;\\n}\\n\";\n\n// src/components/avatar/avatar.ts\nvar PcAvatar = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.hasError = false;\n    this.image = \"\";\n    this.label = \"\";\n    this.initials = \"\";\n    this.loading = \"eager\";\n    this.shape = \"circle\";\n  }\n  handleImageChange() {\n    this.hasError = false;\n  }\n  handleImageLoadError() {\n    this.hasError = true;\n    this.dispatchEvent(new PcErrorEvent());\n  }\n  render() {\n    const avatarWithImage = x`\n            <img\n                class=\"image\"\n                part=\"image\"\n                src=${this.image}\n                loading=${this.loading}\n                alt=\"\"\n                @error=${this.handleImageLoadError}\n            />\n        `;\n    let avatarWithoutImage = x``;\n    if (this.initials) {\n      avatarWithoutImage = x`\n                <div class=\"initials\">${this.initials}</div>\n            `;\n    } else {\n      avatarWithoutImage = x`\n                <div class=\"icon\" part=\"icon\" aria-hidden=\"true\">\n                    <slot name=\"icon\">\n                        <pc-icon\n                            library=\"system\"\n                            icon-style=\"solid\"\n                            name=\"user\"\n                        ></pc-icon>\n                    </slot>\n                </div>\n            `;\n    }\n    return x`\n            <div\n                part=\"base\"\n                class=${e7({\n      avatar: true,\n      circle: this.shape === \"circle\",\n      rounded: this.shape === \"rounded\",\n      square: this.shape === \"square\"\n    })}\n                role=\"img\"\n                aria-label=${this.label}\n            >\n                ${this.image && !this.hasError ? avatarWithImage : avatarWithoutImage}\n            </div>\n        `;\n  }\n};\nPcAvatar.css = avatar_default;\n__decorateClass([\n  r5()\n], PcAvatar.prototype, \"hasError\", 2);\n__decorateClass([\n  n4()\n], PcAvatar.prototype, \"image\", 2);\n__decorateClass([\n  n4()\n], PcAvatar.prototype, \"label\", 2);\n__decorateClass([\n  n4()\n], PcAvatar.prototype, \"initials\", 2);\n__decorateClass([\n  n4()\n], PcAvatar.prototype, \"loading\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcAvatar.prototype, \"shape\", 2);\n__decorateClass([\n  watch(\"image\")\n], PcAvatar.prototype, \"handleImageChange\", 1);\nPcAvatar = __decorateClass([\n  t3(\"pc-avatar\")\n], PcAvatar);\n\n// src/styles/utilities/appearance.css\nvar appearance_default = '@layer pc-utilities {\\n    :where(:root),\\n    :host([appearance=\"neutral\"]) {\\n        --pc-color-fill-loud: var(--pc-color-neutral-fill-loud);\\n        --pc-color-fill-normal: var(--pc-color-neutral-fill-normal);\\n        --pc-color-fill-quiet: var(--pc-color-neutral-fill-quiet);\\n        --pc-color-border-loud: var(--pc-color-neutral-border-loud);\\n        --pc-color-border-normal: var(--pc-color-neutral-border-normal);\\n        --pc-color-border-quiet: var(--pc-color-neutral-border-quiet);\\n        --pc-color-on-loud: var(--pc-color-neutral-on-loud);\\n        --pc-color-on-normal: var(--pc-color-neutral-on-normal);\\n        --pc-color-on-quiet: var(--pc-color-neutral-on-quiet);\\n    }\\n\\n    :host([appearance=\"primary\"]) {\\n        --pc-color-fill-loud: var(--pc-color-primary-fill-loud);\\n        --pc-color-fill-normal: var(--pc-color-primary-fill-normal);\\n        --pc-color-fill-quiet: var(--pc-color-primary-fill-quiet);\\n        --pc-color-border-loud: var(--pc-color-primary-border-loud);\\n        --pc-color-border-normal: var(--pc-color-primary-border-normal);\\n        --pc-color-border-quiet: var(--pc-color-primary-border-quiet);\\n        --pc-color-on-loud: var(--pc-color-primary-on-loud);\\n        --pc-color-on-normal: var(--pc-color-primary-on-normal);\\n        --pc-color-on-quiet: var(--pc-color-primary-on-quiet);\\n    }\\n\\n    :host([appearance=\"success\"]) {\\n        --pc-color-fill-loud: var(--pc-color-success-fill-loud);\\n        --pc-color-fill-normal: var(--pc-color-success-fill-normal);\\n        --pc-color-fill-quiet: var(--pc-color-success-fill-quiet);\\n        --pc-color-border-loud: var(--pc-color-success-border-loud);\\n        --pc-color-border-normal: var(--pc-color-success-border-normal);\\n        --pc-color-border-quiet: var(--pc-color-success-border-quiet);\\n        --pc-color-on-loud: var(--pc-color-success-on-loud);\\n        --pc-color-on-normal: var(--pc-color-success-on-normal);\\n        --pc-color-on-quiet: var(--pc-color-success-on-quiet);\\n    }\\n\\n    :host([appearance=\"warning\"]) {\\n        --pc-color-fill-loud: var(--pc-color-warning-fill-loud);\\n        --pc-color-fill-normal: var(--pc-color-warning-fill-normal);\\n        --pc-color-fill-quiet: var(--pc-color-warning-fill-quiet);\\n        --pc-color-border-loud: var(--pc-color-warning-border-loud);\\n        --pc-color-border-normal: var(--pc-color-warning-border-normal);\\n        --pc-color-border-quiet: var(--pc-color-warning-border-quiet);\\n        --pc-color-on-loud: var(--pc-color-warning-on-loud);\\n        --pc-color-on-normal: var(--pc-color-warning-on-normal);\\n        --pc-color-on-quiet: var(--pc-color-warning-on-quiet);\\n    }\\n\\n    :host([appearance=\"danger\"]) {\\n        --pc-color-fill-loud: var(--pc-color-danger-fill-loud);\\n        --pc-color-fill-normal: var(--pc-color-danger-fill-normal);\\n        --pc-color-fill-quiet: var(--pc-color-danger-fill-quiet);\\n        --pc-color-border-loud: var(--pc-color-danger-border-loud);\\n        --pc-color-border-normal: var(--pc-color-danger-border-normal);\\n        --pc-color-border-quiet: var(--pc-color-danger-border-quiet);\\n        --pc-color-on-loud: var(--pc-color-danger-on-loud);\\n        --pc-color-on-normal: var(--pc-color-danger-on-normal);\\n        --pc-color-on-quiet: var(--pc-color-danger-on-quiet);\\n    }\\n}\\n';\n\n// src/components/badge/badge.css\nvar badge_default = ':host {\\n    display: inline-flex;\\n    align-items: center;\\n    justify-content: center;\\n    padding: 0.125em 0.625em;\\n    font-family: var(--pc-font-sans);\\n    font-size: var(--pc-font-size-xs);\\n    font-weight: var(--pc-font-weight-bold);\\n    --pulse-color: var(--pc-color-fill-loud);\\n    background-color: var(--pc-color-fill-loud);\\n    color: var(--pc-color-on-loud);\\n    border: var(--pc-border-width-s) var(--pc-border-style) transparent;\\n    border-radius: var(--pc-border-radius-pill);\\n    user-select: none;\\n    -webkit-user-select: none;\\n    cursor: inherit;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n:host([variant~=\"accent\"]) {\\n    --pulse-color: var(--pc-color-fill-loud);\\n    background-color: var(--pc-color-fill-loud);\\n    color: var(--pc-color-on-loud);\\n    border-color: transparent;\\n}\\n\\n:host([variant~=\"outlined\"]) {\\n    --pulse-color: var(--pc-color-fill-quiet);\\n    background-color: transparent;\\n    color: var(--pc-color-on-quiet);\\n    border-color: var(--pc-color-border-loud);\\n}\\n\\n:host([variant~=\"filled\"]) {\\n    --pulse-color: var(--pc-color-fill-normal);\\n    background-color: var(--pc-color-fill-normal);\\n    color: var(--pc-color-on-normal);\\n    border-color: transparent;\\n}\\n\\n:host([variant~=\"filled\"][variant~=\"outlined\"]) {\\n    border-color: var(--pc-color-border-normal);\\n}\\n\\n:host([variant~=\"plain\"]) {\\n    --pulse-color: var(--pc-color-fill-quiet);\\n    background-color: transparent;\\n    color: var(--pc-color-on-quiet);\\n    border-color: transparent;\\n}\\n\\n:host([rounded]) {\\n    border-radius: var(--pc-border-radius-s);\\n}\\n\\n:host([pulse]) {\\n    animation: pulse 1.5s cubic-bezier(0, 0.55, 0.45, 1) infinite;\\n}\\n\\n@keyframes pulse {\\n    0% {\\n        box-shadow: 0 0 0 0 var(--pulse-color);\\n    }\\n\\n    70% {\\n        box-shadow: 0 0 0 0.5rem transparent;\\n    }\\n\\n    100% {\\n        box-shadow: 0 0 0 0 transparent;\\n    }\\n}\\n';\n\n// src/components/badge/badge.ts\nvar PcBadge = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.appearance = \"primary\";\n    this.variant = \"accent\";\n    this.rounded = false;\n    this.pulse = false;\n  }\n  render() {\n    return x`<slot part=\"base\" role=\"status\"></slot>`;\n  }\n};\nPcBadge.css = [appearance_default, badge_default];\n__decorateClass([\n  n4({ reflect: true })\n], PcBadge.prototype, \"appearance\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcBadge.prototype, \"variant\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcBadge.prototype, \"rounded\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcBadge.prototype, \"pulse\", 2);\nPcBadge = __decorateClass([\n  t3(\"pc-badge\")\n], PcBadge);\n\n// src/events/pc-invalid.ts\nvar PcInvalidEvent = class extends Event {\n  constructor() {\n    super(\"pc-invalid\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n  }\n};\n\n// src/internal/validators/custom-error-validator.ts\nvar CustomErrorValidator = () => {\n  return {\n    observedAttributes: [\"custom-error\"],\n    checkValidity(element) {\n      const validity = {\n        message: \"\",\n        isValid: true,\n        invalidKeys: []\n      };\n      if (element.customError) {\n        validity.message = element.customError;\n        validity.isValid = false;\n        validity.invalidKeys = [\"customError\"];\n      }\n      return validity;\n    }\n  };\n};\n\n// src/internal/placer-form-associated-element.ts\nvar PlacerFormAssociatedElement = class extends PlacerElement {\n  constructor() {\n    super();\n    this.name = null;\n    this.disabled = false;\n    this.required = false;\n    this.assumeInteractionOn = [\"input\"];\n    this.validators = [];\n    this.valueHasChanged = false;\n    this.hasInteracted = false;\n    this.customError = null;\n    this.emittedEvents = [];\n    this.emitInvalid = (event) => {\n      if (event.target !== this) {\n        return;\n      }\n      this.hasInteracted = true;\n      this.dispatchEvent(new PcInvalidEvent());\n    };\n    this.handleInteraction = (event) => {\n      const emittedEvents = this.emittedEvents;\n      if (!emittedEvents.includes(event.type)) {\n        emittedEvents.push(event.type);\n      }\n      if (emittedEvents.length === this.assumeInteractionOn?.length) {\n        this.hasInteracted = true;\n      }\n    };\n    this.addEventListener(\"invalid\", this.emitInvalid);\n  }\n  /** Validators are static because they have `observedAttributes`, essentially attributes to “watch” for changes. Whenever these attributes change, we want to be notified and update the validator. */\n  static get validators() {\n    return [CustomErrorValidator()];\n  }\n  static get observedAttributes() {\n    const parentAttributes = new Set(super.observedAttributes || []);\n    for (const validator of this.validators) {\n      if (!validator.observedAttributes) {\n        continue;\n      }\n      for (const attr of validator.observedAttributes) {\n        parentAttributes.add(attr);\n      }\n    }\n    return [...parentAttributes];\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.updateValidity();\n    this.assumeInteractionOn.forEach((event) => {\n      this.addEventListener(event, this.handleInteraction);\n    });\n  }\n  firstUpdated(...args) {\n    super.firstUpdated(...args);\n    this.updateValidity();\n  }\n  willUpdate(changedProperties) {\n    if (changedProperties.has(\"customError\")) {\n      if (!this.customError) {\n        this.customError = null;\n      }\n      this.setCustomValidity(this.customError || \"\");\n    }\n    if (changedProperties.has(\"value\") || changedProperties.has(\"disabled\")) {\n      const value = this.value;\n      if (Array.isArray(value)) {\n        if (this.name) {\n          const formData = new FormData();\n          for (const val of value) {\n            formData.append(this.name, val);\n          }\n          this.setValue(formData, formData);\n        }\n      } else {\n        this.setValue(\n          value,\n          value\n        );\n      }\n    }\n    if (changedProperties.has(\"disabled\")) {\n      this.customStates.set(\"disabled\", this.disabled);\n      if (this.hasAttribute(\"disabled\") || !this.matches(\":disabled\")) {\n        this.toggleAttribute(\"disabled\", this.disabled);\n      }\n    }\n    this.updateValidity();\n    super.willUpdate(changedProperties);\n  }\n  get labels() {\n    return this.internals.labels;\n  }\n  getForm() {\n    return this.internals.form;\n  }\n  /** By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you to place the form control outside of a form and associate it with the form that has this `id`. The form must be in the same document or shadow root for this to work. */\n  set form(value) {\n    if (value) {\n      this.setAttribute(\"form\", value);\n    } else {\n      this.removeAttribute(\"form\");\n    }\n  }\n  get form() {\n    return this.internals.form;\n  }\n  get validity() {\n    return this.internals.validity;\n  }\n  get willValidate() {\n    return this.internals.willValidate;\n  }\n  get validationMessage() {\n    return this.internals.validationMessage;\n  }\n  checkValidity() {\n    this.updateValidity();\n    return this.internals.checkValidity();\n  }\n  reportValidity() {\n    this.updateValidity();\n    this.hasInteracted = true;\n    return this.internals.reportValidity();\n  }\n  get validationTarget() {\n    return this.input || void 0;\n  }\n  setValidity(...args) {\n    const flags = args[0];\n    const message = args[1];\n    let anchor = args[2];\n    if (!anchor) {\n      anchor = this.validationTarget;\n    }\n    this.internals.setValidity(flags, message, anchor || void 0);\n    this.requestUpdate(\"validity\");\n    this.setCustomStates();\n  }\n  setCustomStates() {\n    const required = Boolean(this.required);\n    const isValid = this.internals.validity.valid;\n    const hasInteracted = this.hasInteracted;\n    this.customStates.set(\"required\", required);\n    this.customStates.set(\"optional\", !required);\n    this.customStates.set(\"invalid\", !isValid);\n    this.customStates.set(\"valid\", isValid);\n    this.customStates.set(\"user-invalid\", !isValid && hasInteracted);\n    this.customStates.set(\"user-valid\", isValid && hasInteracted);\n  }\n  setCustomValidity(message) {\n    if (!message) {\n      this.customError = null;\n      this.setValidity({});\n      return;\n    }\n    this.customError = message;\n    this.setValidity({ customError: true }, message, this.validationTarget);\n  }\n  formResetCallback() {\n    this.resetValidity();\n    this.hasInteracted = false;\n    this.valueHasChanged = false;\n    this.emittedEvents = [];\n    this.updateValidity();\n  }\n  formDisabledCallback(isDisabled) {\n    this.disabled = isDisabled;\n    this.updateValidity();\n  }\n  /** Called when the browser is trying to restore element’s state to `state` in which case reason is `restore`, or when the browser is trying to fulfil autofill on behalf of user in which case reason is `autocomplete`. In the case of `restore`, `state` is a `string`, `File` or `FormData` object previously set as the second argument to `setFormValue`. */\n  formStateRestoreCallback(state, reason) {\n    this.value = state;\n    if (reason === \"restore\") {\n      this.resetValidity();\n    }\n    this.updateValidity();\n  }\n  setValue(...args) {\n    const [value, state] = args;\n    this.internals.setFormValue(value, state);\n  }\n  get allValidators() {\n    const staticValidators = this.constructor.validators || [];\n    const validators = this.validators || [];\n    return [...staticValidators, ...validators];\n  }\n  /** Resetting validity is a way of removing manual custom errors and native validation. */\n  resetValidity() {\n    this.setCustomValidity(\"\");\n    this.setValidity({});\n  }\n  updateValidity() {\n    if (this.disabled || this.hasAttribute(\"disabled\") || !this.willValidate) {\n      this.resetValidity();\n      return;\n    }\n    const validators = this.allValidators;\n    if (!validators?.length) {\n      return;\n    }\n    const flags = {\n      customError: Boolean(this.customError)\n    };\n    const formControl = this.validationTarget || this.input || void 0;\n    let finalMessage = \"\";\n    for (const validator of validators) {\n      const { isValid, message, invalidKeys } = validator.checkValidity(this);\n      if (isValid) {\n        continue;\n      }\n      if (!finalMessage) {\n        finalMessage = message;\n      }\n      if (invalidKeys?.length >= 0) {\n        invalidKeys.forEach(\n          (str) => flags[str] = true\n        );\n      }\n    }\n    if (!finalMessage) {\n      finalMessage = this.validationMessage;\n    }\n    this.setValidity(flags, finalMessage, formControl);\n  }\n};\nPlacerFormAssociatedElement.formAssociated = true;\n__decorateClass([\n  n4({ reflect: true })\n], PlacerFormAssociatedElement.prototype, \"name\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PlacerFormAssociatedElement.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ state: true, attribute: false })\n], PlacerFormAssociatedElement.prototype, \"valueHasChanged\", 2);\n__decorateClass([\n  n4({ state: true, attribute: false })\n], PlacerFormAssociatedElement.prototype, \"hasInteracted\", 2);\n__decorateClass([\n  n4({ attribute: \"custom-error\", reflect: true })\n], PlacerFormAssociatedElement.prototype, \"customError\", 2);\n__decorateClass([\n  n4({ attribute: false, state: true, type: Object })\n], PlacerFormAssociatedElement.prototype, \"validity\", 1);\n\n// node_modules/lit-html/directives/if-defined.js\nvar o6 = (o9) => o9 ?? E;\n\n// src/internal/slot.ts\nvar HasSlotController = class {\n  constructor(host, ...slotNames) {\n    this.slotNames = [];\n    this.handleSlotChange = (event) => {\n      const slot = event.target;\n      if (this.slotNames.includes(\"[default]\") && !slot.name || slot.name && this.slotNames.includes(slot.name)) {\n        this.host.requestUpdate();\n      }\n    };\n    (this.host = host).addController(this);\n    this.slotNames = slotNames;\n  }\n  hasDefaultSlot() {\n    return Array.from(this.host.childNodes).some((node) => {\n      if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== \"\") {\n        return true;\n      }\n      if (node.nodeType === node.ELEMENT_NODE) {\n        const element = node;\n        const tagName = element.tagName.toLowerCase();\n        if (!element.hasAttribute(\"slot\")) {\n          return true;\n        }\n      }\n      return false;\n    });\n  }\n  hasNamedSlot(name) {\n    return this.host.querySelector(`:scope > [slot=\"${name}\"]`) !== null;\n  }\n  test(slotName) {\n    return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n  }\n  hostConnected() {\n    this.host.shadowRoot.addEventListener(\n      \"slotchange\",\n      this.handleSlotChange\n    );\n  }\n  hostDisconnected() {\n    this.host.shadowRoot.removeEventListener(\n      \"slotchange\",\n      this.handleSlotChange\n    );\n  }\n};\n\n// src/internal/validators/mirror-validator.ts\nvar MirrorValidator = () => {\n  return {\n    checkValidity(element) {\n      const formControl = element.input;\n      const validity = {\n        message: \"\",\n        isValid: true,\n        invalidKeys: []\n      };\n      if (!formControl) {\n        return validity;\n      }\n      let isValid = true;\n      if (\"checkValidity\" in formControl) {\n        isValid = formControl.checkValidity();\n      }\n      if (isValid) {\n        return validity;\n      }\n      validity.isValid = false;\n      if (\"validationMessage\" in formControl) {\n        validity.message = formControl.validationMessage;\n      }\n      if (!(\"validity\" in formControl)) {\n        validity.invalidKeys.push(\"customError\");\n        return validity;\n      }\n      for (const key in formControl.validity) {\n        if (key === \"valid\") {\n          continue;\n        }\n        const checkedKey = key;\n        if (formControl.validity[checkedKey]) {\n          validity.invalidKeys.push(checkedKey);\n        }\n      }\n      return validity;\n    }\n  };\n};\n\n// src/styles/utilities/size.css\nvar size_default = '@layer pc-utilities {\\n    :host([size=\"small\"]),\\n    .pc-size-s {\\n        font-size: var(--pc-font-size-s);\\n    }\\n\\n    :host([size=\"medium\"]),\\n    .pc-size-m {\\n        font-size: var(--pc-font-size-m);\\n    }\\n\\n    :host([size=\"large\"]),\\n    .pc-size-l {\\n        font-size: var(--pc-font-size-l);\\n    }\\n}\\n';\n\n// src/components/button/button.css\nvar button_default = ':host {\\n    display: inline-block;\\n    position: relative;\\n}\\n\\n.button {\\n    display: inline-flex;\\n    align-items: center;\\n    justify-content: center;\\n    inline-size: 100%;\\n    block-size: var(--pc-form-control-height);\\n    background-color: var(--pc-color-fill-loud);\\n    color: var(--pc-color-on-loud);\\n    border: var(--pc-border-width-s) var(--pc-border-style) transparent;\\n    border-radius: var(--pc-form-control-border-radius);\\n    padding: 0 var(--pc-form-control-padding-inline);\\n    box-sizing: border-box;\\n    font-family: inherit;\\n    font-size: inherit;\\n    font-weight: var(--pc-font-weight-bold);\\n    line-height: calc(var(--pc-form-control-height) - var(--border-width) * 2);\\n    vertical-align: middle;\\n    white-space: nowrap;\\n    user-select: none;\\n    -webkit-user-select: none;\\n    cursor: pointer;\\n    text-align: center;\\n    text-decoration: none;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n.button::-moz-focus-inner {\\n    border: 0;\\n}\\n\\n.button:focus {\\n    outline: none;\\n}\\n\\n.button:focus-visible {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.prefix,\\n.suffix {\\n    display: flex;\\n    align-items: center;\\n    pointer-events: none;\\n}\\n\\n.prefix::slotted(*) {\\n    margin-inline-end: 0.75em;\\n}\\n\\n.suffix::slotted(*) {\\n    margin-inline-start: 0.75em;\\n}\\n\\n.label {\\n    display: flex;\\n    transition: color var(--pc-transition-fast) ease-in-out;\\n}\\n\\n.label::slotted(pc-icon) {\\n    align-self: center;\\n}\\n\\n:host([pill]) .button {\\n    border-radius: var(--pc-border-radius-pill);\\n}\\n\\n.disabled {\\n    opacity: 0.5;\\n    cursor: not-allowed;\\n}\\n\\n.disabled * {\\n    pointer-events: none;\\n}\\n\\n.icon-button {\\n    aspect-ratio: 1 / 1;\\n    inline-size: var(--pc-form-control-height);\\n}\\n\\n:host([variant~=\"accent\"]) {\\n    .button {\\n        background-color: var(--pc-color-fill-loud);\\n        color: var(--pc-color-on-loud);\\n        border-color: transparent;\\n    }\\n\\n    @media (hover: hover) {\\n        .button:not(.disabled):hover {\\n            background-color: color-mix(\\n                in oklab,\\n                var(--pc-color-fill-loud),\\n                var(--pc-color-mix-hover)\\n            );\\n        }\\n    }\\n\\n    .button:not(.disabled):active {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-color-fill-loud),\\n            var(--pc-color-mix-active)\\n        );\\n    }\\n}\\n\\n:host([variant~=\"outlined\"]) {\\n    .button {\\n        background-color: transparent;\\n        color: var(--pc-color-on-quiet);\\n        border-color: var(--pc-color-border-loud);\\n    }\\n\\n    @media (hover: hover) {\\n        .button:not(.disabled):hover {\\n            background-color: color-mix(\\n                in oklab,\\n                var(--pc-color-fill-quiet),\\n                var(--pc-color-mix-hover)\\n            );\\n            color: var(--pc-color-on-quiet);\\n        }\\n    }\\n\\n    .button:not(.disabled):active {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-color-fill-quiet),\\n            var(--pc-color-mix-active)\\n        );\\n        color: var(--pc-color-on-quiet);\\n    }\\n}\\n\\n:host([variant~=\"filled\"]) {\\n    .button {\\n        background-color: var(--pc-color-fill-normal);\\n        color: var(--pc-color-on-normal);\\n        border-color: transparent;\\n    }\\n\\n    @media (hover: hover) {\\n        .button:not(.disabled):hover {\\n            background-color: color-mix(\\n                in oklab,\\n                var(--pc-color-fill-normal),\\n                var(--pc-color-mix-hover)\\n            );\\n        }\\n    }\\n\\n    .button:not(.disabled):active {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-color-fill-normal),\\n            var(--pc-color-mix-active)\\n        );\\n    }\\n}\\n\\n:host([variant~=\"filled\"][variant~=\"outlined\"]) .button {\\n    border-color: var(--pc-color-border-normal);\\n}\\n\\n:host([variant~=\"plain\"]) {\\n    .button {\\n        background-color: transparent;\\n        color: var(--pc-color-on-quiet);\\n        border-color: transparent;\\n    }\\n\\n    @media (hover: hover) {\\n        .button:not(.disabled):hover {\\n            background-color: color-mix(\\n                in oklab,\\n                var(--pc-color-fill-quiet),\\n                var(--pc-color-mix-hover)\\n            );\\n            color: var(--pc-color-on-quiet);\\n        }\\n    }\\n\\n    .button:not(.disabled):active {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-color-fill-quiet),\\n            var(--pc-color-mix-active)\\n        );\\n        color: var(--pc-color-on-quiet);\\n    }\\n}\\n\\n:host(\\n        .pc-button-group-horizontal.pc-button-group-button-first:not(\\n                .pc-button-group-button-last\\n            )\\n    )\\n    .button {\\n    border-start-end-radius: 0;\\n    border-end-end-radius: 0;\\n}\\n\\n:host(\\n        .pc-button-group-horizontal.pc-button-group-button-last:not(\\n                .pc-button-group-button-first\\n            )\\n    )\\n    .button {\\n    border-start-start-radius: 0;\\n    border-end-start-radius: 0;\\n}\\n\\n:host(\\n        .pc-button-group-vertical.pc-button-group-button-first:not(\\n                .pc-button-group-button-last\\n            )\\n    )\\n    .button {\\n    border-end-start-radius: 0;\\n    border-end-end-radius: 0;\\n}\\n\\n:host(\\n        .pc-button-group-vertical.pc-button-group-button-last:not(\\n                .pc-button-group-button-first\\n            )\\n    )\\n    .button {\\n    border-start-start-radius: 0;\\n    border-start-end-radius: 0;\\n}\\n\\n:host(.pc-button-group-button-inner) .button {\\n    border-radius: 0;\\n}\\n\\n:host(.pc-button-group-button-hover),\\n:host(.pc-button-group-button-focus) {\\n    z-index: 1;\\n}\\n\\n:host(.pc-button-group-button[checked]) {\\n    z-index: 2;\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n';\n\n// src/components/button/button.ts\nvar PcButton = class extends PlacerFormAssociatedElement {\n  constructor() {\n    super(...arguments);\n    this.assumeInteractionOn = [\"click\"];\n    this.hasSlotController = new HasSlotController(\n      this,\n      \"[default]\",\n      \"prefix\",\n      \"suffix\"\n    );\n    this.hasFocus = false;\n    this.isIconButton = false;\n    this.invalid = false;\n    this.title = \"\";\n    this.appearance = \"neutral\";\n    this.variant = \"accent\";\n    this.size = \"medium\";\n    this.disabled = false;\n    this.pill = false;\n    this.type = \"button\";\n    this.name = \"\";\n    this.value = \"\";\n    this.href = \"\";\n    this.rel = \"noreferrer noopener\";\n  }\n  static get validators() {\n    return [...super.validators, MirrorValidator()];\n  }\n  constructLightDOMButton() {\n    const button = document.createElement(\"button\");\n    for (const attribute of this.attributes) {\n      if (attribute.name === \"style\") {\n        continue;\n      }\n      button.setAttribute(attribute.name, attribute.value);\n    }\n    button.hidden = true;\n    button.type = this.type;\n    if (this.name) {\n      button.name = this.name;\n    }\n    button.value = this.value || \"\";\n    return button;\n  }\n  handleClick(event) {\n    if (this.disabled) {\n      event.preventDefault();\n      event.stopImmediatePropagation();\n      return;\n    }\n    if (this.type !== \"submit\" && this.type !== \"reset\") {\n      return;\n    }\n    const form = this.getForm();\n    if (!form) {\n      return;\n    }\n    const lightDOMButton = this.constructLightDOMButton();\n    this.parentElement?.append(lightDOMButton);\n    lightDOMButton.click();\n    lightDOMButton.remove();\n  }\n  handleInvalid() {\n    this.dispatchEvent(new PcInvalidEvent());\n  }\n  handleLabelSlotChange() {\n    const nodes = this.labelSlot.assignedNodes({ flatten: true });\n    let hasIconLabel = false;\n    let hasIcon = false;\n    let hasText = false;\n    let hasOtherElements = false;\n    [...nodes].forEach((node) => {\n      if (node.nodeType === Node.ELEMENT_NODE) {\n        const element = node;\n        if (element.localName === \"pc-icon\") {\n          hasIcon = true;\n          if (!hasIconLabel) {\n            hasIconLabel = element.label !== void 0;\n          }\n        } else {\n          hasOtherElements = true;\n        }\n      } else if (node.nodeType === Node.TEXT_NODE) {\n        const text = node.textContent?.trim() || \"\";\n        if (text.length > 0) {\n          hasText = true;\n        }\n      }\n    });\n    this.isIconButton = hasIcon && !hasText && !hasOtherElements;\n    if (this.isIconButton && !hasIconLabel) {\n      console.warn(\n        `<pc-icon> is missing an accessible label. Add a label attribute/property to help screen reader users. ${this}`\n      );\n    }\n  }\n  isButton() {\n    return this.href ? false : true;\n  }\n  isLink() {\n    return this.href ? true : false;\n  }\n  handleDisabledChange() {\n    this.updateValidity();\n  }\n  setValue(..._args) {\n  }\n  /** Simulates a click on the button. */\n  click() {\n    this.button.click();\n  }\n  /** Focuses the button. */\n  focus(options) {\n    this.button.focus(options);\n  }\n  /** Unfocuses the button (i.e., blurs it). */\n  blur() {\n    this.button.blur();\n  }\n  render() {\n    const isLink = this.isLink();\n    if (isLink) {\n      return x`\n                <a\n                    part=\"base\"\n                    class=${e7({\n        \"button\": true,\n        \"disabled\": this.disabled,\n        \"focused\": this.hasFocus,\n        \"icon-button\": this.isIconButton,\n        \"has-label\": this.hasSlotController.test(\"[default]\"),\n        \"has-prefix\": this.hasSlotController.test(\"prefix\"),\n        \"has-suffix\": this.hasSlotController.test(\"suffix\")\n      })}\n                    href=${o6(!this.disabled ? this.href : void 0)}\n                    target=${o6(this.target)}\n                    download=${o6(this.download)}\n                    rel=${o6(this.rel)}\n                    aria-disabled=${this.disabled ? \"true\" : \"false\"}\n                    tabindex=${this.disabled ? \"-1\" : \"0\"}\n                    @click=${this.handleClick}\n                >\n                    <slot class=\"prefix\" part=\"prefix\" name=\"prefix\"></slot>\n                    <slot\n                        class=\"label\"\n                        part=\"label\"\n                        @slotchange=${this.handleLabelSlotChange}\n                    ></slot>\n                    <slot class=\"suffix\" part=\"suffix\" name=\"suffix\"></slot>\n                </a>\n            `;\n    } else {\n      return x`\n                <button\n                    part=\"base\"\n                    class=${e7({\n        \"button\": true,\n        \"disabled\": this.disabled,\n        \"focused\": this.hasFocus,\n        \"icon-button\": this.isIconButton,\n        \"has-label\": this.hasSlotController.test(\"[default]\"),\n        \"has-prefix\": this.hasSlotController.test(\"prefix\"),\n        \"has-suffix\": this.hasSlotController.test(\"suffix\")\n      })}\n                    type=${this.type}\n                    title=${this.title}\n                    name=${this.name}\n                    value=${this.value}\n                    role=\"button\"\n                    aria-disabled=${this.disabled ? \"true\" : \"false\"}\n                    tabindex=${this.disabled ? \"-1\" : \"0\"}\n                    @click=${this.handleClick}\n                    @invalid=${this.handleInvalid}\n                >\n                    <slot class=\"prefix\" part=\"prefix\" name=\"prefix\"></slot>\n                    <slot\n                        class=\"label\"\n                        part=\"label\"\n                        @slotchange=${this.handleLabelSlotChange}\n                    ></slot>\n                    <slot class=\"suffix\" part=\"suffix\" name=\"suffix\"></slot>\n                </button>\n            `;\n    }\n  }\n};\nPcButton.shadowRootOptions = {\n  ...PlacerFormAssociatedElement.shadowRootOptions,\n  delegatesFocus: true\n};\nPcButton.css = [appearance_default, size_default, button_default];\n__decorateClass([\n  e5(\".button\")\n], PcButton.prototype, \"button\", 2);\n__decorateClass([\n  e5(\"slot:not([name])\")\n], PcButton.prototype, \"labelSlot\", 2);\n__decorateClass([\n  r5()\n], PcButton.prototype, \"hasFocus\", 2);\n__decorateClass([\n  r5()\n], PcButton.prototype, \"isIconButton\", 2);\n__decorateClass([\n  r5()\n], PcButton.prototype, \"invalid\", 2);\n__decorateClass([\n  n4()\n], PcButton.prototype, \"title\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcButton.prototype, \"appearance\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcButton.prototype, \"variant\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcButton.prototype, \"size\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcButton.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcButton.prototype, \"pill\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcButton.prototype, \"type\", 2);\n__decorateClass([\n  n4()\n], PcButton.prototype, \"name\", 2);\n__decorateClass([\n  n4()\n], PcButton.prototype, \"value\", 2);\n__decorateClass([\n  n4()\n], PcButton.prototype, \"href\", 2);\n__decorateClass([\n  n4()\n], PcButton.prototype, \"target\", 2);\n__decorateClass([\n  n4()\n], PcButton.prototype, \"rel\", 2);\n__decorateClass([\n  n4()\n], PcButton.prototype, \"download\", 2);\n__decorateClass([\n  n4({ attribute: \"formaction\" })\n], PcButton.prototype, \"formAction\", 2);\n__decorateClass([\n  n4({ attribute: \"formenctype\" })\n], PcButton.prototype, \"formEnctype\", 2);\n__decorateClass([\n  n4({ attribute: \"formmethod\" })\n], PcButton.prototype, \"formMethod\", 2);\n__decorateClass([\n  n4({ attribute: \"formnovalidate\", type: Boolean })\n], PcButton.prototype, \"formNoValidate\", 2);\n__decorateClass([\n  n4({ attribute: \"formtarget\" })\n], PcButton.prototype, \"formTarget\", 2);\n__decorateClass([\n  watch(\"disabled\", { waitUntilFirstUpdate: true })\n], PcButton.prototype, \"handleDisabledChange\", 1);\nPcButton = __decorateClass([\n  t3(\"pc-button\")\n], PcButton);\n\n// src/components/button-group/button-group.css\nvar button_group_default = ':host {\\n    display: inline-flex;\\n}\\n\\n.button-group {\\n    display: flex;\\n    position: relative;\\n    flex-wrap: wrap;\\n    gap: var(--pc-spacing-xxxs);\\n    isolation: isolate;\\n}\\n\\n@media (hover: hover) {\\n    .button-group > :hover,\\n    .button-group::slotted(:hover) {\\n        z-index: 1;\\n    }\\n}\\n\\n.button-group > :focus,\\n.button-group::slotted(:focus),\\n.button-group > [aria-checked=\"true\"],\\n.button-group::slotted([aria-checked=\"true\"]),\\n.button-group > [checked],\\n.button-group::slotted([checked]) {\\n    z-index: 2 !important;\\n}\\n\\n:host([orientation=\"vertical\"]) .button-group {\\n    flex-direction: column;\\n}\\n\\n.button-group.has-outlined {\\n    gap: 0;\\n}\\n\\n.button-group.has-outlined ::slotted(:not(:first-child)) {\\n    margin-inline-start: calc(-1 * var(--pc-spacing-xxxs));\\n}\\n';\n\n// src/components/button-group/button-group.ts\nfunction findButton(element) {\n  const selector = \"pc-button\";\n  return element.closest(selector) ?? element.querySelector(selector);\n}\nvar PcButtonGroup = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.hasOutlined = false;\n    this.disableRole = false;\n    this.label = \"\";\n    this.orientation = \"horizontal\";\n  }\n  updated(changedProperties) {\n    super.updated(changedProperties);\n    if (changedProperties.has(\"orientation\")) {\n      this.setAttribute(\"aria-orientation\", this.orientation);\n      this.updateClassNames();\n    }\n  }\n  handleFocus(event) {\n    const button = findButton(event.target);\n    button?.classList.add(\"button-focus\");\n  }\n  handleBlur(event) {\n    const button = findButton(event.target);\n    button?.classList.remove(\"button-focus\");\n  }\n  handleMouseOver(event) {\n    const button = findButton(event.target);\n    button?.classList.add(\"button-hover\");\n  }\n  handleMouseOut(event) {\n    const button = findButton(event.target);\n    button?.classList.remove(\"button-hover\");\n  }\n  handleSlotChange() {\n    this.updateClassNames();\n  }\n  updateClassNames() {\n    const slottedElements = [\n      ...this.defaultSlot.assignedElements({ flatten: true })\n    ];\n    this.hasOutlined = false;\n    slottedElements.forEach((element) => {\n      const index = slottedElements.indexOf(element);\n      const button = findButton(element);\n      if (button) {\n        if (button.variant.split(\" \").includes(\"outlined\")) {\n          this.hasOutlined = true;\n        }\n        button.classList.add(\"pc-button-group-button\");\n        button.classList.toggle(\n          \"pc-button-group-horizontal\",\n          this.orientation === \"horizontal\"\n        );\n        button.classList.toggle(\n          \"pc-button-group-vertical\",\n          this.orientation === \"vertical\"\n        );\n        button.classList.toggle(\n          \"pc-button-group-button-first\",\n          index === 0\n        );\n        button.classList.toggle(\n          \"pc-button-group-button-inner\",\n          index > 0 && index < slottedElements.length - 1\n        );\n        button.classList.toggle(\n          \"pc-button-group-button-last\",\n          index === slottedElements.length - 1\n        );\n      }\n    });\n  }\n  render() {\n    return x`\n            <slot\n                part=\"base\"\n                class=${e7({\n      \"button-group\": true,\n      \"has-outlined\": this.hasOutlined\n    })}\n                role=${this.disableRole ? \"presentation\" : \"group\"}\n                aria-label=${this.label}\n                aria-orientation=${this.orientation}\n                @focusin=${this.handleFocus}\n                @focusout=${this.handleBlur}\n                @mouseover=${this.handleMouseOver}\n                @mouseout=${this.handleMouseOut}\n                @slotchange=${this.handleSlotChange}\n            ></slot>\n        `;\n  }\n};\nPcButtonGroup.css = button_group_default;\n__decorateClass([\n  e5(\"slot\")\n], PcButtonGroup.prototype, \"defaultSlot\", 2);\n__decorateClass([\n  r5()\n], PcButtonGroup.prototype, \"hasOutlined\", 2);\n__decorateClass([\n  r5()\n], PcButtonGroup.prototype, \"disableRole\", 2);\n__decorateClass([\n  n4()\n], PcButtonGroup.prototype, \"label\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcButtonGroup.prototype, \"orientation\", 2);\nPcButtonGroup = __decorateClass([\n  t3(\"pc-button-group\")\n], PcButtonGroup);\n\n// src/components/callout/callout.css\nvar callout_default = '.callout {\\n    display: flex;\\n    position: relative;\\n    align-items: stretch;\\n    background-color: var(--pc-color-fill-quiet);\\n    color: var(--pc-color-text-normal);\\n    border: var(--pc-panel-border-width) var(--pc-panel-border-style)\\n        var(--pc-color-border-quiet);\\n    border-radius: var(--pc-panel-border-radius);\\n    padding: 1em;\\n}\\n\\n/* This is a fallback for Markdown and MDX */\\n.callout ::slotted(p) {\\n    margin: 0;\\n}\\n\\n:host([variant~=\"accent\"]) .callout {\\n    background-color: var(--pc-color-fill-loud);\\n    color: var(--pc-color-on-loud);\\n    border-color: transparent;\\n\\n    [part~=\"icon\"] {\\n        color: currentColor;\\n    }\\n}\\n\\n:host([variant~=\"outlined\"]) .callout {\\n    background-color: transparent;\\n    border-color: var(--pc-color-border-loud);\\n}\\n\\n:host([variant~=\"filled\"]) .callout {\\n    background-color: var(--pc-color-fill-quiet);\\n    border-color: transparent;\\n}\\n\\n:host([variant~=\"filled\"][variant~=\"outlined\"]) .callout {\\n    border-color: var(--pc-color-border-quiet);\\n}\\n\\n:host([variant~=\"plain\"]) .callout {\\n    background-color: transparent;\\n    border-color: transparent;\\n}\\n\\n.callout [part~=\"icon\"] {\\n    display: flex;\\n    align-items: center;\\n    flex: 0 0 auto;\\n    color: var(--pc-color-on-quiet);\\n    font-size: 1.25em;\\n}\\n\\n.callout ::slotted([slot=\"icon\"]) {\\n    margin-inline-end: var(--pc-form-control-padding-inline);\\n}\\n\\n.callout [part~=\"message\"] {\\n    display: block;\\n    flex: 1 1 auto;\\n    overflow: hidden;\\n}\\n';\n\n// src/components/callout/callout.ts\nvar PcCallout = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.appearance = \"primary\";\n    this.variant = \"filled outlined\";\n    this.size = \"medium\";\n  }\n  render() {\n    return x`\n            <aside part=\"base\" class=\"callout\">\n                <div part=\"icon\">\n                    <slot name=\"icon\" aria-hidden=\"true\"></slot>\n                </div>\n\n                <div part=\"message\">\n                    <slot></slot>\n                </div>\n            </aside>\n        `;\n  }\n};\nPcCallout.css = [appearance_default, size_default, callout_default];\n__decorateClass([\n  n4({ reflect: true })\n], PcCallout.prototype, \"appearance\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcCallout.prototype, \"variant\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcCallout.prototype, \"size\", 2);\nPcCallout = __decorateClass([\n  t3(\"pc-callout\")\n], PcCallout);\n\n// src/components/card/card.css\nvar card_default = ':host {\\n    --spacing: var(--pc-spacing-l);\\n\\n    display: inline-block;\\n}\\n\\n.card {\\n    display: flex;\\n    flex-direction: column;\\n    background-color: var(--pc-color-surface-default);\\n    color: var(--pc-color-text-normal);\\n    border: var(--pc-panel-border-width) var(--pc-panel-border-style)\\n        var(--pc-color-surface-border);\\n    border-radius: var(--pc-panel-border-radius);\\n    box-shadow: var(--pc-shadow-l);\\n}\\n\\n:host([variant~=\"accent\"]) .card {\\n    background-color: var(--pc-color-neutral-fill-loud);\\n    color: var(--pc-color-neutral-on-loud);\\n    border-color: transparent;\\n}\\n\\n:host([variant~=\"outlined\"]) .card {\\n    background-color: var(--pc-color-surface-default);\\n    border-color: var(--pc-color-surface-border);\\n}\\n\\n:host([variant~=\"filled\"]) .card {\\n    background-color: var(--pc-color-neutral-fill-quiet);\\n    border-color: transparent;\\n}\\n\\n:host([variant~=\"filled\"][variant~=\"outlined\"]) .card {\\n    border-color: var(--pc-color-neutral-border-quiet);\\n}\\n\\n:host([variant~=\"plain\"]) .card {\\n    background-color: transparent;\\n    border-color: transparent;\\n    box-shadow: none;\\n}\\n\\n.media {\\n    display: flex;\\n    border-start-start-radius: var(--pc-panel-border-radius);\\n    border-start-end-radius: var(--pc-panel-border-radius);\\n    border-end-start-radius: 0;\\n    border-end-end-radius: 0;\\n    overflow: hidden;\\n}\\n\\n:host([variant~=\"plain\"]) .media {\\n    border-end-start-radius: var(--pc-panel-border-radius);\\n    border-end-end-radius: var(--pc-panel-border-radius);\\n}\\n\\n.media::slotted(img),\\n.media::slotted(video) {\\n    display: block;\\n    inline-size: 100%;\\n    border-radius: 0 !important;\\n}\\n\\n.header {\\n    display: block;\\n    padding-block: calc(var(--spacing) / 2);\\n    padding-inline: var(--spacing);\\n    border-block-end: var(--pc-panel-border-width) var(--pc-panel-border-style)\\n        var(--pc-color-surface-border);\\n}\\n\\n.body {\\n    display: block;\\n    padding: var(--spacing);\\n}\\n\\n.has-footer .footer {\\n    display: block;\\n    padding: var(--spacing);\\n    border-block-start: var(--pc-panel-border-width)\\n        var(--pc-panel-border-style) var(--pc-color-surface-border);\\n}\\n\\n.card:not(.has-media) .media,\\n.card:not(.has-header) .header,\\n.card:not(.has-footer) .footer {\\n    display: none;\\n}\\n';\n\n// src/components/card/card.ts\nvar PcCard = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.hasSlotController = new HasSlotController(\n      this,\n      \"media\",\n      \"header\",\n      \"footer\"\n    );\n    this.variant = \"outlined\";\n  }\n  render() {\n    return x`\n            <div\n                part=\"base\"\n                class=${e7({\n      \"card\": true,\n      \"has-media\": this.hasSlotController.test(\"media\"),\n      \"has-header\": this.hasSlotController.test(\"header\"),\n      \"has-footer\": this.hasSlotController.test(\"footer\")\n    })}\n            >\n                <slot class=\"media\" name=\"media\" part=\"media\"></slot>\n                <slot class=\"header\" name=\"header\" part=\"header\"></slot>\n                <slot class=\"body\" part=\"body\"></slot>\n                <slot class=\"footer\" name=\"footer\" part=\"footer\"></slot>\n            </div>\n        `;\n  }\n};\nPcCard.css = [size_default, card_default];\n__decorateClass([\n  n4({ reflect: true })\n], PcCard.prototype, \"variant\", 2);\nPcCard = __decorateClass([\n  t3(\"pc-card\")\n], PcCard);\n\n// node_modules/lit-html/directive-helpers.js\nvar { I: t6 } = Z;\nvar f3 = (o9) => void 0 === o9.strings;\nvar u3 = {};\nvar m2 = (o9, t7 = u3) => o9._$AH = t7;\n\n// node_modules/lit-html/directives/live.js\nvar l3 = e6(class extends i5 {\n  constructor(r8) {\n    if (super(r8), r8.type !== t5.PROPERTY && r8.type !== t5.ATTRIBUTE && r8.type !== t5.BOOLEAN_ATTRIBUTE) throw Error(\"The `live` directive is not allowed on child or event bindings\");\n    if (!f3(r8)) throw Error(\"`live` bindings can only contain a single expression\");\n  }\n  render(r8) {\n    return r8;\n  }\n  update(i8, [t7]) {\n    if (t7 === T || t7 === E) return t7;\n    const o9 = i8.element, l4 = i8.name;\n    if (i8.type === t5.PROPERTY) {\n      if (t7 === o9[l4]) return T;\n    } else if (i8.type === t5.BOOLEAN_ATTRIBUTE) {\n      if (!!t7 === o9.hasAttribute(l4)) return T;\n    } else if (i8.type === t5.ATTRIBUTE && o9.getAttribute(l4) === t7 + \"\") return T;\n    return m2(i8), t7;\n  }\n});\n\n// src/internal/validators/required-validator.ts\nvar RequiredValidator = (options = {}) => {\n  let { validationElement, validationProperty } = options;\n  if (!validationElement) {\n    validationElement = Object.assign(document.createElement(\"input\"), {\n      required: true\n    });\n  }\n  if (!validationProperty) {\n    validationProperty = \"value\";\n  }\n  const object = {\n    observedAttributes: [\"required\"],\n    message: validationElement.validationMessage,\n    checkValidity(element) {\n      const validity = {\n        message: \"\",\n        isValid: true,\n        invalidKeys: []\n      };\n      const isRequired = element.required ?? element.hasAttribute(\"required\");\n      if (!isRequired) {\n        return validity;\n      }\n      const value = element[validationProperty];\n      const isEmpty = !value;\n      if (isEmpty) {\n        validity.message = typeof object.message === \"function\" ? object.message(element) : object.message || \"\";\n        validity.isValid = false;\n        validity.invalidKeys.push(\"valueMissing\");\n      }\n      return validity;\n    }\n  };\n  return object;\n};\n\n// src/styles/component-styles/form-control.css\nvar form_control_default = ':host {\\n    display: flex;\\n    flex-direction: column;\\n}\\n\\n/* Labels */\\n[part~=\"label\"]:has(*:not(:empty)) {\\n    display: inline-flex;\\n    color: var(--pc-form-control-label-color);\\n    font-weight: var(--pc-form-control-label-font-weight);\\n    line-height: var(--pc-form-control-label-line-height);\\n    margin-block-end: 0.5em;\\n}\\n\\n:host([required]) [part=\"label\"]::after {\\n    content: var(--pc-form-control-required-content);\\n    margin-inline-start: var(--pc-form-control-required-content-offset);\\n    color: var(--pc-form-control-required-content-color);\\n}\\n\\n/* Hints */\\n[part~=\"hint\"] {\\n    display: block;\\n    color: var(--pc-form-control-hint-color);\\n    font-size: var(--pc-font-size-smaller);\\n    font-weight: var(--pc-form-control-hint-font-weight);\\n    line-height: var(--pc-form-control-hint-line-height);\\n    margin-block-start: 0.5em;\\n}\\n\\n[part~=\"hint\"]:not(.has-hint) {\\n    display: none;\\n}\\n';\n\n// src/components/checkbox/checkbox.css\nvar checkbox_default = ':host {\\n    display: inline-block;\\n}\\n\\n.checkbox {\\n    display: inline-flex;\\n    align-items: flex-start;\\n    position: relative;\\n    font-family: var(--pc-font-sans);\\n    font-size: inherit;\\n    font-weight: var(--pc-form-control-value-font-weight);\\n    line-height: var(--pc-form-control-value-line-height);\\n    vertical-align: middle;\\n    cursor: pointer;\\n}\\n\\n.control {\\n    display: inline-flex;\\n    position: relative;\\n    align-items: center;\\n    justify-content: center;\\n    flex: 0 0 auto;\\n    inline-size: var(--pc-form-control-toggle-size);\\n    block-size: var(--pc-form-control-toggle-size);\\n    background-color: transparent;\\n    color: var(--pc-color-primary-on-loud);\\n    border: var(--pc-form-control-border-width) var(--pc-border-style)\\n        var(--pc-form-control-border-color);\\n    border-radius: var(--pc-border-radius-s);\\n    font-size: inherit;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n.control pc-icon {\\n    opacity: 0;\\n    visibility: hidden;\\n    transition:\\n        opacity var(--pc-transition-fast) ease-in-out,\\n        visibility var(--pc-transition-fast) ease-in-out;\\n}\\n\\n.checked .control pc-icon,\\n.indeterminate .control pc-icon {\\n    opacity: 1;\\n    visibility: visible;\\n}\\n\\n.checked:not(> .fade-out) .control pc-icon {\\n    opacity: 1;\\n    visibility: visible;\\n}\\n\\n.control.fade-out pc-icon {\\n    opacity: 0;\\n    visibility: hidden;\\n}\\n\\n.input {\\n    position: absolute;\\n    margin: 0;\\n    padding: 0;\\n    opacity: 0;\\n    pointer-events: none;\\n}\\n\\npc-icon {\\n    display: inline-flex;\\n    font-size: inherit;\\n    scale: 0.8;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n@media (hover: hover) {\\n    .checkbox:not(.checked):not(.disabled) .control:hover {\\n        border-color: color-mix(\\n            in oklab,\\n            var(--pc-form-control-border-color),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n.checkbox:not(.checked):not(.disabled) .control:focus-visible {\\n    border-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-border-color),\\n        var(--pc-color-mix-hover)\\n    );\\n}\\n\\n.checkbox:not(.checked):not(.disabled) .control:active {\\n    border-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-border-color),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n.checkbox:not(.checked):not(.disabled) .input:focus-visible ~ .control {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.checked .control,\\n.indeterminate .control {\\n    background-color: var(--pc-form-control-activated-color);\\n    border-color: var(--pc-form-control-activated-color);\\n}\\n\\n@media (hover: hover) {\\n    .checkbox.checked:not(.disabled) .control:hover,\\n    .checkbox.indeterminate:not(.disabled) .control:hover {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-form-control-activated-color),\\n            var(--pc-color-mix-hover)\\n        );\\n        border-color: color-mix(\\n            in oklab,\\n            var(--pc-form-control-activated-color),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n.checkbox.checked:not(.disabled) .control:focus-visible,\\n.checkbox.indeterminate:not(.disabled) .control:focus-visible {\\n    background-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-activated-color),\\n        var(--pc-color-mix-hover)\\n    );\\n    border-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-activated-color),\\n        var(--pc-color-mix-hover)\\n    );\\n}\\n\\n.checkbox.checked:not(.disabled) .control:active,\\n.checkbox.indeterminate:not(.disabled) .control:active {\\n    background-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-activated-color),\\n        var(--pc-color-mix-active)\\n    );\\n    border-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-activated-color),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n.checkbox.checked:not(.disabled) .input:focus-visible ~ .control,\\n.checkbox.indeterminate:not(.disabled) .input:focus-visible ~ .control {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.disabled {\\n    opacity: 0.5;\\n    cursor: not-allowed;\\n}\\n\\n[part~=\"label\"] {\\n    display: inline-flex;\\n    margin-inline-start: 0.5em !important;\\n}\\n\\n:host([required]) [part~=\"label\"]::after {\\n    content: var(--pc-form-control-required-content);\\n    color: var(--pc-form-control-required-content-color);\\n    margin-inline-start: var(--pc-form-control-required-content-offset);\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n';\n\n// src/components/checkbox/checkbox.ts\nvar PcCheckbox = class extends PlacerFormAssociatedElement {\n  constructor() {\n    super(...arguments);\n    this.hasSlotController = new HasSlotController(this, \"hint\");\n    this.isFadingOut = false;\n    this.title = \"\";\n    this.name = \"\";\n    this._value = this.getAttribute(\"value\") ?? null;\n    this.size = \"medium\";\n    this.disabled = false;\n    this.checked = false;\n    this.indeterminate = false;\n    this.defaultChecked = this.hasAttribute(\"checked\");\n    this.required = false;\n    this.hint = \"\";\n  }\n  static get validators() {\n    const validators = [\n      RequiredValidator({\n        validationProperty: \"checked\",\n        validationElement: Object.assign(\n          document.createElement(\"input\"),\n          {\n            type: \"checkbox\",\n            required: true\n          }\n        )\n      })\n    ];\n    return [...super.validators, ...validators];\n  }\n  /** The current value of the checkbox, submitted as a name/value pair with form data. */\n  get value() {\n    const value = this._value || \"on\";\n    return this.checked ? value : null;\n  }\n  set value(value) {\n    this._value = value;\n  }\n  handleClick() {\n    if (!this.indeterminate) {\n      if (this.checked) {\n        this.isFadingOut = true;\n        setTimeout(() => this.isFadingOut = false, 150);\n      }\n    }\n    this.hasInteracted = true;\n    this.checked = !this.checked;\n    this.indeterminate = false;\n    this.updateComplete.then(() => {\n      this.dispatchEvent(\n        new Event(\"change\", { bubbles: true, composed: true })\n      );\n    });\n  }\n  handleDefaultCheckedChange() {\n    if (!this.hasInteracted && this.checked !== this.defaultChecked) {\n      this.checked = this.defaultChecked;\n      this.handleValueOrCheckedChange();\n    }\n  }\n  handleValueOrCheckedChange() {\n    this.setValue(this.checked ? this.value : null, this._value);\n    this.updateValidity();\n  }\n  handleDisabledChange() {\n    this.customStates.set(\"disabled\", this.disabled);\n  }\n  handleStateChange() {\n    if (!this.indeterminate && this.checked) {\n      this.isFadingOut = false;\n    }\n    if (this.hasUpdated) {\n      this.input.checked = this.checked;\n      this.input.indeterminate = this.indeterminate;\n    }\n    this.customStates.set(\"checked\", this.checked);\n    this.customStates.set(\"indeterminate\", this.indeterminate);\n    this.updateValidity();\n  }\n  willUpdate(changedProperties) {\n    super.willUpdate(changedProperties);\n    if (changedProperties.has(\"defaultChecked\")) {\n      if (!this.hasInteracted) {\n        this.checked = this.defaultChecked;\n      }\n    }\n    if (changedProperties.has(\"value\") || changedProperties.has(\"checked\")) {\n      this.handleValueOrCheckedChange();\n    }\n  }\n  formResetCallback() {\n    this.checked = this.defaultChecked;\n    super.formResetCallback();\n    this.handleValueOrCheckedChange();\n  }\n  /** Simulates a click on the checkbox. */\n  click() {\n    this.input.click();\n  }\n  /** Focuses the checkbox. */\n  focus(options) {\n    this.input.focus(options);\n  }\n  /** Unfocuses the checkbox (i.e., blurs it). */\n  blur() {\n    this.input.blur();\n  }\n  render() {\n    const hasHintSlot = this.hasSlotController.test(\"hint\");\n    const hasHint = this.hint ? true : !!hasHintSlot;\n    return x`\n            <label\n                part=\"base\"\n                class=${e7({\n      checkbox: true,\n      checked: this.checked && !this.isFadingOut,\n      indeterminate: this.indeterminate,\n      disabled: this.disabled\n    })}\n            >\n                <input\n                    class=\"input\"\n                    type=\"checkbox\"\n                    title=${this.title}\n                    name=${this.name}\n                    value=${o6(this.value)}\n                    .indeterminate=${l3(this.indeterminate)}\n                    .checked=${l3(this.checked)}\n                    .disabled=${this.disabled}\n                    .required=${this.required}\n                    aria-checked=${this.checked ? \"true\" : \"false\"}\n                    aria-describedby=${this.hint ? \"hint\" : E}\n                    @click=${this.handleClick}\n                />\n\n                <span\n                    part=\"control ${this.checked ? \"checkbox-checked\" : \"\"} ${this.indeterminate ? \"checkbox-indeterminate\" : \"\"}\"\n                    class=${e7({\n      \"control\": true,\n      \"fade-in\": this.checked && !this.isFadingOut,\n      \"fade-out\": this.isFadingOut\n    })}\n                >\n                    ${this.checked || this.isFadingOut ? x`\n                              <pc-icon\n                                  part=\"icon-checked\"\n                                  library=\"system\"\n                                  icon-style=\"solid\"\n                                  name=\"check\"\n                              ></pc-icon>\n                          ` : \"\"}\n                    ${this.indeterminate ? x`\n                              <pc-icon\n                                  part=\"icon-indeterminate\"\n                                  library=\"system\"\n                                  icon-style=\"solid\"\n                                  name=\"minus\"\n                              ></pc-icon>\n                          ` : \"\"}\n                </span>\n\n                <slot class=\"label\" part=\"label\"></slot>\n            </label>\n\n            <slot\n                part=\"hint\"\n                class=${e7({ \"has-hint\": hasHint })}\n                name=\"hint\"\n                id=\"hint\"\n                aria-hidden=${hasHint ? \"false\" : \"true\"}\n            >\n                ${this.hint}\n            </slot>\n        `;\n  }\n};\nPcCheckbox.css = [form_control_default, size_default, checkbox_default];\nPcCheckbox.shadowRootOptions = {\n  ...PlacerFormAssociatedElement.shadowRootOptions,\n  delegatesFocus: true\n};\n__decorateClass([\n  e5('input[type=\"checkbox\"]')\n], PcCheckbox.prototype, \"input\", 2);\n__decorateClass([\n  r5()\n], PcCheckbox.prototype, \"isFadingOut\", 2);\n__decorateClass([\n  n4()\n], PcCheckbox.prototype, \"title\", 2);\n__decorateClass([\n  n4()\n], PcCheckbox.prototype, \"name\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcCheckbox.prototype, \"value\", 1);\n__decorateClass([\n  n4({ reflect: true })\n], PcCheckbox.prototype, \"size\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcCheckbox.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcCheckbox.prototype, \"checked\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcCheckbox.prototype, \"indeterminate\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true, attribute: \"checked\" })\n], PcCheckbox.prototype, \"defaultChecked\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcCheckbox.prototype, \"required\", 2);\n__decorateClass([\n  n4()\n], PcCheckbox.prototype, \"hint\", 2);\n__decorateClass([\n  watch(\"defaultChecked\")\n], PcCheckbox.prototype, \"handleDefaultCheckedChange\", 1);\n__decorateClass([\n  watch(\"disabled\")\n], PcCheckbox.prototype, \"handleDisabledChange\", 1);\n__decorateClass([\n  watch([\"checked\", \"indeterminate\"])\n], PcCheckbox.prototype, \"handleStateChange\", 1);\nPcCheckbox = __decorateClass([\n  t3(\"pc-checkbox\")\n], PcCheckbox);\n\n// node_modules/lit-html/directives/style-map.js\nvar n5 = \"important\";\nvar i6 = \" !\" + n5;\nvar o7 = e6(class extends i5 {\n  constructor(t7) {\n    if (super(t7), t7.type !== t5.ATTRIBUTE || \"style\" !== t7.name || t7.strings?.length > 2) throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\");\n  }\n  render(t7) {\n    return Object.keys(t7).reduce(((e10, r8) => {\n      const s4 = t7[r8];\n      return null == s4 ? e10 : e10 + `${r8 = r8.includes(\"-\") ? r8 : r8.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g, \"-$&\").toLowerCase()}:${s4};`;\n    }), \"\");\n  }\n  update(e10, [r8]) {\n    const { style: s4 } = e10.element;\n    if (void 0 === this.ft) return this.ft = new Set(Object.keys(r8)), this.render(r8);\n    for (const t7 of this.ft) null == r8[t7] && (this.ft.delete(t7), t7.includes(\"-\") ? s4.removeProperty(t7) : s4[t7] = null);\n    for (const t7 in r8) {\n      const e11 = r8[t7];\n      if (null != e11) {\n        this.ft.add(t7);\n        const r9 = \"string\" == typeof e11 && e11.endsWith(i6);\n        t7.includes(\"-\") || r9 ? s4.setProperty(t7, r9 ? e11.slice(0, -11) : e11, r9 ? n5 : \"\") : s4[t7] = e11;\n      }\n    }\n    return T;\n  }\n});\n\n// src/translations/index.ts\nvar connectedElements = /* @__PURE__ */ new Set();\nvar translations = /* @__PURE__ */ new Map();\nvar fallback;\nvar documentDirection = \"ltr\";\nvar documentLanguage = \"en\";\nvar isClient = typeof MutationObserver !== \"undefined\" && typeof document !== \"undefined\" && typeof document.documentElement !== \"undefined\";\nif (isClient) {\n  const documentElementObserver = new MutationObserver(update);\n  documentDirection = document.documentElement.dir || \"ltr\";\n  documentLanguage = document.documentElement.lang || navigator.language;\n  documentElementObserver.observe(document.documentElement, {\n    attributes: true,\n    attributeFilter: [\"dir\", \"lang\"]\n  });\n}\nfunction registerTranslation(...translation2) {\n  translation2.map((t7) => {\n    const code = t7.$code.toLowerCase();\n    if (translations.has(code)) {\n      translations.set(code, { ...translations.get(code), ...t7 });\n    } else {\n      translations.set(code, t7);\n    }\n    if (!fallback) {\n      fallback = t7;\n    }\n  });\n  update();\n}\nfunction update() {\n  if (isClient) {\n    documentDirection = document.documentElement.dir || \"ltr\";\n    documentLanguage = document.documentElement.lang || navigator.language;\n  }\n  [...connectedElements.keys()].map((element) => {\n    if (typeof element.requestUpdate === \"function\") {\n      element.requestUpdate();\n    }\n  });\n}\nvar LocalizeController = class {\n  constructor(host) {\n    this.host = host;\n    this.host.addController(this);\n  }\n  hostConnected() {\n    connectedElements.add(this.host);\n  }\n  hostDisconnected() {\n    connectedElements.delete(this.host);\n  }\n  /** Gets the host element’s direction as determined by the `dir` attribute. The returned value is lowercase. */\n  dir() {\n    return `${this.host.dir || documentDirection}`.toLowerCase();\n  }\n  /** Gets the host element’s language as determined by the `lang` attribute. The returned value is lowercase. */\n  lang() {\n    return `${this.host.lang || documentLanguage}`.toLowerCase();\n  }\n  getTranslationData(lang) {\n    const locale = new Intl.Locale(lang.replace(/_/g, \"-\"));\n    const language = locale?.language.toLowerCase();\n    const region = locale?.region?.toLowerCase() ?? \"\";\n    const primary = translations.get(`${language}-${region}`);\n    const secondary = translations.get(language);\n    return { locale, language, region, primary, secondary };\n  }\n  /** Determines if the specified term exists, optionally checking the fallback translation. */\n  exists(key, options) {\n    const { primary, secondary } = this.getTranslationData(\n      options.language ?? this.lang()\n    );\n    options = {\n      includeFallback: false,\n      ...options\n    };\n    if (primary && primary[key] || secondary && secondary[key] || options.includeFallback && fallback && fallback[key]) {\n      return true;\n    }\n    return false;\n  }\n  /** Outputs a translated term. */\n  term(key, ...args) {\n    const { primary, secondary } = this.getTranslationData(this.lang());\n    let term;\n    if (primary && primary[key]) {\n      term = primary[key];\n    } else if (secondary && secondary[key]) {\n      term = secondary[key];\n    } else if (fallback && fallback[key]) {\n      term = fallback[key];\n    } else {\n      console.error(`No translation was found for \\u201C${String(key)}\\u201D.`);\n      return String(key);\n    }\n    if (typeof term === \"function\") {\n      return term(...args);\n    }\n    return term;\n  }\n  /** Outputs a localised date in the specified format. */\n  date(dateToFormat, options) {\n    dateToFormat = new Date(dateToFormat);\n    return new Intl.DateTimeFormat(this.lang(), options).format(\n      dateToFormat\n    );\n  }\n  /** Outputs a localised number in the specified format. */\n  number(numberToFormat, options) {\n    numberToFormat = Number(numberToFormat);\n    return isNaN(numberToFormat) ? \"\" : new Intl.NumberFormat(this.lang(), options).format(\n      numberToFormat\n    );\n  }\n  /** Outputs a localised time in relative format. */\n  relativeTime(value, unit, options) {\n    return new Intl.RelativeTimeFormat(this.lang(), options).format(\n      value,\n      unit\n    );\n  }\n};\n\n// src/translations/en.ts\nvar translation = {\n  $code: \"en\",\n  $name: \"English\",\n  $dir: \"ltr\",\n  carousel: \"Carousel\",\n  clearEntry: \"Clear entry\",\n  close: \"Close\",\n  copied: \"Copied!\",\n  copy: \"Copy\",\n  currentValue: \"Current value\",\n  error: \"Error\",\n  goToSlide: (slide, count) => `Go to slide ${slide} of ${count}`,\n  hidePassword: \"Hide password\",\n  hue: \"Hue\",\n  loading: \"Loading\\u2026\",\n  maximumValue: \"Maximum\",\n  maximumValueDescriptive: (label) => `${label} (maximum value)`,\n  minimumValue: \"Minimum\",\n  minimumValueDescriptive: (label) => `${label} (minimum value)`,\n  nextSlide: \"Next slide\",\n  numOptionsSelected: (number) => {\n    if (number === 0) {\n      return \"No options selected\";\n    } else if (number === 1) {\n      return \"One option selected\";\n    } else {\n      return `${number} options selected`;\n    }\n  },\n  opacity: \"Opacity\",\n  pickAColorFromTheScreen: \"Pick a color from the screen\",\n  previousSlide: \"Previous slide\",\n  progress: \"Progress\",\n  remove: \"Remove\",\n  resize: \"Resize\",\n  scrollableRegion: \"Scrollable region\",\n  scrollToEnd: \"Scroll to end\",\n  scrollToStart: \"Scroll to start\",\n  showPassword: \"Show password\",\n  slideNum: (slide) => `Slide ${slide}`,\n  toggleColorFormat: \"Toggle color format\"\n};\nregisterTranslation(translation);\nvar en_default = translation;\n\n// src/utilities/localize.ts\nvar LocalizeController2 = class extends LocalizeController {\n};\nregisterTranslation(en_default);\n\n// src/events/pc-after-hide.ts\nvar PcAfterHideEvent = class extends Event {\n  constructor() {\n    super(\"pc-after-hide\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n  }\n};\n\n// src/events/pc-after-show.ts\nvar PcAfterShowEvent = class extends Event {\n  constructor() {\n    super(\"pc-after-show\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n  }\n};\n\n// src/events/pc-hide.ts\nvar PcHideEvent = class extends Event {\n  constructor(detail) {\n    super(\"pc-hide\", { bubbles: true, cancelable: true, composed: true });\n    this.detail = detail;\n  }\n};\n\n// src/events/pc-show.ts\nvar PcShowEvent = class extends Event {\n  constructor() {\n    super(\"pc-show\", { bubbles: true, cancelable: true, composed: true });\n  }\n};\n\n// src/internal/animate.ts\nfunction animateTo(element, keyframes, options) {\n  return new Promise((resolve) => {\n    if (options?.duration === Infinity) {\n      throw new Error(\"Promise\\u2010based animations must be finite.\");\n    }\n    const animation = element.animate(keyframes, {\n      ...options,\n      duration: prefersReducedMotion() ? 0 : options.duration\n    });\n    animation.addEventListener(\"cancel\", resolve, { once: true });\n    animation.addEventListener(\"finish\", resolve, { once: true });\n  });\n}\nfunction parseDuration(delay) {\n  delay = delay.toString().toLowerCase();\n  if (delay.indexOf(\"ms\") > -1) {\n    return parseFloat(delay);\n  }\n  if (delay.indexOf(\"s\") > -1) {\n    return parseFloat(delay) * 1e3;\n  }\n  return parseFloat(delay);\n}\nfunction prefersReducedMotion() {\n  const query = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n  return query.matches;\n}\nfunction stopAnimations(element) {\n  return Promise.all(\n    element.getAnimations().map((animation) => {\n      return new Promise((resolve) => {\n        animation.cancel();\n        requestAnimationFrame(resolve);\n      });\n    })\n  );\n}\nfunction shimKeyframesHeightAuto(keyframes, calculatedHeight) {\n  return keyframes.map((keyframe) => {\n    const shimmed = { ...keyframe };\n    if (keyframe.height === \"auto\") {\n      shimmed.height = `${calculatedHeight}px`;\n    }\n    if (keyframe.blockSize === \"auto\") {\n      shimmed.blockSize = `${calculatedHeight}px`;\n    }\n    return shimmed;\n  });\n}\n\n// src/utilities/animation-registry.ts\nvar defaultAnimationRegistry = /* @__PURE__ */ new Map();\nvar customAnimationRegistry = /* @__PURE__ */ new WeakMap();\nfunction ensureAnimation(animation) {\n  return animation ?? { keyframes: [], options: { duration: 0 } };\n}\nfunction getLogicalAnimation(animation, dir) {\n  if (dir.toLowerCase() === \"rtl\") {\n    return {\n      keyframes: animation.rtlKeyframes || animation.keyframes,\n      options: animation.options\n    };\n  }\n  return animation;\n}\nfunction setDefaultAnimation(animationName, animation) {\n  defaultAnimationRegistry.set(animationName, ensureAnimation(animation));\n}\nfunction setAnimation(element, animationName, animation) {\n  customAnimationRegistry.set(element, {\n    ...customAnimationRegistry.get(element),\n    [animationName]: ensureAnimation(animation)\n  });\n}\nfunction getAnimation(element, animationName, options) {\n  const customAnimation = customAnimationRegistry.get(element);\n  if (customAnimation?.[animationName]) {\n    return getLogicalAnimation(customAnimation[animationName], options.dir);\n  }\n  const defaultAnimation = defaultAnimationRegistry.get(animationName);\n  if (defaultAnimation) {\n    return getLogicalAnimation(defaultAnimation, options.dir);\n  }\n  return {\n    keyframes: [],\n    options: { duration: 0 }\n  };\n}\n\n// node_modules/@ctrl/tinycolor/dist/module/util.js\nfunction bound01(n6, max2) {\n  if (isOnePointZero(n6)) {\n    n6 = \"100%\";\n  }\n  const isPercent = isPercentage(n6);\n  n6 = max2 === 360 ? n6 : Math.min(max2, Math.max(0, parseFloat(n6)));\n  if (isPercent) {\n    n6 = parseInt(String(n6 * max2), 10) / 100;\n  }\n  if (Math.abs(n6 - max2) < 1e-6) {\n    return 1;\n  }\n  if (max2 === 360) {\n    n6 = (n6 < 0 ? n6 % max2 + max2 : n6 % max2) / parseFloat(String(max2));\n  } else {\n    n6 = n6 % max2 / parseFloat(String(max2));\n  }\n  return n6;\n}\nfunction clamp01(val) {\n  return Math.min(1, Math.max(0, val));\n}\nfunction isOnePointZero(n6) {\n  return typeof n6 === \"string\" && n6.indexOf(\".\") !== -1 && parseFloat(n6) === 1;\n}\nfunction isPercentage(n6) {\n  return typeof n6 === \"string\" && n6.indexOf(\"%\") !== -1;\n}\nfunction boundAlpha(a3) {\n  a3 = parseFloat(a3);\n  if (isNaN(a3) || a3 < 0 || a3 > 1) {\n    a3 = 1;\n  }\n  return a3;\n}\nfunction convertToPercentage(n6) {\n  if (Number(n6) <= 1) {\n    return `${Number(n6) * 100}%`;\n  }\n  return n6;\n}\nfunction pad2(c4) {\n  return c4.length === 1 ? \"0\" + c4 : String(c4);\n}\n\n// node_modules/@ctrl/tinycolor/dist/module/conversion.js\nfunction rgbToRgb(r8, g2, b3) {\n  return {\n    r: bound01(r8, 255) * 255,\n    g: bound01(g2, 255) * 255,\n    b: bound01(b3, 255) * 255\n  };\n}\nfunction rgbToHsl(r8, g2, b3) {\n  r8 = bound01(r8, 255);\n  g2 = bound01(g2, 255);\n  b3 = bound01(b3, 255);\n  const max2 = Math.max(r8, g2, b3);\n  const min2 = Math.min(r8, g2, b3);\n  let h3 = 0;\n  let s4 = 0;\n  const l4 = (max2 + min2) / 2;\n  if (max2 === min2) {\n    s4 = 0;\n    h3 = 0;\n  } else {\n    const d3 = max2 - min2;\n    s4 = l4 > 0.5 ? d3 / (2 - max2 - min2) : d3 / (max2 + min2);\n    switch (max2) {\n      case r8:\n        h3 = (g2 - b3) / d3 + (g2 < b3 ? 6 : 0);\n        break;\n      case g2:\n        h3 = (b3 - r8) / d3 + 2;\n        break;\n      case b3:\n        h3 = (r8 - g2) / d3 + 4;\n        break;\n      default:\n        break;\n    }\n    h3 /= 6;\n  }\n  return { h: h3, s: s4, l: l4 };\n}\nfunction hue2rgb(p3, q, t7) {\n  if (t7 < 0) {\n    t7 += 1;\n  }\n  if (t7 > 1) {\n    t7 -= 1;\n  }\n  if (t7 < 1 / 6) {\n    return p3 + (q - p3) * (6 * t7);\n  }\n  if (t7 < 1 / 2) {\n    return q;\n  }\n  if (t7 < 2 / 3) {\n    return p3 + (q - p3) * (2 / 3 - t7) * 6;\n  }\n  return p3;\n}\nfunction hslToRgb(h3, s4, l4) {\n  let r8;\n  let g2;\n  let b3;\n  h3 = bound01(h3, 360);\n  s4 = bound01(s4, 100);\n  l4 = bound01(l4, 100);\n  if (s4 === 0) {\n    g2 = l4;\n    b3 = l4;\n    r8 = l4;\n  } else {\n    const q = l4 < 0.5 ? l4 * (1 + s4) : l4 + s4 - l4 * s4;\n    const p3 = 2 * l4 - q;\n    r8 = hue2rgb(p3, q, h3 + 1 / 3);\n    g2 = hue2rgb(p3, q, h3);\n    b3 = hue2rgb(p3, q, h3 - 1 / 3);\n  }\n  return { r: r8 * 255, g: g2 * 255, b: b3 * 255 };\n}\nfunction rgbToHsv(r8, g2, b3) {\n  r8 = bound01(r8, 255);\n  g2 = bound01(g2, 255);\n  b3 = bound01(b3, 255);\n  const max2 = Math.max(r8, g2, b3);\n  const min2 = Math.min(r8, g2, b3);\n  let h3 = 0;\n  const v2 = max2;\n  const d3 = max2 - min2;\n  const s4 = max2 === 0 ? 0 : d3 / max2;\n  if (max2 === min2) {\n    h3 = 0;\n  } else {\n    switch (max2) {\n      case r8:\n        h3 = (g2 - b3) / d3 + (g2 < b3 ? 6 : 0);\n        break;\n      case g2:\n        h3 = (b3 - r8) / d3 + 2;\n        break;\n      case b3:\n        h3 = (r8 - g2) / d3 + 4;\n        break;\n      default:\n        break;\n    }\n    h3 /= 6;\n  }\n  return { h: h3, s: s4, v: v2 };\n}\nfunction hsvToRgb(h3, s4, v2) {\n  h3 = bound01(h3, 360) * 6;\n  s4 = bound01(s4, 100);\n  v2 = bound01(v2, 100);\n  const i8 = Math.floor(h3);\n  const f4 = h3 - i8;\n  const p3 = v2 * (1 - s4);\n  const q = v2 * (1 - f4 * s4);\n  const t7 = v2 * (1 - (1 - f4) * s4);\n  const mod = i8 % 6;\n  const r8 = [v2, q, p3, p3, t7, v2][mod];\n  const g2 = [t7, v2, v2, q, p3, p3][mod];\n  const b3 = [p3, p3, t7, v2, v2, q][mod];\n  return { r: r8 * 255, g: g2 * 255, b: b3 * 255 };\n}\nfunction rgbToHex(r8, g2, b3, allow3Char) {\n  const hex = [\n    pad2(Math.round(r8).toString(16)),\n    pad2(Math.round(g2).toString(16)),\n    pad2(Math.round(b3).toString(16))\n  ];\n  if (allow3Char && hex[0].startsWith(hex[0].charAt(1)) && hex[1].startsWith(hex[1].charAt(1)) && hex[2].startsWith(hex[2].charAt(1))) {\n    return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n  }\n  return hex.join(\"\");\n}\nfunction rgbaToHex(r8, g2, b3, a3, allow4Char) {\n  const hex = [\n    pad2(Math.round(r8).toString(16)),\n    pad2(Math.round(g2).toString(16)),\n    pad2(Math.round(b3).toString(16)),\n    pad2(convertDecimalToHex(a3))\n  ];\n  if (allow4Char && hex[0].startsWith(hex[0].charAt(1)) && hex[1].startsWith(hex[1].charAt(1)) && hex[2].startsWith(hex[2].charAt(1)) && hex[3].startsWith(hex[3].charAt(1))) {\n    return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n  }\n  return hex.join(\"\");\n}\nfunction cmykToRgb(c4, m3, y3, k2) {\n  const cConv = c4 / 100;\n  const mConv = m3 / 100;\n  const yConv = y3 / 100;\n  const kConv = k2 / 100;\n  const r8 = 255 * (1 - cConv) * (1 - kConv);\n  const g2 = 255 * (1 - mConv) * (1 - kConv);\n  const b3 = 255 * (1 - yConv) * (1 - kConv);\n  return { r: r8, g: g2, b: b3 };\n}\nfunction rgbToCmyk(r8, g2, b3) {\n  let c4 = 1 - r8 / 255;\n  let m3 = 1 - g2 / 255;\n  let y3 = 1 - b3 / 255;\n  let k2 = Math.min(c4, m3, y3);\n  if (k2 === 1) {\n    c4 = 0;\n    m3 = 0;\n    y3 = 0;\n  } else {\n    c4 = (c4 - k2) / (1 - k2) * 100;\n    m3 = (m3 - k2) / (1 - k2) * 100;\n    y3 = (y3 - k2) / (1 - k2) * 100;\n  }\n  k2 *= 100;\n  return {\n    c: Math.round(c4),\n    m: Math.round(m3),\n    y: Math.round(y3),\n    k: Math.round(k2)\n  };\n}\nfunction convertDecimalToHex(d3) {\n  return Math.round(parseFloat(d3) * 255).toString(16);\n}\nfunction convertHexToDecimal(h3) {\n  return parseIntFromHex(h3) / 255;\n}\nfunction parseIntFromHex(val) {\n  return parseInt(val, 16);\n}\nfunction numberInputToObject(color) {\n  return {\n    r: color >> 16,\n    g: (color & 65280) >> 8,\n    b: color & 255\n  };\n}\n\n// node_modules/@ctrl/tinycolor/dist/module/css-color-names.js\nvar names = {\n  aliceblue: \"#f0f8ff\",\n  antiquewhite: \"#faebd7\",\n  aqua: \"#00ffff\",\n  aquamarine: \"#7fffd4\",\n  azure: \"#f0ffff\",\n  beige: \"#f5f5dc\",\n  bisque: \"#ffe4c4\",\n  black: \"#000000\",\n  blanchedalmond: \"#ffebcd\",\n  blue: \"#0000ff\",\n  blueviolet: \"#8a2be2\",\n  brown: \"#a52a2a\",\n  burlywood: \"#deb887\",\n  cadetblue: \"#5f9ea0\",\n  chartreuse: \"#7fff00\",\n  chocolate: \"#d2691e\",\n  coral: \"#ff7f50\",\n  cornflowerblue: \"#6495ed\",\n  cornsilk: \"#fff8dc\",\n  crimson: \"#dc143c\",\n  cyan: \"#00ffff\",\n  darkblue: \"#00008b\",\n  darkcyan: \"#008b8b\",\n  darkgoldenrod: \"#b8860b\",\n  darkgray: \"#a9a9a9\",\n  darkgreen: \"#006400\",\n  darkgrey: \"#a9a9a9\",\n  darkkhaki: \"#bdb76b\",\n  darkmagenta: \"#8b008b\",\n  darkolivegreen: \"#556b2f\",\n  darkorange: \"#ff8c00\",\n  darkorchid: \"#9932cc\",\n  darkred: \"#8b0000\",\n  darksalmon: \"#e9967a\",\n  darkseagreen: \"#8fbc8f\",\n  darkslateblue: \"#483d8b\",\n  darkslategray: \"#2f4f4f\",\n  darkslategrey: \"#2f4f4f\",\n  darkturquoise: \"#00ced1\",\n  darkviolet: \"#9400d3\",\n  deeppink: \"#ff1493\",\n  deepskyblue: \"#00bfff\",\n  dimgray: \"#696969\",\n  dimgrey: \"#696969\",\n  dodgerblue: \"#1e90ff\",\n  firebrick: \"#b22222\",\n  floralwhite: \"#fffaf0\",\n  forestgreen: \"#228b22\",\n  fuchsia: \"#ff00ff\",\n  gainsboro: \"#dcdcdc\",\n  ghostwhite: \"#f8f8ff\",\n  goldenrod: \"#daa520\",\n  gold: \"#ffd700\",\n  gray: \"#808080\",\n  green: \"#008000\",\n  greenyellow: \"#adff2f\",\n  grey: \"#808080\",\n  honeydew: \"#f0fff0\",\n  hotpink: \"#ff69b4\",\n  indianred: \"#cd5c5c\",\n  indigo: \"#4b0082\",\n  ivory: \"#fffff0\",\n  khaki: \"#f0e68c\",\n  lavenderblush: \"#fff0f5\",\n  lavender: \"#e6e6fa\",\n  lawngreen: \"#7cfc00\",\n  lemonchiffon: \"#fffacd\",\n  lightblue: \"#add8e6\",\n  lightcoral: \"#f08080\",\n  lightcyan: \"#e0ffff\",\n  lightgoldenrodyellow: \"#fafad2\",\n  lightgray: \"#d3d3d3\",\n  lightgreen: \"#90ee90\",\n  lightgrey: \"#d3d3d3\",\n  lightpink: \"#ffb6c1\",\n  lightsalmon: \"#ffa07a\",\n  lightseagreen: \"#20b2aa\",\n  lightskyblue: \"#87cefa\",\n  lightslategray: \"#778899\",\n  lightslategrey: \"#778899\",\n  lightsteelblue: \"#b0c4de\",\n  lightyellow: \"#ffffe0\",\n  lime: \"#00ff00\",\n  limegreen: \"#32cd32\",\n  linen: \"#faf0e6\",\n  magenta: \"#ff00ff\",\n  maroon: \"#800000\",\n  mediumaquamarine: \"#66cdaa\",\n  mediumblue: \"#0000cd\",\n  mediumorchid: \"#ba55d3\",\n  mediumpurple: \"#9370db\",\n  mediumseagreen: \"#3cb371\",\n  mediumslateblue: \"#7b68ee\",\n  mediumspringgreen: \"#00fa9a\",\n  mediumturquoise: \"#48d1cc\",\n  mediumvioletred: \"#c71585\",\n  midnightblue: \"#191970\",\n  mintcream: \"#f5fffa\",\n  mistyrose: \"#ffe4e1\",\n  moccasin: \"#ffe4b5\",\n  navajowhite: \"#ffdead\",\n  navy: \"#000080\",\n  oldlace: \"#fdf5e6\",\n  olive: \"#808000\",\n  olivedrab: \"#6b8e23\",\n  orange: \"#ffa500\",\n  orangered: \"#ff4500\",\n  orchid: \"#da70d6\",\n  palegoldenrod: \"#eee8aa\",\n  palegreen: \"#98fb98\",\n  paleturquoise: \"#afeeee\",\n  palevioletred: \"#db7093\",\n  papayawhip: \"#ffefd5\",\n  peachpuff: \"#ffdab9\",\n  peru: \"#cd853f\",\n  pink: \"#ffc0cb\",\n  plum: \"#dda0dd\",\n  powderblue: \"#b0e0e6\",\n  purple: \"#800080\",\n  rebeccapurple: \"#663399\",\n  red: \"#ff0000\",\n  rosybrown: \"#bc8f8f\",\n  royalblue: \"#4169e1\",\n  saddlebrown: \"#8b4513\",\n  salmon: \"#fa8072\",\n  sandybrown: \"#f4a460\",\n  seagreen: \"#2e8b57\",\n  seashell: \"#fff5ee\",\n  sienna: \"#a0522d\",\n  silver: \"#c0c0c0\",\n  skyblue: \"#87ceeb\",\n  slateblue: \"#6a5acd\",\n  slategray: \"#708090\",\n  slategrey: \"#708090\",\n  snow: \"#fffafa\",\n  springgreen: \"#00ff7f\",\n  steelblue: \"#4682b4\",\n  tan: \"#d2b48c\",\n  teal: \"#008080\",\n  thistle: \"#d8bfd8\",\n  tomato: \"#ff6347\",\n  turquoise: \"#40e0d0\",\n  violet: \"#ee82ee\",\n  wheat: \"#f5deb3\",\n  white: \"#ffffff\",\n  whitesmoke: \"#f5f5f5\",\n  yellow: \"#ffff00\",\n  yellowgreen: \"#9acd32\"\n};\n\n// node_modules/@ctrl/tinycolor/dist/module/format-input.js\nfunction inputToRGB(color) {\n  let rgb = { r: 0, g: 0, b: 0 };\n  let a3 = 1;\n  let s4 = null;\n  let v2 = null;\n  let l4 = null;\n  let ok = false;\n  let format = false;\n  if (typeof color === \"string\") {\n    color = stringInputToObject(color);\n  }\n  if (typeof color === \"object\") {\n    if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n      rgb = rgbToRgb(color.r, color.g, color.b);\n      ok = true;\n      format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n    } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n      s4 = convertToPercentage(color.s);\n      v2 = convertToPercentage(color.v);\n      rgb = hsvToRgb(color.h, s4, v2);\n      ok = true;\n      format = \"hsv\";\n    } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n      s4 = convertToPercentage(color.s);\n      l4 = convertToPercentage(color.l);\n      rgb = hslToRgb(color.h, s4, l4);\n      ok = true;\n      format = \"hsl\";\n    } else if (isValidCSSUnit(color.c) && isValidCSSUnit(color.m) && isValidCSSUnit(color.y) && isValidCSSUnit(color.k)) {\n      rgb = cmykToRgb(color.c, color.m, color.y, color.k);\n      ok = true;\n      format = \"cmyk\";\n    }\n    if (Object.prototype.hasOwnProperty.call(color, \"a\")) {\n      a3 = color.a;\n    }\n  }\n  a3 = boundAlpha(a3);\n  return {\n    ok,\n    format: color.format || format,\n    r: Math.min(255, Math.max(rgb.r, 0)),\n    g: Math.min(255, Math.max(rgb.g, 0)),\n    b: Math.min(255, Math.max(rgb.b, 0)),\n    a: a3\n  };\n}\nvar CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\nvar CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\nvar CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar PERMISSIVE_MATCH4 = (\n  // eslint-disable-next-line prettier/prettier\n  \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\"\n);\nvar matchers = {\n  CSS_UNIT: new RegExp(CSS_UNIT),\n  rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n  rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n  hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n  hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n  hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n  hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n  cmyk: new RegExp(\"cmyk\" + PERMISSIVE_MATCH4),\n  hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n  hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n  hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n  hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n};\nfunction stringInputToObject(color) {\n  color = color.trim().toLowerCase();\n  if (color.length === 0) {\n    return false;\n  }\n  let named = false;\n  if (names[color]) {\n    color = names[color];\n    named = true;\n  } else if (color === \"transparent\") {\n    return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n  }\n  let match = matchers.rgb.exec(color);\n  if (match) {\n    return { r: match[1], g: match[2], b: match[3] };\n  }\n  match = matchers.rgba.exec(color);\n  if (match) {\n    return { r: match[1], g: match[2], b: match[3], a: match[4] };\n  }\n  match = matchers.hsl.exec(color);\n  if (match) {\n    return { h: match[1], s: match[2], l: match[3] };\n  }\n  match = matchers.hsla.exec(color);\n  if (match) {\n    return { h: match[1], s: match[2], l: match[3], a: match[4] };\n  }\n  match = matchers.hsv.exec(color);\n  if (match) {\n    return { h: match[1], s: match[2], v: match[3] };\n  }\n  match = matchers.hsva.exec(color);\n  if (match) {\n    return { h: match[1], s: match[2], v: match[3], a: match[4] };\n  }\n  match = matchers.cmyk.exec(color);\n  if (match) {\n    return {\n      c: match[1],\n      m: match[2],\n      y: match[3],\n      k: match[4]\n    };\n  }\n  match = matchers.hex8.exec(color);\n  if (match) {\n    return {\n      r: parseIntFromHex(match[1]),\n      g: parseIntFromHex(match[2]),\n      b: parseIntFromHex(match[3]),\n      a: convertHexToDecimal(match[4]),\n      format: named ? \"name\" : \"hex8\"\n    };\n  }\n  match = matchers.hex6.exec(color);\n  if (match) {\n    return {\n      r: parseIntFromHex(match[1]),\n      g: parseIntFromHex(match[2]),\n      b: parseIntFromHex(match[3]),\n      format: named ? \"name\" : \"hex\"\n    };\n  }\n  match = matchers.hex4.exec(color);\n  if (match) {\n    return {\n      r: parseIntFromHex(match[1] + match[1]),\n      g: parseIntFromHex(match[2] + match[2]),\n      b: parseIntFromHex(match[3] + match[3]),\n      a: convertHexToDecimal(match[4] + match[4]),\n      format: named ? \"name\" : \"hex8\"\n    };\n  }\n  match = matchers.hex3.exec(color);\n  if (match) {\n    return {\n      r: parseIntFromHex(match[1] + match[1]),\n      g: parseIntFromHex(match[2] + match[2]),\n      b: parseIntFromHex(match[3] + match[3]),\n      format: named ? \"name\" : \"hex\"\n    };\n  }\n  return false;\n}\nfunction isValidCSSUnit(color) {\n  if (typeof color === \"number\") {\n    return !Number.isNaN(color);\n  }\n  return matchers.CSS_UNIT.test(color);\n}\n\n// node_modules/@ctrl/tinycolor/dist/module/index.js\nvar TinyColor = class _TinyColor {\n  constructor(color = \"\", opts = {}) {\n    if (color instanceof _TinyColor) {\n      return color;\n    }\n    if (typeof color === \"number\") {\n      color = numberInputToObject(color);\n    }\n    this.originalInput = color;\n    const rgb = inputToRGB(color);\n    this.originalInput = color;\n    this.r = rgb.r;\n    this.g = rgb.g;\n    this.b = rgb.b;\n    this.a = rgb.a;\n    this.roundA = Math.round(100 * this.a) / 100;\n    this.format = opts.format ?? rgb.format;\n    this.gradientType = opts.gradientType;\n    if (this.r < 1) {\n      this.r = Math.round(this.r);\n    }\n    if (this.g < 1) {\n      this.g = Math.round(this.g);\n    }\n    if (this.b < 1) {\n      this.b = Math.round(this.b);\n    }\n    this.isValid = rgb.ok;\n  }\n  isDark() {\n    return this.getBrightness() < 128;\n  }\n  isLight() {\n    return !this.isDark();\n  }\n  /**\n   * Returns the perceived brightness of the color, from 0-255.\n   */\n  getBrightness() {\n    const rgb = this.toRgb();\n    return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1e3;\n  }\n  /**\n   * Returns the perceived luminance of a color, from 0-1.\n   */\n  getLuminance() {\n    const rgb = this.toRgb();\n    let R2;\n    let G2;\n    let B2;\n    const RsRGB = rgb.r / 255;\n    const GsRGB = rgb.g / 255;\n    const BsRGB = rgb.b / 255;\n    if (RsRGB <= 0.03928) {\n      R2 = RsRGB / 12.92;\n    } else {\n      R2 = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n    }\n    if (GsRGB <= 0.03928) {\n      G2 = GsRGB / 12.92;\n    } else {\n      G2 = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n    }\n    if (BsRGB <= 0.03928) {\n      B2 = BsRGB / 12.92;\n    } else {\n      B2 = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n    }\n    return 0.2126 * R2 + 0.7152 * G2 + 0.0722 * B2;\n  }\n  /**\n   * Returns the alpha value of a color, from 0-1.\n   */\n  getAlpha() {\n    return this.a;\n  }\n  /**\n   * Sets the alpha value on the current color.\n   *\n   * @param alpha - The new alpha value. The accepted range is 0-1.\n   */\n  setAlpha(alpha) {\n    this.a = boundAlpha(alpha);\n    this.roundA = Math.round(100 * this.a) / 100;\n    return this;\n  }\n  /**\n   * Returns whether the color is monochrome.\n   */\n  isMonochrome() {\n    const { s: s4 } = this.toHsl();\n    return s4 === 0;\n  }\n  /**\n   * Returns the object as a HSVA object.\n   */\n  toHsv() {\n    const hsv = rgbToHsv(this.r, this.g, this.b);\n    return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n  }\n  /**\n   * Returns the hsva values interpolated into a string with the following format:\n   * \"hsva(xxx, xxx, xxx, xx)\".\n   */\n  toHsvString() {\n    const hsv = rgbToHsv(this.r, this.g, this.b);\n    const h3 = Math.round(hsv.h * 360);\n    const s4 = Math.round(hsv.s * 100);\n    const v2 = Math.round(hsv.v * 100);\n    return this.a === 1 ? `hsv(${h3}, ${s4}%, ${v2}%)` : `hsva(${h3}, ${s4}%, ${v2}%, ${this.roundA})`;\n  }\n  /**\n   * Returns the object as a HSLA object.\n   */\n  toHsl() {\n    const hsl = rgbToHsl(this.r, this.g, this.b);\n    return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n  }\n  /**\n   * Returns the hsla values interpolated into a string with the following format:\n   * \"hsla(xxx, xxx, xxx, xx)\".\n   */\n  toHslString() {\n    const hsl = rgbToHsl(this.r, this.g, this.b);\n    const h3 = Math.round(hsl.h * 360);\n    const s4 = Math.round(hsl.s * 100);\n    const l4 = Math.round(hsl.l * 100);\n    return this.a === 1 ? `hsl(${h3}, ${s4}%, ${l4}%)` : `hsla(${h3}, ${s4}%, ${l4}%, ${this.roundA})`;\n  }\n  /**\n   * Returns the hex value of the color.\n   * @param allow3Char will shorten hex value to 3 char if possible\n   */\n  toHex(allow3Char = false) {\n    return rgbToHex(this.r, this.g, this.b, allow3Char);\n  }\n  /**\n   * Returns the hex value of the color -with a # prefixed.\n   * @param allow3Char will shorten hex value to 3 char if possible\n   */\n  toHexString(allow3Char = false) {\n    return \"#\" + this.toHex(allow3Char);\n  }\n  /**\n   * Returns the hex 8 value of the color.\n   * @param allow4Char will shorten hex value to 4 char if possible\n   */\n  toHex8(allow4Char = false) {\n    return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n  }\n  /**\n   * Returns the hex 8 value of the color -with a # prefixed.\n   * @param allow4Char will shorten hex value to 4 char if possible\n   */\n  toHex8String(allow4Char = false) {\n    return \"#\" + this.toHex8(allow4Char);\n  }\n  /**\n   * Returns the shorter hex value of the color depends on its alpha -with a # prefixed.\n   * @param allowShortChar will shorten hex value to 3 or 4 char if possible\n   */\n  toHexShortString(allowShortChar = false) {\n    return this.a === 1 ? this.toHexString(allowShortChar) : this.toHex8String(allowShortChar);\n  }\n  /**\n   * Returns the object as a RGBA object.\n   */\n  toRgb() {\n    return {\n      r: Math.round(this.r),\n      g: Math.round(this.g),\n      b: Math.round(this.b),\n      a: this.a\n    };\n  }\n  /**\n   * Returns the RGBA values interpolated into a string with the following format:\n   * \"RGBA(xxx, xxx, xxx, xx)\".\n   */\n  toRgbString() {\n    const r8 = Math.round(this.r);\n    const g2 = Math.round(this.g);\n    const b3 = Math.round(this.b);\n    return this.a === 1 ? `rgb(${r8}, ${g2}, ${b3})` : `rgba(${r8}, ${g2}, ${b3}, ${this.roundA})`;\n  }\n  /**\n   * Returns the object as a RGBA object.\n   */\n  toPercentageRgb() {\n    const fmt = (x2) => `${Math.round(bound01(x2, 255) * 100)}%`;\n    return {\n      r: fmt(this.r),\n      g: fmt(this.g),\n      b: fmt(this.b),\n      a: this.a\n    };\n  }\n  /**\n   * Returns the RGBA relative values interpolated into a string\n   */\n  toPercentageRgbString() {\n    const rnd = (x2) => Math.round(bound01(x2, 255) * 100);\n    return this.a === 1 ? `rgb(${rnd(this.r)}%, ${rnd(this.g)}%, ${rnd(this.b)}%)` : `rgba(${rnd(this.r)}%, ${rnd(this.g)}%, ${rnd(this.b)}%, ${this.roundA})`;\n  }\n  toCmyk() {\n    return {\n      ...rgbToCmyk(this.r, this.g, this.b)\n    };\n  }\n  toCmykString() {\n    const { c: c4, m: m3, y: y3, k: k2 } = rgbToCmyk(this.r, this.g, this.b);\n    return `cmyk(${c4}, ${m3}, ${y3}, ${k2})`;\n  }\n  /**\n   * The 'real' name of the color -if there is one.\n   */\n  toName() {\n    if (this.a === 0) {\n      return \"transparent\";\n    }\n    if (this.a < 1) {\n      return false;\n    }\n    const hex = \"#\" + rgbToHex(this.r, this.g, this.b, false);\n    for (const [key, value] of Object.entries(names)) {\n      if (hex === value) {\n        return key;\n      }\n    }\n    return false;\n  }\n  toString(format) {\n    const formatSet = Boolean(format);\n    format = format ?? this.format;\n    let formattedString = false;\n    const hasAlpha = this.a < 1 && this.a >= 0;\n    const needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith(\"hex\") || format === \"name\");\n    if (needsAlphaFormat) {\n      if (format === \"name\" && this.a === 0) {\n        return this.toName();\n      }\n      return this.toRgbString();\n    }\n    if (format === \"rgb\") {\n      formattedString = this.toRgbString();\n    }\n    if (format === \"prgb\") {\n      formattedString = this.toPercentageRgbString();\n    }\n    if (format === \"hex\" || format === \"hex6\") {\n      formattedString = this.toHexString();\n    }\n    if (format === \"hex3\") {\n      formattedString = this.toHexString(true);\n    }\n    if (format === \"hex4\") {\n      formattedString = this.toHex8String(true);\n    }\n    if (format === \"hex8\") {\n      formattedString = this.toHex8String();\n    }\n    if (format === \"name\") {\n      formattedString = this.toName();\n    }\n    if (format === \"hsl\") {\n      formattedString = this.toHslString();\n    }\n    if (format === \"hsv\") {\n      formattedString = this.toHsvString();\n    }\n    if (format === \"cmyk\") {\n      formattedString = this.toCmykString();\n    }\n    return formattedString || this.toHexString();\n  }\n  toNumber() {\n    return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n  }\n  clone() {\n    return new _TinyColor(this.toString());\n  }\n  /**\n   * Lighten the color a given amount. Providing 100 will always return white.\n   * @param amount - valid between 1-100\n   */\n  lighten(amount = 10) {\n    const hsl = this.toHsl();\n    hsl.l += amount / 100;\n    hsl.l = clamp01(hsl.l);\n    return new _TinyColor(hsl);\n  }\n  /**\n   * Brighten the color a given amount, from 0 to 100.\n   * @param amount - valid between 1-100\n   */\n  brighten(amount = 10) {\n    const rgb = this.toRgb();\n    rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n    rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n    rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n    return new _TinyColor(rgb);\n  }\n  /**\n   * Darken the color a given amount, from 0 to 100.\n   * Providing 100 will always return black.\n   * @param amount - valid between 1-100\n   */\n  darken(amount = 10) {\n    const hsl = this.toHsl();\n    hsl.l -= amount / 100;\n    hsl.l = clamp01(hsl.l);\n    return new _TinyColor(hsl);\n  }\n  /**\n   * Mix the color with pure white, from 0 to 100.\n   * Providing 0 will do nothing, providing 100 will always return white.\n   * @param amount - valid between 1-100\n   */\n  tint(amount = 10) {\n    return this.mix(\"white\", amount);\n  }\n  /**\n   * Mix the color with pure black, from 0 to 100.\n   * Providing 0 will do nothing, providing 100 will always return black.\n   * @param amount - valid between 1-100\n   */\n  shade(amount = 10) {\n    return this.mix(\"black\", amount);\n  }\n  /**\n   * Desaturate the color a given amount, from 0 to 100.\n   * Providing 100 will is the same as calling greyscale\n   * @param amount - valid between 1-100\n   */\n  desaturate(amount = 10) {\n    const hsl = this.toHsl();\n    hsl.s -= amount / 100;\n    hsl.s = clamp01(hsl.s);\n    return new _TinyColor(hsl);\n  }\n  /**\n   * Saturate the color a given amount, from 0 to 100.\n   * @param amount - valid between 1-100\n   */\n  saturate(amount = 10) {\n    const hsl = this.toHsl();\n    hsl.s += amount / 100;\n    hsl.s = clamp01(hsl.s);\n    return new _TinyColor(hsl);\n  }\n  /**\n   * Completely desaturates a color into greyscale.\n   * Same as calling `desaturate(100)`\n   */\n  greyscale() {\n    return this.desaturate(100);\n  }\n  /**\n   * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n   * Values outside of this range will be wrapped into this range.\n   */\n  spin(amount) {\n    const hsl = this.toHsl();\n    const hue = (hsl.h + amount) % 360;\n    hsl.h = hue < 0 ? 360 + hue : hue;\n    return new _TinyColor(hsl);\n  }\n  /**\n   * Mix the current color a given amount with another color, from 0 to 100.\n   * 0 means no mixing (return current color).\n   */\n  mix(color, amount = 50) {\n    const rgb1 = this.toRgb();\n    const rgb2 = new _TinyColor(color).toRgb();\n    const p3 = amount / 100;\n    const rgba = {\n      r: (rgb2.r - rgb1.r) * p3 + rgb1.r,\n      g: (rgb2.g - rgb1.g) * p3 + rgb1.g,\n      b: (rgb2.b - rgb1.b) * p3 + rgb1.b,\n      a: (rgb2.a - rgb1.a) * p3 + rgb1.a\n    };\n    return new _TinyColor(rgba);\n  }\n  analogous(results = 6, slices = 30) {\n    const hsl = this.toHsl();\n    const part = 360 / slices;\n    const ret = [this];\n    for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results; ) {\n      hsl.h = (hsl.h + part) % 360;\n      ret.push(new _TinyColor(hsl));\n    }\n    return ret;\n  }\n  /**\n   * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n   */\n  complement() {\n    const hsl = this.toHsl();\n    hsl.h = (hsl.h + 180) % 360;\n    return new _TinyColor(hsl);\n  }\n  monochromatic(results = 6) {\n    const hsv = this.toHsv();\n    const { h: h3 } = hsv;\n    const { s: s4 } = hsv;\n    let { v: v2 } = hsv;\n    const res = [];\n    const modification = 1 / results;\n    while (results--) {\n      res.push(new _TinyColor({ h: h3, s: s4, v: v2 }));\n      v2 = (v2 + modification) % 1;\n    }\n    return res;\n  }\n  splitcomplement() {\n    const hsl = this.toHsl();\n    const { h: h3 } = hsl;\n    return [\n      this,\n      new _TinyColor({ h: (h3 + 72) % 360, s: hsl.s, l: hsl.l }),\n      new _TinyColor({ h: (h3 + 216) % 360, s: hsl.s, l: hsl.l })\n    ];\n  }\n  /**\n   * Compute how the color would appear on a background\n   */\n  onBackground(background) {\n    const fg = this.toRgb();\n    const bg = new _TinyColor(background).toRgb();\n    const alpha = fg.a + bg.a * (1 - fg.a);\n    return new _TinyColor({\n      r: (fg.r * fg.a + bg.r * bg.a * (1 - fg.a)) / alpha,\n      g: (fg.g * fg.a + bg.g * bg.a * (1 - fg.a)) / alpha,\n      b: (fg.b * fg.a + bg.b * bg.a * (1 - fg.a)) / alpha,\n      a: alpha\n    });\n  }\n  /**\n   * Alias for `polyad(3)`\n   */\n  triad() {\n    return this.polyad(3);\n  }\n  /**\n   * Alias for `polyad(4)`\n   */\n  tetrad() {\n    return this.polyad(4);\n  }\n  /**\n   * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n   * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n   */\n  polyad(n6) {\n    const hsl = this.toHsl();\n    const { h: h3 } = hsl;\n    const result = [this];\n    const increment = 360 / n6;\n    for (let i8 = 1; i8 < n6; i8++) {\n      result.push(new _TinyColor({ h: (h3 + i8 * increment) % 360, s: hsl.s, l: hsl.l }));\n    }\n    return result;\n  }\n  /**\n   * compare color vs current color\n   */\n  equals(color) {\n    const comparedColor = new _TinyColor(color);\n    if (this.format === \"cmyk\" || comparedColor.format === \"cmyk\") {\n      return this.toCmykString() === comparedColor.toCmykString();\n    }\n    return this.toRgbString() === comparedColor.toRgbString();\n  }\n};\n\n// node_modules/nanoid/url-alphabet/index.js\nvar urlAlphabet = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\n\n// node_modules/nanoid/index.browser.js\nvar nanoid = (size3 = 21) => {\n  let id3 = \"\";\n  let bytes = crypto.getRandomValues(new Uint8Array(size3 |= 0));\n  while (size3--) {\n    id3 += urlAlphabet[bytes[size3] & 63];\n  }\n  return id3;\n};\n\n// src/internal/math.ts\nfunction clamp(value, min2, max2) {\n  const noNegativeZero = (number) => Object.is(number, -0) ? 0 : number;\n  if (value < min2) {\n    return noNegativeZero(min2);\n  }\n  if (value > max2) {\n    return noNegativeZero(max2);\n  }\n  return noNegativeZero(value);\n}\nfunction uniqueID(prefix = \"\") {\n  return `${prefix}${nanoid()}`;\n}\n\n// src/internal/drag.ts\nfunction drag(container, options) {\n  function move(pointerEvent) {\n    const dims = container.getBoundingClientRect();\n    const defaultView = container.ownerDocument.defaultView;\n    const offsetX = dims.left + defaultView.scrollX;\n    const offsetY = dims.top + defaultView.scrollY;\n    const x2 = pointerEvent.pageX - offsetX;\n    const y3 = pointerEvent.pageY - offsetY;\n    if (options?.onMove) {\n      options.onMove(x2, y3);\n    }\n  }\n  function stop() {\n    document.removeEventListener(\"pointermove\", move);\n    document.removeEventListener(\"pointerup\", stop);\n    if (options?.onStop) {\n      options.onStop();\n    }\n  }\n  document.addEventListener(\"pointermove\", move, { passive: true });\n  document.addEventListener(\"pointerup\", stop);\n  if (options?.initialEvent instanceof PointerEvent) {\n    move(options.initialEvent);\n  }\n}\nvar supportsTouch = typeof window !== \"undefined\" && \"ontouchstart\" in window;\nvar DraggableElement = class {\n  constructor(el, options) {\n    this.isActive = false;\n    this.isDragging = false;\n    this.handleDragStart = (event) => {\n      const clientX = supportsTouch && \"touches\" in event ? event.touches[0].clientX : event.clientX;\n      const clientY = supportsTouch && \"touches\" in event ? event.touches[0].clientY : event.clientY;\n      event.preventDefault();\n      if (this.isDragging || !supportsTouch && event.buttons > 1) {\n        return;\n      }\n      this.isDragging = true;\n      document.addEventListener(\"pointerup\", this.handleDragStop);\n      document.addEventListener(\"pointermove\", this.handleDragMove);\n      document.addEventListener(\"touchend\", this.handleDragStop);\n      document.addEventListener(\"touchmove\", this.handleDragMove);\n      this.options.start(clientX, clientY);\n    };\n    this.handleDragStop = (event) => {\n      const clientX = supportsTouch && \"touches\" in event ? event.touches[0].clientX : event.clientX;\n      const clientY = supportsTouch && \"touches\" in event ? event.touches[0].clientY : event.clientY;\n      this.isDragging = false;\n      document.removeEventListener(\"pointerup\", this.handleDragStop);\n      document.removeEventListener(\"pointermove\", this.handleDragMove);\n      document.removeEventListener(\"touchend\", this.handleDragStop);\n      document.removeEventListener(\"touchmove\", this.handleDragMove);\n      this.options.stop(clientX, clientY);\n    };\n    this.handleDragMove = (event) => {\n      const clientX = supportsTouch && \"touches\" in event ? event.touches[0].clientX : event.clientX;\n      const clientY = supportsTouch && \"touches\" in event ? event.touches[0].clientY : event.clientY;\n      window.getSelection()?.removeAllRanges();\n      this.options.move(clientX, clientY);\n    };\n    this.element = el;\n    this.options = {\n      start: () => void 0,\n      stop: () => void 0,\n      move: () => void 0,\n      ...options\n    };\n    this.start();\n  }\n  /** Start listening to drags. */\n  start() {\n    if (!this.isActive) {\n      this.element.addEventListener(\n        \"pointerdown\",\n        this.handleDragStart\n      );\n      if (supportsTouch) {\n        this.element.addEventListener(\n          \"touchstart\",\n          this.handleDragStart\n        );\n      }\n      this.isActive = true;\n    }\n  }\n  /** Stop listening to drags. */\n  stop() {\n    document.removeEventListener(\"pointerup\", this.handleDragStop);\n    document.removeEventListener(\"pointermove\", this.handleDragMove);\n    document.removeEventListener(\"touchend\", this.handleDragStop);\n    document.removeEventListener(\"touchmove\", this.handleDragMove);\n    this.element.removeEventListener(\n      \"pointerdown\",\n      this.handleDragStart\n    );\n    if (supportsTouch) {\n      this.element.removeEventListener(\n        \"touchstart\",\n        this.handleDragStart\n      );\n    }\n    this.isActive = false;\n    this.isDragging = false;\n  }\n  /** Starts or stops the drag listeners. */\n  toggle(isActive) {\n    const isGoingToBeActive = isActive !== void 0 ? isActive : !this.isActive;\n    if (isGoingToBeActive) {\n      this.start();\n    } else {\n      this.stop();\n    }\n  }\n};\n\n// src/internal/event.ts\nfunction waitForEvent(element, eventName) {\n  return new Promise((resolve) => {\n    function done(event) {\n      if (event.target === element) {\n        element.removeEventListener(eventName, done);\n        resolve();\n      }\n    }\n    element.addEventListener(eventName, done);\n  });\n}\n\n// src/events/pc-clear.ts\nvar PcClearEvent = class extends Event {\n  constructor() {\n    super(\"pc-clear\", { bubbles: true, cancelable: false, composed: true });\n  }\n};\n\n// src/internal/submit-on-enter.ts\nfunction submitOnEnter(event, element) {\n  const hasModifier = event.metaKey || event.ctrlKey || event.shiftKey || event.altKey;\n  if (event.key === \"Enter\" && !hasModifier) {\n    setTimeout(() => {\n      if (!event.defaultPrevented && !event.isComposing) {\n        submitForm(element);\n      }\n    });\n  }\n}\nfunction submitForm(element) {\n  let form = null;\n  if (\"form\" in element && typeof element.form === \"object\") {\n    form = element.form;\n  }\n  if (!form && \"getForm\" in element) {\n    form = element.getForm();\n  }\n  if (!form) {\n    return;\n  }\n  const formElements = [...form.elements];\n  if (formElements.length === 1) {\n    form.requestSubmit(null);\n    return;\n  }\n  const button = formElements.find(\n    (elem) => (elem instanceof HTMLButtonElement || elem.localName === \"pc-button\") && elem.getAttribute(\"type\") === \"submit\" && !elem.matches(\":disabled\")\n  );\n  if (!button) {\n    return;\n  }\n  if ([\"input\", \"button\"].includes(button.localName)) {\n    form.requestSubmit(button);\n  } else {\n    button.click();\n  }\n}\n\n// src/components/input/input.css\nvar input_default = ':host {\\n    border-width: 0;\\n}\\n\\n.text-field {\\n    display: flex;\\n    position: relative;\\n    align-items: stretch;\\n    justify-content: flex-start;\\n    flex: auto;\\n    inline-size: 100%;\\n    block-size: var(--pc-form-control-height);\\n    background-color: var(--pc-form-control-background-color);\\n    color: var(--pc-form-control-value-color);\\n    border: var(--pc-form-control-border-width)\\n        var(--pc-form-control-border-style) var(--pc-form-control-border-color);\\n    border-radius: var(--pc-form-control-border-radius);\\n    padding: 0 var(--pc-form-control-padding-inline);\\n    font-family: inherit;\\n    font-weight: var(--pc-form-control-value-font-weight);\\n    line-height: var(--pc-form-control-value-line-height);\\n    vertical-align: middle;\\n    overflow: hidden;\\n    cursor: text;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n@media (hover: hover) {\\n    .text-field:not(:has(:disabled), :focus-within):hover {\\n        border-color: color-mix(\\n            in oklab,\\n            var(--pc-form-control-border-color),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n.text-field:focus-within {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.text-field:has(:disabled) {\\n    opacity: 0.5;\\n    cursor: not-allowed;\\n}\\n\\n:host([filled]) .text-field {\\n    background-color: var(--pc-color-neutral-fill-quiet);\\n    border-color: var(--pc-color-neutral-fill-quiet);\\n}\\n\\n@media (hover: hover) {\\n    :host([filled]) .text-field:not(:has(:disabled), :focus-within):hover {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-color-neutral-fill-quiet),\\n            var(--pc-color-mix-hover)\\n        );\\n        border-color: color-mix(\\n            in oklab,\\n            var(--pc-color-neutral-fill-quiet),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n:host([pill]) .text-field {\\n    border-radius: var(--pc-border-radius-pill) !important;\\n}\\n\\n.text-field input {\\n    margin: 0;\\n    padding: 0;\\n    block-size: 100%;\\n    border: none;\\n    outline: none;\\n    font: inherit;\\n    cursor: inherit;\\n    -webkit-appearance: none;\\n}\\n\\n.text-field input:-webkit-autofill,\\n.text-field input:-webkit-autofill:hover,\\n.text-field input:-webkit-autofill:focus,\\n.text-field input:-webkit-autofill:active {\\n    background-color: transparent;\\n    -webkit-background-clip: text;\\n    -webkit-text-fill-color: inherit;\\n}\\n\\n.text-field:has(:autofill),\\n.text-field:has(:-webkit-autofill) {\\n    background-color: var(--pc-color-primary-fill-quiet) !important;\\n}\\n\\ninput {\\n    background-color: transparent;\\n    color: inherit;\\n    min-inline-size: 0;\\n    block-size: calc(var(--pc-form-control-height) - var(--border-width) * 1.5);\\n    padding-block: 0;\\n    flex: 1 1 auto;\\n}\\n\\ninput:autofill,\\ninput:autofill:hover,\\ninput:autofill:focus,\\ninput:autofill:active {\\n    box-shadow: none;\\n    caret-color: var(--pc-form-control-value-color);\\n}\\n\\ninput::placeholder {\\n    color: var(--pc-form-control-placeholder-color);\\n    user-select: none;\\n    -webkit-user-select: none;\\n}\\n\\ninput::-webkit-search-decoration,\\ninput::-webkit-search-cancel-button,\\ninput::-webkit-search-results-button,\\ninput::-webkit-search-results-decoration {\\n    -webkit-appearance: none;\\n}\\n\\ninput:focus {\\n    outline: none;\\n}\\n\\n.prefix,\\n.suffix {\\n    display: inline-flex;\\n    align-items: center;\\n    flex: 0 0 auto;\\n    cursor: default;\\n}\\n\\n.prefix::slotted(pc-icon),\\n.suffix::slotted(pc-icon) {\\n    color: var(--pc-color-neutral-on-quiet);\\n}\\n\\n.prefix::slotted(*) {\\n    margin-inline-end: var(--pc-form-control-padding-inline);\\n}\\n\\n.suffix::slotted(*) {\\n    margin-inline-start: var(--pc-form-control-padding-inline);\\n}\\n\\n.clear,\\n.password-toggle {\\n    display: inline-flex;\\n    align-items: center;\\n    justify-content: center;\\n    font-size: inherit;\\n    color: var(--pc-color-neutral-on-quiet);\\n    border: none;\\n    background: none;\\n    padding: 0;\\n    cursor: pointer;\\n    transition: color var(--pc-transition-fast) ease-in-out;\\n}\\n\\n@media (hover: hover) {\\n    .clear:hover,\\n    .password-toggle:hover {\\n        color: color-mix(\\n            in oklab,\\n            var(--pc-color-neutral-on-quiet),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n.clear:active,\\n.password-toggle:active {\\n    color: color-mix(\\n        in oklab,\\n        var(--pc-color-neutral-on-quiet),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n.clear:focus,\\n.password-toggle:focus {\\n    outline: none;\\n}\\n\\n::-ms-reveal {\\n    display: none;\\n}\\n\\n:host([no-spin-buttons]) input[type=\"number\"] {\\n    -moz-appearance: textfield;\\n}\\n\\n:host([no-spin-buttons]) input[type=\"number\"]::-webkit-outer-spin-button,\\n:host([no-spin-buttons]) input[type=\"number\"]::-webkit-inner-spin-button {\\n    -webkit-appearance: none;\\n    display: none;\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n';\n\n// src/components/input/input.ts\nvar PcInput = class extends PlacerFormAssociatedElement {\n  constructor() {\n    super(...arguments);\n    this.assumeInteractionOn = [\"input\", \"blur\"];\n    this.hasSlotController = new HasSlotController(\n      this,\n      \"label\",\n      \"hint\"\n    );\n    this.localize = new LocalizeController2(this);\n    this.title = \"\";\n    this.type = \"text\";\n    this.name = \"\";\n    this._value = null;\n    this.defaultValue = this.getAttribute(\"value\") || null;\n    this.size = \"medium\";\n    this.filled = false;\n    this.pill = false;\n    this.label = \"\";\n    this.hint = \"\";\n    this.clearable = false;\n    this.disabled = false;\n    this.placeholder = \"\";\n    this.readonly = false;\n    this.passwordToggle = false;\n    this.passwordVisible = false;\n    this.noSpinButtons = false;\n    this.required = false;\n    this.autocapitalize = \"none\";\n    this.autocorrect = false;\n    this.enterkeyhint = \"enter\";\n    this.spellcheck = true;\n    this.inputmode = \"text\";\n  }\n  static get validators() {\n    return [...super.validators, MirrorValidator()];\n  }\n  /** The current value of the input, submitted as a name/value pair with form data. */\n  get value() {\n    if (this.valueHasChanged) {\n      return this._value;\n    }\n    return this._value ?? this.defaultValue;\n  }\n  set value(value) {\n    if (this._value === value) {\n      return;\n    }\n    this.valueHasChanged = true;\n    this._value = value;\n  }\n  handleChange(event) {\n    this.value = this.input.value;\n    this.relayNativeEvent(event, { bubbles: true, composed: true });\n  }\n  handleInput() {\n    this.value = this.input.value;\n  }\n  handleClearClick(event) {\n    event.preventDefault();\n    if (this.value !== \"\") {\n      this.value = \"\";\n      this.updateComplete.then(() => {\n        this.dispatchEvent(new PcClearEvent());\n        this.dispatchEvent(\n          new Event(\"change\", { bubbles: true, composed: true })\n        );\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n      });\n    }\n    this.input.focus();\n  }\n  handleKeyDown(event) {\n    submitOnEnter(event, this);\n  }\n  handlePasswordToggle() {\n    this.passwordVisible = !this.passwordVisible;\n  }\n  handleStepChange() {\n    this.input.step = String(this.step);\n    this.updateValidity();\n  }\n  /** Focuses the input. */\n  focus(options) {\n    this.input.focus(options);\n  }\n  /** Unfocuses the input (i.e., blurs it). */\n  blur() {\n    this.input.blur();\n  }\n  /** Selects all the text in the input. */\n  select() {\n    this.input.select();\n  }\n  /** Sets the start and end positions of the text selection (0‐based). */\n  setSelectionRange(selectionStart, selectionEnd, selectionDirection = \"none\") {\n    this.input.setSelectionRange(\n      selectionStart,\n      selectionEnd,\n      selectionDirection\n    );\n  }\n  /** Replaces a range of text with a new string. */\n  setRangeText(replacement, start, end, selectMode = \"preserve\") {\n    const selectionStart = start ?? this.input.selectionStart;\n    const selectionEnd = end ?? this.input.selectionEnd;\n    this.input.setRangeText(\n      replacement,\n      selectionStart,\n      selectionEnd,\n      selectMode\n    );\n    if (this.value !== this.input.value) {\n      this.value = this.input.value;\n    }\n  }\n  /** Displays the browser picker for an input element. This only works if the browser supports it for the input type. */\n  showPicker() {\n    if (\"showPicker\" in HTMLInputElement.prototype) {\n      this.input.showPicker();\n    }\n  }\n  /** Increments the value of a numeric input type by the value of the step attribute. */\n  stepUp() {\n    this.input.stepUp();\n    if (this.value !== this.input.value) {\n      this.value = this.input.value;\n    }\n  }\n  /** Decrements the value of a numeric input type by the value of the step attribute. */\n  stepDown() {\n    this.input.stepDown();\n    if (this.value !== this.input.value) {\n      this.value = this.input.value;\n    }\n  }\n  formResetCallback() {\n    this.value = this.defaultValue;\n    super.formResetCallback();\n  }\n  render() {\n    const hasLabelSlot = this.hasSlotController.test(\"label\");\n    const hasHintSlot = this.hasSlotController.test(\"hint\");\n    const hasLabel = this.label ? true : !!hasLabelSlot;\n    const hasHint = this.hint ? true : !!hasHintSlot;\n    const hasClearIcon = this.clearable && !this.disabled && !this.readonly;\n    const isClearIconVisible = hasClearIcon && (typeof this.value === \"number\" || this.value && this.value.length > 0);\n    return x`\n            <div\n                part=\"form-control\"\n                class=\"form-control form-control-has-label\"\n            >\n                <label\n                    part=\"label\"\n                    class=\"label\"\n                    for=\"input\"\n                    aria-hidden=${hasLabel ? \"false\" : \"true\"}\n                >\n                    <slot name=\"label\">${this.label}</slot>\n                </label>\n\n                <div part=\"input\" class=\"text-field\">\n                    <slot class=\"prefix\" part=\"prefix\" name=\"prefix\"></slot>\n\n                    <input\n                        part=\"base\"\n                        class=\"control\"\n                        id=\"input\"\n                        type=${this.type === \"password\" && this.passwordVisible ? \"text\" : this.type}\n                        title=${this.title}\n                        name=${o6(this.name)}\n                        ?disabled=${this.disabled}\n                        ?readonly=${this.readonly}\n                        ?required=${this.required}\n                        placeholder=${o6(this.placeholder)}\n                        min=${o6(this.min)}\n                        minlength=${o6(this.minlength)}\n                        max=${o6(this.max)}\n                        maxlength=${o6(this.maxlength)}\n                        step=${o6(this.step)}\n                        .value=${l3(this.value)}\n                        autocapitalize=${o6(this.autocapitalize)}\n                        autocomplete=${o6(this.autocomplete)}\n                        autocorrect=${o6(this.autocorrect)}\n                        ?autofocus=${this.autofocus}\n                        spellcheck=${this.spellcheck}\n                        pattern=${o6(this.pattern)}\n                        enterkeyhint=${o6(this.enterkeyhint)}\n                        inputmode=${o6(this.inputmode)}\n                        aria-describedby=\"hint\"\n                        @change=${this.handleChange}\n                        @input=${this.handleInput}\n                        @keydown=${this.handleKeyDown}\n                    />\n\n                    ${isClearIconVisible ? x`\n                              <button\n                                  class=\"clear\"\n                                  part=\"clear-button\"\n                                  type=\"button\"\n                                  aria-label=${this.localize.term(\"clearEntry\")}\n                                  @click=${this.handleClearClick}\n                                  tabindex=\"-1\"\n                              >\n                                  <slot name=\"clear-icon\">\n                                      <pc-icon\n                                          library=\"system\"\n                                          icon-style=\"regular\"\n                                          name=\"circle-xmark\"\n                                      ></pc-icon>\n                                  </slot>\n                              </button>\n                          ` : \"\"}\n                    ${this.passwordToggle && !this.disabled ? x`\n                              <button\n                                  class=\"password-toggle\"\n                                  part=\"password-toggle-button\"\n                                  type=\"button\"\n                                  aria-label=${this.localize.term(\n      this.passwordVisible ? \"hidePassword\" : \"showPassword\"\n    )}\n                                  @click=${this.handlePasswordToggle}\n                                  tabindex=\"-1\"\n                              >\n                                  ${!this.passwordVisible ? x`\n                                            <slot name=\"show-password-icon\">\n                                                <pc-icon\n                                                    library=\"system\"\n                                                    icon-style=\"regular\"\n                                                    name=\"eye-slash\"\n                                                ></pc-icon>\n                                            </slot>\n                                        ` : x`\n                                            <slot name=\"hide-password-icon\">\n                                                <pc-icon\n                                                    library=\"system\"\n                                                    icon-style=\"regular\"\n                                                    name=\"eye\"\n                                                ></pc-icon>\n                                            </slot>\n                                        `}\n                              </button>\n                          ` : \"\"}\n\n                    <slot class=\"suffix\" part=\"suffix\" name=\"suffix\"></slot>\n                </div>\n\n                <slot\n                    class=${e7({ \"has-hint\": hasHint })}\n                    part=\"hint\"\n                    id=\"hint\"\n                    name=\"hint\"\n                    aria-hidden=${hasHint ? \"false\" : \"true\"}\n                >\n                    ${this.hint}\n                </slot>\n            </div>\n        `;\n  }\n};\nPcInput.css = [form_control_default, size_default, input_default];\nPcInput.shadowRootOptions = {\n  ...PlacerFormAssociatedElement.shadowRootOptions,\n  delegatesFocus: true\n};\n__decorateClass([\n  e5(\".control\")\n], PcInput.prototype, \"input\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"title\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcInput.prototype, \"type\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"name\", 2);\n__decorateClass([\n  r5()\n], PcInput.prototype, \"value\", 1);\n__decorateClass([\n  n4({ attribute: \"value\", reflect: true })\n], PcInput.prototype, \"defaultValue\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcInput.prototype, \"size\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcInput.prototype, \"filled\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcInput.prototype, \"pill\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"label\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"hint\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcInput.prototype, \"clearable\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcInput.prototype, \"disabled\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"placeholder\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcInput.prototype, \"readonly\", 2);\n__decorateClass([\n  n4({ attribute: \"password-toggle\", type: Boolean })\n], PcInput.prototype, \"passwordToggle\", 2);\n__decorateClass([\n  n4({ attribute: \"password-visible\", type: Boolean })\n], PcInput.prototype, \"passwordVisible\", 2);\n__decorateClass([\n  n4({ attribute: \"no-spin-buttons\", type: Boolean })\n], PcInput.prototype, \"noSpinButtons\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcInput.prototype, \"required\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"pattern\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"minlength\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"maxlength\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"min\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"max\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"step\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"autocapitalize\", 2);\n__decorateClass([\n  n4({\n    type: Boolean,\n    converter: {\n      fromAttribute: (value) => !value || value === \"off\" ? false : true,\n      toAttribute: (value) => value ? \"on\" : \"off\"\n    }\n  })\n], PcInput.prototype, \"autocorrect\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"autocomplete\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcInput.prototype, \"autofocus\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"enterkeyhint\", 2);\n__decorateClass([\n  n4({\n    type: Boolean,\n    converter: {\n      fromAttribute: (value) => !value || value === \"off\" ? false : true,\n      toAttribute: (value) => value ? \"on\" : \"off\"\n    }\n  })\n], PcInput.prototype, \"spellcheck\", 2);\n__decorateClass([\n  n4()\n], PcInput.prototype, \"inputmode\", 2);\n__decorateClass([\n  watch(\"step\", { waitUntilFirstUpdate: true })\n], PcInput.prototype, \"handleStepChange\", 1);\nPcInput = __decorateClass([\n  t3(\"pc-input\")\n], PcInput);\n\n// src/events/pc-reposition.ts\nvar PcRepositionEvent = class extends Event {\n  constructor() {\n    super(\"pc-reposition\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n  }\n};\n\n// node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs\nvar min = Math.min;\nvar max = Math.max;\nvar round = Math.round;\nvar floor = Math.floor;\nvar createCoords = (v2) => ({\n  x: v2,\n  y: v2\n});\nvar oppositeSideMap = {\n  left: \"right\",\n  right: \"left\",\n  bottom: \"top\",\n  top: \"bottom\"\n};\nvar oppositeAlignmentMap = {\n  start: \"end\",\n  end: \"start\"\n};\nfunction clamp2(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === \"function\" ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split(\"-\")[0];\n}\nfunction getAlignment(placement) {\n  return placement.split(\"-\")[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === \"x\" ? \"y\" : \"x\";\n}\nfunction getAxisLength(axis) {\n  return axis === \"y\" ? \"height\" : \"width\";\n}\nvar yAxisSides = /* @__PURE__ */ new Set([\"top\", \"bottom\"]);\nfunction getSideAxis(placement) {\n  return yAxisSides.has(getSide(placement)) ? \"y\" : \"x\";\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === \"x\" ? alignment === (rtl ? \"end\" : \"start\") ? \"right\" : \"left\" : alignment === \"start\" ? \"bottom\" : \"top\";\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]);\n}\nvar lrPlacement = [\"left\", \"right\"];\nvar rlPlacement = [\"right\", \"left\"];\nvar tbPlacement = [\"top\", \"bottom\"];\nvar btPlacement = [\"bottom\", \"top\"];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case \"top\":\n    case \"bottom\":\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case \"left\":\n    case \"right\":\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === \"start\", rtl);\n  if (alignment) {\n    list = list.map((side) => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, (side) => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== \"number\" ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x: x2,\n    y: y3,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y3,\n    left: x2,\n    right: x2 + width,\n    bottom: y3 + height,\n    x: x2,\n    y: y3\n  };\n}\n\n// node_modules/@floating-ui/core/dist/floating-ui.core.mjs\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === \"y\";\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case \"top\":\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case \"bottom\":\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case \"right\":\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case \"left\":\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case \"start\":\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case \"end\":\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\nvar computePosition = async (reference, floating, config) => {\n  const {\n    placement = \"bottom\",\n    strategy = \"absolute\",\n    middleware = [],\n    platform: platform2\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating));\n  let rects = await platform2.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x: x2,\n    y: y3\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i8 = 0; i8 < validMiddleware.length; i8++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i8];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x: x2,\n      y: y3,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform: platform2,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x2 = nextX != null ? nextX : x2;\n    y3 = nextY != null ? nextY : y3;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === \"object\") {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform2.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x: x2,\n          y: y3\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i8 = -1;\n    }\n  }\n  return {\n    x: x2,\n    y: y3,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x: x2,\n    y: y3,\n    platform: platform2,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = \"clippingAncestors\",\n    rootBoundary = \"viewport\",\n    elementContext = \"floating\",\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === \"floating\" ? \"reference\" : \"floating\";\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform2.getClippingRect({\n    element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === \"floating\" ? {\n    x: x2,\n    y: y3,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating));\n  const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\nvar arrow = (options) => ({\n  name: \"arrow\",\n  options,\n  async fn(state) {\n    const {\n      x: x2,\n      y: y3,\n      placement,\n      rects,\n      platform: platform2,\n      elements,\n      middlewareData\n    } = state;\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x: x2,\n      y: y3\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform2.getDimensions(element);\n    const isYAxis = axis === \"y\";\n    const minProp = isYAxis ? \"top\" : \"left\";\n    const maxProp = isYAxis ? \"bottom\" : \"right\";\n    const clientProp = isYAxis ? \"clientHeight\" : \"clientWidth\";\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n    if (!clientSize || !await (platform2.isElement == null ? void 0 : platform2.isElement(arrowOffsetParent))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n    const min$1 = minPadding;\n    const max2 = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset3 = clamp2(min$1, center, max2);\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset3 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max2 : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset3,\n        centerOffset: center - offset3 - alignmentOffset,\n        ...shouldAddOffset && {\n          alignmentOffset\n        }\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\nvar flip2 = function(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: \"flip\",\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform: platform2,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = \"bestFit\",\n        fallbackAxisSideDirection = \"none\",\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== \"none\";\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements2 = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides2 = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides2[0]], overflow[sides2[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n      if (!overflows.every((side2) => side2 <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements2[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === \"alignment\" ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every((d3) => getSideAxis(d3.placement) === initialSideAxis ? d3.overflows[0] > 0 : true)) {\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter((d3) => d3.overflows[0] <= 0).sort((a3, b3) => a3.overflows[1] - b3.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case \"bestFit\": {\n              var _overflowsData$filter2;\n              const placement2 = (_overflowsData$filter2 = overflowsData.filter((d3) => {\n                if (hasFallbackAxisSideDirection) {\n                  const currentSideAxis = getSideAxis(d3.placement);\n                  return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal\n                  // reading directions favoring greater width.\n                  currentSideAxis === \"y\";\n                }\n                return true;\n              }).map((d3) => [d3.placement, d3.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a3, b3) => a3[1] - b3[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n              if (placement2) {\n                resetPlacement = placement2;\n              }\n              break;\n            }\n            case \"initialPlacement\":\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\nvar originSides = /* @__PURE__ */ new Set([\"left\", \"top\"]);\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform: platform2,\n    elements\n  } = state;\n  const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === \"y\";\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === \"number\" ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === \"number\") {\n    crossAxis = alignment === \"end\" ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\nvar offset = function(options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: \"offset\",\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x: x2,\n        y: y3,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x2 + diffCoords.x,\n        y: y3 + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\nvar shift = function(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: \"shift\",\n    options,\n    async fn(state) {\n      const {\n        x: x2,\n        y: y3,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: (_ref) => {\n            let {\n              x: x3,\n              y: y4\n            } = _ref;\n            return {\n              x: x3,\n              y: y4\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x: x2,\n        y: y3\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === \"y\" ? \"top\" : \"left\";\n        const maxSide = mainAxis === \"y\" ? \"bottom\" : \"right\";\n        const min2 = mainAxisCoord + overflow[minSide];\n        const max2 = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp2(min2, mainAxisCoord, max2);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === \"y\" ? \"top\" : \"left\";\n        const maxSide = crossAxis === \"y\" ? \"bottom\" : \"right\";\n        const min2 = crossAxisCoord + overflow[minSide];\n        const max2 = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp2(min2, crossAxisCoord, max2);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x2,\n          y: limitedCoords.y - y3,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\nvar size = function(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: \"size\",\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform: platform2,\n        elements\n      } = state;\n      const {\n        apply = () => {\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === \"y\";\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === \"top\" || side === \"bottom\") {\n        heightSide = side;\n        widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? \"start\" : \"end\") ? \"left\" : \"right\";\n      } else {\n        widthSide = side;\n        heightSide = alignment === \"end\" ? \"top\" : \"bottom\";\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform2.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n// node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs\nfunction hasWindow() {\n  return typeof window !== \"undefined\";\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || \"\").toLowerCase();\n  }\n  return \"#document\";\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === \"undefined\") {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nvar invalidOverflowDisplayValues = /* @__PURE__ */ new Set([\"inline\", \"contents\"]);\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle2(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nvar tableElements = /* @__PURE__ */ new Set([\"table\", \"td\", \"th\"]);\nfunction isTableElement(element) {\n  return tableElements.has(getNodeName(element));\n}\nvar topLayerSelectors = [\":popover-open\", \":modal\"];\nfunction isTopLayer(element) {\n  return topLayerSelectors.some((selector) => {\n    try {\n      return element.matches(selector);\n    } catch (_e) {\n      return false;\n    }\n  });\n}\nvar transformProperties = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\"];\nvar willChangeValues = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\", \"filter\"];\nvar containValues = [\"paint\", \"layout\", \"strict\", \"content\"];\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;\n  return transformProperties.some((value) => css[value] ? css[value] !== \"none\" : false) || (css.containerType ? css.containerType !== \"normal\" : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== \"none\" : false) || !webkit && (css.filter ? css.filter !== \"none\" : false) || willChangeValues.some((value) => (css.willChange || \"\").includes(value)) || containValues.some((value) => (css.contain || \"\").includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === \"undefined\" || !CSS.supports) return false;\n  return CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nvar lastTraversableNodeNames = /* @__PURE__ */ new Set([\"html\", \"body\", \"#document\"]);\nfunction isLastTraversableNode(node) {\n  return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle2(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === \"html\") {\n    return node;\n  }\n  const result = (\n    // Step into the shadow DOM of the parent of a slotted node.\n    node.assignedSlot || // DOM Element detected.\n    node.parentNode || // ShadowRoot detected.\n    isShadowRoot(node) && node.host || // Fallback.\n    getDocumentElement(node)\n  );\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\n// node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs\nfunction getCssDimensions(element) {\n  const css = getComputedStyle2(element);\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $: $2\n  } = getCssDimensions(domElement);\n  let x2 = ($2 ? round(rect.width) : rect.width) / width;\n  let y3 = ($2 ? round(rect.height) : rect.height) / height;\n  if (!x2 || !Number.isFinite(x2)) {\n    x2 = 1;\n  }\n  if (!y3 || !Number.isFinite(y3)) {\n    y3 = 1;\n  }\n  return {\n    x: x2,\n    y: y3\n  };\n}\nvar noOffsets = /* @__PURE__ */ createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x2 = (clientRect.left + visualOffsets.x) / scale.x;\n  let y3 = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle2(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x2 *= iframeScale.x;\n      y3 *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x2 += left;\n      y3 += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x: x2,\n    y: y3\n  });\n}\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x2 = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y3 = htmlRect.top + scroll.scrollTop;\n  return {\n    x: x2,\n    y: y3\n  };\n}\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === \"fixed\";\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x2 = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y3 = -scroll.scrollTop;\n  if (getComputedStyle2(body).direction === \"rtl\") {\n    x2 += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x: x2,\n    y: y3\n  };\n}\nvar SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x2 = 0;\n  let y3 = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === \"fixed\") {\n      x2 = visualViewport.offsetLeft;\n      y3 = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === \"CSS1Compat\" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x: x2,\n    y: y3\n  };\n}\nvar absoluteOrFixed = /* @__PURE__ */ new Set([\"absolute\", \"fixed\"]);\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === \"fixed\");\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x2 = left * scale.x;\n  const y3 = top * scale.y;\n  return {\n    width,\n    height,\n    x: x2,\n    y: y3\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === \"viewport\") {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === \"document\") {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle2(parentNode).position === \"fixed\" || hasFixedPositionAncestor(parentNode, stopNode);\n}\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== \"body\");\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle2(element).position === \"fixed\";\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle2(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === \"fixed\") {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === \"static\" && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      result = result.filter((ancestor) => ancestor !== currentNode);\n    } else {\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === \"clippingAncestors\" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === \"fixed\";\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x2 = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y3 = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x: x2,\n    y: y3,\n    width: rect.width,\n    height: rect.height\n  };\n}\nfunction isStaticPositioned(element) {\n  return getComputedStyle2(element).position === \"static\";\n}\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle2(element).position === \"fixed\") {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\nvar getElementRects = async function(data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\nfunction isRTL(element) {\n  return getComputedStyle2(element).direction === \"rtl\";\n}\nvar platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\nfunction rectsAreEqual(a3, b3) {\n  return a3.x === b3.x && a3.y === b3.y && a3.width === b3.width && a3.height === b3.height;\n}\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1e3);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\nfunction autoUpdate(reference, floating, update2, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === \"function\",\n    layoutShift = typeof IntersectionObserver === \"function\",\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach((ancestor) => {\n    ancestorScroll && ancestor.addEventListener(\"scroll\", update2, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener(\"resize\", update2);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update2) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver((_ref) => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update2();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update2();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update2();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach((ancestor) => {\n      ancestorScroll && ancestor.removeEventListener(\"scroll\", update2);\n      ancestorResize && ancestor.removeEventListener(\"resize\", update2);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\nvar offset2 = offset;\nvar shift2 = shift;\nvar flip3 = flip2;\nvar size2 = size;\nvar arrow2 = arrow;\nvar computePosition2 = (reference, floating, options) => {\n  const cache = /* @__PURE__ */ new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\n// node_modules/composed-offset-position/dist/composed-offset-position.browser.min.mjs\nfunction e8(t7) {\n  return i7(t7);\n}\nfunction r7(t7) {\n  return t7.assignedSlot ? t7.assignedSlot : t7.parentNode instanceof ShadowRoot ? t7.parentNode.host : t7.parentNode;\n}\nfunction i7(e10) {\n  for (let t7 = e10; t7; t7 = r7(t7)) if (t7 instanceof Element && \"none\" === getComputedStyle(t7).display) return null;\n  for (let n6 = r7(e10); n6; n6 = r7(n6)) {\n    if (!(n6 instanceof Element)) continue;\n    const e11 = getComputedStyle(n6);\n    if (\"contents\" !== e11.display) {\n      if (\"static\" !== e11.position || isContainingBlock(e11)) return n6;\n      if (\"BODY\" === n6.tagName) return n6;\n    }\n  }\n  return null;\n}\n\n// src/components/popup/popup.css\nvar popup_default = '/*! Popup is a low\\u2010level utility built specifically for positioning elements. Do not mistake it for a tooltip or similar because it does not facilitate an accessible experience! Almost every correct usage of it will involve building other components. It should rarely, if ever, occur directly in your HTML. */\\n\\n:host {\\n    --arrow-color: var(--pc-color-neutral-fill-normal);\\n    --arrow-size: var(--pc-tooltip-arrow-size);\\n\\n    /* These properties are computed to account for the arrow\\u2019s dimensions\\n       after being rotated 45\\xB0. The constant 0,7071 is derived from sin(45\\xB0),\\n       which is the diagonal size of the arrow\\u2019s container after rotating. */\\n    --arrow-size-diagonal: calc(var(--arrow-size) * 0.7071);\\n    --arrow-padding-offset: calc(\\n        var(--arrow-size-diagonal) - var(--arrow-size)\\n    );\\n\\n    display: contents;\\n}\\n\\n.popup {\\n    position: absolute;\\n    isolation: isolate;\\n    max-inline-size: var(--auto-size-available-width, none);\\n    max-block-size: var(--auto-size-available-height, none);\\n    will-change: transform, top, left;\\n\\n    /* Reset user agent styles for the popover attribute. */\\n    :where(&) {\\n        inset: unset;\\n        margin: unset;\\n        padding: unset;\\n        inline-size: unset;\\n        block-size: unset;\\n        /* inline-size and block-size do not affect the width and height\\n           properties. This is redefined to be sure it is also unset. */\\n        width: unset;\\n        height: unset;\\n        background: unset;\\n        border: unset;\\n        overflow: unset;\\n    }\\n}\\n\\n.fixed {\\n    position: fixed;\\n}\\n\\n.popup:not(.active) {\\n    display: none;\\n}\\n\\n.arrow {\\n    position: absolute;\\n    inline-size: calc(var(--arrow-size-diagonal) * 2);\\n    block-size: calc(var(--arrow-size-diagonal) * 2);\\n    background-color: var(--arrow-color);\\n    rotate: 45deg;\\n    z-index: 3;\\n}\\n\\n:host([data-current-placement~=\"left\"]) .arrow {\\n    rotate: -45deg;\\n}\\n\\n:host([data-current-placement~=\"right\"]) .arrow {\\n    rotate: 135deg;\\n}\\n\\n:host([data-current-placement~=\"bottom\"]) .arrow {\\n    rotate: 225deg;\\n}\\n\\n.hover-bridge:not(.hover-bridge-visible) {\\n    display: none;\\n}\\n\\n.hover-bridge {\\n    position: fixed;\\n    inset: 0;\\n    clip-path: polygon(\\n        var(--hover-bridge-top-left-x, 0) var(--hover-bridge-top-left-y, 0),\\n        var(--hover-bridge-top-right-x, 0) var(--hover-bridge-top-right-y, 0),\\n        var(--hover-bridge-bottom-right-x, 0)\\n            var(--hover-bridge-bottom-right-y, 0),\\n        var(--hover-bridge-bottom-left-x, 0)\\n            var(--hover-bridge-bottom-left-y, 0)\\n    );\\n    z-index: 899;\\n}\\n';\n\n// src/components/popup/popup.ts\nfunction isVirtualElement(element) {\n  return element !== null && typeof element === \"object\" && \"getBoundingClientRect\" in element && (\"contextElement\" in element ? element instanceof Element : true);\n}\nvar supportsPopover = globalThis?.HTMLElement?.prototype.hasOwnProperty(\"popover\");\nvar PcPopup = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n    this.active = false;\n    this.placement = \"top\";\n    this.boundary = \"viewport\";\n    this.distance = 0;\n    this.skidding = 0;\n    this.arrow = false;\n    this.arrowPlacement = \"anchor\";\n    this.arrowPadding = 10;\n    this.flip = false;\n    this.flipFallbackPlacements = \"\";\n    this.flipFallbackStrategy = \"best-fit\";\n    this.flipPadding = 0;\n    this.shift = false;\n    this.shiftPadding = 0;\n    this.autoSizePadding = 0;\n    this.hoverBridge = false;\n    this.updateHoverBridge = () => {\n      if (this.hoverBridge && this.anchorElement) {\n        const anchorRect = this.anchorElement.getBoundingClientRect();\n        const popupRect = this.popup.getBoundingClientRect();\n        const isVertical = this.placement.includes(\"top\") || this.placement.includes(\"bottom\");\n        let topLeftX = 0;\n        let topLeftY = 0;\n        let topRightX = 0;\n        let topRightY = 0;\n        let bottomLeftX = 0;\n        let bottomLeftY = 0;\n        let bottomRightX = 0;\n        let bottomRightY = 0;\n        if (isVertical) {\n          if (anchorRect.top < popupRect.top) {\n            topLeftX = anchorRect.left;\n            topLeftY = anchorRect.bottom;\n            topRightX = anchorRect.right;\n            topRightY = anchorRect.bottom;\n            bottomLeftX = popupRect.left;\n            bottomLeftY = popupRect.top;\n            bottomRightX = popupRect.right;\n            bottomRightY = popupRect.top;\n          } else {\n            topLeftX = popupRect.left;\n            topLeftY = popupRect.bottom;\n            topRightX = popupRect.right;\n            topRightY = popupRect.bottom;\n            bottomLeftX = anchorRect.left;\n            bottomLeftY = anchorRect.top;\n            bottomRightX = anchorRect.right;\n            bottomRightY = anchorRect.top;\n          }\n        } else {\n          if (anchorRect.left < popupRect.left) {\n            topLeftX = anchorRect.right;\n            topLeftY = anchorRect.top;\n            topRightX = popupRect.left;\n            topRightY = popupRect.top;\n            bottomLeftX = anchorRect.right;\n            bottomLeftY = anchorRect.bottom;\n            bottomRightX = popupRect.left;\n            bottomRightY = popupRect.bottom;\n          } else {\n            topLeftX = popupRect.right;\n            topLeftY = popupRect.top;\n            topRightX = anchorRect.left;\n            topRightY = anchorRect.top;\n            bottomLeftX = popupRect.right;\n            bottomLeftY = popupRect.bottom;\n            bottomRightX = anchorRect.left;\n            bottomRightY = anchorRect.bottom;\n          }\n        }\n        this.style.setProperty(\n          \"--hover-bridge-top-left-x\",\n          `${topLeftX}px`\n        );\n        this.style.setProperty(\n          \"--hover-bridge-top-left-y\",\n          `${topLeftY}px`\n        );\n        this.style.setProperty(\n          \"--hover-bridge-top-right-x\",\n          `${topRightX}px`\n        );\n        this.style.setProperty(\n          \"--hover-bridge-top-right-y\",\n          `${topRightY}px`\n        );\n        this.style.setProperty(\n          \"--hover-bridge-bottom-left-x\",\n          `${bottomLeftX}px`\n        );\n        this.style.setProperty(\n          \"--hover-bridge-bottom-left-y\",\n          `${bottomLeftY}px`\n        );\n        this.style.setProperty(\n          \"--hover-bridge-bottom-right-x\",\n          `${bottomRightX}px`\n        );\n        this.style.setProperty(\n          \"--hover-bridge-bottom-right-y\",\n          `${bottomRightY}px`\n        );\n      }\n    };\n  }\n  async connectedCallback() {\n    super.connectedCallback();\n    await this.updateComplete;\n    this.start();\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this.stop();\n  }\n  async updated(changedProperties) {\n    super.updated(changedProperties);\n    if (changedProperties.has(\"active\")) {\n      if (this.active) {\n        this.start();\n      } else {\n        this.stop();\n      }\n    }\n    if (changedProperties.has(\"anchor\")) {\n      this.handleAnchorChange();\n    }\n    if (this.active) {\n      await this.updateComplete;\n      this.reposition();\n    }\n  }\n  async handleAnchorChange() {\n    await this.stop();\n    if (this.anchor && typeof this.anchor === \"string\") {\n      const root = this.getRootNode();\n      this.anchorElement = root.getElementById(this.anchor);\n    } else if (this.anchor instanceof Element || isVirtualElement(this.anchor)) {\n      this.anchorElement = this.anchor;\n    } else {\n      this.anchorElement = this.querySelector('[slot=\"anchor\"]');\n    }\n    if (this.anchorElement instanceof HTMLSlotElement) {\n      this.anchorElement = this.anchorElement.assignedElements({\n        flatten: true\n      })[0];\n    }\n    if (this.anchorElement) {\n      this.start();\n    }\n  }\n  start() {\n    if (!this.anchorElement || !this.active) {\n      return;\n    }\n    this.popup.showPopover?.();\n    this.cleanup = autoUpdate(this.anchorElement, this.popup, () => {\n      this.reposition();\n    });\n  }\n  async stop() {\n    return new Promise((resolve) => {\n      this.popup.hidePopover?.();\n      if (this.cleanup) {\n        this.cleanup();\n        this.cleanup = void 0;\n        this.removeAttribute(\"data-current-placement\");\n        this.style.removeProperty(\"--auto-size-available-width\");\n        this.style.removeProperty(\"--auto-size-available-height\");\n        requestAnimationFrame(() => resolve());\n      } else {\n        resolve();\n      }\n    });\n  }\n  /** Forces the popup to recalculate and reposition itself. */\n  reposition() {\n    if (!this.active || !this.anchorElement) {\n      return;\n    }\n    const middleware = [\n      offset2({ mainAxis: this.distance, crossAxis: this.skidding })\n    ];\n    if (this.sync) {\n      middleware.push(\n        size2({\n          apply: ({ rects }) => {\n            const syncWidth = this.sync === \"width\" || this.sync === \"both\";\n            const syncHeight = this.sync === \"height\" || this.sync === \"both\";\n            this.popup.style.inlineSize = syncWidth ? `${rects.reference.width}px` : \"\";\n            this.popup.style.blockSize = syncHeight ? `${rects.reference.height}px` : \"\";\n          }\n        })\n      );\n    } else {\n      this.popup.style.inlineSize = \"\";\n      this.popup.style.blockSize = \"\";\n    }\n    let defaultBoundary;\n    if (supportsPopover && !isVirtualElement(this.anchor) && this.boundary === \"scroll\") {\n      defaultBoundary = getOverflowAncestors(\n        this.anchorElement\n      ).filter((element) => element instanceof Element);\n    }\n    if (this.flip) {\n      middleware.push(\n        flip3({\n          boundary: this.flipBoundary || defaultBoundary,\n          // @ts-expect-error — We’re converting the property type of “fallbackPlacements” from a string to an array\n          fallbackPlacements: this.flipFallbackPlacements,\n          fallbackStrategy: this.flipFallbackStrategy === \"best-fit\" ? \"bestFit\" : \"initialPlacement\",\n          padding: this.flipPadding\n        })\n      );\n    }\n    if (this.shift) {\n      middleware.push(\n        shift2({\n          boundary: this.shiftBoundary || defaultBoundary,\n          padding: this.shiftPadding\n        })\n      );\n    }\n    if (this.autoSize) {\n      middleware.push(\n        size2({\n          boundary: this.autoSizeBoundary || defaultBoundary,\n          padding: this.autoSizePadding,\n          apply: ({ availableWidth, availableHeight }) => {\n            if (this.autoSize === \"vertical\" || this.autoSize === \"both\") {\n              this.style.setProperty(\n                \"--auto-size-available-height\",\n                `${availableHeight}px`\n              );\n            } else {\n              this.style.removeProperty(\n                \"--auto-size-available-height\"\n              );\n            }\n            if (this.autoSize === \"horizontal\" || this.autoSize === \"both\") {\n              this.style.setProperty(\n                \"--auto-size-available-width\",\n                `${availableWidth}px`\n              );\n            } else {\n              this.style.removeProperty(\n                \"--auto-size-available-width\"\n              );\n            }\n          }\n        })\n      );\n    } else {\n      this.style.removeProperty(\"--auto-size-available-width\");\n      this.style.removeProperty(\"--auto-size-available-height\");\n    }\n    if (this.arrow) {\n      middleware.push(\n        arrow2({\n          element: this.arrowElement,\n          padding: this.arrowPadding\n        })\n      );\n    }\n    const getOffsetParent2 = supportsPopover ? (element) => platform.getOffsetParent(element, e8) : platform.getOffsetParent;\n    computePosition2(this.anchorElement, this.popup, {\n      placement: this.placement,\n      middleware,\n      strategy: supportsPopover ? \"absolute\" : \"fixed\",\n      platform: {\n        ...platform,\n        getOffsetParent: getOffsetParent2\n      }\n    }).then(({ x: x2, y: y3, middlewareData, placement }) => {\n      const isRTL2 = this.localize.dir() === \"rtl\";\n      const staticSide = {\n        top: \"bottom\",\n        right: \"left\",\n        bottom: \"top\",\n        left: \"right\"\n      }[placement.split(\"-\")[0]];\n      this.setAttribute(\"data-current-placement\", placement);\n      Object.assign(this.popup.style, {\n        left: `${x2}px`,\n        top: `${y3}px`\n      });\n      if (this.arrow) {\n        const arrowX = middlewareData.arrow.x;\n        const arrowY = middlewareData.arrow.y;\n        let top = \"\";\n        let right = \"\";\n        let bottom = \"\";\n        let left = \"\";\n        if (this.arrowPlacement === \"start\") {\n          const value = typeof arrowX === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n          top = typeof arrowY === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n          right = isRTL2 ? value : \"\";\n          left = isRTL2 ? \"\" : value;\n        } else if (this.arrowPlacement === \"end\") {\n          const value = typeof arrowX === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n          right = isRTL2 ? \"\" : value;\n          left = isRTL2 ? value : \"\";\n          bottom = typeof arrowY === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n        } else if (this.arrowPlacement === \"center\") {\n          left = typeof arrowX === \"number\" ? `calc(50% - var(--arrow-size-diagonal))` : \"\";\n          top = typeof arrowY === \"number\" ? `calc(50% - var(--arrow-size-diagonal))` : \"\";\n        } else {\n          left = typeof arrowX === \"number\" ? `${arrowX}px` : \"\";\n          top = typeof arrowY === \"number\" ? `${arrowY}px` : \"\";\n        }\n        Object.assign(this.arrowElement.style, {\n          top,\n          right,\n          bottom,\n          left,\n          [staticSide]: \"calc(var(--arrow-size-diagonal) * -1)\"\n        });\n      }\n    });\n    requestAnimationFrame(() => this.updateHoverBridge());\n    this.dispatchEvent(new PcRepositionEvent());\n  }\n  render() {\n    return x`\n            <slot name=\"anchor\" @slotchange=${this.handleAnchorChange}></slot>\n\n            <span\n                part=\"hover-bridge\"\n                class=${e7({\n      \"hover-bridge\": true,\n      \"hover-bridge-visible\": this.hoverBridge && this.active\n    })}\n            ></span>\n\n            <div\n                part=\"popup\"\n                popover=\"manual\"\n                class=${e7({\n      \"popup\": true,\n      \"active\": this.active,\n      \"fixed\": !supportsPopover,\n      \"has-arrow\": this.arrow\n    })}\n            >\n                <slot></slot>\n                ${this.arrow ? x`\n                          <div\n                              part=\"arrow\"\n                              class=\"arrow\"\n                              role=\"presentation\"\n                          ></div>\n                      ` : \"\"}\n            </div>\n        `;\n  }\n};\nPcPopup.css = popup_default;\n__decorateClass([\n  e5(\".popup\")\n], PcPopup.prototype, \"popup\", 2);\n__decorateClass([\n  e5(\".arrow\")\n], PcPopup.prototype, \"arrowElement\", 2);\n__decorateClass([\n  n4()\n], PcPopup.prototype, \"anchor\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcPopup.prototype, \"active\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcPopup.prototype, \"placement\", 2);\n__decorateClass([\n  n4()\n], PcPopup.prototype, \"boundary\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcPopup.prototype, \"distance\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcPopup.prototype, \"skidding\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcPopup.prototype, \"arrow\", 2);\n__decorateClass([\n  n4({ attribute: \"arrow-placement\" })\n], PcPopup.prototype, \"arrowPlacement\", 2);\n__decorateClass([\n  n4({ attribute: \"arrow-padding\", type: Number })\n], PcPopup.prototype, \"arrowPadding\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcPopup.prototype, \"flip\", 2);\n__decorateClass([\n  n4({\n    attribute: \"flip-fallback-placements\",\n    converter: {\n      fromAttribute: (value) => {\n        return value.split(\" \").map((placement) => placement.trim()).filter((placement) => placement !== \"\");\n      },\n      toAttribute: (value) => {\n        return value.join(\" \");\n      }\n    }\n  })\n], PcPopup.prototype, \"flipFallbackPlacements\", 2);\n__decorateClass([\n  n4({ attribute: \"flip-fallback-strategy\" })\n], PcPopup.prototype, \"flipFallbackStrategy\", 2);\n__decorateClass([\n  n4({ type: Object })\n], PcPopup.prototype, \"flipBoundary\", 2);\n__decorateClass([\n  n4({ attribute: \"flip-padding\", type: Number })\n], PcPopup.prototype, \"flipPadding\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcPopup.prototype, \"shift\", 2);\n__decorateClass([\n  n4({ type: Object })\n], PcPopup.prototype, \"shiftBoundary\", 2);\n__decorateClass([\n  n4({ attribute: \"shift-padding\", type: Number })\n], PcPopup.prototype, \"shiftPadding\", 2);\n__decorateClass([\n  n4({ attribute: \"auto-size\" })\n], PcPopup.prototype, \"autoSize\", 2);\n__decorateClass([\n  n4()\n], PcPopup.prototype, \"sync\", 2);\n__decorateClass([\n  n4({ type: Object })\n], PcPopup.prototype, \"autoSizeBoundary\", 2);\n__decorateClass([\n  n4({ attribute: \"auto-size-padding\", type: Number })\n], PcPopup.prototype, \"autoSizePadding\", 2);\n__decorateClass([\n  n4({ attribute: \"hover-bridge\", type: Boolean })\n], PcPopup.prototype, \"hoverBridge\", 2);\nPcPopup = __decorateClass([\n  t3(\"pc-popup\")\n], PcPopup);\n\n// src/components/color-picker/color-picker.css\nvar color_picker_default = ':host {\\n    --grid-width: 17em;\\n    --grid-height: 12em;\\n    --grid-handle-size: 1.25em;\\n    --slider-height: 1em;\\n    --slider-thumb-size: calc(var(--slider-height) + 0.25em);\\n    --swatch-size: 1.5em;\\n}\\n\\n.color-picker {\\n    inline-size: var(--grid-width);\\n    background-color: var(--pc-color-surface-raised);\\n    color: var(--pc-color-text-normal);\\n    border: var(--pc-border-width-s) var(--pc-border-style)\\n        var(--pc-color-surface-border);\\n    border-radius: var(--pc-border-radius-l);\\n    font-family: var(--pc-font-sans);\\n    font-size: inherit;\\n    font-weight: var(--pc-font-weight-normal);\\n    user-select: none;\\n    -webkit-user-select: none;\\n}\\n\\n.color-picker.inline {\\n    border: var(--pc-border-width-s) var(--pc-border-style)\\n        var(--pc-color-surface-border);\\n}\\n\\n.color-picker.inline:focus-visible {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.color-picker.inline .label,\\n.color-picker.inline .label * {\\n    display: inline;\\n    position: absolute !important;\\n    margin: -1px !important;\\n    padding: 0 !important;\\n    inline-size: 1px !important;\\n    block-size: 1px !important;\\n    width: 1px !important;\\n    height: 1px !important;\\n    clip-path: inset(50%) !important;\\n    border: none !important;\\n    overflow: hidden !important;\\n    white-space: nowrap !important;\\n}\\n\\n.grid {\\n    position: relative;\\n    block-size: var(--grid-height);\\n    background-image:\\n        linear-gradient(to bottom, rgb(0 0 0 / 0%) 0%, rgb(0 0 0 / 100%) 100%),\\n        linear-gradient(\\n            to right,\\n            rgb(255 255 255 / 100%) 0%,\\n            rgb(255 255 255 / 0%) 100%\\n        );\\n    border-start-start-radius: var(--pc-border-radius-l);\\n    border-start-end-radius: var(--pc-border-radius-l);\\n    cursor: crosshair;\\n    forced-color-adjust: none;\\n}\\n\\n.grid-handle {\\n    position: absolute;\\n    margin-top: calc(var(--grid-handle-size) / -2);\\n    margin-left: calc(var(--grid-handle-size) / -2);\\n    inline-size: var(--grid-handle-size);\\n    block-size: var(--grid-handle-size);\\n    border: var(--pc-border-width-m) var(--pc-border-style)\\n        var(--pc-color-neutral-95);\\n    border-radius: var(--pc-border-radius-circle);\\n    box-shadow: 0 0 0 var(--pc-border-width-s)\\n        color-mix(in oklab, var(--pc-color-neutral-05) 25%, transparent);\\n    z-index: 1;\\n    transition: scale var(--pc-transition-fast) ease-in-out;\\n}\\n\\n.grid-handle.dragging {\\n    scale: 1.5;\\n    cursor: none;\\n}\\n\\n.grid-handle:focus-visible {\\n    outline: var(--pc-focus-ring);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.controls {\\n    display: flex;\\n    align-items: center;\\n    padding: var(--pc-spacing-m);\\n}\\n\\n.sliders {\\n    flex: 1 1 auto;\\n}\\n\\n.slider {\\n    position: relative;\\n    block-size: var(--slider-height);\\n    border-radius: var(--pc-border-radius-pill);\\n    box-shadow: inset 0 0 0 var(--pc-border-style)\\n        color-mix(in oklab, var(--pc-color-neutral-05) 20%, transparent);\\n    forced-color-adjust: none;\\n}\\n\\n.slider:not(:last-of-type) {\\n    margin-block-end: var(--pc-spacing-s);\\n}\\n\\n.slider .slider-thumb {\\n    position: absolute;\\n    top: calc(50% - var(--slider-thumb-size) / 2);\\n    margin-left: calc(var(--slider-thumb-size) / -2);\\n    inline-size: var(--slider-thumb-size);\\n    block-size: var(--slider-thumb-size);\\n    background-color: var(--pc-color-neutral-95);\\n    border-radius: var(--pc-border-radius-circle);\\n    box-shadow: color-mix(\\n        in oklab,\\n        var(--pc-color-neutral-05) 25%,\\n        transparent\\n    );\\n}\\n\\n.slider .slider-thumb:focus-visible {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.hue-slider {\\n    background-image: linear-gradient(\\n        to right,\\n        hsl(0 100% 50%) 0%,\\n        hsl(60 100% 50%) 16.7%,\\n        hsl(120 100% 50%) 33.3%,\\n        hsl(180 100% 50%) 50%,\\n        hsl(240 100% 50%) 66.7%,\\n        hsl(300 100% 50%) 83.3%,\\n        hsl(360 100% 50%) 100%\\n    );\\n}\\n\\n.alpha-slider .alpha-gradient {\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    inline-size: 100%;\\n    block-size: 100%;\\n    border-radius: inherit;\\n}\\n\\n.preview {\\n    display: inline-flex;\\n    position: relative;\\n    align-items: center;\\n    justify-content: center;\\n    flex: 0 0 auto;\\n    margin-inline-start: var(--pc-spacing-m);\\n    inline-size: 2.25rem;\\n    block-size: 2.25rem;\\n    background-color: transparent;\\n    border: none;\\n    border-radius: var(--pc-border-radius-circle);\\n    forced-color-adjust: none;\\n}\\n\\n.preview::before {\\n    content: \"\";\\n    position: absolute;\\n    inset-block-start: 0;\\n    inset-inline-start: 0;\\n    inline-size: 100%;\\n    block-size: 100%;\\n    background-color: var(--preview-color);\\n    border-radius: inherit;\\n    box-shadow: inset 0 0 0 var(--pc-border-width-s)\\n        color-mix(in oklab, var(--pc-color-neutral-05) 20%, transparent);\\n}\\n\\n.user-input {\\n    display: flex;\\n    padding-inline: var(--pc-spacing-m);\\n    padding-block-start: 0;\\n    padding-block-end: var(--pc-spacing-m);\\n}\\n\\n.user-input pc-input {\\n    flex: 1 1 auto;\\n    min-inline-size: 0;\\n}\\n\\n.user-input pc-input::part(input) {\\n    padding-inline-end: var(--pc-spacing-xxs);\\n    background-color: var(--pc-color-surface-raised);\\n    overflow: visible;\\n}\\n\\n/* Bug: This does not remove the focus ring for some reason. */\\n.user-input pc-input:has(> pc-copy-button:focus-visible)::part(form-control) {\\n    outline: none;\\n}\\n\\n.user-input pc-input pc-copy-button {\\n    margin-inline-start: var(--pc-spacing-xs);\\n}\\n\\n.user-input pc-input.empty::part(input) {\\n    padding-inline-end: var(--pc-form-control-padding-inline);\\n}\\n\\n.user-input pc-input.empty pc-copy-button {\\n    display: none;\\n}\\n\\n.user-input pc-copy-button::part(button) {\\n    aspect-ratio: 1 / 1;\\n    background-color: transparent;\\n    color: var(--pc-color-text-normal);\\n}\\n\\n.user-input pc-copy-button::part(success-icon) {\\n    color: var(--pc-color-success-on-quiet);\\n}\\n\\n.user-input pc-copy-button::part(error-icon) {\\n    color: var(--pc-color-danger-on-quiet);\\n}\\n\\n@media (hover: hover) {\\n    .user-input pc-copy-button::part(button):hover {\\n        color: color-mix(\\n            in oklab,\\n            var(--pc-color-text-normal),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n.user-input pc-copy-button::part(button):active {\\n    color: color-mix(\\n        in oklab,\\n        var(--pc-color-text-normal),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n.user-input pc-button-group {\\n    margin-inline-start: var(--pc-spacing-s);\\n}\\n\\n.user-input pc-button:first-of-type {\\n    min-inline-size: 3.25em;\\n    max-inline-size: 3.25em;\\n}\\n\\n.swatches {\\n    display: grid;\\n    justify-items: center;\\n    grid-template-columns: repeat(8, 1fr);\\n    gap: var(--pc-spacing-s);\\n    padding: var(--pc-spacing-m);\\n    border-block-start: var(--pc-border-width-s) var(--pc-border-style)\\n        var(--pc-color-surface-border);\\n}\\n\\n.swatches .swatch {\\n    position: relative;\\n    inline-size: var(--swatch-size);\\n    block-size: var(--swatch-size);\\n    border-radius: var(--pc-border-radius-circle);\\n    forced-color-adjust: none;\\n}\\n\\n.swatches .swatch:focus-visible {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.swatches .swatch .swatch-color {\\n    position: absolute;\\n    inset-block-start: 0;\\n    inset-inline-start: 0;\\n    inline-size: 100%;\\n    block-size: 100%;\\n    border: var(--pc-border-width-s) var(--pc-border-style)\\n        color-mix(in oklab, var(--pc-color-neutral-05) 20%, transparent);\\n    box-shadow: inset 0 0 0 var(--pc-border-width-s)\\n        color-mix(in oklab, var(--pc-color-neutral-05) 20%, transparent);\\n    border-radius: inherit;\\n    cursor: pointer;\\n}\\n\\n.pixel-background {\\n    background-image: conic-gradient(\\n        var(--pc-color-neutral-fill-normal) 25%,\\n        transparent 0 50%,\\n        var(--pc-color-neutral-fill-normal) 0 75%,\\n        transparent 0\\n    );\\n    background-size: 0.5rem 0.5rem;\\n    background-position:\\n        0 0,\\n        0 0,\\n        -0.25rem -0.25rem,\\n        0.25rem 0.25rem;\\n}\\n\\n.color-picker.disabled {\\n    opacity: 0.5;\\n    cursor: not-allowed;\\n}\\n\\n.color-picker.disabled .grid,\\n.color-picker.disabled .grid-handle,\\n.color-picker.disabled .sliders .slider,\\n.color-picker.disabled .sliders .slider .slider-thumb,\\n.color-picker.disabled .preview,\\n.color-picker.disabled .swatches .swatch,\\n.color-picker.disabled .swatches .swatch .swatch-color {\\n    pointer-events: none;\\n}\\n\\n.color-popup::part(popup) {\\n    max-block-size: none;\\n    overflow: visible;\\n}\\n\\n.popup-trigger {\\n    display: inline-block;\\n    position: relative;\\n    inline-size: var(--pc-form-control-height);\\n    block-size: var(--pc-form-control-height);\\n    background-color: transparent;\\n    border: none;\\n    border-radius: var(--pc-border-radius-m);\\n    font-size: inherit;\\n    cursor: pointer;\\n    forced-color-adjust: none;\\n}\\n\\n.popup-trigger::before {\\n    content: \"\";\\n    position: absolute;\\n    inset-block-start: 0;\\n    inset-inline-end: 0;\\n    inline-size: 100%;\\n    block-size: 100%;\\n    border-radius: inherit;\\n    background-color: currentColor;\\n    box-shadow:\\n        inset 0 0 0 var(--pc-border-width-m) var(--pc-color-surface-border),\\n        inset 0 0 0 var(--pc-border-width-xl) var(--pc-color-surface-default);\\n}\\n\\n.popup-trigger.empty::before {\\n    background-color: transparent;\\n}\\n\\n.popup-trigger:focus-visible {\\n    outline: none;\\n}\\n\\n.popup-trigger:focus-visible:not([disabled]) {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.popup-trigger[disabled] {\\n    opacity: 0.5;\\n    cursor: not-allowed;\\n}\\n\\n.color-popup[data-current-placement^=\"top\"]::part(popup) {\\n    transform-origin: bottom;\\n}\\n\\n.color-popup[data-current-placement^=\"bottom\"]::part(popup) {\\n    transform-origin: top;\\n}\\n\\n.color-popup[data-current-placement^=\"left\"]::part(popup) {\\n    transform-origin: right;\\n}\\n\\n.color-popup[data-current-placement^=\"right\"]::part(popup) {\\n    transform-origin: left;\\n}\\n\\n.color-popup[data-current-placement=\"left-start\"]::part(popup) {\\n    transform-origin: right top;\\n}\\n\\n.color-popup[data-current-placement=\"left-end\"]::part(popup) {\\n    transform-origin: right bottom;\\n}\\n\\n.color-popup[data-current-placement=\"right-start\"]::part(popup) {\\n    transform-origin: left top;\\n}\\n\\n.color-popup[data-current-placement=\"right-end\"]::part(popup) {\\n    transform-origin: left bottom;\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n';\n\n// src/components/color-picker/color-picker.ts\nsetDefaultAnimation(\"colorPicker.show\", {\n  keyframes: [\n    {\n      offset: 0,\n      opacity: 0,\n      transform: \"scaleY(0.35) scaleX(0.95) translateY(-10px) rotate(1deg)\"\n    },\n    {\n      offset: 0.25,\n      opacity: 1,\n      transform: \"scaleY(1.03) scaleX(1.005) translateY(2px) rotate(-0.5deg)\"\n    },\n    {\n      offset: 0.5,\n      transform: \"scaleY(0.995) scaleX(0.999) translateY(-0.5px) rotate(0.1deg)\"\n    },\n    {\n      offset: 0.75,\n      transform: \"scaleY(1.002) scaleX(1.0005) translateY(0.2px) rotate(-0.05deg)\"\n    },\n    {\n      offset: 1,\n      opacity: 1,\n      transform: \"scaleY(1) scaleX(1) translateY(0) rotate(0deg)\"\n    }\n  ],\n  options: {\n    duration: 1e3,\n    easing: \"cubic-bezier(0.2, 0.8, 0.2, 1)\",\n    fill: \"forwards\"\n  }\n});\nsetDefaultAnimation(\"colorPicker.hide\", {\n  keyframes: [\n    {\n      offset: 0,\n      opacity: 1,\n      transform: \"scaleY(1) scaleX(1) translateY(0) rotate(0deg)\"\n    },\n    {\n      offset: 0.15,\n      transform: \"scaleY(1.005) scaleX(1.001) translateY(0.5px) rotate(-0.002deg)\"\n    },\n    {\n      offset: 0.4,\n      transform: \"scaleY(0.99) scaleX(0.998) translateY(-1px) rotate(0.008deg)\"\n    },\n    {\n      offset: 0.75,\n      transform: \"scaleY(0.6) scaleX(0.9) translateY(10px) rotate(0.007deg)\"\n    },\n    {\n      offset: 1,\n      opacity: 0,\n      transform: \"scaleY(0.3) scaleX(0.8) translateY(25px) rotate(0.01deg)\"\n    }\n  ],\n  options: {\n    duration: 400,\n    easing: \"cubic-bezier(0.6, 0.05, 0.8, 0.2)\",\n    fill: \"forwards\"\n  }\n});\nvar PcColorPicker = class extends PlacerFormAssociatedElement {\n  constructor() {\n    super();\n    this.hasSlotController = new HasSlotController(\n      this,\n      \"label\",\n      \"hint\"\n    );\n    this.localize = new LocalizeController2(this);\n    this.isSafeValue = false;\n    this.hasFocus = false;\n    this.hasEyeDropper = false;\n    this.isDraggingGridHandle = false;\n    this.isEmpty = false;\n    this.inputValue = \"\";\n    this.hue = 0;\n    this.saturation = 100;\n    this.brightness = 100;\n    this.alpha = 100;\n    this._value = null;\n    this.defaultValue = this.getAttribute(\"value\") || null;\n    this.label = \"\";\n    this.hint = \"\";\n    this.format = \"hex\";\n    this.inline = false;\n    this.size = \"medium\";\n    this.noFormatToggle = false;\n    this.name = \"\";\n    this.disabled = false;\n    this.open = false;\n    this.opacity = false;\n    this.uppercase = false;\n    this.swatches = \"\";\n    this.required = false;\n    this.handleFocusIn = () => {\n      this.hasFocus = true;\n    };\n    this.handleFocusOut = () => {\n      this.hasFocus = false;\n    };\n    this.reportValidityAfterShow = () => {\n      this.removeEventListener(\"invalid\", this.emitInvalid);\n      this.reportValidity();\n      this.addEventListener(\"invalid\", this.emitInvalid);\n    };\n    this.handleKeyDown = (event) => {\n      if (this.open && event.key === \"Escape\") {\n        event.stopPropagation();\n        this.hide();\n        this.focus();\n      }\n    };\n    this.handleDocumentKeyDown = (event) => {\n      if (event.key === \"Escape\" && this.open) {\n        event.stopPropagation();\n        this.focus();\n        this.hide();\n        return;\n      }\n      if (event.key === \"Tab\") {\n        setTimeout(() => {\n          const activeElement = this.getRootNode() instanceof ShadowRoot ? document.activeElement?.shadowRoot?.activeElement : document.activeElement;\n          if (!this || activeElement?.closest(this.tagName.toLowerCase()) !== this) {\n            this.hide();\n          }\n        });\n      }\n    };\n    this.handleDocumentMouseDown = (event) => {\n      const path = event.composedPath();\n      const isInsideRelevantArea = path.some(\n        (element) => element instanceof Element && (element.closest(\".color-picker\") || element === this.trigger)\n      );\n      if (this && !isInsideRelevantArea) {\n        this.hide();\n      }\n    };\n    this.addEventListener(\"focusin\", this.handleFocusIn);\n    this.addEventListener(\"focusout\", this.handleFocusOut);\n  }\n  static get validators() {\n    const validators = [RequiredValidator()];\n    return [...super.validators, ...validators];\n  }\n  get validationTarget() {\n    if (this.popup?.active) {\n      return this.input;\n    }\n    return this.trigger;\n  }\n  /** The current value of the input, submitted as a name/value pair with form data. */\n  get value() {\n    if (this.valueHasChanged) {\n      return this._value;\n    }\n    return this._value ?? this.defaultValue;\n  }\n  set value(value) {\n    if (this._value === value) {\n      return;\n    }\n    this.valueHasChanged = true;\n    this._value = value;\n  }\n  handleFormatToggle() {\n    const formats = [\"hex\", \"rgb\", \"hsl\", \"hsv\"];\n    const nextIndex = (formats.indexOf(this.format) + 1) % formats.length;\n    this.format = formats[nextIndex];\n    this.setColor(this.value || \"\");\n    this.updateComplete.then(() => {\n      this.dispatchEvent(\n        new Event(\"change\", { bubbles: true, composed: true })\n      );\n      this.dispatchEvent(\n        new InputEvent(\"input\", { bubbles: true, composed: true })\n      );\n    });\n  }\n  handleAlphaDrag(event) {\n    const container = this.shadowRoot.querySelector(\".alpha-slider\");\n    const thumb = container.querySelector(\".slider-thumb\");\n    const { width } = container.getBoundingClientRect();\n    let initialValue = this.value;\n    let currentValue = this.value;\n    thumb.focus();\n    event.preventDefault();\n    drag(container, {\n      onMove: (x2) => {\n        this.alpha = clamp(x2 / width * 100, 0, 100);\n        this.syncValues();\n        if (this.value !== currentValue) {\n          currentValue = this.value;\n          this.updateComplete.then(() => {\n            this.dispatchEvent(\n              new InputEvent(\"input\", {\n                bubbles: true,\n                composed: true\n              })\n            );\n          });\n        }\n      },\n      onStop: () => {\n        if (this.value !== initialValue) {\n          initialValue = this.value;\n          this.updateComplete.then(() => {\n            this.dispatchEvent(\n              new Event(\"change\", {\n                bubbles: true,\n                composed: true\n              })\n            );\n          });\n        }\n      },\n      initialEvent: event\n    });\n  }\n  handleHueDrag(event) {\n    const container = this.shadowRoot.querySelector(\".hue-slider\");\n    const thumb = container.querySelector(\".slider-thumb\");\n    const { width } = container.getBoundingClientRect();\n    let initialValue = this.value;\n    let currentValue = this.value;\n    thumb.focus();\n    event.preventDefault();\n    drag(container, {\n      onMove: (x2) => {\n        this.hue = clamp(x2 / width * 360, 0, 360);\n        this.syncValues();\n        if (this.value !== currentValue) {\n          currentValue = this.value;\n          this.updateComplete.then(() => {\n            this.dispatchEvent(\n              new InputEvent(\"input\", {\n                bubbles: true,\n                composed: true\n              })\n            );\n          });\n        }\n      },\n      onStop: () => {\n        if (this.value !== initialValue) {\n          initialValue = this.value;\n          this.updateComplete.then(() => {\n            this.dispatchEvent(\n              new Event(\"change\", {\n                bubbles: true,\n                composed: true\n              })\n            );\n          });\n        }\n      },\n      initialEvent: event\n    });\n  }\n  handleGridDrag(event) {\n    const grid = this.shadowRoot.querySelector(\".grid\");\n    const handle = grid.querySelector(\".grid-handle\");\n    const { width, height } = grid.getBoundingClientRect();\n    let initialValue = this.value;\n    let currentValue = this.value;\n    handle.focus();\n    event.preventDefault();\n    this.isDraggingGridHandle = true;\n    drag(grid, {\n      onMove: (x2, y3) => {\n        this.saturation = clamp(x2 / width * 100, 0, 100);\n        this.brightness = clamp(100 - y3 / height * 100, 0, 100);\n        this.syncValues();\n        if (this.value !== currentValue) {\n          currentValue = this.value;\n          this.updateComplete.then(() => {\n            this.dispatchEvent(\n              new InputEvent(\"input\", {\n                bubbles: true,\n                composed: true\n              })\n            );\n          });\n        }\n      },\n      onStop: () => {\n        this.isDraggingGridHandle = false;\n        if (this.value !== initialValue) {\n          initialValue = this.value;\n          this.updateComplete.then(() => {\n            this.dispatchEvent(\n              new Event(\"change\", {\n                bubbles: true,\n                composed: true\n              })\n            );\n          });\n        }\n      },\n      initialEvent: event\n    });\n  }\n  handleAlphaKeyDown(event) {\n    const increment = event.shiftKey ? 10 : 1;\n    const oldValue = this.value;\n    if (event.key === \"ArrowLeft\") {\n      event.preventDefault();\n      this.alpha = clamp(this.alpha - increment, 0, 100);\n      this.syncValues();\n    }\n    if (event.key === \"ArrowRight\") {\n      event.preventDefault();\n      this.alpha = clamp(this.alpha + increment, 0, 100);\n      this.syncValues();\n    }\n    if (event.key === \"Home\") {\n      event.preventDefault();\n      this.alpha = 0;\n      this.syncValues();\n    }\n    if (event.key === \"End\") {\n      event.preventDefault();\n      this.alpha = 100;\n      this.syncValues();\n    }\n    if (this.value !== oldValue) {\n      this.updateComplete.then(() => {\n        this.dispatchEvent(\n          new Event(\"change\", { bubbles: true, composed: true })\n        );\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n      });\n    }\n  }\n  handleHueKeyDown(event) {\n    const increment = event.shiftKey ? 10 : 1;\n    const oldValue = this.value;\n    if (event.key === \"ArrowLeft\") {\n      event.preventDefault();\n      this.hue = clamp(this.hue - increment, 0, 360);\n      this.syncValues();\n    }\n    if (event.key === \"ArrowRight\") {\n      event.preventDefault();\n      this.hue = clamp(this.hue + increment, 0, 360);\n      this.syncValues();\n    }\n    if (event.key === \"Home\") {\n      event.preventDefault();\n      this.hue = 0;\n      this.syncValues();\n    }\n    if (event.key === \"End\") {\n      event.preventDefault();\n      this.hue = 360;\n      this.syncValues();\n    }\n    if (this.value !== oldValue) {\n      this.updateComplete.then(() => {\n        this.dispatchEvent(\n          new Event(\"change\", { bubbles: true, composed: true })\n        );\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n      });\n    }\n  }\n  handleGridKeyDown(event) {\n    const increment = event.shiftKey ? 10 : 1;\n    const oldValue = this.value;\n    if (event.key === \"ArrowLeft\") {\n      event.preventDefault();\n      this.saturation = clamp(this.saturation - increment, 0, 100);\n      this.syncValues();\n    }\n    if (event.key === \"ArrowRight\") {\n      event.preventDefault();\n      this.saturation = clamp(this.saturation + increment, 0, 100);\n      this.syncValues();\n    }\n    if (event.key === \"ArrowUp\") {\n      event.preventDefault();\n      this.brightness = clamp(this.brightness + increment, 0, 100);\n      this.syncValues();\n    }\n    if (event.key === \"ArrowDown\") {\n      event.preventDefault();\n      this.brightness = clamp(this.brightness - increment, 0, 100);\n      this.syncValues();\n    }\n    if (this.value !== oldValue) {\n      this.updateComplete.then(() => {\n        this.dispatchEvent(\n          new Event(\"change\", { bubbles: true, composed: true })\n        );\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n      });\n    }\n  }\n  handleInputChange(event) {\n    const target = event.target;\n    const oldValue = this.value;\n    event.stopPropagation();\n    if (this.input.value) {\n      this.setColor(target.value);\n      target.value = this.value || \"\";\n    } else {\n      this.value = \"\";\n    }\n    if (this.value !== oldValue) {\n      this.updateComplete.then(() => {\n        this.dispatchEvent(\n          new Event(\"change\", { bubbles: true, composed: true })\n        );\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n      });\n    }\n  }\n  handleInputInput(event) {\n    this.updateValidity();\n    event.stopPropagation();\n  }\n  handleInputKeyDown(event) {\n    if (event.key === \"Enter\") {\n      const oldValue = this.value;\n      if (this.input.value) {\n        this.setColor(this.input.value);\n        this.input.value = this.value || \"\";\n        if (this.value !== oldValue) {\n          this.updateComplete.then(() => {\n            this.dispatchEvent(\n              new Event(\"change\", {\n                bubbles: true,\n                composed: true\n              })\n            );\n            this.dispatchEvent(\n              new InputEvent(\"input\", {\n                bubbles: true,\n                composed: true\n              })\n            );\n          });\n        }\n        setTimeout(() => this.input.select());\n      } else {\n        this.hue = 0;\n      }\n    }\n  }\n  handleTouchMove(event) {\n    event.preventDefault();\n  }\n  parseColor(colorString) {\n    if (!colorString || colorString.trim() === \"\") {\n      return null;\n    }\n    const color = new TinyColor(colorString);\n    if (!color.isValid) {\n      return null;\n    }\n    const hslColor = color.toHsl();\n    const hsl = {\n      h: hslColor.h,\n      s: hslColor.s * 100,\n      l: hslColor.l * 100,\n      a: hslColor.a\n    };\n    const rgb = color.toRgb();\n    const hex = color.toHexString();\n    const hexa = color.toHex8String();\n    const hsvColor = color.toHsv();\n    const hsv = {\n      h: hsvColor.h,\n      s: hsvColor.s * 100,\n      v: hsvColor.v * 100,\n      a: hsvColor.a\n    };\n    return {\n      hsl: {\n        h: hsl.h,\n        s: hsl.s,\n        l: hsl.l,\n        string: this.setLetterCase(\n          `hsl(${Math.round(hsl.h)} ${Math.round(hsl.s)}% ${Math.round(hsl.l)}%)`\n        )\n      },\n      hsla: {\n        h: hsl.h,\n        s: hsl.s,\n        l: hsl.l,\n        a: hsl.a,\n        string: this.setLetterCase(\n          `hsl(${Math.round(hsl.h)} ${Math.round(hsl.s)}% ${Math.round(hsl.l)}% / ${Math.round(hsl.a * 100)}%)`\n        )\n      },\n      hsv: {\n        h: hsv.h,\n        s: hsv.s,\n        v: hsv.v,\n        string: this.setLetterCase(\n          `hsv(${Math.round(hsv.h)} ${Math.round(hsv.s)}% ${Math.round(hsv.v)}%)`\n        )\n      },\n      hsva: {\n        h: hsv.h,\n        s: hsv.s,\n        v: hsv.v,\n        a: hsv.a,\n        string: this.setLetterCase(\n          `hsv(${Math.round(hsv.h)} ${Math.round(hsv.s)}% ${Math.round(hsv.v)}% / ${Math.round(hsv.a * 100)}%)`\n        )\n      },\n      rgb: {\n        r: rgb.r,\n        g: rgb.g,\n        b: rgb.b,\n        string: this.setLetterCase(\n          `rgb(${Math.round(rgb.r)} ${Math.round(rgb.g)} ${Math.round(rgb.b)})`\n        )\n      },\n      rgba: {\n        r: rgb.r,\n        g: rgb.g,\n        b: rgb.b,\n        a: rgb.a,\n        string: this.setLetterCase(\n          `rgb(${Math.round(rgb.r)} ${Math.round(rgb.g)} ${Math.round(rgb.b)} / ${Math.round(rgb.a * 100)}%)`\n        )\n      },\n      hex: this.setLetterCase(hex),\n      hexa: this.setLetterCase(hexa)\n    };\n  }\n  setColor(colorString) {\n    const newColor = this.parseColor(colorString);\n    if (newColor === null) {\n      return false;\n    }\n    this.hue = newColor.hsva.h;\n    this.saturation = newColor.hsva.s;\n    this.brightness = newColor.hsva.v;\n    this.alpha = this.opacity ? newColor.hsva.a * 100 : 100;\n    this.syncValues();\n    return true;\n  }\n  setLetterCase(string) {\n    if (typeof string !== \"string\") {\n      return \"\";\n    }\n    return this.uppercase ? string.toUpperCase() : string.toLowerCase();\n  }\n  async syncValues() {\n    const currentColor = this.parseColor(\n      `hsva(${this.hue}, ${this.saturation}%, ${this.brightness}%, ${this.alpha / 100})`\n    );\n    if (currentColor === null) {\n      return;\n    }\n    if (this.format === \"hsl\") {\n      this.inputValue = this.alpha < 100 ? currentColor.hsla.string : currentColor.hsl.string;\n    } else if (this.format === \"rgb\") {\n      this.inputValue = this.alpha < 100 ? currentColor.rgba.string : currentColor.rgb.string;\n    } else if (this.format === \"hsv\") {\n      this.inputValue = this.alpha < 100 ? currentColor.hsva.string : currentColor.hsv.string;\n    } else {\n      this.inputValue = this.alpha < 100 ? currentColor.hexa : currentColor.hex;\n    }\n    this.isSafeValue = true;\n    this.value = this.inputValue;\n    await this.updateComplete;\n    this.isSafeValue = false;\n  }\n  handleEyeDropper() {\n    if (!this.hasEyeDropper) {\n      return;\n    }\n    const eyeDropper = new EyeDropper();\n    eyeDropper.open().then((colorSelectionResult) => {\n      const oldValue = this.value;\n      this.setColor(colorSelectionResult.sRGBHex);\n      if (this.value !== oldValue) {\n        this.updateComplete.then(() => {\n          this.dispatchEvent(\n            new Event(\"change\", {\n              bubbles: true,\n              composed: true\n            })\n          );\n          this.dispatchEvent(\n            new InputEvent(\"input\", {\n              bubbles: true,\n              composed: true\n            })\n          );\n        });\n      }\n    }).catch();\n  }\n  selectSwatch(color) {\n    const oldValue = this.value;\n    if (!this.disabled) {\n      this.setColor(color);\n      if (this.value !== oldValue) {\n        this.updateComplete.then(() => {\n          this.dispatchEvent(\n            new Event(\"change\", { bubbles: true, composed: true })\n          );\n          this.dispatchEvent(\n            new InputEvent(\"input\", {\n              bubbles: true,\n              composed: true\n            })\n          );\n        });\n      }\n    }\n  }\n  /** Generates a hex string from HSV values. The hue value must be within 0–360. All other arguments must be within 0–100. */\n  getHexString(hue, saturation, brightness, alpha = 100) {\n    const color = new TinyColor(\n      `hsva(${hue}, ${saturation}%, ${brightness}%, ${alpha / 100})`\n    );\n    if (!color.isValid) {\n      return \"\";\n    }\n    return color.toHex8String();\n  }\n  stopNestedEventPropagation(event) {\n    event.stopImmediatePropagation();\n  }\n  handleFormatChange() {\n    this.syncValues();\n  }\n  handleOpacityChange() {\n    this.alpha = 100;\n  }\n  willUpdate(changedProperties) {\n    super.willUpdate(changedProperties);\n    if (changedProperties.has(\"value\")) {\n      this.handleValueChange(\n        changedProperties.get(\"value\") || \"\",\n        this.value || \"\"\n      );\n    }\n  }\n  handleValueChange(oldValue, newValue) {\n    this.isEmpty = !newValue;\n    if (!newValue) {\n      this.hue = 0;\n      this.saturation = 0;\n      this.brightness = 100;\n      this.alpha = 100;\n    }\n    if (!this.isSafeValue) {\n      const newColor = this.parseColor(newValue);\n      if (newColor !== null) {\n        this.inputValue = this.value || \"\";\n        this.hue = newColor.hsva.h;\n        this.saturation = newColor.hsva.s;\n        this.brightness = newColor.hsva.v;\n        this.alpha = newColor.hsva.a * 100;\n        this.syncValues();\n      } else {\n        this.inputValue = oldValue ?? \"\";\n      }\n    }\n    this.requestUpdate();\n  }\n  /** Focuses the colour picker. */\n  focus(options) {\n    if (this.inline) {\n      this.base.focus(options);\n    } else {\n      this.trigger.focus(options);\n    }\n  }\n  /** Unfocuses the colour picker (i.e., blurs it). */\n  blur() {\n    const elementToBlur = this.inline ? this.base : this.trigger;\n    if (this.hasFocus) {\n      elementToBlur.focus({ preventScroll: true });\n      elementToBlur.blur();\n    }\n    if (this.popup?.active) {\n      this.hide();\n    }\n  }\n  /** Returns the current value as a string in the specified format. */\n  getFormattedValue(format = \"hex\") {\n    const currentColor = this.parseColor(\n      `hsv(${this.hue} ${this.saturation}% ${this.brightness}% / ${this.alpha}%)`\n    );\n    if (currentColor === null) {\n      return \"\";\n    }\n    switch (format) {\n      case \"hex\":\n        return currentColor.hex;\n      case \"hexa\":\n        return currentColor.hexa;\n      case \"rgb\":\n        return currentColor.rgb.string;\n      case \"rgba\":\n        return currentColor.rgba.string;\n      case \"hsl\":\n        return currentColor.hsl.string;\n      case \"hsla\":\n        return currentColor.hsla.string;\n      case \"hsv\":\n        return currentColor.hsv.string;\n      case \"hsva\":\n        return currentColor.hsva.string;\n      default:\n        return \"\";\n    }\n  }\n  /** Checks for validity and shows the browser’s validation message if the control is invalid. */\n  reportValidity() {\n    if (!this.inline && !this.validity.valid && !this.open) {\n      this.show();\n      this.addEventListener(\n        \"pc-after-show\",\n        () => this.reportValidityAfterShow,\n        { once: true }\n      );\n      if (!this.disabled) {\n        this.dispatchEvent(new PcInvalidEvent());\n      }\n      return false;\n    }\n    return super.reportValidity();\n  }\n  formResetCallback() {\n    this.value = this.defaultValue;\n    super.formResetCallback();\n  }\n  firstUpdated(changedProperties) {\n    super.firstUpdated(changedProperties);\n    this.hasEyeDropper = \"EyeDropper\" in window;\n  }\n  handleTriggerClick() {\n    if (this.open) {\n      this.hide();\n    } else {\n      this.show();\n      this.focus();\n    }\n  }\n  async handleTriggerKeyDown(event) {\n    if ([\" \", \"Enter\"].includes(event.key)) {\n      event.preventDefault();\n      this.handleTriggerClick();\n      return;\n    }\n  }\n  handleTriggerKeyUp(event) {\n    if (event.key === \" \") {\n      event.preventDefault();\n    }\n  }\n  updateAccessibleTrigger() {\n    const accessibleTrigger = this.trigger;\n    if (accessibleTrigger) {\n      accessibleTrigger.setAttribute(\"aria-haspopup\", \"true\");\n      accessibleTrigger.setAttribute(\n        \"aria-expanded\",\n        this.open ? \"true\" : \"false\"\n      );\n    }\n  }\n  /** Shows the colour picker popup. */\n  async show() {\n    if (this.open) {\n      return void 0;\n    }\n    this.open = true;\n    return waitForEvent(this, \"pc-after-show\");\n  }\n  /** Hides the colour picker popup. */\n  async hide() {\n    if (!this.open) {\n      return void 0;\n    }\n    this.open = false;\n    return waitForEvent(this, \"pc-after-hide\");\n  }\n  addOpenListeners() {\n    this.base.addEventListener(\"keydown\", this.handleKeyDown);\n    document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n    document.addEventListener(\"mousedown\", this.handleDocumentMouseDown);\n  }\n  removeOpenListeners() {\n    if (this.base) {\n      this.base.removeEventListener(\"keydown\", this.handleKeyDown);\n    }\n    document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n    document.removeEventListener(\"mousedown\", this.handleDocumentMouseDown);\n  }\n  async handleOpenChange() {\n    if (this.disabled) {\n      this.open = false;\n      return;\n    }\n    this.updateAccessibleTrigger();\n    if (this.open) {\n      this.dispatchEvent(new PcShowEvent());\n      this.addOpenListeners();\n      await this.updateComplete;\n      this.base.hidden = false;\n      this.popup.active = true;\n      const animation = getAnimation(this, \"colorPicker.show\", {\n        dir: this.localize.dir()\n      });\n      animateTo(this.popup.popup, animation.keyframes, animation.options);\n      this.dispatchEvent(new PcAfterShowEvent());\n    } else {\n      this.dispatchEvent(new PcHideEvent());\n      this.removeOpenListeners();\n      const animation = getAnimation(this, \"colorPicker.hide\", {\n        dir: this.localize.dir()\n      });\n      await animateTo(\n        this.popup.popup,\n        animation.keyframes,\n        animation.options\n      );\n      this.base.hidden = true;\n      this.popup.active = false;\n      this.dispatchEvent(new PcAfterHideEvent());\n    }\n  }\n  render() {\n    const hasLabelSlot = this.hasSlotController.test(\"label\");\n    const hasHintSlot = this.hasSlotController.test(\"hint\");\n    const hasLabel = this.label ? true : !!hasLabelSlot;\n    const hasHint = this.hint ? true : !!hasHintSlot;\n    const gridHandleX = this.saturation;\n    const gridHandleY = 100 - this.brightness;\n    const swatches = Array.isArray(this.swatches) ? this.swatches : this.swatches.split(\";\").filter((color) => color.trim() !== \"\");\n    const colorPicker = x`\n            <div\n                part=\"base\"\n                class=${e7({\n      \"color-picker\": true,\n      \"inline\": this.inline,\n      \"disabled\": this.disabled,\n      \"focused\": this.hasFocus\n    })}\n                aria-disabled=${this.disabled ? \"true\" : \"false\"}\n                aria-labelledby=\"label\"\n                tabindex=${this.inline ? \"0\" : \"-1\"}\n            >\n                ${this.inline ? x`\n                          <slot class=\"label\" name=\"label\">\n                              ${this.label}\n                          </slot>\n                      ` : null}\n\n                <div\n                    part=\"grid\"\n                    class=\"grid\"\n                    style=${o7({\n      backgroundColor: this.getHexString(this.hue, 100, 100)\n    })}\n                    @pointerdown=${this.handleGridDrag}\n                    @touchmove=${this.handleTouchMove}\n                >\n                    <span\n                        part=\"grid-handle\"\n                        class=${e7({\n      \"grid-handle\": true,\n      \"dragging\": this.isDraggingGridHandle\n    })}\n                        style=${o7({\n      top: `${gridHandleY}%`,\n      left: `${gridHandleX}%`,\n      backgroundColor: this.getHexString(\n        this.hue,\n        this.saturation,\n        this.brightness,\n        this.alpha\n      )\n    })}\n                        role=\"application\"\n                        aria-label=\"HSV\"\n                        tabindex=${o6(this.disabled ? void 0 : \"0\")}\n                        @keydown=${this.handleGridKeyDown}\n                    ></span>\n                </div>\n\n                <div class=\"controls\">\n                    <div class=\"sliders\">\n                        <div\n                            part=\"slider hue-slider\"\n                            class=\"slider hue-slider\"\n                            @pointerdown=${this.handleHueDrag}\n                            @touchmove=${this.handleTouchMove}\n                        >\n                            <span\n                                part=\"slider-thumb hue-slider-thumb\"\n                                class=\"slider-thumb\"\n                                style=${o7({\n      left: `${this.hue === 0 ? 0 : 100 / (360 / this.hue)}%`\n    })}\n                                role=\"slider\"\n                                aria-label=${this.localize.term(\"hue\")}\n                                aria-orientation=\"horizontal\"\n                                aria-valuemin=\"0\"\n                                aria-valuemax=\"360\"\n                                aria-valuenow=${`${Math.round(this.hue)}`}\n                                tabindex=${o6(\n      this.disabled ? void 0 : \"0\"\n    )}\n                                @keydown=${this.handleHueKeyDown}\n                            ></span>\n                        </div>\n\n                        ${this.opacity ? x`\n                                  <div\n                                      part=\"slider opacity-slider\"\n                                      class=\"slider alpha-slider pixel-background\"\n                                      @pointerdown=${this.handleAlphaDrag}\n                                      @touchmove=${this.handleTouchMove}\n                                  >\n                                      <div\n                                          class=\"alpha-gradient\"\n                                          style=${o7({\n      backgroundImage: `\n                                                  linear-gradient(\n                                                      to right,\n                                                      ${this.getHexString(this.hue, this.saturation, this.brightness, 0)} 0%,\n                                                      ${this.getHexString(this.hue, this.saturation, this.brightness, 100)} 100%\n                                                  )\n                                              `\n    })}\n                                      ></div>\n                                      <span\n                                          part=\"slider-thumb opacity-slider-thumb\"\n                                          class=\"slider-thumb\"\n                                          style=${o7({\n      left: `${this.alpha}%`\n    })}\n                                          role=\"slider\"\n                                          aria-label=${this.localize.term(\n      \"opacity\"\n    )}\n                                          aria-orientation=\"horizontal\"\n                                          aria-valuemin=\"0\"\n                                          aria-valuemax=\"100\"\n                                          aria-valuenow=${Math.round(\n      this.alpha\n    )}\n                                          tabindex=${o6(\n      this.disabled ? void 0 : \"0\"\n    )}\n                                          @keydown=${this.handleAlphaKeyDown}\n                                      ></span>\n                                  </div>\n                              ` : \"\"}\n                    </div>\n                    <div\n                        part=\"preview\"\n                        class=\"preview pixel-background\"\n                        style=${o7({\n      \"--preview-color\": this.getHexString(\n        this.hue,\n        this.saturation,\n        this.brightness,\n        this.alpha\n      )\n    })}\n                    ></div>\n                </div>\n\n                <div class=\"user-input\" aria-live=\"polite\">\n                    <pc-input\n                        part=\"input\"\n                        class=${e7({\n      empty: this.isEmpty\n    })}\n                        type=\"text\"\n                        id=\"color-input\"\n                        name=${this.name}\n                        size=\"small\"\n                        autocomplete=\"off\"\n                        autocorrect=\"off\"\n                        autocapitalize=\"off\"\n                        spellcheck=\"false\"\n                        value=${this.isEmpty ? \"\" : this.inputValue}\n                        ?required=${this.required}\n                        ?disabled=${this.disabled}\n                        aria-label=${this.localize.term(\"currentValue\")}\n                        @keydown=${this.handleInputKeyDown}\n                        @change=${this.handleInputChange}\n                        @input=${this.handleInputInput}\n                        @focus=${this.stopNestedEventPropagation}\n                        @blur=${this.stopNestedEventPropagation}\n                    >\n                        ${!this.isEmpty ? x`\n                                  <pc-copy-button\n                                      part=\"copy-button\"\n                                      class=\"copy-button\"\n                                      from=\"color-input.value\"\n                                      slot=\"suffix\"\n                                      exportparts=\"button:copy-button-button\"\n                                  ></pc-copy-button>\n                              ` : null}\n                    </pc-input>\n\n                    <pc-button-group>\n                        ${!this.noFormatToggle ? x`\n                                  <pc-button\n                                      part=\"format-button\"\n                                      size=\"small\"\n                                      variant=\"outlined\"\n                                      aria-label=${this.localize.term(\n      \"toggleColorFormat\"\n    )}\n                                      exportparts=\"\n                                          base:format-button-base,\n                                          prefix:format-button-prefix,\n                                          label:format-button-label,\n                                          suffix:format-button-suffix\n                                      \"\n                                      @click=${this.handleFormatToggle}\n                                      @pc-focus=${this.stopNestedEventPropagation}\n                                      @pc-blur=${this.stopNestedEventPropagation}\n                                  >\n                                      ${this.setLetterCase(this.format)}\n                                  </pc-button>\n                              ` : \"\"}\n                        ${this.hasEyeDropper ? x`\n                                  <pc-button\n                                      part=\"eyedropper-button\"\n                                      size=\"small\"\n                                      variant=\"outlined\"\n                                      exportparts=\"\n                                          base:eyedropper-button-base,\n                                          prefix:eyedropper-button-prefix,\n                                          label:eyedropper-button-label,\n                                          suffix:eyedropper-button-suffix,\n                                      \"\n                                      @click=${this.handleEyeDropper}\n                                      @pc-focus=${this.stopNestedEventPropagation}\n                                      @pc-blur=${this.stopNestedEventPropagation}\n                                  >\n                                      <pc-icon\n                                          library=\"system\"\n                                          icon-style=\"solid\"\n                                          name=\"eye-dropper\"\n                                          label=${this.localize.term(\n      \"pickAColorFromTheScreen\"\n    )}\n                                      ></pc-icon>\n                                  </pc-button>\n                              ` : \"\"}\n                    </pc-button-group>\n                </div>\n\n                ${swatches.length > 0 ? x`\n                          <div part=\"swatches\" class=\"swatches\">\n                              ${swatches.map((swatch) => {\n      const parsedColor = this.parseColor(swatch);\n      if (!parsedColor) {\n        console.error(\n          `Unable to parse this swatch colour: ${swatch}`,\n          this\n        );\n        return \"\";\n      }\n      return x`\n                                      <div\n                                          part=\"swatch\"\n                                          class=\"swatch pixel-background\"\n                                          tabindex=${o6(\n        this.disabled ? void 0 : \"0\"\n      )}\n                                          role=\"button\"\n                                          aria-label=${swatch}\n                                          @click=${() => this.selectSwatch(swatch)}\n                                          @keydown=${(event) => !this.disabled && event.key === \"Enter\" && this.setColor(parsedColor.hexa)}\n                                      >\n                                          <div\n                                              class=\"swatch-color\"\n                                              style=${o7({\n        backgroundColor: parsedColor.hexa\n      })}\n                                          ></div>\n                                      </div>\n                                  `;\n    })}\n                          </div>\n                      ` : \"\"}\n                ${this.inline ? x`\n                          <slot class=\"pc-visually-hidden\" name=\"hint\">\n                              ${this.hint}\n                          </slot>\n                      ` : \"\"}\n            </div>\n        `;\n    if (this.inline) {\n      return colorPicker;\n    }\n    return x`\n            <label\n                part=\"label\"\n                class=\"label\"\n                id=\"label\"\n                aria-hidden=${hasLabel ? \"false\" : \"true\"}\n            >\n                <slot name=\"label\">${this.label}</slot>\n            </label>\n            <pc-popup\n                class=\"color-popup\"\n                part=\"popup\"\n                placement=\"bottom-start\"\n                distance=\"0\"\n                skidding=\"0\"\n                flip\n                flip-fallback-strategy=\"best-fit\"\n                shift\n                shift-padding=\"10\"\n                aria-disabled=${this.disabled ? \"true\" : \"false\"}\n            >\n                <button\n                    type=\"button\"\n                    part=\"trigger\"\n                    slot=\"anchor\"\n                    class=${e7({\n      \"popup-trigger\": true,\n      \"empty\": this.isEmpty,\n      \"focused\": this.hasFocus,\n      \"pixel-background\": true\n    })}\n                    style=${o7({\n      color: this.getHexString(\n        this.hue,\n        this.saturation,\n        this.brightness,\n        this.alpha\n      )\n    })}\n                    .disabled=${this.disabled}\n                    aria-labelledby=\"label\"\n                    @click=${this.handleTriggerClick}\n                    @keydown=${this.handleTriggerKeyDown}\n                    @keyup=${this.handleTriggerKeyUp}\n                ></button>\n\n                ${colorPicker}\n            </pc-popup>\n\n            <slot\n                class=${e7({ \"has-hint\": hasHint })}\n                part=\"hint\"\n                id=\"hint\"\n                name=\"hint\"\n                aria-hidden=${hasHint ? \"false\" : \"true\"}\n            >\n                ${this.hint}\n            </slot>\n        `;\n  }\n};\nPcColorPicker.css = [form_control_default, size_default, color_picker_default];\nPcColorPicker.shadowRootOptions = {\n  ...PlacerFormAssociatedElement.shadowRootOptions,\n  delegatesFocus: true\n};\n__decorateClass([\n  e5('[part~=\"base\"]')\n], PcColorPicker.prototype, \"base\", 2);\n__decorateClass([\n  e5('[part~=\"input\"]')\n], PcColorPicker.prototype, \"input\", 2);\n__decorateClass([\n  e5('[part~=\"popup\"]')\n], PcColorPicker.prototype, \"popup\", 2);\n__decorateClass([\n  e5('[part~=\"preview\"]')\n], PcColorPicker.prototype, \"previewButton\", 2);\n__decorateClass([\n  e5('[part~=\"trigger\"]')\n], PcColorPicker.prototype, \"trigger\", 2);\n__decorateClass([\n  r5()\n], PcColorPicker.prototype, \"hasFocus\", 2);\n__decorateClass([\n  r5()\n], PcColorPicker.prototype, \"hasEyeDropper\", 2);\n__decorateClass([\n  r5()\n], PcColorPicker.prototype, \"isDraggingGridHandle\", 2);\n__decorateClass([\n  r5()\n], PcColorPicker.prototype, \"isEmpty\", 2);\n__decorateClass([\n  r5()\n], PcColorPicker.prototype, \"inputValue\", 2);\n__decorateClass([\n  r5()\n], PcColorPicker.prototype, \"hue\", 2);\n__decorateClass([\n  r5()\n], PcColorPicker.prototype, \"saturation\", 2);\n__decorateClass([\n  r5()\n], PcColorPicker.prototype, \"brightness\", 2);\n__decorateClass([\n  r5()\n], PcColorPicker.prototype, \"alpha\", 2);\n__decorateClass([\n  r5()\n], PcColorPicker.prototype, \"value\", 1);\n__decorateClass([\n  n4({ attribute: \"value\", reflect: true })\n], PcColorPicker.prototype, \"defaultValue\", 2);\n__decorateClass([\n  n4()\n], PcColorPicker.prototype, \"label\", 2);\n__decorateClass([\n  n4()\n], PcColorPicker.prototype, \"hint\", 2);\n__decorateClass([\n  n4()\n], PcColorPicker.prototype, \"format\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcColorPicker.prototype, \"inline\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcColorPicker.prototype, \"size\", 2);\n__decorateClass([\n  n4({ attribute: \"no-format-toggle\", type: Boolean })\n], PcColorPicker.prototype, \"noFormatToggle\", 2);\n__decorateClass([\n  n4()\n], PcColorPicker.prototype, \"name\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcColorPicker.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcColorPicker.prototype, \"open\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcColorPicker.prototype, \"opacity\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcColorPicker.prototype, \"uppercase\", 2);\n__decorateClass([\n  n4()\n], PcColorPicker.prototype, \"swatches\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcColorPicker.prototype, \"required\", 2);\n__decorateClass([\n  t4({ passive: false })\n], PcColorPicker.prototype, \"handleTouchMove\", 1);\n__decorateClass([\n  watch(\"format\", { waitUntilFirstUpdate: true })\n], PcColorPicker.prototype, \"handleFormatChange\", 1);\n__decorateClass([\n  watch(\"opacity\", { waitUntilFirstUpdate: true })\n], PcColorPicker.prototype, \"handleOpacityChange\", 1);\n__decorateClass([\n  watch(\"value\")\n], PcColorPicker.prototype, \"handleValueChange\", 1);\n__decorateClass([\n  watch(\"open\", { waitUntilFirstUpdate: true })\n], PcColorPicker.prototype, \"handleOpenChange\", 1);\nPcColorPicker = __decorateClass([\n  t3(\"pc-color-picker\")\n], PcColorPicker);\n\n// src/components/comparer/comparer.css\nvar comparer_default = \":host {\\n    --divider-width: 0.125rem;\\n    --handle-size: 2.5rem;\\n\\n    display: inline-block;\\n    position: relative;\\n}\\n\\n.comparer {\\n    display: block;\\n    inline-size: 100%;\\n    max-inline-size: 100%;\\n    block-size: 100%;\\n    max-block-size: 100%;\\n    overflow: hidden;\\n}\\n\\n.content {\\n    block-size: 100%;\\n}\\n\\n.before-content,\\n.after-content {\\n    display: block;\\n    pointer-events: none;\\n    block-size: 100%;\\n}\\n\\n.before-content ::slotted(*),\\n.after-content ::slotted(*) {\\n    display: block;\\n    max-inline-size: 100% !important;\\n    block-size: auto;\\n    border-radius: var(--pc-border-radius-m);\\n}\\n\\n.after-content {\\n    position: absolute;\\n    inset-block-start: 0;\\n    inset-inline-start: 0;\\n    inline-size: 100%;\\n    block-size: 100%;\\n}\\n\\n.divider {\\n    display: flex;\\n    position: absolute;\\n    align-items: center;\\n    justify-content: center;\\n    inset-block-start: 0;\\n    inline-size: var(--divider-width);\\n    block-size: 100%;\\n    background-color: var(--pc-color-surface-default);\\n    translate: calc(var(--divider-width) / -2);\\n    cursor: ew-resize;\\n}\\n\\n.handle {\\n    display: flex;\\n    position: absolute;\\n    align-items: center;\\n    justify-content: center;\\n    inset-block-start: calc(50% - (var(--handle-size) / 2));\\n    inline-size: var(--handle-size);\\n    block-size: var(--handle-size);\\n    background-color: var(--pc-color-surface-default);\\n    border-radius: var(--pc-border-radius-circle);\\n    font-size: calc(var(--handle-size) * 0.4);\\n    color: var(--pc-color-neutral-on-quiet);\\n    cursor: inherit;\\n    z-index: 10;\\n}\\n\\n.handle:focus-visible {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n\";\n\n// src/components/comparer/comparer.ts\nvar PcComparer = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n    this.position = 50;\n  }\n  handleDrag(event) {\n    const { width } = this.base.getBoundingClientRect();\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    event.preventDefault();\n    drag(this.base, {\n      onMove: (x2) => {\n        const desiredLeft = parseFloat(\n          clamp(x2 / width * 100, 0, 100).toFixed(2)\n        );\n        if (isRTL2) {\n          this.position = desiredLeft;\n        } else {\n          this.position = parseFloat((100 - desiredLeft).toFixed(2));\n        }\n      },\n      initialEvent: event\n    });\n  }\n  handleKeyDown(event) {\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    if ([\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"].includes(event.key)) {\n      const increment = event.shiftKey ? 10 : 1;\n      event.preventDefault();\n      let leftPercent = isRTL2 ? this.position : 100 - this.position;\n      if (event.key === \"ArrowLeft\") {\n        leftPercent -= increment;\n      }\n      if (event.key === \"ArrowRight\") {\n        leftPercent += increment;\n      }\n      if (event.key === \"Home\") {\n        leftPercent = 0;\n      }\n      if (event.key === \"End\") {\n        leftPercent = 100;\n      }\n      leftPercent = clamp(leftPercent, 0, 100);\n      if (isRTL2) {\n        this.position = parseFloat(leftPercent.toFixed(2));\n      } else {\n        this.position = parseFloat((100 - leftPercent).toFixed(2));\n      }\n    }\n  }\n  handlePositionChange() {\n    this.dispatchEvent(\n      new Event(\"change\", { bubbles: true, composed: true })\n    );\n  }\n  render() {\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    return x`\n            <div\n                part=\"base\"\n                class=${e7({\n      \"comparer\": true,\n      \"is-rtl\": isRTL2\n    })}\n                id=\"comparer\"\n                @keydown=${this.handleKeyDown}\n            >\n                <div class=\"content\">\n                    <div part=\"before\" class=\"before-content\">\n                        <slot name=\"before\"></slot>\n                    </div>\n\n                    <div\n                        part=\"after\"\n                        class=\"after-content\"\n                        style=${o7({\n      clipPath: isRTL2 ? `inset(0 ${100 - this.position}% 0 0)` : `inset(0 0 0 ${100 - this.position}%)`\n    })}\n                    >\n                        <slot name=\"after\"></slot>\n                    </div>\n                </div>\n\n                <div\n                    part=\"divider\"\n                    class=\"divider\"\n                    style=${o7({\n      left: isRTL2 ? `${this.position}%` : `${100 - this.position}%`\n    })}\n                    @mousedown=${this.handleDrag}\n                    @touchstart=${this.handleDrag}\n                >\n                    <div\n                        part=\"handle\"\n                        class=\"handle\"\n                        role=\"scrollbar\"\n                        aria-orientation=\"horizontal\"\n                        aria-valuenow=${this.position}\n                        aria-valuemin=\"0\"\n                        aria-valuemax=\"100\"\n                        aria-controls=\"comparer\"\n                        tabindex=\"0\"\n                    >\n                        <slot name=\"handle\">\n                            <pc-icon\n                                library=\"system\"\n                                icon-style=\"solid\"\n                                name=\"grip-vertical\"\n                            ></pc-icon>\n                        </slot>\n                    </div>\n                </div>\n            </div>\n        `;\n  }\n};\nPcComparer.css = comparer_default;\nPcComparer.scopedElement = { \"pc-icon\": PcIcon };\n__decorateClass([\n  e5(\".comparer\")\n], PcComparer.prototype, \"base\", 2);\n__decorateClass([\n  e5(\".handle\")\n], PcComparer.prototype, \"handle\", 2);\n__decorateClass([\n  n4({ type: Number, reflect: true })\n], PcComparer.prototype, \"position\", 2);\n__decorateClass([\n  watch(\"position\", { waitUntilFirstUpdate: true })\n], PcComparer.prototype, \"handlePositionChange\", 1);\nPcComparer = __decorateClass([\n  t3(\"pc-comparer\")\n], PcComparer);\n\n// src/events/pc-copy.ts\nvar PcCopyEvent = class extends Event {\n  constructor(detail) {\n    super(\"pc-copy\", { bubbles: true, cancelable: false, composed: true });\n    this.detail = detail;\n  }\n};\n\n// src/components/tooltip/tooltip.css\nvar tooltip_default = ':host {\\n    --max-width: 30ch;\\n    --hide-delay: 0s;\\n    --show-delay: 0.15s;\\n\\n    display: contents;\\n}\\n\\n.tooltip {\\n    --arrow-size: var(--pc-tooltip-arrow-size);\\n    --arrow-color: var(--pc-tooltip-background-color);\\n    box-shadow: var(--pc-shadow-xs);\\n}\\n\\n.tooltip::part(popup) {\\n    z-index: 1000;\\n}\\n\\n.tooltip[data-current-placement^=\"top\"]::part(popup) {\\n    transform-origin: bottom;\\n}\\n\\n.tooltip[data-current-placement^=\"bottom\"]::part(popup) {\\n    transform-origin: top;\\n}\\n\\n.tooltip[data-current-placement^=\"left\"]::part(popup) {\\n    transform-origin: right;\\n}\\n\\n.tooltip[data-current-placement^=\"right\"]::part(popup) {\\n    transform-origin: left;\\n}\\n\\n.body {\\n    display: block;\\n    inline-size: max-content;\\n    max-inline-size: var(--max-width);\\n    padding: var(--pc-tooltip-padding);\\n    background-color: var(--pc-tooltip-background-color);\\n    color: var(--pc-tooltip-color);\\n    border-radius: var(--pc-tooltip-border-radius);\\n    font-family: var(--pc-tooltip-font-family);\\n    font-size: var(--pc-tooltip-font-size);\\n    font-weight: var(--pc-tooltip-font-weight);\\n    line-height: var(--pc-tooltip-line-height);\\n    text-align: center;\\n    white-space: normal;\\n    pointer-events: none;\\n    user-select: none;\\n    -webkit-user-select: none;\\n    box-shadow: var(--pc-shadow-xs);\\n}\\n';\n\n// src/components/tooltip/tooltip.ts\nsetDefaultAnimation(\"tooltip.show\", {\n  keyframes: [\n    { opacity: 0, scale: 0.8 },\n    { opacity: 1, scale: 1.05 },\n    { opacity: 1, scale: 1 }\n  ],\n  options: {\n    duration: 220,\n    easing: \"ease-out\"\n  }\n});\nsetDefaultAnimation(\"tooltip.hide\", {\n  keyframes: [\n    { opacity: 1, scale: 1 },\n    { opacity: 0, scale: 0.9 }\n  ],\n  options: {\n    duration: 140,\n    easing: \"cubic-bezier(0.4, 0, 1, 1)\"\n  }\n});\nvar PcTooltip = class extends PlacerElement {\n  constructor() {\n    super();\n    this.localize = new LocalizeController2(this);\n    this.content = \"\";\n    this.placement = \"top\";\n    this.disabled = false;\n    this.distance = 8;\n    this.open = false;\n    this.skidding = 0;\n    this.trigger = \"hover focus\";\n    this.handleClick = () => {\n      if (this.hasTrigger(\"click\")) {\n        if (this.open) {\n          this.hide();\n        } else {\n          this.show();\n        }\n      }\n    };\n    this.handleFocus = () => {\n      if (this.hasTrigger(\"focus\")) {\n        this.show();\n      }\n    };\n    this.handleBlur = () => {\n      if (this.hasTrigger(\"focus\")) {\n        this.hide();\n      }\n    };\n    this.handleDocumentKeyDown = (event) => {\n      if (event.key === \"Escape\") {\n        event.stopPropagation();\n        this.hide();\n      }\n    };\n    this.handleMouseOver = () => {\n      if (this.hasTrigger(\"hover\")) {\n        const delay = parseDuration(\n          getComputedStyle(this).getPropertyValue(\"--show-delay\")\n        );\n        clearTimeout(this.hoverTimeout);\n        this.hoverTimeout = window.setTimeout(() => this.show(), delay);\n      }\n    };\n    this.handleMouseOut = () => {\n      if (this.hasTrigger(\"hover\")) {\n        const delay = parseDuration(\n          getComputedStyle(this).getPropertyValue(\"--hide-delay\")\n        );\n        clearTimeout(this.hoverTimeout);\n        this.hoverTimeout = window.setTimeout(() => this.hide(), delay);\n      }\n    };\n    this.addEventListener(\"click\", this.handleClick);\n    this.addEventListener(\"focus\", this.handleFocus, true);\n    this.addEventListener(\"blur\", this.handleBlur, true);\n    this.addEventListener(\"mouseover\", this.handleMouseOver);\n    this.addEventListener(\"mouseout\", this.handleMouseOut);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this.closeWatcher?.destroy();\n    document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n  }\n  firstUpdated() {\n    this.body.hidden = !this.open;\n    if (this.open) {\n      this.popup.active = true;\n      this.popup.reposition();\n    }\n  }\n  hasTrigger(triggerType) {\n    const triggers = this.trigger.split(\" \");\n    return triggers.includes(triggerType);\n  }\n  async handleOpenChange() {\n    if (this.open) {\n      if (this.disabled) {\n        return;\n      }\n      const pcShow = new PcShowEvent();\n      this.dispatchEvent(pcShow);\n      if (pcShow.defaultPrevented) {\n        this.open = false;\n        return;\n      }\n      if (\"CloseWatcher\" in window) {\n        this.closeWatcher?.destroy();\n        this.closeWatcher = new CloseWatcher();\n        this.closeWatcher.onclose = () => {\n          this.hide();\n        };\n      } else {\n        document.addEventListener(\n          \"keydown\",\n          this.handleDocumentKeyDown\n        );\n      }\n      await stopAnimations(this.body);\n      this.body.hidden = false;\n      this.popup.active = true;\n      const { keyframes, options } = getAnimation(this, \"tooltip.show\", {\n        dir: this.localize.dir()\n      });\n      await animateTo(this.popup.popup, keyframes, options);\n      this.popup.reposition();\n      this.dispatchEvent(new PcAfterShowEvent());\n    } else {\n      const pcHide = new PcHideEvent();\n      this.dispatchEvent(pcHide);\n      if (pcHide.defaultPrevented) {\n        this.open = true;\n        return;\n      }\n      this.closeWatcher?.destroy();\n      document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n      await stopAnimations(this.body);\n      const { keyframes, options } = getAnimation(this, \"tooltip.hide\", {\n        dir: this.localize.dir()\n      });\n      await animateTo(this.popup.popup, keyframes, options);\n      this.popup.active = false;\n      this.body.hidden = true;\n      this.dispatchEvent(new PcAfterHideEvent());\n    }\n  }\n  async handleOptionsChange() {\n    if (this.hasUpdated) {\n      await this.updateComplete;\n      this.popup.reposition();\n    }\n  }\n  handleDisabledChange() {\n    if (this.disabled && this.open) {\n      this.hide();\n    }\n  }\n  /** Shows the tooltip. */\n  async show() {\n    if (this.open) {\n      return void 0;\n    }\n    this.open = true;\n    return waitForEvent(this, \"pc-after-show\");\n  }\n  /** Hides the tooltip. */\n  async hide() {\n    if (!this.open) {\n      return void 0;\n    }\n    this.open = false;\n    return waitForEvent(this, \"pc-after-hide\");\n  }\n  render() {\n    return x`\n            <pc-popup\n                part=\"base\"\n                class=${e7({\n      tooltip: true,\n      open: this.open\n    })}\n                placement=${this.placement}\n                distance=${this.distance}\n                skidding=${this.skidding}\n                flip=\"\"\n                shift=\"\"\n                arrow=\"\"\n                hover-bridge=\"\"\n                exportparts=\"popup:base-popup, arrow:base__arrow\"\n            >\n                <slot slot=\"anchor\" aria-describedby=\"tooltip\"></slot>\n\n                <div\n                    part=\"body\"\n                    class=\"body\"\n                    id=\"tooltip\"\n                    role=\"tooltip\"\n                    aria-live=${this.open ? \"polite\" : \"off\"}\n                >\n                    <slot name=\"content\">${this.content}</slot>\n                </div>\n            </pc-popup>\n        `;\n  }\n};\nPcTooltip.css = tooltip_default;\n__decorateClass([\n  e5(\"slot:not([name])\")\n], PcTooltip.prototype, \"defaultSlot\", 2);\n__decorateClass([\n  e5(\".body\")\n], PcTooltip.prototype, \"body\", 2);\n__decorateClass([\n  e5(\"pc-popup\")\n], PcTooltip.prototype, \"popup\", 2);\n__decorateClass([\n  n4()\n], PcTooltip.prototype, \"content\", 2);\n__decorateClass([\n  n4()\n], PcTooltip.prototype, \"placement\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcTooltip.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcTooltip.prototype, \"distance\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcTooltip.prototype, \"open\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcTooltip.prototype, \"skidding\", 2);\n__decorateClass([\n  n4()\n], PcTooltip.prototype, \"trigger\", 2);\n__decorateClass([\n  watch(\"open\", { waitUntilFirstUpdate: true })\n], PcTooltip.prototype, \"handleOpenChange\", 1);\n__decorateClass([\n  watch([\"content\", \"distance\", \"placement\", \"skidding\"])\n], PcTooltip.prototype, \"handleOptionsChange\", 1);\n__decorateClass([\n  watch(\"disabled\")\n], PcTooltip.prototype, \"handleDisabledChange\", 1);\nPcTooltip = __decorateClass([\n  t3(\"pc-tooltip\")\n], PcTooltip);\n\n// src/components/copy-button/copy-button.css\nvar copy_button_default = \":host {\\n    --error-color: var(--pc-color-danger-on-quiet);\\n    --success-color: var(--pc-color-success-on-quiet);\\n    display: inline-block;\\n}\\n\\n.copy-button {\\n    display: flex;\\n    align-items: center;\\n    flex: 0 0 auto;\\n    background: transparent;\\n    border: none;\\n    border-radius: var(--pc-border-radius-m);\\n    font-size: inherit;\\n    color: inherit;\\n    padding: var(--pc-spacing-s);\\n    cursor: pointer;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n@media (hover: hover) {\\n    .copy-button:hover:not([disabled]) {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-color-neutral-fill-normal),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n.copy-button:active:not([disabled]) {\\n    background-color: color-mix(\\n        in oklab,\\n        var(--pc-color-neutral-fill-normal),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n.copy-button:focus-visible:not([disabled]) {\\n    background-color: color-mix(\\n        in oklab,\\n        var(--pc-color-neutral-fill-normal),\\n        var(--pc-color-mix-hover)\\n    );\\n}\\n\\n.state-success .copy-button {\\n    color: var(--success-color);\\n}\\n\\n.state-error .copy-button {\\n    color: var(--error-color);\\n}\\n\\n.copy-button:focus-visible {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.copy-button[disabled] {\\n    opacity: 0.5;\\n    cursor: not-allowed !important;\\n}\\n\\nslot {\\n    display: inline-flex;\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n\";\n\n// src/components/copy-button/copy-button.ts\nsetDefaultAnimation(\"copy.in\", {\n  keyframes: [\n    { scale: \"0.6\", opacity: \"0\" },\n    { scale: \"1.1\", opacity: \"1\" },\n    { scale: \"0.95\", opacity: \"1\" },\n    { scale: \"1\", opacity: \"1\" }\n  ],\n  options: {\n    duration: 350,\n    easing: \"cubic-bezier(0.34, 1.56, 0.64, 1)\"\n  }\n});\nsetDefaultAnimation(\"copy.out\", {\n  keyframes: [\n    { scale: \"1\", opacity: \"1\" },\n    { scale: \"0.85\", opacity: \"0\" }\n  ],\n  options: {\n    duration: 200,\n    easing: \"cubic-bezier(0.75, 0, 0.9, 0.05)\"\n  }\n});\nvar PcCopyButton = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n    this.isCopying = false;\n    this.status = \"rest\";\n    this.value = \"\";\n    this.from = \"\";\n    this.disabled = false;\n    this.copyLabel = \"\";\n    this.successLabel = \"\";\n    this.errorLabel = \"\";\n    this.feedbackDuration = 1e3;\n    this.tooltipPlacement = \"top\";\n  }\n  async handleCopy() {\n    if (this.disabled || this.isCopying) {\n      return;\n    }\n    this.isCopying = true;\n    let valueToCopy = this.value;\n    if (this.from) {\n      const root = this.getRootNode();\n      const isProperty = this.from.includes(\".\");\n      const isAttribute = this.from.includes(\"[\") && this.from.includes(\"]\");\n      let id3 = this.from;\n      let field = \"\";\n      if (isProperty) {\n        [id3, field] = this.from.trim().split(\".\");\n      } else if (isAttribute) {\n        [id3, field] = this.from.trim().replace(/\\]$/, \"\").split(\"[\");\n      }\n      const target = \"getElementById\" in root ? root.getElementById(id3) : null;\n      if (target) {\n        if (isAttribute) {\n          valueToCopy = target.getAttribute(field) || \"\";\n        } else if (isProperty) {\n          valueToCopy = target[field] || \"\";\n        } else {\n          valueToCopy = target.textContent || \"\";\n        }\n      } else {\n        this.showStatus(\"error\");\n        this.dispatchEvent(new PcErrorEvent());\n      }\n    }\n    if (!valueToCopy) {\n      this.showStatus(\"error\");\n      this.dispatchEvent(new PcErrorEvent());\n    } else {\n      try {\n        await navigator.clipboard.writeText(valueToCopy);\n        this.showStatus(\"success\");\n        this.dispatchEvent(new PcCopyEvent({ value: valueToCopy }));\n      } catch {\n        this.showStatus(\"error\");\n        this.dispatchEvent(new PcErrorEvent());\n      }\n    }\n  }\n  async showStatus(status) {\n    const copyLabel = this.copyLabel || this.localize.term(\"copy\");\n    const successLabel = this.successLabel || this.localize.term(\"copied\");\n    const errorLabel = this.errorLabel || this.localize.term(\"error\");\n    const iconToShow = status === \"success\" ? this.successIcon : this.errorIcon;\n    const showAnimation = getAnimation(this, \"copy.in\", { dir: \"ltr\" });\n    const hideAnimation = getAnimation(this, \"copy.out\", { dir: \"ltr\" });\n    this.tooltip.content = status === \"success\" ? successLabel : errorLabel;\n    await this.copyIcon.animate(\n      hideAnimation.keyframes,\n      hideAnimation.options\n    ).finished;\n    this.copyIcon.hidden = true;\n    this.status = status;\n    iconToShow.hidden = false;\n    await iconToShow.animate(showAnimation.keyframes, showAnimation.options).finished;\n    setTimeout(async () => {\n      await iconToShow.animate(\n        hideAnimation.keyframes,\n        hideAnimation.options\n      ).finished;\n      iconToShow.hidden = true;\n      this.status = \"rest\";\n      this.copyIcon.hidden = false;\n      await this.copyIcon.animate(\n        showAnimation.keyframes,\n        showAnimation.options\n      ).finished;\n      this.tooltip.content = copyLabel;\n      this.isCopying = false;\n    }, this.feedbackDuration);\n  }\n  get currentStatus() {\n    const copyLabel = this.copyLabel || this.localize.term(\"copy\");\n    const successLabel = this.successLabel || this.localize.term(\"copied\");\n    const errorLabel = this.errorLabel || this.localize.term(\"error\");\n    switch (this.status) {\n      case \"success\":\n        return successLabel;\n      case \"error\":\n        return errorLabel;\n      default:\n        return copyLabel;\n    }\n  }\n  render() {\n    const copyLabel = this.copyLabel || this.localize.term(\"copy\");\n    return x`\n            <pc-tooltip\n                class=${e7({\n      \"copy-button-container\": true,\n      \"state-success\": this.status === \"success\",\n      \"state-error\": this.status === \"error\"\n    })}\n                content=${copyLabel}\n                placement=${this.tooltipPlacement}\n                ?disabled=${this.disabled}\n                exportparts=\"\n                    base:tooltip-base,\n                    base-popup:tooltip-base-popup,\n                    base-arrow:tooltip-base-arrow,\n                    body:tooltip-body\n                \"\n            >\n                <button\n                    class=\"copy-button\"\n                    type=\"button\"\n                    part=\"button\"\n                    ?disabled=${this.disabled}\n                    aria-label=${this.currentStatus}\n                    @click=${this.handleCopy}\n                >\n                    <slot part=\"copy-icon\" name=\"copy-icon\">\n                        <pc-icon\n                            library=\"system\"\n                            icon-style=\"regular\"\n                            name=\"copy\"\n                        ></pc-icon>\n                    </slot>\n                    <slot part=\"success-icon\" name=\"success-icon\" hidden>\n                        <pc-icon\n                            library=\"system\"\n                            icon-style=\"solid\"\n                            name=\"check\"\n                        ></pc-icon>\n                    </slot>\n                    <slot part=\"error-icon\" name=\"error-icon\" hidden>\n                        <pc-icon\n                            library=\"system\"\n                            icon-style=\"solid\"\n                            name=\"xmark\"\n                        ></pc-icon>\n                    </slot>\n                </button>\n            </pc-tooltip>\n        `;\n  }\n};\nPcCopyButton.css = copy_button_default;\n__decorateClass([\n  e5('slot[name=\"copy-icon\"]')\n], PcCopyButton.prototype, \"copyIcon\", 2);\n__decorateClass([\n  e5('slot[name=\"success-icon\"]')\n], PcCopyButton.prototype, \"successIcon\", 2);\n__decorateClass([\n  e5('slot[name=\"error-icon\"]')\n], PcCopyButton.prototype, \"errorIcon\", 2);\n__decorateClass([\n  e5(\"pc-tooltip\")\n], PcCopyButton.prototype, \"tooltip\", 2);\n__decorateClass([\n  r5()\n], PcCopyButton.prototype, \"isCopying\", 2);\n__decorateClass([\n  r5()\n], PcCopyButton.prototype, \"status\", 2);\n__decorateClass([\n  n4()\n], PcCopyButton.prototype, \"value\", 2);\n__decorateClass([\n  n4()\n], PcCopyButton.prototype, \"from\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcCopyButton.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ attribute: \"copy-label\" })\n], PcCopyButton.prototype, \"copyLabel\", 2);\n__decorateClass([\n  n4({ attribute: \"success-label\" })\n], PcCopyButton.prototype, \"successLabel\", 2);\n__decorateClass([\n  n4({ attribute: \"error-label\" })\n], PcCopyButton.prototype, \"errorLabel\", 2);\n__decorateClass([\n  n4({ attribute: \"feedback-duration\", type: Number })\n], PcCopyButton.prototype, \"feedbackDuration\", 2);\n__decorateClass([\n  n4({ attribute: \"tooltip-placement\" })\n], PcCopyButton.prototype, \"tooltipPlacement\", 2);\nPcCopyButton = __decorateClass([\n  t3(\"pc-copy-button\")\n], PcCopyButton);\n\n// src/components/details/details.css\nvar details_default = ':host {\\n    display: block;\\n}\\n\\n.details {\\n    background-color: var(--pc-color-surface-default);\\n    color: var(--pc-color-text-normal);\\n    border: var(--pc-panel-border-width) var(--pc-panel-border-style)\\n        var(--pc-color-surface-border);\\n    border-radius: var(--pc-border-radius-l);\\n    overflow-anchor: none;\\n}\\n\\n:host([variant~=\"outlined\"]) .details {\\n    background-color: var(--pc-color-surface-default);\\n    border-color: var(--pc-color-surface-border);\\n}\\n\\n:host([variant~=\"filled\"]) .details {\\n    background-color: var(--pc-color-neutral-fill-quiet);\\n    border-color: transparent;\\n}\\n\\n:host([variant~=\"filled\"][variant~=\"outlined\"]) .details {\\n    border-color: var(--pc-color-neutral-border-quiet);\\n}\\n\\n:host([variant~=\"plain\"]) .details {\\n    background-color: transparent;\\n    border-color: transparent;\\n}\\n\\n.disabled {\\n    opacity: 0.5;\\n}\\n\\n.header {\\n    display: flex;\\n    align-items: center;\\n    border-radius: var(--pc-border-radius-l);\\n    padding: var(--pc-spacing-m);\\n    user-select: none;\\n    -webkit-user-select: none;\\n    cursor: pointer;\\n    transition: border-radius var(--pc-transition-fast)\\n        cubic-bezier(0.55, 0, 0.55, 0.2);\\n}\\n\\n.open .header {\\n    border-end-start-radius: 0;\\n    border-end-end-radius: 0;\\n    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.header::-webkit-details-marker {\\n    display: none;\\n}\\n\\n.header:focus {\\n    outline: none;\\n}\\n\\n.header:focus-visible {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: calc(var(--pc-focus-ring-offset) + 0.0625rem);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.disabled .header {\\n    cursor: not-allowed;\\n}\\n\\n.disabled .header:focus-visible {\\n    outline: none;\\n    box-shadow: none;\\n}\\n\\n.summary {\\n    display: flex;\\n    align-items: center;\\n    flex: 1 1 auto;\\n}\\n\\n.summary-icon {\\n    display: flex;\\n    align-items: center;\\n    flex: 0 0 auto;\\n    transition: rotate var(--pc-transition-fast) ease-in-out;\\n}\\n\\n.open .summary-icon {\\n    rotate: 90deg;\\n}\\n\\n.open.is-rtl .summary-icon {\\n    rotate: -90deg;\\n}\\n\\n.open slot[name=\"expand-icon\"],\\n.details:not(.open) slot[name=\"collapse-icon\"] {\\n    display: none;\\n}\\n\\n.body {\\n    overflow: hidden;\\n}\\n\\n.content {\\n    display: block;\\n    padding: var(--pc-spacing-m);\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n';\n\n// src/components/details/details.ts\nsetDefaultAnimation(\"details.show\", {\n  keyframes: [\n    { blockSize: \"0\", opacity: \"0\" },\n    { blockSize: \"auto\", opacity: \"1\" }\n  ],\n  options: { duration: 300, easing: \"cubic-bezier(0.33, 1, 0.68, 1)\" }\n});\nsetDefaultAnimation(\"details.hide\", {\n  keyframes: [\n    { blockSize: \"auto\", opacity: \"1\" },\n    { blockSize: \"0\", opacity: \"0\" }\n  ],\n  options: { duration: 200, easing: \"cubic-bezier(0.55, 0, 0.55, 0.2)\" }\n});\nvar PcDetails = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n    this.isAnimating = false;\n    this.open = false;\n    this.variant = \"outlined\";\n    this.disabled = false;\n  }\n  firstUpdated() {\n    this.body.style.blockSize = this.open ? \"auto\" : \"0\";\n    if (this.open) {\n      this.details.open = true;\n    }\n    this.detailsObserver = new MutationObserver((changes) => {\n      for (const change of changes) {\n        if (change.type === \"attributes\" && change.attributeName === \"open\") {\n          if (this.details.open) {\n            this.show();\n          } else {\n            this.hide();\n          }\n        }\n      }\n    });\n    this.detailsObserver.observe(this.details, { attributes: true });\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this.detailsObserver?.disconnect();\n  }\n  handleSummaryClick(event) {\n    const eventPath = event.composedPath();\n    const hasInteractiveElement = eventPath.some((element) => {\n      if (!(element instanceof HTMLElement)) {\n        return false;\n      }\n      if (element === this.header) {\n        return false;\n      }\n      const tagName = element.tagName?.toLowerCase();\n      if ([\"a\", \"button\", \"input\", \"textarea\", \"select\"].includes(tagName)) {\n        return true;\n      }\n      if (element instanceof PlacerFormAssociatedElement) {\n        return !(\"disabled\" in element) || !element.disabled;\n      }\n      return false;\n    });\n    if (hasInteractiveElement) {\n      return;\n    }\n    event.preventDefault();\n    if (!this.disabled) {\n      if (this.open) {\n        this.hide();\n      } else {\n        this.show();\n      }\n      this.header.focus();\n    }\n  }\n  handleSummaryKeyDown(event) {\n    const eventPath = event.composedPath();\n    const hasInteractiveElement = eventPath.some((element) => {\n      if (!(element instanceof HTMLElement)) {\n        return false;\n      }\n      if (element === this.header) {\n        return false;\n      }\n      const tagName = element.tagName?.toLowerCase();\n      if ([\"a\", \"button\", \"input\", \"textarea\", \"select\"].includes(tagName)) {\n        return true;\n      }\n      if (element instanceof PlacerFormAssociatedElement) {\n        return !(\"disabled\" in element) || !element.disabled;\n      }\n      return false;\n    });\n    if (hasInteractiveElement) {\n      return;\n    }\n    if (event.key === \"Enter\" || event.key === \" \") {\n      event.preventDefault();\n      if (this.open) {\n        this.hide();\n      } else {\n        this.show();\n      }\n    }\n    if (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\") {\n      event.preventDefault();\n      this.hide();\n    }\n    if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n      event.preventDefault();\n      this.show();\n    }\n  }\n  async handleOpenChange() {\n    if (this.open) {\n      this.details.open = true;\n      const pcShow = new PcShowEvent();\n      this.dispatchEvent(pcShow);\n      if (pcShow.defaultPrevented) {\n        this.open = false;\n        this.details.open = false;\n        return;\n      }\n      this.isAnimating = true;\n      await stopAnimations(this.body);\n      const { keyframes, options } = getAnimation(this, \"details.show\", {\n        dir: this.localize.dir()\n      });\n      await animateTo(\n        this.body,\n        shimKeyframesHeightAuto(keyframes, this.body.scrollHeight),\n        options\n      );\n      this.body.style.blockSize = \"auto\";\n      this.isAnimating = false;\n      this.dispatchEvent(new PcAfterShowEvent());\n    } else {\n      const pcHide = new PcHideEvent();\n      this.dispatchEvent(pcHide);\n      if (pcHide.defaultPrevented) {\n        this.details.open = true;\n        this.open = true;\n        return;\n      }\n      this.isAnimating = true;\n      await stopAnimations(this.body);\n      const { keyframes, options } = getAnimation(this, \"details.hide\", {\n        dir: this.localize.dir()\n      });\n      await animateTo(\n        this.body,\n        shimKeyframesHeightAuto(keyframes, this.body.scrollHeight),\n        options\n      );\n      this.body.style.blockSize = \"auto\";\n      this.isAnimating = false;\n      this.details.open = false;\n      this.dispatchEvent(new PcAfterHideEvent());\n    }\n  }\n  /** Shows the details. */\n  async show() {\n    if (this.open || this.disabled) {\n      return void 0;\n    }\n    this.open = true;\n    return waitForEvent(this, \"pc-after-show\");\n  }\n  /** Hides the details. */\n  async hide() {\n    if (!this.open || this.disabled) {\n      return void 0;\n    }\n    this.open = false;\n    return waitForEvent(this, \"pc-after-hide\");\n  }\n  render() {\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    return x`\n            <details\n                part=\"base\"\n                class=${e7({\n      \"details\": true,\n      \"open\": this.open,\n      \"disabled\": this.disabled,\n      \"is-rtl\": isRTL2\n    })}\n            >\n                <summary\n                    part=\"header\"\n                    class=\"header\"\n                    id=\"header\"\n                    role=\"button\"\n                    aria-expanded=${this.open ? \"true\" : \"false\"}\n                    aria-controls=\"content\"\n                    aria-disabled=${this.disabled ? \"true\" : \"false\"}\n                    tabindex=${this.disabled ? \"-1\" : \"0\"}\n                    @click=${this.handleSummaryClick}\n                    @keydown=${this.handleSummaryKeyDown}\n                >\n                    <slot class=\"summary\" part=\"summary\" name=\"summary\">\n                        ${this.summary}\n                    </slot>\n\n                    <span part=\"summary-icon\" class=\"summary-icon\">\n                        <slot name=\"expand-icon\">\n                            <pc-icon\n                                library=\"system\"\n                                icon-style=\"solid\"\n                                name=${isRTL2 ? \"chevron-left\" : \"chevron-right\"}\n                            ></pc-icon>\n                        </slot>\n                        <slot name=\"collapse-icon\">\n                            <pc-icon\n                                library=\"system\"\n                                icon-style=\"solid\"\n                                name=${isRTL2 ? \"chevron-left\" : \"chevron-right\"}\n                            ></pc-icon>\n                        </slot>\n                    </span>\n                </summary>\n\n                <div\n                    class=\"body\"\n                    part=\"body\"\n                    role=\"region\"\n                    aria-labelledby=\"header\"\n                >\n                    <slot class=\"content\" part=\"content\" id=\"content\"></slot>\n                </div>\n            </details>\n        `;\n  }\n};\nPcDetails.css = details_default;\n__decorateClass([\n  e5(\".details\")\n], PcDetails.prototype, \"details\", 2);\n__decorateClass([\n  e5(\".header\")\n], PcDetails.prototype, \"header\", 2);\n__decorateClass([\n  e5(\".body\")\n], PcDetails.prototype, \"body\", 2);\n__decorateClass([\n  r5()\n], PcDetails.prototype, \"isAnimating\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcDetails.prototype, \"open\", 2);\n__decorateClass([\n  n4()\n], PcDetails.prototype, \"summary\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcDetails.prototype, \"variant\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcDetails.prototype, \"disabled\", 2);\n__decorateClass([\n  watch(\"open\", { waitUntilFirstUpdate: true })\n], PcDetails.prototype, \"handleOpenChange\", 1);\nPcDetails = __decorateClass([\n  t3(\"pc-details\")\n], PcDetails);\n\n// src/internal/parse.ts\nfunction parseSpaceDelimitedTokens(input) {\n  return input.split(\" \").map((token) => token.trim()).filter((token) => token !== \"\");\n}\n\n// src/internal/offset.ts\nfunction getOffset(element, parent) {\n  return {\n    top: Math.round(\n      element.getBoundingClientRect().top - parent.getBoundingClientRect().top\n    ),\n    left: Math.round(\n      element.getBoundingClientRect().left - parent.getBoundingClientRect().left\n    )\n  };\n}\n\n// src/internal/scroll.ts\nvar locks = /* @__PURE__ */ new Set();\nfunction getScrollbarWidth() {\n  const documentWidth = document.documentElement.clientWidth;\n  return Math.abs(window.innerWidth - documentWidth);\n}\nfunction getExistingBodyPadding() {\n  const padding = Number(\n    getComputedStyle(document.body).paddingRight.replace(/px/, \"\")\n  );\n  if (isNaN(padding) || !padding) {\n    return 0;\n  }\n  return padding;\n}\nfunction lockBodyScrolling(lockingElement) {\n  locks.add(lockingElement);\n  if (!document.documentElement.classList.contains(\"pc-scroll-lock\")) {\n    const scrollbarWidth = getScrollbarWidth() + getExistingBodyPadding();\n    let scrollbarGutterProperty = getComputedStyle(\n      document.documentElement\n    ).scrollbarGutter;\n    if (!scrollbarGutterProperty || scrollbarGutterProperty === \"auto\") {\n      scrollbarGutterProperty = \"stable\";\n    }\n    if (scrollbarWidth < 2) {\n      scrollbarGutterProperty = \"\";\n    }\n    document.documentElement.style.setProperty(\n      \"--pc-scroll-lock-gutter\",\n      scrollbarGutterProperty\n    );\n    document.documentElement.classList.add(\"pc-scroll-lock\");\n    document.documentElement.style.setProperty(\n      \"--pc-scroll-lock-size\",\n      `${scrollbarWidth}px`\n    );\n  }\n}\nfunction unlockBodyScrolling(lockingElement) {\n  locks.delete(lockingElement);\n  if (locks.size === 0) {\n    document.documentElement.classList.remove(\"pc-scroll-lock\");\n    document.documentElement.style.removeProperty(\"--pc-scroll-lock-size\");\n  }\n}\nfunction scrollIntoView(element, container, direction = \"vertical\", behavior = \"smooth\") {\n  const offset3 = getOffset(element, container);\n  const offsetTop = offset3.top + container.scrollTop;\n  const offsetLeft = offset3.left + container.scrollLeft;\n  const minX = container.scrollLeft;\n  const maxX = container.scrollLeft + container.offsetWidth;\n  const minY = container.scrollTop;\n  const maxY = container.scrollTop + container.offsetHeight;\n  if (direction === \"horizontal\" || direction === \"both\") {\n    if (offsetLeft < minX) {\n      container.scrollTo({ left: offsetLeft, behavior });\n    } else if (offsetLeft + element.clientWidth > maxX) {\n      container.scrollTo({\n        left: offsetLeft - container.offsetWidth + element.clientWidth,\n        behavior\n      });\n    }\n  }\n  if (direction === \"vertical\" || direction === \"both\") {\n    if (offsetTop < minY) {\n      container.scrollTo({ top: offsetTop, behavior });\n    } else if (offsetTop + element.clientHeight > maxY) {\n      container.scrollTo({\n        top: offsetTop - container.offsetHeight + element.clientHeight,\n        behavior\n      });\n    }\n  }\n}\n\n// src/components/dialog/dialog.css\nvar dialog_default = \":host {\\n    --width: 31rem;\\n    --header-spacing: var(--pc-spacing-xl);\\n    --body-spacing: var(--pc-spacing-s) var(--pc-spacing-xl);\\n    --footer-spacing: var(--pc-spacing-s) var(--pc-spacing-xl)\\n        var(--pc-spacing-xl);\\n\\n    display: none;\\n}\\n\\n:host([open]) {\\n    display: block;\\n}\\n\\n.dialog {\\n    display: flex;\\n    flex-direction: column;\\n    inset: 0;\\n    margin: auto;\\n    padding: 0;\\n    inline-size: var(--width);\\n    max-inline-size: calc(100% - var(--pc-spacing-xxl));\\n    max-block-size: calc(100% - var(--pc-spacing-xxl));\\n    background-color: var(--pc-color-surface-raised);\\n    color: inherit;\\n    border: none;\\n    border-radius: var(--pc-panel-border-radius);\\n    box-shadow: var(--pc-shadow-xl);\\n}\\n\\n.dialog::backdrop {\\n    background-color: var(--pc-color-overlay-modal);\\n}\\n\\n.dialog.show::backdrop {\\n    animation: dialog-backdrop-open 0.3s ease-out;\\n}\\n\\n.dialog.hide::backdrop {\\n    animation: dialog-backdrop-close 0.2s ease-in;\\n}\\n\\n.dialog:focus {\\n    outline: none;\\n}\\n\\n.dialog.open {\\n    display: flex;\\n    opacity: 1;\\n}\\n\\n.header {\\n    display: flex;\\n    gap: var(--pc-spacing-l);\\n    flex: 0 0 auto;\\n    flex-wrap: nowrap;\\n    padding: var(--header-spacing);\\n}\\n\\n.title {\\n    align-self: center;\\n    flex: 1 1 auto;\\n    margin: 0;\\n    font-family: inherit;\\n    font-size: var(--pc-font-size-l);\\n    font-weight: var(--pc-font-weight-bold);\\n    line-height: var(--pc-line-height-dense);\\n}\\n\\n.header-actions {\\n    display: flex;\\n    align-self: flex-start;\\n    justify-content: flex-end;\\n    gap: var(--pc-spacing-xs);\\n    flex-shrink: 0;\\n    flex-wrap: wrap;\\n}\\n\\n.header-actions pc-button,\\n.header-actions ::slotted(pc-button) {\\n    display: flex;\\n    align-items: center;\\n    flex: 0 0 auto;\\n}\\n\\n.body {\\n    display: block;\\n    flex: 1 1 auto;\\n    padding: var(--body-spacing);\\n    overflow: auto;\\n    -webkit-overflow-scrolling: touch;\\n}\\n\\n.footer {\\n    flex: 0 0 auto;\\n    padding: var(--footer-spacing);\\n    text-align: end;\\n}\\n\\n.footer ::slotted(pc-button:not(:first-of-type)) {\\n    margin-inline-start: var(--pc-spacing-xs);\\n}\\n\\n.dialog:not(.has-footer) .footer {\\n    display: none;\\n}\\n\\n.dialog:not(:has(> .header)) .body {\\n    --body-spacing: var(--pc-spacing-xl) var(--pc-spacing-xl)\\n        var(--pc-spacing-s) var(--pc-spacing-xl);\\n}\\n\\n.dialog:not(.has-footer) .body {\\n    --body-spacing: var(--pc-spacing-s) var(--pc-spacing-xl)\\n        var(--pc-spacing-xl) var(--pc-spacing-xl);\\n}\\n\\n.dialog:not(:has(> .header), .has-footer) .body {\\n    --body-spacing: var(--pc-spacing-xl);\\n}\\n\\n@keyframes dialog-backdrop-open {\\n    0% {\\n        opacity: 0;\\n    }\\n\\n    100% {\\n        opacity: 1;\\n    }\\n}\\n\\n@keyframes dialog-backdrop-close {\\n    0% {\\n        opacity: 1;\\n    }\\n\\n    100% {\\n        opacity: 0;\\n    }\\n}\\n\\n@media (forced-colors: active) {\\n    .dialog {\\n        border: 1px solid oklch(100% 0 0);\\n    }\\n}\\n\\n@media screen and (max-width: 420px) {\\n    .dialog {\\n        max-block-size: 80dvh;\\n    }\\n}\\n\";\n\n// src/components/dialog/dialog.ts\ndocument.addEventListener(\"click\", (event) => {\n  const dialogAttributeElement = event.target.closest(\n    \"[data-dialog]\"\n  );\n  if (dialogAttributeElement instanceof Element) {\n    const [command, id3] = parseSpaceDelimitedTokens(\n      dialogAttributeElement.getAttribute(\"data-dialog\") || \"\"\n    );\n    if (command === \"open\" && id3?.length) {\n      const doc = dialogAttributeElement.getRootNode();\n      const dialog = doc.getElementById(id3);\n      if (dialog?.localName === \"pc-dialog\") {\n        dialog.open = true;\n      } else {\n        console.warn(\n          `A dialog with an id of \\u201C${id3}\\u201D could not be found in this document.`\n        );\n      }\n    }\n  }\n});\ndocument.addEventListener(\"pointerdown\", () => {\n});\nsetDefaultAnimation(\"dialog.show\", {\n  keyframes: [\n    { opacity: 0, scale: 0.8 },\n    { opacity: 1, scale: 1 }\n  ],\n  options: { duration: 300, easing: \"cubic-bezier(0.215, 0.61, 0.355, 1)\" }\n});\nsetDefaultAnimation(\"dialog.hide\", {\n  keyframes: [\n    { opacity: 1, scale: 1 },\n    { opacity: 0, scale: 0.8 }\n  ],\n  options: {\n    duration: 200,\n    easing: \"cubic-bezier(0.55, 0.055, 0.675, 0.19)\"\n  }\n});\nsetDefaultAnimation(\"dialog.denyClose\", {\n  keyframes: [{ scale: 1 }, { scale: 1.02 }, { scale: 1 }],\n  options: {\n    duration: 300,\n    easing: \"cubic-bezier(0.0, 0.7, 0.2, 1)\"\n  }\n});\nvar PcDialog = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.hasSlotController = new HasSlotController(this, \"footer\");\n    this.localize = new LocalizeController2(this);\n    this.open = false;\n    this.label = \"\";\n    this.noHeader = false;\n    this.noLightDismiss = false;\n    this.handleDocumentKeyDown = (event) => {\n      if (event.key === \"Escape\" && this.open) {\n        event.preventDefault();\n        event.stopPropagation();\n        this.requestClose(this.dialog);\n      }\n    };\n  }\n  firstUpdated() {\n    if (this.open) {\n      this.addOpenListeners();\n      this.dialog.showModal();\n      lockBodyScrolling(this);\n    }\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    unlockBodyScrolling(this);\n    this.removeOpenListeners();\n  }\n  async requestClose(source) {\n    const pcHide = new PcHideEvent({ source });\n    this.dispatchEvent(pcHide);\n    if (pcHide.defaultPrevented) {\n      this.open = true;\n      const animation2 = getAnimation(this, \"dialog.denyClose\", {\n        dir: this.localize.dir()\n      });\n      animateTo(this.dialog, animation2.keyframes, animation2.options);\n      return;\n    }\n    this.removeOpenListeners();\n    this.dialog.classList.add(\"hide\");\n    this.dialog.classList.remove(\"show\");\n    const animation = getAnimation(this, \"dialog.hide\", {\n      dir: this.localize.dir()\n    });\n    await animateTo(this.dialog, animation.keyframes, animation.options);\n    this.open = false;\n    this.dialog.close();\n    unlockBodyScrolling(this);\n    const trigger = this.originalTrigger;\n    if (typeof trigger?.focus === \"function\") {\n      setTimeout(() => trigger.focus());\n    }\n    this.dispatchEvent(new PcAfterHideEvent());\n  }\n  addOpenListeners() {\n    document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n  }\n  removeOpenListeners() {\n    document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n  }\n  handleDialogCancel(event) {\n    event.preventDefault();\n    if (!this.dialog.classList.contains(\"hide\") && event.target === this.dialog) {\n      this.requestClose(this.dialog);\n    }\n  }\n  handleDialogClick(event) {\n    const target = event.target;\n    const button = target.closest('[data-dialog=\"close\"]');\n    if (button) {\n      event.stopPropagation();\n      this.requestClose(button);\n    }\n  }\n  async handleDialogPointerDown(event) {\n    if (event.target === this.dialog) {\n      if (!this.noLightDismiss) {\n        this.requestClose(this.dialog);\n      } else {\n        const animation = getAnimation(this, \"dialog.denyClose\", {\n          dir: this.localize.dir()\n        });\n        animateTo(this.dialog, animation.keyframes, animation.options);\n      }\n    }\n  }\n  handleOpenChange() {\n    if (this.open && !this.dialog.open) {\n      this.show();\n    } else if (!this.open && this.dialog.open) {\n      this.open = true;\n      this.requestClose(this.dialog);\n    }\n  }\n  async show() {\n    const pcShow = new PcShowEvent();\n    this.dispatchEvent(pcShow);\n    if (pcShow.defaultPrevented) {\n      this.open = false;\n      return;\n    }\n    this.addOpenListeners();\n    this.originalTrigger = document.activeElement;\n    this.open = true;\n    this.dialog.showModal();\n    lockBodyScrolling(this);\n    requestAnimationFrame(() => {\n      const elementToFocus = this.querySelector(\"[autofocus]\");\n      if (elementToFocus && typeof elementToFocus.focus === \"function\") {\n        elementToFocus.focus();\n      } else {\n        this.dialog.focus();\n      }\n    });\n    this.dialog.classList.add(\"show\");\n    this.dialog.classList.remove(\"hide\");\n    const animation = getAnimation(this, \"dialog.show\", {\n      dir: this.localize.dir()\n    });\n    animateTo(this.dialog, animation.keyframes, animation.options);\n    this.dispatchEvent(new PcAfterShowEvent());\n  }\n  render() {\n    return x`\n            <dialog\n                part=\"dialog\"\n                class=${e7({\n      \"dialog\": true,\n      \"open\": this.open,\n      \"has-footer\": this.hasSlotController.test(\"footer\")\n    })}\n                @click=${this.handleDialogClick}\n                @pointerdown=${this.handleDialogPointerDown}\n                @cancel=${this.handleDialogCancel}\n            >\n                ${!this.noHeader ? x`\n                          <header part=\"header\" class=\"header\">\n                              <h2 class=\"title\" part=\"title\" id=\"title\">\n                                  <slot name=\"label\">\n                                      ${this.label.length > 0 ? this.label : String.fromCharCode(8203)}\n                                  </slot>\n                              </h2>\n                              <div part=\"header-actions\" class=\"header-actions\">\n                                  <slot name=\"header-actions\"></slot>\n                                  <pc-button\n                                      part=\"close-button\"\n                                      class=\"dialog-close\"\n                                      size=\"small\"\n                                      variant=\"plain\"\n                                      exportparts=\"base:close-button-base\"\n                                      @click=${(event) => this.requestClose(\n      event.target\n    )}\n                                  >\n                                      <pc-icon\n                                          library=\"system\"\n                                          icon-style=\"solid\"\n                                          name=\"xmark\"\n                                          label=${this.localize.term(\"close\")}\n                                      ></pc-icon>\n                                  </pc-button>\n                              </div>\n                          </header>\n                      ` : \"\"}\n\n                <div part=\"body\" class=\"body\" tabindex=\"-1\">\n                    <slot></slot>\n                </div>\n\n                <footer part=\"footer\" class=\"footer\">\n                    <slot name=\"footer\"></slot>\n                </footer>\n            </dialog>\n        `;\n  }\n};\nPcDialog.css = dialog_default;\n__decorateClass([\n  e5(\".dialog\")\n], PcDialog.prototype, \"dialog\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcDialog.prototype, \"open\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcDialog.prototype, \"label\", 2);\n__decorateClass([\n  n4({ attribute: \"no-header\", type: Boolean, reflect: true })\n], PcDialog.prototype, \"noHeader\", 2);\n__decorateClass([\n  n4({ attribute: \"no-light-dismiss\", type: Boolean })\n], PcDialog.prototype, \"noLightDismiss\", 2);\n__decorateClass([\n  watch(\"open\", { waitUntilFirstUpdate: true })\n], PcDialog.prototype, \"handleOpenChange\", 1);\nPcDialog = __decorateClass([\n  t3(\"pc-dialog\")\n], PcDialog);\n\n// src/components/divider/divider.css\nvar divider_default = ':host {\\n    --color: var(--pc-color-surface-border);\\n    --stroke-width: var(--pc-panel-border-width);\\n    --spacing: var(--pc-content-spacing);\\n\\n    flex-shrink: 0;\\n}\\n\\n:host([orientation=\"horizontal\"]) {\\n    display: block;\\n    margin-block: var(--spacing);\\n    inline-size: 100%;\\n    block-size: var(--stroke-width);\\n    background-color: var(--color);\\n    border-radius: var(--pc-border-radius-pill);\\n}\\n\\n:host([orientation=\"vertical\"]) {\\n    display: inline-block;\\n    margin: 0 var(--spacing);\\n    inline-size: var(--stroke-width);\\n    min-block-size: 1lh;\\n    block-size: 100%;\\n    background-color: var(--color);\\n    border-radius: var(--pc-border-radius-pill);\\n}\\n';\n\n// src/components/divider/divider.ts\nvar PcDivider = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.orientation = \"horizontal\";\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.setAttribute(\"role\", \"separator\");\n  }\n  handleVerticalChange() {\n    this.setAttribute(\"aria-orientation\", this.orientation);\n  }\n  /* The divider is a simple custom element that does not require\n     any content. This is why we’re rendering an empty shadow root. */\n};\nPcDivider.css = divider_default;\n__decorateClass([\n  n4({ reflect: true })\n], PcDivider.prototype, \"orientation\", 2);\n__decorateClass([\n  watch(\"vertical\")\n], PcDivider.prototype, \"handleVerticalChange\", 1);\nPcDivider = __decorateClass([\n  t3(\"pc-divider\")\n], PcDivider);\n\n// src/internal/string.ts\nfunction uppercaseFirstLetter(string) {\n  return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n// src/components/drawer/drawer.css\nvar drawer_default = \":host {\\n    --size: 25rem;\\n    --header-spacing: var(--pc-spacing-xl);\\n    --body-spacing: var(--pc-spacing-s) var(--pc-spacing-xl);\\n    --footer-spacing: var(--pc-spacing-s) var(--pc-spacing-xl)\\n        var(--pc-spacing-xl);\\n\\n    display: none;\\n}\\n\\n:host([open]) {\\n    display: block;\\n}\\n\\n.drawer {\\n    display: flex;\\n    flex-direction: column;\\n    inset-block-start: 0;\\n    inset-inline-start: 0;\\n    margin: 0;\\n    padding: 0;\\n    inline-size: 100%;\\n    max-inline-size: 100%;\\n    block-size: 100%;\\n    max-block-size: 100%;\\n    background-color: var(--pc-color-surface-raised);\\n    color: inherit;\\n    border: none;\\n    box-shadow: var(--pc-shadow-xl);\\n    overflow: auto;\\n}\\n\\n.drawer::backdrop {\\n    background-color: var(--pc-color-overlay-modal);\\n}\\n\\n.drawer.show::backdrop {\\n    animation: drawer-backdrop-open 0.3s cubic-bezier(0.23, 1, 0.32, 1);\\n}\\n\\n.drawer.hide::backdrop {\\n    animation: drawer-backdrop-close 0.2s cubic-bezier(0.755, 0.05, 0.855, 0.06);\\n}\\n\\n.drawer:focus {\\n    outline: none;\\n}\\n\\n.top {\\n    inset-block-start: 0;\\n    inset-block-end: auto;\\n    inset-inline-start: 0;\\n    inset-inline-end: auto;\\n    inline-size: 100%;\\n    block-size: var(--size);\\n}\\n\\n.end {\\n    inset-block-start: 0;\\n    inset-block-end: auto;\\n    inset-inline-start: auto;\\n    inset-inline-end: 0;\\n    inline-size: var(--size);\\n    block-size: 100%;\\n}\\n\\n.bottom {\\n    inset-block-start: auto;\\n    inset-block-end: 0;\\n    inset-inline-start: 0;\\n    inset-inline-end: auto;\\n    inline-size: 100%;\\n    block-size: var(--size);\\n}\\n\\n.start {\\n    inset-block-start: 0;\\n    inset-block-end: auto;\\n    inset-inline-start: 0;\\n    inset-inline-end: auto;\\n    inline-size: var(--size);\\n    block-size: 100%;\\n}\\n\\n.header {\\n    display: flex;\\n    gap: var(--pc-spacing-l);\\n    flex: 0 0 auto;\\n    flex-wrap: nowrap;\\n    padding: var(--header-spacing);\\n}\\n\\n.title {\\n    align-self: center;\\n    flex: 1 1 auto;\\n    margin: 0;\\n    font-family: inherit;\\n    font-size: var(--pc-font-size-l);\\n    font-weight: var(--pc-font-weight-bold);\\n    line-height: var(--pc-line-height-dense);\\n}\\n\\n.header-actions {\\n    display: flex;\\n    align-self: flex-start;\\n    justify-content: flex-end;\\n    gap: var(--pc-spacing-xs);\\n    flex-shrink: 0;\\n    flex-wrap: wrap;\\n}\\n\\n.header-actions pc-button,\\n.header-actions ::slotted(pc-button) {\\n    display: flex;\\n    align-items: center;\\n    flex: 0 0 auto;\\n}\\n\\n.body {\\n    display: block;\\n    flex: 1 1 auto;\\n    padding: var(--body-spacing);\\n    overflow: auto;\\n    -webkit-overflow-scrolling: touch;\\n}\\n\\n.footer {\\n    flex: 0 0 auto;\\n    padding: var(--footer-spacing);\\n    text-align: end;\\n}\\n\\n.footer ::slotted(pc-button:not(:first-of-type)) {\\n    margin-inline-start: var(--pc-spacing-xs);\\n}\\n\\n.drawer:not(.has-footer) .footer {\\n    display: none;\\n}\\n\\n.drawer:not(:has(> .header)) .body {\\n    --body-spacing: var(--pc-spacing-xl) var(--pc-spacing-xl)\\n        var(--pc-spacing-s) var(--pc-spacing-xl);\\n}\\n\\n.drawer:not(.has-footer) .body {\\n    --body-spacing: var(--pc-spacing-s) var(--pc-spacing-xl)\\n        var(--pc-spacing-xl) var(--pc-spacing-xl);\\n}\\n\\n.drawer:not(:has(> .header), .has-footer) .body {\\n    --body-spacing: var(--pc-spacing-xl);\\n}\\n\\n@keyframes drawer-backdrop-open {\\n    0% {\\n        opacity: 0;\\n    }\\n\\n    100% {\\n        opacity: 1;\\n    }\\n}\\n\\n@keyframes drawer-backdrop-close {\\n    0% {\\n        opacity: 1;\\n    }\\n\\n    100% {\\n        opacity: 0;\\n    }\\n}\\n\\n@media (forced-colors: active) {\\n    .drawer-panel {\\n        border: 1px solid oklch(100% 0 0);\\n    }\\n}\\n\";\n\n// src/components/drawer/drawer.ts\ndocument.addEventListener(\"click\", (event) => {\n  const drawerAttributeElement = event.target.closest(\n    \"[data-drawer]\"\n  );\n  if (drawerAttributeElement instanceof Element) {\n    const [command, id3] = parseSpaceDelimitedTokens(\n      drawerAttributeElement.getAttribute(\"data-drawer\") || \"\"\n    );\n    if (command === \"open\" && id3?.length) {\n      const doc = drawerAttributeElement.getRootNode();\n      const drawer = doc.getElementById(id3);\n      if (drawer?.localName === \"pc-drawer\") {\n        drawer.open = true;\n      } else {\n        console.warn(\n          `A drawer with an id of \\u201C${id3}\\u201D could not be found in this document.`\n        );\n      }\n    }\n  }\n});\ndocument.addEventListener(\"pointerdown\", () => {\n});\nsetDefaultAnimation(\"drawer.showTop\", {\n  keyframes: [\n    { opacity: 0, translate: \"0 -100%\" },\n    { opacity: 1, translate: \"0 0\" }\n  ],\n  options: { duration: 300, easing: \"cubic-bezier(0.23, 1, 0.32, 1)\" }\n});\nsetDefaultAnimation(\"drawer.hideTop\", {\n  keyframes: [\n    { opacity: 1, translate: \"0 0\" },\n    { opacity: 0, translate: \"0 -100%\" }\n  ],\n  options: {\n    duration: 200,\n    easing: \"cubic-bezier(0.755, 0.05, 0.855, 0.06)\"\n  }\n});\nsetDefaultAnimation(\"drawer.showEnd\", {\n  keyframes: [\n    { opacity: 0, translate: \"100%\" },\n    { opacity: 1, translate: \"0\" }\n  ],\n  rtlKeyframes: [\n    { opacity: 0, translate: \"-100%\" },\n    { opacity: 1, translate: \"0\" }\n  ],\n  options: { duration: 300, easing: \"cubic-bezier(0.23, 1, 0.32, 1)\" }\n});\nsetDefaultAnimation(\"drawer.hideEnd\", {\n  keyframes: [\n    { opacity: 1, translate: \"0\" },\n    { opacity: 0, translate: \"100%\" }\n  ],\n  rtlKeyframes: [\n    { opacity: 1, translate: \"0\" },\n    { opacity: 0, translate: \"-100%\" }\n  ],\n  options: {\n    duration: 200,\n    easing: \"cubic-bezier(0.755, 0.05, 0.855, 0.06)\"\n  }\n});\nsetDefaultAnimation(\"drawer.showBottom\", {\n  keyframes: [\n    { opacity: 0, translate: \"0 100%\" },\n    { opacity: 1, translate: \"0 0\" }\n  ],\n  options: { duration: 300, easing: \"cubic-bezier(0.23, 1, 0.32, 1)\" }\n});\nsetDefaultAnimation(\"drawer.hideBottom\", {\n  keyframes: [\n    { opacity: 1, translate: \"0 0\" },\n    { opacity: 0, translate: \"0 100%\" }\n  ],\n  options: {\n    duration: 200,\n    easing: \"cubic-bezier(0.755, 0.05, 0.855, 0.06)\"\n  }\n});\nsetDefaultAnimation(\"drawer.showStart\", {\n  keyframes: [\n    { opacity: 0, translate: \"-100%\" },\n    { opacity: 1, translate: \"0\" }\n  ],\n  rtlKeyframes: [\n    { opacity: 0, translate: \"100%\" },\n    { opacity: 1, translate: \"0\" }\n  ],\n  options: { duration: 300, easing: \"cubic-bezier(0.23, 1, 0.32, 1)\" }\n});\nsetDefaultAnimation(\"drawer.hideStart\", {\n  keyframes: [\n    { opacity: 1, translate: \"0\" },\n    { opacity: 0, translate: \"-100%\" }\n  ],\n  rtlKeyframes: [\n    { opacity: 1, translate: \"0\" },\n    { opacity: 0, translate: \"100%\" }\n  ],\n  options: {\n    duration: 200,\n    easing: \"cubic-bezier(0.755, 0.05, 0.855, 0.06)\"\n  }\n});\nsetDefaultAnimation(\"drawer.denyClose\", {\n  keyframes: [{ scale: 1 }, { scale: 1.01 }, { scale: 1 }],\n  options: {\n    duration: 250,\n    easing: \"cubic-bezier(0.68, -0.55, 0.265, 1.55)\"\n  }\n});\nvar PcDrawer = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.hasSlotController = new HasSlotController(this, \"footer\");\n    this.localize = new LocalizeController2(this);\n    this.open = false;\n    this.label = \"\";\n    this.placement = \"end\";\n    this.noHeader = false;\n    this.noLightDismiss = false;\n    this.handleDocumentKeyDown = (event) => {\n      if (event.key === \"Escape\" && this.open) {\n        event.preventDefault();\n        event.stopPropagation();\n        this.requestClose(this.drawer);\n      }\n    };\n  }\n  firstUpdated() {\n    if (this.open) {\n      this.addOpenListeners();\n      this.drawer.showModal();\n      lockBodyScrolling(this);\n    }\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    unlockBodyScrolling(this);\n    this.removeOpenListeners();\n  }\n  async requestClose(source) {\n    const pcHide = new PcHideEvent({ source });\n    this.dispatchEvent(pcHide);\n    if (pcHide.defaultPrevented) {\n      this.open = true;\n      const animation2 = getAnimation(this, \"drawer.denyClose\", {\n        dir: this.localize.dir()\n      });\n      animateTo(this.drawer, animation2.keyframes, animation2.options);\n      return;\n    }\n    this.removeOpenListeners();\n    this.drawer.classList.add(\"hide\");\n    this.drawer.classList.remove(\"show\");\n    const animation = getAnimation(\n      this,\n      `drawer.hide${uppercaseFirstLetter(this.placement)}`,\n      {\n        dir: this.localize.dir()\n      }\n    );\n    await animateTo(this.drawer, animation.keyframes, animation.options);\n    this.open = false;\n    this.drawer.close();\n    unlockBodyScrolling(this);\n    const trigger = this.originalTrigger;\n    if (typeof trigger?.focus === \"function\") {\n      setTimeout(() => trigger.focus());\n    }\n    this.dispatchEvent(new PcAfterHideEvent());\n  }\n  addOpenListeners() {\n    document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n  }\n  removeOpenListeners() {\n    document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n  }\n  handleDrawerCancel(event) {\n    event.preventDefault();\n    if (!this.drawer.classList.contains(\"hide\") && event.target === this.drawer) {\n      this.requestClose(this.drawer);\n    }\n  }\n  handleDrawerClick(event) {\n    const target = event.target;\n    const button = target.closest('[data-drawer=\"close\"]');\n    if (button) {\n      event.stopPropagation();\n      this.requestClose(button);\n    }\n  }\n  async handleDrawerPointerDown(event) {\n    if (event.target === this.drawer) {\n      if (!this.noLightDismiss) {\n        this.requestClose(this.drawer);\n      } else {\n        const animation = getAnimation(this, \"drawer.denyClose\", {\n          dir: this.localize.dir()\n        });\n        animateTo(this.drawer, animation.keyframes, animation.options);\n      }\n    }\n  }\n  handleOpenChange() {\n    if (this.open && !this.drawer.open) {\n      this.show();\n    } else if (this.drawer.open) {\n      this.open = true;\n      this.requestClose(this.drawer);\n    }\n  }\n  async show() {\n    const pcShow = new PcShowEvent();\n    this.dispatchEvent(pcShow);\n    if (pcShow.defaultPrevented) {\n      this.open = false;\n      return;\n    }\n    this.addOpenListeners();\n    this.originalTrigger = document.activeElement;\n    this.open = true;\n    this.drawer.showModal();\n    lockBodyScrolling(this);\n    requestAnimationFrame(() => {\n      const elementToFocus = this.querySelector(\"[autofocus]\");\n      if (elementToFocus && typeof elementToFocus.focus === \"function\") {\n        elementToFocus.focus();\n      } else {\n        this.drawer.focus();\n      }\n    });\n    this.drawer.classList.add(\"show\");\n    this.drawer.classList.remove(\"hide\");\n    const animation = getAnimation(\n      this,\n      `drawer.show${uppercaseFirstLetter(this.placement)}`,\n      {\n        dir: this.localize.dir()\n      }\n    );\n    animateTo(this.drawer, animation.keyframes, animation.options);\n    this.dispatchEvent(new PcAfterShowEvent());\n  }\n  render() {\n    return x`\n            <dialog\n                part=\"drawer\"\n                class=${e7({\n      \"drawer\": true,\n      \"open\": this.open,\n      \"top\": this.placement === \"top\",\n      \"end\": this.placement === \"end\",\n      \"bottom\": this.placement === \"bottom\",\n      \"start\": this.placement === \"start\",\n      \"has-footer\": this.hasSlotController.test(\"footer\")\n    })}\n                @click=${this.handleDrawerClick}\n                @pointerdown=${this.handleDrawerPointerDown}\n                @cancel=${this.handleDrawerCancel}\n            >\n                ${!this.noHeader ? x`\n                          <header part=\"header\" class=\"header\">\n                              <h2 part=\"title\" class=\"title\" id=\"title\">\n                                  <slot name=\"label\">\n                                      ${this.label.length > 0 ? this.label : String.fromCharCode(8203)}\n                                  </slot>\n                              </h2>\n                              <div part=\"header-actions\" class=\"header-actions\">\n                                  <slot name=\"header-actions\"></slot>\n                                  <pc-button\n                                      part=\"close-button\"\n                                      class=\"drawer-close\"\n                                      size=\"small\"\n                                      variant=\"plain\"\n                                      exportparts=\"base:close-button-base\"\n                                      @click=${(event) => this.requestClose(\n      event.target\n    )}\n                                  >\n                                      <pc-icon\n                                          library=\"system\"\n                                          icon-style=\"solid\"\n                                          name=\"xmark\"\n                                          label=${this.localize.term(\"close\")}\n                                      ></pc-icon>\n                                  </pc-button>\n                              </div>\n                          </header>\n                      ` : \"\"}\n\n                <div part=\"body\" class=\"body\" tabindex=\"-1\">\n                    <slot></slot>\n                </div>\n\n                <footer part=\"footer\" class=\"footer\">\n                    <slot name=\"footer\"></slot>\n                </footer>\n            </dialog>\n        `;\n  }\n};\nPcDrawer.css = drawer_default;\n__decorateClass([\n  e5(\".drawer\")\n], PcDrawer.prototype, \"drawer\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcDrawer.prototype, \"open\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcDrawer.prototype, \"label\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcDrawer.prototype, \"placement\", 2);\n__decorateClass([\n  n4({ attribute: \"no-header\", type: Boolean, reflect: true })\n], PcDrawer.prototype, \"noHeader\", 2);\n__decorateClass([\n  n4({ attribute: \"no-light-dismiss\", type: Boolean })\n], PcDrawer.prototype, \"noLightDismiss\", 2);\n__decorateClass([\n  watch(\"open\", { waitUntilFirstUpdate: true })\n], PcDrawer.prototype, \"handleOpenChange\", 1);\nPcDrawer = __decorateClass([\n  t3(\"pc-drawer\")\n], PcDrawer);\n\n// src/events/pc-select.ts\nvar PcSelectEvent = class extends Event {\n  constructor(detail) {\n    super(\"pc-select\", { bubbles: true, cancelable: true, composed: true });\n    this.detail = detail;\n  }\n};\n\n// src/internal/active-elements.ts\nfunction* activeElements(activeElement = document.activeElement) {\n  if (activeElement === null || activeElement === void 0) {\n    return;\n  }\n  yield activeElement;\n  if (\"shadowRoot\" in activeElement && activeElement.shadowRoot && activeElement.shadowRoot.mode !== \"closed\") {\n    yield* activeElements(activeElement.shadowRoot.activeElement);\n  }\n}\n\n// src/components/dropdown/dropdown.css\nvar dropdown_default = ':host {\\n    display: contents;\\n}\\n\\n#menu {\\n    display: flex;\\n    flex-direction: column;\\n    margin: 0;\\n    padding: 0.25em;\\n    inline-size: max-content;\\n    max-inline-size: var(--auto-size-available-width) !important;\\n    max-block-size: var(--auto-size-available-height) !important;\\n    background-color: var(--pc-color-surface-raised);\\n    color: var(--pc-color-text-normal);\\n    border: var(--pc-border-width-s) var(--pc-border-style)\\n        var(--pc-color-surface-border);\\n    border-radius: calc(var(--pc-border-radius-m) + 0.25em);\\n    text-align: start;\\n    user-select: none;\\n    overflow: auto;\\n    box-shadow: var(--pc-shadow-m);\\n}\\n\\n#menu ::slotted(h1),\\n#menu ::slotted(h2),\\n#menu ::slotted(h3),\\n#menu ::slotted(h4),\\n#menu ::slotted(h5),\\n#menu ::slotted(h6) {\\n    display: block !important;\\n    margin-block: 0.25em !important;\\n    margin-inline: 0 !important;\\n    padding-block: 0.25em !important;\\n    padding-inline: 1.1em !important;\\n    color: var(--pc-color-text-quiet) !important;\\n    font-family: var(--pc-font-sans) !important;\\n    font-weight: var(--pc-font-weight-semibold) !important;\\n    font-size: var(--pc-font-size-smaller) !important;\\n}\\n\\n#menu ::slotted(pc-dropdown-item[checkbox-adjacent]) h1,\\n#menu ::slotted(pc-dropdown-item[checkbox-adjacent]) h2,\\n#menu ::slotted(pc-dropdown-item[checkbox-adjacent]) h3,\\n#menu ::slotted(pc-dropdown-item[checkbox-adjacent]) h4,\\n#menu ::slotted(pc-dropdown-item[checkbox-adjacent]) h5,\\n#menu ::slotted(pc-dropdown-item[checkbox-adjacent]) h6 {\\n    padding-inline: 2.25em !important;\\n}\\n\\n#menu ::slotted(pc-divider) {\\n    --spacing: 0.25em;\\n}\\n\\npc-popup[data-current-placement^=\"top\"] #menu {\\n    transform-origin: bottom;\\n}\\n\\npc-popup[data-current-placement^=\"bottom\"] #menu {\\n    transform-origin: top;\\n}\\n\\npc-popup[data-current-placement^=\"left\"] #menu {\\n    transform-origin: right;\\n}\\n\\npc-popup[data-current-placement^=\"right\"] #menu {\\n    transform-origin: left;\\n}\\n\\npc-popup[data-current-placement=\"left-start\"] #menu {\\n    transform-origin: right top;\\n}\\n\\npc-popup[data-current-placement=\"left-end\"] #menu {\\n    transform-origin: right bottom;\\n}\\n\\npc-popup[data-current-placement=\"right-start\"] #menu {\\n    transform-origin: left top;\\n}\\n\\npc-popup[data-current-placement=\"right-end\"] #menu {\\n    transform-origin: left bottom;\\n}\\n';\n\n// src/components/dropdown/dropdown.ts\nvar openDropdowns = /* @__PURE__ */ new Set();\nsetDefaultAnimation(\"dropdown.show\", {\n  keyframes: [\n    {\n      offset: 0,\n      opacity: 0,\n      transform: \"scaleY(0.35) scaleX(0.95) translateY(-10px) rotate(1deg)\"\n    },\n    {\n      offset: 0.25,\n      opacity: 1,\n      transform: \"scaleY(1.03) scaleX(1.005) translateY(2px) rotate(-0.5deg)\"\n    },\n    {\n      offset: 0.5,\n      transform: \"scaleY(0.995) scaleX(0.999) translateY(-0.5px) rotate(0.1deg)\"\n    },\n    {\n      offset: 0.75,\n      transform: \"scaleY(1.002) scaleX(1.0005) translateY(0.2px) rotate(-0.05deg)\"\n    },\n    {\n      offset: 1,\n      opacity: 1,\n      transform: \"scaleY(1) scaleX(1) translateY(0) rotate(0deg)\"\n    }\n  ],\n  options: {\n    duration: 1e3,\n    easing: \"cubic-bezier(0.2, 0.8, 0.2, 1)\",\n    fill: \"forwards\"\n  }\n});\nsetDefaultAnimation(\"dropdown.hide\", {\n  keyframes: [\n    {\n      offset: 0,\n      opacity: 1,\n      transform: \"scaleY(1) scaleX(1) translateY(0) rotate(0deg)\"\n    },\n    {\n      offset: 0.15,\n      transform: \"scaleY(1.005) scaleX(1.001) translateY(0.5px) rotate(-0.002deg)\"\n    },\n    {\n      offset: 0.4,\n      transform: \"scaleY(0.99) scaleX(0.998) translateY(-1px) rotate(0.008deg)\"\n    },\n    {\n      offset: 0.75,\n      transform: \"scaleY(0.6) scaleX(0.9) translateY(10px) rotate(0.007deg)\"\n    },\n    {\n      offset: 1,\n      opacity: 0,\n      transform: \"scaleY(0.3) scaleX(0.8) translateY(25px) rotate(0.01deg)\"\n    }\n  ],\n  options: {\n    duration: 400,\n    easing: \"cubic-bezier(0.6, 0.05, 0.8, 0.2)\",\n    fill: \"forwards\"\n  }\n});\nvar PcDropdown = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.submenuCleanups = /* @__PURE__ */ new Map();\n    this.localize = new LocalizeController2(this);\n    this.userTypedQuery = \"\";\n    this.openSubmenuStack = [];\n    this.open = false;\n    this.size = \"medium\";\n    this.placement = \"bottom-start\";\n    this.distance = 0;\n    this.skidding = 0;\n    /** Handles key down events when the menu is open. */\n    this.handleDocumentKeyDown = async (event) => {\n      const isRTL2 = this.localize.dir() === \"rtl\";\n      if (event.key === \"Escape\") {\n        const trigger = this.getTrigger();\n        event.preventDefault();\n        event.stopPropagation();\n        this.open = false;\n        trigger?.focus({ preventScroll: true });\n        return;\n      }\n      const activeElement = [...activeElements()].find(\n        (element) => element.localName === \"pc-dropdown-item\"\n      );\n      const isFocusedOnItem = activeElement?.localName === \"pc-dropdown-item\";\n      const currentSubmenuItem = this.getCurrentSubmenuItem();\n      const isInSubmenu = !!currentSubmenuItem;\n      let items;\n      let activeItem;\n      let activeItemIndex;\n      if (isInSubmenu) {\n        items = this.getSubmenuItems(currentSubmenuItem);\n        activeItem = items.find(\n          (item) => item.active || item === activeElement\n        );\n        activeItemIndex = activeItem ? items.indexOf(activeItem) : -1;\n      } else {\n        items = this.getItems();\n        activeItem = items.find(\n          (item) => item.active || item === activeElement\n        );\n        activeItemIndex = activeItem ? items.indexOf(activeItem) : -1;\n      }\n      let itemToSelect;\n      if (event.key === \"ArrowUp\") {\n        event.preventDefault();\n        event.stopPropagation();\n        if (activeItemIndex > 0) {\n          itemToSelect = items[activeItemIndex - 1];\n        } else {\n          itemToSelect = items[items.length - 1];\n        }\n      }\n      if (event.key === \"ArrowDown\") {\n        event.preventDefault();\n        event.stopPropagation();\n        if (activeItemIndex !== -1 && activeItemIndex < items.length - 1) {\n          itemToSelect = items[activeItemIndex + 1];\n        } else {\n          itemToSelect = items[0];\n        }\n      }\n      if (event.key === (isRTL2 ? \"ArrowLeft\" : \"ArrowRight\") && isFocusedOnItem && activeItem) {\n        if (activeItem.hasSubmenu) {\n          event.preventDefault();\n          event.stopPropagation();\n          activeItem.submenuOpen = true;\n          this.addToSubmenuStack(activeItem);\n          setTimeout(() => {\n            const submenuItems = this.getSubmenuItems(activeItem);\n            if (submenuItems.length > 0) {\n              submenuItems.forEach(\n                (item, index) => item.active = index === 0\n              );\n              submenuItems[0].focus({ preventScroll: true });\n            }\n          }, 0);\n          return;\n        }\n      }\n      if (event.key === (isRTL2 ? \"ArrowRight\" : \"ArrowLeft\") && isInSubmenu) {\n        event.preventDefault();\n        event.stopPropagation();\n        const removedItem = this.removeFromSubmenuStack();\n        if (removedItem) {\n          removedItem.submenuOpen = false;\n          setTimeout(() => {\n            removedItem.focus({ preventScroll: true });\n            removedItem.active = true;\n            const parentItems = removedItem.slot === \"submenu\" ? this.getSubmenuItems(\n              removedItem.parentElement\n            ) : this.getItems();\n            parentItems.forEach((item) => {\n              if (item !== removedItem) {\n                item.active = false;\n              }\n            });\n          }, 0);\n        }\n        return;\n      }\n      if (event.key === \"Home\" || event.key === \"End\") {\n        event.preventDefault();\n        event.stopPropagation();\n        itemToSelect = event.key === \"Home\" ? items[0] : items[items.length - 1];\n      }\n      if (event.key === \"Tab\") {\n        await this.hideMenu();\n      }\n      if (event.key.length === 1 && !(event.metaKey || event.ctrlKey || event.altKey) && !(event.key === \" \" && this.userTypedQuery === \"\")) {\n        clearTimeout(this.userTypedTimeout);\n        this.userTypedTimeout = setTimeout(() => {\n          this.userTypedQuery = \"\";\n        }, 1e3);\n        this.userTypedQuery += event.key;\n        items.some((item) => {\n          const label = (item.textContent || \"\").trim().toLowerCase();\n          const selectionQuery = this.userTypedQuery.trim().toLowerCase();\n          if (label.startsWith(selectionQuery)) {\n            itemToSelect = item;\n            return true;\n          }\n          return false;\n        });\n      }\n      if (itemToSelect) {\n        event.preventDefault();\n        event.stopPropagation();\n        items.forEach((item) => item.active = item === itemToSelect);\n        itemToSelect.focus({ preventScroll: true });\n        return;\n      }\n      if ((event.key === \"Enter\" || event.key === \" \" && this.userTypedQuery === \"\") && isFocusedOnItem && activeItem) {\n        event.preventDefault();\n        event.stopPropagation();\n        if (activeItem.hasSubmenu) {\n          activeItem.submenuOpen = true;\n          this.addToSubmenuStack(activeItem);\n          setTimeout(() => {\n            const submenuItems = this.getSubmenuItems(activeItem);\n            if (submenuItems.length > 0) {\n              submenuItems.forEach(\n                (item, index) => item.active = index === 0\n              );\n              submenuItems[0].focus({ preventScroll: true });\n            }\n          }, 0);\n        } else {\n          this.makeSelection(activeItem);\n        }\n      }\n    };\n    /** Handles pointer down events when the dropdown is open. */\n    this.handleDocumentPointerDown = (event) => {\n      const path = event.composedPath();\n      const isInDropdownHierarchy = path.some((element) => {\n        if (element instanceof HTMLElement) {\n          return element === this || element.closest('pc-dropdown, [part=\"submenu\"]');\n        }\n        return false;\n      });\n      if (!isInDropdownHierarchy) {\n        this.open = false;\n      }\n    };\n    /** Handle global mouse movement for safe triangle logic. */\n    this.handleGlobalMouseMove = (event) => {\n      const currentSubmenuItem = this.getCurrentSubmenuItem();\n      if (!currentSubmenuItem?.submenuOpen || !currentSubmenuItem.submenuElement) {\n        return;\n      }\n      const submenuRect = currentSubmenuItem.submenuElement.getBoundingClientRect();\n      const isRTL2 = this.localize.dir() === \"rtl\";\n      const submenuEdgeX = isRTL2 ? submenuRect.right : submenuRect.left;\n      const constrainedX = isRTL2 ? Math.max(event.clientX, submenuEdgeX) : Math.min(event.clientX, submenuEdgeX);\n      const constrainedY = Math.max(\n        submenuRect.top,\n        Math.min(event.clientY, submenuRect.bottom)\n      );\n      currentSubmenuItem.submenuElement.style.setProperty(\n        \"--safe-triangle-cursor-x\",\n        `${constrainedX}px`\n      );\n      currentSubmenuItem.submenuElement.style.setProperty(\n        \"--safe-triangle-cursor-y\",\n        `${constrainedY}px`\n      );\n      const isOverItem = currentSubmenuItem.matches(\":hover\");\n      const isOverSubmenu = currentSubmenuItem.submenuElement?.matches(\":hover\") || !!event.composedPath().find(\n        (element) => element instanceof HTMLElement && element.closest('[part=\"submenu\"]') === currentSubmenuItem.submenuElement\n      );\n      if (!isOverItem && !isOverSubmenu) {\n        setTimeout(() => {\n          if (!currentSubmenuItem.matches(\":hover\") && !currentSubmenuItem.submenuElement?.matches(\":hover\")) {\n            currentSubmenuItem.submenuOpen = false;\n          }\n        }, 100);\n      }\n    };\n  }\n  firstUpdated() {\n    this.syncARIAAttributes();\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    clearInterval(this.userTypedTimeout);\n    this.closeAllSubmenus();\n    this.submenuCleanups.forEach((cleanup) => cleanup());\n    this.submenuCleanups.clear();\n    document.removeEventListener(\"mousemove\", this.handleGlobalMouseMove);\n  }\n  async updated(changedProperties) {\n    if (changedProperties.has(\"open\")) {\n      this.customStates.set(\"open\", this.open);\n      if (this.open) {\n        await this.showMenu();\n      } else {\n        this.closeAllSubmenus();\n        await this.hideMenu();\n      }\n    }\n    if (changedProperties.has(\"size\")) {\n      this.syncItemSizes();\n    }\n  }\n  /** Gets all dropdown items slotted in the menu. */\n  getItems(includeDisabled = false) {\n    const items = this.defaultSlot.assignedElements({ flatten: true }).filter(\n      (element) => element.localName === \"pc-dropdown-item\"\n    );\n    return includeDisabled ? items : items.filter((item) => !item.disabled);\n  }\n  /** Gets all dropdown items in a specific submenu. */\n  getSubmenuItems(parentItem, includeDisabled = false) {\n    const submenuSlot = parentItem.shadowRoot?.querySelector(\n      'slot[name=\"submenu\"]'\n    ) || parentItem.querySelector('slot[name=\"submenu\"]');\n    if (!submenuSlot) {\n      return [];\n    }\n    const items = submenuSlot.assignedElements({ flatten: true }).filter(\n      (element) => element.localName === \"pc-dropdown-item\"\n    );\n    return includeDisabled ? items : items.filter((item) => !item.disabled);\n  }\n  /** Syncs item sizes with the dropdown’s size property. */\n  syncItemSizes() {\n    const items = this.defaultSlot.assignedElements({ flatten: true }).filter(\n      (element) => element.localName === \"pc-dropdown-item\"\n    );\n    items.forEach((item) => item.size = this.size);\n  }\n  /** Handles the submenu navigation stack. */\n  addToSubmenuStack(item) {\n    const index = this.openSubmenuStack.indexOf(item);\n    if (index !== -1) {\n      this.openSubmenuStack = this.openSubmenuStack.slice(0, index + 1);\n    } else {\n      this.openSubmenuStack.push(item);\n    }\n  }\n  /** Removes the last item from the submenu stack. */\n  removeFromSubmenuStack() {\n    return this.openSubmenuStack.pop();\n  }\n  /** Gets the current active submenu item. */\n  getCurrentSubmenuItem() {\n    return this.openSubmenuStack.length > 0 ? this.openSubmenuStack[this.openSubmenuStack.length - 1] : void 0;\n  }\n  /** Closes all submenus in the dropdown. */\n  closeAllSubmenus() {\n    const items = this.getItems(true);\n    items.forEach((item) => {\n      item.submenuOpen = false;\n    });\n    this.openSubmenuStack = [];\n  }\n  /** Closes sibling submenus at the same level as the specified item. */\n  closeSiblingSubmenus(item) {\n    const parentDropdownItem = item.closest(\n      'pc-dropdown-item:not([slot=\"submenu\"])'\n    );\n    let siblingItems;\n    if (parentDropdownItem) {\n      siblingItems = this.getSubmenuItems(parentDropdownItem, true);\n    } else {\n      siblingItems = this.getItems(true);\n    }\n    siblingItems.forEach((siblingItem) => {\n      if (siblingItem !== item && siblingItem.submenuOpen) {\n        siblingItem.submenuOpen = false;\n      }\n    });\n    if (!this.openSubmenuStack.includes(item)) {\n      this.openSubmenuStack.push(item);\n    }\n  }\n  /** Get the slotted trigger button, a <pc-button> or <button> element. */\n  getTrigger() {\n    return this.querySelector(\n      '[slot=\"trigger\"]'\n    );\n  }\n  /** Shows the dropdown menu. This should be only called from within `updated()`. */\n  async showMenu() {\n    const anchor = this.getTrigger();\n    if (!anchor) {\n      return;\n    }\n    const pcShow = new PcShowEvent();\n    this.dispatchEvent(pcShow);\n    if (pcShow.defaultPrevented) {\n      this.open = false;\n      return;\n    }\n    openDropdowns.forEach((dropdown) => dropdown.open = false);\n    this.popup.active = true;\n    this.open = true;\n    openDropdowns.add(this);\n    this.syncARIAAttributes();\n    document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n    document.addEventListener(\n      \"pointerdown\",\n      this.handleDocumentPointerDown\n    );\n    document.addEventListener(\"mousemove\", this.handleGlobalMouseMove);\n    this.menu.hidden = false;\n    const { keyframes, options } = getAnimation(this, \"dropdown.show\", {\n      dir: this.localize.dir()\n    });\n    await animateTo(this.menu, keyframes, options);\n    await stopAnimations(this);\n    const items = this.getItems();\n    if (items.length > 0) {\n      items.forEach((item, index) => item.active = index === 0);\n      items[0].focus({ preventScroll: true });\n    }\n    this.dispatchEvent(new PcAfterShowEvent());\n  }\n  /** Hides the dropdown menu. This should be only called from within `updated()`. */\n  async hideMenu() {\n    const pcHide = new PcHideEvent();\n    this.dispatchEvent(pcHide);\n    if (pcHide.defaultPrevented) {\n      this.open = true;\n      return;\n    }\n    this.open = false;\n    openDropdowns.delete(this);\n    this.syncARIAAttributes();\n    document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n    document.removeEventListener(\n      \"pointerdown\",\n      this.handleDocumentPointerDown\n    );\n    document.removeEventListener(\"mousemove\", this.handleGlobalMouseMove);\n    const { keyframes, options } = getAnimation(this, \"dropdown.hide\", {\n      dir: this.localize.dir()\n    });\n    await animateTo(this.menu, keyframes, options);\n    await stopAnimations(this);\n    this.menu.hidden = true;\n    this.dispatchEvent(new PcAfterHideEvent());\n  }\n  /** Handles clicks on the menu. */\n  handleMenuClick(event) {\n    const item = event.target.closest(\"pc-dropdown-item\");\n    if (!item || item.disabled) {\n      return;\n    }\n    if (item.hasSubmenu) {\n      if (!item.submenuOpen) {\n        this.closeSiblingSubmenus(item);\n        this.addToSubmenuStack(item);\n        item.submenuOpen = true;\n      }\n      event.stopPropagation();\n      return;\n    }\n    this.makeSelection(item);\n  }\n  /** Prepares dropdown items when they get added or removed. */\n  async handleMenuSlotChange() {\n    const items = this.getItems(true);\n    await Promise.all(items.map((item) => item.updateComplete));\n    this.syncItemSizes();\n    const hasCheckbox = items.some((item) => item.type === \"checkbox\");\n    const hasSubmenu = items.some((item) => item.hasSubmenu);\n    items.forEach((item, index) => {\n      item.active = index === 0;\n      item.checkboxAdjacent = hasCheckbox;\n      item.submenuAdjacent = hasSubmenu;\n    });\n  }\n  /** Toggles the dropdown menu. */\n  handleTriggerClick() {\n    this.open = !this.open;\n  }\n  /** Handles submenu opening events. */\n  handleSubmenuOpening(event) {\n    const openingItem = event.detail.item;\n    this.closeSiblingSubmenus(openingItem);\n    this.addToSubmenuStack(openingItem);\n    this.setupSubmenuPosition(openingItem);\n    this.processSubmenuItems(openingItem);\n  }\n  /** Sets up submenu positioning with `autoUpdate`. */\n  setupSubmenuPosition(item) {\n    if (!item.submenuElement) {\n      return;\n    }\n    this.cleanupSubmenuPosition(item);\n    const cleanup = autoUpdate(item, item.submenuElement, () => {\n      this.positionSubmenu(item);\n      this.updateSafeTriangleCoordinates(item);\n    });\n    this.submenuCleanups.set(item, cleanup);\n    const submenuSlot = item.submenuElement.querySelector(\n      'slot[name=\"submenu\"]'\n    );\n    if (submenuSlot) {\n      submenuSlot.removeEventListener(\n        \"slotchange\",\n        PcDropdown.handleSubmenuSlotChange\n      );\n      submenuSlot.addEventListener(\n        \"slotchange\",\n        PcDropdown.handleSubmenuSlotChange\n      );\n      PcDropdown.handleSubmenuSlotChange({\n        target: submenuSlot\n      });\n    }\n  }\n  static handleSubmenuSlotChange(event) {\n    const slot = event.target;\n    if (!slot) {\n      return;\n    }\n    const items = slot.assignedElements().filter(\n      (element) => element.localName === \"pc-dropdown-item\"\n    );\n    if (items.length === 0) {\n      return;\n    }\n    const hasSubmenuItems = items.some((item) => item.hasSubmenu);\n    const hasCheckboxItems = items.some((item) => item.type === \"checkbox\");\n    items.forEach((item) => {\n      item.submenuAdjacent = hasSubmenuItems;\n      item.checkboxAdjacent = hasCheckboxItems;\n    });\n  }\n  processSubmenuItems(item) {\n    if (!item.submenuElement) {\n      return;\n    }\n    const submenuItems = this.getSubmenuItems(item, true);\n    const hasSubmenuItems = submenuItems.some(\n      (subItem) => subItem.hasSubmenu\n    );\n    const hasCheckboxItems = submenuItems.some(\n      (subItem) => subItem.type === \"checkbox\"\n    );\n    submenuItems.forEach((subItem) => {\n      subItem.submenuAdjacent = hasSubmenuItems;\n      subItem.checkboxAdjacent = hasCheckboxItems;\n    });\n  }\n  /** Cleans up the submenu positioning. */\n  cleanupSubmenuPosition(item) {\n    const cleanup = this.submenuCleanups.get(item);\n    if (cleanup) {\n      cleanup();\n      this.submenuCleanups.delete(item);\n    }\n  }\n  /** Positions a submenu relative to its parent item. */\n  positionSubmenu(item) {\n    if (!item.submenuElement) {\n      return;\n    }\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    const placement = isRTL2 ? \"left-start\" : \"right-start\";\n    computePosition2(item, item.submenuElement, {\n      placement,\n      middleware: [\n        offset2({\n          mainAxis: 0,\n          crossAxis: -5\n        }),\n        flip3({\n          fallbackStrategy: \"bestFit\"\n        }),\n        shift2({\n          padding: 8\n        })\n      ]\n    }).then(({ x: x2, y: y3, placement: placement2 }) => {\n      item.submenuElement.setAttribute(\"data-placement\", placement2);\n      Object.assign(item.submenuElement.style, {\n        left: `${x2}px`,\n        top: `${y3}px`\n      });\n    });\n  }\n  /** Updates the safe triangle coordinates for a submenu. */\n  updateSafeTriangleCoordinates(item) {\n    if (!item.submenuElement || !item.submenuOpen) {\n      return;\n    }\n    const isKeyboardNavigation = document.activeElement?.matches(\":focus-visible\");\n    if (isKeyboardNavigation) {\n      item.submenuElement.style.setProperty(\n        \"--safe-triangle-visible\",\n        \"none\"\n      );\n      return;\n    }\n    item.submenuElement.style.setProperty(\n      \"--safe-triangle-visible\",\n      \"block\"\n    );\n    const submenuRect = item.submenuElement.getBoundingClientRect();\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    item.submenuElement.style.setProperty(\n      \"--safe-triangle-submenu-start-x\",\n      `${isRTL2 ? submenuRect.right : submenuRect.left}px`\n    );\n    item.submenuElement.style.setProperty(\n      \"--safe-triangle-submenu-start-y\",\n      `${submenuRect.top}px`\n    );\n    item.submenuElement.style.setProperty(\n      \"--safe-triangle-submenu-end-x\",\n      `${isRTL2 ? submenuRect.right : submenuRect.left}px`\n    );\n    item.submenuElement.style.setProperty(\n      \"--safe-triangle-submenu-end-y\",\n      `${submenuRect.bottom}px`\n    );\n  }\n  /** Makes a selection, emits the `pc-select` event and closes the dropdown. */\n  makeSelection(item) {\n    const trigger = this.getTrigger();\n    if (item.disabled) {\n      return;\n    }\n    if (item.type === \"checkbox\") {\n      item.checked = !item.checked;\n    }\n    const pcSelect = new PcSelectEvent({ item });\n    this.dispatchEvent(pcSelect);\n    if (!pcSelect.defaultPrevented) {\n      this.open = false;\n      trigger?.focus({ preventScroll: true });\n    }\n  }\n  /** Syncs ARIA attributes on the slotted trigger element and the menu based on the dropdown’s current state. */\n  async syncARIAAttributes() {\n    const trigger = this.getTrigger();\n    let nativeButton;\n    if (!trigger) {\n      return;\n    }\n    if (trigger.localName === \"pc-button\") {\n      await customElements.whenDefined(\"pc-button\");\n      await trigger.updateComplete;\n      nativeButton = trigger.shadowRoot.querySelector(\n        '[part=\"base\"]'\n      );\n    } else {\n      nativeButton = trigger;\n    }\n    if (!nativeButton.hasAttribute(\"id\")) {\n      nativeButton.setAttribute(\"id\", uniqueID(\"pc-dropdown-trigger-\"));\n    }\n    nativeButton.setAttribute(\"aria-haspopup\", \"menu\");\n    nativeButton.setAttribute(\n      \"aria-expanded\",\n      this.open ? \"true\" : \"false\"\n    );\n    this.menu.setAttribute(\"aria-expanded\", \"false\");\n  }\n  render() {\n    let active = this.hasUpdated ? this.popup.active : this.open;\n    return x`\n            <pc-popup\n                placement=${this.placement}\n                distance=${this.distance}\n                skidding=${this.skidding}\n                ?active=${active}\n                flip-fallback-strategy=\"best-fit\"\n                shift-padding=\"10\"\n                auto-size=\"vertical\"\n                auto-size-padding=\"10\"\n                shift\n                flip\n            >\n                <slot\n                    name=\"trigger\"\n                    slot=\"anchor\"\n                    @click=${this.handleTriggerClick}\n                    @slotchange=${this.syncARIAAttributes}\n                ></slot>\n\n                <div\n                    part=\"menu\"\n                    id=\"menu\"\n                    role=\"menu\"\n                    tabindex=\"-1\"\n                    aria-orientation=\"vertical\"\n                    @click=${this.handleMenuClick}\n                    @pc-submenu-opening=${this.handleSubmenuOpening}\n                >\n                    <slot @slotchange=${this.handleMenuSlotChange}></slot>\n                </div>\n            </pc-popup>\n        `;\n  }\n};\nPcDropdown.css = [size_default, dropdown_default];\n__decorateClass([\n  e5(\"slot:not([name])\")\n], PcDropdown.prototype, \"defaultSlot\", 2);\n__decorateClass([\n  e5(\"#menu\")\n], PcDropdown.prototype, \"menu\", 2);\n__decorateClass([\n  e5(\"pc-popup\")\n], PcDropdown.prototype, \"popup\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcDropdown.prototype, \"open\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcDropdown.prototype, \"size\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcDropdown.prototype, \"placement\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcDropdown.prototype, \"distance\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcDropdown.prototype, \"skidding\", 2);\nPcDropdown = __decorateClass([\n  t3(\"pc-dropdown\")\n], PcDropdown);\n\n// src/events/pc-submenu-opening.ts\nvar PcSubmenuOpeningEvent = class extends Event {\n  constructor(detail) {\n    super(\"pc-submenu-opening\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n    this.detail = detail;\n  }\n};\n\n// src/components/dropdown-item/dropdown-item.css\nvar dropdown_item_default = ':host {\\n    display: flex;\\n    position: relative;\\n    align-items: center;\\n    padding-block: 0.5em;\\n    padding-inline: 1em;\\n    color: var(--pc-color-text-normal);\\n    border-radius: var(--pc-border-radius-m);\\n    line-height: var(--pc-line-height-denser);\\n    isolation: isolate;\\n    cursor: pointer;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n@media (hover: hover) {\\n    :host(:hover:not(:state(disabled))) {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-color-neutral-fill-normal),\\n            var(--pc-color-mix-hover)\\n        );\\n        color: color-mix(\\n            in oklab,\\n            var(--pc-color-neutral-on-normal),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n:host(:active:not(:state(disabled), :state(has-submenu))) {\\n    background-color: color-mix(\\n        in oklab,\\n        var(--pc-color-neutral-fill-normal),\\n        var(--pc-color-mix-active)\\n    );\\n    color: color-mix(\\n        in oklab,\\n        var(--pc-color-neutral-on-normal),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n:host(:focus-visible) {\\n    background-color: var(--pc-color-neutral-fill-normal);\\n    outline: var(--pc-focus-ring);\\n    z-index: 1;\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n:host(:state(disabled)) {\\n    opacity: 0.5;\\n    cursor: not-allowed;\\n}\\n\\n:host([appearance=\"danger\"]),\\n:host([appearance=\"danger\"]) #details {\\n    color: var(--pc-color-danger-on-quiet);\\n}\\n\\n@media (hover: hover) {\\n    :host([appearance=\"danger\"]:hover:not(:state(disabled))) {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-color-danger-fill-normal),\\n            var(--pc-color-mix-hover)\\n        );\\n        color: color-mix(\\n            in oklab,\\n            var(--pc-color-danger-on-normal),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n:host([appearance=\"danger\"]:active:not(:state(disabled), :state(has-submenu))) {\\n    background-color: color-mix(\\n        in oklab,\\n        var(--pc-color-danger-fill-normal),\\n        var(--pc-color-mix-active)\\n    );\\n    color: color-mix(\\n        in oklab,\\n        var(--pc-color-danger-on-normal),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n:host([appearance=\"danger\"]:focus-visible) {\\n    background-color: var(--pc-color-danger-fill-normal);\\n    color: var(--pc-color-danger-on-normal);\\n}\\n\\n:host([checkbox-adjacent]) {\\n    padding-inline-start: 2em;\\n}\\n\\n:host([submenu-adjacent]:not(:state(has-submenu))) #details {\\n    padding-inline-end: 0;\\n}\\n\\n:host(:state(has-submenu)[submenu-adjacent]) #details {\\n    padding-inline-end: 1.75em;\\n}\\n\\n#check {\\n    margin-inline-start: -1.5em;\\n    margin-inline-end: 0.5em;\\n    font-size: var(--pc-font-size-smaller);\\n    visibility: hidden;\\n}\\n\\n:host(:state(checked)) #check {\\n    visibility: visible;\\n}\\n\\n#icon ::slotted(*) {\\n    display: flex;\\n    align-items: center;\\n    flex: 0 0 auto;\\n    margin-inline-end: 0.75em !important;\\n    font-size: var(--pc-font-size-smaller);\\n}\\n\\n#label {\\n    flex: 1 1 auto;\\n    min-inline-size: 0;\\n    white-space: nowrap;\\n    text-overflow: ellipsis;\\n}\\n\\n#details {\\n    display: flex;\\n    align-items: center;\\n    justify-content: flex-end;\\n    flex: 0 0 auto;\\n    color: var(--pc-color-text-quiet);\\n    font-size: var(--pc-font-size-smaller) !important;\\n}\\n\\n#details ::slotted(*) {\\n    margin-inline-start: 2em !important;\\n}\\n\\n#submenu-indicator {\\n    position: absolute;\\n    inset-inline-end: 1em;\\n    color: var(--pc-color-neutral-on-quiet);\\n    font-size: var(--pc-font-size-smaller);\\n}\\n\\n:host(:dir(rtl)) #submenu-indicator {\\n    transform: scaleX(-1);\\n}\\n\\n#submenu {\\n    display: flex;\\n    flex-direction: column;\\n    position: absolute;\\n    top: 0;\\n    left: 0;\\n    margin: 0;\\n    padding: 0.25em;\\n    inline-size: max-content;\\n    background-color: var(--pc-color-surface-raised);\\n    color: var(--pc-color-text-normal);\\n    border: var(--pc-border-width-s) var(--pc-border-style)\\n        var(--pc-color-surface-border);\\n    border-radius: calc(var(--pc-border-radius-m) + 0.25em);\\n    text-align: start;\\n    user-select: none;\\n    box-shadow: var(--pc-shadow-m);\\n    z-index: 10;\\n}\\n\\n#submenu[popover] {\\n    inset: auto;\\n    margin: 0;\\n    padding: 0.25em;\\n    border-radius: calc(var(--pc-border-radius-m) + 0.25em);\\n    overflow: visible;\\n}\\n\\n#submenu[data-placement^=\"top\"] {\\n    transform-origin: bottom;\\n}\\n\\n#submenu[data-placement^=\"bottom\"] {\\n    transform-origin: top;\\n}\\n\\n#submenu[data-placement^=\"left\"] {\\n    transform-origin: right;\\n}\\n\\n#submenu[data-placement^=\"right\"] {\\n    transform-origin: left;\\n}\\n\\n#submenu[data-placement=\"left-start\"] {\\n    transform-origin: right top;\\n}\\n\\n#submenu[data-placement=\"left-end\"] {\\n    transform-origin: right bottom;\\n}\\n\\n#submenu[data-placement=\"right-start\"] {\\n    transform-origin: left top;\\n}\\n\\n#submenu[data-placement=\"right-end\"] {\\n    transform-origin: left bottom;\\n}\\n\\n#submenu::before {\\n    content: \"\";\\n    display: none;\\n    position: fixed;\\n    inset: 0;\\n    background-color: transparent;\\n    clip-path: polygon(\\n        var(--safe-triangle-cursor-x, 0) var(--safe-triangle-cursor-y, 0),\\n        var(--safe-triangle-submenu-start-x, 0)\\n            var(--safe-triangle-submenu-start-y, 0),\\n        var(--safe-triangle-submenu-end-x, 0)\\n            var(--safe-triangle-submenu-end-y, 0)\\n    );\\n    pointer-events: auto;\\n    z-index: 9;\\n}\\n\\n#submenu[data-visible]::before {\\n    display: block;\\n}\\n\\n::slotted(pc-dropdown-item) {\\n    font-size: inherit;\\n}\\n\\n::slotted(pc-divider) {\\n    --spacing: 0.25em;\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n';\n\n// src/components/dropdown-item/dropdown-item.ts\nsetDefaultAnimation(\"submenu.show\", {\n  keyframes: [\n    { opacity: 0, scale: 0.9 },\n    { opacity: 1, scale: 1 }\n  ],\n  options: {\n    duration: 300,\n    easing: \"cubic-bezier(0.2, 0.8, 0.2, 1)\",\n    fill: \"both\"\n  }\n});\nsetDefaultAnimation(\"submenu.hide\", {\n  keyframes: [\n    { opacity: 1, scale: 1 },\n    { opacity: 0, scale: 0.9 }\n  ],\n  options: {\n    duration: 200,\n    easing: \"cubic-bezier(0.4, 0.2, 0.6, 0.1)\",\n    fill: \"both\"\n  }\n});\nvar PcDropdownItem = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.hasSlotController = new HasSlotController(\n      this,\n      \"[default]\",\n      \"prefix\",\n      \"suffix\"\n    );\n    this.localize = new LocalizeController2(this);\n    this.hasSubmenu = false;\n    this.active = false;\n    this.appearance = \"default\";\n    this.size = \"medium\";\n    this.checkboxAdjacent = false;\n    this.submenuAdjacent = false;\n    this.type = \"normal\";\n    this.checked = false;\n    this.disabled = false;\n    this.submenuOpen = false;\n    this.handleSlotChange = () => {\n      this.hasSubmenu = this.hasSlotController.test(\"submenu\");\n      this.updateHasSubmenuState();\n      if (this.hasSubmenu) {\n        this.setAttribute(\"aria-haspopup\", \"menu\");\n        this.setAttribute(\n          \"aria-expanded\",\n          this.submenuOpen ? \"true\" : \"false\"\n        );\n      } else {\n        this.removeAttribute(\"aria-haspopup\");\n        this.removeAttribute(\"aria-expanded\");\n      }\n    };\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.addEventListener(\"mouseenter\", this.handleMouseEnter.bind(this));\n    this.shadowRoot.addEventListener(\"slotchange\", this.handleSlotChange);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this.closeSubmenu();\n    this.removeEventListener(\"mouseenter\", this.handleMouseEnter);\n    this.shadowRoot.removeEventListener(\n      \"slotchange\",\n      this.handleSlotChange\n    );\n  }\n  firstUpdated() {\n    this.setAttribute(\"tabindex\", \"-1\");\n    this.hasSubmenu = this.hasSlotController.test(\"submenu\");\n    this.updateHasSubmenuState();\n  }\n  updated(changedProperties) {\n    if (changedProperties.has(\"active\")) {\n      this.setAttribute(\"tabindex\", this.active ? \"0\" : \"-1\");\n      this.customStates.set(\"active\", this.active);\n    }\n    if (changedProperties.has(\"checked\")) {\n      this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n      this.customStates.set(\"checked\", this.checked);\n    }\n    if (changedProperties.has(\"disabled\")) {\n      this.setAttribute(\n        \"aria-disabled\",\n        this.disabled ? \"true\" : \"false\"\n      );\n      this.customStates.set(\"disabled\", this.disabled);\n    }\n    if (changedProperties.has(\"type\")) {\n      if (this.type === \"checkbox\") {\n        this.setAttribute(\"role\", \"menuitemcheckbox\");\n      } else {\n        this.setAttribute(\"role\", \"menuitem\");\n      }\n    }\n    if (changedProperties.has(\"submenuOpen\")) {\n      this.customStates.set(\"submenu-open\", this.submenuOpen);\n      if (this.submenuOpen) {\n        this.openSubmenu();\n      } else {\n        this.closeSubmenu();\n      }\n    }\n  }\n  /** Update the `has-submenu` custom state */\n  updateHasSubmenuState() {\n    this.customStates.set(\"has-submenu\", this.hasSubmenu);\n  }\n  /** Opens the submenu. */\n  async openSubmenu() {\n    if (!this.hasSubmenu || !this.submenuElement) {\n      return;\n    }\n    this.notifyParentOfOpening();\n    this.submenuElement.showPopover();\n    this.submenuElement.hidden = false;\n    this.submenuElement.setAttribute(\"data-visible\", \"\");\n    this.submenuOpen = true;\n    this.setAttribute(\"aria-expanded\", \"true\");\n    const { keyframes, options } = getAnimation(this, \"submenu.show\", {\n      dir: this.localize.dir()\n    });\n    await animateTo(this.submenuElement, keyframes, options);\n    await stopAnimations(this);\n    setTimeout(() => {\n      const items = this.getSubmenuItems();\n      if (items.length > 0) {\n        items.forEach((item, index) => item.active = index === 0);\n        items[0].focus({ preventScroll: true });\n      }\n    }, 0);\n  }\n  /** Notifies the parent dropdown that this item is opening its submenu. */\n  notifyParentOfOpening() {\n    this.dispatchEvent(new PcSubmenuOpeningEvent({ item: this }));\n    const parent = this.parentElement;\n    if (parent) {\n      const siblings = [...parent.children].filter(\n        (element) => element !== this && element.localName === \"pc-dropdown-item\" && element.getAttribute(\"slot\") === this.getAttribute(\"slot\") && element.submenuOpen\n      );\n      siblings.forEach((sibling) => {\n        sibling.submenuOpen = false;\n      });\n    }\n  }\n  /** Closes the submenu. */\n  async closeSubmenu() {\n    if (!this.hasSubmenu || !this.submenuElement) {\n      return;\n    }\n    this.submenuOpen = false;\n    this.setAttribute(\"aria-expanded\", \"false\");\n    if (!this.submenuElement.hidden) {\n      const { keyframes, options } = getAnimation(this, \"submenu.hide\", {\n        dir: this.localize.dir()\n      });\n      await animateTo(this.submenuElement, keyframes, options);\n      await stopAnimations(this);\n      this.submenuElement.hidden = true;\n      this.submenuElement.removeAttribute(\"data-visible\");\n      this.submenuElement.hidePopover();\n    }\n  }\n  /** Gets all dropdown items in the submenu. */\n  getSubmenuItems() {\n    return [...this.children].filter(\n      (element) => element.localName === \"pc-dropdown-item\" && element.getAttribute(\"slot\") === \"submenu\" && !element.hasAttribute(\"disabled\")\n    );\n  }\n  /** Handles mouse entering events to open the submenu. */\n  handleMouseEnter() {\n    if (this.hasSubmenu && !this.disabled) {\n      this.notifyParentOfOpening();\n      this.submenuOpen = true;\n    }\n  }\n  render() {\n    return x`\n            ${this.type === \"checkbox\" ? x`\n                      <pc-icon\n                          library=\"system\"\n                          icon-style=\"solid\"\n                          name=\"check\"\n                          part=\"checkmark\"\n                          id=\"check\"\n                          exportparts=\"svg:checkmark-svg\"\n                      ></pc-icon>\n                  ` : \"\"}\n\n            <span id=\"icon\" part=\"icon\">\n                <slot name=\"icon\"></slot>\n            </span>\n\n            <span id=\"label\" part=\"label\">\n                <slot></slot>\n            </span>\n\n            <span id=\"details\" part=\"details\">\n                <slot name=\"details\"></slot>\n            </span>\n\n            ${this.hasSubmenu ? x`\n                      <pc-icon\n                          library=\"system\"\n                          icon-style=\"solid\"\n                          name=\"chevron-right\"\n                          part=\"submenu-icon\"\n                          id=\"submenu-indicator\"\n                          exportparts=\"svg:submenu-icon-svg\"\n                      ></pc-icon>\n                  ` : \"\"}\n            ${this.hasSubmenu ? x`\n                      <div\n                          id=\"submenu\"\n                          part=\"submenu\"\n                          role=\"menu\"\n                          popover=\"manual\"\n                          tabindex=\"-1\"\n                          aria-orientation=\"vertical\"\n                          hidden\n                      >\n                          <slot name=\"submenu\"></slot>\n                      </div>\n                  ` : \"\"}\n        `;\n  }\n};\nPcDropdownItem.css = dropdown_item_default;\n__decorateClass([\n  e5(\"#submenu\")\n], PcDropdownItem.prototype, \"submenuElement\", 2);\n__decorateClass([\n  r5()\n], PcDropdownItem.prototype, \"hasSubmenu\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcDropdownItem.prototype, \"active\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcDropdownItem.prototype, \"appearance\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcDropdownItem.prototype, \"size\", 2);\n__decorateClass([\n  n4({ attribute: \"checkbox-adjacent\", type: Boolean, reflect: true })\n], PcDropdownItem.prototype, \"checkboxAdjacent\", 2);\n__decorateClass([\n  n4({ attribute: \"submenu-adjacent\", type: Boolean, reflect: true })\n], PcDropdownItem.prototype, \"submenuAdjacent\", 2);\n__decorateClass([\n  n4()\n], PcDropdownItem.prototype, \"value\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcDropdownItem.prototype, \"type\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcDropdownItem.prototype, \"checked\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcDropdownItem.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcDropdownItem.prototype, \"submenuOpen\", 2);\nPcDropdownItem = __decorateClass([\n  t3(\"pc-dropdown-item\")\n], PcDropdownItem);\n\n// src/components/format-bytes/format-bytes.ts\nvar PcFormatBytes = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n    this.value = 0;\n    this.unit = \"byte\";\n    this.display = \"short\";\n    this.useSI = false;\n  }\n  static get styles() {\n    return [];\n  }\n  render() {\n    if (isNaN(this.value)) {\n      return \"\";\n    }\n    const bitPrefixes = [\"\", \"kilo\", \"mega\", \"giga\", \"tera\"];\n    const bytePrefixes = [\"\", \"kilo\", \"mega\", \"giga\", \"tera\", \"peta\"];\n    const prefix = this.unit === \"bit\" ? bitPrefixes : bytePrefixes;\n    const index = Math.max(\n      0,\n      Math.min(Math.floor(Math.log10(this.value) / 3), prefix.length - 1)\n    );\n    const valueToFormat = parseFloat(\n      (this.value / Math.pow(1e3, index)).toPrecision(3)\n    );\n    if (this.useSI) {\n      const unitPrefixes = [\"\", \"k\", \"M\", \"G\", \"T\", \"P\"];\n      const siUnit = unitPrefixes[index];\n      const formattedNumber = this.localize.number(valueToFormat, {\n        style: \"decimal\"\n      });\n      const correctedNumber = formattedNumber.replace(\".\", \",\");\n      switch (this.display) {\n        case \"narrow\":\n          return `${correctedNumber}${siUnit}${this.unit === \"byte\" ? \"B\" : \"b\"}`;\n        case \"short\":\n          return `${correctedNumber}\\u202F${siUnit}${this.unit === \"byte\" ? \"B\" : \"b\"}`;\n        case \"long\":\n          const plural = valueToFormat === 1 ? \"\" : \"s\";\n          return `${correctedNumber}\\xA0${prefix[index]}${this.unit}${plural}`;\n        default:\n          return \"\";\n      }\n    }\n    const unit = prefix[index] + this.unit;\n    return this.localize.number(valueToFormat, {\n      style: \"unit\",\n      unit,\n      unitDisplay: this.display\n    });\n  }\n};\n__decorateClass([\n  n4({ type: Number })\n], PcFormatBytes.prototype, \"value\", 2);\n__decorateClass([\n  n4()\n], PcFormatBytes.prototype, \"unit\", 2);\n__decorateClass([\n  n4()\n], PcFormatBytes.prototype, \"display\", 2);\n__decorateClass([\n  n4({ attribute: \"use-si\", type: Boolean })\n], PcFormatBytes.prototype, \"useSI\", 2);\nPcFormatBytes = __decorateClass([\n  t3(\"pc-format-bytes\")\n], PcFormatBytes);\n\n// src/components/format-date/format-date.ts\nvar PcFormatDate = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n    this.date = /* @__PURE__ */ new Date();\n    this.hourFormat = \"auto\";\n  }\n  static get styles() {\n    return [];\n  }\n  render() {\n    const date = new Date(this.date);\n    const hour12 = this.hourFormat === \"auto\" ? void 0 : this.hourFormat === \"12\";\n    if (isNaN(date.getMilliseconds())) {\n      return void 0;\n    }\n    const displayDate = this.localize.date(date, {\n      weekday: this.weekday,\n      era: this.era,\n      year: this.year,\n      month: this.month,\n      day: this.day,\n      hour: this.hour,\n      minute: this.minute,\n      second: this.second,\n      timeZoneName: this.timeZoneName,\n      timeZone: this.timeZone,\n      hour12\n    });\n    return x`<time datetime=${date.toISOString()}>${displayDate}</time>`;\n  }\n};\n__decorateClass([\n  n4()\n], PcFormatDate.prototype, \"date\", 2);\n__decorateClass([\n  n4()\n], PcFormatDate.prototype, \"weekday\", 2);\n__decorateClass([\n  n4()\n], PcFormatDate.prototype, \"era\", 2);\n__decorateClass([\n  n4()\n], PcFormatDate.prototype, \"year\", 2);\n__decorateClass([\n  n4()\n], PcFormatDate.prototype, \"month\", 2);\n__decorateClass([\n  n4()\n], PcFormatDate.prototype, \"day\", 2);\n__decorateClass([\n  n4()\n], PcFormatDate.prototype, \"hour\", 2);\n__decorateClass([\n  n4()\n], PcFormatDate.prototype, \"minute\", 2);\n__decorateClass([\n  n4()\n], PcFormatDate.prototype, \"second\", 2);\n__decorateClass([\n  n4({ attribute: \"time-zone-name\" })\n], PcFormatDate.prototype, \"timeZoneName\", 2);\n__decorateClass([\n  n4({ attribute: \"time-zone\" })\n], PcFormatDate.prototype, \"timeZone\", 2);\n__decorateClass([\n  n4({ attribute: \"hour-format\" })\n], PcFormatDate.prototype, \"hourFormat\", 2);\nPcFormatDate = __decorateClass([\n  t3(\"pc-format-date\")\n], PcFormatDate);\n\n// src/components/format-number/format-number.ts\nvar PcFormatNumber = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n    this.value = 0;\n    this.type = \"decimal\";\n    this.withoutGrouping = false;\n    this.currency = \"USD\";\n    this.currencyDisplay = \"symbol\";\n    this.useSI = false;\n  }\n  static get styles() {\n    return [];\n  }\n  formatSINumber(value) {\n    let numberString = this.localize.number(value, {\n      style: \"decimal\",\n      useGrouping: false,\n      minimumIntegerDigits: this.minimumIntegerDigits,\n      minimumFractionDigits: this.minimumFractionDigits,\n      maximumFractionDigits: this.maximumFractionDigits,\n      minimumSignificantDigits: this.minimumSignificantDigits,\n      maximumSignificantDigits: this.maximumSignificantDigits\n    });\n    const parts = numberString.split(\".\");\n    const integerPart = parts[0];\n    const fractionalPart = parts[1];\n    const formattedInteger = integerPart.replace(\n      /\\B(?=(\\d{3})+(?!\\d))/g,\n      \"\\u202F\"\n    );\n    if (fractionalPart) {\n      return `${formattedInteger},${fractionalPart}`;\n    } else {\n      return formattedInteger;\n    }\n  }\n  render() {\n    if (isNaN(this.value)) {\n      return \"\";\n    }\n    if (this.useSI) {\n      switch (this.type) {\n        case \"decimal\":\n          return this.formatSINumber(this.value);\n        case \"percent\":\n          const percentageValue = this.value * 100;\n          const formattedNumber = this.formatSINumber(percentageValue);\n          return `${formattedNumber}\\u202F%`;\n        case \"currency\":\n          return this.localize.number(this.value, {\n            style: \"currency\",\n            currency: this.currency,\n            currencyDisplay: this.currencyDisplay,\n            useGrouping: !this.withoutGrouping\n          });\n        default:\n          return \"\";\n      }\n    }\n    return this.localize.number(this.value, {\n      style: this.type,\n      currency: this.currency,\n      currencyDisplay: this.currencyDisplay,\n      useGrouping: !this.withoutGrouping,\n      minimumIntegerDigits: this.minimumIntegerDigits,\n      minimumFractionDigits: this.minimumFractionDigits,\n      maximumFractionDigits: this.maximumFractionDigits,\n      minimumSignificantDigits: this.minimumSignificantDigits,\n      maximumSignificantDigits: this.maximumSignificantDigits\n    });\n  }\n};\n__decorateClass([\n  n4({ type: Number })\n], PcFormatNumber.prototype, \"value\", 2);\n__decorateClass([\n  n4()\n], PcFormatNumber.prototype, \"type\", 2);\n__decorateClass([\n  n4({ attribute: \"without-grouping\", type: Boolean })\n], PcFormatNumber.prototype, \"withoutGrouping\", 2);\n__decorateClass([\n  n4()\n], PcFormatNumber.prototype, \"currency\", 2);\n__decorateClass([\n  n4({ attribute: \"currency-display\" })\n], PcFormatNumber.prototype, \"currencyDisplay\", 2);\n__decorateClass([\n  n4({ attribute: \"minimum-integer-digits\", type: Number })\n], PcFormatNumber.prototype, \"minimumIntegerDigits\", 2);\n__decorateClass([\n  n4({ attribute: \"minimum-fraction-digits\", type: Number })\n], PcFormatNumber.prototype, \"minimumFractionDigits\", 2);\n__decorateClass([\n  n4({ attribute: \"maximum-fraction-digits\", type: Number })\n], PcFormatNumber.prototype, \"maximumFractionDigits\", 2);\n__decorateClass([\n  n4({ attribute: \"minimum-significant-digits\", type: Number })\n], PcFormatNumber.prototype, \"minimumSignificantDigits\", 2);\n__decorateClass([\n  n4({ attribute: \"maximum-significant-digits\", type: Number })\n], PcFormatNumber.prototype, \"maximumSignificantDigits\", 2);\n__decorateClass([\n  n4({ attribute: \"use-si\", type: Boolean })\n], PcFormatNumber.prototype, \"useSI\", 2);\nPcFormatNumber = __decorateClass([\n  t3(\"pc-format-number\")\n], PcFormatNumber);\n\n// src/events/pc-mutation.ts\nvar PcMutationEvent = class extends Event {\n  constructor(detail) {\n    super(\"pc-mutation\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n    this.detail = detail;\n  }\n};\n\n// src/components/mutation-observer/mutation-observer.css\nvar mutation_observer_default = \":host {\\n    display: contents;\\n}\\n\";\n\n// src/components/mutation-observer/mutation-observer.ts\nvar PcMutationObserver = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.attributeOldValue = false;\n    this.characterData = false;\n    this.characterDataOldValue = false;\n    this.childList = false;\n    this.disabled = false;\n    this.handleMutation = (mutationList) => {\n      this.dispatchEvent(new PcMutationEvent({ mutationList }));\n    };\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.mutationObserver = new MutationObserver(this.handleMutation);\n    if (!this.disabled) {\n      this.startObserver();\n    }\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this.stopObserver();\n  }\n  startObserver() {\n    const observerAttributes = typeof this.attribute === \"string\" && this.attribute.length > 0;\n    const attributeFilter = observerAttributes && this.attribute !== \"*\" ? this.attribute?.split(\" \") : void 0;\n    try {\n      this.mutationObserver.observe(this, {\n        subtree: true,\n        childList: this.childList,\n        attributes: observerAttributes,\n        attributeFilter,\n        attributeOldValue: this.attributeOldValue,\n        characterData: this.characterData,\n        characterDataOldValue: this.characterDataOldValue\n      });\n    } catch {\n    }\n  }\n  stopObserver() {\n    this.mutationObserver.disconnect();\n  }\n  handleDisabledChange() {\n    if (this.disabled) {\n      this.stopObserver();\n    } else {\n      this.startObserver();\n    }\n  }\n  handleChange() {\n    this.stopObserver();\n    this.startObserver();\n  }\n  render() {\n    return x`<slot></slot>`;\n  }\n};\nPcMutationObserver.css = mutation_observer_default;\n__decorateClass([\n  n4({ reflect: true })\n], PcMutationObserver.prototype, \"attribute\", 2);\n__decorateClass([\n  n4({\n    attribute: \"attribute-old-value\",\n    type: Boolean,\n    reflect: true\n  })\n], PcMutationObserver.prototype, \"attributeOldValue\", 2);\n__decorateClass([\n  n4({ attribute: \"character-data\", type: Boolean, reflect: true })\n], PcMutationObserver.prototype, \"characterData\", 2);\n__decorateClass([\n  n4({\n    attribute: \"character-data-old-value\",\n    type: Boolean,\n    reflect: true\n  })\n], PcMutationObserver.prototype, \"characterDataOldValue\", 2);\n__decorateClass([\n  n4({ attribute: \"child-list\", type: Boolean, reflect: true })\n], PcMutationObserver.prototype, \"childList\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcMutationObserver.prototype, \"disabled\", 2);\n__decorateClass([\n  watch(\"disabled\")\n], PcMutationObserver.prototype, \"handleDisabledChange\", 1);\n__decorateClass([\n  watch(\n    [\n      \"attribute\",\n      \"attribute-old-value\",\n      \"character-data\",\n      \"character-data-old-value\",\n      \"child-list\"\n    ],\n    { waitUntilFirstUpdate: true }\n  )\n], PcMutationObserver.prototype, \"handleChange\", 1);\nPcMutationObserver = __decorateClass([\n  t3(\"pc-mutation-observer\")\n], PcMutationObserver);\n\n// src/internal/get-text.ts\nfunction getText(root, depth = 0) {\n  if (!root || !globalThis.Node) {\n    return \"\";\n  }\n  if (typeof root[Symbol.iterator] === \"function\") {\n    let nodes = Array.isArray(root) ? root : [...root];\n    return nodes.map((node2) => getText(node2, --depth)).join(\"\");\n  }\n  let node = root;\n  if (node.nodeType === Node.TEXT_NODE) {\n    return node.textContent ?? \"\";\n  }\n  if (node.nodeType === Node.ELEMENT_NODE) {\n    let element = node;\n    if (element.hasAttribute(\"slot\") || element.matches(\"style, script\")) {\n      return \"\";\n    }\n    if (element instanceof HTMLSlotElement) {\n      let assignedNodes = element.assignedNodes({ flatten: true });\n      if (assignedNodes.length > 0) {\n        return getText(assignedNodes, --depth);\n      }\n    }\n    return depth > -1 ? getText(element, --depth) : element.textContent ?? \"\";\n  }\n  return node.hasChildNodes() ? getText(node.childNodes, --depth) : \"\";\n}\n\n// src/components/option/option.css\nvar option_default = ':host {\\n    display: flex;\\n    position: relative;\\n    align-items: center;\\n    padding-inline-start: 0.5em;\\n    padding-inline-end: 1.75em;\\n    padding-block: 0.5em;\\n    color: var(--pc-color-text-normal);\\n    border-radius: var(--pc-border-radius-m);\\n    font: inherit;\\n    line-height: var(--pc-line-height-dense);\\n    user-select: none;\\n    -webkit-user-select: none;\\n    cursor: pointer;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n:host(:focus) {\\n    outline: none;\\n}\\n\\n@media (hover: hover) {\\n    :host(:hover:not([disabled], :state(current)):is(:state(hover), :hover)) {\\n        background-color: var(--pc-color-neutral-fill-normal);\\n        color: var(--pc-color-neutral-on-normal);\\n    }\\n}\\n\\n:host(:active:not([disabled], :state(current)):state(hover)),\\n:host(:active:not([disabled], :state(current))) {\\n    background-color: color-mix(\\n        in oklab,\\n        var(--pc-color-neutral-fill-normal),\\n        var(--pc-color-mix-active)\\n    );\\n    color: color-mix(\\n        in oklab,\\n        var(--pc-color-neutral-on-normal),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n:host(:state(current)),\\n:host([disabled]:state(current)) {\\n    background-color: var(--pc-color-neutral-fill-normal);\\n    color: var(--pc-color-neutral-on-normal);\\n    opacity: 1;\\n}\\n\\n:host([disabled]) {\\n    outline: none;\\n    opacity: 0.5;\\n    cursor: not-allowed;\\n}\\n\\n.label {\\n    display: inline-block;\\n    flex: 1 1 auto;\\n}\\n\\n.check {\\n    display: flex;\\n    align-items: center;\\n    justify-content: center;\\n    flex: 0 0 auto;\\n    visibility: hidden;\\n    font-size: var(--pc-font-size-smaller);\\n    padding-inline-end: 0.5em;\\n}\\n\\n:host(:state(selected)) .check {\\n    visibility: visible;\\n}\\n\\n.prefix,\\n.suffix {\\n    display: flex;\\n    align-items: center;\\n    flex: 0 0 auto;\\n}\\n\\n.prefix::slotted(*) {\\n    margin-inline-end: 0.5em;\\n}\\n\\n.suffix::slotted(*) {\\n    margin-inline-start: 0.5em;\\n}\\n\\n@media (forced-colors: active) {\\n    :host(:hover:not([aria-disabled=\"true\"])) {\\n        outline: 1px dashed SelectedItem;\\n        outline-offset: -1px;\\n    }\\n}\\n';\n\n// src/components/option/option.ts\nvar PcOption = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.isInitialized = false;\n    // The localise controller usage is dynamically added by the Select component.\n    this.localize = new LocalizeController2(this);\n    this.current = false;\n    this.defaultLabel = \"\";\n    this.value = \"\";\n    this.disabled = false;\n    this.selected = false;\n    this.defaultSelected = false;\n    this._label = \"\";\n    this.handleHover = (event) => {\n      if (event.type === \"mouseenter\") {\n        this.customStates.set(\"hover\", true);\n      } else if (event.type === \"mouseleave\") {\n        this.customStates.set(\"hover\", false);\n      }\n    };\n  }\n  get label() {\n    if (this._label) {\n      return this._label;\n    }\n    if (!this.defaultLabel) {\n      this.updateDefaultLabel();\n    }\n    return this.defaultLabel;\n  }\n  set label(value) {\n    const oldValue = this._label;\n    this._label = value || \"\";\n    if (this._label !== oldValue) {\n      this.requestUpdate(\"label\", oldValue);\n    }\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.setAttribute(\"role\", \"option\");\n    this.setAttribute(\"aria-selected\", \"false\");\n    this.addEventListener(\"mouseenter\", this.handleHover);\n    this.addEventListener(\"mouseleave\", this.handleHover);\n    this.updateDefaultLabel();\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this.removeEventListener(\"mouseenter\", this.handleHover);\n    this.removeEventListener(\"mouseleave\", this.handleHover);\n  }\n  handleDefaultSlotChange() {\n    this.updateDefaultLabel();\n    if (this.isInitialized) {\n      customElements.whenDefined(\"pc-select\").then(() => {\n        const controller = this.closest(\"pc-select\");\n        if (controller) {\n          controller.handleDefaultSlotChange();\n          controller.selectionChanged?.();\n        }\n      });\n    } else {\n      this.isInitialized = true;\n    }\n  }\n  willUpdate(changedProperties) {\n    if (changedProperties.has(\"defaultSelected\")) {\n      if (!this.closest(\"pc-select\")?.hasInteracted) {\n        if (this.defaultSelected) {\n          const oldValue = this.selected;\n          this.selected = this.defaultSelected;\n          this.requestUpdate(\"selected\", oldValue);\n        }\n      }\n    }\n    super.willUpdate(changedProperties);\n  }\n  updated(changedProperties) {\n    super.updated(changedProperties);\n    if (changedProperties.has(\"disabled\")) {\n      this.setAttribute(\n        \"aria-disabled\",\n        this.disabled ? \"true\" : \"false\"\n      );\n    }\n    if (changedProperties.has(\"selected\")) {\n      this.setAttribute(\n        \"aria-selected\",\n        this.selected ? \"true\" : \"false\"\n      );\n      this.customStates.set(\"selected\", this.selected);\n      this.handleDefaultSlotChange();\n    }\n    if (changedProperties.has(\"value\")) {\n      if (typeof this.value !== \"string\") {\n        this.value = String(this.value);\n      }\n      this.handleDefaultSlotChange();\n    }\n    if (changedProperties.has(\"current\")) {\n      this.customStates.set(\"current\", this.current);\n    }\n  }\n  firstUpdated(changedProperties) {\n    super.firstUpdated(changedProperties);\n    if (this.selected && !this.defaultSelected) {\n      const parent = this.closest(\"pc-select\");\n      if (parent && !parent.hasInteracted) {\n        parent.selectionChanged?.();\n      }\n    }\n  }\n  updateDefaultLabel() {\n    let oldValue = this.defaultLabel;\n    this.defaultLabel = getText(this).trim();\n    let changed = this.defaultLabel !== oldValue;\n    if (!this._label && changed) {\n      this.requestUpdate(\"label\", oldValue);\n    }\n    return changed;\n  }\n  render() {\n    return x`\n            <pc-icon\n                class=\"check\"\n                part=\"checked-icon\"\n                library=\"system\"\n                icon-style=\"solid\"\n                name=\"check\"\n                aria-hidden=\"true\"\n            ></pc-icon>\n            <slot class=\"prefix\" part=\"prefix\" name=\"prefix\"></slot>\n            <slot\n                class=\"label\"\n                part=\"label\"\n                @slotchange=${this.handleDefaultSlotChange}\n            ></slot>\n            <slot class=\"suffix\" part=\"suffix\" name=\"prefix\"></slot>\n        `;\n  }\n};\nPcOption.css = option_default;\n__decorateClass([\n  e5(\".label\")\n], PcOption.prototype, \"defaultSlot\", 2);\n__decorateClass([\n  r5()\n], PcOption.prototype, \"current\", 2);\n__decorateClass([\n  r5()\n], PcOption.prototype, \"defaultLabel\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcOption.prototype, \"value\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcOption.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ type: Boolean, attribute: false })\n], PcOption.prototype, \"selected\", 2);\n__decorateClass([\n  n4({ type: Boolean, attribute: \"selected\" })\n], PcOption.prototype, \"defaultSelected\", 2);\n__decorateClass([\n  n4()\n], PcOption.prototype, \"label\", 1);\nPcOption = __decorateClass([\n  t3(\"pc-option\")\n], PcOption);\n\n// node_modules/qr-creator/dist/qr-creator.es6.min.js\nvar G = null;\nvar H2 = class {\n};\nH2.render = function(w2, B2) {\n  G(w2, B2);\n};\nself.QrCreator = H2;\n(function(w2) {\n  function B2(t7, c4, a3, e10) {\n    var b3 = {}, h3 = w2(a3, c4);\n    h3.u(t7);\n    h3.J();\n    e10 = e10 || 0;\n    var r8 = h3.h(), d3 = h3.h() + 2 * e10;\n    b3.text = t7;\n    b3.level = c4;\n    b3.version = a3;\n    b3.O = d3;\n    b3.a = function(b4, a4) {\n      b4 -= e10;\n      a4 -= e10;\n      return 0 > b4 || b4 >= r8 || 0 > a4 || a4 >= r8 ? false : h3.a(b4, a4);\n    };\n    return b3;\n  }\n  function C2(t7, c4, a3, e10, b3, h3, r8, d3, g2, x2) {\n    function u4(b4, a4, f4, c5, d4, r9, g3) {\n      b4 ? (t7.lineTo(a4 + r9, f4 + g3), t7.arcTo(a4, f4, c5, d4, h3)) : t7.lineTo(a4, f4);\n    }\n    r8 ? t7.moveTo(c4 + h3, a3) : t7.moveTo(c4, a3);\n    u4(d3, e10, a3, e10, b3, -h3, 0);\n    u4(g2, e10, b3, c4, b3, 0, -h3);\n    u4(x2, c4, b3, c4, a3, h3, 0);\n    u4(r8, c4, a3, e10, a3, 0, h3);\n  }\n  function z2(t7, c4, a3, e10, b3, h3, r8, d3, g2, x2) {\n    function u4(b4, a4, c5, d4) {\n      t7.moveTo(b4 + c5, a4);\n      t7.lineTo(\n        b4,\n        a4\n      );\n      t7.lineTo(b4, a4 + d4);\n      t7.arcTo(b4, a4, b4 + c5, a4, h3);\n    }\n    r8 && u4(c4, a3, h3, h3);\n    d3 && u4(e10, a3, -h3, h3);\n    g2 && u4(e10, b3, -h3, -h3);\n    x2 && u4(c4, b3, h3, -h3);\n  }\n  function A2(t7, c4) {\n    var a3 = c4.fill;\n    if (\"string\" === typeof a3) t7.fillStyle = a3;\n    else {\n      var e10 = a3.type, b3 = a3.colorStops;\n      a3 = a3.position.map((b4) => Math.round(b4 * c4.size));\n      if (\"linear-gradient\" === e10) var h3 = t7.createLinearGradient.apply(t7, a3);\n      else if (\"radial-gradient\" === e10) h3 = t7.createRadialGradient.apply(t7, a3);\n      else throw Error(\"Unsupported fill\");\n      b3.forEach(([b4, a4]) => {\n        h3.addColorStop(b4, a4);\n      });\n      t7.fillStyle = h3;\n    }\n  }\n  function y3(t7, c4) {\n    a: {\n      var a3 = c4.text, e10 = c4.v, b3 = c4.N, h3 = c4.K, r8 = c4.P;\n      b3 = Math.max(1, b3 || 1);\n      for (h3 = Math.min(40, h3 || 40); b3 <= h3; b3 += 1) try {\n        var d3 = B2(a3, e10, b3, r8);\n        break a;\n      } catch (J) {\n      }\n      d3 = void 0;\n    }\n    if (!d3) return null;\n    a3 = t7.getContext(\"2d\");\n    c4.background && (a3.fillStyle = c4.background, a3.fillRect(c4.left, c4.top, c4.size, c4.size));\n    e10 = d3.O;\n    h3 = c4.size / e10;\n    a3.beginPath();\n    for (r8 = 0; r8 < e10; r8 += 1) for (b3 = 0; b3 < e10; b3 += 1) {\n      var g2 = a3, x2 = c4.left + b3 * h3, u4 = c4.top + r8 * h3, p3 = r8, q = b3, f4 = d3.a, k2 = x2 + h3, m3 = u4 + h3, D = p3 - 1, E2 = p3 + 1, n6 = q - 1, l4 = q + 1, y4 = Math.floor(Math.min(0.5, Math.max(0, c4.R)) * h3), v3 = f4(p3, q), I2 = f4(D, n6), w3 = f4(D, q);\n      D = f4(D, l4);\n      var F = f4(p3, l4);\n      l4 = f4(E2, l4);\n      q = f4(\n        E2,\n        q\n      );\n      E2 = f4(E2, n6);\n      p3 = f4(p3, n6);\n      x2 = Math.round(x2);\n      u4 = Math.round(u4);\n      k2 = Math.round(k2);\n      m3 = Math.round(m3);\n      v3 ? C2(g2, x2, u4, k2, m3, y4, !w3 && !p3, !w3 && !F, !q && !F, !q && !p3) : z2(g2, x2, u4, k2, m3, y4, w3 && p3 && I2, w3 && F && D, q && F && l4, q && p3 && E2);\n    }\n    A2(a3, c4);\n    a3.fill();\n    return t7;\n  }\n  var v2 = { minVersion: 1, maxVersion: 40, ecLevel: \"L\", left: 0, top: 0, size: 200, fill: \"#000\", background: null, text: \"no text\", radius: 0.5, quiet: 0 };\n  G = function(t7, c4) {\n    var a3 = {};\n    Object.assign(a3, v2, t7);\n    a3.N = a3.minVersion;\n    a3.K = a3.maxVersion;\n    a3.v = a3.ecLevel;\n    a3.left = a3.left;\n    a3.top = a3.top;\n    a3.size = a3.size;\n    a3.fill = a3.fill;\n    a3.background = a3.background;\n    a3.text = a3.text;\n    a3.R = a3.radius;\n    a3.P = a3.quiet;\n    if (c4 instanceof HTMLCanvasElement) {\n      if (c4.width !== a3.size || c4.height !== a3.size) c4.width = a3.size, c4.height = a3.size;\n      c4.getContext(\"2d\").clearRect(0, 0, c4.width, c4.height);\n      y3(c4, a3);\n    } else t7 = document.createElement(\"canvas\"), t7.width = a3.size, t7.height = a3.size, a3 = y3(t7, a3), c4.appendChild(a3);\n  };\n})((function() {\n  function w2(c4) {\n    var a3 = C2.s(c4);\n    return { S: function() {\n      return 4;\n    }, b: function() {\n      return a3.length;\n    }, write: function(c5) {\n      for (var b3 = 0; b3 < a3.length; b3 += 1) c5.put(a3[b3], 8);\n    } };\n  }\n  function B2() {\n    var c4 = [], a3 = 0, e10 = {\n      B: function() {\n        return c4;\n      },\n      c: function(b3) {\n        return 1 == (c4[Math.floor(b3 / 8)] >>> 7 - b3 % 8 & 1);\n      },\n      put: function(b3, h3) {\n        for (var a4 = 0; a4 < h3; a4 += 1) e10.m(1 == (b3 >>> h3 - a4 - 1 & 1));\n      },\n      f: function() {\n        return a3;\n      },\n      m: function(b3) {\n        var h3 = Math.floor(a3 / 8);\n        c4.length <= h3 && c4.push(0);\n        b3 && (c4[h3] |= 128 >>> a3 % 8);\n        a3 += 1;\n      }\n    };\n    return e10;\n  }\n  function C2(c4, a3) {\n    function e10(b4, h4) {\n      for (var a4 = -1; 7 >= a4; a4 += 1) if (!(-1 >= b4 + a4 || d3 <= b4 + a4)) for (var c5 = -1; 7 >= c5; c5 += 1) -1 >= h4 + c5 || d3 <= h4 + c5 || (r8[b4 + a4][h4 + c5] = 0 <= a4 && 6 >= a4 && (0 == c5 || 6 == c5) || 0 <= c5 && 6 >= c5 && (0 == a4 || 6 == a4) || 2 <= a4 && 4 >= a4 && 2 <= c5 && 4 >= c5 ? true : false);\n    }\n    function b3(b4, a4) {\n      for (var f4 = d3 = 4 * c4 + 17, k2 = Array(f4), m3 = 0; m3 < f4; m3 += 1) {\n        k2[m3] = Array(f4);\n        for (var p3 = 0; p3 < f4; p3 += 1) k2[m3][p3] = null;\n      }\n      r8 = k2;\n      e10(0, 0);\n      e10(d3 - 7, 0);\n      e10(0, d3 - 7);\n      f4 = y3.G(c4);\n      for (k2 = 0; k2 < f4.length; k2 += 1) for (m3 = 0; m3 < f4.length; m3 += 1) {\n        p3 = f4[k2];\n        var q = f4[m3];\n        if (null == r8[p3][q]) for (var n6 = -2; 2 >= n6; n6 += 1) for (var l4 = -2; 2 >= l4; l4 += 1) r8[p3 + n6][q + l4] = -2 == n6 || 2 == n6 || -2 == l4 || 2 == l4 || 0 == n6 && 0 == l4;\n      }\n      for (f4 = 8; f4 < d3 - 8; f4 += 1) null == r8[f4][6] && (r8[f4][6] = 0 == f4 % 2);\n      for (f4 = 8; f4 < d3 - 8; f4 += 1) null == r8[6][f4] && (r8[6][f4] = 0 == f4 % 2);\n      f4 = y3.w(h3 << 3 | a4);\n      for (k2 = 0; 15 > k2; k2 += 1) m3 = !b4 && 1 == (f4 >> k2 & 1), r8[6 > k2 ? k2 : 8 > k2 ? k2 + 1 : d3 - 15 + k2][8] = m3, r8[8][8 > k2 ? d3 - k2 - 1 : 9 > k2 ? 15 - k2 : 14 - k2] = m3;\n      r8[d3 - 8][8] = !b4;\n      if (7 <= c4) {\n        f4 = y3.A(c4);\n        for (k2 = 0; 18 > k2; k2 += 1) m3 = !b4 && 1 == (f4 >> k2 & 1), r8[Math.floor(k2 / 3)][k2 % 3 + d3 - 8 - 3] = m3;\n        for (k2 = 0; 18 > k2; k2 += 1) m3 = !b4 && 1 == (f4 >> k2 & 1), r8[k2 % 3 + d3 - 8 - 3][Math.floor(k2 / 3)] = m3;\n      }\n      if (null == g2) {\n        b4 = t7.I(c4, h3);\n        f4 = B2();\n        for (k2 = 0; k2 < x2.length; k2 += 1) m3 = x2[k2], f4.put(4, 4), f4.put(m3.b(), y3.f(4, c4)), m3.write(f4);\n        for (k2 = m3 = 0; k2 < b4.length; k2 += 1) m3 += b4[k2].j;\n        if (f4.f() > 8 * m3) throw Error(\"code length overflow. (\" + f4.f() + \">\" + 8 * m3 + \")\");\n        for (f4.f() + 4 <= 8 * m3 && f4.put(0, 4); 0 != f4.f() % 8; ) f4.m(false);\n        for (; !(f4.f() >= 8 * m3); ) {\n          f4.put(236, 8);\n          if (f4.f() >= 8 * m3) break;\n          f4.put(17, 8);\n        }\n        var u5 = 0;\n        m3 = k2 = 0;\n        p3 = Array(b4.length);\n        q = Array(b4.length);\n        for (n6 = 0; n6 < b4.length; n6 += 1) {\n          var v3 = b4[n6].j, w3 = b4[n6].o - v3;\n          k2 = Math.max(k2, v3);\n          m3 = Math.max(m3, w3);\n          p3[n6] = Array(v3);\n          for (l4 = 0; l4 < p3[n6].length; l4 += 1) p3[n6][l4] = 255 & f4.B()[l4 + u5];\n          u5 += v3;\n          l4 = y3.C(w3);\n          v3 = z2(p3[n6], l4.b() - 1).l(l4);\n          q[n6] = Array(l4.b() - 1);\n          for (l4 = 0; l4 < q[n6].length; l4 += 1) w3 = l4 + v3.b() - q[n6].length, q[n6][l4] = 0 <= w3 ? v3.c(w3) : 0;\n        }\n        for (l4 = f4 = 0; l4 < b4.length; l4 += 1) f4 += b4[l4].o;\n        f4 = Array(f4);\n        for (l4 = u5 = 0; l4 < k2; l4 += 1) for (n6 = 0; n6 < b4.length; n6 += 1) l4 < p3[n6].length && (f4[u5] = p3[n6][l4], u5 += 1);\n        for (l4 = 0; l4 < m3; l4 += 1) for (n6 = 0; n6 < b4.length; n6 += 1) l4 < q[n6].length && (f4[u5] = q[n6][l4], u5 += 1);\n        g2 = f4;\n      }\n      b4 = g2;\n      f4 = -1;\n      k2 = d3 - 1;\n      m3 = 7;\n      p3 = 0;\n      a4 = y3.F(a4);\n      for (q = d3 - 1; 0 < q; q -= 2) for (6 == q && --q; ; ) {\n        for (n6 = 0; 2 > n6; n6 += 1) null == r8[k2][q - n6] && (l4 = false, p3 < b4.length && (l4 = 1 == (b4[p3] >>> m3 & 1)), a4(k2, q - n6) && (l4 = !l4), r8[k2][q - n6] = l4, --m3, -1 == m3 && (p3 += 1, m3 = 7));\n        k2 += f4;\n        if (0 > k2 || d3 <= k2) {\n          k2 -= f4;\n          f4 = -f4;\n          break;\n        }\n      }\n    }\n    var h3 = A2[a3], r8 = null, d3 = 0, g2 = null, x2 = [], u4 = { u: function(b4) {\n      b4 = w2(b4);\n      x2.push(b4);\n      g2 = null;\n    }, a: function(b4, a4) {\n      if (0 > b4 || d3 <= b4 || 0 > a4 || d3 <= a4) throw Error(b4 + \",\" + a4);\n      return r8[b4][a4];\n    }, h: function() {\n      return d3;\n    }, J: function() {\n      for (var a4 = 0, h4 = 0, c5 = 0; 8 > c5; c5 += 1) {\n        b3(true, c5);\n        var d4 = y3.D(u4);\n        if (0 == c5 || a4 > d4) a4 = d4, h4 = c5;\n      }\n      b3(false, h4);\n    } };\n    return u4;\n  }\n  function z2(c4, a3) {\n    if (\"undefined\" == typeof c4.length) throw Error(c4.length + \"/\" + a3);\n    var e10 = (function() {\n      for (var b4 = 0; b4 < c4.length && 0 == c4[b4]; ) b4 += 1;\n      for (var r8 = Array(c4.length - b4 + a3), d3 = 0; d3 < c4.length - b4; d3 += 1) r8[d3] = c4[d3 + b4];\n      return r8;\n    })(), b3 = { c: function(b4) {\n      return e10[b4];\n    }, b: function() {\n      return e10.length;\n    }, multiply: function(a4) {\n      for (var h3 = Array(b3.b() + a4.b() - 1), c5 = 0; c5 < b3.b(); c5 += 1) for (var g2 = 0; g2 < a4.b(); g2 += 1) h3[c5 + g2] ^= v2.i(v2.g(b3.c(c5)) + v2.g(a4.c(g2)));\n      return z2(h3, 0);\n    }, l: function(a4) {\n      if (0 > b3.b() - a4.b()) return b3;\n      for (var c5 = v2.g(b3.c(0)) - v2.g(a4.c(0)), h3 = Array(b3.b()), g2 = 0; g2 < b3.b(); g2 += 1) h3[g2] = b3.c(g2);\n      for (g2 = 0; g2 < a4.b(); g2 += 1) h3[g2] ^= v2.i(v2.g(a4.c(g2)) + c5);\n      return z2(h3, 0).l(a4);\n    } };\n    return b3;\n  }\n  C2.s = function(c4) {\n    for (var a3 = [], e10 = 0; e10 < c4.length; e10++) {\n      var b3 = c4.charCodeAt(e10);\n      128 > b3 ? a3.push(b3) : 2048 > b3 ? a3.push(192 | b3 >> 6, 128 | b3 & 63) : 55296 > b3 || 57344 <= b3 ? a3.push(224 | b3 >> 12, 128 | b3 >> 6 & 63, 128 | b3 & 63) : (e10++, b3 = 65536 + ((b3 & 1023) << 10 | c4.charCodeAt(e10) & 1023), a3.push(240 | b3 >> 18, 128 | b3 >> 12 & 63, 128 | b3 >> 6 & 63, 128 | b3 & 63));\n    }\n    return a3;\n  };\n  var A2 = { L: 1, M: 0, Q: 3, H: 2 }, y3 = /* @__PURE__ */ (function() {\n    function c4(b3) {\n      for (var a4 = 0; 0 != b3; ) a4 += 1, b3 >>>= 1;\n      return a4;\n    }\n    var a3 = [\n      [],\n      [6, 18],\n      [6, 22],\n      [6, 26],\n      [6, 30],\n      [6, 34],\n      [6, 22, 38],\n      [6, 24, 42],\n      [6, 26, 46],\n      [6, 28, 50],\n      [6, 30, 54],\n      [6, 32, 58],\n      [6, 34, 62],\n      [6, 26, 46, 66],\n      [6, 26, 48, 70],\n      [6, 26, 50, 74],\n      [6, 30, 54, 78],\n      [6, 30, 56, 82],\n      [6, 30, 58, 86],\n      [6, 34, 62, 90],\n      [6, 28, 50, 72, 94],\n      [6, 26, 50, 74, 98],\n      [6, 30, 54, 78, 102],\n      [6, 28, 54, 80, 106],\n      [6, 32, 58, 84, 110],\n      [6, 30, 58, 86, 114],\n      [6, 34, 62, 90, 118],\n      [6, 26, 50, 74, 98, 122],\n      [6, 30, 54, 78, 102, 126],\n      [6, 26, 52, 78, 104, 130],\n      [6, 30, 56, 82, 108, 134],\n      [6, 34, 60, 86, 112, 138],\n      [6, 30, 58, 86, 114, 142],\n      [6, 34, 62, 90, 118, 146],\n      [6, 30, 54, 78, 102, 126, 150],\n      [6, 24, 50, 76, 102, 128, 154],\n      [6, 28, 54, 80, 106, 132, 158],\n      [6, 32, 58, 84, 110, 136, 162],\n      [6, 26, 54, 82, 110, 138, 166],\n      [6, 30, 58, 86, 114, 142, 170]\n    ], e10 = { w: function(b3) {\n      for (var a4 = b3 << 10; 0 <= c4(a4) - c4(1335); ) a4 ^= 1335 << c4(a4) - c4(1335);\n      return (b3 << 10 | a4) ^ 21522;\n    }, A: function(b3) {\n      for (var a4 = b3 << 12; 0 <= c4(a4) - c4(7973); ) a4 ^= 7973 << c4(a4) - c4(7973);\n      return b3 << 12 | a4;\n    }, G: function(b3) {\n      return a3[b3 - 1];\n    }, F: function(b3) {\n      switch (b3) {\n        case 0:\n          return function(b4, a4) {\n            return 0 == (b4 + a4) % 2;\n          };\n        case 1:\n          return function(b4) {\n            return 0 == b4 % 2;\n          };\n        case 2:\n          return function(b4, a4) {\n            return 0 == a4 % 3;\n          };\n        case 3:\n          return function(b4, a4) {\n            return 0 == (b4 + a4) % 3;\n          };\n        case 4:\n          return function(b4, a4) {\n            return 0 == (Math.floor(b4 / 2) + Math.floor(a4 / 3)) % 2;\n          };\n        case 5:\n          return function(b4, a4) {\n            return 0 == b4 * a4 % 2 + b4 * a4 % 3;\n          };\n        case 6:\n          return function(b4, a4) {\n            return 0 == (b4 * a4 % 2 + b4 * a4 % 3) % 2;\n          };\n        case 7:\n          return function(b4, a4) {\n            return 0 == (b4 * a4 % 3 + (b4 + a4) % 2) % 2;\n          };\n        default:\n          throw Error(\"bad maskPattern:\" + b3);\n      }\n    }, C: function(b3) {\n      for (var a4 = z2([1], 0), c5 = 0; c5 < b3; c5 += 1) a4 = a4.multiply(z2([1, v2.i(c5)], 0));\n      return a4;\n    }, f: function(b3, a4) {\n      if (4 != b3 || 1 > a4 || 40 < a4) throw Error(\"mode: \" + b3 + \"; type: \" + a4);\n      return 10 > a4 ? 8 : 16;\n    }, D: function(b3) {\n      for (var a4 = b3.h(), c5 = 0, d3 = 0; d3 < a4; d3 += 1) for (var g2 = 0; g2 < a4; g2 += 1) {\n        for (var e11 = 0, t8 = b3.a(d3, g2), p3 = -1; 1 >= p3; p3 += 1) if (!(0 > d3 + p3 || a4 <= d3 + p3)) for (var q = -1; 1 >= q; q += 1) 0 > g2 + q || a4 <= g2 + q || (0 != p3 || 0 != q) && t8 == b3.a(d3 + p3, g2 + q) && (e11 += 1);\n        5 < e11 && (c5 += 3 + e11 - 5);\n      }\n      for (d3 = 0; d3 < a4 - 1; d3 += 1) for (g2 = 0; g2 < a4 - 1; g2 += 1) if (e11 = 0, b3.a(d3, g2) && (e11 += 1), b3.a(d3 + 1, g2) && (e11 += 1), b3.a(d3, g2 + 1) && (e11 += 1), b3.a(d3 + 1, g2 + 1) && (e11 += 1), 0 == e11 || 4 == e11) c5 += 3;\n      for (d3 = 0; d3 < a4; d3 += 1) for (g2 = 0; g2 < a4 - 6; g2 += 1) b3.a(d3, g2) && !b3.a(d3, g2 + 1) && b3.a(d3, g2 + 2) && b3.a(d3, g2 + 3) && b3.a(d3, g2 + 4) && !b3.a(d3, g2 + 5) && b3.a(d3, g2 + 6) && (c5 += 40);\n      for (g2 = 0; g2 < a4; g2 += 1) for (d3 = 0; d3 < a4 - 6; d3 += 1) b3.a(d3, g2) && !b3.a(d3 + 1, g2) && b3.a(d3 + 2, g2) && b3.a(d3 + 3, g2) && b3.a(d3 + 4, g2) && !b3.a(d3 + 5, g2) && b3.a(d3 + 6, g2) && (c5 += 40);\n      for (g2 = e11 = 0; g2 < a4; g2 += 1) for (d3 = 0; d3 < a4; d3 += 1) b3.a(d3, g2) && (e11 += 1);\n      return c5 += Math.abs(100 * e11 / a4 / a4 - 50) / 5 * 10;\n    } };\n    return e10;\n  })(), v2 = (function() {\n    for (var c4 = Array(256), a3 = Array(256), e10 = 0; 8 > e10; e10 += 1) c4[e10] = 1 << e10;\n    for (e10 = 8; 256 > e10; e10 += 1) c4[e10] = c4[e10 - 4] ^ c4[e10 - 5] ^ c4[e10 - 6] ^ c4[e10 - 8];\n    for (e10 = 0; 255 > e10; e10 += 1) a3[c4[e10]] = e10;\n    return { g: function(b3) {\n      if (1 > b3) throw Error(\"glog(\" + b3 + \")\");\n      return a3[b3];\n    }, i: function(b3) {\n      for (; 0 > b3; ) b3 += 255;\n      for (; 256 <= b3; ) b3 -= 255;\n      return c4[b3];\n    } };\n  })(), t7 = /* @__PURE__ */ (function() {\n    function c4(b3, c5) {\n      switch (c5) {\n        case A2.L:\n          return a3[4 * (b3 - 1)];\n        case A2.M:\n          return a3[4 * (b3 - 1) + 1];\n        case A2.Q:\n          return a3[4 * (b3 - 1) + 2];\n        case A2.H:\n          return a3[4 * (b3 - 1) + 3];\n      }\n    }\n    var a3 = [\n      [1, 26, 19],\n      [1, 26, 16],\n      [1, 26, 13],\n      [1, 26, 9],\n      [1, 44, 34],\n      [1, 44, 28],\n      [1, 44, 22],\n      [1, 44, 16],\n      [1, 70, 55],\n      [1, 70, 44],\n      [2, 35, 17],\n      [2, 35, 13],\n      [1, 100, 80],\n      [2, 50, 32],\n      [2, 50, 24],\n      [4, 25, 9],\n      [1, 134, 108],\n      [2, 67, 43],\n      [2, 33, 15, 2, 34, 16],\n      [2, 33, 11, 2, 34, 12],\n      [2, 86, 68],\n      [4, 43, 27],\n      [4, 43, 19],\n      [4, 43, 15],\n      [2, 98, 78],\n      [4, 49, 31],\n      [2, 32, 14, 4, 33, 15],\n      [4, 39, 13, 1, 40, 14],\n      [2, 121, 97],\n      [2, 60, 38, 2, 61, 39],\n      [4, 40, 18, 2, 41, 19],\n      [4, 40, 14, 2, 41, 15],\n      [2, 146, 116],\n      [\n        3,\n        58,\n        36,\n        2,\n        59,\n        37\n      ],\n      [4, 36, 16, 4, 37, 17],\n      [4, 36, 12, 4, 37, 13],\n      [2, 86, 68, 2, 87, 69],\n      [4, 69, 43, 1, 70, 44],\n      [6, 43, 19, 2, 44, 20],\n      [6, 43, 15, 2, 44, 16],\n      [4, 101, 81],\n      [1, 80, 50, 4, 81, 51],\n      [4, 50, 22, 4, 51, 23],\n      [3, 36, 12, 8, 37, 13],\n      [2, 116, 92, 2, 117, 93],\n      [6, 58, 36, 2, 59, 37],\n      [4, 46, 20, 6, 47, 21],\n      [7, 42, 14, 4, 43, 15],\n      [4, 133, 107],\n      [8, 59, 37, 1, 60, 38],\n      [8, 44, 20, 4, 45, 21],\n      [12, 33, 11, 4, 34, 12],\n      [3, 145, 115, 1, 146, 116],\n      [4, 64, 40, 5, 65, 41],\n      [11, 36, 16, 5, 37, 17],\n      [11, 36, 12, 5, 37, 13],\n      [5, 109, 87, 1, 110, 88],\n      [5, 65, 41, 5, 66, 42],\n      [5, 54, 24, 7, 55, 25],\n      [11, 36, 12, 7, 37, 13],\n      [5, 122, 98, 1, 123, 99],\n      [\n        7,\n        73,\n        45,\n        3,\n        74,\n        46\n      ],\n      [15, 43, 19, 2, 44, 20],\n      [3, 45, 15, 13, 46, 16],\n      [1, 135, 107, 5, 136, 108],\n      [10, 74, 46, 1, 75, 47],\n      [1, 50, 22, 15, 51, 23],\n      [2, 42, 14, 17, 43, 15],\n      [5, 150, 120, 1, 151, 121],\n      [9, 69, 43, 4, 70, 44],\n      [17, 50, 22, 1, 51, 23],\n      [2, 42, 14, 19, 43, 15],\n      [3, 141, 113, 4, 142, 114],\n      [3, 70, 44, 11, 71, 45],\n      [17, 47, 21, 4, 48, 22],\n      [9, 39, 13, 16, 40, 14],\n      [3, 135, 107, 5, 136, 108],\n      [3, 67, 41, 13, 68, 42],\n      [15, 54, 24, 5, 55, 25],\n      [15, 43, 15, 10, 44, 16],\n      [4, 144, 116, 4, 145, 117],\n      [17, 68, 42],\n      [17, 50, 22, 6, 51, 23],\n      [19, 46, 16, 6, 47, 17],\n      [2, 139, 111, 7, 140, 112],\n      [17, 74, 46],\n      [7, 54, 24, 16, 55, 25],\n      [34, 37, 13],\n      [\n        4,\n        151,\n        121,\n        5,\n        152,\n        122\n      ],\n      [4, 75, 47, 14, 76, 48],\n      [11, 54, 24, 14, 55, 25],\n      [16, 45, 15, 14, 46, 16],\n      [6, 147, 117, 4, 148, 118],\n      [6, 73, 45, 14, 74, 46],\n      [11, 54, 24, 16, 55, 25],\n      [30, 46, 16, 2, 47, 17],\n      [8, 132, 106, 4, 133, 107],\n      [8, 75, 47, 13, 76, 48],\n      [7, 54, 24, 22, 55, 25],\n      [22, 45, 15, 13, 46, 16],\n      [10, 142, 114, 2, 143, 115],\n      [19, 74, 46, 4, 75, 47],\n      [28, 50, 22, 6, 51, 23],\n      [33, 46, 16, 4, 47, 17],\n      [8, 152, 122, 4, 153, 123],\n      [22, 73, 45, 3, 74, 46],\n      [8, 53, 23, 26, 54, 24],\n      [12, 45, 15, 28, 46, 16],\n      [3, 147, 117, 10, 148, 118],\n      [3, 73, 45, 23, 74, 46],\n      [4, 54, 24, 31, 55, 25],\n      [11, 45, 15, 31, 46, 16],\n      [7, 146, 116, 7, 147, 117],\n      [21, 73, 45, 7, 74, 46],\n      [1, 53, 23, 37, 54, 24],\n      [19, 45, 15, 26, 46, 16],\n      [5, 145, 115, 10, 146, 116],\n      [19, 75, 47, 10, 76, 48],\n      [15, 54, 24, 25, 55, 25],\n      [23, 45, 15, 25, 46, 16],\n      [13, 145, 115, 3, 146, 116],\n      [2, 74, 46, 29, 75, 47],\n      [42, 54, 24, 1, 55, 25],\n      [23, 45, 15, 28, 46, 16],\n      [17, 145, 115],\n      [10, 74, 46, 23, 75, 47],\n      [10, 54, 24, 35, 55, 25],\n      [19, 45, 15, 35, 46, 16],\n      [17, 145, 115, 1, 146, 116],\n      [14, 74, 46, 21, 75, 47],\n      [29, 54, 24, 19, 55, 25],\n      [11, 45, 15, 46, 46, 16],\n      [13, 145, 115, 6, 146, 116],\n      [14, 74, 46, 23, 75, 47],\n      [44, 54, 24, 7, 55, 25],\n      [59, 46, 16, 1, 47, 17],\n      [12, 151, 121, 7, 152, 122],\n      [12, 75, 47, 26, 76, 48],\n      [39, 54, 24, 14, 55, 25],\n      [22, 45, 15, 41, 46, 16],\n      [6, 151, 121, 14, 152, 122],\n      [6, 75, 47, 34, 76, 48],\n      [46, 54, 24, 10, 55, 25],\n      [2, 45, 15, 64, 46, 16],\n      [17, 152, 122, 4, 153, 123],\n      [29, 74, 46, 14, 75, 47],\n      [49, 54, 24, 10, 55, 25],\n      [24, 45, 15, 46, 46, 16],\n      [4, 152, 122, 18, 153, 123],\n      [13, 74, 46, 32, 75, 47],\n      [48, 54, 24, 14, 55, 25],\n      [42, 45, 15, 32, 46, 16],\n      [20, 147, 117, 4, 148, 118],\n      [40, 75, 47, 7, 76, 48],\n      [43, 54, 24, 22, 55, 25],\n      [10, 45, 15, 67, 46, 16],\n      [19, 148, 118, 6, 149, 119],\n      [18, 75, 47, 31, 76, 48],\n      [34, 54, 24, 34, 55, 25],\n      [20, 45, 15, 61, 46, 16]\n    ], e10 = { I: function(b3, a4) {\n      var e11 = c4(b3, a4);\n      if (\"undefined\" == typeof e11) throw Error(\"bad rs block @ typeNumber:\" + b3 + \"/errorCorrectLevel:\" + a4);\n      b3 = e11.length / 3;\n      a4 = [];\n      for (var d3 = 0; d3 < b3; d3 += 1) for (var g2 = e11[3 * d3], h3 = e11[3 * d3 + 1], t8 = e11[3 * d3 + 2], p3 = 0; p3 < g2; p3 += 1) {\n        var q = t8, f4 = {};\n        f4.o = h3;\n        f4.j = q;\n        a4.push(f4);\n      }\n      return a4;\n    } };\n    return e10;\n  })();\n  return C2;\n})());\nvar qr_creator_es6_min_default = QrCreator;\n\n// src/components/qr-code/qr-code.css\nvar qr_code_default = \":host {\\n    display: inline-block;\\n}\\n\";\n\n// src/components/qr-code/qr-code.ts\nvar PcQrCode = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.value = \"\";\n    this.label = \"\";\n    this.size = 128;\n    this.fill = \"black\";\n    this.background = \"white\";\n    this.radius = 0;\n    this.errorCorrection = \"M\";\n  }\n  firstUpdated() {\n    this.generate();\n  }\n  generate() {\n    if (!this.hasUpdated) {\n      return;\n    }\n    qr_creator_es6_min_default.render(\n      {\n        background: this.background,\n        ecLevel: this.errorCorrection,\n        fill: this.fill,\n        radius: this.radius,\n        size: this.size * 2,\n        text: this.value\n      },\n      this.canvas\n    );\n  }\n  render() {\n    return x`\n            <canvas\n                class=\"qr-code\"\n                part=\"base\"\n                role=\"img\"\n                style=${o7({\n      inlineSize: `${this.size}px`,\n      blockSize: `${this.size}px`\n    })}\n                aria-label=${this.label?.length > 0 ? this.label : this.value}\n            ></canvas>\n        `;\n  }\n};\nPcQrCode.css = qr_code_default;\n__decorateClass([\n  e5(\"canvas\")\n], PcQrCode.prototype, \"canvas\", 2);\n__decorateClass([\n  n4()\n], PcQrCode.prototype, \"value\", 2);\n__decorateClass([\n  n4()\n], PcQrCode.prototype, \"label\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcQrCode.prototype, \"size\", 2);\n__decorateClass([\n  n4()\n], PcQrCode.prototype, \"fill\", 2);\n__decorateClass([\n  n4()\n], PcQrCode.prototype, \"background\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcQrCode.prototype, \"radius\", 2);\n__decorateClass([\n  n4({ attribute: \"error-correction\" })\n], PcQrCode.prototype, \"errorCorrection\", 2);\n__decorateClass([\n  watch([\"background\", \"errorCorrection\", \"fill\", \"radius\", \"size\", \"value\"])\n], PcQrCode.prototype, \"generate\", 1);\nPcQrCode = __decorateClass([\n  t3(\"pc-qr-code\")\n], PcQrCode);\n\n// src/components/radio/radio.css\nvar radio_default = ':host {\\n    display: inline-block;\\n}\\n\\n:host(:focus-visible) {\\n    outline: 0;\\n}\\n\\n.radio {\\n    display: inline-flex;\\n    align-items: flex-start;\\n    position: relative;\\n    font-family: var(--pc-font-sans);\\n    font-size: inherit;\\n    font-weight: var(--pc-form-control-value-font-weight);\\n    line-height: var(--pc-form-control-value-line-height);\\n    vertical-align: middle;\\n    cursor: pointer;\\n}\\n\\n.control {\\n    display: inline-flex;\\n    position: relative;\\n    align-items: center;\\n    justify-content: center;\\n    flex: 0 0 auto;\\n    inline-size: var(--pc-form-control-toggle-size);\\n    block-size: var(--pc-form-control-toggle-size);\\n    background-color: transparent;\\n    color: var(--pc-color-surface-default);\\n    border: var(--pc-form-control-border-width) var(--pc-border-style)\\n        var(--pc-form-control-border-color);\\n    border-radius: var(--pc-border-radius-circle);\\n    font-size: inherit;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n.control svg {\\n    display: inline-flex;\\n    inline-size: var(--pc-form-control-toggle-size);\\n    block-size: var(--pc-form-control-toggle-size);\\n    font-size: inherit;\\n    scale: 0.8;\\n    opacity: 0;\\n    visibility: hidden;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n.checked .control svg {\\n    opacity: 1;\\n    visibility: visible;\\n}\\n\\n@media (hover: hover) {\\n    .radio:not(.checked):not(.disabled) .control:hover {\\n        border-color: color-mix(\\n            in oklab,\\n            var(--pc-form-control-border-color),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n.radio:not(.checked):not(.disabled) .control:focus-visible {\\n    border-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-border-color),\\n        var(--pc-color-mix-hover)\\n    );\\n}\\n\\n.radio:not(.checked):not(.disabled) .control:active {\\n    border-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-border-color),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n:host(:focus-visible) .control {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.checked .control {\\n    background-color: var(--pc-form-control-activated-color);\\n    border-color: var(--pc-form-control-activated-color);\\n}\\n\\n@media (hover: hover) {\\n    .radio.checked:not(.disabled) .control:hover {\\n        background-color: var(--pc-form-control-activated-color);\\n        border-color: var(--pc-form-control-activated-color);\\n    }\\n}\\n\\n.radio.checked:not(.disabled) .control:focus-visible {\\n    background-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-activated-color),\\n        var(--pc-color-mix-hover)\\n    );\\n    border-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-activated-color),\\n        var(--pc-color-mix-hover)\\n    );\\n}\\n\\n.radio.checked:not(.disabled) .control:active {\\n    background-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-activated-color),\\n        var(--pc-color-mix-active)\\n    );\\n    border-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-activated-color),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n.disabled {\\n    opacity: 0.5;\\n    cursor: not-allowed;\\n}\\n\\n[part~=\"label\"] {\\n    display: inline-block;\\n    margin-inline-start: 0.5em !important;\\n}\\n\\n/* If the radio isn\\u2019t checked, hide the circle icon in High Contrast mode on Windows */\\n.radio:not(.checked) svg {\\n    opacity: 0;\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n';\n\n// src/components/radio/radio.ts\nvar PcRadio = class extends PlacerFormAssociatedElement {\n  constructor() {\n    super();\n    this.checked = false;\n    this.forceDisabled = false;\n    this.size = \"medium\";\n    this.disabled = false;\n    this.handleClick = () => {\n      if (!this.disabled && !this.checked) {\n        this.checked = true;\n      }\n    };\n    this.addEventListener(\"click\", this.handleClick);\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.setInitialAttributes();\n  }\n  setInitialAttributes() {\n    this.setAttribute(\"role\", \"radio\");\n    this.setAttribute(\"tabindex\", \"-1\");\n    this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n  }\n  updated(changedProperties) {\n    super.updated(changedProperties);\n    if (changedProperties.has(\"checked\")) {\n      this.customStates.set(\"checked\", this.checked);\n      this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n      if (!this.disabled && !this.forceDisabled) {\n        this.tabIndex = this.checked ? 0 : -1;\n      }\n    }\n    if (changedProperties.has(\"disabled\") || changedProperties.has(\"forceDisabled\")) {\n      const effectivelyDisabled = this.disabled || this.forceDisabled;\n      this.customStates.set(\"disabled\", effectivelyDisabled);\n      this.setAttribute(\n        \"aria-disabled\",\n        effectivelyDisabled ? \"true\" : \"false\"\n      );\n      if (effectivelyDisabled) {\n        this.tabIndex = -1;\n      } else {\n        this.tabIndex = this.checked ? 0 : -1;\n      }\n    }\n  }\n  /** @override */\n  setValue() {\n  }\n  render() {\n    return x`\n            <span\n                part=\"base\"\n                class=${e7({\n      radio: true,\n      checked: this.checked,\n      disabled: this.disabled\n    })}\n            >\n                <span\n                    class=\"control\"\n                    part=\"${`control ${this.checked ? \"control-checked\" : \"\"}`}\"\n                >\n                    <svg\n                        xmlns=\"http://www.w3.org/2000/svg\"\n                        class=\"checked-icon\"\n                        part=\"checked-icon\"\n                        viewBox=\"0 0 16 16\"\n                    >\n                        <circle cx=\"8\" cy=\"8\" r=\"4.5\" fill=\"currentColor\" />\n                    </svg>\n                </span>\n\n                <slot class=\"label\" part=\"label\"></slot>\n            </span>\n        `;\n  }\n};\nPcRadio.css = [form_control_default, size_default, radio_default];\n__decorateClass([\n  r5()\n], PcRadio.prototype, \"checked\", 2);\n__decorateClass([\n  r5()\n], PcRadio.prototype, \"forceDisabled\", 2);\n__decorateClass([\n  n4()\n], PcRadio.prototype, \"value\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcRadio.prototype, \"size\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcRadio.prototype, \"disabled\", 2);\nPcRadio = __decorateClass([\n  t3(\"pc-radio\")\n], PcRadio);\n\n// src/styles/utilities/visually-hidden.css\nvar visually_hidden_default = \"@layer pc-utilities {\\n    .pc-visually-hidden:not(:focus-within),\\n    .pc-visually-hidden-force {\\n        position: absolute !important;\\n        margin: -1px !important;\\n        padding: 0 !important;\\n        inline-size: 1px !important;\\n        block-size: 1px !important;\\n        width: 1px !important;\\n        height: 1px !important;\\n        clip-path: inset(50%) !important;\\n        border: none !important;\\n        overflow: hidden !important;\\n        white-space: nowrap !important;\\n    }\\n}\\n\";\n\n// src/components/radio-group/radio-group.css\nvar radio_group_default = \":host {\\n    display: block;\\n}\\n\\n.form-control {\\n    position: relative;\\n    margin: 0;\\n    padding: 0;\\n    border: none;\\n}\\n\\n.input {\\n    display: flex;\\n    flex-direction: column;\\n}\\n\\n.form-control .label,\\n.form-control .hint {\\n    display: none;\\n}\\n\\n.has-label .label {\\n    display: inline-block;\\n    margin-block-end: var(--pc-spacing-xs);\\n    padding: 0;\\n    color: var(--pc-input-label-color);\\n    line-height: var(--pc-line-height-normal);\\n    transition: color var(--pc-transition-fast) ease-in-out;\\n}\\n\\n:host([required]) .label::after {\\n    content: var(--pc-input-required-content);\\n    margin-inline-start: var(--pc-input-required-content-offset);\\n    color: var(--pc-input-required-content-color);\\n}\\n\\n.has-hint .hint {\\n    margin-block-start: var(--pc-spacing-xs);\\n    color: var(--pc-input-hint-color);\\n    font-family: var(--pc-input-font-family);\\n}\\n\";\n\n// src/components/radio-group/radio-group.ts\nvar PcRadioGroup = class extends PlacerFormAssociatedElement {\n  constructor() {\n    super();\n    this.hasSlotController = new HasSlotController(\n      this,\n      \"hint\",\n      \"label\"\n    );\n    this.label = \"\";\n    this.hint = \"\";\n    this.name = null;\n    this._value = null;\n    this.defaultValue = this.getAttribute(\"value\") || null;\n    this.size = \"medium\";\n    this.required = false;\n    this.handleRadioClick = (event) => {\n      const clickedRadio = event.target.closest(\n        \"pc-radio\"\n      );\n      if (!clickedRadio || clickedRadio.disabled || clickedRadio.forceDisabled || this.disabled) {\n        return;\n      }\n      const oldValue = this.value;\n      this.value = clickedRadio.value ?? null;\n      clickedRadio.checked = true;\n      const radios = this.getAllRadios();\n      for (const radio of radios) {\n        if (clickedRadio === radio) {\n          continue;\n        }\n        radio.checked = false;\n        radio.setAttribute(\"tabindex\", \"-1\");\n      }\n      if (this.value !== oldValue) {\n        this.updateComplete.then(() => {\n          this.dispatchEvent(\n            new Event(\"change\", { bubbles: true, composed: true })\n          );\n          this.dispatchEvent(\n            new InputEvent(\"input\", { bubbles: true, composed: true })\n          );\n        });\n      }\n    };\n    this.addEventListener(\"click\", this.handleRadioClick);\n    this.addEventListener(\"keydown\", this.handleKeyDown);\n  }\n  static get validators() {\n    const validators = [\n      RequiredValidator({\n        validationElement: Object.assign(\n          document.createElement(\"input\"),\n          {\n            required: true,\n            type: \"radio\",\n            name: uniqueID(\"__pc-radio\")\n          }\n        )\n      })\n    ];\n    return [...super.validators, ...validators];\n  }\n  get value() {\n    if (this.valueHasChanged) {\n      return this._value;\n    }\n    return this._value ?? this.defaultValue;\n  }\n  set value(value) {\n    if (typeof value === \"number\") {\n      value = String(value);\n    }\n    this.valueHasChanged = true;\n    this._value = value;\n  }\n  /** We use the first available radio as the `validationTarget` similar to native HTML that shows the validation popup on the first radio element. */\n  get validationTarget() {\n    const radio = this.querySelector(\n      \":is(pc-radio):not([disabled])\"\n    );\n    if (!radio) {\n      return void 0;\n    }\n    return radio;\n  }\n  updated(changedProperties) {\n    if (changedProperties.has(\"disabled\") || changedProperties.has(\"size\") || changedProperties.has(\"value\")) {\n      this.syncRadioElements();\n    }\n  }\n  formResetCallback(...args) {\n    this.value = this.defaultValue;\n    super.formResetCallback(...args);\n    this.syncRadioElements();\n  }\n  getAllRadios() {\n    return [...this.querySelectorAll(\"pc-radio\")];\n  }\n  handleLabelClick() {\n    this.focus();\n  }\n  async syncRadioElements() {\n    const radios = this.getAllRadios();\n    await Promise.all(\n      radios.map(async (radio) => {\n        await radio.updateComplete;\n        if (!radio.disabled && radio.value === this.value) {\n          radio.checked = true;\n        } else {\n          radio.checked = false;\n        }\n      })\n    );\n    if (this.disabled) {\n      radios.forEach((radio) => {\n        radio.tabIndex = -1;\n      });\n    } else {\n      const enabledRadios = radios.filter((radio) => !radio.disabled);\n      const checkedRadio = enabledRadios.find((radio) => radio.checked);\n      if (enabledRadios.length > 0) {\n        if (checkedRadio) {\n          enabledRadios.forEach((radio) => {\n            radio.tabIndex = radio.checked ? 0 : -1;\n          });\n        } else {\n          enabledRadios.forEach((radio, index) => {\n            radio.tabIndex = index === 0 ? 0 : -1;\n          });\n        }\n      }\n      radios.filter((radio) => radio.disabled).forEach((radio) => {\n        radio.tabIndex = -1;\n      });\n    }\n  }\n  handleKeyDown(event) {\n    if (![\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\", \" \"].includes(\n      event.key\n    ) || this.disabled) {\n      return;\n    }\n    const radios = this.getAllRadios().filter((radio) => !radio.disabled);\n    if (radios.length <= 0) {\n      return;\n    }\n    event.preventDefault();\n    const oldValue = this.value;\n    const checkedRadio = radios.find((radio) => radio.checked) ?? radios[0];\n    const increment = event.key === \" \" ? 0 : [\"ArrowUp\", \"ArrowLeft\"].includes(event.key) ? -1 : 1;\n    let index = radios.indexOf(checkedRadio) + increment;\n    if (!index) index = 0;\n    if (index < 0) {\n      index = radios.length - 1;\n    }\n    if (index > radios.length - 1) {\n      index = 0;\n    }\n    this.getAllRadios().forEach((radio) => {\n      radio.checked = false;\n      radio.setAttribute(\"tabindex\", \"-1\");\n    });\n    this.value = radios[index].value ?? null;\n    radios[index].checked = true;\n    radios[index].setAttribute(\"tabindex\", \"0\");\n    radios[index].focus();\n    if (this.value !== oldValue) {\n      this.updateComplete.then(() => {\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n        this.dispatchEvent(\n          new Event(\"change\", { bubbles: true, composed: true })\n        );\n      });\n    }\n    event.preventDefault();\n  }\n  syncRadios() {\n    if (customElements.get(\"pc-radio\")) {\n      this.syncRadioElements();\n      return;\n    }\n    if (customElements.get(\"pc-radio\")) {\n      this.syncRadioElements();\n    } else {\n      customElements.whenDefined(\"pc-radio\").then(() => this.syncRadios());\n    }\n  }\n  /** Sets focus on the radio group. */\n  focus(options) {\n    if (this.disabled) {\n      return;\n    }\n    const radios = this.getAllRadios();\n    const checked = radios.find((radio) => radio.checked);\n    const firstEnabledRadio = radios.find((radio) => !radio.disabled);\n    const radioToFocus = checked || firstEnabledRadio;\n    if (radioToFocus) {\n      radioToFocus.focus(options);\n    }\n  }\n  render() {\n    const hasLabelSlot = this.hasSlotController.test(\"label\");\n    const hasHintSlot = this.hasSlotController.test(\"hint\");\n    const hasLabel = this.label ? true : !!hasLabelSlot;\n    const hasHint = this.hint ? true : !!hasHintSlot;\n    return x`\n            <fieldset\n                part=\"form-control\"\n                class=${e7({\n      \"form-control\": true,\n      \"radio-group\": true,\n      \"has-label\": hasLabel,\n      \"has-hint\": hasHint\n    })}\n                role=\"radiogroup\"\n                aria-labelledby=\"label\"\n                aria-describedby=\"hint\"\n                aria-errormessage=\"error-message\"\n            >\n                <label\n                    class=\"label\"\n                    part=\"label\"\n                    id=\"label\"\n                    aria-hidden=${hasLabel ? \"false\" : \"true\"}\n                    @click=${this.handleLabelClick}\n                >\n                    <slot name=\"label\">${this.label}</slot>\n                </label>\n\n                <slot\n                    part=\"input\"\n                    class=\"input\"\n                    @slotchange=${this.syncRadios}\n                    @click=${this.handleRadioClick}\n                    @keydown=${this.handleKeyDown}\n                ></slot>\n\n                <slot\n                    class=${e7({ \"has-hint\": hasHint })}\n                    part=\"hint\"\n                    id=\"hint\"\n                    name=\"hint\"\n                    aria-hidden=${hasHint ? \"false\" : \"true\"}\n                >\n                    ${this.hint}\n                </slot>\n            </fieldset>\n        `;\n  }\n};\nPcRadioGroup.shadowRootOptions = {\n  ...PlacerFormAssociatedElement.shadowRootOptions,\n  delegatesFocus: true\n};\nPcRadioGroup.css = [form_control_default, size_default, visually_hidden_default, radio_group_default];\n__decorateClass([\n  e5(\"slot:not([name])\")\n], PcRadioGroup.prototype, \"defaultSlot\", 2);\n__decorateClass([\n  n4()\n], PcRadioGroup.prototype, \"label\", 2);\n__decorateClass([\n  n4()\n], PcRadioGroup.prototype, \"hint\", 2);\n__decorateClass([\n  n4()\n], PcRadioGroup.prototype, \"name\", 2);\n__decorateClass([\n  r5()\n], PcRadioGroup.prototype, \"value\", 1);\n__decorateClass([\n  n4({ attribute: \"value\", reflect: true })\n], PcRadioGroup.prototype, \"defaultValue\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcRadioGroup.prototype, \"size\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcRadioGroup.prototype, \"required\", 2);\nPcRadioGroup = __decorateClass([\n  t3(\"pc-radio-group\")\n], PcRadioGroup);\n\n// node_modules/lit-html/directives/unsafe-html.js\nvar e9 = class extends i5 {\n  constructor(i8) {\n    if (super(i8), this.it = E, i8.type !== t5.CHILD) throw Error(this.constructor.directiveName + \"() can only be used in child bindings\");\n  }\n  render(r8) {\n    if (r8 === E || null == r8) return this._t = void 0, this.it = r8;\n    if (r8 === T) return r8;\n    if (\"string\" != typeof r8) throw Error(this.constructor.directiveName + \"() called with a non-string value\");\n    if (r8 === this.it) return this._t;\n    this.it = r8;\n    const s4 = [r8];\n    return s4.raw = s4, this._t = { _$litType$: this.constructor.resultType, strings: s4, values: [] };\n  }\n};\ne9.directiveName = \"unsafeHTML\", e9.resultType = 1;\nvar o8 = e6(e9);\n\n// src/events/pc-hover.ts\nvar PcHoverEvent = class extends Event {\n  constructor(detail) {\n    super(\"pc-hover\", { bubbles: true, cancelable: false, composed: true });\n    this.detail = detail;\n  }\n};\n\n// src/components/rating/rating.css\nvar rating_default = \":host {\\n    --icon-color: var(--pc-color-neutral-border-loud);\\n    --icon-color-active: var(--pc-color-warning-fill-loud);\\n    --icon-size: 1.2rem;\\n\\n    display: inline-flex;\\n}\\n\\n.rating {\\n    position: relative;\\n    display: inline-flex;\\n    border-radius: var(--pc-border-radius-m);\\n    vertical-align: middle;\\n}\\n\\n.rating:focus {\\n    outline: none;\\n}\\n\\n.rating:focus-visible {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.rating-icons {\\n    display: inline-flex;\\n    position: relative;\\n    font-size: var(--icon-size);\\n    line-height: 0;\\n    color: var(--icon-color);\\n    white-space: nowrap;\\n    cursor: pointer;\\n}\\n\\n.rating-icons > * {\\n    padding: 0.125em;\\n}\\n\\n.rating-icon-active,\\n.rating-partial-filled {\\n    color: var(--icon-color-active);\\n}\\n\\n.rating-partial-icon-container {\\n    position: relative;\\n}\\n\\n.rating-partial-filled {\\n    position: absolute;\\n    inset-block-start: 0.125em;\\n    inset-inline-start: 0.125em;\\n}\\n\\n.rating-icon {\\n    pointer-events: none;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n.rating-icon pc-icon::part(svg) {\\n    overflow: visible;\\n}\\n\\n.rating-icon-hover {\\n    scale: 1.15;\\n}\\n\\n.disabled .rating-icons,\\n.readonly .rating-icons {\\n    cursor: default;\\n}\\n\\n.disabled .rating-icon-hover,\\n.readonly .rating-icon-hover {\\n    scale: none;\\n}\\n\\n.disabled {\\n    opacity: 0.5;\\n}\\n\\n.disabled .rating-icons {\\n    cursor: not-allowed;\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n\\n@media (forced-colors: active) {\\n    .rating-icon-active {\\n        color: SelectedItem;\\n    }\\n}\\n\";\n\n// src/components/rating/rating.ts\nvar PcRating = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n    this.hoverValue = 0;\n    this.isHovering = false;\n    this.label = \"\";\n    this.value = 0;\n    this.max = 5;\n    this.precision = 1;\n    this.readonly = false;\n    this.disabled = false;\n    this.getIcon = (_value, isSelected) => {\n      return isSelected ? `\n                <pc-icon library=\"system\" icon-style=\"solid\" name=\"star\"></pc-icon>\n            ` : `\n                <pc-icon library=\"system\" icon-style=\"regular\" name=\"star\"></pc-icon>\n            `;\n    };\n  }\n  getValueFromMousePosition(event) {\n    return this.getValueFromXCoordinate(event.clientX);\n  }\n  getValueFromTouchPosition(event) {\n    return this.getValueFromXCoordinate(event.touches[0].clientX);\n  }\n  getValueFromXCoordinate(coordinate) {\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    const { left, right, width } = this.rating.getBoundingClientRect();\n    const value = isRTL2 ? this.roundToPrecision(\n      (right - coordinate) / width * this.max,\n      this.precision\n    ) : this.roundToPrecision(\n      (coordinate - left) / width * this.max,\n      this.precision\n    );\n    return clamp(value, 0, this.max);\n  }\n  handleClick(event) {\n    if (this.disabled) {\n      return;\n    }\n    this.setValue(this.getValueFromMousePosition(event));\n    this.updateComplete.then(() => {\n      this.dispatchEvent(\n        new Event(\"change\", { bubbles: true, composed: true })\n      );\n    });\n  }\n  setValue(newValue) {\n    if (this.disabled || this.readonly) {\n      return;\n    }\n    this.value = newValue === this.value ? 0 : newValue;\n    this.isHovering = false;\n  }\n  handleKeyDown(event) {\n    const isLTR = this.localize.dir() === \"ltr\";\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    const oldValue = this.value;\n    if (this.disabled || this.readonly) {\n      return;\n    }\n    if (event.key === \"ArrowDown\" || isLTR && event.key === \"ArrowLeft\" || isRTL2 && event.key === \"ArrowRight\") {\n      const decrement = event.shiftKey ? 1 : this.precision;\n      this.value = Math.max(0, this.value - decrement);\n      event.preventDefault();\n    }\n    if (event.key === \"ArrowUp\" || isLTR && event.key === \"ArrowRight\" || isRTL2 && event.key === \"ArrowLeft\") {\n      const increment = event.shiftKey ? 1 : this.precision;\n      this.value = Math.min(this.max, this.value + increment);\n      event.preventDefault();\n    }\n    if (event.key === \"Home\") {\n      this.value = 0;\n      event.preventDefault();\n    }\n    if (event.key === \"End\") {\n      this.value = this.max;\n      event.preventDefault();\n    }\n    if (this.value !== oldValue) {\n      this.updateComplete.then(() => {\n        this.dispatchEvent(\n          new Event(\"change\", { bubbles: true, composed: true })\n        );\n      });\n    }\n  }\n  handleMouseEnter(event) {\n    this.isHovering = true;\n    this.hoverValue = this.getValueFromMousePosition(event);\n  }\n  handleMouseMove(event) {\n    this.hoverValue = this.getValueFromMousePosition(event);\n  }\n  handleMouseLeave() {\n    this.isHovering = false;\n  }\n  handleTouchStart(event) {\n    this.isHovering = true;\n    this.hoverValue = this.getValueFromTouchPosition(event);\n    event.preventDefault();\n  }\n  handleTouchMove(event) {\n    this.hoverValue = this.getValueFromTouchPosition(event);\n  }\n  handleTouchEnd(event) {\n    this.isHovering = false;\n    this.setValue(this.hoverValue);\n    this.dispatchEvent(\n      new Event(\"change\", { bubbles: true, composed: true })\n    );\n    event.preventDefault();\n  }\n  roundToPrecision(numberToRound, precision = 0.5) {\n    const multiplier = 1 / precision;\n    return Math.ceil(numberToRound * multiplier) / multiplier;\n  }\n  handleHoverValueChange() {\n    this.dispatchEvent(\n      new PcHoverEvent({ phase: \"move\", value: this.hoverValue })\n    );\n  }\n  handleIsHoveringChange() {\n    this.dispatchEvent(\n      new PcHoverEvent({\n        phase: this.isHovering ? \"start\" : \"end\",\n        value: this.hoverValue\n      })\n    );\n  }\n  /** Focuses the rating. */\n  focus(options) {\n    this.rating.focus(options);\n  }\n  /** Unfocuses the rating (i.e., blurs it). */\n  blur() {\n    this.rating.blur();\n  }\n  render() {\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    const counter = Array.from(Array(this.max).keys());\n    let displayValue = 0;\n    if (this.disabled || this.readonly) {\n      displayValue = this.value;\n    } else {\n      displayValue = this.isHovering ? this.hoverValue : this.value;\n    }\n    return x`\n            <div\n                part=\"base\"\n                class=${e7({\n      \"rating\": true,\n      \"readonly\": this.readonly,\n      \"disabled\": this.disabled,\n      \"is-rtl\": isRTL2\n    })}\n                role=\"slider\"\n                aria-label=${this.label}\n                aria-disabled=${this.disabled ? \"true\" : \"false\"}\n                aria-readonly=${this.readonly ? \"true\" : \"false\"}\n                aria-valuenow=${this.value}\n                aria-valuemin=${0}\n                aria-valuemax=${this.max}\n                tabindex=${this.disabled || this.readonly ? \"-1\" : \"0\"}\n                @click=${this.handleClick}\n                @keydown=${this.handleKeyDown}\n                @mouseenter=${this.handleMouseEnter}\n                @touchstart=${this.handleTouchStart}\n                @mouseleave=${this.handleMouseLeave}\n                @touchend=${this.handleTouchEnd}\n                @mousemove=${this.handleMouseMove}\n                @touchmove=${this.handleTouchMove}\n            >\n                <span class=\"rating-icons\">\n                    ${counter.map((index) => {\n      const isSelected = displayValue >= index + 1;\n      if (displayValue > index && displayValue < index + 1) {\n        return x`\n                                <span\n                                    class=${e7({\n          \"rating-icon\": true,\n          \"rating-partial-icon-container\": true,\n          \"rating-icon-hover\": this.isHovering && Math.ceil(displayValue) === index + 1\n        })}\n                                    role=\"presentation\"\n                                >\n                                    <div\n                                        style=${o7({\n          clipPath: isRTL2 ? `inset(0 ${(displayValue - index) * 100}% 0 0)` : `inset(0 0 0 ${(displayValue - index) * 100}%)`\n        })}\n                                    >\n                                        ${o8(\n          this.getIcon(index + 1, false)\n        )}\n                                    </div>\n                                    <div\n                                        class=\"rating-partial-filled\"\n                                        style=${o7({\n          clipPath: isRTL2 ? `inset(0 0 0 ${100 - (displayValue - index) * 100}%)` : `inset(0 ${100 - (displayValue - index) * 100}% 0 0)`\n        })}\n                                    >\n                                        ${o8(\n          this.getIcon(index + 1, true)\n        )}\n                                    </div>\n                                </span>\n                            `;\n      }\n      return x`\n                            <span\n                                class=${e7({\n        \"rating-icon\": true,\n        \"rating-icon-hover\": this.isHovering && Math.ceil(displayValue) === index + 1,\n        \"rating-icon-active\": displayValue >= index + 1\n      })}\n                                role=\"presentation\"\n                            >\n                                ${o8(\n        this.getIcon(index + 1, isSelected)\n      )}\n                            </span>\n                        `;\n    })}\n                </span>\n            </div>\n        `;\n  }\n};\nPcRating.css = rating_default;\n__decorateClass([\n  e5(\".rating\")\n], PcRating.prototype, \"rating\", 2);\n__decorateClass([\n  r5()\n], PcRating.prototype, \"hoverValue\", 2);\n__decorateClass([\n  r5()\n], PcRating.prototype, \"isHovering\", 2);\n__decorateClass([\n  n4()\n], PcRating.prototype, \"label\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcRating.prototype, \"value\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcRating.prototype, \"max\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcRating.prototype, \"precision\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcRating.prototype, \"readonly\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcRating.prototype, \"disabled\", 2);\n__decorateClass([\n  n4()\n], PcRating.prototype, \"getIcon\", 2);\n__decorateClass([\n  t4({ passive: true })\n], PcRating.prototype, \"handleTouchMove\", 1);\n__decorateClass([\n  watch(\"hoverValue\")\n], PcRating.prototype, \"handleHoverValueChange\", 1);\n__decorateClass([\n  watch(\"isHovering\")\n], PcRating.prototype, \"handleIsHoveringChange\", 1);\nPcRating = __decorateClass([\n  t3(\"pc-rating\")\n], PcRating);\n\n// src/events/pc-resize.ts\nvar PcResizeEvent = class extends Event {\n  constructor(detail) {\n    super(\"pc-resize\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n    this.detail = detail;\n  }\n};\n\n// src/components/resize-observer/resize-observer.css\nvar resize_observer_default = \":host {\\n    display: contents;\\n}\\n\";\n\n// src/components/resize-observer/resize-observer.ts\nvar PcResizeObserver = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.observedElements = [];\n    this.disabled = false;\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.resizeObserver = new ResizeObserver(\n      (entries) => {\n        this.dispatchEvent(new PcResizeEvent({ entries }));\n      }\n    );\n    if (!this.disabled) {\n      this.startObserver();\n    }\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this.stopObserver();\n  }\n  handleSlotChange() {\n    if (!this.disabled) {\n      this.startObserver();\n    }\n  }\n  startObserver() {\n    const slot = this.shadowRoot.querySelector(\"slot\");\n    if (slot !== null) {\n      const elements = slot.assignedElements({\n        flatten: true\n      });\n      this.observedElements.forEach(\n        (element) => this.resizeObserver.unobserve(element)\n      );\n      this.observedElements = [];\n      elements.forEach((element) => {\n        this.resizeObserver.observe(element);\n        this.observedElements.push(element);\n      });\n    }\n  }\n  stopObserver() {\n    this.resizeObserver.disconnect();\n  }\n  handleDisabledChange() {\n    if (this.disabled) {\n      this.stopObserver();\n    } else {\n      this.startObserver();\n    }\n  }\n  render() {\n    return x`<slot @slotchange=${this.handleSlotChange}></slot>`;\n  }\n};\nPcResizeObserver.css = resize_observer_default;\n__decorateClass([\n  n4({ type: Boolean })\n], PcResizeObserver.prototype, \"disabled\", 2);\n__decorateClass([\n  watch(\"disabled\", { waitUntilFirstUpdate: true })\n], PcResizeObserver.prototype, \"handleDisabledChange\", 1);\nPcResizeObserver = __decorateClass([\n  t3(\"pc-resize-observer\")\n], PcResizeObserver);\n\n// src/components/scroller/scroller.css\nvar scroller_default = ':host {\\n    --shadow-color: var(--pc-color-surface-default);\\n    --shadow-size: 2rem;\\n\\n    /* These custom properties shouldn\\u2019t be accessed out of this scope. */\\n    --start-shadow-opacity: 0;\\n    --end-shadow-opacity: 0;\\n\\n    display: block;\\n    position: relative;\\n    max-inline-size: 100%;\\n    isolation: isolate;\\n}\\n\\n:host([orientation=\"vertical\"]) {\\n    display: flex;\\n    flex-direction: column;\\n    block-size: 100%;\\n}\\n\\n#content {\\n    border-radius: inherit;\\n    scroll-behavior: smooth;\\n    scrollbar-width: thin;\\n    scrollbar-color: var(--pc-color-neutral-border-normal) transparent;\\n    -webkit-text-size-adjust: 100%;\\n    z-index: 1;\\n}\\n\\n#content:focus {\\n    outline: none;\\n}\\n\\n#content:focus-visible {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n:host([no-scrollbar]) #content {\\n    scrollbar-width: none;\\n}\\n\\n:host([orientation=\"horizontal\"]) #content {\\n    overflow-x: auto;\\n    overflow-y: hidden;\\n}\\n\\n:host([orientation=\"vertical\"]) #content {\\n    flex: 1 1 auto;\\n    min-block-size: 0;\\n    overflow-x: hidden;\\n    overflow-y: auto;\\n}\\n\\n:host([orientation=\"horizontal\"]) {\\n    #start-shadow,\\n    #end-shadow {\\n        position: absolute;\\n        inset-block: 0;\\n        inline-size: var(--shadow-size);\\n        pointer-events: none;\\n        z-index: 2;\\n    }\\n\\n    #start-shadow {\\n        opacity: var(--start-shadow-opacity);\\n\\n        &:dir(ltr) {\\n            inset-inline-start: 0;\\n            background-image: linear-gradient(\\n                to right,\\n                var(--shadow-color),\\n                transparent 100%\\n            );\\n        }\\n\\n        &:dir(rtl) {\\n            inset-inline-end: 0;\\n            background-image: linear-gradient(\\n                to left,\\n                var(--shadow-color),\\n                transparent 100%\\n            );\\n        }\\n    }\\n\\n    #end-shadow {\\n        opacity: var(--end-shadow-opacity);\\n\\n        &:dir(ltr) {\\n            inset-inline-end: 0;\\n            background-image: linear-gradient(\\n                to left,\\n                var(--shadow-color),\\n                transparent 100%\\n            );\\n        }\\n\\n        &:dir(rtl) {\\n            inset-inline-start: 0;\\n            background-image: linear-gradient(\\n                to right,\\n                var(--shadow-color),\\n                transparent 100%\\n            );\\n        }\\n    }\\n}\\n\\n:host([orientation=\"vertical\"]) {\\n    #start-shadow,\\n    #end-shadow {\\n        position: absolute;\\n        inset-inline: 0;\\n        block-size: var(--shadow-size);\\n        pointer-events: none;\\n        z-index: 2;\\n    }\\n\\n    #start-shadow {\\n        inset-block-start: 0;\\n        background-image: linear-gradient(\\n            to bottom,\\n            var(--shadow-color),\\n            transparent 100%\\n        );\\n        opacity: var(--start-shadow-opacity);\\n    }\\n\\n    #end-shadow {\\n        inset-block-end: 0;\\n        background-image: linear-gradient(\\n            to top,\\n            var(--shadow-color),\\n            transparent 100%\\n        );\\n        opacity: var(--end-shadow-opacity);\\n    }\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n';\n\n// src/components/scroller/scroller.ts\nvar PcScroller = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n    this.resizeObserver = new ResizeObserver(() => this.updateScroll());\n    this.canScroll = false;\n    this.orientation = \"horizontal\";\n    this.noScrollbar = false;\n    this.noShadow = false;\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.resizeObserver.observe(this);\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this.resizeObserver.disconnect();\n  }\n  handleKeyDown(event) {\n    if (event.key === \"Home\") {\n      event.preventDefault();\n      this.content.scrollTo({\n        left: this.orientation === \"horizontal\" ? 0 : void 0,\n        top: this.orientation === \"vertical\" ? 0 : void 0\n      });\n    }\n    if (event.key === \"End\") {\n      event.preventDefault();\n      this.content.scrollTo({\n        left: this.orientation === \"horizontal\" ? this.content.scrollWidth : void 0,\n        top: this.orientation === \"vertical\" ? this.content.scrollHeight : void 0\n      });\n    }\n  }\n  handleSlotChange() {\n    this.updateScroll();\n  }\n  updateScroll() {\n    if (this.orientation === \"horizontal\") {\n      const clientWidth = Math.ceil(this.content.clientWidth);\n      const scrollLeft = Math.abs(Math.ceil(this.content.scrollLeft));\n      const scrollWidth = Math.ceil(this.content.scrollWidth);\n      const maxScroll = scrollWidth - clientWidth;\n      this.canScroll = maxScroll > 0;\n      const startShadowOpacity = Math.min(\n        1,\n        scrollLeft / (maxScroll * 0.05)\n      );\n      const endShadowOpacity = Math.min(\n        1,\n        (maxScroll - scrollLeft) / (maxScroll * 0.05)\n      );\n      this.style.setProperty(\n        \"--start-shadow-opacity\",\n        String(startShadowOpacity || 0)\n      );\n      this.style.setProperty(\n        \"--end-shadow-opacity\",\n        String(endShadowOpacity || 0)\n      );\n    } else {\n      const clientHeight = Math.ceil(this.content.clientHeight);\n      const scrollTop = Math.abs(Math.ceil(this.content.scrollTop));\n      const scrollHeight = Math.ceil(this.content.scrollHeight);\n      const maxScroll = scrollHeight - clientHeight;\n      this.canScroll = maxScroll > 0;\n      const startShadowOpacity = Math.min(\n        1,\n        scrollTop / (maxScroll * 0.05)\n      );\n      const endShadowOpacity = Math.min(\n        1,\n        (maxScroll - scrollTop) / (maxScroll * 0.05)\n      );\n      this.style.setProperty(\n        \"--start-shadow-opacity\",\n        String(startShadowOpacity || 0)\n      );\n      this.style.setProperty(\n        \"--end-shadow-opacity\",\n        String(endShadowOpacity || 0)\n      );\n    }\n  }\n  render() {\n    return x`\n            ${this.noShadow ? \"\" : x`\n                      <div\n                          id=\"start-shadow\"\n                          part=\"start-shadow\"\n                          aria-hidden=\"true\"\n                      ></div>\n                      <div\n                          id=\"end-shadow\"\n                          part=\"end-shadow\"\n                          aria-hidden=\"true\"\n                      ></div>\n                  `}\n\n            <div\n                id=\"content\"\n                part=\"content\"\n                role=\"region\"\n                aria-label=${this.localize.term(\"scrollableRegion\")}\n                aria-orientation=${this.orientation}\n                tabindex=${this.canScroll ? \"0\" : \"-1\"}\n                @keydown=${this.handleKeyDown}\n                @scroll=${this.updateScroll}\n            >\n                <slot @slotchange=${this.handleSlotChange}></slot>\n            </div>\n        `;\n  }\n};\nPcScroller.css = scroller_default;\n__decorateClass([\n  e5(\"#content\")\n], PcScroller.prototype, \"content\", 2);\n__decorateClass([\n  r5()\n], PcScroller.prototype, \"canScroll\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcScroller.prototype, \"orientation\", 2);\n__decorateClass([\n  n4({ attribute: \"no-scrollbar\", type: Boolean, reflect: true })\n], PcScroller.prototype, \"noScrollbar\", 2);\n__decorateClass([\n  n4({ attribute: \"no-shadow\", type: Boolean, reflect: true })\n], PcScroller.prototype, \"noShadow\", 2);\n__decorateClass([\n  t4({ passive: true })\n], PcScroller.prototype, \"updateScroll\", 1);\nPcScroller = __decorateClass([\n  t3(\"pc-scroller\")\n], PcScroller);\n\n// src/events/pc-remove.ts\nvar PcRemoveEvent = class extends Event {\n  constructor() {\n    super(\"pc-remove\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n  }\n};\n\n// src/components/tag/tag.css\nvar tag_default = ':host {\\n    display: inline-flex;\\n    align-items: center;\\n    gap: 0.5em;\\n    padding-inline: 0.75em;\\n    background-color: var(--pc-color-fill-quiet);\\n    color: var(--pc-color-on-quiet);\\n    border: var(--pc-border-width-s) var(--pc-border-style)\\n        var(--pc-color-border-normal);\\n    border-radius: var(--pc-border-radius-m);\\n    block-size: calc(var(--pc-form-control-height) * 0.8);\\n    line-height: calc(\\n        var(--pc-form-control-height) - var(--pc-form-control-border-width) * 2\\n    );\\n    white-space: nowrap;\\n    user-select: none;\\n    -webkit-user-select: none;\\n}\\n\\n:host([variant~=\"accent\"]) {\\n    background-color: var(--pc-color-fill-loud);\\n    color: var(--pc-color-on-loud);\\n    border-color: transparent;\\n}\\n\\n:host([variant~=\"outlined\"]) {\\n    background-color: transparent;\\n    color: var(--pc-color-on-quiet);\\n    border-color: var(--pc-color-border-loud);\\n}\\n\\n:host([variant~=\"filled\"]) {\\n    background-color: var(--pc-color-fill-quiet);\\n    color: var(--pc-color-on-quiet);\\n    border-color: transparent;\\n}\\n\\n:host([variant~=\"filled\"][variant~=\"outlined\"]) {\\n    border-color: var(--pc-color-border-normal);\\n}\\n\\n:host([pill]) {\\n    border-radius: var(--pc-border-radius-pill);\\n}\\n\\n.remove-tag-button {\\n    inline-size: 0.75em;\\n    block-size: 0.75em;\\n}\\n\\n.remove-tag-button::part(base) {\\n    display: flex;\\n    align-items: center;\\n    justify-content: center;\\n    padding: 0;\\n    inline-size: 0.75em;\\n    block-size: 0.75em;\\n    background-color: transparent;\\n    color: var(--pc-color-on-quiet);\\n    font-size: var(--pc-font-size-smaller);\\n}\\n';\n\n// src/components/tag/tag.ts\nvar PcTag = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n    this.appearance = \"neutral\";\n    this.variant = \"filled outlined\";\n    this.size = \"medium\";\n    this.pill = false;\n    this.removable = false;\n  }\n  handleRemoveClick() {\n    this.dispatchEvent(new PcRemoveEvent());\n  }\n  render() {\n    return x`\n            <slot class=\"tag-content\" part=\"content\"></slot>\n\n            ${this.removable ? x`\n                      <pc-button\n                          class=\"remove-tag-button\"\n                          part=\"remove-button\"\n                          tabindex=\"-1\"\n                          @click=${this.handleRemoveClick}\n                          exportparts=\"base:remove-button-base\"\n                      >\n                          <pc-icon\n                              library=\"system\"\n                              icon-style=\"solid\"\n                              name=\"xmark\"\n                              label=${this.localize.term(\"remove\")}\n                          ></pc-icon>\n                      </pc-button>\n                  ` : \"\"}\n        `;\n  }\n};\nPcTag.css = [appearance_default, size_default, tag_default];\n__decorateClass([\n  n4({ reflect: true })\n], PcTag.prototype, \"appearance\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcTag.prototype, \"variant\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcTag.prototype, \"size\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcTag.prototype, \"pill\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcTag.prototype, \"removable\", 2);\nPcTag = __decorateClass([\n  t3(\"pc-tag\")\n], PcTag);\n\n// src/components/select/select.css\nvar select_default = ':host {\\n    --tag-max-size: 10ch;\\n}\\n\\n:host pc-tag {\\n    border-radius: calc(\\n        var(--pc-border-radius-m) -\\n            (\\n                var(--pc-form-control-height) * 0.1 -\\n                    var(--pc-form-control-border-width)\\n            )\\n    );\\n}\\n\\n:host([pill]) pc-tag {\\n    border-radius: var(--pc-border-radius-pill);\\n}\\n\\n:host pc-tag::part(content) {\\n    display: flex;\\n    align-items: center;\\n    max-inline-size: var(--tag-max-size);\\n    overflow: hidden;\\n    white-space: nowrap;\\n    text-overflow: ellipsis;\\n}\\n\\n:host .disabled [part~=\"combobox\"] {\\n    opacity: 0.5;\\n    cursor: not-allowed;\\n    outline: none;\\n}\\n\\n:host .enabled:is(.open, :focus-within) [part~=\"combobox\"] {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.select {\\n    display: inline-flex;\\n    position: relative;\\n    flex: 1 1 auto;\\n    inline-size: 100%;\\n    vertical-align: middle;\\n}\\n\\n.select::part(popup) {\\n    z-index: 900;\\n}\\n\\n.select[data-current-placement^=\"top\"]::part(popup) {\\n    transform-origin: bottom;\\n}\\n\\n.select[data-current-placement^=\"bottom\"]::part(popup) {\\n    transform-origin: top;\\n}\\n\\n.combobox {\\n    display: flex;\\n    position: relative;\\n    align-items: center;\\n    justify-content: flex-start;\\n    flex: 1;\\n    min-inline-size: 0;\\n    inline-size: 100%;\\n    min-block-size: var(--pc-form-control-height);\\n    padding: 0 var(--pc-form-control-padding-inline);\\n    background-color: var(--pc-form-control-background-color);\\n    border: var(--pc-form-control-border-width)\\n        var(--pc-form-control-border-style) var(--pc-form-control-border-color);\\n    border-radius: var(--pc-form-control-border-radius);\\n    color: var(--pc-form-control-value-color);\\n    font-family: inherit;\\n    font-weight: var(--pc-form-control-value-font-weight);\\n    line-height: var(--pc-form-control-value-line-height);\\n    overflow: hidden;\\n    vertical-align: middle;\\n    cursor: pointer;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n@media (hover: hover) {\\n    :host(:not([disabled])) .enabled:not(.open, :focus-within) .combobox:hover {\\n        border-color: color-mix(\\n            in oklab,\\n            var(--pc-form-control-border-color),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n:host([multiple]) .select:not(.placeholder-visible) .combobox {\\n    padding-inline-start: 0;\\n    padding-block: calc(\\n        var(--pc-form-control-height) * 0.1 -\\n            var(--pc-form-control-border-width)\\n    );\\n}\\n\\n:host([filled]) .combobox {\\n    background-color: var(--pc-color-neutral-fill-quiet);\\n    border-color: var(--pc-color-neutral-fill-quiet);\\n}\\n\\n@media (hover: hover) {\\n    :host([filled]:not([disabled]))\\n        .enabled:not(.open, :focus-within)\\n        .combobox:hover {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-color-neutral-fill-quiet),\\n            var(--pc-color-mix-hover)\\n        );\\n        border-color: color-mix(\\n            in oklab,\\n            var(--pc-color-neutral-fill-quiet),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n:host([pill]) .combobox {\\n    border-radius: var(--pc-border-radius-pill);\\n}\\n\\n.display-input {\\n    position: relative;\\n    margin: 0;\\n    padding: 0;\\n    inline-size: 100%;\\n    background: transparent;\\n    color: var(--pc-form-control-value-color);\\n    border: none;\\n    outline: none;\\n    font: inherit;\\n    line-height: var(--pc-form-control-value-line-height);\\n    overflow: hidden;\\n    cursor: inherit;\\n    -webkit-appearance: none;\\n}\\n\\n.display-input:focus {\\n    outline: none;\\n}\\n\\n.display-input::placeholder {\\n    color: var(--pc-form-control-placeholder-color);\\n}\\n\\n:host([multiple]) .select:not(.placeholder-visible) .display-input {\\n    position: absolute;\\n    inset-block-start: 0;\\n    inset-inline-start: 0;\\n    inline-size: 100%;\\n    block-size: 100%;\\n    opacity: 0;\\n    z-index: -1;\\n}\\n\\n.value-input {\\n    position: absolute;\\n    inset-block-start: 0;\\n    inset-inline-start: 0;\\n    margin: 0;\\n    padding: 0;\\n    inline-size: 100%;\\n    block-size: 100%;\\n    opacity: 0;\\n    z-index: -1;\\n}\\n\\n.tags {\\n    display: flex;\\n    align-items: center;\\n    flex: 1;\\n    flex-wrap: wrap;\\n    margin-inline-start: calc(\\n        var(--pc-form-control-height) * 0.1 -\\n            var(--pc-form-control-border-width)\\n    );\\n    gap: 0.25em;\\n}\\n\\n.tags::slotted(pc-tag) {\\n    cursor: pointer !important;\\n}\\n\\n.disabled .tags,\\n.disabled .tags::slotted(pc-tag) {\\n    cursor: not-allowed !important;\\n}\\n\\n.prefix,\\n.suffix {\\n    display: inline-flex;\\n    align-items: center;\\n    flex: 0 0 auto;\\n}\\n\\n.prefix::slotted(pc-icon),\\n.suffix::slotted(pc-icon) {\\n    color: var(--pc-color-neutral-on-quiet);\\n}\\n\\n.prefix::slotted(*) {\\n    margin-inline-end: var(--pc-form-control-padding-inline);\\n}\\n\\n.suffix::slotted(*) {\\n    margin-inline-start: var(--pc-form-control-padding-inline);\\n}\\n\\n:host([multiple]) .prefix::slotted(*) {\\n    margin-inline: var(--pc-form-control-padding-inline);\\n}\\n\\n[part~=\"clear-button\"] {\\n    display: inline-flex;\\n    align-items: center;\\n    justify-content: center;\\n    margin-inline-start: var(--pc-form-control-padding-inline);\\n    padding: 0;\\n    border: none;\\n    background: transparent;\\n    color: var(--pc-color-neutral-on-quiet);\\n    font-size: inherit;\\n    cursor: pointer;\\n    transition: color var(--pc-transition-fast) ease-in-out;\\n}\\n\\n[part~=\"clear-button\"]:focus {\\n    outline: none;\\n}\\n\\n@media (hover: hover) {\\n    [part~=\"clear-button\"]:hover {\\n        color: color-mix(\\n            in oklab,\\n            var(--pc-color-neutral-on-quiet),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n[part~=\"clear-button\"]:active {\\n    color: color-mix(\\n        in oklab,\\n        var(--pc-color-neutral-on-quiet),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n.expand-icon {\\n    display: flex;\\n    align-items: center;\\n    flex: 0 0 auto;\\n    color: var(--pc-color-neutral-on-quiet);\\n    rotate: 0;\\n    margin-inline-start: var(--pc-form-control-padding-inline);\\n    transition: rotate var(--pc-transition-fast) ease-in-out;\\n}\\n\\n.open .expand-icon {\\n    rotate: -180deg;\\n}\\n\\n.listbox {\\n    display: block;\\n    position: relative;\\n    font: inherit;\\n    background-color: var(--pc-color-surface-raised);\\n    border: none;\\n    border-radius: calc(var(--pc-border-radius-m) + var(--pc-spacing-xs));\\n    padding: var(--pc-spacing-xs);\\n    max-inline-size: var(--auto-size-available-width);\\n    max-block-size: var(--auto-size-available-height);\\n    overflow: auto;\\n    box-shadow: var(--pc-shadow-l);\\n    overscroll-behavior: none;\\n}\\n\\n.listbox ::slotted(pc-divider) {\\n    --spacing: 0.25em;\\n}\\n\\nslot:not([name])::slotted(small) {\\n    display: block;\\n    font-size: var(--pc-font-size-smaller);\\n    font-weight: var(--pc-font-weight-semibold);\\n    color: var(--pc-color-text-quiet);\\n    padding-block: 0.5em;\\n    padding-inline-start: 2em;\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n';\n\n// src/components/select/select.ts\nsetDefaultAnimation(\"select.show\", {\n  keyframes: [\n    {\n      offset: 0,\n      opacity: 0,\n      transform: \"scaleY(0.35) scaleX(0.95) translateY(-10px) rotate(1deg)\"\n    },\n    {\n      offset: 0.25,\n      opacity: 1,\n      transform: \"scaleY(1.03) scaleX(1.005) translateY(2px) rotate(-0.5deg)\"\n    },\n    {\n      offset: 0.5,\n      transform: \"scaleY(0.995) scaleX(0.999) translateY(-0.5px) rotate(0.1deg)\"\n    },\n    {\n      offset: 0.75,\n      transform: \"scaleY(1.002) scaleX(1.0005) translateY(0.2px) rotate(-0.05deg)\"\n    },\n    {\n      offset: 1,\n      opacity: 1,\n      transform: \"scaleY(1) scaleX(1) translateY(0) rotate(0deg)\"\n    }\n  ],\n  options: {\n    duration: 1e3,\n    easing: \"cubic-bezier(0.2, 0.8, 0.2, 1)\",\n    fill: \"forwards\"\n  }\n});\nsetDefaultAnimation(\"select.hide\", {\n  keyframes: [\n    {\n      offset: 0,\n      opacity: 1,\n      transform: \"scaleY(1) scaleX(1) translateY(0) rotate(0deg)\"\n    },\n    {\n      offset: 0.15,\n      transform: \"scaleY(1.005) scaleX(1.001) translateY(0.5px) rotate(-0.002deg)\"\n    },\n    {\n      offset: 0.4,\n      transform: \"scaleY(0.99) scaleX(0.998) translateY(-1px) rotate(0.008deg)\"\n    },\n    {\n      offset: 0.75,\n      transform: \"scaleY(0.6) scaleX(0.9) translateY(10px) rotate(0.007deg)\"\n    },\n    {\n      offset: 1,\n      opacity: 0,\n      transform: \"scaleY(0.3) scaleX(0.8) translateY(25px) rotate(0.01deg)\"\n    }\n  ],\n  options: {\n    duration: 400,\n    easing: \"cubic-bezier(0.6, 0.05, 0.8, 0.2)\",\n    fill: \"forwards\"\n  }\n});\nvar PcSelect = class extends PlacerFormAssociatedElement {\n  constructor() {\n    super(...arguments);\n    this.assumeInteractionOn = [\"input\", \"blur\"];\n    this.hasSlotController = new HasSlotController(\n      this,\n      \"label\",\n      \"hint\"\n    );\n    this.localize = new LocalizeController2(this);\n    this.selectionOrder = /* @__PURE__ */ new Map();\n    this.typeToSelectString = \"\";\n    this.displayLabel = \"\";\n    this.selectedOptions = [];\n    this.name = \"\";\n    this._defaultValue = null;\n    this.size = \"medium\";\n    this.placeholder = \"\";\n    this.multiple = false;\n    this.maxOptionsVisible = 3;\n    this.disabled = false;\n    this.clearable = false;\n    this.open = false;\n    this.filled = false;\n    this.pill = false;\n    this.label = \"\";\n    this.placement = \"bottom\";\n    this.hint = \"\";\n    this.required = false;\n    this.getTag = (option) => {\n      return x`\n            <pc-tag\n                part=\"tag\"\n                size=${this.size}\n                ?pill=${this.pill}\n                removable\n                @pc-remove=${(event) => this.handleTagRemove(event, option)}\n                exportparts=\"\n                    base:tag-base,\n                    content:tag-content,\n                    remove-button:tag-remove-button,\n                    remove-button-base:tag-remove-button-base\n                \"\n            >\n                ${option.label}\n            </pc-tag>\n        `;\n    };\n    this.handleDocumentFocusIn = (event) => {\n      const path = event.composedPath();\n      if (this && !path.includes(this)) {\n        this.hide();\n      }\n    };\n    this.handleDocumentKeyDown = (event) => {\n      const target = event.target;\n      const isClearButton = target.closest('[part~=\"clear-button\"]') !== null;\n      const isIconButton = target.closest(\"pc-button\") !== null;\n      if (isClearButton || isIconButton) {\n        return;\n      }\n      if (event.key === \"Escape\" && this.open) {\n        event.preventDefault();\n        event.stopPropagation();\n        this.hide();\n        this.displayInput.focus({ preventScroll: true });\n      }\n      if (event.key === \"Enter\" || event.key === \" \" && this.typeToSelectString === \"\") {\n        event.preventDefault();\n        event.stopImmediatePropagation();\n        if (!this.open) {\n          this.show();\n          return;\n        }\n        if (this.currentOption && !this.currentOption.disabled) {\n          this.valueHasChanged = true;\n          this.hasInteracted = true;\n          if (this.multiple) {\n            this.toggleOptionSelection(this.currentOption);\n          } else {\n            this.setSelectedOptions(this.currentOption);\n          }\n          this.updateComplete.then(() => {\n            this.dispatchEvent(\n              new Event(\"change\", { bubbles: true, composed: true })\n            );\n            this.dispatchEvent(\n              new InputEvent(\"input\", {\n                bubbles: true,\n                composed: true\n              })\n            );\n          });\n          if (!this.multiple) {\n            this.hide();\n            this.displayInput.focus({ preventScroll: true });\n          }\n        }\n        return;\n      }\n      if ([\"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key)) {\n        const allOptions = this.getAllOptions();\n        const currentIndex = allOptions.indexOf(this.currentOption);\n        let newIndex = Math.max(0, currentIndex);\n        event.preventDefault();\n        if (!this.open) {\n          this.show();\n          if (this.currentOption) {\n            return;\n          }\n        }\n        if (event.key === \"ArrowDown\") {\n          newIndex = currentIndex + 1;\n          if (newIndex > allOptions.length - 1) newIndex = 0;\n        } else if (event.key === \"ArrowUp\") {\n          newIndex = currentIndex - 1;\n          if (newIndex < 0) newIndex = allOptions.length - 1;\n        } else if (event.key === \"Home\") {\n          newIndex = 0;\n        } else if (event.key === \"End\") {\n          newIndex = allOptions.length - 1;\n        }\n        this.setCurrentOption(allOptions[newIndex]);\n      }\n      if (event.key && event.key.length === 1 || event.key === \"Backspace\") {\n        const allOptions = this.getAllOptions();\n        if (event.metaKey || event.ctrlKey || event.altKey) {\n          return;\n        }\n        if (!this.open) {\n          if (event.key === \"Backspace\") {\n            return;\n          }\n          this.show();\n        }\n        event.stopPropagation();\n        event.preventDefault();\n        clearTimeout(this.typeToSelectTimeout);\n        this.typeToSelectTimeout = window.setTimeout(() => {\n          this.typeToSelectString = \"\";\n        }, 1e3);\n        if (event.key === \"Backspace\") {\n          this.typeToSelectString = this.typeToSelectString.slice(0, -1);\n        } else {\n          this.typeToSelectString += event.key.toLowerCase();\n        }\n        for (const option of allOptions) {\n          const label = option.label.toLowerCase();\n          if (label.startsWith(this.typeToSelectString)) {\n            this.setCurrentOption(option);\n            break;\n          }\n        }\n      }\n    };\n    this.handleDocumentMouseDown = (event) => {\n      const path = event.composedPath();\n      if (this && !path.includes(this)) {\n        this.hide();\n      }\n    };\n  }\n  static get validators() {\n    const validators = [\n      RequiredValidator({\n        validationElement: Object.assign(\n          document.createElement(\"select\"),\n          { required: true }\n        )\n      })\n    ];\n    return [...super.validators, ...validators];\n  }\n  /** Where to anchor native constraint validation. */\n  get validationTarget() {\n    return this.valueInput;\n  }\n  set defaultValue(value) {\n    this._defaultValue = this.convertDefaultValue(value) || \"\";\n  }\n  get defaultValue() {\n    return this.convertDefaultValue(this._defaultValue);\n  }\n  /** @private A converter for `defaultValue` to convert it from an array to a string if it’s a multi‐select. */\n  convertDefaultValue(value) {\n    const isMultiple = this.multiple || this.hasAttribute(\"multiple\");\n    if (!isMultiple && Array.isArray(value)) {\n      value = value[0];\n    }\n    return value;\n  }\n  set value(value) {\n    let oldValue = this.value;\n    if (value instanceof FormData) {\n      value = value.getAll(\n        this.name\n      );\n    }\n    if (value != null && !Array.isArray(value)) {\n      value = [value];\n    }\n    this._value = value ?? null;\n    let newValue = this.value;\n    if (newValue !== oldValue) {\n      this.valueHasChanged = true;\n      this.requestUpdate(\"value\", oldValue);\n    }\n  }\n  get value() {\n    let value = this._value ?? this.defaultValue ?? null;\n    if (value != null) {\n      value = Array.isArray(value) ? value : [value];\n    }\n    if (value == null) {\n      this.optionValues = /* @__PURE__ */ new Set(null);\n    } else {\n      this.optionValues = new Set(\n        this.getAllOptions().filter((option) => !option.disabled).map((option) => option.value)\n      );\n    }\n    let finalValue = value;\n    if (value != null) {\n      finalValue = value.filter((val) => this.optionValues.has(val));\n      finalValue = this.multiple ? finalValue : finalValue[0];\n      finalValue = finalValue ?? null;\n    }\n    return finalValue;\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.handleDefaultSlotChange();\n    this.open = false;\n  }\n  updateDefaultValue() {\n    const allOptions = this.getAllOptions();\n    const defaultSelectedOptions = allOptions.filter(\n      (element) => element.hasAttribute(\"selected\") || element.defaultSelected\n    );\n    if (defaultSelectedOptions.length > 0) {\n      const selectedValues = defaultSelectedOptions.map(\n        (element) => element.value\n      );\n      this._defaultValue = this.multiple ? selectedValues : selectedValues[0];\n    }\n    if (this.hasAttribute(\"value\")) {\n      this._defaultValue = this.getAttribute(\"value\") || null;\n    }\n  }\n  addOpenListeners() {\n    document.addEventListener(\"focusin\", this.handleDocumentFocusIn);\n    document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n    document.addEventListener(\"mousedown\", this.handleDocumentMouseDown);\n    if (this.getRootNode() !== document) {\n      this.getRootNode().addEventListener(\n        \"focusin\",\n        this.handleDocumentFocusIn\n      );\n    }\n  }\n  removeOpenListeners() {\n    document.removeEventListener(\"focusin\", this.handleDocumentFocusIn);\n    document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n    document.removeEventListener(\"mousedown\", this.handleDocumentMouseDown);\n    if (this.getRootNode() !== document) {\n      this.getRootNode().removeEventListener(\n        \"focusin\",\n        this.handleDocumentFocusIn\n      );\n    }\n  }\n  handleFocus() {\n    this.displayInput.setSelectionRange(0, 0);\n  }\n  handleLabelClick() {\n    this.displayInput.focus();\n  }\n  handleComboboxClick(event) {\n    event.preventDefault();\n  }\n  handleComboboxMouseDown(event) {\n    const path = event.composedPath();\n    const isButton = path.some(\n      (element) => element instanceof Element && element.tagName.toLowerCase() === \"pc-button\"\n    );\n    if (this.disabled || isButton) {\n      return;\n    }\n    event.preventDefault();\n    this.displayInput.focus({ preventScroll: true });\n    this.open = !this.open;\n  }\n  handleComboboxKeyDown(event) {\n    event.stopPropagation();\n    this.handleDocumentKeyDown(event);\n  }\n  handleClearClick(event) {\n    event.stopPropagation();\n    if (this.value !== \"\") {\n      this.selectionOrder.clear();\n      this.setSelectedOptions([]);\n      this.displayInput.focus({ preventScroll: true });\n      this.updateComplete.then(() => {\n        this.dispatchEvent(new PcClearEvent());\n        this.dispatchEvent(\n          new Event(\"change\", { bubbles: true, composed: true })\n        );\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n      });\n    }\n  }\n  handleClearMouseDown(event) {\n    event.stopPropagation();\n    event.preventDefault();\n  }\n  handleOptionClick(event) {\n    const target = event.target;\n    const option = target.closest(\"pc-option\");\n    if (option && !option.disabled) {\n      this.hasInteracted = true;\n      this.valueHasChanged = true;\n      if (this.multiple) {\n        this.toggleOptionSelection(option);\n      } else {\n        this.setSelectedOptions(option);\n      }\n      this.updateComplete.then(\n        () => this.displayInput.focus({ preventScroll: true })\n      );\n      this.requestUpdate(\"value\");\n      this.updateComplete.then(() => {\n        this.dispatchEvent(\n          new Event(\"change\", { bubbles: true, composed: true })\n        );\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n      });\n      if (!this.multiple) {\n        this.hide();\n        this.displayInput.focus({ preventScroll: true });\n      }\n    }\n  }\n  /** @internal This is used by the Option component to update labels. */\n  handleDefaultSlotChange() {\n    if (!customElements.get(\"pc-option\")) {\n      customElements.whenDefined(\"pc-option\").then(() => this.handleDefaultSlotChange());\n    }\n    const allOptions = this.getAllOptions();\n    this.optionValues = void 0;\n    this.updateDefaultValue();\n    let value = this.value;\n    if (value == null || !this.valueHasChanged && !this.hasInteracted) {\n      this.selectionChanged();\n      return;\n    }\n    if (!Array.isArray(value)) {\n      value = [value];\n    }\n    const selectedOptions = allOptions.filter(\n      (element) => value.includes(element.value)\n    );\n    this.setSelectedOptions(selectedOptions);\n  }\n  handleTagRemove(event, directOption) {\n    event.stopPropagation();\n    if (this.disabled) {\n      return;\n    }\n    this.hasInteracted = true;\n    this.valueHasChanged = true;\n    let option = directOption;\n    if (!option) {\n      const tagElement = event.target.closest(\n        \"pc-tag[data-value]\"\n      );\n      if (tagElement) {\n        const value = tagElement.dataset.value;\n        option = this.selectedOptions.find(\n          (option2) => option2.value === value\n        );\n      }\n    }\n    if (option) {\n      this.toggleOptionSelection(option, false);\n      this.updateComplete.then(() => {\n        this.dispatchEvent(\n          new Event(\"change\", { bubbles: true, composed: true })\n        );\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n      });\n    }\n  }\n  getAllOptions() {\n    if (!this?.querySelectorAll) {\n      return [];\n    }\n    return [...this.querySelectorAll(\"pc-option\")];\n  }\n  getFirstOption() {\n    return this.querySelector(\"pc-option\");\n  }\n  setCurrentOption(option) {\n    const allOptions = this.getAllOptions();\n    allOptions.forEach((element) => {\n      element.current = false;\n      element.tabIndex = -1;\n    });\n    if (option) {\n      this.currentOption = option;\n      option.current = true;\n      option.tabIndex = 0;\n      option.focus();\n    }\n  }\n  setSelectedOptions(option) {\n    const allOptions = this.getAllOptions();\n    const newSelectedOptions = Array.isArray(option) ? option : [option];\n    allOptions.forEach((element) => {\n      if (newSelectedOptions.includes(element)) {\n        return;\n      }\n      element.selected = false;\n    });\n    if (newSelectedOptions.length) {\n      newSelectedOptions.forEach((element) => element.selected = true);\n    }\n    this.selectionChanged();\n  }\n  toggleOptionSelection(option, force) {\n    if (force === true || force === false) {\n      option.selected = force;\n    } else {\n      option.selected = !option.selected;\n    }\n    this.selectionChanged();\n  }\n  /** @internal This method must be called whenever the selection changes. It will update the selected options’ cache, the current value and the display value. The Option component uses it internally to update labels as they change. */\n  selectionChanged() {\n    const options = this.getAllOptions();\n    const newSelectedOptions = options.filter((element) => {\n      if (!this.hasInteracted && !this.valueHasChanged) {\n        const defaultValue = this.defaultValue;\n        const defaultValues = Array.isArray(defaultValue) ? defaultValue : [defaultValue];\n        return element.hasAttribute(\"selected\") || element.defaultSelected || element.selected || defaultValues?.includes(element.value);\n      }\n      return element.selected;\n    });\n    const newSelectedValues = new Set(\n      newSelectedOptions.map((el) => el.value)\n    );\n    for (const value of this.selectionOrder.keys()) {\n      if (!newSelectedValues.has(value)) {\n        this.selectionOrder.delete(value);\n      }\n    }\n    const maxOrder = this.selectionOrder.size > 0 ? Math.max(...this.selectionOrder.values()) : -1;\n    let nextOrder = maxOrder + 1;\n    for (const option of newSelectedOptions) {\n      if (!this.selectionOrder.has(option.value)) {\n        this.selectionOrder.set(option.value, nextOrder++);\n      }\n    }\n    this.selectedOptions = newSelectedOptions.sort((a3, b3) => {\n      const orderA = this.selectionOrder.get(a3.value) ?? 0;\n      const orderB = this.selectionOrder.get(b3.value) ?? 0;\n      return orderA - orderB;\n    });\n    let selectedValues = new Set(\n      this.selectedOptions.map((el) => el.value)\n    );\n    if (selectedValues.size > 0 || this._value) {\n      const oldValue = this._value;\n      if (this._value == null) {\n        let value = this.defaultValue ?? [];\n        this._value = Array.isArray(value) ? value : [value];\n      }\n      this._value = this._value?.filter(\n        (value) => !this.optionValues?.has(value)\n      ) ?? null;\n      this._value?.unshift(...selectedValues);\n      this.requestUpdate(\"value\", oldValue);\n    }\n    if (this.multiple) {\n      if (this.placeholder && !this.value?.length) {\n        this.displayLabel = \"\";\n      } else {\n        this.displayLabel = this.localize.term(\n          \"numOptionsSelected\",\n          this.selectedOptions.length\n        );\n      }\n    } else {\n      const selectedOption = this.selectedOptions[0];\n      this.displayLabel = selectedOption?.label ?? \"\";\n    }\n    this.updateComplete.then(() => {\n      this.updateValidity();\n    });\n  }\n  get tags() {\n    return this.selectedOptions.map((option, index) => {\n      if (index < this.maxOptionsVisible || this.maxOptionsVisible <= 0) {\n        const tag = this.getTag(option, index);\n        if (!tag) {\n          return null;\n        }\n        return typeof tag === \"string\" ? o8(tag) : tag;\n      } else if (index === this.maxOptionsVisible) {\n        return x`\n                    <pc-tag\n                        part=\"tag\"\n                        exportparts=\"\n                            base:tag-base,\n                            content:tag-content,\n                            remove-button:tag-remove-button,\n                            remove-button-base:tag-remove-button-base\n                        \"\n                    >\n                        +${this.selectedOptions.length - index}\n                    </pc-tag>\n                `;\n      }\n      return null;\n    });\n  }\n  updated(changedProperties) {\n    super.updated(changedProperties);\n    if (changedProperties.has(\"value\")) {\n      this.customStates.set(\"blank\", !this.value);\n    }\n  }\n  handleDisabledChange() {\n    if (this.disabled) {\n      this.open = false;\n    }\n  }\n  handleValueChange() {\n    const allOptions = this.getAllOptions();\n    const value = Array.isArray(this.value) ? this.value : [this.value];\n    const selectedOptions = allOptions.filter(\n      (element) => value.includes(element.value)\n    );\n    this.setSelectedOptions(selectedOptions);\n    this.updateValidity();\n  }\n  async handleOpenChange() {\n    if (this.open && !this.disabled) {\n      this.setCurrentOption(\n        this.selectedOptions[0] || this.getFirstOption()\n      );\n      const pcShow = new PcShowEvent();\n      this.dispatchEvent(pcShow);\n      if (pcShow.defaultPrevented) {\n        this.open = false;\n        return;\n      }\n      this.addOpenListeners();\n      await stopAnimations(this);\n      this.listbox.hidden = false;\n      this.popup.active = true;\n      requestAnimationFrame(() => {\n        this.setCurrentOption(this.currentOption);\n      });\n      const { keyframes, options } = getAnimation(this, \"select.show\", {\n        dir: this.localize.dir()\n      });\n      await animateTo(this.popup.popup, keyframes, options);\n      if (this.currentOption) {\n        scrollIntoView(\n          this.currentOption,\n          this.listbox,\n          \"vertical\",\n          \"auto\"\n        );\n      }\n      this.dispatchEvent(new PcAfterShowEvent());\n    } else {\n      const pcHide = new PcHideEvent();\n      this.dispatchEvent(pcHide);\n      if (pcHide.defaultPrevented) {\n        this.open = false;\n        return;\n      }\n      this.removeOpenListeners();\n      await stopAnimations(this);\n      const { keyframes, options } = getAnimation(this, \"select.hide\", {\n        dir: this.localize.dir()\n      });\n      await animateTo(this.popup.popup, keyframes, options);\n      this.listbox.hidden = true;\n      this.popup.active = false;\n      this.dispatchEvent(new PcAfterHideEvent());\n    }\n  }\n  /** Shows the listbox. */\n  async show() {\n    if (this.open || this.disabled) {\n      this.open = false;\n      return void 0;\n    }\n    this.open = true;\n    return waitForEvent(this, \"pc-after-show\");\n  }\n  /** Hides the listbox. */\n  async hide() {\n    if (!this.open || this.disabled) {\n      this.open = false;\n      return void 0;\n    }\n    this.open = false;\n    return waitForEvent(this, \"pc-after-hide\");\n  }\n  /** Focuses the select. */\n  focus(options) {\n    this.displayInput.focus(options);\n  }\n  /** Unfocuses the select (i.e., blurs it). */\n  blur() {\n    this.displayInput.blur();\n  }\n  formResetCallback() {\n    this.selectionOrder.clear();\n    this.value = this.defaultValue;\n    super.formResetCallback();\n    this.handleValueChange();\n    this.updateComplete.then(() => {\n      this.dispatchEvent(\n        new Event(\"change\", { bubbles: true, composed: true })\n      );\n      this.dispatchEvent(\n        new InputEvent(\"input\", { bubbles: true, composed: true })\n      );\n    });\n  }\n  render() {\n    const hasLabelSlot = this.hasSlotController.test(\"label\");\n    const hasHintSlot = this.hasSlotController.test(\"hint\");\n    const hasLabel = this.label ? true : !!hasLabelSlot;\n    const hasHint = this.hint ? true : !!hasHintSlot;\n    const hasClearIcon = this.clearable && !this.disabled && this.value && this.value.length > 0;\n    const isPlaceholderVisible = Boolean(\n      this.placeholder && (!this.value || this.value.length === 0)\n    );\n    return x`\n            <div\n                part=\"form-control\"\n                class=${e7({\n      \"form-control\": true,\n      \"form-control-has-label\": hasLabel\n    })}\n            >\n                <label\n                    part=\"label\"\n                    class=\"label\"\n                    id=\"label\"\n                    aria-hidden=${hasLabel ? \"false\" : \"true\"}\n                    @click=${this.handleLabelClick}\n                >\n                    <slot name=\"label\">${this.label}</slot>\n                </label>\n\n                <div part=\"input\" class=\"form-control-input\">\n                    <pc-popup\n                        class=${e7({\n      \"select\": true,\n      \"open\": this.open,\n      \"disabled\": this.disabled,\n      \"enabled\": !this.disabled,\n      \"multiple\": this.multiple,\n      \"placeholder-visible\": isPlaceholderVisible\n    })}\n                        placement=${this.placement}\n                        sync=\"width\"\n                        auto-size=\"vertical\"\n                        auto-size-padding=\"10\"\n                        shift\n                        flip\n                    >\n                        <div\n                            part=\"combobox\"\n                            class=\"combobox\"\n                            slot=\"anchor\"\n                            @keydown=${this.handleComboboxKeyDown}\n                            @mousedown=${this.handleComboboxMouseDown}\n                        >\n                            <slot\n                                class=\"prefix\"\n                                part=\"prefix\"\n                                name=\"prefix\"\n                            ></slot>\n\n                            <input\n                                part=\"display-input\"\n                                class=\"display-input\"\n                                type=\"text\"\n                                role=\"combobox\"\n                                placeholder=${this.placeholder}\n                                .disabled=${this.disabled}\n                                .value=${this.displayLabel}\n                                autocomplete=\"off\"\n                                spellcheck=\"false\"\n                                autocapitalize=\"off\"\n                                aria-controls=\"listbox\"\n                                aria-expanded=${this.open ? \"true\" : \"false\"}\n                                aria-haspopup=\"listbox\"\n                                aria-labelledby=\"label\"\n                                aria-disabled=${this.disabled ? \"true\" : \"false\"}\n                                aria-describedby=\"hint\"\n                                tabindex=\"0\"\n                                readonly\n                                @focus=${this.handleFocus}\n                            />\n\n                            ${this.multiple ? x`\n                                      <div\n                                          part=\"tags\"\n                                          class=\"tags\"\n                                          @pc-remove=${this.handleTagRemove}\n                                      >\n                                          ${this.tags}\n                                      </div>\n                                  ` : \"\"}\n\n                            <input\n                                class=\"value-input\"\n                                type=\"text\"\n                                ?disabled=${this.disabled}\n                                ?required=${this.required}\n                                .value=${Array.isArray(this.value) ? this.value.join(\", \") : this.value}\n                                tabindex=\"-1\"\n                                aria-hidden=\"true\"\n                                @focus=${() => this.focus()}\n                            />\n\n                            ${hasClearIcon ? x`\n                                      <button\n                                          part=\"clear-button\"\n                                          type=\"button\"\n                                          aria-label=${this.localize.term(\n      \"clearEntry\"\n    )}\n                                          @click=${this.handleClearClick}\n                                          @mousedown=${this.handleClearMouseDown}\n                                          tabindex=\"-1\"\n                                      >\n                                          <slot name=\"clear-icon\">\n                                              <pc-icon\n                                                  library=\"system\"\n                                                  icon-style=\"regular\"\n                                                  name=\"circle-xmark\"\n                                              ></pc-icon>\n                                          </slot>\n                                      </button>\n                                  ` : \"\"}\n\n                            <slot\n                                class=\"suffix\"\n                                part=\"suffix\"\n                                name=\"suffix\"\n                            ></slot>\n\n                            <slot\n                                class=\"expand-icon\"\n                                part=\"expand-icon\"\n                                name=\"expand-icon\"\n                            >\n                                <pc-icon\n                                    library=\"system\"\n                                    icon-style=\"solid\"\n                                    name=\"chevron-down\"\n                                ></pc-icon>\n                            </slot>\n                        </div>\n\n                        <div\n                            part=\"listbox\"\n                            class=\"listbox\"\n                            id=\"listbox\"\n                            role=\"listbox\"\n                            aria-expanded=${this.open ? \"true\" : \"false\"}\n                            aria-multiselectable=${this.multiple ? \"true\" : \"false\"}\n                            aria-labelledby=\"label\"\n                            tabindex=\"-1\"\n                            @mouseup=${this.handleOptionClick}\n                        >\n                            <slot\n                                @slotchange=${this.handleDefaultSlotChange}\n                            ></slot>\n                        </div>\n                    </pc-popup>\n\n                    <slot\n                        part=\"hint\"\n                        class=${e7({ \"has-hint\": hasHint })}\n                        name=\"hint\"\n                        id=\"hint\"\n                        aria-hidden=${hasHint ? \"false\" : \"true\"}\n                    >\n                        ${this.hint}\n                    </slot>\n                </div>\n            </div>\n        `;\n  }\n};\nPcSelect.css = [form_control_default, size_default, select_default];\n__decorateClass([\n  e5(\".select\")\n], PcSelect.prototype, \"popup\", 2);\n__decorateClass([\n  e5(\".combobox\")\n], PcSelect.prototype, \"combobox\", 2);\n__decorateClass([\n  e5(\".display-input\")\n], PcSelect.prototype, \"displayInput\", 2);\n__decorateClass([\n  e5(\".value-input\")\n], PcSelect.prototype, \"valueInput\", 2);\n__decorateClass([\n  e5(\".listbox\")\n], PcSelect.prototype, \"listbox\", 2);\n__decorateClass([\n  r5()\n], PcSelect.prototype, \"displayLabel\", 2);\n__decorateClass([\n  r5()\n], PcSelect.prototype, \"currentOption\", 2);\n__decorateClass([\n  r5()\n], PcSelect.prototype, \"selectedOptions\", 2);\n__decorateClass([\n  r5()\n], PcSelect.prototype, \"optionValues\", 2);\n__decorateClass([\n  n4()\n], PcSelect.prototype, \"name\", 2);\n__decorateClass([\n  n4({ attribute: false })\n], PcSelect.prototype, \"defaultValue\", 1);\n__decorateClass([\n  n4({ reflect: true })\n], PcSelect.prototype, \"size\", 2);\n__decorateClass([\n  n4()\n], PcSelect.prototype, \"placeholder\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcSelect.prototype, \"multiple\", 2);\n__decorateClass([\n  n4({ attribute: \"max-options-visible\", type: Number })\n], PcSelect.prototype, \"maxOptionsVisible\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcSelect.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcSelect.prototype, \"clearable\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcSelect.prototype, \"open\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcSelect.prototype, \"filled\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcSelect.prototype, \"pill\", 2);\n__decorateClass([\n  n4()\n], PcSelect.prototype, \"label\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcSelect.prototype, \"placement\", 2);\n__decorateClass([\n  n4()\n], PcSelect.prototype, \"hint\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcSelect.prototype, \"required\", 2);\n__decorateClass([\n  n4()\n], PcSelect.prototype, \"getTag\", 2);\n__decorateClass([\n  n4({ attribute: \"value\", reflect: false })\n], PcSelect.prototype, \"value\", 1);\n__decorateClass([\n  watch(\"disabled\", { waitUntilFirstUpdate: true })\n], PcSelect.prototype, \"handleDisabledChange\", 1);\n__decorateClass([\n  watch(\"value\", { waitUntilFirstUpdate: true })\n], PcSelect.prototype, \"handleValueChange\", 1);\n__decorateClass([\n  watch(\"open\", { waitUntilFirstUpdate: true })\n], PcSelect.prototype, \"handleOpenChange\", 1);\nPcSelect = __decorateClass([\n  t3(\"pc-select\")\n], PcSelect);\n\n// src/internal/validators/slider-validator.ts\nvar SliderValidator = () => {\n  const nativeRequiredRange = Object.assign(document.createElement(\"input\"), {\n    type: \"range\",\n    required: true\n  });\n  return {\n    observedAttributes: [\"required\", \"min\", \"max\", \"step\"],\n    checkValidity(element) {\n      const validity = {\n        message: \"\",\n        isValid: true,\n        invalidKeys: []\n      };\n      const createNativeRange = (value, min2, max2, step) => {\n        const input = document.createElement(\"input\");\n        input.type = \"range\";\n        input.min = String(min2);\n        input.max = String(max2);\n        input.step = String(step);\n        input.value = String(value);\n        input.checkValidity();\n        return input.validationMessage;\n      };\n      if (element.required && !element.hasInteracted) {\n        validity.isValid = false;\n        validity.invalidKeys.push(\"valueMissing\");\n        validity.message = nativeRequiredRange.validationMessage || \"Please fill out this field.\";\n        return validity;\n      }\n      if (element.isRange) {\n        const minValue = element.minValue;\n        const maxValue = element.maxValue;\n        if (minValue < element.min) {\n          validity.isValid = false;\n          validity.invalidKeys.push(\"rangeUnderflow\");\n          validity.message = createNativeRange(\n            minValue,\n            element.min,\n            element.max,\n            element.step\n          ) || `Value must be greater than or equal to ${element.min}.`;\n          return validity;\n        }\n        if (maxValue > element.max) {\n          validity.isValid = false;\n          validity.invalidKeys.push(\"rangeOverflow\");\n          validity.message = createNativeRange(\n            maxValue,\n            element.min,\n            element.max,\n            element.step\n          ) || `Value must be less than or equal to ${element.max}.`;\n          return validity;\n        }\n        if (element.step && element.step !== 1) {\n          const minStepMismatch = (minValue - element.min) % element.step !== 0;\n          const maxStepMismatch = (maxValue - element.min) % element.step !== 0;\n          if (minStepMismatch || maxStepMismatch) {\n            validity.isValid = false;\n            validity.invalidKeys.push(\"stepMismatch\");\n            const testValue = minStepMismatch ? minValue : maxValue;\n            validity.message = createNativeRange(\n              testValue,\n              element.min,\n              element.max,\n              element.step\n            ) || `Value must be a multiple of ${element.step}.`;\n            return validity;\n          }\n        }\n      } else {\n        const value = element.value;\n        if (value < element.min) {\n          validity.isValid = false;\n          validity.invalidKeys.push(\"rangeUnderflow\");\n          validity.message = createNativeRange(\n            value,\n            element.min,\n            element.max,\n            element.step\n          ) || `Value must be greater than or equal to ${element.min}.`;\n          return validity;\n        }\n        if (value > element.max) {\n          validity.isValid = false;\n          validity.invalidKeys.push(\"rangeOverflow\");\n          validity.message = createNativeRange(\n            value,\n            element.min,\n            element.max,\n            element.step\n          ) || `Value must be less than or equal to ${element.max}.`;\n          return validity;\n        }\n        if (element.step && element.step !== 1 && (value - element.min) % element.step !== 0) {\n          validity.isValid = false;\n          validity.invalidKeys.push(\"stepMismatch\");\n          validity.message = createNativeRange(\n            value,\n            element.min,\n            element.max,\n            element.step\n          ) || `Value must be a multiple of ${element.step}.`;\n          return validity;\n        }\n      }\n      return validity;\n    }\n  };\n};\n\n// src/components/slider/slider.css\nvar slider_default = ':host {\\n    --track-size: 0.5em;\\n    --thumb-width: 1.4em;\\n    --thumb-height: 1.4em;\\n    --marker-width: 0.1875em;\\n    --marker-height: 0.1875em;\\n}\\n\\n:host([orientation=\"vertical\"]) {\\n    inline-size: auto;\\n}\\n\\n.label:has(~ .vertical) {\\n    display: block;\\n    order: 2;\\n    max-inline-size: none;\\n    text-align: center;\\n}\\n\\n.description:has(~ .vertical) {\\n    order: 3;\\n    text-align: center;\\n}\\n\\n.label:has(*:not(:empty)) ~ .slider {\\n    &.horizontal {\\n        margin-block-start: 0.5em;\\n    }\\n\\n    &.vertical {\\n        margin-block-end: 0.5em;\\n    }\\n}\\n\\n.slider {\\n    touch-action: none;\\n\\n    &:focus {\\n        outline: none;\\n    }\\n\\n    &:focus-visible:not(.disabled) .thumb,\\n    &:focus-visible:not(.disabled) .thumb-min,\\n    &:focus-visible:not(.disabled) .thumb-max {\\n        outline: var(--pc-focus-ring);\\n        animation: focus-ring-animation var(--pc-transition-medium)\\n            cubic-bezier(0.33, 1, 0.68, 1);\\n    }\\n}\\n\\n.track {\\n    position: relative;\\n    background-color: var(--pc-color-neutral-border-normal);\\n    border-radius: var(--pc-border-radius-pill);\\n    isolation: isolate;\\n}\\n\\n.horizontal .track {\\n    block-size: var(--track-size);\\n}\\n\\n.vertical .track {\\n    order: 1;\\n    inline-size: var(--track-size);\\n    block-size: 200px;\\n}\\n\\n.disabled .track {\\n    opacity: 0.5;\\n    cursor: not-allowed;\\n}\\n\\n.indicator {\\n    position: absolute;\\n    inset-inline-start: min(var(--start), var(--end));\\n    inset-inline-end: calc(100% - max(var(--start), var(--end)));\\n    background-color: var(--pc-form-control-activated-color);\\n    border-radius: inherit;\\n}\\n\\n.horizontal .indicator {\\n    inset-block-start: 0;\\n    block-size: 100%;\\n}\\n\\n.vertical .indicator {\\n    inset-block-start: calc(100% - var(--end));\\n    inset-block-end: var(--start);\\n    inset-inline: 0;\\n    inline-size: 100%;\\n}\\n\\n.thumb,\\n.thumb-min,\\n.thumb-max {\\n    position: absolute;\\n    inline-size: var(--thumb-width);\\n    block-size: var(--thumb-height);\\n    border: var(--pc-border-width-m) var(--pc-border-style)\\n        var(--pc-color-surface-default);\\n    background-color: var(--pc-form-control-activated-color);\\n    border-radius: var(--pc-border-radius-circle);\\n    z-index: 3;\\n    cursor: pointer;\\n}\\n\\n.disabled .thumb,\\n.disabled .thumb-min,\\n.disabled .thumb-max {\\n    cursor: inherit;\\n}\\n\\n.horizontal .thumb,\\n.horizontal .thumb-min,\\n.horizontal .thumb-max {\\n    inset-block-start: calc(50% - var(--thumb-height) / 2);\\n    inset-inline-start: calc(var(--position) - var(--thumb-width) / 2);\\n    inset-inline-end: auto;\\n}\\n\\n.vertical .thumb,\\n.vertical .thumb-min,\\n.vertical .thumb-max {\\n    inset-block-end: calc(var(--position) - var(--thumb-height) / 2);\\n    inset-inline-start: calc(50% - var(--thumb-width) / 2);\\n}\\n\\n:host([range]) {\\n    .thumb-min:focus-visible,\\n    .thumb-max:focus-visible {\\n        outline: var(--pc-focus-ring);\\n        z-index: 4;\\n        animation: focus-ring-animation var(--pc-transition-medium)\\n            cubic-bezier(0.33, 1, 0.68, 1);\\n    }\\n}\\n\\n.markers {\\n    pointer-events: none;\\n}\\n\\n.marker {\\n    position: absolute;\\n    inline-size: var(--marker-width);\\n    block-size: var(--marker-height);\\n    background-color: var(--pc-color-surface-default);\\n    border-radius: var(--pc-border-radius-circle);\\n    z-index: 2;\\n}\\n\\n.marker:first-of-type,\\n.marker:last-of-type {\\n    display: none;\\n}\\n\\n.horizontal .marker {\\n    top: calc(50% - var(--marker-height) / 2);\\n    left: calc(var(--position) - var(--marker-width) / 2);\\n}\\n\\n.vertical .marker {\\n    top: calc(var(--position) - var(--marker-height) / 2);\\n    left: calc(50% - var(--marker-width) / 2);\\n}\\n\\n/* Marker labels */\\n.references {\\n    position: relative;\\n\\n    slot {\\n        display: flex;\\n        justify-content: space-between;\\n        block-size: 100%;\\n    }\\n\\n    ::slotted(*) {\\n        color: var(--pc-color-text-quiet);\\n        font-size: var(--pc-font-size-smaller);\\n        line-height: 1;\\n    }\\n}\\n\\n.horizontal {\\n    .references {\\n        margin-block-start: 0.5em;\\n    }\\n}\\n\\n.vertical {\\n    display: flex;\\n    margin-inline: auto;\\n\\n    .track {\\n        order: 1;\\n    }\\n\\n    .references {\\n        order: 2;\\n        margin-inline-start: 0.75em;\\n        inline-size: min-content;\\n\\n        slot {\\n            flex-direction: column;\\n        }\\n    }\\n}\\n\\n.vertical .references slot {\\n    flex-direction: column;\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n';\n\n// src/components/slider/slider.ts\nvar PcSlider = class extends PlacerFormAssociatedElement {\n  constructor() {\n    super(...arguments);\n    this.draggableThumbMin = null;\n    this.draggableThumbMax = null;\n    this.hasSlotController = new HasSlotController(\n      this,\n      \"hint\",\n      \"label\"\n    );\n    this.localize = new LocalizeController2(this);\n    this.activeThumb = null;\n    this.lastTrackPosition = null;\n    this.label = \"\";\n    this.hint = \"\";\n    this.minValue = 0;\n    this.maxValue = 50;\n    this.defaultValue = this.getAttribute(\"value\") == null ? this.minValue : Number(this.getAttribute(\"value\"));\n    this._value = this.defaultValue;\n    this.range = false;\n    this.disabled = false;\n    this.readonly = false;\n    this.orientation = \"horizontal\";\n    this.size = \"medium\";\n    this.min = 0;\n    this.max = 100;\n    this.step = 1;\n    this.required = false;\n    this.tooltipDistance = 8;\n    this.tooltipPlacement = \"top\";\n    this.withMarkers = false;\n    this.hasTooltip = false;\n  }\n  static get validators() {\n    return [...super.validators, SliderValidator()];\n  }\n  get focusableAnchor() {\n    return this.isRange ? this.thumbMin || this.slider : this.slider;\n  }\n  /** Overrides the validation target to point to the focusable element. */\n  get validationTarget() {\n    return this.focusableAnchor;\n  }\n  /** The current value of the slider, submitted as a name/value pair with form data. */\n  get value() {\n    if (this.valueHasChanged) {\n      return this._value;\n    }\n    return this._value ?? this.defaultValue;\n  }\n  set value(value) {\n    value = Number(value) ?? this.minValue;\n    if (this._value === value) {\n      return;\n    }\n    this.valueHasChanged = true;\n    this._value = value;\n  }\n  /** Get if this is a range slider. */\n  get isRange() {\n    return this.range;\n  }\n  firstUpdated() {\n    if (this.isRange) {\n      this.draggableThumbMin = new DraggableElement(this.thumbMin, {\n        start: () => {\n          this.activeThumb = \"min\";\n          this.trackBoundingClientRect = this.track.getBoundingClientRect();\n          this.valueWhenDraggingStarted = this.minValue;\n          this.customStates.set(\"dragging\", true);\n          this.showRangeTooltips();\n        },\n        move: (x2, y3) => {\n          this.setThumbValueFromCoordinates(x2, y3, \"min\");\n        },\n        stop: () => {\n          if (this.minValue !== this.valueWhenDraggingStarted) {\n            this.updateComplete.then(() => {\n              this.dispatchEvent(\n                new Event(\"change\", {\n                  bubbles: true,\n                  composed: true\n                })\n              );\n            });\n            this.hasInteracted = true;\n          }\n          this.hideRangeTooltips();\n          this.customStates.set(\"dragging\", false);\n          this.valueWhenDraggingStarted = void 0;\n          this.activeThumb = null;\n        }\n      });\n      this.draggableThumbMax = new DraggableElement(this.thumbMax, {\n        start: () => {\n          this.activeThumb = \"max\";\n          this.trackBoundingClientRect = this.track.getBoundingClientRect();\n          this.valueWhenDraggingStarted = this.maxValue;\n          this.customStates.set(\"dragging\", true);\n          this.showRangeTooltips();\n        },\n        move: (x2, y3) => {\n          this.setThumbValueFromCoordinates(x2, y3, \"max\");\n        },\n        stop: () => {\n          if (this.maxValue !== this.valueWhenDraggingStarted) {\n            this.updateComplete.then(() => {\n              this.dispatchEvent(\n                new Event(\"change\", {\n                  bubbles: true,\n                  composed: true\n                })\n              );\n            });\n            this.hasInteracted = true;\n          }\n          this.hideRangeTooltips();\n          this.customStates.set(\"dragging\", false);\n          this.valueWhenDraggingStarted = void 0;\n          this.activeThumb = null;\n        }\n      });\n      this.draggableTrack = new DraggableElement(this.track, {\n        start: (x2, y3) => {\n          this.trackBoundingClientRect = this.track.getBoundingClientRect();\n          if (this.activeThumb) {\n            this.valueWhenDraggingStarted = this.activeThumb === \"min\" ? this.minValue : this.maxValue;\n          } else {\n            const value = this.getValueFromCoordinates(x2, y3);\n            const minDistance = Math.abs(value - this.minValue);\n            const maxDistance = Math.abs(value - this.maxValue);\n            if (minDistance === maxDistance) {\n              if (value > this.maxValue) {\n                this.activeThumb = \"max\";\n              } else if (value < this.minValue) {\n                this.activeThumb = \"min\";\n              } else {\n                const isRTL2 = this.localize.dir() === \"rtl\";\n                const isVertical = this.orientation === \"vertical\";\n                const position = isVertical ? y3 : x2;\n                const previousPosition = this.lastTrackPosition || position;\n                this.lastTrackPosition = position;\n                const movingForward = position > previousPosition !== isRTL2 && !isVertical || position < previousPosition && isVertical;\n                this.activeThumb = movingForward ? \"max\" : \"min\";\n              }\n            } else {\n              this.activeThumb = minDistance <= maxDistance ? \"min\" : \"max\";\n            }\n            this.valueWhenDraggingStarted = this.activeThumb === \"min\" ? this.minValue : this.maxValue;\n          }\n          this.customStates.set(\"dragging\", true);\n          this.setThumbValueFromCoordinates(x2, y3, this.activeThumb);\n          this.showRangeTooltips();\n        },\n        stop: () => {\n          if (this.activeThumb) {\n            const currentValue = this.activeThumb === \"min\" ? this.minValue : this.maxValue;\n            if (currentValue !== this.valueWhenDraggingStarted) {\n              this.updateComplete.then(() => {\n                this.dispatchEvent(\n                  new Event(\"change\", {\n                    bubbles: true,\n                    composed: true\n                  })\n                );\n              });\n              this.hasInteracted = true;\n            }\n          }\n          this.hideRangeTooltips();\n          this.customStates.set(\"dragging\", false);\n          this.valueWhenDraggingStarted = void 0;\n          this.activeThumb = null;\n        }\n      });\n    } else {\n      this.draggableTrack = new DraggableElement(this.slider, {\n        start: (x2, y3) => {\n          this.trackBoundingClientRect = this.track.getBoundingClientRect();\n          this.valueWhenDraggingStarted = this.value;\n          this.customStates.set(\"dragging\", true);\n          this.setValueFromCoordinates(x2, y3);\n          this.showTooltip();\n        },\n        move: (x2, y3) => {\n          this.setValueFromCoordinates(x2, y3);\n        },\n        stop: () => {\n          if (this.value !== this.valueWhenDraggingStarted) {\n            this.updateComplete.then(() => {\n              this.dispatchEvent(\n                new Event(\"change\", {\n                  bubbles: true,\n                  composed: true\n                })\n              );\n            });\n            this.hasInteracted = true;\n          }\n          this.hideTooltip();\n          this.customStates.set(\"dragging\", false);\n          this.valueWhenDraggingStarted = void 0;\n        }\n      });\n    }\n  }\n  updated(changedProperties) {\n    if (changedProperties.has(\"range\")) {\n      this.requestUpdate();\n    }\n    if (this.isRange) {\n      if (changedProperties.has(\"minValue\") || changedProperties.has(\"maxValue\")) {\n        this.minValue = clamp(this.minValue, this.min, this.maxValue);\n        this.maxValue = clamp(this.maxValue, this.minValue, this.max);\n        this.updateFormValue();\n      }\n    } else {\n      if (changedProperties.has(\"value\")) {\n        this.value = clamp(this.value, this.min, this.max);\n        this.setValue(String(this.value));\n      }\n    }\n    if (changedProperties.has(\"min\") || changedProperties.has(\"max\")) {\n      if (this.isRange) {\n        this.minValue = clamp(this.minValue, this.min, this.max);\n        this.maxValue = clamp(this.maxValue, this.min, this.max);\n      } else {\n        this.value = clamp(this.value, this.min, this.max);\n      }\n    }\n    if (changedProperties.has(\"disabled\")) {\n      this.customStates.set(\"disabled\", this.disabled);\n    }\n    if (changedProperties.has(\"disabled\") || changedProperties.has(\"readonly\")) {\n      const enabled = !(this.disabled || this.readonly);\n      if (this.isRange) {\n        if (this.draggableThumbMin) {\n          this.draggableThumbMin.toggle(enabled);\n        }\n        if (this.draggableThumbMax) {\n          this.draggableThumbMax.toggle(enabled);\n        }\n      }\n      if (this.draggableTrack) {\n        this.draggableTrack.toggle(enabled);\n      }\n    }\n    super.updated(changedProperties);\n  }\n  /** @internal Called when a containing fieldset is disabled. */\n  formDisabledCallback(isDisabled) {\n    this.disabled = isDisabled;\n  }\n  /** @internal Called when the form is reset. */\n  formResetCallback() {\n    if (this.isRange) {\n      this.minValue = parseFloat(\n        this.getAttribute(\"min-value\") ?? String(this.min)\n      );\n      this.maxValue = parseFloat(\n        this.getAttribute(\"max-value\") ?? String(this.max)\n      );\n    } else {\n      this.value = parseFloat(\n        this.getAttribute(\"value\") ?? String(this.min)\n      );\n    }\n    this.hasInteracted = false;\n    super.formResetCallback();\n  }\n  /** Clamps a number to the minimum and maximum value while ensuring it’s a valid step interval. */\n  clampAndRoundToStep(value) {\n    const stepPrecision = (String(this.step).split(\".\")[1] || \"\").replace(\n      /0+$/g,\n      \"\"\n    ).length;\n    const step = Number(this.step);\n    const min2 = Number(this.min);\n    const max2 = Number(this.max);\n    value = Math.round(value / step) * step;\n    value = clamp(value, min2, max2);\n    return parseFloat(value.toFixed(stepPrecision));\n  }\n  /** Given a value, returns its percentage within a range of the minimum and maximum value. */\n  getPercentageFromValue(value) {\n    return (value - this.min) / (this.max - this.min) * 100;\n  }\n  /** Converts coordinates to the slider value. */\n  getValueFromCoordinates(x2, y3) {\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    const isVertical = this.orientation === \"vertical\";\n    const { top, right, bottom, left, height, width } = this.trackBoundingClientRect;\n    const pointerPosition = isVertical ? y3 : x2;\n    const sliderCoords = isVertical ? { start: top, end: bottom, size: height } : { start: left, end: right, size: width };\n    const relativePosition = isVertical ? sliderCoords.end - pointerPosition : isRTL2 ? sliderCoords.end - pointerPosition : pointerPosition - sliderCoords.start;\n    const percentage = relativePosition / sliderCoords.size;\n    return this.clampAndRoundToStep(\n      this.min + (this.max - this.min) * percentage\n    );\n  }\n  handleFocus(event) {\n    const target = event.target;\n    if (this.isRange) {\n      if (target === this.thumbMin) {\n        this.activeThumb = \"min\";\n      } else if (target === this.thumbMax) {\n        this.activeThumb = \"max\";\n      }\n      this.showRangeTooltips();\n    } else {\n      this.showTooltip();\n    }\n    this.customStates.set(\"focused\", true);\n    this.dispatchEvent(\n      new FocusEvent(\"focus\", { bubbles: true, composed: true })\n    );\n  }\n  handleBlur() {\n    if (this.isRange) {\n      requestAnimationFrame(() => {\n        const focusedElement = this.shadowRoot?.activeElement;\n        const thumbHasFocus = focusedElement === this.thumbMin || focusedElement === this.thumbMax;\n        if (!thumbHasFocus) {\n          this.hideRangeTooltips();\n        }\n      });\n    } else {\n      this.hideTooltip();\n    }\n    this.customStates.set(\"focused\", false);\n    this.dispatchEvent(\n      new FocusEvent(\"blur\", { bubbles: true, composed: true })\n    );\n  }\n  handleKeyDown(event) {\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    const target = event.target;\n    if (this.disabled || this.readonly) {\n      return;\n    }\n    if (this.isRange) {\n      if (target === this.thumbMin) {\n        this.activeThumb = \"min\";\n      } else if (target === this.thumbMax) {\n        this.activeThumb = \"max\";\n      }\n      if (!this.activeThumb) {\n        return;\n      }\n    }\n    const current = this.isRange ? this.activeThumb === \"min\" ? this.minValue : this.maxValue : this.value;\n    let newValue = current;\n    switch (event.key) {\n      case \"ArrowUp\":\n      case (isRTL2 ? \"ArrowLeft\" : \"ArrowRight\"):\n        event.preventDefault();\n        newValue = this.clampAndRoundToStep(current + this.step);\n        break;\n      case \"ArrowDown\":\n      case (isRTL2 ? \"ArrowRight\" : \"ArrowLeft\"):\n        event.preventDefault();\n        newValue = this.clampAndRoundToStep(current - this.step);\n        break;\n      case \"Home\":\n        event.preventDefault();\n        newValue = this.isRange && this.activeThumb === \"min\" ? this.min : this.isRange ? this.minValue : this.min;\n        break;\n      case \"End\":\n        event.preventDefault();\n        newValue = this.isRange && this.activeThumb === \"max\" ? this.max : this.isRange ? this.maxValue : this.max;\n        break;\n      case \"PageUp\":\n        event.preventDefault();\n        const stepUp = Math.max(\n          current + (this.max - this.min) / 10,\n          current + this.step\n        );\n        newValue = this.clampAndRoundToStep(stepUp);\n        break;\n      case \"PageDown\":\n        event.preventDefault();\n        const stepDown = Math.min(\n          current - (this.max - this.min) / 10,\n          current - this.step\n        );\n        newValue = this.clampAndRoundToStep(stepDown);\n        break;\n      case \"Enter\":\n        submitOnEnter(event, this);\n        return;\n    }\n    if (newValue === current) {\n      return;\n    }\n    if (this.isRange) {\n      if (this.activeThumb === \"min\") {\n        if (newValue > this.maxValue) {\n          this.maxValue = newValue;\n          this.minValue = newValue;\n        } else {\n          this.minValue = Math.max(this.min, newValue);\n        }\n      } else {\n        if (newValue < this.minValue) {\n          this.minValue = newValue;\n          this.maxValue = newValue;\n        } else {\n          this.maxValue = Math.min(this.max, newValue);\n        }\n      }\n      this.updateFormValue();\n    } else {\n      this.value = clamp(newValue, this.min, this.max);\n    }\n    this.updateComplete.then(() => {\n      this.dispatchEvent(\n        new Event(\"change\", { bubbles: true, composed: true })\n      );\n      this.dispatchEvent(\n        new InputEvent(\"input\", { bubbles: true, composed: true })\n      );\n    });\n    this.hasInteracted = true;\n  }\n  handleLabelPointerDown(event) {\n    event.preventDefault();\n    if (!this.disabled) {\n      if (this.isRange) {\n        this.thumbMin?.focus();\n      } else {\n        this.slider.focus();\n      }\n    }\n  }\n  setValueFromCoordinates(x2, y3) {\n    const oldValue = this.value;\n    this.value = this.getValueFromCoordinates(x2, y3);\n    if (this.value !== oldValue) {\n      this.updateComplete.then(() => {\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n      });\n    }\n  }\n  setThumbValueFromCoordinates(x2, y3, thumb) {\n    const value = this.getValueFromCoordinates(x2, y3);\n    const oldValue = thumb === \"min\" ? this.minValue : this.maxValue;\n    if (thumb === \"min\") {\n      if (value > this.maxValue) {\n        this.maxValue = value;\n        this.minValue = value;\n      } else {\n        this.minValue = Math.max(this.min, value);\n      }\n    } else {\n      if (value < this.minValue) {\n        this.minValue = value;\n        this.maxValue = value;\n      } else {\n        this.maxValue = Math.min(this.max, value);\n      }\n    }\n    if (oldValue !== (thumb === \"min\" ? this.minValue : this.maxValue)) {\n      this.updateFormValue();\n      this.updateComplete.then(() => {\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n      });\n    }\n  }\n  showTooltip() {\n    if (this.hasTooltip && this.tooltip) {\n      this.tooltip.open = true;\n    }\n  }\n  hideTooltip() {\n    if (this.hasTooltip && this.tooltip) {\n      this.tooltip.open = false;\n    }\n  }\n  showRangeTooltips() {\n    if (!this.hasTooltip) {\n      return;\n    }\n    if (this.activeThumb === \"min\") {\n      if (this.tooltipMin) {\n        this.tooltipMin.open = true;\n      }\n      if (this.tooltipMax) {\n        this.tooltipMax.open = false;\n      }\n    } else if (this.activeThumb === \"max\") {\n      if (this.tooltipMax) {\n        this.tooltipMax.open = true;\n      }\n      if (this.tooltipMin) {\n        this.tooltipMin.open = false;\n      }\n    }\n  }\n  hideRangeTooltips() {\n    if (!this.hasTooltip) {\n      return;\n    }\n    if (this.tooltipMin) {\n      this.tooltipMin.open = false;\n    }\n    if (this.tooltipMax) {\n      this.tooltipMax.open = false;\n    }\n  }\n  /** Updates the form value submission for range sliders. */\n  updateFormValue() {\n    if (this.isRange) {\n      const formData = new FormData();\n      formData.append(this.name || \"\", String(this.minValue));\n      formData.append(this.name || \"\", String(this.maxValue));\n      this.setValue(formData);\n    }\n  }\n  /** Focuses the slider. */\n  focus() {\n    if (this.isRange) {\n      this.thumbMin?.focus();\n    } else {\n      this.slider.focus();\n    }\n  }\n  /** Unfocuses the slider (i.e., blurs it). */\n  blur() {\n    if (this.isRange) {\n      if (document.activeElement === this.thumbMin) {\n        this.thumbMin.blur();\n      } else if (document.activeElement === this.thumbMax) {\n        this.thumbMax.blur();\n      }\n    } else {\n      this.slider.blur();\n    }\n  }\n  /** Decreases the slider’s value by `step`. This is a programmatic change, so `change` and `input` events will not be emitted when this is called. */\n  stepDown() {\n    if (this.isRange) {\n      const newValue = this.clampAndRoundToStep(\n        this.minValue - this.step\n      );\n      this.minValue = clamp(newValue, this.min, this.maxValue);\n      this.updateFormValue();\n    } else {\n      const newValue = this.clampAndRoundToStep(this.value - this.step);\n      this.value = newValue;\n    }\n  }\n  /** Increases the slider’s value by `step`. This is a programmatic change, so `change` and `input` events will not be emitted when this is called. */\n  stepUp() {\n    if (this.isRange) {\n      const newValue = this.clampAndRoundToStep(\n        this.maxValue + this.step\n      );\n      this.maxValue = clamp(newValue, this.minValue, this.max);\n      this.updateFormValue();\n    } else {\n      const newValue = this.clampAndRoundToStep(this.value + this.step);\n      this.value = newValue;\n    }\n  }\n  render() {\n    const hasLabelSlot = this.hasSlotController.test(\"label\");\n    const hasHintSlot = this.hasSlotController.test(\"hint\");\n    const hasLabel = this.label ? true : !!hasLabelSlot;\n    const hasHint = this.hint ? true : !!hasHintSlot;\n    const hasReference = this.hasSlotController.test(\"reference\");\n    const sliderClasses = e7({\n      slider: true,\n      small: this.size === \"small\",\n      medium: this.size === \"medium\",\n      large: this.size === \"large\",\n      horizontal: this.orientation === \"horizontal\",\n      vertical: this.orientation === \"vertical\",\n      disabled: this.disabled\n    });\n    const markers = [];\n    if (this.withMarkers) {\n      for (let i8 = this.min; i8 <= this.max; i8 += this.step) {\n        markers.push(this.getPercentageFromValue(i8));\n      }\n    }\n    const label = x`\n            <label\n                part=\"label\"\n                class=${e7({\n      \"label\": true,\n      \"has-label\": hasLabel\n    })}\n                id=\"label\"\n                for=${this.isRange ? \"thumb-min\" : \"text-box\"}\n                @pointerdown=${this.handleLabelPointerDown}\n            >\n                <slot name=\"label\">${this.label}</slot>\n            </label>\n        `;\n    const hint = x`\n            <slot\n                part=\"hint\"\n                class=${e7({\n      \"hint\": true,\n      \"has-hint\": hasHint\n    })}\n                id=\"hint\"\n                name=\"hint\"\n            >\n                ${this.hint}\n            </slot>\n        `;\n    const markersTemplate = this.withMarkers ? x`\n                  <div part=\"markers\" class=\"markers\">\n                      ${markers.map(\n      (marker) => x`\n                              <span\n                                  part=\"marker\"\n                                  class=\"marker\"\n                                  style=${o7({\n        \"--position\": `${marker}%`\n      })}\n                              ></span>\n                          `\n    )}\n                  </div>\n              ` : \"\";\n    const referencesTemplate = hasReference ? x`\n                  <div part=\"references\" class=\"references\" aria-hidden=\"true\">\n                      <slot name=\"reference\"></slot>\n                  </div>\n              ` : \"\";\n    if (this.isRange) {\n      const minThumbPosition = clamp(\n        this.getPercentageFromValue(this.minValue),\n        0,\n        100\n      );\n      const maxThumbPosition = clamp(\n        this.getPercentageFromValue(this.maxValue),\n        0,\n        100\n      );\n      return x`\n                ${label}\n\n                <div part=\"slider\" class=\"slider\" class=${sliderClasses}>\n                    <div part=\"track\" class=\"track\">\n                        <div\n                            part=\"indicator\"\n                            class=\"indicator\"\n                            style=${o7({\n        \"--start\": `${Math.min(minThumbPosition, maxThumbPosition)}%`,\n        \"--end\": `${Math.max(minThumbPosition, maxThumbPosition)}%`\n      })}\n                        ></div>\n\n                        ${markersTemplate}\n\n                        <pc-tooltip\n                            part=\"tooltip tooltip-min\"\n                            content=${this.valueFormatter ? this.valueFormatter(this.minValue) : this.localize.number(this.minValue)}\n                            trigger=\"manual\"\n                            distance=${this.tooltipDistance}\n                            placement=${this.tooltipPlacement}\n                            activation=\"manual\"\n                            dir=${this.localize.dir()}\n                            exportparts=\"\n                                base:tooltip-base,\n                                body:tooltip-body,\n                                arrow:tooltip-arrow\n                            \"\n                        >\n                            <span\n                                part=\"thumb thumb-min\"\n                                class=\"thumb-min\"\n                                style=${o7({\n        \"--position\": `${minThumbPosition}%`\n      })}\n                                role=\"slider\"\n                                tabindex=${this.disabled ? -1 : 0}\n                                aria-valuemin=${this.min}\n                                aria-valuemax=${this.max}\n                                aria-valuenow=${this.minValue}\n                                aria-valuetext=${this.valueFormatter ? this.valueFormatter(this.minValue) : this.localize.number(this.minValue)}\n                                aria-label=${this.label ? this.localize.term(\n        \"minimumValueDescriptive\",\n        this.label\n      ) : this.localize.term(\"minimumValue\")}\n                                aria-orientation=${this.orientation}\n                                aria-disabled=${this.disabled}\n                                aria-readonly=${this.readonly}\n                                @focus=${this.handleFocus}\n                                @blur=${this.handleBlur}\n                                @keydown=${this.handleKeyDown}\n                            ></span>\n                        </pc-tooltip>\n\n                        <pc-tooltip\n                            part=\"tooltip tooltip-max\"\n                            trigger=\"manual\"\n                            content=${this.valueFormatter ? this.valueFormatter(this.maxValue) : this.localize.number(this.maxValue)}\n                            distance=${this.tooltipDistance}\n                            placement=${this.tooltipPlacement}\n                            activation=\"manual\"\n                            dir=${this.localize.dir()}\n                            exportparts=\"\n                                base:tooltip-base,\n                                body:tooltip-body,\n                                arrow:tooltip-arrow\n                            \"\n                        >\n                            <span\n                                part=\"thumb thumb-max\"\n                                class=\"thumb-max\"\n                                style=${o7({\n        \"--position\": `${maxThumbPosition}%`\n      })}\n                                role=\"slider\"\n                                aria-valuemin=${this.min}\n                                aria-valuenow=${this.maxValue}\n                                aria-valuetext=${typeof this.valueFormatter === \"function\" ? this.valueFormatter(this.maxValue) : this.localize.number(this.maxValue)}\n                                aria-valuemax=${this.max}\n                                aria-label=${this.label ? this.localize.term(\n        \"maximumValueDescriptive\",\n        this.label\n      ) : this.localize.term(\"maximumValue\")}\n                                aria-orientation=${this.orientation}\n                                aria-disabled=${this.disabled ? \"true\" : \"false\"}\n                                aria-readonly=${this.readonly ? \"true\" : \"false\"}\n                                tabindex=${this.disabled ? -1 : 0}\n                                @focus=${this.handleFocus}\n                                @blur=${this.handleBlur}\n                                @keydown=${this.handleKeyDown}\n                            ></span>\n                        </pc-tooltip>\n                    </div>\n\n                    ${referencesTemplate} ${hint}\n                </div>\n            `;\n    } else {\n      const thumbPosition = clamp(\n        this.getPercentageFromValue(this.value),\n        0,\n        100\n      );\n      const indicatorOffsetPosition = clamp(\n        this.getPercentageFromValue(\n          typeof this.indicatorOffset === \"number\" ? this.indicatorOffset : this.min\n        ),\n        0,\n        100\n      );\n      return x`\n                ${label}\n\n                <div\n                    part=\"slider\"\n                    class=${sliderClasses}\n                    role=\"slider\"\n                    tabindex=${this.disabled ? -1 : 0}\n                    aria-disabled=${this.disabled ? \"true\" : \"false\"}\n                    aria-readonly=${this.disabled ? \"true\" : \"false\"}\n                    aria-orientation=${this.orientation}\n                    aria-valuemin=${this.min}\n                    aria-valuenow=${this.value}\n                    aria-valuetext=${typeof this.valueFormatter === \"function\" ? this.valueFormatter(this.value) : this.localize.number(this.value)}\n                    aria-valuemax=${this.max}\n                    aria-labelledby=\"label\"\n                    aria-describedby=\"hint\"\n                    @focus=${this.handleFocus}\n                    @blur=${this.handleBlur}\n                    @keydown=${this.handleKeyDown}\n                >\n                    <div part=\"track\" class=\"track\">\n                        <div\n                            part=\"indicator\"\n                            class=\"indicator\"\n                            style=${o7({\n        \"--start\": `${indicatorOffsetPosition}%`,\n        \"--end\": `${thumbPosition}%`\n      })}\n                        ></div>\n\n                        ${markersTemplate}\n\n                        <pc-tooltip\n                            part=\"tooltip\"\n                            class=\"tooltip\"\n                            content=${this.valueFormatter ? this.valueFormatter(this.value) : this.localize.number(this.value)}\n                            trigger=\"manual\"\n                            distance=${this.tooltipDistance}\n                            placement=${this.tooltipPlacement}\n                            activation=\"manual\"\n                            dir=${this.localize.dir()}\n                            exportparts=\"\n                                base:tooltip__base,\n                                body:tooltip__body,\n                                arrow:tooltip__arrow\n                            \"\n                        >\n                            <span\n                                part=\"thumb\"\n                                class=\"thumb\"\n                                style=${o7({\n        \"--position\": `${thumbPosition}%`\n      })}\n                            ></span>\n                        </pc-tooltip>\n                    </div>\n\n                    ${referencesTemplate} ${hint}\n                </div>\n            `;\n    }\n  }\n};\nPcSlider.formAssociated = true;\nPcSlider.observeSlots = true;\nPcSlider.css = [size_default, form_control_default, slider_default];\n__decorateClass([\n  e5('[part~=\"slider\"]')\n], PcSlider.prototype, \"slider\", 2);\n__decorateClass([\n  e5('[part~=\"thumb\"]')\n], PcSlider.prototype, \"thumb\", 2);\n__decorateClass([\n  e5('[part~=\"thumb-min\"]')\n], PcSlider.prototype, \"thumbMin\", 2);\n__decorateClass([\n  e5('[part~=\"thumb-max\"]')\n], PcSlider.prototype, \"thumbMax\", 2);\n__decorateClass([\n  e5('[part~=\"track\"]')\n], PcSlider.prototype, \"track\", 2);\n__decorateClass([\n  e5('[part~=\"tooltip-min\"]')\n], PcSlider.prototype, \"tooltipMin\", 2);\n__decorateClass([\n  e5('[part~=\"tooltip-max\"]')\n], PcSlider.prototype, \"tooltipMax\", 2);\n__decorateClass([\n  e5('[part~=\"tooltip\"]')\n], PcSlider.prototype, \"tooltip\", 2);\n__decorateClass([\n  n4()\n], PcSlider.prototype, \"label\", 2);\n__decorateClass([\n  n4({ attribute: \"hint\" })\n], PcSlider.prototype, \"hint\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcSlider.prototype, \"name\", 2);\n__decorateClass([\n  n4({ type: Number, attribute: \"min-value\" })\n], PcSlider.prototype, \"minValue\", 2);\n__decorateClass([\n  n4({ type: Number, attribute: \"max-value\" })\n], PcSlider.prototype, \"maxValue\", 2);\n__decorateClass([\n  n4({ attribute: \"value\", reflect: true, type: Number })\n], PcSlider.prototype, \"defaultValue\", 2);\n__decorateClass([\n  r5()\n], PcSlider.prototype, \"value\", 1);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcSlider.prototype, \"range\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcSlider.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcSlider.prototype, \"readonly\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcSlider.prototype, \"orientation\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcSlider.prototype, \"size\", 2);\n__decorateClass([\n  n4({ attribute: \"indicator-offset\", type: Number })\n], PcSlider.prototype, \"indicatorOffset\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcSlider.prototype, \"min\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcSlider.prototype, \"max\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcSlider.prototype, \"step\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcSlider.prototype, \"required\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcSlider.prototype, \"autofocus\", 2);\n__decorateClass([\n  n4({ attribute: \"tooltip-distance\", type: Number })\n], PcSlider.prototype, \"tooltipDistance\", 2);\n__decorateClass([\n  n4({ attribute: \"tooltip-placement\", reflect: true })\n], PcSlider.prototype, \"tooltipPlacement\", 2);\n__decorateClass([\n  n4({ attribute: \"with-markers\", type: Boolean })\n], PcSlider.prototype, \"withMarkers\", 2);\n__decorateClass([\n  n4({ attribute: \"has-tooltip\", type: Boolean })\n], PcSlider.prototype, \"hasTooltip\", 2);\n__decorateClass([\n  n4({ attribute: false })\n], PcSlider.prototype, \"valueFormatter\", 2);\nPcSlider = __decorateClass([\n  t3(\"pc-slider\")\n], PcSlider);\n\n// src/components/skeleton/skeleton.css\nvar skeleton_default = ':host {\\n    --color: var(--pc-color-neutral-fill-normal);\\n    --sheen-color: color-mix(\\n        in oklab,\\n        var(--color),\\n        var(--pc-color-surface-raised) 40%\\n    );\\n\\n    display: flex;\\n    position: relative;\\n    inline-size: 100%;\\n    min-block-size: 1rem;\\n    block-size: 100%;\\n}\\n\\n.indicator {\\n    flex: 1 1 auto;\\n    background-color: var(--color);\\n    border-radius: var(--pc-border-radius-pill);\\n}\\n\\n:host([effect=\"sheen\"]) .indicator {\\n    background: linear-gradient(\\n        270deg,\\n        var(--sheen-color),\\n        var(--color),\\n        var(--color),\\n        var(--sheen-color)\\n    );\\n    background-size: 400% 100%;\\n    animation: sheen 8s ease-in-out infinite;\\n}\\n\\n:host([effect=\"pulse\"]) .indicator {\\n    animation: pulse 2s ease-in-out infinite;\\n    animation-delay: 0.5s;\\n}\\n\\n@keyframes sheen {\\n    0% {\\n        background-position: 200% 0;\\n    }\\n\\n    100% {\\n        background-position: -200% 0;\\n    }\\n}\\n\\n@keyframes pulse {\\n    0% {\\n        opacity: 1;\\n    }\\n\\n    50% {\\n        opacity: 0.4;\\n    }\\n\\n    100% {\\n        opacity: 1;\\n    }\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n    .indicator {\\n        animation: none !important;\\n    }\\n}\\n\\n@media (forced-colors: active) {\\n    :host {\\n        --color: GrayText;\\n    }\\n}\\n';\n\n// src/components/skeleton/skeleton.ts\nvar PcSkeleton = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.effect = \"none\";\n  }\n  render() {\n    return x`<div part=\"indicator\" class=\"indicator\"></div>`;\n  }\n};\nPcSkeleton.css = skeleton_default;\n__decorateClass([\n  n4({ reflect: true })\n], PcSkeleton.prototype, \"effect\", 2);\nPcSkeleton = __decorateClass([\n  t3(\"pc-skeleton\")\n], PcSkeleton);\n\n// src/components/spinner/spinner.css\nvar spinner_default = \":host {\\n    --track-width: 0.125rem;\\n    --track-color: var(--pc-color-neutral-fill-normal);\\n    --indicator-color: var(--pc-color-primary-fill-loud);\\n    --speed: 2s;\\n\\n    display: inline-flex;\\n    inline-size: 1em;\\n    block-size: 1em;\\n    flex: none;\\n}\\n\\n.spinner {\\n    flex: 1 1 auto;\\n    inline-size: 100%;\\n    block-size: 100%;\\n    overflow: visible;\\n}\\n\\n.track,\\n.indicator {\\n    fill: none;\\n    stroke-width: var(--track-width);\\n    r: calc(0.5em - var(--track-width) / 2);\\n    cx: 0.5em;\\n    cy: 0.5em;\\n    transform-origin: 50% 50%;\\n}\\n\\n.track {\\n    stroke: var(--track-color);\\n    transform-origin: 0% 0%;\\n}\\n\\n.indicator {\\n    stroke: var(--indicator-color);\\n    stroke-linecap: round;\\n    stroke-dasharray: 150% 75%;\\n    animation: spin var(--speed) linear infinite;\\n}\\n\\n@keyframes spin {\\n    0% {\\n        rotate: 0deg;\\n        stroke-dasharray: 0% 314.159%;\\n    }\\n\\n    50% {\\n        rotate: 450deg;\\n        stroke-dasharray: 157.08% 157.08%;\\n    }\\n\\n    100% {\\n        rotate: 1080deg;\\n        stroke-dasharray: 0% 314.159%;\\n    }\\n}\\n\";\n\n// src/components/spinner/spinner.ts\nvar PcSpinner = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n  }\n  render() {\n    return x`\n            <svg\n                class=\"spinner\"\n                part=\"base\"\n                role=\"progressbar\"\n                aria-label=${this.localize.term(\"loading\")}\n            >\n                <circle class=\"track\"></circle>\n                <circle class=\"indicator\"></circle>\n            </svg>\n        `;\n  }\n};\nPcSpinner.css = spinner_default;\nPcSpinner = __decorateClass([\n  t3(\"pc-spinner\")\n], PcSpinner);\n\n// src/components/switch/switch.css\nvar switch_default = ':host {\\n    --width: calc(var(--height) * 1.75);\\n    --height: var(--pc-form-control-toggle-size);\\n    --thumb-size: 0.75em;\\n\\n    display: inline-flex;\\n    line-height: var(--pc-form-control-value-line-height);\\n}\\n\\nlabel {\\n    display: flex;\\n    position: relative;\\n    align-items: center;\\n    color: var(--pc-form-control-value-color);\\n    font: inherit;\\n    vertical-align: middle;\\n    cursor: pointer;\\n}\\n\\n.switch {\\n    display: flex;\\n    position: relative;\\n    align-items: center;\\n    justify-content: center;\\n    flex: 0 0 auto;\\n    inline-size: var(--width);\\n    block-size: var(--height);\\n    background-color: var(--pc-form-control-background-color);\\n    border: var(--pc-form-control-border-width)\\n        var(--pc-form-control-border-style) var(--pc-form-control-border-color);\\n    border-radius: var(--pc-border-radius-pill);\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n@media (hover: hover) {\\n    label:not(.disabled) .switch:hover {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-form-control-background-color),\\n            var(--pc-color-mix-hover)\\n        );\\n        border-color: color-mix(\\n            in oklab,\\n            var(--pc-form-control-border-color),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\nlabel:not(.disabled) .switch:active {\\n    background-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-background-color),\\n        var(--pc-color-mix-active)\\n    );\\n    border-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-border-color),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n.switch .thumb {\\n    inline-size: var(--thumb-size);\\n    block-size: var(--thumb-size);\\n    aspect-ratio: 1 / 1;\\n    background-color: var(--pc-form-control-border-color);\\n    border-radius: var(--pc-border-radius-circle);\\n    translate: calc((var(--width) - var(--height)) / -2);\\n    transition:\\n        all var(--pc-transition-fast) ease-in-out,\\n        translate var(--pc-transition-medium) cubic-bezier(0.34, 1.35, 0.64, 1);\\n}\\n\\n.input {\\n    position: absolute;\\n    margin: 0;\\n    padding: 0;\\n    opacity: 0;\\n    pointer-events: none;\\n}\\n\\nlabel:not(.disabled) .input:focus-visible ~ .switch .thumb {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.checked:not(.disabled) .switch {\\n    background-color: var(--pc-form-control-activated-color);\\n    border-color: var(--pc-form-control-activated-color);\\n}\\n\\n@media (hover: hover) {\\n    .checked:not(.disabled) .switch:hover {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-form-control-activated-color),\\n            var(--pc-color-mix-hover)\\n        );\\n        border-color: color-mix(\\n            in oklab,\\n            var(--pc-form-control-activated-color),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n.checked:not(.disabled) .switch:active {\\n    background-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-activated-color),\\n        var(--pc-color-mix-active)\\n    );\\n    border-color: color-mix(\\n        in oklab,\\n        var(--pc-form-control-activated-color),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n.checked .switch .thumb {\\n    background-color: var(--pc-color-surface-default);\\n    translate: calc((var(--width) - var(--height)) / 2);\\n}\\n\\nlabel:has(> :disabled) {\\n    opacity: 0.5;\\n    cursor: not-allowed;\\n}\\n\\n[part~=\"label\"] {\\n    display: inline-flex;\\n    line-height: var(--height);\\n    margin-inline-start: 0.5em;\\n    user-select: none;\\n    -webkit-user-select: none;\\n}\\n\\n:host([required]) [part~=\"label\"]::after {\\n    content: var(--pc-form-control-required-content);\\n    color: var(--pc-form-control-required-content-color);\\n    margin-inline-start: var(--pc-form-control-required-content-offset);\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n\\n@media (forced-colors: active) {\\n    :checked:enabled + .switch:hover .thumb,\\n    :checked + .switch .thumb {\\n        background-color: ButtonText;\\n    }\\n}\\n';\n\n// src/components/switch/switch.ts\nvar PcSwitch = class extends PlacerFormAssociatedElement {\n  constructor() {\n    super(...arguments);\n    this.hasSlotController = new HasSlotController(this, \"hint\");\n    this.title = \"\";\n    this.name = \"\";\n    this._value = this.getAttribute(\"value\") ?? null;\n    this.size = \"medium\";\n    this.disabled = false;\n    this.checked = false;\n    this.defaultChecked = this.hasAttribute(\"checked\");\n    this.required = false;\n    this.hint = \"\";\n  }\n  static get validators() {\n    return [...super.validators, MirrorValidator()];\n  }\n  /** The current value of the switch, submitted as a name/value pair with form data. */\n  get value() {\n    return this._value ?? \"on\";\n  }\n  set value(value) {\n    this._value = value;\n  }\n  firstUpdated(changedProperties) {\n    super.firstUpdated(changedProperties);\n    this.handleValueOrCheckedChange();\n  }\n  handleClick() {\n    this.hasInteracted = true;\n    this.checked = !this.checked;\n    this.updateComplete.then(() => {\n      this.dispatchEvent(\n        new Event(\"change\", { bubbles: true, composed: true })\n      );\n    });\n  }\n  handleKeyDown(event) {\n    if (event.key === \"ArrowLeft\") {\n      event.preventDefault();\n      this.checked = false;\n      this.updateComplete.then(() => {\n        this.dispatchEvent(\n          new Event(\"change\", { bubbles: true, composed: true })\n        );\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n      });\n    } else if (event.key === \"ArrowRight\") {\n      event.preventDefault();\n      this.checked = true;\n      this.updateComplete.then(() => {\n        this.dispatchEvent(\n          new Event(\"change\", { bubbles: true, composed: true })\n        );\n        this.dispatchEvent(\n          new InputEvent(\"input\", { bubbles: true, composed: true })\n        );\n      });\n    }\n  }\n  willUpdate(changedProperties) {\n    super.willUpdate(changedProperties);\n    if (changedProperties.has(\"defaultChecked\")) {\n      if (!this.hasInteracted) {\n        this.checked = this.defaultChecked;\n      }\n    }\n    if (changedProperties.has(\"value\") || changedProperties.has(\"checked\")) {\n      this.handleValueOrCheckedChange();\n    }\n  }\n  handleValueOrCheckedChange() {\n    this.setValue(this.checked ? this.value : null, this._value);\n    this.updateValidity();\n  }\n  handleDefaultCheckedChange() {\n    if (!this.hasInteracted && this.checked !== this.defaultChecked) {\n      this.checked = this.defaultChecked;\n      this.handleValueOrCheckedChange();\n    }\n  }\n  handleStateChange() {\n    if (this.hasUpdated) {\n      this.input.checked = this.checked;\n    }\n    this.customStates.set(\"checked\", this.checked);\n    this.updateValidity();\n  }\n  handleDisabledChange() {\n    this.updateValidity();\n  }\n  /** Simulates a click on the switch. */\n  click() {\n    this.input.click();\n  }\n  /** Focuses the switch. */\n  focus(options) {\n    this.input.focus(options);\n  }\n  /** Unfocuses the switch (i.e., blurs it). */\n  blur() {\n    this.input.blur();\n  }\n  setValue(value, stateValue) {\n    if (!this.checked) {\n      this.internals.setFormValue(null, null);\n      return;\n    }\n    this.internals.setFormValue(value ?? \"on\", stateValue);\n  }\n  formResetCallback() {\n    this.checked = this.defaultChecked;\n    super.formResetCallback();\n    this.handleValueOrCheckedChange();\n  }\n  render() {\n    const hasHintSlot = this.hasSlotController.test(\"hint\");\n    const hasHint = this.hint ? true : !!hasHintSlot;\n    return x`\n            <label\n                part=\"base\"\n                class=${e7({\n      checked: this.checked,\n      disabled: this.disabled\n    })}\n            >\n                <input\n                    class=\"input\"\n                    type=\"checkbox\"\n                    role=\"switch\"\n                    title=${this.title}\n                    name=${this.name}\n                    value=${o6(this.value)}\n                    .checked=${l3(this.checked)}\n                    .disabled=${this.disabled}\n                    .required=${this.required}\n                    aria-checked=${this.checked ? \"true\" : \"false\"}\n                    aria-describedby=\"hint\"\n                    @click=${this.handleClick}\n                    @keydown=${this.handleKeyDown}\n                />\n\n                <span part=\"control\" class=\"switch\">\n                    <span part=\"thumb\" class=\"thumb\"></span>\n                </span>\n\n                <slot class=\"label\" part=\"label\"></slot>\n            </label>\n\n            <slot\n                part=\"hint\"\n                class=${e7({ \"has-hint\": hasHint })}\n                id=\"hint\"\n                name=\"hint\"\n                aria-hidden=${hasHint ? \"false\" : \"true\"}\n            >\n                ${this.hint}\n            </slot>\n        `;\n  }\n};\nPcSwitch.shadowRootOptions = {\n  ...PlacerFormAssociatedElement.shadowRootOptions,\n  delegatesFocus: true\n};\nPcSwitch.css = [form_control_default, size_default, switch_default];\n__decorateClass([\n  e5('input[type=\"checkbox\"]')\n], PcSwitch.prototype, \"input\", 2);\n__decorateClass([\n  n4()\n], PcSwitch.prototype, \"title\", 2);\n__decorateClass([\n  n4()\n], PcSwitch.prototype, \"name\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcSwitch.prototype, \"value\", 1);\n__decorateClass([\n  n4({ reflect: true })\n], PcSwitch.prototype, \"size\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcSwitch.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcSwitch.prototype, \"checked\", 2);\n__decorateClass([\n  n4({ type: Boolean, attribute: \"checked\", reflect: true })\n], PcSwitch.prototype, \"defaultChecked\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcSwitch.prototype, \"required\", 2);\n__decorateClass([\n  n4()\n], PcSwitch.prototype, \"hint\", 2);\n__decorateClass([\n  watch(\"defaultChecked\")\n], PcSwitch.prototype, \"handleDefaultCheckedChange\", 1);\n__decorateClass([\n  watch([\"checked\"])\n], PcSwitch.prototype, \"handleStateChange\", 1);\n__decorateClass([\n  watch(\"disabled\", { waitUntilFirstUpdate: true })\n], PcSwitch.prototype, \"handleDisabledChange\", 1);\nPcSwitch = __decorateClass([\n  t3(\"pc-switch\")\n], PcSwitch);\n\n// src/events/pc-close.ts\nvar PcCloseEvent = class extends Event {\n  constructor() {\n    super(\"pc-close\", { bubbles: true, cancelable: false, composed: true });\n  }\n};\n\n// src/components/tab/tab.css\nvar tab_default = \":host {\\n    display: inline-block;\\n}\\n\\n:host(:focus) {\\n    outline: transparent;\\n}\\n\\n:host(:focus-visible) {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: calc(\\n        -1 * var(--pc-focus-ring-width) - var(--pc-focus-ring-offset)\\n    );\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n.tab {\\n    display: inline-flex;\\n    align-items: center;\\n    font-family: var(--pc-font-sans);\\n    font-size: var(--pc-font-size-s);\\n    font-weight: var(--pc-font-weight-semibold);\\n    border-radius: var(--pc-border-radius-m);\\n    color: var(--pc-color-neutral-on-quiet);\\n    padding: var(--pc-spacing-m);\\n    white-space: nowrap;\\n    user-select: none;\\n    -webkit-user-select: none;\\n    cursor: pointer;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n@media (hover: hover) {\\n    .tab:hover:not(.disabled, .active) {\\n        color: color-mix(\\n            in oklab,\\n            var(--pc-color-neutral-on-quiet),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n.tab:active:not(.disabled, .active) {\\n    color: color-mix(\\n        in oklab,\\n        var(--pc-color-neutral-on-quiet),\\n        var(--pc-color-mix-active)\\n    );\\n}\\n\\n.tab:focus-visible:not(.disabled, .active) {\\n    color: color-mix(\\n        in oklab,\\n        var(--pc-color-neutral-on-quiet),\\n        var(--pc-color-mix-hover)\\n    );\\n}\\n\\n.tab.active:not(.disabled) {\\n    color: var(--pc-color-text-normal);\\n}\\n\\n.tab.closable {\\n    padding-inline-end: var(--pc-spacing-s);\\n}\\n\\n.tab.disabled {\\n    opacity: 0.5;\\n    cursor: not-allowed;\\n}\\n\\n.close-button {\\n    margin-inline-start: var(--pc-spacing-s);\\n}\\n\\n.close-button::part(base) {\\n    padding: 0;\\n    inline-size: 100%;\\n    block-size: 100%;\\n    background-color: transparent;\\n    vertical-align: middle;\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n\\n@media (forced-colors: active) {\\n    .tab.active:not(.disabled) {\\n        outline: var(--pc-border-width-s) var(--pc-border-style) transparent;\\n        outline-offset: -0.1875rem;\\n    }\\n}\\n\";\n\n// src/components/tab/tab.ts\nvar id = 0;\nvar PcTab = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n    this.attributeID = ++id;\n    this.componentID = `pc-tab-${this.attributeID}`;\n    this.panel = \"\";\n    this.active = false;\n    this.closable = false;\n    this.disabled = false;\n    this.tabIndex = 0;\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.setAttribute(\"role\", \"tab\");\n  }\n  handleCloseClick(event) {\n    event.stopPropagation();\n    this.dispatchEvent(new PcCloseEvent());\n  }\n  handleActiveChange() {\n    this.setAttribute(\"aria-selected\", this.active ? \"true\" : \"false\");\n  }\n  handleDisabledChange() {\n    this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n    if (this.disabled && !this.active) {\n      this.tabIndex = -1;\n    }\n  }\n  render() {\n    this.id = this.id.length > 0 ? this.id : this.componentID;\n    return x`\n            <div\n                part=\"base\"\n                class=${e7({\n      tab: true,\n      active: this.active,\n      closable: this.closable,\n      disabled: this.disabled\n    })}\n            >\n                <slot></slot>\n\n                ${this.closable ? x`\n                          <pc-button\n                              class=\"close-button\"\n                              size=\"small\"\n                              variant=\"plain\"\n                              tabindex=\"-1\"\n                              @click=${this.handleCloseClick}\n                              exportparts=\"base:close-button-base\"\n                          >\n                              <pc-icon\n                                  library=\"system\"\n                                  icon-style=\"solid\"\n                                  name=\"xmark\"\n                                  label=${this.localize.term(\"close\")}\n                              ></pc-icon>\n                          </pc-button>\n                      ` : \"\"}\n            </div>\n        `;\n  }\n};\nPcTab.css = tab_default;\nPcTab.dependencies = { \"pc-button\": PcButton };\n__decorateClass([\n  e5(\".tab\")\n], PcTab.prototype, \"tab\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcTab.prototype, \"panel\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcTab.prototype, \"active\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcTab.prototype, \"closable\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcTab.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ type: Number, reflect: true })\n], PcTab.prototype, \"tabIndex\", 2);\n__decorateClass([\n  watch(\"active\")\n], PcTab.prototype, \"handleActiveChange\", 1);\n__decorateClass([\n  watch(\"disabled\")\n], PcTab.prototype, \"handleDisabledChange\", 1);\nPcTab = __decorateClass([\n  t3(\"pc-tab\")\n], PcTab);\n\n// src/events/pc-tab-hide.ts\nvar PcTabHideEvent = class extends Event {\n  constructor(detail) {\n    super(\"pc-tab-hide\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n    this.detail = detail;\n  }\n};\n\n// src/events/pc-tab-show.ts\nvar PcTabShowEvent = class extends Event {\n  constructor(detail) {\n    super(\"pc-tab-show\", {\n      bubbles: true,\n      cancelable: false,\n      composed: true\n    });\n    this.detail = detail;\n  }\n};\n\n// src/internal/scrollend-polyfill.ts\nvar debounce = (fn, delay) => {\n  let timerId = 0;\n  return function(...args) {\n    window.clearTimeout(timerId);\n    timerId = window.setTimeout(() => {\n      fn.call(this, ...args);\n    }, delay);\n  };\n};\nvar decorate = (proto, method, decorateFn) => {\n  const superFn = proto[method];\n  proto[method] = function(...args) {\n    superFn.call(this, ...args);\n    decorateFn.call(this, superFn, ...args);\n  };\n};\n(() => {\n  if (typeof window === \"undefined\") {\n    return;\n  }\n  const isSupported = \"onscrollend\" in window;\n  if (!isSupported) {\n    const pointers = /* @__PURE__ */ new Set();\n    const scrollHandlers = /* @__PURE__ */ new WeakMap();\n    const handlePointerDown = (event) => {\n      for (const touch of Array.from(event.changedTouches)) {\n        pointers.add(touch.identifier);\n      }\n    };\n    const handlePointerUp = (event) => {\n      for (const touch of Array.from(event.changedTouches)) {\n        pointers.delete(touch.identifier);\n      }\n    };\n    document.addEventListener(\"touchstart\", handlePointerDown, true);\n    document.addEventListener(\"touchend\", handlePointerUp, true);\n    document.addEventListener(\"touchcancel\", handlePointerUp, true);\n    decorate(\n      EventTarget.prototype,\n      \"addEventListener\",\n      function(addEventListener, type) {\n        if (type !== \"scrollend\") return;\n        const handleScrollEnd = debounce(() => {\n          if (!pointers.size) {\n            this.dispatchEvent(new Event(\"scrollend\"));\n          } else {\n            handleScrollEnd();\n          }\n        }, 100);\n        addEventListener.call(this, \"scroll\", handleScrollEnd, {\n          passive: true\n        });\n        scrollHandlers.set(this, handleScrollEnd);\n      }\n    );\n    decorate(\n      EventTarget.prototype,\n      \"removeEventListener\",\n      function(removeEventListener, type) {\n        if (type !== \"scrollend\") {\n          return;\n        }\n        const scrollHandler = scrollHandlers.get(this);\n        if (scrollHandler) {\n          removeEventListener.call(this, \"scroll\", scrollHandler, {\n            passive: true\n          });\n        }\n      }\n    );\n  }\n})();\n\n// src/components/tab-group/tab-group.css\nvar tab_group_default = \":host {\\n    --indicator-color: var(--pc-color-primary-fill-loud);\\n    --track-width: 4px;\\n\\n    display: block;\\n}\\n\\n.tab-group {\\n    display: flex;\\n    border-radius: 0;\\n}\\n\\n.tabs {\\n    display: flex;\\n    position: relative;\\n}\\n\\n.indicator {\\n    position: absolute;\\n    transition: all var(--pc-transition-medium) ease-in-out;\\n}\\n\\n.has-scroll-controls .navigation-container {\\n    position: relative;\\n    padding-inline: calc(var(--pc-spacing-xxxl) + var(--pc-spacing-xs));\\n}\\n\\n.has-scroll-controls .scroll-button-start-hidden,\\n.has-scroll-controls .scroll-button-end-hidden {\\n    opacity: 0;\\n    pointer-events: none;\\n    visibility: hidden;\\n}\\n\\n.navigation-container,\\n.navigation {\\n    outline: none;\\n}\\n\\n.body {\\n    display: block;\\n}\\n\\n.scroll-button {\\n    display: flex;\\n    position: absolute;\\n    align-items: center;\\n    justify-content: center;\\n    inset-block: 0;\\n    opacity: 1;\\n    visibility: visible;\\n    pointer-events: auto;\\n    transition:\\n        opacity var(--pc-transition-fast) ease-in-out,\\n        visibility 0s ease-in-out var(--pc-transition-fast);\\n}\\n\\n.scroll-button-start {\\n    inset-inline-start: 0;\\n}\\n\\n.scroll-button-end {\\n    inset-inline-end: 0;\\n}\\n\\n.is-rtl .scroll-button-start {\\n    inset-inline-start: auto;\\n    inset-inline-end: 0;\\n}\\n\\n.is-rtl .scroll-button-end {\\n    inset-inline-start: 0;\\n    inset-inline-end: auto;\\n}\\n\\n.top {\\n    flex-direction: column;\\n}\\n\\n.top .navigation-container {\\n    order: 1;\\n}\\n\\n.top .navigation {\\n    display: flex;\\n    overflow-x: auto;\\n    scrollbar-width: none;\\n}\\n\\n.top .navigation::-webkit-scrollbar {\\n    inline-size: 0;\\n    block-size: 0;\\n}\\n\\n.top .tabs {\\n    position: relative;\\n    flex-direction: row;\\n    flex: 1 1 auto;\\n}\\n\\n.top .indicator {\\n    inset-block-end: 0;\\n    min-block-size: var(--track-width);\\n    background-color: var(--indicator-color);\\n    border-radius: var(--pc-border-radius-pill);\\n}\\n\\n.top .body {\\n    order: 2;\\n}\\n\\n.top ::slotted(pc-tab-panel) {\\n    padding-block: var(--pc-spacing-m);\\n}\\n\\n.bottom {\\n    flex-direction: column;\\n}\\n\\n.bottom .navigation-container {\\n    order: 2;\\n}\\n\\n.bottom .navigation {\\n    display: flex;\\n    overflow-x: auto;\\n    scrollbar-width: none;\\n}\\n\\n.bottom .tabs {\\n    position: relative;\\n    flex-direction: row;\\n    flex: 1 1 auto;\\n}\\n\\n.bottom .indicator {\\n    inset-block-start: 0;\\n    min-block-size: var(--track-width);\\n    background-color: var(--indicator-color);\\n    border-radius: var(--pc-border-radius-pill);\\n}\\n\\n.bottom .body {\\n    order: 1;\\n}\\n\\n.bottom ::slotted(pc-tab-panel) {\\n    padding-block: var(--pc-spacing-m);\\n}\\n\\n.start {\\n    flex-direction: row;\\n}\\n\\n.start .navigation-container {\\n    order: 1;\\n}\\n\\n.start .tabs {\\n    flex-direction: column;\\n    flex: 0 0 auto;\\n}\\n\\n.start .indicator {\\n    inset-inline-end: calc(-1 * var(--track-width));\\n    min-inline-size: var(--track-width);\\n    background-color: var(--indicator-color);\\n    border-radius: var(--pc-border-radius-pill);\\n}\\n\\n.start .body {\\n    flex: 1 1 auto;\\n    order: 2;\\n}\\n\\n.start ::slotted(pc-tab-panel) {\\n    padding: 0 var(--pc-spacing-m);\\n}\\n\\n.end {\\n    flex-direction: row;\\n}\\n\\n.end .navigation-container {\\n    order: 2;\\n}\\n\\n.end .tabs {\\n    flex-direction: column;\\n    flex: 0 0 auto;\\n}\\n\\n.end .indicator {\\n    inset-inline-start: calc(-1 * var(--track-width));\\n    min-inline-size: var(--track-width);\\n    background-color: var(--indicator-color);\\n    border-radius: var(--pc-border-radius-pill);\\n}\\n\\n.end.is-rtl .indicator {\\n    inset-inline-start: auto;\\n    inset-inline-end: 0;\\n}\\n\\n.end .body {\\n    flex: 1 1 auto;\\n    order: 1;\\n}\\n\\n.end ::slotted(pc-tab-panel) {\\n    padding-inline: var(--pc-spacing-m);\\n}\\n\";\n\n// src/components/tab-group/tab-group.ts\nvar PcTabGroup = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.localize = new LocalizeController2(this);\n    this.tabs = [];\n    this.focusableTabs = [];\n    this.panels = [];\n    this.hasScrollControls = false;\n    this.shouldHideScrollStartButton = false;\n    this.shouldHideScrollEndButton = false;\n    this.placement = \"top\";\n    this.activation = \"auto\";\n    this.noScrollControls = false;\n    this.fixedScrollControls = false;\n    this.scrollOffset = 1;\n  }\n  connectedCallback() {\n    const whenAllDefined = Promise.all([\n      customElements.whenDefined(\"pc-tab\"),\n      customElements.whenDefined(\"pc-tab-panel\")\n    ]);\n    super.connectedCallback();\n    this.resizeObserver = new ResizeObserver(() => {\n      this.repositionIndicator();\n      this.updateScrollControls();\n    });\n    this.mutationObserver = new MutationObserver((mutations) => {\n      const instanceMutations = mutations.filter(({ target }) => {\n        if (target === this) {\n          return true;\n        }\n        if (target.closest(\"pc-tab-group\") !== this) {\n          return false;\n        }\n        const tagName = target.tagName.toLowerCase();\n        return tagName === \"pc-tab\" || tagName === \"pc-tab-panel\";\n      });\n      if (instanceMutations.length === 0) {\n        return;\n      }\n      if (instanceMutations.some(\n        (mutation) => ![\"aria-labelledby\", \"aria-controls\"].includes(\n          mutation.attributeName\n        )\n      )) {\n        setTimeout(() => this.setAriaLabels());\n      }\n      if (instanceMutations.some(\n        (mutation) => mutation.attributeName === \"disabled\"\n      )) {\n        this.syncTabsAndPanels();\n      } else if (instanceMutations.some(\n        (mutation) => mutation.attributeName === \"active\"\n      )) {\n        const tabs = instanceMutations.filter(\n          (mutation) => mutation.attributeName === \"active\" && mutation.target.tagName.toLowerCase() === \"pc-tab\"\n        ).map((mutation) => mutation.target);\n        const newActiveTab = tabs.find((tab) => tab.active);\n        if (newActiveTab) {\n          this.setActiveTab(newActiveTab);\n        }\n      }\n    });\n    this.updateComplete.then(() => {\n      this.syncTabsAndPanels();\n      this.mutationObserver.observe(this, {\n        attributes: true,\n        attributeFilter: [\"active\", \"disabled\", \"name\", \"panel\"],\n        childList: true,\n        subtree: true\n      });\n      this.resizeObserver.observe(this.navigation);\n      whenAllDefined.then(() => {\n        const intersectionObserver = new IntersectionObserver(\n          (entries, observer) => {\n            if (entries[0].intersectionRatio > 0) {\n              this.setAriaLabels();\n              this.setActiveTab(\n                this.getActiveTab() ?? this.tabs[0],\n                { emitEvents: false }\n              );\n              observer.unobserve(entries[0].target);\n            }\n          }\n        );\n        intersectionObserver.observe(this.tabGroup);\n      });\n    });\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    this.mutationObserver?.disconnect();\n    if (this.navigation) {\n      this.resizeObserver?.unobserve(this.navigation);\n    }\n  }\n  getAllTabs() {\n    const slot = this.shadowRoot.querySelector(\n      'slot[name=\"navigation\"]'\n    );\n    return slot.assignedElements();\n  }\n  getAllPanels() {\n    return [...this.body.assignedElements()].filter(\n      (element) => element.tagName.toLowerCase() === \"pc-tab-panel\"\n    );\n  }\n  getActiveTab() {\n    return this.tabs.find((element) => element.active);\n  }\n  handleClick(event) {\n    const target = event.target;\n    const tab = target.closest(\"pc-tab\");\n    const tabGroup = tab?.closest(\"pc-tab-group\");\n    if (tabGroup !== this) {\n      return;\n    }\n    if (tab !== null) {\n      this.setActiveTab(tab, { scrollBehavior: \"smooth\" });\n    }\n  }\n  handleKeyDown(event) {\n    const target = event.target;\n    const tab = target.closest(\"pc-tab\");\n    const tabGroup = tab?.closest(\"pc-tab-group\");\n    if (tabGroup !== this) {\n      return;\n    }\n    if ([\"Enter\", \" \"].includes(event.key)) {\n      if (tab !== null) {\n        this.setActiveTab(tab, { scrollBehavior: \"smooth\" });\n        event.preventDefault();\n      }\n    }\n    if ([\n      \"ArrowLeft\",\n      \"ArrowRight\",\n      \"ArrowUp\",\n      \"ArrowDown\",\n      \"Home\",\n      \"End\"\n    ].includes(event.key)) {\n      const activeElement = this.tabs.find(\n        (tab2) => tab2.matches(\":focus\")\n      );\n      const isRTL2 = this.localize.dir() === \"rtl\";\n      let nextTab = null;\n      if (activeElement?.tagName.toLowerCase() === \"pc-tab\") {\n        if (event.key === \"Home\") {\n          nextTab = this.focusableTabs[0];\n        } else if (event.key === \"End\") {\n          nextTab = this.focusableTabs[this.focusableTabs.length - 1];\n        } else if ([\"top\", \"bottom\"].includes(this.placement) && event.key === (isRTL2 ? \"ArrowRight\" : \"ArrowLeft\") || [\"start\", \"end\"].includes(this.placement) && event.key === \"ArrowUp\") {\n          const currentIndex = this.tabs.findIndex(\n            (element) => element === activeElement\n          );\n          nextTab = this.findNextFocusableTab(\n            currentIndex,\n            \"backward\"\n          );\n        } else if ([\"top\", \"bottom\"].includes(this.placement) && event.key === (isRTL2 ? \"ArrowLeft\" : \"ArrowRight\") || [\"start\", \"end\"].includes(this.placement) && event.key === \"ArrowDown\") {\n          const currentIndex = this.tabs.findIndex(\n            (element) => element === activeElement\n          );\n          nextTab = this.findNextFocusableTab(\n            currentIndex,\n            \"forward\"\n          );\n        }\n        if (!nextTab) {\n          return;\n        }\n        nextTab.tabIndex = 0;\n        nextTab.focus({ preventScroll: true });\n        if (this.activation === \"auto\") {\n          this.setActiveTab(nextTab, { scrollBehavior: \"smooth\" });\n        } else {\n          this.tabs.forEach((tabElement) => {\n            tabElement.tabIndex = tabElement === nextTab ? 0 : -1;\n          });\n        }\n        if ([\"top\", \"bottom\"].includes(this.placement)) {\n          scrollIntoView(nextTab, this.navigation, \"horizontal\");\n        }\n        event.preventDefault();\n      }\n    }\n  }\n  handleScrollToStart() {\n    this.navigation.scroll({\n      left: this.localize.dir() === \"rtl\" ? this.navigation.scrollLeft + this.navigation.clientWidth : this.navigation.scrollLeft - this.navigation.clientWidth,\n      behavior: \"smooth\"\n    });\n  }\n  handleScrollToEnd() {\n    this.navigation.scroll({\n      left: this.localize.dir() === \"rtl\" ? this.navigation.scrollLeft - this.navigation.clientWidth : this.navigation.scrollLeft + this.navigation.clientWidth,\n      behavior: \"smooth\"\n    });\n  }\n  setActiveTab(tab, options) {\n    options = {\n      emitEvents: true,\n      scrollBehavior: \"auto\",\n      ...options\n    };\n    if (tab !== this.activeTab && !tab.disabled) {\n      const previousTab = this.activeTab;\n      this.activeTab = tab;\n      this.tabs.forEach((element) => {\n        element.active = element === this.activeTab;\n        element.tabIndex = element === this.activeTab ? 0 : -1;\n      });\n      this.panels.forEach(\n        (element) => element.active = element.name === this.activeTab?.panel\n      );\n      this.syncIndicator();\n      if ([\"top\", \"bottom\"].includes(this.placement)) {\n        scrollIntoView(\n          this.activeTab,\n          this.navigation,\n          \"horizontal\",\n          options.scrollBehavior\n        );\n      }\n      if (options.emitEvents) {\n        if (previousTab) {\n          this.dispatchEvent(\n            new PcTabHideEvent({ name: previousTab.panel })\n          );\n        }\n        this.dispatchEvent(\n          new PcTabShowEvent({ name: this.activeTab.panel })\n        );\n      }\n    }\n  }\n  setAriaLabels() {\n    this.tabs.forEach((tab) => {\n      const panel = this.panels.find(\n        (element) => element.name === tab.panel\n      );\n      if (panel) {\n        tab.setAttribute(\"aria-controls\", panel.getAttribute(\"id\"));\n        panel.setAttribute(\"aria-labelledby\", tab.getAttribute(\"id\"));\n      }\n    });\n  }\n  repositionIndicator() {\n    const currentTab = this.getActiveTab();\n    if (!currentTab) {\n      return;\n    }\n    const width = currentTab.clientWidth;\n    const height = currentTab.clientHeight;\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    const allTabs = this.getAllTabs();\n    const precedingTabs = allTabs.slice(0, allTabs.indexOf(currentTab));\n    const offset3 = precedingTabs.reduce(\n      (previous, current) => ({\n        left: previous.left + current.clientWidth,\n        top: previous.top + current.clientHeight\n      }),\n      { left: 0, top: 0 }\n    );\n    switch (this.placement) {\n      case \"top\":\n      case \"bottom\":\n        this.indicator.style.inlineSize = `${width}px`;\n        this.indicator.style.blockSize = \"auto\";\n        this.indicator.style.translate = isRTL2 ? `${-1 * offset3.left}px` : `${offset3.left}px`;\n        break;\n      case \"start\":\n      case \"end\":\n        this.indicator.style.inlineSize = \"auto\";\n        this.indicator.style.blockSize = `${height}px`;\n        this.indicator.style.translate = `0 ${offset3.top}px`;\n        break;\n    }\n  }\n  syncTabsAndPanels() {\n    this.tabs = this.getAllTabs();\n    this.focusableTabs = this.tabs.filter((el) => !el.disabled);\n    this.panels = this.getAllPanels();\n    this.syncIndicator();\n    this.updateComplete.then(() => this.updateScrollControls());\n  }\n  findNextFocusableTab(currentIndex, direction) {\n    let nextTab = null;\n    const iterator = direction === \"forward\" ? 1 : -1;\n    let nextIndex = currentIndex + iterator;\n    while (currentIndex < this.tabs.length) {\n      nextTab = this.tabs[nextIndex] || null;\n      if (nextTab === null) {\n        if (direction === \"forward\") {\n          nextTab = this.focusableTabs[0];\n        } else {\n          nextTab = this.focusableTabs[this.focusableTabs.length - 1];\n        }\n        break;\n      }\n      if (!nextTab.disabled) {\n        break;\n      }\n      nextIndex += iterator;\n    }\n    return nextTab;\n  }\n  updateScrollButtons() {\n    if (this.hasScrollControls && !this.fixedScrollControls) {\n      this.shouldHideScrollStartButton = this.scrollFromStart() <= this.scrollOffset;\n      this.shouldHideScrollEndButton = this.isScrolledToEnd();\n    }\n  }\n  isScrolledToEnd() {\n    return this.scrollFromStart() + this.navigation.clientWidth >= this.navigation.scrollWidth - this.scrollOffset;\n  }\n  scrollFromStart() {\n    return this.localize.dir() === \"rtl\" ? -this.navigation.scrollLeft : this.navigation.scrollLeft;\n  }\n  updateScrollControls() {\n    if (this.noScrollControls) {\n      this.hasScrollControls = false;\n    } else {\n      this.hasScrollControls = [\"top\", \"bottom\"].includes(this.placement) && this.navigation.scrollWidth > this.navigation.clientWidth + 1;\n    }\n    this.updateScrollButtons();\n  }\n  syncIndicator() {\n    const tab = this.getActiveTab();\n    if (tab) {\n      this.indicator.style.display = \"block\";\n      this.repositionIndicator();\n    } else {\n      this.indicator.style.display = \"none\";\n    }\n  }\n  /** Shows the specified tab panel. */\n  show(panel) {\n    const tab = this.tabs.find((element) => element.panel === panel);\n    if (tab) {\n      this.setActiveTab(tab, { scrollBehavior: \"smooth\" });\n    }\n  }\n  render() {\n    const isRTL2 = this.localize.dir() === \"rtl\";\n    return x`\n            <div\n                part=\"base\"\n                class=${e7({\n      \"tab-group\": true,\n      \"top\": this.placement === \"top\",\n      \"bottom\": this.placement === \"bottom\",\n      \"start\": this.placement === \"start\",\n      \"end\": this.placement === \"end\",\n      \"is-rtl\": isRTL2,\n      \"has-scroll-controls\": this.hasScrollControls\n    })}\n                @click=${this.handleClick}\n                @keydown=${this.handleKeyDown}\n            >\n                <div class=\"navigation-container\" part=\"navigation\">\n                    ${this.hasScrollControls ? x`\n                              <pc-button\n                                  part=\"scroll-button scroll-button-start\"\n                                  class=${e7({\n      \"scroll-button\": true,\n      \"scroll-button-start\": true,\n      \"scroll-button-start-hidden\": this.shouldHideScrollStartButton\n    })}\n                                  size=\"small\"\n                                  variant=\"plain\"\n                                  tabindex=\"-1\"\n                                  aria-hidden=\"true\"\n                                  @click=${this.handleScrollToStart}\n                                  exportparts=\"base:scroll-button__base\"\n                              >\n                                  <pc-icon\n                                      library=\"system\"\n                                      icon-style=\"solid\"\n                                      name=${isRTL2 ? \"chevron-right\" : \"chevron-left\"}\n                                      label=${this.localize.term(\n      \"scrollToStart\"\n    )}\n                                  ></pc-icon>\n                              </pc-button>\n                          ` : \"\"}\n\n                    <div\n                        class=\"navigation\"\n                        @scrollend=${this.updateScrollButtons}\n                    >\n                        <div part=\"tabs\" class=\"tabs\" role=\"tablist\">\n                            <div\n                                class=\"indicator\"\n                                part=\"active-tab-indicator\"\n                            ></div>\n                            <pc-resize-observer\n                                @pc-resize=${this.syncIndicator}\n                            >\n                                <slot\n                                    name=\"navigation\"\n                                    @slotchange=${this.syncTabsAndPanels}\n                                ></slot>\n                            </pc-resize-observer>\n                        </div>\n                    </div>\n\n                    ${this.hasScrollControls ? x`\n                              <pc-button\n                                  part=\"scroll-button scroll-button-end\"\n                                  class=${e7({\n      \"scroll-button\": true,\n      \"scroll-button-end\": true,\n      \"scroll-button-end-hidden\": this.shouldHideScrollEndButton\n    })}\n                                  size=\"small\"\n                                  variant=\"plain\"\n                                  tabindex=\"-1\"\n                                  aria-hidden=\"true\"\n                                  @click=${this.handleScrollToEnd}\n                                  exportparts=\"base:scroll-button__base\"\n                              >\n                                  <pc-icon\n                                      library=\"system\"\n                                      icon-style=\"solid\"\n                                      name=${isRTL2 ? \"chevron-left\" : \"chevron-right\"}\n                                      label=${this.localize.term(\"scrollToEnd\")}\n                                  ></pc-icon>\n                              </pc-button>\n                          ` : \"\"}\n                </div>\n\n                <slot\n                    class=\"body\"\n                    part=\"body\"\n                    @slotchange=${this.syncTabsAndPanels}\n                ></slot>\n            </div>\n        `;\n  }\n};\nPcTabGroup.css = tab_group_default;\n__decorateClass([\n  e5(\".tab-group\")\n], PcTabGroup.prototype, \"tabGroup\", 2);\n__decorateClass([\n  e5(\".body\")\n], PcTabGroup.prototype, \"body\", 2);\n__decorateClass([\n  e5(\".navigation\")\n], PcTabGroup.prototype, \"navigation\", 2);\n__decorateClass([\n  e5(\".indicator\")\n], PcTabGroup.prototype, \"indicator\", 2);\n__decorateClass([\n  r5()\n], PcTabGroup.prototype, \"hasScrollControls\", 2);\n__decorateClass([\n  r5()\n], PcTabGroup.prototype, \"shouldHideScrollStartButton\", 2);\n__decorateClass([\n  r5()\n], PcTabGroup.prototype, \"shouldHideScrollEndButton\", 2);\n__decorateClass([\n  n4()\n], PcTabGroup.prototype, \"placement\", 2);\n__decorateClass([\n  n4()\n], PcTabGroup.prototype, \"activation\", 2);\n__decorateClass([\n  n4({ attribute: \"no-scroll-controls\", type: Boolean })\n], PcTabGroup.prototype, \"noScrollControls\", 2);\n__decorateClass([\n  n4({ attribute: \"fixed-scroll-controls\", type: Boolean })\n], PcTabGroup.prototype, \"fixedScrollControls\", 2);\n__decorateClass([\n  t4({ passive: true })\n], PcTabGroup.prototype, \"updateScrollButtons\", 1);\n__decorateClass([\n  watch(\"noScrollControls\", { waitUntilFirstUpdate: true })\n], PcTabGroup.prototype, \"updateScrollControls\", 1);\n__decorateClass([\n  watch(\"placement\", { waitUntilFirstUpdate: true })\n], PcTabGroup.prototype, \"syncIndicator\", 1);\nPcTabGroup = __decorateClass([\n  t3(\"pc-tab-group\")\n], PcTabGroup);\n\n// src/components/tab-panel/tab-panel.css\nvar tab_panel_default = \":host {\\n    display: none;\\n}\\n\\n:host([active]) {\\n    display: block;\\n}\\n\\n.tab-panel {\\n    display: block;\\n    padding: 0;\\n}\\n\";\n\n// src/components/tab-panel/tab-panel.ts\nvar id2 = 0;\nvar PcTabPanel = class extends PlacerElement {\n  constructor() {\n    super(...arguments);\n    this.attributeID = ++id2;\n    this.componentID = `pc-tab-panel-${this.attributeID}`;\n    this.name = \"\";\n    this.active = false;\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.id = this.id.length > 0 ? this.id : this.componentID;\n    this.setAttribute(\"role\", \"tabpanel\");\n  }\n  handleActiveChange() {\n    this.setAttribute(\"aria-hidden\", this.active ? \"false\" : \"true\");\n  }\n  render() {\n    return x`\n            <slot\n                part=\"base\"\n                class=${e7({\n      \"tab-panel\": true,\n      \"active\": this.active\n    })}\n            ></slot>\n        `;\n  }\n};\nPcTabPanel.css = tab_panel_default;\n__decorateClass([\n  n4({ reflect: true })\n], PcTabPanel.prototype, \"name\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcTabPanel.prototype, \"active\", 2);\n__decorateClass([\n  watch(\"active\")\n], PcTabPanel.prototype, \"handleActiveChange\", 1);\nPcTabPanel = __decorateClass([\n  t3(\"pc-tab-panel\")\n], PcTabPanel);\n\n// src/components/textarea/textarea.css\nvar textarea_default = ':host {\\n    border-width: 0;\\n}\\n\\n.textarea {\\n    display: grid;\\n    align-items: center;\\n    margin: 0;\\n    -webkit-appearance: none;\\n    background-color: var(--pc-form-control-background-color);\\n    border: var(--pc-form-control-border-width)\\n        var(--pc-form-control-border-style) var(--pc-form-control-border-color);\\n    border-radius: var(--pc-form-control-border-radius);\\n    font: inherit;\\n    outline: none;\\n    cursor: inherit;\\n    transition: all var(--pc-transition-fast) ease-in-out;\\n}\\n\\n@media (hover: hover) {\\n    .textarea:not(:has(:disabled), :focus-within):hover {\\n        border-color: color-mix(\\n            in oklab,\\n            var(--pc-form-control-border-color),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\n.textarea:focus-within {\\n    outline: var(--pc-focus-ring);\\n    outline-offset: var(--pc-focus-ring-offset);\\n    animation: focus-ring-animation var(--pc-transition-medium)\\n        cubic-bezier(0.33, 1, 0.68, 1);\\n}\\n\\n:host([filled]) .textarea {\\n    background-color: var(--pc-color-neutral-fill-quiet);\\n    border-color: var(--pc-color-neutral-fill-quiet);\\n}\\n\\n@media (hover: hover) {\\n    :host([filled]) .textarea:not(:has(:disabled), :focus-within):hover {\\n        background-color: color-mix(\\n            in oklab,\\n            var(--pc-color-neutral-fill-quiet),\\n            var(--pc-color-mix-hover)\\n        );\\n        border-color: color-mix(\\n            in oklab,\\n            var(--pc-color-neutral-fill-quiet),\\n            var(--pc-color-mix-hover)\\n        );\\n    }\\n}\\n\\ntextarea {\\n    display: block;\\n    margin: 0;\\n    padding-block: calc(\\n        (var(--pc-form-control-padding-block) * 1.25) - ((1lh - 1em) / 2)\\n    );\\n    padding-inline: calc(var(--pc-form-control-padding-inline) * 1.1765);\\n    inline-size: 100%;\\n    min-block-size: calc(\\n        var(--pc-form-control-height) - var(--border-width) * 2\\n    );\\n    background-color: transparent;\\n    color: inherit;\\n    border: none;\\n    font: inherit;\\n    box-shadow: none;\\n}\\n\\ntextarea:focus {\\n    outline: none;\\n}\\n\\ntextarea::placeholder {\\n    color: var(--pc-form-control-placeholder-color);\\n    user-select: none;\\n    -webkit-user-select: none;\\n}\\n\\ntextarea:autofill,\\ntextarea:autofill:hover,\\ntextarea:autofill:active,\\ntextarea:autofill:focus {\\n    caret-color: var(--pc-form-control-value-color);\\n    box-shadow: none;\\n}\\n\\ntextarea::-webkit-search-decoration,\\ntextarea::-webkit-search-cancel-button,\\ntextarea::-webkit-search-results-button,\\ntextarea::-webkit-search-results-decoration {\\n    -webkit-appearance: none;\\n}\\n\\n.control,\\n.size-adjuster {\\n    grid-area: 1 / 1 / 2 / 2;\\n}\\n\\n.size-adjuster {\\n    padding: 0;\\n    opacity: 0;\\n    visibility: hidden;\\n    pointer-events: none;\\n}\\n\\n:host([resize=\"none\"]) textarea {\\n    resize: none;\\n}\\n\\ntextarea,\\n:host([resize=\"vertical\"]) textarea {\\n    resize: vertical;\\n}\\n\\n:host([resize=\"horizontal\"]) textarea {\\n    resize: horizontal;\\n}\\n\\n:host([resize=\"both\"]) textarea {\\n    resize: both;\\n}\\n\\n:host([resize=\"auto\"]) textarea {\\n    block-size: auto;\\n    overflow-y: hidden;\\n    resize: none;\\n}\\n\\n@keyframes focus-ring-animation {\\n    0% {\\n        outline-width: 0;\\n    }\\n\\n    50% {\\n        outline-width: calc(var(--pc-focus-ring-width) * 2);\\n    }\\n\\n    100% {\\n        outline-width: var(--pc-focus-ring-width);\\n    }\\n}\\n';\n\n// src/components/textarea/textarea.ts\nvar PcTextarea = class extends PlacerFormAssociatedElement {\n  constructor() {\n    super(...arguments);\n    this.assumeInteractionOn = [\"input\", \"blur\"];\n    this.hasSlotController = new HasSlotController(\n      this,\n      \"label\",\n      \"hint\"\n    );\n    this.title = \"\";\n    this.name = \"\";\n    this._value = null;\n    this.defaultValue = this.getAttribute(\"value\") ?? \"\";\n    this.size = \"medium\";\n    this.filled = false;\n    this.label = \"\";\n    this.hint = \"\";\n    this.placeholder = \"\";\n    this.rows = 4;\n    this.resize = \"vertical\";\n    this.disabled = false;\n    this.readonly = false;\n    this.required = false;\n    this.autocapitalize = \"sentences\";\n    this.autocorrect = false;\n    this.autofocus = false;\n    this.enterkeyhint = \"enter\";\n    this.spellcheck = true;\n  }\n  static get validators() {\n    return [...super.validators, MirrorValidator()];\n  }\n  /** The current value of the textarea, submitted as a name/value pair with form data. */\n  get value() {\n    if (this.valueHasChanged) {\n      return this._value;\n    }\n    return this._value ?? this.defaultValue;\n  }\n  set value(value) {\n    if (this._value === value) {\n      return;\n    }\n    this.valueHasChanged = true;\n    this._value = value;\n  }\n  connectedCallback() {\n    super.connectedCallback();\n    this.resizeObserver = new ResizeObserver(\n      () => this.setTextareaDimensions()\n    );\n    this.updateComplete.then(() => {\n      this.setTextareaDimensions();\n      this.resizeObserver?.observe(this.input);\n      if (this.input && this.value !== this.input.value) {\n        const value = this.input.value;\n        this.value = value;\n      }\n    });\n  }\n  disconnectedCallback() {\n    super.disconnectedCallback();\n    if (this.input) {\n      this.resizeObserver?.unobserve(this.input);\n    }\n  }\n  handleChange(event) {\n    this.valueHasChanged = true;\n    this.value = this.input.value;\n    this.setTextareaDimensions();\n    this.checkValidity();\n    this.relayNativeEvent(event, { bubbles: true, composed: true });\n  }\n  handleInput(event) {\n    this.valueHasChanged = true;\n    this.value = this.input.value;\n    this.relayNativeEvent(event, { bubbles: true, composed: true });\n  }\n  handleBlur() {\n    this.checkValidity();\n  }\n  setTextareaDimensions() {\n    if (this.resize === \"none\") {\n      this.base.style.inlineSize = \"\";\n      this.base.style.blockSize = \"\";\n    }\n    if (this.resize === \"auto\") {\n      this.sizeAdjuster.style.blockSize = `${this.input.clientHeight}px`;\n      this.input.style.blockSize = \"auto\";\n      this.input.style.blockSize = `${this.input.scrollHeight}px`;\n      this.base.style.inlineSize = \"\";\n      this.base.style.blockSize = \"\";\n      return;\n    }\n    if (this.input.style.inlineSize) {\n      const inlineSize = Number(this.input.style.inlineSize.split(/px/)[0]) + 2;\n      this.base.style.inlineSize = `${inlineSize}px`;\n    }\n    if (this.input.style.width) {\n      const width = Number(this.input.style.width.split(/px/)[0]) + 2;\n      this.base.style.width = `${width}px`;\n    }\n    if (this.input.style.blockSize) {\n      const blockSize = Number(this.input.style.blockSize.split(/px/)[0]) + 2;\n      this.base.style.height = `${blockSize}px`;\n    }\n    if (this.input.style.height) {\n      const height = Number(this.input.style.height.split(/px/)[0]) + 2;\n      this.base.style.height = `${height}px`;\n    }\n  }\n  handleRowsChange() {\n    this.setTextareaDimensions();\n  }\n  async handleValueChange() {\n    await this.updateComplete;\n    this.checkValidity();\n    this.setTextareaDimensions();\n  }\n  updated(changedProperties) {\n    if (changedProperties.has(\"resize\")) {\n      this.setTextareaDimensions();\n    }\n    super.updated(changedProperties);\n    if (changedProperties.has(\"value\")) {\n      this.customStates.set(\"blank\", !this.value);\n    }\n  }\n  /** Focuses the textarea. */\n  focus(options) {\n    this.input.focus(options);\n  }\n  /** Unfocuses the textarea (i.e., blurs it). */\n  blur() {\n    this.input.blur();\n  }\n  /** Selects all the text in the textarea. */\n  select() {\n    this.input.select();\n  }\n  /** Gets or sets the textarea’s scroll position. */\n  scrollPosition(position) {\n    if (position) {\n      if (typeof position.top === \"number\") {\n        this.input.scrollTop = position.top;\n      }\n      if (typeof position.left === \"number\") {\n        this.input.scrollLeft = position.left;\n      }\n      return void 0;\n    }\n    return {\n      top: this.input.scrollTop,\n      left: this.input.scrollTop\n    };\n  }\n  /** Sets the start and end positions of the text selection (0‐based). */\n  setSelectionRange(selectionStart, selectionEnd, selectionDirection = \"none\") {\n    this.input.setSelectionRange(\n      selectionStart,\n      selectionEnd,\n      selectionDirection\n    );\n  }\n  /** Replaces a range of text with a new string. */\n  setRangeText(replacement, start, end, selectMode = \"preserve\") {\n    const selectionStart = start ?? this.input.selectionStart;\n    const selectionEnd = end ?? this.input.selectionEnd;\n    this.input.setRangeText(\n      replacement,\n      selectionStart,\n      selectionEnd,\n      selectMode\n    );\n    if (this.value !== this.input.value) {\n      this.value = this.input.value;\n      this.setTextareaDimensions();\n    }\n  }\n  formResetCallback() {\n    this.value = this.defaultValue;\n    super.formResetCallback();\n  }\n  render() {\n    const hasLabelSlot = this.hasSlotController.test(\"label\");\n    const hasHintSlot = this.hasSlotController.test(\"hint\");\n    const hasLabel = this.label ? true : !!hasLabelSlot;\n    const hasHint = this.hint ? true : !!hasHintSlot;\n    return x`\n            <label\n                part=\"label\"\n                class=\"label\"\n                for=\"input\"\n                aria-hidden=${hasLabel ? \"false\" : \"true\"}\n            >\n                <slot name=\"label\">${this.label}</slot>\n            </label>\n\n            <div part=\"base\" class=\"textarea\">\n                <textarea\n                    part=\"textarea\"\n                    class=\"control\"\n                    id=\"input\"\n                    title=${this.title}\n                    name=${o6(this.name)}\n                    .value=${l3(this.value)}\n                    ?disabled=${this.disabled}\n                    ?readonly=${this.readonly}\n                    ?required=${this.required}\n                    placeholder=${o6(this.placeholder)}\n                    rows=${o6(this.rows)}\n                    minlength=${o6(this.minlength)}\n                    maxlength=${o6(this.maxlength)}\n                    autocapitalize=${o6(this.autocapitalize)}\n                    autocorrect=${o6(this.autocorrect)}\n                    ?autofocus=${this.autofocus}\n                    spellcheck=${o6(this.spellcheck)}\n                    enterkeyhint=${o6(this.enterkeyhint)}\n                    inputmode=${o6(this.inputmode)}\n                    aria-describedby=\"hint\"\n                    @change=${this.handleChange}\n                    @input=${this.handleInput}\n                    @blur=${this.handleBlur}\n                ></textarea>\n\n                <!-- This part is explicitly undocumented as it isn’t supposed to be accessed by users. -->\n                <div\n                    part=\"textarea-adjuster\"\n                    class=\"size-adjuster\"\n                    ?hidden=${this.resize !== \"auto\"}\n                ></div>\n            </div>\n\n            <slot\n                part=\"hint\"\n                class=${e7({ \"has-hint\": hasHint })}\n                id=\"hint\"\n                name=\"hint\"\n                aria-hidden=${hasHint ? \"false\" : \"true\"}\n            >\n                ${this.hint}\n            </slot>\n        `;\n  }\n};\nPcTextarea.css = [form_control_default, size_default, textarea_default];\n__decorateClass([\n  e5(\".control\")\n], PcTextarea.prototype, \"input\", 2);\n__decorateClass([\n  e5('[part~=\"base\"]')\n], PcTextarea.prototype, \"base\", 2);\n__decorateClass([\n  e5(\".size-adjuster\")\n], PcTextarea.prototype, \"sizeAdjuster\", 2);\n__decorateClass([\n  n4()\n], PcTextarea.prototype, \"title\", 2);\n__decorateClass([\n  n4()\n], PcTextarea.prototype, \"name\", 2);\n__decorateClass([\n  r5()\n], PcTextarea.prototype, \"value\", 1);\n__decorateClass([\n  n4({ attribute: \"value\", reflect: true })\n], PcTextarea.prototype, \"defaultValue\", 2);\n__decorateClass([\n  n4({ reflect: true })\n], PcTextarea.prototype, \"size\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcTextarea.prototype, \"filled\", 2);\n__decorateClass([\n  n4()\n], PcTextarea.prototype, \"label\", 2);\n__decorateClass([\n  n4()\n], PcTextarea.prototype, \"hint\", 2);\n__decorateClass([\n  n4()\n], PcTextarea.prototype, \"placeholder\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcTextarea.prototype, \"rows\", 2);\n__decorateClass([\n  n4()\n], PcTextarea.prototype, \"resize\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcTextarea.prototype, \"disabled\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcTextarea.prototype, \"readonly\", 2);\n__decorateClass([\n  n4({ type: Boolean, reflect: true })\n], PcTextarea.prototype, \"required\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcTextarea.prototype, \"minlength\", 2);\n__decorateClass([\n  n4({ type: Number })\n], PcTextarea.prototype, \"maxlength\", 2);\n__decorateClass([\n  n4()\n], PcTextarea.prototype, \"autocapitalize\", 2);\n__decorateClass([\n  n4({\n    type: Boolean,\n    converter: {\n      fromAttribute: (value) => !value || value === \"off\" ? false : true,\n      toAttribute: (value) => value ? \"on\" : \"off\"\n    }\n  })\n], PcTextarea.prototype, \"autocorrect\", 2);\n__decorateClass([\n  n4()\n], PcTextarea.prototype, \"autocomplete\", 2);\n__decorateClass([\n  n4({ type: Boolean })\n], PcTextarea.prototype, \"autofocus\", 2);\n__decorateClass([\n  n4()\n], PcTextarea.prototype, \"enterkeyhint\", 2);\n__decorateClass([\n  n4({\n    type: Boolean,\n    converter: {\n      fromAttribute: (value) => !value || value === \"off\" ? false : true,\n      toAttribute: (value) => value ? \"on\" : \"off\"\n    }\n  })\n], PcTextarea.prototype, \"spellcheck\", 2);\n__decorateClass([\n  n4()\n], PcTextarea.prototype, \"inputmode\", 2);\n__decorateClass([\n  watch(\"rows\", { waitUntilFirstUpdate: true })\n], PcTextarea.prototype, \"handleRowsChange\", 1);\n__decorateClass([\n  watch(\"value\", { waitUntilFirstUpdate: true })\n], PcTextarea.prototype, \"handleValueChange\", 1);\nPcTextarea = __decorateClass([\n  t3(\"pc-textarea\")\n], PcTextarea);\n\n// src/utilities/form.ts\nfunction serialize(form) {\n  const formData = new FormData(form);\n  const object = {};\n  formData.forEach((value, key) => {\n    if (Reflect.has(object, key)) {\n      const entry = object[key];\n      if (Array.isArray(entry)) {\n        entry.push(value);\n      } else {\n        object[key] = [object[key], value];\n      }\n    } else {\n      object[key] = value;\n    }\n  });\n  return object;\n}\nexport {\n  LocalizeController2 as LocalizeController,\n  PcAnimation,\n  PcAvatar,\n  PcBadge,\n  PcButton,\n  PcButtonGroup,\n  PcCallout,\n  PcCard,\n  PcCheckbox,\n  PcColorPicker,\n  PcComparer,\n  PcCopyButton,\n  PcDetails,\n  PcDialog,\n  PcDivider,\n  PcDrawer,\n  PcDropdown,\n  PcDropdownItem,\n  PcFormatBytes,\n  PcFormatDate,\n  PcFormatNumber,\n  PcIcon,\n  PcInput,\n  PcMutationObserver,\n  PcOption,\n  PcPopup,\n  PcQrCode,\n  PcRadio,\n  PcRadioGroup,\n  PcRating,\n  PcResizeObserver,\n  PcScroller,\n  PcSelect,\n  PcSkeleton,\n  PcSlider,\n  PcSpinner,\n  PcSwitch,\n  PcTab,\n  PcTabGroup,\n  PcTabPanel,\n  PcTag,\n  PcTextarea,\n  PcTooltip,\n  getAnimation,\n  getAnimationNames,\n  getEasingNames,\n  getKitCode,\n  registerIconLibrary,\n  registerTranslation,\n  serialize,\n  setAnimation,\n  setDefaultAnimation,\n  setKitCode,\n  unregisterIconLibrary\n};\n//! This is a critical file that provides global shims for browser APIs that may not be available in a Node.js environment.\n//! This applies to Astro, Next.js, Nuxt.js, SvelteKit, Angular Universal, Remix, Gatsby, 11ty, Jest, Vitest, Web Test Runner and bundlers or environments that use Node.js internally.\n//! Popup is a low‐level utility built specifically for positioning elements. Do not mistake it for a tooltip or similar because it does not facilitate an accessible experience! Almost every correct usage of it will involve building other components. It should rarely, if ever, occur directly in your HTML.\n/*! Bundled license information:\n\n@lit/reactive-element/css-tag.js:\n  (**\n   * @license\n   * Copyright 2019 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   *)\n\n@lit/reactive-element/reactive-element.js:\nlit-html/lit-html.js:\nlit-element/lit-element.js:\n@lit/reactive-element/decorators/custom-element.js:\n@lit/reactive-element/decorators/property.js:\n@lit/reactive-element/decorators/state.js:\n@lit/reactive-element/decorators/event-options.js:\n@lit/reactive-element/decorators/base.js:\n@lit/reactive-element/decorators/query.js:\n@lit/reactive-element/decorators/query-all.js:\n@lit/reactive-element/decorators/query-async.js:\n@lit/reactive-element/decorators/query-assigned-nodes.js:\nlit-html/directive.js:\nlit-html/directives/unsafe-html.js:\n  (**\n   * @license\n   * Copyright 2017 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   *)\n\nlit-html/is-server.js:\n  (**\n   * @license\n   * Copyright 2022 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   *)\n\n@lit/reactive-element/decorators/query-assigned-elements.js:\n  (**\n   * @license\n   * Copyright 2021 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   *)\n\nlit-html/directives/class-map.js:\nlit-html/directives/if-defined.js:\nlit-html/directives/style-map.js:\n  (**\n   * @license\n   * Copyright 2018 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   *)\n\nlit-html/directive-helpers.js:\nlit-html/directives/live.js:\n  (**\n   * @license\n   * Copyright 2020 Google LLC\n   * SPDX-License-Identifier: BSD-3-Clause\n   *)\n*/\n"]}