@uxland/primary-shell 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +231 -0
  2. package/dist/UI/components/clinical-monitoring/clinical-monitoring.d.ts +11 -0
  3. package/dist/UI/components/clinical-monitoring/template.d.ts +3 -0
  4. package/dist/UI/components/index.d.ts +1 -0
  5. package/dist/UI/components/primaria-breadcumbs/primaria-breadcumbs.d.ts +8 -0
  6. package/dist/UI/components/primaria-breadcumbs/template.d.ts +3 -0
  7. package/dist/UI/components/primaria-shell/primaria-shell.d.ts +14 -0
  8. package/dist/UI/components/primaria-shell/template.d.ts +3 -0
  9. package/dist/UI/components/title-view/template.d.ts +3 -0
  10. package/dist/UI/components/title-view/title-view.d.ts +9 -0
  11. package/dist/UI/index.d.ts +1 -0
  12. package/dist/UI/styles/theme/apply-theme.d.ts +1 -0
  13. package/dist/{api.d.ts → api/api.d.ts} +9 -16
  14. package/dist/api/broker/factory.d.ts +3 -0
  15. package/dist/api/broker/factory.test.d.ts +1 -0
  16. package/dist/api/broker/primaria-broker.d.ts +5 -0
  17. package/dist/api/global-state/global-state.d.ts +35 -0
  18. package/dist/api/global-state/global-state.test.d.ts +1 -0
  19. package/dist/api/interaction-manager/interaction.d.ts +8 -0
  20. package/dist/api/localization/localization.test.d.ts +1 -0
  21. package/dist/constants.d.ts +2 -0
  22. package/dist/index.d.ts +2 -1
  23. package/dist/index.js +16924 -326
  24. package/dist/index.js.map +1 -1
  25. package/dist/index.umd.cjs +8486 -45
  26. package/dist/index.umd.cjs.map +1 -1
  27. package/dist/initializer.d.ts +1 -1
  28. package/dist/locales.d.ts +15 -0
  29. package/dist/plugin.d.ts +4 -4
  30. package/dist/region-manager.d.ts +16 -1
  31. package/dist/regions.d.ts +10 -4
  32. package/dist/style.css +3 -0
  33. package/package.json +10 -6
  34. package/src/UI/components/clinical-monitoring/clinical-monitoring.ts +28 -0
  35. package/src/UI/components/clinical-monitoring/styles.scss +28 -0
  36. package/src/UI/components/clinical-monitoring/template.ts +12 -0
  37. package/src/UI/components/index.ts +5 -0
  38. package/src/UI/components/primaria-breadcumbs/primaria-breadcumbs.ts +23 -0
  39. package/src/UI/components/primaria-breadcumbs/styles.scss +25 -0
  40. package/src/UI/components/primaria-breadcumbs/template.ts +15 -0
  41. package/src/UI/components/primaria-shell/primaria-shell.ts +37 -0
  42. package/src/UI/components/primaria-shell/styles.scss +70 -0
  43. package/src/UI/components/primaria-shell/template.ts +96 -0
  44. package/src/UI/components/title-view/styles.scss +5 -0
  45. package/src/UI/components/title-view/template.ts +6 -0
  46. package/src/UI/components/title-view/title-view.ts +23 -0
  47. package/src/UI/images/Gencat_Logotip.svg +70 -0
  48. package/src/UI/images/Salut_Logotip.svg +8 -0
  49. package/src/UI/index.ts +1 -0
  50. package/src/UI/styles/_flex-layout.scss +203 -0
  51. package/src/UI/styles/_normalize.scss +3 -0
  52. package/src/UI/styles/_variables.scss +40 -0
  53. package/src/UI/styles/styles.scss +3 -0
  54. package/src/UI/styles/theme/apply-theme.ts +11 -0
  55. package/src/api/api.ts +63 -0
  56. package/src/api/broker/factory.test.ts +124 -0
  57. package/src/api/broker/factory.ts +122 -0
  58. package/src/api/broker/primaria-broker.ts +11 -0
  59. package/src/api/global-state/global-state.test.ts +53 -0
  60. package/src/api/global-state/global-state.ts +49 -0
  61. package/src/api/interaction-manager/interaction.ts +21 -0
  62. package/src/api/localization/localization.test.ts +61 -0
  63. package/src/api/localization/localization.ts +54 -0
  64. package/src/constants.ts +2 -0
  65. package/src/index.ts +3 -1
  66. package/src/initializer.ts +36 -2
  67. package/src/locales.ts +24 -0
  68. package/src/plugin.ts +6 -5
  69. package/src/region-manager.ts +120 -3
  70. package/src/regions.ts +14 -5
  71. package/dist/primaria-shell.d.ts +0 -12
  72. package/src/api.ts +0 -102
  73. package/src/primaria-shell.ts +0 -77
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.cjs","sources":["../src/region-manager.ts","../src/api.ts","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/reactive-element.js","../src/regions.ts","../src/primaria-shell.ts","../src/initializer.ts","../src/plugin.ts"],"sourcesContent":["import { HarmonixRegionManager, IRegionManager, HarmonixViewDefinition } from \"@uxland/fim-core\";\nimport { PluginInfo } from \"./plugin\";\n\nclass RegionaManagerProxy implements HarmonixRegionManager {\n constructor(\n private pluginInfo: PluginInfo,\n private regionManager: IRegionManager,\n ) {}\n /**\n * Register a view in a specific region.\n *\n * @param {string} regionName - The name of the region to register the view with.\n * @param {HarmonixViewDefinition} view - The view definition to be registered.\n * @return {Promise<void>} A promise that resolves when the view is successfully registered.\n */\n registerView(regionName: string, view: HarmonixViewDefinition): Promise<void> {\n this.regionManager.registerViewWithRegion(\n regionName,\n `${this.pluginInfo.pluginId}::${view.id}`,\n view,\n );\n return Promise.resolve();\n }\n removeView(regionName: string, viewId: string): Promise<void> {\n return Promise.resolve();\n }\n activateView(regionName: string, viewId: string): Promise<void> {\n return Promise.resolve();\n }\n deactivateView(regionName: string, viewId: string): Promise<void> {\n return Promise.resolve();\n }\n}\n\nexport const createRegionManagerProxy = (\n pluginInfo: PluginInfo,\n regionManager: IRegionManager,\n): HarmonixRegionManager => new RegionaManagerProxy(pluginInfo, regionManager);\n","import {\n HarmonixApi,\n PluginInfo,\n IRegionManager,\n createRegionManager,\n createRegionHost,\n ApiFactory,\n} from \"@uxland/fim-core\";\nimport { createRegionManagerProxy } from \"./region-manager\";\n\ninterface PrimariaHttpClient {\n get(url: string): Promise<any>;\n post(url: string, data: any): Promise<any>;\n}\n\ninterface NotifyOptions {\n message: string;\n delay: number;\n dissmissible: boolean;\n}\n\ninterface PrimariaInteractionManager {\n notify(options: NotifyOptions): Promise<any>;\n}\n\ninterface PrimariaMediator {\n publish(event: string, data: any): Promise<any>;\n subscribe(event: string, handler: any): Promise<any>;\n sendCommand(command: string, data: any): Promise<any>;\n registerCommand(command: string, handler: any): Promise<any>;\n}\n\nexport interface PrimariaApi extends HarmonixApi {\n httpClient: PrimariaHttpClient;\n interactionManager: PrimariaInteractionManager;\n mediator: PrimariaMediator;\n}\n\nconst regionManager: IRegionManager = createRegionManager(\"primaria\");\nexport const PrimariaRegionHost: any = createRegionHost(regionManager as any);\n\n/**\n * Factory function that creates a Primaria API instance.\n *\n * @param {PluginInfo} pluginInfo - Information about the plugin\n * @return {PrimariaApi} The created Primaria API instance\n */\nexport const primariaApiFactory: ApiFactory<PrimariaApi> = (\n pluginInfo: PluginInfo,\n): PrimariaApi => {\n return {\n pluginInfo: pluginInfo,\n regionManager: createRegionManagerProxy(pluginInfo, regionManager),\n httpClient: {\n get: (url: string) => fetch(url).then((r) => r.json()),\n post: (url: string, data: any) =>\n fetch(url, {\n method: \"POST\",\n body: JSON.stringify(data),\n }).then((r) => r.json()),\n },\n interactionManager: {\n notify: (options: NotifyOptions) => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(null);\n }, options.delay);\n });\n },\n },\n mediator: {\n publish: (event: string, data: any) => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(null);\n }, 100);\n });\n },\n subscribe: (event: string, handler: any) => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(null);\n }, 100);\n });\n },\n sendCommand: (command: string, data: any) => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(null);\n }, 100);\n });\n },\n registerCommand: (command: string, handler: any) => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(null);\n }, 100);\n });\n },\n },\n };\n};\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","export const regions = {\n header: \"header-region\",\n actionsToolbar: \"actions-toolbar-region\",\n main: \"main-region\",\n sidebar: \"asidebar-region\",\n footer: \"footer-region\",\n};\n\nexport type PrimariaRegionNames = (typeof regions)[keyof typeof regions];\n","import { IRegion, region } from \"@uxland/regions\";\nimport { LitElement, css, html } from \"lit\";\nimport { PrimariaRegionHost } from \"./api\";\nimport { customElement } from \"lit/decorators.js\";\nimport { regions } from \"./regions\";\nimport \"@uxland/primaria-ui-components\";\n\n//@ts-ignore\n@customElement(\"primaria-shell\")\nexport class PrimariaShell extends PrimariaRegionHost(LitElement) {\n render() {\n return html` <div class=\"container\">\n <div class=\"header\">\n <div id=\"header-region-container\"></div>\n <div id=\"actions-toolbar-region-container\"></div>\n </div>\n\n <div class=\"main-container\">\n <div id=\"sidebar-region-region-container\"></div>\n <div id=\"main-region-region-container\"></div>\n </div>\n </div>`;\n }\n\n static styles = css`\n :host {\n width: 100%;\n overflow: hidden;\n }\n .container {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n background: aliceblue;\n }\n .header {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background-color: blue;\n height: 60px;\n background-color: white;\n color: black;\n box-shadow: rgba(0, 0, 0, 0.12) 0px 4px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;\n z-index: 1;\n\n #actions-toolbar-region-container{\n display: flex;\n flex-direction:row;\n }\n }\n .main-container {\n min-height: 1px;\n height: 100%;\n display: flex;\n flex-direction: row;\n #sidebar-region-region-container {\n background: white;\n width: 15vw;\n box-shadow: rgba(0, 0, 0, 0.12) 4px -1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;\n }\n }\n `;\n\n @region({ targetId: \"header-region-container\", name: regions.header })\n headerRegion: IRegion | undefined;\n\n @region({ targetId: \"actions-toolbar-region-container\", name: regions.actionsToolbar })\n actionsToolbarRegion: IRegion | undefined;\n\n @region({ targetId: \"sidebar-region-region-container\", name: regions.sidebar })\n sidebarRegion: IRegion | undefined;\n\n @region({ targetId: \"main-region-region-container\", name: regions.main })\n mainRegion: IRegion | undefined;\n}\n","import { PrimariaShell } from \"./primaria-shell\";\n\nexport const initializeShell = (element: HTMLElement) => {\n const shell = new PrimariaShell();\n element.appendChild(shell as any);\n};\n","import { bootstrapPlugins as pluginBootstrapper } from \"@uxland/fim-core\";\nimport type { Plugin as PluginType } from \"@uxland/fim-core\";\nexport type { PluginDefinition, PluginInfo } from \"@uxland/fim-core\";\nimport { PrimariaApi, primariaApiFactory } from \"./api\";\n\nexport const bootstrapPlugins = (plugins) => pluginBootstrapper(plugins, primariaApiFactory);\n\nexport type Plugin = PluginType<PrimariaApi>;\n"],"names":["RegionaManagerProxy","pluginInfo","regionManager","regionName","view","viewId","createRegionManagerProxy","createRegionManager","PrimariaRegionHost","createRegionHost","primariaApiFactory","url","r","data","options","resolve","event","handler","command","t","o","e","s","n$1","n","S","c","i","h","a","l","p","u","f","y","b","_a","regions","PrimariaShell","LitElement","html","css","__decorateClass","region","customElement","initializeShell","element","shell","bootstrapPlugins","plugins","pluginBootstrapper"],"mappings":"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","x_google_ignoreList":[2,3,4]}
1
+ {"version":3,"file":"index.umd.cjs","sources":["../../ui-components/src/primaria-menu-item/template.ts","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/property.js","../../ui-components/src/primaria-menu-item/primaria-menu-item.ts","../src/UI/components/clinical-monitoring/template.ts","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_isPlaceholder.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_curry1.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_curry2.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_concat.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_arity.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_curryN.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/curryN.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_isArray.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_isTransformer.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_dispatchable.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_xfBase.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_map.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_isString.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_isArrayLike.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_xwrap.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/bind.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_reduce.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_xmap.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_has.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/internal/_isArguments.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/keys.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/map.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/ap.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/isNil.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/liftN.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/lift.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/not.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/src/complement.js","../../../node_modules/.pnpm/@uxland+ramda-extensions@1.0.3/node_modules/@uxland/ramda-extensions/is-not-nil.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_arity.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isPlaceholder.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_curry1.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_curry2.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isArray.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isTransformer.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_dispatchable.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_map.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isString.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isArrayLike.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_xwrap.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/bind.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_reduce.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_xfBase.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_xmap.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_curryN.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/curryN.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_has.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isArguments.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/keys.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/map.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/max.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_curry3.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/reduce.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/cond.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/isNil.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/T.js","../../../node_modules/.pnpm/@uxland+utilities@1.0.5/node_modules/@uxland/utilities/constant-builder.js","../../../node_modules/.pnpm/@uxland+localization@1.0.6/node_modules/@uxland/localization/events.js","../../../node_modules/.pnpm/@uxland+event-aggregator@1.0.1/node_modules/@uxland/event-aggregator/event-aggregator.js","../../../node_modules/.pnpm/@uxland+localization@1.0.6/node_modules/@uxland/localization/language.js","../../../node_modules/.pnpm/intl-messageformat-parser@3.6.4/node_modules/intl-messageformat-parser/dist/types.js","../../../node_modules/.pnpm/intl-messageformat-parser@3.6.4/node_modules/intl-messageformat-parser/dist/parser.js","../../../node_modules/.pnpm/intl-messageformat-parser@3.6.4/node_modules/intl-messageformat-parser/dist/normalize.js","../../../node_modules/.pnpm/intl-messageformat-parser@3.6.4/node_modules/intl-messageformat-parser/dist/skeleton.js","../../../node_modules/.pnpm/intl-messageformat-parser@3.6.4/node_modules/intl-messageformat-parser/dist/index.js","../../../node_modules/.pnpm/intl-format-cache@4.3.1/node_modules/intl-format-cache/index.js","../../../node_modules/.pnpm/intl-messageformat@7.8.4/node_modules/intl-messageformat/dist/formatters.js","../../../node_modules/.pnpm/intl-messageformat@7.8.4/node_modules/intl-messageformat/dist/core.js","../../../node_modules/.pnpm/intl-messageformat@7.8.4/node_modules/intl-messageformat/dist/index.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isInteger.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/assoc.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/assocPath.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/lens.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/nth.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/paths.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/path.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/lensPath.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/view.js","../../../node_modules/.pnpm/@uxland+localization@1.0.6/node_modules/@uxland/localization/localizer-factory.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/internal/_isObject.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/mergeWithKey.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/mergeDeepWithKey.js","../../../node_modules/.pnpm/ramda@0.27.2/node_modules/ramda/es/mergeDeepRight.js","../../../node_modules/.pnpm/@uxland+localization@1.0.6/node_modules/@uxland/localization/locales.js","../src/api/localization/localization.ts","../src/regions.ts","../src/UI/components/title-view/template.ts","../src/UI/components/title-view/title-view.ts","../src/region-manager.ts","../src/api/interaction-manager/interaction.ts","../src/api/global-state/global-state.ts","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/models/dispatcher/mappings.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/models/dispatcher/index.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/models/handler.instance.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/models/resolver.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/settings.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/attributes/request.attribute.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/attributes/notification.attribute.js","../../../node_modules/.pnpm/mediatr-ts@1.2.1/node_modules/mediatr-ts/lib/esm/models/mediator.js","../src/api/broker/factory.ts","../src/api/api.ts","../src/UI/components/clinical-monitoring/clinical-monitoring.ts","../../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.es6.mjs","../../../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/.pnpm/@lit+reactive-element@1.6.3/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js","../../../dss/design-system-salut/src/components/shared-styles/symbol.style.js","../../../dss/design-system-salut/src/components/avatar.js","../../../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/lit-html.js","../../../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/directive.js","../../../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/directives/class-map.js","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/toDate.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/endOfMonth.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/eachDayOfInterval.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/startOfMonth.mjs","../../../node_modules/.pnpm/date-fns@3.6.0/node_modules/date-fns/getDay.mjs","../../../dss/design-system-salut/src/components/shared-styles/button.style.js","../../../dss/design-system-salut/src/components/shared-styles/icon-button.style.js","../../../dss/design-system-salut/src/components/calendar.js","../../../node_modules/.pnpm/lit-html@2.8.0/node_modules/lit-html/directives/if-defined.js","../../../dss/design-system-salut/src/components/date-picker.js","../../../dss/design-system-salut/src/components/shared-styles/input.style.js","../../../dss/design-system-salut/src/components/shared-styles/scrollbar.style.js","../../../dss/design-system-salut/src/components/datepicker.js","../../../dss/design-system-salut/src/components/input-field.js","../../../dss/design-system-salut/src/components/pagination.js","../../../dss/design-system-salut/src/components/slider.js","../../../dss/design-system-salut/src/components/spinner.js","../../../dss/design-system-salut/src/components/switch.js","../../../dss/design-system-salut/src/components/selector.js","../../../dss/design-system-salut/src/components/table-pagination.js","../../../dss/design-system-salut/src/components/textarea.js","../../../dss/design-system-salut/src/components/dropdown-list.js","../../../dss/design-system-salut/src/components/tabs-list.js","../../../dss/design-system-salut/src/components/tabs-panel.js","../../../dss/design-system-salut/src/components/timepicker.js","../../../dss/design-system-salut/src/components/input.js","../../../dss/design-system-salut/src/components/input-dropdown.js","../../../dss/design-system-salut/src/components/shared-styles/badge.style.js","../../../dss/design-system-salut/src/components/icon-badge.js","../../../dss/design-system-salut/src/components/badge.js","../../../dss/design-system-salut/src/components/shared-styles/chip.style.js","../../../dss/design-system-salut/src/components/search-bar.js","../../../dss/design-system-salut/src/components/split-button.js","../../../dss/design-system-salut/src/components/accordion.js","../../../dss/design-system-salut/src/components/utils/keyboard-navigation.js","../../../dss/design-system-salut/src/components/shared-styles/checkbox.style.js","../../../dss/design-system-salut/src/components/shared-styles/radio.style.js","../../../dss/design-system-salut/src/components/table.js","../../../dss/design-system-salut/src/components/table-header.js","../../../dss/design-system-salut/src/components/stepper.js","../../../dss/design-system-salut/src/components/tooltip.js","../../../dss/design-system-salut/src/components/shared-styles/decorative-icon.style.js","../../../dss/design-system-salut/src/components/tile.js","../../../dss/design-system-salut/src/components/modal.js","../src/UI/images/Gencat_Logotip.svg","../src/UI/images/Salut_Logotip.svg","../src/UI/components/primaria-shell/template.ts","../src/UI/components/primaria-shell/primaria-shell.ts","../src/UI/styles/theme/apply-theme.ts","../src/constants.ts","../src/locales.ts","../src/initializer.ts","../src/plugin.ts","../../../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/lit-html.js","../../../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directive.js","../../../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directive-helpers.js","../../../node_modules/.pnpm/lit-html@3.1.3/node_modules/lit-html/directives/repeat.js","../src/UI/components/primaria-breadcumbs/template.ts","../src/UI/components/primaria-breadcumbs/primaria-breadcumbs.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { PrimariaMenuItem } from \"./primaria-menu-item\";\n\nexport const template = (props: PrimariaMenuItem) => html`\n<div class=\"item\" @click=${props.callbackFn}>\n <i class=\"dss-icon dss-icon--md\">${props.icon}</i>\n <span>${props.label}</span>\n</div>`;\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import { LitElement, html, css, unsafeCSS } from \"lit\";\nimport { template } from \"./template\";\nimport styles from \"./styles.scss?inline\";\nimport { customElement } from \"lit/decorators.js\";\n\n@customElement(\"primaria-menu-item\")\nexport class PrimariaMenuItem extends LitElement {\n constructor(icon: string, label: string, callbackFn: () => void) {\n super();\n this.icon = icon;\n this.label = label;\n this.callbackFn = callbackFn;\n }\n render() {\n return html`${template(this)}`;\n }\n\n static styles = css`\n ${unsafeCSS(styles)}\n `;\n\n icon: string;\n label: string;\n callbackFn: () => void;\n}\n","import { html } from \"lit\";\nimport { ClinicalMonitoring } from \"./clinical-monitoring\";\n\nexport const template = (props: ClinicalMonitoring) => html`\n <div class=\"wrapper\">\n <div class=\"content\">\n <div id=\"header-widgets-region\"></div>\n <div id=\"content-widgets-region\"></div>\n </div>\n <div id=\"widgets-sidebar-region\"></div>\n </div>\n`;\n","function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}\n\nmodule.exports = _isPlaceholder;","var _isPlaceholder =\n/*#__PURE__*/\nrequire(\"./_isPlaceholder\");\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\n\nfunction _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}\n\nmodule.exports = _curry1;","var _curry1 =\n/*#__PURE__*/\nrequire(\"./_curry1\");\n\nvar _isPlaceholder =\n/*#__PURE__*/\nrequire(\"./_isPlaceholder\");\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\n\nfunction _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}\n\nmodule.exports = _curry2;","/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nfunction _concat(set1, set2) {\n set1 = set1 || [];\n set2 = set2 || [];\n var idx;\n var len1 = set1.length;\n var len2 = set2.length;\n var result = [];\n idx = 0;\n\n while (idx < len1) {\n result[result.length] = set1[idx];\n idx += 1;\n }\n\n idx = 0;\n\n while (idx < len2) {\n result[result.length] = set2[idx];\n idx += 1;\n }\n\n return result;\n}\n\nmodule.exports = _concat;","function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}\n\nmodule.exports = _arity;","var _arity =\n/*#__PURE__*/\nrequire(\"./_arity\");\n\nvar _isPlaceholder =\n/*#__PURE__*/\nrequire(\"./_isPlaceholder\");\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\n\nfunction _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n\n combinedIdx += 1;\n }\n\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n}\n\nmodule.exports = _curryN;","var _arity =\n/*#__PURE__*/\nrequire(\"./internal/_arity\");\n\nvar _curry1 =\n/*#__PURE__*/\nrequire(\"./internal/_curry1\");\n\nvar _curry2 =\n/*#__PURE__*/\nrequire(\"./internal/_curry2\");\n\nvar _curryN =\n/*#__PURE__*/\nrequire(\"./internal/_curryN\");\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});\n\nmodule.exports = curryN;","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nmodule.exports = Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}\n\nmodule.exports = _isTransformer;","var _isArray =\n/*#__PURE__*/\nrequire(\"./_isArray\");\n\nvar _isTransformer =\n/*#__PURE__*/\nrequire(\"./_isTransformer\");\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\n\nfunction _dispatchable(methodNames, xf, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n\n var args = Array.prototype.slice.call(arguments, 0);\n var obj = args.pop();\n\n if (!_isArray(obj)) {\n var idx = 0;\n\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, args);\n }\n\n idx += 1;\n }\n\n if (_isTransformer(obj)) {\n var transducer = xf.apply(null, args);\n return transducer(obj);\n }\n }\n\n return fn.apply(this, arguments);\n };\n}\n\nmodule.exports = _dispatchable;","module.exports = {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n\n return result;\n}\n\nmodule.exports = _map;","function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}\n\nmodule.exports = _isString;","var _curry1 =\n/*#__PURE__*/\nrequire(\"./_curry1\");\n\nvar _isArray =\n/*#__PURE__*/\nrequire(\"./_isArray\");\n\nvar _isString =\n/*#__PURE__*/\nrequire(\"./_isString\");\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\n\n\nvar _isArrayLike =\n/*#__PURE__*/\n_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n\n if (!x) {\n return false;\n }\n\n if (typeof x !== 'object') {\n return false;\n }\n\n if (_isString(x)) {\n return false;\n }\n\n if (x.nodeType === 1) {\n return !!x.length;\n }\n\n if (x.length === 0) {\n return true;\n }\n\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n\n return false;\n});\n\nmodule.exports = _isArrayLike;","var XWrap =\n/*#__PURE__*/\nfunction () {\n function XWrap(fn) {\n this.f = fn;\n }\n\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nfunction _xwrap(fn) {\n return new XWrap(fn);\n}\n\nmodule.exports = _xwrap;","var _arity =\n/*#__PURE__*/\nrequire(\"./internal/_arity\");\n\nvar _curry2 =\n/*#__PURE__*/\nrequire(\"./internal/_curry2\");\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\n\nvar bind =\n/*#__PURE__*/\n_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\n\nmodule.exports = bind;","var _isArrayLike =\n/*#__PURE__*/\nrequire(\"./_isArrayLike\");\n\nvar _xwrap =\n/*#__PURE__*/\nrequire(\"./_xwrap\");\n\nvar bind =\n/*#__PURE__*/\nrequire(\"../bind\");\n\nfunction _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n idx += 1;\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n step = iter.next();\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\n\nfunction _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n\n if (_isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n }\n\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n}\n\nmodule.exports = _reduce;","var _curry2 =\n/*#__PURE__*/\nrequire(\"./_curry2\");\n\nvar _xfBase =\n/*#__PURE__*/\nrequire(\"./_xfBase\");\n\nvar XMap =\n/*#__PURE__*/\nfunction () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap =\n/*#__PURE__*/\n_curry2(function _xmap(f, xf) {\n return new XMap(f, xf);\n});\n\nmodule.exports = _xmap;","function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = _has;","var _has =\n/*#__PURE__*/\nrequire(\"./_has\");\n\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nmodule.exports = _isArguments;","var _curry1 =\n/*#__PURE__*/\nrequire(\"./internal/_curry1\");\n\nvar _has =\n/*#__PURE__*/\nrequire(\"./internal/_has\");\n\nvar _isArguments =\n/*#__PURE__*/\nrequire(\"./internal/_isArguments\"); // cover IE < 9 keys issues\n\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nmodule.exports = keys;","var _curry2 =\n/*#__PURE__*/\nrequire(\"./internal/_curry2\");\n\nvar _dispatchable =\n/*#__PURE__*/\nrequire(\"./internal/_dispatchable\");\n\nvar _map =\n/*#__PURE__*/\nrequire(\"./internal/_map\");\n\nvar _reduce =\n/*#__PURE__*/\nrequire(\"./internal/_reduce\");\n\nvar _xmap =\n/*#__PURE__*/\nrequire(\"./internal/_xmap\");\n\nvar curryN =\n/*#__PURE__*/\nrequire(\"./curryN\");\n\nvar keys =\n/*#__PURE__*/\nrequire(\"./keys\");\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\n\n\nvar map =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n\n case '[object Object]':\n return _reduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n\n default:\n return _map(fn, functor);\n }\n}));\n\nmodule.exports = map;","var _concat =\n/*#__PURE__*/\nrequire(\"./internal/_concat\");\n\nvar _curry2 =\n/*#__PURE__*/\nrequire(\"./internal/_curry2\");\n\nvar _reduce =\n/*#__PURE__*/\nrequire(\"./internal/_reduce\");\n\nvar map =\n/*#__PURE__*/\nrequire(\"./map\");\n/**\n * ap applies a list of functions to a list of values.\n *\n * Dispatches to the `ap` method of the second argument, if present. Also\n * treats curried functions as applicatives.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig [a -> b] -> [a] -> [b]\n * @sig Apply f => f (a -> b) -> f a -> f b\n * @sig (r -> a -> b) -> (r -> a) -> (r -> b)\n * @param {*} applyF\n * @param {*} applyX\n * @return {*}\n * @example\n *\n * R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6]\n * R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> [\"tasty pizza\", \"tasty salad\", \"PIZZA\", \"SALAD\"]\n *\n * // R.ap can also be used as S combinator\n * // when only two functions are passed\n * R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA'\n * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)]\n */\n\n\nvar ap =\n/*#__PURE__*/\n_curry2(function ap(applyF, applyX) {\n return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) {\n return applyF(x)(applyX(x));\n } : _reduce(function (acc, f) {\n return _concat(acc, map(f, applyX));\n }, [], applyF);\n});\n\nmodule.exports = ap;","var _curry1 =\n/*#__PURE__*/\nrequire(\"./internal/_curry1\");\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\n\n\nvar isNil =\n/*#__PURE__*/\n_curry1(function isNil(x) {\n return x == null;\n});\n\nmodule.exports = isNil;","var _curry2 =\n/*#__PURE__*/\nrequire(\"./internal/_curry2\");\n\nvar _reduce =\n/*#__PURE__*/\nrequire(\"./internal/_reduce\");\n\nvar ap =\n/*#__PURE__*/\nrequire(\"./ap\");\n\nvar curryN =\n/*#__PURE__*/\nrequire(\"./curryN\");\n\nvar map =\n/*#__PURE__*/\nrequire(\"./map\");\n/**\n * \"lifts\" a function to be the specified arity, so that it may \"map over\" that\n * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig Number -> (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.lift, R.ap\n * @example\n *\n * const madd3 = R.liftN(3, (...args) => R.sum(args));\n * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n */\n\n\nvar liftN =\n/*#__PURE__*/\n_curry2(function liftN(arity, fn) {\n var lifted = curryN(arity, fn);\n return curryN(arity, function () {\n return _reduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));\n });\n});\n\nmodule.exports = liftN;","var _curry1 =\n/*#__PURE__*/\nrequire(\"./internal/_curry1\");\n\nvar liftN =\n/*#__PURE__*/\nrequire(\"./liftN\");\n/**\n * \"lifts\" a function of arity > 1 so that it may \"map over\" a list, Function or other\n * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.liftN\n * @example\n *\n * const madd3 = R.lift((a, b, c) => a + b + c);\n *\n * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n *\n * const madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e);\n *\n * madd5([1,2], [3], [4, 5], [6], [7, 8]); //=> [21, 22, 22, 23, 22, 23, 23, 24]\n */\n\n\nvar lift =\n/*#__PURE__*/\n_curry1(function lift(fn) {\n return liftN(fn.length, fn);\n});\n\nmodule.exports = lift;","var _curry1 =\n/*#__PURE__*/\nrequire(\"./internal/_curry1\");\n/**\n * A function that returns the `!` of its argument. It will return `true` when\n * passed false-y value, and `false` when passed a truth-y one.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig * -> Boolean\n * @param {*} a any value\n * @return {Boolean} the logical inverse of passed argument.\n * @see R.complement\n * @example\n *\n * R.not(true); //=> false\n * R.not(false); //=> true\n * R.not(0); //=> true\n * R.not(1); //=> false\n */\n\n\nvar not =\n/*#__PURE__*/\n_curry1(function not(a) {\n return !a;\n});\n\nmodule.exports = not;","var lift =\n/*#__PURE__*/\nrequire(\"./lift\");\n\nvar not =\n/*#__PURE__*/\nrequire(\"./not\");\n/**\n * Takes a function `f` and returns a function `g` such that if called with the same arguments\n * when `f` returns a \"truthy\" value, `g` returns `false` and when `f` returns a \"falsy\" value `g` returns `true`.\n *\n * `R.complement` may be applied to any functor\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> *) -> (*... -> Boolean)\n * @param {Function} f\n * @return {Function}\n * @see R.not\n * @example\n *\n * const isNotNil = R.complement(R.isNil);\n * isNil(null); //=> true\n * isNotNil(null); //=> false\n * isNil(7); //=> false\n * isNotNil(7); //=> true\n */\n\n\nvar complement =\n/*#__PURE__*/\nlift(not);\nmodule.exports = complement;","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */import{complement as o,isNil as i}from\"ramda\";const t=o(i);export{t as isNotNil};\n","export default function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","import _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","export default function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","import _isArray from \"./_isArray.js\";\nimport _isTransformer from \"./_isTransformer.js\";\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\nexport default function _dispatchable(methodNames, xf, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n\n var args = Array.prototype.slice.call(arguments, 0);\n var obj = args.pop();\n\n if (!_isArray(obj)) {\n var idx = 0;\n\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, args);\n }\n\n idx += 1;\n }\n\n if (_isTransformer(obj)) {\n var transducer = xf.apply(null, args);\n return transducer(obj);\n }\n }\n\n return fn.apply(this, arguments);\n };\n}","export default function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n\n return result;\n}","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","import _curry1 from \"./_curry1.js\";\nimport _isArray from \"./_isArray.js\";\nimport _isString from \"./_isString.js\";\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\n\nvar _isArrayLike =\n/*#__PURE__*/\n_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n\n if (!x) {\n return false;\n }\n\n if (typeof x !== 'object') {\n return false;\n }\n\n if (_isString(x)) {\n return false;\n }\n\n if (x.nodeType === 1) {\n return !!x.length;\n }\n\n if (x.length === 0) {\n return true;\n }\n\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n\n return false;\n});\n\nexport default _isArrayLike;","var XWrap =\n/*#__PURE__*/\nfunction () {\n function XWrap(fn) {\n this.f = fn;\n }\n\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nexport default function _xwrap(fn) {\n return new XWrap(fn);\n}","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\nvar bind =\n/*#__PURE__*/\n_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\n\nexport default bind;","import _isArrayLike from \"./_isArrayLike.js\";\nimport _xwrap from \"./_xwrap.js\";\nimport bind from \"../bind.js\";\n\nfunction _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n idx += 1;\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n step = iter.next();\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\nexport default function _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n\n if (_isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n }\n\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n}","export default {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XMap =\n/*#__PURE__*/\nfunction () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap =\n/*#__PURE__*/\n_curry2(function _xmap(f, xf) {\n return new XMap(f, xf);\n});\n\nexport default _xmap;","import _arity from \"./_arity.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n\n combinedIdx += 1;\n }\n\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n}","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _curryN from \"./internal/_curryN.js\";\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});\n\nexport default curryN;","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nexport default keys;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _map from \"./internal/_map.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xmap from \"./internal/_xmap.js\";\nimport curryN from \"./curryN.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\n\nvar map =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n\n case '[object Object]':\n return _reduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n\n default:\n return _map(fn, functor);\n }\n}));\n\nexport default map;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the larger of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.maxBy, R.min\n * @example\n *\n * R.max(789, 123); //=> 789\n * R.max('a', 'b'); //=> 'b'\n */\n\nvar max =\n/*#__PURE__*/\n_curry2(function max(a, b) {\n return b > a ? b : a;\n});\n\nexport default max;","import _curry1 from \"./_curry1.js\";\nimport _curry2 from \"./_curry2.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n}","import _curry3 from \"./internal/_curry3.js\";\nimport _reduce from \"./internal/_reduce.js\";\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n * // - -10\n * // / \\ / \\\n * // - 4 -6 4\n * // / \\ / \\\n * // - 3 ==> -3 3\n * // / \\ / \\\n * // - 2 -1 2\n * // / \\ / \\\n * // 0 1 0 1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\n\nvar reduce =\n/*#__PURE__*/\n_curry3(_reduce);\n\nexport default reduce;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport map from \"./map.js\";\nimport max from \"./max.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic.\n * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments\n * to `fn` are applied to each of the predicates in turn until one returns a\n * \"truthy\" value, at which point `fn` returns the result of applying its\n * arguments to the corresponding transformer. If none of the predicates\n * matches, `fn` returns undefined.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Logic\n * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *)\n * @param {Array} pairs A list of [predicate, transformer]\n * @return {Function}\n * @see R.ifElse, R.unless, R.when\n * @example\n *\n * const fn = R.cond([\n * [R.equals(0), R.always('water freezes at 0°C')],\n * [R.equals(100), R.always('water boils at 100°C')],\n * [R.T, temp => 'nothing special happens at ' + temp + '°C']\n * ]);\n * fn(0); //=> 'water freezes at 0°C'\n * fn(50); //=> 'nothing special happens at 50°C'\n * fn(100); //=> 'water boils at 100°C'\n */\n\nvar cond =\n/*#__PURE__*/\n_curry1(function cond(pairs) {\n var arity = reduce(max, 0, map(function (pair) {\n return pair[0].length;\n }, pairs));\n return _arity(arity, function () {\n var idx = 0;\n\n while (idx < pairs.length) {\n if (pairs[idx][0].apply(this, arguments)) {\n return pairs[idx][1].apply(this, arguments);\n }\n\n idx += 1;\n }\n });\n});\n\nexport default cond;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\n\nvar isNil =\n/*#__PURE__*/\n_curry1(function isNil(x) {\n return x == null;\n});\n\nexport default isNil;","/**\n * A function that always returns `true`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.F\n * @example\n *\n * R.T(); //=> true\n */\nvar T = function () {\n return true;\n};\n\nexport default T;","import{isNotNil as o}from\"@uxland/ramda-extensions/is-not-nil\";import s from\"ramda/es/cond\";import e from\"ramda/es/isNil\";import d from\"ramda/es/T\";let m=1;m=1;const c=(n,t,r=\":\")=>i=>s([[()=>e(n),()=>{throw new Error(\"prefix is needed\")}],[()=>o(t),()=>`${n}${r}${i}${r}${t}`],[d,()=>`${n}${r}${i}`]])();export{c as constantBuilder};\n","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */import{constantBuilder as A}from\"@uxland/utilities/constant-builder\";const E=A(\"LOCALIZATION\",void 0,\"::\"),T=E(\"LOCALES-RESET\"),o=E(\"LOCALES-UPDATED\"),n=E(\"LANGUAGE-UPDATED\"),e=E(\"LANGUAGE-RESET\"),L=E(\"FORMATERS-UPDATED\"),R=E(\"FORMATERS-RESET\");export{R as FORMATTERS_RESET,L as FORMATTERS_UPDATED,e as LANGUAGE_RESET,n as LANGUAGE_UPDATED,T as LOCALES_RESET,o as LOCALES_UPDATED};\n","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */let l=1;l=1,l=1;class o{constructor(e,t){this.messageType=e,this.callback=t}handle(e){e instanceof this.messageType&&this.callback.call(null,e)}}const c=(r,e,t)=>{try{r(e,t)}catch(s){console.error(s)}},b=(r,e)=>{try{r.handle(e)}catch(t){console.error(t)}};class p{constructor(){this.eventLookup={},this.messageHandlers=[]}publish(e,t){let s,n;if(!e)throw new Error(\"Event channel/type is invalid.\");if(typeof e==\"string\"){if(s=this.eventLookup[e],s)for(s=s.slice(),n=s.length;n--;)c(s[n],t,e)}else for(s=this.messageHandlers.slice(),n=s.length;n--;)b(s[n],e)}subscribe(e,t){let s,n;if(!e)throw new Error(\"Event channel/type is invalid.\");return typeof e==\"string\"?(s=t,n=this.eventLookup[e]||(this.eventLookup[e]=[])):(s=new o(e,t),n=this.messageHandlers),n.push(s),{dispose(){const a=n.indexOf(s);a!==-1&&n.splice(a,1)}}}subscribeOnce(e,t){const s=this.subscribe(e,(n,a)=>(s.dispose(),t(n,a)));return s}}const i=new p,d=i.subscribe.bind(i),h=i.subscribeOnce.bind(i),u=i.publish.bind(i);export{p as EventAggregator,i as eventAggregator,u as publish,d as subscribe,h as subscribeOnce};\n","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */import{publish as o}from\"@uxland/event-aggregator\";import{LANGUAGE_RESET as r,LANGUAGE_UPDATED as g}from\"./events\";const t=\"en\";let e=t;const L=n=>{e=n,o(g,n)},i=()=>t,p=()=>e,u=()=>{e=t,o(r,t)};export{t as DEFAULT_LANGUAGE,i as getDefaultLanguage,p as getLanguage,u as resetLanguage,L as setLanguage};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n})(TYPE = exports.TYPE || (exports.TYPE = {}));\n/**\n * Type Guards\n */\nfunction isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexports.isLiteralElement = isLiteralElement;\nfunction isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexports.isArgumentElement = isArgumentElement;\nfunction isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexports.isNumberElement = isNumberElement;\nfunction isDateElement(el) {\n return el.type === TYPE.date;\n}\nexports.isDateElement = isDateElement;\nfunction isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexports.isTimeElement = isTimeElement;\nfunction isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexports.isSelectElement = isSelectElement;\nfunction isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexports.isPluralElement = isPluralElement;\nfunction isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexports.isPoundElement = isPoundElement;\nfunction isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 0 /* number */);\n}\nexports.isNumberSkeleton = isNumberSkeleton;\nfunction isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === 1 /* dateTime */);\n}\nexports.isDateTimeSkeleton = isDateTimeSkeleton;\nfunction createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexports.createLiteralElement = createLiteralElement;\nfunction createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\nexports.createNumberElement = createNumberElement;\n","\"use strict\";\n// tslint:disable:only-arrow-functions\n// tslint:disable:object-literal-shorthand\n// tslint:disable:trailing-comma\n// tslint:disable:object-literal-sort-keys\n// tslint:disable:one-variable-per-declaration\n// tslint:disable:max-line-length\n// tslint:disable:no-consecutive-blank-lines\n// tslint:disable:align\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.2.6 )\n//\n// https://pegjs.org/ https://github.com/metadevpro/ts-pegjs\nvar types_1 = require(\"./types\");\nvar SyntaxError = /** @class */ (function (_super) {\n __extends(SyntaxError, _super);\n function SyntaxError(message, expected, found, location) {\n var _this = _super.call(this) || this;\n _this.message = message;\n _this.expected = expected;\n _this.found = found;\n _this.location = location;\n _this.name = \"SyntaxError\";\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(_this, SyntaxError);\n }\n return _this;\n }\n SyntaxError.buildMessage = function (expected, found) {\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\"/g, \"\\\\\\\"\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function classEscape(s) {\n return s\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\]/g, \"\\\\]\")\n .replace(/\\^/g, \"\\\\^\")\n .replace(/-/g, \"\\\\-\")\n .replace(/\\0/g, \"\\\\0\")\n .replace(/\\t/g, \"\\\\t\")\n .replace(/\\n/g, \"\\\\n\")\n .replace(/\\r/g, \"\\\\r\")\n .replace(/[\\x00-\\x0F]/g, function (ch) { return \"\\\\x0\" + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) { return \"\\\\x\" + hex(ch); });\n }\n function describeExpectation(expectation) {\n switch (expectation.type) {\n case \"literal\":\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n case \"class\":\n var escapedParts = expectation.parts.map(function (part) {\n return Array.isArray(part)\n ? classEscape(part[0]) + \"-\" + classEscape(part[1])\n : classEscape(part);\n });\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n case \"any\":\n return \"any character\";\n case \"end\":\n return \"end of input\";\n case \"other\":\n return expectation.description;\n }\n }\n function describeExpected(expected1) {\n var descriptions = expected1.map(describeExpectation);\n var i;\n var j;\n descriptions.sort();\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n function describeFound(found1) {\n return found1 ? \"\\\"\" + literalEscape(found1) + \"\\\"\" : \"end of input\";\n }\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n };\n return SyntaxError;\n}(Error));\nexports.SyntaxError = SyntaxError;\nfunction peg$parse(input, options) {\n options = options !== undefined ? options : {};\n var peg$FAILED = {};\n var peg$startRuleFunctions = { start: peg$parsestart };\n var peg$startRuleFunction = peg$parsestart;\n var peg$c0 = function (parts) {\n return parts.join('');\n };\n var peg$c1 = function (messageText) {\n return __assign({ type: types_1.TYPE.literal, value: messageText }, insertLocation());\n };\n var peg$c2 = \"#\";\n var peg$c3 = peg$literalExpectation(\"#\", false);\n var peg$c4 = function () {\n return __assign({ type: types_1.TYPE.pound }, insertLocation());\n };\n var peg$c5 = peg$otherExpectation(\"argumentElement\");\n var peg$c6 = \"{\";\n var peg$c7 = peg$literalExpectation(\"{\", false);\n var peg$c8 = \"}\";\n var peg$c9 = peg$literalExpectation(\"}\", false);\n var peg$c10 = function (value) {\n return __assign({ type: types_1.TYPE.argument, value: value }, insertLocation());\n };\n var peg$c11 = peg$otherExpectation(\"numberSkeletonId\");\n var peg$c12 = /^['\\/{}]/;\n var peg$c13 = peg$classExpectation([\"'\", \"/\", \"{\", \"}\"], false, false);\n var peg$c14 = peg$anyExpectation();\n var peg$c15 = peg$otherExpectation(\"numberSkeletonTokenOption\");\n var peg$c16 = \"/\";\n var peg$c17 = peg$literalExpectation(\"/\", false);\n var peg$c18 = function (option) { return option; };\n var peg$c19 = peg$otherExpectation(\"numberSkeletonToken\");\n var peg$c20 = function (stem, options) {\n return { stem: stem, options: options };\n };\n var peg$c21 = function (tokens) {\n return __assign({ type: 0 /* number */, tokens: tokens }, insertLocation());\n };\n var peg$c22 = \"::\";\n var peg$c23 = peg$literalExpectation(\"::\", false);\n var peg$c24 = function (skeleton) { return skeleton; };\n var peg$c25 = function () { messageCtx.push('numberArgStyle'); return true; };\n var peg$c26 = function (style) {\n messageCtx.pop();\n return style.replace(/\\s*$/, '');\n };\n var peg$c27 = \",\";\n var peg$c28 = peg$literalExpectation(\",\", false);\n var peg$c29 = \"number\";\n var peg$c30 = peg$literalExpectation(\"number\", false);\n var peg$c31 = function (value, type, style) {\n return __assign({ type: type === 'number' ? types_1.TYPE.number : type === 'date' ? types_1.TYPE.date : types_1.TYPE.time, style: style && style[2], value: value }, insertLocation());\n };\n var peg$c32 = \"'\";\n var peg$c33 = peg$literalExpectation(\"'\", false);\n var peg$c34 = /^[^']/;\n var peg$c35 = peg$classExpectation([\"'\"], true, false);\n var peg$c36 = /^[^a-zA-Z'{}]/;\n var peg$c37 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"], \"'\", \"{\", \"}\"], true, false);\n var peg$c38 = /^[a-zA-Z]/;\n var peg$c39 = peg$classExpectation([[\"a\", \"z\"], [\"A\", \"Z\"]], false, false);\n var peg$c40 = function (pattern) {\n return __assign({ type: 1 /* dateTime */, pattern: pattern }, insertLocation());\n };\n var peg$c41 = function () { messageCtx.push('dateOrTimeArgStyle'); return true; };\n var peg$c42 = \"date\";\n var peg$c43 = peg$literalExpectation(\"date\", false);\n var peg$c44 = \"time\";\n var peg$c45 = peg$literalExpectation(\"time\", false);\n var peg$c46 = \"plural\";\n var peg$c47 = peg$literalExpectation(\"plural\", false);\n var peg$c48 = \"selectordinal\";\n var peg$c49 = peg$literalExpectation(\"selectordinal\", false);\n var peg$c50 = \"offset:\";\n var peg$c51 = peg$literalExpectation(\"offset:\", false);\n var peg$c52 = function (value, pluralType, offset, options) {\n return __assign({ type: types_1.TYPE.plural, pluralType: pluralType === 'plural' ? 'cardinal' : 'ordinal', value: value, offset: offset ? offset[2] : 0, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in plural element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c53 = \"select\";\n var peg$c54 = peg$literalExpectation(\"select\", false);\n var peg$c55 = function (value, options) {\n return __assign({ type: types_1.TYPE.select, value: value, options: options.reduce(function (all, _a) {\n var id = _a.id, value = _a.value, optionLocation = _a.location;\n if (id in all) {\n error(\"Duplicate option \\\"\" + id + \"\\\" in select element: \\\"\" + text() + \"\\\"\", location());\n }\n all[id] = {\n value: value,\n location: optionLocation\n };\n return all;\n }, {}) }, insertLocation());\n };\n var peg$c56 = \"=\";\n var peg$c57 = peg$literalExpectation(\"=\", false);\n var peg$c58 = function (id) { messageCtx.push('select'); return true; };\n var peg$c59 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c60 = function (id) { messageCtx.push('plural'); return true; };\n var peg$c61 = function (id, value) {\n messageCtx.pop();\n return __assign({ id: id,\n value: value }, insertLocation());\n };\n var peg$c62 = peg$otherExpectation(\"whitespace\");\n var peg$c63 = /^[\\t-\\r \\x85\\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]/;\n var peg$c64 = peg$classExpectation([[\"\\t\", \"\\r\"], \" \", \"\\x85\", \"\\xA0\", \"\\u1680\", [\"\\u2000\", \"\\u200A\"], \"\\u2028\", \"\\u2029\", \"\\u202F\", \"\\u205F\", \"\\u3000\"], false, false);\n var peg$c65 = peg$otherExpectation(\"syntax pattern\");\n var peg$c66 = /^[!-\\/:-@[-\\^`{-~\\xA1-\\xA7\\xA9\\xAB\\xAC\\xAE\\xB0\\xB1\\xB6\\xBB\\xBF\\xD7\\xF7\\u2010-\\u2027\\u2030-\\u203E\\u2041-\\u2053\\u2055-\\u205E\\u2190-\\u245F\\u2500-\\u2775\\u2794-\\u2BFF\\u2E00-\\u2E7F\\u3001-\\u3003\\u3008-\\u3020\\u3030\\uFD3E\\uFD3F\\uFE45\\uFE46]/;\n var peg$c67 = peg$classExpectation([[\"!\", \"/\"], [\":\", \"@\"], [\"[\", \"^\"], \"`\", [\"{\", \"~\"], [\"\\xA1\", \"\\xA7\"], \"\\xA9\", \"\\xAB\", \"\\xAC\", \"\\xAE\", \"\\xB0\", \"\\xB1\", \"\\xB6\", \"\\xBB\", \"\\xBF\", \"\\xD7\", \"\\xF7\", [\"\\u2010\", \"\\u2027\"], [\"\\u2030\", \"\\u203E\"], [\"\\u2041\", \"\\u2053\"], [\"\\u2055\", \"\\u205E\"], [\"\\u2190\", \"\\u245F\"], [\"\\u2500\", \"\\u2775\"], [\"\\u2794\", \"\\u2BFF\"], [\"\\u2E00\", \"\\u2E7F\"], [\"\\u3001\", \"\\u3003\"], [\"\\u3008\", \"\\u3020\"], \"\\u3030\", \"\\uFD3E\", \"\\uFD3F\", \"\\uFE45\", \"\\uFE46\"], false, false);\n var peg$c68 = peg$otherExpectation(\"optional whitespace\");\n var peg$c69 = peg$otherExpectation(\"number\");\n var peg$c70 = \"-\";\n var peg$c71 = peg$literalExpectation(\"-\", false);\n var peg$c72 = function (negative, num) {\n return num\n ? negative\n ? -num\n : num\n : 0;\n };\n var peg$c73 = peg$otherExpectation(\"apostrophe\");\n var peg$c74 = peg$otherExpectation(\"double apostrophes\");\n var peg$c75 = \"''\";\n var peg$c76 = peg$literalExpectation(\"''\", false);\n var peg$c77 = function () { return \"'\"; };\n var peg$c78 = function (escapedChar, quotedChars) {\n return escapedChar + quotedChars.replace(\"''\", \"'\");\n };\n var peg$c79 = function (x) {\n return (x !== '{' &&\n !(isInPluralOption() && x === '#') &&\n !(isNestedMessageText() && x === '}'));\n };\n var peg$c80 = \"\\n\";\n var peg$c81 = peg$literalExpectation(\"\\n\", false);\n var peg$c82 = function (x) {\n return x === '{' || x === '}' || (isInPluralOption() && x === '#');\n };\n var peg$c83 = peg$otherExpectation(\"argNameOrNumber\");\n var peg$c84 = peg$otherExpectation(\"argNumber\");\n var peg$c85 = \"0\";\n var peg$c86 = peg$literalExpectation(\"0\", false);\n var peg$c87 = function () { return 0; };\n var peg$c88 = /^[1-9]/;\n var peg$c89 = peg$classExpectation([[\"1\", \"9\"]], false, false);\n var peg$c90 = /^[0-9]/;\n var peg$c91 = peg$classExpectation([[\"0\", \"9\"]], false, false);\n var peg$c92 = function (digits) {\n return parseInt(digits.join(''), 10);\n };\n var peg$c93 = peg$otherExpectation(\"argName\");\n var peg$currPos = 0;\n var peg$savedPos = 0;\n var peg$posDetailsCache = [{ line: 1, column: 1 }];\n var peg$maxFailPos = 0;\n var peg$maxFailExpected = [];\n var peg$silentFails = 0;\n var peg$result;\n if (options.startRule !== undefined) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n function expected(description, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildStructuredError([peg$otherExpectation(description)], input.substring(peg$savedPos, peg$currPos), location1);\n }\n function error(message, location1) {\n location1 = location1 !== undefined\n ? location1\n : peg$computeLocation(peg$savedPos, peg$currPos);\n throw peg$buildSimpleError(message, location1);\n }\n function peg$literalExpectation(text1, ignoreCase) {\n return { type: \"literal\", text: text1, ignoreCase: ignoreCase };\n }\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos];\n var p;\n if (details) {\n return details;\n }\n else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n }\n else {\n details.column++;\n }\n p++;\n }\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos);\n var endPosDetails = peg$computePosDetails(endPos);\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n function peg$fail(expected1) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n peg$maxFailExpected.push(expected1);\n }\n function peg$buildSimpleError(message, location1) {\n return new SyntaxError(message, [], \"\", location1);\n }\n function peg$buildStructuredError(expected1, found, location1) {\n return new SyntaxError(SyntaxError.buildMessage(expected1, found), expected1, found, location1);\n }\n function peg$parsestart() {\n var s0;\n s0 = peg$parsemessage();\n return s0;\n }\n function peg$parsemessage() {\n var s0, s1;\n s0 = [];\n s1 = peg$parsemessageElement();\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsemessageElement();\n }\n return s0;\n }\n function peg$parsemessageElement() {\n var s0;\n s0 = peg$parseliteralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseargumentElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsesimpleFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepluralElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parseselectElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsepoundElement();\n }\n }\n }\n }\n }\n return s0;\n }\n function peg$parsemessageText() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsedoubleApostrophes();\n if (s2 === peg$FAILED) {\n s2 = peg$parsequotedString();\n if (s2 === peg$FAILED) {\n s2 = peg$parseunquotedString();\n }\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parseliteralElement() {\n var s0, s1;\n s0 = peg$currPos;\n s1 = peg$parsemessageText();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsepoundElement() {\n var s0, s1;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 35) {\n s1 = peg$c2;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c3);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c4();\n }\n s0 = s1;\n return s0;\n }\n function peg$parseargumentElement() {\n var s0, s1, s2, s3, s4, s5;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s5 = peg$c8;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s5 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c10(s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c5);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonId() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c12.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c13);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n if (peg$c12.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c13);\n }\n }\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c11);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonTokenOption() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 47) {\n s1 = peg$c16;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c17);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c18(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c15);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeletonToken() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeletonId();\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parsenumberSkeletonTokenOption();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parsenumberSkeletonTokenOption();\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c20(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c19);\n }\n }\n return s0;\n }\n function peg$parsenumberSkeleton() {\n var s0, s1, s2;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsenumberSkeletonToken();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsenumberSkeletonToken();\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c21(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsenumberArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c23);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumberSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c25();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsenumberFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c27;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c29) {\n s7 = peg$c29;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c30);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c27;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsenumberArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c8;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c31(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonLiteral() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c32;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedoubleApostrophes();\n if (s3 === peg$FAILED) {\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s3 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s3 = peg$c32;\n peg$currPos++;\n }\n else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = [];\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c37);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsedoubleApostrophes();\n if (s1 === peg$FAILED) {\n if (peg$c36.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c37);\n }\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateTimeSkeletonPattern() {\n var s0, s1;\n s0 = [];\n if (peg$c38.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c39);\n }\n }\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n if (peg$c38.test(input.charAt(peg$currPos))) {\n s1 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c39);\n }\n }\n }\n }\n else {\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsedateTimeSkeleton() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n s2 = [];\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsedateTimeSkeletonLiteral();\n if (s3 === peg$FAILED) {\n s3 = peg$parsedateTimeSkeletonPattern();\n }\n }\n }\n else {\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n s1 = input.substring(s1, peg$currPos);\n }\n else {\n s1 = s2;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c40(s1);\n }\n s0 = s1;\n return s0;\n }\n function peg$parsedateOrTimeArgStyle() {\n var s0, s1, s2;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c22) {\n s1 = peg$c22;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c23);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsedateTimeSkeleton();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n peg$savedPos = peg$currPos;\n s1 = peg$c41();\n if (s1) {\n s1 = undefined;\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsemessageText();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26(s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n return s0;\n }\n function peg$parsedateOrTimeFormatElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c27;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c42) {\n s7 = peg$c42;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c43);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 4) === peg$c44) {\n s7 = peg$c44;\n peg$currPos += 4;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c45);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n s9 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 44) {\n s10 = peg$c27;\n peg$currPos++;\n }\n else {\n s10 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s10 !== peg$FAILED) {\n s11 = peg$parse_();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsedateOrTimeArgStyle();\n if (s12 !== peg$FAILED) {\n s10 = [s10, s11, s12];\n s9 = s10;\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s9;\n s9 = peg$FAILED;\n }\n if (s9 === peg$FAILED) {\n s9 = null;\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s11 = peg$c8;\n peg$currPos++;\n }\n else {\n s11 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s11 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c31(s3, s7, s9);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsesimpleFormatElement() {\n var s0;\n s0 = peg$parsenumberFormatElement();\n if (s0 === peg$FAILED) {\n s0 = peg$parsedateOrTimeFormatElement();\n }\n return s0;\n }\n function peg$parsepluralElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c27;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c46) {\n s7 = peg$c46;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c47);\n }\n }\n if (s7 === peg$FAILED) {\n if (input.substr(peg$currPos, 13) === peg$c48) {\n s7 = peg$c48;\n peg$currPos += 13;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c49);\n }\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c27;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = peg$currPos;\n if (input.substr(peg$currPos, 7) === peg$c50) {\n s12 = peg$c50;\n peg$currPos += 7;\n }\n else {\n s12 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c51);\n }\n }\n if (s12 !== peg$FAILED) {\n s13 = peg$parse_();\n if (s13 !== peg$FAILED) {\n s14 = peg$parsenumber();\n if (s14 !== peg$FAILED) {\n s12 = [s12, s13, s14];\n s11 = s12;\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s11;\n s11 = peg$FAILED;\n }\n if (s11 === peg$FAILED) {\n s11 = null;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n s13 = [];\n s14 = peg$parsepluralOption();\n if (s14 !== peg$FAILED) {\n while (s14 !== peg$FAILED) {\n s13.push(s14);\n s14 = peg$parsepluralOption();\n }\n }\n else {\n s13 = peg$FAILED;\n }\n if (s13 !== peg$FAILED) {\n s14 = peg$parse_();\n if (s14 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s15 = peg$c8;\n peg$currPos++;\n }\n else {\n s15 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s15 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c52(s3, s7, s11, s13);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseselectElement() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 123) {\n s1 = peg$c6;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parse_();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseargNameOrNumber();\n if (s3 !== peg$FAILED) {\n s4 = peg$parse_();\n if (s4 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s5 = peg$c27;\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parse_();\n if (s6 !== peg$FAILED) {\n if (input.substr(peg$currPos, 6) === peg$c53) {\n s7 = peg$c53;\n peg$currPos += 6;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c54);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n if (s8 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 44) {\n s9 = peg$c27;\n peg$currPos++;\n }\n else {\n s9 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c28);\n }\n }\n if (s9 !== peg$FAILED) {\n s10 = peg$parse_();\n if (s10 !== peg$FAILED) {\n s11 = [];\n s12 = peg$parseselectOption();\n if (s12 !== peg$FAILED) {\n while (s12 !== peg$FAILED) {\n s11.push(s12);\n s12 = peg$parseselectOption();\n }\n }\n else {\n s11 = peg$FAILED;\n }\n if (s11 !== peg$FAILED) {\n s12 = peg$parse_();\n if (s12 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s13 = peg$c8;\n peg$currPos++;\n }\n else {\n s13 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s13 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c55(s3, s11);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralRuleSelectValue() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 61) {\n s2 = peg$c56;\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c57);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsenumber();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parseargName();\n }\n return s0;\n }\n function peg$parseselectOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargName();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c6;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c58(s2);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c8;\n peg$currPos++;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c59(s2, s6);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsepluralOption() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsepluralRuleSelectValue();\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 123) {\n s4 = peg$c6;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c7);\n }\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s5 = peg$c60(s2);\n if (s5) {\n s5 = undefined;\n }\n else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s6 = peg$parsemessage();\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 125) {\n s7 = peg$c8;\n peg$currPos++;\n }\n else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c9);\n }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c61(s2, s6);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parsewhiteSpace() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c63.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c64);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c62);\n }\n }\n return s0;\n }\n function peg$parsepatternSyntax() {\n var s0, s1;\n peg$silentFails++;\n if (peg$c66.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c67);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c65);\n }\n }\n return s0;\n }\n function peg$parse_() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsewhiteSpace();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsewhiteSpace();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c68);\n }\n }\n return s0;\n }\n function peg$parsenumber() {\n var s0, s1, s2;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 45) {\n s1 = peg$c70;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c71);\n }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseargNumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c72(s1, s2);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c69);\n }\n }\n return s0;\n }\n function peg$parseapostrophe() {\n var s0, s1;\n peg$silentFails++;\n if (input.charCodeAt(peg$currPos) === 39) {\n s0 = peg$c32;\n peg$currPos++;\n }\n else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c73);\n }\n }\n return s0;\n }\n function peg$parsedoubleApostrophes() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 2) === peg$c75) {\n s1 = peg$c75;\n peg$currPos += 2;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c76);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c77();\n }\n s0 = s1;\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c74);\n }\n }\n return s0;\n }\n function peg$parsequotedString() {\n var s0, s1, s2, s3, s4, s5;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 39) {\n s1 = peg$c32;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parseescapedChar();\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n s4 = [];\n if (input.substr(peg$currPos, 2) === peg$c75) {\n s5 = peg$c75;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c76);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n if (input.substr(peg$currPos, 2) === peg$c75) {\n s5 = peg$c75;\n peg$currPos += 2;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c76);\n }\n }\n if (s5 === peg$FAILED) {\n if (peg$c34.test(input.charAt(peg$currPos))) {\n s5 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c35);\n }\n }\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = input.substring(s3, peg$currPos);\n }\n else {\n s3 = s4;\n }\n if (s3 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 39) {\n s4 = peg$c32;\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c33);\n }\n }\n if (s4 === peg$FAILED) {\n s4 = null;\n }\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c78(s2, s3);\n s0 = s1;\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n return s0;\n }\n function peg$parseunquotedString() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c79(s2);\n if (s3) {\n s3 = undefined;\n }\n else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 === peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 10) {\n s1 = peg$c80;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c81);\n }\n }\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseescapedChar() {\n var s0, s1, s2, s3;\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (input.length > peg$currPos) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = peg$currPos;\n s3 = peg$c82(s2);\n if (s3) {\n s3 = undefined;\n }\n else {\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n return s0;\n }\n function peg$parseargNameOrNumber() {\n var s0, s1;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parseargNumber();\n if (s1 === peg$FAILED) {\n s1 = peg$parseargName();\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c83);\n }\n }\n return s0;\n }\n function peg$parseargNumber() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 48) {\n s1 = peg$c85;\n peg$currPos++;\n }\n else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c86);\n }\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c87();\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (peg$c88.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c89);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n if (peg$c90.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n if (peg$c90.test(input.charAt(peg$currPos))) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c91);\n }\n }\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c92(s1);\n }\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c84);\n }\n }\n return s0;\n }\n function peg$parseargName() {\n var s0, s1, s2, s3, s4;\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$currPos;\n s3 = peg$currPos;\n peg$silentFails++;\n s4 = peg$parsewhiteSpace();\n if (s4 === peg$FAILED) {\n s4 = peg$parsepatternSyntax();\n }\n peg$silentFails--;\n if (s4 === peg$FAILED) {\n s3 = undefined;\n }\n else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 !== peg$FAILED) {\n if (input.length > peg$currPos) {\n s4 = input.charAt(peg$currPos);\n peg$currPos++;\n }\n else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c14);\n }\n }\n if (s4 !== peg$FAILED) {\n s3 = [s3, s4];\n s2 = s3;\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n }\n }\n else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s0 = input.substring(s0, peg$currPos);\n }\n else {\n s0 = s1;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$c93);\n }\n }\n return s0;\n }\n var messageCtx = ['root'];\n function isNestedMessageText() {\n return messageCtx.length > 1;\n }\n function isInPluralOption() {\n return messageCtx[messageCtx.length - 1] === 'plural';\n }\n function insertLocation() {\n return options && options.captureLocation ? {\n location: location()\n } : {};\n }\n peg$result = peg$startRuleFunction();\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n }\n else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos));\n }\n}\nexports.pegParse = peg$parse;\n","\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar types_1 = require(\"./types\");\nvar parser_1 = require(\"./parser\");\nvar PLURAL_HASHTAG_REGEX = /(^|[^\\\\])#/g;\n/**\n * Whether to convert `#` in plural rule options\n * to `{var, number}`\n * @param el AST Element\n * @param pluralStack current plural stack\n */\nfunction normalizeHashtagInPlural(els) {\n els.forEach(function (el) {\n // If we're encountering a plural el\n if (!types_1.isPluralElement(el) && !types_1.isSelectElement(el)) {\n return;\n }\n // Go down the options and search for # in any literal element\n Object.keys(el.options).forEach(function (id) {\n var _a;\n var opt = el.options[id];\n // If we got a match, we have to split this\n // and inject a NumberElement in the middle\n var matchingLiteralElIndex = -1;\n var literalEl = undefined;\n for (var i = 0; i < opt.value.length; i++) {\n var el_1 = opt.value[i];\n if (types_1.isLiteralElement(el_1) && PLURAL_HASHTAG_REGEX.test(el_1.value)) {\n matchingLiteralElIndex = i;\n literalEl = el_1;\n break;\n }\n }\n if (literalEl) {\n var newValue = literalEl.value.replace(PLURAL_HASHTAG_REGEX, \"$1{\" + el.value + \", number}\");\n var newEls = parser_1.pegParse(newValue);\n (_a = opt.value).splice.apply(_a, __spreadArrays([matchingLiteralElIndex, 1], newEls));\n }\n normalizeHashtagInPlural(opt.value);\n });\n });\n}\nexports.normalizeHashtagInPlural = normalizeHashtagInPlural;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nfunction parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) pattenrs are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) pattenrs are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\nexports.parseDateTimeSkeleton = parseDateTimeSkeleton;\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\+|#+)?)?$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?$/g;\nfunction parseSignificantPrecision(str) {\n var result = {};\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nfunction convertNumberSkeletonToNumberFormatOptions(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n result.style = 'percent';\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n }\n // Precision\n // https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#fraction-precision\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (match, g1, g2) {\n // precision-integer case\n if (match === '.') {\n result.maximumFractionDigits = 0;\n }\n // .000+ case\n else if (g2 === '+') {\n result.minimumFractionDigits = g2.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumFractionDigits = g1.length;\n }\n // .00## or .000 case\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n if (token.options.length) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.options[0]));\n }\n continue;\n }\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n }\n return result;\n}\nexports.convertNumberSkeletonToNumberFormatOptions = convertNumberSkeletonToNumberFormatOptions;\n","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar parser_1 = require(\"./parser\");\nvar normalize_1 = require(\"./normalize\");\n__export(require(\"./types\"));\n__export(require(\"./parser\"));\n__export(require(\"./skeleton\"));\nfunction parse(input, opts) {\n var els = parser_1.pegParse(input, opts);\n if (!opts || opts.normalizeHashtagInPlural !== false) {\n normalize_1.normalizeHashtagInPlural(els);\n }\n return els;\n}\nexports.parse = parse;\n","\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// -- Utilities ----------------------------------------------------------------\nfunction getCacheId(inputs) {\n return JSON.stringify(inputs.map(function (input) {\n return input && typeof input === 'object' ? orderedProps(input) : input;\n }));\n}\nfunction orderedProps(obj) {\n return Object.keys(obj)\n .sort()\n .map(function (k) {\n var _a;\n return (_a = {}, _a[k] = obj[k], _a);\n });\n}\nvar memoizeFormatConstructor = function (FormatConstructor, cache) {\n if (cache === void 0) { cache = {}; }\n return function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var cacheId = getCacheId(args);\n var format = cacheId && cache[cacheId];\n if (!format) {\n format = new ((_a = FormatConstructor).bind.apply(_a, __spreadArrays([void 0], args)))();\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n return format;\n };\n};\nexports.default = memoizeFormatConstructor;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar intl_messageformat_parser_1 = require(\"intl-messageformat-parser\");\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, variableId) {\n var _this = _super.call(this, msg) || this;\n _this.variableId = variableId;\n return _this;\n }\n return FormatError;\n}(Error));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== 0 /* literal */ ||\n part.type !== 0 /* literal */) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\n// TODO(skeleton): add skeleton support\nfunction formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && intl_messageformat_parser_1.isLiteralElement(els[0])) {\n return [\n {\n type: 0 /* literal */,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (intl_messageformat_parser_1.isLiteralElement(el)) {\n result.push({\n type: 0 /* literal */,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (intl_messageformat_parser_1.isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: 0 /* literal */,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new FormatError(\"The intl string context variable \\\"\" + varName + \"\\\" was not provided to the string \\\"\" + originalMessage + \"\\\"\");\n }\n var value = values[varName];\n if (intl_messageformat_parser_1.isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: 1 /* argument */,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (intl_messageformat_parser_1.isDateElement(el)) {\n var style = typeof el.style === 'string' ? formats.date[el.style] : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (intl_messageformat_parser_1.isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : intl_messageformat_parser_1.isDateTimeSkeleton(el.style)\n ? intl_messageformat_parser_1.parseDateTimeSkeleton(el.style.pattern)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (intl_messageformat_parser_1.isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : intl_messageformat_parser_1.isNumberSkeleton(el.style)\n ? intl_messageformat_parser_1.convertNumberSkeletonToNumberFormatOptions(el.style.tokens)\n : undefined;\n result.push({\n type: 0 /* literal */,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (intl_messageformat_parser_1.isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (intl_messageformat_parser_1.isPluralElement(el)) {\n var opt = el.options[\"=\" + value];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\");\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new RangeError(\"Invalid values for \\\"\" + el.value + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(el.options).join('\", \"') + \"\\\"\");\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\nexports.formatToParts = formatToParts;\nfunction formatToString(els, locales, formatters, formats, values, \n// For debugging\noriginalMessage) {\n var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n return parts.reduce(function (all, part) { return (all += part.value); }, '');\n}\nexports.formatToString = formatToString;\n// Singleton\nvar domParser;\nvar TOKEN_DELIMITER = '@@';\nvar TOKEN_REGEX = /@@(\\d+_\\d+)@@/g;\nvar counter = 0;\nfunction generateId() {\n return Date.now() + \"_\" + ++counter;\n}\nfunction restoreRichPlaceholderMessage(text, objectParts) {\n return text\n .split(TOKEN_REGEX)\n .filter(Boolean)\n .map(function (c) { return (objectParts[c] != null ? objectParts[c] : c); })\n .reduce(function (all, c) {\n if (!all.length) {\n all.push(c);\n }\n else if (typeof c === 'string' &&\n typeof all[all.length - 1] === 'string') {\n all[all.length - 1] += c;\n }\n else {\n all.push(c);\n }\n return all;\n }, []);\n}\n/**\n * Not exhaustive, just for sanity check\n */\nvar SIMPLE_XML_REGEX = /(<([0-9a-zA-Z-_]*?)>(.*?)<\\/([0-9a-zA-Z-_]*?)>)|(<[0-9a-zA-Z-_]*?\\/>)/;\nvar TEMPLATE_ID = Date.now() + '@@';\nvar VOID_ELEMENTS = [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr',\n];\nfunction formatHTMLElement(el, objectParts, values) {\n var tagName = el.tagName;\n var outerHTML = el.outerHTML, textContent = el.textContent, childNodes = el.childNodes;\n // Regular text\n if (!tagName) {\n return restoreRichPlaceholderMessage(textContent || '', objectParts);\n }\n tagName = tagName.toLowerCase();\n var isVoidElement = ~VOID_ELEMENTS.indexOf(tagName);\n var formatFnOrValue = values[tagName];\n if (formatFnOrValue && isVoidElement) {\n throw new FormatError(tagName + \" is a self-closing tag and can not be used, please use another tag name.\");\n }\n if (!childNodes.length) {\n return [outerHTML];\n }\n var chunks = Array.prototype.slice.call(childNodes).reduce(function (all, child) {\n return all.concat(formatHTMLElement(child, objectParts, values));\n }, []);\n // Legacy HTML\n if (!formatFnOrValue) {\n return __spreadArrays([\"<\" + tagName + \">\"], chunks, [\"</\" + tagName + \">\"]);\n }\n // HTML Tag replacement\n if (typeof formatFnOrValue === 'function') {\n return [formatFnOrValue.apply(void 0, chunks)];\n }\n return [formatFnOrValue];\n}\nfunction formatHTMLMessage(els, locales, formatters, formats, values, \n// For debugging\noriginalMessage) {\n var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage);\n var objectParts = {};\n var formattedMessage = parts.reduce(function (all, part) {\n if (part.type === 0 /* literal */) {\n return (all += part.value);\n }\n var id = generateId();\n objectParts[id] = part.value;\n return (all += \"\" + TOKEN_DELIMITER + id + TOKEN_DELIMITER);\n }, '');\n // Not designed to filter out aggressively\n if (!SIMPLE_XML_REGEX.test(formattedMessage)) {\n return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n }\n if (!values) {\n throw new FormatError('Message has placeholders but no values was given');\n }\n if (typeof DOMParser === 'undefined') {\n throw new FormatError('Cannot format XML message without DOMParser');\n }\n if (!domParser) {\n domParser = new DOMParser();\n }\n var content = domParser\n .parseFromString(\"<formatted-message id=\\\"\" + TEMPLATE_ID + \"\\\">\" + formattedMessage + \"</formatted-message>\", 'text/html')\n .getElementById(TEMPLATE_ID);\n if (!content) {\n throw new FormatError(\"Malformed HTML message \" + formattedMessage);\n }\n var tagsToFormat = Object.keys(values).filter(function (varName) { return !!content.getElementsByTagName(varName).length; });\n // No tags to format\n if (!tagsToFormat.length) {\n return restoreRichPlaceholderMessage(formattedMessage, objectParts);\n }\n var caseSensitiveTags = tagsToFormat.filter(function (tagName) { return tagName !== tagName.toLowerCase(); });\n if (caseSensitiveTags.length) {\n throw new FormatError(\"HTML tag must be lowercased but the following tags are not: \" + caseSensitiveTags.join(', '));\n }\n // We're doing this since top node is `<formatted-message/>` which does not have a formatter\n return Array.prototype.slice\n .call(content.childNodes)\n .reduce(function (all, child) { return all.concat(formatHTMLElement(child, objectParts, values)); }, []);\n}\nexports.formatHTMLMessage = formatHTMLMessage;\n","\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar intl_messageformat_parser_1 = require(\"intl-messageformat-parser\");\nvar intl_format_cache_1 = require(\"intl-format-cache\");\nvar formatters_1 = require(\"./formatters\");\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: intl_format_cache_1.default(Intl.NumberFormat, cache.number),\n getDateTimeFormat: intl_format_cache_1.default(Intl.DateTimeFormat, cache.dateTime),\n getPluralRules: intl_format_cache_1.default(Intl.PluralRules, cache.pluralRules),\n };\n}\nexports.createDefaultFormatters = createDefaultFormatters;\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n return formatters_1.formatToString(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message);\n };\n this.formatToParts = function (values) {\n return formatters_1.formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.formatHTMLMessage = function (values) {\n return formatters_1.formatHTMLMessage(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n }); };\n this.getAst = function () { return _this.ast; };\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, {\n normalizeHashtagInPlural: false,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n IntlMessageFormat.defaultLocale = new Intl.NumberFormat().resolvedOptions().locale;\n IntlMessageFormat.__parse = intl_messageformat_parser_1.parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexports.IntlMessageFormat = IntlMessageFormat;\nexports.default = IntlMessageFormat;\n","\"use strict\";\n/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"./core\");\n__export(require(\"./formatters\"));\n__export(require(\"./core\"));\nexports.default = core_1.default;\n","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nexport default Number.isInteger || function _isInteger(n) {\n return n << 0 === n;\n};","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc, R.pick\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\n\nvar assoc =\n/*#__PURE__*/\n_curry3(function assoc(prop, val, obj) {\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n result[prop] = val;\n return result;\n});\n\nexport default assoc;","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport assoc from \"./assoc.js\";\nimport isNil from \"./isNil.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> {a}\n * @param {Array} path the path to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n *\n * // Any missing or non-object keys in path will be overridden\n * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n */\n\nvar assocPath =\n/*#__PURE__*/\n_curry3(function assocPath(path, val, obj) {\n if (path.length === 0) {\n return val;\n }\n\n var idx = path[0];\n\n if (path.length > 1) {\n var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {};\n val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n }\n\n if (_isInteger(idx) && _isArray(obj)) {\n var arr = [].concat(obj);\n arr[idx] = val;\n return arr;\n } else {\n return assoc(idx, val, obj);\n }\n});\n\nexport default assocPath;","import _curry2 from \"./internal/_curry2.js\";\nimport map from \"./map.js\";\n/**\n * Returns a lens for the given getter and setter functions. The getter \"gets\"\n * the value of the focus; the setter \"sets\" the value of the focus. The setter\n * should not mutate the data structure.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig (s -> a) -> ((a, s) -> s) -> Lens s a\n * @param {Function} getter\n * @param {Function} setter\n * @return {Lens}\n * @see R.view, R.set, R.over, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lens(R.prop('x'), R.assoc('x'));\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2}\n */\n\nvar lens =\n/*#__PURE__*/\n_curry2(function lens(getter, setter) {\n return function (toFunctorFn) {\n return function (target) {\n return map(function (focus) {\n return setter(focus, target);\n }, toFunctorFn(getter(target)));\n };\n };\n});\n\nexport default lens;","import _curry2 from \"./internal/_curry2.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * const list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\n\nvar nth =\n/*#__PURE__*/\n_curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});\n\nexport default nth;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport nth from \"./nth.js\";\n/**\n * Retrieves the values at given paths of an object.\n *\n * @func\n * @memberOf R\n * @since v0.27.1\n * @category Object\n * @typedefn Idx = [String | Int]\n * @sig [Idx] -> {a} -> [a | Undefined]\n * @param {Array} pathsArray The array of paths to be fetched.\n * @param {Object} obj The object to retrieve the nested properties from.\n * @return {Array} A list consisting of values at paths specified by \"pathsArray\".\n * @see R.path\n * @example\n *\n * R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3]\n * R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined]\n */\n\nvar paths =\n/*#__PURE__*/\n_curry2(function paths(pathsArray, obj) {\n return pathsArray.map(function (paths) {\n var val = obj;\n var idx = 0;\n var p;\n\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n\n p = paths[idx];\n val = _isInteger(p) ? nth(p, val) : val[p];\n idx += 1;\n }\n\n return val;\n });\n});\n\nexport default paths;","import _curry2 from \"./internal/_curry2.js\";\nimport paths from \"./paths.js\";\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop, R.nth\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1\n * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2\n */\n\nvar path =\n/*#__PURE__*/\n_curry2(function path(pathAr, obj) {\n return paths([pathAr], obj)[0];\n});\n\nexport default path;","import _curry1 from \"./internal/_curry1.js\";\nimport assocPath from \"./assocPath.js\";\nimport lens from \"./lens.js\";\nimport path from \"./path.js\";\n/**\n * Returns a lens whose focus is the specified path.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @typedefn Idx = String | Int\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig [Idx] -> Lens s a\n * @param {Array} path The path to use.\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * const xHeadYLens = R.lensPath(['x', 0, 'y']);\n *\n * R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> 2\n * R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}\n * R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}\n */\n\nvar lensPath =\n/*#__PURE__*/\n_curry1(function lensPath(p) {\n return lens(path(p), assocPath(p));\n});\n\nexport default lensPath;","import _curry2 from \"./internal/_curry2.js\"; // `Const` is a functor that effectively ignores the function given to `map`.\n\nvar Const = function (x) {\n return {\n value: x,\n 'fantasy-land/map': function () {\n return this;\n }\n };\n};\n/**\n * Returns a \"view\" of the given data structure, determined by the given lens.\n * The lens's focus determines which portion of the data structure is visible.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> s -> a\n * @param {Lens} lens\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.view(xLens, {x: 4, y: 2}); //=> 4\n */\n\n\nvar view =\n/*#__PURE__*/\n_curry2(function view(lens, x) {\n // Using `Const` effectively ignores the setter function of the `lens`,\n // leaving the value returned by the getter function unmodified.\n return lens(Const)(x).value;\n});\n\nexport default view;","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */import y from\"intl-messageformat\";import p from\"ramda/es/lensPath\";import d from\"ramda/es/view\";const u=t=>{let e=t;if(t&&t.length==1){if(Object.prototype.toString.call(t[0])===\"[object Array]\")e=t[0];else if(typeof t[0]==\"object\"){const n=t[0];e=Object.keys(n).reduce((c,l)=>c.concat(l,n[l]),[])}}return e},F=t=>p(String(t).split(\".\"));let M=1;M=1;const j=(t,e,n={},c=!1)=>function(o,...r){if(!o||!e||!t||!e[t])return\"\";const s=d(F(o),e[t]);if(!s)return c?o:\"\";if(!r||!r.length)return s;const f={},m=`${o}${s}`;let i=f[m];i||(i=new y(s,t,n),f[m]=i),r=u(r);const g={};for(let a=0;a<r.length;a+=2)g[r[a]]=r[a+1];return i.format(g)};export{j as localizerFactory};\n","export default function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the key\n * and the values associated with the key in each object, with the result being\n * used as the value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWithKey, R.merge, R.mergeWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeWithKey(concatValues,\n * { a: true, thing: 'foo', values: [10, 20] },\n * { b: true, thing: 'bar', values: [15, 35] });\n * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n */\n\nvar mergeWithKey =\n/*#__PURE__*/\n_curry3(function mergeWithKey(fn, l, r) {\n var result = {};\n var k;\n\n for (k in l) {\n if (_has(k, l)) {\n result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];\n }\n }\n\n for (k in r) {\n if (_has(k, r) && !_has(k, result)) {\n result[k] = r[k];\n }\n }\n\n return result;\n});\n\nexport default mergeWithKey;","import _curry3 from \"./internal/_curry3.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport mergeWithKey from \"./mergeWithKey.js\";\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n * recursively merged.\n * - otherwise the provided function is applied to the key and associated values\n * using the resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWithKey, R.mergeDeepWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeDeepWithKey(concatValues,\n * { a: true, c: { thing: 'foo', values: [10, 20] }},\n * { b: true, c: { thing: 'bar', values: [15, 35] }});\n * //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}\n */\n\nvar mergeDeepWithKey =\n/*#__PURE__*/\n_curry3(function mergeDeepWithKey(fn, lObj, rObj) {\n return mergeWithKey(function (k, lVal, rVal) {\n if (_isObject(lVal) && _isObject(rVal)) {\n return mergeDeepWithKey(fn, lVal, rVal);\n } else {\n return fn(k, lVal, rVal);\n }\n }, lObj, rObj);\n});\n\nexport default mergeDeepWithKey;","import _curry2 from \"./internal/_curry2.js\";\nimport mergeDeepWithKey from \"./mergeDeepWithKey.js\";\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n * R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n * { age: 40, contact: { email: 'baa@example.com' }});\n * //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }}\n */\n\nvar mergeDeepRight =\n/*#__PURE__*/\n_curry2(function mergeDeepRight(lObj, rObj) {\n return mergeDeepWithKey(function (k, lVal, rVal) {\n return rVal;\n }, lObj, rObj);\n});\n\nexport default mergeDeepRight;","/*\n * @license\n * BSD License\n *\n * Copyright (c) 2020, UXLand\n *\n * All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are met:\n * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n * 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.\n * 4. Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */import{publish as t}from\"@uxland/event-aggregator\";import r from\"ramda/es/mergeDeepRight\";import{LOCALES_RESET as n,LOCALES_UPDATED as a}from\"./events\";const o={};let e={};const l=s=>{e=r(o,e),e=r(e,s),t(a,e)},d=()=>({...o}),p=()=>({...e}),m=()=>{e={...o},t(n,e)};export{d as getDefaultLocales,p as getLocales,m as resetLocales,l as setLocales};\n","import { getLanguage, getLocales, localizerFactory, setLocales } from \"@uxland/localization\";\n\n/**\n * Creates a locale manager for a given plugin ID and translations.\n *\n * @param {string} pluginId - The ID of the plugin.\n * @param {Record<string, Record<string, string>>} translations - The translations for the plugin.\n * @return {Promise<{\n * translate: (path: string, variables?: Record<string, string>) => string,\n * getTranslations: () => Record<string, string>,\n * getCurrentLanguage: () => string,\n * }>} A promise that resolves to an object with methods for translating strings and getting translations.\n */\nexport const createLocaleManager =\n (pluginId: string) => (translations: Record<string, Record<string, string>>) => {\n const localizer = localizerFactory(getLanguage(), translations, \"\", true);\n setLocales(translations);\n return Promise.resolve({\n /**\n * Translates the given path using the provided variables and the plugin's ID.\n *\n * @param {string} path - The path to be translated.\n * @param {Record<string, string>} [variables] - Optional variables to be used in the translation.\n * @return {string} The translated string, or the original path if an error occurs.\n */\n translate: (path: string, variables?: Record<string, string>) => {\n try {\n return localizer(`${pluginId}.${path}`, variables);\n } catch (e) {\n console.error(e);\n return path;\n }\n },\n /**\n * Retrieves the translations for the current language and plugin.\n *\n * @return {Record<string, string>} The translations for the current language and plugin.\n */\n getTranslations: () => {\n const translations = getLocales();\n const language = getLanguage();\n return translations[language][pluginId] || {};\n },\n\n /**\n * Retrieves the current language.\n *\n * @return {string} The current language.\n */\n getCurrentLanguage: () => {\n return getLanguage();\n },\n });\n };\n","export const shellRegions = {\n header: \"header-region\",\n headerActions: \"header-actions-region\",\n main: \"main-region\",\n menu: \"menu-region\",\n quickActions: \"quick-actions-region\",\n floating: \"floating-region\",\n};\n\nexport const clinicalMonitoringRegions = {\n sidebar: \"widgets-sidebar-region\",\n header: \"header-widgets-region\",\n content: \"content-widgets-region\",\n};\n\nexport type PrimariaRegionNames =\n | (typeof shellRegions)[keyof typeof shellRegions]\n | (typeof clinicalMonitoringRegions)[keyof typeof clinicalMonitoringRegions];\n","import { html } from \"lit\";\nimport { TitleView } from \"./title-view\";\n\nexport const template = (props: TitleView) => html`\n <div class=\"wrapper\">${props.title}</div>\n`;\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport styles from \"./styles.scss?inline\";\nimport { template } from \"./template\";\n\n@customElement(\"title-view\")\nexport class TitleView extends LitElement {\n constructor(private titleText: string) {\n super();\n this.title = titleText;\n }\n\n render() {\n return html`${template(this)}`;\n }\n\n static styles = css`\n ${unsafeCSS(styles)}\n `;\n\n @property()\n title: string;\n}\n","import { HarmonixRegionManager, IRegionManager, HarmonixViewDefinition } from \"@uxland/harmonix\";\nimport { PluginInfo } from \"./plugin\";\nimport { IRegion } from \"@uxland/regions\";\nimport { shellRegions } from \"./regions\";\nimport { TitleView } from \"./UI/components/title-view/title-view\";\n\nexport interface PrimariaRegionManager extends HarmonixRegionManager {\n registerMenu(view: HarmonixViewDefinition): Promise<void>;\n registerQuickAction(view: HarmonixViewDefinition): Promise<void>;\n registerMainView(view: HarmonixViewDefinition, title: string): Promise<void>;\n activateMainView(viewId: string): Promise<void>;\n}\n\nclass RegionManagerProxy implements PrimariaRegionManager {\n constructor(\n private pluginInfo: PluginInfo,\n private regionManager: IRegionManager,\n ) {}\n /**\n * Register a view in a specific region.\n *\n * @param {string} regionName - The name of the region to register the view with.\n * @param {HarmonixViewDefinition} view - The view definition to be registered.\n * @return {Promise<void>} A promise that resolves when the view is successfully registered.\n */\n registerView(regionName: string, view: HarmonixViewDefinition): Promise<void> {\n this.regionManager.registerViewWithRegion(\n regionName,\n `${this.pluginInfo.pluginId}::${view.id}`,\n view,\n );\n return Promise.resolve();\n }\n /**\n * Removes a view from a specific region.\n *\n * @param {string} regionName - The name of the region to remove the view from.\n * @param {string} viewId - The ID of the view to be removed.\n * @return {Promise<void>} A promise that resolves when the view is successfully removed.\n */\n removeView(regionName: string, viewId: string): Promise<void> {\n this.regionManager.getRegion(regionName).removeView(`${this.pluginInfo.pluginId}::${viewId}`);\n return Promise.resolve();\n }\n /**\n * Activates a view in a specific region.\n *\n * @param {string} regionName - The name of the region where the view is located.\n * @param {string} viewId - The ID of the view to be activated.\n * @return {Promise<void>} A promise that resolves when the view is successfully activated.\n */\n activateView(regionName: string, viewId: string): Promise<void> {\n this.regionManager.getRegion(regionName).activate(`${this.pluginInfo.pluginId}::${viewId}`);\n return Promise.resolve();\n }\n /**\n * Deactivates a view in a specific region.\n *\n * @param {string} regionName - The name of the region where the view is located.\n * @param {string} viewId - The ID of the view to be deactivated.\n * @return {Promise<void>} A promise that resolves when the view is successfully deactivated.\n */\n deactivateView(regionName: string, viewId: string): Promise<void> {\n this.regionManager.getRegion(regionName).deactivate(`${this.pluginInfo.pluginId}::${viewId}`);\n return Promise.resolve();\n }\n /**\n * Retrieves a region by its name.\n *\n * @param {string} regionName - The name of the region to retrieve.\n * @return {Promise<IRegion>} A promise that resolves to the retrieved region.\n */\n getRegion(regionName: string): Promise<IRegion> {\n return Promise.resolve(this.regionManager.getRegion(regionName));\n }\n /**\n * Checks if a view with the given ID exists in a specific region.\n *\n * @param {string} regionName - The name of the region to check.\n * @param {string} viewId - The ID of the view to check for.\n * @return {Promise<boolean>} A promise that resolves to true if the view exists, false otherwise.\n */\n containsView(regionName: string, viewId: string) {\n const region = this.regionManager.getRegion(regionName);\n return Promise.resolve(region?.containsView(`${this.pluginInfo.pluginId}::${viewId}`));\n }\n /**\n * Checks if a view with the given ID is active in a specific region.\n *\n * @param {string} regionName - The name of the region to check.\n * @param {string} viewId - The ID of the view to check for.\n * @return {Promise<boolean>} A promise that resolves to true if the view is active, false otherwise.\n */\n isViewActive(regionName: string, viewId: string) {\n const region = this.regionManager.getRegion(regionName);\n return Promise.resolve(region?.isViewActive(`${this.pluginInfo.pluginId}::${viewId}`));\n }\n\n registerMenu(view: HarmonixViewDefinition): Promise<void> {\n this.regionManager.registerViewWithRegion(\n shellRegions.menu,\n `${this.pluginInfo.pluginId}::${view.id}`,\n view,\n );\n return Promise.resolve();\n }\n registerQuickAction(view: HarmonixViewDefinition): Promise<void> {\n this.regionManager.registerViewWithRegion(\n shellRegions.quickActions,\n `${this.pluginInfo.pluginId}::${view.id}`,\n view,\n );\n return Promise.resolve();\n }\n registerMainView(view: HarmonixViewDefinition, title: string): Promise<void> {\n this.regionManager.registerViewWithRegion(\n shellRegions.main,\n `${this.pluginInfo.pluginId}::${view.id}`,\n view,\n );\n const titleView = createTitleView(view.id, title);\n this.regionManager.registerViewWithRegion(\n shellRegions.header,\n `${this.pluginInfo.pluginId}::${view.id}`,\n titleView,\n );\n return Promise.resolve();\n }\n activateMainView(viewId: string): Promise<void> {\n this.regionManager\n .getRegion(shellRegions.main)\n .activate(`${this.pluginInfo.pluginId}::${viewId}`);\n this.regionManager\n .getRegion(shellRegions.header)\n .activate(`${this.pluginInfo.pluginId}::${viewId}`);\n return Promise.resolve();\n }\n}\n\nconst createTitleView = (id: string, title: string): HarmonixViewDefinition => ({\n id: id,\n factory: () => Promise.resolve(new TitleView(title)),\n});\n\n/**\n * Creates a proxy for the region manager with the given plugin info and region manager instance.\n *\n * @param {PluginInfo} pluginInfo - The plugin information.\n * @param {IRegionManager} regionManager - The region manager instance.\n * @return {HarmonixRegionManager} The created region manager proxy.\n */\nexport const createRegionManagerProxy = (\n pluginInfo: PluginInfo,\n regionManager: IRegionManager,\n): PrimariaRegionManager => new RegionManagerProxy(pluginInfo, regionManager);\n","import {\n ConfirmOptions,\n CustomConfirmOptions,\n NotifyOptions,\n doConfirm,\n notify,\n} from \"@uxland/primaria-ui-components\";\n\nexport interface PrimariaInteractionManager {\n notify(options: NotifyOptions): Promise<any>;\n doConfirm(options: ConfirmOptions): Promise<boolean>;\n doCustomConfirm(options: CustomConfirmOptions): Promise<boolean>;\n}\n\nexport const createInteractionManager: () => PrimariaInteractionManager = () => {\n return {\n notify: (options: NotifyOptions) => notify(options),\n doConfirm: (options: ConfirmOptions) => doConfirm(options),\n doCustomConfirm: (options: CustomConfirmOptions) => doConfirm(options),\n } as PrimariaInteractionManager;\n};\n","import { PrimariaBroker } from \"../broker/primaria-broker\";\n\nexport abstract class PrimariaGlobalStateManager {\n abstract setData(key: string, value: any): void;\n abstract getData(key: string): any;\n abstract clearData(): void;\n}\n\nclass PrimariaGlobalStateManagerImpl implements PrimariaGlobalStateManager {\n private state: { [key: string]: any } = {};\n constructor(public broker: PrimariaBroker) {}\n\n /**\n * Sets the value of a key in the state object and publishes an event with the event bus.\n *\n * @param {string} key - The key to set the value for.\n * @param {any} value - The value to set for the key.\n * @return {void} This function does not return anything.\n */\n setData(key: string, value: any): void {\n this.state[key] = value;\n this.broker.publish(\"data-setted\", {\n key: key,\n value: value,\n });\n }\n\n /**\n * Retrieves the value associated with the specified key from the state object.\n *\n * @param {string} key - The key to retrieve the value for.\n * @return {any} The value associated with the specified key, or undefined if the key does not exist in the state object.\n */\n getData(key: string): any {\n return this.state[key];\n }\n\n /**\n * Clears all data stored in the state object.\n *\n * @return {void} This function does not return anything.\n */\n public clearData(): void {\n this.state = {};\n }\n}\n\nexport const createGlobalStateManager = (broker: PrimariaBroker) =>\n new PrimariaGlobalStateManagerImpl(broker);\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { mediatorSettings } from \"../../index.js\";\nvar OrderMappings = /** @class */ (function () {\n function OrderMappings() {\n this._mappings = [];\n }\n OrderMappings.prototype.add = function (mapping) {\n if (mapping.order !== 0) {\n mapping.order = this._mappings.length;\n }\n this._mappings.push(mapping);\n this.onAdded(mapping);\n };\n OrderMappings.prototype.clear = function () {\n this._mappings = [];\n };\n return OrderMappings;\n}());\nexport { OrderMappings };\nfunction byOrder(a, b) {\n return (b.order || 0) - (a.order || 0);\n}\nvar NotificationMappings = /** @class */ (function (_super) {\n __extends(NotificationMappings, _super);\n function NotificationMappings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NotificationMappings.prototype.onAdded = function (mapping) {\n var handlerName = mapping.handler.prototype.constructor.name;\n mediatorSettings.resolver.add(handlerName, mapping.handler);\n };\n NotificationMappings.prototype.setOrder = function (notification, handlers) {\n var all = this.getAll(notification);\n for (var _i = 0, all_1 = all; _i < all_1.length; _i++) {\n var handler = all_1[_i];\n handler.order = handlers.indexOf(handler.handler);\n }\n };\n NotificationMappings.prototype.getAll = function (notification) {\n var items = this._mappings.filter(function (p) { return p.notification === notification; });\n if (items.length === 0)\n throw new Error(\"Cannot find notification handler with key: \".concat(notification.prototype.name));\n return items.sort(byOrder);\n };\n return NotificationMappings;\n}(OrderMappings));\nexport { NotificationMappings };\nvar BehaviorMappings = /** @class */ (function (_super) {\n __extends(BehaviorMappings, _super);\n function BehaviorMappings() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BehaviorMappings.prototype.onAdded = function (mapping) {\n var handlerName = mapping.behavior.prototype.constructor.name;\n mediatorSettings.resolver.add(handlerName, mapping.behavior);\n };\n BehaviorMappings.prototype.setOrder = function (behaviors) {\n var all = this.getAll();\n for (var _i = 0, all_2 = all; _i < all_2.length; _i++) {\n var handler = all_2[_i];\n handler.order = behaviors.indexOf(handler.behavior);\n }\n };\n BehaviorMappings.prototype.getAll = function () {\n var items = __spreadArray([], this._mappings, true);\n return items.sort(byOrder);\n };\n return BehaviorMappings;\n}(OrderMappings));\nexport { BehaviorMappings };\n//# sourceMappingURL=mappings.js.map","/* eslint-disable @typescript-eslint/ban-types */\nimport { BehaviorMappings, NotificationMappings } from \"../../models/dispatcher/mappings.js\";\n/**\n * The internal dispatcher\n * Here storing the mapping between the event name with the handler name\n *\n * @export\n * @class Dispatcher\n * @implements {IDispatcher}\n */\nvar Dispatcher = /** @class */ (function () {\n function Dispatcher() {\n this._notifications = new NotificationMappings();\n this._behaviors = new BehaviorMappings();\n }\n Object.defineProperty(Dispatcher.prototype, \"notifications\", {\n get: function () {\n return this._notifications;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Dispatcher.prototype, \"behaviors\", {\n get: function () {\n return this._behaviors;\n },\n enumerable: false,\n configurable: true\n });\n return Dispatcher;\n}());\nexport default Dispatcher;\n//# sourceMappingURL=index.js.map","/* eslint-disable @typescript-eslint/ban-types */\n/**\n * The instance object to save the Handler functions and the relative key\n *\n * @export\n * @class HandlerInstance\n */\nvar HandlerInstance = /** @class */ (function () {\n /**\n * Creates an instance of HandlerInstance.\n * @param {string} name The name of the handler\n * @param {Function} value The fx handler\n * @memberof HandlerInstance\n */\n function HandlerInstance(name, value) {\n this._name = name;\n this._value = value;\n }\n Object.defineProperty(HandlerInstance.prototype, \"name\", {\n /**\n * Get the name value\n *\n * @readonly\n * @type {string}\n * @memberof HandlerInstance\n */\n get: function () {\n return this._name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(HandlerInstance.prototype, \"value\", {\n /**\n * Get the fx value\n *\n * @readonly\n * @type {Function}\n * @memberof HandlerInstance\n */\n get: function () {\n return this._value;\n },\n enumerable: false,\n configurable: true\n });\n return HandlerInstance;\n}());\nexport default HandlerInstance;\n//# sourceMappingURL=handler.instance.js.map","import HandlerInstance from \"../models/handler.instance.js\";\n/**\n * The internal resolver\n * Here handler functions and relative keys are stored and retrieved.\n *\n * @export\n * @class Resolver\n * @implements {IResolver}\n */\nvar Resolver = /** @class */ (function () {\n function Resolver() {\n // Contains the mapping of the functions\n this._instances = [];\n }\n /**\n * Retrieve a func from the container\n *\n * @template T\n * @param {string} name The instance name to retrieve\n * @returns {T}\n * @memberof Resolver\n */\n Resolver.prototype.resolve = function (name) {\n var e = this._instances.find(function (p) { return p.name === name; });\n if (!e)\n throw new Error(\"Cannot find element with key: \".concat(name));\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var handlerFx = e.value;\n return new handlerFx();\n };\n /**\n * Add a func and name to the container\n *\n * @param {string} name The instance name to add to the container\n * @param {Function} fx The function to store with the instance name\n * @memberof Resolver\n */\n Resolver.prototype.add = function (name, fx) {\n var k = this._instances.find(function (p) { return p.name === name; });\n if (k === undefined)\n this._instances.push(new HandlerInstance(name, fx));\n else\n throw new Error(\"The key \".concat(name, \" is already been added\"));\n };\n /**\n * Remove an isntance from the container\n *\n * @param {string} name The instance name to remove from the container\n * @memberof Resolver\n */\n Resolver.prototype.remove = function (name) {\n var i = this._instances.findIndex(function (p) { return p.name === name; });\n if (i >= 0) {\n this._instances.splice(i, 1);\n }\n };\n /**\n * Clear the container\n *\n * @memberof Resolver\n */\n Resolver.prototype.clear = function () {\n this._instances = [];\n };\n return Resolver;\n}());\nexport default Resolver;\n//# sourceMappingURL=resolver.js.map","import Dispatcher from \"./models/dispatcher/index.js\";\nimport Resolver from \"./models/resolver.js\";\n/**\n * Contains the settings for the MediatR lib\n *\n * @class MediatrSettings\n */\nvar MediatrSettings = /** @class */ (function () {\n function MediatrSettings() {\n this.resolver = new Resolver();\n this.dispatcher = new Dispatcher();\n }\n return MediatrSettings;\n}());\nvar mediatorSettings = new MediatrSettings();\nexport default mediatorSettings;\n//# sourceMappingURL=settings.js.map","import { mediatorSettings } from \"../index.js\";\n/**\n * Decorate the requestHandler with this attribute\n *\n * @param value The request type\n */\nvar requestHandler = function (value) {\n return function (target) {\n var name = value.prototype.constructor.name;\n mediatorSettings.resolver.add(name, target);\n };\n};\nexport default requestHandler;\n//# sourceMappingURL=request.attribute.js.map","import { mediatorSettings } from \"../index.js\";\n/**\n * Decorate the notificationHandler with this attribute\n *\n * @param value The request type\n * @param order The order of event\n */\nvar notificationHandler = function (value) {\n return function (target) {\n mediatorSettings.dispatcher.notifications.add({\n notification: value,\n handler: target\n });\n };\n};\nexport default notificationHandler;\n//# sourceMappingURL=notification.attribute.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { mediatorSettings } from \"../index.js\";\n/**\n * The mediator class\n * Send request and publish events\n *\n * @export\n * @class Mediator\n * @implements {IMediator}\n */\nvar Mediator = /** @class */ (function () {\n function Mediator() {\n }\n /**\n * Send a request to the mediator\n *\n * @template T\n * @param {IRequest<T>} request The request to send\n * @returns {Promise<T>}\n * @memberof Mediator\n */\n Mediator.prototype.send = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n var name, handler, behaviors, currentBehaviorIndex, next;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n name = request.constructor.name;\n handler = mediatorSettings.resolver.resolve(name);\n behaviors = mediatorSettings.dispatcher.behaviors\n .getAll()\n .map(function (p) { return p.behavior; });\n currentBehaviorIndex = 0;\n next = function () { return __awaiter(_this, void 0, void 0, function () {\n var behaviorClass, behavior;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(currentBehaviorIndex < behaviors.length)) return [3 /*break*/, 2];\n behaviorClass = behaviors[currentBehaviorIndex];\n behavior = mediatorSettings.resolver.resolve(behaviorClass.name);\n currentBehaviorIndex++;\n return [4 /*yield*/, behavior.handle(request, next)];\n case 1: return [2 /*return*/, _a.sent()];\n case 2: return [4 /*yield*/, handler.handle(request)];\n case 3: return [2 /*return*/, _a.sent()];\n }\n });\n }); };\n return [4 /*yield*/, next()];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Publish a new message\n *\n * @param {INotification} message The message to publish\n * @returns {Promise<void>}\n * @memberof Mediator\n */\n Mediator.prototype.publish = function (message) {\n return __awaiter(this, void 0, void 0, function () {\n var events;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n events = mediatorSettings.dispatcher.notifications.getAll(message.constructor);\n return [4 /*yield*/, Promise.all(events.map(function (p) { return __awaiter(_this, void 0, void 0, function () {\n var handler;\n return __generator(this, function (_a) {\n handler = mediatorSettings.resolver.resolve(p.handler.name);\n return [2 /*return*/, handler.handle(message)];\n });\n }); }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return Mediator;\n}());\nexport default Mediator;\n//# sourceMappingURL=mediator.js.map","import { HarmonixBroker, IEvent, IEventClass, IRequest, IRequestClass } from \"@uxland/harmonix\";\nimport { Mediator, mediatorSettings, notificationHandler, requestHandler } from \"mediatr-ts\";\nimport { PrimariaBroker } from \"./primaria-broker\";\n\ntype messageHandler = (payload: unknown) => unknown | Promise<unknown>;\n\nclass Broker implements PrimariaBroker {\n private mediator: Mediator;\n constructor() {\n this.mediator = new Mediator();\n mediatorSettings.resolver.clear();\n }\n // biome-ignore lint/complexity/noBannedTypes: <explanation>\n private eventConstructorMap: Map<string, Function> = new Map();\n\n // biome-ignore lint/complexity/noBannedTypes: <explanation>\n private requestConstructorMap: Map<string, Function> = new Map();\n\n send<TRequest extends IRequest<TResponse>, TResponse>(message: TRequest): Promise<TResponse>;\n send<TPayload, TResponse>(requestName: string, payload: TPayload): Promise<TResponse>;\n send<TResponse>(request: IRequest<TResponse> | string, payload?: unknown): Promise<TResponse> {\n const eventPayload =\n typeof request === \"string\"\n ? this.getRequest<TResponse>(request as string, payload)\n : request;\n return this.mediator.send(eventPayload);\n }\n publish<TEvent extends IEvent>(event: TEvent): Promise<void>;\n publish<TPayload>(eventName: string, payload: TPayload): Promise<void>;\n publish(event: string | IEvent, payload?: unknown): Promise<void> {\n const eventPayload =\n typeof event === \"string\" ? this.getEvent(event as string, payload) : event;\n return this.mediator.publish(eventPayload);\n }\n subscribe<TEvent extends IEvent>(\n event: TEvent,\n handler: (message: TEvent) => void,\n ): HarmonixBroker;\n subscribe<TPayload>(eventName: string, handler: (message: TPayload) => void): HarmonixBroker;\n subscribe(event: string | IEventClass, handler: messageHandler): HarmonixBroker {\n const eventType = typeof event === \"function\" ? event : this.getEventType(event as string);\n notificationHandler(eventType)(createDynamicEventHandler(handler));\n return this;\n }\n registerRequest<TRequest extends IRequest<TResponse>, TResponse>(\n request: TRequest,\n handler: (message: TRequest) => TResponse,\n ): HarmonixBroker;\n registerRequest<TPayload, TResponse>(\n requestName: string,\n handler: (message: TPayload) => TResponse,\n ): HarmonixBroker;\n registerRequest(\n request: string | IRequestClass<unknown>,\n handler: messageHandler,\n ): HarmonixBroker {\n const requestType =\n typeof request === \"function\" ? request : this.getRequestType(request as string);\n requestHandler(requestType)(createDynamicRequestHandler(handler));\n return this;\n }\n\n private getEvent(eventName: string, payload: unknown): IEvent {\n const eventConstructor = this.getEventType(eventName);\n return new eventConstructor(payload) as IEvent;\n }\n\n private getRequest<TResponse>(requestName: string, payload: unknown): IRequest<TResponse> {\n const requestConstructor = this.getRequestType(requestName);\n return new requestConstructor(payload) as IRequest<unknown>;\n }\n\n private getEventType(eventName: string): IEventClass {\n if (!this.eventConstructorMap.has(eventName)) {\n const clazz = createDynamicEventClass(eventName);\n this.eventConstructorMap.set(eventName, clazz);\n }\n return this.eventConstructorMap.get(eventName) as IEventClass;\n }\n\n private getRequestType(requestName: string): IRequestClass<unknown> {\n if (!this.requestConstructorMap.has(requestName)) {\n const clazz = createDynamicRequestClass(requestName);\n this.requestConstructorMap.set(requestName, clazz);\n }\n return this.requestConstructorMap.get(requestName) as IRequestClass<unknown>;\n }\n}\n\nconst createDynamicEventClass = (eventName: string) =>\n createDynamicMessageClass(eventName, \"Event\");\n\nconst createDynamicRequestClass = (requestName: string) =>\n createDynamicMessageClass(requestName, \"Request\");\n\nconst createDynamicMessageClass = (eventName: string, classPrefix: string) => {\n return new Function(`return class ${classPrefix}_${eventName} {\n constructor(payload) {\n Object.assign(this, payload);\n }\n }`)();\n};\n\nconst createDynamicRequestHandler = (handler: messageHandler) =>\n createDynamicMessageHandler(handler, \"RequestHandler\");\nconst createDynamicEventHandler = (handler: messageHandler) =>\n createDynamicMessageHandler(handler, \"EventHandler\");\n\nconst createDynamicMessageHandler = (handler: messageHandler, classPrefix: string) => {\n const className = `${classPrefix}_${Math.floor(Math.random() * 10000)}`; // Generate a random class name\n return new Function(\n \"handler\",\n `return class ${className}{\n handle(notification){\n const handlerResult = handler({...notification});\n return handlerResult instanceof Promise ? handlerResult : Promise.resolve(handlerResult);\n }\n }`,\n )(handler);\n};\n\nexport const createBroker = (): PrimariaBroker => new Broker();\n","import {\n ApiFactory,\n HarmonixApi,\n IRegionManager,\n PluginInfo,\n createRegionHost,\n createRegionManager,\n} from \"@uxland/harmonix\";\nimport { createLocaleManager } from \"./localization/localization\";\nimport { PrimariaRegionManager, createRegionManagerProxy } from \"../region-manager\";\nimport {\n PrimariaInteractionManager,\n createInteractionManager,\n} from \"./interaction-manager/interaction\";\nimport { PrimariaGlobalStateManager, createGlobalStateManager } from \"./global-state/global-state\";\nimport { PrimariaBroker } from \"./broker/primaria-broker\";\nimport { createBroker } from \"./broker/factory\";\nconst broker = createBroker();\n\ninterface PrimariaHttpClient {\n get(url: string): Promise<any>;\n post(url: string, data: any): Promise<any>;\n}\n\nexport interface PrimariaApi extends HarmonixApi {\n httpClient: PrimariaHttpClient;\n interactionManager: PrimariaInteractionManager;\n broker: PrimariaBroker;\n regionManager: PrimariaRegionManager;\n globalStateManager: PrimariaGlobalStateManager;\n}\n\nconst regionManager: IRegionManager = createRegionManager(\"primaria\");\nexport const PrimariaRegionHost: any = createRegionHost(regionManager as any);\n\n/**\n * Factory function that creates a Primaria API instance.\n *\n * @param {PluginInfo} pluginInfo - Information about the plugin\n * @return {PrimariaApi} The created Primaria API instance\n */\nexport const primariaApiFactory: ApiFactory<PrimariaApi> = (\n pluginInfo: PluginInfo,\n): PrimariaApi => {\n return {\n pluginInfo: pluginInfo,\n regionManager: createRegionManagerProxy(pluginInfo, regionManager),\n httpClient: {\n get: (url: string) => fetch(url).then((r) => r.json()),\n post: (url: string, data: any) =>\n fetch(url, {\n method: \"POST\",\n body: JSON.stringify(data),\n }).then((r) => r.json()),\n },\n interactionManager: { ...createInteractionManager() },\n broker: broker,\n createLocaleManager: createLocaleManager(pluginInfo.pluginId) as any,\n globalStateManager: createGlobalStateManager(broker),\n };\n};\n\nexport const shellApi = primariaApiFactory({ pluginId: \"primaria-shell\" }) as PrimariaApi;\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport styles from \"./styles.scss?inline\";\nimport { template } from \"./template\";\nimport { PrimariaRegionHost } from \"../../../api/api\";\nimport { IRegion, region } from \"@uxland/regions\";\nimport { clinicalMonitoringRegions } from \"../../../regions\";\n\n//@ts-ignore\n@customElement(\"clinical-monitoring\")\nexport class ClinicalMonitoring extends PrimariaRegionHost(LitElement) {\n render() {\n return html`${template(this)}`;\n }\n\n static styles = css`\n ${unsafeCSS(styles)}\n `;\n\n @region({ targetId: \"widgets-sidebar-region\", name: clinicalMonitoringRegions.sidebar })\n sidebarRegion: IRegion | undefined;\n\n @region({ targetId: \"header-widgets-region\", name: clinicalMonitoringRegions.header })\n headerRegion: IRegion | undefined;\n\n @region({ targetId: \"content-widgets-region\", name: clinicalMonitoringRegions.content })\n contentRegion: IRegion | undefined;\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=e=>n=>\"function\"==typeof n?((e,n)=>(customElements.define(e,n),n))(e,n):((e,n)=>{const{kind:t,elements:s}=n;return{kind:t,elements:s,finisher(n){customElements.define(e,n)}}})(e,n);export{e as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst i=(i,e)=>\"method\"===e.kind&&e.descriptor&&!(\"value\"in e.descriptor)?{...e,finisher(n){n.createProperty(e.key,i)}}:{kind:\"field\",key:Symbol(),placement:\"own\",descriptor:{},originalKey:e.key,initializer(){\"function\"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(n){n.createProperty(e.key,i)}},e=(i,e,n)=>{e.constructor.createProperty(n,i)};function n(n){return(t,o)=>void 0!==o?e(n,t,o):i(n,t)}export{n as property};\n//# sourceMappingURL=property.js.map\n","import{decorateProperty as o}from\"./base.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var n;const e=null!=(null===(n=window.HTMLSlotElement)||void 0===n?void 0:n.prototype.assignedElements)?(o,n)=>o.assignedElements(n):(o,n)=>o.assignedNodes(n).filter((o=>o.nodeType===Node.ELEMENT_NODE));function l(n){const{slot:l,selector:t}=null!=n?n:{};return o({descriptor:o=>({get(){var o;const r=\"slot\"+(l?`[name=${l}]`:\":not([name])\"),i=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(r),s=null!=i?e(i,n):[];return t?s.filter((o=>o.matches(t))):s},enumerable:!0,configurable:!0})})}export{l as queryAssignedElements};\n//# sourceMappingURL=query-assigned-elements.js.map\n","import { css } from 'lit';\n// Material Symbols\nexport const symbolStyles = css `\n .dss-icon,\n .material-symbols-rounded {\n font-family: 'Material Symbols Rounded';\n font-weight: normal;\n font-style: normal;\n display: inline-block;\n line-height: 1;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: normal;\n white-space: nowrap;\n direction: ltr;\n -webkit-font-feature-settings: 'liga';\n -webkit-font-smoothing: antialiased;\n font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;\n }\n\n .dss-icon--fill,\n .material-symbols-rounded--fill {\n font-variation-settings: 'FILL' 1;\n }\n\n .dss-icon--sm {\n font-size: var(--icon-size-sm);\n }\n\n .dss-icon--md {\n font-size: var(--icon-size-md);\n }\n\n .dss-icon--lg {\n font-size: var(--icon-size-lg);\n }\n\n .dss-icon--xl {\n font-size: var(--icon-size-xl);\n }\n`;\n//# sourceMappingURL=symbol.style.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nlet Avatar = class Avatar extends LitElement {\n constructor() {\n super(...arguments);\n this._acronym = '';\n this._name = '';\n this._surname = '';\n this._imageUrl = '';\n this._size = 'md';\n }\n static get styles() {\n return [\n symbolStyles,\n css `\n :host {\n display: inline-block;\n width: fit-content;\n height: fit-content;\n }\n\n .dss-avatar {\n border-radius: 100%;\n background-color: #f5f5f5;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #656565;\n text-transform: uppercase;\n }\n\n .dss-avatar.dss-avatar--border {\n box-shadow: inset 0 0 0 1px #d8d8d8;\n }\n\n .dss-avatar .dss-avatar__icon {\n font-weight: 500;\n }\n\n .dss-avatar .dss-avatar__font {\n font-weight: 600;\n }\n\n .dss-avatar .dss-avatar__img {\n border-radius: 100%;\n height: 100%;\n }\n\n .dss-avatar--sm {\n width: 24px;\n height: 24px;\n }\n\n .dss-avatar--md {\n width: 32px;\n height: 32px;\n }\n\n .dss-avatar--lg {\n width: 40px;\n height: 40px;\n }\n\n .dss-avatar--xl {\n width: 48px;\n height: 48px;\n }\n\n .dss-avatar--sm .dss-avatar__icon {\n font-size: 16px;\n }\n\n .dss-avatar--md .dss-avatar__icon {\n font-size: 16px;\n }\n\n .dss-avatar--lg .dss-avatar__icon {\n font-size: 24px;\n }\n\n .dss-avatar--xl .dss-avatar__icon {\n font-size: 32px;\n }\n\n .dss-avatar--sm .dss-avatar__font {\n font-size: 12px;\n line-height: 16px;\n }\n\n .dss-avatar--md .dss-avatar__font,\n .dss-avatar--lg .dss-avatar__font {\n font-size: 14px;\n line-height: 24px;\n }\n\n .dss-avatar--xl .dss-avatar__font {\n font-size: 16px;\n line-height: 24px;\n }\n `,\n ];\n }\n set name(name) {\n const oldValue = this._name;\n this._name = name;\n this.requestUpdate('name', oldValue);\n }\n set surname(surname) {\n const oldValue = this._surname;\n this._surname = surname;\n this.requestUpdate('surname', oldValue);\n }\n set imageUrl(imageUrl) {\n const oldValue = this._imageUrl;\n this._imageUrl = imageUrl;\n this.requestUpdate('imageUrl', oldValue);\n }\n set size(size) {\n const oldValue = this._size;\n this._size = size;\n this.requestUpdate('size', oldValue);\n }\n render() {\n const cssClass = !this._imageUrl ? 'dss-avatar--border' : '';\n return html `\n <div class=\"dss-avatar dss-avatar--${this._size} ${cssClass}\">\n ${this._imageUrl\n ? html `<img\n class=\"dss-avatar__img\"\n src=\"${this._imageUrl}\"\n alt=\"avatar\"\n />`\n : html `${this._acronym\n ? html `<span class=\"dss-avatar__font\">${this._acronym}</span>`\n : html `<span class=\"material-symbols-rounded dss-avatar__icon\">\n person\n </span>`}`}\n </div>\n `;\n }\n willUpdate(changedProperties) {\n const name = changedProperties.has('name');\n const surname = changedProperties.has('surname');\n if (name || surname) {\n this.formatAcronym();\n }\n }\n formatAcronym() {\n var _a, _b;\n let initials = (_a = this._name) === null || _a === void 0 ? void 0 : _a.trim().substring(0, 1).toUpperCase();\n if (!!this._name && !!this._surname) {\n initials += this._surname.trim().substring(0, 1).toUpperCase();\n }\n else {\n initials = (_b = this._name) === null || _b === void 0 ? void 0 : _b.trim().substring(0, 2).toUpperCase();\n }\n this._acronym = initials;\n this.requestUpdate('acronym', initials);\n }\n};\n__decorate([\n property({ type: String })\n], Avatar.prototype, \"name\", null);\n__decorate([\n property({ type: String })\n], Avatar.prototype, \"surname\", null);\n__decorate([\n property({ type: String })\n], Avatar.prototype, \"imageUrl\", null);\n__decorate([\n property({ type: String })\n], Avatar.prototype, \"size\", null);\nAvatar = __decorate([\n customElement('dss-avatar')\n], Avatar);\nexport { Avatar };\n//# sourceMappingURL=avatar.js.map","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let d,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(l=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[d++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?H:\"?\"===i[1]?L:\"@\"===i[1]?z:k})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],u()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],u())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const u=d(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==u&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===u?r=void 0:(r=new u(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=S(t,r._$AS(t,i.values),r,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,u=e[0];for(;void 0!==u;){if(l===u.index){let i;2===u.type?i=new R(n,n.nextSibling,this,t):1===u.type?i=new u.ctor(n,u.name,u.strings,this,t):6===u.type&&(i=new Z(n,this,t)),this._$AV.push(i),u=e[++h]}l!==(null==u?void 0:u.index)&&(n=C.nextNode(),l++)}return C.currentNode=r,o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),d(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&d(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=N.createElement(P(e.h,e.h[0]),this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new M(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new N(t)),i}T(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new R(this.k(u()),this.k(u()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class k{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=S(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!d(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const I=s?s.emptyScript:\"\";class L extends k{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,I):this.element.removeAttribute(this.name)}}class z extends k{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=S(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const j={O:o,P:n,A:l,C:1,M:V,L:M,R:v,D:S,I:R,V:k,H:L,N:z,U:H,F:Z},B=i.litHtmlPolyfillSupport;null==B||B(N,R),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.8.0\");const D=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as i,Directive as s,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=i(class extends s{constructor(t){var i;if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||(null===(i=t.strings)||void 0===i?void 0:i.length)>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((i=>t[i])).join(\" \")+\" \"}update(i,[s]){var r,o;if(void 0===this.it){this.it=new Set,void 0!==i.strings&&(this.nt=new Set(i.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in s)s[t]&&!(null===(r=this.nt)||void 0===r?void 0:r.has(t))&&this.it.add(t);return this.render(s)}const e=i.element.classList;this.it.forEach((t=>{t in s||(e.remove(t),this.it.delete(t))}));for(const t in s){const i=!!s[t];i===this.it.has(t)||(null===(o=this.nt)||void 0===o?void 0:o.has(t))||(i?(e.add(t),this.it.add(t)):(e.remove(t),this.it.delete(t)))}return t}});export{o as classMap};\n//# sourceMappingURL=class-map.js.map\n","/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument) {\n const argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (\n argument instanceof Date ||\n (typeof argument === \"object\" && argStr === \"[object Date]\")\n ) {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new argument.constructor(+argument);\n } else if (\n typeof argument === \"number\" ||\n argStr === \"[object Number]\" ||\n typeof argument === \"string\" ||\n argStr === \"[object String]\"\n ) {\n // TODO: Can we get rid of as?\n return new Date(argument);\n } else {\n // TODO: Can we get rid of as?\n return new Date(NaN);\n }\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The end of a month\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport function endOfMonth(date) {\n const _date = toDate(date);\n const month = _date.getMonth();\n _date.setFullYear(_date.getFullYear(), month + 1, 0);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default endOfMonth;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * The {@link eachDayOfInterval} function options.\n */\n\n/**\n * @name eachDayOfInterval\n * @category Interval Helpers\n * @summary Return the array of dates within the specified time interval.\n *\n * @description\n * Return the array of dates within the specified time interval.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param interval - The interval.\n * @param options - An object with options.\n *\n * @returns The array with starts of days from the day of the interval start to the day of the interval end\n *\n * @example\n * // Each day between 6 October 2014 and 10 October 2014:\n * const result = eachDayOfInterval({\n * start: new Date(2014, 9, 6),\n * end: new Date(2014, 9, 10)\n * })\n * //=> [\n * // Mon Oct 06 2014 00:00:00,\n * // Tue Oct 07 2014 00:00:00,\n * // Wed Oct 08 2014 00:00:00,\n * // Thu Oct 09 2014 00:00:00,\n * // Fri Oct 10 2014 00:00:00\n * // ]\n */\nexport function eachDayOfInterval(interval, options) {\n const startDate = toDate(interval.start);\n const endDate = toDate(interval.end);\n\n let reversed = +startDate > +endDate;\n const endTime = reversed ? +startDate : +endDate;\n const currentDate = reversed ? endDate : startDate;\n currentDate.setHours(0, 0, 0, 0);\n\n let step = options?.step ?? 1;\n if (!step) return [];\n if (step < 0) {\n step = -step;\n reversed = !reversed;\n }\n\n const dates = [];\n\n while (+currentDate <= endTime) {\n dates.push(toDate(currentDate));\n currentDate.setDate(currentDate.getDate() + step);\n currentDate.setHours(0, 0, 0, 0);\n }\n\n return reversed ? dates.reverse() : dates;\n}\n\n// Fallback for modularized imports:\nexport default eachDayOfInterval;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The original date\n *\n * @returns The start of a month\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfMonth(date) {\n const _date = toDate(date);\n _date.setDate(1);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfMonth;\n","import { toDate } from \"./toDate.mjs\";\n\n/**\n * @name getDay\n * @category Weekday Helpers\n * @summary Get the day of the week of the given date.\n *\n * @description\n * Get the day of the week of the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The given date\n *\n * @returns The day of week, 0 represents Sunday\n *\n * @example\n * // Which day of the week is 29 February 2012?\n * const result = getDay(new Date(2012, 1, 29))\n * //=> 3\n */\nexport function getDay(date) {\n const _date = toDate(date);\n const day = _date.getDay();\n return day;\n}\n\n// Fallback for modularized imports:\nexport default getDay;\n","import { css } from 'lit';\n// Buttons variations\nexport const buttonStyles = css `\n .dss-button {\n border-radius: 128px;\n border: none;\n cursor: pointer;\n font-weight: var(--font-semibold);\n display: flex;\n align-items: center;\n transition: 0.3s all ease-in;\n width: fit-content;\n height: fit-content;\n box-sizing: border-box;\n }\n\n .dss-button:focus-visible {\n outline: var(--dss-border-width-lg) solid var(--color-primary-200);\n }\n\n .dss-button:disabled {\n background: var(--color-neutral-100);\n color: var(--color-neutral-600);\n cursor: not-allowed;\n }\n\n .dss-button:active:enabled {\n transition: none;\n }\n\n .dss-button-icon {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n\n .dss-button-icon .dss-icon,\n .dss-button-icon .dss-icon .path1::before,\n .dss-button-icon .dss-icon .path2::before {\n color: inherit;\n }\n\n .dss-button--primary {\n background-color: var(--color-primary-500);\n color: var(--color-white);\n }\n\n .dss-button--primary:hover:enabled {\n background-color: var(--color-primary-600);\n }\n\n .dss-button--primary:active:enabled {\n background-color: var(--color-primary-400);\n }\n\n .dss-button--primary:disabled {\n background: var(--color-neutral-100);\n color: var(--color-neutral-600);\n cursor: not-allowed;\n }\n\n .dss-button--secondary {\n background-color: transparent;\n border: var(--dss-border-width-sm) solid var(--color-primary-600);\n color: var(--color-primary-600);\n }\n\n .dss-button--secondary:hover:enabled {\n border: var(--dss-border-width-sm) solid var(--color-primary-700);\n color: var(--color-primary-700);\n background-color: var(--color-primary-50);\n }\n\n .dss-button--secondary:active:enabled {\n border: var(--dss-border-width-sm) solid var(--color-primary-500);\n color: var(--color-primary-500);\n }\n\n .dss-button--secondary:focus-visible {\n border-color: transparent;\n outline: var(--dss-border-width-lg) solid var(--color-primary-200);\n }\n\n .dss-button--secondary:disabled {\n background: transparent;\n border-color: var(--color-neutral-500);\n color: var(--color-neutral-500);\n cursor: not-allowed;\n }\n\n .dss-button--subtle {\n color: var(--color-primary-600);\n background: none;\n }\n\n .dss-button--subtle:hover:enabled {\n color: var(--color-primary-800);\n background-color: var(--color-primary-50);\n }\n\n .dss-button--subtle:active:enabled {\n color: var(--color-primary-500);\n }\n\n .dss-button--subtle:disabled {\n cursor: not-allowed;\n color: var(--color-neutral-500);\n background: none;\n }\n\n .dss-button--error {\n background-color: var(--color-red-500);\n color: var(--color-white);\n }\n\n .dss-button--error:hover:enabled {\n background-color: var(--color-red-600);\n }\n\n .dss-button--error:active:enabled {\n background-color: var(--color-red-400);\n }\n\n .dss-button--error:disabled {\n background: var(--color-neutral-100);\n color: var(--color-neutral-600);\n cursor: not-allowed;\n }\n\n .dss-button--warning {\n color: var(--color-yellow-900);\n background-color: var(--color-yellow-500);\n }\n\n .dss-button--warning:hover:enabled {\n background-color: var(--color-yellow-600);\n }\n\n .dss-button--warning:active:enabled {\n background-color: var(--color-yellow-400);\n }\n\n .dss-button--warning:disabled {\n background: var(--color-neutral-100);\n color: var(--color-neutral-600);\n cursor: not-allowed;\n }\n\n .dss-button--success {\n background-color: var(--color-green-500);\n color: var(--color-white);\n }\n\n .dss-button--success:hover:enabled {\n background-color: var(--color-green-600);\n }\n\n .dss-button--success:active:enabled {\n background-color: var(--color-green-400);\n }\n\n .dss-button--success:disabled {\n background: var(--color-neutral-100);\n color: var(--color-neutral-600);\n cursor: not-allowed;\n }\n\n .dss-button--info {\n background-color: var(--color-blue-500);\n color: var(--color-white);\n }\n\n .dss-button--info:hover:enabled {\n background-color: var(--color-blue-600);\n }\n\n .dss-button--info:active:enabled {\n background-color: var(--color-blue-400);\n }\n\n .dss-button--info:disabled {\n background: var(--color-neutral-100);\n color: var(--color-neutral-600);\n cursor: not-allowed;\n }\n\n .dss-button--sm {\n padding: var(--dss-spacing-xxs) var(--dss-spacing-sm);\n font-size: 12px;\n line-height: 16px;\n }\n\n .dss-button--sm.dss-button--icon-left {\n padding: var(--dss-spacing-xxs) var(--dss-spacing-sm) var(--dss-spacing-xxs)\n var(--dss-spacing-xs);\n }\n\n .dss-button--sm.dss-button--icon-right {\n padding: var(--dss-spacing-xxs) var(--dss-spacing-xs) var(--dss-spacing-xxs)\n var(--dss-spacing-sm);\n }\n\n .dss-button--sm.dss-button--icon-right > [class^='material-'],\n .dss-button--sm.dss-button--icon-right > .dss-icon {\n margin-left: var(--dss-spacing-xxs);\n font-size: 16px;\n }\n\n .dss-button--sm.dss-button--icon-left > [class^='material-'],\n .dss-button--sm.dss-button--icon-left > .dss-icon {\n margin-right: var(--dss-spacing-xxs);\n font-size: 16px;\n }\n\n .dss-button--sm.dss-button--only-icon {\n padding: var(--dss-spacing-xxs);\n font-size: 16px;\n }\n\n .dss-button--md {\n padding: var(--dss-spacing-xxs) var(--dss-spacing-md) var(--dss-spacing-xxs)\n var(--dss-spacing-md);\n font-size: 14px;\n line-height: 24px;\n }\n\n .dss-button--md.dss-button--icon-left {\n padding: var(--dss-spacing-xxs) var(--dss-spacing-md) var(--dss-spacing-xxs)\n var(--dss-spacing-sm);\n }\n\n .dss-button--md.dss-button--icon-right {\n padding: var(--dss-spacing-xxs) var(--dss-spacing-sm) var(--dss-spacing-xxs)\n var(--dss-spacing-md);\n }\n\n .dss-button--md.dss-button--icon-right > [class^='material-'],\n .dss-button--md.dss-button--icon-right > .dss-icon {\n margin-left: var(--dss-spacing-xxs);\n font-size: 16px;\n }\n\n .dss-button--md.dss-button--icon-left > [class^='material-'],\n .dss-button--md.dss-button--icon-left > .dss-icon {\n margin-right: var(--dss-spacing-xxs);\n font-size: 16px;\n }\n\n .dss-button--md.dss-button--only-icon {\n padding: var(--dss-spacing-xs);\n font-size: 16px;\n }\n\n .dss-button--lg {\n padding: var(--dss-spacing-xs) var(--dss-spacing-lg);\n font-size: 16px;\n line-height: 24px;\n }\n\n .dss-button--lg.dss-button--icon-left {\n padding: var(--dss-spacing-xs) var(--dss-spacing-lg) var(--dss-spacing-xs)\n var(--dss-spacing-md);\n }\n\n .dss-button--lg.dss-button--icon-right {\n padding: var(--dss-spacing-xs) var(--dss-spacing-md) var(--dss-spacing-xs)\n var(--dss-spacing-lg);\n }\n\n .dss-button--lg.dss-button--icon-right > [class^='material-'],\n .dss-button--lg.dss-button--icon-right > .dss-icon {\n margin-left: var(--dss-spacing-xs);\n font-size: 16px;\n }\n\n .dss-button--lg.dss-button--icon-left > [class^='material-'],\n .dss-button--lg.dss-button--icon-left > .dss-icon {\n margin-right: var(--dss-spacing-xs);\n font-size: 16px;\n }\n\n .dss-button--lg.dss-button--only-icon {\n padding: var(--dss-spacing-xs);\n font-size: 24px;\n }\n\n .dss-button--icon-left {\n flex-direction: row;\n }\n\n .dss-button--icon-right {\n flex-direction: row-reverse;\n }\n`;\n//# sourceMappingURL=button.style.js.map","import { css } from 'lit';\n// Icon Buttons variations\nexport const iconButtonStyles = css `\n .dss-icon-button {\n background-color: transparent;\n border-radius: 100%;\n border: none;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: 0.3s all ease-in;\n width: fit-content;\n height: fit-content;\n }\n\n /* Define states */\n .dss-icon-button:disabled {\n cursor: not-allowed;\n color: var(--color-neutral-500);\n }\n\n .dss-icon-button:focus-visible:enabled {\n outline: var(--dss-spacing-xxs) solid var(--color-blue-200);\n transition: none;\n }\n\n .dss-icon-button--default {\n color: var(--color-neutral-700);\n }\n\n .dss-icon-button--default:hover:enabled {\n background-color: var(--color-neutral-100);\n }\n\n .dss-icon-button--default:active:enabled {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-900);\n transition: none;\n }\n\n .dss-icon-button--white-default {\n color: var(--color-white);\n }\n\n .dss-icon-button--white-default:hover:enabled {\n background-color: var(--color-neutral-100);\n }\n\n .dss-icon-button--white-default:active:enabled {\n background-color: var(--color-neutral-50);\n transition: none;\n }\n\n .dss-icon-button--white-default:disabled {\n opacity: 0.4;\n color: var(--color-white);\n }\n\n .dss-icon-button--primary {\n color: var(--color-primary-700);\n }\n\n .dss-icon-button--primary:hover:enabled {\n background-color: var(--color-primary-100);\n color: var(--color-primary-800);\n }\n\n .dss-icon-button--primary:active:enabled {\n background-color: var(--color-primary-50);\n transition: none;\n color: var(--color-primary-500);\n }\n\n .dss-icon-button--error {\n color: var(--color-red-500);\n }\n\n .dss-icon-button--error:hover:enabled {\n background-color: var(--color-red-100);\n color: var(--color-red-700);\n }\n\n .dss-icon-button--error:active:enabled {\n background-color: var(--color-red-50);\n color: var(--color-red-700);\n }\n\n .dss-icon-button--warning {\n color: var(--color-yellow-700);\n }\n\n .dss-icon-button--warning:hover:enabled {\n background-color: var(--color-yellow-100);\n }\n\n .dss-icon-button--warning:active:enabled {\n background-color: var(--color-yellow-50);\n }\n\n .dss-icon-button--success {\n color: var(--color-green-500);\n }\n\n .dss-icon-button--success:hover:enabled {\n background-color: var(--color-green-100);\n color: var(--color-green-700);\n }\n\n .dss-icon-button--success:active:enabled {\n background-color: var(--color-green-50);\n color: var(--color-green-700);\n }\n\n .dss-icon-button--info {\n color: var(--color-blue-500);\n }\n\n .dss-icon-button--info:hover:enabled {\n background-color: var(--color-blue-100);\n color: var(--color-blue-700);\n }\n\n .dss-icon-button--info:active:enabled {\n background-color: var(--color-blue-50);\n color: var(--color-blue-700);\n }\n\n /* Define sizes */\n .dss-icon-button--sm {\n font-size: var(--icon-size-sm);\n padding: var(--dss-spacing-xxs);\n }\n\n .dss-icon-button--md {\n font-size: var(--icon-size-md);\n padding: var(--dss-spacing-xxs);\n }\n\n .dss-icon-button--lg {\n font-size: var(--icon-size-lg);\n padding: var(--dss-spacing-xxs);\n }\n\n .dss-icon-button--xl {\n font-size: var(--icon-size-xl);\n padding: var(--dss-spacing-xxs);\n }\n`;\n//# sourceMappingURL=icon-button.style.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { startOfMonth, endOfMonth, eachDayOfInterval, getDay } from 'date-fns';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { buttonStyles } from './shared-styles/button.style';\nimport { iconButtonStyles } from './shared-styles/icon-button.style';\nconst MONTH = [\n 'Gener',\n 'Febrer',\n 'Març',\n 'Abril',\n 'Maig',\n 'Juny',\n 'Juliol',\n 'Agost',\n 'Setembre',\n 'Octubre',\n 'Novembre',\n 'Desembre',\n];\nconst WEEK = ['dl', 'dm', 'dc', 'dj', 'dv', 'ds', 'dg'];\nlet Calendar = class Calendar extends LitElement {\n constructor() {\n super(...arguments);\n this._timepicker = '';\n this._minutesRange = 1;\n this._minHour = 0;\n this._maxHour = 23;\n this._customTimeListOptions = [];\n this._timepickerLabel = '';\n this._date = new Date();\n this._currYear = this._date.getFullYear();\n this._currMonth = this._date.getMonth();\n // private _currHour = this._date.getHours();\n this._currHour = undefined;\n // private _currMin = this._date.getMinutes();\n // private _currMin = '';\n this._currMin = undefined;\n this._days = this._getDays();\n this._selectedDate = null;\n this._showTime = false;\n this._showButtons = true;\n this._leftLabel = 'Cancel·lar';\n this._rightLabel = 'Seleccionar';\n this._minDate = null;\n this._maxDate = null;\n this._timepickerValue = '';\n this._showMonthSelector = false;\n this._showYearSelector = false;\n this._yearsRangeStart = new Date().getFullYear() - 18;\n this._yearsRangeEnd = new Date().getFullYear() + 1;\n }\n static get styles() {\n return [\n symbolStyles,\n buttonStyles,\n iconButtonStyles,\n css `\n :host {\n display: inline-block;\n width: fit-content;\n height: fit-content;\n }\n\n .calendar__container {\n position: relative;\n background: #ffffff;\n box-shadow: 0px 4px 8px 3px rgba(0, 0, 0, 0.05),\n 0px 1px 3px rgba(0, 0, 0, 0.1);\n border-radius: var(--dss-radius-sm);\n }\n\n .calendar__content {\n padding: var(--dss-spacing-md);\n border-radius: 8px 8px 0 0;\n }\n\n .calendar__content--buttons {\n border-top: var(--dss-border-width-sm) solid var(--color-neutral-100);\n }\n\n .calendar__content:last-child {\n border-radius: 0 0 8px 8px;\n box-shadow: none;\n }\n\n .calendar__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--dss-spacing-xs);\n margin-bottom: 16px;\n }\n\n .calendar__header-item {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: var(--dss-spacing-xxs);\n }\n\n .calendar__header-item--click {\n font-weight: var(--font-semibold);\n color: var(--color-neutral-900);\n border-radius: var(--dss-radius-xs);\n padding: var(--dss-spacing-xxs);\n cursor: pointer;\n }\n\n .calendar__header-item--click:hover {\n background-color: var(--color-primary-50);\n }\n\n .calendar__header-item--click:active {\n background-color: var(--color-primary-100);\n }\n\n .calendar__header-item--click:focus-visible {\n outline: var(--dss-border-width-lg) solid var(--color-blue-200);\n }\n\n .calendar__header-item--click:disabled {\n cursor: not-allowed;\n color: (--color-neutral-500);\n }\n\n .calendar__header-buttons .dss-icon-button.dss-icon-button--lg,\n .calendar-selector--year .dss-icon-button.dss-icon-button--lg {\n width: 32px;\n height: 32px;\n box-sizing: border-box;\n }\n\n .calendar__header-title {\n margin: auto;\n font-family: var(--font-family);\n font-style: normal;\n font-weight: 600;\n font-size: 16px;\n line-height: 24px;\n color: #414141;\n }\n\n .calendar__days-content {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .calendar__week-names,\n .calendar__days {\n list-style-type: none;\n padding: 0;\n margin: 0;\n gap: 8px 6px;\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n }\n\n .calendar__day-item {\n height: 32px;\n width: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: transparent;\n border-radius: 100%;\n border: none;\n }\n\n .calendar__day-item {\n border-radius: 100%;\n cursor: pointer;\n font-weight: 400;\n font-size: 14px;\n line-height: 24px;\n color: #1d1d1d;\n }\n\n .calendar__day-item--active {\n color: #0073e6;\n box-shadow: inset 0 0 0 2px #0073e6;\n }\n\n .calendar__day-item:hover:enabled,\n .calendar__day-item--selected {\n background: #0073e6;\n color: #ffffff;\n }\n\n .calendar__day-item:hover:enabled {\n transition: all 0.3s ease-in;\n }\n\n .calendar__day-item:active:enabled {\n background: #308deb;\n transition: none;\n }\n\n .calendar__day-item:disabled {\n pointer-events: none;\n opacity: 0.5;\n }\n\n .calendar__time-container {\n display: flex;\n margin: auto;\n justify-content: center;\n align-items: center;\n gap: 12px;\n font-weight: 600;\n font-size: 14px;\n line-height: 24px;\n color: #1d1d1d;\n }\n\n .calendar__time-content {\n display: flex;\n flex-direction: column;\n gap: 8px;\n align-items: center;\n }\n\n .calendar__buttons {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 16px;\n }\n\n .dss-datepicker__timepicker {\n position: relative;\n box-sizing: border-box;\n padding: var(--dss-spacing-xs) var(--dss-spacing-md)\n var(--dss-spacing-md);\n }\n\n .calendar-selector {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n padding: var(--dss-spacing-md);\n background-color: var(--color-white);\n z-index: 900;\n border-radius: var(--dss-radius-sm);\n }\n\n .calendar-selector-title {\n font-size: 16px;\n line-height: 24px;\n font-weight: var(--font-semibold);\n margin-bottom: var(--dss-spacing-md);\n }\n\n .calendar-selector-title__actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 0;\n }\n\n .calendar-selector-title--years {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--dss-spacing-xs);\n }\n\n .calendar-selector-options {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: var(--dss-spacing-xs);\n }\n\n .calendar-selector-options--4col {\n grid-template-columns: repeat(4, 1fr);\n }\n\n .calendar-selector-options__item {\n height: 32px;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 14px;\n font-weight: var(--font-semibold);\n text-transform: lowercase;\n text-align: center;\n color: var(--color-neutral-900);\n border-radius: var(--dss-radius-xs);\n overflow: hidden;\n cursor: pointer;\n }\n\n .calendar-selector-options__item--current {\n color: var(--color-primary-700);\n }\n\n .calendar-selector-options__item--selected {\n background-color: var(--color-primary-500);\n color: var(--color-white);\n }\n\n .calendar-selector-options__item:hover {\n background-color: var(--color-primary-600);\n color: var(--color-white);\n }\n\n .calendar-selector-options__item:active {\n background-color: var(--color-primary-400);\n color: var(--color-white);\n }\n\n .calendar-selector-options__item:focus-visible {\n outline: var(--dss-border-width-lg) solid var(--color-blue-200);\n }\n\n .calendar-selector-options__item:disabled {\n cursor: not-allowed;\n color: (--color-neutral-500);\n }\n `,\n ];\n }\n set selectedDate(selectedDate) {\n const oldValue = this._selectedDate;\n this._selectedDate = this._getDateString(selectedDate);\n this._updateCurrentDate();\n this.requestUpdate('selectedDate', oldValue);\n }\n set minDate(minDate) {\n const oldValue = this._minDate;\n this._minDate = this._getDateString(minDate);\n this.requestUpdate('minDate', oldValue);\n }\n set maxDate(maxDate) {\n const oldValue = this._maxDate;\n this._maxDate = this._getDateString(maxDate);\n this.requestUpdate('maxDate', oldValue);\n }\n set showTime(showTime) {\n const oldValue = this._showTime;\n this._showTime = showTime;\n this.requestUpdate('showTime', oldValue);\n }\n set showButtons(showButtons) {\n const oldValue = this._showButtons;\n this._showButtons = showButtons;\n this.requestUpdate('showButtons', oldValue);\n }\n set leftLabel(leftLabel) {\n const oldValue = this._leftLabel;\n this._leftLabel = leftLabel;\n this.requestUpdate('leftLabel', oldValue);\n }\n set rightLabel(rightLabel) {\n const oldValue = this._rightLabel;\n this._rightLabel = rightLabel;\n this.requestUpdate('rightLabel', oldValue);\n }\n set timepicker(value) {\n const oldValue = this._timepicker;\n this._timepicker = value;\n this.requestUpdate('timepicker', oldValue);\n }\n set minutesRange(value) {\n const oldValue = this._minutesRange;\n this._minutesRange = value;\n this.requestUpdate('minutesRange', oldValue);\n }\n set minHour(value) {\n const oldValue = this._minHour;\n this._minHour = value;\n this.requestUpdate('minHour', oldValue);\n }\n set maxHour(value) {\n const oldValue = this._maxHour;\n this._maxHour = value;\n this.requestUpdate('maxHour', oldValue);\n }\n set customTimeListOptions(options) {\n const oldValue = this._customTimeListOptions;\n this._customTimeListOptions = options;\n this.requestUpdate('customTimeListOptions', oldValue);\n }\n set timepickerLabel(label) {\n const oldValue = this._timepickerLabel;\n this._timepickerLabel = label;\n this.requestUpdate('timepickerLabel', oldValue);\n }\n _prev() {\n this._currMonth -= 1;\n this._update();\n }\n _next() {\n this._currMonth += 1;\n this._update();\n }\n _update() {\n if (this._currMonth < 0 || this._currMonth > 11) {\n this._date = new Date(this._currYear, this._currMonth, new Date().getDate());\n this._currYear = this._date.getFullYear();\n this._currMonth = this._date.getMonth();\n }\n this._days = this._getDays();\n this.requestUpdate();\n }\n _getDays() {\n const days = [];\n const startDate = startOfMonth(new Date(this._currYear, this._currMonth));\n const endDate = endOfMonth(new Date(this._currYear, this._currMonth));\n const daysOfMonth = eachDayOfInterval({ start: startDate, end: endDate });\n const firstDayOfMonth = getDay(startDate);\n // Populate last month days if firstDay is not Sunday\n for (let i = firstDayOfMonth === 0 ? 6 : firstDayOfMonth - 1; i > 0; i -= 1) {\n days.push(0);\n }\n // Populate days for current month\n for (const day of daysOfMonth) {\n days.push(day.getDate());\n }\n return days;\n }\n _isToday(day) {\n const _today = new Date();\n return (day === _today.getDate() &&\n this._currMonth === _today.getMonth() &&\n this._currYear === _today.getFullYear());\n }\n _isInactive(day) {\n const date = new Date(this._currYear, this._currMonth, day);\n if (!day) {\n return true;\n }\n if (this._minDate && this._maxDate) {\n return !(date >= this._minDate && date <= this._maxDate);\n }\n if (this._minDate) {\n return !(date >= this._minDate);\n }\n if (this._maxDate) {\n return !(date <= this._maxDate);\n }\n return false;\n }\n _isSelected(day) {\n var _a, _b, _c;\n return (day === ((_a = this._selectedDate) === null || _a === void 0 ? void 0 : _a.getDate()) &&\n this._currMonth === ((_b = this._selectedDate) === null || _b === void 0 ? void 0 : _b.getMonth()) &&\n this._currYear === ((_c = this._selectedDate) === null || _c === void 0 ? void 0 : _c.getFullYear()));\n }\n _selectDate(day) {\n this._selectedDate = new Date(this._currYear, this._currMonth, day);\n // if (this._showTime) {\n // this._selectedDate.setHours(this._currHour, this._currMin);\n // }\n this.requestUpdate();\n if (this._showButtons) {\n return;\n }\n this._emitDate();\n }\n _onCancel() {\n const onCancel = new CustomEvent('onCancel', {\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(onCancel);\n }\n _onAccept() {\n this._emitDate();\n }\n _emitDate() {\n var _a, _b, _c, _d, _e;\n const _day = (_b = (_a = this._selectedDate) === null || _a === void 0 ? void 0 : _a.getDate()) === null || _b === void 0 ? void 0 : _b.toString().padStart(2, '0');\n const _month = (_c = (this._currMonth + 1)) === null || _c === void 0 ? void 0 : _c.toString().padStart(2, '0');\n let date = `${_day}/${_month}/${this._currYear}`;\n if (this._showTime) {\n const _hours = (_d = this._currHour) === null || _d === void 0 ? void 0 : _d.toString().padStart(2, '0');\n const _mins = (_e = this._currMin) === null || _e === void 0 ? void 0 : _e.toString().padStart(2, '0');\n date += ` ${_hours}:${_mins}`;\n }\n const onDateChange = new CustomEvent('onDateChange', {\n detail: date,\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(onDateChange);\n }\n _updateCurrentDate() {\n if (!this._selectedDate) {\n this._currYear = this._date.getFullYear();\n this._currMonth = this._date.getMonth();\n // this._currHour = this._date.getHours();\n // this._currMin = this._date.getMinutes();\n return;\n }\n this._currMonth = this._selectedDate.getMonth();\n this._currYear = this._selectedDate.getFullYear();\n this._currHour = this._selectedDate.getHours();\n this._currMin = this._selectedDate.getMinutes();\n this._days = this._getDays();\n if (this._currHour >= 10) {\n this._timepickerValue = `${this._currHour}:`;\n }\n else {\n this._timepickerValue = `0${this._currHour}:`;\n }\n if (this._currMin >= 10) {\n this._timepickerValue += this._currMin;\n }\n else {\n this._timepickerValue += `0${this._currMin}`;\n }\n }\n // eslint-disable-next-line class-methods-use-this\n _getDateString(selectedDate) {\n const _date = selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.replace(/(\\d+[/])(\\d+[/])/, '$2$1');\n const dateLength = this._showTime ? 14 : 8;\n return (_date === null || _date === void 0 ? void 0 : _date.length) > dateLength ? new Date(_date) : null;\n }\n _onSelectTime(e) {\n if (e.detail.status === 'VALID') {\n const selectedTime = e.detail.value;\n this._currHour = +selectedTime.substring(0, 2);\n this._currMin = +selectedTime.substring(3, 5);\n this.requestUpdate();\n }\n }\n _toggleMonthSelector() {\n this._showMonthSelector = true;\n this.requestUpdate();\n }\n _onMonthSelectorClick(month) {\n const selectedMonth = MONTH.indexOf(month);\n this._currMonth = selectedMonth;\n this._update();\n this._showMonthSelector = false;\n this.requestUpdate();\n }\n _toggleYearSelector() {\n this._showYearSelector = true;\n this.requestUpdate();\n }\n _onYearSelectorClick(year) {\n this._currYear = year;\n this._update();\n this._showYearSelector = false;\n this.requestUpdate();\n }\n _generateYearsRangeOptions() {\n const yearsRange = [];\n for (let year = this._yearsRangeStart; year <= this._yearsRangeEnd; year += 1) {\n yearsRange.push(year);\n }\n const output = yearsRange.map(year => {\n const moveFocusToOption = (currentOption) => {\n if (currentOption) {\n currentOption.focus();\n }\n };\n const moveFocusToPreviousOption = (currentOption) => {\n let index = 0;\n const availableOptions = this.renderRoot.querySelectorAll('.calendar-selector-options__item--year');\n const lastIndex = availableOptions.length - 1;\n if (currentOption === availableOptions[0]) {\n moveFocusToOption(availableOptions[lastIndex]);\n }\n else {\n availableOptions.forEach((availableOption, i) => {\n if (availableOption === currentOption) {\n index = i;\n }\n });\n moveFocusToOption(availableOptions[index - 1]);\n }\n };\n const moveFocusToNextOption = (currentOption) => {\n let index = 0;\n const availableOptions = this.renderRoot.querySelectorAll('.calendar-selector-options__item--year');\n const lastIndex = availableOptions.length - 1;\n if (currentOption === availableOptions[lastIndex]) {\n moveFocusToOption(availableOptions[0]);\n }\n else {\n availableOptions.forEach((availableOption, i) => {\n if (availableOption === currentOption) {\n index = i;\n }\n });\n moveFocusToOption(availableOptions[index + 1]);\n }\n };\n const onKeyDown = (e) => {\n const tgt = e.currentTarget;\n const keyboardEvent = e;\n let flag = false;\n switch (keyboardEvent.key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n moveFocusToPreviousOption(tgt);\n flag = true;\n break;\n case 'ArrowDown':\n case 'ArrowRight':\n moveFocusToNextOption(tgt);\n flag = true;\n break;\n /* eslint no-case-declarations: \"off\" */\n case 'Enter':\n const yearElement = e.target;\n // Change tabIndex from current to clicked\n const tabIndexOption = this.renderRoot.querySelector('.calendar-selector-options__item--year[tabindex=\"0\"]');\n tabIndexOption === null || tabIndexOption === void 0 ? void 0 : tabIndexOption.setAttribute('tabindex', '-1');\n e.target.setAttribute('tabindex', '0');\n yearElement.click();\n flag = true;\n break;\n /* eslint no-case-declarations: \"off\" */\n case 'Escape':\n const yearSelected = this.renderRoot.querySelector('.calendar-selector-options__item--selected');\n yearSelected.click();\n flag = true;\n break;\n default:\n break;\n }\n if (flag) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n const currentDate = new Date();\n const currentYear = currentDate.getFullYear();\n const yearOptionClass = {\n 'calendar-selector-options__item--current': year === currentYear,\n 'calendar-selector-options__item--selected': year === this._currYear,\n };\n return html `\n <div\n class=\"calendar-selector-options__item calendar-selector-options__item--year ${classMap(yearOptionClass)}\"\n tabindex=\"${year === this._currYear ? 0 : -1}\"\n role=\"button\"\n @keydown=${onKeyDown}\n @click=${() => this._onYearSelectorClick(year)}\n >\n ${year}\n </div>\n `;\n });\n return output;\n }\n _generateMonthsOptions() {\n const output = MONTH.map(month => {\n const moveFocusToOption = (currentOption) => {\n if (currentOption) {\n currentOption.focus();\n }\n };\n const moveFocusToPreviousOption = (currentOption) => {\n let index = 0;\n const availableOptions = this.renderRoot.querySelectorAll('.calendar-selector-options__item--month');\n const lastIndex = availableOptions.length - 1;\n if (currentOption === availableOptions[0]) {\n moveFocusToOption(availableOptions[lastIndex]);\n }\n else {\n availableOptions.forEach((availableOption, i) => {\n if (availableOption === currentOption) {\n index = i;\n }\n });\n moveFocusToOption(availableOptions[index - 1]);\n }\n };\n const moveFocusToNextOption = (currentOption) => {\n let index = 0;\n const availableOptions = this.renderRoot.querySelectorAll('.calendar-selector-options__item--month');\n const lastIndex = availableOptions.length - 1;\n if (currentOption === availableOptions[lastIndex]) {\n moveFocusToOption(availableOptions[0]);\n }\n else {\n availableOptions.forEach((availableOption, i) => {\n if (availableOption === currentOption) {\n index = i;\n }\n });\n moveFocusToOption(availableOptions[index + 1]);\n }\n };\n const onKeyDown = (e) => {\n const tgt = e.currentTarget;\n const keyboardEvent = e;\n let flag = false;\n switch (keyboardEvent.key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n moveFocusToPreviousOption(tgt);\n flag = true;\n break;\n case 'ArrowDown':\n case 'ArrowRight':\n moveFocusToNextOption(tgt);\n flag = true;\n break;\n /* eslint no-case-declarations: \"off\" */\n case 'Enter':\n const monthElement = e.target;\n // Change tabIndex from current to clicked\n const tabIndexOption = this.renderRoot.querySelector('.calendar-selector-options__item--month[tabindex=\"0\"]');\n tabIndexOption === null || tabIndexOption === void 0 ? void 0 : tabIndexOption.setAttribute('tabindex', '-1');\n e.target.setAttribute('tabindex', '0');\n monthElement.click();\n flag = true;\n break;\n /* eslint no-case-declarations: \"off\" */\n case 'Escape':\n const monthSelected = this.renderRoot.querySelector('.calendar-selector-options__item--selected');\n monthSelected.click();\n flag = true;\n break;\n default:\n break;\n }\n if (flag) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n const currentDate = new Date();\n const currentMonth = currentDate.getMonth();\n const monthOptionClass = {\n 'calendar-selector-options__item--current': MONTH.indexOf(month) === currentMonth,\n 'calendar-selector-options__item--selected': MONTH.indexOf(month) === this._currMonth,\n };\n return html `\n <div\n class=\"calendar-selector-options__item calendar-selector-options__item--month ${classMap(monthOptionClass)}\"\n tabindex=\"${MONTH.indexOf(month) === this._currMonth ? 0 : -1}\"\n role=\"button\"\n @keydown=${onKeyDown}\n @click=${() => this._onMonthSelectorClick(month)}\n >\n ${month.length <= 4 ? html `${month}` : html `${month.slice(0, 3)}.`}\n </div>\n `;\n });\n return output;\n }\n _onYearRangeStepUp() {\n this._yearsRangeStart += 20;\n this._yearsRangeEnd += 20;\n this.requestUpdate();\n }\n _onYearRangeStepDown() {\n this._yearsRangeStart -= 20;\n this._yearsRangeEnd -= 20;\n this.requestUpdate();\n }\n _onHeaderMonthKeyDown(e) {\n if (e.key === 'Enter') {\n e.target.click();\n setTimeout(() => {\n const monthSelected = this.renderRoot.querySelector('.calendar-selector-options__item--month[tabindex=\"0\"]');\n monthSelected.focus();\n }, 50);\n }\n }\n _onHeaderYearKeyDown(e) {\n if (e.key === 'Enter') {\n e.target.click();\n setTimeout(() => {\n const yearSelected = this.renderRoot.querySelector('.calendar-selector-options__item--year[tabindex=\"0\"]');\n yearSelected.focus();\n }, 50);\n }\n }\n render() {\n var _a, _b, _c, _d;\n return html `\n <div class=\"calendar__container\">\n <div class=\"calendar__content\">\n <header class=\"calendar__header\">\n <div class=\"calendar__header-item calendar__header-selector\">\n <div\n class=\"calendar__header-item calendar__header-item--click calendar__header-month\"\n tabindex=\"0\"\n role=\"button\"\n @keydown=\"${this._onHeaderMonthKeyDown}\"\n @click=\"${this._toggleMonthSelector}\"\n >\n ${MONTH[this._currMonth]}\n <span class=\"dss-icon dss-icon--sm\">expand_more</span>\n </div>\n <div\n class=\"calendar__header-item calendar__header-item--click calendar__header-year\"\n tabindex=\"0\"\n role=\"button\"\n @keydown=\"${this._onHeaderYearKeyDown}\"\n @click=${this._toggleYearSelector}\n >\n ${this._currYear}\n <span class=\"dss-icon dss-icon--sm\">expand_more</span>\n </div>\n </div>\n <div class=\"calendar__header-item calendar__header-buttons\">\n <button\n type=\"button\"\n class=\"dss-icon-button dss-icon-button--primary dss-icon-button--lg\"\n @click=${this._prev}\n ?disabled=${this._currMonth === ((_a = this._minDate) === null || _a === void 0 ? void 0 : _a.getMonth()) &&\n this._currYear === ((_b = this._minDate) === null || _b === void 0 ? void 0 : _b.getFullYear())}\n >\n <span class=\"dss-icon\">chevron_left</span>\n </button>\n <button\n type=\"button\"\n class=\"dss-icon-button dss-icon-button--primary dss-icon-button--lg\"\n @click=${this._next}\n ?disabled=${this._currMonth === ((_c = this._maxDate) === null || _c === void 0 ? void 0 : _c.getMonth()) &&\n this._currYear === ((_d = this._maxDate) === null || _d === void 0 ? void 0 : _d.getFullYear())}\n >\n <span class=\"dss-icon\">chevron_right</span>\n </button>\n </div>\n </header>\n\n <div class=\"calendar__days-content\">\n <ul class=\"calendar__week-names\">\n ${WEEK.map((day) => html `<li>${day}</li>`)}\n </ul>\n <div class=\"calendar__days\">\n ${this._days.map((day) => {\n const cssClass = {\n 'calendar__day-item--active': this._isToday(day),\n 'calendar__day-item--selected': this._isSelected(day),\n };\n return html `\n <button\n class=\"calendar__day-item ${classMap(cssClass)}\"\n @click=${() => this._selectDate(day)}\n ?disabled=${this._isInactive(day)}\n >\n ${day || null}\n </button>\n `;\n })}\n </div>\n </div>\n </div>\n ${this._showMonthSelector\n ? html `\n <div class=\"calendar-selector calendar-selector--month\">\n <div class=\"calendar-selector-title\">Selecciona un mes</div>\n <div class=\"calendar-selector-options\">\n ${this._generateMonthsOptions()}\n </div>\n </div>\n `\n : null}\n ${this._showYearSelector\n ? html `\n <div class=\"calendar-selector calendar-selector--year\">\n <div\n class=\"calendar-selector-title calendar-selector-title--years\"\n >\n <div class=\"calendar-selector-title__years\">\n ${this._yearsRangeStart} - ${this._yearsRangeEnd}\n </div>\n <div class=\"calendar-selector-title__actions\">\n <button\n type=\"button\"\n class=\"dss-icon-button dss-icon-button--primary dss-icon-button--lg\"\n @click=${this._onYearRangeStepDown}\n >\n <span class=\"dss-icon\">chevron_left </span>\n </button>\n <button\n type=\"button\"\n class=\"dss-icon-button dss-icon-button--primary dss-icon-button--lg\"\n @click=${this._onYearRangeStepUp}\n >\n <span class=\"dss-icon\">chevron_right </span>\n </button>\n </div>\n </div>\n <div\n class=\"calendar-selector-options calendar-selector-options--4col\"\n >\n ${this._generateYearsRangeOptions()}\n </div>\n </div>\n `\n : null}\n ${this._showTime\n ? html `\n <div class=\"dss-datepicker__timepicker\">\n <dss-timepicker\n .dropdown=\"${this._timepicker}\"\n .customTimeListOptions=${this._customTimeListOptions}\n .minutesRange=${this._minutesRange}\n .minHour=${this._minHour}\n .maxHour=${this._maxHour}\n @onTimepickerChange=${this._onSelectTime}\n >\n <label slot=\"label\" for=\"innerTimepicker\"\n >${this._timepickerLabel}</label\n >\n <input\n slot=\"input\"\n id=\"innerTimepicker\"\n type=\"text\"\n class=\"dss-input\"\n maxlength=\"5\"\n .value=\"${this._timepickerValue}\"\n />\n </dss-timepicker>\n </div>\n `\n : null}\n ${this._showButtons\n ? html `\n <div class=\"calendar__content calendar__content--buttons\">\n <div class=\"calendar__buttons\">\n <button\n type=\"button\"\n class=\"dss-button dss-button--md dss-button--secondary\"\n @click=${this._onCancel}\n >\n ${this._leftLabel}\n </button>\n <button\n type=\"button\"\n class=\"dss-button dss-button--md dss-button--primary\"\n @click=${this._onAccept}\n ?disabled=${!this._selectedDate ||\n (this._showTime && !this._currHour)}\n >\n ${this._rightLabel}\n </button>\n </div>\n </div>\n `\n : null}\n </div>\n `;\n }\n};\n__decorate([\n property({ type: String })\n], Calendar.prototype, \"selectedDate\", null);\n__decorate([\n property({ type: String })\n], Calendar.prototype, \"minDate\", null);\n__decorate([\n property({ type: String })\n], Calendar.prototype, \"maxDate\", null);\n__decorate([\n property({ type: Boolean })\n], Calendar.prototype, \"showTime\", null);\n__decorate([\n property({ type: Boolean })\n], Calendar.prototype, \"showButtons\", null);\n__decorate([\n property({ type: String })\n], Calendar.prototype, \"leftLabel\", null);\n__decorate([\n property({ type: String })\n], Calendar.prototype, \"rightLabel\", null);\n__decorate([\n property({ type: String })\n], Calendar.prototype, \"timepicker\", null);\n__decorate([\n property({ type: Number })\n], Calendar.prototype, \"minutesRange\", null);\n__decorate([\n property({ type: Number })\n], Calendar.prototype, \"minHour\", null);\n__decorate([\n property({ type: Number })\n], Calendar.prototype, \"maxHour\", null);\n__decorate([\n property({ type: Array })\n], Calendar.prototype, \"customTimeListOptions\", null);\n__decorate([\n property({ type: String })\n], Calendar.prototype, \"timepickerLabel\", null);\nCalendar = __decorate([\n customElement('dss-calendar')\n], Calendar);\nexport { Calendar };\n//# sourceMappingURL=calendar.js.map","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import { __decorate } from \"tslib\";\n/* eslint-disable lit-a11y/click-events-have-key-events */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nlet DatePicker = class DatePicker extends LitElement {\n constructor() {\n super(...arguments);\n this._value = '';\n this._label = '';\n this._placeHolder = '';\n this._previousDate = '';\n this._minDate = '';\n this._maxDate = '';\n this._showCalendar = false;\n this._showTime = false;\n this._invalid = false;\n this._showButtons = false;\n this._required = false;\n this._disabled = false;\n this._readonly = false;\n this._leftLabel = 'Cancel·lar';\n this._rightLabel = 'Acceptar';\n this._isFocused = false;\n // Get access to the internal form control APIs\n this._internals = this.attachInternals();\n }\n static get styles() {\n return css `\n :host {\n display: flex;\n width: fit-content;\n height: fit-content;\n position: relative;\n }\n\n label {\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 24px;\n cursor: text;\n position: absolute;\n }\n\n input {\n outline: none;\n border: 0;\n font-size: 14px;\n line-height: 24px;\n font-style: normal;\n color: #1d1d1d;\n width: 100%;\n text-overflow: ellipsis;\n }\n\n input::placeholder {\n color: #9f9f9f;\n }\n\n .dss-input {\n display: flex;\n flex-direction: column;\n color: #656565;\n position: relative;\n width: 100%;\n }\n\n .dss-input--disabled {\n opacity: 0.6;\n }\n\n .dss-input__content {\n display: flex;\n align-items: center;\n flex: 1;\n }\n\n .dss-input--disabled .dss-input__group,\n .dss-input--disabled input {\n background-color: #f5f5f5;\n cursor: not-allowed;\n }\n\n .dss-input--disabled label,\n .dss-input--disabled input {\n cursor: not-allowed;\n }\n\n .dss-input__group {\n position: relative;\n background: #ffffff;\n box-shadow: inset 0 0 0 1px #d8d8d8;\n border-radius: 8px;\n padding: 12px;\n display: flex;\n gap: 8px;\n }\n\n :host([small]) .dss-input__group {\n padding: 8px 12px;\n }\n\n .dss-input__group--required label::before {\n content: '*';\n }\n\n .dss-input--invalid .dss-input__group:focus-visible input {\n background-color: #ffffff;\n }\n\n .dss-input__group--focused {\n padding: 4px 12px;\n }\n\n :host([small]) .dss-input__group--focused {\n padding: 1px 12px;\n }\n\n .dss-input__group--focused .dss-input__content label {\n font-size: 12px;\n line-height: 16px;\n transition: 0.3s;\n top: 4px;\n }\n\n :host([small]) .dss-input__group--focused .dss-input__content label {\n top: 2px;\n }\n\n .dss-input__group--focused .dss-input__content input,\n .dss-input__group--focused .dss-input__content input {\n margin-top: 16px !important;\n }\n\n :host([small]) .dss-input__group--focused .dss-input__content input {\n margin-top: 14px !important;\n }\n\n .dss-input--invalid .dss-input__group {\n box-shadow: inset 0 0 0 1px #b60000;\n }\n\n .dss-input--invalid .dss-input__group,\n .dss-input--invalid .dss-icon-button,\n .dss-input--invalid .dss-input__group input,\n .dss-input--invalid .dss-input__group .dss-icon-button:hover span {\n background-color: #fff6f6;\n color: #b60000;\n }\n\n .dss-input--invalid .dss-input__group input {\n color: #1d1d1d;\n }\n\n .dss-input__group:focus-visible,\n .dss-input__group--active {\n box-shadow: 0 0 0 4px #8ec7e5;\n background-color: #ffffff;\n outline: none;\n }\n\n .dss-input--invalid .dss-input__group--active {\n box-shadow: 0 0 0 4px #8ec7e5;\n }\n\n .dss-input--invalid input::placeholder {\n color: #d36262;\n }\n\n .dss-input__icon {\n font-family: 'Material Symbols Rounded';\n display: flex;\n align-items: center;\n font-size: 24px;\n }\n\n dss-calendar {\n position: absolute;\n top: 56px;\n z-index: 900;\n }\n\n :host([small]) dss-Calendar {\n top: 48px;\n }\n `;\n }\n get _input() {\n var _a;\n return (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('input');\n }\n set value(value) {\n const oldValue = this._value;\n this._value = value;\n if (this._input) {\n this._input.value = value;\n }\n this.requestUpdate('value', oldValue);\n }\n set label(label) {\n const oldValue = this._label;\n this._label = label;\n this.requestUpdate('label', oldValue);\n }\n set placeHolder(placeHolder) {\n const oldValue = this._placeHolder;\n this._placeHolder = placeHolder;\n this.requestUpdate('placeHolder', oldValue);\n }\n set required(required) {\n const oldValue = this._required;\n this._required = required;\n this.requestUpdate('required', oldValue);\n }\n set disabled(disabled) {\n const oldValue = this._disabled;\n this._disabled = disabled;\n this.requestUpdate('disabled', oldValue);\n }\n set readonly(readonly) {\n const oldValue = this._readonly;\n this._readonly = readonly;\n this.requestUpdate('readonly', oldValue);\n }\n set showTime(showTime) {\n const oldValue = this._showTime;\n this._showTime = showTime;\n this.requestUpdate('showTime', oldValue);\n }\n set showButtons(showButtons) {\n const oldValue = this._showButtons;\n this._showButtons = showButtons;\n this.requestUpdate('showButtons', oldValue);\n }\n set leftLabel(leftLabel) {\n const oldValue = this._leftLabel;\n this._leftLabel = leftLabel;\n this.requestUpdate('leftLabel', oldValue);\n }\n set rightLabel(rightLabel) {\n const oldValue = this._rightLabel;\n this._rightLabel = rightLabel;\n this.requestUpdate('rightLabel', oldValue);\n }\n set minDate(minDate) {\n const oldValue = this._minDate;\n this._minDate = minDate;\n this.requestUpdate('minDate', oldValue);\n }\n set maxDate(maxDate) {\n const oldValue = this._maxDate;\n this._maxDate = maxDate;\n this.requestUpdate('maxDate', oldValue);\n }\n set invalid(invalid) {\n const oldValue = this._invalid;\n this._invalid = invalid;\n this.requestUpdate('invalid', oldValue);\n }\n // Form controls usually expose a \"value\" property\n // eslint-disable-next-line grouped-accessor-pairs\n get value() {\n let currentValue = '';\n if (this._input) {\n currentValue = this._input.value;\n }\n else {\n currentValue = this._value;\n }\n return currentValue;\n }\n // set value already implemented\n // The following properties and methods aren't strictly required,\n // but browser-level form controls provide them. Providing them helps\n // ensure consistency with browser-provided controls.\n get form() {\n return this._internals.form;\n }\n get name() {\n return this.getAttribute('name');\n }\n get type() {\n return this.localName;\n }\n get validity() {\n return this._internals.validity;\n }\n get validationMessage() {\n return this._internals.validationMessage;\n }\n get willValidate() {\n return this._internals.willValidate;\n }\n checkValidity() {\n return this._internals.checkValidity();\n }\n reportValidity() {\n return this._internals.reportValidity();\n }\n formResetCallback() {\n this._input.value = '';\n this.requestUpdate();\n }\n async firstUpdated() {\n try {\n await this.updateComplete;\n if (this._value) {\n this._input.value = this._value;\n }\n this._closeDropdown();\n this.requestUpdate();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n _closeDropdown() {\n // Click outside component\n document.addEventListener('click', event => {\n if (event.target !== this) {\n this._showCalendar = false;\n this._isFocused = false;\n this.requestUpdate();\n }\n });\n // Focus out component\n document.addEventListener('focusout', event => {\n if (event.target === this) {\n this._showCalendar = false;\n this._isFocused = false;\n this.requestUpdate();\n }\n });\n }\n _handleKeyUp(e) {\n var _a, _b, _c, _d, _e, _f;\n // Keyboard accesibility\n if ((e === null || e === void 0 ? void 0 : e.key) === 'Tab') {\n this._isFocused = true;\n this._handleBlur();\n }\n else if ((e === null || e === void 0 ? void 0 : e.key) === 'Enter' || (e === null || e === void 0 ? void 0 : e.key) === ' ') {\n this._showCalendar = true;\n this._handleBlur();\n }\n else if ((e === null || e === void 0 ? void 0 : e.key) === 'Escape') {\n this._isFocused = true; // Fix wrong focus out: calendar is closed but focus is still on input\n this._showCalendar = false;\n this._handleBlur();\n }\n if (e.key === 'Enter' && ((_a = this._input.value) === null || _a === void 0 ? void 0 : _a.length) > 7) {\n const stringDate = (_b = this._input.value) === null || _b === void 0 ? void 0 : _b.replace(/(\\d+[/])(\\d+[/])/, '$2$1');\n const date = new Date(stringDate);\n const day = (_c = date.getDate()) === null || _c === void 0 ? void 0 : _c.toString().padStart(2, '0');\n const month = (_d = (date.getMonth() + 1)) === null || _d === void 0 ? void 0 : _d.toString().padStart(2, '0');\n const year = date.getFullYear();\n const hours = (_e = date.getHours()) === null || _e === void 0 ? void 0 : _e.toString().padStart(2, '0');\n const mins = (_f = date.getMinutes()) === null || _f === void 0 ? void 0 : _f.toString().padStart(2, '0');\n let formattedDate = `${day}/${month}/${year}`;\n if (this._showTime) {\n formattedDate += ` ${hours}:${mins}`;\n }\n this._input.value = formattedDate;\n this._dispatchValueChange();\n this.requestUpdate();\n }\n }\n _handleInput(event) {\n var _a;\n const value = (_a = event.target.value) === null || _a === void 0 ? void 0 : _a.replace(/\\D/g, '');\n this._input.value = this._formatDate(value);\n this._dispatchValueChange();\n this.requestUpdate();\n }\n _formatDate(value) {\n let _day = value.substring(0, 2);\n let _month = value.substring(2, 4);\n const _year = value.substring(4, 8);\n let _hour = value.substring(8, 10);\n let _min = value.substring(10, 12);\n if (Number(_day) > 3) {\n _day = _day === null || _day === void 0 ? void 0 : _day.padStart(2, '0');\n }\n if (Number(_month) > 1) {\n _month = _month === null || _month === void 0 ? void 0 : _month.padStart(2, '0');\n }\n if (Number(_day) > 31) {\n _day = '31';\n }\n if (Number(_month) > 12) {\n _month = '12';\n }\n if (_month === '02' && Number(_day) > 28 && (_year === null || _year === void 0 ? void 0 : _year.length) === 4) {\n const isLeap = new Date(Number(_year), 1, 29).getMonth() === 1;\n _day = isLeap ? '29' : '28';\n }\n let date = `${_day}${_month ? `/${_month}` : ''}${_year ? `/${_year}` : ''}`;\n if (this._showTime) {\n if (Number(_hour) > 2) {\n _hour = _hour === null || _hour === void 0 ? void 0 : _hour.padStart(2, '0');\n }\n if (Number(_hour) > 23) {\n _hour = '23';\n }\n if (Number(_min) > 5) {\n _min = _min === null || _min === void 0 ? void 0 : _min.padStart(2, '0');\n }\n date = `${date}${_hour ? ` ${_hour}` : ''}${_min ? `:${_min}` : ''}`;\n }\n return date;\n }\n _handleFocus() {\n if (this._readonly) {\n return;\n }\n this._placeHolder = this._showTime ? 'DD/MM/YYYY HH:MM' : 'DD/MM/YYYY';\n this.requestUpdate();\n }\n _handleBlur() {\n this.requestUpdate();\n }\n _handelLabelClick() {\n var _a;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n this.requestUpdate();\n }\n _onDateChange(e) {\n const date = e.detail;\n this._input.value = date;\n this._showCalendar = false;\n this._dispatchValueChange();\n this.requestUpdate();\n }\n _onCancel() {\n this._showCalendar = false;\n this._input.value = this._previousDate || '';\n this.placeHolder = '';\n this.requestUpdate();\n }\n _onclick() {\n var _a, _b;\n if (this._disabled || this._readonly) {\n return;\n }\n this._showCalendar = !this._showCalendar;\n this._previousDate = this._input.value;\n if (this._showCalendar) {\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n }\n else {\n (_b = this._input) === null || _b === void 0 ? void 0 : _b.blur();\n this._onCancel();\n }\n this.requestUpdate();\n }\n _dispatchValueChange() {\n const options = {\n detail: this._input.value,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onValueChange', options));\n }\n render() {\n var _a;\n const containerClass = {\n 'dss-input--invalid': this._invalid,\n 'dss-input--disabled': this._disabled,\n };\n const cssClass = {\n 'dss-input__group--focused': ((_a = this._input) === null || _a === void 0 ? void 0 : _a.value) ||\n this._placeHolder ||\n this._showCalendar ||\n this._isFocused,\n 'dss-input__group--required': this._required,\n 'dss-input__group--active': this._showCalendar || this._isFocused,\n };\n return html `\n <div\n class=\"dss-input ${classMap(containerClass)}\"\n @click=${this._onclick}\n >\n <div class=\"dss-input__group ${classMap(cssClass)}\">\n <span class=\"dss-input__icon\">calendar_today</span>\n <div class=\"dss-input__content\">\n <label @mouseup=${this._handelLabelClick}>${this._label}</label>\n <input\n ?disabled=${this._disabled}\n ?required=${this._required}\n ?readonly=${this._readonly}\n @input=${this._handleInput}\n @focus=${this._handleFocus}\n @blur=${this._handleBlur}\n @keyup=${this._handleKeyUp}\n placeholder=${ifDefined(this._placeHolder)}\n type=\"text\"\n />\n </div>\n </div>\n </div>\n ${this._showCalendar\n ? html `\n <dss-calendar\n .selectedDate=${this._input.value}\n .showTime=${this._showTime}\n .showButtons=${this._showButtons}\n .leftLabel=${this._leftLabel}\n .rightLabel=${this._rightLabel}\n .minDate=${this._minDate}\n .maxDate=${this._maxDate}\n @onDateChange=${this._onDateChange}\n @onCancel=${this._onCancel}\n ></dss-calendar>\n `\n : null}\n `;\n }\n};\nDatePicker.formAssociated = true;\nDatePicker.shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n};\n__decorate([\n property({ type: String, attribute: true })\n], DatePicker.prototype, \"value\", null);\n__decorate([\n property({ type: String })\n], DatePicker.prototype, \"label\", null);\n__decorate([\n property({ type: String })\n], DatePicker.prototype, \"placeHolder\", null);\n__decorate([\n property({ type: Boolean })\n], DatePicker.prototype, \"required\", null);\n__decorate([\n property({ type: Boolean })\n], DatePicker.prototype, \"disabled\", null);\n__decorate([\n property({ type: Boolean })\n], DatePicker.prototype, \"readonly\", null);\n__decorate([\n property({ type: Boolean })\n], DatePicker.prototype, \"showTime\", null);\n__decorate([\n property({ type: Boolean })\n], DatePicker.prototype, \"showButtons\", null);\n__decorate([\n property({ type: String })\n], DatePicker.prototype, \"leftLabel\", null);\n__decorate([\n property({ type: String })\n], DatePicker.prototype, \"rightLabel\", null);\n__decorate([\n property({ type: String })\n], DatePicker.prototype, \"minDate\", null);\n__decorate([\n property({ type: String })\n], DatePicker.prototype, \"maxDate\", null);\n__decorate([\n property({ type: Boolean })\n], DatePicker.prototype, \"invalid\", null);\nDatePicker = __decorate([\n customElement('dss-date-picker')\n], DatePicker);\nexport { DatePicker };\n//# sourceMappingURL=date-picker.js.map","import { css } from 'lit';\n// Input variations\nexport const inputStyles = css `\n .dss-input-group {\n position: relative;\n font-family: var(--font-family);\n }\n\n .dss-input-group--md,\n .dss-input-group--md {\n height: 40px;\n }\n\n .dss-input-group--lg,\n .dss-input-group--lg {\n height: 48px;\n }\n\n .dss-input-group--has-icon ::slotted(label),\n .dss-input-group--has-icon .dss-input-label {\n left: calc(var(--dss-spacing-sm) + 24px + var(--dss-spacing-xs));\n }\n\n .dss-input-group--has-icon .dss-input-icon {\n display: block;\n }\n\n .dss-input-group--has-icon ::slotted(input),\n .dss-input-group--has-icon .dss-input {\n padding-left: calc(\n var(--dss-spacing-sm) + 24px + var(--dss-spacing-xs)\n ) !important;\n }\n\n .dss-input-group--numeric ::slotted(input),\n .dss-input-group--numeric .dss-input {\n padding-right: calc(\n var(--dss-spacing-sm) + 24px + var(--dss-spacing-xs)\n ) !important;\n }\n\n .dss-input-group--dropdown ::slotted(input),\n .dss-input-group--dropdown .dss-input {\n padding-right: calc(\n var(--dss-spacing-sm) + 24px + var(--dss-spacing-xxs)\n ) !important;\n }\n\n .dss-input-group--disabled {\n cursor: not-allowed;\n }\n\n .dss-input-group--disabled ::slotted(label),\n .dss-input-group--disabled .dss-input-label,\n .dss-input-group--disabled .dss-input-icon {\n color: var(--color-neutral-500);\n }\n\n .dss-input-group--required ::slotted(label)::before,\n .dss-input-group--required .dss-input-label::before {\n content: '*';\n }\n\n .dss-input-group--invalid ::slotted(label),\n .dss-input-group--invalid .dss-input-label,\n .dss-input-group--invalid .dss-input-icon {\n color: var(--color-red-500);\n }\n\n .dss-input-group--invalid ::slotted(input) {\n background-color: var(--color-red-50);\n border-color: var(--color-red-500);\n }\n\n ::slotted(input),\n .dss-input {\n position: relative;\n box-sizing: border-box;\n height: 100%;\n width: 100%;\n min-width: 200px;\n font-size: 14px;\n font-family: inherit;\n color: var(--color-neutral-900);\n background-color: var(--color-white);\n border-radius: var(--dss-radius-sm);\n border: var(--dss-border-width-sm) solid var(--color-neutral-100);\n padding-top: var(--dss-spacing-md) !important;\n padding-right: var(--dss-spacing-sm) !important;\n padding-bottom: var(--dss-spacing-xxs) !important;\n padding-left: var(--dss-spacing-sm) !important;\n z-index: 100;\n }\n\n ::slotted(input::placeholder),\n .dss-input::placeholder {\n color: var(--color-neutral-600);\n opacity: 0;\n transition: opacity 0.5s;\n }\n\n ::slotted(input:focus-visible),\n .dss-input:focus-visible {\n border-color: var(--color-blue-200);\n outline: var(--dss-border-width-lg) solid var(--color-blue-200);\n }\n\n ::slotted(input:disabled),\n .dss-input:disabled {\n cursor: not-allowed;\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-500);\n }\n\n .dss-input-group--invalid .dss-input:not(:focus-visible) {\n background-color: var(--color-red-50);\n border-color: var(--color-red-500);\n }\n\n ::slotted(input:invalid:not(:empty)),\n ::slotted(input.ng-invalid:not(:empty)),\n .dss-input:invalid:not(:empty) {\n background-color: var(--color-red-50);\n border-color: var(--color-red-500);\n }\n\n .dss-input-group--read-only ::slotted(input),\n .dss-input-group--read-only .dss-input {\n border-top: 0;\n border-left: 0;\n border-right: 0;\n border-radius: 0;\n }\n\n ::slotted(label),\n .dss-input-label {\n cursor: inherit;\n position: absolute;\n top: calc(50% - 12px);\n left: var(--dss-spacing-sm);\n z-index: 200;\n font-size: 14px;\n font-family: inherit;\n color: var(--color-neutral-600);\n\n transition: top 0.3s;\n -moz-transition: top 0.3s;\n -webkit-transition: top 0.3s;\n -o-transition: top 0.3s;\n }\n\n .dss-input-icon {\n display: none;\n position: absolute;\n top: calc(50% - 12px);\n left: var(--dss-spacing-sm);\n color: var(--color-neutral-700);\n z-index: 200;\n }\n\n .dss-input-group--focused ::slotted(label),\n .dss-input-group--focused .dss-input-label {\n font-size: 12px;\n }\n\n .dss-input-group--md.dss-input-group--focused ::slotted(label),\n .dss-input-group--md.dss-input-group--focused .dss-input-label {\n top: 0;\n }\n\n .dss-input-group--lg.dss-input-group--focused ::slotted(label),\n .dss-input-group--lg.dss-input-group--focused .dss-input-label {\n top: var(--dss-spacing-tiny);\n }\n\n .dss-input-group--focused .dss-input::placeholder {\n opacity: 1;\n }\n\n .dss-input-help {\n display: flex;\n justify-content: space-between;\n font-family: var(--font-family);\n font-size: 12px;\n color: var(--color-neutral-700);\n padding: var(--dss-spacing-xxs) var(--dss-spacing-sm);\n }\n\n .dss-input-help--disabled {\n color: var(--color-neutral-500);\n }\n\n .dss-input-help--invalid {\n color: var(--color-red-500);\n }\n\n .dss-input__numeric-buttons {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 300;\n padding: 0 var(--dss-spacing-sm);\n display: flex;\n flex-direction: column;\n justify-content: center;\n transition: all 0.3s ease-in;\n height: 100%;\n }\n\n .dss-input__numeric-buttons .dss-icon-button {\n display: flex;\n justify-content: center;\n text-align: center;\n width: 18px;\n height: 18px;\n align-items: center;\n font-size: 16px;\n }\n`;\n//# sourceMappingURL=input.style.js.map","import { css } from 'lit';\n// Scrollbar variations\nexport const scrollbarStyles = css `\n * {\n scrollbar-width: thin;\n scrollbar-color: var(--color-neutral-100) var(--color-white);\n }\n`;\n//# sourceMappingURL=scrollbar.style.js.map","import { __decorate } from \"tslib\";\n/* eslint-disable lit-a11y/click-events-have-key-events */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { inputStyles } from './shared-styles/input.style';\nimport { scrollbarStyles } from './shared-styles/scrollbar.style';\nimport { buttonStyles } from './shared-styles/button.style';\nlet Datepicker_ = class Datepicker_ extends LitElement {\n constructor() {\n super(...arguments);\n this._timepickerLabel = `Seleccionar l'hora`;\n this._timepicker = '';\n this._minutesRange = 1;\n this._minHour = 0;\n this._maxHour = 23;\n this._customTimeListOptions = [];\n this._icon = 'calendar_today';\n this._placeholder = '';\n this._previousDate = '';\n this._minDate = '';\n this._maxDate = '';\n this._showCalendar = false;\n this._showTime = false;\n this._invalid = false;\n this._showButtons = false;\n this._required = false;\n this._disabled = false;\n this._readonly = false;\n this._leftLabel = 'Cancel·lar';\n this._rightLabel = 'Seleccionar';\n this._isFocused = false;\n this._helpText = '';\n this._inputSize = 'lg';\n this._inputValidity = true;\n // Options for the observer (which mutations to observe)\n this.observerConfig = { attributes: true, childList: true, subtree: true };\n // Callback function to execute when mutations are observed\n this.callback = (mutationList) => {\n for (const mutation of mutationList) {\n if (mutation.type === 'attributes') {\n this._checkInputAttributes();\n this.requestUpdate();\n }\n }\n };\n // Create an observer instance linked to the callback function\n this.observer = new MutationObserver(this.callback);\n }\n static get styles() {\n return [\n symbolStyles,\n inputStyles,\n scrollbarStyles,\n buttonStyles,\n css `\n .dss-datepicker {\n position: relative;\n }\n\n .dss-datepicker-help {\n font-family: var(--font-family);\n }\n\n .dss-datepicker-help {\n font-family: inherit;\n font-size: 12px;\n color: var(--color-neutral-700);\n padding: var(--dss-spacing-xxs) var(--dss-spacing-sm);\n }\n\n .dss-datepicker-help--disabled {\n color: var(--color-neutral-500);\n }\n\n .dss-datepicker-help--invalid {\n color: var(--color-red-500);\n }\n\n .dss-calendar {\n position: absolute;\n margin-top: 8px;\n top: 52px;\n z-index: 900;\n width: fit-content;\n }\n\n .dss-calendar--md {\n top: 44px;\n }\n `,\n ];\n }\n get _input() {\n var _a;\n const input = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name=\"input\"]')) || undefined;\n this.requestUpdate();\n return input === null || input === void 0 ? void 0 : input.assignedElements()[0];\n }\n get _label() {\n var _a;\n const label = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name=\"label\"]')) || undefined;\n this.requestUpdate();\n return label === null || label === void 0 ? void 0 : label.assignedElements()[0];\n }\n set showTime(showTime) {\n const oldValue = this._showTime;\n this._showTime = showTime;\n this._showButtons = true;\n this.requestUpdate('showTime', oldValue);\n }\n set showButtons(showButtons) {\n const oldValue = this._showButtons;\n this._showButtons = showButtons;\n this.requestUpdate('showButtons', oldValue);\n }\n set leftLabel(leftLabel) {\n const oldValue = this._leftLabel;\n this._leftLabel = leftLabel;\n this.requestUpdate('leftLabel', oldValue);\n }\n set rightLabel(rightLabel) {\n const oldValue = this._rightLabel;\n this._rightLabel = rightLabel;\n this.requestUpdate('rightLabel', oldValue);\n }\n set minDate(minDate) {\n const oldValue = this._minDate;\n this._minDate = minDate;\n this.requestUpdate('minDate', oldValue);\n }\n set maxDate(maxDate) {\n const oldValue = this._maxDate;\n this._maxDate = maxDate;\n this.requestUpdate('maxDate', oldValue);\n }\n set invalid(invalid) {\n const oldValue = this._invalid;\n this._invalid = invalid;\n this.requestUpdate('invalid', oldValue);\n }\n set inputSize(size) {\n const oldValue = this._inputSize;\n if (size === 'md') {\n this._inputSize = size;\n }\n else {\n this._inputSize = 'lg';\n }\n this.requestUpdate('inputSize', oldValue);\n }\n set helpText(text) {\n const oldValue = this._helpText;\n this._helpText = text;\n // this._oldHelpText = text;\n this.requestUpdate('helpText', oldValue);\n }\n set timepicker(value) {\n const oldValue = this._timepicker;\n this._timepicker = value;\n this.requestUpdate('timepicker', oldValue);\n }\n set minutesRange(value) {\n const oldValue = this._minutesRange;\n this._minutesRange = value;\n this.requestUpdate('minutesRange', oldValue);\n }\n set minHour(value) {\n const oldValue = this._minHour;\n this._minHour = value;\n this.requestUpdate('minHour', oldValue);\n }\n set maxHour(value) {\n const oldValue = this._maxHour;\n this._maxHour = value;\n this.requestUpdate('maxHour', oldValue);\n }\n set customTimeListOptions(options) {\n const oldValue = this._customTimeListOptions;\n this._customTimeListOptions = options;\n this.requestUpdate('customTimeListOptions', oldValue);\n }\n set timepickerLabel(label) {\n const oldValue = this._timepickerLabel;\n this._timepickerLabel = label;\n this.requestUpdate('timepickerLabel', oldValue);\n }\n disconnectedCallback() {\n this.observer.disconnect();\n }\n async firstUpdated() {\n try {\n await this.updateComplete;\n if (this._input) {\n this._checkInputAttributes();\n // Start observing the target node for configured mutations\n this.observer.observe(this._input, this.observerConfig);\n }\n this._closeDropdown();\n this.requestUpdate();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n _checkInputAttributes() {\n var _a, _b, _c, _d, _e, _f;\n // Check slot input attributes (before this _input is null)\n const inputPlaceholder = (_a = this._input) === null || _a === void 0 ? void 0 : _a.getAttribute('placeholder');\n if (inputPlaceholder)\n this._placeholder = inputPlaceholder;\n const inputReadOnly = (_b = this._input) === null || _b === void 0 ? void 0 : _b.getAttribute('readonly');\n if (inputReadOnly !== null)\n this._readonly = true;\n const disabled = (_c = this._input) === null || _c === void 0 ? void 0 : _c.getAttribute('disabled');\n if (disabled !== null)\n this._disabled = true;\n const required = (_d = this._input) === null || _d === void 0 ? void 0 : _d.getAttribute('required');\n if (required !== null)\n this._required = true;\n if (((_e = this._input) === null || _e === void 0 ? void 0 : _e.value) && ((_f = this._input) === null || _f === void 0 ? void 0 : _f.value) !== '') {\n this._handleValidity();\n }\n this.requestUpdate();\n }\n _handleValidity() {\n var _a;\n const validity = (_a = this._input) === null || _a === void 0 ? void 0 : _a.checkValidity();\n if (validity !== undefined)\n this._inputValidity = validity;\n }\n _closeDropdown() {\n // Click outside component\n document.addEventListener('click', event => {\n var _a;\n if (!event.composedPath().includes(this)) {\n if (this._showCalendar) {\n this._placeholder = '';\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.removeAttribute('placeholder');\n this._isFocused = false;\n this._showCalendar = false;\n this.requestUpdate();\n }\n }\n });\n // Focusout inside component\n this.addEventListener('focusout', event => {\n var _a;\n // eslint-disable-next-line prefer-destructuring\n const relatedTarget = event.relatedTarget;\n if (relatedTarget !== null &&\n relatedTarget !== this &&\n relatedTarget !== this._input &&\n relatedTarget !== this._label) {\n if (this._showCalendar) {\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.removeAttribute('placeholder');\n this._placeholder = '';\n this._isFocused = false;\n this._showCalendar = false;\n this.requestUpdate();\n }\n }\n });\n }\n _handleKeyUp(e) {\n var _a, _b, _c, _d, _e, _f;\n // Keyboard accesibility\n if ((e === null || e === void 0 ? void 0 : e.key) === 'Tab') {\n this._isFocused = true;\n this._handleBlur();\n }\n else if ((e === null || e === void 0 ? void 0 : e.key) === 'Enter' || (e === null || e === void 0 ? void 0 : e.key) === ' ') {\n this._showCalendar = true;\n this._handleBlur();\n }\n else if ((e === null || e === void 0 ? void 0 : e.key) === 'Escape') {\n this._isFocused = true; // Fix wrong focus out: calendar is closed but focus is still on input\n this._showCalendar = false;\n this._handleBlur();\n }\n if (e.key === 'Enter' && this._input && ((_a = this._input.value) === null || _a === void 0 ? void 0 : _a.length) > 7) {\n if (this._input) {\n const stringDate = (_b = this._input.value) === null || _b === void 0 ? void 0 : _b.replace(/(\\d+[/])(\\d+[/])/, '$2$1');\n const date = new Date(stringDate);\n const day = (_c = date.getDate()) === null || _c === void 0 ? void 0 : _c.toString().padStart(2, '0');\n const month = (_d = (date.getMonth() + 1)) === null || _d === void 0 ? void 0 : _d.toString().padStart(2, '0');\n const year = date.getFullYear();\n const hours = (_e = date.getHours()) === null || _e === void 0 ? void 0 : _e.toString().padStart(2, '0');\n const mins = (_f = date.getMinutes()) === null || _f === void 0 ? void 0 : _f.toString().padStart(2, '0');\n let formattedDate = `${day}/${month}/${year}`;\n if (this._showTime) {\n formattedDate += ` ${hours}:${mins}`;\n this._handleValidity();\n }\n if (this._input) {\n this._input.value = formattedDate;\n }\n this._dispatchValueChange();\n this.requestUpdate();\n }\n }\n }\n _handleInput(event) {\n var _a;\n const value = (_a = event.target.value) === null || _a === void 0 ? void 0 : _a.replace(/\\D/g, '');\n if (this._input) {\n this._input.value = this._formatDate(value);\n this._handleValidity();\n }\n this._dispatchValueChange();\n this.requestUpdate();\n }\n _formatDate(value) {\n let _day = value.substring(0, 2);\n let _month = value.substring(2, 4);\n const _year = value.substring(4, 8);\n let _hour = value.substring(8, 10);\n let _min = value.substring(10, 12);\n if (Number(_day) > 3) {\n _day = _day === null || _day === void 0 ? void 0 : _day.padStart(2, '0');\n }\n if (Number(_month) > 1) {\n _month = _month === null || _month === void 0 ? void 0 : _month.padStart(2, '0');\n }\n if (Number(_day) > 31) {\n _day = '31';\n }\n if (Number(_month) > 12) {\n _month = '12';\n }\n if (_month === '02' && Number(_day) > 28 && (_year === null || _year === void 0 ? void 0 : _year.length) === 4) {\n const isLeap = new Date(Number(_year), 1, 29).getMonth() === 1;\n _day = isLeap ? '29' : '28';\n }\n let date = `${_day}${_month ? `/${_month}` : ''}${_year ? `/${_year}` : ''}`;\n if (this._showTime) {\n if (Number(_hour) > 2) {\n _hour = _hour === null || _hour === void 0 ? void 0 : _hour.padStart(2, '0');\n }\n if (Number(_hour) > 23) {\n _hour = '23';\n }\n if (Number(_min) > 5) {\n _min = _min === null || _min === void 0 ? void 0 : _min.padStart(2, '0');\n }\n date = `${date}${_hour ? ` ${_hour}` : ''}${_min ? `:${_min}` : ''}`;\n }\n return date;\n }\n _handleFocus() {\n var _a;\n if (this._readonly) {\n return;\n }\n this._placeholder = this._showTime ? 'DD/MM/YYYY HH:MM' : 'DD/MM/YYYY';\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.setAttribute('placeholder', this._placeholder);\n this.requestUpdate();\n }\n _handleBlur() {\n this.requestUpdate();\n }\n _focusInput() {\n var _a;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n this._handleClick();\n }\n _handleClick() {\n this._showCalendar = true;\n this.requestUpdate();\n }\n _onDateChange(e) {\n var _a;\n const date = e.detail;\n if (this._input) {\n this._input.value = date;\n this._handleValidity();\n }\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.removeAttribute('placeholder');\n this._placeholder = '';\n this._isFocused = false;\n this._showCalendar = false;\n this._dispatchValueChange();\n this.requestUpdate();\n }\n _onCancel() {\n var _a;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.removeAttribute('placeholder');\n this._placeholder = '';\n this._isFocused = false;\n this._showCalendar = false;\n if (this._input) {\n this._input.value = this._previousDate || '';\n this._handleValidity();\n }\n this.requestUpdate();\n }\n _dispatchValueChange() {\n var _a;\n const options = {\n detail: (_a = this._input) === null || _a === void 0 ? void 0 : _a.value,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onValueChange', options));\n }\n render() {\n var _a, _b;\n const inputGroupClass = {\n 'dss-input-group--focused': ((_a = this._input) === null || _a === void 0 ? void 0 : _a.value) || this._placeholder || this._isFocused,\n 'dss-input-group--lg': this._inputSize === 'lg',\n 'dss-input-group--md': this._inputSize === 'md',\n 'dss-input-group--invalid': this._invalid || !this._inputValidity,\n 'dss-input-group--required': this._required,\n 'dss-input-group--disabled': this._disabled,\n 'dss-input-group--read-only': this._readonly,\n };\n const helpClass = {\n 'dss-datepicker-help--invalid': this._invalid || !this._inputValidity,\n 'dss-datepicker-help--disabled': this._disabled,\n };\n const calendarClass = {\n 'dss-calendar': true,\n 'dss-calendar--disabled': this._disabled,\n 'dss-calendar--md': this._inputSize === 'md',\n };\n return html `\n <div class=\"dss-datepicker\">\n <div\n class=\"dss-input-group dss-input-group--has-icon ${classMap(inputGroupClass)}\"\n role=\"combobox\"\n aria-controls=\"datepicker-calendar\"\n aria-expanded=${ifDefined(this._showCalendar)}\n >\n <span class=\"dss-icon dss-icon--md dss-input-icon\"\n >${this._icon}</span\n >\n <slot\n name=\"input\"\n @click=${this._handleClick}\n @input=${this._handleInput}\n @focusin=${this._handleFocus}\n @focusout=${this._handleBlur}\n @keydown=${this._handleKeyUp}\n ></slot>\n\n <slot name=\"label\" @click=${this._focusInput}></slot>\n </div>\n ${this._helpText\n ? html `\n <div class=\"dss-datepicker-help ${classMap(helpClass)}\">\n ${this._helpText}\n </div>\n `\n : null}\n ${this._showCalendar && !this._readonly\n ? html `\n <dss-calendar\n role=\"listbox\"\n aria-label=\"Datepicker Calendar\"\n id=\"datepicker-calendar\"\n class=\"${classMap(calendarClass)}\"\n .selectedDate=${(_b = this._input) === null || _b === void 0 ? void 0 : _b.value}\n .showTime=${this._showTime}\n .showButtons=${this._showButtons}\n .leftLabel=${this._leftLabel}\n .rightLabel=${this._rightLabel}\n .minDate=${this._minDate}\n .maxDate=${this._maxDate}\n timepickerLabel=${this._timepickerLabel}\n .timepicker=${this._timepicker}\n .customTimeListOptions=${this._customTimeListOptions}\n .minutesRange=${this._minutesRange}\n .minHour=${this._minHour}\n .maxHour=${this._maxHour}\n @onDateChange=${this._onDateChange}\n @onCancel=${this._onCancel}\n ></dss-calendar>\n `\n : null}\n </div>\n `;\n }\n};\n__decorate([\n property({ type: Boolean })\n], Datepicker_.prototype, \"showTime\", null);\n__decorate([\n property({ type: Boolean })\n], Datepicker_.prototype, \"showButtons\", null);\n__decorate([\n property({ type: String })\n], Datepicker_.prototype, \"leftLabel\", null);\n__decorate([\n property({ type: String })\n], Datepicker_.prototype, \"rightLabel\", null);\n__decorate([\n property({ type: String })\n], Datepicker_.prototype, \"minDate\", null);\n__decorate([\n property({ type: String })\n], Datepicker_.prototype, \"maxDate\", null);\n__decorate([\n property({ type: Boolean })\n], Datepicker_.prototype, \"invalid\", null);\n__decorate([\n property({ type: String })\n], Datepicker_.prototype, \"inputSize\", null);\n__decorate([\n property({ type: String })\n], Datepicker_.prototype, \"helpText\", null);\n__decorate([\n property({ type: String })\n], Datepicker_.prototype, \"timepicker\", null);\n__decorate([\n property({ type: Number })\n], Datepicker_.prototype, \"minutesRange\", null);\n__decorate([\n property({ type: Number })\n], Datepicker_.prototype, \"minHour\", null);\n__decorate([\n property({ type: Number })\n], Datepicker_.prototype, \"maxHour\", null);\n__decorate([\n property({ type: Array })\n], Datepicker_.prototype, \"customTimeListOptions\", null);\n__decorate([\n property({ type: String })\n], Datepicker_.prototype, \"timepickerLabel\", null);\nDatepicker_ = __decorate([\n customElement('dss-datepicker')\n], Datepicker_);\nexport { Datepicker_ };\n//# sourceMappingURL=datepicker.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nconst INPUT_TYPE_NUMBER = 'number';\nlet InputField = class InputField extends LitElement {\n constructor() {\n super(...arguments);\n this._type = 'text';\n this._value = '';\n this._label = '';\n this._description = '';\n this._placeHolder = '';\n this._icon = '';\n this._maxLength = undefined;\n this._minLength = undefined;\n this._max = undefined;\n this._min = undefined;\n this._step = undefined;\n this._isInputFocused = false;\n this._isGroupFocusedVisible = false;\n this._isTypeNumeric = false;\n this._clearable = false;\n this._showError = false;\n this._required = false;\n this._disabled = false;\n this._readonly = false;\n }\n static get styles() {\n return css `\n :host {\n width: 100%;\n height: fit-content;\n }\n\n label {\n font-style: normal;\n font-weight: 400;\n font-size: 0.875rem;\n line-height: 1.5rem;\n cursor: text;\n position: absolute;\n white-space: nowrap;\n background-color: #ffffff;\n width: 100%;\n }\n\n input {\n outline: none;\n border: 0;\n font-size: 0.875rem;\n line-height: 1.5rem;\n font-style: normal;\n color: #1d1d1d;\n width: 100%;\n text-overflow: ellipsis;\n margin: 0;\n padding: 0;\n }\n\n input::placeholder {\n color: #9f9f9f;\n }\n\n .dss-input--invalid input::placeholder {\n color: #d36262;\n }\n\n .dss-input--invalid label {\n background-color: #fff6f6;\n }\n\n .dss-input {\n display: flex;\n flex-direction: column;\n color: #656565;\n width: 100%;\n }\n\n .dss-input--disabled {\n opacity: 0.6;\n }\n\n .dss-input--gap {\n gap: 0.25rem;\n }\n\n .dss-input__content {\n display: flex;\n align-items: center;\n flex: 1;\n overflow: hidden;\n position: relative;\n }\n\n .dss-input--disabled .dss-input__group,\n .dss-input--disabled input,\n .dss-input--disabled label {\n background-color: #f5f5f5;\n cursor: not-allowed;\n }\n\n .dss-input__group {\n position: relative;\n background: #ffffff;\n box-shadow: inset 0 0 0 0.063rem #d8d8d8;\n border-radius: 0.5rem;\n padding: 0.75rem;\n display: flex;\n gap: 0.5rem;\n }\n\n :host([small]) .dss-input__group {\n padding: 0.5rem 0.75rem;\n }\n\n .dss-input__group--required label::before {\n content: '*';\n }\n\n .dss-input__group--readOnly .dss-icon-button {\n pointer-events: none;\n }\n\n .dss-input__group:focus-visible,\n .dss-input__group--focused-visible,\n .dss-input--invalid .dss-input__group:focus-visible {\n outline: 0.25rem solid #8ec7e5;\n box-shadow: none;\n background-color: #ffffff;\n }\n\n .dss-input--invalid .dss-input__group:focus-visible input {\n background-color: #ffffff;\n }\n\n .dss-input--invalid .dss-input__group:focus-visible .dss-icon-button {\n background-color: transparent;\n }\n\n .dss-input__group--focused {\n padding: 0.25rem 0.75rem;\n }\n\n :host([small]) .dss-input__group--focused {\n padding: 0.063rem 0.75rem;\n }\n\n .dss-input__group--focused .dss-input__content label {\n font-size: 0.75rem;\n line-height: 1rem;\n transition: 0.3s;\n top: 0.25rem;\n }\n\n :host([small]) .dss-input__group--focused .dss-input__content label {\n top: 0.125rem;\n }\n\n .dss-input__group--focused .dss-input__content input,\n .dss-input__group--focused .dss-input__content input {\n margin-top: 1rem !important;\n }\n\n :host([small]) .dss-input__group--focused .dss-input__content input {\n margin-top: 0.875rem !important;\n }\n\n :host([small]) .dss-input__group--focused .dss-input__content input {\n margin-top: 0.875rem !important;\n }\n\n .dss-input--invalid .dss-input__group .dss-icon-button {\n color: #b60000;\n }\n\n .dss-input--invalid .dss-input__group {\n box-shadow: inset 0 0 0 0.063rem #b60000;\n }\n\n .dss-input--invalid .dss-input__group input {\n background-color: #fff6f6;\n color: #1d1d1d;\n }\n\n .dss-input--invalid .dss-input__group,\n .dss-input--invalid .dss-icon-button,\n .dss-input--invalid .dss-input__group .dss-icon-button:hover span {\n background-color: #fff6f6;\n color: #b60000;\n }\n\n .dss-input__help {\n font-style: normal;\n font-weight: 400;\n font-size: 0.75rem;\n line-height: 1rem;\n display: flex;\n padding: 0 0.75rem;\n gap: 0.5rem;\n }\n\n .dss-input__help .dss-input__description {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .dss-input--invalid .dss-input__help,\n .dss-input--invalid .dss-input__help::after {\n color: #b60000;\n }\n\n .dss-input__icon {\n font-family: 'Material Symbols Rounded';\n display: flex;\n align-items: center;\n font-size: 1.5rem;\n }\n\n :host([small]) .dss-input__group.dss-input__group--icon,\n :host([small]) .dss-input__group--focused.dss-input__group--icon,\n .dss-input__group.dss-input__group--icon,\n .dss-input__group--focused.dss-input__group--icon {\n padding-right: 0.375rem;\n }\n\n .dss-input__group.dss-input__group--numeric {\n padding: 0.25rem 0.5rem 0.25rem 0.75rem;\n }\n\n :host([small]) .dss-input__group.dss-input__group--numeric {\n padding: 0.063rem 0.625rem 0.063rem 0.75rem;\n }\n\n .dss-icon-button {\n font-size: 1rem;\n font-family: 'Material Symbols Rounded';\n align-items: center;\n border: none;\n cursor: pointer;\n display: flex;\n background-color: transparent;\n color: #0073e6;\n padding: 0;\n height: fit-content;\n margin: auto;\n border-radius: 100%;\n }\n\n .dss-icon-button span {\n padding: 0.25rem;\n background-color: transparent;\n border-radius: 100%;\n transition: all 0.3s ease-in;\n }\n\n .dss-icon-button:hover:enabled span {\n background-color: #bfddfa;\n }\n\n .dss-icon-button:active:enabled span {\n background-color: #eff7ff;\n transition: none;\n }\n\n .dss-icon-button:disabled {\n cursor: not-allowed;\n }\n\n .dss-icon-button:focus-visible:enabled {\n outline: none;\n }\n\n .dss-input__numeric-buttons {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n transition: all 0.3s ease-in;\n height: 40px;\n }\n\n .dss-input__numeric-buttons .dss-icon-button span {\n padding: 0.063rem;\n display: flex;\n justify-content: center;\n text-align: center;\n width: 18px;\n height: 18px;\n align-items: center;\n }\n\n :host([small]) .dss-input__numeric-buttons {\n height: 38px;\n }\n\n :host([small])\n .dss-input__group.dss-input__group--numeric\n .dss-icon-button\n span {\n width: 16px;\n height: 16px;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n }\n\n input[type='number'] {\n -moz-appearance: textfield;\n }\n `;\n }\n set value(value) {\n const oldValue = this._value;\n this._value = value;\n this.requestUpdate('value', oldValue);\n }\n set type(type) {\n const oldValue = this._type;\n this._type = type;\n this.requestUpdate('type', oldValue);\n }\n set label(label) {\n const oldValue = this._label;\n this._label = label;\n this.requestUpdate('label', oldValue);\n }\n set description(description) {\n const oldValue = this._description;\n this._description = description;\n this.requestUpdate('description', oldValue);\n }\n set placeHolder(placeHolder) {\n const oldValue = this._placeHolder;\n this._placeHolder = placeHolder;\n this.requestUpdate('placeHolder', oldValue);\n }\n set required(required) {\n const oldValue = this._required;\n this._required = required;\n this.requestUpdate('required', oldValue);\n }\n set disabled(disabled) {\n const oldValue = this._disabled;\n this._disabled = disabled;\n this.requestUpdate('disabled', oldValue);\n }\n set readonly(readonly) {\n const oldValue = this._readonly;\n this._readonly = readonly;\n this.requestUpdate('readonly', oldValue);\n }\n set icon(icon) {\n const oldValue = this._icon;\n this._icon = icon;\n this.requestUpdate('icon', oldValue);\n }\n set clearable(clearable) {\n const oldValue = this._clearable;\n this._clearable = clearable;\n this.requestUpdate('clearable', oldValue);\n }\n set showError(showError) {\n const oldValue = this._showError;\n this._showError = showError;\n this.requestUpdate('showError', oldValue);\n }\n set maxLength(maxLength) {\n const oldValue = this._maxLength;\n this._maxLength = maxLength;\n this.requestUpdate('maxLength', oldValue);\n }\n set minLength(minLength) {\n const oldValue = this._minLength;\n this._minLength = minLength;\n this.requestUpdate('minLength', oldValue);\n }\n set max(max) {\n const oldValue = this._max;\n this._max = max;\n this.requestUpdate('max', oldValue);\n }\n set min(min) {\n const oldValue = this._min;\n this._min = min;\n this.requestUpdate('min', oldValue);\n }\n set step(step) {\n const oldValue = this._step;\n this._step = step;\n this.requestUpdate('step', oldValue);\n }\n get _input() {\n var _a;\n return (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('input');\n }\n _handleInput() {\n this._dispatchValueChange();\n this.requestUpdate();\n }\n _handleKeypress(e) {\n if (e.keyCode < 32) {\n e.preventDefault();\n }\n if (this._maxLength && e.target.value.length >= this._maxLength) {\n e.preventDefault();\n }\n }\n _handleKeyup(e) {\n const code = e.keyCode ? e.keyCode : e.which;\n if (code === 9) {\n this._isGroupFocusedVisible = true;\n this._isInputFocused = true;\n this._handelLabelClick();\n }\n }\n _handleFocus() {\n if (this._readonly) {\n return;\n }\n this._isGroupFocusedVisible = true;\n this._isInputFocused = true;\n this.requestUpdate();\n }\n _handleFocusOut() {\n var _a, _b;\n this._handleBlur();\n this._isGroupFocusedVisible = false;\n this._isInputFocused = false;\n if (((_b = (_a = this._input) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.length) === 0) {\n this._value = '';\n this._input.value = this._value;\n }\n this.requestUpdate();\n }\n _handleBlur() {\n this._isInputFocused = false;\n this.requestUpdate();\n }\n _handelLabelClick() {\n var _a;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n this.requestUpdate();\n }\n _cleanInput() {\n var _a, _b;\n if ((_b = (_a = this._input) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.length) {\n this._value = '';\n this._input.value = this._value;\n }\n this._dispatchValueChange();\n this.requestUpdate();\n }\n _stepUp() {\n var _a, _b;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.stepUp();\n this._value = ((_b = this._input) === null || _b === void 0 ? void 0 : _b.value) || '';\n this._dispatchValueChange();\n this.requestUpdate();\n }\n _stepDown() {\n var _a, _b;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.stepDown();\n this._value = ((_b = this._input) === null || _b === void 0 ? void 0 : _b.value) || '';\n this._dispatchValueChange();\n this.requestUpdate();\n }\n _dispatchValueChange() {\n var _a, _b;\n const options = {\n detail: this._isTypeNumeric\n ? Number((_a = this._input) === null || _a === void 0 ? void 0 : _a.value)\n : (_b = this._input) === null || _b === void 0 ? void 0 : _b.value,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onValueChange', options));\n }\n async firstUpdated() {\n try {\n await this.updateComplete;\n this._isTypeNumeric = this._type === INPUT_TYPE_NUMBER;\n this.requestUpdate();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n render() {\n var _a, _b, _c, _d, _e, _f;\n const containerClass = {\n 'dss-input--invalid': this._showError,\n 'dss-input--disabled': this._disabled,\n 'dss-input--gap': this._maxLength || !!this._description,\n };\n const cssClass = {\n 'dss-input__group--focused': ((_a = this._input) === null || _a === void 0 ? void 0 : _a.value) || this._isInputFocused || this._placeHolder,\n 'dss-input__group--focused-visible': this._isGroupFocusedVisible,\n 'dss-input__group--required': this._required,\n 'dss-input__group--readOnly': this._readonly,\n 'dss-input__group--numeric': this._isTypeNumeric,\n 'dss-input__group--icon': this._clearable,\n };\n return html `\n <div class=\"dss-input ${classMap(containerClass)}\">\n <div\n class=\"dss-input__group ${classMap(cssClass)}\"\n tabindex=\"0\"\n @keyup=${this._handleKeyup}\n >\n ${this._icon\n ? html `<span class=\"dss-input__icon\">${this._icon}</span>`\n : null}\n <div class=\"dss-input__content\">\n <label @mouseup=${this._handelLabelClick}>${this._label}</label>\n <input\n .value=${this._value}\n placeholder=${ifDefined(this._placeHolder)}\n maxlength=${ifDefined(this._maxLength)}\n minlength=${ifDefined(this._minLength)}\n min=${ifDefined(this._min)}\n max=${ifDefined(this._max)}\n step=${ifDefined(this._step)}\n ?disabled=${this._disabled}\n ?required=${this._required}\n ?readonly=${this._readonly}\n @keyup=${this._handleKeyup}\n @keypress=${this._handleKeypress}\n @input=\"${this._handleInput}\"\n @focus=${this._handleFocus}\n @focusout=${this._handleFocusOut}\n @blur=${this._handleBlur}\n .type=${this._type}\n />\n </div>\n ${this._clearable && !this._isTypeNumeric\n ? html `\n <button\n type=\"button\"\n class=\"dss-icon-button\"\n @click=${this._cleanInput}\n ?disabled=${(_b = this._input) === null || _b === void 0 ? void 0 : _b.disabled}\n tabindex=\"-1\"\n >\n <span>close</span>\n </button>\n `\n : null}\n ${this._isTypeNumeric\n ? html `\n <div class=\"dss-input__numeric-buttons\">\n <button\n type=\"button\"\n class=\"dss-icon-button\"\n @click=${this._stepUp}\n ?disabled=${(_c = this._input) === null || _c === void 0 ? void 0 : _c.disabled}\n tabindex=\"-1\"\n >\n <span>keyboard_arrow_up</span>\n </button>\n <button\n type=\"button\"\n class=\"dss-icon-button\"\n @click=${this._stepDown}\n ?disabled=${(_d = this._input) === null || _d === void 0 ? void 0 : _d.disabled}\n tabindex=\"-1\"\n >\n <span>keyboard_arrow_down</span>\n </button>\n </div>\n `\n : null}\n </div>\n <div class=\"dss-input__help\">\n <div class=\"dss-input__description\">\n <span>${this._description}</span>\n </div>\n ${this._maxLength\n ? html `<span>\n ${(_f = (_e = this._input) === null || _e === void 0 ? void 0 : _e.value) === null || _f === void 0 ? void 0 : _f.length}/${this._maxLength}\n </span>`\n : null}\n </div>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: String })\n], InputField.prototype, \"value\", null);\n__decorate([\n property({ type: String })\n], InputField.prototype, \"type\", null);\n__decorate([\n property({ type: String })\n], InputField.prototype, \"label\", null);\n__decorate([\n property({ type: String })\n], InputField.prototype, \"description\", null);\n__decorate([\n property({ type: String })\n], InputField.prototype, \"placeHolder\", null);\n__decorate([\n property({ type: Boolean })\n], InputField.prototype, \"required\", null);\n__decorate([\n property({ type: Boolean })\n], InputField.prototype, \"disabled\", null);\n__decorate([\n property({ type: Boolean })\n], InputField.prototype, \"readonly\", null);\n__decorate([\n property({ type: String })\n], InputField.prototype, \"icon\", null);\n__decorate([\n property({ type: Boolean })\n], InputField.prototype, \"clearable\", null);\n__decorate([\n property({ type: Boolean })\n], InputField.prototype, \"showError\", null);\n__decorate([\n property({ type: Number })\n], InputField.prototype, \"maxLength\", null);\n__decorate([\n property({ type: Number })\n], InputField.prototype, \"minLength\", null);\n__decorate([\n property({ type: Number })\n], InputField.prototype, \"max\", null);\n__decorate([\n property({ type: Number })\n], InputField.prototype, \"min\", null);\n__decorate([\n property({ type: Number })\n], InputField.prototype, \"step\", null);\nInputField = __decorate([\n customElement('dss-input-field')\n], InputField);\nexport { InputField };\n//# sourceMappingURL=input-field.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nlet Pagination = class Pagination extends LitElement {\n constructor() {\n super(...arguments);\n this._length = 0;\n this._pageSize = 0;\n this._totalPages = 0;\n this._currentIndex = 1;\n this._size = 'md';\n this._buttons = [];\n }\n static get styles() {\n return css `\n :host {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n height: fit-content;\n font-family: var(--font-family);\n font-style: normal;\n box-shadow: 0 -1px 0 0 #d8d8d8;\n }\n\n .pagination__container {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n gap: 0.5rem;\n }\n\n .pagination__container--md {\n padding: 0.25rem 0.75rem;\n }\n\n .pagination__container--lg {\n padding: 0.5rem 0.75rem;\n }\n\n .pagination__button {\n color: #0073e6;\n font-size: 1rem;\n padding: 0;\n align-items: center;\n background-color: transparent;\n border: none;\n border-radius: 100%;\n cursor: pointer;\n display: flex;\n height: fit-content;\n justify-content: center;\n transition: all 0.3s ease-in;\n width: fit-content;\n font-family: 'Material Symbols Rounded';\n width: 1.5rem;\n height: 1.5rem;\n }\n\n .pagination__container--md .pagination__button {\n font-size: 1rem;\n width: 1.5rem;\n height: 1.5rem;\n }\n\n .pagination__container--lg .pagination__button {\n font-size: 1.5rem;\n width: 2rem;\n height: 2rem;\n }\n\n .pagination__button:hover:enabled {\n background-color: #bfddfa;\n }\n\n .pagination__button:focus-visible:enabled {\n outline: 0.25rem solid #8fc2f5;\n transition: none;\n }\n\n .pagination__button:active:enabled {\n background-color: #eff7ff;\n transition: none;\n }\n\n .pagination__button:disabled {\n transition: none;\n opacity: 0.4;\n cursor: not-allowed;\n }\n\n .pagination__item {\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: transparent;\n border-radius: 6.25rem;\n border: none;\n cursor: pointer;\n font-weight: 600;\n color: #656565;\n font-family: var(--font-family);\n height: 1.5rem;\n width: 1.5rem;\n font-size: 0.75rem;\n line-height: 1rem;\n }\n\n .pagination__container--md .pagination__item {\n height: 1.5rem;\n width: 1.5rem;\n font-size: 0.75rem;\n line-height: 1rem;\n }\n\n .pagination__container--lg .pagination__item {\n height: 2rem;\n width: 2rem;\n font-size: 1rem;\n line-height: 1.5rem;\n }\n\n .pagination__container--md .pagination__item--large {\n width: 2rem;\n }\n\n .pagination__container--lg .pagination__item--large {\n width: 2.563rem;\n }\n\n .pagination__item:hover:enabled,\n .pagination__item--selected {\n background: #bfddfa;\n color: #00356a;\n }\n\n .pagination__item:hover:enabled {\n transition: all 0.3s ease-in;\n }\n\n .pagination__item:active:enabled {\n background: #eff7ff;\n transition: none;\n }\n\n .pagination__item:focus-visible:enabled {\n outline: 0.25rem solid #8fc2f5;\n transition: none;\n }\n\n .pagination__item--dot {\n pointer-events: none;\n }\n `;\n }\n set length(length) {\n const oldValue = this._length;\n this._length = length;\n this.requestUpdate('length', oldValue);\n }\n set pageSize(pageSize) {\n const oldValue = this._pageSize;\n this._pageSize = pageSize;\n this.requestUpdate('pageSize', oldValue);\n }\n set size(size) {\n const oldValue = this._size;\n this._size = size;\n this.requestUpdate('size', oldValue);\n }\n set currentIndex(currentIndex) {\n const oldValue = this._currentIndex;\n this._currentIndex = currentIndex;\n this.requestUpdate('currentIndex', oldValue);\n }\n _next() {\n // eslint-disable-next-line no-plusplus\n this._currentIndex++;\n this._updateButtons();\n this._emitCurrentPage();\n }\n _prev() {\n // eslint-disable-next-line no-plusplus\n this._currentIndex--;\n this._updateButtons();\n this._emitCurrentPage();\n }\n _emitCurrentPage() {\n this.dispatchEvent(new CustomEvent('onChangePage', {\n detail: this._currentIndex,\n bubbles: true,\n composed: true,\n }));\n }\n _updateButtons() {\n this._buttons = [];\n const firstPageIndex = 1;\n const leftSiblingIndex = Math.max(this._currentIndex - 1, 1);\n const rightSiblingIndex = Math.min(this._currentIndex + 1, this._totalPages);\n const shouldShowLeftDots = leftSiblingIndex > 2;\n const shouldShowRightDots = rightSiblingIndex < this._totalPages - 2;\n const firstPage = this._getButtons(firstPageIndex, firstPageIndex);\n const lastPage = this._getButtons(this._totalPages, this._totalPages);\n const DOTS = html `\n <button class=\"pagination__item pagination__item--dot\" tabindex=\"-1\">\n ...\n </button>\n `;\n if (this._totalPages <= 6) {\n this._buttons = this._getButtons(firstPageIndex, this._totalPages);\n this.requestUpdate();\n return;\n }\n if (!shouldShowLeftDots && shouldShowRightDots) {\n const leftItemCount = 4;\n const leftRange = this._getButtons(firstPageIndex, leftItemCount);\n this._buttons = [...leftRange, DOTS, lastPage];\n }\n if (shouldShowLeftDots && !shouldShowRightDots) {\n const rightItemCount = 3;\n const rightRange = this._getButtons(this._totalPages - rightItemCount, this._totalPages);\n this._buttons = [firstPage, DOTS, ...rightRange];\n }\n if (shouldShowLeftDots && shouldShowRightDots) {\n const middleRange = this._getButtons(leftSiblingIndex + 1, rightSiblingIndex);\n this._buttons = [firstPage, DOTS, ...middleRange, DOTS, lastPage];\n }\n this.requestUpdate();\n }\n _getButtons(startIndex, endIndex) {\n const length = endIndex - startIndex + 1;\n return Array(length)\n .fill(0)\n .map((x, i) => {\n const index = i + startIndex;\n const cssClass = {\n 'pagination__item--selected': this._currentIndex === index,\n 'pagination__item--large': index >= 10,\n };\n return html `\n <button\n class=\"pagination__item ${classMap(cssClass)}\"\n @click=${() => this._selectItem(index)}\n >\n ${index}\n </button>\n `;\n });\n }\n _selectItem(pageIndex) {\n this._currentIndex = pageIndex;\n this._updateButtons();\n }\n async firstUpdated() {\n try {\n await this.updateComplete;\n this._totalPages = Math.ceil(this._length / this._pageSize);\n this._updateButtons();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n willUpdate(changedProperties) {\n const length = changedProperties.has('length');\n const pageSize = changedProperties.has('pageSize');\n if (length || pageSize) {\n this._totalPages = Math.ceil(this._length / this._pageSize);\n // this._currentIndex = 1; // Remove to be able to set currentIndex from attributes\n this._updateButtons();\n }\n }\n render() {\n return html `\n <div class=\"pagination__container pagination__container--${this._size}\">\n <button\n type=\"button\"\n class=\"pagination__button\"\n @click=${this._prev}\n ?disabled=${+this._currentIndex === 1}\n >\n <span>keyboard_arrow_left</span>\n </button>\n ${this._buttons}\n <button\n type=\"button\"\n class=\"pagination__button\"\n @click=${this._next}\n ?disabled=${+this._currentIndex === this._totalPages}\n >\n <span>keyboard_arrow_right</span>\n </button>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: Number })\n], Pagination.prototype, \"length\", null);\n__decorate([\n property({ type: Number })\n], Pagination.prototype, \"pageSize\", null);\n__decorate([\n property({ type: String })\n], Pagination.prototype, \"size\", null);\n__decorate([\n property({ type: Number })\n], Pagination.prototype, \"currentIndex\", null);\nPagination = __decorate([\n customElement('dss-pagination')\n], Pagination);\nexport { Pagination };\n//# sourceMappingURL=pagination.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nlet Slider = class Slider extends LitElement {\n constructor() {\n super(...arguments);\n this._label = 'Input range';\n this._min = 0;\n this._max = 0;\n this._step = 1;\n this._orient = 'horizontal';\n this._vertical = false;\n this._value = 0;\n this._progress = 0;\n this._disabled = false;\n }\n static get styles() {\n return css `\n .dss-slider {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 100%;\n cursor: pointer;\n outline: none;\n border-radius: 3px;\n height: 4px;\n background: linear-gradient(\n to right,\n var(--color-primary-500) var(--progress),\n var(--color-neutral-100) var(--progress)\n );\n }\n\n .dss-slider--vertical {\n transform: rotate(-90deg);\n transform-origin: center center;\n }\n\n .dss-slider::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n height: 20px;\n width: 20px;\n background-color: var(--color-primary-500);\n border-radius: 50%;\n border: var(--dss-border-width-md) solid var(--color-white);\n transition: 0.3s ease-in-out;\n box-sizing: border-box;\n }\n\n .dss-slider::-moz-range-thumb {\n -webkit-appearance: none;\n appearance: none;\n height: 20px;\n width: 20px;\n background-color: var(--color-primary-500);\n border-radius: 50%;\n border: var(--dss-border-width-md) solid var(--color-white);\n transition: 0.3s ease-in-out;\n box-sizing: border-box;\n }\n\n .dss-slider::-webkit-slider-thumb:hover {\n background-color: var(--color-primary-600);\n transition: all 0.3s linear;\n }\n\n .dss-slider::-moz-range-thumb:hover {\n background-color: var(--color-primary-600);\n transition: all 0.3s linear;\n }\n\n .dss-slider:active::-webkit-slider-thumb {\n background-color: var(--color-primary-400);\n transition: none;\n }\n\n .dss-slider:active::-moz-range-thumb {\n background-color: var(--color-primary-400);\n transition: none;\n }\n\n .dss-slider:focus-visible::-webkit-slider-thumb {\n background-color: var(--color-primary-500);\n border-color: var(--color-blue-200);\n outline: 2px solid var(--color-blue-200);\n transition: none;\n }\n\n .dss-slider:focus-visible::-moz-range-thumb {\n background-color: var(--color-primary-500);\n border-color: var(--color-blue-200);\n outline: 2px solid var(--color-blue-200);\n transition: none;\n }\n\n .dss-slider:disabled {\n cursor: not-allowed;\n background: linear-gradient(\n to right,\n var(--color-neutral-400) var(--progress),\n var(--color-neutral-100) var(--progress)\n );\n }\n\n .dss-slider:disabled::-webkit-slider-thumb {\n background-color: var(--color-neutral-500);\n transition: none;\n }\n\n .dss-slider:disabled::-moz-range-thumb {\n background-color: var(--color-neutral-500);\n transition: none;\n }\n\n .dss-slider:disabled + .dss-slider-tooltip {\n display: none !important;\n }\n\n .dss-slider::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n height: 20px;\n width: 20px;\n background-color: var(--color-primary-500);\n border-radius: 50%;\n border: var(--dss-border-width-md) solid var(--color-white);\n transition: 0.3s ease-in-out;\n box-sizing: border-box;\n }\n\n .dss-slider:hover + .dss-slider-tooltip {\n display: block;\n }\n\n .dss-slider:focus-visible + .dss-slider-tooltip {\n display: block;\n }\n\n .dss-slider-wrapper {\n min-width: 200px;\n width: 100%;\n position: relative;\n }\n\n .dss-slider-tooltip {\n display: none;\n position: absolute;\n top: -50%;\n }\n\n .dss-slider-tooltip .tooltip-wrapper {\n width: var(--dss-spacing-hg);\n height: var(--dss-spacing-hg);\n line-height: 24px;\n text-align: center;\n background: var(--color-black);\n color: var(--color-white);\n font-size: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: -45px;\n left: calc(50% + 1px);\n transform: translate(-50%, 0);\n border-radius: var(--dss-radius-sm);\n box-shadow: 0 4px 8px 3px rgba(0, 0, 0, 0.05),\n 0 1px 3px rgba(0, 0, 0, 0.1);\n }\n\n .dss-slider-tooltip .tooltip-wrapper:before {\n content: '';\n position: absolute;\n width: 0;\n height: 0;\n border-top: 24px solid var(--color-black);\n border-left: 24px solid transparent;\n border-right: 24px solid transparent;\n top: 100%;\n left: 50%;\n margin-left: -24px;\n margin-top: -15px;\n }\n\n .dss-slider-info {\n position: absolute;\n top: calc(100% + 6px);\n font-size: 12px;\n line-height: 16px;\n color: var(--color-neutral-700);\n }\n\n .dss-slider-info--min {\n left: 0;\n }\n\n .dss-slider-info--medium {\n left: calc(50% - 5px);\n }\n\n .dss-slider-info--max {\n right: 0;\n }\n\n .dss-slider--vertical > .dss-slider-tooltip .tooltip-value {\n transform: rotate(90deg);\n }\n\n .dss-slider--vertical > .dss-slider-info {\n transform: rotate(90deg);\n transform-origin: center center;\n margin-right: -10px;\n }\n `;\n }\n get _input() {\n var _a;\n return (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('input');\n }\n get _tooltip() {\n var _a;\n return (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`#dss-slider-tooltip`);\n }\n set min(min) {\n const oldValue = this._min;\n this._min = min;\n this.requestUpdate('min', oldValue);\n }\n set max(max) {\n const oldValue = this._max;\n if (max >= this._value) {\n this._max = max;\n this._setProgress();\n this.requestUpdate('max', oldValue);\n }\n }\n set step(step) {\n const oldValue = this._step;\n this._step = step;\n this.requestUpdate('step', oldValue);\n }\n set orient(orient) {\n const oldValue = this._orient;\n this._orient = orient;\n if (orient === 'vertical') {\n this._vertical = true;\n }\n else {\n this._vertical = false;\n }\n this.requestUpdate('orient', oldValue);\n }\n set value(value) {\n const oldValue = this._value;\n if (this._max >= value) {\n this._value = value;\n this._setProgress();\n this.requestUpdate('value', oldValue);\n }\n }\n set disabled(disabled) {\n const oldValue = this._disabled;\n this._disabled = disabled;\n this.requestUpdate('disabled', oldValue);\n }\n set label(label) {\n const oldValue = this._label;\n this._label = label;\n this.requestUpdate('label', oldValue);\n }\n // private _bubble = this.renderRoot.querySelector('#dssSliderValue')\n render() {\n var _a;\n const orientClass = {\n 'dss-slider--vertical': this._vertical,\n };\n return html `\n <div class=\"dss-slider-wrapper ${classMap(orientClass)}\">\n <input\n id=\"dss-slider-input\"\n aria-label=\"${this._label}\"\n type=\"range\"\n class=\"dss-slider\"\n min=${this._min}\n max=${this._max}\n .value=${(_a = this._value) === null || _a === void 0 ? void 0 : _a.toString()}\n step=${this._step}\n direction=\"${this._orient}\"\n @input=\"${this._handleInput}\"\n style=\"--progress: ${`${this._progress}%`}\"\n ?disabled=\"${this._disabled}\"\n />\n <div class=\"dss-slider-tooltip\" id=\"dss-slider-tooltip\"></div>\n <div class=\"dss-slider-info dss-slider-info--min\">${this._min}</div>\n <div class=\"dss-slider-info dss-slider-info--medium\">\n ${Math.round((this._max + this._min) / 2)}\n </div>\n <div class=\"dss-slider-info dss-slider-info--max\">${this._max}</div>\n <div></div>\n </div>\n `;\n }\n async firstUpdated() {\n try {\n await this.updateComplete;\n this._setProgress();\n this.requestUpdate();\n document.addEventListener('DOMContentLoaded', this._updateTooltip.bind(this));\n this._input.addEventListener('input', this._updateTooltip.bind(this));\n this._input.addEventListener('mouseup', this._onMouseUp.bind(this)); // Return new input value after dragging\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n _handleInput() {\n if (this._input) {\n const tempValue = parseFloat(this._input.value);\n this._progress = Math.round(((tempValue - this._min) / (this._max - this._min)) * 100);\n this.requestUpdate();\n }\n }\n _setProgress() {\n if (this._input) {\n this._input.value = this._value.toString();\n }\n this._progress = Math.round(((this._value - this._min) / (this._max - this._min)) * 100);\n this.requestUpdate();\n }\n _updateTooltip() {\n if (this._tooltip) {\n const newValue = Number(((+this._input.value - +this._min) * 100) / (+this._max - +this._min));\n const newPosition = 10 - newValue * 0.2;\n this._tooltip.innerHTML = `<span class=\"tooltip-wrapper\"><span class=\"tooltip-value\">${this._input.value}</span></span>`;\n this._tooltip.style.left = `calc(${newValue}% + (${newPosition}px))`;\n }\n }\n _onMouseUp() {\n const onDssSliderValueChange = new CustomEvent('onDssSliderValueChange', {\n detail: this._input.value,\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(onDssSliderValueChange);\n }\n};\n__decorate([\n property({ type: Number })\n], Slider.prototype, \"min\", null);\n__decorate([\n property({ type: Number })\n], Slider.prototype, \"max\", null);\n__decorate([\n property({ type: Number })\n], Slider.prototype, \"step\", null);\n__decorate([\n property({ type: String })\n], Slider.prototype, \"orient\", null);\n__decorate([\n property({ type: Number })\n], Slider.prototype, \"value\", null);\n__decorate([\n property({ type: Boolean })\n], Slider.prototype, \"disabled\", null);\n__decorate([\n property({ type: String })\n], Slider.prototype, \"label\", null);\nSlider = __decorate([\n customElement('dss-slider')\n], Slider);\nexport { Slider };\n//# sourceMappingURL=slider.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nlet Spinner = class Spinner extends LitElement {\n constructor() {\n super(...arguments);\n this._size = 'md';\n }\n static get styles() {\n return css `\n :host {\n display: inline-block;\n width: fit-content;\n height: fit-content;\n }\n\n .dss-spinner {\n width: 48px;\n height: 48px;\n animation: rotate-animation 1s linear infinite;\n position: relative;\n }\n\n .dss-spinner__item {\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n position: absolute;\n transform: rotate(-90deg);\n }\n\n .dss-spinner__item:nth-child(1) circle {\n stroke: #eff7ff;\n stroke-dasharray: 1, 300;\n stroke-dashoffset: 0;\n animation: stroke-animation 4s calc(0.2s * (1)) ease infinite;\n transform-origin: center center;\n }\n\n .dss-spinner__item:nth-child(2) circle {\n stroke: #bfddfa;\n stroke-dasharray: 1, 300;\n stroke-dashoffset: 0;\n animation: stroke-animation 4s calc(0.2s * (2)) ease infinite;\n transform-origin: center center;\n }\n\n .dss-spinner__item:nth-child(3) circle {\n stroke: #60a8f0;\n stroke-dasharray: 1, 300;\n stroke-dashoffset: 0;\n animation: stroke-animation 4s calc(0.2s * (3)) ease infinite;\n transform-origin: center center;\n }\n\n .dss-spinner__item:nth-child(4) circle {\n stroke: #0073e6;\n stroke-dasharray: 1, 300;\n stroke-dashoffset: 0;\n animation: stroke-animation 4s calc(0.2s * (4)) ease infinite;\n transform-origin: center center;\n }\n\n .dss-spinner__item circle {\n fill: none;\n stroke-linecap: round;\n stroke-width: 8px;\n }\n\n .dss-spinner.dss-spinner--sm {\n width: 24px;\n height: 24px;\n }\n\n .dss-spinner.dss-spinner--md {\n width: 48px;\n height: 48px;\n }\n .dss-spinner.dss-spinner--lg {\n width: 72px;\n height: 72px;\n }\n\n @keyframes stroke-animation {\n 0% {\n stroke-dasharray: 1, 300;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 120, 300;\n stroke-dashoffset: -59;\n }\n 100% {\n stroke-dasharray: 120, 300;\n stroke-dashoffset: -175;\n }\n }\n @keyframes rotate-animation {\n 100% {\n transform: rotate(360deg);\n }\n }\n `;\n }\n set size(size) {\n const oldValue = this._size;\n this._size = size;\n this.requestUpdate('size', oldValue);\n }\n render() {\n return html `\n <div class=\"dss-spinner dss-spinner--${this._size}\">\n <svg\n viewBox=\"0 0 66 66\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"dss-spinner__item\"\n >\n <circle cx=\"33\" cy=\"33\" r=\"28\"></circle>\n </svg>\n <svg\n viewBox=\"0 0 66 66\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"dss-spinner__item\"\n >\n <circle cx=\"33\" cy=\"33\" r=\"28\"></circle>\n </svg>\n <svg\n viewBox=\"0 0 66 66\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"dss-spinner__item\"\n >\n <circle cx=\"33\" cy=\"33\" r=\"28\"></circle>\n </svg>\n <svg\n viewBox=\"0 0 66 66\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"dss-spinner__item\"\n >\n <circle cx=\"33\" cy=\"33\" r=\"28\"></circle>\n </svg>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: String })\n], Spinner.prototype, \"size\", null);\nSpinner = __decorate([\n customElement('dss-spinner')\n], Spinner);\nexport { Spinner };\n//# sourceMappingURL=spinner.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nlet Switch = class Switch extends LitElement {\n constructor() {\n super(...arguments);\n this._checked = false;\n this._disabled = false;\n this._label = null;\n this._size = 'md';\n }\n static get styles() {\n return css `\n :host {\n display: flex;\n width: fit-content;\n height: fit-content;\n gap: 0.5rem;\n align-items: center;\n }\n\n .dss-switch input[type='checkbox'] {\n opacity: 0;\n }\n\n .dss-switch {\n position: relative;\n display: flex;\n transition: 0.3s all ease-in;\n }\n\n .dss-switch .dss-switch__slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #656565;\n border-radius: 100px;\n transition: 0.3s all ease-in;\n }\n\n .dss-switch .dss-switch__slider:before {\n position: absolute;\n background-color: white;\n border-radius: 100%;\n content: '';\n box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.05),\n 0px 1px 3px 1px rgba(0, 0, 0, 0.1);\n transition: 0.3s all ease-in;\n }\n\n .dss-switch input[type='checkbox']:hover:enabled + .dss-switch__slider {\n background-color: #535353;\n }\n\n .dss-switch input[type='checkbox']:enabled + .dss-switch__slider:active {\n background-color: #828282;\n transition: none;\n }\n\n .dss-switch input[type='checkbox']:checked + .dss-switch__slider {\n background-color: #0073e6;\n }\n\n .dss-switch\n input[type='checkbox']:checked:hover:enabled\n + .dss-switch__slider {\n background-color: #0064c7;\n }\n\n .dss-switch\n input[type='checkbox']:checked:enabled\n + .dss-switch__slider:active {\n background-color: #308deb;\n transition: none;\n }\n\n .dss-switch\n input[type='checkbox']:checked:enabled\n + .dss-switch__slider:active:before {\n color: #308deb;\n transition: none;\n }\n\n .dss-switch\n input[type='checkbox']:enabled\n + .dss-switch__slider:active:before {\n color: #828282;\n transition: none;\n }\n\n .dss-switch input[type='checkbox']:disabled + .dss-switch__slider {\n cursor: not-allowed;\n }\n\n .dss-switch input[type='checkbox']:disabled + .dss-switch__slider:before {\n color: #828282 !important;\n }\n\n .dss-switch\n input[type='checkbox']:checked:disabled\n + .dss-switch__slider {\n background-color: #308deb;\n }\n\n .dss-switch\n input[type='checkbox']:checked:disabled\n + .dss-switch__slider:before {\n color: #308deb !important;\n }\n\n .dss-switch input[type='checkbox']:focus {\n outline: none;\n transition: none;\n }\n\n .dss-switch\n input[type='checkbox']:focus-visible:enabled\n + .dss-switch__slider {\n outline: 4px solid #8ec7e5;\n transition: none;\n }\n\n .dss-switch.dss-switch--lg {\n width: 52px;\n height: 32px;\n }\n\n .dss-switch.dss-switch--lg .dss-switch__slider:before {\n font-family: 'Material Symbols Rounded';\n content: 'close';\n color: var(--color-primary-500);\n font-size: 16px;\n height: 24px;\n width: 24px;\n left: 4px;\n bottom: 4px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .dss-switch.dss-switch--lg\n input[type='checkbox']:checked\n + .dss-switch__slider:before {\n -webkit-transform: translateX(20px);\n -ms-transform: translateX(20px);\n transform: translateX(20px);\n content: 'done';\n color: var(--color-primary-500);\n }\n\n .dss-switch.dss-switch--md {\n width: 39px;\n height: 24px;\n }\n\n .dss-switch.dss-switch--md .dss-switch__slider:before {\n height: 18px;\n width: 18px;\n left: 3px;\n bottom: 3px;\n }\n\n .dss-switch.dss-switch--md\n input[type='checkbox']:checked\n + .dss-switch__slider:before {\n -webkit-transform: translateX(15px);\n -ms-transform: translateX(15px);\n transform: translateX(15px);\n }\n\n .dss-switch.dss-switch--sm {\n width: 26px;\n height: 16px;\n }\n\n .dss-switch.dss-switch--sm .dss-switch__slider:before {\n height: 12px;\n width: 12px;\n left: 2px;\n bottom: 2px;\n }\n\n .dss-switch.dss-switch--sm\n input[type='checkbox']:checked\n + .dss-switch__slider:before {\n -webkit-transform: translateX(10px);\n -ms-transform: translateX(10px);\n transform: translateX(10px);\n }\n\n .dss-switch__label {\n font-family: var(--font-family);\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 24px;\n color: #1d1d1d;\n }\n\n .dss-switch.dss-switch--lg + .dss-switch__label {\n font-weight: 600;\n font-size: 16px;\n }\n\n .dss-switch--disabled .dss-switch__slider {\n background-color: var(--color-neutral-200);\n }\n\n .dss-switch\n input[type='checkbox']:checked:disabled\n + .dss-switch__slider {\n background-color: var(--color-neutral-200);\n }\n\n .dss-switch\n input[type='checkbox']:checked:disabled\n + .dss-switch__slider::before {\n background-color: var(--color-neutral-400);\n color: var(--color-neutral-900) !important;\n }\n\n .dss-switch.dss-switch--lg\n input[type='checkbox']:checked:disabled\n + .dss-switch__slider::before {\n background-color: var(--color-neutral-100);\n }\n\n .dss-switch\n input[type='checkbox']:not(:checked):disabled\n + .dss-switch__slider::before {\n background-color: var(--color-neutral-400);\n color: var(--color-neutral-100) !important;\n }\n `;\n }\n set checked(checked) {\n const oldValue = this._checked;\n this._checked = checked;\n this.requestUpdate('checked', oldValue);\n }\n set disabled(disabled) {\n const oldValue = this._disabled;\n this._disabled = disabled;\n this.requestUpdate('disabled', oldValue);\n }\n set label(label) {\n const oldValue = this._label;\n this._label = label;\n this.requestUpdate('label', oldValue);\n }\n set size(size) {\n const oldValue = this._size;\n this._size = size;\n this.requestUpdate('size', oldValue);\n }\n handleClick() {\n this._checked = !this._checked;\n this.dispatchEvent(new CustomEvent('onChangeValue', {\n detail: this._checked,\n bubbles: true,\n composed: true,\n }));\n }\n render() {\n const switchCssClassmap = {\n 'dss-switch--sm': this._size === 'sm',\n 'dss-switch--md': this._size === 'md',\n 'dss-switch--lg': this._size === 'lg',\n 'dss-switch--disabled': this._disabled,\n };\n return html `\n <label class=\"dss-switch ${classMap(switchCssClassmap)}\">\n <input\n type=\"checkbox\"\n ?checked=\"${this._checked}\"\n ?disabled=\"${this._disabled}\"\n @click=\"${this.handleClick}\"\n />\n <div class=\"dss-switch__slider\"></div>\n </label>\n ${this._label\n ? html `<span class=\"dss-switch__label\">${this._label}</span>`\n : null}\n `;\n }\n};\n__decorate([\n property({ type: Boolean })\n], Switch.prototype, \"checked\", null);\n__decorate([\n property({ type: Boolean })\n], Switch.prototype, \"disabled\", null);\n__decorate([\n property({ type: String })\n], Switch.prototype, \"label\", null);\n__decorate([\n property({ type: String })\n], Switch.prototype, \"size\", null);\nSwitch = __decorate([\n customElement('dss-switch')\n], Switch);\nexport { Switch };\n//# sourceMappingURL=switch.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nconst booleanType = {\n type: Boolean,\n converter: {\n fromAttribute: value => value !== 'false',\n toAttribute: value => (value ? '' : undefined),\n },\n};\nconst selectedType = {\n type: Array,\n converter: {\n fromAttribute: value => {\n if (!value)\n return [];\n const val = JSON.parse(value);\n return Array.isArray(val) ? val.map(v => v.toString()) : [val.toString()];\n },\n toAttribute: value => JSON.stringify(value),\n },\n};\nlet Selector = class Selector extends LitElement {\n constructor() {\n super(...arguments);\n this._elementId = `dss-selector-${new Date().getTime()}`;\n this._elements = null;\n this._elementSelectAll = [];\n this._selectedValue = null;\n this._multiple = false;\n this._deselectable = false;\n this._disabled = false;\n this._tick = true;\n this._type = 'default';\n this._style = null;\n this._filtre = null;\n this._labelSelectAll = 'Seleccionar-ho tot';\n this._labelDeselectAll = 'Deseleccionar-ho tot';\n this._selectAll = false;\n this._isAllSelected = false;\n this._elementsSelected = 0;\n this._emptySelectorLabel = 'Sense resultats per';\n }\n static get styles() {\n return [\n symbolStyles,\n css `\n .dss-icon--checked::before {\n content: 'done';\n font-family: 'Material Symbols Rounded';\n font-weight: normal;\n color: var(--color-white);\n font-size: 24px;\n vertical-align: middle;\n }\n\n .dss-type--default.dss-selected {\n background-color: var(--color-primary-500);\n }\n\n .dss-type--green.dss-selected {\n background-color: var(--color-green-500);\n }\n\n .dss-selected label {\n color: var(--color-white) !important;\n }\n\n .list {\n width: auto;\n border-radius: 8px;\n margin-top: 8px;\n background-color: #ffffff;\n color: var(--color-neutral-900);\n /** add shadow */\n box-shadow: 0 0 0 0.063rem #d8d8d8, 0 0 0 0.063rem #d8d8d8;\n }\n\n .list .dss-form-field:first-child {\n border-radius: 8px 8px 0 0;\n }\n\n .list .dss-form-field:last-child {\n border-radius: 0 0 8px 8px;\n }\n\n .list * {\n cursor: pointer;\n }\n\n .list .disabled,\n .list .disabled * {\n cursor: inherit !important;\n color: var(--color-neutral-500);\n }\n\n .dss-disabled {\n opacity: 0.4;\n cursor: not-allowed;\n }\n\n .hidden {\n opacity: 0;\n position: absolute;\n }\n\n .dss-checkbox,\n .dss-table .dss-table__checkbox {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border: 0.0625rem solid var(--color-neutral-500);\n border-radius: 0.125rem;\n cursor: pointer;\n flex-shrink: 0;\n height: 1.25rem !important;\n margin: 0.125rem;\n overflow: hidden;\n position: relative;\n transition: all 0.3s linear;\n width: 1.25rem !important;\n }\n\n .dss-checkbox:hover {\n border: 0.0625rem solid var(--color-neutral-600);\n transition: all 0.3s linear;\n }\n\n .dss-checkbox:checked {\n background-color: var(--color-primary-500);\n border: 0.0625rem solid var(--color-primary-500);\n }\n\n .dss-checkbox:checked:before {\n position: absolute;\n top: -4px;\n left: -2px;\n color: var(--color-white);\n content: 'check';\n font-family: Material Symbols Rounded;\n font-size: 1.375rem;\n text-align: center;\n }\n\n .dss-checkbox:checked:hover {\n background-color: var(--color-primary-600);\n border: 0.0625rem solid var(--color-primary-600);\n transition: all 0.3s linear;\n }\n\n .dss-checkbox:indeterminate:before {\n color: var(--color-white);\n content: 'remove';\n font-family: Material Symbols Rounded;\n font-size: 1.125rem;\n }\n\n .dss-checkbox:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n\n .dss-form-field__focus {\n outline: 0.25rem solid var(--color-blue-200);\n outline-offset: -4px;\n transition: none;\n }\n\n .dss-radio:focus-visible:enabled,\n .dss-checkbox:focus-visible:enabled {\n outline: none;\n }\n\n .dss-radio,\n .dss-table .dss-table__radio {\n -webkit-appearance: none;\n appearance: none;\n background-color: var(--color-white);\n border: 0.0625rem solid var(--color-neutral-500);\n border-radius: 50%;\n color: var(--color-primary-500);\n cursor: pointer;\n display: grid;\n flex-shrink: 0;\n height: 1.25rem;\n margin: 4px 0.125rem 0 0.125rem;\n place-content: center;\n transform: translateY(-0.075em);\n transition: all 0.3s linear;\n width: 1.25rem;\n }\n\n .dss-radio:before {\n background-color: var(--color-white);\n border-radius: 50%;\n box-shadow: inset 1rem 1rem var(--color-primary-500);\n content: '';\n height: 0.625rem;\n transform: scale(0);\n transition: transform 0.3s ease-in-out;\n width: 0.625rem;\n }\n\n .dss-radio:checked {\n border: 0.0625rem solid var(--color-primary-500);\n }\n\n .dss-radio:checked:before {\n box-shadow: inset 1rem 1rem var(--color-primary-500);\n transform: scale(1);\n }\n\n .dss-radio:checked:hover {\n border: 0.0625rem solid var(--color-primary-600);\n transition: all 0.3s linear;\n }\n\n .dss-radio:checked:hover:before {\n box-shadow: inset 1rem 1rem var(--color-primary-600);\n transform: scale(1);\n transition: all 0.3s linear;\n }\n\n .dss-radio:checked:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n\n .dss-radio:hover {\n border: 0.0625rem solid var(--color-neutral-600);\n transition: all 0.3s linear;\n }\n\n .dss-radio:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n }\n\n .dss-form-field {\n align-items: center;\n display: flex;\n gap: 8px;\n cursor: pointer;\n min-height: 24px;\n min-width: 136px;\n padding: 8px 12px;\n position: relative;\n word-break: break-word;\n }\n\n .dss-form-field.dss-ticked {\n justify-content: space-between;\n }\n\n .dss-form-field.dss-selectAll {\n border-bottom: 0.8px solid #b1b1b1;\n position: sticky;\n top: 0;\n z-index: 1;\n }\n\n .dss-form-field.dss-first-unselected {\n border-top: 0.8px solid #b1b1b1;\n }\n\n .dss-type--default:hover {\n background-color: var(--color-primary-100);\n }\n\n .dss-type--green:hover {\n background-color: var(--color-green-100);\n }\n\n .dss-type--default.dss-selected:hover {\n background-color: var(--color-primary-400);\n }\n\n .dss-type--green.dss-selected:hover {\n background-color: var(--color-green-400);\n }\n\n .dss-form-field label {\n font-size: 0.875rem;\n line-height: var(--line-24);\n }\n\n .dss-form-field label span.bold {\n font-weight: var(--font-bold);\n }\n\n .dss-form-field .dss-check-overlay {\n width: 24px;\n height: 24px;\n position: absolute;\n }\n\n .dss-selector-list-wrapper {\n overflow-y: auto;\n }\n\n .dss-selector-empty {\n box-sizing: border-box;\n min-height: 120px;\n width: 100%;\n max-width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: var(--dss-spacing-xs);\n gap: var(--dss-spacing-xs);\n }\n\n .dss-selector-empty .text {\n font-size: 14px;\n color: var(--color-blue-800);\n }\n `,\n ];\n }\n set multiple(multiple) {\n const oldValue = this._multiple;\n this._multiple = multiple;\n this.requestUpdate('multiple', oldValue);\n }\n set tick(tick) {\n const oldValue = this._tick;\n this._tick = tick;\n this.requestUpdate('tick', oldValue);\n }\n set deselectable(deselectable) {\n const oldValue = this._deselectable;\n this._deselectable = deselectable;\n this.requestUpdate('deselectable', oldValue);\n }\n set disabled(disabled) {\n const oldValue = this._disabled;\n this._disabled = disabled;\n this.requestUpdate('disabled', oldValue);\n }\n set elements(elements) {\n const oldValue = this._elements;\n this._elements = elements;\n this.requestUpdate('elements', oldValue);\n }\n set selectedValue(value) {\n var _a, _b;\n const oldValue = this._selectedValue;\n if (!value || value.length === 0) {\n this._selectedValue = null;\n this.requestUpdate('selectedValue', oldValue);\n return;\n }\n if (this._multiple) {\n this._selectedValue =\n ((_a = this._elements) === null || _a === void 0 ? void 0 : _a.filter(element => value.includes(element.value))) ||\n null;\n this.requestUpdate('selectedValue', oldValue);\n return;\n }\n const element = (_b = this._elements) === null || _b === void 0 ? void 0 : _b.find(el => el.value === value[0]);\n this._selectedValue = element ? [element] : null;\n this.requestUpdate('selectedValue', oldValue);\n }\n set type(value) {\n const oldValue = this._type;\n if (value === 'default' || value === 'green')\n this._type = value;\n else\n this._type = 'default';\n this.requestUpdate('type', oldValue);\n }\n set boxStyle(style) {\n const oldValue = this._style;\n this._style = style;\n this.requestUpdate('style', oldValue);\n }\n set filtre(filtre) {\n if (filtre) {\n const oldValue = this._filtre;\n this._filtre = filtre.toLowerCase();\n this.requestUpdate('filtre', oldValue);\n }\n }\n set labelSelectAll(labelSelectAll) {\n const oldValue = this._labelSelectAll;\n if (labelSelectAll !== '') {\n this._labelSelectAll = labelSelectAll;\n }\n this.requestUpdate('labelSelectAll', oldValue);\n }\n set labelDeselectAll(labelDeselectAll) {\n const oldValue = this._labelDeselectAll;\n if (labelDeselectAll !== '') {\n this._labelDeselectAll = labelDeselectAll;\n }\n this.requestUpdate('labelDeselectAll', oldValue);\n }\n set selectAll(selectAll) {\n const oldValue = this._selectAll;\n this._selectAll = selectAll;\n this.requestUpdate('selectAll', oldValue);\n }\n set elementsSelected(elementsSelected) {\n const oldValue = this._elementsSelected;\n this._elementsSelected = elementsSelected;\n this.requestUpdate('elementsSelected', oldValue);\n }\n _valueIsSelected(value) {\n var _a;\n return ((_a = this._selectedValue) === null || _a === void 0 ? void 0 : _a.some(el => el.value === value)) || false;\n }\n _manuallySelect(e, value) {\n e.preventDefault();\n e.stopPropagation();\n if (this._disabled)\n return;\n const sel = this._valueIsSelected(value);\n if (!this._multiple && !this._deselectable && sel)\n return;\n const el = e.target;\n if (el.className.includes('dss-form-field')) {\n el.querySelector('input').checked = !sel;\n }\n else {\n el.parentElement.querySelector('input').checked = !sel;\n }\n this._returnSelectedValues(value);\n this._areAllElementsSelected();\n }\n _manuallySelectAll(e) {\n e.preventDefault();\n e.stopPropagation();\n if (this._disabled)\n return;\n if (!this._multiple && !this._deselectable && this._isAllSelected)\n return;\n const el = e.target;\n if (el.className.includes('dss-form-field')) {\n el.querySelector('input').checked = !el.querySelector('input').checked;\n this._returnSelecteAllValues(el.querySelector('input').checked);\n }\n else {\n el.parentElement.querySelector('input').checked =\n !el.parentElement.querySelector('input').checked;\n this._returnSelecteAllValues(el.parentElement.querySelector('input').checked);\n }\n this._areAllElementsSelected();\n }\n _returnSelecteAllValues(selectAll) {\n var _a, _b;\n if (selectAll) {\n this._selectedValue =\n ((_a = this._elements) === null || _a === void 0 ? void 0 : _a.filter(element => element.value)) || [];\n }\n else {\n this._selectedValue = [];\n }\n const detail = ((_b = this._selectedValue) === null || _b === void 0 ? void 0 : _b.map(element => element.value)) || null;\n const options = {\n detail,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onValueChange', options));\n this.requestUpdate();\n }\n _returnSelectedValues(value) {\n var _a, _b;\n const checkedValues = Array.from(((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('input:checked')) || [])\n .map(input => input.getAttribute('value'))\n .filter(input => {\n if (input == null)\n return false;\n if (!this._multiple)\n return input === value;\n return true;\n });\n const index = checkedValues.indexOf(this._elementSelectAll[0]);\n if (index !== -1) {\n checkedValues.splice(index, 1);\n }\n this._selectedValue =\n ((_b = this._elements) === null || _b === void 0 ? void 0 : _b.filter(element => checkedValues.includes(element.value))) || [];\n let detail;\n if (this._multiple)\n detail = checkedValues;\n else\n detail = checkedValues[0] || null;\n const options = {\n detail,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onValueChange', options));\n this.requestUpdate();\n }\n _getIndexSubtext(str) {\n if (!this._filtre)\n return [-1, -1];\n const text = str.toLowerCase();\n return [\n text.indexOf(this._filtre),\n text.indexOf(this._filtre) + this._filtre.length,\n ];\n }\n /* eslint-disable class-methods-use-this */\n _focusEvent(e) {\n const el = e.target;\n const parentForm = el.closest('.dss-form-field');\n parentForm === null || parentForm === void 0 ? void 0 : parentForm.classList.add('dss-form-field__focus');\n }\n _blurEvent(e) {\n const el = e.target;\n const parentForm = el.closest('.dss-form-field');\n parentForm === null || parentForm === void 0 ? void 0 : parentForm.classList.remove('dss-form-field__focus');\n }\n /* eslint-enable class-methods-use-this */\n async firstUpdated() {\n try {\n await this.updateComplete;\n this._elementSelectAll = [this._labelSelectAll];\n this._areAllElementsSelected();\n this.requestUpdate();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n _areAllElementsSelected() {\n if (!this._elements || !this._selectedValue) {\n this._elementSelectAll = [this._labelSelectAll];\n this._isAllSelected = false;\n return;\n }\n const selectedValues = this._selectedValue.map(element => element.value);\n const elementValues = this._elements.map(element => element.value);\n this._isAllSelected =\n selectedValues.length === elementValues.length &&\n selectedValues.every(value => elementValues.includes(value));\n if (this._isAllSelected) {\n this._elementSelectAll = [this._labelDeselectAll];\n }\n else {\n this._elementSelectAll = [this._labelSelectAll];\n }\n this.requestUpdate();\n }\n generateListInputsElements() {\n var _a;\n const salida = (_a = this._elements) === null || _a === void 0 ? void 0 : _a.map((element, index) => {\n const selected = this._valueIsSelected(element.value);\n const tick = this._tick && !this._multiple;\n const divClasses = classMap({\n disabled: this._disabled,\n 'dss-disabled': this._disabled,\n 'dss-form-field': true,\n 'dss-type--default': this._type === 'default',\n 'dss-type--green': this._type === 'green',\n 'dss-ticked': tick,\n 'dss-selected': selected && tick,\n 'dss-first-unselected': index && index > 0 && index === this._elementsSelected,\n });\n const inputClasses = classMap({\n 'dss-checkbox': this._multiple,\n 'dss-radio': !this._multiple,\n 'dss-disabled': this._disabled,\n hidden: tick,\n });\n const tickVisibility = tick && selected ? 'visible' : 'hidden';\n const input = html `\n <input\n name=\"${this._elementId}\"\n type=\"checkbox\"\n class=\"${inputClasses}\"\n .value=\"${element.value}\"\n .checked=\"${selected}\"\n @focus=\"${this._focusEvent}\"\n @blur=\"${this._blurEvent}\"\n />\n <div class=\"dss-check-overlay\"></div>\n `;\n const htmlTick = html `<span\n class=\"dss-icon--checked\"\n style=\"visibility: ${tickVisibility}\"\n ></span>`;\n const clickEvent = (e) => {\n this._manuallySelect(e, element.value);\n };\n const keyEvent = (e) => {\n var _a, _b, _c, _d;\n if (e.key === 'Enter' || e.key === ' ') {\n this._manuallySelect(e, element.value);\n }\n else if (e.key === 'ArrowUp') {\n const el = e.target;\n const prev = (_b = (_a = el === null || el === void 0 ? void 0 : el.closest('.dss-form-field')) === null || _a === void 0 ? void 0 : _a.previousElementSibling) === null || _b === void 0 ? void 0 : _b.querySelector('input');\n prev === null || prev === void 0 ? void 0 : prev.focus();\n }\n else if (e.key === 'ArrowDown') {\n const el = e.target;\n const next = (_d = (_c = el === null || el === void 0 ? void 0 : el.closest('.dss-form-field')) === null || _c === void 0 ? void 0 : _c.nextElementSibling) === null || _d === void 0 ? void 0 : _d.querySelector('input');\n next === null || next === void 0 ? void 0 : next.focus();\n }\n };\n const [start, end] = this._getIndexSubtext(element.label);\n let label = html `${element.label}`;\n if (start !== -1 && end !== -1) {\n const abans = element.label.slice(0, start);\n const sub = element.label.slice(start, end);\n const despres = element.label.slice(end);\n label = html `${abans}<span class=\"bold\">${sub}</span>${despres}`;\n }\n return html `\n <div class=\"${divClasses}\" @keyup=\"${keyEvent}\" @click=\"${clickEvent}\">\n ${input}\n <label>${label}</label>\n ${htmlTick}\n </div>\n `;\n });\n return salida;\n }\n generatElementSelectAll() {\n var _a;\n const salida = (_a = this._elementSelectAll) === null || _a === void 0 ? void 0 : _a.map(element => {\n const divClasses = classMap({\n disabled: this._disabled,\n 'dss-form-field': true,\n 'dss-type--default': this._type === 'default',\n 'dss-type--green': this._type === 'green',\n 'dss-selectAll': true,\n 'dss-disabled': this._disabled,\n });\n const inputClasses = classMap({\n 'dss-checkbox': this._multiple,\n });\n const input = html `\n <input\n name=\"${this._elementId}\"\n type=\"checkbox\"\n class=\"${inputClasses}\"\n .value=\"${element}\"\n .checked=\"${this._isAllSelected}\"\n @focus=\"${this._focusEvent}\"\n @blur=\"${this._blurEvent}\"\n />\n <div class=\"dss-check-overlay\"></div>\n `;\n const clickEvent = (e) => {\n this._manuallySelectAll(e);\n };\n const keyEvent = (e) => {\n var _a, _b, _c, _d;\n if (e.key === 'Enter' || e.key === ' ') {\n this._manuallySelectAll(e);\n }\n else if (e.key === 'ArrowUp') {\n const el = e.target;\n const prev = (_b = (_a = el === null || el === void 0 ? void 0 : el.closest('.dss-form-field')) === null || _a === void 0 ? void 0 : _a.previousElementSibling) === null || _b === void 0 ? void 0 : _b.querySelector('input');\n prev === null || prev === void 0 ? void 0 : prev.focus();\n }\n else if (e.key === 'ArrowDown') {\n const el = e.target;\n const next = (_d = (_c = el === null || el === void 0 ? void 0 : el.closest('.dss-form-field')) === null || _c === void 0 ? void 0 : _c.nextElementSibling) === null || _d === void 0 ? void 0 : _d.querySelector('input');\n next === null || next === void 0 ? void 0 : next.focus();\n }\n };\n return html `\n <div class=\"${divClasses}\" @keyup=\"${keyEvent}\" @click=\"${clickEvent}\">\n ${input}\n <label>${element}</label>\n </div>\n `;\n });\n return salida;\n }\n render() {\n var _a;\n let lis = this.generateListInputsElements();\n const lis2 = this.generatElementSelectAll();\n if (this._multiple && this._selectAll) {\n lis === null || lis === void 0 ? void 0 : lis.unshift(lis2[0]);\n lis = (lis === null || lis === void 0 ? void 0 : lis.length) === 1 ? [] : lis;\n }\n const scrollEvent = (e) => {\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n e.preventDefault();\n }\n };\n return html `\n <div\n part=\"selector\"\n class=\"list dss-selector-list-wrapper\"\n @keydown=${scrollEvent}\n style=\"${this._style}\"\n >\n ${lis}\n ${((_a = this._elements) === null || _a === void 0 ? void 0 : _a.length) === 0\n ? html `\n <div class=\"dss-selector-empty\">\n <span class=\"dss-icon dss-icon--sm\">info</span>\n <span class=\"text\">\n ${this._emptySelectorLabel}: ${this._filtre}\n </span>\n </div>\n `\n : null}\n </div>\n `;\n }\n};\n__decorate([\n property(booleanType)\n], Selector.prototype, \"multiple\", null);\n__decorate([\n property(booleanType)\n], Selector.prototype, \"tick\", null);\n__decorate([\n property(booleanType)\n], Selector.prototype, \"deselectable\", null);\n__decorate([\n property(booleanType)\n], Selector.prototype, \"disabled\", null);\n__decorate([\n property({ type: Array })\n], Selector.prototype, \"elements\", null);\n__decorate([\n property(selectedType)\n], Selector.prototype, \"selectedValue\", null);\n__decorate([\n property({ type: String })\n], Selector.prototype, \"type\", null);\n__decorate([\n property({ type: String })\n], Selector.prototype, \"boxStyle\", null);\n__decorate([\n property({ type: String })\n], Selector.prototype, \"filtre\", null);\n__decorate([\n property({ type: String })\n], Selector.prototype, \"labelSelectAll\", null);\n__decorate([\n property({ type: String })\n], Selector.prototype, \"labelDeselectAll\", null);\n__decorate([\n property(booleanType)\n], Selector.prototype, \"selectAll\", null);\n__decorate([\n property({ type: Number })\n], Selector.prototype, \"elementsSelected\", null);\nSelector = __decorate([\n customElement('dss-selector')\n], Selector);\nexport { Selector };\n//# sourceMappingURL=selector.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nlet TablePagination = class TablePagination extends LitElement {\n constructor() {\n super(...arguments);\n this._length = 0;\n this._pageSizeOptions = [];\n this._pageSize = 5;\n this._totalPages = 0;\n this._currentIndex = 1;\n this._startIndex = 1;\n this._endIndex = this._pageSize;\n this._rowsPerPageText = 'Files per pàgina';\n this._resultsText = 'Resultats';\n }\n static get styles() {\n return [\n symbolStyles,\n css `\n :host {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n height: fit-content;\n font-family: var(--font-family);\n font-style: normal;\n border-top: 2px solid var(--color-neutral-700);\n }\n\n .pagination__container {\n display: flex;\n align-items: center;\n padding: 0.5rem 0.75rem;\n gap: 1rem;\n }\n\n .pagination__results {\n font-weight: 600;\n font-size: 0.875rem;\n line-height: 1.5rem;\n color: #0073e6;\n }\n\n .pagination__divider {\n height: 1rem;\n border-left: 1px solid rgb(216, 216, 216);\n }\n\n .pagination__text {\n font-weight: 400;\n font-size: 12px;\n line-height: 1rem;\n color: #656565;\n }\n\n .pagination__button {\n color: #0073e6;\n font-size: 1.5rem;\n padding: 0;\n align-items: center;\n background-color: transparent;\n border: none;\n border-radius: 100%;\n cursor: pointer;\n display: flex;\n height: fit-content;\n justify-content: center;\n transition: all 0.3s ease-in;\n width: fit-content;\n font-family: 'Material Symbols Rounded';\n width: 2rem;\n height: 2rem;\n }\n\n .pagination__button:hover:enabled {\n background-color: #bfddfa;\n }\n\n .pagination__button:focus-visible:enabled {\n outline: 0.25rem solid #8fc2f5;\n transition: none;\n }\n\n .pagination__button:active:enabled {\n background-color: #eff7ff;\n transition: none;\n }\n\n .pagination__button:disabled {\n transition: none;\n opacity: 0.4;\n cursor: not-allowed;\n }\n\n .pagination__row-page {\n display: flex;\n align-items: center;\n gap: 1rem;\n }\n\n .pagination__buttons {\n display: flex;\n align-items: center;\n }\n\n .pagination__select {\n background: #eff7ff;\n border-radius: 4px;\n position: relative;\n }\n\n .pagination__select select {\n border: none;\n appearance: none;\n background: transparent;\n padding: 7px 32px 7px 12px;\n color: #00356a;\n font-weight: 400;\n font-size: 12px;\n line-height: 1rem;\n position: inherit;\n z-index: 1;\n font-family: var(--font-family);\n }\n\n .pagination__select select:active,\n .pagination__select select:focus-visible {\n outline: none;\n }\n\n .pagination__arrow-down {\n position: absolute;\n height: 100%;\n display: flex;\n align-items: center;\n top: 0;\n right: 12px;\n color: #00356a;\n }\n `,\n ];\n }\n set length(length) {\n const oldValue = this._length;\n this._length = length;\n this.requestUpdate('length', oldValue);\n }\n set pageSize(pageSize) {\n const oldValue = this._pageSize;\n this._pageSize = pageSize;\n this.requestUpdate('pageSize', oldValue);\n }\n set pageSizeOptions(pageSizeOptions) {\n const oldValue = this._pageSizeOptions;\n this._pageSizeOptions = pageSizeOptions;\n this.requestUpdate('pageSizeOptions', oldValue);\n }\n set currentIndex(currentIndex) {\n const oldValue = this._currentIndex;\n this._currentIndex = currentIndex;\n this.requestUpdate('currentIndex', oldValue);\n }\n set rowsPerPageText(rowsPerPageText) {\n const oldValue = this._rowsPerPageText;\n this._rowsPerPageText = rowsPerPageText;\n this.requestUpdate('rowsPerPageText', oldValue);\n }\n set resultsText(resultsText) {\n const oldValue = this._resultsText;\n this._resultsText = resultsText;\n this.requestUpdate('resultsText', oldValue);\n }\n _next() {\n // eslint-disable-next-line no-plusplus\n this._currentIndex++;\n this._startIndex += this._pageSize;\n this._endIndex += this._pageSize;\n if (this._currentIndex === this._totalPages) {\n this._endIndex = this._length;\n }\n this._emitCurrentPage();\n this.requestUpdate();\n }\n _prev() {\n const _lastCount = Math.abs(this._startIndex - this._endIndex) + 1;\n this._startIndex -= this._pageSize;\n this._endIndex -=\n this._currentIndex === this._totalPages ? _lastCount : this._pageSize;\n // eslint-disable-next-line no-plusplus\n this._currentIndex--;\n this._emitCurrentPage();\n this.requestUpdate();\n }\n _handleChange() {\n var _a;\n const _select = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#pagination-select');\n this._pageSize = Number(_select.value);\n this._reload(this._startIndex);\n this._emitCurrentPage();\n this.requestUpdate();\n }\n _emitCurrentPage() {\n this.dispatchEvent(new CustomEvent('onChangePage', {\n detail: {\n currentIndex: this._currentIndex,\n startIndex: this._startIndex,\n endIndex: this._endIndex,\n pageSize: this._pageSize,\n },\n bubbles: true,\n composed: true,\n }));\n }\n _reload(previousFirstItem) {\n this._currentIndex = Math.ceil(previousFirstItem / this._pageSize);\n this._reset(true);\n }\n _reset(reload) {\n this._totalPages = Math.ceil(this._length / this._pageSize);\n // Prevent currentIndex issues if users define a wrong index\n // Only on first component rendering\n if (!reload) {\n if (this._currentIndex < 1) {\n this._currentIndex = 1;\n }\n else if (this._currentIndex > this._totalPages) {\n this._currentIndex = this._totalPages;\n }\n }\n this._startIndex = (this._currentIndex - 1) * this._pageSize + 1;\n this._endIndex = this._startIndex - 1 + this._pageSize;\n // Prevent endIndex issues\n if (this._endIndex > this._length) {\n this._endIndex = this._length;\n }\n }\n async firstUpdated() {\n var _a;\n try {\n await this.updateComplete;\n this._pageSize =\n ((_a = this._pageSizeOptions) === null || _a === void 0 ? void 0 : _a.length) &&\n !this._pageSizeOptions.includes(this._pageSize)\n ? this._pageSizeOptions[0]\n : this._pageSize;\n this._reset();\n this._emitCurrentPage();\n this.requestUpdate();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n willUpdate(changedProperties) {\n var _a;\n const length = changedProperties.has('length');\n const pageSize = changedProperties.has('pageSize');\n const pageSizeOptions = changedProperties.has('pageSizeOptions');\n if (length || pageSize || pageSizeOptions) {\n this._pageSize =\n ((_a = this._pageSizeOptions) === null || _a === void 0 ? void 0 : _a.length) &&\n !this._pageSizeOptions.includes(this._pageSize)\n ? this._pageSizeOptions[0]\n : this._pageSize;\n this._reset();\n this.requestUpdate();\n }\n }\n render() {\n var _a;\n return html `\n <div class=\"pagination__container\">\n <span class=\"pagination__results\"\n >${this._length} ${this._resultsText}</span\n >\n <div class=\"pagination__divider\"></div>\n ${((_a = this._pageSizeOptions) === null || _a === void 0 ? void 0 : _a.length)\n ? html `\n <div class=\"pagination__row-page\">\n <span class=\"pagination__text\">${this._rowsPerPageText}</span>\n <div class=\"pagination__select\">\n <select\n id=\"pagination-select\"\n @change=${this._handleChange}\n aria-label=\"Seleccionar la mida de la pàgina\"\n >\n ${this._pageSizeOptions.map((option) => html `\n <option\n value=\"${option}\"\n .selected=${this._pageSize === option}\n >\n ${option}\n </option>\n `)}\n </select>\n <span class=\"material-symbols-rounded pagination__arrow-down\">\n keyboard_arrow_down\n </span>\n </div>\n </div>\n <span class=\"pagination__text\">\n ${this._startIndex}-${this._endIndex} of ${this._length}\n </span>\n <div class=\"pagination__buttons\">\n <button\n type=\"button\"\n class=\"pagination__button ${this._currentIndex}\"\n @click=${this._prev}\n ?disabled=${+this._currentIndex === 1}\n >\n <span>keyboard_arrow_left</span>\n </button>\n <button\n type=\"button\"\n class=\"pagination__button\"\n @click=${this._next}\n ?disabled=${+this._currentIndex === this._totalPages}\n >\n <span>keyboard_arrow_right</span>\n </button>\n </div>\n `\n : html `\n <button\n type=\"button\"\n class=\"pagination__button\"\n @click=${this._prev}\n ?disabled=${+this._currentIndex === 1}\n >\n <span>keyboard_arrow_left</span>\n </button>\n <span class=\"pagination__text\">\n ${this._startIndex}-${this._endIndex} of ${this._length}\n </span>\n <button\n type=\"button\"\n class=\"pagination__button\"\n @click=${this._next}\n ?disabled=${+this._currentIndex === this._totalPages}\n >\n <span>keyboard_arrow_right</span>\n </button>\n `}\n </div>\n `;\n }\n};\n__decorate([\n property({ type: Number })\n], TablePagination.prototype, \"length\", null);\n__decorate([\n property({ type: Number })\n], TablePagination.prototype, \"pageSize\", null);\n__decorate([\n property({ type: Array })\n], TablePagination.prototype, \"pageSizeOptions\", null);\n__decorate([\n property({ type: String })\n], TablePagination.prototype, \"currentIndex\", null);\n__decorate([\n property({ type: String })\n], TablePagination.prototype, \"rowsPerPageText\", null);\n__decorate([\n property({ type: String })\n], TablePagination.prototype, \"resultsText\", null);\nTablePagination = __decorate([\n customElement('dss-table-pagination')\n], TablePagination);\nexport { TablePagination };\n//# sourceMappingURL=table-pagination.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nlet Textarea = class Textarea extends LitElement {\n constructor() {\n super(...arguments);\n this._maxLength = 0;\n this._isTextareaFocused = false;\n this._isGroupFocusedVisible = false;\n this._showError = false;\n }\n static get styles() {\n return css `\n ::slotted(label) {\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 24px;\n cursor: text;\n position: absolute;\n }\n ::slotted(textarea) {\n resize: vertical;\n outline: none;\n border: 0;\n font-size: 14px;\n line-height: 24px;\n font-style: normal;\n color: #1d1d1d;\n width: 100%;\n text-overflow: ellipsis;\n font-family: var(--font-family);\n }\n\n ::slotted(textarea)::placeholder {\n color: #9f9f9f;\n }\n\n .dss-textarea {\n display: flex;\n flex-direction: column;\n color: #656565;\n }\n\n .dss-textarea--disabled {\n opacity: 0.6;\n }\n\n .dss-textarea--disabled .dss-textarea__group::after {\n background: #f5f5f5;\n }\n\n .dss-textarea--gap {\n gap: 4px;\n }\n\n .dss-textarea__content {\n display: flex;\n align-items: flex-start;\n flex: 1;\n }\n\n .dss-textarea--disabled .dss-textarea__group,\n .dss-textarea--disabled ::slotted(textarea) {\n background-color: #f5f5f5;\n cursor: not-allowed;\n }\n\n .dss-textarea--disabled ::slotted(label),\n .dss-textarea--disabled ::slotted(textarea) {\n cursor: not-allowed;\n }\n\n .dss-textarea__group {\n position: relative;\n background: #ffffff;\n border: var(--dss-border-width-sm) solid var(--color-neutral-100);\n border-radius: 8px;\n padding: 12px;\n display: flex;\n gap: 8px;\n min-height: 24px;\n }\n\n .dss-textarea__group::after {\n pointer-events: none;\n content: 'height';\n font-family: 'Material Symbols Rounded';\n font-size: 0px;\n position: absolute;\n height: 0px;\n width: 0px;\n text-align: center;\n bottom: 4px;\n right: 3px;\n z-index: 2;\n border-radius: 8px;\n background: transparent;\n }\n\n .dss-textarea__group--required ::slotted(label)::before {\n content: '*';\n }\n\n .dss-textarea__group:focus-visible,\n .dss-textarea__group--focused-visible,\n .dss-textarea--invalid .dss-textarea__group:focus-visible {\n border-color: var(--color-blue-200);\n outline: var(--dss-border-width-lg) solid var(--color-blue-200);\n box-shadow: none;\n background-color: #ffffff;\n }\n\n .dss-textarea__group--readOnly {\n border-top: 0;\n border-left: 0;\n border-right: 0;\n border-radius: 0;\n }\n\n .dss-textarea--invalid\n .dss-textarea__group:focus-visible\n ::slotted(textarea) {\n background-color: #ffffff;\n }\n\n .dss-textarea__group--focused {\n padding: 4px 12px;\n }\n\n .dss-textarea__group--focused .dss-textarea__content ::slotted(label) {\n font-size: 12px;\n line-height: 16px;\n transition: 0.3s;\n top: 4px;\n }\n\n .dss-textarea__group--focused .dss-textarea__content ::slotted(textarea),\n .dss-textarea__group--focused .dss-textarea__content ::slotted(textarea) {\n margin-top: 16px !important;\n }\n\n .dss-textarea--invalid ::slotted(textarea) {\n background-color: #fff6f6;\n color: #1d1d1d;\n }\n\n .dss-textarea--invalid ::slotted(textarea)::placeholder {\n color: #d36262;\n }\n\n .dss-textarea--invalid .dss-textarea__group {\n box-shadow: inset 0 0 0 1px #b60000;\n }\n\n .dss-textarea--invalid .dss-textarea__group,\n .dss-textarea--invalid .dss-textarea__group::after {\n background-color: #fff6f6;\n color: #b60000;\n }\n\n .dss-textarea__help {\n font-style: normal;\n font-weight: 400;\n font-size: 12px;\n line-height: 16px;\n display: flex;\n padding: 0 12px;\n gap: 8px;\n }\n\n .dss-textarea__help .dss-textarea__description {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .dss-textarea--invalid .dss-textarea__help,\n .dss-textarea--invalid .dss-textarea__help::after {\n color: #b60000;\n }\n `;\n }\n set showError(showError) {\n const oldValue = this._showError;\n this._showError = showError;\n this.requestUpdate('showError', oldValue);\n }\n get _label() {\n var _a;\n const label = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name=\"label\"]')) || undefined;\n return label === null || label === void 0 ? void 0 : label.assignedElements()[0];\n }\n get _textarea() {\n var _a;\n const textarea = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name=\"textarea\"]')) || undefined;\n return textarea === null || textarea === void 0 ? void 0 : textarea.assignedElements()[0];\n }\n get _description() {\n var _a;\n const description = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name=\"description\"]')) || undefined;\n return description === null || description === void 0 ? void 0 : description.assignedElements()[0];\n }\n async firstUpdated() {\n try {\n await this.updateComplete;\n const { maxLength } = this._textarea;\n this._maxLength = maxLength > 0 ? maxLength : 0;\n this._addEventListeners();\n this.requestUpdate();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n _addEventListeners() {\n this._textarea.addEventListener('input', this._handleInput.bind(this));\n this._textarea.addEventListener('focus', this._handleFocus.bind(this));\n this._textarea.addEventListener('focusout', this._handleFocusOut.bind(this));\n this._textarea.addEventListener('blur', this._handleBlur.bind(this));\n this._label.addEventListener('click', this._handelLabelClick.bind(this));\n this._textarea.addEventListener('keyup', this._handleKeyup.bind(this));\n }\n _handleInput() {\n this.requestUpdate();\n }\n _handleKeyup(e) {\n const code = e.keyCode ? e.keyCode : e.which;\n if (code === 9) {\n this._handleFocus();\n }\n }\n _handleFocus() {\n // if (this._textarea?.readOnly) {\n // return;\n // }\n this._isGroupFocusedVisible = true;\n this._isTextareaFocused = true;\n this.requestUpdate();\n }\n _handleFocusOut() {\n this._handleBlur();\n this._isGroupFocusedVisible = false;\n this._isTextareaFocused = false;\n this.requestUpdate();\n }\n _handleBlur() {\n this._isTextareaFocused = false;\n this.requestUpdate();\n }\n _handelLabelClick() {\n this._textarea.focus();\n this.requestUpdate();\n }\n _handleSlotChange() {\n this.requestUpdate();\n }\n render() {\n var _a, _b, _c, _d, _e, _f, _g;\n const containerClass = {\n 'dss-textarea--invalid': this._showError,\n 'dss-textarea--disabled': (_a = this._textarea) === null || _a === void 0 ? void 0 : _a.disabled,\n 'dss-textarea--gap': this._maxLength || !!this._description,\n };\n const cssClass = {\n 'dss-textarea__group--focused': ((_b = this._textarea) === null || _b === void 0 ? void 0 : _b.value) ||\n this._isTextareaFocused ||\n ((_c = this._textarea) === null || _c === void 0 ? void 0 : _c.placeholder),\n 'dss-textarea__group--focused-visible': this._isGroupFocusedVisible,\n 'dss-textarea__group--required': (_d = this._textarea) === null || _d === void 0 ? void 0 : _d.required,\n 'dss-textarea__group--readOnly': (_e = this._textarea) === null || _e === void 0 ? void 0 : _e.readOnly,\n };\n return html `\n <div class=\"dss-textarea ${classMap(containerClass)}\">\n <div class=\"dss-textarea__group ${classMap(cssClass)}\">\n <div class=\"dss-textarea__content\">\n <slot name=\"label\"></slot>\n <slot\n name=\"textarea\"\n @focusin=${this._handleFocus}\n @focusout=${this._handleFocusOut}\n ></slot>\n </div>\n </div>\n <div class=\"dss-textarea__help\">\n <div class=\"dss-textarea__description\">\n <slot\n name=\"description\"\n @slotchange=${this._handleSlotChange}\n ></slot>\n </div>\n ${this._maxLength\n ? html `<span\n >${(_g = (_f = this._textarea) === null || _f === void 0 ? void 0 : _f.value) === null || _g === void 0 ? void 0 : _g.length}/${this._maxLength}</span\n >`\n : null}\n </div>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: Boolean })\n], Textarea.prototype, \"showError\", null);\nTextarea = __decorate([\n customElement('dss-textarea')\n], Textarea);\nexport { Textarea };\n//# sourceMappingURL=textarea.js.map","import { __decorate } from \"tslib\";\n/* eslint-disable lit-a11y/click-events-have-key-events */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nconst booleanType = {\n type: Boolean,\n converter: {\n fromAttribute: value => value !== 'false',\n toAttribute: value => (value ? '' : undefined),\n },\n};\nlet DropDownList = class DropDownList extends LitElement {\n constructor() {\n super(...arguments);\n this._elements = null;\n this._copyElements = null;\n this._tick = true;\n this._type = 'default';\n this._style = null;\n this._boxStyle = null;\n this._inputStyle = null;\n this._selectedValue = null;\n this._multiple = false;\n this._openWithSearch = false;\n this._deselectable = false;\n this._icon = 'search';\n this._label = '';\n this._placeHolder = '';\n this._showSelector = false;\n this._required = false;\n this._disabled = false;\n this._readonly = false;\n this._labelSelectAll = 'Seleccionar-ho tot';\n this._labelDeselectAll = 'Deseleccionar-ho tot';\n this._selectAll = false;\n this._selectElements = 0;\n this._isFocused = false;\n this._isGroupFocusedVisible = false;\n this._isFirstEmptySelected = true;\n }\n static get styles() {\n return css `\n :host {\n width: fit-content;\n height: fit-content;\n position: relative;\n }\n\n label {\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 24px;\n cursor: text;\n position: absolute;\n }\n\n input {\n outline: none;\n border: 0;\n font-size: 14px;\n line-height: 24px;\n font-style: normal;\n color: #1d1d1d;\n width: 100%;\n text-overflow: ellipsis;\n }\n\n input::placeholder {\n color: #9f9f9f;\n }\n\n .dss-input {\n display: flex;\n flex-direction: column;\n color: #656565;\n position: relative;\n }\n\n .dss-input--disabled {\n opacity: 0.4;\n cursor: not-allowed;\n }\n\n .dss-input__content {\n display: flex;\n align-items: center;\n flex: 1;\n overflow: hidden;\n position: relative;\n }\n\n .dss-input--disabled .dss-input__group,\n .dss-input--disabled input {\n background-color: #f5f5f5;\n cursor: not-allowed;\n }\n\n .dss-input--disabled label,\n .dss-input--disabled input {\n cursor: not-allowed;\n }\n\n .dss-input__group {\n position: relative;\n background: #ffffff;\n box-shadow: inset 0 0 0 1px #d8d8d8;\n border-radius: 8px;\n padding: 12px;\n display: flex;\n gap: 8px;\n }\n\n :host([small]) .dss-input__group {\n padding: 8px 12px;\n }\n\n .dss-input__group--required label::before {\n content: '*';\n }\n\n .dss-input--invalid .dss-input__group:focus-visible input {\n background-color: #ffffff;\n }\n\n .dss-input__group--focused {\n padding: 4px 12px;\n }\n\n :host([small]) .dss-input__group--focused {\n padding: 1px 12px;\n }\n\n .dss-input__group--focused .dss-input__content label {\n font-size: 12px;\n line-height: 16px;\n transition: 0.3s;\n top: 4px;\n }\n\n :host([small]) .dss-input__group--focused .dss-input__content label {\n top: 2px;\n }\n\n .dss-input__group--focused .dss-input__content input,\n .dss-input__group--focused .dss-input__content input {\n margin-top: 16px !important;\n font-family: var(--font-family);\n padding-left: 0 !important;\n }\n\n :host([small]) .dss-input__group--focused .dss-input__content input {\n margin-top: 14px !important;\n }\n\n .dss-input--invalid .dss-input__group {\n box-shadow: inset 0 0 0 1px #b60000;\n }\n\n .dss-input--invalid .dss-input__group,\n .dss-input--invalid .dss-icon-button,\n .dss-input--invalid .dss-input__group input,\n .dss-input--invalid .dss-input__group .dss-icon-button:hover span {\n background-color: transparent;\n color: #b60000;\n }\n\n .dss-input--invalid .dss-input__group input {\n color: #1d1d1d;\n }\n\n .dss-input__group:focus-visible,\n .dss-input__group--active {\n box-shadow: 0 0 0 4px #8ec7e5;\n background-color: #ffffff;\n outline: none;\n }\n\n .dss-input--invalid .dss-input__group--active {\n box-shadow: 0 0 0 4px #8ec7e5;\n }\n\n .dss-input--invalid input::placeholder {\n color: #d36262;\n }\n\n .dss-input__icon {\n font-family: 'Material Symbols Rounded';\n display: flex;\n align-items: center;\n font-size: 24px;\n }\n\n .dss-selector {\n position: absolute;\n top: 50px;\n z-index: 100;\n display: contents;\n }\n\n .dss-input__group--disabled .dss-icon-button {\n pointer-events: none;\n }\n\n :host([small]) dss-selector {\n top: 40px;\n }\n\n .dss-icon-button {\n font-size: 1rem;\n font-family: 'Material Symbols Rounded';\n align-items: center;\n border: none;\n cursor: pointer;\n display: flex;\n background-color: transparent;\n color: #0073e6;\n padding: 0;\n height: fit-content;\n margin: auto;\n border-radius: 100%;\n }\n\n .dss-icon-button span {\n padding: 0.25rem;\n background-color: transparent;\n border-radius: 100%;\n transition: all 0.3s ease-in;\n }\n\n .dss-icon-button:hover:enabled span {\n background-color: #bfddfa;\n }\n\n .dss-icon-button:active:enabled span {\n background-color: #eff7ff;\n transition: none;\n }\n\n .dss-icon-button:disabled {\n cursor: not-allowed;\n }\n\n .dss-input__group--readOnly .dss-icon-button {\n pointer-events: none;\n }\n\n .dss-input__group--disabled .dss-icon-button {\n pointer-events: none;\n }\n\n .dss-icon-button:focus-visible:enabled {\n outline: none;\n }\n `;\n }\n get _input() {\n var _a;\n return (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('input');\n }\n get _DSSinput() {\n var _a;\n return (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.dss-input');\n }\n set icon(icon) {\n const oldValue = this._icon;\n this._icon = icon;\n this.requestUpdate('label', oldValue);\n }\n set label(label) {\n const oldValue = this._label;\n this._label = label;\n this.requestUpdate('label', oldValue);\n }\n set placeHolder(placeHolder) {\n const oldValue = this._placeHolder;\n this._placeHolder = placeHolder;\n this.requestUpdate('placeHolder', oldValue);\n }\n set required(required) {\n const oldValue = this._required;\n this._required = required;\n this.requestUpdate('required', oldValue);\n }\n set disabled(disabled) {\n const oldValue = this._disabled;\n this._disabled = disabled;\n this.requestUpdate('disabled', oldValue);\n }\n set readonly(readonly) {\n const oldValue = this._readonly;\n this._readonly = readonly;\n this.requestUpdate('readonly', oldValue);\n }\n set elements(elements) {\n const oldValue = this._elements;\n this._elements = elements;\n this.requestUpdate('elements', oldValue);\n }\n set multiple(multiple) {\n const oldValue = this._multiple;\n this._multiple = multiple;\n this.requestUpdate('multiple', oldValue);\n }\n set openWithSearch(openWithSearch) {\n const oldValue = this._openWithSearch;\n this._openWithSearch = openWithSearch;\n this.requestUpdate('openWithSearch', oldValue);\n }\n set tick(tick) {\n const oldValue = this._tick;\n this._tick = tick;\n this.requestUpdate('tick', oldValue);\n }\n set deselectable(deselectable) {\n const oldValue = this._deselectable;\n this._deselectable = deselectable;\n this.requestUpdate('deselectable', oldValue);\n }\n set selectedValue(elements) {\n const oldValue = this._selectedValue;\n this._selectedValue = elements;\n this.requestUpdate('selectedValue', oldValue);\n }\n set type(value) {\n const oldValue = this._type;\n if (value === 'default' || value === 'green')\n this._type = value;\n else\n this._type = 'default';\n this.requestUpdate('type', oldValue);\n }\n set boxStyle(boxStyle) {\n const oldValue = this._boxStyle;\n this._boxStyle = boxStyle;\n this.requestUpdate('boxStyle', oldValue);\n }\n set inputStyle(inputStyle) {\n const oldValue = this._inputStyle;\n this._inputStyle = inputStyle;\n this._inputStyle = `${this._inputStyle} box-sizing: border-box;`;\n this.requestUpdate('inputStyle', oldValue);\n }\n set labelSelectAll(labelSelectAll) {\n const oldValue = this._labelSelectAll;\n if (labelSelectAll !== '') {\n this._labelSelectAll = labelSelectAll;\n }\n this.requestUpdate('labelSelectAll', oldValue);\n }\n set labelDeselectAll(labelDeselectAll) {\n const oldValue = this._labelDeselectAll;\n if (labelDeselectAll !== '') {\n this._labelDeselectAll = labelDeselectAll;\n }\n this.requestUpdate('labelDeselectAll', oldValue);\n }\n set SelectAll(selectAll) {\n const oldValue = this._selectAll;\n this._selectAll = selectAll;\n this.requestUpdate('selectAll', oldValue);\n }\n get _filteredElements() {\n var _a;\n const filtro = this._input.value.toLowerCase();\n return (_a = this._elements) === null || _a === void 0 ? void 0 : _a.filter(elemento => elemento.label.toLowerCase().includes(filtro));\n }\n get _showPlaceHolder() {\n return ifDefined(this._placeHolder) && !this._showSelector\n ? undefined\n : this._placeHolder;\n }\n async firstUpdated() {\n try {\n await this.updateComplete;\n this._copyElements = JSON.parse(JSON.stringify(this._elements));\n this._initElementsSelected();\n if (!this._openWithSearch && !this._disabled) {\n document.addEventListener('click', e => {\n this._clickedOutsideDropdown(this, e);\n });\n }\n this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []);\n if (this._openWithSearch) {\n this._onclick(true);\n }\n this.requestUpdate();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n _initElementsSelected() {\n this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []);\n }\n _clickedOutsideDropdown(dropdown, event) {\n if (dropdown !== event.target) {\n this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []);\n this._showSelector = false;\n this.requestUpdate();\n }\n }\n _handleInput() {\n this.requestUpdate();\n }\n _handleFocus() {\n if (this._readonly) {\n return;\n }\n this._isFocused = true;\n this._isGroupFocusedVisible = true;\n this.requestUpdate();\n }\n _handleBlurEsc() {\n if (this._readonly || this._openWithSearch) {\n return;\n }\n this._isFocused = true;\n this._showSelector = false;\n this.requestUpdate();\n }\n _handleBlur() {\n this._isFocused = false;\n this._isGroupFocusedVisible = false;\n this.requestUpdate();\n }\n _handleBlurComponent(dropdown, event) {\n var _a;\n if (dropdown !== event.target) {\n if (this._openWithSearch) {\n return;\n }\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n this._handleBlurEsc();\n this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []);\n }\n }\n _onCancel() {\n this._showSelector = false;\n this._isFocused = false;\n this.requestUpdate();\n }\n _cleanInput() {\n this._input.value = '';\n this.requestUpdate();\n }\n _onclick(firstTime, e) {\n var _a, _b;\n if (!firstTime) {\n this._isFocused = true;\n }\n let style = '';\n if (this._boxStyle) {\n style += this._boxStyle;\n if (!style.endsWith(';')) {\n style += ';';\n }\n }\n this._style = `${style} overflow: auto;${!this._openWithSearch\n ? 'box-shadow: 0 1px 3px 0 #0000001a, 0 4px 8px 3px #0000000d;'\n : ''}`;\n if (!this._openWithSearch) {\n this._handleKeyInput(e);\n }\n else {\n this._showSelector = true;\n }\n if (this._showSelector) {\n this._input.value = '';\n if (!firstTime) {\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n }\n }\n else {\n this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []);\n if (!e || (e.key !== 'Enter' && e.key !== ' ' && e.key !== 'Escape')) {\n (_b = this._input) === null || _b === void 0 ? void 0 : _b.blur();\n this._onCancel();\n }\n }\n this.requestUpdate();\n }\n _handleKeyInput(e) {\n if ((e === null || e === void 0 ? void 0 : e.key) === 'Enter' || (e === null || e === void 0 ? void 0 : e.key) === ' ') {\n this._showSelector = true;\n }\n else if ((e === null || e === void 0 ? void 0 : e.key) === 'Escape') {\n this._handleBlurEsc();\n }\n else {\n this._showSelector = !this._showSelector;\n }\n }\n _dispatchValueChange() {\n if (this._input.value) {\n const options = {\n detail: this._input.value,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onValueChange', options));\n }\n }\n _onSelectorChanges(e) {\n this._selectedValue = e.detail;\n this._dispatchValueChange();\n if (!this._multiple && !this._openWithSearch && !this._disabled) {\n this._clickedOutsideDropdown(this, e);\n }\n this.requestUpdate();\n }\n _showSelectValuesInInput(e) {\n var _a, _b, _c, _d;\n if (!this._multiple && Array.isArray(e) && e.length > 1) {\n e.splice(1);\n }\n const matchingObjects = (_a = this._elements) === null || _a === void 0 ? void 0 : _a.filter(objeto => e.includes(objeto.value));\n this._elements = [...this._copyElements];\n if (!this._openWithSearch) {\n this._selectElements = (matchingObjects === null || matchingObjects === void 0 ? void 0 : matchingObjects.length)\n ? matchingObjects.length\n : 0;\n }\n else {\n this._selectElements = 0;\n }\n if (matchingObjects && matchingObjects.length > 0) {\n const sel = this._elements.filter(objeto => matchingObjects.includes(objeto));\n sel.push(...this._elements.filter(objeto => !matchingObjects.includes(objeto)));\n this._elements = [...sel];\n }\n if (!this._multiple) {\n this._input.value = (_c = (_b = matchingObjects === null || matchingObjects === void 0 ? void 0 : matchingObjects[0]) === null || _b === void 0 ? void 0 : _b.label) !== null && _c !== void 0 ? _c : '';\n return;\n }\n const matchingValues = matchingObjects === null || matchingObjects === void 0 ? void 0 : matchingObjects.map(objeto => objeto.label);\n this._input.value = (_d = matchingValues === null || matchingValues === void 0 ? void 0 : matchingValues.join(', ')) !== null && _d !== void 0 ? _d : '';\n }\n _evalueFocus(event) {\n var _a;\n if (((_a = event.target) === null || _a === void 0 ? void 0 : _a.id) !== 'dss-dropdownlist') {\n if (this._showSelector) {\n this._handleFocus();\n }\n }\n }\n _handleKeyup(e) {\n const code = e.keyCode ? e.keyCode : e.which;\n if (code === 9) {\n this._isGroupFocusedVisible = true;\n this._isFocused = true;\n this._handelLabelClick();\n }\n }\n _handelLabelClick() {\n var _a;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n this.requestUpdate();\n }\n render() {\n var _a, _b, _c, _d;\n const containerClass = {\n 'dss-input--disabled': this._disabled,\n };\n const selectorContainerClass = {\n 'dss-selector': !this._openWithSearch,\n 'dss-selector--disabled': this._disabled,\n 'dss-selector-dropdown': true,\n };\n const cssClass = {\n 'dss-input__group--focused': ((_a = this._input) === null || _a === void 0 ? void 0 : _a.value) || this._showPlaceHolder || this._showSelector,\n 'dss-input__group--focused-visible': this._isGroupFocusedVisible,\n 'dss-input__group--required': this._required,\n 'dss-input__group--active': this._isFocused,\n 'dss-input__group--readOnly': this._readonly,\n 'dss-input__group--disabled': this._disabled,\n };\n return html ` <div\n id=\"previous-input\"\n class=\"dss-input ${classMap(containerClass)}\"\n style=${ifDefined(this._inputStyle)}\n >\n <div\n class=\"dss-input__group ${classMap(cssClass)}\"\n tabindex=\"0\"\n @keyup=${this._handleKeyup}\n >\n <span class=\"dss-input__icon\">${this._icon}</span>\n <div class=\"dss-input__content\">\n <label>${this._label}</label>\n <input\n aria-label=\"${this._label}\"\n ?disabled=${this._disabled}\n ?required=${this._required}\n ?readonly=${this._readonly || !this._showSelector}\n @input=${this._handleInput}\n @focus=\"${this._evalueFocus}\"\n @keydown=\"${(e) => {\n if (e.key === 'Enter' || e.key === ' ' || e.key === 'Escape')\n this._onclick(false, e);\n }}\"\n @blur=${this._handleBlur}\n placeholder=${this._showPlaceHolder}\n type=\"text\"\n />\n </div>\n ${!this._openWithSearch\n ? html `\n <button\n type=\"button\"\n class=\"dss-icon-button\"\n @click=${this._onclick}\n ?disabled=${(_b = this._input) === null || _b === void 0 ? void 0 : _b.disabled}\n tabindex=\"-1\"\n >\n <span\n >${this._showSelector\n ? 'keyboard_arrow_up'\n : 'keyboard_arrow_down'}</span\n >\n </button>\n `\n : html `\n <button\n type=\"button\"\n class=\"dss-icon-button\"\n @click=${this._cleanInput}\n ?disabled=${(_c = this._input) === null || _c === void 0 ? void 0 : _c.disabled}\n tabindex=\"-1\"\n >\n <span>close</span>\n </button>\n `}\n </div>\n ${this._showSelector &&\n this._filteredElements &&\n ((_d = this._filteredElements) === null || _d === void 0 ? void 0 : _d.length) > 0\n ? html `\n <dss-selector\n class=\"${classMap(selectorContainerClass)}\"\n .multiple=${this._multiple}\n .tick=${this._tick}\n .deselectable=${this._deselectable}\n .disabled=${this._disabled}\n .elements=${this._filteredElements}\n .filtre=${this._input.value}\n .selectedValue=${this._selectedValue}\n .type=${this._type}\n .labelSelectAll=${this._labelSelectAll}\n .labelDeselectAll=${this._labelDeselectAll}\n .selectAll=${this._selectAll}\n boxStyle=${this._style}\n elementsSelected=${this._selectElements}\n @onValueChange=\"${this._onSelectorChanges}\"\n @keydown=\"${(e) => {\n if (e.key === 'Escape')\n this._handleBlurComponent(this, e);\n }}\"\n >\n </dss-selector>\n `\n : null}\n </div>`;\n }\n};\n__decorate([\n property({ type: String })\n], DropDownList.prototype, \"icon\", null);\n__decorate([\n property({ type: String })\n], DropDownList.prototype, \"label\", null);\n__decorate([\n property({ type: String })\n], DropDownList.prototype, \"placeHolder\", null);\n__decorate([\n property({ type: Boolean })\n], DropDownList.prototype, \"required\", null);\n__decorate([\n property({ type: Boolean })\n], DropDownList.prototype, \"disabled\", null);\n__decorate([\n property({ type: Boolean })\n], DropDownList.prototype, \"readonly\", null);\n__decorate([\n property({ type: Array })\n], DropDownList.prototype, \"elements\", null);\n__decorate([\n property(booleanType)\n], DropDownList.prototype, \"multiple\", null);\n__decorate([\n property(booleanType)\n], DropDownList.prototype, \"openWithSearch\", null);\n__decorate([\n property(booleanType)\n], DropDownList.prototype, \"tick\", null);\n__decorate([\n property(booleanType)\n], DropDownList.prototype, \"deselectable\", null);\n__decorate([\n property({ type: Array })\n], DropDownList.prototype, \"selectedValue\", null);\n__decorate([\n property({ type: String })\n], DropDownList.prototype, \"type\", null);\n__decorate([\n property({ type: String })\n], DropDownList.prototype, \"boxStyle\", null);\n__decorate([\n property({ type: String })\n], DropDownList.prototype, \"inputStyle\", null);\n__decorate([\n property({ type: String })\n], DropDownList.prototype, \"labelSelectAll\", null);\n__decorate([\n property({ type: String })\n], DropDownList.prototype, \"labelDeselectAll\", null);\n__decorate([\n property(booleanType)\n], DropDownList.prototype, \"SelectAll\", null);\nDropDownList = __decorate([\n customElement('dss-dropdownlist')\n], DropDownList);\nexport { DropDownList };\n//# sourceMappingURL=dropdown-list.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { buttonStyles } from './shared-styles/button.style';\nimport { symbolStyles } from './shared-styles/symbol.style';\nlet TabsList = class TabsList extends LitElement {\n constructor() {\n super(...arguments);\n this._dssTabsId = '';\n this._label = 'Tabs component name';\n this._tabs = [];\n this._tabsElements = window.document.querySelectorAll(\"[role='tab']\");\n this._firstTab = document.createElement('div');\n this._lastTab = document.createElement('div');\n this._addTabEnabled = false;\n this._addTabText = 'Afegir Tab';\n }\n static get styles() {\n return [\n buttonStyles,\n symbolStyles,\n css `\n :host {\n width: 100%;\n height: fit-content;\n }\n\n :not(:defined) {\n display: none;\n }\n\n .dss-tabs-list__header {\n display: flex;\n flex-direction: row;\n align-items: center;\n border-bottom: var(--dss-border-width-sm) solid\n var(--color-neutral-200);\n }\n\n .dss-tabs-item {\n display: flex;\n align-items: center;\n font-family: var(--font-family);\n font-size: 14px;\n font-weight: 600;\n line-height: 24px;\n background-color: transparent;\n border: 0;\n cursor: pointer;\n padding: var(--dss-spacing-sm);\n\n &:focus-visible {\n outline: var(--color-primary-200) solid var(--dss-border-width-lg);\n border-radius: var(--dss-radius-xs);\n }\n\n &[aria-selected='true'] {\n border-bottom: var(--dss-border-width-md) solid\n var(--color-primary-500);\n }\n }\n\n .dss-tabs-button {\n margin: 0 var(--dss-spacing-sm) 0 var(--dss-spacing-xs);\n }\n\n ::slotted(dss-icon-badge) {\n display: inline;\n margin-right: var(--dss-spacing-xs) !important;\n }\n `,\n ];\n }\n set dssTabsId(value) {\n const oldValue = this._dssTabsId;\n this._dssTabsId = value;\n this.requestUpdate('dssTabsId', oldValue);\n }\n set label(value) {\n const oldValue = this._label;\n this._label = value;\n this.requestUpdate('selectedTab', oldValue);\n }\n set tabs(data) {\n const oldValue = this._tabs;\n this._tabs = data;\n this.requestUpdate('tabs', oldValue);\n }\n set addTabText(value) {\n const oldValue = this._addTabText;\n this._addTabText = value;\n this.requestUpdate('addTabText', oldValue);\n }\n set addTabEnabled(value) {\n const oldValue = this._addTabEnabled;\n this._addTabEnabled = value;\n this.requestUpdate('addTabEnabled', oldValue);\n }\n updated(changedProperties) {\n if (changedProperties.has('tabs')) {\n this.changeTabWatch();\n }\n }\n async changeTabWatch() {\n this._tabsElements = this.renderRoot.querySelectorAll(\"[role='tab']\");\n this._tabsElements.forEach(tab => {\n tab.addEventListener('keydown', event => {\n this._handleKeydown(event);\n });\n tab.addEventListener('click', event => {\n this.setSelectedTab(event.currentTarget);\n });\n });\n this.setFirstAndLastTabs();\n }\n setFirstAndLastTabs() {\n let firstDefined = false;\n this._tabsElements.forEach(tab => {\n if (!firstDefined) {\n this._firstTab = tab;\n firstDefined = true;\n }\n this._lastTab = tab;\n });\n }\n changeTab(selectedPanel) {\n const options = {\n detail: { selectedPanel },\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onChangeDssTab', options));\n this.updatePanels(selectedPanel);\n }\n updatePanels(selectedPanel) {\n const dssPanels = window.document.querySelectorAll('dss-tabs-panel');\n dssPanels.forEach(panel => {\n const panelId = panel.getAttribute('panelId');\n const linkedTo = panel.getAttribute('linkedTo');\n if (linkedTo === this._dssTabsId) {\n if (panelId === selectedPanel) {\n panel.setAttribute('selected', 'true');\n }\n else {\n panel.removeAttribute('selected');\n }\n }\n });\n }\n _handleKeydown(event) {\n const keyboardEvent = event;\n const tgt = event.currentTarget;\n let flag = false;\n switch (keyboardEvent.key) {\n case 'ArrowLeft':\n this.moveFocusToPreviousTab(tgt);\n flag = true;\n break;\n case 'ArrowRight':\n this.moveFocusToNextTab(tgt);\n flag = true;\n break;\n case 'Home':\n this.moveFocusToTab(this._firstTab);\n flag = true;\n break;\n case 'End':\n this.moveFocusToTab(this._lastTab);\n flag = true;\n break;\n default:\n break;\n }\n if (flag) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n // eslint-disable-next-line class-methods-use-this\n moveFocusToTab(currentTab) {\n if (currentTab) {\n currentTab.focus();\n }\n }\n moveFocusToPreviousTab(currentTab) {\n let index = 0;\n if (currentTab === this._firstTab) {\n this.moveFocusToTab(this._lastTab);\n }\n else {\n this._tabsElements.forEach((tab, i) => {\n if (tab === currentTab) {\n index = i;\n }\n });\n this.moveFocusToTab(this._tabsElements[index - 1]);\n }\n }\n moveFocusToNextTab(currentTab) {\n let index = 0;\n if (currentTab === this._lastTab) {\n this.moveFocusToTab(this._firstTab);\n }\n else {\n this._tabsElements.forEach((tab, i) => {\n if (tab === currentTab) {\n index = i;\n }\n });\n this.moveFocusToTab(this._tabsElements[index + 1]);\n }\n }\n setSelectedTab(currentTab) {\n for (let i = 0; i < this._tabsElements.length; i += 1) {\n const tab = this._tabsElements[i];\n if (currentTab === tab) {\n tab.setAttribute('aria-selected', 'true');\n tab.removeAttribute('tabindex');\n }\n else {\n tab.setAttribute('aria-selected', 'false');\n tab.setAttribute('tabindex', '-1');\n }\n }\n }\n addNewTab() {\n const options = {\n detail: {},\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onAddDssTab', options));\n }\n render() {\n return html `\n <div\n role=\"tablist\"\n aria-label=\"${this._label}\"\n class=\"dss-tabs-list__header\"\n >\n ${this._tabs.map(tab => html `\n <button\n id=\"${tab.id}\"\n class=\"dss-tabs-item\"\n type=\"button\"\n part=\"button\"\n role=\"tab\"\n aria-selected=\"${ifDefined(tab.selected ? tab.selected : 'false')}\"\n tabindex=\"${ifDefined(tab.selected ? 0 : -1)}\"\n @click=${() => this.changeTab(tab.panel)}\n >\n <slot name=\"badge-${tab.id}\" class=\"tab-badge\"></slot>\n <span class=\"tab-text focus\"> ${tab.text} </span>\n </button>\n `)}\n ${this._addTabEnabled\n ? html `\n <button\n type=\"button\"\n class=\"dss-button dss-button--md dss-button--secondary dss-button--icon-left dss-tabs-button\"\n @click=${this.addNewTab}\n >\n <span class=\"material-symbols-rounded\">add</span>${this\n ._addTabText}\n </button>\n `\n : null}\n </div>\n <div class=\"dss-tabs-list__content\">\n <slot></slot>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: String })\n], TabsList.prototype, \"dssTabsId\", null);\n__decorate([\n property({ type: String })\n], TabsList.prototype, \"label\", null);\n__decorate([\n property({ type: Array })\n], TabsList.prototype, \"tabs\", null);\n__decorate([\n property({ type: String })\n], TabsList.prototype, \"addTabText\", null);\n__decorate([\n property({ type: Boolean })\n], TabsList.prototype, \"addTabEnabled\", null);\nTabsList = __decorate([\n customElement('dss-tabs-list')\n], TabsList);\nexport { TabsList };\n//# sourceMappingURL=tabs-list.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nlet TabsPanel = class TabsPanel extends LitElement {\n constructor() {\n super(...arguments);\n this._panelId = '';\n this._label = '';\n this._linkedTo = '';\n this._selected = false;\n }\n static get styles() {\n return css `\n :host {\n width: 100%;\n height: fit-content;\n }\n\n :not(:defined) {\n display: none;\n }\n\n [role='tabpanel'] {\n width: 100%;\n overflow: auto;\n display: none;\n }\n\n [role='tabpanel'].selected {\n display: block;\n }\n `;\n }\n set panelId(id) {\n const oldValue = this._panelId;\n this._panelId = id;\n this.requestUpdate('panelId', oldValue);\n }\n set label(value) {\n const oldValue = this._label;\n this._label = value;\n this.requestUpdate('label', oldValue);\n }\n set linkedTo(id) {\n const oldValue = this._linkedTo;\n this._linkedTo = id;\n this.requestUpdate('linkedTo', oldValue);\n }\n set selected(value) {\n const oldValue = this._selected;\n this._selected = value;\n this.requestUpdate('selected', oldValue);\n }\n render() {\n return html `\n <div\n id=\"${this._panelId}\"\n role=\"tabpanel\"\n aria-label=\"${this._label}\"\n linkedTo=\"${this._linkedTo}\"\n class=\"${this._selected ? 'selected' : 'is-hidden'}\"\n >\n <slot></slot>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: String })\n], TabsPanel.prototype, \"panelId\", null);\n__decorate([\n property({ type: String })\n], TabsPanel.prototype, \"label\", null);\n__decorate([\n property({ type: String })\n], TabsPanel.prototype, \"linkedTo\", null);\n__decorate([\n property({ type: Boolean })\n], TabsPanel.prototype, \"selected\", null);\nTabsPanel = __decorate([\n customElement('dss-tabs-panel')\n], TabsPanel);\nexport { TabsPanel };\n//# sourceMappingURL=tabs-panel.js.map","import { __decorate } from \"tslib\";\n/* eslint-disable lit-a11y/click-events-have-key-events */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { inputStyles } from './shared-styles/input.style';\nimport { scrollbarStyles } from './shared-styles/scrollbar.style';\nimport { buttonStyles } from './shared-styles/button.style';\nlet Timepicker = class Timepicker extends LitElement {\n constructor() {\n super(...arguments);\n this._value = '';\n this._placeholder = '';\n this._inputSize = 'lg';\n this._dropdown = '';\n this._required = false;\n this._disabled = false;\n this._readonly = false;\n this._invalid = false;\n this._showDropdown = false;\n this._helpText = '';\n this._oldHelpText = '';\n this._errorTimeFormatText = \"Format d'hora no vàlid\";\n this._errorTimeOptionText = 'Opció de temps no disponible';\n this._manualHourSelector = '';\n this._manualMinuteSelector = '';\n this._minutesRange = 1;\n this._minHour = 0;\n this._maxHour = 24;\n this._timeListOptions = [];\n this._customTimeListOptions = [];\n this._timeManualHourOptions = [];\n this._timeManualMinutesOptions = [];\n this._icon = 'schedule';\n this._inputValidity = true;\n this._isFirstUpdated = true;\n // Options for the observer (which mutations to observe)\n this.observerConfig = { attributes: true, childList: true, subtree: true };\n // Callback function to execute when mutations are observed\n this.callback = (mutationList) => {\n for (const mutation of mutationList) {\n if (mutation.type === 'attributes') {\n this._checkInputAttributes();\n this.requestUpdate();\n }\n }\n };\n // Create an observer instance linked to the callback function\n this.observer = new MutationObserver(this.callback);\n this._timePattern = /^\\d{0,4}$/g;\n this._timeSeparator = ':';\n this._timeInputOldValue = '';\n }\n static get styles() {\n return [\n symbolStyles,\n inputStyles,\n scrollbarStyles,\n buttonStyles,\n css `\n .dss-timepicker {\n position: relative;\n }\n\n .dss-timepicker-help {\n font-family: var(--font-family);\n }\n\n .dss-timepicker-help {\n font-family: inherit;\n font-size: 12px;\n color: var(--color-neutral-700);\n padding: var(--dss-spacing-xxs) var(--dss-spacing-sm);\n }\n\n .dss-timepicker-help--disabled {\n color: var(--color-neutral-500);\n }\n\n .dss-timepicker-help--invalid {\n color: var(--color-red-500);\n }\n\n .dss-timepicker-dropdown {\n display: none;\n margin-top: 8px;\n position: absolute;\n top: 52px;\n left: 0;\n background-color: var(--color-white);\n width: 100%;\n border-radius: var(--dss-radius-sm);\n box-shadow: 0 4px 8px 3px rgba(0 0 0 / 5%),\n 0 1px 3px rgba(0 0 0 / 10%);\n z-index: 900;\n overflow: hidden;\n }\n\n .dss-input-group--dropdown input {\n min-width: 289px;\n }\n\n .dss-timepicker-dropdown--manual {\n min-width: 289px;\n\n // justify-content: center;\n left: 50%;\n transform: translate(-50%);\n }\n\n .dss-timepicker-dropdown--open {\n display: block;\n }\n\n .dss-timepicker-dropdown--md {\n top: 44px;\n }\n\n .dss-timepicker-dropdown--lg {\n top: 52px;\n }\n\n .dss-timepicker-dropdown__container {\n overflow: auto;\n min-height: 70px;\n max-height: 280px;\n width: 100%;\n }\n\n .dss-timepicker-dropdown__option {\n cursor: pointer;\n position: relative;\n width: 100%;\n }\n\n .dss-timepicker-dropdown__label {\n width: 100%;\n height: 40px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-sizing: border-box;\n padding: var(--dss-spacing-xs) var(--dss-spacing-sm);\n font-size: 14px;\n color: var(--color-neutral-900);\n cursor: pointer;\n background-color: var(--color-white);\n }\n\n .dss-timepicker-dropdown__label:hover {\n background-color: var(--color-primary-600);\n color: var(--color-white);\n }\n\n .dss-timepicker-dropdown__label:active {\n background-color: var(--color-primary-400);\n color: var(--color-white);\n transition: background-color 0.3s;\n }\n\n .option--busy .dss-timepicker-dropdown__label {\n background-color: var(--color-red-50);\n }\n\n .option--busy .dss-timepicker-dropdown__label:hover {\n background-color: var(--color-red-600);\n }\n\n .option--busy .dss-timepicker-dropdown__label:active {\n background-color: var(--color-red-400);\n }\n\n .option--busy\n .dss-timepicker-dropdown__label\n .dss-timepicker-dropdown__icon {\n color: var(--color-neutral-900);\n }\n\n .dss-timepicker-dropdown__label:focus-visible {\n outline: var(--dss-border-width-lg) solid var(--color-blue-200);\n }\n\n .dss-timepicker-dropdown__label:disabled {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-500);\n cursor: not-allowed;\n }\n\n .dss-timepicker-dropdown__input-radio {\n display: none;\n }\n\n .dss-timepicker-dropdown__input-radio:checked\n + .dss-timepicker-dropdown__icon {\n display: block;\n }\n\n .dss-timepicker-dropdown__icon {\n display: none;\n color: var(--color-primary-500);\n }\n\n .dss-timepicker-dropdown__label:hover .dss-timepicker-dropdown__icon {\n color: var(--color-white);\n }\n\n .dss-timepicker-dropdown__label:focus-visible {\n box-shadow: inset 0 0 0 var(--dss-border-width-lg)\n var(--color-primary-200);\n border-radius: var(--dss-radius-xs);\n outline: none;\n }\n\n .dss-timepicker-dropdown__manual {\n height: calc(220px - var(--dss-spacing-xs) - var(--dss-spacing-xs));\n display: flex;\n justify-content: center;\n gap: var(--dss-spacing-xs);\n overflow: hidden;\n padding: var(--dss-spacing-xs) 0;\n }\n\n .dss-timepicker-dropdown__items {\n box-sizing: border-box;\n height: 100%;\n width: 55px;\n overflow-y: auto;\n scrollbar-width: none;\n }\n\n .dss-timepicker-dropdown__items:hover {\n scrollbar-width: thin;\n }\n\n .dss-timepicker-dropdown__actions {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 64px;\n gap: 17px;\n border-top: var(--dss-border-width-sm) solid var(--color-neutral-200);\n }\n\n .dss-timepicker-manual-item {\n }\n\n .dss-timepicker-manual-item__label {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 40px;\n width: 40px;\n font-weight: var(--font-semibold);\n font-size: 16px;\n color: var(--color-neutral-900);\n border-radius: var(--dss-radius-xs);\n background-color: var(--color-white);\n cursor: pointer;\n }\n\n .dss-timepicker-manual-item__label:focus-visible {\n box-shadow: inset 0 0 0 var(--dss-border-width-lg)\n var(--color-primary-200);\n border-radius: var(--dss-radius-xs);\n outline: none;\n }\n\n .dss-timepicker-manual-item__label:hover {\n color: var(--color-white);\n background-color: var(--color-primary-600);\n }\n\n .dss-timepicker-manual-item__label:active {\n color: var(--color-white);\n background-color: var(--color-primary-400);\n transition: background-color 0.3s;\n }\n\n .dss-timepicker-manual-item__input-radio {\n display: none;\n }\n\n .dss-timepicker-manual-item__input-radio:checked\n + .dss-timepicker-manual-item__label {\n color: var(--color-white);\n background-color: var(--color-primary-500);\n }\n `,\n ];\n }\n get _input() {\n var _a;\n const input = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name=\"input\"]')) || undefined;\n this.requestUpdate();\n return input === null || input === void 0 ? void 0 : input.assignedElements()[0];\n }\n get _label() {\n var _a;\n const label = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name=\"label\"]')) || undefined;\n this.requestUpdate();\n return label === null || label === void 0 ? void 0 : label.assignedElements()[0];\n }\n set value(value) {\n const oldValue = this._value;\n this._value = value;\n if (this._input) {\n this._input.value = value;\n }\n this.requestUpdate('value', oldValue);\n }\n set invalid(invalid) {\n const oldValue = this._invalid;\n this._invalid = invalid;\n this.requestUpdate('invalid', oldValue);\n }\n set inputSize(size) {\n const oldValue = this._inputSize;\n if (size === 'md') {\n this._inputSize = size;\n }\n else {\n this._inputSize = 'lg';\n }\n this.requestUpdate('inputSize', oldValue);\n }\n set helpText(text) {\n const oldValue = this._helpText;\n this._helpText = text;\n this._oldHelpText = text;\n this.requestUpdate('helpText', oldValue);\n }\n set errorTimeFormatText(text) {\n const oldValue = this._errorTimeFormatText;\n this._errorTimeFormatText = text;\n this.requestUpdate('errorTimeFormatText', oldValue);\n }\n set errorTimeOptionText(text) {\n const oldValue = this._errorTimeOptionText;\n this._errorTimeOptionText = text;\n this.requestUpdate('errorTimeOptionText', oldValue);\n }\n set dropdown(value) {\n const oldValue = this._dropdown;\n this._dropdown = value;\n this.requestUpdate('dropdown', oldValue);\n }\n set showDropdown(state) {\n const oldValue = this._showDropdown;\n this._showDropdown = state;\n this.requestUpdate('showDropdown', oldValue);\n }\n set minutesRange(value) {\n const oldValue = this._minutesRange;\n this._minutesRange = value;\n if (!this._isFirstUpdated) {\n this._updateTimeOptions();\n }\n this.requestUpdate('minutesRange', oldValue);\n }\n set minHour(value) {\n const oldValue = this._minHour;\n this._minHour = value;\n if (!this._isFirstUpdated) {\n this._updateTimeOptions();\n }\n this.requestUpdate('minHour', oldValue);\n }\n set maxHour(value) {\n const oldValue = this._maxHour;\n this._maxHour = value;\n if (!this._isFirstUpdated) {\n this._updateTimeOptions();\n }\n this.requestUpdate('maxHour', oldValue);\n }\n set customTimeListOptions(options) {\n const oldValue = this._customTimeListOptions;\n this._customTimeListOptions = options;\n this.requestUpdate('customTimeListOptions', oldValue);\n }\n set icon(icon) {\n const oldValue = this._icon;\n this._icon = icon;\n this.requestUpdate('icon', oldValue);\n }\n disconnectedCallback() {\n this.observer.disconnect();\n }\n async firstUpdated() {\n try {\n await this.updateComplete;\n this._closeDropdown();\n if (this._input) {\n this._checkInputAttributes();\n // Start observing the target node for configured mutations\n this.observer.observe(this._input, this.observerConfig);\n }\n this._updateTimeOptions();\n this._isFirstUpdated = false;\n this.requestUpdate();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n _updateTimeOptions() {\n if (this._dropdown) {\n // Generate List options\n this._timeListOptions = this._generateTimeListOptions();\n // Generate Manual options\n this._timeManualHourOptions = this._generateTimeManualHoursOptions();\n this._timeManualMinutesOptions = this._generateTimeManualMinutesOptions();\n }\n }\n _checkInputAttributes() {\n var _a, _b, _c, _d, _e, _f, _g;\n // Check slot input attributes (before this _input is null)\n const inputPlaceholder = (_a = this._input) === null || _a === void 0 ? void 0 : _a.getAttribute('placeholder');\n if (inputPlaceholder)\n this._placeholder = inputPlaceholder;\n const inputReadOnly = (_b = this._input) === null || _b === void 0 ? void 0 : _b.getAttribute('readonly');\n if (inputReadOnly !== null)\n this._readonly = true;\n const disabled = (_c = this._input) === null || _c === void 0 ? void 0 : _c.getAttribute('disabled');\n if (disabled !== null)\n this._disabled = true;\n const required = (_d = this._input) === null || _d === void 0 ? void 0 : _d.getAttribute('required');\n if (required !== null)\n this._required = true;\n const inputValue = (_e = this._input) === null || _e === void 0 ? void 0 : _e.getAttribute('value');\n if (inputValue !== null)\n this._value = inputValue;\n // const inputId = this._input?.getAttribute('id');\n // if (inputId) this._inputId = inputId;\n if (((_f = this._input) === null || _f === void 0 ? void 0 : _f.value) && ((_g = this._input) === null || _g === void 0 ? void 0 : _g.value) !== '') {\n this._handleValidity();\n }\n this.requestUpdate();\n }\n _handleValidity() {\n var _a;\n const validity = (_a = this._input) === null || _a === void 0 ? void 0 : _a.checkValidity();\n if (validity !== undefined)\n this._inputValidity = validity;\n }\n _closeDropdown() {\n // Click outside component\n document.addEventListener('click', event => {\n if (!event.composedPath().includes(this)) {\n if (this._showDropdown) {\n this._showDropdown = false;\n this.requestUpdate();\n }\n }\n });\n // Focusout inside component\n this.addEventListener('focusout', event => {\n // eslint-disable-next-line prefer-destructuring\n const relatedTarget = event.relatedTarget;\n if (relatedTarget !== null &&\n relatedTarget !== this &&\n relatedTarget !== this._input &&\n relatedTarget !== this._label) {\n if (this._showDropdown) {\n this._showDropdown = false;\n }\n this.requestUpdate();\n }\n });\n }\n // eslint-disable-next-line class-methods-use-this\n _timeMask(value, limit, separator) {\n const output = [];\n for (let i = 0; i < value.length; i += 1) {\n if (i !== 0 && i % limit === 0) {\n output.push(separator);\n }\n output.push(value[i]);\n }\n return output.join('');\n }\n // eslint-disable-next-line class-methods-use-this\n _timeUnmask(value) {\n return value.replace(/[^\\d]/g, '');\n }\n _timeValidate(value) {\n const hour = value.slice(0, 2);\n const minutes = value.slice(3, 5);\n if (this._input &&\n +hour >= 0 &&\n +hour <= 23 &&\n +minutes >= 0 &&\n +minutes <= 59) {\n this._invalid = false;\n this._helpText = this._oldHelpText;\n // If dropdown, check if time match with an option\n if (this._dropdown &&\n this._dropdown === 'list' &&\n !this._timeListOptions.includes(this._input.value)) {\n this._helpText = this._errorTimeOptionText;\n this._invalid = true;\n }\n else if (this._dropdown &&\n this._dropdown === 'manual' &&\n (!this._timeManualHourOptions.includes(hour) ||\n !this._timeManualMinutesOptions.includes(minutes))) {\n this._helpText = this._errorTimeOptionText;\n this._invalid = true;\n }\n else {\n this._showDropdown = false;\n }\n }\n else {\n this._helpText = this._errorTimeFormatText;\n this._invalid = true;\n }\n this._dispatchValueChange();\n this.requestUpdate();\n }\n _dispatchValueChange() {\n if (this._input) {\n const options = {\n detail: {\n value: this._input.value,\n status: this._invalid ? 'INVALID' : 'VALID',\n },\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onTimepickerChange', options));\n }\n }\n _handleClick() {\n this._showDropdown = true;\n // If value is already defined then scroll+check\n if (this._value) {\n if (this._dropdown && this._dropdown === 'list') {\n this._timeListOptionsScrollTo();\n }\n if (this._dropdown && this._dropdown === 'manual') {\n const predefinedHour = this._value.slice(0, 2);\n this._timeManualOptionsScrollTo(predefinedHour); // Check Hour\n setTimeout(() => {\n this._timeManualOptionsScrollTo(); // Check minutes\n }, 500);\n }\n }\n this.requestUpdate();\n }\n _handleInput() {\n if (this._input) {\n let newValue = this._input.value;\n newValue = this._timeUnmask(newValue);\n if (newValue.match(this._timePattern)) {\n newValue = this._timeMask(newValue, 2, this._timeSeparator);\n this._input.value = newValue;\n }\n else {\n this._input.value = this._timeInputOldValue;\n }\n if (this._input.value.length === 5) {\n this._timeValidate(this._input.value);\n this._handleValidity();\n }\n // If dropdown open try to scrollTo\n if (this._dropdown && this._dropdown === 'list') {\n this._timeListOptionsScrollTo();\n }\n if (this._dropdown && this._dropdown === 'manual') {\n this._timeManualOptionsScrollTo();\n }\n }\n }\n _handleKeyDown(e) {\n if (this._input) {\n // Store last value to apply mask again in _handleInput\n this._timeInputOldValue = this._input.value;\n if ((e === null || e === void 0 ? void 0 : e.key) === 'Enter' || (e === null || e === void 0 ? void 0 : e.key) === ' ') {\n this._showDropdown = true;\n this.requestUpdate();\n }\n else if ((e === null || e === void 0 ? void 0 : e.key) === 'Escape') {\n this._showDropdown = false;\n this.requestUpdate();\n }\n }\n }\n _handleFocus() {\n this._placeholder = '00:00';\n if (this._input) {\n this._input.setAttribute('placeholder', this._placeholder);\n }\n this.requestUpdate();\n }\n _handleBlur() {\n this._placeholder = '';\n if (this._input) {\n this._input.removeAttribute('placeholder');\n }\n // this._showDropdown = false;\n this.requestUpdate();\n }\n _focusInput() {\n var _a;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n this._handleClick();\n }\n _generateTimeListOptions() {\n const options = [];\n for (let hour = this._minHour; hour < this._maxHour; hour += 1) {\n for (let min = 0; min < 60; min += this._minutesRange) {\n const hourStr = hour.toString().padStart(2, '0');\n const minStr = min.toString().padStart(2, '0');\n options.push(`${hourStr}:${minStr}`);\n }\n }\n return options;\n }\n _generateTimeListOptionsHTML(options, customOptions) {\n let isFirstOption = true;\n const isCustomList = customOptions && customOptions.length > 0;\n const iterableOptions = isCustomList\n ? customOptions\n : options;\n const output = iterableOptions.map(option => {\n const moveFocusToOption = (currentOption) => {\n if (currentOption) {\n currentOption.focus();\n }\n };\n const moveFocusToPreviousOption = (currentOption) => {\n let index = 0;\n const availableOptions = this.renderRoot.querySelectorAll('.dss-timepicker-dropdown__label');\n const lastIndex = availableOptions.length - 1;\n if (currentOption === availableOptions[0]) {\n moveFocusToOption(availableOptions[lastIndex]);\n }\n else {\n availableOptions.forEach((availableOption, i) => {\n if (availableOption === currentOption) {\n index = i;\n }\n });\n moveFocusToOption(availableOptions[index - 1]);\n }\n };\n const moveFocusToNextOption = (currentOption) => {\n let index = 0;\n const availableOptions = this.renderRoot.querySelectorAll('.dss-timepicker-dropdown__label');\n const lastIndex = availableOptions.length - 1;\n if (currentOption === availableOptions[lastIndex]) {\n moveFocusToOption(availableOptions[0]);\n }\n else {\n availableOptions.forEach((availableOption, i) => {\n if (availableOption === currentOption) {\n index = i;\n }\n });\n moveFocusToOption(availableOptions[index + 1]);\n }\n };\n const onClickOption = (e) => {\n if (this._input) {\n // const clickPath = e.composedPath();\n // const clicked = (clickPath[0] as Element).getAttribute('value');\n const clicked = e.target.getAttribute('value');\n if (clicked) {\n this._input.value = clicked;\n this._helpText = this._oldHelpText;\n this._invalid = false;\n this._showDropdown = false;\n this._handleValidity();\n this.requestUpdate();\n this._dispatchValueChange();\n }\n }\n };\n const onKeyDown = (e) => {\n const tgt = e.currentTarget;\n const keyboardEvent = e;\n let flag = false;\n switch (keyboardEvent.key) {\n case 'ArrowUp':\n moveFocusToPreviousOption(tgt);\n flag = true;\n break;\n case 'ArrowDown':\n moveFocusToNextOption(tgt);\n flag = true;\n break;\n /* eslint no-case-declarations: \"off\" */\n case 'Enter':\n const optionInput = e.target.querySelector('input');\n // Change tabIndex from current to clicked\n const tabIndexOption = this.renderRoot.querySelector('.dss-timepicker-dropdown__label[tabindex=\"0\"]');\n tabIndexOption === null || tabIndexOption === void 0 ? void 0 : tabIndexOption.setAttribute('tabindex', '-1');\n e.target.setAttribute('tabindex', '0');\n optionInput === null || optionInput === void 0 ? void 0 : optionInput.click();\n flag = true;\n break;\n default:\n break;\n }\n if (flag) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n const stateClass = {\n 'option--busy': typeof option === 'object' && option.state === 'ocupat',\n };\n const radioInput = html `\n <div class=\"dss-timepicker-dropdown__option ${classMap(stateClass)}\">\n <label\n class=\"dss-timepicker-dropdown__label\"\n tabindex=\"${isFirstOption ? 0 : -1}\"\n @keydown=${onKeyDown}\n >\n ${isCustomList && typeof option === 'object'\n ? option.value\n : option}\n\n <input\n class=\"dss-timepicker-dropdown__input-radio\"\n name=\"timeList\"\n type=\"radio\"\n @click=\"${onClickOption}\"\n .value=\"${isCustomList && typeof option === 'object'\n ? option.value\n : option}\"\n />\n <span class=\"dss-icon dss-icon--md dss-timepicker-dropdown__icon\"\n >check</span\n >\n </label>\n </div>\n `;\n isFirstOption = false;\n return radioInput;\n });\n return output;\n }\n _generateTimeManualHoursOptions() {\n const options = [];\n for (let hour = this._minHour; hour < this._maxHour; hour += 1) {\n const hourStr = hour.toString().padStart(2, '0');\n options.push(hourStr);\n }\n return options;\n }\n _generateTimeManualMinutesOptions() {\n const options = [];\n for (let min = 0; min < 60; min += this._minutesRange) {\n const minStr = min.toString().padStart(2, '0');\n options.push(minStr);\n }\n return options;\n }\n _generateTimeManualOptionsHTML(inputName, options) {\n let isFirstOption = true;\n const output = options.map(option => {\n const onClickOption = (e) => {\n const clicked = e.target.getAttribute('value');\n if (clicked) {\n if (inputName === 'timepickerManualHour') {\n this._manualHourSelector = clicked;\n }\n else if (inputName === 'timepickerManualMinutes') {\n this._manualMinuteSelector = clicked;\n }\n this.requestUpdate();\n }\n };\n const onKeyDown = (e) => {\n const tgt = e.currentTarget;\n const keyboardEvent = e;\n let flag = false;\n const moveFocusToOption = (currentOption) => {\n if (currentOption) {\n currentOption.focus();\n }\n };\n const moveFocusToPreviousOption = (currentOption) => {\n let index = 0;\n const availableOptions = this.renderRoot.querySelectorAll(`.dss-timepicker-manual-item__label.${inputName}`);\n const lastIndex = availableOptions.length - 1;\n if (currentOption === availableOptions[0]) {\n moveFocusToOption(availableOptions[lastIndex]);\n }\n else {\n availableOptions.forEach((availableOption, i) => {\n if (availableOption === currentOption) {\n index = i;\n }\n });\n moveFocusToOption(availableOptions[index - 1]);\n }\n };\n const moveFocusToNextOption = (currentOption) => {\n let index = 0;\n const availableOptions = this.renderRoot.querySelectorAll(`.dss-timepicker-manual-item__label.${inputName}`);\n const lastIndex = availableOptions.length - 1;\n if (currentOption === availableOptions[lastIndex]) {\n moveFocusToOption(availableOptions[0]);\n }\n else {\n availableOptions.forEach((availableOption, i) => {\n if (availableOption === currentOption) {\n index = i;\n }\n });\n moveFocusToOption(availableOptions[index + 1]);\n }\n };\n switch (keyboardEvent.key) {\n case 'ArrowUp':\n moveFocusToPreviousOption(tgt);\n flag = true;\n break;\n case 'ArrowDown':\n moveFocusToNextOption(tgt);\n flag = true;\n break;\n case 'Enter':\n const optionParent = e.target.parentElement;\n const optionInput = optionParent === null || optionParent === void 0 ? void 0 : optionParent.querySelector('input');\n // Change tabIndex from current to clicked\n const tabIndexOption = this.renderRoot.querySelector(`.dss-timepicker-manual-item__label[tabindex=\"0\"].${inputName}`);\n tabIndexOption === null || tabIndexOption === void 0 ? void 0 : tabIndexOption.setAttribute('tabindex', '-1');\n e.target.setAttribute('tabindex', '0');\n optionInput === null || optionInput === void 0 ? void 0 : optionInput.click();\n // If user enter on hour, focus to minutes\n if (inputName === 'timepickerManualHour') {\n const minuteOption = this.renderRoot.querySelector(`.dss-timepicker-manual-item__label[tabindex=\"0\"].timepickerManualMinutes`);\n moveFocusToOption(minuteOption);\n }\n else if (inputName === 'timepickerManualMinutes') {\n const selectButton = this.renderRoot.querySelector(`.dss-timepicker-dropdown__actions-select`);\n setTimeout(() => {\n selectButton.focus();\n }, 0);\n }\n flag = true;\n break;\n default:\n break;\n }\n if (flag) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n const radioInput = html `\n <div class=\"dss-timepicker-manual-item\">\n <input\n id=\"${inputName + option}\"\n class=\"dss-timepicker-manual-item__input-radio\"\n name=\"${inputName}\"\n type=\"radio\"\n @click=\"${onClickOption}\"\n .value=\"${option}\"\n />\n <label\n for=\"${inputName + option}\"\n class=\"dss-timepicker-manual-item__label ${inputName}\"\n tabindex=\"${isFirstOption ? 0 : -1}\"\n @keydown=${onKeyDown}\n >\n ${option}\n </label>\n </div>\n `;\n isFirstOption = false;\n return radioInput;\n });\n return output;\n }\n _checkDisableTimeManualSelector() {\n return this._manualHourSelector === '' || this._manualMinuteSelector === '';\n }\n /* eslint no-param-reassign: \"off\" */\n _timeManualSelectorCancel() {\n const checkedOptions = this.renderRoot.querySelectorAll('.dss-timepicker-manual-item__input-radio:checked');\n if (checkedOptions.length) {\n checkedOptions.forEach(checkedOption => {\n checkedOption.checked = false;\n });\n }\n this._manualHourSelector = '';\n this._manualMinuteSelector = '';\n this._showDropdown = false;\n this._handleValidity();\n this.requestUpdate();\n }\n _timeManualSelectorAccept() {\n if (this._input) {\n this._input.value = `${this._manualHourSelector}:${this._manualMinuteSelector}`;\n this._helpText = this._oldHelpText;\n this._invalid = false;\n this._showDropdown = false;\n this._handleValidity();\n this.requestUpdate();\n this._dispatchValueChange();\n }\n }\n /* eslint no-param-reassign: \"off\" */\n _timeListOptionsScrollTo() {\n if (this._input) {\n const inputText = this._input.value.trim();\n const options = this.renderRoot.querySelectorAll('.dss-timepicker-dropdown__input-radio');\n let foundMatch = false;\n options.forEach(option => {\n const optionValue = option.value;\n if (!foundMatch && optionValue.startsWith(inputText)) {\n const label = option.closest('label');\n foundMatch = true;\n if (label) {\n setTimeout(() => {\n label.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'nearest',\n });\n }, 0);\n if (optionValue === inputText) {\n option.checked = true;\n }\n }\n }\n });\n }\n }\n _timeManualOptionsScrollTo(value) {\n if (this._input) {\n const inputText = value ? value.trim() : this._input.value.trim();\n if (inputText.length <= 2) {\n const options = this.renderRoot.querySelectorAll('.dss-timepicker-dropdown__items--hour .dss-timepicker-manual-item__label');\n // Scroll HOUR\n let foundMatch = false;\n options.forEach(option => {\n const optionValue = option.innerHTML\n .replace(/<!--[\\s\\S]*?-->/g, '')\n .trim();\n if (!foundMatch && optionValue.startsWith(inputText)) {\n foundMatch = true;\n setTimeout(() => {\n option.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'nearest',\n });\n }, 0);\n // If option value is equal then select option\n if (optionValue === inputText) {\n option.click();\n }\n }\n });\n }\n else {\n const minutesText = inputText.slice(3);\n const options = this.renderRoot.querySelectorAll('.dss-timepicker-dropdown__items--minute .dss-timepicker-manual-item__label');\n // Scroll HOUR\n let foundMatch = false;\n options.forEach(option => {\n const optionValue = option.innerHTML\n .replace(/<!--[\\s\\S]*?-->/g, '')\n .trim();\n if (!foundMatch && optionValue.startsWith(minutesText)) {\n foundMatch = true;\n option.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'nearest',\n });\n if (optionValue === minutesText) {\n option.click();\n }\n }\n });\n }\n }\n }\n render() {\n var _a;\n const inputGroupClass = {\n 'dss-input-group--focused': ((_a = this._input) === null || _a === void 0 ? void 0 : _a.value) || this._placeholder,\n 'dss-input-group--lg': this._inputSize === 'lg',\n 'dss-input-group--md': this._inputSize === 'md',\n 'dss-input-group--dropdown': this._dropdown === 'manual',\n 'dss-input-group--invalid': this._invalid || !this._inputValidity,\n 'dss-input-group--required': this._required,\n 'dss-input-group--disabled': this._disabled,\n 'dss-input-group--read-only': this._readonly,\n };\n const helpClass = {\n 'dss-timepicker-help--invalid': this._invalid || !this._inputValidity,\n 'dss-timepicker-help--disabled': this._disabled,\n };\n const dropdownClass = {\n 'dss-timepicker-dropdown--open': this._showDropdown,\n 'dss-timepicker-dropdown--lg': this._inputSize === 'lg',\n 'dss-timepicker-dropdown--md': this._inputSize === 'md',\n };\n return html `\n <div class=\"dss-timepicker\">\n ${this._dropdown === ''\n ? html `\n <div\n class=\"dss-input-group dss-input-group--has-icon ${classMap(inputGroupClass)}\"\n >\n <span class=\"dss-icon dss-icon--md dss-input-icon\"\n >${this._icon}</span\n >\n <slot\n name=\"input\"\n @click=${this._handleClick}\n @input=${this._handleInput}\n @focusin=${this._handleFocus}\n @focusout=${this._handleBlur}\n @keydown=${this._handleKeyDown}\n ></slot>\n\n <slot name=\"label\" @click=${this._focusInput}></slot>\n </div>\n `\n : html `\n <div\n class=\"dss-input-group dss-input-group--has-icon ${classMap(inputGroupClass)}\"\n role=\"combobox\"\n aria-controls=\"timepicker-options\"\n aria-expanded=${ifDefined(this._showDropdown)}\n >\n <span class=\"dss-icon dss-icon--md dss-input-icon\"\n >${this._icon}</span\n >\n <slot\n name=\"input\"\n @click=${this._handleClick}\n @input=${this._handleInput}\n @focusin=${this._handleFocus}\n @focusout=${this._handleBlur}\n @keydown=${this._handleKeyDown}\n ></slot>\n\n <slot name=\"label\" @click=${this._focusInput}></slot>\n </div>\n `}\n ${this._helpText\n ? html `\n <div class=\"dss-timepicker-help ${classMap(helpClass)}\">\n ${this._helpText}\n </div>\n `\n : null}\n ${this._dropdown && this._dropdown === 'list'\n ? html `\n <div\n id=\"timepicker-options\"\n class=\"dss-timepicker-dropdown dss-timepicker-dropdown--list ${classMap(dropdownClass)}\"\n role=\"listbox\"\n aria-label=\"Timepicker Options\"\n >\n <div class=\"dss-timepicker-dropdown__container\">\n ${html `${this._generateTimeListOptionsHTML(this._timeListOptions, this._customTimeListOptions)}`}\n </div>\n </div>\n `\n : null}\n ${this._dropdown && this._dropdown === 'manual'\n ? html `\n <div\n id=\"timepicker-options\"\n class=\"dss-timepicker-dropdown dss-timepicker-dropdown--manual ${classMap(dropdownClass)}\"\n role=\"listbox\"\n aria-label=\"Timepicker Options\"\n >\n <div class=\"dss-timepicker-dropdown__manual\">\n <div\n class=\"dss-timepicker-dropdown__items dss-timepicker-dropdown__items--hour\"\n >\n ${this._generateTimeManualOptionsHTML('timepickerManualHour', this._timeManualHourOptions)}\n </div>\n <div\n class=\"dss-timepicker-dropdown__items dss-timepicker-dropdown__items--minute\"\n >\n ${this._generateTimeManualOptionsHTML('timepickerManualMinutes', this._timeManualMinutesOptions)}\n </div>\n </div>\n <div class=\"dss-timepicker-dropdown__actions\">\n <button\n type=\"button\"\n class=\"dss-button dss-button--md dss-button--secondary dss-timepicker-dropdown__actions-cancel\"\n @click=${this._timeManualSelectorCancel}\n >\n Cancel-lar\n </button>\n <button\n type=\"button\"\n class=\"dss-button dss-button--md dss-button--primary dss-timepicker-dropdown__actions-select\"\n ?disabled=${this._checkDisableTimeManualSelector()}\n @click=${this._timeManualSelectorAccept}\n >\n Seleccionar\n </button>\n </div>\n </div>\n `\n : null}\n <div></div>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: String, attribute: true })\n], Timepicker.prototype, \"value\", null);\n__decorate([\n property({ type: Boolean })\n], Timepicker.prototype, \"invalid\", null);\n__decorate([\n property({ type: String })\n], Timepicker.prototype, \"inputSize\", null);\n__decorate([\n property({ type: String })\n], Timepicker.prototype, \"helpText\", null);\n__decorate([\n property({ type: String })\n], Timepicker.prototype, \"errorTimeFormatText\", null);\n__decorate([\n property({ type: String })\n], Timepicker.prototype, \"errorTimeOptionText\", null);\n__decorate([\n property({ type: String })\n], Timepicker.prototype, \"dropdown\", null);\n__decorate([\n property({ type: Boolean })\n], Timepicker.prototype, \"showDropdown\", null);\n__decorate([\n property({ type: Number })\n], Timepicker.prototype, \"minutesRange\", null);\n__decorate([\n property({ type: Number })\n], Timepicker.prototype, \"minHour\", null);\n__decorate([\n property({ type: Number })\n], Timepicker.prototype, \"maxHour\", null);\n__decorate([\n property({ type: Array })\n], Timepicker.prototype, \"customTimeListOptions\", null);\n__decorate([\n property({ type: String })\n], Timepicker.prototype, \"icon\", null);\nTimepicker = __decorate([\n customElement('dss-timepicker')\n], Timepicker);\nexport { Timepicker };\n//# sourceMappingURL=timepicker.js.map","import { __decorate } from \"tslib\";\n/* eslint-disable lit-a11y/click-events-have-key-events */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { inputStyles } from './shared-styles/input.style';\nimport { iconButtonStyles } from './shared-styles/icon-button.style';\nlet Input = class Input extends LitElement {\n constructor() {\n super(...arguments);\n this._label = 'Label';\n this._icon = 'add_box';\n this._placeholder = '';\n this._inputSize = 'lg';\n this._maxLength = undefined;\n this._invalid = false;\n this._helpText = '';\n this._isFocused = false;\n this._isTypeNumeric = false;\n this._inputValidity = true;\n // Methods\n // Options for the observer (which mutations to observe)\n this.observerConfig = { attributes: true, childList: true, subtree: true };\n // Callback function to execute when mutations are observed\n this.callback = (mutationList) => {\n for (const mutation of mutationList) {\n if (mutation.type === 'attributes') {\n this._checkInputAttributes();\n this.requestUpdate();\n }\n }\n };\n // Create an observer instance linked to the callback function\n this.observer = new MutationObserver(this.callback);\n }\n static get styles() {\n return [symbolStyles, inputStyles, iconButtonStyles, css ``];\n }\n // Properties\n get _input() {\n var _a;\n const input = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name=\"input\"]')) || undefined;\n this.requestUpdate();\n return input === null || input === void 0 ? void 0 : input.assignedElements()[0];\n }\n set label(label) {\n const oldValue = this._label;\n this._label = label;\n this.requestUpdate('label', oldValue);\n }\n set icon(icon) {\n const oldValue = this._icon;\n this._icon = icon;\n this.requestUpdate('icon', oldValue);\n }\n set inputSize(size) {\n const oldValue = this._inputSize;\n if (size === 'md') {\n this._inputSize = size;\n }\n else {\n this._inputSize = 'lg';\n }\n this.requestUpdate('inputSize', oldValue);\n }\n set helpText(text) {\n const oldValue = this._helpText;\n this._helpText = text;\n this.requestUpdate('helpText', oldValue);\n }\n set invalid(status) {\n const oldValue = this._invalid;\n this._invalid = status;\n this.requestUpdate('invalid', oldValue);\n }\n disconnectedCallback() {\n this.observer.disconnect();\n }\n _handleClick() {\n this.requestUpdate();\n }\n _handleInput() {\n // Check number + maxlenght\n if (this._isTypeNumeric && this._maxLength && this._input) {\n this._input.value = this._input.value.slice(0, this._maxLength);\n }\n this._handleValidity();\n this.requestUpdate();\n }\n _handleFocusIn() {\n this._isFocused = true;\n this.requestUpdate();\n }\n _handleFocusOut() {\n this._isFocused = false;\n this.requestUpdate();\n }\n _focusInput() {\n var _a;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n }\n _handleValidity() {\n var _a;\n // Check internal validity\n const validity = (_a = this._input) === null || _a === void 0 ? void 0 : _a.checkValidity();\n if (validity !== undefined)\n this._inputValidity = validity;\n }\n _stepUp() {\n var _a;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.stepUp();\n this._handleValidity();\n // this._value = this._input?.value || '';\n this._dispatchValueChange();\n this.requestUpdate();\n }\n _stepDown() {\n var _a;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.stepDown();\n this._handleValidity();\n // this._value = this._input?.value || '';\n this._dispatchValueChange();\n this.requestUpdate();\n }\n _dispatchValueChange() {\n if (this._input) {\n const options = {\n detail: this._input.value,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onInputChange', options));\n }\n }\n _checkInputAttributes() {\n var _a, _b, _c, _d, _e;\n // Check slot input attributes (before this _input is null)\n const inputPlaceholder = (_a = this._input) === null || _a === void 0 ? void 0 : _a.getAttribute('placeholder');\n if (inputPlaceholder)\n this._placeholder = inputPlaceholder;\n // Check type numeric\n if (((_b = this._input) === null || _b === void 0 ? void 0 : _b.getAttribute('type')) === 'number') {\n this._isTypeNumeric = true;\n }\n const maxlength = (_c = this._input) === null || _c === void 0 ? void 0 : _c.getAttribute('maxlength');\n this._maxLength = maxlength ? +maxlength : undefined;\n if (((_d = this._input) === null || _d === void 0 ? void 0 : _d.value) && ((_e = this._input) === null || _e === void 0 ? void 0 : _e.value) !== '') {\n this._handleValidity();\n }\n }\n async firstUpdated() {\n try {\n await this.updateComplete;\n if (this._input) {\n this._checkInputAttributes();\n // Start observing the target node for configured mutations\n this.observer.observe(this._input, this.observerConfig);\n }\n this.requestUpdate();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n render() {\n var _a, _b, _c, _d, _e, _f, _g;\n const inputGroupClass = {\n 'dss-input-group--invalid': this._invalid || !this._inputValidity,\n 'dss-input-group--disabled': (_a = this._input) === null || _a === void 0 ? void 0 : _a.disabled,\n 'dss-input-group--required': (_b = this._input) === null || _b === void 0 ? void 0 : _b.required,\n 'dss-input-group--read-only': (_c = this._input) === null || _c === void 0 ? void 0 : _c.readOnly,\n 'dss-input-group--focused': ((_d = this._input) === null || _d === void 0 ? void 0 : _d.value) || this._placeholder || this._isFocused,\n 'dss-input-group--lg': this._inputSize === 'lg',\n 'dss-input-group--md': this._inputSize === 'md',\n 'dss-input-group--numeric': this._isTypeNumeric,\n 'dss-input-group--has-icon': this._icon && this._icon !== '',\n };\n const helpClass = {\n 'dss-input-help--invalid': this._invalid,\n 'dss-input-help--disabled': (_e = this._input) === null || _e === void 0 ? void 0 : _e.disabled,\n };\n return html `\n <div class=\"dss-input-wrapper\">\n <div class=\"dss-input-group ${classMap(inputGroupClass)}\">\n ${this._icon\n ? html `\n <span class=\"dss-icon dss-icon--md dss-input-icon\">\n ${this._icon}\n </span>\n `\n : null}\n\n <slot\n name=\"input\"\n @click=${this._handleClick}\n @input=${this._handleInput}\n @focusin=${this._handleFocusIn}\n @focusout=${this._handleFocusOut}\n ></slot>\n\n <slot name=\"label\" @click=${this._focusInput}></slot>\n\n ${this._isTypeNumeric\n ? html `\n <div class=\"dss-input__numeric-buttons\">\n <button\n type=\"button\"\n class=\"dss-icon-button dss-icon-button--primary \"\n @click=${this._stepUp}\n ?disabled=${this._input.disabled || this._input.readOnly}\n tabindex=\"-1\"\n >\n <span class=\"dss-icon\">keyboard_arrow_up</span>\n </button>\n <button\n type=\"button\"\n class=\"dss-icon-button dss-icon-button--primary\"\n @click=${this._stepDown}\n ?disabled=${this._input.disabled || this._input.readOnly}\n tabindex=\"-1\"\n >\n <span class=\"dss-icon\">keyboard_arrow_down</span>\n </button>\n </div>\n `\n : null}\n </div>\n ${this._helpText\n ? html `\n <div class=\"dss-input-help ${classMap(helpClass)}\">\n <span>${this._helpText}</span>\n ${this._maxLength\n ? html `<span>\n ${(_g = (_f = this._input) === null || _f === void 0 ? void 0 : _f.value) === null || _g === void 0 ? void 0 : _g.length}/${this._maxLength}\n </span>`\n : null}\n </div>\n `\n : null}\n </div>\n `;\n }\n};\n__decorate([\n property({ type: String })\n], Input.prototype, \"label\", null);\n__decorate([\n property({ type: String })\n], Input.prototype, \"icon\", null);\n__decorate([\n property({ type: String })\n], Input.prototype, \"inputSize\", null);\n__decorate([\n property({ type: String })\n], Input.prototype, \"helpText\", null);\n__decorate([\n property({ type: Boolean })\n], Input.prototype, \"invalid\", null);\nInput = __decorate([\n customElement('dss-input')\n], Input);\nexport { Input };\n//# sourceMappingURL=input.js.map","import { __decorate } from \"tslib\";\n/* eslint-disable lit-a11y/click-events-have-key-events */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { inputStyles } from './shared-styles/input.style';\nimport { iconButtonStyles } from './shared-styles/icon-button.style';\nconst booleanType = {\n type: Boolean,\n converter: {\n fromAttribute: value => value !== 'false',\n toAttribute: value => (value ? '' : undefined),\n },\n};\nlet InputDropdown = class InputDropdown extends LitElement {\n constructor() {\n super(...arguments);\n this._elements = null;\n this._copyElements = null;\n this._tick = true;\n this._type = 'default';\n this._boxStyle = null;\n this._selectedValue = null;\n this._multiple = false;\n this._openWithSearch = false;\n this._deselectable = false;\n this._icon = 'search';\n // private _label: string = '';\n this._placeHolder = '';\n this._showDropdown = false;\n this._required = false;\n this._disabled = false;\n this._readonly = false;\n this._labelSelectAll = 'Seleccionar-ho tot';\n this._labelDeselectAll = 'Deseleccionar-ho tot';\n this._selectAll = false;\n this._selectElements = 0;\n this._isFocused = false;\n this._helpText = '';\n this._invalid = false;\n this._inputSize = 'lg';\n this._inputValidity = true;\n this._filteredElements = [];\n this._dropdownPlaceholder = 'Seleccionar';\n this._selectorStyle = '';\n // Options for the observer (which mutations to observe)\n this.observerConfig = { attributes: true, childList: true, subtree: true };\n // Callback function to execute when mutations are observed\n this.callback = (mutationList) => {\n for (const mutation of mutationList) {\n if (mutation.type === 'attributes') {\n if (this._input) {\n this._checkInputAttributes();\n }\n this.requestUpdate();\n }\n }\n };\n // Create an observer instance linked to the callback function\n this.observer = new MutationObserver(this.callback);\n }\n static get styles() {\n return [\n symbolStyles,\n inputStyles,\n iconButtonStyles,\n css `\n .dss-wrapper {\n position: relative;\n }\n\n .dss-icon-button {\n position: absolute;\n top: 8px;\n right: var(--dss-spacing-xxs);\n z-index: 800;\n }\n\n .dss-selector {\n position: absolute;\n top: 52px;\n z-index: 900;\n width: 100%;\n }\n\n .dss-selector--md {\n top: 44px;\n }\n\n .dss-input-group__action-button--sm {\n top: var(--dss-spacing-sm);\n }\n `,\n ];\n }\n get _input() {\n var _a;\n const input = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name=\"input\"]')) || undefined;\n this.requestUpdate();\n return input === null || input === void 0 ? void 0 : input.assignedElements()[0];\n }\n get _label() {\n var _a;\n const label = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name=\"label\"]')) || undefined;\n this.requestUpdate();\n return label === null || label === void 0 ? void 0 : label.assignedElements()[0];\n }\n set icon(icon) {\n const oldValue = this._icon;\n this._icon = icon;\n this.requestUpdate('icon', oldValue);\n }\n set placeHolder(placeHolder) {\n const oldValue = this._placeHolder;\n this._placeHolder = placeHolder;\n this.requestUpdate('placeHolder', oldValue);\n }\n set elements(elements) {\n const oldValue = this._elements;\n this._elements = elements;\n // Fix: move here from firstUpdate as we need to update items dynamically\n if (elements) {\n if (this._input) {\n this._input.value = ''; // reset input value if we get new elements\n }\n this._filteredElements = this._getFilteredElements();\n this._copyElements = JSON.parse(JSON.stringify(this._elements));\n // this._copyElements = this._elements;\n this._initElementsSelected();\n this.requestUpdate();\n }\n this.requestUpdate('elements', oldValue);\n }\n set multiple(multiple) {\n const oldValue = this._multiple;\n this._multiple = multiple;\n this.requestUpdate('multiple', oldValue);\n }\n set tick(tick) {\n const oldValue = this._tick;\n this._tick = tick;\n this.requestUpdate('tick', oldValue);\n }\n set openWithSearch(openWithSearch) {\n const oldValue = this._openWithSearch;\n this._openWithSearch = openWithSearch;\n if (openWithSearch) {\n this._showDropdown = openWithSearch;\n this._isFocused = true;\n }\n this.requestUpdate('openWithSearch', oldValue);\n }\n set showDropdown(state) {\n const oldValue = this._showDropdown;\n this._showDropdown = state;\n this.requestUpdate('showDropdown', oldValue);\n }\n set deselectable(deselectable) {\n const oldValue = this._deselectable;\n this._deselectable = deselectable;\n this.requestUpdate('deselectable', oldValue);\n }\n set selectedValue(elements) {\n const oldValue = this._selectedValue;\n if (elements)\n this._selectedValue = elements;\n if (this._elements && this._selectedValue) {\n if (this._selectedValue.length > 0) {\n this._isFocused = true;\n }\n this._initElementsSelected();\n }\n this.requestUpdate('selectedValue', oldValue);\n }\n set type(value) {\n const oldValue = this._type;\n if (value === 'default' || value === 'green')\n this._type = value;\n else\n this._type = 'default';\n this.requestUpdate('type', oldValue);\n }\n set boxStyle(boxStyle) {\n const oldValue = this._boxStyle;\n this._boxStyle = boxStyle;\n this.requestUpdate('boxStyle', oldValue);\n }\n set selectorStyle(style) {\n const oldValue = this._selectorStyle;\n this._selectorStyle = style;\n this.requestUpdate('selectorStyle', oldValue);\n }\n set labelSelectAll(labelSelectAll) {\n const oldValue = this._labelSelectAll;\n if (labelSelectAll !== '') {\n this._labelSelectAll = labelSelectAll;\n }\n this.requestUpdate('labelSelectAll', oldValue);\n }\n set labelDeselectAll(labelDeselectAll) {\n const oldValue = this._labelDeselectAll;\n if (labelDeselectAll !== '') {\n this._labelDeselectAll = labelDeselectAll;\n }\n this.requestUpdate('labelDeselectAll', oldValue);\n }\n set selectAll(selectAll) {\n const oldValue = this._selectAll;\n this._selectAll = selectAll;\n this.requestUpdate('selectAll', oldValue);\n }\n set invalid(invalid) {\n const oldValue = this._invalid;\n this._invalid = invalid;\n this.requestUpdate('invalid', oldValue);\n }\n set inputSize(size) {\n const oldValue = this._inputSize;\n if (size === 'md') {\n this._inputSize = size;\n }\n else {\n this._inputSize = 'lg';\n }\n this.requestUpdate('inputSize', oldValue);\n }\n set helpText(text) {\n const oldValue = this._helpText;\n this._helpText = text;\n // this._oldHelpText = text;\n this.requestUpdate('helpText', oldValue);\n }\n set dropdownPlaceholder(placeholder) {\n const oldValue = this._dropdownPlaceholder;\n this._dropdownPlaceholder = placeholder;\n this.requestUpdate('dropdownPlaceholder', oldValue);\n }\n disconnectedCallback() {\n this.observer.disconnect();\n }\n // eslint-disable-next-line consistent-return\n _getFilteredElements() {\n var _a, _b;\n if (this._input && this._input.value) {\n const filter = (_a = this._input) === null || _a === void 0 ? void 0 : _a.value.toLowerCase();\n if (filter) {\n return (_b = this._elements) === null || _b === void 0 ? void 0 : _b.filter(element => element.label.toLowerCase().includes(filter));\n }\n }\n else {\n return this._elements;\n }\n }\n async firstUpdated() {\n var _a;\n try {\n await this.updateComplete;\n if (this._input) {\n // Start observing the target node for configured mutations\n this.observer.observe(this._input, this.observerConfig);\n this._checkInputAttributes();\n }\n // Init selector requirements\n if (this._elements) {\n this._filteredElements = this._getFilteredElements();\n // this._copyElements = JSON.parse(JSON.stringify(this._elements));\n this._copyElements = this._elements;\n this._initElementsSelected();\n }\n if (this._openWithSearch && this._input) {\n this._input.value = '';\n const inputPlaceholder = (_a = this._input) === null || _a === void 0 ? void 0 : _a.getAttribute('placeholder');\n if (!inputPlaceholder) {\n this._input.setAttribute('placeholder', this._dropdownPlaceholder);\n }\n }\n if (!this._openWithSearch && !this._disabled) {\n document.addEventListener('click', e => {\n this._clickedOutsideDropdown(this, e);\n });\n }\n this.requestUpdate();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n _initElementsSelected() {\n this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []);\n }\n _clickedOutsideDropdown(dropdown, event) {\n if (this._showDropdown) {\n if (!event.composedPath().includes(dropdown)) {\n // if (event.target !== dropdown && event.target !== this._input && event.target !== this._label) {\n if (this._input) {\n this._input.value = '';\n }\n this._initElementsSelected();\n if (!this._selectedValue || this._selectedValue.length <= 0) {\n this._filteredElements = this._getFilteredElements();\n }\n this._hidePlaceholder();\n this._showDropdown = false;\n this._isFocused = false;\n this.requestUpdate();\n }\n }\n }\n _handleInput() {\n this._filteredElements = this._getFilteredElements();\n this.requestUpdate();\n }\n _handleBlurEsc() {\n if (this._readonly || this._openWithSearch) {\n return;\n }\n this._isFocused = true;\n this._showDropdown = false;\n this.requestUpdate();\n }\n _handleBlurSelector(dropdown, event) {\n var _a;\n if (dropdown !== event.target) {\n if (this._openWithSearch) {\n return;\n }\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n this._handleBlurEsc();\n this._showSelectValuesInInput(this._selectedValue ? this._selectedValue : []);\n }\n }\n _toggleDropdown() {\n var _a;\n if (this._showDropdown && this._input) {\n this._initElementsSelected();\n if (!this._selectedValue || this._selectedValue.length <= 0) {\n this._filteredElements = this._getFilteredElements();\n }\n }\n else if (!this._showDropdown && this._input) {\n this._input.value = '';\n this._showPlaceholder();\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n }\n this._showDropdown = !this._showDropdown;\n this.requestUpdate();\n }\n _handleKeyInput(e) {\n if ((e === null || e === void 0 ? void 0 : e.key) === 'Enter') {\n this._showDropdown = true;\n }\n else if ((e === null || e === void 0 ? void 0 : e.key) === 'Escape') {\n this._handleBlurEsc();\n }\n else {\n this._showDropdown = !this._showDropdown;\n }\n }\n _dispatchValueChange() {\n if (this._input) {\n const options = {\n detail: {\n inputValue: this._input.value,\n selectedValue: this._selectedValue,\n },\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onInputDropdownChange', options));\n }\n }\n _onSelectorChanges(e) {\n const newValue = e.detail;\n this._selectedValue = typeof newValue === 'string' ? [e.detail] : e.detail;\n if (!this._multiple && !this._openWithSearch && !this._disabled) {\n this._showDropdown = false;\n this._initElementsSelected();\n this._handleValidity();\n }\n this._dispatchValueChange();\n this.requestUpdate();\n }\n _showSelectValuesInInput(e) {\n var _a, _b, _c, _d;\n if (!this._multiple && Array.isArray(e) && e.length > 1) {\n e.splice(1);\n }\n const matchingObjects = (_a = this._elements) === null || _a === void 0 ? void 0 : _a.filter(objeto => e.includes(objeto.value));\n this._elements = [...this._copyElements];\n if (!this._openWithSearch) {\n this._selectElements = (matchingObjects === null || matchingObjects === void 0 ? void 0 : matchingObjects.length)\n ? matchingObjects.length\n : 0;\n }\n else {\n this._selectElements = 0;\n }\n if (matchingObjects && matchingObjects.length > 0) {\n const sel = this._elements.filter(objeto => matchingObjects.includes(objeto));\n sel.push(...this._elements.filter(objeto => !matchingObjects.includes(objeto)));\n this._elements = [...sel];\n // Reset filtered elements\n this._filteredElements = this._elements;\n }\n if (!this._multiple && this._input) {\n this._input.value = (_c = (_b = matchingObjects === null || matchingObjects === void 0 ? void 0 : matchingObjects[0]) === null || _b === void 0 ? void 0 : _b.label) !== null && _c !== void 0 ? _c : '';\n return;\n }\n const matchingValues = matchingObjects === null || matchingObjects === void 0 ? void 0 : matchingObjects.map(objeto => objeto.label);\n if (this._input) {\n this._input.value = (_d = matchingValues === null || matchingValues === void 0 ? void 0 : matchingValues.join(', ')) !== null && _d !== void 0 ? _d : '';\n }\n }\n _checkInputAttributes() {\n var _a, _b, _c, _d, _e, _f;\n // Check slot input attributes (before this _input is null)\n const inputPlaceholder = (_a = this._input) === null || _a === void 0 ? void 0 : _a.getAttribute('placeholder');\n if (inputPlaceholder)\n this._placeHolder = inputPlaceholder;\n const inputReadOnly = (_b = this._input) === null || _b === void 0 ? void 0 : _b.getAttribute('readonly');\n this._readonly = inputReadOnly !== null;\n const disabled = (_c = this._input) === null || _c === void 0 ? void 0 : _c.getAttribute('disabled');\n this._disabled = disabled !== null;\n const required = (_d = this._input) === null || _d === void 0 ? void 0 : _d.getAttribute('required');\n this._required = required !== null;\n if (((_e = this._input) === null || _e === void 0 ? void 0 : _e.value) && ((_f = this._input) === null || _f === void 0 ? void 0 : _f.value) !== '') {\n this._handleValidity();\n }\n this.requestUpdate();\n }\n _handleFocusIn() {\n this._isFocused = true;\n this.requestUpdate();\n }\n _handleFocusOut(event) {\n var _a, _b;\n // eslint-disable-next-line prefer-destructuring\n const relatedTarget = event.relatedTarget;\n // Fix MatDialog issue: check if the new focus target contains the component\n if (relatedTarget instanceof HTMLElement && relatedTarget.contains(this))\n return;\n const dssSelector = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('dss-selector');\n const dssButtonArrow = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.dss-input-group__action-button');\n if (relatedTarget !== null &&\n relatedTarget !== this._input &&\n relatedTarget !== dssSelector &&\n relatedTarget !== dssButtonArrow) {\n if (this._selectedValue) {\n this._initElementsSelected();\n }\n this._showDropdown = false;\n this._isFocused = false;\n this._hidePlaceholder();\n }\n this.requestUpdate();\n }\n _handleKeyDown(e) {\n if ((e === null || e === void 0 ? void 0 : e.key) === 'Enter') {\n this._handleClick();\n this.requestUpdate();\n }\n else if ((e === null || e === void 0 ? void 0 : e.key) === 'Escape') {\n this._showDropdown = false;\n this._initElementsSelected();\n this._hidePlaceholder();\n this.requestUpdate();\n }\n }\n _handleClick() {\n if (!this._disabled && !this._readonly) {\n if (this._input) {\n if (!this._openWithSearch) {\n this._input.value = '';\n }\n this._showPlaceholder();\n }\n this._isFocused = true;\n this._showDropdown = true;\n this.requestUpdate();\n }\n }\n _focusInput() {\n var _a;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n this._handleClick();\n }\n _showPlaceholder() {\n var _a;\n if (!this._placeHolder) {\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.setAttribute('placeholder', this._dropdownPlaceholder);\n }\n }\n _hidePlaceholder() {\n var _a;\n if (!this._placeHolder) {\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.removeAttribute('placeholder');\n }\n }\n _handleValidity() {\n var _a;\n const validity = (_a = this._input) === null || _a === void 0 ? void 0 : _a.checkValidity();\n if (validity !== undefined)\n this._inputValidity = validity;\n }\n _cleanInput() {\n if (this._input) {\n this._input.value = '';\n this._filteredElements = this._getFilteredElements();\n this.requestUpdate();\n }\n }\n render() {\n var _a, _b;\n const selectorContainerClass = {\n 'dss-selector': !this._openWithSearch,\n 'dss-selector--disabled': this._disabled,\n 'dss-selector-dropdown': true,\n 'dss-selector--md': !this._openWithSearch && this._inputSize === 'md',\n };\n const inputGroupClass = {\n 'dss-input-group--invalid': this._invalid || !this._inputValidity,\n 'dss-input-group--required': this._required,\n 'dss-input-group--disabled': this._disabled,\n 'dss-input-group--focused': ((_a = this._input) === null || _a === void 0 ? void 0 : _a.value) || this._placeHolder || this._isFocused,\n 'dss-input-group--lg': this._inputSize === 'lg',\n 'dss-input-group--md': this._inputSize === 'md',\n 'dss-input-group--dropdown': true,\n 'dss-input-group--read-only': this._readonly,\n 'dss-input-group--has-icon': this._icon && this._icon !== '',\n };\n const helpClass = {\n 'dss-input-help--invalid': this._invalid,\n 'dss-input-help--disabled': this._disabled,\n };\n return html ` <div class=\"dss-wrapper\" style=${ifDefined(this._boxStyle)}>\n <div\n class=\"dss-input-group dss-input-group--dropdown ${classMap(inputGroupClass)}\"\n role=\"combobox\"\n aria-controls=\"dropdown-options\"\n aria-expanded=${ifDefined(this._showDropdown)}\n >\n ${this._icon !== ''\n ? html `\n <span class=\"dss-icon dss-icon--md dss-input-icon\"\n >${this._icon}</span\n >\n `\n : null}\n\n <slot\n name=\"input\"\n @click=${this._handleClick}\n @input=${this._handleInput}\n @focusin=${this._handleFocusIn}\n @focusout=${this._handleFocusOut}\n @keydown=${this._handleKeyDown}\n ></slot>\n\n <slot name=\"label\" @click=${this._focusInput}></slot>\n\n ${!this._openWithSearch\n ? html `\n <button\n type=\"button\"\n class=\"dss-icon-button dss-icon-button--primary dss-icon-button--md dss-input-group__action-button\"\n @click=${this._toggleDropdown}\n ?disabled=${this._disabled || this._readonly}\n tabindex=\"-1\"\n >\n <span class=\"dss-icon\"\n >${this._showDropdown\n ? 'keyboard_arrow_up'\n : 'keyboard_arrow_down'}</span\n >\n </button>\n `\n : html `\n <button\n type=\"button\"\n class=\"dss-icon-button dss-icon-button--primary dss-icon-button--sm dss-input-group__action-button dss-input-group__action-button--sm\"\n @click=${this._cleanInput}\n ?disabled=${this._disabled || this._readonly}\n tabindex=\"-1\"\n >\n <span class=\"dss-icon\">close</span>\n </button>\n `}\n </div>\n\n ${this._helpText && !this._openWithSearch\n ? html `\n <div class=\"dss-input-help ${classMap(helpClass)}\">\n <span>${this._helpText}</span>\n </div>\n `\n : null}\n ${this._showDropdown && this._filteredElements\n ? html `\n <dss-selector\n class=\"${classMap(selectorContainerClass)}\"\n .multiple=${this._multiple}\n .tick=${this._tick}\n .deselectable=${this._deselectable}\n .disabled=${this._disabled}\n .elements=${this._filteredElements}\n .filtre=${(_b = this._input) === null || _b === void 0 ? void 0 : _b.value}\n .selectedValue=${this._selectedValue}\n .type=${this._type}\n .labelSelectAll=${this._labelSelectAll}\n .labelDeselectAll=${this._labelDeselectAll}\n .selectAll=${this._selectAll}\n elementsSelected=${this._selectElements}\n boxStyle=${this._selectorStyle}\n @onValueChange=\"${this._onSelectorChanges}\"\n @keydown=\"${(e) => {\n if (e.key === 'Escape')\n this._handleBlurSelector(this, e);\n }}\"\n @focusout=${this._handleFocusOut}\n >\n </dss-selector>\n `\n : null}\n </div>`;\n }\n};\n__decorate([\n property({ type: String })\n], InputDropdown.prototype, \"icon\", null);\n__decorate([\n property({ type: String })\n], InputDropdown.prototype, \"placeHolder\", null);\n__decorate([\n property({ type: Array })\n], InputDropdown.prototype, \"elements\", null);\n__decorate([\n property(booleanType)\n], InputDropdown.prototype, \"multiple\", null);\n__decorate([\n property(booleanType)\n], InputDropdown.prototype, \"tick\", null);\n__decorate([\n property(booleanType)\n], InputDropdown.prototype, \"openWithSearch\", null);\n__decorate([\n property({ type: Boolean })\n], InputDropdown.prototype, \"showDropdown\", null);\n__decorate([\n property(booleanType)\n], InputDropdown.prototype, \"deselectable\", null);\n__decorate([\n property({ type: Array })\n], InputDropdown.prototype, \"selectedValue\", null);\n__decorate([\n property({ type: String })\n], InputDropdown.prototype, \"type\", null);\n__decorate([\n property({ type: String })\n], InputDropdown.prototype, \"boxStyle\", null);\n__decorate([\n property({ type: String })\n], InputDropdown.prototype, \"selectorStyle\", null);\n__decorate([\n property({ type: String })\n], InputDropdown.prototype, \"labelSelectAll\", null);\n__decorate([\n property({ type: String })\n], InputDropdown.prototype, \"labelDeselectAll\", null);\n__decorate([\n property(booleanType)\n], InputDropdown.prototype, \"selectAll\", null);\n__decorate([\n property({ type: Boolean })\n], InputDropdown.prototype, \"invalid\", null);\n__decorate([\n property({ type: String })\n], InputDropdown.prototype, \"inputSize\", null);\n__decorate([\n property({ type: String })\n], InputDropdown.prototype, \"helpText\", null);\n__decorate([\n property({ type: String })\n], InputDropdown.prototype, \"dropdownPlaceholder\", null);\nInputDropdown = __decorate([\n customElement('dss-input-dropdown')\n], InputDropdown);\nexport { InputDropdown };\n//# sourceMappingURL=input-dropdown.js.map","import { css } from 'lit';\n// Badge Status variations\nexport const badgeStyles = css `\n .dss-badge--danger {\n background-color: var(--color-red-100);\n border-color: var(--color-red-100);\n color: var(--color-red-900);\n font-variation-settings: 'FILL' 1;\n }\n\n .dss-badge--danger-low {\n background-color: var(--color-white);\n border-color: var(--color-red-500);\n color: var(--color-red-900);\n }\n\n .dss-badge--danger-high {\n background-color: var(--color-red-500);\n border-color: var(--color-red-500);\n color: var(--color-white);\n font-variation-settings: 'FILL' 1;\n }\n\n .dss-badge--moderate {\n background-color: var(--color-orange-100);\n border-color: var(--color-orange-100);\n color: var(--color-orange-900);\n font-variation-settings: 'FILL' 1;\n }\n\n .dss-badge--moderate-low {\n background-color: var(--color-white);\n border-color: var(--color-orange-500);\n color: var(--color-orange-900);\n }\n\n .dss-badge--moderate-high {\n background-color: var(--color-orange-500);\n border-color: var(--color-orange-500);\n color: var(--color-orange-900);\n font-variation-settings: 'FILL' 1;\n }\n\n .dss-badge--slight {\n background-color: var(--color-yellow-100);\n border-color: var(--color-yellow-100);\n color: var(--color-yellow-900);\n font-variation-settings: 'FILL' 1;\n }\n\n .dss-badge--slight-low {\n background-color: var(--color-white);\n border-color: var(--color-yellow-500);\n color: var(--color-yellow-900);\n }\n\n .dss-badge--slight-high {\n background-color: var(--color-yellow-500);\n border-color: var(--color-yellow-500);\n color: var(--color-yellow-900);\n font-variation-settings: 'FILL' 1;\n }\n\n .dss-badge--correct {\n background-color: var(--color-green-100);\n border-color: var(--color-green-100);\n color: var(--color-green-900);\n font-variation-settings: 'FILL' 1;\n }\n\n .dss-badge--undeterminated {\n background-color: var(--color-neutral-100);\n border-color: var(--color-neutral-900);\n color: var(--color-neutral-900);\n }\n\n .dss-badge--critic {\n background-color: var(--color-red-500);\n border-color: var(--color-red-500);\n color: var(--color-white);\n }\n\n .dss-badge--critic-outlined {\n background-color: var(--color-red-50);\n border-color: var(--color-red-800);\n color: var(--color-red-800);\n }\n\n .dss-badge--alert {\n background-color: var(--color-yellow-500);\n border-color: var(--color-yellow-500);\n color: var(--color-black);\n }\n\n .dss-badge--alert-outlined {\n background-color: var(--color-yellow-50);\n border-color: var(--color-yellow-800);\n color: var(--color-yellow-800);\n }\n\n .dss-badge--ideal {\n background-color: var(--color-green-500);\n border-color: var(--color-green-500);\n color: var(--color-white);\n }\n\n .dss-badge--ideal-outlined {\n background-color: var(--color-green-50);\n border-color: var(--color-green-800);\n color: var(--color-green-800);\n }\n\n .dss-badge--info {\n background-color: var(--color-blue-500);\n border-color: var(--color-blue-500);\n color: var(--color-white);\n }\n\n .dss-badge--info-outlined {\n background-color: var(--color-blue-50);\n border-color: var(--color-blue-800);\n color: var(--color-blue-800);\n }\n\n .dss-badge--info-alt {\n background-color: var(--color-purple-500);\n border-color: var(--color-purple-500);\n color: var(--color-white);\n }\n\n .dss-badge--info-alt-outlined {\n background-color: var(--color-purple-50);\n border-color: var(--color-purple-800);\n color: var(--color-purple-800);\n }\n\n .dss-badge--neutral {\n background-color: var(--color-neutral-500);\n border-color: var(--color-neutral-500);\n color: var(--color-white);\n }\n\n .dss-badge--neutral-outlined {\n background-color: var(--color-neutral-50);\n border-color: var(--color-neutral-900);\n color: var(--color-neutral-900);\n }\n\n .dss-badge--disabled {\n cursor: not-allowed;\n border-color: var(--color-neutral-500);\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-500);\n }\n\n .dss-badge--dot {\n display: inline-block;\n padding: 0 !important;\n min-width: var(--dss-spacing-md);\n width: var(--dss-spacing-md);\n height: var(--dss-spacing-md);\n border-radius: 100%;\n margin: auto;\n width: 16px;\n height: 16px;\n }\n\n .dss-badge--dot > * {\n display: none;\n padding: 0;\n }\n\n .dss-badge--danger.dss-badge--dot {\n border: 0;\n box-shadow: inset 0 0 0 var(--dss-border-width-sm) var(--color-red-900);\n border-radius: 0;\n box-shadow: none;\n background-repeat: no-repeat;\n width: 16px;\n height: 14px;\n background: url('data:image/svg+xml,<svg width=\"16\" height=\"14\" viewBox=\"0 0 16 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.56588 1.2675C7.75783 0.931588 8.24218 0.931588 8.43412 1.26749L14.7109 12.2519C14.9014 12.5853 14.6607 13 14.2768 13H1.72318C1.33927 13 1.09859 12.5853 1.28906 12.2519L7.56588 1.2675Z\" fill=\"%23F0C5C5\" stroke=\"%23651D1D\"/></svg>');\n }\n\n .dss-badge--danger-low.dss-badge--dot {\n border: 0;\n box-shadow: inset 0 0 0 var(--dss-border-width-sm) var(--color-red-900);\n border-radius: 0;\n box-shadow: none;\n background-repeat: no-repeat;\n width: 16px;\n height: 14px;\n background: url('data:image/svg+xml,<svg width=\"16\" height=\"14\" viewBox=\"0 0 16 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.56588 1.2675C7.75783 0.931588 8.24218 0.931588 8.43412 1.26749L14.7109 12.2519C14.9014 12.5853 14.6607 13 14.2768 13H1.72318C1.33927 13 1.09859 12.5853 1.28906 12.2519L7.56588 1.2675Z\" fill=\"%23FFFFFF\" stroke=\"%23B60000\"/></svg>');\n }\n\n .dss-badge--danger-high.dss-badge--dot {\n border: 0;\n box-shadow: inset 0 0 0 var(--dss-border-width-sm) var(--color-red-900);\n border-radius: 0;\n box-shadow: none;\n background-repeat: no-repeat;\n width: 16px;\n height: 14px;\n background: url('data:image/svg+xml,<svg width=\"16\" height=\"14\" viewBox=\"0 0 16 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.56588 1.2675C7.75783 0.931588 8.24218 0.931588 8.43412 1.26749L14.7109 12.2519C14.9014 12.5853 14.6607 13 14.2768 13H1.72318C1.33927 13 1.09859 12.5853 1.28906 12.2519L7.56588 1.2675Z\" fill=\"%23B60000\" stroke=\"%23651D1D\"/></svg>');\n }\n\n .dss-badge--moderate.dss-badge--dot {\n border: 0;\n box-shadow: inset 0 0 0 var(--dss-border-width-sm) var(--color-orange-900);\n border-radius: 0;\n box-shadow: none;\n background-repeat: no-repeat;\n background: url('data:image/svg+xml, <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.06066 8.35355C0.865398 8.15829 0.865397 7.84171 1.06066 7.64645L7.64645 1.06066C7.84171 0.865398 8.15829 0.865398 8.35355 1.06066L14.9393 7.64645C15.1346 7.84171 15.1346 8.15829 14.9393 8.35355L8.35355 14.9393C8.15829 15.1346 7.84171 15.1346 7.64645 14.9393L1.06066 8.35355Z\" fill=\"%23FFE1A6\" stroke=\"%23391B00\"/></svg>');\n }\n\n .dss-badge--moderate-low.dss-badge--dot {\n border: 0;\n box-shadow: inset 0 0 0 var(--dss-border-width-sm) var(--color-orange-900);\n border-radius: 0;\n box-shadow: none;\n background-repeat: no-repeat;\n background: url('data:image/svg+xml, <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.06066 8.35355C0.865398 8.15829 0.865397 7.84171 1.06066 7.64645L7.64645 1.06066C7.84171 0.865398 8.15829 0.865398 8.35355 1.06066L14.9393 7.64645C15.1346 7.84171 15.1346 8.15829 14.9393 8.35355L8.35355 14.9393C8.15829 15.1346 7.84171 15.1346 7.64645 14.9393L1.06066 8.35355Z\" fill=\"%23FFFFFF\" stroke=\"%23391B00\"/></svg>');\n }\n\n .dss-badge--moderate-high.dss-badge--dot {\n border: 0;\n box-shadow: inset 0 0 0 var(--dss-border-width-sm) var(--color-orange-900);\n border-radius: 0;\n box-shadow: none;\n background-repeat: no-repeat;\n background: url('data:image/svg+xml, <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.06066 8.35355C0.865398 8.15829 0.865397 7.84171 1.06066 7.64645L7.64645 1.06066C7.84171 0.865398 8.15829 0.865398 8.35355 1.06066L14.9393 7.64645C15.1346 7.84171 15.1346 8.15829 14.9393 8.35355L8.35355 14.9393C8.15829 15.1346 7.84171 15.1346 7.64645 14.9393L1.06066 8.35355Z\" fill=\"%23FDB322\" stroke=\"%23391B00\"/></svg>');\n }\n\n .dss-badge--slight.dss-badge--dot {\n border-color: var(--color-yellow-900);\n }\n\n .dss-badge--slight-low.dss-badge--dot {\n border-color: var(--color-yellow-900);\n }\n\n .dss-badge--slight-high.dss-badge--dot {\n border-color: var(--color-yellow-900);\n }\n\n .dss-badge--correct.dss-badge--dot {\n border-color: var(--color-green-900);\n }\n\n .dss-badge--undeterminated.dss-badge--dot {\n border-color: var(--color-neutral-900);\n }\n`;\n//# sourceMappingURL=badge.style.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { badgeStyles } from './shared-styles/badge.style';\nlet IconBadge = class IconBadge extends LitElement {\n constructor() {\n super(...arguments);\n this._icon = 'warning';\n this._size = 'sm';\n this._state = '';\n this._disabled = false;\n this._isIconDefined = false;\n this._outlined = false;\n this._bubble = false;\n }\n static get styles() {\n return [\n symbolStyles,\n css `\n .dss-wrapper {\n position: relative;\n }\n\n .dss-icon-badge {\n cursor: default;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 20px;\n width: 20px;\n border: var(--dss-border-width-sm) solid var(--color-neutral-500);\n padding: var(--dss-spacing-tiny);\n border-radius: var(--dss-radius-xs);\n font-size: 16px;\n color: var(--color-neutral-500);\n background-color: var(--color-white);\n }\n\n .dss-icon-badge--bubble {\n border-radius: var(--dss-radius-full);\n }\n\n .dss-icon-badge--sm {\n }\n\n .dss-icon-badge--md {\n height: 24px;\n width: 32px;\n padding: var(--dss-spacing-xxs) var(--dss-spacing-xs);\n }\n\n .dss-icon-badge--lg {\n height: 32px;\n width: 40px;\n padding: var(--dss-spacing-xxs) var(--dss-spacing-xs);\n border-radius: var(--dss-radius-sm);\n font-size: 24px;\n }\n\n .dss-icon-badge--xl {\n height: 40px;\n width: 40px;\n padding: var(--dss-spacing-xxs) var(--dss-spacing-xs);\n border-radius: var(--dss-radius-sm);\n font-size: 24px;\n }\n\n ::slotted(dss-tooltip) {\n display: none;\n }\n\n .dss-icon-badge:hover + ::slotted(dss-tooltip) {\n display: block;\n }\n `,\n badgeStyles, // Fix: Last position to override default icon badge style\n ];\n }\n set icon(icon) {\n const oldValue = this._icon;\n this._icon = icon;\n this._isIconDefined = true;\n this.requestUpdate('icon', oldValue);\n }\n set size(size) {\n const oldValue = this._size;\n this._size = size;\n this.requestUpdate('size', oldValue);\n }\n set state(state) {\n const oldValue = this._state;\n this._state = state;\n // Set icons\n if (state && !this._isIconDefined) {\n if (state.includes('danger')) {\n this._icon = 'warning';\n }\n else if (state.includes('moderate')) {\n this._icon = 'emergency_home';\n }\n else if (state.includes('slight')) {\n this._icon = 'error';\n }\n else if (state.includes('correct')) {\n this._icon = 'check_circle';\n }\n else if (state.includes('undeterminated')) {\n this._icon = 'circle';\n }\n else if (state.includes('critic')) {\n this._icon = 'cancel';\n }\n else if (state.includes('alert')) {\n this._icon = 'report';\n }\n else if (state.includes('ideal')) {\n this._icon = 'check_circle';\n }\n else if (state.includes('info')) {\n this._icon = 'info';\n }\n else if (state.includes('neutral')) {\n this._icon = 'circle';\n }\n }\n this.requestUpdate('state', oldValue);\n }\n set disabled(value) {\n const oldValue = this._disabled;\n this._disabled = value;\n this.requestUpdate('disabled', oldValue);\n }\n set outlined(value) {\n const oldValue = this._outlined;\n this._outlined = value;\n this.requestUpdate('outlined', oldValue);\n }\n set bubble(value) {\n const oldValue = this._bubble;\n this._bubble = value;\n this.requestUpdate('bubble', oldValue);\n }\n render() {\n const badgeClassMap = {\n 'dss-icon-badge--xl': this._size === 'xl',\n 'dss-icon-badge--lg': this._size === 'lg',\n 'dss-icon-badge--md': this._size === 'md',\n 'dss-icon-badge--sm': this._size === 'sm',\n 'dss-badge--danger': this._state === 'danger',\n 'dss-badge--danger-low': this._state === 'danger-low',\n 'dss-badge--danger-high': this._state === 'danger-high',\n 'dss-badge--moderate': this._state === 'moderate',\n 'dss-badge--moderate-low': this._state === 'moderate-low',\n 'dss-badge--moderate-high': this._state === 'moderate-high',\n 'dss-badge--slight': this._state === 'slight',\n 'dss-badge--slight-low': this._state === 'slight-low',\n 'dss-badge--slight-high': this._state === 'slight-high',\n 'dss-badge--correct': this._state === 'correct',\n 'dss-badge--undeterminated': this._state === 'undeterminated',\n 'dss-badge--critic': this._state === 'critic' && !this._outlined,\n 'dss-badge--critic-outlined': this._state === 'critic' && this._outlined,\n 'dss-badge--alert': this._state === 'alert' && !this._outlined,\n 'dss-badge--alert-outlined': this._state === 'alert' && this._outlined,\n 'dss-badge--ideal': this._state === 'ideal' && !this._outlined,\n 'dss-badge--ideal-outlined': this._state === 'ideal' && this._outlined,\n 'dss-badge--info': this._state === 'info' && !this._outlined,\n 'dss-badge--info-outlined': this._state === 'info' && this._outlined,\n 'dss-badge--info-alt': this._state === 'info-alt' && !this._outlined,\n 'dss-badge--info-alt-outlined': this._state === 'info-alt' && this._outlined,\n 'dss-badge--neutral': this._state === 'neutral' && !this._outlined,\n 'dss-badge--neutral-outlined': this._state === 'neutral' && this._outlined,\n 'dss-badge--disabled': this._disabled,\n 'dss-icon-badge--bubble': this._bubble,\n };\n return html `\n <div class=\"dss-wrapper\">\n <span class=\"dss-icon-badge dss-icon ${classMap(badgeClassMap)}\">\n ${this._icon}\n </span>\n <slot name=\"tooltip\"></slot>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: String })\n], IconBadge.prototype, \"icon\", null);\n__decorate([\n property({ type: String })\n], IconBadge.prototype, \"size\", null);\n__decorate([\n property({ type: String })\n], IconBadge.prototype, \"state\", null);\n__decorate([\n property({ type: Boolean })\n], IconBadge.prototype, \"disabled\", null);\n__decorate([\n property({ type: Boolean })\n], IconBadge.prototype, \"outlined\", null);\n__decorate([\n property({ type: Boolean })\n], IconBadge.prototype, \"bubble\", null);\nIconBadge = __decorate([\n customElement('dss-icon-badge')\n], IconBadge);\nexport { IconBadge };\n//# sourceMappingURL=icon-badge.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { badgeStyles } from './shared-styles/badge.style';\nlet Badge = class Badge extends LitElement {\n constructor() {\n super(...arguments);\n this._icon = 'warning';\n this._size = 'sm';\n this._text = '';\n this._state = '';\n this._disabled = false;\n this._isIconDefined = false;\n this._outlined = false;\n this._dot = false;\n this._hideIcon = false;\n }\n static get styles() {\n return [\n symbolStyles,\n css `\n .dss-wrapper {\n position: relative;\n }\n\n .dss-badge {\n width: fit-content;\n height: fit-content;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: var(--font-semibold);\n font-size: 12px;\n line-height: 16px;\n border: var(--dss-border-width-sm) solid var(--color-neutral-500);\n }\n .dss-badge .dss-badge__icon {\n font-size: 16px;\n font-variation-settings: inherit;\n }\n\n .dss-badge--dot {\n display: inline-block;\n padding: 0;\n min-width: var(--dss-spacing-md);\n width: var(--dss-spacing-md);\n height: var(--dss-spacing-md);\n border-radius: 100%;\n margin: auto;\n }\n\n .dss-badge--dot > * {\n display: none;\n padding: 0;\n }\n\n .dss-badge--sm {\n padding: 0 var(--dss-spacing-xs);\n border-radius: var(--dss-radius-xs);\n }\n\n .dss-badge--sm > :not(span) {\n display: none;\n }\n\n .dss-badge--sm .dss-badge__icon {\n display: none;\n }\n\n .dss-badge--md {\n padding: var(--dss-spacing-xxs) var(--dss-spacing-xs);\n border-radius: var(--dss-radius-xs);\n }\n\n .dss-badge--md:has(.dss-badge__icon) {\n padding-left: var(--dss-spacing-xs);\n }\n\n .dss-badge--md:has(.dss-badge__icon) .dss-badge__text {\n margin-left: var(--dss-spacing-xs);\n }\n\n .dss-badge--md:has(.dss-icon-button) {\n padding-right: var(--dss-spacing-tiny);\n padding-top: 0;\n padding-bottom: 0;\n }\n\n .dss-badge--md:has(.dss-icon-button) .dss-badge__text {\n margin-right: var(--dss-spacing-tiny);\n }\n\n .dss-badge--lg {\n font-size: 14px;\n line-height: 24px;\n padding: var(--dss-spacing-xxs) var(--dss-spacing-md);\n border-radius: var(--dss-radius-sm);\n }\n\n .dss-badge--lg:has(.dss-badge__icon) {\n padding-left: var(--dss-spacing-sm);\n }\n\n .dss-badge--lg:has(.dss-badge__icon) .dss-badge__text {\n margin-left: var(--dss-spacing-xs);\n }\n\n .dss-badge--lg:has(.dss-icon-button) {\n padding-right: var(--dss-spacing-xxs);\n }\n\n .dss-badge--lg:has(.dss-icon-button) .dss-badge__text {\n margin-right: var(--dss-spacing-xs);\n }\n\n ::slotted(dss-tooltip) {\n display: none;\n }\n\n .dss-badge:hover + ::slotted(dss-tooltip) {\n display: block;\n }\n `,\n badgeStyles, // Fix: Last position to override default icon badge style\n ];\n }\n set icon(icon) {\n const oldValue = this._icon;\n this._icon = icon;\n this._isIconDefined = true;\n this.requestUpdate('icon', oldValue);\n }\n set size(size) {\n const oldValue = this._size;\n this._size = size;\n this.requestUpdate('size', oldValue);\n }\n set text(text) {\n const oldValue = this._text;\n this._text = text;\n this.requestUpdate('text', oldValue);\n }\n set state(state) {\n const oldValue = this._state;\n this._state = state;\n // Set icons\n if (state && !this._isIconDefined) {\n if (state.includes('danger')) {\n this._icon = 'warning';\n }\n else if (state.includes('moderate')) {\n this._icon = 'emergency_home';\n }\n else if (state.includes('slight')) {\n this._icon = 'error';\n }\n else if (state.includes('correct')) {\n this._icon = 'check_circle';\n }\n else if (state.includes('undeterminated')) {\n this._icon = 'circle';\n }\n else if (state.includes('critic')) {\n this._icon = 'cancel';\n }\n else if (state.includes('alert')) {\n this._icon = 'report';\n }\n else if (state.includes('ideal')) {\n this._icon = 'check_circle';\n }\n else if (state.includes('info')) {\n this._icon = 'info';\n }\n else if (state.includes('neutral')) {\n this._icon = 'circle';\n }\n }\n this.requestUpdate('state', oldValue);\n }\n set disabled(value) {\n const oldValue = this._disabled;\n this._disabled = value;\n this.requestUpdate('disabled', oldValue);\n }\n set outlined(value) {\n const oldValue = this._outlined;\n this._outlined = value;\n this.requestUpdate('outlined', oldValue);\n }\n set dot(value) {\n const oldValue = this._dot;\n this._dot = value;\n this.requestUpdate('dot', oldValue);\n }\n set hideIcon(value) {\n const oldValue = this._hideIcon;\n this._hideIcon = value;\n this.requestUpdate('hideIcon', oldValue);\n }\n render() {\n const badgeClassMap = {\n 'dss-badge--lg': this._size === 'lg',\n 'dss-badge--md': this._size === 'md',\n 'dss-badge--sm': this._size === 'sm',\n 'dss-badge--danger': this._state === 'danger',\n 'dss-badge--danger-low': this._state === 'danger-low',\n 'dss-badge--danger-high': this._state === 'danger-high',\n 'dss-badge--moderate': this._state === 'moderate',\n 'dss-badge--moderate-low': this._state === 'moderate-low',\n 'dss-badge--moderate-high': this._state === 'moderate-high',\n 'dss-badge--slight': this._state === 'slight',\n 'dss-badge--slight-low': this._state === 'slight-low',\n 'dss-badge--slight-high': this._state === 'slight-high',\n 'dss-badge--correct': this._state === 'correct',\n 'dss-badge--undeterminated': this._state === 'undeterminated',\n 'dss-badge--critic': this._state === 'critic' && !this._outlined,\n 'dss-badge--critic-outlined': this._state === 'critic' && this._outlined,\n 'dss-badge--alert': this._state === 'alert' && !this._outlined,\n 'dss-badge--alert-outlined': this._state === 'alert' && this._outlined,\n 'dss-badge--ideal': this._state === 'ideal' && !this._outlined,\n 'dss-badge--ideal-outlined': this._state === 'ideal' && this._outlined,\n 'dss-badge--info': this._state === 'info' && !this._outlined,\n 'dss-badge--info-outlined': this._state === 'info' && this._outlined,\n 'dss-badge--info-alt': this._state === 'info-alt' && !this._outlined,\n 'dss-badge--info-alt-outlined': this._state === 'info-alt' && this._outlined,\n 'dss-badge--neutral': this._state === 'neutral' && !this._outlined,\n 'dss-badge--neutral-outlined': this._state === 'neutral' && this._outlined,\n 'dss-badge--disabled': this._disabled,\n 'dss-badge--dot': this._dot,\n };\n return html `\n <div class=\"dss-wrapper\">\n <div class=\"dss-badge ${classMap(badgeClassMap)}\">\n ${this._hideIcon\n ? null\n : html `\n <span class=\"dss-icon dss-badge__icon\">${this._icon}</span>\n `}\n <span class=\"dss-badge__text\">${this._text}</span>\n </div>\n <slot name=\"tooltip\"></slot>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: String })\n], Badge.prototype, \"icon\", null);\n__decorate([\n property({ type: String })\n], Badge.prototype, \"size\", null);\n__decorate([\n property({ type: String })\n], Badge.prototype, \"text\", null);\n__decorate([\n property({ type: String })\n], Badge.prototype, \"state\", null);\n__decorate([\n property({ type: Boolean })\n], Badge.prototype, \"disabled\", null);\n__decorate([\n property({ type: Boolean })\n], Badge.prototype, \"outlined\", null);\n__decorate([\n property({ type: Boolean })\n], Badge.prototype, \"dot\", null);\n__decorate([\n property({ type: Boolean })\n], Badge.prototype, \"hideIcon\", null);\nBadge = __decorate([\n customElement('dss-badge')\n], Badge);\nexport { Badge };\n//# sourceMappingURL=badge.js.map","import { css } from 'lit';\n// Scrollbar variations\nexport const chipStyles = css `\n .dss-chip {\n box-sizing: border-box;\n padding: var(--dss-spacing-xxs) var(--dss-spacing-sm);\n font-size: 14px;\n font-weight: var(--font-semibold);\n border-radius: var(--dss-radius-xl);\n border: var(--dss-border-width-sm) solid var(--color-primary-700);\n color: var(--color-primary-700);\n display: flex;\n align-items: center;\n line-height: var(--line-24);\n background-color: var(--color-white);\n transition: 0.3s all ease-in;\n gap: var(--dss-spacing-xxs);\n cursor: default;\n width: fit-content;\n height: 32px;\n overflow: hidden;\n text-wrap: nowrap;\n }\n\n .dss-chip__icon {\n font-size: 16px;\n }\n\n .dss-chip.disabled {\n cursor: not-allowed;\n outline: none;\n border-color: var(--color-neutral-500);\n color: var(--color-neutral-500);\n background-color: var(--color-white);\n }\n\n .dss-chip.disabled .dss-chip__icon-button {\n pointer-events: none;\n color: var(--color-neutral-500);\n }\n\n .dss-chip.dss-chip--sm {\n height: 24px;\n font-size: 12px;\n padding: var(--dss-spacing-xxs) var(--dss-spacing-xs);\n line-height: var(--line-16);\n gap: var(--dss-spacing-xxs);\n }\n\n .dss-chip.dss-chip--sm:has(.dss-chip__icon-button) {\n padding-right: var(--dss-spacing-xxs);\n }\n\n .dss-chip.dss-chip--sm:has(.dss-chip__icon) {\n padding-left: var(--dss-spacing-xxs);\n }\n\n .dss-chip.dss-chip--selected,\n .dss-chip.dss-chip--active {\n box-shadow: none;\n background-color: var(--color-primary-100);\n }\n\n .dss-chip.dss-chip--selected.disabled,\n .dss-chip.dss-chip--active.disabled {\n background-color: var(--color-white);\n }\n\n .dss-chip:not(.disabled):focus-visible {\n outline: var(--dss-border-width-lg) solid var(--color-blue-200);\n transition: none;\n box-shadow: none;\n }\n\n .dss-chip:not(.disabled):hover {\n box-shadow: none;\n background-color: var(--color-primary-50);\n }\n\n .dss-chip:not(.disabled):active {\n background-color: var(--color-primary-50);\n transition: none;\n }\n\n .dss-chip:has(.dss-chip__icon-button) {\n padding-right: var(--dss-spacing-xs);\n }\n\n .dss-chip:has(.dss-chip__icon) {\n padding-left: var(--dss-spacing-sm);\n }\n`;\n//# sourceMappingURL=chip.style.js.map","import { __decorate } from \"tslib\";\n/* eslint-disable lit-a11y/click-events-have-key-events */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { iconButtonStyles } from './shared-styles/icon-button.style';\nimport { chipStyles } from './shared-styles/chip.style';\nlet SearchBar = class SearchBar extends LitElement {\n constructor() {\n super(...arguments);\n this._multiple = false;\n this._icon = 'search';\n this._placeholder = 'Escriu per cercar';\n this._inputSize = 'lg';\n this._invalid = false;\n this._helpText = '';\n this._isFocused = false;\n this._showClearButton = false;\n this._threshold = 3;\n this._searchTerms = [];\n this._catalog = [];\n this._filteredCatalog = [];\n this._showDropdown = false;\n this._isCatalogLoading = false;\n this._emptyDropdownText = 'Sense resultats per';\n this._recentSearches = false;\n this._recentSearchesText = 'Últimes cerques';\n this._dropdownStyle = '';\n this._searchboxStyle = '';\n this._showAllChips = false;\n // Options for the observer (which mutations to observe)\n this.observerConfig = { attributes: true, childList: true, subtree: true };\n // Callback function to execute when mutations are observed\n this.callback = (mutationList) => {\n for (const mutation of mutationList) {\n if (mutation.type === 'attributes') {\n this.requestUpdate();\n }\n }\n };\n // Create an observer instance linked to the callback function\n this.observer = new MutationObserver(this.callback);\n }\n static get styles() {\n return [\n iconButtonStyles,\n chipStyles,\n symbolStyles,\n css `\n :host {\n width: 100%;\n }\n\n .dss-search {\n position: relative;\n }\n\n .dss-search-bar {\n position: relative;\n display: grid;\n grid-template-columns: 30px 1fr;\n min-height: 48px;\n height: auto;\n width: 100%;\n box-sizing: border-box;\n padding: var(--dss-spacing-sm);\n padding-right: calc(\n (var(--dss-spacing-sm) * 2) + var(--icon-size-md)\n );\n background-color: var(--color-white);\n border-radius: var(--dss-radius-sm);\n border: var(--dss-border-width-sm) solid var(--color-neutral-100);\n font-size: 14px;\n font-family: inherit;\n }\n\n .dss-search-bar--md {\n min-height: 40px;\n padding-top: var(--dss-spacing-tiny);\n padding-bottom: var(--dss-spacing-tiny);\n }\n\n .dss-search-bar--focused {\n border-color: var(--color-blue-200);\n outline: var(--dss-border-width-lg) solid var(--color-blue-200);\n }\n\n .dss-search-bar--read-only {\n border-top: 0;\n border-left: 0;\n border-right: 0;\n border-radius: 0;\n }\n\n .dss-search-bar--invalid {\n background-color: var(--color-red-50);\n border-color: var(--color-red-500);\n }\n\n .dss-search-bar--disabled {\n cursor: not-allowed;\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-500);\n }\n\n .dss-search-bar__icon {\n color: var(--color-neutral-700);\n box-sizing: border-box;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n }\n\n .dss-search-bar--default .dss-search-bar__container {\n display: block;\n }\n\n .dss-search-bar--md.dss-search-bar--default\n .dss-search-bar__container\n ::slotted(input) {\n min-height: 40px;\n }\n\n .dss-search-bar--multiple .dss-search-bar__container {\n display: grid;\n grid-template-columns: auto minmax(min-content, 1fr);\n gap: var(--dss-spacing-xs);\n }\n\n .dss-search-bar--multiple .dss-search-bar__chips {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--dss-spacing-xs);\n }\n\n .dss-search-bar__chips .dss-chip {\n display: inline-flex;\n }\n\n .dss-search-bar__input {\n min-width: 200px;\n }\n\n ::slotted(label) {\n display: none;\n visibility: hidden;\n width: 0;\n }\n\n ::slotted(input) {\n height: 100%;\n width: 100%;\n margin: 0;\n border: 0;\n border-radius: 0;\n color: var(--color-neutral-900);\n box-sizing: border-box;\n background-color: transparent;\n }\n\n ::slotted(input:focus-visible) {\n outline: 0;\n }\n\n .dss-search-bar__clear {\n display: none;\n position: absolute;\n top: 0;\n right: var(--dss-spacing-sm);\n height: 100%;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n }\n\n .dss-search-bar--has-value:not(.dss-search-bar--disabled):not(\n .dss-search-bar--read-only\n )\n .dss-search-bar__clear {\n display: flex;\n }\n\n .dss-search-help {\n display: flex;\n justify-content: space-between;\n font-family: var(--font-family);\n font-size: 12px;\n color: var(--color-neutral-700);\n padding: var(--dss-spacing-xxs) var(--dss-spacing-sm);\n }\n\n .dss-search-bar--invalid + .dss-search-help {\n color: var(--color-red-500);\n }\n\n .dss-search-dropdown {\n margin-top: 8px;\n position: absolute;\n top: 52px;\n left: 0;\n background-color: var(--color-white);\n width: 100%;\n border-radius: var(--dss-radius-sm);\n box-shadow: 0 4px 8px 3px rgba(0 0 0 / 5%),\n 0 1px 3px rgba(0 0 0 / 10%);\n z-index: 800;\n overflow: hidden;\n }\n\n .dss-search-catalog--empty {\n height: 150px;\n display: flex;\n justify-content: center;\n align-items: center;\n gap: var(--dss-spacing-xs);\n color: var(--color-blue-800);\n }\n\n .dss-search-catalog--empty .text {\n font-size: 14px;\n }\n\n .dss-catalog-item {\n box-sizing: border-box;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n padding: var(--dss-spacing-sm) var(--dss-spacing-md);\n gap: var(--dss-spacing-xs);\n cursor: pointer;\n }\n\n .dss-catalog-item:hover {\n background-color: var(--color-neutral-50);\n }\n\n .dss-catalog-item--selected {\n background-color: var(--color-primary-50);\n }\n\n .dss-catalog-item:focus-visible {\n border: var(--dss-border-width-lg) solid var(--color-blue-200);\n outline: 0;\n }\n\n .dss-search-title {\n padding: var(--dss-spacing-sm) var(--dss-spacing-md) 0;\n font-weight: var(--font-semibold);\n font-size: 14px;\n color: var(--color-black);\n }\n\n .dss-catalog-item__icon {\n color: var(--color-neutral-900);\n }\n\n .dss-catalog-item__text {\n color: var(--color-neutral-900);\n font-size: 16px;\n }\n\n .dss-search-bar:not(.dss-search-bar--show-chips)\n .dss-search-bar__chips\n .dss-chip.dss-chip--hide {\n display: none;\n }\n\n .dss-search-bar__chips .dss-chip__counter {\n cursor: pointer;\n position: relative;\n box-sizing: border-box;\n font-weight: var(--font-semibold);\n border-radius: var(--dss-radius-xl);\n border: var(--dss-border-width-sm) solid var(--color-primary-700);\n box-shadow: none;\n background-color: var(--color-primary-100);\n transition: 0.3s all ease-in;\n height: 24px;\n font-size: 12px;\n padding: var(--dss-spacing-xxs) var(--dss-spacing-xs);\n line-height: var(--line-16);\n }\n\n .dss-search-bar__chips .dss-chip__counter:hover {\n background-color: var(--color-primary-50);\n }\n\n .dss-chip__tooltip {\n display: none;\n }\n\n .dss-chip__tooltip-item {\n margin-right: var(--dss-spacing-xxs);\n }\n\n .dss-chip__tooltip-item:not(:last-child)::after {\n content: ',';\n }\n\n .dss-search-bar__chips .dss-chip__counter:hover .dss-chip__tooltip {\n display: block;\n }\n `,\n ];\n }\n get _input() {\n var _a;\n const input = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name=\"input\"]')) || undefined;\n this.requestUpdate();\n return input === null || input === void 0 ? void 0 : input.assignedElements()[0];\n }\n set multiple(value) {\n const oldValue = this._multiple;\n this._multiple = value;\n this.requestUpdate('multiple', oldValue);\n }\n set icon(icon) {\n const oldValue = this._icon;\n this._icon = icon;\n this.requestUpdate('icon', oldValue);\n }\n set inputSize(size) {\n const oldValue = this._inputSize;\n if (size === 'md') {\n this._inputSize = size;\n }\n else {\n this._inputSize = 'lg';\n }\n this.requestUpdate('inputSize', oldValue);\n }\n set helpText(text) {\n const oldValue = this._helpText;\n this._helpText = text;\n this.requestUpdate('helpText', oldValue);\n }\n set invalid(status) {\n const oldValue = this._invalid;\n if (status) {\n this._invalid = status;\n }\n else {\n this._invalid = this._inputValidity ? status : true;\n }\n this.requestUpdate('invalid', oldValue);\n }\n set threshold(value) {\n const oldValue = this._threshold;\n this._threshold = value;\n this.requestUpdate('threshold', oldValue);\n }\n set searchTerms(data) {\n const oldValue = this._searchTerms;\n this._searchTerms = data;\n this.requestUpdate('searchTerms', oldValue);\n }\n set catalog(data) {\n const oldValue = this._catalog;\n this._catalog = data;\n this.requestUpdate('catalog', oldValue);\n }\n set emptyDropdownText(text) {\n const oldValue = this._emptyDropdownText;\n this._emptyDropdownText = text;\n this.requestUpdate('emptyDropdownText', oldValue);\n }\n set recentSearchesText(text) {\n const oldValue = this._recentSearchesText;\n this._recentSearchesText = text;\n this.requestUpdate('recentSearchesText', oldValue);\n }\n set recentSearches(value) {\n const oldValue = this._recentSearches;\n this._recentSearches = value;\n this.requestUpdate('recentSearches', oldValue);\n }\n set isCatalogLoading(value) {\n const oldValue = this._isCatalogLoading;\n this._isCatalogLoading = value;\n this.requestUpdate('isCatalogLoading', oldValue);\n }\n set dropdownStyle(style) {\n const oldValue = this._dropdownStyle;\n this._dropdownStyle = style;\n this.requestUpdate('dropdownStyle', oldValue);\n }\n _getSearchStyle() {\n const searchBarItems = this.renderRoot.querySelectorAll('.dss-search-bar');\n const searchBarBox = searchBarItems[0];\n return `top: ${searchBarBox.offsetHeight + 4}px; ${this._dropdownStyle}`;\n }\n get _inputValidity() {\n var _a;\n if (this._input && this._input.value !== '') {\n return (_a = this._input) === null || _a === void 0 ? void 0 : _a.checkValidity();\n // eslint-disable-next-line no-else-return\n }\n else {\n return true;\n }\n }\n _handleClick() {\n this.requestUpdate();\n }\n _handleInput() {\n let currentSearch = this._input.value;\n const searchLength = currentSearch.length;\n if (searchLength >= this._threshold) {\n this._showDropdown = true;\n this._filteredCatalog = this._getFilterCatalog(currentSearch);\n if (this._multiple) {\n if (currentSearch.endsWith(',')) {\n currentSearch = currentSearch.slice(0, -1);\n this._searchTerms.push(currentSearch);\n this._input.value = '';\n if (this._searchTerms.length) {\n this._dispatchSearchChange();\n }\n }\n }\n this._searchboxStyle = this._getSearchStyle();\n this.requestUpdate();\n }\n else {\n this._hideDropdown();\n }\n this.requestUpdate();\n }\n _handleFocusIn() {\n this._isFocused = true;\n this._showClearButton = true;\n this.requestUpdate();\n }\n _handleFocusOut() {\n this._isFocused = false;\n this._showClearButton = false;\n this.requestUpdate();\n }\n _handleKeyDown(e) {\n if ((e === null || e === void 0 ? void 0 : e.key) === 'Enter') {\n this._showDropdown = true;\n if (!this._multiple && this._input.value !== '') {\n this._searchTerms = [];\n this._searchTerms.push(this._input.value);\n this._dispatchSearchChange();\n this._showDropdown = false;\n }\n this._searchboxStyle = this._getSearchStyle();\n }\n else if ((e === null || e === void 0 ? void 0 : e.key) === 'Escape') {\n this._showDropdown = false;\n }\n this.requestUpdate();\n }\n _focusInput() {\n var _a;\n (_a = this._input) === null || _a === void 0 ? void 0 : _a.focus();\n }\n _clearSearch() {\n if (this._input) {\n this._input.value = '';\n this._input.focus();\n }\n this._searchTerms = [];\n this._dispatchSearchChange();\n this._hideDropdown();\n this.requestUpdate();\n }\n _hideDropdown() {\n this._showDropdown = false;\n this._filteredCatalog = [];\n }\n _getFilterCatalog(filter) {\n return this._catalog.filter(item => item.value.toLowerCase().includes(filter.toLowerCase()));\n }\n _generateSearchChips() {\n let chipsCounter = 0;\n const output = this._searchTerms.map(term => {\n var _a, _b, _c, _d, _e;\n const onClickOption = (e) => {\n const termClicked = e.target.getAttribute('term');\n this._searchTerms = this._searchTerms.filter(item => item !== termClicked);\n this._dispatchSearchChange();\n this.requestUpdate();\n };\n chipsCounter += 1;\n const chipClass = {\n disabled: ((_a = this._input) === null || _a === void 0 ? void 0 : _a.disabled) || ((_b = this._input) === null || _b === void 0 ? void 0 : _b.readOnly),\n 'dss-chip--selected': !((_c = this._input) === null || _c === void 0 ? void 0 : _c.disabled) && !((_d = this._input) === null || _d === void 0 ? void 0 : _d.readOnly),\n 'dss-chip--hide': chipsCounter > 5,\n };\n const chip = html `\n <span tabindex=\"0\" class=\"dss-chip dss-chip--sm ${classMap(chipClass)}\">\n ${term}\n <button\n class=\"dss-chip__icon-button dss-icon-button dss-icon-button--primary dss-icon-button--sm\"\n ?disabled=${(_e = this._input) === null || _e === void 0 ? void 0 : _e.disabled}\n @click=\"${onClickOption}\"\n >\n <span class=\"dss-icon\" term=\"${term}\">cancel</span>\n </button>\n </span>\n `;\n return chip;\n });\n return output;\n }\n _generateFilterCatalog() {\n let isFirstItem = true;\n const output = this._filteredCatalog.map(item => {\n const onClickOption = (e) => {\n const clicked = e.target.getAttribute('value');\n if (clicked) {\n if (this._multiple) {\n const found = this._searchTerms.includes(clicked);\n if (!found) {\n this._searchTerms.push(clicked);\n }\n else {\n this._searchTerms = this._searchTerms.filter(term => term !== clicked);\n }\n }\n else {\n this._input.value = clicked;\n this._showDropdown = false;\n this._searchTerms = [];\n this._searchTerms.push(clicked);\n }\n this.requestUpdate();\n this._dispatchSearchChange();\n }\n };\n const moveFocusToOption = (currentItem) => {\n if (currentItem) {\n currentItem.focus();\n }\n };\n const moveFocusToPreviousOption = (currentItem) => {\n let index = 0;\n const availableItems = this.renderRoot.querySelectorAll('.dss-catalog-item');\n const lastIndex = availableItems.length - 1;\n if (currentItem === availableItems[0]) {\n moveFocusToOption(availableItems[lastIndex]);\n }\n else {\n availableItems.forEach((availableItem, i) => {\n if (availableItem === currentItem) {\n index = i;\n }\n });\n moveFocusToOption(availableItems[index - 1]);\n }\n };\n const moveFocusToNextOption = (currentItem) => {\n let index = 0;\n const availableItems = this.renderRoot.querySelectorAll('.dss-catalog-item');\n const lastIndex = availableItems.length - 1;\n if (currentItem === availableItems[lastIndex]) {\n moveFocusToOption(availableItems[0]);\n }\n else {\n availableItems.forEach((availableItem, i) => {\n if (availableItem === currentItem) {\n index = i;\n }\n });\n moveFocusToOption(availableItems[index + 1]);\n }\n };\n const onKeyDown = (e) => {\n const tgt = e.currentTarget;\n const keyboardEvent = e;\n let flag = false;\n switch (keyboardEvent.key) {\n case 'ArrowUp':\n moveFocusToPreviousOption(tgt);\n flag = true;\n break;\n case 'ArrowDown':\n moveFocusToNextOption(tgt);\n flag = true;\n break;\n /* eslint no-case-declarations: \"off\" */\n case 'Enter':\n const itemElement = e.target;\n const tabIndexItem = this.renderRoot.querySelector('.dss-catalog-item[tabindex=\"0\"]');\n tabIndexItem === null || tabIndexItem === void 0 ? void 0 : tabIndexItem.setAttribute('tabindex', '-1');\n e.target.setAttribute('tabindex', '0');\n itemElement.click();\n flag = true;\n break;\n default:\n break;\n }\n if (flag) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n const itemClass = {\n 'dss-catalog-item--selected': this._searchTerms.includes(item.value),\n // 'disabled': this._input?.disabled,\n // 'dss-chip--selected': !this._input?.disabled,\n };\n const itemHtml = html `\n <div\n class=\"dss-catalog-item ${classMap(itemClass)}\"\n value=\"${item.value}\"\n tabindex=\"${isFirstItem ? 0 : -1}\"\n @click=\"${onClickOption}\"\n @keydown=${onKeyDown}\n >\n ${item.icon\n ? html `\n <span\n class=\"dss-icon dss-icon--md dss-catalog-item__icon\"\n value=\"${item.value}\"\n >${item.icon}</span\n >\n `\n : null}\n <span class=\"dss-catalog-item__text\" value=\"${item.value}\"\n >${item.value}</span\n >\n </div>\n `;\n isFirstItem = false;\n return itemHtml;\n });\n return output;\n }\n _dispatchSearchChange() {\n const options = {\n detail: this._searchTerms,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onSearchChange', options));\n }\n _closeDropdown() {\n // Click outside component\n document.addEventListener('click', event => {\n if (event.target !== this && event.target !== this._input) {\n this._showDropdown = false;\n this.requestUpdate();\n }\n });\n // Focus out component\n document.addEventListener('focusout', event => {\n // eslint-disable-next-line prefer-destructuring\n const relatedTarget = event.relatedTarget;\n if (relatedTarget !== null &&\n relatedTarget !== this &&\n relatedTarget !== this._input) {\n this._showDropdown = false;\n this.requestUpdate();\n }\n });\n }\n disconnectedCallback() {\n this.observer.disconnect();\n }\n async firstUpdated() {\n var _a, _b;\n try {\n await this.updateComplete;\n if (this._input) {\n // Start observing the target node for configured mutations\n this.observer.observe(this._input, this.observerConfig);\n const inputPlaceholder = (_a = this._input) === null || _a === void 0 ? void 0 : _a.getAttribute('placeholder');\n if (!inputPlaceholder)\n (_b = this._input) === null || _b === void 0 ? void 0 : _b.setAttribute('placeholder', this._placeholder);\n this._closeDropdown();\n this._searchboxStyle = this._getSearchStyle();\n this.requestUpdate();\n }\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n render() {\n var _a, _b, _c, _d;\n const searchBarClass = {\n 'dss-search-bar--invalid': this._invalid || !this._inputValidity,\n 'dss-search-bar--disabled': (_a = this._input) === null || _a === void 0 ? void 0 : _a.disabled,\n 'dss-search-bar--required': (_b = this._input) === null || _b === void 0 ? void 0 : _b.required,\n 'dss-search-bar--read-only': (_c = this._input) === null || _c === void 0 ? void 0 : _c.readOnly,\n 'dss-search-bar--focused': this._isFocused,\n 'dss-search-bar--default': !this._multiple,\n 'dss-search-bar--multiple': this._multiple,\n 'dss-search-bar--show-chips': this._showAllChips,\n 'dss-search-bar--md': this._inputSize === 'md',\n 'dss-search-bar--has-value': this._showClearButton ||\n ((_d = this._input) === null || _d === void 0 ? void 0 : _d.value) ||\n this._searchTerms.length > 0,\n };\n const helpClass = {\n // 'dss-input-help--invalid': this._invalid,\n // 'dss-input-help--disabled': this._disabled,\n };\n const dropdownClass = {\n // 'dss-timepicker-dropdown--open': this._showDropdown,\n // 'dss-timepicker-dropdown--lg': this._inputSize === 'lg',\n // 'dss-timepicker-dropdown--md': this._inputSize === 'md',\n };\n return html `\n <div class=\"dss-search\">\n <div\n class=\"dss-search-bar ${classMap(searchBarClass)}\"\n role=\"combobox\"\n aria-controls=\"search-catalog\"\n aria-expanded=${ifDefined(this._showDropdown)}\n >\n <div class=\"dss-search-bar__icon\">\n <span class=\"dss-icon dss-icon--md \" @click=${this._focusInput}>\n ${this._icon}\n </span>\n </div>\n\n <div class=\"dss-search-bar__container\">\n ${this._multiple\n ? html `\n <div class=\"dss-search-bar__chips\">\n ${html `${this._generateSearchChips()}`}\n ${!this._showAllChips && this._searchTerms.length > 5\n ? html `\n <div class=\"dss-chip__counter\">\n +${this._searchTerms.length - 5}\n <dss-tooltip\n class=\"dss-chip__tooltip\"\n position=\"bottom\"\n align=\"left\"\n noHeightLimit\n >\n ${this._searchTerms\n .slice(5, this._searchTerms.length)\n .map(term => html `<span class=\"dss-chip__tooltip-item\">\n ${term}\n </span>`)}\n </dss-tooltip>\n </div>\n `\n : null}\n </div>\n `\n : null}\n\n <div class=\"dss-search-bar__input\">\n <slot name=\"label\" @click=${this._focusInput}></slot>\n <slot\n name=\"input\"\n @click=${this._handleClick}\n @input=${this._handleInput}\n @keydown=${this._handleKeyDown}\n @focusin=${this._handleFocusIn}\n @focusout=${this._handleFocusOut}\n ></slot>\n </div>\n </div>\n\n <div class=\"dss-search-bar__clear\">\n <button\n class=\"dss-icon-button dss-icon-button--primary dss-icon-button--md\"\n @click=\"${this._clearSearch}\"\n >\n <span class=\"dss-icon\">cancel</span>\n </button>\n </div>\n </div>\n\n ${this._helpText\n ? html `\n <div class=\"dss-search-help ${classMap(helpClass)}\">\n <span>${this._helpText}</span>\n </div>\n `\n : null}\n ${this._showDropdown &&\n this._catalog &&\n this._input.value.length >= this._threshold\n ? html `\n <div\n id=\"search-catalog\"\n class=\"dss-search-dropdown ${classMap(dropdownClass)}\"\n style=${ifDefined(this._searchboxStyle)}\n role=\"listbox\"\n aria-label=\"Search Catalog\"\n >\n ${this._isCatalogLoading\n ? html `\n <div class=\"dss-search-catalog--empty\">\n <dss-spinner size=\"md\"></dss-spinner>\n </div>\n `\n : html `\n ${this._filteredCatalog.length > 0\n ? html `\n ${this._recentSearches\n ? html `\n <div class=\"dss-search-title\">\n ${this._recentSearchesText}\n </div>\n `\n : null}\n <div class=\"dss-search-catalog\">\n ${html `${this._generateFilterCatalog()}`}\n </div>\n `\n : html `\n <div\n class=\"dss-search-catalog dss-search-catalog--empty\"\n >\n <span class=\"dss-icon dss-icon--sm\">info</span>\n <span class=\"text\">\n ${this._emptyDropdownText}: ${this._input.value}\n </span>\n </div>\n `}\n `}\n </div>\n `\n : null}\n </div>\n `;\n }\n};\n__decorate([\n property({ type: Boolean })\n], SearchBar.prototype, \"multiple\", null);\n__decorate([\n property({ type: String })\n], SearchBar.prototype, \"icon\", null);\n__decorate([\n property({ type: String })\n], SearchBar.prototype, \"inputSize\", null);\n__decorate([\n property({ type: String })\n], SearchBar.prototype, \"helpText\", null);\n__decorate([\n property({ type: Boolean })\n], SearchBar.prototype, \"invalid\", null);\n__decorate([\n property({ type: Number })\n], SearchBar.prototype, \"threshold\", null);\n__decorate([\n property({ type: (Array) })\n], SearchBar.prototype, \"searchTerms\", null);\n__decorate([\n property({ type: (Array) })\n], SearchBar.prototype, \"catalog\", null);\n__decorate([\n property({ type: String })\n], SearchBar.prototype, \"emptyDropdownText\", null);\n__decorate([\n property({ type: String })\n], SearchBar.prototype, \"recentSearchesText\", null);\n__decorate([\n property({ type: Boolean })\n], SearchBar.prototype, \"recentSearches\", null);\n__decorate([\n property({ type: Boolean })\n], SearchBar.prototype, \"isCatalogLoading\", null);\n__decorate([\n property({ type: String })\n], SearchBar.prototype, \"dropdownStyle\", null);\nSearchBar = __decorate([\n customElement('dss-search-bar')\n], SearchBar);\nexport { SearchBar };\n//# sourceMappingURL=search-bar.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { buttonStyles } from './shared-styles/button.style';\nlet SplitButton = class SplitButton extends LitElement {\n constructor() {\n super(...arguments);\n this._iconClose = 'expand_more';\n this._iconOpen = 'expand_less';\n this._type = 'primary';\n this._text = '';\n this._disabled = false;\n this._isOpen = false;\n }\n static get styles() {\n return [\n symbolStyles,\n buttonStyles,\n css `\n .dss-split-button {\n display: flex;\n justify-content: center;\n align-items;\n width: fit-content;\n }\n\n .dss-split-button .dss-split-button-main:focus-visible,\n .dss-split-button .dss-split-button-icon:focus-visible {\n z-index: 900;\n }\n\n .dss-split-button-main {\n height: 40px;\n padding-top: var(--dss-spacing-xs);\n padding-right: var(--dss-spacing-sm);\n padding-bottom: var(--dss-spacing-xs);\n padding-left: var(--dss-spacing-lg);\n box-sizing: border-box;\n border-radius: 0;\n border-top-left-radius: var(--dss-radius-xl);\n border-bottom-left-radius: var(--dss-radius-xl);\n }\n\n .dss-split-button--primary .dss-split-button-main {\n border-right: var(--dss-border-width-sm) solid var(--color-white);\n }\n\n .dss-split-button--primary .dss-split-button-main:focus-visible {\n border-right: transparent;\n }\n\n .dss-split-button--primary.dss-split-button--disabled .dss-split-button-main {\n border-right: var(--dss-border-width-sm) solid var(--color-neutral-500);\n }\n\n .dss-split-button-icon {\n height: 40px;\n padding-top: var(--dss-spacing-xs);\n padding-right: var(--dss-spacing-md);\n padding-bottom: var(--dss-spacing-xs);\n padding-left: var(--dss-spacing-xs);\n box-sizing: border-box;\n border-radius: 0;\n border-top-right-radius: var(--dss-radius-xl);\n border-bottom-right-radius: var(--dss-radius-xl);\n border-left: 0;\n }\n\n .dss-split-button-icon:hover:enabled {\n border-left: 0;\n }\n\n .dss-split-button--open.dss-split-button--primary .dss-split-button-icon:not(:disabled) {\n background-color: var(--color-primary-700);\n }\n\n .dss-split-button--open.dss-split-button--secondary .dss-split-button-icon:not(:disabled) {\n background-color: var(--color-primary-100);\n }\n \n `,\n ];\n }\n set iconClose(icon) {\n const oldValue = this._iconClose;\n this._iconClose = icon;\n this.requestUpdate('iconClose', oldValue);\n }\n set iconOpen(icon) {\n const oldValue = this._iconOpen;\n this._iconOpen = icon;\n this.requestUpdate('iconOpen', oldValue);\n }\n set type(value) {\n const oldValue = this._type;\n this._type = value;\n this.requestUpdate('type', oldValue);\n }\n set text(value) {\n const oldValue = this._text;\n this._text = value;\n this.requestUpdate('text', oldValue);\n }\n set disabled(value) {\n const oldValue = this._disabled;\n this._disabled = value;\n this.requestUpdate('disabled', oldValue);\n }\n set isOpen(value) {\n const oldValue = this._isOpen;\n this._isOpen = value;\n this.requestUpdate('disabled', oldValue);\n }\n _dispatchMainClick() {\n const options = {\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onSplitButtonMainClick', options));\n }\n _dispatchIconClick() {\n const options = {\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onSplitButtonIconClick', options));\n }\n render() {\n const splitButtonClassMap = {\n 'dss-split-button--primary': this._type === 'primary',\n 'dss-split-button--secondary': this._type === 'secondary',\n 'dss-split-button--open': this._isOpen,\n 'dss-split-button--disabled': this._disabled,\n };\n const innerButtonClassMap = {\n 'dss-button--primary': this._type === 'primary',\n 'dss-button--secondary': this._type === 'secondary',\n };\n return html `\n <div class=\"dss-split-button ${classMap(splitButtonClassMap)}\">\n <button\n class=\"dss-button ${classMap(innerButtonClassMap)} dss-split-button-main\"\n ?disabled=${this._disabled}\n @click=\"${this._dispatchMainClick}\"\n >\n ${this._text}\n </button>\n <button\n class=\"dss-button ${classMap(innerButtonClassMap)} dss-button--only-icon dss-split-button-icon\"\n ?disabled=${this._disabled}\n @click=\"${this._dispatchIconClick}\"\n >\n <span class=\"dss-icon dss-icon--md\">\n ${this._isOpen\n ? html ` ${this._iconOpen} `\n : html ` ${this._iconClose} `}\n </span>\n </button>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: String })\n], SplitButton.prototype, \"iconClose\", null);\n__decorate([\n property({ type: String })\n], SplitButton.prototype, \"iconOpen\", null);\n__decorate([\n property({ type: String })\n], SplitButton.prototype, \"type\", null);\n__decorate([\n property({ type: String })\n], SplitButton.prototype, \"text\", null);\n__decorate([\n property({ type: Boolean })\n], SplitButton.prototype, \"disabled\", null);\n__decorate([\n property({ type: Boolean })\n], SplitButton.prototype, \"isOpen\", null);\nSplitButton = __decorate([\n customElement('dss-split-button')\n], SplitButton);\nexport { SplitButton };\n//# sourceMappingURL=split-button.js.map","import { __decorate } from \"tslib\";\n/* eslint-disable lit-a11y/click-events-have-key-events */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { iconButtonStyles } from './shared-styles/icon-button.style';\nimport { badgeStyles } from './shared-styles/badge.style';\nlet Accordion = class Accordion extends LitElement {\n constructor() {\n super(...arguments);\n this._icon = '';\n this._type = '';\n this._title = '';\n this._index = undefined;\n this._isOpen = false;\n this._resultats = undefined;\n this._resultatsText = 'Resultats';\n this._accordionStyle = 'box';\n this._hasCheckbox = false;\n this._hasSecondaryAction = false;\n this._secondaryActionIcon = 'add_box';\n }\n static get styles() {\n return [\n symbolStyles,\n iconButtonStyles,\n badgeStyles,\n css `\n :host {\n width: 100%;\n height: fit-content;\n }\n\n .dss-accordion {\n width: 100%;\n }\n\n .dss-accordion--box {\n border: var(--dss-border-width-sm) solid var(--color-neutral-100);\n border-radius: var(--dss-radius-sm);\n background-color: var(--color-white);\n }\n\n .dss-accordion--inner {\n border-bottom: var(--dss-border-width-sm) solid\n var(--color-neutral-100);\n }\n\n .dss-accordion-header {\n display: grid;\n grid-template-columns: 1fr var(--dss-spacing-lg);\n padding: var(--dss-spacing-sm);\n gap: var(--dss-spacing-tiny);\n }\n\n .dss-accordion-header__info {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .dss-accordion-header__action {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n }\n\n .dss-accordion-title {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: var(--dss-spacing-xs);\n }\n\n .dss-accordion-title__icon {\n box-sizing: border-box;\n width: 24px;\n heigth: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--color-primary-50);\n border-radius: var(--dss-radius-xs);\n padding: var(--dss-spacing-xxs);\n }\n\n .dss-accordion-title__checkbox {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: var(--dss-spacing-xs);\n font-size: 14px;\n }\n\n .dss-accordion-title__text {\n color: var(--color-neutral-700);\n font-size: 14px;\n font-weight: var(--font-semibold);\n }\n\n .dss-accordion-resultats {\n margin-right: var(--dss-spacing-sm);\n font-weight: var(--font-semibold);\n }\n\n .dss-accordion-header__secondary-action {\n margin-right: var(--dss-spacing-sm);\n padding-right: var(--dss-spacing-xs);\n border-right: var(--dss-border-width-sm) solid\n var(--color-neutral-400);\n }\n\n .dss-accordion-panel {\n display: none;\n padding: 0 var(--dss-spacing-sm) var(--dss-spacing-sm);\n color: var(--color-neutral-900);\n font-size: 14px;\n }\n\n .dss-accordion--open .dss-accordion-panel {\n display: block;\n }\n `,\n ];\n }\n get _checkbox() {\n var _a;\n const checkbox = ((_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot[name=\"checkbox\"]')) || undefined;\n this.requestUpdate();\n return checkbox === null || checkbox === void 0 ? void 0 : checkbox.assignedElements()[0];\n }\n set icon(icon) {\n const oldValue = this._icon;\n this._icon = icon;\n this.requestUpdate('icon', oldValue);\n }\n set titleText(text) {\n const oldValue = this._title;\n this._title = text;\n this.requestUpdate('title', oldValue);\n }\n set type(value) {\n const oldValue = this._type;\n this._type = value;\n this.requestUpdate('type', oldValue);\n }\n set index(value) {\n const oldValue = this._index;\n this._index = value;\n this.requestUpdate('index', oldValue);\n }\n set isOpen(value) {\n const oldValue = this._isOpen;\n this._isOpen = value;\n this.requestUpdate('disabled', oldValue);\n }\n set accordionStyle(value) {\n const oldValue = this._accordionStyle;\n if (value === 'inner') {\n this._accordionStyle = value;\n }\n else {\n this._accordionStyle = 'box';\n }\n this.requestUpdate('accordionStyle', oldValue);\n }\n set resultats(value) {\n const oldValue = this._resultats;\n this._resultats = value;\n this.requestUpdate('resultats', oldValue);\n }\n set resultatsText(value) {\n const oldValue = this._resultatsText;\n this._resultatsText = value;\n this.requestUpdate('resultatsText', oldValue);\n }\n set hasCheckbox(value) {\n const oldValue = this._hasCheckbox;\n this._hasCheckbox = value;\n this.requestUpdate('hasCheckbox', oldValue);\n }\n set hasSecondaryAction(value) {\n const oldValue = this._hasSecondaryAction;\n this._hasSecondaryAction = value;\n this.requestUpdate('hasSecondaryAction', oldValue);\n }\n set secondaryActionIcon(value) {\n const oldValue = this._secondaryActionIcon;\n this._secondaryActionIcon = value;\n this.requestUpdate('secondaryActionIcon', oldValue);\n }\n _toggleAccordion() {\n this._isOpen = !this._isOpen;\n this.requestUpdate();\n }\n _dispatchCheckboxChange() {\n const options = {\n detail: this._checkbox.checked,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onAccordionCheckboxChange', options));\n }\n _dispatchSecondaryAction() {\n const options = {\n detail: true,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onAccordionSecondaryAction', options));\n }\n render() {\n const accordionClassMap = {\n 'dss-accordion--open': this._isOpen,\n 'dss-accordion--box': this._accordionStyle === 'box',\n 'dss-accordion--inner': this._accordionStyle === 'inner',\n };\n return html `\n <div class=\"dss-accordion ${classMap(accordionClassMap)}\">\n <div class=\"dss-accordion-header\">\n <div class=\"dss-accordion-header__info\">\n <div class=\"dss-accordion-title\">\n ${this._icon\n ? html `\n <div class=\"dss-accordion-title__icon\">\n <span class=\"dss-icon dss-icon--sm\"> ${this._icon} </span>\n </div>\n `\n : null}\n ${this._hasCheckbox\n ? html `\n <div class=\"dss-accordion-title__checkbox dss-form-field\">\n <slot\n name=\"checkbox\"\n @click=${this._dispatchCheckboxChange}\n ></slot>\n <slot name=\"checkboxLabel\"></slot>\n </div>\n `\n : html `\n <div\n class=\"dss-accordion-title__text\"\n aria-expanded=\"${this._isOpen}\"\n @click=\"${this._toggleAccordion}\"\n >\n ${this._title\n ? html ` ${this._title} `\n : html ` ${this._type} ${this._index} `}\n </div>\n `}\n </div>\n ${this._resultats && !this._hasSecondaryAction\n ? html `\n <div class=\"dss-accordion-resultats\">\n <dss-badge\n size=\"md\"\n state=\"neutral\"\n outlined\n hideIcon\n text=\"${this._resultats} ${this._resultatsText}\"\n ></dss-badge>\n </div>\n `\n : null}\n ${this._hasSecondaryAction\n ? html `\n <div class=\"dss-accordion-header__secondary-action\">\n <button\n type=\"button\"\n class=\"dss-icon-button dss-icon-button--primary dss-icon-button--md\"\n @click=${this._dispatchSecondaryAction}\n >\n <span class=\"dss-icon\"\n >${this._secondaryActionIcon}\n </span>\n </button>\n </div>\n `\n : null}\n </div>\n\n <div class=\"dss-accordion-header__action\">\n <button\n type=\"button\"\n class=\"dss-icon-button dss-icon-button--primary dss-icon-button--md\"\n aria-label=\"${this._title} accordion\"\n aria-expanded=\"${this._isOpen}\"\n @click=\"${this._toggleAccordion}\"\n >\n <span class=\"dss-icon\"\n >${this._isOpen ? 'expand_less' : 'expand_more'}</span\n >\n </button>\n </div>\n </div>\n\n <div class=\"dss-accordion-panel\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: String })\n], Accordion.prototype, \"icon\", null);\n__decorate([\n property({ type: String })\n], Accordion.prototype, \"titleText\", null);\n__decorate([\n property({ type: String })\n], Accordion.prototype, \"type\", null);\n__decorate([\n property({ type: Number })\n], Accordion.prototype, \"index\", null);\n__decorate([\n property({ type: Boolean })\n], Accordion.prototype, \"isOpen\", null);\n__decorate([\n property({ type: String })\n], Accordion.prototype, \"accordionStyle\", null);\n__decorate([\n property({ type: Number })\n], Accordion.prototype, \"resultats\", null);\n__decorate([\n property({ type: String })\n], Accordion.prototype, \"resultatsText\", null);\n__decorate([\n property({ type: Boolean })\n], Accordion.prototype, \"hasCheckbox\", null);\n__decorate([\n property({ type: Boolean })\n], Accordion.prototype, \"hasSecondaryAction\", null);\n__decorate([\n property({ type: String })\n], Accordion.prototype, \"secondaryActionIcon\", null);\nAccordion = __decorate([\n customElement('dss-accordion')\n], Accordion);\nexport { Accordion };\n//# sourceMappingURL=accordion.js.map","// Utils: Keyboard Navigation\nexport function moveFocusToTarget(target) {\n if (target) {\n target.focus();\n }\n}\nexport function moveFocusToPreviousTarget(root, currentTarget, selector) {\n let index = 0;\n const availableTargets = root.querySelectorAll(selector);\n const lastIndex = availableTargets.length - 1;\n if (currentTarget === availableTargets[0]) {\n moveFocusToTarget(availableTargets[lastIndex]);\n }\n else {\n availableTargets.forEach((target, i) => {\n if (target === currentTarget) {\n index = i;\n }\n });\n moveFocusToTarget(availableTargets[index - 1]);\n }\n}\nexport function moveFocusToNextTarget(root, currentTarget, selector) {\n let index = 0;\n const availableTargets = root.querySelectorAll(selector);\n const lastIndex = availableTargets.length - 1;\n if (currentTarget === availableTargets[lastIndex]) {\n moveFocusToTarget(availableTargets[0]);\n }\n else {\n availableTargets.forEach((target, i) => {\n if (target === currentTarget) {\n index = i;\n }\n });\n moveFocusToTarget(availableTargets[index + 1]);\n }\n}\nexport function onKeyboardEnter(root, target, selector) {\n // Change tabIndex from current to clicked\n const currentTabIndex = root.querySelector(`${selector}[tabindex=\"0\"]`);\n currentTabIndex === null || currentTabIndex === void 0 ? void 0 : currentTabIndex.setAttribute('tabindex', '-1');\n target.setAttribute('tabindex', '0');\n target.click();\n}\n//# sourceMappingURL=keyboard-navigation.js.map","import { css } from 'lit';\n// Checkbox variations\nexport const checkboxStyles = css `\n .dss-checkbox {\n border-radius: 2px;\n width: 20px !important;\n height: 20px !important;\n overflow: hidden;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border: var(--dss-border-width-sm) solid var(--color-primary-500);\n position: relative;\n cursor: pointer;\n transition: 0.3s all linear;\n flex-shrink: 0;\n margin: var(--dss-spacing-tiny);\n }\n\n .dss-checkbox:focus-visible:enabled {\n outline: var(--dss-border-width-lg) solid var(--color-blue-200);\n }\n\n .dss-checkbox.dss-checkbox--validate {\n border-color: var(--color-neutral-700);\n }\n\n .dss-checkbox:hover {\n border-color: var(--color-primary-600);\n transition: 0.3s all linear;\n }\n\n .dss-checkbox:hover.dss-checkbox--validate {\n border-color: var(--color-neutral-800);\n }\n\n .dss-checkbox:active {\n border-color: var(--color-primary-400);\n transition: 0.3s all linear;\n }\n\n .dss-checkbox:active.dss-checkbox--validate {\n border-color: var(--color-neutral-500);\n }\n\n .dss-checkbox:checked {\n background-color: var(--color-primary-500);\n }\n\n .dss-checkbox:checked.dss-checkbox--validate {\n border-color: var(--color-green-500);\n background-color: var(--color-green-500);\n }\n\n .dss-checkbox:checked::before {\n font-family: 'Material Symbols Rounded';\n content: 'check';\n position: absolute;\n font-size: 22px;\n color: var(--color-white);\n text-align: center;\n top: -4px;\n left: -2px;\n }\n\n .dss-checkbox:checked:hover {\n border-color: var(--color-primary-600);\n background-color: var(--color-primary-600);\n transition: 0.3s all linear;\n }\n\n .dss-checkbox:checked:hover.dss-checkbox--validate {\n border-color: var(--color-green-600);\n background-color: var(--color-green-600);\n }\n\n .dss-checkbox:checked:active {\n background-color: var(--color-primary-400);\n transition: 0.3s all linear;\n }\n\n .dss-checkbox:checked:active.dss-checkbox--validate {\n border-color: var(--color-green-400);\n background-color: var(--color-green-400);\n }\n\n .dss-checkbox:indeterminate {\n background-color: var(--color-primary-500);\n }\n\n .dss-checkbox:indeterminate::before {\n font-family: 'Material Symbols Rounded';\n font-size: 18px;\n content: 'remove';\n color: var(--color-white);\n position: absolute;\n top: -1px;\n }\n\n .dss-checkbox:indeterminate.dss-checkbox--validate {\n background-color: var(--color-green-500);\n }\n\n .dss-checkbox:disabled {\n cursor: not-allowed;\n color: var(--color-neutral-900);\n border-color: var(--color-neutral-400);\n }\n\n .dss-checkbox:disabled:checked {\n background-color: var(--color-neutral-300);\n }\n\n .dss-checkbox:disabled:checked::before {\n color: var(--color-neutral-900);\n }\n\n .dss-checkbox.dss-checkbox--validate:disabled:checked:hover {\n background-color: var(--color-neutral-300);\n }\n\n .dss-checkbox-label {\n cursor: pointer;\n }\n`;\n//# sourceMappingURL=checkbox.style.js.map","import { css } from 'lit';\n// Checkbox variations\nexport const radioStyles = css `\n .dss-radio {\n -webkit-appearance: none;\n appearance: none;\n background-color: var(--color-white);\n margin: 0;\n color: var(--color-primary-500);\n width: 20px;\n height: 20px;\n border: var(--dss-border-width-sm) solid var(--color-primary-500);\n border-radius: 50%;\n transform: translateY(-0.075em);\n display: grid;\n place-content: center;\n cursor: pointer;\n transition: 0.3s all linear;\n flex-shrink: 0;\n margin: var(--dss-spacing-tiny);\n }\n\n .dss-radio::before {\n content: '';\n width: 10px;\n height: 10px;\n border-radius: 50%;\n transform: scale(0);\n transition: 0.3s transform ease-in-out;\n box-shadow: inset 1rem 1rem var(--color-primary-500);\n background-color: var(--color-white);\n }\n\n .dss-radio:checked {\n border: var(--dss-border-width-sm) solid var(--color-primary-500);\n }\n\n .dss-radio:checked::before {\n transform: scale(1);\n box-shadow: inset 1rem 1rem var(--color-primary-500);\n }\n\n .dss-radio:checked:hover {\n border: var(--dss-border-width-sm) solid var(--color-primary-600);\n transition: 0.3s all linear;\n }\n\n .dss-radio:checked:hover::before {\n transform: scale(1);\n box-shadow: inset 1rem 1rem var(--color-primary-600);\n transition: 0.3s all linear;\n }\n\n .dss-radio:checked:disabled {\n cursor: not-allowed;\n }\n\n .dss-radio:checked:disabled::before {\n box-shadow: inset 1rem 1rem var(--color-neutral-400);\n }\n\n .dss-radio:hover {\n border: var(--dss-border-width-sm) solid var(--color-neutral-600);\n transition: 0.3s all linear;\n }\n\n .dss-radio:disabled {\n cursor: not-allowed;\n border: var(--dss-border-width-sm) solid var(--color-neutral-400);\n }\n\n .dss-radio:focus-visible:enabled {\n outline: var(--dss-border-width-lg) solid var(--color-blue-200);\n }\n`;\n//# sourceMappingURL=radio.style.js.map","import { __decorate } from \"tslib\";\n/* eslint-disable lit-a11y/click-events-have-key-events */\n/* eslint-disable import/extensions */\n/* eslint-disable no-param-reassign */\n/* eslint-disable no-nested-ternary */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { moveFocusToPreviousTarget, moveFocusToNextTarget, onKeyboardEnter, } from './utils/keyboard-navigation';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { badgeStyles } from './shared-styles/badge.style';\nimport { buttonStyles } from './shared-styles/button.style';\nimport { chipStyles } from './shared-styles/chip.style';\nimport { checkboxStyles } from './shared-styles/checkbox.style';\nimport { radioStyles } from './shared-styles/radio.style';\nimport { iconButtonStyles } from './shared-styles/icon-button.style';\nlet Table = class Table extends LitElement {\n constructor() {\n super(...arguments);\n this._valueMaxLength = 60;\n this._data = [];\n this._customData = undefined;\n this._pipeData = [];\n this._customTableHeader = undefined;\n this._filters = [];\n this._tableHeader = [];\n this._tableHeaderSort = {};\n this._hasPaginator = false;\n this._currentIndex = 1;\n this._pageSize = 10;\n this._pageSizeOptions = '[5,10,20]';\n this._resultstext = 'Resultats';\n this._rowsperpagetext = 'Files per página';\n this._textAlign = 'left';\n this._headerTitle = '';\n this._hideHeader = false;\n this._innerFilters = false;\n this._expandTable = false;\n this._expandLabel = 'Ampliar';\n this._collapseLabel = 'Reduir';\n this._rowsOnCollapsed = 5;\n this._filtersLabel = 'Selecció';\n this._cleanFiltersLabel = 'Netejar filtres';\n this._openFiltersLabel = 'Filtres';\n this._selectedRowsLabel = 'files seleccionades';\n this._selectAllRows = true;\n this._noFiltersLabel = 'No hi ha filtres seleccionats';\n this._footerButtons = 3;\n this._maxContentWidth = false;\n this._stickyColumns = false;\n this._multiselect = false;\n this._radioselect = false;\n this._hasRowButton = false;\n this._rowButtonLabel = 'Button';\n this._hasRowActions = false;\n this._rowActionsIcons = ['add_box', 'add_box', 'add_box'];\n this._footerButtonPrimaryLabel = 'Primary';\n this._footerButtonSecondaryLabel = 'Secondary';\n this._footerButtonAlternativeLabel = 'Alternative';\n this._enableRowActionsOnDeleted = false;\n this._enableRowActionsOnDisabled = false;\n this._currentSortColumn = '';\n this._currentSortType = '';\n this._copyPipeData = [];\n }\n static get styles() {\n return [\n symbolStyles,\n buttonStyles,\n chipStyles,\n checkboxStyles,\n radioStyles,\n iconButtonStyles,\n css `\n .dss-table-header {\n padding: var(--dss-spacing-md) 0;\n }\n\n .dss-table-header-title {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--dss-spacing-xs);\n margin-bottom: var(--dss-spacing-md);\n }\n\n .dss-table-header-title__text {\n color: var(--color-neutral-900);\n font-weight: var(--font-bold);\n font-size: 20px;\n }\n\n .dss-table-header-title__action {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: var(--dss-spacing-xxs);\n font-size: 14px;\n color: var(--color-primary-700);\n cursor: pointer;\n border-radius: var(--dss-radius-xs);\n font-weight: var(--font-semibold);\n }\n\n .dss-table-header-title__action:hover {\n color: var(--color-primary-600);\n }\n\n .dss-table-header-title__action:active {\n color: var(--color-primary-400);\n }\n\n .dss-table-header-title__action:focus-visible {\n outline: var(--dss-border-width-md) solid var(--color-blue-200);\n }\n\n .dss-table-header-filters {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .dss-table-header-filters__filters {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: var(--dss-spacing-md);\n width: 70%;\n box-sizing: border-box;\n }\n\n .dss-table-header-filters--inner .dss-table-header-filters__filters {\n width: 80%;\n }\n\n .filters-label {\n font-size: 14px;\n font-weight: var(--font-bold);\n color: var(--color-neutral-600);\n }\n\n .filters-list {\n display: flex;\n flex-wrap: wrap;\n max-width: 60%;\n gap: var(--dss-spacing-xs);\n }\n\n .filters-list-empty {\n font-size: 14px;\n color: var(--color-neutral-600);\n }\n\n .filters-clean {\n padding-left: var(--dss-spacing-md);\n border-left: var(--dss-border-width-sm) solid var(--color-neutral-100);\n }\n\n .dss-table-header-filters__actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: var(--dss-spacing-md);\n width: 30%;\n box-sizing: border-box;\n }\n\n .dss-table-header-filters--inner .dss-table-header-filters__actions {\n width: 20%;\n }\n\n .dss-table-main {\n background-color: var(--color-white);\n width: 100%;\n overflow-x: auto;\n }\n\n .dss-table-container {\n max-width: 100%;\n overflow: auto;\n }\n\n .dss-table-main .table {\n min-width: 100%;\n margin: 0;\n padding: 0;\n border-collapse: collapse;\n border-spacing: 0;\n table-layout: fixed;\n }\n\n .dss-table-main .table.table--max-content-width {\n width: max-content;\n }\n\n .dss-table-main .table.table--sticky-columns {\n }\n\n .dss-table-main .table-header {\n width: 100%;\n position: sticky;\n top: 0;\n background-color: var(--color-white);\n z-index: 100;\n }\n\n .dss-table-main .table.table--sticky-columns .table-header {\n position: relative;\n }\n\n .dss-table-main\n .table.table--sticky-columns\n .table-header\n .table-th:first-child,\n .dss-table-main\n .table.table--sticky-columns\n .table-body\n .table-td:first-child {\n position: sticky;\n left: 0;\n z-index: 100;\n background-color: var(--color-white);\n }\n\n .dss-table-main\n .table.table--sticky-columns\n .table-body-row:not(.table-body-row--disabled):not(\n .table-body-row--deleted\n ):hover\n .table-td:first-child,\n .dss-table-main\n .table.table--sticky-columns\n .table-body-row--selected:not(.table-body-row--disabled):not(\n .table-body-row--deleted\n )\n .table-td:first-child {\n background-color: var(--color-primary-50);\n }\n\n .dss-table-main\n .table.table--sticky-columns\n .table-body-row:not(.table-body-row--disabled):not(\n .table-body-row--deleted\n ):hover\n .table-td:last-child,\n .dss-table-main\n .table.table--sticky-columns\n .table-body-row--selected:not(.table-body-row--disabled):not(\n .table-body-row--deleted\n )\n .table-td:last-child {\n background-color: var(--color-primary-50);\n }\n\n .dss-table-main\n .table.table--sticky-columns.table--sticky-columns--multiselect\n .table-header\n .table-th:nth-child(2),\n .dss-table-main\n .table.table--sticky-columns.table--sticky-columns--multiselect\n .table-body\n .table-td:nth-child(2) {\n position: sticky;\n left: 52px;\n z-index: 100;\n background-color: var(--color-white);\n }\n\n .dss-table-main\n .table.table--sticky-columns.table--sticky-columns--multiselect\n .table-body-row:not(.table-body-row--disabled):not(\n .table-body-row--deleted\n ):hover\n .table-td:nth-child(2),\n .dss-table-main\n .table.table--sticky-columns.table--sticky-columns--multiselect\n .table-body-row--selected:not(.table-body-row--disabled):not(\n .table-body-row--deleted\n )\n .table-td:nth-child(2) {\n background-color: var(--color-primary-50);\n }\n\n .dss-table-main\n .table.table--sticky-columns.table--sticky-columns--multiselect\n .table-body\n .table-body-row--disabled\n .table-td:first-child,\n .dss-table-main\n .table.table--sticky-columns\n .table-body\n .table-body-row--disabled\n .table-td:nth-child(2) {\n background-color: var(--color-neutral-50);\n }\n\n .dss-table-main\n .table.table--sticky-columns.table--sticky-columns--multiselect\n .table-body\n .table-body-row--deleted\n .table-td:nth-child(2),\n .dss-table-main\n .table.table--sticky-columns\n .table-body\n .table-body-row--deleted\n .table-td:nth-child(2) {\n background-color: var(--color-red-50);\n }\n\n .dss-table-main\n .table.table--sticky-columns.table--sticky-columns--radioselect\n .table-header\n .table-th:nth-child(2),\n .dss-table-main\n .table.table--sticky-columns.table--sticky-columns--radioselect\n .table-body\n .table-td:nth-child(2) {\n position: sticky;\n left: 52px;\n z-index: 100;\n background-color: var(--color-white);\n }\n\n .dss-table-main\n .table.table--sticky-columns.table--sticky-columns--radioselect\n .table-body-row:not(.table-body-row--disabled):not(\n .table-body-row--deleted\n ):hover\n .table-td:nth-child(2),\n .dss-table-main\n .table.table--sticky-columns.table--sticky-columns--radioselect\n .table-body-row--selected:not(.table-body-row--disabled):not(\n .table-body-row--deleted\n )\n .table-td:nth-child(2) {\n background-color: var(--color-primary-50);\n }\n\n .dss-table-main\n .table.table--sticky-columns.table--sticky-columns--radioselect\n .table-body\n .table-body-row--disabled\n .table-td:first-child,\n .dss-table-main\n .table.table--sticky-columns\n .table-body\n .table-body-row--disabled\n .table-td:nth-child(2) {\n background-color: var(--color-neutral-50);\n }\n\n .dss-table-main\n .table.table--sticky-columns.table--sticky-columns--radioselect\n .table-body\n .table-body-row--deleted\n .table-td:nth-child(2),\n .dss-table-main\n .table.table--sticky-columns\n .table-body\n .table-body-row--deleted\n .table-td:nth-child(2) {\n background-color: var(--color-red-50);\n }\n\n .dss-table-main\n .table.table--sticky-columns\n .table-body\n .table-body-row--deleted\n .table-td:first-child,\n .dss-table-main\n .table.table--sticky-columns\n .table-body\n .table-body-row--deleted\n .table-td:last-child {\n background-color: var(--color-red-50);\n }\n\n .dss-table-main\n .table.table--sticky-columns\n .table-body\n .table-body-row--disabled\n .table-td:first-child,\n .dss-table-main\n .table.table--sticky-columns\n .table-body\n .table-body-row--disabled\n .table-td:last-child {\n background-color: var(--color-neutral-50);\n }\n\n .dss-table-main\n .table.table--sticky-columns\n .table-header\n .table-th:last-child,\n .dss-table-main\n .table.table--sticky-columns\n .table-body\n .table-td:last-child {\n position: sticky;\n right: 0;\n z-index: 100;\n background-color: var(--color-white);\n }\n\n .dss-table-main .table-header-row {\n width: 100%;\n }\n\n .dss-table-main .table-th {\n box-sizing: border-box;\n height: 56px;\n }\n\n .dss-table-main .table-th--checkbox {\n width: 52px;\n }\n\n .dss-table-main .table-th--radio {\n width: 52px;\n }\n\n .dss-table-main .table-th--review {\n width: 52px;\n }\n\n .dss-table-main .table-th--button {\n }\n\n .dss-table-main .table-th--actions {\n width: 140px;\n max-width: 140px;\n }\n\n .dss-table-main .table-th--icons-1 {\n width: 64px;\n max-width: 64px;\n }\n\n .dss-table-main .table-th--icons-2 {\n width: 100px;\n max-width: 100px;\n }\n\n .dss-table-main .table-header-column {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: var(--dss-spacing-xs);\n margin: 0;\n padding: 0 var(--dss-spacing-md);\n border-bottom: var(--dss-border-width-md) solid\n var(--color-neutral-700);\n box-sizing: border-box;\n height: 100%;\n }\n\n .dss-table-main .table-header-column--clickable {\n cursor: pointer;\n }\n\n .dss-table-main\n .table-header-column--clickable\n .table-header-column__icon {\n box-sizing: border-box;\n padding: var(--dss-spacing-tiny);\n background-color: transparent;\n border-radius: var(--dss-radius-xs);\n transition: all 0.3s ease-in;\n }\n\n .dss-table-main .table-header-column--clickable:focus-visible {\n box-shadow: inset 0 0 0 var(--dss-border-width-lg)\n var(--color-blue-200);\n outline: 0;\n }\n\n .dss-table-main\n .table-header-column--clickable:focus-visible\n .table-header-column__icon,\n .dss-table-main\n .table-header-column--clickable:hover\n .table-header-column__icon {\n color: var(--color-white);\n background-color: var(--color-primary-500);\n }\n\n .dss-table-main .table-header-column__title {\n font-size: 14px;\n line-height: 24px;\n font-weight: var(--font-semibold);\n text-transform: capitalize;\n }\n\n .dss-table-main .table-header-column--checkbox {\n justify-content: center;\n max-width: 52px;\n }\n\n .dss-table-main .table-header-column--radio {\n max-width: 52px;\n }\n\n .dss-table-main .table-header-column--review {\n justify-content: center;\n }\n\n .dss-table-main .table-header-column--button {\n }\n\n .dss-table-main .table-header-column--actions {\n }\n\n .dss-table-main .table-header-column--number {\n justify-content: flex-end;\n }\n\n .dss-table-main .table-body {\n }\n\n .dss-table-main .table-body-row {\n // display: grid;\n }\n\n .dss-table-main .table-body-row + .table-body-row {\n border-top: var(--dss-border-width-sm) solid var(--color-neutral-100);\n }\n\n .dss-table-main\n .table-body-row:not(.table-body-row--disabled):not(\n .table-body-row--deleted\n ):hover,\n .dss-table-main\n .table-body-row--selected:not(.table-body-row--disabled):not(\n .table-body-row--deleted\n ) {\n background-color: var(--color-primary-50);\n }\n\n .dss-table-main .table-body-row--disabled {\n background-color: var(--color-neutral-50);\n }\n\n .dss-table-main .table-body-row--disabled .table-body-column {\n color: var(--color-neutral-500);\n }\n\n .dss-table-main .table-body-row--deleted {\n background-color: var(--color-red-50);\n }\n\n .dss-table-main .table-td {\n box-sizing: border-box;\n height: 56px;\n margin: 0;\n padding: 0;\n }\n\n .dss-table-main .table-body-column {\n margin: 0;\n padding: auto var(--dss-spacing-md);\n font-size: 14px;\n color: var(--color-neutral-700);\n height: 56px;\n box-sizing: border-box;\n }\n\n .dss-table-main .table-body-column--custom {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n padding: 0 var(--dss-spacing-md);\n gap: var(--dss-spacing-xs);\n }\n\n .dss-table-main .table-body-column--text {\n justify-content: flex-start;\n }\n\n .dss-table-main .table-body-column--number {\n justify-content: flex-end;\n }\n\n .dss-table-main .table-td--actions {\n box-sizing: border-box;\n max-width: 140px;\n }\n\n .dss-table-main .table-body-column--actions {\n justify-content: flex-end;\n max-width: 140px;\n box-sizing: border-box;\n }\n\n .dss-table-main .table-body-column--result {\n font-weight: var(--font-bold);\n }\n\n .dss-table-main .table-body-column--checkbox {\n max-width: 52px;\n padding-left: 0;\n padding-right: 0;\n justify-content: center;\n }\n\n .dss-table-main .table-body-column--radio {\n max-width: 52px;\n padding-left: 0;\n padding-right: 0;\n justify-content: center;\n }\n\n .dss-table-main .table-body-column--button {\n justify-content: flex-end;\n }\n\n .dss-table-main .table-body-column--review {\n justify-content: center;\n }\n\n .dss-table-main .table-body-column--font-bold {\n font-weight: var(--font-bold);\n }\n\n .dss-table-main .table-body-column--font-black {\n font-weight: var(--font-bold);\n color: var(--color-neutral-900);\n }\n\n .dss-table-main .table-body-column--icon-right {\n flex-direction: row-reverse;\n }\n\n .dss-table-main .table-body-column--text.table-body-column--icon-right {\n justify-content: flex-end;\n }\n\n .dss-table-main\n .table-body-column--number.table-body-column--icon-right {\n justify-content: flex-start;\n }\n\n .table-body--align-center .table-body-column {\n text-align: center;\n }\n\n .table-body--align-right .table-body-column {\n text-align: right;\n }\n\n .table-body--align-justify .table-body-column {\n text-align: justify;\n }\n\n ::slotted(div.dss-table-filters) {\n width: 100%;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: var(--dss-spacing-xs);\n }\n\n .table-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--dss-spacing-xs);\n padding: var(--dss-spacing-md);\n border-top: var(--dss-border-width-sm) solid var(--color-neutral-100);\n margin-top: var(--dss-spacing-md);\n }\n\n .table-footer-description {\n color: var(--color-neutral-900);\n font-size: 16px;\n font-weight: var(--font-bold);\n }\n\n .table-footer-actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: var(--dss-spacing-xs);\n }\n\n .column-value {\n position: relative;\n }\n\n .column-value > .value {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .table-body-column--custom dss-tooltip {\n font-weight: var(--font-regular);\n }\n\n .column-value dss-tooltip {\n visibility: hidden;\n }\n\n .column-value:hover dss-tooltip {\n visibility: visible;\n }\n\n .column-value--link {\n color: var(--color-primary-700);\n font-weight: 600;\n text-decoration: none;\n }\n\n .column-value--link:hover {\n color: var(--color-primary-900);\n }\n\n .column-value--link:active {\n color: var(--color-primary-800);\n }\n\n .column-value--link:disabled {\n color: var(--color-neutral-500);\n cursor: not-allowed;\n }\n\n .column-value--link:focus-visible {\n outline: var(--dss-border-width-md) solid var(--color-blue-200);\n border-radius: var(--dss-radius-xs);\n }\n\n .dss-table-main .table .table-body-row:focus-visible {\n box-shadow: inset 0 0 0 var(--dss-border-width-lg)\n var(--color-blue-200);\n outline: 0;\n }\n `,\n badgeStyles, // Fix: Last position to override default icon badge style\n ];\n }\n set hasPaginator(value) {\n const oldValue = this._hasPaginator;\n this._hasPaginator = value;\n this.requestUpdate('hasPaginator', oldValue);\n }\n set data(data) {\n const oldValue = this._data;\n this._data = data;\n this._createTableHeader(data);\n this._pipeData = this._data;\n this._copyPipeData = [...this._data];\n this.requestUpdate('data', oldValue);\n }\n set customData(data) {\n const oldValue = this._customData;\n this._customData = data;\n this._createTableHeader(data);\n this._pipeData = this._customData;\n this._copyPipeData = [...this._customData];\n this.requestUpdate('data', oldValue);\n }\n set customTableHeader(value) {\n const oldValue = this._customTableHeader;\n this._customTableHeader = value;\n this.requestUpdate('customTableHeader', oldValue);\n }\n set filters(filters) {\n const oldValue = this._filters;\n this._filters = filters;\n this.requestUpdate('filters', oldValue);\n }\n set currentIndex(value) {\n const oldValue = this._currentIndex;\n this._currentIndex = value;\n this.requestUpdate('currentIndex', oldValue);\n }\n set pageSize(value) {\n const oldValue = this._pageSize;\n this._pageSize = value;\n this.requestUpdate('pageSize', oldValue);\n }\n set pageSizeOptions(pageSizeOptions) {\n const oldValue = this._pageSizeOptions;\n this._pageSizeOptions = pageSizeOptions;\n this.requestUpdate('pageSizeOptions', oldValue);\n }\n set resultstext(value) {\n const oldValue = this._resultstext;\n this._resultstext = value;\n this.requestUpdate('resultstext', oldValue);\n }\n set rowsperpagetext(value) {\n const oldValue = this._rowsperpagetext;\n this._rowsperpagetext = value;\n this.requestUpdate('rowsperpagetext', oldValue);\n }\n set textAlign(value) {\n const oldValue = this._textAlign;\n this._textAlign = value;\n this.requestUpdate('textAlign', oldValue);\n }\n set headerTitle(value) {\n const oldValue = this._headerTitle;\n this._headerTitle = value;\n this.requestUpdate('headerTitle', oldValue);\n }\n set hideHeader(value) {\n const oldValue = this._hideHeader;\n this._hideHeader = value;\n this.requestUpdate('hideHeader', oldValue);\n }\n set innerFilters(value) {\n const oldValue = this._innerFilters;\n this._innerFilters = value;\n this.requestUpdate('innerFilters', oldValue);\n }\n set expandTable(value) {\n const oldValue = this._expandTable;\n this._expandTable = value;\n this.requestUpdate('expandTable', oldValue);\n }\n set expandLabel(value) {\n const oldValue = this._expandLabel;\n this._expandLabel = value;\n this.requestUpdate('expandLabel', oldValue);\n }\n set collapseLabel(value) {\n const oldValue = this._collapseLabel;\n this._collapseLabel = value;\n this.requestUpdate('collapseLabel', oldValue);\n }\n set rowsOnCollapsed(value) {\n const oldValue = this._rowsOnCollapsed;\n this._rowsOnCollapsed = value;\n this.requestUpdate('rowsOnCollapsed', oldValue);\n }\n set filtersLabel(value) {\n const oldValue = this._filtersLabel;\n this._filtersLabel = value;\n this.requestUpdate('filtersLabel', oldValue);\n }\n set cleanFiltersLabel(value) {\n const oldValue = this._cleanFiltersLabel;\n this._cleanFiltersLabel = value;\n this.requestUpdate('cleanFiltersLabel', oldValue);\n }\n set selectedRowsLabel(value) {\n const oldValue = this._selectedRowsLabel;\n this._selectedRowsLabel = value;\n this.requestUpdate('selectedRowsLabel', oldValue);\n }\n set footerButtons(value) {\n const oldValue = this._footerButtons;\n this._footerButtons = value;\n this.requestUpdate('footerButtons', oldValue);\n }\n set maxContentWidth(value) {\n const oldValue = this._maxContentWidth;\n this._maxContentWidth = value;\n this.requestUpdate('maxContentWidth', oldValue);\n }\n set stickyColumns(value) {\n const oldValue = this._stickyColumns;\n this._stickyColumns = value;\n this.requestUpdate('stickyColumns', oldValue);\n }\n set multiselect(value) {\n const oldValue = this._multiselect;\n this._multiselect = value;\n this.requestUpdate('multiselect', oldValue);\n }\n set radioselect(value) {\n const oldValue = this._radioselect;\n this._radioselect = value;\n this.requestUpdate('radioselect', oldValue);\n }\n set hasRowButton(value) {\n const oldValue = this._hasRowButton;\n this._hasRowButton = value;\n this.requestUpdate('hasRowButton', oldValue);\n }\n set rowButtonLabel(value) {\n const oldValue = this._rowButtonLabel;\n this._rowButtonLabel = value;\n this.requestUpdate('rowButtonLabel', oldValue);\n }\n set hasRowActions(value) {\n const oldValue = this._hasRowActions;\n this._hasRowActions = value;\n this.requestUpdate('hasRowActions', oldValue);\n }\n set rowActionsIcons(icons) {\n const oldValue = this._rowActionsIcons;\n this._rowActionsIcons = icons;\n this.requestUpdate('rowActionsIcons', oldValue);\n }\n set footerButtonPrimaryLabel(value) {\n const oldValue = this._footerButtonPrimaryLabel;\n this._footerButtonPrimaryLabel = value;\n this.requestUpdate('footerButtonPrimaryLabel', oldValue);\n }\n set footerButtonSecondaryLabel(value) {\n const oldValue = this._footerButtonSecondaryLabel;\n this._footerButtonSecondaryLabel = value;\n this.requestUpdate('footerButtonSecondaryLabel', oldValue);\n }\n set footerButtonAlternativeLabel(value) {\n const oldValue = this._footerButtonAlternativeLabel;\n this._footerButtonAlternativeLabel = value;\n this.requestUpdate('footerButtonAlternativeLabel', oldValue);\n }\n set enableRowActionsOnDisabled(value) {\n const oldValue = this._enableRowActionsOnDisabled;\n this._enableRowActionsOnDisabled = value;\n this.requestUpdate('enableRowActionsOnDisabled', oldValue);\n }\n set enableRowActionsOnDeleted(value) {\n const oldValue = this._enableRowActionsOnDeleted;\n this._enableRowActionsOnDeleted = value;\n this.requestUpdate('enableRowActionsOnDeleted', oldValue);\n }\n set valueMaxLength(value) {\n const oldValue = this._valueMaxLength;\n this._valueMaxLength = value;\n this.requestUpdate('valueMaxLength', oldValue);\n }\n get _tableGridStyle() {\n return `grid-template-columns: repeat(${this._tableHeader.length}, 1fr)`;\n }\n get _tableHeight() {\n let tableHeight = 'height:auto;';\n if (!this._expandTable) {\n let collapsedHeight = this._rowsOnCollapsed * 56;\n collapsedHeight += 56; // add header row height\n tableHeight = `height:${collapsedHeight}px;`;\n }\n return tableHeight;\n }\n async firstUpdated() {\n try {\n await this.updateComplete;\n this._clickOutside();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.error('ERROR OCURRED');\n }\n }\n _clickOutside() {\n document.addEventListener('click', event => {\n if (!event.composedPath().includes(this)) {\n this._resetRowsTabIndex();\n }\n else {\n const path = event.composedPath();\n const targetElement = path.find(el => el instanceof HTMLElement && el.classList.contains('table-body'));\n if (!targetElement) {\n this._resetRowsTabIndex();\n }\n }\n });\n }\n _createTableHeader(data) {\n const tableKeys = Object.keys(data[0]);\n if (tableKeys.includes('disabled')) {\n const disabledIndex = tableKeys.indexOf('disabled');\n tableKeys.splice(disabledIndex, 1);\n }\n if (tableKeys.includes('deleted')) {\n const deletedIndex = tableKeys.indexOf('deleted');\n tableKeys.splice(deletedIndex, 1);\n }\n this._tableHeader = tableKeys;\n this._tableHeader.forEach(key => {\n this._tableHeaderSort[key] = 'none';\n });\n }\n _sortBy(key, lastSort) {\n this._currentSortColumn = key;\n // SORT: none => ASC => DSC => none\n if (lastSort === 'none') {\n this._currentSortType = 'ASC';\n }\n else if (lastSort === 'ASC') {\n this._currentSortType = 'DSC';\n }\n else if (lastSort === 'DSC') {\n this._currentSortType = 'none';\n }\n if (this._currentSortType === 'none') {\n this._pipeData = [...this._copyPipeData];\n }\n else {\n this._pipeData = this._pipeData.sort((a, b) => {\n let valueA;\n let valueB;\n if (this._customData) {\n valueA = a[key].value;\n valueB = b[key].value;\n }\n else {\n valueA = a[key];\n valueB = b[key];\n }\n if (valueA < valueB) {\n return this._currentSortType === 'ASC' ? -1 : 1;\n }\n if (valueA > valueB) {\n return this._currentSortType === 'ASC' ? 1 : -1;\n }\n return 0;\n });\n }\n this._tableHeaderSort[key] = this._currentSortType;\n // Reset other column SortBy\n const sortKeys = Object.keys(this._tableHeaderSort);\n sortKeys.forEach(index => {\n if (index !== key) {\n this._tableHeaderSort[index] = 'none';\n }\n });\n this.requestUpdate();\n }\n _paginateTable(event) {\n // eslint-disable-next-line prefer-destructuring\n const startIndex = event.detail.startIndex;\n // eslint-disable-next-line prefer-destructuring\n const endIndex = event.detail.endIndex;\n if (this._customData && endIndex <= this._customData.length) {\n this._pipeData = this._customData.slice(startIndex - 1, endIndex);\n }\n else if (this._data && endIndex <= this._data.length) {\n this._pipeData = this._data.slice(startIndex - 1, endIndex);\n }\n if (event.detail.pageSize) {\n this._pageSize = event.detail.pageSize;\n }\n this._copyPipeData = [...this._pipeData];\n this.requestUpdate();\n }\n _generateTableHeaderHTML() {\n let tableHeaderCheckbox = html ``;\n let tableHeaderRadio = html ``;\n let tableHeaderButtons = html ``;\n let tableHeaderActions = html ``;\n if (this._multiselect) {\n tableHeaderCheckbox = html `\n <th class=\"table-th table-th--checkbox\">\n <div class=\"table-header-column table-header-column--checkbox\">\n <input\n type=\"checkbox\"\n class=\"dss-checkbox\"\n aria-label=\"Seleccionar totes les files\"\n @change=\"${this._onSelectAllRows}\"\n />\n </div>\n </th>\n `;\n }\n if (this._radioselect) {\n tableHeaderRadio = html `\n <th class=\"table-th table-th--radio\">\n <div class=\"table-header-column table-header-column--radio\"></div>\n </th>\n `;\n }\n if (this._hasRowButton) {\n tableHeaderButtons = html `\n <th class=\"table-th table-th--button\">\n <div class=\"table-header-column table-header-column--button\"></div>\n </th>\n `;\n }\n if (this._hasRowActions) {\n tableHeaderActions = html `\n <th\n class=\"table-th table-th--actions table-th--icons-${this\n ._rowActionsIcons.length}\"\n >\n <div class=\"table-header-column table-header-column--actions\"></div>\n </th>\n `;\n }\n let isFirstTh = true;\n const tableHeaderData = this._tableHeader.map((key, index) => {\n const onClick = () => {\n this._sortBy(key, this._tableHeaderSort[key]);\n this.requestUpdate();\n };\n const onKeyDown = (e) => {\n const tgt = e.currentTarget;\n const keyboardEvent = e;\n let flag = false;\n switch (keyboardEvent.key) {\n case 'ArrowLeft':\n moveFocusToPreviousTarget(this.renderRoot, tgt, '.table-header-column--clickable');\n flag = true;\n break;\n case 'ArrowRight':\n moveFocusToNextTarget(this.renderRoot, tgt, '.table-header-column--clickable');\n flag = true;\n break;\n /* eslint no-case-declarations: \"off\" */\n case 'Enter':\n const headerTitle = e.target;\n onKeyboardEnter(this.renderRoot, headerTitle, '.table-header-column--clickable');\n flag = true;\n break;\n default:\n break;\n }\n if (flag) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n // Check if column is type checkbox\n let columnType = '';\n if (this._customData && this._customData.length > 0) {\n columnType = this._pipeData[0][key].type;\n }\n else if (this._data && this._data.length > 0) {\n columnType = typeof this._pipeData[0][key];\n }\n const tableThClassMap = {\n 'table-th--review': columnType === 'review',\n 'table-th--link': columnType === 'link',\n };\n const tableHeaderColumnClassMap = {\n 'table-header-column--review': columnType === 'review',\n 'table-header-column--number': columnType === 'number',\n 'table-header-column--link': columnType === 'link',\n };\n const dssTh = html `\n <th class=\"table-th ${classMap(tableThClassMap)}\">\n <div\n class=\"table-header-column table-header-column--clickable ${classMap(tableHeaderColumnClassMap)}\"\n tabindex=\"${isFirstTh ? 0 : -1}\"\n @keydown=${onKeyDown}\n @click=${onClick}\n >\n <span class=\"table-header-column__title\">\n ${this._customTableHeader\n ? html `${this._customTableHeader[index]}`\n : html `${key}`}\n </span>\n <span class=\"dss-icon dss-icon--sm table-header-column__icon\">\n ${key === this._currentSortColumn\n ? this._currentSortType === 'ASC'\n ? html `arrow_upward`\n : this._currentSortType === 'DSC'\n ? html `arrow_downward`\n : html `swap_vert`\n : html `swap_vert`}\n </span>\n </div>\n </th>\n `;\n isFirstTh = false;\n return dssTh;\n });\n return html ` <tr class=\"table-header-row\">\n ${tableHeaderCheckbox} ${tableHeaderRadio} ${tableHeaderData}\n ${tableHeaderButtons} ${tableHeaderActions}\n </tr>`;\n }\n _onRowCheckboxChange(row) {\n if (row.checked) {\n row.checked = !row.checked;\n }\n else {\n row.checked = true;\n }\n this.requestUpdate();\n }\n _onSelectAllRows() {\n this._pipeData.forEach(row => {\n if (row.disabled) {\n if (this._enableRowActionsOnDisabled) {\n row.checked = this._selectAllRows;\n }\n }\n else if (row.deleted) {\n if (this._enableRowActionsOnDeleted) {\n row.checked = this._selectAllRows;\n }\n }\n else {\n row.checked = this._selectAllRows;\n }\n });\n this._selectAllRows = !this._selectAllRows;\n this.requestUpdate();\n }\n _onRowAction(action, row) {\n const options = {\n detail: { action, row },\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onRowAction', options));\n this.requestUpdate();\n }\n _generateTableTdCheckbox(row, checked, disabled, deleted) {\n if (this._enableRowActionsOnDeleted) {\n deleted = false;\n }\n if (this._enableRowActionsOnDisabled) {\n disabled = false;\n }\n let checkboxTd = html ``;\n if (checked) {\n checkboxTd = html `\n <td class=\"table-td table-td--checkbox\">\n <div\n class=\"table-body-column table-body-column--custom table-body-column--checkbox\"\n >\n <input\n type=\"checkbox\"\n class=\"dss-checkbox table-body-row__action\"\n aria-label=\"Seleccionar la fila\"\n @change=\"${() => this._onRowCheckboxChange(row)}\"\n checked\n ?disabled=${disabled || deleted}\n />\n </div>\n </td>\n `;\n }\n else {\n checkboxTd = html `\n <td class=\"table-td table-td--checkbox\">\n <div\n class=\"table-body-column table-body-column--custom table-body-column--checkbox\"\n >\n <input\n type=\"checkbox\"\n class=\"dss-checkbox table-body-row__action\"\n aria-label=\"Seleccionar la fila\"\n @change=\"${() => this._onRowCheckboxChange(row)}\"\n ?disabled=${disabled || deleted}\n />\n </div>\n </td>\n `;\n }\n return checkboxTd;\n }\n _generateTableTdRadio(checked, disabled, deleted) {\n let radioTd = html ``;\n if (this._enableRowActionsOnDeleted) {\n deleted = false;\n }\n if (this._enableRowActionsOnDisabled) {\n disabled = false;\n }\n if (checked) {\n radioTd = html `\n <td class=\"table-td table-td--radio\">\n <div\n class=\"table-body-column table-body-column--custom table-body-column--radio\"\n >\n <input\n type=\"radio\"\n name=\"row-radio\"\n class=\"dss-radio table-body-row__action\"\n aria-label=\"Seleccionar la fila\"\n checked\n ?disabled=${disabled || deleted}\n />\n </div>\n </td>\n `;\n }\n else {\n radioTd = html `\n <td class=\"table-td table-td--radio\">\n <div\n class=\"table-body-column table-body-column--custom table-body-column--radio\"\n >\n <input\n type=\"radio\"\n name=\"row-radio\"\n class=\"dss-radio table-body-row__action\"\n aria-label=\"Seleccionar la fila\"\n ?disabled=${disabled || deleted}\n />\n </div>\n </td>\n `;\n }\n return radioTd;\n }\n _generateTableTdButton(row, disabled, deleted) {\n if (this._enableRowActionsOnDeleted) {\n deleted = false;\n }\n if (this._enableRowActionsOnDisabled) {\n disabled = false;\n }\n return html `\n <td class=\"table-td table-td--button\">\n <div\n class=\"table-body-column table-body-column--custom table-body-column--button\"\n >\n <button\n type=\"button\"\n class=\"dss-button dss-button--sm dss-button--secondary table-body-row__action\"\n @click=\"${() => this._onRowAction(this._rowButtonLabel, row)}\"\n ?disabled=${disabled || deleted}\n >\n ${this._rowButtonLabel}\n </button>\n </div>\n </td>\n `;\n }\n _generateTableTdActions(row, disabled, deleted) {\n if (this._enableRowActionsOnDeleted) {\n deleted = false;\n }\n if (this._enableRowActionsOnDisabled) {\n disabled = false;\n }\n return html `\n <td class=\"table-td table-td--custom table-td--actions\">\n <div\n class=\"table-body-column table-body-column--custom table-body-column--actions\"\n >\n ${this._rowActionsIcons.map((icon, index) => html `\n <button\n class=\"dss-icon-button dss-icon-button--primary dss-icon-button--md dss-table-actions-icon table-body-row__action\"\n @click=\"${() => this._onRowAction(`rowAction${index + 1}`, row)}\"\n aria-label=\"Row action ${index + 1}\"\n ?disabled=${disabled || deleted}\n >\n <span class=\"dss-icon\">${icon}</span>\n </button>\n `)}\n </div>\n </td>\n `;\n }\n _generateTableTdSelfActions(row, key, cell, disabled, deleted) {\n if (this._enableRowActionsOnDeleted) {\n deleted = false;\n }\n if (this._enableRowActionsOnDisabled) {\n disabled = false;\n }\n return html `\n <td class=\"table-td table-td--custom table-td--actions\">\n <div\n class=\"table-body-column table-body-column--custom table-body-column--actions\"\n >\n ${cell.icons.map((icon, index) => html `\n <button\n class=\"dss-icon-button dss-icon-button--primary dss-icon-button--md dss-table-actions-icon table-body-row__action\"\n @click=\"${() => this._onRowAction(`${key}Action${index + 1}`, row)}\"\n aria-label=\"Self action ${index + 1}\"\n ?disabled=${disabled || deleted}\n >\n <span class=\"dss-icon\">${icon}</span>\n </button>\n `)}\n </div>\n </td>\n `;\n }\n _resetRowsTabIndex() {\n const currentTabIndex = this.renderRoot.querySelector(`.table-body-row[tabindex=\"0\"]`);\n currentTabIndex === null || currentTabIndex === void 0 ? void 0 : currentTabIndex.setAttribute('tabindex', '-1');\n const row = this.renderRoot.querySelectorAll(`.table-body-row`);\n row[0].setAttribute('tabindex', '0');\n }\n _generateDefaultTableBody() {\n let tableBodyData;\n let isFirstRow = true;\n if (this._data && this._data.length > 0) {\n tableBodyData = this._pipeData.map(row => {\n const isRowChecked = row.checked ? row.checked : false;\n const isRowDeleted = row.deleted ? row.deleted : false;\n const isRowDisabled = row.disabled ? row.disabled : false;\n const onFocusOut = (event) => {\n const nextFocus = event.relatedTarget;\n if (nextFocus &&\n !nextFocus.className.includes('table-body-row') &&\n !nextFocus.className.includes('table-body-row__action')) {\n this._resetRowsTabIndex();\n }\n };\n const onRowKeyDown = (e) => {\n const tgt = e.currentTarget;\n const keyboardEvent = e;\n let flag = false;\n switch (keyboardEvent.key) {\n case 'ArrowUp':\n moveFocusToPreviousTarget(this.renderRoot, tgt, '.table-body-row');\n flag = true;\n break;\n case 'ArrowDown':\n moveFocusToNextTarget(this.renderRoot, tgt, '.table-body-row');\n flag = true;\n break;\n /* eslint no-case-declarations: \"off\" */\n case 'Enter':\n const headerTitle = e.target;\n onKeyboardEnter(this.renderRoot, headerTitle, '.table-body-row');\n if (this._multiselect || this._radioselect) {\n if (!isRowDeleted && !isRowDisabled) {\n if (row.checked) {\n row.checked = !row.checked;\n }\n else {\n row.checked = true;\n }\n }\n else if (this._enableRowActionsOnDeleted && isRowDeleted) {\n if (row.checked) {\n row.checked = !row.checked;\n }\n else {\n row.checked = true;\n }\n }\n else if (this._enableRowActionsOnDisabled && isRowDisabled) {\n if (row.checked) {\n row.checked = !row.checked;\n }\n else {\n row.checked = true;\n }\n }\n this.requestUpdate();\n }\n flag = true;\n break;\n case 'Escape':\n const path = e.composedPath();\n const targetElement = path.find(el => el instanceof HTMLElement &&\n el.classList.contains('table-body-row'));\n if (targetElement) {\n targetElement.focus();\n }\n break;\n default:\n break;\n }\n if (flag) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n const tableBodyCheckbox = this._multiselect\n ? this._generateTableTdCheckbox(row, isRowChecked, isRowDisabled, isRowDeleted)\n : html ``;\n const tableBodyRadio = this._radioselect\n ? this._generateTableTdRadio(isRowChecked, isRowDisabled, isRowDeleted)\n : html ``;\n const tableBodyButtons = this._hasRowButton\n ? this._generateTableTdButton(row, isRowDisabled, isRowDeleted)\n : html ``;\n const tableBodyActions = this._hasRowActions\n ? this._generateTableTdActions(row, isRowDisabled, isRowDeleted)\n : html ``;\n const tableBodyColumns = this._tableHeader.map(key => {\n const tableColumnClassMap = {\n 'table-body-column--number': typeof row[key] === 'number',\n };\n return html `\n <td class=\"table-td\">\n <div\n class=\"table-body-column table-body-column--custom ${classMap(tableColumnClassMap)}\"\n >\n ${row[key] === ''\n ? html `<i class=\"dss-icon dss-icon--md\">remove</i>`\n : null}\n ${typeof row[key] === 'number'\n ? html ` ${row[key]} `\n : row[key].length <= this._valueMaxLength\n ? html `${row[key]}`\n : html `${row[key]}...`}\n </div>\n </td>\n `;\n });\n const rowClassMap = {\n 'table-body-row--selected': isRowChecked,\n 'table-body-row--deleted': isRowDeleted,\n 'table-body-row--disabled': isRowDisabled,\n };\n const tableRow = html ` <tr\n class=\"table-body-row ${classMap(rowClassMap)}\"\n tabindex=\"${isFirstRow ? 0 : -1}\"\n style=${ifDefined(this._tableGridStyle)}\n @keydown=${onRowKeyDown}\n @focusout=${onFocusOut}\n >\n ${tableBodyCheckbox} ${tableBodyRadio} ${tableBodyColumns}\n ${tableBodyButtons} ${tableBodyActions}\n </tr>`;\n isFirstRow = false;\n return tableRow;\n });\n }\n return tableBodyData;\n }\n _generateCustomTableBody() {\n let tableBody;\n let isFirstRow = true;\n if (this._customData) {\n tableBody = this._pipeData.map(row => {\n const isRowChecked = row.checked ? row.checked : false;\n const isRowDeleted = row.deleted ? row.deleted : false;\n const isRowDisabled = row.disabled ? row.disabled : false;\n const onFocusOut = (event) => {\n const nextFocus = event.relatedTarget;\n if (nextFocus &&\n !nextFocus.className.includes('table-body-row') &&\n !nextFocus.className.includes('table-body-row__action')) {\n this._resetRowsTabIndex();\n }\n };\n const onRowKeyDown = (e) => {\n const tgt = e.currentTarget;\n const keyboardEvent = e;\n let flag = false;\n switch (keyboardEvent.key) {\n case 'ArrowUp':\n moveFocusToPreviousTarget(this.renderRoot, tgt, '.table-body-row');\n flag = true;\n break;\n case 'ArrowDown':\n moveFocusToNextTarget(this.renderRoot, tgt, '.table-body-row');\n flag = true;\n break;\n /* eslint no-case-declarations: \"off\" */\n case 'Enter':\n const headerTitle = e.target;\n onKeyboardEnter(this.renderRoot, headerTitle, '.table-body-row');\n if (this._multiselect || this._radioselect) {\n if (!isRowDeleted && !isRowDisabled) {\n if (row.checked) {\n row.checked = !row.checked;\n }\n else {\n row.checked = true;\n }\n }\n else if (this._enableRowActionsOnDeleted && isRowDeleted) {\n if (row.checked) {\n row.checked = !row.checked;\n }\n else {\n row.checked = true;\n }\n }\n else if (this._enableRowActionsOnDisabled && isRowDisabled) {\n if (row.checked) {\n row.checked = !row.checked;\n }\n else {\n row.checked = true;\n }\n }\n this.requestUpdate();\n }\n flag = true;\n break;\n case 'Escape':\n const path = e.composedPath();\n const targetElement = path.find(el => el instanceof HTMLElement &&\n el.classList.contains('table-body-row'));\n if (targetElement) {\n targetElement.focus();\n }\n break;\n default:\n break;\n }\n if (flag) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n const tableBodyCheckbox = this._multiselect\n ? this._generateTableTdCheckbox(row, isRowChecked, isRowDisabled, isRowDeleted)\n : html ``;\n const tableBodyRadio = this._radioselect\n ? this._generateTableTdRadio(isRowChecked, isRowDisabled, isRowDeleted)\n : html ``;\n const tableBodyButtons = this._hasRowButton\n ? this._generateTableTdButton(row, isRowDisabled, isRowDeleted)\n : html ``;\n const tableBodyActions = this._hasRowActions\n ? this._generateTableTdActions(row, isRowDisabled, isRowDeleted)\n : html ``;\n const tableBodyColumns = this._tableHeader.map(key => {\n const onReviewChange = (itemKey) => {\n row[itemKey].value = !row[itemKey].value;\n const options = {\n detail: { action: 'review', row },\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onRowAction', options));\n this.requestUpdate();\n };\n const tableColumnClassMap = {\n 'table-body-column--text': row[key].type === 'text',\n 'table-body-column--number': row[key].type === 'number',\n 'table-body-column--link': row[key].type === 'link',\n 'table-body-column--badge': row[key].type === 'badge',\n 'table-body-column--result': row[key].type === 'result',\n 'table-body-column--review': row[key].type === 'review',\n 'table-body-column--progress': row[key].type === 'progress',\n 'table-body-column--font-bold': row[key].fontType === 'bold',\n 'table-body-column--font-black': row[key].fontType === 'black',\n 'table-body-column--icon-right': row[key].iconRight,\n };\n return html `\n <td class=\"table-td\" style=\"${ifDefined(row[key].style)}\">\n <div\n class=\"table-body-column table-body-column--custom ${classMap(tableColumnClassMap)}\"\n >\n ${row[key].type === 'text'\n ? html `\n ${row[key].icon\n ? html `\n <span class=\"dss-icon dss-icon--sm column-icon\"\n >${row[key].icon}</span\n >\n `\n : null}\n ${row[key].badgeBefore\n ? html `\n <dss-badge\n size=\"md\"\n state=\"${isRowDisabled\n ? 'disabled'\n : row[key].state}\"\n text=\"${row[key].badgeBefore}\"\n outlined\n hideIcon\n >\n ${row[key].badgeTooltip\n ? html `\n <dss-tooltip slot=\"tooltip\" position=\"top\">\n <span>${row[key].badgeTooltip}</span>\n </dss-tooltip>\n `\n : null}\n </dss-badge>\n `\n : null}\n\n <span class=\"column-value\">\n <span class=\"value\">\n ${row[key].value === ''\n ? html `<i class=\"dss-icon dss-icon--md\">remove</i>`\n : null}\n ${row[key].value.length <= this._valueMaxLength\n ? html `${row[key].value}`\n : html `${row[key].value.slice(0, this._valueMaxLength)}...`}\n </span>\n ${row[key].valueTooltip\n ? html `\n <dss-tooltip position=\"top\">\n <span>${row[key].valueTooltip}</span>\n </dss-tooltip>\n `\n : null}\n </span>\n `\n : row[key].type === 'number'\n ? html `\n ${row[key].icon\n ? html `\n <span class=\"dss-icon dss-icon--sm column-icon\"\n >${row[key].icon}</span\n >\n `\n : null}\n <span class=\"column-value\">${row[key].value}</span>\n `\n : row[key].type === 'link'\n ? html `\n ${row[key].icon\n ? html `\n <span class=\"dss-icon dss-icon--sm column-icon\"\n >${row[key].icon}</span\n >\n `\n : null}\n ${isRowDisabled\n ? html `\n <span class=\"column-value\">${row[key].value}</span>\n `\n : html `\n <a\n class=\"column-value column-value--link\"\n href=\"${row[key].href}\"\n ?disabled=${isRowDisabled}\n >\n <span class=\"value\">\n ${row[key].value.length <= this._valueMaxLength\n ? html `${row[key].value}`\n : html `${row[key].value.slice(0, this._valueMaxLength)}...`}\n </span>\n ${row[key].valueTooltip\n ? html `\n <dss-tooltip position=\"top\">\n <span>${row[key].valueTooltip}</span>\n </dss-tooltip>\n `\n : null}\n </a>\n `}\n `\n : row[key].type === 'badge'\n ? html `\n <dss-badge\n size=\"md\"\n state=\"${isRowDisabled ? 'disabled' : row[key].state}\"\n text=\"${row[key].value}\"\n ></dss-badge>\n `\n : row[key].type === 'result'\n ? html `\n <dss-icon-badge\n size=\"sm\"\n state=\"${isRowDisabled ? 'disabled' : row[key].state}\"\n icon=\"${row[key].icon}\"\n bubble\n ></dss-icon-badge>\n <span class=\"column-value\">${row[key].value}</span>\n `\n : row[key].type === 'actions'\n ? this._generateTableTdSelfActions(row, key, row[key], isRowDisabled, isRowDeleted)\n : row[key].type === 'review'\n ? html `\n <input\n type=\"checkbox\"\n class=\"dss-checkbox dss-checkbox--validate\"\n ?checked=\"${row[key].value}\"\n @change=\"${() => onReviewChange(key)}\"\n ?disabled=${(isRowDisabled &&\n !this._enableRowActionsOnDisabled) ||\n (isRowDeleted && !this._enableRowActionsOnDeleted)}\n />\n `\n : row[key].type === 'progress'\n ? html `\n ${row[key].icon\n ? html `\n <span class=\"dss-icon dss-icon--sm column-icon\"\n >${row[key].icon}</span\n >\n `\n : null}\n <dss-progress-indicator\n percentage=\"23\"\n ></dss-progress-indicator>\n `\n : null}\n </div>\n </td>\n `;\n });\n const rowClassMap = {\n 'table-body-row--selected': isRowChecked,\n 'table-body-row--deleted': isRowDeleted,\n 'table-body-row--disabled': isRowDisabled,\n };\n const tableRow = html ` <tr\n class=\"table-body-row ${classMap(rowClassMap)}\"\n tabindex=\"${isFirstRow ? 0 : -1}\"\n style=${ifDefined(this._tableGridStyle)}\n @keydown=${onRowKeyDown}\n @focusout=${onFocusOut}\n >\n ${tableBodyCheckbox} ${tableBodyRadio} ${tableBodyColumns}\n ${tableBodyButtons} ${tableBodyActions}\n </tr>`;\n isFirstRow = false;\n return tableRow;\n });\n }\n return tableBody;\n }\n _generateFilterChips() {\n let filterChips;\n if (this._filters) {\n filterChips = this._filters.map(filter => {\n const onClickOption = (e) => {\n const termClicked = e.target.getAttribute('term');\n if (typeof filter === 'string') {\n this._filters = this._filters.filter(item => item !== termClicked);\n }\n else {\n this._filters = this._filters.filter(item => item.value.trim() !== (termClicked === null || termClicked === void 0 ? void 0 : termClicked.trim()));\n }\n this._emitChangeFilters();\n this.requestUpdate();\n };\n const filterType = typeof filter;\n const chip = html `\n <span tabindex=\"0\" class=\"dss-chip dss-chip--sm dss-chip--selected\">\n ${filterType === 'string'\n ? html `\n ${filter}\n <button\n class=\"dss-chip__icon-button dss-icon-button dss-icon-button--primary dss-icon-button--sm\"\n @click=\"${onClickOption}\"\n >\n <span class=\"dss-icon\" term=\"${filter}\">cancel</span>\n </button>\n `\n : html `\n <span class=\"dss-icon\">${filter.icon}</span>\n ${filter.value}\n <button\n class=\"dss-chip__icon-button dss-icon-button dss-icon-button--primary dss-icon-button--sm\"\n @click=\"${onClickOption}\"\n >\n <span class=\"dss-icon\" term=\" ${filter.value}\"\n >cancel</span\n >\n </button>\n `}\n </span>\n `;\n return chip;\n });\n }\n return filterChips;\n }\n _clearFilters() {\n this._filters = [];\n this._emitChangeFilters();\n this.requestUpdate();\n }\n _countRowsChecked() {\n let count = 0;\n for (const row of this._pipeData) {\n if (row.checked) {\n count += 1;\n }\n }\n return count;\n }\n _getRowsSelected() {\n const selectedRows = [];\n this._pipeData.forEach(row => {\n if (row.checked) {\n const removeCheckedRow = { ...row };\n delete removeCheckedRow.checked;\n selectedRows.push(removeCheckedRow);\n }\n });\n return selectedRows;\n }\n // Output events\n _emitExpandAction() {\n const options = {\n detail: this._expandTable,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onExpandTable', options));\n this._expandTable = !this._expandTable;\n this.requestUpdate();\n }\n _emitOpenFilters() {\n const options = {\n detail: true,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onOpenFilters', options));\n this.requestUpdate();\n }\n _emitChangeFilters() {\n const options = {\n detail: this._filters,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onChangeFilters', options));\n this.requestUpdate();\n }\n _emitFooterAction(action) {\n const selectedRows = this._getRowsSelected();\n const options = {\n detail: { action, selectedRows },\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onFooterAction', options));\n this.requestUpdate();\n }\n render() {\n const tableClassMap = {\n 'table--max-content-width': this._maxContentWidth,\n 'table--sticky-columns': this._maxContentWidth && this._stickyColumns,\n 'table--sticky-columns--multiselect': this._maxContentWidth && this._stickyColumns && this._multiselect,\n 'table--sticky-columns--radioselect': this._maxContentWidth && this._stickyColumns && this._radioselect,\n };\n const tableBodyClassMap = {\n 'table-body--align-left': this._data.length > 0 && this._textAlign === 'left',\n 'table-body--align-center': this._data.length > 0 && this._textAlign === 'center',\n 'table-body--align-right': this._data.length > 0 && this._textAlign === 'right',\n 'table-body--align-justify': this._data.length > 0 && this._textAlign === 'justify',\n };\n return html `\n <div class=\"dss-table\">\n ${!this._hideHeader\n ? html `\n <div class=\"dss-table-header\">\n <div class=\"dss-table-header-title\">\n <div class=\"dss-table-header-title__text\">\n ${this._headerTitle}\n </div>\n <div\n class=\"dss-table-header-title__action\"\n role=\"button\"\n tabindex=\"0\"\n @click=\"${this._emitExpandAction}\"\n >\n ${this._expandTable\n ? html `\n <span class=\"dss-icon dss-icon--sm\">fullscreen</span>\n <span>${this._collapseLabel}</span>\n `\n : html `\n <span class=\"dss-icon dss-icon--sm\">fullscreen</span>\n <span>${this._expandLabel}</span>\n `}\n </div>\n </div>\n\n ${this._innerFilters\n ? html `\n <div\n class=\"dss-table-header-filters dss-table-header-filters--inner\"\n >\n <div class=\"dss-table-header-filters__filters\">\n <slot name=\"filters\"></slot>\n </div>\n <div class=\"dss-table-header-filters__actions\"></div>\n </div>\n `\n : html `\n <div\n class=\"dss-table-header-filters dss-table-header-filters--outer\"\n >\n <div class=\"dss-table-header-filters__filters\">\n <div class=\"filters-label\">\n ${this._filtersLabel}:\n </div>\n <div class=\"filters-list\">\n ${this._filters.length > 0\n ? html ` ${this._generateFilterChips()} `\n : html `\n <span class=\"filters-list-empty\">\n ${this._noFiltersLabel}\n </span>\n `}\n </div>\n <div class=\"filters-clean\">\n ${this._filters.length > 0\n ? html `\n <button\n type=\"button\"\n class=\"dss-button dss-button--sm dss-button--secondary dss-button--icon-left\"\n @click=${this._clearFilters}\n >\n <span class=\"material-symbols-rounded\"\n >mop</span\n >${this._cleanFiltersLabel}\n </button>\n `\n : null}\n </div>\n </div>\n\n <div class=\"dss-table-header-filters__actions\">\n <button\n type=\"button\"\n class=\"dss-button dss-button--md dss-button--secondary dss-button--icon-left\"\n @click=${this._emitOpenFilters}\n >\n <span class=\"material-symbols-rounded\"\n >filter_list</span\n >\n ${this._openFiltersLabel}\n </button>\n </div>\n </div>\n `}\n </div>\n `\n : null}\n\n <div class=\"dss-table-main\">\n <div\n class=\"dss-table-container\"\n style=\"${ifDefined(this._tableHeight)}\"\n >\n <table\n class=\"table ${classMap(tableClassMap)}\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n >\n <thead\n class=\"table-header\"\n style=${ifDefined(this._tableGridStyle)}\n >\n ${this._generateTableHeaderHTML()}\n </thead>\n <tbody class=\"table-body ${classMap(tableBodyClassMap)}\">\n ${this._customData\n ? this._generateCustomTableBody()\n : this._generateDefaultTableBody()}\n </tbody>\n </table>\n </div>\n ${this._hasPaginator\n ? html `\n <dss-table-pagination\n length=${this._customData\n ? this._customData.length\n : this._data.length}\n pagesize=${this._pageSize}\n pageSizeOptions=${this._pageSizeOptions}\n currentindex=${this._currentIndex}\n resultstext=${this._resultstext}\n rowsperpagetext=${this._rowsperpagetext}\n @onChangePage=${this._paginateTable}\n ></dss-table-pagination>\n `\n : null}\n </div>\n\n ${this._multiselect\n ? html `\n <div class=\"table-footer\">\n <div class=\"table-footer-description\">\n ${this._countRowsChecked()} ${this._selectedRowsLabel}\n </div>\n\n <div class=\"table-footer-actions\">\n ${this._footerButtons >= 3\n ? html `\n <button\n type=\"button\"\n class=\"dss-button dss-button--md dss-button--subtle\"\n ?disabled=${this._countRowsChecked() <= 0}\n @click=${() => this._emitFooterAction('alternative')}\n >\n ${this._footerButtonAlternativeLabel}\n </button>\n `\n : null}\n ${this._footerButtons >= 2\n ? html `\n <button\n type=\"button\"\n class=\"dss-button dss-button--md dss-button--secondary\"\n ?disabled=${this._countRowsChecked() <= 0}\n @click=${() => this._emitFooterAction('secondary')}\n >\n ${this._footerButtonSecondaryLabel}\n </button>\n `\n : null}\n ${this._footerButtons >= 1\n ? html `\n <button\n type=\"button\"\n class=\"dss-button dss-button--md dss-button--primary\"\n ?disabled=${this._countRowsChecked() <= 0}\n @click=${() => this._emitFooterAction('primary')}\n >\n ${this._footerButtonPrimaryLabel}\n </button>\n `\n : null}\n </div>\n </div>\n `\n : null}\n </div>\n `;\n }\n};\n__decorate([\n property({ type: Boolean })\n], Table.prototype, \"hasPaginator\", null);\n__decorate([\n property({ type: Array })\n], Table.prototype, \"data\", null);\n__decorate([\n property({ type: Array })\n], Table.prototype, \"customData\", null);\n__decorate([\n property({ type: Array })\n], Table.prototype, \"customTableHeader\", null);\n__decorate([\n property({ type: Array })\n], Table.prototype, \"filters\", null);\n__decorate([\n property({ type: Number })\n], Table.prototype, \"currentIndex\", null);\n__decorate([\n property({ type: Number })\n], Table.prototype, \"pageSize\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"pageSizeOptions\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"resultstext\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"rowsperpagetext\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"textAlign\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"headerTitle\", null);\n__decorate([\n property({ type: Boolean })\n], Table.prototype, \"hideHeader\", null);\n__decorate([\n property({ type: Boolean })\n], Table.prototype, \"innerFilters\", null);\n__decorate([\n property({ type: Boolean })\n], Table.prototype, \"expandTable\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"expandLabel\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"collapseLabel\", null);\n__decorate([\n property({ type: Number })\n], Table.prototype, \"rowsOnCollapsed\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"filtersLabel\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"cleanFiltersLabel\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"selectedRowsLabel\", null);\n__decorate([\n property({ type: Number })\n], Table.prototype, \"footerButtons\", null);\n__decorate([\n property({ type: Boolean })\n], Table.prototype, \"maxContentWidth\", null);\n__decorate([\n property({ type: Boolean })\n], Table.prototype, \"stickyColumns\", null);\n__decorate([\n property({ type: Boolean })\n], Table.prototype, \"multiselect\", null);\n__decorate([\n property({ type: Boolean })\n], Table.prototype, \"radioselect\", null);\n__decorate([\n property({ type: Boolean })\n], Table.prototype, \"hasRowButton\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"rowButtonLabel\", null);\n__decorate([\n property({ type: Boolean })\n], Table.prototype, \"hasRowActions\", null);\n__decorate([\n property({ type: Array })\n], Table.prototype, \"rowActionsIcons\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"footerButtonPrimaryLabel\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"footerButtonSecondaryLabel\", null);\n__decorate([\n property({ type: String })\n], Table.prototype, \"footerButtonAlternativeLabel\", null);\n__decorate([\n property({ type: Boolean })\n], Table.prototype, \"enableRowActionsOnDisabled\", null);\n__decorate([\n property({ type: Boolean })\n], Table.prototype, \"enableRowActionsOnDeleted\", null);\n__decorate([\n property({ type: Number })\n], Table.prototype, \"valueMaxLength\", null);\nTable = __decorate([\n customElement('dss-table')\n], Table);\nexport { Table };\n//# sourceMappingURL=table.js.map","import { __decorate } from \"tslib\";\n/* eslint-disable lit-a11y/click-events-have-key-events */\n/* eslint-disable import/extensions */\n/* eslint-disable no-param-reassign */\n/* eslint-disable no-nested-ternary */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { badgeStyles } from './shared-styles/badge.style';\nimport { buttonStyles } from './shared-styles/button.style';\nimport { chipStyles } from './shared-styles/chip.style';\nimport { checkboxStyles } from './shared-styles/checkbox.style';\nimport { radioStyles } from './shared-styles/radio.style';\nimport { iconButtonStyles } from './shared-styles/icon-button.style';\nlet TableHeader = class TableHeader extends LitElement {\n constructor() {\n super(...arguments);\n this._filters = [];\n this._headerTitle = '';\n this._innerFilters = false;\n this._expandTable = false;\n this._expandLabel = 'Ampliar';\n this._collapseLabel = 'Reduir';\n this._rowsOnCollapsed = 5;\n this._filtersLabel = 'Selecció';\n this._cleanFiltersLabel = 'Netejar filtres';\n this._openFiltersLabel = 'Filtres';\n this._noFiltersLabel = 'No hi ha filtres seleccionats';\n }\n static get styles() {\n return [\n symbolStyles,\n buttonStyles,\n chipStyles,\n checkboxStyles,\n radioStyles,\n iconButtonStyles,\n css `\n :host {\n display: block;\n width: 100%;\n }\n\n .dss-table-header {\n padding: var(--dss-spacing-md) 0;\n }\n\n .dss-table-header-title {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: var(--dss-spacing-xs);\n margin-bottom: var(--dss-spacing-md);\n }\n\n .dss-table-header-title__text {\n color: var(--color-neutral-900);\n font-weight: var(--font-bold);\n font-size: 20px;\n }\n\n .dss-table-header-title__action {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: var(--dss-spacing-xxs);\n font-size: 14px;\n color: var(--color-primary-700);\n cursor: pointer;\n border-radius: var(--dss-radius-xs);\n font-weight: var(--font-semibold);\n }\n\n .dss-table-header-title__action:hover {\n color: var(--color-primary-600);\n }\n\n .dss-table-header-title__action:active {\n color: var(--color-primary-400);\n }\n\n .dss-table-header-title__action:focus-visible {\n outline: var(--dss-border-width-md) solid var(--color-blue-200);\n }\n\n .dss-table-header-filters {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .dss-table-header-filters__filters {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: var(--dss-spacing-md);\n width: 70%;\n box-sizing: border-box;\n }\n\n .dss-table-header-filters--inner .dss-table-header-filters__filters {\n width: 80%;\n }\n\n .filters-label {\n font-size: 14px;\n font-weight: var(--font-bold);\n color: var(--color-neutral-600);\n }\n\n .filters-list {\n display: flex;\n flex-wrap: wrap;\n max-width: 60%;\n gap: var(--dss-spacing-xs);\n }\n\n .filters-list-empty {\n font-size: 14px;\n color: var(--color-neutral-600);\n }\n\n .filters-clean {\n padding-left: var(--dss-spacing-md);\n border-left: var(--dss-border-width-sm) solid var(--color-neutral-100);\n }\n\n .dss-table-header-filters__actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: var(--dss-spacing-md);\n width: 30%;\n box-sizing: border-box;\n }\n\n .dss-table-header-filters--inner .dss-table-header-filters__actions {\n width: 20%;\n }\n\n ::slotted(div.dss-table-filters) {\n width: 100%;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: var(--dss-spacing-xs);\n }\n `,\n badgeStyles, // Fix: Last position to override default icon badge style\n ];\n }\n set filters(filters) {\n const oldValue = this._filters;\n this._filters = filters;\n this.requestUpdate('filters', oldValue);\n }\n set headerTitle(value) {\n const oldValue = this._headerTitle;\n this._headerTitle = value;\n this.requestUpdate('headerTitle', oldValue);\n }\n set innerFilters(value) {\n const oldValue = this._innerFilters;\n this._innerFilters = value;\n this.requestUpdate('innerFilters', oldValue);\n }\n set expandTable(value) {\n const oldValue = this._expandTable;\n this._expandTable = value;\n this.requestUpdate('expandTable', oldValue);\n }\n set expandLabel(value) {\n const oldValue = this._expandLabel;\n this._expandLabel = value;\n this.requestUpdate('expandLabel', oldValue);\n }\n set collapseLabel(value) {\n const oldValue = this._collapseLabel;\n this._collapseLabel = value;\n this.requestUpdate('collapseLabel', oldValue);\n }\n set rowsOnCollapsed(value) {\n const oldValue = this._rowsOnCollapsed;\n this._rowsOnCollapsed = value;\n this.requestUpdate('rowsOnCollapsed', oldValue);\n }\n set filtersLabel(value) {\n const oldValue = this._filtersLabel;\n this._filtersLabel = value;\n this.requestUpdate('filtersLabel', oldValue);\n }\n set cleanFiltersLabel(value) {\n const oldValue = this._cleanFiltersLabel;\n this._cleanFiltersLabel = value;\n this.requestUpdate('cleanFiltersLabel', oldValue);\n }\n _generateFilterChips() {\n let filterChips;\n if (this._filters) {\n filterChips = this._filters.map(filter => {\n const onClickOption = (e) => {\n const termClicked = e.target.getAttribute('term');\n if (typeof filter === 'string') {\n this._filters = this._filters.filter(item => item !== termClicked);\n }\n else {\n this._filters = this._filters.filter(item => item.value.trim() !== (termClicked === null || termClicked === void 0 ? void 0 : termClicked.trim()));\n }\n this._emitChangeFilters();\n this.requestUpdate();\n };\n const filterType = typeof filter;\n const chip = html `\n <span tabindex=\"0\" class=\"dss-chip dss-chip--sm dss-chip--selected\">\n ${filterType === 'string'\n ? html `\n ${filter}\n <button\n class=\"dss-chip__icon-button dss-icon-button dss-icon-button--primary dss-icon-button--sm\"\n @click=\"${onClickOption}\"\n >\n <span class=\"dss-icon\" term=\"${filter}\">cancel</span>\n </button>\n `\n : html `\n <span class=\"dss-icon\">${filter.icon}</span>\n ${filter.value}\n <button\n class=\"dss-chip__icon-button dss-icon-button dss-icon-button--primary dss-icon-button--sm\"\n @click=\"${onClickOption}\"\n >\n <span class=\"dss-icon\" term=\" ${filter.value}\"\n >cancel</span\n >\n </button>\n `}\n </span>\n `;\n return chip;\n });\n }\n return filterChips;\n }\n _clearFilters() {\n this._filters = [];\n this._emitChangeFilters();\n this.requestUpdate();\n }\n // Output events\n _emitExpandAction() {\n const options = {\n detail: this._expandTable,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onExpandTable', options));\n this._expandTable = !this._expandTable;\n this.requestUpdate();\n }\n _emitOpenFilters() {\n const options = {\n detail: true,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onOpenFilters', options));\n this.requestUpdate();\n }\n _emitChangeFilters() {\n const options = {\n detail: this._filters,\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onChangeFilters', options));\n this.requestUpdate();\n }\n render() {\n return html `\n <div class=\"dss-table-header\">\n <div class=\"dss-table-header-title\">\n <div class=\"dss-table-header-title__text\">${this._headerTitle}</div>\n <div\n class=\"dss-table-header-title__action\"\n role=\"button\"\n tabindex=\"0\"\n @click=\"${this._emitExpandAction}\"\n >\n ${this._expandTable\n ? html `\n <span class=\"dss-icon dss-icon--sm\">fullscreen</span>\n <span>${this._collapseLabel}</span>\n `\n : html `\n <span class=\"dss-icon dss-icon--sm\">fullscreen</span>\n <span>${this._expandLabel}</span>\n `}\n </div>\n </div>\n\n ${this._innerFilters\n ? html `\n <div\n class=\"dss-table-header-filters dss-table-header-filters--inner\"\n >\n <div class=\"dss-table-header-filters__filters\">\n <slot name=\"filters\"></slot>\n </div>\n <div class=\"dss-table-header-filters__actions\"></div>\n </div>\n `\n : html `\n <div\n class=\"dss-table-header-filters dss-table-header-filters--outer\"\n >\n <div class=\"dss-table-header-filters__filters\">\n <div class=\"filters-label\">${this._filtersLabel}:</div>\n <div class=\"filters-list\">\n ${this._filters.length > 0\n ? html ` ${this._generateFilterChips()} `\n : html `\n <span class=\"filters-list-empty\">\n ${this._noFiltersLabel}\n </span>\n `}\n </div>\n <div class=\"filters-clean\">\n ${this._filters.length > 0\n ? html `\n <button\n type=\"button\"\n class=\"dss-button dss-button--sm dss-button--secondary dss-button--icon-left\"\n @click=${this._clearFilters}\n >\n <span class=\"material-symbols-rounded\">mop</span\n >${this._cleanFiltersLabel}\n </button>\n `\n : null}\n </div>\n </div>\n\n <div class=\"dss-table-header-filters__actions\">\n <button\n type=\"button\"\n class=\"dss-button dss-button--md dss-button--secondary dss-button--icon-left\"\n @click=${this._emitOpenFilters}\n >\n <span class=\"material-symbols-rounded\">filter_list</span>\n ${this._openFiltersLabel}\n </button>\n </div>\n </div>\n `}\n </div>\n `;\n }\n};\n__decorate([\n property({ type: Array })\n], TableHeader.prototype, \"filters\", null);\n__decorate([\n property({ type: String })\n], TableHeader.prototype, \"headerTitle\", null);\n__decorate([\n property({ type: Boolean })\n], TableHeader.prototype, \"innerFilters\", null);\n__decorate([\n property({ type: Boolean })\n], TableHeader.prototype, \"expandTable\", null);\n__decorate([\n property({ type: String })\n], TableHeader.prototype, \"expandLabel\", null);\n__decorate([\n property({ type: String })\n], TableHeader.prototype, \"collapseLabel\", null);\n__decorate([\n property({ type: Number })\n], TableHeader.prototype, \"rowsOnCollapsed\", null);\n__decorate([\n property({ type: String })\n], TableHeader.prototype, \"filtersLabel\", null);\n__decorate([\n property({ type: String })\n], TableHeader.prototype, \"cleanFiltersLabel\", null);\nTableHeader = __decorate([\n customElement('dss-table-header')\n], TableHeader);\nexport { TableHeader };\n//# sourceMappingURL=table-header.js.map","import { __decorate } from \"tslib\";\n/* eslint-disable lit-a11y/click-events-have-key-events */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nlet Stepper = class Stepper extends LitElement {\n constructor() {\n super(...arguments);\n this._steps = [];\n this._currentStep = 1;\n this._column = false;\n this._circular = false;\n this._hideLabel = false;\n this._size = 'md';\n this._activeBarWidth = '0';\n this._isFirstUpdate = true;\n }\n static get styles() {\n return css `\n :host {\n display: inline-block;\n height: 100%;\n width: 100%;\n --circle: 32px;\n --circle-md: 24px;\n --circle-sm: 16px;\n --default-background: var(--color-white);\n --default-border-color: var(--color-neutral-500);\n --default-font-color: var(--color-neutral-900);\n --default-background-hover: var(--color-neutral-50);\n --default-font-color-active: var(--color-neutral-500);\n --active-background: var(--color-primary-500);\n --active-border-color: var(--color-primary-500);\n --active-font-color: var(--color-white);\n --completed-background: var(--color-primary-50);\n --disabled-background: var(--color-neutral-100);\n --disabled-border-color: var(--color-neutral-100);\n --disabled-font-color: var(--color-neutral-600);\n --line-width: 2px; /* line thickness */\n --font-size: 18px;\n --font-size-md: 16px;\n --font-size-sm: 16px;\n }\n\n .dss-circular-stepper {\n display: flex;\n gap: 16px;\n align-items: center;\n }\n\n .dss-circular-stepper__item {\n width: 3rem;\n height: 3rem;\n position: relative;\n }\n\n .dss-circular-stepper__item svg {\n width: 3rem;\n height: 3rem;\n transform: rotate(-90deg);\n }\n\n .dss-circular-stepper__counter {\n position: absolute;\n font-size: 0.9rem;\n line-height: 24px;\n left: 0;\n top: 0;\n width: 3rem;\n height: 3rem;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .dss-circular-stepper__label,\n .dss-circular-stepper__counter b {\n font-weight: 600;\n color: var(--color-neutral-700);\n font-size: 0.9rem;\n transition: 0.3s all ease-in;\n line-height: 24px;\n }\n\n .dss-circular-stepper circle {\n stroke: var(--color-neutral-200);\n stroke-dashoffset: 0;\n fill: none;\n stroke-linecap: round;\n stroke-width: 6px;\n stroke-dasharray: 100, 100;\n transition: 0.3s all ease-in;\n }\n\n .dss-circular-stepper circle:last-of-type {\n stroke: var(--color-primary-500);\n stroke-dasharray: var(--percent), 100;\n stroke-dashoffset: 0;\n }\n\n .dss-stepper {\n display: flex;\n list-style: none;\n justify-content: space-between;\n background: linear-gradient(var(--default-border-color) 0 0) no-repeat\n 50% calc((var(--circle) - var(--line-width)) / 2) / 100%\n var(--line-width);\n counter-reset: step;\n margin: var(--dss-spacing-xxs) 0 var(--dss-spacing-xl);\n padding: 0;\n counter-reset: step;\n }\n\n .dss-stepper--md {\n background: linear-gradient(var(--default-border-color) 0 0) no-repeat\n 50% calc((var(--circle-md) - var(--line-width)) / 2) / 100%\n var(--line-width);\n }\n\n .dss-stepper--sm {\n background: linear-gradient(var(--default-border-color) 0 0) no-repeat\n 50% calc((var(--circle-sm) - var(--line-width)) / 2) / 100%\n var(--line-width);\n }\n\n .dss-bubble {\n display: grid;\n place-items: center;\n gap: 0;\n position: relative;\n border-radius: 50%;\n transition: 0.3s outline ease-in;\n }\n\n .dss-bubble:focus-visible {\n outline: var(--dss-border-width-lg) solid var(--color-blue-200);\n }\n /* Bubble Completed */\n .dss-bubble::before {\n /* Default bubble is completed */\n cursor: pointer;\n content: counter(step) ' ';\n counter-increment: step;\n display: grid;\n place-content: center;\n aspect-ratio: 1;\n height: var(--circle);\n box-sizing: border-box;\n border-radius: 50%;\n font-size: var(--font-size);\n font-weight: var(--font-semibold);\n font-family: var(--font-family);\n z-index: 100;\n background-color: var(--default-background);\n border: var(--line-width) solid var(--active-border-color);\n color: var(--default-font-color);\n transition: 0.3s all ease-in;\n }\n\n .dss-bubble:not(.dss-bubble--active):not(:active):hover::before {\n background-color: var(--completed-background);\n }\n\n .dss-bubble:active::before {\n }\n\n .dss-stepper--md .dss-bubble::before {\n height: var(--circle-md);\n font-size: var(--font-size-md);\n }\n\n .dss-stepper--sm .dss-bubble::before {\n content: '';\n height: var(--circle-sm);\n font-size: var(--font-size-sm);\n height: 16px;\n width: 16px;\n }\n\n /* Bubble Active */\n .dss-bubble--active::before {\n background-color: var(--active-background);\n border-color: var(--active-border-color);\n color: var(--active-font-color);\n }\n\n /* Bubble Default */\n .dss-bubble--active ~ .dss-bubble::before {\n /* Default bubble are all set after active */\n background-color: var(--default-background);\n border-color: var(--default-border-color);\n color: var(--default-font-color);\n }\n\n .dss-bubble--active ~ .dss-bubble:not(.dss-bubble--active):hover::before {\n background-color: var(--default-background-hover);\n }\n\n .dss-bubble--active ~ .dss-bubble:active::before {\n background-color: var(--default-background);\n color: var(--default-font-color-active);\n }\n\n /* Bubble Icon */\n .dss-bubble--icon::before {\n content: attr(icon);\n font-family: 'Material Symbols Rounded';\n font-weight: normal;\n }\n\n /* Bubble States */\n .dss-bubble--checked::before {\n content: 'done';\n font-family: 'Material Symbols Rounded';\n font-weight: normal;\n font-size: 24px;\n color: var(--color-primary-500) !important;\n }\n\n .dss-stepper--sm .dss-bubble--checked::before {\n content: 'check_circle';\n background-color: var(--color-primary-500);\n color: var(--color-white) !important;\n border-width: 1px !important;\n }\n\n .dss-stepper--sm .dss-bubble--checked:hover::before {\n border-color: var(--color-white);\n color: var(--color-primary-500) !important;\n }\n\n .dss-bubble--checked:active::before {\n background-color: var(--color-white);\n color: var(--color-primary-300) !important;\n border-color: var(--color-primary-500) !important;\n }\n\n .dss-stepper--sm .dss-bubble--checked:active::before {\n border-color: var(--color-white) !important;\n color: var(--color-primary-300) !important;\n }\n\n .dss-bubble--info::before,\n .dss-bubble--active ~ .dss-bubble.dss-bubble--info::before {\n content: 'info_i';\n font-family: 'Material Symbols Rounded';\n font-weight: normal;\n background-color: var(--color-white);\n color: var(--color-blue-500);\n border-color: var(--color-blue-500);\n }\n\n .dss-bubble--info:hover::before,\n .dss-bubble--active ~ .dss-bubble.dss-bubble--info:hover::before {\n background-color: var(--color-blue-50) !important;\n }\n\n .dss-bubble--info:active::before,\n .dss-bubble--active\n ~ .dss-bubble.dss-bubble--info:not(.dss-bubble--active):active::before {\n color: var(--color-blue-300) !important;\n background-color: var(--color-white) !important;\n }\n\n .dss-stepper--sm .dss-bubble--info::before,\n .dss-stepper--sm\n .dss-bubble--active\n ~ .dss-bubble.dss-bubble--info::before {\n content: 'info';\n background-color: var(--color-blue-500);\n border-color: var(--color-blue-500);\n color: var(--color-white) !important;\n border-width: 1px !important;\n }\n\n .dss-stepper--sm .dss-bubble--info:hover::before,\n .dss-stepper--sm\n .dss-bubble--active\n ~ .dss-bubble.dss-bubble--info:hover::before {\n background-color: var(--color-blue-50) !important;\n border-color: var(--color-white);\n color: var(--color-blue-500) !important;\n }\n\n .dss-stepper--sm .dss-bubble--info:active::before,\n .dss-stepper--sm\n .dss-bubble--active\n ~ .dss-bubble.dss-bubble--info:active::before {\n background-color: var(--color-white) !important;\n border-color: var(--color-white) !important;\n color: var(--color-blue-300) !important;\n }\n\n .dss-bubble--alert {\n }\n\n .dss-bubble--alert::before,\n .dss-bubble--active ~ .dss-bubble.dss-bubble--alert::before {\n content: 'priority_high';\n font-family: 'Material Symbols Rounded';\n font-weight: normal;\n background-color: var(--color-white);\n color: var(--color-yellow-800);\n border-color: var(--color-yellow-800);\n }\n\n .dss-bubble--alert:not(:active):hover::before {\n background-color: var(--color-yellow-50) !important;\n }\n\n .dss-bubble--alert:active::before,\n .dss-bubble--active ~ .dss-bubble.dss-bubble--alert:active::before {\n color: var(--color-yellow-700) !important;\n background-color: var(--color-white);\n }\n\n .dss-stepper--sm .dss-bubble--alert::before,\n .dss-stepper--sm\n .dss-bubble--active\n ~ .dss-bubble.dss-bubble--alert::before {\n content: 'error';\n background-color: var(--color-yellow-800);\n border-color: var(--color-yellow-800);\n color: var(--color-white) !important;\n border-width: 1px !important;\n }\n\n .dss-stepper--sm .dss-bubble--alert:hover::before,\n .dss-stepper--sm\n .dss-bubble--active\n ~ .dss-bubble.dss-bubble--alert:hover::before {\n background-color: var(--color-yellow-50) !important;\n border-color: var(--color-white);\n color: var(--color-yellow-800) !important;\n }\n\n .dss-stepper--sm .dss-bubble--alert:active::before,\n .dss-stepper--sm\n .dss-bubble--active\n ~ .dss-bubble.dss-bubble--alert:active::before {\n background-color: var(--color-white) !important;\n border-color: var(--color-white) !important;\n color: var(--color-yellow-700) !important;\n }\n\n .dss-bubble--error {\n }\n\n .dss-bubble--error::before,\n .dss-bubble--active ~ .dss-bubble.dss-bubble--error::before {\n content: 'close';\n font-family: 'Material Symbols Rounded';\n font-weight: normal;\n background-color: var(--color-white);\n color: var(--color-red-500);\n border-color: var(--color-red-500);\n }\n\n .dss-bubble--error:not(:active):hover::before {\n background-color: var(--color-red-50) !important;\n }\n\n .dss-bubble--error:active::before,\n .dss-bubble--active ~ .dss-bubble.dss-bubble--error:active::before {\n color: var(--color-red-300) !important;\n background-color: var(--color-white);\n }\n\n .dss-stepper--sm .dss-bubble--error::before,\n .dss-stepper--sm\n .dss-bubble--active\n ~ .dss-bubble.dss-bubble--error::before {\n content: 'cancel';\n background-color: var(--color-red-500);\n border-color: var(--color-red-500);\n color: var(--color-white) !important;\n border-width: 1px !important;\n }\n\n .dss-stepper--sm .dss-bubble--error:hover::before,\n .dss-stepper--sm\n .dss-bubble--active\n ~ .dss-bubble.dss-bubble--error:hover::before {\n background-color: var(--color-red-50) !important;\n border-color: var(--color-white);\n color: var(--color-red-500) !important;\n }\n\n .dss-stepper--sm .dss-bubble--error:active::before,\n .dss-stepper--sm\n .dss-bubble--active\n ~ .dss-bubble.dss-bubble--error:active::before {\n background-color: var(--color-white) !important;\n border-color: var(--color-white) !important;\n color: var(--color-red-300) !important;\n }\n\n .dss-bubble--disabled::before {\n cursor: not-allowed;\n background-color: var(--disabled-background) !important;\n border-color: var(--disabled-border-color) !important;\n color: var(--disabled-font-color) !important;\n }\n\n /* Active Bar */\n .dss-bubble--completed:not(:first-child)::after {\n content: '';\n position: absolute;\n height: var(--line-width);\n right: 0;\n top: calc((var(--circle) - var(--line-width)) / 2);\n width: var(--active-bar-width);\n background: var(--active-background);\n }\n\n .dss-bubble--active:not(:first-child)::after {\n content: '';\n position: absolute;\n height: var(--line-width);\n right: 0;\n top: calc((var(--circle) - var(--line-width)) / 2);\n width: var(--active-bar-width);\n background: var(--active-background);\n animation: animate 0.3s;\n }\n\n .dss-stepper--md .dss-bubble--completed:not(:first-child)::after {\n top: calc((var(--circle-md) - var(--line-width)) / 2);\n }\n\n .dss-stepper--md .dss-bubble--active:not(:first-child)::after {\n top: calc((var(--circle-md) - var(--line-width)) / 2);\n }\n\n .dss-stepper--sm .dss-bubble--completed:not(:first-child)::after {\n top: calc((var(--circle-sm) - var(--line-width)) / 2);\n }\n\n .dss-stepper--sm .dss-bubble--active:not(:first-child)::after {\n top: calc((var(--circle-sm) - var(--line-width)) / 2);\n }\n\n /* Stepper Vertical */\n .dss-stepper--vertical {\n height: 100%;\n flex-direction: column;\n gap: 0;\n background: linear-gradient(var(--default-border-color) 0 0) no-repeat\n calc((var(--circle) - var(--line-width)) / 2) 50% / var(--line-width)\n 100%;\n }\n\n .dss-stepper--vertical .dss-bubble {\n display: flex;\n width: fit-content;\n }\n\n .dss-stepper--vertical .dss-bubble:not(:first-child) {\n margin-top: var(--dss-spacing-lg);\n }\n\n .dss-stepper--vertical .dss-bubble--completed:not(:first-child)::after {\n content: '';\n position: absolute;\n width: var(--line-width);\n bottom: 0;\n left: calc((var(--circle) - var(--line-width)) / 2);\n top: auto;\n right: auto;\n height: var(--active-bar-width);\n background: var(--active-background);\n }\n\n .dss-stepper--vertical .dss-bubble--active:not(:first-child)::after {\n content: '';\n position: absolute;\n width: var(--line-width);\n bottom: 0;\n left: calc((var(--circle) - var(--line-width)) / 2);\n top: auto;\n right: auto;\n height: var(--active-bar-width);\n background: var(--active-background);\n animation: column-animate 0.5s;\n }\n\n .dss-stepper--md.dss-stepper--vertical {\n background: linear-gradient(var(--default-border-color) 0 0) no-repeat\n calc((var(--circle-md) - var(--line-width)) / 2) 50% /\n var(--line-width) 100%;\n }\n\n .dss-stepper--sm.dss-stepper--vertical {\n background: linear-gradient(var(--default-border-color) 0 0) no-repeat\n calc((var(--circle-sm) - var(--line-width)) / 2) 50% /\n var(--line-width) 100%;\n }\n\n .dss-stepper--md.dss-stepper--vertical\n .dss-bubble--completed:not(:first-child)::after {\n left: calc((var(--circle-md) - var(--line-width)) / 2);\n }\n\n .dss-stepper--sm.dss-stepper--vertical\n .dss-bubble--completed:not(:first-child)::after {\n left: calc((var(--circle-sm) - var(--line-width)) / 2);\n }\n\n .dss-stepper--md.dss-stepper--vertical\n .dss-bubble--active:not(:first-child)::after {\n left: calc((var(--circle-md) - var(--line-width)) / 2);\n }\n\n .dss-stepper--sm.dss-stepper--vertical\n .dss-bubble--active:not(:first-child)::after {\n left: calc((var(--circle-sm) - var(--line-width)) / 2);\n }\n\n /* Step Label */\n .dss-stepper:not(.dss-stepper--vertical) .dss-bubble-label {\n position: absolute;\n top: calc(100% + var(--dss-spacing-xxs));\n left: 50%;\n transform: translate(-50%);\n }\n\n .dss-bubble-label {\n width: max-content;\n font-weight: var(--font-regular);\n font-size: 14px;\n color: var(--color-neutral-700);\n }\n\n .dss-bubble-label--disabled {\n color: var(--color-neutral-500);\n }\n\n .dss-bubble--active .dss-bubble-label {\n color: var(--color-neutral-700);\n font-weight: var(--font-semibold);\n }\n\n .dss-stepper--vertical .dss-bubble-label {\n position: absolute;\n left: calc(100% + var(--dss-spacing-xs));\n top: 50%;\n transform: translateY(-50%);\n }\n\n .dss-bubble-label.hide-label {\n display: none;\n }\n\n @keyframes animate {\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n }\n\n .dss-bubble--error:not(:active):hover::before {\n background-color: var(--color-red-50) !important;\n }\n\n .dss-bubble--error:active::before {\n color: var(--color-red-300) !important;\n }\n\n .dss-stepper--sm .dss-bubble--error::before {\n content: 'cancel';\n background-color: var(--color-red-500);\n border-color: var(--color-red-500);\n color: var(--color-white) !important;\n border-width: 1px !important;\n }\n\n .dss-stepper--sm .dss-bubble--error:hover::before {\n background-color: var(--color-red-50) !important;\n border-color: var(--color-white);\n color: var(--color-red-500) !important;\n }\n\n .dss-stepper--sm .dss-bubble--error:active::before {\n background-color: var(--color-white) !important;\n border-color: var(--color-white) !important;\n color: var(--color-red-300) !important;\n }\n\n .dss-bubble--disabled::before {\n cursor: not-allowed;\n background: var(--disabled-background) !important;\n border-color: var(--disabled-border-color) !important;\n color: var(--disabled-font-color) !important;\n }\n\n /* Active Bar */\n .dss-bubble--completed:not(:first-child)::after {\n content: '';\n position: absolute;\n height: var(--line-width);\n right: 0;\n top: calc((var(--circle) - var(--line-width)) / 2);\n width: var(--active-bar-width);\n background: var(--active-background);\n }\n\n .dss-bubble--active:not(:first-child)::after {\n content: '';\n position: absolute;\n height: var(--line-width);\n right: 0;\n top: calc((var(--circle) - var(--line-width)) / 2);\n width: var(--active-bar-width);\n background: var(--active-background);\n animation: animate 0.3s;\n }\n\n .dss-stepper--md .dss-bubble--completed:not(:first-child)::after {\n top: calc((var(--circle-md) - var(--line-width)) / 2);\n }\n\n .dss-stepper--md .dss-bubble--active:not(:first-child)::after {\n top: calc((var(--circle-md) - var(--line-width)) / 2);\n }\n\n .dss-stepper--sm .dss-bubble--completed:not(:first-child)::after {\n top: calc((var(--circle-sm) - var(--line-width)) / 2);\n }\n\n .dss-stepper--sm .dss-bubble--active:not(:first-child)::after {\n top: calc((var(--circle-sm) - var(--line-width)) / 2);\n }\n\n /* Stepper Vertical */\n .dss-stepper--vertical {\n height: 100%;\n flex-direction: column;\n gap: 0;\n background: linear-gradient(var(--default-border-color) 0 0) no-repeat\n calc((var(--circle) - var(--line-width)) / 2) 50% / var(--line-width)\n 100%;\n }\n\n .dss-stepper--vertical .dss-bubble {\n display: flex;\n width: fit-content;\n }\n\n .dss-stepper--vertical .dss-bubble--completed:not(:first-child)::after {\n content: '';\n position: absolute;\n width: var(--line-width);\n bottom: 0;\n left: calc((var(--circle) - var(--line-width)) / 2);\n top: auto;\n right: auto;\n height: var(--active-bar-width);\n background: var(--active-background);\n }\n\n .dss-stepper--vertical .dss-bubble--active:not(:first-child)::after {\n content: '';\n position: absolute;\n width: var(--line-width);\n bottom: 0;\n left: calc((var(--circle) - var(--line-width)) / 2);\n top: auto;\n right: auto;\n height: var(--active-bar-width);\n background: var(--active-background);\n animation: column-animate 0.5s;\n }\n\n .dss-stepper--md.dss-stepper--vertical {\n background: linear-gradient(var(--default-border-color) 0 0) no-repeat\n calc((var(--circle-md) - var(--line-width)) / 2) 50% /\n var(--line-width) 100%;\n }\n\n .dss-stepper--sm.dss-stepper--vertical {\n background: linear-gradient(var(--default-border-color) 0 0) no-repeat\n calc((var(--circle-sm) - var(--line-width)) / 2) 50% /\n var(--line-width) 100%;\n }\n\n .dss-stepper--md.dss-stepper--vertical\n .dss-bubble--completed:not(:first-child)::after {\n left: calc((var(--circle-md) - var(--line-width)) / 2);\n }\n\n .dss-stepper--sm.dss-stepper--vertical\n .dss-bubble--completed:not(:first-child)::after {\n left: calc((var(--circle-sm) - var(--line-width)) / 2);\n }\n\n .dss-stepper--md.dss-stepper--vertical\n .dss-bubble--active:not(:first-child)::after {\n left: calc((var(--circle-md) - var(--line-width)) / 2);\n }\n\n .dss-stepper--sm.dss-stepper--vertical\n .dss-bubble--active:not(:first-child)::after {\n left: calc((var(--circle-sm) - var(--line-width)) / 2);\n }\n\n /* Step Label */\n .dss-stepper:not(.dss-stepper--vertical) .dss-bubble-label {\n position: absolute;\n top: calc(100% + var(--dss-spacing-xxs));\n left: 50%;\n transform: translate(-50%);\n }\n\n .dss-bubble-label {\n width: max-content;\n font-weight: var(--font-regular);\n font-size: 14px;\n color: var(--color-neutral-700);\n }\n\n .dss-bubble-label--disabled {\n color: var(--color-neutral-500);\n }\n\n .dss-bubble--active .dss-bubble-label {\n color: var(--color-neutral-700);\n font-weight: var(--font-semibold);\n }\n\n .dss-stepper--vertical .dss-bubble-label {\n position: absolute;\n left: calc(100% + var(--dss-spacing-xs));\n top: 50%;\n transform: translateY(-50%);\n }\n\n .dss-bubble-label.hide-label {\n display: none;\n }\n\n /* Active Bar */\n .dss-bubble--completed:not(:first-child)::after {\n content: '';\n position: absolute;\n height: var(--line-width);\n right: 0;\n top: calc((var(--circle) - var(--line-width)) / 2);\n width: var(--active-bar-width);\n background: var(--active-background);\n }\n\n .dss-bubble--active:not(:first-child)::after {\n content: '';\n position: absolute;\n height: var(--line-width);\n right: 0;\n top: calc((var(--circle) - var(--line-width)) / 2);\n width: var(--active-bar-width);\n background: var(--active-background);\n animation: animate 0.3s;\n }\n\n .dss-stepper--md .dss-bubble--completed:not(:first-child)::after {\n top: calc((var(--circle-md) - var(--line-width)) / 2);\n }\n\n .dss-stepper--md .dss-bubble--active:not(:first-child)::after {\n top: calc((var(--circle-md) - var(--line-width)) / 2);\n }\n\n .dss-stepper--sm .dss-bubble--completed:not(:first-child)::after {\n top: calc((var(--circle-sm) - var(--line-width)) / 2);\n }\n\n .dss-stepper--sm .dss-bubble--active:not(:first-child)::after {\n top: calc((var(--circle-sm) - var(--line-width)) / 2);\n }\n\n /* Stepper Vertical */\n .dss-stepper--vertical {\n height: 100%;\n flex-direction: column;\n gap: 0;\n background: linear-gradient(var(--default-border-color) 0 0) no-repeat\n calc((var(--circle) - var(--line-width)) / 2) 50% / var(--line-width)\n 100%;\n }\n\n .dss-stepper--vertical .dss-bubble {\n display: flex;\n width: fit-content;\n }\n\n .dss-stepper--vertical .dss-bubble--completed:not(:first-child)::after {\n content: '';\n position: absolute;\n width: var(--line-width);\n bottom: 0;\n left: calc((var(--circle) - var(--line-width)) / 2);\n top: auto;\n right: auto;\n height: var(--active-bar-width);\n background: var(--active-background);\n }\n\n .dss-stepper--vertical .dss-bubble--active:not(:first-child)::after {\n content: '';\n position: absolute;\n width: var(--line-width);\n bottom: 0;\n left: calc((var(--circle) - var(--line-width)) / 2);\n top: auto;\n right: auto;\n height: var(--active-bar-width);\n background: var(--active-background);\n animation: column-animate 0.5s;\n }\n\n .dss-stepper--md.dss-stepper--vertical {\n background: linear-gradient(var(--default-border-color) 0 0) no-repeat\n calc((var(--circle-md) - var(--line-width)) / 2) 50% /\n var(--line-width) 100%;\n }\n\n .dss-stepper--sm.dss-stepper--vertical {\n background: linear-gradient(var(--default-border-color) 0 0) no-repeat\n calc((var(--circle-sm) - var(--line-width)) / 2) 50% /\n var(--line-width) 100%;\n }\n\n .dss-stepper--md.dss-stepper--vertical\n .dss-bubble--completed:not(:first-child)::after {\n left: calc((var(--circle-md) - var(--line-width)) / 2);\n }\n\n .dss-stepper--sm.dss-stepper--vertical\n .dss-bubble--completed:not(:first-child)::after {\n left: calc((var(--circle-sm) - var(--line-width)) / 2);\n }\n\n .dss-stepper--md.dss-stepper--vertical\n .dss-bubble--active:not(:first-child)::after {\n left: calc((var(--circle-md) - var(--line-width)) / 2);\n }\n\n .dss-stepper--sm.dss-stepper--vertical\n .dss-bubble--active:not(:first-child)::after {\n left: calc((var(--circle-sm) - var(--line-width)) / 2);\n }\n\n /* Step Label */\n .dss-stepper:not(.dss-stepper--vertical) .dss-bubble-label {\n position: absolute;\n top: calc(100% + var(--dss-spacing-xxs));\n left: 50%;\n transform: translate(-50%);\n }\n\n .dss-bubble-label {\n width: max-content;\n font-weight: var(--font-regular);\n font-size: 14px;\n color: var(--color-neutral-700);\n }\n\n .dss-bubble-label--disabled {\n color: var(--color-neutral-500);\n }\n\n .dss-bubble--active .dss-bubble-label {\n color: var(--color-neutral-700);\n font-weight: var(--font-semibold);\n }\n\n .dss-stepper--vertical .dss-bubble-label {\n position: absolute;\n left: calc(100% + var(--dss-spacing-xs));\n top: 50%;\n transform: translateY(-50%);\n }\n\n .dss-bubble-label.hide-label {\n display: none;\n }\n\n @keyframes animate {\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n }\n\n @keyframes column-animate {\n 0% {\n height: 0;\n }\n 100% {\n height: 100%;\n }\n }\n `;\n }\n set steps(steps) {\n const oldValue = this._steps;\n this._steps = steps;\n if (typeof steps === 'string') {\n // eslint-disable-next-line no-eval\n this._steps = eval(`(${steps})`);\n }\n this.requestUpdate('steps', oldValue);\n }\n set currentStep(currentStep) {\n const oldValue = this._currentStep;\n this._currentStep = currentStep;\n this.requestUpdate('currentStep', oldValue);\n }\n set column(column) {\n const oldValue = this._column;\n this._column = column;\n this.requestUpdate('column', oldValue);\n }\n set circular(circular) {\n const oldValue = this._circular;\n this._circular = circular;\n this.requestUpdate('circular', oldValue);\n }\n set hideLabel(hideLabel) {\n const oldValue = this._hideLabel;\n this._hideLabel = hideLabel;\n this.requestUpdate('hideLabel', oldValue);\n }\n set size(size) {\n const oldValue = this._size;\n this._size = size;\n this.requestUpdate('size', oldValue);\n }\n async firstUpdated() {\n await this.updateComplete;\n this._setActiveBarWidth();\n this._isFirstUpdate = false;\n this.requestUpdate();\n }\n willUpdate(changedProperties) {\n if (!this._isFirstUpdate) {\n if (changedProperties.has('currentStep') ||\n changedProperties.has('steps') ||\n changedProperties.has('column')) {\n this._setActiveBarWidth();\n this.requestUpdate();\n }\n }\n }\n _setActiveBarWidth() {\n var _a;\n const stepsLength = this._steps.length;\n const stepper = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.dss-stepper');\n const rect = stepper === null || stepper === void 0 ? void 0 : stepper.getBoundingClientRect();\n const size = this._column ? rect === null || rect === void 0 ? void 0 : rect.height : rect === null || rect === void 0 ? void 0 : rect.width;\n if (size) {\n const segment = Math.floor(size / (stepsLength - 1));\n this._activeBarWidth = `${segment}px`;\n // const activeSegmentsWidth = segment * (this._currentStep - 1);\n // this._activeBarWidth = `${activeSegmentsWidth}px`;\n }\n }\n _onStepClick(step, stepNumber) {\n const disabled = step.state === 'disabled';\n if (!disabled) {\n const options = {\n detail: { step, stepNumber },\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onStepClick', options));\n }\n }\n render() {\n var _a, _b;\n const totalSteps = (_a = this._steps) === null || _a === void 0 ? void 0 : _a.length;\n const percent = Math.round((this._currentStep / totalSteps) * 100);\n const stepperClass = {\n 'dss-stepper--vertical': this._column,\n 'dss-stepper--sm': this._size === 'sm',\n 'dss-stepper--md': this._size === 'md',\n };\n return html `\n ${this._circular\n ? html `\n <div class=\"dss-circular-stepper\">\n <div class=\"dss-circular-stepper__item\">\n <svg viewBox=\"0 0 66 66\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"33\" cy=\"33\" r=\"28\" pathLength=\"100\"></circle>\n <circle\n cx=\"33\"\n cy=\"33\"\n r=\"28\"\n style=\"--percent: ${percent}\"\n pathLength=\"100\"\n ></circle>\n </svg>\n <span class=\"dss-circular-stepper__counter\">\n <b>${this._currentStep}</b>/${totalSteps}\n </span>\n </div>\n <span class=\"dss-circular-stepper__label\">\n ${this._steps[this._currentStep - 1].label}\n </span>\n </div>\n `\n : html `\n <style>\n :host {\n --active-bar-width: ${this._activeBarWidth};\n }\n </style>\n <ol class=\"dss-stepper ${classMap(stepperClass)}\">\n ${(_b = this._steps) === null || _b === void 0 ? void 0 : _b.map((step, i) => {\n const stepNumber = i + 1;\n const onKeyDown = (e) => {\n const keyboardEvent = e;\n if (keyboardEvent.key === 'Enter') {\n this._onStepClick(step, stepNumber);\n }\n };\n const disabled = step.state === 'disabled';\n const bubbleClass = {\n 'dss-bubble--active': stepNumber === this._currentStep,\n 'dss-bubble--completed': stepNumber < this._currentStep,\n 'dss-bubble--checked': step.state === 'checked' &&\n stepNumber !== this._currentStep,\n 'dss-bubble--error': step.state === 'error' && stepNumber !== this._currentStep,\n 'dss-bubble--info': step.state === 'info' && stepNumber !== this._currentStep,\n 'dss-bubble--alert': step.state === 'alert' && stepNumber !== this._currentStep,\n 'dss-bubble--disabled': step.state === 'disabled',\n 'dss-bubble--icon': !!(step === null || step === void 0 ? void 0 : step.icon) && this._size !== 'sm',\n };\n const hideLabel = {\n 'dss-bubble-label--disabled': step.state === 'disabled',\n 'hide-label': this._hideLabel,\n };\n return html `\n <li\n class=\"dss-bubble ${classMap(bubbleClass)}\"\n icon=\"${(step === null || step === void 0 ? void 0 : step.icon) || ''}\"\n tabindex=\"${disabled ? -1 : 0}\"\n aria-label=\"Step ${step === null || step === void 0 ? void 0 : step.state}\"\n @click=${() => this._onStepClick(step, stepNumber)}\n @keydown=${onKeyDown}\n >\n <span class=\"dss-bubble-label ${classMap(hideLabel)}\"\n >${step.label}</span\n >\n </li>\n `;\n })}\n </ol>\n `}\n `;\n }\n};\n__decorate([\n property({ type: [] })\n], Stepper.prototype, \"steps\", null);\n__decorate([\n property({ type: Number })\n], Stepper.prototype, \"currentStep\", null);\n__decorate([\n property({ type: Boolean })\n], Stepper.prototype, \"column\", null);\n__decorate([\n property({ type: Boolean })\n], Stepper.prototype, \"circular\", null);\n__decorate([\n property({ type: Boolean })\n], Stepper.prototype, \"hideLabel\", null);\n__decorate([\n property({ type: String })\n], Stepper.prototype, \"size\", null);\nStepper = __decorate([\n customElement('dss-stepper')\n], Stepper);\nexport { Stepper };\n//# sourceMappingURL=stepper.js.map","import { __decorate } from \"tslib\";\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nlet Tooltip = class Tooltip extends LitElement {\n constructor() {\n super(...arguments);\n this._position = 'top';\n this._align = 'left';\n this._hide = false;\n this._noHeightLimit = false;\n }\n static get styles() {\n return [\n symbolStyles,\n css `\n .dss-tooltip {\n position: absolute;\n display: flex;\n width: 264px;\n z-index: 900;\n }\n\n .dss-tooltip-box {\n position: relative;\n box-sizing: border-box;\n width: fit-content;\n height: fit-content;\n padding: var(--dss-spacing-xs) var(--dss-spacing-md);\n background-color: var(--color-neutral-800);\n border-radius: var(--dss-radius-sm);\n box-shadow: 0 4px 8px 3px rgba(0 0 0 / 5%),\n 0 1px 3px rgba(0 0 0 / 10%);\n font-size: 14px;\n color: var(--color-white);\n }\n\n .dss-tooltip--top {\n justify-content: center;\n bottom: calc(100% + var(--dss-spacing-md));\n left: 50%;\n transform: translate(-50%);\n }\n\n .dss-tooltip--right {\n justify-content: flex-start;\n left: calc(100% + var(--dss-spacing-md));\n top: 50%;\n transform: translateY(-50%);\n }\n\n .dss-tooltip--bottom {\n justify-content: center;\n top: calc(100% + var(--dss-spacing-md));\n left: 50%;\n transform: translate(-50%);\n }\n\n .dss-tooltip--left {\n justify-content: flex-end;\n right: calc(100% + var(--dss-spacing-md));\n top: 50%;\n transform: translateY(-50%);\n }\n\n .dss-tooltip--right > .dss-tooltip-box::before {\n content: '';\n position: absolute;\n display: block;\n width: 0px;\n left: 0;\n top: 50%;\n border: 8px solid transparent;\n border-left: 0;\n border-right: 8px solid var(--color-neutral-800);\n transform: translate(-100%, -50%);\n }\n\n .dss-tooltip--bottom > .dss-tooltip-box::before {\n content: '';\n position: absolute;\n display: block;\n width: 0px;\n left: 50%;\n top: 0;\n border: 8px solid transparent;\n border-top: 0;\n border-bottom: 8px solid var(--color-neutral-800);\n transform: translate(-50%, -100%);\n }\n\n .dss-tooltip--left > .dss-tooltip-box::before {\n content: '';\n position: absolute;\n display: block;\n width: 0px;\n right: 0;\n top: 50%;\n border: 8px solid transparent;\n border-right: 0;\n border-left: 8px solid var(--color-neutral-800);\n transform: translate(100%, -50%);\n }\n\n .dss-tooltip--top > .dss-tooltip-box::before {\n content: '';\n position: absolute;\n display: block;\n width: 0px;\n left: 50%;\n bottom: 0;\n border: 8px solid transparent;\n border-bottom: 0;\n border-top: 8px solid var(--color-neutral-800);\n transform: translate(-50%, 100%);\n }\n\n .dss-tooltip-container {\n max-width: 232px;\n max-height: 96px;\n overflow: hidden;\n }\n\n .dss-tooltip--no-height-limit .dss-tooltip-container {\n max-height: max-content;\n }\n\n .dss-tooltip--align-left {\n text-align: left;\n }\n\n .dss-tooltip--align-right {\n text-align: right;\n }\n\n .dss-tooltip--align-center {\n text-align: center;\n }\n\n .dss-tooltip--align-justify {\n text-align: justify;\n }\n\n .dss-tooltip--hidden {\n display: none;\n }\n `,\n ];\n }\n set position(position) {\n const oldValue = this._position;\n this._position = position;\n this.requestUpdate('position', oldValue);\n }\n set align(align) {\n const oldValue = this._align;\n this._align = align;\n this.requestUpdate('align', oldValue);\n }\n set hide(value) {\n const oldValue = this._hide;\n this._hide = value;\n this.requestUpdate('hide', oldValue);\n }\n set noHeightLimit(value) {\n const oldValue = this._noHeightLimit;\n this._noHeightLimit = value;\n this.requestUpdate('noHeightLimit', oldValue);\n }\n render() {\n const tooltipClassMap = {\n 'dss-tooltip--top': this._position === 'top',\n 'dss-tooltip--right': this._position === 'right',\n 'dss-tooltip--bottom': this._position === 'bottom',\n 'dss-tooltip--left': this._position === 'left',\n 'dss-tooltip--align-left': this._align === 'left',\n 'dss-tooltip--align-right': this._align === 'right',\n 'dss-tooltip--align-center': this._align === 'center',\n 'dss-tooltip--align-justify': this._align === 'justify',\n 'dss-tooltip--hidden': this._hide,\n 'dss-tooltip--no-height-limit': this._noHeightLimit,\n };\n return html `\n <div class=\"dss-tooltip ${classMap(tooltipClassMap)}\">\n <div class=\"dss-tooltip-box\">\n <div class=\"dss-tooltip-container\">\n <slot></slot>\n </div>\n </div>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: String })\n], Tooltip.prototype, \"position\", null);\n__decorate([\n property({ type: String })\n], Tooltip.prototype, \"align\", null);\n__decorate([\n property({ type: Boolean })\n], Tooltip.prototype, \"hide\", null);\n__decorate([\n property({ type: Boolean })\n], Tooltip.prototype, \"noHeightLimit\", null);\nTooltip = __decorate([\n customElement('dss-tooltip')\n], Tooltip);\nexport { Tooltip };\n//# sourceMappingURL=tooltip.js.map","import { css } from 'lit';\n// Icon Buttons variations\nexport const decorativeIconStyles = css `\n .dss-decorative-icon {\n height: 24px;\n width: 24px;\n min-width: 24px;\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: var(--dss-radius-xxs);\n background-color: var(--color-primary-50);\n color: var(--color-primary-800);\n font-size: 16px;\n }\n\n .dss-decorative-icon--md {\n height: 32px;\n width: 32px;\n min-width: 32px;\n font-size: 18px;\n border-radius: var(--dss-radius-xs);\n }\n\n .dss-decorative-icon--lg {\n height: 40px;\n width: 40px;\n min-width: 40px;\n font-size: 24px;\n border-radius: var(--dss-radius-sm);\n }\n\n .dss-decorative-icon--xl {\n height: 48px;\n width: 48px;\n min-width: 48px;\n font-size: 30px;\n border-radius: var(--dss-radius-sm);\n }\n\n .dss-decorative-icon--disabled {\n background-color: var(--color-neutral-50);\n color: var(--color-neutral-500);\n }\n\n .dss-decorative-icon--success {\n background-color: var(--color-green-50);\n color: var(--color-green-800);\n }\n\n .dss-decorative-icon--error {\n background-color: var(--color-red-50);\n color: var(--color-red-800);\n }\n`;\n//# sourceMappingURL=decorative-icon.style.js.map","import { __decorate } from \"tslib\";\n/* eslint-disable lit-a11y/click-events-have-key-events */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { decorativeIconStyles } from './shared-styles/decorative-icon.style';\nlet Tile = class Tile extends LitElement {\n constructor() {\n super(...arguments);\n this._type = 'default';\n this._icon = '';\n this._tileTitle = 'Title';\n this._description = 'Lorem ipsum.';\n this._selected = false;\n this._disabled = false;\n this._hasLogo = false;\n this._logoURL = '';\n }\n static get styles() {\n return [\n symbolStyles,\n decorativeIconStyles,\n css `\n :host {\n display: block;\n height: 104px;\n min-width: 320px;\n width: 100%;\n }\n\n .dss-tile {\n box-sizing: border-box;\n height: 104px;\n min-width: 320px;\n width: 100%;\n overflow: hidden;\n background-color: var(--color-white);\n border-radius: var(--dss-radius-sm);\n padding: var(--dss-spacing-md);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: var(--dss-spacing-md);\n border: var(--dss-border-width-md) solid var(--color-neutral-100);\n transition: all 0.3s ease-in;\n }\n\n .dss-tile-logo {\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: 48px;\n width: 48px;\n height: 48px;\n margin: 0;\n padding: 0;\n overflow: hidden;\n border-radius: var(--dss-radius-xs);\n }\n\n .dss-tile-logo__image {\n width: 100%:\n max-width: 100%;\n margin: 0;\n padding: 0;\n }\n\n .dss-tile-content {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--dss-spacing-md);\n flex: 1 1 100%;\n min-width: 0;\n }\n \n .dss-tile-content .dss-tile-content__text {\n overflow: hidden;\n }\n \n .dss-tile-title {\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical; \n max-height: 24px;\n line-height: 24px;\n font-size: 14px;\n font-weight: var(--font-semibold);\n color: var(--color-neutral-900);\n margin: 0;\n overflow: hidden;\n }\n \n .dss-tile-description {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical; \n max-height: 48px;\n line-height: 24px;\n font-size: 14px;\n color: var(--color-neutral-500);\n margin: 0;\n }\n\n .dss-tile--button:not(.dss-tile--disabled),\n .dss-tile--selector:not(.dss-tile--disabled) {\n cursor: pointer;\n border-color: var(--color-primary-600);\n }\n\n .dss-tile--selected:not(.dss-tile--disabled),\n .dss-tile--button:not(.dss-tile--disabled):hover,\n .dss-tile--selector:not(.dss-tile--disabled):hover {\n background-color: var(--color-primary-50);\n }\n \n .dss-tile--button:not(.dss-tile--disabled):active,\n .dss-tile--selector:not(.dss-tile--disabled):active {\n background-color: var(--color-primary-100);\n }\n\n .dss-tile--button:not(.dss-tile--disabled):focus-visible,\n .dss-tile--selector:not(.dss-tile--disabled):focus-visible {\n border-color: var(--color-blue-200);\n outline: var(--dss-border-width-lg) solid var(--color-blue-200);\n }\n \n .dss-tile--disabled {\n cursor: not-allowed;\n background-color: var(--color-neutral-50);\n }\n \n .dss-tile--disabled .dss-tile__title {\n color: var(--color-neutral-500);\n }\n\n ::slotted(.dss-tile-action-group) {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: var(--dss-spacing-md);\n }\n `,\n ];\n }\n set type(value) {\n const oldValue = this._type;\n this._type = value;\n this.requestUpdate('type', oldValue);\n }\n set icon(value) {\n const oldValue = this._icon;\n this._icon = value;\n this.requestUpdate('icon', oldValue);\n }\n set tileTitle(value) {\n const oldValue = this._tileTitle;\n this._tileTitle = value;\n this.requestUpdate('tileTitle', oldValue);\n }\n set description(value) {\n const oldValue = this._description;\n this._description = value;\n this.requestUpdate('description', oldValue);\n }\n set selected(value) {\n const oldValue = this._selected;\n this._selected = value;\n this.requestUpdate('selected', oldValue);\n }\n set disabled(value) {\n const oldValue = this._disabled;\n this._disabled = value;\n this.requestUpdate('disabled', oldValue);\n }\n set hasLogo(value) {\n const oldValue = this._hasLogo;\n this._hasLogo = value;\n this.requestUpdate('hasLogo', oldValue);\n }\n set logoURL(value) {\n const oldValue = this._logoURL;\n this._logoURL = value;\n this.requestUpdate('logoURL', oldValue);\n }\n _generateTileIconHTML() {\n const iconClassMap = {\n 'dss-decorative-icon--disabled': this._disabled,\n };\n return html `\n <div\n class=\"dss-decorative-icon dss-decorative-icon--xl ${classMap(iconClassMap)}\"\n >\n <i class=\"dss-icon\">${this._icon}</i>\n </div>\n `;\n }\n _generateTileLogoHTML() {\n return html `\n <div class=\"dss-tile-logo\">\n <img\n class=\"dss-tile-logo__image\"\n src=\"${this._logoURL}\"\n alt=\"Tile Logo\"\n />\n </div>\n `;\n }\n _generateTileContentHTML() {\n return html `\n <div class=\"dss-tile-content\">\n <div class=\"dss-tile-content__text\">\n <h4 class=\"dss-tile-title\">${this._tileTitle}</h4>\n <p class=\"dss-tile-description\">${this._description}</p>\n </div>\n ${this._type === 'action' ? html ` <slot name=\"action\"></slot> ` : null}\n </div>\n `;\n }\n _onClick() {\n if (this._type === 'selector') {\n this._selected = !this._selected;\n this.requestUpdate();\n }\n const options = {\n detail: { title: this._tileTitle },\n bubbles: true,\n composed: true,\n };\n this.dispatchEvent(new CustomEvent('onTileClick', options));\n }\n render() {\n const tileClassMap = {\n 'dss-tile--button': this._type === 'button',\n 'dss-tile--selector': this._type === 'selector',\n 'dss-tile--selected': this._type === 'selector' && this._selected,\n 'dss-tile--action': this._type === 'action',\n 'dss-tile--disabled': this._disabled,\n };\n let tile = html ``;\n if (this._type === 'button' || this._type === 'selector') {\n tile = html `\n <div\n class=\"dss-tile ${classMap(tileClassMap)}\"\n tabindex=\"${this._disabled ? -1 : 0}\"\n role=\"button\"\n @click=${this._onClick}\n >\n ${this._icon && !this._hasLogo ? this._generateTileIconHTML() : null}\n ${this._hasLogo ? this._generateTileLogoHTML() : null}\n ${this._generateTileContentHTML()}\n </div>\n `;\n }\n else {\n tile = html `\n <div class=\"dss-tile ${classMap(tileClassMap)}\">\n ${this._icon && !this._hasLogo ? this._generateTileIconHTML() : null}\n ${this._hasLogo ? this._generateTileLogoHTML() : null}\n ${this._generateTileContentHTML()}\n </div>\n `;\n }\n return tile;\n }\n};\n__decorate([\n property({ type: String })\n], Tile.prototype, \"type\", null);\n__decorate([\n property({ type: String })\n], Tile.prototype, \"icon\", null);\n__decorate([\n property({ type: String })\n], Tile.prototype, \"tileTitle\", null);\n__decorate([\n property({ type: String })\n], Tile.prototype, \"description\", null);\n__decorate([\n property({ type: Boolean })\n], Tile.prototype, \"selected\", null);\n__decorate([\n property({ type: Boolean })\n], Tile.prototype, \"disabled\", null);\n__decorate([\n property({ type: Boolean })\n], Tile.prototype, \"hasLogo\", null);\n__decorate([\n property({ type: String })\n], Tile.prototype, \"logoURL\", null);\nTile = __decorate([\n customElement('dss-tile')\n], Tile);\nexport { Tile };\n//# sourceMappingURL=tile.js.map","import { __decorate } from \"tslib\";\n/* eslint-disable wc/guard-super-call */\n/* eslint-disable wc/no-self-class */\nimport { css, html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { symbolStyles } from './shared-styles/symbol.style';\nimport { buttonStyles } from './shared-styles/button.style';\nimport { iconButtonStyles } from './shared-styles/icon-button.style';\nconst ANIMATION_DURATION = 250;\nlet Modal = class Modal extends LitElement {\n static get styles() {\n return [\n symbolStyles,\n buttonStyles,\n iconButtonStyles,\n css `\n :host {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n visibility: hidden;\n opacity: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: opacity ${ANIMATION_DURATION}ms;\n z-index: 999;\n }\n\n :host([open]) {\n visibility: visible;\n }\n\n :host(.show) {\n opacity: 1;\n }\n\n :host(.hide) {\n opacity: 0;\n }\n\n .dialog {\n width: 50%;\n min-width: 400px;\n max-height: 80%;\n background: var(--color-white);\n padding: var(--dss-spacing-lg);\n border-radius: var(--dss-radius-lg);\n box-shadow: 0 8px 12px 6px rgba(0 0 0 / 5%),\n 0 4px 4px rgba(0 0 0 / 10%);\n visibility: hidden;\n }\n\n :host(.show) .dialog {\n visibility: visible;\n }\n\n .dialog-header {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n gap: var(--dss-spacing-xs);\n padding-bottom: var(--dss-spacing-lg);\n }\n\n .dialog--has-divider .dialog-header {\n border-bottom: var(--dss-border-width-sm) solid\n var(--color-neutral-100);\n }\n\n .dialog-body {\n padding: var(--dss-spacing-lg) 0;\n }\n\n .dialog-footer {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: var(--dss-spacing-md);\n padding-top: var(--dss-spacing-lg);\n }\n\n .dialog--has-divider .dialog-footer {\n border-top: var(--dss-border-width-sm) solid var(--color-neutral-100);\n }\n\n ::slotted(div.dss-modal-footer) {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: var(--dss-spacing-md);\n }\n\n .dialog-header-state--success {\n color: var(--color-green-800);\n }\n\n .dialog-header-state--error {\n color: var(--color-red-800);\n }\n\n .dialog-header-state--alert {\n color: var(--color-yellow-800);\n }\n\n .dialog-header-state--info {\n color: var(--color-blue-800);\n }\n\n .dialog-header-title {\n font-size: 20px;\n line-height: 30px;\n font-weight: var(--font-bold);\n }\n\n .dialog-header-close {\n position: absolute;\n top: -4px;\n right: -4px;\n }\n\n /* Breakpoints */\n\n @media screen and (min-width: 1440px) and (max-width: 1919px) {\n .dialog {\n width: 60%;\n max-width: 960px;\n }\n }\n\n @media only screen and (min-width: 1024px) and (max-width: 1439px) {\n .dialog {\n width: 75%;\n max-width: 864px;\n }\n }\n\n @media only screen and (max-width: 1023px) {\n .dialog {\n width: calc(100% - 48px);\n max-width: 768px;\n min-width: 300px;\n }\n }\n `,\n ];\n }\n set open(value) {\n const oldValue = this._open;\n this._open = value;\n this.requestUpdate('open', oldValue);\n }\n set modalTitle(value) {\n const oldValue = this._modalTitle;\n this._modalTitle = value;\n this.requestUpdate('modalTitle', oldValue);\n }\n set state(value) {\n const oldValue = this._state;\n this._state = value;\n this.requestUpdate('state', oldValue);\n }\n set hasDivider(value) {\n const oldValue = this._hasDivider;\n this._hasDivider = value;\n this.requestUpdate('hasDivider', oldValue);\n }\n constructor() {\n super();\n this._open = true;\n this._modalTitle = 'Title';\n this._state = '';\n this._hasDivider = false;\n this._handleKeydown = this._handleKeydown.bind(this);\n this._handleOutsideClick = this._handleOutsideClick.bind(this);\n }\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._handleOutsideClick);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('click', this._handleOutsideClick);\n }\n updated(changedProperties) {\n if (changedProperties.has('open')) {\n if (this._open) {\n this._showDialog();\n }\n else {\n this._hideDialog();\n }\n }\n }\n _showDialog() {\n this.classList.add('show');\n this.classList.remove('hide');\n setTimeout(() => {\n this.classList.add('show');\n this.style.visibility = 'visible';\n }, 0);\n document.addEventListener('keydown', this._handleKeydown);\n }\n _hideDialog() {\n this.classList.add('hide');\n this.classList.remove('show');\n setTimeout(() => {\n this.classList.remove('hide');\n this.style.visibility = 'hidden';\n document.removeEventListener('keydown', this._handleKeydown);\n }, ANIMATION_DURATION);\n }\n _close() {\n this.open = false;\n this._hideDialog();\n this.requestUpdate();\n const event = new Event('onModalClosed');\n this.dispatchEvent(event);\n }\n _getStateIcon() {\n let icon = '';\n switch (this._state) {\n case 'success':\n icon = 'check_circle';\n break;\n case 'error':\n icon = 'cancel';\n break;\n case 'alert':\n icon = 'report';\n break;\n case 'info':\n icon = 'info';\n break;\n default:\n icon = '';\n }\n return icon;\n }\n _handleKeydown(event) {\n if (event.key === 'Escape') {\n this._close();\n }\n }\n _handleOutsideClick(event) {\n var _a;\n if (this._open) {\n const dialog = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.dialog');\n const path = event.composedPath();\n if (dialog && path.includes(this) && !path.includes(dialog)) {\n this._close();\n }\n }\n }\n render() {\n const dialogClassMap = {\n 'dialog--has-divider': this._hasDivider,\n };\n const stateClassMap = {\n 'dialog-header-state--success': this._state === 'success',\n 'dialog-header-state--error': this._state === 'error',\n 'dialog-header-state--alert': this._state === 'alert',\n 'dialog-header-state--info': this._state === 'info',\n };\n return html `\n <div\n class=\"dialog ${classMap(dialogClassMap)}\"\n role=\"dialog\"\n aria-labelledby=\"dialog-title\"\n aria-modal=\"true\"\n >\n <div class=\"dialog-header\">\n <button\n class=\"dss-icon-button dss-icon-button--default dss-icon-button--lg dialog-header-close\"\n @click=\"${this._close}\"\n >\n <span class=\"dss-icon\">close</span>\n </button>\n ${this._state\n ? html `\n <div class=\"dialog-header-state ${classMap(stateClassMap)}\">\n <i class=\"dss-icon dss-icon--fill dss-icon--xl \"\n >${this._getStateIcon()}</i\n >\n </div>\n `\n : null}\n <div id=\"dialog-title\" class=\"dialog-header-title\">\n ${this._modalTitle}\n </div>\n </div>\n\n <div class=\"dialog-body\">\n <slot name=\"body\"></slot>\n </div>\n\n <div class=\"dialog-footer\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n `;\n }\n};\n__decorate([\n property({ type: Boolean })\n], Modal.prototype, \"open\", null);\n__decorate([\n property({ type: String })\n], Modal.prototype, \"modalTitle\", null);\n__decorate([\n property({ type: String })\n], Modal.prototype, \"state\", null);\n__decorate([\n property({ type: Boolean })\n], Modal.prototype, \"hasDivider\", null);\nModal = __decorate([\n customElement('dss-modal')\n], Modal);\nexport { Modal };\n//# sourceMappingURL=modal.js.map","export default \"data:image/svg+xml,%3csvg%20width='94'%20height='24'%20viewBox='0%200%2094%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.36109%200.0906219C4.28803%200.0906219%200.175049%204.88609%200.175049%2010.8006C0.175049%2016.7148%204.28803%2021.5103%209.36109%2021.5103C14.4341%2021.5103%2018.5471%2016.7148%2018.5471%2010.8006C18.5471%204.88609%2014.4341%200.0906219%209.36109%200.0906219Z'%20fill='%23ED192D'/%3e%3cpath%20d='M2.94731%2016.1348C2.06504%2014.6225%201.54761%2012.784%201.54761%2010.8007C1.54761%208.81751%202.06504%206.97893%202.94731%205.46631V16.1348Z'%20fill='white'/%3e%3cpath%20d='M4.92041%203.11644C5.42915%202.69532%205.98132%202.34559%206.56749%202.07705V19.5234C5.98132%2019.2553%205.42915%2018.9048%204.92041%2018.4844V3.11644Z'%20fill='white'/%3e%3cpath%20d='M8.54004%201.5129C8.81008%201.47928%209.08354%201.46191%209.36076%201.46191C9.63986%201.46191%209.91557%201.47966%2010.1871%201.51365V20.087C9.91557%2020.121%209.63986%2020.1392%209.36076%2020.1392C9.08354%2020.1392%208.81008%2020.1214%208.54004%2020.0882V1.5129Z'%20fill='white'/%3e%3cpath%20d='M12.1604%202.07993C12.7469%202.34884%2013.2991%202.70008%2013.8075%203.12119V18.4797C13.2991%2018.9012%2012.7469%2019.2521%2012.1604%2019.521V2.07993Z'%20fill='white'/%3e%3cpath%20d='M15.7808%205.47645C16.6596%206.98681%2017.1752%208.82161%2017.1752%2010.8007C17.1752%2012.7797%2016.6596%2014.6142%2015.7808%2016.1245V5.47645Z'%20fill='white'/%3e%3cpath%20d='M0.944824%2010.8007C0.944824%208.34538%201.69906%206.09853%202.94769%204.36383V4.94963C1.89848%206.56989%201.27454%208.59843%201.27454%2010.8007C1.27454%2013.0026%201.89848%2015.0311%202.94769%2016.6514V17.2368C1.69906%2015.5025%200.944824%2013.2557%200.944824%2010.8007Z'%20fill='white'/%3e%3cpath%20d='M15.7808%2016.6428C16.8266%2015.0241%2017.4486%2012.9989%2017.4486%2010.8008C17.4486%208.6027%2016.8266%206.57755%2015.7808%204.9588V4.37226C17.0264%206.10545%2017.7776%208.34928%2017.7776%2010.8008C17.7776%2013.252%2017.0264%2015.4958%2015.7808%2017.229V16.6428Z'%20fill='white'/%3e%3cpath%20d='M18.3143%2020.3882C18.377%2020.1193%2018.5042%2019.844%2018.6523%2019.6241C18.4623%2019.5309%2018.3022%2019.4606%2018.1371%2019.3175C18.5012%2018.7675%2018.5919%2018.391%2018.6515%2017.7289L18.6259%2013.9857C18.3856%2015.0742%2017.8044%2016.5018%2017.3025%2017.2481C17.1559%2017.4664%2017.0913%2017.6047%2017.0007%2017.7501C16.9486%2017.8343%2016.6536%2018.3204%2016.6611%2018.9156C16.4553%2018.9571%2016.2665%2018.9496%2016.0274%2018.9318C16.0569%2019.1909%2016.0727%2019.2276%2016.0047%2019.6521C15.0972%2019.7223%2014.8328%2020.2666%2013.7571%2020.8482C13.2314%2021.1326%2012.8903%2021.2621%2012.104%2021.5492C13.9324%2021.5273%2015.275%2021.7871%2016.4243%2021.0144C16.555%2021.1874%2016.6521%2021.3554%2016.7382%2021.559C16.8964%2021.4348%2017.2069%2021.2814%2017.4649%2021.2149C17.7606%2021.5061%2018.1568%2021.6209%2018.6644%2021.5752C18.7361%2021.1666%2018.6345%2020.6643%2018.3143%2020.3882Z'%20fill='%23ED192D'/%3e%3cpath%20d='M18.4518%2019.6968C18.3101%2019.7546%2017.6431%2020.0008%2017.6431%2020.0008L17.6341%2020.0103C17.6307%2019.9517%2017.6167%2019.8939%2017.5922%2019.8395L17.5884%2019.8271C17.8456%2019.6734%2018.0072%2019.4558%2018.011%2019.4222C18.0091%2019.4195%2018.008%2019.4177%2018.0095%2019.418C18.0106%2019.4184%2018.011%2019.4199%2018.011%2019.4222C18.0329%2019.452%2018.2524%2019.6556%2018.4518%2019.6968Z'%20fill='white'/%3e%3cpath%20d='M17.9002%2016.5344C18.5691%2015.055%2018.4116%2015.1192%2018.5596%2014.5051C18.54%2014.8008%2018.5211%2015.174%2018.4792%2015.4444C18.1876%2017.0563%2017.7687%2018.2506%2017.2653%2019.5683C17.2653%2019.5683%2017.1271%2019.5566%2017.0576%2019.5698C16.9356%2019.4293%2016.8974%2019.2348%2016.8974%2019.2348C16.6633%2018.2634%2017.3918%2017.6584%2017.9002%2016.5344Z'%20fill='white'/%3e%3cpath%20d='M16.2266%2019.1308L16.8509%2019.652L16.8528%2019.6569C16.8339%2019.6709%2016.8154%2019.6868%2016.798%2019.7038C16.7667%2019.7355%2016.7402%2019.7699%2016.7195%2019.8069L16.7157%2019.8159C16.3977%2019.6614%2016.1851%2019.655%2016.1851%2019.655C16.2651%2019.3106%2016.2266%2019.1308%2016.2266%2019.1308Z'%20fill='white'/%3e%3cpath%20d='M13.3914%2021.3775C13.0776%2021.4493%2012.8241%2021.4459%2012.6262%2021.4546L13.2909%2021.2487C14.7314%2020.7087%2015.0982%2019.8725%2016.0711%2019.8532C16.2988%2019.8551%2016.4854%2019.9148%2016.6542%2020.0096L16.6561%2020.0356C16.6493%2020.0979%2016.655%2020.1614%2016.6731%2020.2222L16.6735%2020.2313C16.0016%2020.5648%2014.4655%2021.1313%2013.3914%2021.3775Z'%20fill='white'/%3e%3cpath%20d='M16.8149%2021.334C16.7764%2021.2309%2016.7228%2021.0643%2016.574%2020.8996C16.7745%2020.7297%2016.8157%2020.6383%2016.8829%2020.4721L16.8878%2020.4744C16.9509%2020.5118%2017.0208%2020.5333%2017.0914%2020.539L17.0997%2020.5378L16.8149%2021.334Z'%20fill='white'/%3e%3cpath%20d='M16.9431%2020.2505C16.8324%2020.1391%2016.8328%2019.9589%2016.9442%2019.8479C17.0556%2019.7372%2017.2354%2019.7376%2017.3464%2019.8494C17.4571%2019.9604%2017.4567%2020.1406%2017.3453%2020.2512C17.2339%2020.3619%2017.0537%2020.3615%2016.9431%2020.2505Z'%20fill='white'/%3e%3cpath%20d='M17.5617%2021.0476C17.4147%2020.8765%2017.3517%2020.7443%2017.2961%2020.5128C17.369%2020.4916%2017.4548%2020.4474%2017.5061%2020.3757L18.5032%2021.3883C18.1248%2021.4234%2017.7973%2021.3342%2017.5617%2021.0476Z'%20fill='white'/%3e%3cpath%20d='M18.6644%200.00993252C18.1568%20-0.0361447%2017.7606%200.0786629%2017.4649%200.369858C17.2069%200.303385%2016.8964%200.150051%2016.7382%200.0257921C16.6521%200.229364%2016.555%200.397053%2016.4243%200.57041C15.275%20-0.202332%2013.9324%200.057518%2012.104%200.0352345C12.8903%200.322652%2013.2314%200.452191%2013.7571%200.736588C14.8328%201.31822%2015.0972%201.86208%2016.0047%201.93271C16.0727%202.35723%2016.0569%202.39349%2016.0274%202.65334C16.2665%202.63521%2016.4553%202.62765%2016.6611%202.6692C16.6536%203.26405%2016.9486%203.75051%2017.0007%203.83436C17.0913%203.98014%2017.1559%204.11839%2017.3025%204.33669C17.8044%205.08299%2018.3856%206.51026%2018.6259%207.59912L18.6515%203.8559C18.5919%203.19382%2018.5012%202.81726%2018.1371%202.26735C18.3022%202.12421%2018.4623%202.05396%2018.6523%201.96067C18.5042%201.74086%2018.377%201.46515%2018.3143%201.19661C18.6345%200.920149%2018.7361%200.41821%2018.6644%200.00993252Z'%20fill='%23ED192D'/%3e%3cpath%20d='M18.4518%201.88761C18.3101%201.82982%2017.6431%201.58358%2017.6431%201.58358L17.6341%201.57414C17.6307%201.6323%2017.6167%201.69047%2017.5922%201.74485L17.5884%201.75732C17.8456%201.91104%2018.0072%202.12857%2018.011%202.16219C18.0091%202.16521%2018.008%202.16709%2018.0095%202.16634C18.0106%202.16558%2018.011%202.16445%2018.011%202.16219C18.0329%202.13273%2018.2524%201.92878%2018.4518%201.88761Z'%20fill='white'/%3e%3cpath%20d='M17.9002%205.05029C18.5691%206.52968%2018.4116%206.46547%2018.5596%207.07959C18.54%206.78386%2018.5211%206.41034%2018.4792%206.14067C18.1876%204.52834%2017.7687%203.33408%2017.2653%202.01596C17.2653%202.01596%2017.1271%202.02806%2017.0576%202.01484C16.9356%202.15534%2016.8974%202.34985%2016.8974%202.34985C16.6633%203.32125%2017.3918%203.9263%2017.9002%205.05029Z'%20fill='white'/%3e%3cpath%20d='M16.2266%202.45361L16.8509%201.9324L16.8528%201.92749C16.8339%201.91352%2016.8154%201.89766%2016.798%201.88067C16.7667%201.84932%2016.7402%201.81419%2016.7195%201.77793L16.7157%201.76812C16.3977%201.92297%2016.1851%201.929%2016.1851%201.929C16.2651%202.27345%2016.2266%202.45361%2016.2266%202.45361Z'%20fill='white'/%3e%3cpath%20d='M13.3914%200.207236C13.0776%200.135476%2012.8241%200.138873%2012.6262%200.130187L13.2909%200.336013C14.7314%200.876102%2015.0982%201.71229%2016.0711%201.73193C16.2988%201.72967%2016.4854%201.67%2016.6542%201.5752L16.6561%201.54914C16.6493%201.48682%2016.655%201.42337%2016.6731%201.36257L16.6735%201.35351C16.0016%201.01964%2014.4655%200.453108%2013.3914%200.207236Z'%20fill='white'/%3e%3cpath%20d='M16.8149%200.250924C16.7764%200.354032%2016.7228%200.52059%2016.574%200.685261C16.7745%200.855219%2016.8157%200.946612%2016.8829%201.11279L16.8878%201.11091C16.9509%201.07314%2017.0208%201.05162%2017.0914%201.04557L17.0997%201.04709L16.8149%200.250924Z'%20fill='white'/%3e%3cpath%20d='M16.9431%201.3342C16.8324%201.446%2016.8328%201.62577%2016.9442%201.73643C17.0556%201.84747%2017.2354%201.84672%2017.3464%201.73568C17.4571%201.62388%2017.4567%201.44411%2017.3453%201.33345C17.2339%201.22279%2017.0537%201.22316%2016.9431%201.3342Z'%20fill='white'/%3e%3cpath%20d='M17.5617%200.537082C17.4147%200.708173%2017.3517%200.84035%2017.2961%201.07187C17.369%201.09302%2017.4548%201.13722%2017.5061%201.20898L18.5032%200.19641C18.1248%200.161286%2017.7973%200.25042%2017.5617%200.537082Z'%20fill='white'/%3e%3cpath%20d='M0.0217433%2021.5752C0.529351%2021.6209%200.925543%2021.5061%201.22127%2021.2149C1.47923%2021.2814%201.78968%2021.4348%201.94831%2021.559C2.03405%2021.3554%202.13149%2021.1874%202.26217%2021.0144C3.41146%2021.7871%204.75375%2021.5273%206.58213%2021.5492C5.79579%2021.2621%205.45474%2021.1326%204.929%2020.8482C3.85335%2020.2666%203.58935%2019.7223%202.6814%2019.6521C2.61379%2019.2276%202.62927%2019.1909%202.65873%2018.9318C2.42004%2018.9496%202.2312%2018.9571%202.02536%2018.9156C2.03291%2018.3204%201.73794%2017.8343%201.68545%2017.7501C1.5948%2017.6047%201.5306%2017.4664%201.38368%2017.2481C0.882111%2016.5018%200.300853%2015.0742%200.0602679%2013.9857L0.0345879%2017.7289C0.0942621%2018.391%200.185284%2018.7675%200.549372%2019.3175C0.383946%2019.4606%200.224185%2019.5309%200.0342099%2019.6241C0.181884%2019.844%200.30954%2020.1193%200.372236%2020.3882C0.0515815%2020.6643%20-0.049639%2021.1666%200.0217433%2021.5752Z'%20fill='%23ED192D'/%3e%3cpath%20d='M0.234375%2019.6968C0.376007%2019.7546%201.04338%2020.0008%201.04338%2020.0008L1.05244%2020.0103C1.05546%2019.9517%201.06981%2019.8939%201.09436%2019.8395L1.09777%2019.8271C0.84094%2019.6734%200.678912%2019.4558%200.675512%2019.4222C0.677401%2019.4195%200.678535%2019.4177%200.676647%2019.418C0.675514%2019.4184%200.675135%2019.4199%200.675512%2019.4222C0.653229%2019.452%200.43417%2019.6556%200.234375%2019.6968Z'%20fill='white'/%3e%3cpath%20d='M0.785417%2016.5344C0.116538%2015.055%200.274029%2015.1192%200.125977%2014.5051C0.145238%2014.8008%200.164123%2015.174%200.206424%2015.4444C0.497996%2017.0563%200.916471%2018.2506%201.4203%2019.5683C1.4203%2019.5683%201.55816%2019.5566%201.62765%2019.5698C1.74964%2019.4293%201.78779%2019.2348%201.78779%2019.2348C2.02195%2018.2634%201.29378%2017.6584%200.785417%2016.5344Z'%20fill='white'/%3e%3cpath%20d='M2.45945%2019.1308L1.83552%2019.652L1.83325%2019.6569C1.85251%2019.6709%201.87064%2019.6868%201.88801%2019.7038C1.91936%2019.7355%201.9458%2019.7699%201.96657%2019.8069L1.97035%2019.8159C2.28836%2019.6614%202.50137%2019.655%202.50137%2019.655C2.42093%2019.3106%202.45945%2019.1308%202.45945%2019.1308Z'%20fill='white'/%3e%3cpath%20d='M5.29439%2021.3775C5.60825%2021.4493%205.86167%2021.4459%206.05958%2021.4546L5.39524%2021.2487C3.95437%2020.7087%203.58764%2019.8725%202.61472%2019.8532C2.38736%2019.8551%202.2004%2019.9148%202.03158%2020.0096L2.03007%2020.0356C2.03649%2020.0979%202.03082%2020.1614%202.01307%2020.2222L2.0127%2020.2313C2.68422%2020.5648%204.22063%2021.1313%205.29439%2021.3775Z'%20fill='white'/%3e%3cpath%20d='M1.8712%2021.334C1.90973%2021.2309%201.96336%2021.0643%202.11254%2020.8996C1.91199%2020.7297%201.87044%2020.6383%201.80359%2020.4721L1.79831%2020.4744C1.73561%2020.5118%201.66574%2020.5333%201.59473%2020.539L1.58643%2020.5378L1.8712%2021.334Z'%20fill='white'/%3e%3cpath%20d='M1.74254%2020.2505C1.85358%2020.1391%201.85282%2019.9589%201.74178%2019.8479C1.63037%2019.7372%201.45021%2019.7376%201.33955%2019.8494C1.22889%2019.9604%201.22927%2020.1406%201.34068%2020.2512C1.4521%2020.3619%201.63188%2020.3615%201.74254%2020.2505Z'%20fill='white'/%3e%3cpath%20d='M1.1243%2021.0476C1.27122%2020.8765%201.33429%2020.7443%201.39019%2020.5128C1.31729%2020.4916%201.23156%2020.4474%201.17982%2020.3757L0.183105%2021.3883C0.561545%2021.4234%200.888999%2021.3342%201.1243%2021.0476Z'%20fill='white'/%3e%3cpath%20d='M0.372236%201.19661C0.30954%201.46515%200.181884%201.74086%200.0342099%201.96067C0.224185%202.05396%200.383946%202.12421%200.549372%202.26735C0.185284%202.81726%200.0942621%203.19382%200.0345879%203.8559L0.0602679%207.59912C0.300853%206.51026%200.882111%205.08299%201.38368%204.33669C1.5306%204.11839%201.5948%203.98014%201.68545%203.83436C1.73794%203.75051%202.03291%203.26405%202.02536%202.6692C2.2312%202.62765%202.42004%202.63521%202.65873%202.65334C2.62927%202.39349%202.61379%202.35723%202.6814%201.93271C3.58935%201.86208%203.85335%201.31822%204.929%200.736588C5.45474%200.452191%205.79579%200.322652%206.58213%200.0352345C4.75375%200.057518%203.41146%20-0.202332%202.26217%200.57041C2.13149%200.397053%202.03405%200.229364%201.94831%200.0257921C1.78968%200.150051%201.47923%200.303385%201.22127%200.369858C0.925543%200.0786629%200.529351%20-0.0361447%200.0217433%200.00993252C-0.049639%200.41821%200.0515815%200.920149%200.372236%201.19661Z'%20fill='%23ED192D'/%3e%3cpath%20d='M0.234375%201.88761C0.376007%201.82982%201.04338%201.58358%201.04338%201.58358L1.05244%201.57414C1.05546%201.6323%201.06981%201.69047%201.09436%201.74485L1.09777%201.75732C0.84094%201.91104%200.678912%202.12857%200.675512%202.16219C0.677401%202.16521%200.678535%202.16709%200.676647%202.16634C0.675514%202.16558%200.675135%202.16445%200.675512%202.16219C0.653229%202.13273%200.43417%201.92878%200.234375%201.88761Z'%20fill='white'/%3e%3cpath%20d='M0.785417%205.05029C0.116538%206.52968%200.274029%206.46547%200.125977%207.07959C0.145238%206.78386%200.164123%206.41034%200.206424%206.14067C0.497996%204.52834%200.916471%203.33408%201.4203%202.01596C1.4203%202.01596%201.55816%202.02806%201.62765%202.01484C1.74964%202.15534%201.78779%202.34985%201.78779%202.34985C2.02195%203.32125%201.29378%203.9263%200.785417%205.05029Z'%20fill='white'/%3e%3cpath%20d='M2.45945%202.45361L1.83552%201.9324L1.83325%201.92749C1.85251%201.91352%201.87064%201.89766%201.88801%201.88067C1.91936%201.84932%201.9458%201.81419%201.96657%201.77793L1.97035%201.76812C2.28836%201.92297%202.50137%201.929%202.50137%201.929C2.42093%202.27345%202.45945%202.45361%202.45945%202.45361Z'%20fill='white'/%3e%3cpath%20d='M5.29439%200.207236C5.60825%200.135476%205.86167%200.138873%206.05958%200.130187L5.39524%200.336013C3.95437%200.876102%203.58764%201.71229%202.61472%201.73193C2.38736%201.72967%202.2004%201.67%202.03158%201.5752L2.03007%201.54914C2.03649%201.48682%202.03082%201.42337%202.01307%201.36257L2.0127%201.35351C2.68422%201.01964%204.22063%200.453108%205.29439%200.207236Z'%20fill='white'/%3e%3cpath%20d='M1.8712%200.250924C1.90973%200.354032%201.96336%200.52059%202.11254%200.685261C1.91199%200.855219%201.87044%200.946612%201.80359%201.11279L1.79831%201.11091C1.73561%201.07314%201.66574%201.05162%201.59473%201.04557L1.58643%201.04709L1.8712%200.250924Z'%20fill='white'/%3e%3cpath%20d='M1.74254%201.3342C1.85358%201.446%201.85282%201.62577%201.74178%201.73643C1.63037%201.84747%201.45021%201.84672%201.33955%201.73568C1.22889%201.62388%201.22927%201.44411%201.34068%201.33345C1.4521%201.22279%201.63188%201.22316%201.74254%201.3342Z'%20fill='white'/%3e%3cpath%20d='M1.1243%200.537082C1.27122%200.708173%201.33429%200.84035%201.39019%201.07187C1.31729%201.09302%201.23156%201.13722%201.17982%201.20898L0.183105%200.19641C0.561545%200.161286%200.888999%200.25042%201.1243%200.537082Z'%20fill='white'/%3e%3cpath%20d='M13.8075%202.35891V2.77588C13.2961%202.37516%2012.7443%202.04129%2012.1604%201.7856V1.42263C12.7417%201.66473%2013.2931%201.98047%2013.8075%202.35891Z'%20fill='white'/%3e%3cpath%20d='M9.36076%200.858693C9.63949%200.858693%209.91519%200.875302%2010.1871%200.906272V1.24316C9.91557%201.21068%209.63986%201.19369%209.36076%201.19369C9.08391%201.19369%208.81008%201.21031%208.54004%201.2428V0.905904C8.81046%200.874933%209.08391%200.858693%209.36076%200.858693Z'%20fill='white'/%3e%3cpath%20d='M6.56749%201.42051V1.78309C5.98396%202.03802%205.43217%202.37152%204.92041%202.77148V2.35454C5.43519%201.97648%205.98699%201.66185%206.56749%201.42051Z'%20fill='white'/%3e%3cpath%20d='M4.92041%2019.2462V18.8296C5.43217%2019.2295%205.98396%2019.5626%206.56749%2019.818V20.1802C5.98699%2019.9388%205.43519%2019.6246%204.92041%2019.2462Z'%20fill='white'/%3e%3cpath%20d='M9.36076%2020.7427C9.08391%2020.7427%208.81046%2020.7264%208.54004%2020.6955V20.3582C8.81008%2020.3907%209.08391%2020.4073%209.36076%2020.4073C9.63986%2020.4073%209.91557%2020.3903%2010.1871%2020.3574V20.6947C9.91519%2020.7261%209.63949%2020.7427%209.36076%2020.7427Z'%20fill='white'/%3e%3cpath%20d='M12.1604%2020.1777V19.8152C12.7443%2019.5598%2013.2961%2019.226%2013.8075%2018.8252V19.2415C13.2931%2019.6206%2012.7417%2019.936%2012.1604%2020.1777Z'%20fill='white'/%3e%3cpath%20d='M28.4893%205.86063H31.8881V10.2455H30.7554L30.5855%209.22543C30.1545%209.72398%2029.5317%2010.4604%2028.0474%2010.4604C26.0876%2010.4604%2024.3083%209.05546%2024.3083%206.20054C24.3083%203.98014%2025.5434%201.884%2028.2854%201.89533C30.7781%201.89533%2031.7635%203.51559%2031.8541%204.63693H30.1545C30.1545%204.31968%2029.577%203.29994%2028.376%203.29994C27.1636%203.29994%2026.0423%204.13839%2026.0423%206.22321C26.0423%208.44399%2027.2547%209.02185%2028.41%209.02185C28.7839%209.02185%2030.0303%208.87418%2030.3815%207.23163H28.4893V5.86063Z'%20fill='%23231F20'/%3e%3cpath%20d='M36.9077%208.47762C36.7831%208.90856%2036.3298%209.13517%2035.888%209.13517C34.6076%209.13517%2034.517%208.11505%2034.4716%207.6622H38.6069V7.37894C38.6069%204.62562%2036.9644%204.05946%2035.7746%204.05946C33.135%204.05946%2032.8857%206.38184%2032.8857%207.107C32.8857%209.58839%2034.1884%2010.4038%2035.888%2010.4038C36.9187%2010.4038%2038.1201%209.9283%2038.5389%208.47762H36.9077ZM34.517%206.63113C34.6076%205.83799%2035.0042%205.36211%2035.752%205.36211C36.2619%205.36211%2036.885%205.65671%2036.9757%206.63113H34.517Z'%20fill='%23231F20'/%3e%3cpath%20d='M45.1106%2010.2456H43.5243V6.58585C43.5243%206.14396%2043.5017%205.39614%2042.4933%205.39614C41.7908%205.39614%2041.2469%205.87202%2041.2469%206.78979V10.2456H39.6606V4.21776H41.1793V5.10155H41.2016C41.4172%204.73898%2041.8701%204.05951%2043.0145%204.05951C44.1928%204.05951%2045.1106%204.7503%2045.1106%206.07597V10.2456Z'%20fill='%23231F20'/%3e%3cpath%20d='M50.1294%208.47762C50.0047%208.90856%2049.5515%209.13517%2049.1096%209.13517C47.8293%209.13517%2047.7386%208.11505%2047.6933%207.6622H51.829V7.37894C51.829%204.62562%2050.186%204.05946%2048.9963%204.05946C46.3567%204.05946%2046.1074%206.38184%2046.1074%207.107C46.1074%209.58839%2047.4104%2010.4038%2049.1096%2010.4038C50.1407%2010.4038%2051.3417%209.9283%2051.7606%208.47762H50.1294ZM47.7386%206.63113C47.8293%205.83799%2048.2258%205.36211%2048.9737%205.36211C49.4835%205.36211%2050.1063%205.65671%2050.1974%206.63113H47.7386Z'%20fill='%23231F20'/%3e%3cpath%20d='M52.8713%204.21776H54.3893V5.26017H54.4123C54.7405%204.64832%2055.1031%204.05951%2056.0662%204.05951C56.1681%204.05951%2056.2701%204.07047%2056.3721%204.08217V5.69073C56.2361%205.66807%2056.0662%205.66808%2055.9189%205.66808C54.6842%205.66808%2054.4572%206.43854%2054.4572%207.10704V10.2456H52.8713V4.21776Z'%20fill='%23231F20'/%3e%3cpath%20d='M62.1731%205.80399C62.1731%204.31969%2060.6208%204.05946%2059.771%204.05946C58.5363%204.05946%2057.256%204.31969%2057.0747%206.16657H58.6039C58.6496%205.81532%2058.7856%205.32849%2059.5787%205.32849C59.9866%205.32849%2060.6208%205.3621%2060.6208%206.0306C60.6208%206.37051%2060.3152%206.47249%2060.066%206.50648L58.6379%206.72177C57.6295%206.86907%2056.8821%207.46959%2056.8821%208.64796C56.8821%209.89394%2057.8112%2010.4038%2058.7172%2010.4038C59.794%2010.4038%2060.3035%209.90526%2060.6661%209.53135C60.7001%209.87165%2060.7227%209.9623%2060.8134%2010.2456H62.5243V10.0072C62.3317%209.93926%2062.1731%209.78101%2062.1731%209.06681V5.80399ZM60.6208%208.08144C60.6208%208.81792%2059.9073%209.27076%2059.2045%209.27076C58.8989%209.27076%2058.4684%209.10118%2058.4684%208.54598C58.4684%207.88881%2058.9552%207.74151%2059.5448%207.63954C60.2015%207.53756%2060.4622%207.4356%2060.6208%207.31096V8.08144Z'%20fill='%23231F20'/%3e%3cpath%20d='M65.2206%2010.2456H63.6343V2.11066H65.2206V10.2456Z'%20fill='%23231F20'/%3e%3cpath%20d='M68.371%203.50394H66.7852V2.03136H68.371V3.50394ZM68.371%204.21776V10.2456H66.7852V4.21776H68.371Z'%20fill='%23231F20'/%3e%3cpath%20d='M71.6672%204.21763H72.653V5.35069H71.6672V8.62522C71.6672%208.97609%2071.6785%209.11243%2072.3244%209.11243C72.426%209.11243%2072.5397%209.1011%2072.653%209.0894V10.2904C72.4037%2010.3018%2072.154%2010.3135%2071.9052%2010.3135H71.7012C70.3302%2010.3135%2070.0809%209.79189%2070.0809%209.01047V5.35069H69.2651V4.21763H70.0809V2.58642H71.6672V4.21763Z'%20fill='%23231F20'/%3e%3cpath%20d='M78.5445%205.80399C78.5445%204.31969%2076.9926%204.05946%2076.1428%204.05946C74.9078%204.05946%2073.6278%204.31969%2073.4461%206.16657H74.9758C75.0211%205.81532%2075.1574%205.32849%2075.9502%205.32849C76.3581%205.32849%2076.9926%205.3621%2076.9926%206.0306C76.9926%206.37051%2076.6867%206.47249%2076.4374%206.50648L75.0098%206.72177C74.0013%206.86907%2073.2539%207.46959%2073.2539%208.64796C73.2539%209.89394%2074.1826%2010.4038%2075.0891%2010.4038C76.1655%2010.4038%2076.6753%209.90526%2077.0379%209.53135C77.0719%209.87165%2077.0942%209.9623%2077.1852%2010.2456H78.8961V10.0072C78.7031%209.93926%2078.5445%209.78101%2078.5445%209.06681V5.80399ZM76.9926%208.08144C76.9926%208.81792%2076.2788%209.27076%2075.5763%209.27076C75.2704%209.27076%2074.8398%209.10118%2074.8398%208.54598C74.8398%207.88881%2075.327%207.74151%2075.9162%207.63954C76.5734%207.53756%2076.834%207.4356%2076.9926%207.31096V8.08144Z'%20fill='%23231F20'/%3e%3cpath%20d='M81.7398%204.21763H82.7256V5.35069H81.7398V8.62522C81.7398%208.97609%2081.7515%209.11243%2082.3974%209.11243C82.499%209.11243%2082.6123%209.1011%2082.7256%209.0894V10.2904C82.4759%2010.3018%2082.227%2010.3135%2081.9778%2010.3135H81.7738C80.4028%2010.3135%2080.1536%209.79189%2080.1536%209.01047V5.35069H79.3381V4.21763H80.1536V2.58642H81.7398V4.21763Z'%20fill='%23231F20'/%3e%3cpath%20d='M30.0527%2013.4412H28.4664V16.3301H28.4438C28.1945%2015.9449%2027.7186%2015.39%2026.6989%2015.39C25.3732%2015.39%2024.1948%2016.4094%2024.1948%2018.4938C24.1948%2020.1485%2024.943%2021.7344%2026.7329%2021.7344C27.39%2021.7344%2028.0925%2021.4968%2028.4778%2020.817H28.5004V21.5761H30.0527V13.4412ZM25.8264%2018.6075C25.8264%2017.6558%2026.1663%2016.7607%2027.1751%2016.7607C28.2625%2016.7607%2028.5344%2017.7351%2028.5344%2018.6978C28.5344%2019.5933%2028.1378%2020.4318%2027.1294%2020.4318C26.1097%2020.4318%2025.8264%2019.3213%2025.8264%2018.6075Z'%20fill='%23231F20'/%3e%3cpath%20d='M35.0151%2019.8082C34.8905%2020.2387%2034.4373%2020.4657%2033.9954%2020.4657C32.7154%2020.4657%2032.6244%2019.4456%2032.5791%2018.9928H36.7143V18.7095C36.7143%2015.9562%2035.0718%2015.39%2033.8821%2015.39C31.2421%2015.39%2030.9932%2017.7124%2030.9932%2018.4376C30.9932%2020.919%2032.2958%2021.7344%2033.9954%2021.7344C35.0265%2021.7344%2036.2271%2021.2589%2036.6467%2019.8082H35.0151ZM32.6244%2017.9617C32.7154%2017.1686%2033.1116%2016.6927%2033.8594%2016.6927C34.3693%2016.6927%2034.9925%2016.9873%2035.0831%2017.9617H32.6244Z'%20fill='%23231F20'/%3e%3cpath%20d='M46.2321%2016.1035C46.0958%2015.6163%2045.8356%2014.6985%2044.4306%2014.6985C43.6148%2014.6985%2042.4137%2015.2427%2042.4137%2017.5425C42.4137%2019.0041%2042.9916%2020.3184%2044.4306%2020.3184C45.3706%2020.3184%2046.0282%2019.7859%2046.2321%2018.7888H47.9313C47.5914%2020.556%2046.4361%2021.791%2044.3962%2021.791C42.2325%2021.791%2040.6802%2020.3298%2040.6802%2017.5198C40.6802%2014.6762%2042.3231%2013.2259%2044.4193%2013.2259C46.8549%2013.2259%2047.8407%2014.9024%2047.9313%2016.1035H46.2321Z'%20fill='%23231F20'/%3e%3cpath%20d='M53.9813%2017.1346C53.9813%2015.6503%2052.429%2015.39%2051.5792%2015.39C50.3442%2015.39%2049.0642%2015.6503%2048.8826%2017.4971H50.4122C50.4575%2017.1459%2050.5935%2016.6591%2051.3866%2016.6591C51.7945%2016.6591%2052.429%2016.6927%2052.429%2017.3612C52.429%2017.7011%2052.1231%2017.8031%2051.8738%2017.8371L50.4466%2018.0523C49.4381%2018.1996%2048.6899%2018.8002%2048.6899%2019.9785C48.6899%2021.2245%2049.619%2021.7344%2050.5259%2021.7344C51.6019%2021.7344%2052.1118%2021.2358%2052.4743%2020.8619C52.5083%2021.2022%2052.531%2021.2929%2052.6216%2021.5761H54.3326V21.3378C54.1399%2021.2698%2053.9813%2021.1116%2053.9813%2020.3974V17.1346ZM52.429%2019.412C52.429%2020.1485%2051.7152%2020.6013%2051.0131%2020.6013C50.7068%2020.6013%2050.2766%2020.4317%2050.2766%2019.8765C50.2766%2019.2194%2050.7638%2019.0721%2051.3526%2018.9701C52.0098%2018.8681%2052.2704%2018.7662%2052.429%2018.6415V19.412Z'%20fill='%23231F20'/%3e%3cpath%20d='M57.1766%2015.5482H58.1627V16.6813H57.1766V19.9558C57.1766%2020.3067%2057.1879%2020.443%2057.8338%2020.443C57.9357%2020.443%2058.0494%2020.4317%2058.1627%2020.42V21.621C57.9131%2021.6323%2057.6638%2021.644%2057.4145%2021.644H57.211C55.84%2021.644%2055.5907%2021.1225%2055.5907%2020.341V16.6813H54.7749V15.5482H55.5907V13.917H57.1766V15.5482Z'%20fill='%23231F20'/%3e%3cpath%20d='M64.0532%2017.1346C64.0532%2015.6503%2062.5013%2015.39%2061.6515%2015.39C60.4165%2015.39%2059.1361%2015.6503%2058.9548%2017.4971H60.4844C60.5298%2017.1459%2060.6654%2016.6591%2061.4589%2016.6591C61.8668%2016.6591%2062.5013%2016.6927%2062.5013%2017.3612C62.5013%2017.7011%2062.195%2017.8031%2061.9461%2017.8371L60.5184%2018.0523C59.51%2018.1996%2058.7622%2018.8002%2058.7622%2019.9785C58.7622%2021.2245%2059.6913%2021.7344%2060.5977%2021.7344C61.6738%2021.7344%2062.184%2021.2358%2062.5466%2020.8619C62.5806%2021.2022%2062.6029%2021.2929%2062.6939%2021.5761H64.4044V21.3378C64.2118%2021.2698%2064.0532%2021.1116%2064.0532%2020.3974V17.1346ZM62.5013%2019.412C62.5013%2020.1485%2061.7875%2020.6013%2061.085%2020.6013C60.779%2020.6013%2060.3485%2020.4317%2060.3485%2019.8765C60.3485%2019.2194%2060.8357%2019.0721%2061.4249%2018.9701C62.0817%2018.8681%2062.3427%2018.7662%2062.5013%2018.6415V19.412Z'%20fill='%23231F20'/%3e%3cpath%20d='M67.1014%2021.5762H65.5151V13.4412H67.1014V21.5762Z'%20fill='%23231F20'/%3e%3cpath%20d='M74.0578%2021.5761H72.5395V20.7263H72.5169C72.1543%2021.3718%2071.5201%2021.7344%2070.6817%2021.7344C69.492%2021.7344%2068.6309%2021.0545%2068.6309%2019.514V15.5483H70.2168V19.2874C70.2168%2020.2165%2070.761%2020.3974%2071.2478%2020.3974C71.769%2020.3974%2072.4715%2020.1028%2072.4715%2019.0268V15.5483H74.0578V21.5761Z'%20fill='%23231F20'/%3e%3cpath%20d='M80.9916%2021.5762H79.4053V17.9164C79.4053%2017.4745%2079.3827%2016.7267%2078.3742%2016.7267C77.6721%2016.7267%2077.1279%2017.2026%2077.1279%2018.1204V21.5762H75.542V15.5483H77.0603V16.4321H77.0826C77.2982%2016.0695%2077.7514%2015.3901%2078.8955%2015.3901C80.0738%2015.3901%2080.9916%2016.0809%2080.9916%2017.4065V21.5762Z'%20fill='%23231F20'/%3e%3cpath%20d='M85.5378%2021.4741C84.7896%2023.7058%2084.586%2024%2083.2037%2024C82.9884%2024%2082.7165%2023.989%2082.4903%2023.9777V22.7091C82.5579%2022.72%2082.6598%2022.7317%2082.7958%2022.7317C83.3737%2022.7317%2083.6909%2022.652%2083.8382%2021.8253L81.6174%2015.5482H83.385L84.6767%2019.9894H84.6993L85.9344%2015.5482H87.6109L85.5378%2021.4741Z'%20fill='%23231F20'/%3e%3cpath%20d='M93.0864%2017.1346C93.0864%2015.6503%2091.5345%2015.39%2090.6847%2015.39C89.4493%2015.39%2088.1693%2015.6503%2087.988%2017.4971H89.5173C89.563%2017.1459%2089.6989%2016.6591%2090.4917%2016.6591C90.8996%2016.6591%2091.5345%2016.6927%2091.5345%2017.3612C91.5345%2017.7011%2091.2282%2017.8031%2090.9789%2017.8371L89.5516%2018.0523C88.5432%2018.1996%2087.7954%2018.8002%2087.7954%2019.9785C87.7954%2021.2245%2088.7241%2021.7344%2089.631%2021.7344C90.707%2021.7344%2091.2168%2021.2358%2091.5794%2020.8619C91.6138%2021.2022%2091.6361%2021.2929%2091.7271%2021.5761H93.4376V21.3378C93.245%2021.2698%2093.0864%2021.1116%2093.0864%2020.3974V17.1346ZM91.5345%2019.412C91.5345%2020.1485%2090.8203%2020.6013%2090.1182%2020.6013C89.8119%2020.6013%2089.3817%2020.4317%2089.3817%2019.8765C89.3817%2019.2194%2089.8689%2019.0721%2090.4577%2018.9701C91.1152%2018.8681%2091.3755%2018.7662%2091.5345%2018.6415V19.412Z'%20fill='%23231F20'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20width='80'%20height='24'%20viewBox='0%200%2080%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.51539%2023.4832H0L8.22624%200.518679H10.7412L2.51539%2023.4832Z'%20fill='%236AAAE4'/%3e%3cpath%20d='M20.1573%2024C17.1695%2024%2014.8372%2023.3218%2013.1604%2021.9659C11.4836%2020.6095%2010.633%2018.5906%2010.6094%2015.9092H13.4169C13.4812%2019.6737%2015.7275%2021.5563%2020.1573%2021.5563C22.0287%2021.5563%2023.4647%2021.1901%2024.4642%2020.4587C25.4641%2019.7269%2025.9643%2018.6581%2025.9643%2017.2522C26.0073%2016.2425%2025.5399%2015.2791%2024.7212%2014.6874C23.8941%2014.0743%2022.449%2013.5427%2020.3853%2013.091L18.3511%2012.6389C16.028%2012.0994%2014.2875%2011.3204%2013.128%2010.3019C11.969%209.28302%2011.393%207.84942%2011.4004%206.00159C11.35%204.28135%2012.1493%202.64663%2013.5381%201.63049C14.9439%200.544998%2016.844%200.00226593%2019.2383%200.00226593C20.6576%20-0.0236225%2022.0722%200.172396%2023.4314%200.582922C24.4817%200.885733%2025.4406%201.44557%2026.2209%202.21115C26.858%202.86207%2027.3573%203.63505%2027.6883%204.48384C28.0096%205.35251%2028.1797%206.26925%2028.1908%207.19525H25.4156C25.2875%205.55869%2024.7554%204.35948%2023.8197%203.59668C22.8835%202.83434%2021.3566%202.4534%2019.2383%202.4534C17.623%202.4534%2016.3808%202.76592%2015.5116%203.39049C14.6573%203.97947%2014.1645%204.96464%2014.2038%206.00159C14.1492%206.99831%2014.5612%207.96359%2015.3193%208.61313C16.0484%209.2377%2017.4732%209.78646%2019.5943%2010.2589L21.6289%2010.7115C24.1651%2011.2718%2025.9925%2012.0721%2027.1113%2013.1127C28.2301%2014.1529%2028.7881%2015.5352%2028.7858%2017.2596C28.7858%2019.3446%2028.0235%2020.9895%2026.4988%2022.1938C24.9736%2023.3976%2022.86%2024%2020.1573%2024Z'%20fill='%236AAAE4'/%3e%3cpath%20d='M36.6945%2021.677C38.0098%2021.6978%2039.2894%2021.2521%2040.3074%2020.4195C41.3356%2019.6026%2041.8515%2018.4302%2041.8538%2016.9033V14.9366C41.1997%2015.3647%2040.4434%2015.6107%2039.6625%2015.6495L37.2437%2015.938C35.8434%2016.1123%2034.8495%2016.4331%2034.2582%2016.907C33.6558%2017.4039%2033.3262%2018.1579%2033.371%2018.9374C33.3313%2019.7025%2033.6401%2020.444%2034.212%2020.954C34.7783%2021.4348%2035.6261%2021.677%2036.6945%2021.677ZM45.2841%2021.3779H46.2175V23.4763C45.746%2023.5438%2045.2693%2023.5757%2044.7927%2023.5725C43.0498%2023.5725%2042.1146%2022.7768%2041.9893%2021.1856C40.8345%2022.9766%2039.0305%2023.8716%2036.5776%2023.8716C34.7464%2023.8716%2033.3142%2023.4444%2032.2703%2022.5965C31.2264%2021.7487%2030.7063%2020.5476%2030.7063%2019.0017C30.7063%2015.9879%2032.7594%2014.2668%2036.866%2013.8396L39.2529%2013.583C40.9935%2013.3884%2041.864%2012.6246%2041.864%2011.2923C41.864%2010.3658%2041.5792%209.69872%2041.0092%209.29005C40.4392%208.88368%2039.4771%208.67749%2038.1235%208.67749C36.6982%208.67749%2035.6298%208.91975%2035.0099%209.38991C34.3899%209.86007%2034.0159%2010.7292%2033.941%2011.9548H31.3512C31.5648%208.27807%2033.8213%206.43995%2038.1198%206.43995C42.2907%206.43995%2044.3762%208.05292%2044.3762%2011.278V20.58C44.3794%2021.1176%2044.6822%2021.3779%2045.2841%2021.3779Z'%20fill='%236AAAE4'/%3e%3cpath%20d='M50.8951%2023.4832H48.3159V0.518679H50.8951V23.4832Z'%20fill='%236AAAE4'/%3e%3cpath%20d='M65.7337%2016.2584V6.83891H68.3129V23.4832H65.8618V20.9896C64.5937%2022.9109%2062.8517%2023.8716%2060.6359%2023.8716C58.7876%2023.8716%2057.3471%2023.3658%2056.3143%2022.3543C55.281%2021.3423%2054.7642%2019.9175%2054.7642%2018.0789V6.83891H57.3581V17.8403C57.3581%2020.3127%2058.6262%2021.549%2061.1629%2021.549C62.3718%2021.5531%2063.5304%2021.0631%2064.3694%2020.1916C65.2788%2019.2915%2065.7337%2017.9804%2065.7337%2016.2584Z'%20fill='%236AAAE4'/%3e%3cpath%20d='M79.4708%206.83878V9.09759H76.0544V19.903C76.0544%2020.8507%2076.6882%2021.3279%2077.9568%2021.3279H79.4708V23.4905C78.7584%2023.5548%2078.1459%2023.5867%2077.6323%2023.5867C74.8607%2023.5867%2073.4748%2022.436%2073.4748%2020.1346V9.09066H70.7314V6.83878H73.4748V2.13992H76.0544V6.83878H79.4708Z'%20fill='%236AAAE4'/%3e%3c/svg%3e\"","import \"@uxland/primaria-ui-components\";\n//import \"../../../../../../dss/design-system-salut/src/index\";\n//import \"../../../../../../dss/design-system-salut/css/main.css\";\nimport \"@salut/design-system-salut\";\nimport \"@salut/design-system-salut/css/main.css\";\nimport { html } from \"lit\";\nimport gencatLogo from \"../../../UI/images/Gencat_Logotip.svg\";\nimport salutLogo from \"../../../UI/images/Salut_Logotip.svg\";\nimport { PrimariaShell } from \"./primaria-shell\";\nimport { shellApi } from \"../../../api/api\";\n\nconst handleInteraction = () => {\n shellApi.interactionManager.notify({\n message: \"Prova Toast!!\",\n type: \"danger\",\n });\n};\n\n// const handleBasicConfirmation = () => {\n// shellApi.interactionManager\n// .doConfirm({\n// title: \"Confirmation title\",\n// type: \"success\",\n// message: \"Això és missatge de confirmacio\",\n// acceptLabel: \"Acceptar\",\n// cancelLabel: \"Cancelar\",\n// })\n// .then((r) => console.log(r));\n// };\n\n// const handleComponentConfirmation = () => {\n// shellApi.interactionManager\n// .doCustomConfirm({\n// title: \"Confirmation title\",\n// type: \"danger\",\n// componentConstructor: TitleView,\n// acceptLabel: \"Acceptar\",\n// cancelLabel: \"Cancelar\",\n// properties: { title: \"HOLAAA\" },\n// })\n// .then((r) => console.log(r));\n// };\n// const handleComponentConfirmation = () => {\n// shellApi.interactionManager\n// .doCustomConfirm({\n// title: \"Exportar a PDF\",\n// type: \"success\",\n// componentConstructor: ExportPdfModal,\n// acceptLabel: \"Acceptar\",\n// cancelLabel: \"Cancelar\",\n// properties: { text: \"Hola custom text\" },\n// })\n// .then((r) => console.log(r));\n// };\n// const handleComponentConfirmation2 = () => {\n// shellApi.interactionManager\n// .doCustomConfirm({\n// title: \"Eliminar curs clínic\",\n// type: \"danger\",\n// componentConstructor: DeleteClinicalCourseModal,\n// acceptLabel: \"Eliminar\",\n// cancelLabel: \"Cancelar\",\n// properties: { text: \"Hola custom text\" },\n// })\n// .then((r) => console.log(r));\n// };\n\nexport const template = (props: PrimariaShell) => html`\n<div class=\"container\">\n <div class=\"header\">\n <div class=\"header__left\">\n <div class=\"header-logo\">\n <img src=${salutLogo} alt=\"logo\" />\n </div>\n <primaria-content-switcher id=\"header-region-container\"></primaria-content-switcher>\n </div>\n <div class=\"header__right\">\n <div id=\"header-actions-region-container\"></div>\n </div>\n </div>\n <div class=\"main-container\">\n <div class=\"sidebar\">\n <div id=\"menu-region-container\"></div>\n <div id=\"quick-actions-region-container\"></div>\n </div>\n <div class=\"content\">\n <div id=\"floating-region-container\"></div>\n <primaria-content-switcher id=\"main-region-container\"></primaria-content-switcher>\n </div>\n </div>\n <div class=\"footer\">\n <div class=\"footer-logo\">\n <img src=${gencatLogo} alt=\"logo\" />\n </div>\n </div>\n</div>`;\n","import { IRegion, region } from \"@uxland/regions\";\nimport { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { PrimariaRegionHost } from \"../../../api/api\";\nimport { customElement } from \"lit/decorators.js\";\nimport { shellRegions } from \"../../../regions\";\nimport styles from \"./styles.scss?inline\";\nimport { template } from \"./template\";\n\n//@ts-ignore\n@customElement(\"primaria-shell\")\nexport class PrimariaShell extends PrimariaRegionHost(LitElement) {\n render() {\n return html`${template(this)}`;\n }\n\n static styles = css`\n ${unsafeCSS(styles)}\n `;\n\n @region({ targetId: \"header-region-container\", name: shellRegions.header })\n headerRegion: IRegion | undefined;\n\n @region({ targetId: \"header-actions-region-container\", name: shellRegions.headerActions })\n headerActionsRegion: IRegion | undefined;\n\n @region({ targetId: \"menu-region-container\", name: shellRegions.menu })\n menuRegion: IRegion | undefined;\n\n @region({ targetId: \"main-region-container\", name: shellRegions.main })\n mainRegion: IRegion | undefined;\n\n @region({ targetId: \"quick-actions-region-container\", name: shellRegions.quickActions })\n quickActionsRegion: IRegion | undefined;\n\n @region({ targetId: \"floating-region-container\", name: shellRegions.floating })\n floatingRegion: IRegion | undefined;\n}\n","const themeCSSVariables = `\n :root{\n --primaria-primary-color: #0054A8;\n }\n `;\n\nexport const appendTheme = () => {\n const styleElement = document.createElement(\"style\");\n styleElement.appendChild(document.createTextNode(themeCSSVariables));\n document.head.appendChild(styleElement);\n};\n","export const primariaShellId = \"primaria-shell\";\nexport const clinicalMonitoringId = \"clinical-monitoring\";\n","import { setLanguage } from \"@uxland/localization\";\nimport { PrimariaApi } from \"./api/api\";\nimport { clinicalMonitoringId, primariaShellId } from \"./constants\";\n\nlet shellLocaleManager;\n\nexport const initializeLocalization = async (api: PrimariaApi) => {\n setLanguage(\"ca\");\n const localeManager = await api.createLocaleManager(locales);\n shellLocaleManager = localeManager;\n};\n\nexport { shellLocaleManager };\n\nexport const locales = {\n ca: {\n [primariaShellId]: {\n title: \"Estació de Treball Clínica\",\n },\n [clinicalMonitoringId]: {\n title: \"Seguiment Clínic\",\n },\n },\n};\n","import { PrimariaMenuItem } from \"@uxland/primaria-ui-components/src/primaria-menu-item/primaria-menu-item\";\nimport { selectableAdapterFactory as factory, regionAdapterRegistry } from \"@uxland/regions\";\nimport { ClinicalMonitoring } from \"./UI/components/clinical-monitoring/clinical-monitoring\";\nimport { PrimariaShell } from \"./UI/components/primaria-shell/primaria-shell\";\nimport { appendTheme } from \"./UI/styles/theme/apply-theme\";\nimport { shellApi } from \"./api/api\";\nimport { initializeLocalization } from \"./locales\";\nimport { shellRegions } from \"./regions\";\nimport { clinicalMonitoringId } from \"./constants\";\n\nexport const initializeShell = async (element: HTMLElement) => {\n initializeLocalization(shellApi);\n regionAdapterRegistry.registerAdapterFactory(\"primaria-content-switcher\", factory);\n const shell = new PrimariaShell();\n element.appendChild(shell as any);\n appendTheme();\n registerViews();\n};\n\nconst registerViews = () => {\n shellApi.regionManager.registerMainView(\n {\n id: clinicalMonitoringId,\n factory: () => {\n const mainItem = new ClinicalMonitoring();\n return Promise.resolve(mainItem as unknown as HTMLElement);\n },\n },\n \"Seguiment Clínic\",\n );\n shellApi.regionManager.registerMenu({\n id: clinicalMonitoringId,\n factory: () => {\n const menuItem = new PrimariaMenuItem(\"add_box\", \"Seguiment clínic\", () => {\n shellApi.regionManager.activateView(shellRegions.main, \"clinical-monitoring\");\n });\n return Promise.resolve(menuItem);\n },\n });\n};\n","import { bootstrapPlugins as pluginBootstrapper } from \"@uxland/harmonix\";\nimport type { PluginDefinition, Plugin as PluginType } from \"@uxland/harmonix\";\nexport type { PluginDefinition, PluginInfo } from \"@uxland/harmonix\";\nimport { PrimariaApi, primariaApiFactory } from \"./api/api\";\n\nexport const bootstrapPlugins = (plugins: PluginDefinition[]) =>\n pluginBootstrapper(plugins, primariaApiFactory);\n\nexport type Plugin = PluginType<PrimariaApi>;\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for(\"lit-noChange\"),T=Symbol.for(\"lit-nothing\"),A=new WeakMap,E=r.createTreeWalker(r,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[C(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=E.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?k:\"?\"===e[1]?H:\"@\"===e[1]?I:R}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),E.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function N(t,i,s=t,e){if(i===w)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=N(t,h._$AS(t,i.values),h,e)),i}class S{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);E.currentNode=e;let h=E.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new M(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new L(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=E.nextNode(),o++)}return E.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class M{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=T,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=N(this,t,i),c(t)?t===T||null==t||\"\"===t?(this._$AH!==T&&this._$AR(),this._$AH=T):t!==this._$AH&&t!==w&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t))}_(t){this._$AH!==T&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=V.createElement(C(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new S(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new V(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new M(this.S(l()),this.S(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class R{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=T,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=N(this,e[s+n],i,n),r===w&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===T?t=T:t!==T&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===T?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class k extends R{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===T?void 0:t}}class H extends R{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==T)}}class I extends R{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=N(this,t,i,0)??T)===w)return;const s=this._$AH,e=t===T&&s!==T||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==T&&(s===T||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t)}}const z={P:e,A:h,C:o,M:1,L:P,R:S,D:u,V:N,I:M,H:R,N:H,U:I,B:k,F:L},Z=t.litHtmlPolyfillSupport;Z?.(V,M),(t.litHtmlVersions??=[]).push(\"3.1.3\");const j=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{z as _$LH,x as html,w as noChange,T as nothing,j as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,n={HTML:1,SVG:2},e=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,l=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,d=o=>o?._$litDirective$,f=o=>void 0===o.strings,s=()=>document.createComment(\"\"),r=(o,i,n)=>{const e=o._$AA.parentNode,l=void 0===i?o._$AB:i._$AA;if(void 0===n){const i=e.insertBefore(s(),l),c=e.insertBefore(s(),l);n=new t(i,c,o,o.options)}else{const t=n._$AB.nextSibling,i=n._$AM,c=i!==o;if(c){let t;n._$AQ?.(o),n._$AM=o,void 0!==n._$AP&&(t=o._$AU)!==i._$AU&&n._$AP(t)}if(t!==l||c){let o=n._$AA;for(;o!==t;){const t=o.nextSibling;e.insertBefore(o,l),o=t}}}return n},v=(o,t,i=o)=>(o._$AI(t,i),o),u={},m=(o,t=u)=>o._$AH=t,p=o=>o._$AH,h=o=>{o._$AP?.(!1,!0);let t=o._$AA;const i=o._$AB.nextSibling;for(;t!==i;){const o=t.nextSibling;t.remove(),t=o}},j=o=>{o._$AR()};export{n as TemplateResultType,j as clearPart,p as getCommittedValue,d as getDirectiveClass,r as insertPart,l as isCompiledTemplateResult,c as isDirectiveResult,i as isPrimitive,f as isSingleExpression,e as isTemplateResult,h as removePart,v as setChildPartValue,m as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as e}from\"../lit-html.js\";import{directive as s,Directive as t,PartType as r}from\"../directive.js\";import{getCommittedValue as l,setChildPartValue as o,insertPart as i,removePart as n,setCommittedValue as f}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst u=(e,s,t)=>{const r=new Map;for(let l=s;l<=t;l++)r.set(e[l],l);return r},c=s(class extends t{constructor(e){if(super(e),e.type!==r.CHILD)throw Error(\"repeat() can only be used in text expressions\")}dt(e,s,t){let r;void 0===t?t=s:void 0!==s&&(r=s);const l=[],o=[];let i=0;for(const s of e)l[i]=r?r(s,i):i,o[i]=t(s,i),i++;return{values:o,keys:l}}render(e,s,t){return this.dt(e,s,t).values}update(s,[t,r,c]){const d=l(s),{values:p,keys:a}=this.dt(t,r,c);if(!Array.isArray(d))return this.ut=a,p;const h=this.ut??=[],v=[];let m,y,x=0,j=d.length-1,k=0,w=p.length-1;for(;x<=j&&k<=w;)if(null===d[x])x++;else if(null===d[j])j--;else if(h[x]===a[k])v[k]=o(d[x],p[k]),x++,k++;else if(h[j]===a[w])v[w]=o(d[j],p[w]),j--,w--;else if(h[x]===a[w])v[w]=o(d[x],p[w]),i(s,v[w+1],d[x]),x++,w--;else if(h[j]===a[k])v[k]=o(d[j],p[k]),i(s,d[x],d[j]),j--,k++;else if(void 0===m&&(m=u(a,k,w),y=u(h,x,j)),m.has(h[x]))if(m.has(h[j])){const e=y.get(a[k]),t=void 0!==e?d[e]:null;if(null===t){const e=i(s,d[x]);o(e,p[k]),v[k]=e}else v[k]=o(t,p[k]),i(s,d[x],t),d[e]=null;k++}else n(d[j]),j--;else n(d[x]),x++;for(;k<=w;){const e=i(s,v[w+1]);o(e,p[k]),v[k++]=e}for(;x<=j;){const e=d[x++];null!==e&&n(e)}return this.ut=a,f(s,v),e}});export{c as repeat};\n//# sourceMappingURL=repeat.js.map\n","import { html } from \"lit\";\nimport { PrimariaBreadcumbs } from \"./primaria-breadcumbs\";\nimport { repeat } from \"lit/directives/repeat.js\";\n\nexport const template = (props: PrimariaBreadcumbs) => html`\n<div class=\"container\">\n ${repeat(\n props.breadcumbs,\n (breadcumb, index) => html`\n <div class=\"breadcumb\" @click=${() => props._breadcumbClick(breadcumb)} ?selected=${index === props.breadcumbs.length - 1}>\n <div class=\"label\">${breadcumb.label}</div>\n <span ?hidden=${index === props.breadcumbs.length - 1}>></span>\n </div> `,\n )}\n</div>`;\n","import { LitElement, css, html, unsafeCSS } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport styles from \"./styles.scss?inline\";\nimport { template } from \"./template\";\nimport { shellApi } from \"../../../api/api\";\n\n@customElement(\"primaria-breadcumbs\")\nexport class PrimariaBreadcumbs extends LitElement {\n render() {\n return html`${template(this)}`;\n }\n\n static styles = css`\n ${unsafeCSS(styles)}\n `;\n\n @property()\n breadcumbs: any[] = [];\n\n _breadcumbClick(breadcumb) {\n shellApi.regionManager.activateMainView(breadcumb.view);\n }\n}\n"],"names":["template","props","html","t","e","o","s","r","n","S","c","i","h","a","l","p","d","u","f","y","_a","b","LitElement","icon","label","callbackFn","css","unsafeCSS","styles","__decorateClass","customElement","_isPlaceholder","require$$0","_curry1","fn","f1","require$$1","_curry2","f2","_b","_concat","set1","set2","idx","len1","len2","result","_arity","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","_curryN","length","received","combined","argsIdx","left","combinedIdx","require$$2","require$$3","curryN","_isArray","val","_isTransformer","obj","_dispatchable","methodNames","xf","args","transducer","_xfBase","_map","functor","len","_isString","x","_isArrayLike","XWrap","acc","_xwrap","bind","thisObj","_arrayReduce","list","_iterableReduce","iter","step","_methodReduce","methodName","symIterator","_reduce","XMap","input","_xmap","_has","prop","toString","_isArguments","hasEnumBug","nonEnumerableProps","hasArgsEnumBug","contains","item","keys","nIdx","ks","checkArgsLength","require$$4","require$$5","require$$6","map","key","ap","applyF","applyX","isNil","liftN","arity","lifted","lift","not","f3","_c","pairs","pair","T","E","A","L","g","exports","TYPE","isLiteralElement","el","isArgumentElement","isNumberElement","isDateElement","isTimeElement","isSelectElement","isPluralElement","isPoundElement","isNumberSkeleton","isDateTimeSkeleton","createLiteralElement","value","createNumberElement","style","__extends","this","extendStatics","__","__assign","types_1","_super","SyntaxError","message","expected","found","location","_this","hex","ch","literalEscape","classEscape","describeExpectation","expectation","escapedParts","part","describeExpected","expected1","descriptions","j","describeFound","found1","options","peg$FAILED","peg$startRuleFunctions","peg$parsestart","peg$startRuleFunction","peg$c0","parts","peg$c1","messageText","insertLocation","peg$c2","peg$c3","peg$literalExpectation","peg$c4","peg$c5","peg$otherExpectation","peg$c6","peg$c7","peg$c8","peg$c9","peg$c10","peg$c11","peg$c12","peg$c13","peg$classExpectation","peg$c14","peg$anyExpectation","peg$c15","peg$c16","peg$c17","peg$c18","option","peg$c19","peg$c20","stem","peg$c21","tokens","peg$c22","peg$c23","peg$c24","skeleton","peg$c25","messageCtx","peg$c26","peg$c27","peg$c28","peg$c29","peg$c30","peg$c31","type","peg$c32","peg$c33","peg$c34","peg$c35","peg$c36","peg$c37","peg$c38","peg$c39","peg$c40","pattern","peg$c41","peg$c42","peg$c43","peg$c44","peg$c45","peg$c46","peg$c47","peg$c48","peg$c49","peg$c50","peg$c51","peg$c52","pluralType","offset","all","id","optionLocation","error","text","peg$c53","peg$c54","peg$c55","peg$c56","peg$c57","peg$c58","peg$c59","peg$c60","peg$c61","peg$c62","peg$c63","peg$c64","peg$c65","peg$c66","peg$c67","peg$c68","peg$c69","peg$c70","peg$c71","peg$c72","negative","num","peg$c74","peg$c75","peg$c76","peg$c77","peg$c78","escapedChar","quotedChars","peg$c79","isInPluralOption","isNestedMessageText","peg$c80","peg$c81","peg$c82","peg$c83","peg$c84","peg$c85","peg$c86","peg$c87","peg$c88","peg$c89","peg$c90","peg$c91","peg$c92","digits","peg$c93","peg$currPos","peg$savedPos","peg$posDetailsCache","peg$maxFailPos","peg$maxFailExpected","peg$silentFails","peg$result","peg$computeLocation","location1","peg$buildSimpleError","text1","ignoreCase","inverted","peg$endExpectation","description","peg$computePosDetails","pos","details","startPos","endPos","startPosDetails","endPosDetails","peg$fail","peg$buildStructuredError","s0","peg$parsemessage","s1","peg$parsemessageElement","peg$parseliteralElement","peg$parseargumentElement","peg$parsesimpleFormatElement","peg$parsepluralElement","peg$parseselectElement","peg$parsepoundElement","peg$parsemessageText","s2","peg$parsedoubleApostrophes","peg$parsequotedString","peg$parseunquotedString","s3","s4","s5","peg$parse_","peg$parseargNameOrNumber","peg$parsenumberSkeletonId","peg$parsewhiteSpace","peg$parsenumberSkeletonTokenOption","peg$parsenumberSkeletonToken","peg$parsenumberSkeleton","peg$parsenumberArgStyle","peg$parsenumberFormatElement","s6","s7","s8","s9","s10","s11","s12","peg$parsedateTimeSkeletonLiteral","peg$parsedateTimeSkeletonPattern","peg$parsedateTimeSkeleton","peg$parsedateOrTimeArgStyle","peg$parsedateOrTimeFormatElement","s13","s14","s15","peg$parsenumber","peg$parsepluralOption","peg$parseselectOption","peg$parsepluralRuleSelectValue","peg$parseargName","peg$parsepatternSyntax","peg$parseargNumber","peg$parseescapedChar","__spreadArrays","il","k","jl","els","opt","matchingLiteralElIndex","literalEl","el_1","newValue","newEls","match","unit","str","_","g1","g2","signOpts","_i","tokens_1","token","__export","m","parser_1","normalize_1","parse","opts","inputs","FormatConstructor","cache","cacheId","format","intl_messageformat_parser_1","FormatError","msg","variableId","lastPart","locales","formatters","formats","values","currentPluralValue","originalMessage","els_1","varName","rule","objectParts","tagName","outerHTML","textContent","childNodes","isVoidElement","formatFnOrValue","chunks","child","formattedMessage","content","tagsToFormat","caseSensitiveTags","c1","c2","defaultConfig","configs","IntlMessageFormat","overrideFormats","core_1","assocPath","path","nextObj","arr","getter","setter","toFunctorFn","target","focus","pathsArray","paths","pathAr","lens","mergeDeepWithKey","lObj","rObj","lVal","rVal","pluginId","translations","localizer","localizerFactory","getLanguage","setLocales","variables","getLocales","language","titleText","property","pluginInfo","regionManager","regionName","view","viewId","region","title","titleView","notify","doConfirm","broker","to","from","pack","ar","OrderMappings","mapping","NotificationMappings","handlerName","mediatorSettings","notification","handlers","all_1","handler","items","BehaviorMappings","behaviors","all_2","Dispatcher","HandlerInstance","name","Resolver","handlerFx","fx","MediatrSettings","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","rejected","body","verb","v","op","Mediator","request","currentBehaviorIndex","next","behaviorClass","behavior","events","payload","eventPayload","event","eventType","requestType","eventName","eventConstructor","requestName","requestConstructor","clazz","classPrefix","className","createRegionManager","createRegionHost","url","data","decorators","desc","oldValue","surname","imageUrl","size","cssClass","changedProperties","initials","$","C","V","w","N","H","z","R","Z","M","I","argument","argStr","date","_date","month","interval","startDate","endDate","reversed","endTime","currentDate","dates","selectedDate","minDate","maxDate","showTime","showButtons","leftLabel","rightLabel","days","daysOfMonth","firstDayOfMonth","day","_today","onCancel","_d","_e","_day","_month","_hours","_mins","onDateChange","dateLength","selectedTime","selectedMonth","year","yearsRange","moveFocusToOption","currentOption","moveFocusToPreviousOption","index","availableOptions","lastIndex","availableOption","moveFocusToNextOption","onKeyDown","tgt","keyboardEvent","flag","yearElement","tabIndexOption","currentYear","yearOptionClass","classMap","monthElement","currentMonth","monthOptionClass","placeHolder","required","disabled","readonly","invalid","currentValue","_f","stringDate","hours","mins","formattedDate","_year","_hour","_min","containerClass","ifDefined","mutationList","mutation","inputPlaceholder","validity","relatedTarget","inputGroupClass","helpClass","calendarClass","clearable","showError","maxLength","minLength","max","min","pageSize","currentIndex","firstPageIndex","leftSiblingIndex","rightSiblingIndex","shouldShowLeftDots","shouldShowRightDots","firstPage","lastPage","DOTS","leftRange","rightRange","middleRange","startIndex","endIndex","pageIndex","orient","orientClass","tempValue","newPosition","onDssSliderValueChange","checked","switchCssClassmap","booleanType","multiple","tick","deselectable","elements","element","filtre","labelSelectAll","labelDeselectAll","selectAll","elementsSelected","sel","checkedValues","detail","parentForm","selectedValues","elementValues","selected","divClasses","inputClasses","tickVisibility","htmlTick","clickEvent","keyEvent","prev","start","end","abans","sub","despres","lis","lis2","scrollEvent","pageSizeOptions","rowsPerPageText","resultsText","_lastCount","_select","previousFirstItem","reload","textarea","_g","openWithSearch","boxStyle","inputStyle","filtro","elemento","dropdown","firstTime","matchingObjects","objeto","matchingValues","selectorContainerClass","tab","firstDefined","selectedPanel","panel","panelId","currentTab","state","inputValue","limit","separator","output","hour","minutes","predefinedHour","hourStr","minStr","customOptions","isFirstOption","isCustomList","onClickOption","clicked","optionInput","stateClass","radioInput","inputName","optionParent","minuteOption","selectButton","checkedOptions","checkedOption","inputText","foundMatch","optionValue","minutesText","dropdownClass","status","maxlength","placeholder","filter","inputReadOnly","dssSelector","dssButtonArrow","badgeClassMap","currentSearch","chipsCounter","term","termClicked","chipClass","isFirstItem","currentItem","availableItems","availableItem","itemElement","tabIndexItem","itemClass","itemHtml","searchBarClass","splitButtonClassMap","innerButtonClassMap","checkbox","accordionClassMap","root","currentTarget","selector","availableTargets","currentTabIndex","filters","icons","tableHeight","collapsedHeight","tableKeys","disabledIndex","deletedIndex","lastSort","valueA","valueB","tableHeaderCheckbox","tableHeaderRadio","tableHeaderButtons","tableHeaderActions","isFirstTh","tableHeaderData","onClick","headerTitle","columnType","tableThClassMap","tableHeaderColumnClassMap","dssTh","row","action","deleted","checkboxTd","radioTd","cell","tableBodyData","isFirstRow","isRowChecked","isRowDeleted","isRowDisabled","onFocusOut","nextFocus","onRowKeyDown","targetElement","tableBodyCheckbox","tableBodyRadio","tableBodyButtons","tableBodyActions","tableBodyColumns","tableColumnClassMap","rowClassMap","tableRow","tableBody","onReviewChange","itemKey","filterChips","filterType","count","selectedRows","removeCheckedRow","tableClassMap","tableBodyClassMap","currentStep","column","circular","hideLabel","stepsLength","stepper","rect","segment","stepNumber","totalSteps","percent","stepperClass","bubbleClass","position","align","tooltipClassMap","iconClassMap","tileClassMap","tile","dialog","dialogClassMap","stateClassMap","styleElement","api","setLanguage","regionAdapterRegistry","factory","shell","mainItem","menuItem","plugins","pluginBootstrapper","repeat","breadcumb"],"mappings":"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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAlB,iBAAmBA,IAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECM7B,MAAQ,CACV,QACA,SACA,OACA,QACA,OACA,OACA,SACA,QACA,WACA,UACA,WACA,UACJ,EACM,KAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,EACtD,IAAI,SAAW,cAAuBJ,cAAW,CAC7C,aAAc,CACV,MAAM,GAAG,SAAS,EAClB,KAAK,YAAc,GACnB,KAAK,cAAgB,EACrB,KAAK,SAAW,EAChB,KAAK,SAAW,GAChB,KAAK,uBAAyB,GAC9B,KAAK,iBAAmB,GACxB,KAAK,MAAQ,IAAI,KACjB,KAAK,UAAY,KAAK,MAAM,YAAW,EACvC,KAAK,WAAa,KAAK,MAAM,SAAQ,EAErC,KAAK,UAAY,OAGjB,KAAK,SAAW,OAChB,KAAK,MAAQ,KAAK,WAClB,KAAK,cAAgB,KACrB,KAAK,UAAY,GACjB,KAAK,aAAe,GACpB,KAAK,WAAa,aAClB,KAAK,YAAc,cACnB,KAAK,SAAW,KAChB,KAAK,SAAW,KAChB,KAAK,iBAAmB,GACxB,KAAK,mBAAqB,GAC1B,KAAK,kBAAoB,GACzB,KAAK,iBAAmB,IAAI,KAAM,EAAC,YAAW,EAAK,GACnD,KAAK,eAAiB,IAAI,KAAM,EAAC,YAAW,EAAK,CACpD,CACD,WAAW,QAAS,CAChB,MAAO,CACH,aACA,aACA,iBACAI,IAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,OA4QZ,CACK,CACD,IAA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AAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,OAgQZ,CACK,CACD,IAAI,QAAS,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;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA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AA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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","x_google_ignoreList":[1,2,3,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,98,99,100,101,102,103,104,105,109,110,111,112,115,116,117,118,119,120,121,122,126,171,172,173,174]}