import{S as ni,f as oi,i as h,b as _,a as g,A as L,_ as yt,c as si,t as ri,E as ai,e as li,w as ye,r as B,d as di,j as ci,O as hi}from"./indexhtml-BVOU93St.js";import"./commonjsHelpers-CqkleIqs.js";/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */function ui(i){const{baseStyles:e,themeStyles:t,elementStyles:n,lumoInjector:o}=i.constructor,s=i.__lumoStyleSheet;return s&&(e||t)?[...o.includeBaseStyles?e:[],s,...t]:[s,...n].filter(Boolean)}function we(i){ni(i.shadowRoot,ui(i))}function Kt(i,e){i.__lumoStyleSheet=e,we(i)}function st(i){i.__lumoStyleSheet=void 0,we(i)}/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const xe=i=>class extends i{static get properties(){return{_theme:{type:String,readOnly:!0}}}static get observedAttributes(){return[...super.observedAttributes,"theme"]}attributeChangedCallback(t,n,o){super.attributeChangedCallback(t,n,o),t==="theme"&&this._set_theme(o)}};/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const wt=[],pi=new Set,vi=new Set;function fi(i){return i&&Object.prototype.hasOwnProperty.call(i,"__themes")}function _i(i,e){return(i||"").split(" ").some(t=>new RegExp(`^${t.split("*").join(".*")}$`,"u").test(e))}function gi(i){return i.map(e=>e.cssText).join(`
`)}const mi="vaadin-themable-mixin-style";function bi(i,e){const t=document.createElement("style");t.id=mi,t.textContent=gi(i),e.content.appendChild(t)}function yi(i=""){let e=0;return i.startsWith("lumo-")||i.startsWith("material-")?e=1:i.startsWith("vaadin-")&&(e=2),e}function Ce(i){const e=[];return i.include&&[].concat(i.include).forEach(t=>{const n=wt.find(o=>o.moduleId===t);n?e.push(...Ce(n),...n.styles):console.warn(`Included moduleId ${t} not found in style registry`)},i.styles),e}function wi(i){const e=`${i}-default-theme`,t=wt.filter(n=>n.moduleId!==e&&_i(n.themeFor,i)).map(n=>({...n,styles:[...Ce(n),...n.styles],includePriority:yi(n.moduleId)})).sort((n,o)=>o.includePriority-n.includePriority);return t.length>0?t:wt.filter(n=>n.moduleId===e)}const E=i=>class extends xe(i){constructor(){super(),pi.add(new WeakRef(this))}static finalize(){if(super.finalize(),this.is&&vi.add(this.is),this.elementStyles)return;const t=this.prototype._template;!t||fi(this)||bi(this.getStylesForThis(),t)}static finalizeStyles(t){return this.baseStyles=t?[t].flat(1/0):[],this.themeStyles=this.getStylesForThis(),[...this.baseStyles,...this.themeStyles]}static getStylesForThis(){const t=i.__themes||[],n=Object.getPrototypeOf(this.prototype),o=(n?n.constructor.__themes:[])||[];this.__themes=[...t,...o,...wi(this.is)];const s=this.__themes.flatMap(r=>r.styles);return s.filter((r,a)=>a===s.lastIndexOf(r))}};/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */window.Vaadin||={};window.Vaadin.featureFlags||={};function xi(i){return i.replace(/-[a-z]/gu,e=>e[1].toUpperCase())}const w={};function m(i,e="25.1.0"){if(Object.defineProperty(i,"version",{get(){return e}}),i.experimental){const n=typeof i.experimental=="string"?i.experimental:`${xi(i.is.split("-").slice(1).join("-"))}Component`;if(!window.Vaadin.featureFlags[n]&&!w[n]){w[n]=new Set,w[n].add(i),Object.defineProperty(window.Vaadin.featureFlags,n,{get(){return w[n].size===0},set(o){o&&w[n].size>0&&(w[n].forEach(s=>{customElements.define(s.is,s)}),w[n].clear())}});return}else if(w[n]){w[n].add(i);return}}const t=customElements.get(i.is);if(!t)customElements.define(i.is,i);else{const n=t.version;n&&i.version&&n===i.version?console.warn(`The component ${i.is} has been loaded twice`):console.error(`Tried to define ${i.is} version ${i.version} when version ${t.version} is already in use. Something will probably break.`)}}const Ci=/\/\*[\*!]\s+vaadin-dev-mode:start([\s\S]*)vaadin-dev-mode:end\s+\*\*\//i,Q=window.Vaadin&&window.Vaadin.Flow&&window.Vaadin.Flow.clients;function ki(){function i(){return!0}return ke(i)}function Ei(){try{return Si()?!0:Ai()?Q?!Ti():!ki():!1}catch{return!1}}function Si(){return localStorage.getItem("vaadin.developmentmode.force")}function Ai(){return["localhost","127.0.0.1"].indexOf(window.location.hostname)>=0}function Ti(){return!!(Q&&Object.keys(Q).map(e=>Q[e]).filter(e=>e.productionMode).length>0)}function ke(i,e){if(typeof i!="function")return;const t=Ci.exec(i.toString());if(t)try{i=new Function(t[1])}catch(n){console.log("vaadin-development-mode-detector: uncommentAndRun() failed",n)}return i(e)}window.Vaadin=window.Vaadin||{};const Gt=function(i,e){if(window.Vaadin.developmentMode)return ke(i,e)};window.Vaadin.developmentMode===void 0&&(window.Vaadin.developmentMode=Ei());function Oi(){/*! vaadin-dev-mode:start
  (function () {
'use strict';

var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
  return typeof obj;
} : function (obj) {
  return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};

var classCallCheck = function (instance, Constructor) {
  if (!(instance instanceof Constructor)) {
    throw new TypeError("Cannot call a class as a function");
  }
};

var createClass = function () {
  function defineProperties(target, props) {
    for (var i = 0; i < props.length; i++) {
      var descriptor = props[i];
      descriptor.enumerable = descriptor.enumerable || false;
      descriptor.configurable = true;
      if ("value" in descriptor) descriptor.writable = true;
      Object.defineProperty(target, descriptor.key, descriptor);
    }
  }

  return function (Constructor, protoProps, staticProps) {
    if (protoProps) defineProperties(Constructor.prototype, protoProps);
    if (staticProps) defineProperties(Constructor, staticProps);
    return Constructor;
  };
}();

var getPolymerVersion = function getPolymerVersion() {
  return window.Polymer && window.Polymer.version;
};

var StatisticsGatherer = function () {
  function StatisticsGatherer(logger) {
    classCallCheck(this, StatisticsGatherer);

    this.now = new Date().getTime();
    this.logger = logger;
  }

  createClass(StatisticsGatherer, [{
    key: 'frameworkVersionDetectors',
    value: function frameworkVersionDetectors() {
      return {
        'Flow': function Flow() {
          if (window.Vaadin && window.Vaadin.Flow && window.Vaadin.Flow.clients) {
            var flowVersions = Object.keys(window.Vaadin.Flow.clients).map(function (key) {
              return window.Vaadin.Flow.clients[key];
            }).filter(function (client) {
              return client.getVersionInfo;
            }).map(function (client) {
              return client.getVersionInfo().flow;
            });
            if (flowVersions.length > 0) {
              return flowVersions[0];
            }
          }
        },
        'Vaadin Framework': function VaadinFramework() {
          if (window.vaadin && window.vaadin.clients) {
            var frameworkVersions = Object.values(window.vaadin.clients).filter(function (client) {
              return client.getVersionInfo;
            }).map(function (client) {
              return client.getVersionInfo().vaadinVersion;
            });
            if (frameworkVersions.length > 0) {
              return frameworkVersions[0];
            }
          }
        },
        'AngularJs': function AngularJs() {
          if (window.angular && window.angular.version && window.angular.version) {
            return window.angular.version.full;
          }
        },
        'Angular': function Angular() {
          if (window.ng) {
            var tags = document.querySelectorAll("[ng-version]");
            if (tags.length > 0) {
              return tags[0].getAttribute("ng-version");
            }
            return "Unknown";
          }
        },
        'Backbone.js': function BackboneJs() {
          if (window.Backbone) {
            return window.Backbone.VERSION;
          }
        },
        'React': function React() {
          var reactSelector = '[data-reactroot], [data-reactid]';
          if (!!document.querySelector(reactSelector)) {
            // React does not publish the version by default
            return "unknown";
          }
        },
        'Ember': function Ember() {
          if (window.Em && window.Em.VERSION) {
            return window.Em.VERSION;
          } else if (window.Ember && window.Ember.VERSION) {
            return window.Ember.VERSION;
          }
        },
        'jQuery': function (_jQuery) {
          function jQuery() {
            return _jQuery.apply(this, arguments);
          }

          jQuery.toString = function () {
            return _jQuery.toString();
          };

          return jQuery;
        }(function () {
          if (typeof jQuery === 'function' && jQuery.prototype.jquery !== undefined) {
            return jQuery.prototype.jquery;
          }
        }),
        'Polymer': function Polymer() {
          var version = getPolymerVersion();
          if (version) {
            return version;
          }
        },
        'LitElement': function LitElement() {
          var version = window.litElementVersions && window.litElementVersions[0];
          if (version) {
            return version;
          }
        },
        'LitHtml': function LitHtml() {
          var version = window.litHtmlVersions && window.litHtmlVersions[0];
          if (version) {
            return version;
          }
        },
        'Vue.js': function VueJs() {
          if (window.Vue) {
            return window.Vue.version;
          }
        }
      };
    }
  }, {
    key: 'getUsedVaadinElements',
    value: function getUsedVaadinElements(elements) {
      var version = getPolymerVersion();
      var elementClasses = void 0;
      // NOTE: In case you edit the code here, YOU MUST UPDATE any statistics reporting code in Flow.
      // Check all locations calling the method getEntries() in
      // https://github.com/vaadin/flow/blob/master/flow-server/src/main/java/com/vaadin/flow/internal/UsageStatistics.java#L106
      // Currently it is only used by BootstrapHandler.
      if (version && version.indexOf('2') === 0) {
        // Polymer 2: components classes are stored in window.Vaadin
        elementClasses = Object.keys(window.Vaadin).map(function (c) {
          return window.Vaadin[c];
        }).filter(function (c) {
          return c.is;
        });
      } else {
        // Polymer 3: components classes are stored in window.Vaadin.registrations
        elementClasses = window.Vaadin.registrations || [];
      }
      elementClasses.forEach(function (klass) {
        var version = klass.version ? klass.version : "0.0.0";
        elements[klass.is] = { version: version };
      });
    }
  }, {
    key: 'getUsedVaadinThemes',
    value: function getUsedVaadinThemes(themes) {
      ['Lumo', 'Material'].forEach(function (themeName) {
        var theme;
        var version = getPolymerVersion();
        if (version && version.indexOf('2') === 0) {
          // Polymer 2: themes are stored in window.Vaadin
          theme = window.Vaadin[themeName];
        } else {
          // Polymer 3: themes are stored in custom element registry
          theme = customElements.get('vaadin-' + themeName.toLowerCase() + '-styles');
        }
        if (theme && theme.version) {
          themes[themeName] = { version: theme.version };
        }
      });
    }
  }, {
    key: 'getFrameworks',
    value: function getFrameworks(frameworks) {
      var detectors = this.frameworkVersionDetectors();
      Object.keys(detectors).forEach(function (framework) {
        var detector = detectors[framework];
        try {
          var version = detector();
          if (version) {
            frameworks[framework] = { version: version };
          }
        } catch (e) {}
      });
    }
  }, {
    key: 'gather',
    value: function gather(storage) {
      var storedStats = storage.read();
      var gatheredStats = {};
      var types = ["elements", "frameworks", "themes"];

      types.forEach(function (type) {
        gatheredStats[type] = {};
        if (!storedStats[type]) {
          storedStats[type] = {};
        }
      });

      var previousStats = JSON.stringify(storedStats);

      this.getUsedVaadinElements(gatheredStats.elements);
      this.getFrameworks(gatheredStats.frameworks);
      this.getUsedVaadinThemes(gatheredStats.themes);

      var now = this.now;
      types.forEach(function (type) {
        var keys = Object.keys(gatheredStats[type]);
        keys.forEach(function (key) {
          if (!storedStats[type][key] || _typeof(storedStats[type][key]) != _typeof({})) {
            storedStats[type][key] = { firstUsed: now };
          }
          // Discards any previously logged version number
          storedStats[type][key].version = gatheredStats[type][key].version;
          storedStats[type][key].lastUsed = now;
        });
      });

      var newStats = JSON.stringify(storedStats);
      storage.write(newStats);
      if (newStats != previousStats && Object.keys(storedStats).length > 0) {
        this.logger.debug("New stats: " + newStats);
      }
    }
  }]);
  return StatisticsGatherer;
}();

var StatisticsStorage = function () {
  function StatisticsStorage(key) {
    classCallCheck(this, StatisticsStorage);

    this.key = key;
  }

  createClass(StatisticsStorage, [{
    key: 'read',
    value: function read() {
      var localStorageStatsString = localStorage.getItem(this.key);
      try {
        return JSON.parse(localStorageStatsString ? localStorageStatsString : '{}');
      } catch (e) {
        return {};
      }
    }
  }, {
    key: 'write',
    value: function write(data) {
      localStorage.setItem(this.key, data);
    }
  }, {
    key: 'clear',
    value: function clear() {
      localStorage.removeItem(this.key);
    }
  }, {
    key: 'isEmpty',
    value: function isEmpty() {
      var storedStats = this.read();
      var empty = true;
      Object.keys(storedStats).forEach(function (key) {
        if (Object.keys(storedStats[key]).length > 0) {
          empty = false;
        }
      });

      return empty;
    }
  }]);
  return StatisticsStorage;
}();

var StatisticsSender = function () {
  function StatisticsSender(url, logger) {
    classCallCheck(this, StatisticsSender);

    this.url = url;
    this.logger = logger;
  }

  createClass(StatisticsSender, [{
    key: 'send',
    value: function send(data, errorHandler) {
      var logger = this.logger;

      if (navigator.onLine === false) {
        logger.debug("Offline, can't send");
        errorHandler();
        return;
      }
      logger.debug("Sending data to " + this.url);

      var req = new XMLHttpRequest();
      req.withCredentials = true;
      req.addEventListener("load", function () {
        // Stats sent, nothing more to do
        logger.debug("Response: " + req.responseText);
      });
      req.addEventListener("error", function () {
        logger.debug("Send failed");
        errorHandler();
      });
      req.addEventListener("abort", function () {
        logger.debug("Send aborted");
        errorHandler();
      });
      req.open("POST", this.url);
      req.setRequestHeader("Content-Type", "application/json");
      req.send(data);
    }
  }]);
  return StatisticsSender;
}();

var StatisticsLogger = function () {
  function StatisticsLogger(id) {
    classCallCheck(this, StatisticsLogger);

    this.id = id;
  }

  createClass(StatisticsLogger, [{
    key: '_isDebug',
    value: function _isDebug() {
      return localStorage.getItem("vaadin." + this.id + ".debug");
    }
  }, {
    key: 'debug',
    value: function debug(msg) {
      if (this._isDebug()) {
        console.info(this.id + ": " + msg);
      }
    }
  }]);
  return StatisticsLogger;
}();

var UsageStatistics = function () {
  function UsageStatistics() {
    classCallCheck(this, UsageStatistics);

    this.now = new Date();
    this.timeNow = this.now.getTime();
    this.gatherDelay = 10; // Delay between loading this file and gathering stats
    this.initialDelay = 24 * 60 * 60;

    this.logger = new StatisticsLogger("statistics");
    this.storage = new StatisticsStorage("vaadin.statistics.basket");
    this.gatherer = new StatisticsGatherer(this.logger);
    this.sender = new StatisticsSender("https://tools.vaadin.com/usage-stats/submit", this.logger);
  }

  createClass(UsageStatistics, [{
    key: 'maybeGatherAndSend',
    value: function maybeGatherAndSend() {
      var _this = this;

      if (localStorage.getItem(UsageStatistics.optOutKey)) {
        return;
      }
      this.gatherer.gather(this.storage);
      setTimeout(function () {
        _this.maybeSend();
      }, this.gatherDelay * 1000);
    }
  }, {
    key: 'lottery',
    value: function lottery() {
      return true;
    }
  }, {
    key: 'currentMonth',
    value: function currentMonth() {
      return this.now.getYear() * 12 + this.now.getMonth();
    }
  }, {
    key: 'maybeSend',
    value: function maybeSend() {
      var firstUse = Number(localStorage.getItem(UsageStatistics.firstUseKey));
      var monthProcessed = Number(localStorage.getItem(UsageStatistics.monthProcessedKey));

      if (!firstUse) {
        // Use a grace period to avoid interfering with tests, incognito mode etc
        firstUse = this.timeNow;
        localStorage.setItem(UsageStatistics.firstUseKey, firstUse);
      }

      if (this.timeNow < firstUse + this.initialDelay * 1000) {
        this.logger.debug("No statistics will be sent until the initial delay of " + this.initialDelay + "s has passed");
        return;
      }
      if (this.currentMonth() <= monthProcessed) {
        this.logger.debug("This month has already been processed");
        return;
      }
      localStorage.setItem(UsageStatistics.monthProcessedKey, this.currentMonth());
      // Use random sampling
      if (this.lottery()) {
        this.logger.debug("Congratulations, we have a winner!");
      } else {
        this.logger.debug("Sorry, no stats from you this time");
        return;
      }

      this.send();
    }
  }, {
    key: 'send',
    value: function send() {
      // Ensure we have the latest data
      this.gatherer.gather(this.storage);

      // Read, send and clean up
      var data = this.storage.read();
      data["firstUse"] = Number(localStorage.getItem(UsageStatistics.firstUseKey));
      data["usageStatisticsVersion"] = UsageStatistics.version;
      var info = 'This request contains usage statistics gathered from the application running in development mode. \n\nStatistics gathering is automatically disabled and excluded from production builds.\n\nFor details and to opt-out, see https://github.com/vaadin/vaadin-usage-statistics.\n\n\n\n';
      var self = this;
      this.sender.send(info + JSON.stringify(data), function () {
        // Revert the 'month processed' flag
        localStorage.setItem(UsageStatistics.monthProcessedKey, self.currentMonth() - 1);
      });
    }
  }], [{
    key: 'version',
    get: function get$1() {
      return '2.1.2';
    }
  }, {
    key: 'firstUseKey',
    get: function get$1() {
      return 'vaadin.statistics.firstuse';
    }
  }, {
    key: 'monthProcessedKey',
    get: function get$1() {
      return 'vaadin.statistics.monthProcessed';
    }
  }, {
    key: 'optOutKey',
    get: function get$1() {
      return 'vaadin.statistics.optout';
    }
  }]);
  return UsageStatistics;
}();

try {
  window.Vaadin = window.Vaadin || {};
  window.Vaadin.usageStatsChecker = window.Vaadin.usageStatsChecker || new UsageStatistics();
  window.Vaadin.usageStatsChecker.maybeGatherAndSend();
} catch (e) {
  // Intentionally ignored as this is not a problem in the app being developed
}

}());

  vaadin-dev-mode:end **/}const Mi=function(){if(typeof Gt=="function")return Gt(Oi)};/**
 * @license
 * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
 * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
 * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
 * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
 * Code distributed by Google as part of the polymer project is also
 * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
 */let Xt=0,Ee=0;const z=[];let xt=!1;function Li(){xt=!1;const i=z.length;for(let e=0;e<i;e++){const t=z[e];if(t)try{t()}catch(n){setTimeout(()=>{throw n})}}z.splice(0,i),Ee+=i}const Se={run(i){return window.requestAnimationFrame(i)},cancel(i){window.cancelAnimationFrame(i)}},Ii={run(i){return window.requestIdleCallback?window.requestIdleCallback(i):window.setTimeout(i,16)},cancel(i){window.cancelIdleCallback?window.cancelIdleCallback(i):window.clearTimeout(i)}},Ae={run(i){xt||(xt=!0,queueMicrotask(()=>Li())),z.push(i);const e=Xt;return Xt+=1,e},cancel(i){const e=i-Ee;if(e>=0){if(!z[e])throw new Error(`invalid async handle: ${i}`);z[e]=null}}};/**
@license
Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
*/const Ct=new Set;class I{static debounce(e,t,n){return e instanceof I?e._cancelAsync():e=new I,e.setConfig(t,n),e}constructor(){this._asyncModule=null,this._callback=null,this._timer=null}setConfig(e,t){this._asyncModule=e,this._callback=t,this._timer=this._asyncModule.run(()=>{this._timer=null,Ct.delete(this),this._callback()})}cancel(){this.isActive()&&(this._cancelAsync(),Ct.delete(this))}_cancelAsync(){this.isActive()&&(this._asyncModule.cancel(this._timer),this._timer=null)}flush(){this.isActive()&&(this.cancel(),this._callback())}isActive(){return this._timer!=null}}function Pi(i){Ct.add(i)}/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const x=[];function kt(i,e,t=i.getAttribute("dir")){e?i.setAttribute("dir",e):t!=null&&i.removeAttribute("dir")}function Et(){return document.documentElement.getAttribute("dir")}function Ni(){const i=Et();x.forEach(e=>{kt(e,i)})}const Di=new MutationObserver(Ni);Di.observe(document.documentElement,{attributes:!0,attributeFilter:["dir"]});const Pt=i=>class extends i{static get properties(){return{dir:{type:String,value:"",reflectToAttribute:!0,converter:{fromAttribute:t=>t||"",toAttribute:t=>t===""?null:t}}}}get __isRTL(){return this.getAttribute("dir")==="rtl"}connectedCallback(){super.connectedCallback(),(!this.hasAttribute("dir")||this.__restoreSubscription)&&(this.__subscribe(),kt(this,Et(),null))}attributeChangedCallback(t,n,o){if(super.attributeChangedCallback(t,n,o),t!=="dir")return;const s=Et(),r=o===s&&x.indexOf(this)===-1,a=!o&&n&&x.indexOf(this)===-1;r||a?(this.__subscribe(),kt(this,s,o)):o!==s&&n===s&&this.__unsubscribe()}disconnectedCallback(){super.disconnectedCallback(),this.__restoreSubscription=x.includes(this),this.__unsubscribe()}_valueToNodeAttribute(t,n,o){o==="dir"&&n===""&&!t.hasAttribute("dir")||super._valueToNodeAttribute(t,n,o)}_attributeToProperty(t,n,o){t==="dir"&&!n?this.dir="":super._attributeToProperty(t,n,o)}__subscribe(){x.includes(this)||x.push(this)}__unsubscribe(){x.includes(this)&&x.splice(x.indexOf(this),1)}};/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */window.Vaadin||(window.Vaadin={});window.Vaadin.registrations||(window.Vaadin.registrations=[]);window.Vaadin.developmentModeCallback||(window.Vaadin.developmentModeCallback={});window.Vaadin.developmentModeCallback["vaadin-usage-statistics"]=function(){Mi()};let rt;const Yt=new Set,T=i=>class extends Pt(i){static _ensureRegistrations(){const{is:t}=this;if(t&&!Yt.has(t)){window.Vaadin.registrations.push(this),Yt.add(t);const n=window.Vaadin.developmentModeCallback;n&&(rt=I.debounce(rt,Ii,()=>{n["vaadin-usage-statistics"]()}),Pi(rt))}}constructor(){super(),document.doctype===null&&console.warn('Vaadin components require the "standards mode" declaration. Please add <!DOCTYPE html> to the HTML document.'),this.constructor._ensureRegistrations()}},Te=new WeakMap;function zi(i,e){let t=e;for(;t;){if(Te.get(t)===i)return!0;t=Object.getPrototypeOf(t)}return!1}function F(i){return e=>{if(zi(i,e))return e;const t=i(e);return Te.set(t,i),t}}/**
 * @license
 * Copyright (c) 2023 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */function Ri(i,e){return i.split(".").reduce((t,n)=>t?t[n]:void 0,e)}function $i(i,e,t){const n=i.split("."),o=n.pop(),s=n.reduce((r,a)=>r[a],t);s[o]=e}/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const at={},Fi=/([A-Z])/gu;function Zt(i){return at[i]||(at[i]=i.replace(Fi,"-$1").toLowerCase()),at[i]}function Qt(i){return i[0].toUpperCase()+i.substring(1)}function lt(i){const[e,t]=i.split("("),n=t.replace(")","").split(",").map(o=>o.trim());return{method:e,observerProps:n}}function dt(i,e){return Object.prototype.hasOwnProperty.call(i,e)||(i[e]=new Map(i[e])),i[e]}const Bi=i=>{class e extends i{static enabledWarnings=[];static createProperty(n,o){[String,Boolean,Number,Array].includes(o)&&(o={type:o}),o&&o.reflectToAttribute&&(o.reflect=!0),super.createProperty(n,o)}static getOrCreateMap(n){return dt(this,n)}static finalize(){if(window.litIssuedWarnings&&(window.litIssuedWarnings.add("no-override-create-property"),window.litIssuedWarnings.add("no-override-get-property-descriptor")),super.finalize(),Array.isArray(this.observers)){const n=this.getOrCreateMap("__complexObservers");this.observers.forEach(o=>{const{method:s,observerProps:r}=lt(o);n.set(s,r)})}}static addCheckedInitializer(n){super.addInitializer(o=>{o instanceof this&&n(o)})}static getPropertyDescriptor(n,o,s){const r=super.getPropertyDescriptor(n,o,s);let a=r;if(this.getOrCreateMap("__propKeys").set(n,o),s.sync&&(a={get:r.get,set(l){const d=this[n];oi(l,d)&&(this[o]=l,this.requestUpdate(n,d,s),this.hasUpdated&&this.performUpdate())},configurable:!0,enumerable:!0}),s.readOnly){const l=a.set;this.addCheckedInitializer(d=>{d[`_set${Qt(n)}`]=function(u){l.call(d,u)}}),a={get:a.get,set(){},configurable:!0,enumerable:!0}}if("value"in s&&this.addCheckedInitializer(l=>{const d=typeof s.value=="function"?s.value.call(l):s.value;s.readOnly?l[`_set${Qt(n)}`](d):l[n]=d}),s.observer){const l=s.observer;this.getOrCreateMap("__observers").set(n,l),this.addCheckedInitializer(d=>{d[l]||console.warn(`observer method ${l} not defined`)})}if(s.notify){if(!this.__notifyProps)this.__notifyProps=new Set;else if(!this.hasOwnProperty("__notifyProps")){const l=this.__notifyProps;this.__notifyProps=new Set(l)}this.__notifyProps.add(n)}if(s.computed){const l=`__assignComputed${n}`,d=lt(s.computed);this.prototype[l]=function(...u){this[n]=this[d.method](...u)},this.getOrCreateMap("__computedObservers").set(l,d.observerProps)}return s.attribute||(s.attribute=Zt(n)),a}static get polylitConfig(){return{asyncFirstRender:!1}}connectedCallback(){super.connectedCallback();const{polylitConfig:n}=this.constructor;!this.hasUpdated&&!n.asyncFirstRender&&this.performUpdate()}firstUpdated(){super.firstUpdated(),this.$||(this.$={}),this.renderRoot.querySelectorAll("[id]").forEach(n=>{this.$[n.id]=n})}ready(){}willUpdate(n){this.constructor.__computedObservers&&this.__runComplexObservers(n,this.constructor.__computedObservers)}updated(n){const o=this.__isReadyInvoked;this.__isReadyInvoked=!0,this.constructor.__observers&&this.__runObservers(n,this.constructor.__observers),this.constructor.__complexObservers&&this.__runComplexObservers(n,this.constructor.__complexObservers),this.__dynamicPropertyObservers&&this.__runDynamicObservers(n,this.__dynamicPropertyObservers),this.__dynamicMethodObservers&&this.__runComplexObservers(n,this.__dynamicMethodObservers),this.constructor.__notifyProps&&this.__runNotifyProps(n,this.constructor.__notifyProps),o||this.ready()}setProperties(n){Object.entries(n).forEach(([o,s])=>{const r=this.constructor.__propKeys.get(o),a=this[r];this[r]=s,this.requestUpdate(o,a)}),this.hasUpdated&&this.performUpdate()}_createMethodObserver(n){const o=dt(this,"__dynamicMethodObservers"),{method:s,observerProps:r}=lt(n);o.set(s,r)}_createPropertyObserver(n,o){dt(this,"__dynamicPropertyObservers").set(o,n)}__runComplexObservers(n,o){o.forEach((s,r)=>{s.some(a=>n.has(a))&&(this[r]?this[r](...s.map(a=>this[a])):console.warn(`observer method ${r} not defined`))})}__runDynamicObservers(n,o){o.forEach((s,r)=>{n.has(s)&&this[r]&&this[r](this[s],n.get(s))})}__runObservers(n,o){n.forEach((s,r)=>{const a=o.get(r);a!==void 0&&this[a]&&this[a](this[r],s)})}__runNotifyProps(n,o){n.forEach((s,r)=>{o.has(r)&&this.dispatchEvent(new CustomEvent(`${Zt(r)}-changed`,{detail:{value:this[r]}}))})}_get(n,o){return Ri(n,o)}_set(n,o,s){$i(n,o,s)}}return e},b=F(Bi);/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class Nt extends EventTarget{#t;#n=new Set;#i;#e=!1;constructor(e){super(),this.#t=e,this.#i=new CSSStyleSheet}#s(e){const{propertyName:t}=e;this.#n.has(t)&&this.dispatchEvent(new CustomEvent("property-changed",{detail:{propertyName:t}}))}observe(e){this.connect(),!this.#n.has(e)&&(this.#n.add(e),this.#i.replaceSync(`
      :root::before, :host::before {
        content: '' !important;
        position: absolute !important;
        top: -9999px !important;
        left: -9999px !important;
        visibility: hidden !important;
        transition: 1ms allow-discrete step-end !important;
        transition-property: ${[...this.#n].join(", ")} !important;
      }
    `))}connect(){this.#e||(this.#t.adoptedStyleSheets.unshift(this.#i),this.#o.addEventListener("transitionstart",e=>this.#s(e)),this.#o.addEventListener("transitionend",e=>this.#s(e)),this.#e=!0)}disconnect(){this.#n.clear(),this.#t.adoptedStyleSheets=this.#t.adoptedStyleSheets.filter(e=>e!==this.#i),this.#o.removeEventListener("transitionstart",this.#s),this.#o.removeEventListener("transitionend",this.#s),this.#e=!1}get#o(){return this.#t.documentElement??this.#t.host}static for(e){return e.__cssPropertyObserver||=new Nt(e),e.__cssPropertyObserver}}/**
 * @license
 * Copyright (c) 2000 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Jt=new Set;function Oe(i){Jt.has(i)||(Jt.add(i),console.warn(i))}/**
 * @license
 * Copyright (c) 2000 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const te=new WeakMap;function ee(i){try{return i.media.mediaText}catch{return Oe('[LumoInjector] Browser denied to access property "mediaText" for some CSS rules, so they were skipped.'),""}}function ji(i){try{return i.cssRules}catch{return Oe('[LumoInjector] Browser denied to access property "cssRules" for some CSS stylesheets, so they were skipped.'),[]}}function Me(i,e={tags:new Map,modules:new Map}){for(const t of ji(i)){if(t instanceof CSSImportRule){const n=ee(t);n.startsWith("lumo_")?e.modules.set(n,[...t.styleSheet.cssRules]):Me(t.styleSheet,e);continue}if(t instanceof CSSMediaRule){const n=ee(t);n.startsWith("lumo_")&&e.modules.set(n,[...t.cssRules]);continue}if(t instanceof CSSStyleRule&&t.cssText.includes("-inject")){for(const n of t.style){const o=n.match(/^--_lumo-(.*)-inject-modules$/u)?.[1];if(!o)continue;const s=t.style.getPropertyValue(n);e.tags.set(o,s.split(",").map(r=>r.trim().replace(/'|"/gu,"")))}continue}}return e}function Vi(i){let e=new Map,t=new Map;for(const n of i){let o=te.get(n);o||(o=Me(n),te.set(n,o)),e=new Map([...e,...o.tags]),t=new Map([...t,...o.modules])}return{tags:e,modules:t}}/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */function Le(i){return`--_lumo-${i.is}-inject`}class Hi{#t;#n;#i=new Map;#e=new Map;constructor(e=document){this.#t=e,this.handlePropertyChange=this.handlePropertyChange.bind(this),this.#n=Nt.for(e),this.#n.addEventListener("property-changed",this.handlePropertyChange)}disconnect(){this.#n.removeEventListener("property-changed",this.handlePropertyChange),this.#i.clear(),this.#e.values().forEach(e=>e.forEach(st))}forceUpdate(){for(const e of this.#i.keys())this.#o(e)}componentConnected(e){const{lumoInjector:t}=e.constructor,{is:n}=t;this.#e.set(n,this.#e.get(n)??new Set),this.#e.get(n).add(e);const o=this.#i.get(n);if(o){o.cssRules.length>0&&Kt(e,o);return}this.#s(n);const s=Le(t);this.#n.observe(s)}componentDisconnected(e){const{is:t}=e.constructor.lumoInjector;this.#e.get(t)?.delete(e),st(e)}handlePropertyChange(e){const{propertyName:t}=e.detail,n=t.match(/^--_lumo-(.*)-inject$/u)?.[1];n&&this.#o(n)}#s(e){this.#i.set(e,new CSSStyleSheet),this.#o(e)}#o(e){const{tags:t,modules:n}=Vi(this.#r),o=(t.get(e)??[]).flatMap(r=>n.get(r)??[]).map(r=>r.cssText).join(`
`),s=this.#i.get(e);s.replaceSync(o),this.#e.get(e)?.forEach(r=>{o?Kt(r,s):st(r)})}get#r(){let e=new Set;for(const t of[this.#t,document])e=e.union(new Set(t.styleSheets)),e=e.union(new Set(t.adoptedStyleSheets));return[...e]}}/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const ie=new Set;function Ie(i){const e=i.getRootNode();return e.host&&e.host.constructor.version?Ie(e.host):e}const S=i=>class extends i{static finalize(){super.finalize();const t=Le(this.lumoInjector);this.is&&!ie.has(t)&&(ie.add(t),CSS.registerProperty({name:t,syntax:"<number>",inherits:!0,initialValue:"0"}))}static get lumoInjector(){return{is:this.is,includeBaseStyles:!1}}connectedCallback(){super.connectedCallback();const t=Ie(this);t.__lumoInjectorDisabled||this.isConnected&&(t.__lumoInjector||=new Hi(t),this.__lumoInjector=t.__lumoInjector,this.__lumoInjector.componentConnected(this))}disconnectedCallback(){super.disconnectedCallback(),this.__lumoInjector&&(this.__lumoInjector.componentDisconnected(this),this.__lumoInjector=void 0)}};/**
 * @license
 * Copyright (c) 2025 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Ui=(i,...e)=>{const t=document.createElement("style");t.id=i,t.textContent=e.map(n=>n.toString()).join(`
`),document.head.insertAdjacentElement("afterbegin",t)};/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */["--vaadin-text-color","--vaadin-text-color-disabled","--vaadin-text-color-secondary","--vaadin-border-color","--vaadin-border-color-secondary","--vaadin-background-color"].forEach(i=>{CSS.registerProperty({name:i,syntax:"<color>",inherits:!0,initialValue:"light-dark(black, white)"})});Ui("vaadin-base",h`
    @layer vaadin.base {
      html {
        /* Background color */
        --vaadin-background-color: light-dark(#fff, #222);

        /* Container colors */
        --vaadin-background-container: color-mix(in oklab, var(--vaadin-text-color) 5%, var(--vaadin-background-color));
        --vaadin-background-container-strong: color-mix(
          in oklab,
          var(--vaadin-text-color) 10%,
          var(--vaadin-background-color)
        );

        /* Border colors */
        --vaadin-border-color-secondary: color-mix(in oklab, var(--vaadin-text-color) 24%, transparent);
        --vaadin-border-color: color-mix(in oklab, var(--vaadin-text-color) 48%, transparent); /* Above 3:1 contrast */

        /* Text colors */
        /* Above 3:1 contrast */
        --vaadin-text-color-disabled: color-mix(in oklab, var(--vaadin-text-color) 48%, transparent);
        /* Above 4.5:1 contrast */
        --vaadin-text-color-secondary: color-mix(in oklab, var(--vaadin-text-color) 68%, transparent);
        /* Above 7:1 contrast */
        --vaadin-text-color: light-dark(#1f1f1f, white);

        /* Padding */
        --vaadin-padding-xs: 6px;
        --vaadin-padding-s: 8px;
        --vaadin-padding-m: 12px;
        --vaadin-padding-l: 16px;
        --vaadin-padding-xl: 24px;
        --vaadin-padding-block-container: var(--vaadin-padding-xs);
        --vaadin-padding-inline-container: var(--vaadin-padding-s);

        /* Gap/spacing */
        --vaadin-gap-xs: 6px;
        --vaadin-gap-s: 8px;
        --vaadin-gap-m: 12px;
        --vaadin-gap-l: 16px;
        --vaadin-gap-xl: 24px;

        /* Border radius */
        --vaadin-radius-s: 3px;
        --vaadin-radius-m: 6px;
        --vaadin-radius-l: 12px;

        /* Focus outline */
        --vaadin-focus-ring-width: 2px;
        --vaadin-focus-ring-color: var(--vaadin-text-color);

        /* Icons, used as mask-image */
        --_vaadin-icon-arrow-up: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m5 12 7-7 7 7"/><path d="M12 19V5"/></svg>');
        --_vaadin-icon-calendar: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 2v4"/><path d="M16 2v4"/><rect width="18" height="18" x="3" y="4" rx="2"/><path d="M3 10h18"/></svg>');
        --_vaadin-icon-checkmark: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5" /></svg>');
        --_vaadin-icon-chevron-down: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></svg>');
        --_vaadin-icon-clock: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 6v6l4 2"/><circle cx="12" cy="12" r="10"/></svg>');
        --_vaadin-icon-cross: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" /></svg>');
        --_vaadin-icon-drag: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M11 7c0 .82843-.6716 1.5-1.5 1.5C8.67157 8.5 8 7.82843 8 7s.67157-1.5 1.5-1.5c.8284 0 1.5.67157 1.5 1.5Zm0 5c0 .8284-.6716 1.5-1.5 1.5-.82843 0-1.5-.6716-1.5-1.5s.67157-1.5 1.5-1.5c.8284 0 1.5.6716 1.5 1.5Zm0 5c0 .8284-.6716 1.5-1.5 1.5-.82843 0-1.5-.6716-1.5-1.5s.67157-1.5 1.5-1.5c.8284 0 1.5.6716 1.5 1.5Zm5-10c0 .82843-.6716 1.5-1.5 1.5S13 7.82843 13 7s.6716-1.5 1.5-1.5S16 6.17157 16 7Zm0 5c0 .8284-.6716 1.5-1.5 1.5S13 12.8284 13 12s.6716-1.5 1.5-1.5 1.5.6716 1.5 1.5Zm0 5c0 .8284-.6716 1.5-1.5 1.5S13 17.8284 13 17s.6716-1.5 1.5-1.5 1.5.6716 1.5 1.5Z" fill="currentColor"/></svg>');
        --_vaadin-icon-eye: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z" /><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" /></svg>');
        --_vaadin-icon-eye-slash: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88" /></svg>');
        --_vaadin-icon-file: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/></svg>');
        --_vaadin-icon-fullscreen: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15" /></svg>');
        --_vaadin-icon-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>');
        --_vaadin-icon-link: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>');
        --_vaadin-icon-menu: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" /></svg>');
        --_vaadin-icon-minus: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/></svg>');
        --_vaadin-icon-paper-airplane: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 12 3.269 3.125A59.769 59.769 0 0 1 21.485 12 59.768 59.768 0 0 1 3.27 20.875L5.999 12Zm0 0h7.5" /></svg>');
        --_vaadin-icon-pen: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/><path d="m15 5 4 4"/></svg>');
        --_vaadin-icon-play: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.347a1.125 1.125 0 0 1 0 1.972l-11.54 6.347a1.125 1.125 0 0 1-1.667-.986V5.653Z" /></svg>');
        --_vaadin-icon-plus: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/><path d="M12 5v14"/></svg>');
        --_vaadin-icon-redo: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 7v6h-6"/><path d="M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7"/></svg>');
        --_vaadin-icon-refresh: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M22 10C22 10 19.995 7.26822 18.3662 5.63824C16.7373 4.00827 14.4864 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.1031 21 19.5649 18.2543 20.6482 14.5M22 10V4M22 10H16" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
        --_vaadin-icon-resize: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.5303 7.46967c.2929.29289.2929.76777 0 1.06066L8.53033 18.5304c-.29289.2929-.76777.2929-1.06066 0s-.29289-.7678 0-1.0607L17.4697 7.46967c.2929-.29289.7677-.29289 1.0606 0Zm0 4.50003c.2929.2929.2929.7678 0 1.0607l-5.5 5.5c-.2929.2928-.7677.2928-1.0606 0-.2929-.2929-.2929-.7678 0-1.0607l5.4999-5.5c.2929-.2929.7678-.2929 1.0607 0Zm0 4.5c.2929.2928.2929.7677 0 1.0606l-1 1.0001c-.2929.2928-.7677.2929-1.0606 0-.2929-.2929-.2929-.7678 0-1.0607l1-1c.2929-.2929.7677-.2929 1.0606 0Z" fill="currentColor"/></svg>');
        --_vaadin-icon-sort: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="12" viewBox="0 0 8 12" fill="none"><path d="M7.49854 6.99951C7.92795 6.99951 8.15791 7.50528 7.87549 7.82861L4.37646 11.8296C4.17728 12.0571 3.82272 12.0571 3.62354 11.8296L0.125488 7.82861C-0.157248 7.50531 0.0719873 6.99956 0.501465 6.99951H7.49854ZM3.62354 0.17041C3.82275 -0.0573875 4.17725 -0.0573848 4.37646 0.17041L7.87549 4.17041C8.15825 4.49373 7.92806 5.00049 7.49854 5.00049L0.501465 4.99951C0.0719873 4.99946 -0.157248 4.49371 0.125488 4.17041L3.62354 0.17041Z" fill="black"/></svg>');
        --_vaadin-icon-undo: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7v6h6"/><path d="M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"/></svg>');
        --_vaadin-icon-upload: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3v12"/><path d="m17 8-5-5-5 5"/><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/></svg>');
        --_vaadin-icon-user: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>');
        --_vaadin-icon-warn: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/><path d="M12 9v4"/><path d="M12 17h.01"/></svg>');

        /* Cursors for interactive elements */
        --vaadin-clickable-cursor: pointer;
        --vaadin-disabled-cursor: not-allowed;

        /* Use units so that the values can be used in calc() */
        --safe-area-inset-top: env(safe-area-inset-top, 0px);
        --safe-area-inset-right: env(safe-area-inset-right, 0px);
        --safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);
        --safe-area-inset-left: env(safe-area-inset-left, 0px);
      }

      @supports not (color: hsl(0 0 0)) {
        html {
          --_vaadin-safari-17-deg: 1deg;
        }
      }

      @media (forced-colors: active) {
        html {
          --vaadin-background-color: Canvas;
          --vaadin-border-color: CanvasText;
          --vaadin-border-color-secondary: CanvasText;
          --vaadin-text-color-disabled: CanvasText;
          --vaadin-text-color-secondary: CanvasText;
          --vaadin-text-color: CanvasText;
          --vaadin-icon-color: CanvasText;
          --vaadin-focus-ring-color: Highlight;
        }
      }
    }
  `);/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const ne=h`
  :host {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-sizing: border-box;
  }

  :host([hidden]) {
    display: none !important;
  }

  /* Theme variations */
  :host([theme~='margin']) {
    margin: var(--vaadin-vertical-layout-margin, var(--vaadin-padding-m));
  }

  :host([theme~='padding']) {
    padding: var(--vaadin-vertical-layout-padding, var(--vaadin-padding-m));
  }

  :host([theme~='spacing']) {
    gap: var(--vaadin-vertical-layout-gap, var(--vaadin-gap-s));
  }

  :host([theme~='wrap']) {
    flex-wrap: wrap;
  }
`,Wi=window.Vaadin.featureFlags.layoutComponentImprovements,qi=h`
  ::slotted([data-height-full]) {
    flex: 1;
  }

  ::slotted(vaadin-horizontal-layout[data-height-full]),
  ::slotted(vaadin-vertical-layout[data-height-full]) {
    min-height: 0;
  }
`,Ki=Wi?[ne,qi]:[ne];/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class Gi extends E(T(b(S(g)))){static get is(){return"vaadin-vertical-layout"}static get styles(){return Ki}static get lumoInjector(){return{...super.lumoInjector,includeBaseStyles:!0}}render(){return _`<slot></slot>`}}m(Gi);/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const it=i=>i.test(navigator.userAgent),St=i=>i.test(navigator.platform),Xi=i=>i.test(navigator.vendor);it(/Android/u);it(/Chrome/u)&&Xi(/Google Inc/u);it(/Firefox/u);const Yi=St(/^iPad/u)||St(/^Mac/u)&&navigator.maxTouchPoints>1,Zi=St(/^iPhone/u),Pe=Zi||Yi,Qi=it(/^((?!chrome|android).)*safari/iu);(()=>{try{return document.createEvent("TouchEvent"),!0}catch{return!1}})();/**
 * @license
 * Copyright (c) 2018 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */function Ne(){if(Pe){const i=window.innerHeight,t=window.innerWidth>i,n=document.documentElement.clientHeight;t&&n>i?document.documentElement.style.setProperty("--vaadin-viewport-offset-bottom",`${n-i}px`):document.documentElement.style.setProperty("--vaadin-viewport-offset-bottom","")}}Ne();window.addEventListener("resize",Ne);/**
 * @license
 * Copyright (c) 2018 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Ji=h`
  :host {
    display: block;
    box-sizing: border-box;
    height: 100%;
    --vaadin-app-layout-transition-duration: 0s;
    transition: padding var(--vaadin-app-layout-transition-duration);
    --_vaadin-app-layout-drawer-width: var(--vaadin-app-layout-drawer-width, auto);
    --vaadin-app-layout-touch-optimized: false;
    --vaadin-app-layout-navbar-offset-top: var(--_vaadin-app-layout-navbar-offset-size);
    --vaadin-app-layout-navbar-offset-bottom: var(--_vaadin-app-layout-navbar-offset-size-bottom);
    padding-top: max(var(--vaadin-app-layout-navbar-offset-top), var(--safe-area-inset-top));
    padding-bottom: max(var(--vaadin-app-layout-navbar-offset-bottom), var(--safe-area-inset-bottom));
  }

  :host(:dir(ltr)) [content] {
    padding-left: max(var(--vaadin-app-layout-drawer-offset-left), var(--safe-area-inset-left));
    padding-right: var(--safe-area-inset-right);
  }

  :host(:dir(rtl)) [content] {
    padding-left: var(--safe-area-inset-left);
    padding-right: max(var(--vaadin-app-layout-drawer-offset-left), var(--safe-area-inset-right));
  }

  :host([hidden]),
  [hidden] {
    display: none !important;
  }

  @media (prefers-reduced-motion: no-preference) {
    :host(:not([no-anim])) {
      --vaadin-app-layout-transition-duration: 200ms;
    }
  }

  :host([drawer-opened]) {
    --vaadin-app-layout-drawer-offset-left: var(--_vaadin-app-layout-drawer-offset-size);
  }

  :host([overlay]) {
    --vaadin-app-layout-drawer-offset-left: 0px;
  }

  :host(:not([no-scroll])) [content] {
    overflow: auto;
  }

  [content] {
    height: 100%;
    transition: inherit;
  }

  @media (pointer: coarse) and (max-width: 800px) and (min-height: 500px) {
    :host {
      --vaadin-app-layout-touch-optimized: true;
    }
  }

  [part~='navbar'] {
    position: fixed;
    display: flex;
    align-items: center;
    top: 0;
    inset-inline: 0;
    transition: inset-inline-start var(--vaadin-app-layout-transition-duration);
    padding-top: max(var(--vaadin-app-layout-navbar-padding-top, var(--vaadin-padding-s)), var(--safe-area-inset-top));
    padding-bottom: var(--vaadin-app-layout-navbar-padding-bottom, var(--vaadin-padding-s));
    padding-inline-start: max(
      var(--vaadin-app-layout-navbar-padding-inline-start, var(--vaadin-padding-s)),
      var(--safe-area-inset-left)
    );
    /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties */
    padding-inline-end: max(
      var(--vaadin-app-layout-navbar-padding-inline-end, var(--vaadin-padding-s)),
      var(--safe-area-inset-right)
    );
    z-index: 1;
    gap: var(--vaadin-app-layout-navbar-gap, var(--vaadin-gap-s));
    background: var(--vaadin-app-layout-navbar-background, var(--vaadin-background-container));
  }

  :host([primary-section='drawer'][drawer-opened]:not([overlay])) [part~='navbar'] {
    inset-inline-start: var(--vaadin-app-layout-drawer-offset-left, 0);
  }

  :host([primary-section='drawer']) [part='drawer'] {
    top: 0;
  }

  [part~='navbar-bottom'] {
    top: auto;
    bottom: 0;
    padding-top: var(--vaadin-app-layout-navbar-padding-top, var(--vaadin-padding-s));
    padding-bottom: max(
      var(--vaadin-app-layout-navbar-padding-bottom, var(--vaadin-padding-s)),
      var(--safe-area-inset-bottom)
    );
  }

  [part='drawer'] {
    overflow: auto;
    overscroll-behavior: contain;
    position: fixed;
    top: var(--vaadin-app-layout-navbar-offset-top, 0);
    bottom: var(--vaadin-app-layout-navbar-offset-bottom, var(--vaadin-viewport-offset-bottom, 0));
    inset-inline: var(--vaadin-app-layout-navbar-offset-left, 0) auto;
    transition:
      transform var(--vaadin-app-layout-transition-duration),
      visibility var(--vaadin-app-layout-transition-duration);
    transform: translateX(-100%);
    max-width: 90%;
    width: var(--_vaadin-app-layout-drawer-width);
    box-sizing: border-box;
    padding-block: var(--safe-area-inset-top) var(--safe-area-inset-bottom);
    outline: none;
    /* The drawer should be inaccessible by the tabbing navigation when it is closed. */
    visibility: hidden;
    display: flex;
    flex-direction: column;
    background: var(--vaadin-app-layout-drawer-background, transparent);
  }

  [part='drawer']:dir(ltr) {
    padding-left: var(--safe-area-inset-left);
  }

  [part='drawer']:dir(rtl) {
    padding-right: var(--safe-area-inset-right);
  }

  :host([has-navbar]:not([overlay])) [part='drawer'],
  :host([has-navbar]) [content] {
    --safe-area-inset-top: 0px;
  }

  :host([has-drawer]:not([overlay])[drawer-opened]) [content] {
    &:dir(ltr) {
      --safe-area-inset-left: 0px;
    }

    &:dir(rtl) {
      --safe-area-inset-right: 0px;
    }
  }

  :host([drawer-opened]) [part='drawer'] {
    /* The drawer should be accessible by the tabbing navigation when it is opened. */
    visibility: visible;
    transform: translateX(0%);
    touch-action: manipulation;
  }

  [part='backdrop'] {
    background: var(--vaadin-overlay-backdrop-background, rgba(0, 0, 0, 0.2));
    forced-color-adjust: none;
  }

  :host(:not([drawer-opened])) [part='backdrop'] {
    opacity: 0 !important;
  }

  :host([overlay]) [part='backdrop'] {
    position: fixed;
    inset: 0;
    pointer-events: none;
    transition: opacity var(--vaadin-app-layout-transition-duration);
    -webkit-tap-highlight-color: transparent;
  }

  :host([overlay]) [part='drawer'] {
    top: 0;
    bottom: 0;
    box-shadow: var(--vaadin-overlay-shadow, 0 8px 24px -4px rgba(0, 0, 0, 0.3));
    background: var(--vaadin-app-layout-drawer-background, var(--vaadin-background-color));
  }

  :host([overlay]) [part='drawer'],
  :host([overlay]) [part='backdrop'] {
    z-index: 2;
  }

  :host([drawer-opened][overlay]) [part='backdrop'] {
    pointer-events: auto;
    touch-action: manipulation;
  }

  :host([dir='rtl']) [part='drawer'] {
    transform: translateX(100%);
  }

  :host([dir='rtl'][drawer-opened]) [part='drawer'] {
    transform: translateX(0%);
  }

  @media (max-width: 800px), (max-height: 600px) {
    :host {
      --vaadin-app-layout-drawer-overlay: true;
      --_vaadin-app-layout-drawer-width: var(--vaadin-app-layout-drawer-width, 320px);
    }
  }

  /* If a vaadin-scroller is used in the drawer, allow it to take all remaining space and contain scrolling */
  [part='drawer'] ::slotted(vaadin-scroller) {
    flex: 1;
    overscroll-behavior: contain;
  }

  @media (forced-colors: active) {
    :host([overlay]) [part='drawer'] {
      border: 3px solid;
    }
  }
`;/**
 * @license
 * Copyright (c) 2017 Anton Korzunov
 * SPDX-License-Identifier: MIT
 */let P=new WeakMap,X=new WeakMap,Y={},ct=0;const oe=i=>i&&i.nodeType===Node.ELEMENT_NODE,ht=(...i)=>{console.error(`Error: ${i.join(" ")}. Skip setting aria-hidden.`)},tn=(i,e)=>oe(i)?e.map(t=>{if(!oe(t))return ht(t,"is not a valid element"),null;let n=t;for(;n&&n!==i;){if(i.contains(n))return t;n=n.getRootNode().host}return ht(t,"is not contained inside",i),null}).filter(t=>!!t):(ht(i,"is not a valid element"),[]),en=(i,e,t,n)=>{const o=tn(e,Array.isArray(i)?i:[i]);Y[t]||(Y[t]=new WeakMap);const s=Y[t],r=[],a=new Set,l=new Set(o),d=c=>{if(!c||a.has(c))return;a.add(c);const p=c.assignedSlot;p&&d(p),d(c.parentNode||c.host)};o.forEach(d);const u=c=>{if(!c||l.has(c))return;const p=c.shadowRoot;(p?[...c.children,...p.children]:[...c.children]).forEach(v=>{if(!["template","script","style"].includes(v.localName))if(a.has(v))u(v);else{const q=v.getAttribute(n),K=q!==null&&q!=="false",nt=(P.get(v)||0)+1,G=(s.get(v)||0)+1;P.set(v,nt),s.set(v,G),r.push(v),nt===1&&K&&X.set(v,!0),G===1&&v.setAttribute(t,"true"),K||v.setAttribute(n,"true")}})};return u(e),a.clear(),ct+=1,()=>{r.forEach(c=>{const p=P.get(c)-1,y=s.get(c)-1;P.set(c,p),s.set(c,y),p||(X.has(c)?X.delete(c):c.removeAttribute(n)),y||c.removeAttribute(t)}),ct-=1,ct||(P=new WeakMap,P=new WeakMap,X=new WeakMap,Y={})}},nn=(i,e=document.body,t="data-aria-hidden")=>{const n=Array.from(Array.isArray(i)?i:[i]);return e&&n.push(...Array.from(e.querySelectorAll("[aria-live]"))),en(n,e,t,"aria-hidden")};/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class on{constructor(e,t){this.host=e,this.callback=typeof t=="function"?t:()=>e}showModal(){const e=this.callback();this.__showOthers=nn(e)}close(){this.__showOthers&&(this.__showOthers(),this.__showOthers=null)}}/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */let Dt=!1;window.addEventListener("keydown",()=>{Dt=!0},{capture:!0});window.addEventListener("mousedown",()=>{Dt=!1},{capture:!0});function At(){let i=document.activeElement||document.body;for(;i.shadowRoot&&i.shadowRoot.activeElement;)i=i.shadowRoot.activeElement;return i}function W(){return Dt}function De(i){const e=i.style;if(e.visibility==="hidden"||e.display==="none")return!0;const t=window.getComputedStyle(i);return t.visibility==="hidden"||t.display==="none"}function sn(i,e){const t=Math.max(i.tabIndex,0),n=Math.max(e.tabIndex,0);return t===0||n===0?n>t:t>n}function rn(i,e){const t=[];for(;i.length>0&&e.length>0;)sn(i[0],e[0])?t.push(e.shift()):t.push(i.shift());return t.concat(i,e)}function Tt(i){const e=i.length;if(e<2)return i;const t=Math.ceil(e/2),n=Tt(i.slice(0,t)),o=Tt(i.slice(t));return rn(n,o)}function an(i){return i.checkVisibility?!i.checkVisibility({visibilityProperty:!0}):i.offsetParent===null&&i.clientWidth===0&&i.clientHeight===0?!0:De(i)}function ln(i){return i.matches('[tabindex="-1"]')?!1:i.matches("input, select, textarea, button, object")?i.matches(":not([disabled])"):i.matches("a[href], area[href], iframe, [tabindex], [contentEditable]")}function dn(i){return i.getRootNode().activeElement===i}function cn(i){if(!ln(i))return-1;const e=i.getAttribute("tabindex")||0;return Number(e)}function ze(i,e){if(i.nodeType!==Node.ELEMENT_NODE||De(i))return!1;const t=i,n=cn(t);let o=n>0;n>=0&&e.push(t);let s=[];return t.localName==="slot"?s=t.assignedNodes({flatten:!0}):s=(t.shadowRoot||t).children,[...s].forEach(r=>{o=ze(r,e)||o}),o}function hn(i){const e=[];return ze(i,e)?Tt(e):e}/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const ut=[];class Re{constructor(e){this.host=e,this.__trapNode=null,this.__onKeyDown=this.__onKeyDown.bind(this)}get __focusableElements(){return hn(this.__trapNode)}get __focusedElementIndex(){const e=this.__focusableElements;return e.indexOf(e.filter(dn).pop())}hostConnected(){document.addEventListener("keydown",this.__onKeyDown)}hostDisconnected(){document.removeEventListener("keydown",this.__onKeyDown)}trapFocus(e){if(this.__trapNode=e,this.__focusableElements.length===0)throw this.__trapNode=null,new Error("The trap node should have at least one focusable descendant or be focusable itself.");ut.push(this),this.__focusedElementIndex===-1&&this.__focusableElements[0].focus({focusVisible:W()})}releaseFocus(){this.__trapNode=null,ut.pop()}__onKeyDown(e){if(this.__trapNode&&this===Array.from(ut).pop()&&e.key==="Tab"){if(e.defaultPrevented)return;e.preventDefault();const t=e.shiftKey;this.__focusNextElement(t)}}__focusNextElement(e=!1){const t=this.__focusableElements,n=e?-1:1,o=this.__focusedElementIndex,s=(t.length+o+n)%t.length,r=t[s];r.focus({focusVisible:!0}),r.localName==="input"&&r.select()}}/**
 * @license
 * Copyright (c) 2025 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */function se(i,...e){const t=s=>Array.isArray(s),n=s=>s&&typeof s=="object"&&!t(s),o=(s,r)=>{n(r)&&n(s)&&Object.keys(r).forEach(a=>{const l=r[a];n(l)?(s[a]||(s[a]={}),o(s[a],l)):t(l)?s[a]=[...l]:l!=null&&(s[a]=l)})};return e.forEach(s=>{o(i,s)}),i}const $e=(i,e)=>class extends e{static get properties(){return{i18n:{type:Object},__effectiveI18n:{type:Object,sync:!0}}}constructor(){super(),this.i18n=se({},i)}get i18n(){return this.__customI18n}set i18n(n){n!==this.__customI18n&&(this.__customI18n=n,this.__effectiveI18n=se({},i,this.__customI18n))}};/**
 * @license
 * Copyright (c) 2018 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const un={drawer:"Drawer"},pn=i=>class extends $e(un,i){static get properties(){return{primarySection:{type:String,value:"navbar",notify:!0,reflectToAttribute:!0,observer:"__primarySectionChanged",sync:!0},drawerOpened:{type:Boolean,notify:!0,value:!0,reflectToAttribute:!0,observer:"__drawerOpenedChanged",sync:!0},overlay:{type:Boolean,notify:!0,readOnly:!0,value:!1,reflectToAttribute:!0,observer:"__overlayChanged",sync:!0},closeDrawerOn:{type:String,value:"vaadin-router-location-changed",observer:"_closeDrawerOnChanged"}}}static get observers(){return["__i18nChanged(__effectiveI18n)"]}static dispatchCloseOverlayDrawerEvent(){window.dispatchEvent(new CustomEvent("close-overlay-drawer"))}get i18n(){return super.i18n}set i18n(t){super.i18n=t}constructor(){super(),this.__boundResizeListener=this._resize.bind(this),this.__drawerToggleClickListener=this._drawerToggleClick.bind(this),this.__onDrawerKeyDown=this.__onDrawerKeyDown.bind(this),this.__closeOverlayDrawerListener=this.__closeOverlayDrawer.bind(this),this.__trapFocusInDrawer=this.__trapFocusInDrawer.bind(this),this.__releaseFocusFromDrawer=this.__releaseFocusFromDrawer.bind(this),this.__ariaModalController=new on(this,()=>[...this.querySelectorAll('vaadin-drawer-toggle, [slot="drawer"]')]),this.__focusTrapController=new Re(this)}connectedCallback(){super.connectedCallback(),this._blockAnimationUntilAfterNextRender(),window.addEventListener("resize",this.__boundResizeListener),this.addEventListener("drawer-toggle-click",this.__drawerToggleClickListener),requestAnimationFrame(()=>{this._updateOffsetSize()}),this._updateTouchOptimizedMode(),this._updateDrawerSize(),this._updateOverlayMode(),this._navbarSizeObserver=new ResizeObserver(()=>{requestAnimationFrame(()=>{this.__isDrawerAnimating?this.__updateOffsetSizePending=!0:this._updateOffsetSize()})}),this._navbarSizeObserver.observe(this.$.navbarTop),this._navbarSizeObserver.observe(this.$.navbarBottom),this._navbarSizeObserver.observe(this.$.drawer),window.addEventListener("close-overlay-drawer",this.__closeOverlayDrawerListener),window.addEventListener("keydown",this.__onDrawerKeyDown)}ready(){super.ready(),this.addController(this.__focusTrapController),this.__setAriaExpanded(),this.$.drawer.addEventListener("transitionstart",()=>{this.__isDrawerAnimating=!0}),this.$.drawer.addEventListener("transitionend",()=>{this.__updateOffsetSizePending&&(this.__updateOffsetSizePending=!1,this._updateOffsetSize()),requestAnimationFrame(()=>{this.__isDrawerAnimating=!1})})}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("resize",this.__boundResizeListener),this.removeEventListener("drawer-toggle-click",this.__drawerToggleClickListener),window.removeEventListener("close-overlay-drawer",this.__drawerToggleClickListener),window.removeEventListener("keydown",this.__onDrawerKeyDown)}__onNavbarSlotChange(){this._updateTouchOptimizedMode(),this.toggleAttribute("has-navbar",!!this.querySelector('[slot="navbar"]'))}__onDrawerSlotChange(){this._updateDrawerSize(),this.toggleAttribute("has-drawer",!!this.querySelector('[slot="drawer"]'))}__primarySectionChanged(t){["navbar","drawer"].includes(t)||(this.primarySection="navbar")}__drawerOpenedChanged(t,n){this.overlay&&(t?this.__trapFocusInDrawer():n&&this.__releaseFocusFromDrawer()),this.__setAriaExpanded()}__overlayChanged(t,n){n&&this.__restoreFocus()}__i18nChanged(){this.__updateDrawerAriaAttributes()}_drawerToggleClick(t){t.stopPropagation(),this.drawerOpened=!this.drawerOpened}__closeOverlayDrawer(){this.overlay&&(this.drawerOpened=!1)}__setAriaExpanded(){const t=this.querySelector("vaadin-drawer-toggle");t&&t.setAttribute("aria-expanded",this.drawerOpened)}_updateDrawerSize(){const t=this.querySelectorAll("[slot=drawer]").length,n=this.$.drawer;t===0?(n.setAttribute("hidden",""),this.style.setProperty("--_vaadin-app-layout-drawer-width",0)):(n.removeAttribute("hidden"),this.style.removeProperty("--_vaadin-app-layout-drawer-width")),this._updateOffsetSize()}_resize(){this._blockAnimationUntilAfterNextRender(),this._updateTouchOptimizedMode(),this._updateOverlayMode()}_updateOffsetSize(){const n=this.$.navbarTop.getBoundingClientRect(),s=this.$.navbarBottom.getBoundingClientRect(),a=this.$.drawer.getBoundingClientRect();this.style.setProperty("--_vaadin-app-layout-navbar-offset-size",`${n.height}px`),this.style.setProperty("--_vaadin-app-layout-navbar-offset-size-bottom",`${s.height}px`),this.style.setProperty("--_vaadin-app-layout-drawer-offset-size",`${a.width}px`)}_updateOverlayMode(){const t=this._getCustomPropertyValue("--vaadin-app-layout-drawer-overlay")==="true";!this.overlay&&t&&(this._drawerStateSaved=this.drawerOpened,this.drawerOpened=!1),this._setOverlay(t),!this.overlay&&this._drawerStateSaved&&(this.drawerOpened=this._drawerStateSaved,this._drawerStateSaved=null),this.__updateDrawerAriaAttributes()}__updateDrawerAriaAttributes(){const t=this.$.drawer;this.overlay?(t.setAttribute("role","dialog"),t.setAttribute("aria-modal","true"),t.setAttribute("aria-label",this.__effectiveI18n.drawer)):(t.removeAttribute("role"),t.removeAttribute("aria-modal"),t.removeAttribute("aria-label"))}__drawerTransitionComplete(){return Promise.all(this.$.drawer.getAnimations().map(t=>t.finished))}async __trapFocusInDrawer(){await this.__drawerTransitionComplete(),this.drawerOpened&&(this.$.drawer.setAttribute("tabindex","0"),this.__ariaModalController.showModal(),this.__focusTrapController.trapFocus(this.$.drawer))}async __releaseFocusFromDrawer(){if(await this.__drawerTransitionComplete(),this.drawerOpened)return;this.__restoreFocus();const t=this.querySelector("vaadin-drawer-toggle");t&&t.focus({focusVisible:W()})}__restoreFocus(){this.__ariaModalController.close(),this.__focusTrapController.releaseFocus(),this.$.drawer.removeAttribute("tabindex")}__onDrawerKeyDown(t){t.key==="Escape"&&this.overlay&&(this.drawerOpened=!1)}_closeDrawerOnChanged(t,n){n&&window.removeEventListener(n,this.__closeOverlayDrawerListener),t&&window.addEventListener(t,this.__closeOverlayDrawerListener)}_onBackdropClick(){this._close()}_onBackdropTouchend(t){t.preventDefault(),this._close()}_close(){this.drawerOpened=!1}_getCustomPropertyValue(t){return(getComputedStyle(this).getPropertyValue(t)||"").trim().toLowerCase()}_updateTouchOptimizedMode(){const t=this._getCustomPropertyValue("--vaadin-app-layout-touch-optimized")==="true",n=this.querySelectorAll('[slot*="navbar"]');n.length>0&&Array.from(n).forEach(o=>{o.getAttribute("slot").indexOf("touch-optimized")>-1&&(o.__touchOptimized=!0),t&&o.__touchOptimized?o.setAttribute("slot","navbar-bottom"):o.setAttribute("slot","navbar")}),this.$.navbarTop.querySelector("[name=navbar]").assignedNodes().length===0?this.$.navbarTop.setAttribute("hidden",""):this.$.navbarTop.removeAttribute("hidden"),this.$.navbarBottom.querySelector("[name=navbar-bottom]").assignedNodes().length===0?this.$.navbarBottom.setAttribute("hidden",""):this.$.navbarBottom.removeAttribute("hidden"),this._updateOffsetSize()}_blockAnimationUntilAfterNextRender(){this.setAttribute("no-anim",""),this.__debounceAnimation=I.debounce(this.__debounceAnimation,Se,()=>{setTimeout(()=>{this.removeAttribute("no-anim")})})}};/**
 * @license
 * Copyright (c) 2018 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class vn extends pn(T(E(b(S(g))))){static get is(){return"vaadin-app-layout"}static get styles(){return Ji}render(){return _`
      <div part="navbar navbar-top" id="navbarTop">
        <slot name="navbar" @slotchange="${this.__onNavbarSlotChange}"></slot>
      </div>
      <div part="backdrop" @click="${this._onBackdropClick}" @touchend="${this._onBackdropTouchend}"></div>
      <div part="drawer" id="drawer">
        <slot name="drawer" id="drawerSlot" @slotchange="${this.__onDrawerSlotChange}"></slot>
      </div>
      <div content>
        <slot></slot>
      </div>
      <div part="navbar navbar-bottom" id="navbarBottom" hidden>
        <slot name="navbar-bottom"></slot>
      </div>
      <div hidden>
        <slot id="touchSlot" name="navbar touch-optimized" @slotchange="${this.__onNavbarSlotChange}"></slot>
      </div>
    `}}m(vn);/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Fe=h`
  :host {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--vaadin-button-gap, 0 var(--vaadin-gap-s));
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
    cursor: var(--vaadin-clickable-cursor);
    box-sizing: border-box;
    flex-shrink: 0;
    height: var(--vaadin-button-height, fit-content);
    margin: var(--vaadin-button-margin, 0);
    padding: var(--vaadin-button-padding, var(--vaadin-padding-block-container) var(--vaadin-padding-inline-container));
    font-family: var(--vaadin-button-font-family, inherit);
    font-size: var(--vaadin-button-font-size, inherit);
    line-height: var(--vaadin-button-line-height, inherit);
    font-weight: var(--vaadin-button-font-weight, 500);
    color: var(--vaadin-button-text-color, var(--vaadin-text-color));
    background: var(--vaadin-button-background, var(--vaadin-background-container));
    background-origin: border-box;
    border: var(--vaadin-button-border-width, 1px) solid
      var(--vaadin-button-border-color, var(--vaadin-border-color-secondary));
    border-radius: var(--vaadin-button-border-radius, var(--vaadin-radius-m));
    touch-action: manipulation;
  }

  :host([hidden]) {
    display: none !important;
  }

  .vaadin-button-container,
  [part='prefix'],
  [part='suffix'] {
    display: contents;
  }

  [part='label'] {
    display: inline-flex;
  }

  :host(:is([focus-ring], :focus-visible)) {
    outline: var(--vaadin-focus-ring-width) solid var(--vaadin-focus-ring-color);
    outline-offset: 1px;
  }

  :host([theme~='primary']) {
    --vaadin-button-background: var(--vaadin-text-color);
    --vaadin-button-text-color: var(--vaadin-background-color);
    --vaadin-button-border-color: transparent;
  }

  :host([theme~='tertiary']) {
    background: transparent;
    border-color: transparent;
  }

  :host([disabled]) {
    pointer-events: var(--_vaadin-button-disabled-pointer-events, none);
    cursor: var(--vaadin-disabled-cursor);
    opacity: 0.5;
  }

  :host([disabled][theme~='primary']) {
    --vaadin-button-text-color: var(--vaadin-background-container-strong);
    --vaadin-button-background: var(--vaadin-text-color-disabled);
  }

  @media (forced-colors: active) {
    :host {
      --vaadin-button-border-width: 1px;
      --vaadin-button-background: ButtonFace;
      --vaadin-button-text-color: ButtonText;
    }

    :host([theme~='primary']) {
      forced-color-adjust: none;
      --vaadin-button-background: CanvasText;
      --vaadin-button-text-color: Canvas;
      --vaadin-icon-color: Canvas;
    }

    ::slotted(*) {
      forced-color-adjust: auto;
    }

    :host([disabled]) {
      --vaadin-button-background: transparent !important;
      --vaadin-button-border-color: GrayText !important;
      --vaadin-button-text-color: GrayText !important;
      opacity: 1;
    }
  }
`;/**
@license
Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
*/const fn=i=>i,Be=typeof document.head.style.touchAction=="string",Ot="__polymerGestures",pt="__polymerGesturesHandled",Mt="__polymerGesturesTouchAction",re=25,ae=5,_n=2,gn=["mousedown","mousemove","mouseup","click"],mn=[0,1,4,2],bn=(function(){try{return new MouseEvent("test",{buttons:1}).buttons===1}catch{return!1}})();function zt(i){return gn.indexOf(i)>-1}let yn=!1;(function(){try{const i=Object.defineProperty({},"passive",{get(){yn=!0}});window.addEventListener("test",null,i),window.removeEventListener("test",null,i)}catch{}})();function wn(i){zt(i)}const xn=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/u),Cn={button:!0,command:!0,fieldset:!0,input:!0,keygen:!0,optgroup:!0,option:!0,select:!0,textarea:!0};function M(i){const e=i.type;if(!zt(e))return!1;if(e==="mousemove"){let n=i.buttons===void 0?1:i.buttons;return i instanceof window.MouseEvent&&!bn&&(n=mn[i.which]||0),!!(n&1)}return(i.button===void 0?0:i.button)===0}function kn(i){if(i.type==="click"){if(i.detail===0)return!0;const e=A(i);if(!e.nodeType||e.nodeType!==Node.ELEMENT_NODE)return!0;const t=e.getBoundingClientRect(),n=i.pageX,o=i.pageY;return!(n>=t.left&&n<=t.right&&o>=t.top&&o<=t.bottom)}return!1}const C={touch:{x:0,y:0,id:-1,scrollDecided:!1}};function En(i){let e="auto";const t=Ve(i);for(let n=0,o;n<t.length;n++)if(o=t[n],o[Mt]){e=o[Mt];break}return e}function je(i,e,t){i.movefn=e,i.upfn=t,document.addEventListener("mousemove",e),document.addEventListener("mouseup",t)}function R(i){document.removeEventListener("mousemove",i.movefn),document.removeEventListener("mouseup",i.upfn),i.movefn=null,i.upfn=null}const Ve=window.ShadyDOM&&window.ShadyDOM.noPatch?window.ShadyDOM.composedPath:i=>i.composedPath&&i.composedPath()||[],Rt={},O=[];function Sn(i,e){let t=document.elementFromPoint(i,e),n=t;for(;n&&n.shadowRoot&&!window.ShadyDOM;){const o=n;if(n=n.shadowRoot.elementFromPoint(i,e),o===n)break;n&&(t=n)}return t}function A(i){const e=Ve(i);return e.length>0?e[0]:i.target}function An(i){const e=i.type,n=i.currentTarget[Ot];if(!n)return;const o=n[e];if(!o)return;if(!i[pt]&&(i[pt]={},e.startsWith("touch"))){const r=i.changedTouches[0];if(e==="touchstart"&&i.touches.length===1&&(C.touch.id=r.identifier),C.touch.id!==r.identifier)return;Be||(e==="touchstart"||e==="touchmove")&&Tn(i)}const s=i[pt];if(!s.skip){for(let r=0,a;r<O.length;r++)a=O[r],o[a.name]&&!s[a.name]&&a.flow&&a.flow.start.indexOf(i.type)>-1&&a.reset&&a.reset();for(let r=0,a;r<O.length;r++)a=O[r],o[a.name]&&!s[a.name]&&(s[a.name]=!0,a[e](i))}}function Tn(i){const e=i.changedTouches[0],t=i.type;if(t==="touchstart")C.touch.x=e.clientX,C.touch.y=e.clientY,C.touch.scrollDecided=!1;else if(t==="touchmove"){if(C.touch.scrollDecided)return;C.touch.scrollDecided=!0;const n=En(i);let o=!1;const s=Math.abs(C.touch.x-e.clientX),r=Math.abs(C.touch.y-e.clientY);i.cancelable&&(n==="none"?o=!0:n==="pan-x"?o=r>s:n==="pan-y"&&(o=s>r)),o?i.preventDefault():tt("track")}}function le(i,e,t){return Rt[e]?(On(i,e,t),!0):!1}function On(i,e,t){const n=Rt[e],o=n.deps,s=n.name;let r=i[Ot];r||(i[Ot]=r={});for(let a=0,l,d;a<o.length;a++)l=o[a],!(xn&&zt(l)&&l!=="click")&&(d=r[l],d||(r[l]=d={_count:0}),d._count===0&&i.addEventListener(l,An,wn(l)),d[s]=(d[s]||0)+1,d._count=(d._count||0)+1);i.addEventListener(e,t),n.touchAction&&Ln(i,n.touchAction)}function $t(i){O.push(i),i.emits.forEach(e=>{Rt[e]=i})}function Mn(i){for(let e=0,t;e<O.length;e++){t=O[e];for(let n=0,o;n<t.emits.length;n++)if(o=t.emits[n],o===i)return t}return null}function Ln(i,e){Be&&i instanceof HTMLElement&&Ae.run(()=>{i.style.touchAction=e}),i[Mt]=e}function Ft(i,e,t){const n=new Event(e,{bubbles:!0,cancelable:!0,composed:!0});if(n.detail=t,fn(i).dispatchEvent(n),n.defaultPrevented){const o=t.preventer||t.sourceEvent;o&&o.preventDefault&&o.preventDefault()}}function tt(i){const e=Mn(i);e.info&&(e.info.prevent=!0)}$t({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset(){R(this.info)},mousedown(i){if(!M(i))return;const e=A(i),t=this,n=s=>{M(s)||(j("up",e,s),R(t.info))},o=s=>{M(s)&&j("up",e,s),R(t.info)};je(this.info,n,o),j("down",e,i)},touchstart(i){j("down",A(i),i.changedTouches[0],i)},touchend(i){j("up",A(i),i.changedTouches[0],i)}});function j(i,e,t,n){e&&Ft(e,i,{x:t.clientX,y:t.clientY,sourceEvent:t,preventer:n,prevent(o){return tt(o)}})}$t({name:"track",touchAction:"none",deps:["mousedown","touchstart","touchmove","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["track"],info:{x:0,y:0,state:"start",started:!1,moves:[],addMove(i){this.moves.length>_n&&this.moves.shift(),this.moves.push(i)},movefn:null,upfn:null,prevent:!1},reset(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,R(this.info)},mousedown(i){if(!M(i))return;const e=A(i),t=this,n=s=>{const r=s.clientX,a=s.clientY;de(t.info,r,a)&&(t.info.state=t.info.started?s.type==="mouseup"?"end":"track":"start",t.info.state==="start"&&tt("tap"),t.info.addMove({x:r,y:a}),M(s)||(t.info.state="end",R(t.info)),e&&vt(t.info,e,s),t.info.started=!0)},o=s=>{t.info.started&&n(s),R(t.info)};je(this.info,n,o),this.info.x=i.clientX,this.info.y=i.clientY},touchstart(i){const e=i.changedTouches[0];this.info.x=e.clientX,this.info.y=e.clientY},touchmove(i){const e=A(i),t=i.changedTouches[0],n=t.clientX,o=t.clientY;de(this.info,n,o)&&(this.info.state==="start"&&tt("tap"),this.info.addMove({x:n,y:o}),vt(this.info,e,t),this.info.state="track",this.info.started=!0)},touchend(i){const e=A(i),t=i.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:t.clientX,y:t.clientY}),vt(this.info,e,t))}});function de(i,e,t){if(i.prevent)return!1;if(i.started)return!0;const n=Math.abs(i.x-e),o=Math.abs(i.y-t);return n>=ae||o>=ae}function vt(i,e,t){if(!e)return;const n=i.moves[i.moves.length-2],o=i.moves[i.moves.length-1],s=o.x-i.x,r=o.y-i.y;let a,l=0;n&&(a=o.x-n.x,l=o.y-n.y),Ft(e,"track",{state:i.state,x:t.clientX,y:t.clientY,dx:s,dy:r,ddx:a,ddy:l,sourceEvent:t,hover(){return Sn(t.clientX,t.clientY)}})}$t({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},mousedown(i){M(i)&&(this.info.x=i.clientX,this.info.y=i.clientY)},click(i){M(i)&&ce(this.info,i)},touchstart(i){const e=i.changedTouches[0];this.info.x=e.clientX,this.info.y=e.clientY},touchend(i){ce(this.info,i.changedTouches[0],i)}});function ce(i,e,t){const n=Math.abs(e.clientX-i.x),o=Math.abs(e.clientY-i.y),s=A(t||e);!s||Cn[s.localName]&&s.hasAttribute("disabled")||(isNaN(n)||isNaN(o)||n<=re&&o<=re||kn(e))&&(i.prevent||Ft(s,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:t}))}/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Bt=F(i=>class extends i{static get properties(){return{disabled:{type:Boolean,value:!1,observer:"_disabledChanged",reflectToAttribute:!0,sync:!0}}}_disabledChanged(t){this._setAriaDisabled(t)}_setAriaDisabled(t){t?this.setAttribute("aria-disabled","true"):this.removeAttribute("aria-disabled")}click(){this.disabled||super.click()}});/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const In=F(i=>class extends i{ready(){super.ready(),this.addEventListener("keydown",t=>{this._onKeyDown(t)}),this.addEventListener("keyup",t=>{this._onKeyUp(t)})}_onKeyDown(t){switch(t.key){case"Enter":this._onEnter(t);break;case"Escape":this._onEscape(t);break}}_onKeyUp(t){}_onEnter(t){}_onEscape(t){}});/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Pn=i=>class extends Bt(In(i)){get _activeKeys(){return[" "]}ready(){super.ready(),le(this,"down",t=>{this._shouldSetActive(t)&&this._setActive(!0)}),le(this,"up",()=>{this._setActive(!1)})}disconnectedCallback(){super.disconnectedCallback(),this._setActive(!1)}_shouldSetActive(t){return!this.disabled}_onKeyDown(t){super._onKeyDown(t),this._shouldSetActive(t)&&this._activeKeys.includes(t.key)&&(this._setActive(!0),document.addEventListener("keyup",n=>{this._activeKeys.includes(n.key)&&this._setActive(!1)},{once:!0}))}_setActive(t){this.toggleAttribute("active",t)}};/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const jt=F(i=>class extends i{get _keyboardActive(){return W()}ready(){this.addEventListener("focusin",t=>{this._shouldSetFocus(t)&&this._setFocused(!0)}),this.addEventListener("focusout",t=>{this._shouldRemoveFocus(t)&&this._setFocused(!1)}),super.ready()}disconnectedCallback(){super.disconnectedCallback(),this.hasAttribute("focused")&&this._setFocused(!1)}focus(t){super.focus(t),t&&t.focusVisible===!1||this.setAttribute("focus-ring","")}_setFocused(t){this.toggleAttribute("focused",t),this.toggleAttribute("focus-ring",t&&this._keyboardActive)}_shouldSetFocus(t){return!0}_shouldRemoveFocus(t){return!0}});/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Nn=i=>class extends Bt(i){static get properties(){return{tabindex:{type:Number,reflectToAttribute:!0,observer:"_tabindexChanged",sync:!0},_lastTabIndex:{type:Number}}}_disabledChanged(t,n){super._disabledChanged(t,n),!this.__shouldAllowFocusWhenDisabled()&&(t?(this.tabindex!==void 0&&(this._lastTabIndex=this.tabindex),this.setAttribute("tabindex","-1")):n&&(this._lastTabIndex!==void 0?this.setAttribute("tabindex",this._lastTabIndex):this.tabindex=void 0))}_tabindexChanged(t){this.__shouldAllowFocusWhenDisabled()||this.disabled&&t!==-1&&(this._lastTabIndex=t,this.setAttribute("tabindex","-1"))}focus(t){(!this.disabled||this.__shouldAllowFocusWhenDisabled())&&super.focus(t)}__shouldAllowFocusWhenDisabled(){return!1}};/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Dn=["mousedown","mouseup","click","dblclick","keypress","keydown","keyup"],He=i=>class extends Pn(Nn(jt(i))){constructor(){super(),this.__onInteractionEvent=this.__onInteractionEvent.bind(this),Dn.forEach(t=>{this.addEventListener(t,this.__onInteractionEvent,!0)}),this.tabindex=0}get _activeKeys(){return["Enter"," "]}ready(){super.ready(),this.hasAttribute("role")||this.setAttribute("role","button"),this.__shouldAllowFocusWhenDisabled()&&this.style.setProperty("--_vaadin-button-disabled-pointer-events","auto")}_onKeyDown(t){super._onKeyDown(t),!(t.altKey||t.shiftKey||t.ctrlKey||t.metaKey)&&this._activeKeys.includes(t.key)&&(t.preventDefault(),this.click())}__onInteractionEvent(t){this.__shouldSuppressInteractionEvent(t)&&t.stopImmediatePropagation()}__shouldSuppressInteractionEvent(t){return this.disabled}};/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */function zn(i){const e=[];for(;i;){if(i.nodeType===Node.DOCUMENT_NODE){e.push(i);break}if(i.nodeType===Node.DOCUMENT_FRAGMENT_NODE){e.push(i),i=i.host;continue}if(i.assignedSlot){i=i.assignedSlot;continue}i=i.parentNode}return e}function Ue(i){return i?new Set(i.split(" ")):new Set}function We(i){return i?[...i].join(" "):""}function Rn(i,e,t){const n=Ue(i.getAttribute(e));n.add(t),i.setAttribute(e,We(n))}function $n(i,e,t){const n=Ue(i.getAttribute(e));if(n.delete(t),n.size===0){i.removeAttribute(e);return}i.setAttribute(e,We(n))}function qe(i){return i.nodeType===Node.TEXT_NODE&&i.textContent.trim()===""}/**
 * @license
 * Copyright (c) 2018 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Fn=h`
  [part='icon'] {
    background: currentColor;
    display: block;
    height: var(--vaadin-icon-size, 1lh);
    mask: var(--_vaadin-icon-menu) 50% / var(--vaadin-icon-visual-size, 100%) no-repeat;
    width: var(--vaadin-icon-size, 1lh);
  }

  [hidden] {
    display: none !important;
  }

  @media (forced-colors: active) {
    [part='icon'] {
      background: CanvasText;
    }
  }
`;/**
 * @license
 * Copyright (c) 2018 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class Bn extends He(Pt(E(b(S(g))))){static get is(){return"vaadin-drawer-toggle"}static get styles(){return[Fe,Fn]}static get properties(){return{ariaLabel:{type:String,value:"Toggle navigation panel",reflectToAttribute:!0,sync:!0},_showFallbackIcon:{type:Boolean,value:!1}}}constructor(){super(),this.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("drawer-toggle-click",{bubbles:!0,composed:!0}))})}render(){return _`
      <slot id="slot" @slotchange="${this._toggleFallbackIcon}">
        <div part="icon"></div>
      </slot>
      <div part="icon" ?hidden="${!this._showFallbackIcon}"></div>
    `}ready(){super.ready(),this._toggleFallbackIcon()}_toggleFallbackIcon(){const e=this.$.slot.assignedNodes();this._showFallbackIcon=e.length>0&&e.every(t=>qe(t))}}m(Bn);/**
 * @license
 * Copyright (c) 2023 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class jn{constructor(e,t,n){this.slot=e,this.callback=t,this.forceInitial=n,this._storedNodes=[],this._connected=!1,this._scheduled=!1,this._boundSchedule=()=>{this._schedule()},this.connect(),this._schedule()}connect(){this.slot.addEventListener("slotchange",this._boundSchedule),this._connected=!0}disconnect(){this.slot.removeEventListener("slotchange",this._boundSchedule),this._connected=!1}_schedule(){this._scheduled||(this._scheduled=!0,queueMicrotask(()=>{this.flush()}))}flush(){this._connected&&(this._scheduled=!1,this._processNodes())}_processNodes(){const e=this.slot.assignedNodes({flatten:!0});let t=[];const n=[],o=[];e.length&&(t=e.filter(s=>!this._storedNodes.includes(s))),this._storedNodes.length&&this._storedNodes.forEach((s,r)=>{const a=e.indexOf(s);a===-1?n.push(s):a!==r&&o.push(s)}),(t.length||n.length||o.length||this.forceInitial)&&this.callback({addedNodes:t,currentNodes:e,movedNodes:o,removedNodes:n}),this.forceInitial&&(this.forceInitial=!1),this._storedNodes=e}}/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */let Vn=0;function Vt(){return Vn++}/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class Ht extends EventTarget{static generateId(e,t="default"){return`${t}-${e.localName}-${Vt()}`}constructor(e,t,n,o={}){super();const{initializer:s,multiple:r,observe:a,useUniqueId:l,uniqueIdPrefix:d}=o;this.host=e,this.slotName=t,this.tagName=n,this.observe=typeof a=="boolean"?a:!0,this.multiple=typeof r=="boolean"?r:!1,this.slotInitializer=s,r&&(this.nodes=[]),l&&(this.defaultId=this.constructor.generateId(e,d||t))}hostConnected(){this.initialized||(this.multiple?this.initMultiple():this.initSingle(),this.observe&&this.observeSlot(),this.initialized=!0)}initSingle(){let e=this.getSlotChild();e?(this.node=e,this.initAddedNode(e)):(e=this.attachDefaultNode(),this.initNode(e))}initMultiple(){const e=this.getSlotChildren();if(e.length===0){const t=this.attachDefaultNode();t&&(this.nodes=[t],this.initNode(t))}else this.nodes=e,e.forEach(t=>{this.initAddedNode(t)})}attachDefaultNode(){const{host:e,slotName:t,tagName:n}=this;let o=this.defaultNode;return!o&&n&&(o=document.createElement(n),o instanceof Element&&(t!==""&&o.setAttribute("slot",t),this.defaultNode=o)),o&&(this.node=o,e.appendChild(o)),o}getSlotChildren(){const{slotName:e}=this;return Array.from(this.host.childNodes).filter(t=>t.nodeType===Node.ELEMENT_NODE&&t.hasAttribute("data-slot-ignore")?!1:t.nodeType===Node.ELEMENT_NODE&&t.slot===e||t.nodeType===Node.TEXT_NODE&&t.textContent.trim()&&e==="")}getSlotChild(){return this.getSlotChildren()[0]}initNode(e){const{slotInitializer:t}=this;t&&t(e,this.host)}initCustomNode(e){}teardownNode(e){}initAddedNode(e){e!==this.defaultNode&&(this.initCustomNode(e),this.initNode(e))}observeSlot(){const{slotName:e}=this,t=e===""?"slot:not([name])":`slot[name=${e}]`,n=this.host.shadowRoot.querySelector(t);this.__slotObserver=new jn(n,({addedNodes:o,removedNodes:s})=>{const r=this.multiple?this.nodes:[this.node],a=o.filter(l=>!qe(l)&&!r.includes(l)&&!(l.nodeType===Node.ELEMENT_NODE&&l.hasAttribute("data-slot-ignore")));s.length&&(this.nodes=r.filter(l=>!s.includes(l)),s.forEach(l=>{this.teardownNode(l)})),a&&a.length>0&&(this.multiple?(this.defaultNode&&this.defaultNode.remove(),this.nodes=[...r,...a].filter(l=>l!==this.defaultNode),a.forEach(l=>{this.initAddedNode(l)})):(this.node&&this.node.remove(),this.node=a[0],this.initAddedNode(this.node)))})}}/**
 * @license
 * Copyright (c) 2022 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class Ut extends Ht{constructor(e){super(e,"tooltip"),this.setTarget(e),this.__onContentChange=this.__onContentChange.bind(this)}initCustomNode(e){e.target=this.target,this.ariaTarget!==void 0&&(e.ariaTarget=this.ariaTarget),this.context!==void 0&&(e.context=this.context),this.manual!==void 0&&(e.manual=this.manual),this.opened!==void 0&&(e.opened=this.opened),this.position!==void 0&&(e._position=this.position),this.shouldShow!==void 0&&(e.shouldShow=this.shouldShow),this.manual||this.host.setAttribute("has-tooltip",""),this.__notifyChange(e),e.addEventListener("content-changed",this.__onContentChange)}teardownNode(e){this.manual||this.host.removeAttribute("has-tooltip"),e.removeEventListener("content-changed",this.__onContentChange),this.__notifyChange(null)}setAriaTarget(e){this.ariaTarget=e;const t=this.node;t&&(t.ariaTarget=e)}setContext(e){this.context=e;const t=this.node;t&&(t.context=e)}setManual(e){this.manual=e;const t=this.node;t&&(t.manual=e)}setOpened(e){this.opened=e;const t=this.node;t&&(t.opened=e)}setPosition(e){this.position=e;const t=this.node;t&&(t._position=e)}setShouldShow(e){this.shouldShow=e;const t=this.node;t&&(t.shouldShow=e)}setTarget(e){this.target=e;const t=this.node;t&&(t.target=e)}__onContentChange(e){this.__notifyChange(e.target)}__notifyChange(e){this.dispatchEvent(new CustomEvent("tooltip-changed",{detail:{node:e}}))}}/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class Hn extends He(T(E(b(S(g))))){static get is(){return"vaadin-button"}static get styles(){return Fe}static get properties(){return{disabled:{type:Boolean,value:!1,observer:"_disabledChanged",reflectToAttribute:!0,sync:!0}}}render(){return _`
      <div class="vaadin-button-container">
        <span part="prefix" aria-hidden="true">
          <slot name="prefix"></slot>
        </span>
        <span part="label">
          <slot></slot>
        </span>
        <span part="suffix" aria-hidden="true">
          <slot name="suffix"></slot>
        </span>

        <slot name="tooltip"></slot>
      </div>
    `}ready(){super.ready(),this._tooltipController=new Ut(this),this.addController(this._tooltipController)}__shouldAllowFocusWhenDisabled(){return window.Vaadin.featureFlags.accessibleDisabledButtons}}m(Hn);/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Un=h`
  :host {
    z-index: 200;
    position: fixed;

    /* Despite of what the names say, <vaadin-overlay> is just a container
          for position/sizing/alignment. The actual overlay is the overlay part. */

    /* Default position constraints. Themes can
          override this to adjust the gap between the overlay and the viewport. */
    inset: max(env(safe-area-inset-top, 0px), var(--vaadin-overlay-viewport-inset, 8px))
      max(env(safe-area-inset-right, 0px), var(--vaadin-overlay-viewport-inset, 8px))
      max(env(safe-area-inset-bottom, 0px), var(--vaadin-overlay-viewport-bottom))
      max(env(safe-area-inset-left, 0px), var(--vaadin-overlay-viewport-inset, 8px));

    /* Override native [popover] user agent styles */
    width: auto;
    height: auto;
    border: none;
    padding: 0;
    background-color: transparent;
    overflow: visible;

    /* Use flexbox alignment for the overlay part. */
    display: flex;
    flex-direction: column; /* makes dropdowns sizing easier */
    /* Align to center by default. */
    align-items: center;
    justify-content: center;

    /* Allow centering when max-width/max-height applies. */
    margin: auto;

    /* The host is not clickable, only the overlay part is. */
    pointer-events: none;

    /* Remove tap highlight on touch devices. */
    -webkit-tap-highlight-color: transparent;

    /* CSS API for host */
    --vaadin-overlay-viewport-bottom: 8px;
  }

  :host([hidden]),
  :host(:not([opened]):not([closing])),
  :host(:not([opened]):not([closing])) [part='overlay'] {
    display: none !important;
  }

  [part='overlay'] {
    color: var(--vaadin-overlay-text-color, var(--vaadin-text-color));
    background: var(--vaadin-overlay-background, var(--vaadin-background-color));
    border: var(--vaadin-overlay-border-width, 1px) solid
      var(--vaadin-overlay-border-color, var(--vaadin-border-color-secondary));
    border-radius: var(--vaadin-overlay-border-radius, var(--vaadin-radius-m));
    box-shadow: var(--vaadin-overlay-shadow, 0 8px 24px -4px rgba(0, 0, 0, 0.3));
    box-sizing: border-box;
    max-width: 100%;
    overflow: auto;
    overscroll-behavior: contain;
    pointer-events: auto;
    -webkit-tap-highlight-color: initial;

    /* CSS reset for font styles */
    font: initial;
    letter-spacing: initial;
    text-align: initial;
    text-decoration: initial;
    text-indent: initial;
    text-transform: initial;
    user-select: text;
    white-space: initial;
    word-spacing: initial;

    /* Inherit font-family */
    font-family: inherit;
  }

  [part='backdrop'] {
    background: var(--vaadin-overlay-backdrop-background, rgba(0, 0, 0, 0.2));
    content: '';
    inset: 0;
    pointer-events: auto;
    position: fixed;
    z-index: -1;
  }

  [part='overlay']:focus-visible {
    outline: var(--vaadin-focus-ring-width) solid var(--vaadin-focus-ring-color);
  }

  @media (forced-colors: active) {
    [part='overlay'] {
      border: 3px solid !important;
    }
  }
`;/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class Wn{saveFocus(e){this.focusNode=e||At()}restoreFocus(e){const t=this.focusNode;if(!t)return;const n={preventScroll:e?e.preventScroll:!1,focusVisible:e?e.focusVisible:!1};At()===document.body?setTimeout(()=>t.focus(n)):t.focus(n),this.focusNode=null}}/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const qn=i=>class extends i{static get properties(){return{focusTrap:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!1},restoreFocusNode:{type:HTMLElement}}}constructor(){super(),this.__focusTrapController=new Re(this),this.__focusRestorationController=new Wn}get _contentRoot(){return this}ready(){super.ready(),this.addController(this.__focusTrapController),this.addController(this.__focusRestorationController)}get _focusTrapRoot(){return this.$.overlay}_resetFocus(){if(this.focusTrap&&this.__focusTrapController.releaseFocus(),this.restoreFocusOnClose&&this._shouldRestoreFocus()){const t=W(),n=!t;this.__focusRestorationController.restoreFocus({preventScroll:n,focusVisible:t})}}_saveFocus(){this.restoreFocusOnClose&&this.__focusRestorationController.saveFocus(this.restoreFocusNode)}_trapFocus(){this.focusTrap&&!an(this._focusTrapRoot)&&this.__focusTrapController.trapFocus(this._focusTrapRoot)}_shouldRestoreFocus(){const t=At();return t===document.body||this._deepContains(t)}_deepContains(t){if(this._contentRoot.contains(t))return!0;let n=t;const o=t.ownerDocument;for(;n&&n!==o&&n!==this._contentRoot;)n=n.parentNode||n.host;return n===this._contentRoot}};/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const J=new Set,et=()=>[...J].filter(i=>!i.hasAttribute("closing")),Ke=i=>{const e=et(),t=e[e.indexOf(i)+1];return t?i._deepContains(t)?Ke(t):!1:!0},he=(i,e=t=>!0)=>{const t=et().filter(e);return i===t.pop()},Kn=i=>class extends i{get _last(){return he(this)}get _isAttached(){return J.has(this)}bringToFront(){he(this)||Ke(this)||(this.matches(":popover-open")&&(this.hidePopover(),this.showPopover()),this._removeAttachedInstance(),this._appendAttachedInstance())}_enterModalState(){document.body.style.pointerEvents!=="none"&&(this._previousDocumentPointerEvents=document.body.style.pointerEvents,document.body.style.pointerEvents="none"),et().forEach(t=>{t!==this&&(t.$.overlay.style.pointerEvents="none")})}_exitModalState(){this._previousDocumentPointerEvents!==void 0&&(document.body.style.pointerEvents=this._previousDocumentPointerEvents,delete this._previousDocumentPointerEvents);const t=et();let n;for(;(n=t.pop())&&!(n!==this&&(n.$.overlay.style.removeProperty("pointer-events"),!n.modeless)););}_appendAttachedInstance(){J.add(this)}_removeAttachedInstance(){this._isAttached&&J.delete(this)}};/**
 * @license
 * Copyright (c) 2024 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */function Gn(i,e){let t=null,n;const o=document.documentElement;function s(){n&&clearTimeout(n),t&&t.disconnect(),t=null}function r(a=!1,l=1){s();const{left:d,top:u,width:c,height:p}=i.getBoundingClientRect();if(a||e(),!c||!p)return;const y=Math.floor(u),v=Math.floor(o.clientWidth-(d+c)),q=Math.floor(o.clientHeight-(u+p)),K=Math.floor(d),G={rootMargin:`${-y}px ${-v}px ${-q}px ${-K}px`,threshold:Math.max(0,Math.min(1,l))||1};let qt=!0;function ei(ii){const ot=ii[0].intersectionRatio;if(ot!==l){if(!qt)return r();ot?r(!1,ot):n=setTimeout(()=>{r(!1,1e-7)},1e3)}qt=!1}t=new IntersectionObserver(ei,G),t.observe(i)}return r(!0),s}function f(i,e,t){const n=[i];i.owner&&n.push(i.owner),typeof t=="string"?n.forEach(o=>{o.setAttribute(e,t)}):t?n.forEach(o=>{o.setAttribute(e,"")}):n.forEach(o=>{o.removeAttribute(e)})}/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Xn=i=>class extends qn(Kn(i)){static get properties(){return{opened:{type:Boolean,notify:!0,observer:"_openedChanged",reflectToAttribute:!0,sync:!0},owner:{type:Object,sync:!0},model:{type:Object,sync:!0},renderer:{type:Object,sync:!0},modeless:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"_modelessChanged",sync:!0},hidden:{type:Boolean,reflectToAttribute:!0,observer:"_hiddenChanged",sync:!0},withBackdrop:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"_withBackdropChanged",sync:!0}}}static get observers(){return["_rendererOrDataChanged(renderer, owner, model, opened)"]}get _rendererRoot(){return this}constructor(){super(),this._boundMouseDownListener=this._mouseDownListener.bind(this),this._boundMouseUpListener=this._mouseUpListener.bind(this),this._boundOutsideClickListener=this._outsideClickListener.bind(this),this._boundKeydownListener=this._keydownListener.bind(this),Pe&&(this._boundIosResizeListener=()=>this._detectIosNavbar())}firstUpdated(){super.firstUpdated(),this.popover="manual",this.addEventListener("click",()=>{}),this.$.backdrop&&this.$.backdrop.addEventListener("click",()=>{}),this.addEventListener("mouseup",()=>{document.activeElement===document.body&&this.$.overlay.getAttribute("tabindex")==="0"&&this.$.overlay.focus()}),this.addEventListener("animationcancel",()=>{this._flushAnimation("opening"),this._flushAnimation("closing")})}connectedCallback(){super.connectedCallback(),this._boundIosResizeListener&&(this._detectIosNavbar(),window.addEventListener("resize",this._boundIosResizeListener)),this.opened&&this._attachOverlay()}disconnectedCallback(){super.disconnectedCallback(),this.__scheduledOpen&&(cancelAnimationFrame(this.__scheduledOpen),this.__scheduledOpen=null),this._boundIosResizeListener&&window.removeEventListener("resize",this._boundIosResizeListener)}requestContentUpdate(){this.renderer&&this.renderer.call(this.owner,this._rendererRoot,this.owner,this.model)}close(t){const n=new CustomEvent("vaadin-overlay-close",{bubbles:!0,cancelable:!0,detail:{overlay:this,sourceEvent:t}});this.dispatchEvent(n),document.body.dispatchEvent(n),n.defaultPrevented||(this.opened=!1)}setBounds(t,n=!0){const o=this.$.overlay,s={...t};n&&o.style.position!=="absolute"&&(o.style.position="absolute"),Object.keys(s).forEach(r=>{s[r]!==null&&!isNaN(s[r])&&(s[r]=`${s[r]}px`)}),Object.assign(o.style,s)}_detectIosNavbar(){if(!this.opened)return;const t=window.innerHeight,o=window.innerWidth>t,s=document.documentElement.clientHeight;o&&s>t?this.style.setProperty("--vaadin-overlay-viewport-bottom",`${s-t}px`):this.style.setProperty("--vaadin-overlay-viewport-bottom","0px")}_shouldAddGlobalListeners(){return!this.modeless}_addGlobalListeners(){this.__hasGlobalListeners||(this.__hasGlobalListeners=!0,document.addEventListener("mousedown",this._boundMouseDownListener),document.addEventListener("mouseup",this._boundMouseUpListener),document.documentElement.addEventListener("click",this._boundOutsideClickListener,!0))}_removeGlobalListeners(){this.__hasGlobalListeners&&(this.__hasGlobalListeners=!1,document.removeEventListener("mousedown",this._boundMouseDownListener),document.removeEventListener("mouseup",this._boundMouseUpListener),document.documentElement.removeEventListener("click",this._boundOutsideClickListener,!0))}_rendererOrDataChanged(t,n,o,s){const r=this._oldOwner!==n||this._oldModel!==o;this._oldModel=o,this._oldOwner=n;const a=this._oldRenderer!==t,l=this._oldRenderer!==void 0;this._oldRenderer=t;const d=this._oldOpened!==s;this._oldOpened=s,a&&l&&(this._rendererRoot.innerHTML="",delete this._rendererRoot._$litPart$),s&&t&&(a||d||r)&&this.requestContentUpdate()}_modelessChanged(t){this.opened&&(this._shouldAddGlobalListeners()?this._addGlobalListeners():this._removeGlobalListeners()),t?this._exitModalState():this.opened&&this._enterModalState(),f(this,"modeless",t)}_withBackdropChanged(t){f(this,"with-backdrop",t)}_openedChanged(t,n){if(t){if(!this.isConnected){this.opened=!1;return}this._saveFocus(),this._animatedOpening(),this.__scheduledOpen=requestAnimationFrame(()=>{setTimeout(()=>{this._trapFocus();const o=new CustomEvent("vaadin-overlay-open",{detail:{overlay:this},bubbles:!0});this.dispatchEvent(o),document.body.dispatchEvent(o)})}),document.addEventListener("keydown",this._boundKeydownListener),this._shouldAddGlobalListeners()&&this._addGlobalListeners()}else n&&(this.__scheduledOpen&&(cancelAnimationFrame(this.__scheduledOpen),this.__scheduledOpen=null),this._resetFocus(),this._animatedClosing(),document.removeEventListener("keydown",this._boundKeydownListener),this._shouldAddGlobalListeners()&&this._removeGlobalListeners())}_hiddenChanged(t){t&&this.hasAttribute("closing")&&this._flushAnimation("closing")}_shouldAnimate(){const t=getComputedStyle(this),n=t.getPropertyValue("animation-name");return!(t.getPropertyValue("display")==="none")&&n&&n!=="none"}_enqueueAnimation(t,n){const o=`__${t}Handler`,s=r=>{r&&r.target!==this||(n(),this.removeEventListener("animationend",s),delete this[o])};this[o]=s,this.addEventListener("animationend",s)}_flushAnimation(t){const n=`__${t}Handler`;typeof this[n]=="function"&&this[n]()}_animatedOpening(){this._isAttached&&this.hasAttribute("closing")&&this._flushAnimation("closing"),this._attachOverlay(),this._appendAttachedInstance(),this.bringToFront(),this.modeless||this._enterModalState(),f(this,"opening",!0),this._shouldAnimate()?this._enqueueAnimation("opening",()=>{this._finishOpening()}):this._finishOpening()}_attachOverlay(){this.matches(":popover-open")||this.showPopover()}_finishOpening(){f(this,"opening",!1)}_finishClosing(){this._detachOverlay(),this._removeAttachedInstance(),this.$.overlay.style.removeProperty("pointer-events"),f(this,"closing",!1),this.dispatchEvent(new CustomEvent("vaadin-overlay-closed"))}_animatedClosing(){this.hasAttribute("opening")&&this._flushAnimation("opening"),this._isAttached&&(this._exitModalState(),f(this,"closing",!0),this.dispatchEvent(new CustomEvent("vaadin-overlay-closing")),this._shouldAnimate()?this._enqueueAnimation("closing",()=>{this._finishClosing()}):this._finishClosing())}_detachOverlay(){this.hidePopover()}_mouseDownListener(t){this._mouseDownInside=t.composedPath().indexOf(this.$.overlay)>=0}_mouseUpListener(t){this._mouseUpInside=t.composedPath().indexOf(this.$.overlay)>=0}_shouldCloseOnOutsideClick(t){return this._last}_outsideClickListener(t){if(t.composedPath().includes(this.$.overlay)||this._mouseDownInside||this._mouseUpInside){this._mouseDownInside=!1,this._mouseUpInside=!1;return}if(!this._shouldCloseOnOutsideClick(t))return;const n=new CustomEvent("vaadin-overlay-outside-click",{cancelable:!0,detail:{sourceEvent:t}});this.dispatchEvent(n),this.opened&&!n.defaultPrevented&&this.close(t)}_keydownListener(t){if(!(!this._last||t.defaultPrevented)&&!(!this._shouldAddGlobalListeners()&&!t.composedPath().includes(this._focusTrapRoot))&&t.key==="Escape"){const n=new CustomEvent("vaadin-overlay-escape-press",{cancelable:!0,detail:{sourceEvent:t}});this.dispatchEvent(n),this.opened&&!n.defaultPrevented&&this.close(t)}}};/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const ft={start:"top",end:"bottom"},_t={start:"left",end:"right"},ue=new ResizeObserver(i=>{setTimeout(()=>{i.forEach(e=>{e.target.__overlay&&e.target.__overlay._updatePosition()})})}),Yn=i=>class extends i{static get properties(){return{positionTarget:{type:Object,value:null,sync:!0},horizontalAlign:{type:String,value:"start",sync:!0},verticalAlign:{type:String,value:"top",sync:!0},noHorizontalOverlap:{type:Boolean,value:!1,sync:!0},noVerticalOverlap:{type:Boolean,value:!1,sync:!0},requiredVerticalSpace:{type:Number,value:0,sync:!0}}}constructor(){super(),this.__onScroll=this.__onScroll.bind(this),this._updatePosition=this._updatePosition.bind(this)}connectedCallback(){super.connectedCallback(),this.opened&&this.__addUpdatePositionEventListeners()}disconnectedCallback(){super.disconnectedCallback(),this.__removeUpdatePositionEventListeners()}updated(t){if(super.updated(t),t.has("positionTarget")){const o=t.get("positionTarget");(!this.positionTarget&&o||this.positionTarget&&!o&&this.__margins)&&this.__resetPosition()}(t.has("opened")||t.has("positionTarget"))&&this.__updatePositionSettings(this.opened,this.positionTarget),["horizontalAlign","verticalAlign","noHorizontalOverlap","noVerticalOverlap","requiredVerticalSpace"].some(o=>t.has(o))&&this._updatePosition()}__addUpdatePositionEventListeners(){window.visualViewport.addEventListener("resize",this._updatePosition),window.visualViewport.addEventListener("scroll",this.__onScroll,!0),this.__positionTargetAncestorRootNodes=zn(this.positionTarget),this.__positionTargetAncestorRootNodes.forEach(t=>{t.addEventListener("scroll",this.__onScroll,!0)}),this.positionTarget&&(this.__observePositionTargetMove=Gn(this.positionTarget,()=>{this._updatePosition()}))}__removeUpdatePositionEventListeners(){window.visualViewport.removeEventListener("resize",this._updatePosition),window.visualViewport.removeEventListener("scroll",this.__onScroll,!0),this.__positionTargetAncestorRootNodes&&(this.__positionTargetAncestorRootNodes.forEach(t=>{t.removeEventListener("scroll",this.__onScroll,!0)}),this.__positionTargetAncestorRootNodes=null),this.__observePositionTargetMove&&(this.__observePositionTargetMove(),this.__observePositionTargetMove=null)}__updatePositionSettings(t,n){if(this.__removeUpdatePositionEventListeners(),n&&(n.__overlay=null,ue.unobserve(n),t&&(this.__addUpdatePositionEventListeners(),n.__overlay=this,ue.observe(n))),t){const o=getComputedStyle(this);this.__margins||(this.__margins={},["top","bottom","left","right"].forEach(s=>{this.__margins[s]=parseInt(o[s],10)})),this._updatePosition(),requestAnimationFrame(()=>this._updatePosition())}}__onScroll(t){t.target instanceof Node&&this._deepContains(t.target)||this._updatePosition()}__resetPosition(){this.__margins=null,Object.assign(this.style,{justifyContent:"",alignItems:"",top:"",bottom:"",left:"",right:""}),f(this,"bottom-aligned",!1),f(this,"top-aligned",!1),f(this,"end-aligned",!1),f(this,"start-aligned",!1)}_updatePosition(){if(!this.positionTarget||!this.opened||!this.__margins)return;const t=this.positionTarget.getBoundingClientRect();if(t.width===0&&t.height===0&&this.opened){this.opened=!1;return}const n=this.__shouldAlignStartVertically(t);this.style.justifyContent=n?"flex-start":"flex-end";const o=this.__isRTL,s=this.__shouldAlignStartHorizontally(t,o),r=!o&&s||o&&!s;this.style.alignItems=r?"flex-start":"flex-end";const a=this.getBoundingClientRect(),l=this.__calculatePositionInOneDimension(t,a,this.noVerticalOverlap,ft,this,n),d=this.__calculatePositionInOneDimension(t,a,this.noHorizontalOverlap,_t,this,s);Object.assign(this.style,l,d),f(this,"bottom-aligned",!n),f(this,"top-aligned",n),f(this,"end-aligned",!r),f(this,"start-aligned",r)}__shouldAlignStartHorizontally(t,n){const o=Math.max(this.__oldContentWidth||0,this.$.overlay.offsetWidth);this.__oldContentWidth=this.$.overlay.offsetWidth;const s=Math.min(window.innerWidth,document.documentElement.clientWidth),r=!n&&this.horizontalAlign==="start"||n&&this.horizontalAlign==="end";return this.__shouldAlignStart(t,o,s,this.__margins,r,this.noHorizontalOverlap,_t)}__shouldAlignStartVertically(t){const n=this.requiredVerticalSpace||Math.max(this.__oldContentHeight||0,this.$.overlay.offsetHeight);this.__oldContentHeight=this.$.overlay.offsetHeight;const o=Math.min(window.innerHeight,document.documentElement.clientHeight),s=this.verticalAlign==="top";return this.__shouldAlignStart(t,n,o,this.__margins,s,this.noVerticalOverlap,ft)}__shouldAlignStart(t,n,o,s,r,a,l){const d=o-t[a?l.end:l.start]-s[l.end],u=t[a?l.start:l.end]-s[l.start],c=r?d:u,y=c>(r?u:d)||c>n;return r===y}__adjustBottomProperty(t,n,o){let s;if(t===n.end){if(n.end===ft.end){const r=Math.min(window.innerHeight,document.documentElement.clientHeight);if(o>r&&this.__oldViewportHeight){const a=this.__oldViewportHeight-r;s=o-a}this.__oldViewportHeight=r}if(n.end===_t.end){const r=Math.min(window.innerWidth,document.documentElement.clientWidth);if(o>r&&this.__oldViewportWidth){const a=this.__oldViewportWidth-r;s=o-a}this.__oldViewportWidth=r}}return s}__calculatePositionInOneDimension(t,n,o,s,r,a){const l=a?s.start:s.end,d=a?s.end:s.start,u=parseFloat(r.style[l]||getComputedStyle(r)[l]),c=this.__adjustBottomProperty(l,s,u),p=n[a?s.start:s.end]-t[o===a?s.end:s.start],y=c?`${c}px`:`${u+p*(a?-1:1)}px`;return{[l]:y,[d]:""}}};/**
 * @license
 * Copyright (c) 2022 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Zn=i=>class extends Yn(Xn(i)){static get properties(){return{position:{type:String,reflectToAttribute:!0}}}_updatePosition(){if(super._updatePosition(),!this.positionTarget||!this.opened)return;this.removeAttribute("arrow-centered");const t=this.positionTarget.getBoundingClientRect(),n=this.$.overlay.getBoundingClientRect(),o=Math.min(window.innerWidth,document.documentElement.clientWidth);let s=!1;if(n.left<0?(this.style.left="0px",this.style.right="",s=!0):n.right>o&&(this.style.right="0px",this.style.left="",s=!0),!s&&(this.position==="bottom"||this.position==="top")){const r=t.width/2-n.width/2;if(this.style.left){const a=n.left+r;a>0&&(this.style.left=`${a}px`,this.setAttribute("arrow-centered",""))}if(this.style.right){const a=parseFloat(this.style.right)+r;a>0&&(this.style.right=`${a}px`,this.setAttribute("arrow-centered",""))}}if(this.position==="start"||this.position==="end"){const r=t.height/2-n.height/2;this.style.top=`${n.top+r}px`}}};/**
 * @license
 * Copyright (c) 2022 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Qn=h`
  :host {
    --_vaadin-tooltip-default-offset: 4px;
    line-height: normal;
  }

  [part='overlay'] {
    max-width: var(--vaadin-tooltip-max-width, 40ch);
    padding: var(
      --vaadin-tooltip-padding,
      var(--vaadin-padding-block-container) var(--vaadin-padding-inline-container)
    );
    border: var(--vaadin-tooltip-border-width, var(--vaadin-overlay-border-width, 1px)) solid
      var(--vaadin-tooltip-border-color, var(--vaadin-overlay-border-color, var(--vaadin-border-color-secondary)));
    border-radius: var(--vaadin-tooltip-border-radius, var(--vaadin-radius-m));
    background: var(--vaadin-tooltip-background, var(--vaadin-background-color));
    color: var(--vaadin-tooltip-text-color, inherit);
    font-size: var(--vaadin-tooltip-font-size, 0.9em);
    font-weight: var(--vaadin-tooltip-font-weight, inherit);
    line-height: var(--vaadin-tooltip-line-height, inherit);
    box-shadow: var(--vaadin-tooltip-shadow, 0 3px 8px -1px rgba(0, 0, 0, 0.2));
  }

  :host(:not([markdown])) [part='content'] {
    white-space: pre-wrap;
  }

  :host([position^='top'][top-aligned]) [part='overlay'],
  :host([position^='bottom'][top-aligned]) [part='overlay'] {
    margin-top: var(--vaadin-tooltip-offset-top, var(--_vaadin-tooltip-default-offset));
  }

  :host([position^='top'][bottom-aligned]) [part='overlay'],
  :host([position^='bottom'][bottom-aligned]) [part='overlay'] {
    margin-bottom: var(--vaadin-tooltip-offset-bottom, var(--_vaadin-tooltip-default-offset));
  }

  :host([position^='start'][start-aligned]) [part='overlay'],
  :host([position^='end'][start-aligned]) [part='overlay'] {
    margin-inline-start: var(--vaadin-tooltip-offset-start, var(--_vaadin-tooltip-default-offset));
  }

  :host([position^='start'][end-aligned]) [part='overlay'],
  :host([position^='end'][end-aligned]) [part='overlay'] {
    margin-inline-end: var(--vaadin-tooltip-offset-end, var(--_vaadin-tooltip-default-offset));
  }

  @media (forced-colors: active) {
    [part='overlay'] {
      border: 1px dashed !important;
    }
  }
`;/**
 * @license
 * Copyright (c) 2022 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class Jn extends Zn(Pt(E(b(S(g))))){static get is(){return"vaadin-tooltip-overlay"}static get styles(){return[Un,Qn]}render(){return _`
      <div part="overlay" id="overlay">
        <div part="content" id="content"><slot></slot></div>
      </div>
    `}}m(Jn);/**
 * @license
 * Copyright 2018 Google LLC
 * SPDX-License-Identifier: BSD-3-Clause
 */const k=i=>i??L;/**
 * @license
 * Copyright (c) 2024 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const to=i=>class extends i{static get properties(){return{position:{type:String},_position:{type:String,value:"bottom"},__effectivePosition:{type:String,computed:"__computePosition(position, _position)"}}}__computeHorizontalAlign(t){return["top-end","bottom-end","start-top","start","start-bottom"].includes(t)?"end":"start"}__computeNoHorizontalOverlap(t){return["start-top","start","start-bottom","end-top","end","end-bottom"].includes(t)}__computeNoVerticalOverlap(t){return["top-start","top-end","top","bottom-start","bottom","bottom-end"].includes(t)}__computeVerticalAlign(t){return["top-start","top-end","top","start-bottom","end-bottom"].includes(t)?"bottom":"top"}__computePosition(t,n){return t||n}};/**
 * @license
 * Copyright (c) 2024 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const eo=i=>class extends i{static get properties(){return{for:{type:String,observer:"__forChanged"},target:{type:Object},__isConnected:{type:Boolean,sync:!0}}}static get observers(){return["__targetOrConnectedChanged(target, __isConnected)"]}connectedCallback(){super.connectedCallback(),this.__isConnected=!0}disconnectedCallback(){super.disconnectedCallback(),this.__isConnected=!1}__forChanged(t){t&&(this.__setTargetByIdDebouncer=I.debounce(this.__setTargetByIdDebouncer,Ae,()=>this.__setTargetById(t)))}__setTargetById(t){if(!this.isConnected)return;const n=this.getRootNode().getElementById(t);n?this.target=n:console.warn(`No element with id="${t}" set via "for" property found on the page.`)}__targetOrConnectedChanged(t,n){this.__previousTarget&&(this.__previousTarget!==t||!n)&&this._removeTargetListeners(this.__previousTarget),t&&n&&this._addTargetListeners(t),this.__previousTarget=t}_addTargetListeners(t){}_removeTargetListeners(t){}},$=500;let Ge=$,Xe=$,Ye=$;const N=new Set;let V=!1,D=null,H=null;class io{constructor(e){this.host=e}get focusDelay(){const e=this.host;return e.focusDelay!=null&&e.focusDelay>=0?e.focusDelay:Ge}get hoverDelay(){const e=this.host;return e.hoverDelay!=null&&e.hoverDelay>=0?e.hoverDelay:Xe}get hideDelay(){const e=this.host;return e.hideDelay!=null&&e.hideDelay>=0?e.hideDelay:Ye}get isClosing(){return N.has(this.host)}open(e={immediate:!1}){const{immediate:t,hover:n,focus:o}=e,s=n&&this.hoverDelay>0,r=o&&this.focusDelay>0;!t&&(s||r)&&!this.__closeTimeout?this.__warmupTooltip(r):this.__showTooltip()}close(e){!e&&this.hideDelay>0?this.__scheduleClose():(this.__abortClose(),this._setOpened(!1)),this.__abortWarmUp(),V&&(this.__abortCooldown(),this.__scheduleCooldown())}_isOpened(){return this.host.opened}_setOpened(e){this.host.opened=e}__flushClosingTooltips(){N.forEach(e=>{e._stateController.close(!0),N.delete(e)})}__showTooltip(){this.__abortClose(),this.__flushClosingTooltips(),this._setOpened(!0),V=!0,this.__abortWarmUp(),this.__abortCooldown()}__warmupTooltip(e){this._isOpened()||(V?this.__showTooltip():D==null&&this.__scheduleWarmUp(e))}__abortClose(){this.__closeTimeout&&(clearTimeout(this.__closeTimeout),this.__closeTimeout=null),this.isClosing&&N.delete(this.host)}__abortCooldown(){H&&(clearTimeout(H),H=null)}__abortWarmUp(){D&&(clearTimeout(D),D=null)}__scheduleClose(){this._isOpened()&&!this.isClosing&&(N.add(this.host),this.__closeTimeout=setTimeout(()=>{N.delete(this.host),this.__closeTimeout=null,this._setOpened(!1)},this.hideDelay))}__scheduleCooldown(){H=setTimeout(()=>{H=null,V=!1},this.hideDelay)}__scheduleWarmUp(e){const t=e?this.focusDelay:this.hoverDelay;D=setTimeout(()=>{D=null,V=!0,this.__showTooltip()},t)}}const no=i=>class extends to(eo(i)){static get properties(){return{ariaTarget:{type:Object},context:{type:Object,value:()=>({})},focusDelay:{type:Number},generator:{type:Object},hideDelay:{type:Number},hoverDelay:{type:Number},manual:{type:Boolean,value:!1,sync:!0},opened:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"__openedChanged",sync:!0},shouldShow:{type:Object,value:()=>(t,n)=>!0},text:{type:String},markdown:{type:Boolean,value:!1,reflectToAttribute:!0},_effectiveAriaTarget:{type:Object,computed:"__computeAriaTarget(ariaTarget, target)",observer:"__effectiveAriaTargetChanged"},__isTargetHidden:{type:Boolean,value:!1},_isConnected:{type:Boolean,sync:!0}}}static setDefaultFocusDelay(t){Ge=t!=null&&t>=0?t:$}static setDefaultHideDelay(t){Ye=t!=null&&t>=0?t:$}static setDefaultHoverDelay(t){Xe=t!=null&&t>=0?t:$}constructor(){super(),this._uniqueId=`vaadin-tooltip-${Vt()}`,this.__onFocusin=this.__onFocusin.bind(this),this.__onFocusout=this.__onFocusout.bind(this),this.__onMouseDown=this.__onMouseDown.bind(this),this.__onMouseEnter=this.__onMouseEnter.bind(this),this.__onMouseLeave=this.__onMouseLeave.bind(this),this.__onKeyDown=this.__onKeyDown.bind(this),this.__onOverlayOpen=this.__onOverlayOpen.bind(this),this.__targetVisibilityObserver=new IntersectionObserver(t=>{t.forEach(n=>this.__onTargetVisibilityChange(n.isIntersecting))},{threshold:0}),this._stateController=new io(this)}connectedCallback(){super.connectedCallback(),this._isConnected=!0,document.body.addEventListener("vaadin-overlay-open",this.__onOverlayOpen)}disconnectedCallback(){super.disconnectedCallback(),this.opened&&!this.manual&&this._stateController.close(!0),this._isConnected=!1,document.body.removeEventListener("vaadin-overlay-open",this.__onOverlayOpen)}ready(){super.ready(),this._overlayElement=this.$.overlay,this.__contentController=new Ht(this,"overlay","div",{initializer:t=>{t.id=this._uniqueId,t.setAttribute("role","tooltip"),this.__contentNode=t}}),this.addController(this.__contentController)}updated(t){super.updated(t),(t.has("text")||t.has("generator")||t.has("context")||t.has("markdown"))&&this.__updateContent()}__openedChanged(t,n){t?document.addEventListener("keydown",this.__onKeyDown,!0):n&&document.removeEventListener("keydown",this.__onKeyDown,!0)}_addTargetListeners(t){t.addEventListener("mouseenter",this.__onMouseEnter),t.addEventListener("mouseleave",this.__onMouseLeave),t.addEventListener("focusin",this.__onFocusin),t.addEventListener("focusout",this.__onFocusout),t.addEventListener("mousedown",this.__onMouseDown),requestAnimationFrame(()=>{this.__targetVisibilityObserver.observe(t)})}_removeTargetListeners(t){t.removeEventListener("mouseenter",this.__onMouseEnter),t.removeEventListener("mouseleave",this.__onMouseLeave),t.removeEventListener("focusin",this.__onFocusin),t.removeEventListener("focusout",this.__onFocusout),t.removeEventListener("mousedown",this.__onMouseDown),this.__targetVisibilityObserver.unobserve(t)}__onFocusin(t){this.manual||W()&&(this.target.contains(t.relatedTarget)||this.__isShouldShow()&&(this._overlayElement.hasAttribute("hidden")||(this.__focusInside=!0,!this.__isTargetHidden&&(!this.__hoverInside||!this.opened)&&this._stateController.open({focus:!0}))))}__onFocusout(t){this.manual||this.target.contains(t.relatedTarget)||(this.__focusInside=!1,this.__hoverInside||this._stateController.close(!0))}__onKeyDown(t){this.manual||t.key==="Escape"&&(t.stopPropagation(),this._stateController.close(!0))}__onMouseDown(){this.manual||this._stateController.close(!0)}__onMouseEnter(){this.manual||this.__isShouldShow()&&(this._overlayElement.hasAttribute("hidden")||this.__hoverInside||(this.__hoverInside=!0,!this.__isTargetHidden&&(!this.__focusInside||!this.opened)&&this._stateController.open({hover:!0})))}__onMouseLeave(t){t.relatedTarget!==this._overlayElement&&this.__handleMouseLeave()}__onOverlayMouseEnter(){this.manual||this._stateController.isClosing&&this._stateController.open({immediate:!0})}__onOverlayMouseLeave(t){t.relatedTarget!==this.target&&this.__handleMouseLeave()}__onOverlayMouseDown(t){t.stopPropagation()}__onOverlayClick(t){t.stopPropagation()}__handleMouseLeave(){this.manual||(this.__hoverInside=!1,this.__focusInside||this._stateController.close())}__onOverlayOpen(){this.manual||this._overlayElement.opened&&!this._overlayElement._last&&this._stateController.close(!0)}__onTargetVisibilityChange(t){if(this.manual)return;const n=this.__isTargetHidden;if(this.__isTargetHidden=!t,n&&t&&(this.__focusInside||this.__hoverInside)){this._stateController.open({immediate:!0});return}!t&&this.opened&&this._stateController.close(!0)}__isShouldShow(){return!(typeof this.shouldShow=="function"&&this.shouldShow(this.target,this.context)!==!0)}async __updateContent(){const t=typeof this.generator=="function"?this.generator(this.context):this.text;this.markdown&&t?(await this.constructor.__importMarkdownHelpers()).renderMarkdownToElement(this.__contentNode,t):this.__contentNode.textContent=t||"",this.$.overlay.toggleAttribute("hidden",this.__contentNode.textContent.trim()===""),this.dispatchEvent(new CustomEvent("content-changed",{detail:{content:this.__contentNode.textContent}}))}__computeAriaTarget(t,n){const o=r=>r&&r.nodeType===Node.ELEMENT_NODE,s=Array.isArray(t)?t.some(o):t;return t===null||s?t:n}__effectiveAriaTargetChanged(t,n){n&&[n].flat().forEach(o=>{$n(o,"aria-describedby",this._uniqueId)}),t&&[t].flat().forEach(o=>{Rn(o,"aria-describedby",this._uniqueId)})}static __importMarkdownHelpers(){return this.__markdownHelpers||(this.__markdownHelpers=yt(()=>import("./markdown-helpers-CT3ehGsb.js"),[],import.meta.url)),this.__markdownHelpers}};/**
 * @license
 * Copyright (c) 2022 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class oo extends no(xe(T(b(g)))){static get is(){return"vaadin-tooltip"}static get styles(){return h`
      :host {
        display: contents;
      }
    `}render(){const e=this.__effectivePosition;return _`
      <vaadin-tooltip-overlay
        id="overlay"
        .owner="${this}"
        theme="${k(this._theme)}"
        .opened="${this._isConnected&&this.opened}"
        .positionTarget="${this.target}"
        .position="${e}"
        ?no-horizontal-overlap="${this.__computeNoHorizontalOverlap(e)}"
        ?no-vertical-overlap="${this.__computeNoVerticalOverlap(e)}"
        .horizontalAlign="${this.__computeHorizontalAlign(e)}"
        .verticalAlign="${this.__computeVerticalAlign(e)}"
        @click="${this.__onOverlayClick}"
        @mousedown="${this.__onOverlayMouseDown}"
        @mouseenter="${this.__onOverlayMouseEnter}"
        @mouseleave="${this.__onOverlayMouseLeave}"
        modeless
        ?markdown="${this.markdown}"
        exportparts="overlay, content"
        ><slot name="overlay"></slot
      ></vaadin-tooltip-overlay>
    `}}m(oo);document.addEventListener("click",i=>{const e=i.composedPath().find(t=>t.hasAttribute&&t.hasAttribute("disableonclick"));e&&(e.disabled=!0)});/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class so{constructor(e,t){this.host=e,this.scrollTarget=t||e,this.__boundOnScroll=this.__onScroll.bind(this)}hostConnected(){this.initialized||(this.initialized=!0,this.observe())}observe(){const{host:e}=this;this.__resizeObserver=new ResizeObserver(()=>{this.__debounceOverflow=I.debounce(this.__debounceOverflow,Se,()=>{this.__updateOverflow()})}),this.__resizeObserver.observe(e),[...e.children].forEach(t=>{this.__resizeObserver.observe(t)}),this.__childObserver=new MutationObserver(t=>{t.forEach(({addedNodes:n,removedNodes:o})=>{n.forEach(s=>{s.nodeType===Node.ELEMENT_NODE&&this.__resizeObserver.observe(s)}),o.forEach(s=>{s.nodeType===Node.ELEMENT_NODE&&this.__resizeObserver.unobserve(s)})}),this.__updateOverflow()}),this.__childObserver.observe(e,{childList:!0}),this.scrollTarget.addEventListener("scroll",this.__boundOnScroll),this.__updateOverflow()}__onScroll(){this.__updateOverflow()}__updateOverflow(){const e=this.scrollTarget;let t="";e.scrollTop>0&&(t+=" top"),Math.ceil(e.scrollTop)<Math.ceil(e.scrollHeight-e.clientHeight)&&(t+=" bottom");const n=Math.abs(e.scrollLeft);n>0&&(t+=" start"),Math.ceil(n)<Math.ceil(e.scrollWidth-e.clientWidth)&&(t+=" end"),t=t.trim(),t.length>0&&this.host.getAttribute("overflow")!==t?this.host.setAttribute("overflow",t):t.length===0&&this.host.hasAttribute("overflow")&&this.host.removeAttribute("overflow")}}/**
 * @license
 * Copyright (c) 2020 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const ro=h`
  :host {
    --_indicator-height: var(--vaadin-scroller-overflow-indicator-height, 1px);
    /* Don't let these properties inherit */
    --vaadin-scroller-padding-block: 0px;
    --vaadin-scroller-padding-inline: 0px;
    --vaadin-scroller-overflow-indicator-top-opacity: 0;
    --vaadin-scroller-overflow-indicator-bottom-opacity: 0;
    display: block;
    overflow: auto;
    outline: none;
    box-sizing: border-box;
    padding: var(--vaadin-scroller-padding-block) var(--vaadin-scroller-padding-inline);
  }

  :host([focus-ring]) {
    outline: var(--vaadin-focus-ring-width) solid var(--vaadin-focus-ring-color);
  }

  :host([hidden]) {
    display: none !important;
  }

  :host([scroll-direction='vertical']) {
    overflow-x: hidden;
  }

  :host([scroll-direction='horizontal']) {
    overflow-y: hidden;
  }

  :host([scroll-direction='none']) {
    overflow: hidden;
  }

  :host::before,
  :host::after {
    content: '';
    display: block;
    opacity: 0;
    position: sticky;
    inset: 0 calc(var(--vaadin-scroller-padding-inline) * -1);
    z-index: 9999;
    pointer-events: none;
    box-sizing: border-box;
    height: var(--_indicator-height);
    margin-inline: calc(var(--vaadin-scroller-padding-inline) * -1);
    background: var(--vaadin-border-color-secondary);
  }

  :host::before {
    top: 0;
    margin-bottom: calc(var(--_indicator-height) * -1);
    translate: 0 calc(var(--vaadin-scroller-padding-block) * -1);
  }

  :host::after {
    bottom: 0;
    margin-top: calc(var(--_indicator-height) * -1);
    translate: 0 calc(var(--vaadin-scroller-padding-block) * 1);
  }

  :host([overflow~='top'])::before {
    opacity: var(--vaadin-scroller-overflow-indicator-top-opacity);
  }

  :host([overflow~='bottom'])::after {
    opacity: var(--vaadin-scroller-overflow-indicator-bottom-opacity);
  }

  :host([theme~='overflow-indicator-top'][overflow~='top']),
  :host([theme~='overflow-indicators'][overflow~='top']) {
    --vaadin-scroller-overflow-indicator-top-opacity: 1;
  }

  :host([theme~='overflow-indicators'][overflow~='bottom']),
  :host([theme~='overflow-indicator-bottom'][overflow~='bottom']) {
    --vaadin-scroller-overflow-indicator-bottom-opacity: 1;
  }
`;/**
 * @license
 * Copyright (c) 2020 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const ao=i=>class extends jt(i){static get properties(){return{scrollDirection:{type:String,reflectToAttribute:!0},tabindex:{type:Number,value:0,reflectToAttribute:!0}}}_shouldSetFocus(t){return t.target===this}};/**
 * @license
 * Copyright (c) 2020 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class lo extends ao(T(E(b(S(g))))){static get is(){return"vaadin-scroller"}static get styles(){return ro}static get lumoInjector(){return{...super.lumoInjector,includeBaseStyles:!0}}render(){return _`<slot></slot>`}ready(){super.ready(),this.__overflowController=new so(this),this.addController(this.__overflowController)}}m(lo);/**
 * @license
 * Copyright (c) 2023 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */function co(i,e){return[...e.entries()].every(([t,n])=>i.getAll(t).includes(n))}function pe(i,e,t={matchNested:!1}){const n=document.baseURI,o=new URL(i,n),s=new URL(e,n),r=o.origin===s.origin,a=t.matchNested?o.pathname===s.pathname||o.pathname.startsWith(`${s.pathname}/`):o.pathname===s.pathname;return r&&a&&co(o.searchParams,s.searchParams)}/**
 * @license
 * Copyright (c) 2023 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const ve={get pathname(){return document.location.pathname},get search(){return document.location.search}};/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const ho=h`
  .sr-only {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    white-space: nowrap !important;
  }
`;/**
 * @license
 * Copyright (c) 2023 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Ze=h`
  :host {
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-width: 100%;
    gap: var(--vaadin-side-nav-items-gap, var(--vaadin-gap-s));
    cursor: default;
    -webkit-tap-highlight-color: transparent;
  }

  :host([hidden]),
  [hidden] {
    display: none !important;
  }

  button {
    appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: inherit;
    cursor: var(--vaadin-clickable-cursor);
    flex: none;
  }

  [part='toggle-button'] {
    border-radius: var(--vaadin-side-nav-item-border-radius, var(--vaadin-radius-s));
    color: var(--vaadin-text-color-secondary);
  }

  [part='toggle-button']::before {
    content: '';
    display: block;
    background: currentColor;
    mask: var(--_vaadin-icon-chevron-down) 50% / var(--vaadin-icon-visual-size, 100%) no-repeat;
    width: var(--vaadin-icon-size, 1lh);
    height: var(--vaadin-icon-size, 1lh);
    rotate: -90deg;
  }

  :host([dir='rtl']) [part='toggle-button']::before {
    scale: -1;
  }

  :host(:is(vaadin-side-nav-item[expanded], vaadin-side-nav:not([collapsed]))) [part='toggle-button'] {
    rotate: 90deg;
  }

  :host([dir='rtl']:is(vaadin-side-nav-item[expanded], vaadin-side-nav:not([collapsed]))) [part='toggle-button'] {
    rotate: -90deg;
  }

  @media (prefers-reduced-motion: no-preference) {
    [part='toggle-button'] {
      transition: rotate 150ms;
    }
  }

  :host([disabled]) [part='toggle-button'] {
    opacity: 0.5;
  }

  [part='children'] {
    padding: 0;
    margin: 0;
    list-style-type: none;
    display: flex;
    flex-direction: column;
    gap: var(--vaadin-side-nav-items-gap, var(--vaadin-gap-s));
  }

  [part='children'] slot {
    --_icon-indent-2: var(--_icon-indent);
  }

  :focus-visible {
    outline: var(--vaadin-focus-ring-width) solid var(--vaadin-focus-ring-color);
  }

  @media (forced-colors: active) {
    [part='toggle-button']::before {
      background: CanvasText;
    }
  }
`;/**
 * @license
 * Copyright (c) 2023 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const uo=h`
  [part='content'] {
    display: flex;
    align-items: center;
    min-width: 0;
    max-width: 100%;
    padding: var(
      --vaadin-side-nav-item-padding,
      var(--vaadin-padding-block-container) var(--vaadin-padding-inline-container)
    );
    --_gap: var(--vaadin-side-nav-item-gap, var(--vaadin-gap-s));
    gap: var(--_gap);
    font-size: var(--vaadin-side-nav-item-font-size, 1em);
    font-weight: var(--vaadin-side-nav-item-font-weight, 500);
    line-height: var(--vaadin-side-nav-item-line-height, inherit);
    color: var(--vaadin-side-nav-item-text-color, var(--vaadin-text-color-secondary));
    background: var(--vaadin-side-nav-item-background, transparent);
    background-origin: border-box;
    border: var(--vaadin-side-nav-item-border-width, 0) solid var(--vaadin-side-nav-item-border-color, transparent);
    border-radius: var(--vaadin-side-nav-item-border-radius, var(--vaadin-radius-m));
    cursor: var(--vaadin-clickable-cursor);
    touch-action: manipulation;
    contain: layout;
  }

  :host([current]) [part='content'] {
    --vaadin-side-nav-item-background: var(--vaadin-background-container);
    --vaadin-side-nav-item-text-color: var(--vaadin-text-color);
  }

  :host([disabled]) {
    --vaadin-clickable-cursor: var(--vaadin-disabled-cursor);
  }

  :host([disabled]) [part='content'] {
    --vaadin-side-nav-item-text-color: var(--vaadin-text-color-disabled);
  }

  :host(:not([has-children])) {
    gap: 0;
  }

  [part='link'] {
    flex: auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: inherit;
    text-decoration: none;
    color: inherit;
    outline: 0;
  }

  :host(:not([has-children])) [part='toggle-button'] {
    display: none !important;
  }

  slot:not([name]) {
    display: block;
    flex: auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    /* Don't clip ascenders or descenders */
    padding-block: 0.25em;
    margin-block: -0.25em;
  }

  slot:is([name='prefix'], [name='suffix'])::slotted(*) {
    flex: none;
  }

  [part='content']:not(:has([href])):has([part='toggle-button']:focus-visible),
  [part='content']:has(:not([part='toggle-button']):focus-visible),
  [part='content']:has([href]) [part='toggle-button']:focus-visible {
    outline: var(--vaadin-focus-ring-width) solid var(--vaadin-focus-ring-color);
  }

  [part='content']:not(:has([href])) [part='toggle-button']:focus-visible {
    outline: 0;
  }

  /* Hierarchy indentation */
  [part='content']::before {
    content: '';
    width: calc(
      var(--vaadin-side-nav-child-indent, 1em) * var(--_level, 0) + var(--_icon-indent, 0) *
        (var(--vaadin-icon-size, 1lh) + var(--_gap))
    );
    flex: none;
    margin-inline-start: calc(var(--_gap) * -1);
  }

  [part='children'] {
    --_level: calc(var(--_level-2, 0) + 1);
  }

  [part='children'] ::slotted(*) {
    --_level-2: var(--_level);
  }

  @media (forced-colors: active) {
    [part='content'] {
      border: 1px solid Canvas !important;
    }

    :host([current]) [part='content'] {
      color: Highlight !important;
      border-color: Highlight !important;
    }

    :host([disabled]) [part='content'] {
      --vaadin-side-nav-item-text-color: GrayText !important;
    }

    :host([disabled]) [part='toggle-button']::before {
      background: GrayText !important;
    }
  }
`,po=[Ze,ho,uo];/**
 * @license
 * Copyright (c) 2023 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const vo={toggle:"Toggle child items"};class fo extends Ht{constructor(e,t){super(e,t,null,{observe:!0,multiple:!0})}initAddedNode(){this.host.requestUpdate()}teardownNode(){this.host.requestUpdate()}}const Qe=i=>class extends $e(vo,i){static get properties(){return{_itemsCount:{type:Number,value:0}}}constructor(){super(),this._childrenController=new fo(this,this._itemsSlotName)}get i18n(){return super.i18n}set i18n(t){super.i18n=t}get _items(){return this._childrenController.nodes}get _itemsSlotName(){return"children"}firstUpdated(){super.firstUpdated(),this.addController(this._childrenController)}willUpdate(t){super.willUpdate(t),this._itemsCount=this._items.length}updated(t){super.updated(t),t.has("_itemsCount")&&this.toggleAttribute("has-children",this._itemsCount>0),(t.has("_itemsCount")||t.has("__effectiveI18n"))&&this._items.forEach(n=>{n.i18n=this.__effectiveI18n})}};/**
 * @license
 * Copyright (c) 2023 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class Wt extends Qe(Bt(T(E(b(S(g)))))){static get is(){return"vaadin-side-nav-item"}static get properties(){return{path:{type:String},pathAliases:{type:Array,value:()=>[]},expanded:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},matchNested:{type:Boolean,value:!1},current:{type:Boolean,value:!1,readOnly:!0,reflectToAttribute:!0},target:{type:String},routerIgnore:{type:Boolean,value:!1},__tooltipText:{type:String}}}static get styles(){return po}constructor(){super(),this.__boundUpdateCurrent=this.__updateCurrent.bind(this)}get _button(){return this.shadowRoot.querySelector("button")}firstUpdated(){super.firstUpdated(),this.hasAttribute("role")||this.setAttribute("role","listitem")}updated(e){super.updated(e),(e.has("path")||e.has("pathAliases")||e.has("matchNested"))&&this.__updateCurrent(),(e.has("disabled")||e.has("_itemsCount"))&&this._items.forEach(t=>{t.disabled=this.disabled})}connectedCallback(){super.connectedCallback(),this.__updateCurrent(),window.addEventListener("popstate",this.__boundUpdateCurrent),window.addEventListener("vaadin-navigated",this.__boundUpdateCurrent),window.addEventListener("side-nav-location-changed",this.__boundUpdateCurrent)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("popstate",this.__boundUpdateCurrent),window.removeEventListener("vaadin-navigated",this.__boundUpdateCurrent),window.removeEventListener("side-nav-location-changed",this.__boundUpdateCurrent)}render(){return _`
      <div id="content" part="content" @click="${this._onContentClick}">
        <a
          id="link"
          ?disabled="${this.disabled}"
          tabindex="${this.disabled||this.path==null?"-1":"0"}"
          href="${k(this.disabled?null:this.path)}"
          target="${k(this.target)}"
          ?router-ignore="${this.routerIgnore}"
          part="link"
          aria-current="${this.current?"page":"false"}"
        >
          <slot name="prefix"></slot>
          <slot></slot>
          <div class="sr-only">${this.__tooltipText}</div>
          <slot name="suffix"></slot>
        </a>
        <button
          part="toggle-button"
          ?disabled="${this.disabled}"
          @click="${this._onButtonClick}"
          aria-controls="children"
          aria-expanded="${this.expanded}"
          aria-labelledby="link i18n"
        ></button>
      </div>
      <ul part="children" role="list" ?hidden="${!this.expanded}" aria-hidden="${this.expanded?"false":"true"}">
        <slot name="children"></slot>
      </ul>
      <div hidden id="i18n">${this.__effectiveI18n.toggle}</div>
      <slot name="tooltip"></slot>
    `}ready(){super.ready(),this._tooltipController=new Ut(this),this._tooltipController.setTarget(this.$.content),this._tooltipController.setAriaTarget(null),this._tooltipController.addEventListener("tooltip-changed",e=>{const{node:t}=e.detail;t?(this.__tooltipText=t.textContent.trim(),t.setAttribute("aria-hidden","true")):this.__tooltipText=""}),this.addController(this._tooltipController)}_onButtonClick(e){e.stopPropagation(),this.__toggleExpanded()}_onContentClick(e){this.path&&!e.composedPath().find(t=>t===this.$.link)?this.$.link.click():this.path==null&&this.hasAttribute("has-children")&&!this.disabled&&this.__toggleExpanded()}__toggleExpanded(){this.expanded=!this.expanded}__updateCurrent(){this._setCurrent(this.__isCurrent()),this.current&&(this.__expandParentItems(),this.expanded=this._items.length>0)}__expandParentItems(){const e=this.closest("vaadin-side-nav");if(e&&e.noAutoExpand)return;const t=this.__getParentItem();t&&t.__expandParentItems(),this.expanded=!0}__getParentItem(){return this.parentElement instanceof Wt?this.parentElement:null}__isCurrent(){if(this.path==null)return!1;const e=`${ve.pathname}${ve.search}`,t={matchNested:this.matchNested};return pe(e,this.path,t)||this.pathAliases.some(n=>pe(e,n,t))}}m(Wt);/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const gt=new WeakMap;function _o(i){return gt.has(i)||gt.set(i,new Set),gt.get(i)}function go(i,e){const t=document.createElement("style");t.textContent=i,e===document?document.head.appendChild(t):e.insertBefore(t,e.firstChild)}const mo=F(i=>class extends i{get slotStyles(){return[]}connectedCallback(){super.connectedCallback(),this.__applySlotStyles()}__applySlotStyles(){const t=this.getRootNode(),n=_o(t);this.slotStyles.forEach(o=>{n.has(o)||(go(o,t),n.add(o))})}});/**
 * @license
 * Copyright (c) 2023 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const bo=h`
  :host {
    white-space: nowrap;
    touch-action: manipulation;
  }

  [part='label'] {
    align-self: start;
    display: flex;
    align-items: center;
    justify-content: start;
    gap: var(--vaadin-side-nav-item-gap, var(--vaadin-gap-s));
    padding: var(
      --vaadin-side-nav-item-padding,
      var(--vaadin-padding-block-container) var(--vaadin-padding-inline-container)
    );
    font-size: var(--vaadin-side-nav-label-font-size, max(11px, 0.875em));
    font-weight: var(--vaadin-side-nav-label-font-weight, 500);
    color: var(--vaadin-side-nav-label-color, var(--vaadin-text-color-secondary));
    line-height: var(--vaadin-side-nav-label-line-height, inherit);
    border-radius: var(--vaadin-side-nav-item-border-radius, var(--vaadin-radius-m));
    touch-action: manipulation;
    min-width: 0;
    max-width: 100%;
  }

  ::slotted([slot='label']) {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
  }
`,yo=[Ze,bo],wo=h`
  :where(vaadin-side-nav:has(> vaadin-side-nav-item > vaadin-icon[slot='prefix']))::part(children),
  :where(vaadin-side-nav-item:has(> vaadin-side-nav-item[slot='children'] > vaadin-icon[slot='prefix']))::part(
    children
  ) {
    --_icon-indent: calc(var(--_icon-indent-2, 0) + 1);
  }

  :where(vaadin-side-nav-item:has(> vaadin-icon[slot='prefix']))::part(content) {
    --_icon-indent: calc(var(--_icon-indent-2) - 1);
  }

  :where(
    vaadin-side-nav-item:has(> vaadin-icon[slot='prefix']):has(> vaadin-side-nav-item > vaadin-icon[slot='prefix'])
  )::part(children) {
    --_level: var(--_level-2, 0);
  }

  vaadin-side-nav:not(:has([slot='label']))::part(label) {
    display: none;
  }
`;/**
 * @license
 * Copyright (c) 2023 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class xo extends Qe(mo(jt(T(E(b(S(g))))))){static get is(){return"vaadin-side-nav"}static get shadowRootOptions(){return{...g.shadowRootOptions,delegatesFocus:!0}}static get properties(){return{collapsible:{type:Boolean,value:!1,reflectToAttribute:!0},collapsed:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},onNavigate:{attribute:!1},location:{observer:"__locationChanged"},noAutoExpand:{type:Boolean,reflectToAttribute:!0,value:!1}}}static get styles(){return yo}get slotStyles(){return[wo]}constructor(){super(),this._labelId=`side-nav-label-${Vt()}`,this.addEventListener("click",this.__onClick)}get _itemsSlotName(){return""}get focusElement(){return this.shadowRoot.querySelector("button")}firstUpdated(){super.firstUpdated(),this.hasAttribute("role")||this.setAttribute("role","navigation")}render(){return _`
      ${this.collapsible?_`
            <button
              part="label"
              @click="${this._onLabelClick}"
              aria-expanded="${!this.collapsed}"
              aria-controls="children"
            >
              <slot name="label" @slotchange="${this._onLabelSlotChange}"></slot>
              <span part="toggle-button" aria-hidden="true"></span>
            </button>
          `:_`
            <div part="label">
              <slot name="label" @slotchange="${this._onLabelSlotChange}"></slot>
            </div>
          `}
      <ul
        id="children"
        role="list"
        part="children"
        ?hidden="${this.collapsed}"
        aria-hidden="${this.collapsed?"true":"false"}"
      >
        <slot></slot>
      </ul>
    `}_shouldSetFocus(e){return e.composedPath()[0]===this.focusElement}_onLabelClick(){this.collapsible&&this.__toggleCollapsed()}_onLabelSlotChange(){const e=this.querySelector('[slot="label"]');e?(e.id||(e.id=this._labelId),this.setAttribute("aria-labelledby",e.id)):this.removeAttribute("aria-labelledby")}__locationChanged(){window.dispatchEvent(new CustomEvent("side-nav-location-changed"))}__toggleCollapsed(){this.collapsed=!this.collapsed}__onClick(e){if(!this.onNavigate||e.metaKey||e.shiftKey)return;const n=e.composedPath(),o=n.find(l=>l.localName&&l.localName.includes("side-nav-item")),s=n.find(l=>l instanceof HTMLAnchorElement);if(!o||!o.shadowRoot.contains(s)||!(s.href&&s.href.startsWith(location.origin))||o.target==="_blank"||o.routerIgnore)return;this.onNavigate({path:o.path,target:o.target,current:o.current,expanded:o.expanded,pathAliases:o.pathAliases,originalEvent:e})!==!1&&e.preventDefault()}}m(xo);/**
 * @license
 * Copyright 2020 Google LLC
 * SPDX-License-Identifier: BSD-3-Clause
 */const Co={SVG:2},ko=(i,e)=>i?._$litType$===e;/**
 * @license
 * Copyright 2017 Google LLC
 * SPDX-License-Identifier: BSD-3-Clause
 */class Lt extends si{constructor(e){if(super(e),this.it=L,e.type!==ri.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===L||e==null)return this._t=void 0,this.it=e;if(e===ai)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;const t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}}Lt.directiveName="unsafeHTML",Lt.resultType=1;/**
 * @license
 * Copyright 2017 Google LLC
 * SPDX-License-Identifier: BSD-3-Clause
 */class It extends Lt{}It.directiveName="unsafeSVG",It.resultType=2;const Je=li(It);/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */function fe(i){let e=L;if(i){const t=i.cloneNode(!0);t.removeAttribute("id"),e=ye`${Je(t.outerHTML)}`}return e}function Eo(i){return ko(i,Co.SVG)||i===L}function So(i){let e=i==null||i===""?L:i;return Eo(e)||(console.error("[vaadin-icon] Invalid svg passed, please use Lit svg literal."),e=L),e}function Ao(i){return ye`${Je(i)}`}/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const U={},_e=new Set;function ti(i,e){return(i||"").replace(`${e}:`,"")}function ge(i){return i?i.split(":")[0]||"vaadin":void 0}function me(i,e){i._icons=[...i.querySelectorAll("[id]")].reduce((t,n)=>{const o=ti(n.id,e);return t[o]=n,t},{})}const To=i=>class extends i{static get observedAttributes(){return["name","size"]}static get attachedIcons(){return _e}static getIconset(e){return U[e]}static getIconSvg(e,t){const n=t||ge(e),o=this.getIconset(n);if(!e||!o)return{svg:fe(null)};const s=ti(e,n),r=o._icons[s];return{preserveAspectRatio:r?r.getAttribute("preserveAspectRatio"):null,svg:fe(r),size:o.size,viewBox:r?r.getAttribute("viewBox"):null}}static register(e,t,n){if(!U[e]){const o=document.createElement("vaadin-iconset");o.appendChild(n.content.cloneNode(!0)),U[e]=o,me(o,e),o.size=t,o.name=e}}get name(){return this.__name}set name(e){const t=this.__name;this.__name=e,this.__nameChanged(e,t)}get size(){return this.__size!==void 0?this.__size:24}set size(e){this.__size=e}connectedCallback(){["name","size"].forEach(e=>{if(this.hasOwnProperty(e)){const t=this[e];delete this[e],this[e]=t}}),this.style.display="none"}attributeChangedCallback(e,t,n){e==="name"?this.name=n:e==="size"&&(this.size=n==null?null:Number(n))}__updateIcons(e){_e.forEach(t=>{e===ge(t.icon)&&t._applyIcon()})}__nameChanged(e,t){t&&delete U[t],e&&(U[e]=this,me(this,e),this.__updateIcons(e))}};/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */let Oo=class extends To(HTMLElement){static get is(){return"vaadin-iconset"}};m(Oo);/**
 * @license
 * Copyright (c) 2017 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Mo=h`
  :host {
    display: inline-flex;
    justify-content: center !important;
    align-items: center !important;
    font-size: inherit !important;
    box-sizing: border-box;
    width: var(--vaadin-icon-size, 1lh);
    height: var(--vaadin-icon-size, 1lh);
    flex: none;
    fill: var(--vaadin-icon-color, currentColor);
    container-type: size;
  }

  :host::after,
  :host::before {
    line-height: 1;
    font-size: var(--vaadin-icon-visual-size, 100cqh);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
  }

  :host([hidden]) {
    display: none !important;
  }

  svg {
    display: block;
    width: var(--vaadin-icon-visual-size, 100%);
    height: var(--vaadin-icon-visual-size, 100%);
    /* prevent overflowing icon from clipping, see https://github.com/vaadin/flow-components/issues/5872 */
    overflow: visible;

    @container style(--vaadin-icon-stroke-width) {
      stroke-width: var(--vaadin-icon-stroke-width);
    }
  }

  :host(:is([icon-class], [font-icon-content])) svg {
    display: none;
  }

  :host([font-icon-content])::before {
    content: attr(font-icon-content);
  }

  .baseline {
    order: -1;
  }

  .baseline::before {
    content: '\\2003' / '';
    display: inline-block;
    width: 0;
  }

  :host(:is([icon-class], [font-family])) .baseline {
    font-family: var(--vaadin-icon-baseline-font-family, inherit);
  }
`;/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const Z=new ResizeObserver(i=>{setTimeout(()=>{i.forEach(e=>{e.target.isConnected&&(e.target.resizables?e.target.resizables.forEach(t=>{t._onResize(e.contentRect)}):e.target._onResize(e.contentRect))})})}),Lo=F(i=>class extends i{get _observeParent(){return!1}connectedCallback(){if(super.connectedCallback(),Z.observe(this),this._observeParent){const t=this.parentNode instanceof ShadowRoot?this.parentNode.host:this.parentNode;t.resizables||(t.resizables=new Set,Z.observe(t)),t.resizables.add(this),this.__parent=t}}disconnectedCallback(){super.disconnectedCallback(),Z.unobserve(this);const t=this.__parent;if(this._observeParent&&t){const n=t.resizables;n&&(n.delete(this),n.size===0&&Z.unobserve(t)),this.__parent=null}}_onResize(t){}});/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */function Io(){const i=document.createElement("style");i.textContent=`
    .vaadin-icon-test-element {
      container-type: size;
      height: 2px;
      visibility: hidden;
      position: fixed;
    }

    .vaadin-icon-test-element::before {
      content: '';
      display: block;
      height: 100cqh;
    `;const e=document.createElement("div");e.classList.add("vaadin-icon-test-element");const t=document.createElement("div");t.attachShadow({mode:"open"}),t.shadowRoot.innerHTML="<slot></slot>",t.append(e.cloneNode()),document.body.append(i,e,t);const n=[...document.querySelectorAll(".vaadin-icon-test-element")].find(o=>getComputedStyle(o,"::before").height!=="2px");return i.remove(),e.remove(),t.remove(),!n}function Po(){return CSS.supports("container-type: inline-size")?Qi?!Io():!1:!0}/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const No=Po(),Do=i=>No?class extends Lo(i){static get styles(){return h`
            :host::after,
            :host::before {
              font-size: var(--vaadin-icon-visual-size, var(--_vaadin-font-icon-size));
            }
          `}updated(e){super.updated(e),(e.has("char")||e.has("iconClass")||e.has("ligature"))&&this.__updateFontIconSize()}_onResize(){this.__updateFontIconSize()}__updateFontIconSize(){if(this.char||this.iconClass||this.ligature){const{paddingTop:e,paddingBottom:t,height:n}=getComputedStyle(this),o=parseFloat(n)-parseFloat(e)-parseFloat(t);this.style.setProperty("--_vaadin-font-icon-size",`${o}px`)}}}:i;/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */const mt=new Map,bt=customElements.get("vaadin-iconset"),zo=i=>class extends Do(i){static get properties(){return{icon:{type:String,reflectToAttribute:!0,observer:"__iconChanged",sync:!0},svg:{type:Object,sync:!0},src:{type:String,sync:!0},symbol:{type:String,sync:!0},iconClass:{type:String,reflectToAttribute:!0,sync:!0},char:{type:String,sync:!0},ligature:{type:String,sync:!0},fontFamily:{type:String,observer:"__fontFamilyChanged",sync:!0},size:{type:Number,value:24,sync:!0},__preserveAspectRatio:String,__useRef:String,__viewBox:String,__fill:String,__stroke:String,__strokeWidth:String,__strokeLinecap:String,__strokeLinejoin:String}}static get observers(){return["__fontChanged(iconClass, char, ligature)","__srcChanged(src, symbol)"]}static get observedAttributes(){return[...super.observedAttributes,"class"]}constructor(){super(),this.__fetch=fetch.bind(window)}get __iconClasses(){return this.iconClass?this.iconClass.split(" "):[]}ready(){super.ready(),this._tooltipController=new Ut(this),this.addController(this._tooltipController)}connectedCallback(){super.connectedCallback(),bt.attachedIcons.add(this)}disconnectedCallback(){super.disconnectedCallback(),bt.attachedIcons.delete(this)}_applyIcon(){const{preserveAspectRatio:e,svg:t,size:n,viewBox:o}=bt.getIconSvg(this.icon);o&&(this.__viewBox=o),e&&(this.__preserveAspectRatio=e),n&&n!==this.size&&(this.size=n),this.svg=t}__iconChanged(e){e?this._applyIcon():this.svg=null}async __srcChanged(e,t){if(!e){this.svg=null;return}if(this.icon="",!e.startsWith("data:")&&(t||e.includes("#"))){const[n,o]=e.split("#");this.__useRef=`${n}#${t||o}`}else try{mt.has(e)||mt.set(e,this.__fetch(e,{mode:"cors"}).then(r=>{if(!r.ok)throw new Error("Error loading icon");return r.text()}));const n=await mt.get(e);i.__domParser||(i.__domParser=new DOMParser);const s=i.__domParser.parseFromString(n,"text/html").querySelector("svg");if(!s)throw new Error(`SVG element not found on path: ${e}`);this.svg=Ao(s.innerHTML),t&&(this.__useRef=`#${t}`),this.__viewBox=s.getAttribute("viewBox"),this.__fill=s.getAttribute("fill"),this.__stroke=s.getAttribute("stroke"),this.__strokeWidth=s.getAttribute("stroke-width"),this.__strokeLinecap=s.getAttribute("stroke-linecap"),this.__strokeLinejoin=s.getAttribute("stroke-linejoin")}catch(n){console.error(n),this.svg=null}}__fontChanged(e,t,n){this.classList.remove(...this.__addedIconClasses||[]),e&&(this.__addedIconClasses=[...this.__iconClasses],this.classList.add(...this.__addedIconClasses)),t?this.setAttribute("font-icon-content",t.length>1?String.fromCodePoint(parseInt(t,16)):t):n?this.setAttribute("font-icon-content",n):this.removeAttribute("font-icon-content"),(e||t||n)&&!this.icon&&(this.icon="")}attributeChangedCallback(e,t,n){super.attributeChangedCallback(e,t,n),e==="class"&&this.__iconClasses.some(o=>!this.classList.contains(o))&&this.classList.add(...this.__iconClasses)}__fontFamilyChanged(e){this.style.fontFamily=`'${e}'`}};/**
 * @license
 * Copyright (c) 2021 - 2026 Vaadin Ltd.
 * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
 */class Ro extends zo(T(E(b(S(g))))){static get is(){return"vaadin-icon"}static get styles(){return[Mo,super.styles].filter(Boolean)}static get lumoInjector(){return{...super.lumoInjector,includeBaseStyles:!0}}render(){return _`
      <span class="baseline"></span>
      <svg
        version="1.1"
        xmlns="http://www.w3.org/2000/svg"
        xmlns:xlink="http://www.w3.org/1999/xlink"
        viewBox="${this.__viewBox||`0 0 ${this.size} ${this.size}`}"
        preserveAspectRatio="${this.__preserveAspectRatio||"xMidYMid meet"}"
        fill="${k(this.__fill)}"
        stroke="${k(this.__stroke)}"
        stroke-width="${k(this.__strokeWidth)}"
        stroke-linecap="${k(this.__strokeLinecap)}"
        stroke-linejoin="${k(this.__strokeLinejoin)}"
        aria-hidden="true"
      >
        <g id="svg-group">${So(this.svg)}</g>
        <g id="use-group" visibility="${this.__useRef?"visible":"hidden"}">
          <use href="${k(this.__useRef)}" />
        </g>
      </svg>

      <slot name="tooltip"></slot>
    `}}m(Ro);function $o(i,e){if(e.type==="stateKeyChanged"){const{value:t}=e;return{...i,key:t}}else return i}const Fo=()=>{};class Bo extends HTMLElement{#t=void 0;#n=!1;#i=void 0;#e=Object.create(null);#s=new Map;#o=new Map;#r=Fo;#d=new Map;#c;#a;#l;constructor(){super(),this.#c={useState:this.useState.bind(this),useCustomEvent:this.useCustomEvent.bind(this),useContent:this.useContent.bind(this)},this.#a=this.#u.bind(this),this.#p()}async connectedCallback(){this.#i=B.createElement(this.#a),!(!this.dispatchEvent(new CustomEvent("flow-portal-add",{bubbles:!0,cancelable:!0,composed:!0,detail:{children:this.#i,domNode:this}}))||this.#t)&&(await this.#l,this.#t=di.createRoot(this),this.#h(),this.#t.render(this.#i))}addReadyCallback(e,t){this.#d.set(e,t)}async disconnectedCallback(){this.#t?(this.#l=Promise.resolve(),await this.#l,this.#t.unmount(),this.#t=void 0):this.dispatchEvent(new CustomEvent("flow-portal-remove",{bubbles:!0,cancelable:!0,composed:!0,detail:{children:this.#i,domNode:this}})),this.#n=!1,this.#i=void 0}useState(e,t){if(this.#s.has(e))return[this.#e[e],this.#s.get(e)];const n=this[e]??t;this.#e[e]=n,Object.defineProperty(this,e,{enumerable:!0,get(){return this.#e[e]},set(r){this.#e[e]=r,this.#r({type:"stateKeyChanged",key:e,value:n})}});const o=this.useCustomEvent(`${e}-changed`,{detail:{value:n}}),s=r=>{this.#e[e]=r,o({value:r}),this.#r({type:"stateKeyChanged",key:e,value:r})};return this.#s.set(e,s),[n,s]}useCustomEvent(e,t={}){if(!this.#o.has(e)){const n=(o=>{const s=o===void 0?t:{...t,detail:o},r=new CustomEvent(e,s);return this.dispatchEvent(r)});return this.#o.set(e,n),n}return this.#o.get(e)}useContent(e){return B.useEffect(()=>{this.#d.get(e)?.()},[]),B.createElement("flow-content-container",{name:e,style:{display:"contents"}})}#h(){this.#n||!this.#t||(this.#t.render(B.createElement(this.#a)),this.#n=!0)}#u(){const[e,t]=B.useReducer($o,this.#e);return this.#e=e,this.#r=t,this.render(this.#c)}#p(){let e=window.Vaadin||{};e.developmentMode&&(e.registrations=e.registrations||[],e.registrations.push({is:"ReactAdapterElement",version:"25.1.1"}))}}class jo extends Bo{async connectedCallback(){await super.connectedCallback(),this.style.display="contents"}render(){return ci.jsx(hi,{})}}customElements.define("react-router-outlet",jo);const Vo=i=>{const e=[];return i==="ecc111a9808c958009660616d769ac75288201d2da07b58f122448c1d71fac23"&&e.push(yt(()=>Promise.resolve().then(()=>be),void 0,import.meta.url)),i==="c29d95379838c26ccf10368160e24e88e06adb34e2ccffb4fc13597f55bee87f"&&e.push(yt(()=>Promise.resolve().then(()=>be),void 0,import.meta.url)),Promise.all(e)};window.Vaadin=window.Vaadin||{};window.Vaadin.Flow=window.Vaadin.Flow||{};window.Vaadin.Flow.loadOnDemand=Vo;window.Vaadin.Flow.resetFocus=()=>{let i=document.activeElement;for(;i&&i.shadowRoot;)i=i.shadowRoot.activeElement;return!i||i.blur()||i.focus()||!0};const be=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));
