@randstad-uca/design-system 1.0.25 → 1.0.27

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.
@@ -0,0 +1,10 @@
1
+ <svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_3095_5899)">
3
+ <path d="M21.475 12.2H3.725L8.575 7.35C8.775 7.15 8.775 6.85 8.575 6.65C8.375 6.45 8.075 6.45 7.875 6.65L2.15 12.35C1.95 12.55 1.95 12.85 2.15 13.05L7.8 18.7C7.9 18.8 8.025 18.85 8.15 18.85C8.275 18.85 8.4 18.8 8.5 18.7C8.7 18.5 8.7 18.2 8.5 18L3.725 13.2H21.5C21.775 13.2 22 12.975 22 12.7C22 12.425 21.75 12.2 21.475 12.2Z" fill="#2175D9"/>
4
+ </g>
5
+ <defs>
6
+ <clipPath id="clip0_3095_5899">
7
+ <rect width="24" height="24" fill="white" transform="translate(0 0.5)"/>
8
+ </clipPath>
9
+ </defs>
10
+ </svg>
@@ -1,15 +1,9 @@
1
1
  import { LitElement } from 'lit';
2
2
  export declare class Checkbox extends LitElement {
3
- prefix: string;
4
- clause1Text: string;
5
- clause1Url?: string;
6
- connector: string;
7
- clause2Text: string;
8
- clause2Url?: string;
9
3
  checked: boolean;
4
+ error: boolean;
5
+ disabled: boolean;
10
6
  static styles: import("lit").CSSResult;
11
7
  private toggleCheck;
12
- private renderClause;
13
- private stopPropagation;
14
8
  render(): import("lit-html").TemplateResult<1>;
15
9
  }
@@ -20,10 +20,13 @@ export declare class RandstadForm extends LitElement {
20
20
  maxLength?: number;
21
21
  required: boolean;
22
22
  optional: boolean;
23
+ helpLink?: string;
23
24
  static styles: import("lit").CSSResult;
24
25
  private togglePassword;
25
26
  private handleInput;
26
27
  private handleClear;
27
28
  private handleLinkClick;
29
+ private handleHelpClick;
30
+ private handleKeyDown;
28
31
  render(): import("lit-html").TemplateResult<1>;
29
32
  }
@@ -22,6 +22,7 @@ export declare class FilterableSelect extends LitElement {
22
22
  filterValue: string;
23
23
  isOpen: boolean;
24
24
  mobileFilterValue: string;
25
+ private highlightedIndex;
25
26
  private debounceTimeout;
26
27
  static styles: import("lit").CSSResult;
27
28
  constructor();
@@ -36,6 +37,7 @@ export declare class FilterableSelect extends LitElement {
36
37
  handleSelect(option: any): void;
37
38
  handleIconClick(): void;
38
39
  handleClickOutside(e: Event): void;
40
+ handleKeyDown(e: KeyboardEvent): void;
39
41
  render(): import("lit-html").TemplateResult<1>;
40
42
  }
41
43
  export {};
package/dist/index.js CHANGED
@@ -14,13 +14,13 @@ const l=t=>(e,i)=>{void 0!==i?i.addInitializer((()=>{customElements.define(t,e)}
14
14
  * @license
15
15
  * Copyright 2017 Google LLC
16
16
  * SPDX-License-Identifier: BSD-3-Clause
17
- */Symbol.metadata??=Symbol("metadata"),k.litPropertyMetadata??=new WeakMap;class P 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,e=z){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),o=this.getPropertyDescriptor(t,i,e);void 0!==o&&v(this.prototype,t,o)}}static getPropertyDescriptor(t,e,i){const{get:o,set:r}=m(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:o,set(e){const s=o?.call(this);r?.call(this,e),this.requestUpdate(t,s,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??z}static _$Ei(){if(this.hasOwnProperty(E("elementProperties")))return;const t=w(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(E("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(E("properties"))){const t=this.properties,e=[...f(t),...x(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(g(t))}else void 0!==t&&e.push(g(t));return e}static _$Eu(t,e){const i=e.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,e=this.constructor.elementProperties;for(const i of e.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 b(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,e,i){this._$AK(t,i)}_$ET(t,e){const i=this.constructor.elementProperties.get(t),o=this.constructor._$Eu(t,i);if(void 0!==o&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:O).toAttribute(e,i.type);this._$Em=t,null==r?this.removeAttribute(o):this.setAttribute(o,r),this._$Em=null}}_$AK(t,e){const i=this.constructor,o=i._$Eh.get(t);if(void 0!==o&&this._$Em!==o){const t=i.getPropertyOptions(o),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:O;this._$Em=o,this[o]=r.fromAttribute(e,t.type)??this._$Ej?.get(o)??null,this._$Em=null}}requestUpdate(t,e,i){if(void 0!==t){const o=this.constructor,r=this[t];if(i??=o.getPropertyOptions(t),!((i.hasChanged??j)(r,e)||i.useDefault&&i.reflect&&r===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,i))))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:i,reflect:o,wrapped:r},s){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,s??e??this[t]),!0!==r||void 0!==s)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),!0===o&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){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,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t){const{wrapped:t}=i,o=this[e];!0!==t||this._$AL.has(e)||void 0===o||this.C(e,void 0,i,o)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}P.elementStyles=[],P.shadowRootOptions={mode:"open"},P[E("elementProperties")]=new Map,P[E("finalized")]=new Map,C?.({ReactiveElement:P}),(k.reactiveElementVersions??=[]).push("2.1.0");
17
+ */Symbol.metadata??=Symbol("metadata"),k.litPropertyMetadata??=new WeakMap;class A 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,e=z){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const i=Symbol(),o=this.getPropertyDescriptor(t,i,e);void 0!==o&&v(this.prototype,t,o)}}static getPropertyDescriptor(t,e,i){const{get:o,set:r}=m(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:o,set(e){const s=o?.call(this);r?.call(this,e),this.requestUpdate(t,s,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??z}static _$Ei(){if(this.hasOwnProperty(E("elementProperties")))return;const t=w(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(E("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(E("properties"))){const t=this.properties,e=[...f(t),...x(t)];for(const i of e)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,i]of e)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const i=this._$Eu(t,e);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(g(t))}else void 0!==t&&e.push(g(t));return e}static _$Eu(t,e){const i=e.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,e=this.constructor.elementProperties;for(const i of e.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 b(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,e,i){this._$AK(t,i)}_$ET(t,e){const i=this.constructor.elementProperties.get(t),o=this.constructor._$Eu(t,i);if(void 0!==o&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:O).toAttribute(e,i.type);this._$Em=t,null==r?this.removeAttribute(o):this.setAttribute(o,r),this._$Em=null}}_$AK(t,e){const i=this.constructor,o=i._$Eh.get(t);if(void 0!==o&&this._$Em!==o){const t=i.getPropertyOptions(o),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:O;this._$Em=o,this[o]=r.fromAttribute(e,t.type)??this._$Ej?.get(o)??null,this._$Em=null}}requestUpdate(t,e,i){if(void 0!==t){const o=this.constructor,r=this[t];if(i??=o.getPropertyOptions(t),!((i.hasChanged??j)(r,e)||i.useDefault&&i.reflect&&r===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,i))))return;this.C(t,e,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:i,reflect:o,wrapped:r},s){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,s??e??this[t]),!0!==r||void 0!==s)||(this._$AL.has(t)||(this.hasUpdated||i||(e=void 0),this._$AL.set(t,e)),!0===o&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){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,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,i]of t){const{wrapped:t}=i,o=this[e];!0!==t||this._$AL.has(e)||void 0===o||this.C(e,void 0,i,o)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}A.elementStyles=[],A.shadowRootOptions={mode:"open"},A[E("elementProperties")]=new Map,A[E("finalized")]=new Map,C?.({ReactiveElement:A}),(k.reactiveElementVersions??=[]).push("2.1.0");
18
18
  /**
19
19
  * @license
20
20
  * Copyright 2017 Google LLC
21
21
  * SPDX-License-Identifier: BSD-3-Clause
22
22
  */
23
- const T={attribute:!0,type:String,converter:O,reflect:!1,hasChanged:j},A=(t=T,e,i)=>{const{kind:o,metadata:r}=i;let s=globalThis.litPropertyMetadata.get(r);if(void 0===s&&globalThis.litPropertyMetadata.set(r,s=new Map),"setter"===o&&((t=Object.create(t)).wrapped=!0),s.set(i.name,t),"accessor"===o){const{name:o}=i;return{set(i){const r=e.get.call(this);e.set.call(this,i),this.requestUpdate(o,r,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if("setter"===o){const{name:o}=i;return function(i){const r=this[o];e.call(this,i),this.requestUpdate(o,r,t)}}throw Error("Unsupported decorator location: "+o)};function I(t){return(e,i)=>"object"==typeof i?A(t,e,i):((t,e,i)=>{const o=e.hasOwnProperty(i);return e.constructor.createProperty(i,t),o?Object.getOwnPropertyDescriptor(e,i):void 0})(t,e,i)}
23
+ const P={attribute:!0,type:String,converter:O,reflect:!1,hasChanged:j},T=(t=P,e,i)=>{const{kind:o,metadata:r}=i;let s=globalThis.litPropertyMetadata.get(r);if(void 0===s&&globalThis.litPropertyMetadata.set(r,s=new Map),"setter"===o&&((t=Object.create(t)).wrapped=!0),s.set(i.name,t),"accessor"===o){const{name:o}=i;return{set(i){const r=e.get.call(this);e.set.call(this,i),this.requestUpdate(o,r,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if("setter"===o){const{name:o}=i;return function(i){const r=this[o];e.call(this,i),this.requestUpdate(o,r,t)}}throw Error("Unsupported decorator location: "+o)};function I(t){return(e,i)=>"object"==typeof i?T(t,e,i):((t,e,i)=>{const o=e.hasOwnProperty(i);return e.constructor.createProperty(i,t),o?Object.getOwnPropertyDescriptor(e,i):void 0})(t,e,i)}
24
24
  /**
25
25
  * @license
26
26
  * Copyright 2017 Google LLC
@@ -60,28 +60,28 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
60
60
  font-size: 18px;
61
61
  line-height: 30px;
62
62
  letter-spacing: 0%;
63
- `,U=t`
63
+ `,D=t`
64
64
  font-family: 'Graphik', sans-serif;
65
65
  font-weight: 400;
66
66
  font-size: 18px;
67
67
  line-height: 30px;
68
68
  letter-spacing: 0%;
69
69
  vertical-align: middle;
70
- `,V=t`
70
+ `,U=t`
71
71
  font-family: 'Graphik', sans-serif;
72
72
  font-weight: 400;
73
73
  font-size: 20px;
74
74
  line-height: 30px;
75
75
  letter-spacing: -1%;
76
76
  vertical-align: middle;
77
- `,q=t`
77
+ `,V=t`
78
78
  font-family: 'Graphik', sans-serif;
79
79
  font-weight: 400;
80
80
  font-size: 26px;
81
81
  line-height: 30px;
82
82
  letter-spacing: -1%;
83
83
  vertical-align: middle;
84
- `;let D=class extends e{constructor(){super(...arguments),this.title="",this.isOpen=!1,this.isDesktop=window.innerWidth>940,this.handleResize=()=>{this.isDesktop=window.innerWidth>940}}static{this.styles=t`
84
+ `;let q=class extends e{constructor(){super(...arguments),this.title="",this.isOpen=!1,this.isDesktop=window.innerWidth>940,this.handleResize=()=>{this.isDesktop=window.innerWidth>940}}static{this.styles=t`
85
85
  :host {
86
86
  display: flex;
87
87
  flex-direction: column;
@@ -159,7 +159,7 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
159
159
  <div class="content ${this.isOpen?"open":""}">
160
160
  <slot></slot>
161
161
  </div>
162
- `}};n([I({type:String}),a("design:type",Object)],D.prototype,"title",void 0),n([L(),a("design:type",Object)],D.prototype,"isOpen",void 0),n([L(),a("design:type",Object)],D.prototype,"isDesktop",void 0),D=n([l("accordion-panel")],D);let N=class extends e{static{this.styles=t`
162
+ `}};n([I({type:String}),a("design:type",Object)],q.prototype,"title",void 0),n([L(),a("design:type",Object)],q.prototype,"isOpen",void 0),n([L(),a("design:type",Object)],q.prototype,"isDesktop",void 0),q=n([l("accordion-panel")],q);let N=class extends e{static{this.styles=t`
163
163
  :host {
164
164
  display: flex;
165
165
  flex-direction: column;
@@ -406,7 +406,7 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
406
406
  `:i`
407
407
  ${this.iconSrc&&"button-round"===this.variant?i`<img src=${this.iconSrc} alt="icon" class="button-icon" part="button-icon"/>`:""}
408
408
  ${this.iconName&&"button-round"!==this.variant&&"left"===this.iconPosition?i`<randstad-icon name=${this.iconName} size="24px"></randstad-icon>`:""}
409
- ${this.label?i`<span>${this.label}</span>`:i`<slot></slot>`}
409
+ ${this.label?i`<span part="label">${this.label}</span>`:i`<slot></slot>`}
410
410
  ${this.iconName&&"button-round"!==this.variant&&"right"===this.iconPosition?i`<randstad-icon name=${this.iconName} size="24px"></randstad-icon>`:""}
411
411
  `}
412
412
  </button>
@@ -524,7 +524,7 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
524
524
  </div>
525
525
  </div>
526
526
  </div>
527
- `}};n([I({type:String}),a("design:type",Object)],H.prototype,"img",void 0),n([I({type:String}),a("design:type",Object)],H.prototype,"name",void 0),n([I({type:String}),a("design:type",Object)],H.prototype,"title",void 0),n([I({type:String}),a("design:type",Object)],H.prototype,"description",void 0),n([I({type:String}),a("design:type",Object)],H.prototype,"url",void 0),n([I({type:String}),a("design:type",Object)],H.prototype,"buttonLabel",void 0),H=n([l("carousel-card")],H);let Y=class extends e{constructor(){super(...arguments),this.prefix="Acepto los",this.clause1Text="términos y condiciones",this.connector="y los",this.clause2Text="avisos de privacidad del sitio",this.checked=!1}static{this.styles=t`
527
+ `}};n([I({type:String}),a("design:type",Object)],H.prototype,"img",void 0),n([I({type:String}),a("design:type",Object)],H.prototype,"name",void 0),n([I({type:String}),a("design:type",Object)],H.prototype,"title",void 0),n([I({type:String}),a("design:type",Object)],H.prototype,"description",void 0),n([I({type:String}),a("design:type",Object)],H.prototype,"url",void 0),n([I({type:String}),a("design:type",Object)],H.prototype,"buttonLabel",void 0),H=n([l("carousel-card")],H);let K=class extends e{constructor(){super(...arguments),this.checked=!1,this.error=!1,this.disabled=!1}static{this.styles=t`
528
528
  :host {
529
529
  display: block;
530
530
  max-width: 100%;
@@ -565,36 +565,81 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
565
565
  transform: rotate(45deg);
566
566
  }
567
567
 
568
- input[type="checkbox"]:hover {
569
- box-shadow: 0px 0px 0px 4px #0F19411A;
568
+ input[type="checkbox"]:checked:disabled::after {
569
+ border-color: var(--secondary-color-40);
570
+ }
571
+
572
+ label.error input[type="checkbox"]:checked:disabled::after {
573
+ border-color: white;
570
574
  }
571
575
 
572
576
  .terms-text {
573
577
  display: inline;
574
578
  }
575
579
 
576
- .terms-link {
580
+ .terms-text ::slotted(a) {
577
581
  color: var(--primary-color);
578
582
  text-decoration: none;
579
583
  cursor: pointer;
580
584
  }
581
- `}toggleCheck(t){this.checked=t.target.checked,this.dispatchEvent(new CustomEvent("change",{detail:{checked:this.checked},bubbles:!0,composed:!0})),this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),this.dispatchEvent(new Event("click",{bubbles:!0,composed:!0}))}renderClause(t,e){return e?i`<a class="terms-link" href="${e}" target="_blank" rel="noopener" @click=${this.stopPropagation}>${t}</a>`:i`${t}`}stopPropagation(t){t.stopPropagation()}render(){return i`
582
- <label>
585
+
586
+ input[type="checkbox"].error,
587
+ label.error input[type="checkbox"]:not(:disabled) {
588
+ border-color: var(--ui-negative);
589
+ }
590
+
591
+ /* Hover sin error (solo si no está deshabilitado) */
592
+ input[type="checkbox"]:hover:not(:disabled):not(.error) {
593
+ box-shadow: 0 0 0 4px var(--secondary-color-10);
594
+ }
595
+
596
+ /* Hover con error (solo si no está deshabilitado) */
597
+ label.error input[type="checkbox"]:hover:not(:disabled) {
598
+ box-shadow: 0px 0px 0px 4px #E00F0F1A;
599
+ }
600
+
601
+ /* ✅ Focus sin error */
602
+ input[type="checkbox"]:focus-visible:not(:disabled):not(.error),
603
+ label:not(.error) input[type="checkbox"]:focus-visible:not(:disabled) {
604
+ outline: none;
605
+ box-shadow: 0 0 0 4px var(--secondary-color-10);
606
+ }
607
+
608
+ /* ❌ Focus con error */
609
+ label.error input[type="checkbox"]:focus-visible:not(:disabled) {
610
+ outline: none;
611
+ box-shadow: 0 0 0 4px #E00F0F1A;
612
+ }
613
+
614
+ input[type="checkbox"].error:checked,
615
+ label.error input[type="checkbox"]:checked {
616
+ background-color: var(--ui-negative);
617
+ border-color: var(--ui-negative);
618
+ }
619
+
620
+ input[type="checkbox"]:disabled {
621
+ background-color: var(--secondary-color-10);
622
+ border-color: var(--secondary-color-20);
623
+ cursor: not-allowed;
624
+ }
625
+
626
+ `}toggleCheck(t){this.checked=t.target.checked,this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),this.dispatchEvent(new Event("click",{bubbles:!0,composed:!0}))}render(){return i`
627
+ <label class="${this.error?"error":""} ${this.disabled?"disabled":""}">
583
628
  <input
584
629
  type="checkbox"
585
630
  role="checkbox"
586
631
  aria-checked=${this.checked?"true":"false"}
587
632
  .checked=${this.checked}
633
+ ?disabled=${this.disabled}
588
634
  @change=${this.toggleCheck}
635
+ @focus=${()=>this.setAttribute("focused","")}
636
+ @blur=${()=>this.removeAttribute("focused")}
589
637
  />
590
638
  <span class="terms-text">
591
- ${this.prefix}&nbsp;
592
- ${this.renderClause(this.clause1Text,this.clause1Url)},&nbsp;
593
- ${this.connector}&nbsp;
594
- ${this.renderClause(this.clause2Text,this.clause2Url)}.
639
+ <slot></slot>
595
640
  </span>
596
641
  </label>
597
- `}};n([I({type:String}),a("design:type",Object)],Y.prototype,"prefix",void 0),n([I({type:String}),a("design:type",Object)],Y.prototype,"clause1Text",void 0),n([I({type:String}),a("design:type",String)],Y.prototype,"clause1Url",void 0),n([I({type:String}),a("design:type",Object)],Y.prototype,"connector",void 0),n([I({type:String}),a("design:type",Object)],Y.prototype,"clause2Text",void 0),n([I({type:String}),a("design:type",String)],Y.prototype,"clause2Url",void 0),n([I({type:Boolean,reflect:!0}),a("design:type",Object)],Y.prototype,"checked",void 0),Y=n([l("randstad-checkbox")],Y);let W=class extends e{constructor(){super(...arguments),this.value="",this.size="md",this.icon=null,this.helper=null,this.error=!1,this.errorMessage="",this.disabled=!1,this.typing=!1,this.type="text",this.isPasswordVisible=!1,this.cleanButton=!1,this.required=!1,this.optional=!1}static{this.styles=t`
642
+ `}};n([I({type:Boolean,reflect:!0}),a("design:type",Object)],K.prototype,"checked",void 0),n([I({type:Boolean}),a("design:type",Object)],K.prototype,"error",void 0),n([I({type:Boolean}),a("design:type",Object)],K.prototype,"disabled",void 0),K=n([l("randstad-checkbox")],K);let Y=class extends e{constructor(){super(...arguments),this.value="",this.size="md",this.icon=null,this.helper=null,this.error=!1,this.errorMessage="",this.disabled=!1,this.typing=!1,this.type="text",this.isPasswordVisible=!1,this.cleanButton=!1,this.required=!1,this.optional=!1}static{this.styles=t`
598
643
  :host {
599
644
  display: block;
600
645
  font-family: 'Graphik', sans-serif;
@@ -828,7 +873,7 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
828
873
  color: var(--secondary-color-60);
829
874
  ${_}
830
875
  }
831
- `}togglePassword(t){this.isPasswordVisible=!this.isPasswordVisible;const e=t.currentTarget.parentElement?.querySelector("input");e&&(e.type=this.isPasswordVisible?"text":"password"),this.requestUpdate()}handleInput(t){const e=t.target.value;void 0!==this.maxLength&&"textarea"!==this.type?this.value=e.slice(0,this.maxLength):this.value=e,this.dispatchEvent(new CustomEvent("valueChanged",{detail:this.value})),this.dispatchEvent(new Event("input",{bubbles:!0})),this.requestUpdate()}handleClear(){this.value="",this.dispatchEvent(new CustomEvent("valueChanged",{detail:this.value})),this.dispatchEvent(new Event("input",{bubbles:!0})),this.requestUpdate()}handleLinkClick(t){t.preventDefault(),this.linkRoute&&this.dispatchEvent(new CustomEvent("linkClicked",{detail:this.linkRoute,bubbles:!0,composed:!0}))}render(){const t=this.cleanButton&&this.value&&"password"!==this.type&&"textarea"!==this.type;return i`
876
+ `}togglePassword(t){this.isPasswordVisible=!this.isPasswordVisible;const e=t.currentTarget.parentElement?.querySelector("input");e&&(e.type=this.isPasswordVisible?"text":"password"),this.requestUpdate()}handleInput(t){const e=t.target.value;void 0!==this.maxLength&&"textarea"!==this.type?this.value=e.slice(0,this.maxLength):this.value=e,this.dispatchEvent(new CustomEvent("valueChanged",{detail:this.value})),this.dispatchEvent(new Event("input",{bubbles:!0})),this.requestUpdate()}handleClear(){this.value="",this.dispatchEvent(new CustomEvent("valueChanged",{detail:this.value})),this.dispatchEvent(new Event("input",{bubbles:!0})),this.requestUpdate()}handleLinkClick(t){t.preventDefault(),this.linkRoute&&this.dispatchEvent(new CustomEvent("linkClicked",{detail:this.linkRoute,bubbles:!0,composed:!0}))}handleHelpClick(){this.helpLink&&window.open(this.helpLink,"_blank")}handleKeyDown(t){if("Enter"===t.key){const t=new Event("submit",{bubbles:!0,composed:!0,cancelable:!0}),e=this.closest("form");e&&e.dispatchEvent(t)}}render(){const t=this.cleanButton&&this.value&&"password"!==this.type&&"textarea"!==this.type;return i`
832
877
  <div
833
878
  class="form ${this.error?"error":""} ${this.disabled?"disabled":""}"
834
879
  style=${this.labelColor?`--label-color: ${this.labelColor}`:o}
@@ -839,9 +884,16 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
839
884
  ${this.label}
840
885
  ${this.required?i`<span class="required">*</span>`:this.optional?i`<span class="optional">opcional</span>`:o}
841
886
  </label>
842
- ${this.tooltipMessage?.trim()?i`<div class="tooltip-wrapper">
843
- <randstad-icon class="help-icon" name="ayuda" size="20px"></randstad-icon>
844
- </div>`:o}
887
+ ${this.helpLink?i`
888
+ <div class="tooltip-wrapper">
889
+ <randstad-icon
890
+ class="help-icon"
891
+ name="ayuda"
892
+ size="20px"
893
+ @click=${this.handleHelpClick}>
894
+ </randstad-icon>
895
+ </div>
896
+ `:o}
845
897
  </div>
846
898
  `:o}
847
899
 
@@ -856,6 +908,8 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
856
908
  .value=${this.value}
857
909
  ?disabled=${this.disabled}
858
910
  @input=${this.handleInput}
911
+ @keydown=${this.handleKeyDown}
912
+ maxlength=${this.maxLength??o}
859
913
  ></textarea>`:i`
860
914
  <input
861
915
  class="form-input"
@@ -864,6 +918,7 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
864
918
  .value=${this.value}
865
919
  ?disabled=${this.disabled}
866
920
  @input=${this.handleInput}
921
+ @keydown=${this.handleKeyDown}
867
922
  maxlength=${this.maxLength??o}
868
923
  />
869
924
 
@@ -891,7 +946,7 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
891
946
 
892
947
  ${this.helper?i`<p class="helper-description">${this.helper}</p>`:o}
893
948
  </div>
894
- `}};n([I({type:String}),a("design:type",String)],W.prototype,"placeholder",void 0),n([I({type:String}),a("design:type",String)],W.prototype,"label",void 0),n([I({type:String}),a("design:type",String)],W.prototype,"labelColor",void 0),n([I({type:String}),a("design:type",String)],W.prototype,"value",void 0),n([I({type:String}),a("design:type",String)],W.prototype,"size",void 0),n([I({type:String}),a("design:type",Object)],W.prototype,"icon",void 0),n([I({type:String}),a("design:type",Object)],W.prototype,"helper",void 0),n([I({type:Boolean}),a("design:type",Boolean)],W.prototype,"error",void 0),n([I({type:String}),a("design:type",String)],W.prototype,"errorMessage",void 0),n([I({type:Boolean}),a("design:type",Boolean)],W.prototype,"disabled",void 0),n([I({type:Boolean}),a("design:type",Boolean)],W.prototype,"typing",void 0),n([I({type:String}),a("design:type",String)],W.prototype,"type",void 0),n([I({type:String}),a("design:type",String)],W.prototype,"tooltipMessage",void 0),n([I({type:String}),a("design:type",String)],W.prototype,"linkText",void 0),n([I({type:String}),a("design:type",String)],W.prototype,"linkRoute",void 0),n([I({type:Boolean,reflect:!0}),a("design:type",Object)],W.prototype,"isPasswordVisible",void 0),n([I({type:Boolean}),a("design:type",Boolean)],W.prototype,"cleanButton",void 0),n([I({type:Number}),a("design:type",Number)],W.prototype,"maxLength",void 0),n([I({type:Boolean}),a("design:type",Object)],W.prototype,"required",void 0),n([I({type:Boolean}),a("design:type",Object)],W.prototype,"optional",void 0),W=n([l("randstad-form")],W);let K=class extends e{constructor(){super(...arguments),this.label="",this.error=!1,this.errorMessage="",this.required=!1,this.optional=!1}static{this.styles=t`
949
+ `}};n([I({type:String}),a("design:type",String)],Y.prototype,"placeholder",void 0),n([I({type:String}),a("design:type",String)],Y.prototype,"label",void 0),n([I({type:String}),a("design:type",String)],Y.prototype,"labelColor",void 0),n([I({type:String}),a("design:type",String)],Y.prototype,"value",void 0),n([I({type:String}),a("design:type",String)],Y.prototype,"size",void 0),n([I({type:String}),a("design:type",Object)],Y.prototype,"icon",void 0),n([I({type:String}),a("design:type",Object)],Y.prototype,"helper",void 0),n([I({type:Boolean}),a("design:type",Boolean)],Y.prototype,"error",void 0),n([I({type:String}),a("design:type",String)],Y.prototype,"errorMessage",void 0),n([I({type:Boolean}),a("design:type",Boolean)],Y.prototype,"disabled",void 0),n([I({type:Boolean}),a("design:type",Boolean)],Y.prototype,"typing",void 0),n([I({type:String}),a("design:type",String)],Y.prototype,"type",void 0),n([I({type:String}),a("design:type",String)],Y.prototype,"tooltipMessage",void 0),n([I({type:String}),a("design:type",String)],Y.prototype,"linkText",void 0),n([I({type:String}),a("design:type",String)],Y.prototype,"linkRoute",void 0),n([I({type:Boolean,reflect:!0}),a("design:type",Object)],Y.prototype,"isPasswordVisible",void 0),n([I({type:Boolean}),a("design:type",Boolean)],Y.prototype,"cleanButton",void 0),n([I({type:Number}),a("design:type",Number)],Y.prototype,"maxLength",void 0),n([I({type:Boolean}),a("design:type",Object)],Y.prototype,"required",void 0),n([I({type:Boolean}),a("design:type",Object)],Y.prototype,"optional",void 0),n([I({type:String}),a("design:type",String)],Y.prototype,"helpLink",void 0),Y=n([l("randstad-form")],Y);let W=class extends e{constructor(){super(...arguments),this.label="",this.error=!1,this.errorMessage="",this.required=!1,this.optional=!1}static{this.styles=t`
895
950
  :host {
896
951
  display: flex;
897
952
  flex-direction: column;
@@ -944,7 +999,7 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
944
999
  </div>
945
1000
 
946
1001
  ${this.error?i`<p class="error">${this.errorMessage}</p>`:this.helper?i`<p class="helper">${this.helper}</p>`:null}
947
- `}};n([I({type:String}),a("design:type",Object)],K.prototype,"label",void 0),n([I({type:String}),a("design:type",String)],K.prototype,"helper",void 0),n([I({type:Boolean}),a("design:type",Object)],K.prototype,"error",void 0),n([I({type:String}),a("design:type",Object)],K.prototype,"errorMessage",void 0),n([I({type:Boolean}),a("design:type",Object)],K.prototype,"required",void 0),n([I({type:Boolean}),a("design:type",Object)],K.prototype,"optional",void 0),K=n([l("randstad-form-group")],K);class X extends e{constructor(){super(...arguments),this.name="",this.size="24px"}static{this.styles=t`
1002
+ `}};n([I({type:String}),a("design:type",Object)],W.prototype,"label",void 0),n([I({type:String}),a("design:type",String)],W.prototype,"helper",void 0),n([I({type:Boolean}),a("design:type",Object)],W.prototype,"error",void 0),n([I({type:String}),a("design:type",Object)],W.prototype,"errorMessage",void 0),n([I({type:Boolean}),a("design:type",Object)],W.prototype,"required",void 0),n([I({type:Boolean}),a("design:type",Object)],W.prototype,"optional",void 0),W=n([l("randstad-form-group")],W);class X extends e{constructor(){super(...arguments),this.name="",this.size="24px"}static{this.styles=t`
948
1003
  :host {
949
1004
  display: inline-flex;
950
1005
  width: var(--icon-size, 24px);
@@ -1090,7 +1145,7 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
1090
1145
  }
1091
1146
 
1092
1147
  .modal-title {
1093
- ${q}
1148
+ ${V}
1094
1149
  margin: 0;
1095
1150
  color: var(--secondary-color);
1096
1151
  }
@@ -1236,7 +1291,7 @@ function F(t,e){return(e,i,o)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Refl
1236
1291
  }
1237
1292
 
1238
1293
  .popup-title {
1239
- ${V}
1294
+ ${U}
1240
1295
  margin: 0;
1241
1296
  color: var(--secondary-color-80);
1242
1297
  }
@@ -1438,18 +1493,18 @@ const Ct=Symbol("isFocusable"),Et=Symbol("privateIsFocusable"),Ot=Symbol("extern
1438
1493
  * Copyright 2023 Google LLC
1439
1494
  * SPDX-License-Identifier: Apache-2.0
1440
1495
  */
1441
- const Pt=Symbol("getFormValue"),Tt=Symbol("getFormState");
1496
+ const At=Symbol("getFormValue"),Pt=Symbol("getFormState");
1442
1497
  /**
1443
1498
  * @license
1444
1499
  * Copyright 2023 Google LLC
1445
1500
  * SPDX-License-Identifier: Apache-2.0
1446
1501
  */
1447
- class At{constructor(t){this.getCurrentState=t,this.currentValidity={validity:{},validationMessage:""}}getValidity(){const t=this.getCurrentState();if(!(!this.prevState||!this.equals(this.prevState,t)))return this.currentValidity;const{validity:e,validationMessage:i}=this.computeValidity(t);return this.prevState=this.copy(t),this.currentValidity={validationMessage:i,validity:{badInput:e.badInput,customError:e.customError,patternMismatch:e.patternMismatch,rangeOverflow:e.rangeOverflow,rangeUnderflow:e.rangeUnderflow,stepMismatch:e.stepMismatch,tooLong:e.tooLong,tooShort:e.tooShort,typeMismatch:e.typeMismatch,valueMissing:e.valueMissing}},this.currentValidity}}
1502
+ class Tt{constructor(t){this.getCurrentState=t,this.currentValidity={validity:{},validationMessage:""}}getValidity(){const t=this.getCurrentState();if(!(!this.prevState||!this.equals(this.prevState,t)))return this.currentValidity;const{validity:e,validationMessage:i}=this.computeValidity(t);return this.prevState=this.copy(t),this.currentValidity={validationMessage:i,validity:{badInput:e.badInput,customError:e.customError,patternMismatch:e.patternMismatch,rangeOverflow:e.rangeOverflow,rangeUnderflow:e.rangeUnderflow,stepMismatch:e.stepMismatch,tooLong:e.tooLong,tooShort:e.tooShort,typeMismatch:e.typeMismatch,valueMissing:e.valueMissing}},this.currentValidity}}
1448
1503
  /**
1449
1504
  * @license
1450
1505
  * Copyright 2023 Google LLC
1451
1506
  * SPDX-License-Identifier: Apache-2.0
1452
- */class It extends At{computeValidity(t){this.radioElement||(this.radioElement=document.createElement("input"),this.radioElement.type="radio",this.radioElement.name="group");let e=!1,i=!1;for(const{checked:o,required:r}of t)r&&(e=!0),o&&(i=!0);return this.radioElement.checked=i,this.radioElement.required=e,{validity:{valueMissing:e&&!i},validationMessage:this.radioElement.validationMessage}}equals(t,e){if(t.length!==e.length)return!1;for(let i=0;i<t.length;i++){const o=t[i],r=e[i];if(o.checked!==r.checked||o.required!==r.required)return!1}return!0}copy(t){return t.map((({checked:t,required:e})=>({checked:t,required:e})))}}
1507
+ */class It extends Tt{computeValidity(t){this.radioElement||(this.radioElement=document.createElement("input"),this.radioElement.type="radio",this.radioElement.name="group");let e=!1,i=!1;for(const{checked:o,required:r}of t)r&&(e=!0),o&&(i=!0);return this.radioElement.checked=i,this.radioElement.required=e,{validity:{valueMissing:e&&!i},validationMessage:this.radioElement.validationMessage}}equals(t,e){if(t.length!==e.length)return!1;for(let i=0;i<t.length;i++){const o=t[i],r=e[i];if(o.checked!==r.checked||o.required!==r.required)return!1}return!0}copy(t){return t.map((({checked:t,required:e})=>({checked:t,required:e})))}}
1453
1508
  /**
1454
1509
  * @license
1455
1510
  * Copyright 2022 Google LLC
@@ -1459,7 +1514,7 @@ class At{constructor(t){this.getCurrentState=t,this.currentValidity={validity:{}
1459
1514
  * @license
1460
1515
  * Copyright 2018 Google LLC
1461
1516
  * SPDX-License-Identifier: Apache-2.0
1462
- */var Ft;const _t=Symbol("checked");let Rt=0;const Mt=function(t){var e;class i extends t{constructor(){super(...arguments),this[e]=""}get validity(){return this[$t](),this[mt].validity}get validationMessage(){return this[$t](),this[mt].validationMessage}get willValidate(){return this[$t](),this[mt].willValidate}checkValidity(){return this[$t](),this[mt].checkValidity()}reportValidity(){return this[$t](),this[mt].reportValidity()}setCustomValidity(t){this[St]=t,this[$t]()}requestUpdate(t,e,i){super.requestUpdate(t,e,i),this[$t]()}firstUpdated(t){super.firstUpdated(t),this[$t]()}[(e=St,$t)](){if(r)return;this[kt]||(this[kt]=this[xt]());const{validity:t,validationMessage:e}=this[kt].getValidity(),i=!!this[St],o=this[St]||e;this[mt].setValidity({...t,customError:i},o,this[wt]()??void 0)}[xt](){throw new Error("Implement [createValidator]")}[wt](){throw new Error("Implement [getValidityAnchor]")}}return i}(function(t){class e extends t{get form(){return this[mt].form}get labels(){return this[mt].labels}get name(){return this.getAttribute("name")??""}set name(t){this.setAttribute("name",t)}get disabled(){return this.hasAttribute("disabled")}set disabled(t){this.toggleAttribute("disabled",t)}attributeChangedCallback(t,e,i){if("name"!==t&&"disabled"!==t)super.attributeChangedCallback(t,e,i);else{const i="disabled"===t?null!==e:e;this.requestUpdate(t,i)}}requestUpdate(t,e,i){super.requestUpdate(t,e,i),this[mt].setFormValue(this[Pt](),this[Tt]())}[Pt](){throw new Error("Implement [getFormValue]")}[Tt](){return this[Pt]()}formDisabledCallback(t){this.disabled=t}}return e.formAssociated=!0,n([I({noAccessor:!0})],e.prototype,"name",null),n([I({type:Boolean,noAccessor:!0})],e.prototype,"disabled",null),e}((Bt=function(t){var e,i,o;class r extends t{constructor(){super(...arguments),this[e]=!0,this[i]=null,this[o]=!1}get[Ct](){return this[Et]}set[Ct](t){this[Ct]!==t&&(this[Et]=t,this[zt]())}connectedCallback(){super.connectedCallback(),this[zt]()}attributeChangedCallback(t,e,i){if("tabindex"===t){if(this.requestUpdate("tabIndex",Number(e??-1)),!this[jt])return this.hasAttribute("tabindex")?void(this[Ot]=this.tabIndex):(this[Ot]=null,void this[zt]())}else super.attributeChangedCallback(t,e,i)}[(e=Et,i=Ot,o=jt,zt)](){const t=this[Ct]?0:-1,e=this[Ot]??t;this[jt]=!0,this.tabIndex=e,this[jt]=!1}}return n([I({noAccessor:!0})],r.prototype,"tabIndex",void 0),r}(e),class extends Bt{get[mt](){return this[ft]||(this[ft]=this.attachInternals()),this[ft]}})));var Bt;class Ut extends Mt{get checked(){return this[_t]}set checked(t){const e=this.checked;e!==t&&(this[_t]=t,this.requestUpdate("checked",e),this.selectionController.handleCheckedChange())}constructor(){super(),this.maskId="cutout"+ ++Rt,this[Ft]=!1,this.required=!1,this.value="on",this.selectionController=new Lt(this),this.addController(this.selectionController),r||(this[mt].role="radio",this.addEventListener("click",this.handleClick.bind(this)),this.addEventListener("keydown",this.handleKeydown.bind(this)))}render(){const t={checked:this.checked};return i`
1517
+ */var Ft;const _t=Symbol("checked");let Rt=0;const Mt=function(t){var e;class i extends t{constructor(){super(...arguments),this[e]=""}get validity(){return this[$t](),this[mt].validity}get validationMessage(){return this[$t](),this[mt].validationMessage}get willValidate(){return this[$t](),this[mt].willValidate}checkValidity(){return this[$t](),this[mt].checkValidity()}reportValidity(){return this[$t](),this[mt].reportValidity()}setCustomValidity(t){this[St]=t,this[$t]()}requestUpdate(t,e,i){super.requestUpdate(t,e,i),this[$t]()}firstUpdated(t){super.firstUpdated(t),this[$t]()}[(e=St,$t)](){if(r)return;this[kt]||(this[kt]=this[xt]());const{validity:t,validationMessage:e}=this[kt].getValidity(),i=!!this[St],o=this[St]||e;this[mt].setValidity({...t,customError:i},o,this[wt]()??void 0)}[xt](){throw new Error("Implement [createValidator]")}[wt](){throw new Error("Implement [getValidityAnchor]")}}return i}(function(t){class e extends t{get form(){return this[mt].form}get labels(){return this[mt].labels}get name(){return this.getAttribute("name")??""}set name(t){this.setAttribute("name",t)}get disabled(){return this.hasAttribute("disabled")}set disabled(t){this.toggleAttribute("disabled",t)}attributeChangedCallback(t,e,i){if("name"!==t&&"disabled"!==t)super.attributeChangedCallback(t,e,i);else{const i="disabled"===t?null!==e:e;this.requestUpdate(t,i)}}requestUpdate(t,e,i){super.requestUpdate(t,e,i),this[mt].setFormValue(this[At](),this[Pt]())}[At](){throw new Error("Implement [getFormValue]")}[Pt](){return this[At]()}formDisabledCallback(t){this.disabled=t}}return e.formAssociated=!0,n([I({noAccessor:!0})],e.prototype,"name",null),n([I({type:Boolean,noAccessor:!0})],e.prototype,"disabled",null),e}((Bt=function(t){var e,i,o;class r extends t{constructor(){super(...arguments),this[e]=!0,this[i]=null,this[o]=!1}get[Ct](){return this[Et]}set[Ct](t){this[Ct]!==t&&(this[Et]=t,this[zt]())}connectedCallback(){super.connectedCallback(),this[zt]()}attributeChangedCallback(t,e,i){if("tabindex"===t){if(this.requestUpdate("tabIndex",Number(e??-1)),!this[jt])return this.hasAttribute("tabindex")?void(this[Ot]=this.tabIndex):(this[Ot]=null,void this[zt]())}else super.attributeChangedCallback(t,e,i)}[(e=Et,i=Ot,o=jt,zt)](){const t=this[Ct]?0:-1,e=this[Ot]??t;this[jt]=!0,this.tabIndex=e,this[jt]=!1}}return n([I({noAccessor:!0})],r.prototype,"tabIndex",void 0),r}(e),class extends Bt{get[mt](){return this[ft]||(this[ft]=this.attachInternals()),this[ft]}})));var Bt;class Dt extends Mt{get checked(){return this[_t]}set checked(t){const e=this.checked;e!==t&&(this[_t]=t,this.requestUpdate("checked",e),this.selectionController.handleCheckedChange())}constructor(){super(),this.maskId="cutout"+ ++Rt,this[Ft]=!1,this.required=!1,this.value="on",this.selectionController=new Lt(this),this.addController(this.selectionController),r||(this[mt].role="radio",this.addEventListener("click",this.handleClick.bind(this)),this.addEventListener("keydown",this.handleKeydown.bind(this)))}render(){const t={checked:this.checked};return i`
1463
1518
  <div class="container ${s(t)}" aria-hidden="true">
1464
1519
  <md-ripple
1465
1520
  part="ripple"
@@ -1482,19 +1537,19 @@ class At{constructor(t){this.getCurrentState=t,this.currentValidity={validity:{}
1482
1537
 
1483
1538
  <div class="touch-target"></div>
1484
1539
  </div>
1485
- `}updated(){this[mt].ariaChecked=String(this.checked)}async handleClick(t){this.disabled||(await 0,t.defaultPrevented||(yt(t)&&this.focus(),this.checked=!0,this.dispatchEvent(new Event("change",{bubbles:!0})),this.dispatchEvent(new InputEvent("input",{bubbles:!0,composed:!0}))))}async handleKeydown(t){await 0," "!==t.key||t.defaultPrevented||this.click()}[(Ft=_t,Pt)](){return this.checked?this.value:null}[Tt](){return String(this.checked)}formResetCallback(){this.checked=this.hasAttribute("checked")}formStateRestoreCallback(t){this.checked="true"===t}[xt](){return new It((()=>this.selectionController?this.selectionController.controls:[this]))}[wt](){return this.container}}n([I({type:Boolean})],Ut.prototype,"checked",null),n([I({type:Boolean})],Ut.prototype,"required",void 0),n([I()],Ut.prototype,"value",void 0),n([F(".container")],Ut.prototype,"container",void 0);
1540
+ `}updated(){this[mt].ariaChecked=String(this.checked)}async handleClick(t){this.disabled||(await 0,t.defaultPrevented||(yt(t)&&this.focus(),this.checked=!0,this.dispatchEvent(new Event("change",{bubbles:!0})),this.dispatchEvent(new InputEvent("input",{bubbles:!0,composed:!0}))))}async handleKeydown(t){await 0," "!==t.key||t.defaultPrevented||this.click()}[(Ft=_t,At)](){return this.checked?this.value:null}[Pt](){return String(this.checked)}formResetCallback(){this.checked=this.hasAttribute("checked")}formStateRestoreCallback(t){this.checked="true"===t}[xt](){return new It((()=>this.selectionController?this.selectionController.controls:[this]))}[wt](){return this.container}}n([I({type:Boolean})],Dt.prototype,"checked",null),n([I({type:Boolean})],Dt.prototype,"required",void 0),n([I()],Dt.prototype,"value",void 0),n([F(".container")],Dt.prototype,"container",void 0);
1486
1541
  /**
1487
1542
  * @license
1488
1543
  * Copyright 2024 Google LLC
1489
1544
  * SPDX-License-Identifier: Apache-2.0
1490
1545
  */
1491
- const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20px);outline:none;position:relative;vertical-align:top;width:var(--md-radio-icon-size, 20px);-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;--md-ripple-hover-color: var(--md-radio-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-radio-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-radio-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-opacity: var(--md-radio-pressed-state-layer-opacity, 0.12)}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-radio-icon-size, 20px))/2)}.container{display:flex;height:100%;place-content:center;place-items:center;width:100%}md-focus-ring{height:44px;inset:unset;width:44px}.checked{--md-ripple-hover-color: var(--md-radio-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-radio-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-radio-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-radio-selected-pressed-state-layer-opacity, 0.12)}.touch-target{height:48px;position:absolute;width:48px}:host([touch-target=none]) .touch-target{display:none}md-ripple{border-radius:50%;height:var(--md-radio-state-layer-size, 40px);inset:unset;width:var(--md-radio-state-layer-size, 40px)}.icon{fill:var(--md-radio-icon-color, var(--md-sys-color-on-surface-variant, #49454f));inset:0;position:absolute}.outer.circle{transition:fill 50ms linear}.inner.circle{opacity:0;transform-origin:center;transition:opacity 50ms linear}.checked .icon{fill:var(--md-radio-selected-icon-color, var(--md-sys-color-primary, #6750a4))}.checked .inner.circle{animation:inner-circle-grow 300ms cubic-bezier(0.05, 0.7, 0.1, 1);opacity:1}@keyframes inner-circle-grow{from{transform:scale(0)}to{transform:scale(1)}}:host([disabled]) .circle{animation-duration:0s;transition-duration:0s}:host(:hover) .icon{fill:var(--md-radio-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host(:focus-within) .icon{fill:var(--md-radio-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host(:active) .icon{fill:var(--md-radio-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host([disabled]) .icon{fill:var(--md-radio-disabled-unselected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-radio-disabled-unselected-icon-opacity, 0.38)}:host(:hover) .checked .icon{fill:var(--md-radio-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4))}:host(:focus-within) .checked .icon{fill:var(--md-radio-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4))}:host(:active) .checked .icon{fill:var(--md-radio-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4))}:host([disabled]) .checked .icon{fill:var(--md-radio-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-radio-disabled-selected-icon-opacity, 0.38)}}@layer hcm{@media(forced-colors: active){.icon{fill:CanvasText}:host([disabled]) .icon{fill:GrayText;opacity:1}}}
1546
+ const Ut=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20px);outline:none;position:relative;vertical-align:top;width:var(--md-radio-icon-size, 20px);-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;--md-ripple-hover-color: var(--md-radio-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-radio-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-radio-pressed-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-pressed-opacity: var(--md-radio-pressed-state-layer-opacity, 0.12)}:host([disabled]){cursor:default}:host([touch-target=wrapper]){margin:max(0px,(48px - var(--md-radio-icon-size, 20px))/2)}.container{display:flex;height:100%;place-content:center;place-items:center;width:100%}md-focus-ring{height:44px;inset:unset;width:44px}.checked{--md-ripple-hover-color: var(--md-radio-selected-hover-state-layer-color, var(--md-sys-color-primary, #6750a4));--md-ripple-hover-opacity: var(--md-radio-selected-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-radio-selected-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-radio-selected-pressed-state-layer-opacity, 0.12)}.touch-target{height:48px;position:absolute;width:48px}:host([touch-target=none]) .touch-target{display:none}md-ripple{border-radius:50%;height:var(--md-radio-state-layer-size, 40px);inset:unset;width:var(--md-radio-state-layer-size, 40px)}.icon{fill:var(--md-radio-icon-color, var(--md-sys-color-on-surface-variant, #49454f));inset:0;position:absolute}.outer.circle{transition:fill 50ms linear}.inner.circle{opacity:0;transform-origin:center;transition:opacity 50ms linear}.checked .icon{fill:var(--md-radio-selected-icon-color, var(--md-sys-color-primary, #6750a4))}.checked .inner.circle{animation:inner-circle-grow 300ms cubic-bezier(0.05, 0.7, 0.1, 1);opacity:1}@keyframes inner-circle-grow{from{transform:scale(0)}to{transform:scale(1)}}:host([disabled]) .circle{animation-duration:0s;transition-duration:0s}:host(:hover) .icon{fill:var(--md-radio-hover-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host(:focus-within) .icon{fill:var(--md-radio-focus-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host(:active) .icon{fill:var(--md-radio-pressed-icon-color, var(--md-sys-color-on-surface, #1d1b20))}:host([disabled]) .icon{fill:var(--md-radio-disabled-unselected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-radio-disabled-unselected-icon-opacity, 0.38)}:host(:hover) .checked .icon{fill:var(--md-radio-selected-hover-icon-color, var(--md-sys-color-primary, #6750a4))}:host(:focus-within) .checked .icon{fill:var(--md-radio-selected-focus-icon-color, var(--md-sys-color-primary, #6750a4))}:host(:active) .checked .icon{fill:var(--md-radio-selected-pressed-icon-color, var(--md-sys-color-primary, #6750a4))}:host([disabled]) .checked .icon{fill:var(--md-radio-disabled-selected-icon-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-radio-disabled-selected-icon-opacity, 0.38)}}@layer hcm{@media(forced-colors: active){.icon{fill:CanvasText}:host([disabled]) .icon{fill:GrayText;opacity:1}}}
1492
1547
  `
1493
1548
  /**
1494
1549
  * @license
1495
1550
  * Copyright 2022 Google LLC
1496
1551
  * SPDX-License-Identifier: Apache-2.0
1497
- */;let qt=class extends Ut{};qt.styles=[Vt],qt=n([l("md-radio")],qt);let Dt=class extends e{constructor(){super(...arguments),this.name="radio-group",this.checked=!1,this.disabled=!1,this.error=!1}static{this.styles=t`
1552
+ */;let Vt=class extends Dt{};Vt.styles=[Ut],Vt=n([l("md-radio")],Vt);let qt=class extends e{constructor(){super(...arguments),this.name="radio-group",this.checked=!1,this.disabled=!1,this.error=!1}static{this.styles=t`
1498
1553
  :host {
1499
1554
  font-family: "Graphik", sans-serif;
1500
1555
  }
@@ -1553,7 +1608,7 @@ const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20p
1553
1608
  ></md-radio>
1554
1609
  <span>${this.checked?"On":"Off"} ${this.error?"Error":""}</span>
1555
1610
  </label>
1556
- `}};n([I({type:String}),a("design:type",Object)],Dt.prototype,"name",void 0),n([I({type:Boolean}),a("design:type",Object)],Dt.prototype,"checked",void 0),n([I({type:Boolean}),a("design:type",Object)],Dt.prototype,"disabled",void 0),n([I({type:Boolean}),a("design:type",Object)],Dt.prototype,"error",void 0),Dt=n([l("custom-radio")],Dt);let Nt=class extends e{static{this.styles=t`
1611
+ `}};n([I({type:String}),a("design:type",Object)],qt.prototype,"name",void 0),n([I({type:Boolean}),a("design:type",Object)],qt.prototype,"checked",void 0),n([I({type:Boolean}),a("design:type",Object)],qt.prototype,"disabled",void 0),n([I({type:Boolean}),a("design:type",Object)],qt.prototype,"error",void 0),qt=n([l("custom-radio")],qt);let Nt=class extends e{static{this.styles=t`
1557
1612
  :host {
1558
1613
  display: block;
1559
1614
  font-family: 'Graphik', sans-serif;
@@ -1738,6 +1793,10 @@ const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20p
1738
1793
  color: var(--secondary-color-80);
1739
1794
  }
1740
1795
 
1796
+ .options-list li.highlighted {
1797
+ background-color: var(--primary-color-10);
1798
+ }
1799
+
1741
1800
  .mobile-modal {
1742
1801
  position: fixed;
1743
1802
  bottom: 0;
@@ -1844,7 +1903,7 @@ const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20p
1844
1903
  color: var(--secondary-color-60);
1845
1904
  ${_}
1846
1905
  }
1847
- `}constructor(){if(super(),this.options=[],this.placeholder="Filtrar opciones...",this.defaultValue="",this.disabled=!1,this.label="",this.value="",this.labelColor="",this.filterable=!0,this.error=!1,this.required=!1,this.optional=!1,this.isMobile=!1,this.filteredOptions=[],this.filterValue="",this.isOpen=!1,this.mobileFilterValue="",this.debounceTimeout=null,this.updateResponsiveModeBound=this.updateResponsiveMode.bind(this),this.defaultValue){const t=this.options.find((t=>"string"==typeof t?t===this.defaultValue:t.value===this.defaultValue));t&&(this.filterValue="string"==typeof t?t:t.label)}}willUpdate(t){if(t.has("options")&&(this.filteredOptions=[...this.options]),t.has("defaultValue")||t.has("options")){const t=this.options.find((t=>"string"==typeof t?t===this.defaultValue:t.value===this.defaultValue));t&&(this.filterValue="string"==typeof t?t:t.label)}if(t.has("value")){const t=this.options.find((t=>"string"==typeof t?t===this.value:t.value===this.value));t&&(this.filterValue="string"==typeof t?t:t.label)}}connectedCallback(){super.connectedCallback(),this.updateResponsiveMode(),window.addEventListener("resize",this.updateResponsiveModeBound),document.addEventListener("click",this.handleClickOutside.bind(this))}disconnectedCallback(){window.removeEventListener("resize",this.updateResponsiveModeBound),document.removeEventListener("click",this.handleClickOutside.bind(this)),super.disconnectedCallback()}updateResponsiveMode(){this.isMobile=window.innerWidth<=940}handleInputClick(t){this.isMobile&&(this.mobileFilterValue=""),this.disabled||(this.isOpen=!this.isOpen,this.requestUpdate())}handleInput(t){if(!this.filterable)return;const e=t.target.value,i=this.maxLength?e.slice(0,this.maxLength).toLowerCase():e.toLowerCase();this.filterValue=i,this.filteredOptions=this.options.filter((t=>("string"==typeof t?t:t.label).toLowerCase().includes(this.filterValue.toLowerCase()))),this.isOpen=!0,this.debounceTimeout&&clearTimeout(this.debounceTimeout),this.debounceTimeout=window.setTimeout((()=>{this.filterValue.length>2&&this.dispatchEvent(new CustomEvent("filter-location",{detail:{value:this.filterValue},bubbles:!0,composed:!0}))}),300),this.requestUpdate()}handleMobileInput(t){const e=t.target.value,i=this.maxLength?e.slice(0,this.maxLength).toLowerCase():e.toLowerCase();this.mobileFilterValue=i,this.filteredOptions=this.options.filter((t=>("string"==typeof t?t:t.label).toLowerCase().includes(i))),this.debounceTimeout&&clearTimeout(this.debounceTimeout),this.debounceTimeout=window.setTimeout((()=>{i.length>2&&this.dispatchEvent(new CustomEvent("filter-location",{detail:{value:i},bubbles:!0,composed:!0}))}),300)}handleSelect(t){this.value="string"==typeof t?t:t.value;const e="string"==typeof t?t:t.value;this.dispatchEvent(new CustomEvent("option-selected",{detail:{value:e},bubbles:!0,composed:!0})),this.filterValue="string"==typeof t?t:t.label,this.isOpen=!1,this.requestUpdate()}handleIconClick(){this.disabled||(this.filterable&&this.filterValue?(this.filterValue="",this.filteredOptions=[...this.options],this.dispatchEvent(new CustomEvent("option-selected",{detail:{value:""},bubbles:!0,composed:!0})),this.isOpen=!1):this.isOpen=!this.isOpen,this.requestUpdate())}handleClickOutside(t){const e=t.target;e instanceof Node&&(this.contains(e)||(this.isOpen=!1,this.requestUpdate()))}render(){const t=this.isMobile;return i`
1906
+ `}constructor(){if(super(),this.options=[],this.placeholder="Filtrar opciones...",this.defaultValue="",this.disabled=!1,this.label="",this.value="",this.labelColor="",this.filterable=!0,this.error=!1,this.required=!1,this.optional=!1,this.isMobile=!1,this.filteredOptions=[],this.filterValue="",this.isOpen=!1,this.mobileFilterValue="",this.highlightedIndex=-1,this.debounceTimeout=null,this.updateResponsiveModeBound=this.updateResponsiveMode.bind(this),this.defaultValue){const t=this.options.find((t=>"string"==typeof t?t===this.defaultValue:t.value===this.defaultValue));t&&(this.filterValue="string"==typeof t?t:t.label)}}willUpdate(t){if(t.has("options")&&(this.filteredOptions=[...this.options]),t.has("defaultValue")||t.has("options")){const t=this.options.find((t=>"string"==typeof t?t===this.defaultValue:t.value===this.defaultValue));t&&(this.filterValue="string"==typeof t?t:t.label)}if(t.has("value")){const t=this.options.find((t=>"string"==typeof t?t===this.value:t.value===this.value));t&&(this.filterValue="string"==typeof t?t:t.label)}}connectedCallback(){super.connectedCallback(),this.updateResponsiveMode(),window.addEventListener("resize",this.updateResponsiveModeBound),document.addEventListener("click",this.handleClickOutside.bind(this))}disconnectedCallback(){window.removeEventListener("resize",this.updateResponsiveModeBound),document.removeEventListener("click",this.handleClickOutside.bind(this)),super.disconnectedCallback()}updateResponsiveMode(){this.isMobile=window.innerWidth<=940}handleInputClick(t){this.isMobile&&(this.mobileFilterValue=""),this.disabled||(this.isOpen=!this.isOpen,this.requestUpdate())}handleInput(t){if(!this.filterable)return;const e=t.target.value,i=this.maxLength?e.slice(0,this.maxLength).toLowerCase():e.toLowerCase();this.filterValue=i,this.filteredOptions=this.options.filter((t=>("string"==typeof t?t:t.label).toLowerCase().includes(this.filterValue.toLowerCase()))),this.isOpen=!0,this.debounceTimeout&&clearTimeout(this.debounceTimeout),this.debounceTimeout=window.setTimeout((()=>{this.filterValue.length>2&&this.dispatchEvent(new CustomEvent("filter-location",{detail:{value:this.filterValue},bubbles:!0,composed:!0}))}),300),this.requestUpdate()}handleMobileInput(t){const e=t.target.value,i=this.maxLength?e.slice(0,this.maxLength).toLowerCase():e.toLowerCase();this.mobileFilterValue=i,this.filteredOptions=this.options.filter((t=>("string"==typeof t?t:t.label).toLowerCase().includes(i))),this.debounceTimeout&&clearTimeout(this.debounceTimeout),this.debounceTimeout=window.setTimeout((()=>{i.length>2&&this.dispatchEvent(new CustomEvent("filter-location",{detail:{value:i},bubbles:!0,composed:!0}))}),300)}handleSelect(t){this.value="string"==typeof t?t:t.value;const e="string"==typeof t?t:t.value;this.dispatchEvent(new CustomEvent("option-selected",{detail:{value:e},bubbles:!0,composed:!0})),this.filterValue="string"==typeof t?t:t.label,this.isOpen=!1,this.requestUpdate()}handleIconClick(){this.disabled||(this.filterable&&this.filterValue?(this.filterValue="",this.filteredOptions=[...this.options],this.dispatchEvent(new CustomEvent("option-selected",{detail:{value:""},bubbles:!0,composed:!0})),this.isOpen=!1):this.isOpen=!this.isOpen,this.requestUpdate())}handleClickOutside(t){const e=t.target;e instanceof Node&&(this.contains(e)||(this.isOpen=!1,this.requestUpdate()))}handleKeyDown(t){const{key:e}=t;if(!this.isOpen&&("Enter"===e||" "===e))return t.preventDefault(),void(this.isOpen=!0);if(this.isOpen)if("ArrowDown"===e)t.preventDefault(),this.highlightedIndex=Math.min(this.highlightedIndex+1,this.filteredOptions.length-1),this.requestUpdate();else if("ArrowUp"===e)t.preventDefault(),this.highlightedIndex=Math.max(this.highlightedIndex-1,0),this.requestUpdate();else if("Enter"===e){t.preventDefault();const e=this.filteredOptions[this.highlightedIndex];e&&this.handleSelect(e)}else"Escape"===e&&(t.preventDefault(),this.isOpen=!1)}render(){const t=this.isMobile;return i`
1848
1907
  <div class="select-container" style="${this.labelColor?` --label-color: ${this.labelColor}`:""}">
1849
1908
  ${this.label?i`
1850
1909
  <div class="label-container">
@@ -1859,7 +1918,17 @@ const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20p
1859
1918
 
1860
1919
  <div class="input-wrapper">
1861
1920
  ${t?i`
1862
- <div class="filter-fake" @click="${this.handleInputClick}">
1921
+ <div
1922
+ class="filter-fake"
1923
+ @click="${this.handleInputClick}"
1924
+ @keydown="${this.handleKeyDown}"
1925
+ tabindex="0"
1926
+ role="combobox"
1927
+ aria-expanded="${this.isOpen}"
1928
+ aria-controls="options-list"
1929
+ aria-haspopup="listbox"
1930
+ aria-activedescendant=""
1931
+ ">
1863
1932
  ${this.filterValue||this.placeholder}
1864
1933
  </div>
1865
1934
  `:i`
@@ -1867,6 +1936,7 @@ const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20p
1867
1936
  class="filter-input"
1868
1937
  .value="${this.filterValue||""}"
1869
1938
  @click="${this.handleInputClick}"
1939
+ @keydown="${this.handleKeyDown}"
1870
1940
  @input=${this.handleInput}
1871
1941
  placeholder="${this.filterValue?"":this.placeholder}"
1872
1942
  ?disabled="${this.disabled}"
@@ -1899,12 +1969,14 @@ const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20p
1899
1969
  </button>
1900
1970
  </div>
1901
1971
  <ul class="options-list">
1902
- ${this.filteredOptions.map((t=>{const e="string"==typeof t?t:t.label,o="object"==typeof t&&t.disabled;return i`
1972
+ ${this.filteredOptions.map(((t,e)=>{const o="string"==typeof t?t:t.label,r="object"==typeof t&&t.disabled;return i`
1903
1973
  <li
1904
- class="${o?"disabled":""}"
1905
- @click="${()=>{o||this.handleSelect(t)}}"
1974
+ class="${r?"disabled":""} ${e===this.highlightedIndex?"highlighted":""}"
1975
+ role="option"
1976
+ aria-selected="${e===this.highlightedIndex}"
1977
+ @click="${()=>{r||this.handleSelect(t)}}"
1906
1978
  >
1907
- ${e}
1979
+ ${o}
1908
1980
  </li>
1909
1981
  `}))}
1910
1982
  </ul>
@@ -1912,19 +1984,21 @@ const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20p
1912
1984
  </div>
1913
1985
  `:!t&&this.isOpen&&this.filteredOptions.length>0?i`
1914
1986
  <ul class="options-list">
1915
- ${this.filteredOptions.map((t=>{const e="string"==typeof t?t:t.label,o="object"==typeof t&&t.disabled;return i`
1987
+ ${this.filteredOptions.map(((t,e)=>{const o="string"==typeof t?t:t.label,r="object"==typeof t&&t.disabled;return i`
1916
1988
  <li
1917
- class="${o?"disabled":""}"
1918
- @click="${()=>{o||this.handleSelect(t)}}"
1989
+ class="${r?"disabled":""} ${e===this.highlightedIndex?"highlighted":""}"
1990
+ role="option"
1991
+ aria-selected="${e===this.highlightedIndex}"
1992
+ @click="${()=>{r||this.handleSelect(t)}}"
1919
1993
  >
1920
- ${e}
1994
+ ${o}
1921
1995
  </li>
1922
1996
  `}))}
1923
1997
  </ul>
1924
1998
  `:""}
1925
1999
  </div>
1926
2000
  </div>
1927
- `}};n([I({type:Array}),a("design:type",Array)],Nt.prototype,"options",void 0),n([I({type:String}),a("design:type",Object)],Nt.prototype,"placeholder",void 0),n([I({type:String,attribute:"default-value"}),a("design:type",Object)],Nt.prototype,"defaultValue",void 0),n([I({type:Boolean}),a("design:type",Object)],Nt.prototype,"disabled",void 0),n([I({type:String}),a("design:type",Object)],Nt.prototype,"label",void 0),n([I({type:String}),a("design:type",String)],Nt.prototype,"value",void 0),n([I({type:String}),a("design:type",Object)],Nt.prototype,"labelColor",void 0),n([I({type:Boolean}),a("design:type",Object)],Nt.prototype,"filterable",void 0),n([I({type:Number}),a("design:type",Number)],Nt.prototype,"maxLength",void 0),n([I({type:Boolean,reflect:!0}),a("design:type",Boolean)],Nt.prototype,"error",void 0),n([I({type:Boolean}),a("design:type",Object)],Nt.prototype,"required",void 0),n([I({type:Boolean}),a("design:type",Object)],Nt.prototype,"optional",void 0),n([L(),a("design:type",Boolean)],Nt.prototype,"isMobile",void 0),n([L(),a("design:type",Array)],Nt.prototype,"filteredOptions",void 0),n([L(),a("design:type",Object)],Nt.prototype,"filterValue",void 0),n([L(),a("design:type",Object)],Nt.prototype,"isOpen",void 0),n([L(),a("design:type",Object)],Nt.prototype,"mobileFilterValue",void 0),Nt=n([l("filterable-select"),a("design:paramtypes",[])],Nt);const Gt=new CSSStyleSheet;Gt.replaceSync("\n @font-face {\n font-family: 'Graphik';\n src: url('/src/assets/font/Graphik-Regular.woff2') format('woff2'),\n url('/src/assets/font/Graphik-Regular.woff') format('woff'),\n url('/src/assets/font/Graphik-Regular.eot') format('embedded-opentype');\n font-weight: normal;\n font-style: normal;\n }\n\n .body-s {\n font-weight: 400;\n font-size: 14px;\n line-height: 100%;\n letter-spacing: 0%;\n color: green;\n }\n");class Ht extends e{static{this.styles=[Gt,t`
2001
+ `}};n([I({type:Array}),a("design:type",Array)],Nt.prototype,"options",void 0),n([I({type:String}),a("design:type",Object)],Nt.prototype,"placeholder",void 0),n([I({type:String,attribute:"default-value"}),a("design:type",Object)],Nt.prototype,"defaultValue",void 0),n([I({type:Boolean}),a("design:type",Object)],Nt.prototype,"disabled",void 0),n([I({type:String}),a("design:type",Object)],Nt.prototype,"label",void 0),n([I({type:String}),a("design:type",String)],Nt.prototype,"value",void 0),n([I({type:String}),a("design:type",Object)],Nt.prototype,"labelColor",void 0),n([I({type:Boolean}),a("design:type",Object)],Nt.prototype,"filterable",void 0),n([I({type:Number}),a("design:type",Number)],Nt.prototype,"maxLength",void 0),n([I({type:Boolean,reflect:!0}),a("design:type",Boolean)],Nt.prototype,"error",void 0),n([I({type:Boolean}),a("design:type",Object)],Nt.prototype,"required",void 0),n([I({type:Boolean}),a("design:type",Object)],Nt.prototype,"optional",void 0),n([L(),a("design:type",Boolean)],Nt.prototype,"isMobile",void 0),n([L(),a("design:type",Array)],Nt.prototype,"filteredOptions",void 0),n([L(),a("design:type",Object)],Nt.prototype,"filterValue",void 0),n([L(),a("design:type",Object)],Nt.prototype,"isOpen",void 0),n([L(),a("design:type",Object)],Nt.prototype,"mobileFilterValue",void 0),n([L(),a("design:type",Object)],Nt.prototype,"highlightedIndex",void 0),Nt=n([l("filterable-select"),a("design:paramtypes",[])],Nt);const Gt=new CSSStyleSheet;Gt.replaceSync("\n @font-face {\n font-family: 'Graphik';\n src: url('/src/assets/font/Graphik-Regular.woff2') format('woff2'),\n url('/src/assets/font/Graphik-Regular.woff') format('woff'),\n url('/src/assets/font/Graphik-Regular.eot') format('embedded-opentype');\n font-weight: normal;\n font-style: normal;\n }\n\n .body-s {\n font-weight: 400;\n font-size: 14px;\n line-height: 100%;\n letter-spacing: 0%;\n color: green;\n }\n");class Ht extends e{static{this.styles=[Gt,t`
1928
2002
  :host {
1929
2003
  display: flex;
1930
2004
  position: fixed;
@@ -2060,7 +2134,7 @@ const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20p
2060
2134
  <randstad-icon name=${this.icon} size="24px" color="white"></randstad-icon>
2061
2135
  <span class="message">${this.message}</span>
2062
2136
  </div>
2063
- `}}customElements.define("randstad-snackbar",Ht);let Yt=class extends e{constructor(){super(...arguments),this.totalSteps=4,this.currentStep=0}static{this.styles=t`
2137
+ `}}customElements.define("randstad-snackbar",Ht);let Kt=class extends e{constructor(){super(...arguments),this.totalSteps=4,this.currentStep=0}static{this.styles=t`
2064
2138
  .stepper {
2065
2139
  display: flex;
2066
2140
  gap: 20px;
@@ -2160,7 +2234,7 @@ const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20p
2160
2234
  </div>
2161
2235
  `))}
2162
2236
  </div>
2163
- `}};n([I({type:Number}),a("design:type",Object)],Yt.prototype,"totalSteps",void 0),n([I({type:Number}),a("design:type",Object)],Yt.prototype,"currentStep",void 0),Yt=n([l("custom-stepper")],Yt);let Wt=class extends e{constructor(){super(...arguments),this.tabs=[],this.selected="",this.internalSelected="",this.showPrev=!1,this.showNext=!1,this.SCROLL_OFFSET=56,this.handleScroll=()=>{const t=this.renderRoot.querySelector(".tab-wrapper");if(!t)return;const{scrollLeft:e,scrollWidth:i,clientWidth:o}=t;this.showPrev=e>0,this.showNext=e+o<i-1}}static{this.styles=t`
2237
+ `}};n([I({type:Number}),a("design:type",Object)],Kt.prototype,"totalSteps",void 0),n([I({type:Number}),a("design:type",Object)],Kt.prototype,"currentStep",void 0),Kt=n([l("custom-stepper")],Kt);let Yt=class extends e{constructor(){super(...arguments),this.tabs=[],this.selected="",this.internalSelected="",this.showPrev=!1,this.showNext=!1,this.SCROLL_OFFSET=56,this.handleScroll=()=>{const t=this.renderRoot.querySelector(".tab-wrapper");if(!t)return;const{scrollLeft:e,scrollWidth:i,clientWidth:o}=t;this.showPrev=e>0,this.showNext=e+o<i-1}}static{this.styles=t`
2164
2238
  :host {
2165
2239
  display: block;
2166
2240
  border-bottom: 1px solid #E7E8EC;
@@ -2173,7 +2247,7 @@ const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20p
2173
2247
  }
2174
2248
 
2175
2249
  .tab {
2176
- ${U};
2250
+ ${D};
2177
2251
  display: flex;
2178
2252
  gap: 8px;
2179
2253
  flex-direction: row;
@@ -2299,7 +2373,7 @@ const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20p
2299
2373
  </button>
2300
2374
  `:null}
2301
2375
  </div>
2302
- `}};n([I({type:Array}),a("design:type",Array)],Wt.prototype,"tabs",void 0),n([I({type:String}),a("design:type",String)],Wt.prototype,"selected",void 0),n([L(),a("design:type",String)],Wt.prototype,"internalSelected",void 0),n([L(),a("design:type",Object)],Wt.prototype,"showPrev",void 0),n([L(),a("design:type",Object)],Wt.prototype,"showNext",void 0),Wt=n([l("tabs-bar")],Wt);let Kt=class extends e{constructor(){super(...arguments),this.files=[],this.loading=!1,this.progress=0,this.isDragging=!1,this.disabled=!1}static{this.styles=t`
2376
+ `}};n([I({type:Array}),a("design:type",Array)],Yt.prototype,"tabs",void 0),n([I({type:String}),a("design:type",String)],Yt.prototype,"selected",void 0),n([L(),a("design:type",String)],Yt.prototype,"internalSelected",void 0),n([L(),a("design:type",Object)],Yt.prototype,"showPrev",void 0),n([L(),a("design:type",Object)],Yt.prototype,"showNext",void 0),Yt=n([l("tabs-bar")],Yt);let Wt=class extends e{constructor(){super(...arguments),this.files=[],this.loading=!1,this.progress=0,this.isDragging=!1,this.disabled=!1}static{this.styles=t`
2303
2377
 
2304
2378
  :host {
2305
2379
  font-family: 'Graphik', sans-serif;
@@ -2423,5 +2497,5 @@ const Vt=t`@layer{:host{display:inline-flex;height:var(--md-radio-icon-size, 20p
2423
2497
  </label>
2424
2498
  `}
2425
2499
  </div>
2426
- `}};n([I({type:Array}),a("design:type",Array)],Kt.prototype,"files",void 0),n([L(),a("design:type",Object)],Kt.prototype,"loading",void 0),n([L(),a("design:type",Object)],Kt.prototype,"progress",void 0),n([L(),a("design:type",Object)],Kt.prototype,"isDragging",void 0),n([I({type:Boolean,reflect:!0}),a("design:type",Object)],Kt.prototype,"disabled",void 0),Kt=n([l("upload-image")],Kt);export{N as AccordionList,D as AccordionPanel,H as CarouselCard,Y as Checkbox,Q as CustomModal,Z as CustomPopup,Dt as CustomRadio,Yt as CustomStepper,Nt as FilterableSelect,K as FormGroup,X as IconComponent,tt as ProgressCircle,G as RandstadButton,W as RandstadForm,J as RandstadNotice,Wt as TabsBar,Kt as UploadImage};
2500
+ `}};n([I({type:Array}),a("design:type",Array)],Wt.prototype,"files",void 0),n([L(),a("design:type",Object)],Wt.prototype,"loading",void 0),n([L(),a("design:type",Object)],Wt.prototype,"progress",void 0),n([L(),a("design:type",Object)],Wt.prototype,"isDragging",void 0),n([I({type:Boolean,reflect:!0}),a("design:type",Object)],Wt.prototype,"disabled",void 0),Wt=n([l("upload-image")],Wt);export{N as AccordionList,q as AccordionPanel,H as CarouselCard,K as Checkbox,Q as CustomModal,Z as CustomPopup,qt as CustomRadio,Kt as CustomStepper,Nt as FilterableSelect,W as FormGroup,X as IconComponent,tt as ProgressCircle,G as RandstadButton,Y as RandstadForm,J as RandstadNotice,Yt as TabsBar,Wt as UploadImage};
2427
2501
  //# sourceMappingURL=index.js.map