@spw-ds/spw-stencil-library 1.2.7 → 1.2.8

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 (71) hide show
  1. package/dist/cjs/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.cjs.js.map +1 -1
  2. package/dist/cjs/spw-field-label_6.cjs.entry.js +1 -1
  3. package/dist/cjs/spw-field-label_6.cjs.entry.js.map +1 -1
  4. package/dist/collection/components/spw-icon/spw-icon.css +1 -1
  5. package/dist/components/{p-iQsDa7FA.js → p-B1-p021T.js} +3 -3
  6. package/dist/components/{p-iQsDa7FA.js.map → p-B1-p021T.js.map} +1 -1
  7. package/dist/components/{p-jHpxbAsa.js → p-BOKkemIY.js} +3 -3
  8. package/dist/components/{p-jHpxbAsa.js.map → p-BOKkemIY.js.map} +1 -1
  9. package/dist/components/{p-Dg1wxTqL.js → p-C0WZ0I4N.js} +5 -5
  10. package/dist/components/{p-Dg1wxTqL.js.map → p-C0WZ0I4N.js.map} +1 -1
  11. package/dist/components/{p-DN5puq3N.js → p-Cftdq5ca.js} +3 -3
  12. package/dist/components/{p-DN5puq3N.js.map → p-Cftdq5ca.js.map} +1 -1
  13. package/dist/components/{p-DKCYb8Pa.js → p-Cq-aN0EV.js} +3 -3
  14. package/dist/components/{p-DKCYb8Pa.js.map → p-Cq-aN0EV.js.map} +1 -1
  15. package/dist/components/{p-B62I-VV0.js → p-DYW_Cep_.js} +3 -3
  16. package/dist/components/{p-B62I-VV0.js.map → p-DYW_Cep_.js.map} +1 -1
  17. package/dist/components/{p-B59-Q28_.js → p-DYnakc67.js} +3 -3
  18. package/dist/components/{p-B59-Q28_.js.map → p-DYnakc67.js.map} +1 -1
  19. package/dist/components/{p-BlSOja6j.js → p-K5dWYsvH.js} +4 -4
  20. package/dist/components/{p-BlSOja6j.js.map → p-K5dWYsvH.js.map} +1 -1
  21. package/dist/components/spw-accordion-title.js +1 -1
  22. package/dist/components/spw-breadcrumb-item.js +2 -2
  23. package/dist/components/spw-button.js +1 -1
  24. package/dist/components/spw-card-image.js +1 -1
  25. package/dist/components/spw-checkbox.js +1 -1
  26. package/dist/components/spw-cookies.js +4 -4
  27. package/dist/components/spw-custom-select.js +3 -3
  28. package/dist/components/spw-date-picker.js +2 -2
  29. package/dist/components/spw-dropdown-item.js +1 -1
  30. package/dist/components/spw-field-message.js +1 -1
  31. package/dist/components/spw-file-upload.js +2 -2
  32. package/dist/components/spw-header-lang.js +2 -2
  33. package/dist/components/spw-header-navigation-item.js +1 -1
  34. package/dist/components/spw-header-navigation.js +1 -1
  35. package/dist/components/spw-header-persona.js +1 -1
  36. package/dist/components/spw-header.js +2 -2
  37. package/dist/components/spw-hero.js +1 -1
  38. package/dist/components/spw-icon.js +1 -1
  39. package/dist/components/spw-iodda.js +4 -4
  40. package/dist/components/spw-link.js +1 -1
  41. package/dist/components/spw-list-item.js +1 -1
  42. package/dist/components/spw-list-title.js +1 -1
  43. package/dist/components/spw-message.js +2 -2
  44. package/dist/components/spw-modal.js +1 -1
  45. package/dist/components/spw-pagination.js +1 -1
  46. package/dist/components/spw-search-field.js +3 -3
  47. package/dist/components/spw-select.js +2 -2
  48. package/dist/components/spw-sidebar-navigation-item.js +1 -1
  49. package/dist/components/spw-sidebar.js +1 -1
  50. package/dist/components/spw-slider.js +1 -1
  51. package/dist/components/spw-table-header.js +1 -1
  52. package/dist/components/spw-tabs-navigation-item.js +1 -1
  53. package/dist/components/spw-tabs-navigation.js +1 -1
  54. package/dist/components/spw-tag.js +1 -1
  55. package/dist/components/spw-text-field.js +1 -1
  56. package/dist/components/spw-textarea.js +2 -2
  57. package/dist/components/spw-tile.js +1 -1
  58. package/dist/components/spw-wizard-item.js +1 -1
  59. package/dist/components_json.json +1 -1
  60. package/dist/esm/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.js.map +1 -1
  61. package/dist/esm/spw-field-label_6.entry.js +1 -1
  62. package/dist/esm/spw-field-label_6.entry.js.map +1 -1
  63. package/dist/spw-stencil-library/{p-a3d3ce93.entry.js → p-d43c834e.entry.js} +2 -2
  64. package/dist/spw-stencil-library/p-d43c834e.entry.js.map +1 -0
  65. package/dist/spw-stencil-library/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.esm.js.map +1 -1
  66. package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
  67. package/dist/stats.json +26 -26
  68. package/hydrate/index.js +1 -1
  69. package/hydrate/index.mjs +1 -1
  70. package/package.json +1 -1
  71. package/dist/spw-stencil-library/p-a3d3ce93.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.cjs.js","sources":["src/components/spw-field-label/spw-field-label.scss?tag=spw-field-label&encapsulation=shadow","src/components/spw-field-label/spw-field-label.tsx","src/components/spw-group/spw-group.scss?tag=spw-group","src/components/spw-group/spw-group.tsx","src/components/spw-icon/spw-icon.scss?tag=spw-icon&encapsulation=shadow","src/components/spw-icon/spw-icon.tsx","src/components/spw-link/spw-link.scss?tag=spw-link&encapsulation=shadow","src/components/spw-link/spw-link.tsx","src/components/spw-separator/spw-separator.scss?tag=spw-separator&encapsulation=shadow","src/components/spw-separator/spw-separator.tsx","src/themes/rouge.css","src/themes/bleu.css","src/themes/bleu-clair.css","src/themes/vert.css","src/themes/vert-leger.css","src/themes/turquoise.css","src/themes/orange.css","src/themes/indigo.css","src/themes/mauve.css","src/themes/gris.css","src/themes/themes.ts","src/components/spw-theme-provider/spw-theme-provider.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-field-label {\n color: var(--spw-color-themes-grey-grey-800);\n display: block;\n font-weight: 600;\n @apply spw-tw-mb-2;\n &__required {\n color: var(--spw-ds-primary);\n }\n}\n","import { Component, Host, h, Prop, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-field-label',\n styleUrl: 'spw-field-label.scss',\n shadow: true,\n})\nexport class SpwFieldLabel {\n /** L'attribut id de l'élément input */\n @Prop() name: string;\n /** Texte à afficher au-dessus du champ de saisie */\n @Prop() label?: string = '';\n /** Indique si le champ est requis */\n @Prop() required?: boolean = false;\n\n @Element() el: HTMLSpwFieldLabelElement;\n\n private handleClick = () => {\n const rootNode = this.el.getRootNode() as ShadowRoot | Document;\n const targetElement = rootNode.getElementById(this.name);\n\n if (targetElement) {\n (targetElement as HTMLElement).focus();\n }\n };\n\n render() {\n return (\n <Host>\n <label class=\"spw-field-label\" htmlFor={this.name} onClick={this.handleClick}>\n {this.label} {this.required && <span class=\"spw-field-label__required\">*</span>}\n </label>\n </Host>\n );\n }\n}\n",":host {\n display: block;\n width: 100%;\n}\n\n.spw-group {\n spw-button:not[is-fullwidth-mobile='false'] {\n display: block;\n width: 100%;\n @include breakpoint(md) {\n display: initial;\n width: auto;\n }\n }\n\n &__container {\n display: flex;\n width: fit-content;\n\n .spw-group--is-full-width & {\n width: 100% !important;\n }\n\n @include breakpoint(md) {\n align-items: center;\n }\n .spw-group--buttons & {\n gap: 12px;\n width: 100%;\n @include breakpoint(md) {\n width: fit-content;\n }\n }\n .spw-group--checkboxes &,\n .spw-group--radios & {\n gap: 16px;\n }\n .spw-group--checkboxes.spw-group--horizontal &,\n .spw-group--radios.spw-group--horizontal & {\n gap: 16px;\n @include breakpoint(md) {\n gap: 24px;\n }\n }\n .spw-group--buttons.spw-group--align-right.spw-group--horizontal & {\n flex-direction: column;\n @include breakpoint(md) {\n flex-direction: row-reverse;\n }\n }\n .spw-group--buttons.spw-group--align-left.spw-group--horizontal.spw-group--reversed & {\n flex-direction: column-reverse;\n @include breakpoint(md) {\n flex-direction: row;\n }\n }\n }\n\n &--align-left {\n .spw-group__container {\n margin-right: auto;\n }\n }\n\n &--align-center {\n .spw-group__container {\n margin-left: auto;\n margin-right: auto;\n }\n }\n\n &--align-right {\n .spw-group__container {\n margin-left: auto;\n }\n }\n\n &--vertical {\n .spw-group__container {\n flex-direction: column;\n align-items: flex-start;\n\n .spw-group--align-center & {\n align-items: center;\n }\n\n .spw-group--align-right & {\n align-items: flex-end;\n }\n }\n }\n\n &--horizontal {\n .spw-group__container {\n flex-direction: column;\n @include breakpoint(md) {\n flex-direction: row;\n }\n }\n }\n\n &--disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n}\n","import { Component, Host, h, Prop, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-group',\n styleUrl: 'spw-group.scss',\n shadow: false,\n})\nexport class SpwGroup {\n @Element() host: HTMLSpwGroupElement;\n\n /** Type d'éléments contenus dans le groupe (buttons, checkboxes, radios) */\n @Prop() type: 'buttons' | 'checkboxes' | 'radios' = 'buttons';\n /** Orientation du groupe (horizontal ou vertical) */\n @Prop() orientation: 'horizontal' | 'vertical' = 'horizontal';\n /** Alignement horizontal du groupe */\n @Prop() alignment: 'left' | 'center' | 'right' = 'left';\n /** Détermine si le groupe est désactivé */\n @Prop() disabled: boolean = false;\n /** Texte à afficher au-dessus de l'élément de formulaire */\n @Prop() label: string = '';\n /** Si `true`, le label comporte une astérisque */\n @Prop() required?: boolean;\n /** Si `true`, l'ordre des boutons est inversé en mobile (uniquement valable en cas d'alignement left) */\n @Prop() isReversed?: boolean = false;\n /** Attribut `name` de l'élément input */\n @Prop() name: string;\n /** Si vrai, le groupe prend toute la largeur */\n @Prop() isFullWidth?: boolean = false;\n\n private slotEl: HTMLSlotElement;\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n private handleSlotChange = () => {\n const elements = this.slotEl?.assignedElements ? this.slotEl.assignedElements() : Array.from(this.host.querySelectorAll('*'));\n\n elements.forEach(element => {\n if (this.disabled) {\n element.setAttribute('disabled', '');\n } else {\n element.removeAttribute('disabled');\n }\n });\n };\n\n private get groupClasses(): { [key: string]: boolean } {\n return {\n 'spw-group': true,\n 'spw-group--horizontal': this.orientation === 'horizontal',\n 'spw-group--vertical': this.orientation === 'vertical',\n 'spw-group--reversed': this.isReversed,\n 'spw-group--disabled': this.disabled,\n 'spw-group--is-full-width': this.isFullWidth,\n [`spw-group--${this.type}`]: true,\n [`spw-group--align-${this.alignment}`]: true,\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.groupClasses}>\n {this.label && <spw-field-label class=\"spw-tw-mb-3\" label={this.label} name={this.name} required={this.required}></spw-field-label>}\n <div class=\"spw-group__container\">\n <slot ref={el => (this.slotEl = el as HTMLSlotElement)}></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import url('./assets/fontawesome/css/all.min.css');\n\n:host {\n line-height: 1;\n}\n\n.spw-icon.fa-solid,\n.spw-icon.fa-solid:before {\n font-family: var(--spw-ds-font-icons-solid);\n}\n\n.spw-icon.fa-brands,\n.spw-icon.fa-brands:before {\n font-family: var(--spw-ds-font-icons-brands);\n}\n\n.spw-icon.fa-regular,\n.spw-icon.fa-regular:before {\n font-weight: 400;\n font-family: var(--spw-ds-font-icons-solid);\n}\n\n.spw-icon {\n font-size: inherit;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-icon',\n styleUrl: 'spw-icon.scss',\n shadow: true,\n assetsDirs: ['assets'],\n})\nexport class SpwIcon {\n /** Permet de spécifier une référence d'icône Font Awesome */\n @Prop() icon: string;\n /** Permet de spécifier une variante de Font Awesome */\n @Prop() variant: 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light' = 'fa-solid';\n\n render() {\n const iconClassName = `spw-icon ${this.variant} ${this.icon}`;\n return <i class={iconClassName}></i>;\n }\n}\n",":host {\n display: inline;\n --spw-link-color: var(--spw-ds-primary);\n --spw-link-hover-color: var(--spw-ds-variant);\n --spw-link-active-color: var(--spw-ds-active);\n --spw-link-font-weight: 700;\n --spw-link-padding: 6px;\n}\n\n.spw-link {\n display: inline;\n text-decoration: none;\n cursor: pointer;\n color: var(--spw-link-color);\n border-radius: 4px;\n font-weight: var(--spw-link-font-weight);\n &--surface-dark {\n color: var(--spw-ds-white);\n }\n\n &__inner {\n display: inline;\n overflow-wrap: break-word;\n border-bottom: 1px solid var(--spw-link-color);\n .spw-link--surface-dark & {\n border-bottom: 1px solid var(--spw-ds-white);\n }\n }\n\n &:focus-visible {\n outline-offset: 2px;\n outline: 3px solid black;\n }\n\n &:hover {\n color: var(--spw-link-hover-color);\n .spw-link__inner {\n border-bottom: 2px solid var(--spw-link-hover-color);\n }\n }\n\n &:active {\n color: var(--spw-link-active-color);\n .spw-link__inner {\n border-bottom: 2px solid var(--spw-link-active-color);\n }\n }\n\n &[aria-disabled='true'] {\n pointer-events: none;\n color: var(--spw-color-themes-grey-grey-600);\n cursor: not-allowed;\n }\n\n &--surface-dark {\n &:hover {\n color: var(--spw-ds-white);\n .spw-link__inner {\n border-bottom: 2px solid var(--spw-ds-white);\n }\n }\n\n &:active {\n color: var(--spw-ds-white);\n .spw-link__inner {\n border-bottom: 2px solid var(--spw-ds-white);\n }\n }\n\n &[aria-disabled='true'] {\n color: var(--spw-ds-white);\n opacity: 0.5;\n }\n }\n\n &--has-icon-right spw-icon {\n margin-left: var(--spw-link-padding);\n margin-right: 4px;\n }\n\n &--has-icon-left spw-icon {\n margin-left: 4px;\n margin-right: var(--spw-link-padding);\n }\n}\n","import { Component, Element, Prop, h, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'spw-link',\n styleUrl: 'spw-link.scss',\n shadow: true,\n})\nexport class SpwLink {\n @Element() el: HTMLSpwLinkElement;\n\n /** Spécifie le lien href */\n @Prop() href: string;\n /** Attribut target (détermine où ouvrir le lien) */\n @Prop() target?: string = '_self';\n /** Remplit l'attribut rel */\n @Prop() rel?: string;\n /** Si rempli, permet d'utiliser une référence d'icône font-awesome */\n @Prop() icon?: string;\n /** Position de l'icône à l'intérieur du lien (gauche ou droite) */\n @Prop() iconPosition?: 'left' | 'right' = 'right';\n /** Si désactivé, le lien n'est pas cliquable */\n @Prop() disabled?: boolean = false;\n /** Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n /** Permet de choisir la surface d'arrière-plan du lien */\n @Prop() surface?: 'light' | 'dark' = 'light';\n\n /** Événement déclenché lors du clic sur le lien */\n @Event() spwClick: EventEmitter<MouseEvent>;\n\n private onClick = (ev: MouseEvent) => {\n if (this.disabled) {\n ev.preventDefault();\n return;\n }\n this.spwClick.emit(ev);\n };\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-link': true,\n 'spw-link--has-icon-right': this.icon && this.iconPosition === 'right',\n 'spw-link--has-icon-left': this.icon && this.iconPosition === 'left',\n [`spw-link--surface-${this.surface}`]: true,\n 'spw-link--has-icon': !!this.icon,\n };\n }\n\n render() {\n const { href, rel, target, icon, iconPosition, accAriaLabel, disabled } = this;\n const ariaAttributes = {\n 'aria-label': accAriaLabel,\n 'aria-disabled': disabled ? 'true' : null,\n };\n\n const iconClass = `spw-icon--${iconPosition}`;\n const iconElement = icon ? <spw-icon class={iconClass} icon={icon}></spw-icon> : null;\n\n return (\n <a href={disabled ? undefined : href} rel={rel} target={target} class={this.elementClass} onClick={this.onClick} {...ariaAttributes}>\n {iconPosition === 'left' && iconElement}\n <div class=\"spw-link__inner\">\n <slot></slot>\n </div>\n {iconPosition === 'right' && iconElement}\n </a>\n );\n }\n}\n",":host {\n display: block;\n}\n\n.spw-separator {\n display: block;\n border-width: 1px;\n\n &--horizontal {\n border-bottom-style: solid;\n width: auto;\n height: 0;\n }\n\n &--vertical {\n border-right-style: solid;\n width: 0;\n height: auto;\n }\n\n &--dark {\n border-color: var(--spw-colors-support-grey-grey-300);\n }\n\n &--light {\n border-color: var(--spw-ds-white);\n }\n\n &--thickness-1 {\n border-width: 1px;\n }\n\n &--thickness-2 {\n border-width: 2px;\n }\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-separator',\n styleUrl: 'spw-separator.scss',\n shadow: true,\n})\nexport class SpwSeparator {\n /** Permet de choisir la surface du séparateur (clair ou sombre) */\n @Prop() surface: 'dark' | 'light' = 'dark';\n\n /** Permet de définir la direction du séparateur */\n @Prop() direction: 'vertical' | 'horizontal' = 'horizontal';\n\n /** Définit l'épaisseur du séparateur */\n @Prop() thickness: 1 | 2 = 1;\n\n /** Largeur du séparateur (par défaut 100% si non spécifié) */\n @Prop() width: string = '100%';\n\n /** Hauteur du séparateur (par défaut 100% si non spécifié) */\n @Prop() height: string = '100%';\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-separator': true,\n [`spw-separator--${this.surface}`]: true,\n [`spw-separator--${this.direction}`]: true,\n [`spw-separator--thickness-${this.thickness}`]: true,\n };\n }\n\n private get style(): { [key: string]: string } {\n return {\n width: this.direction === 'horizontal' ? `${this.width}px` : `${this.thickness}px`,\n height: this.direction === 'vertical' ? `${this.height}px` : `${this.thickness}px`,\n };\n }\n\n render() {\n return <div class={this.elementClass} style={this.style}></div>;\n }\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-red-red-500);\n --spw-ds-variant: var(--spw-color-themes-red-red-700);\n --spw-ds-active: var(--spw-color-themes-red-red-800);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-red-red-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-red-red-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-red-red-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-red-red-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-blue-blue-500);\n --spw-ds-variant: var(--spw-color-themes-blue-blue-700);\n --spw-ds-active: var(--spw-color-themes-blue-blue-800);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-blue-blue-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-blue-blue-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-blue-blue-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-blue-blue-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-light-blue-light-blue-600);\n --spw-ds-variant: var(--spw-color-themes-light-blue-light-blue-800);\n --spw-ds-active: var(--spw-color-themes-light-blue-light-blue-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-light-blue-light-blue-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-light-blue-light-blue-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-light-blue-light-blue-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-light-blue-light-blue-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-green-green-700);\n --spw-ds-variant: var(--spw-color-themes-green-green-800);\n --spw-ds-active: var(--spw-color-themes-green-green-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-green-green-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-green-green-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-green-green-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-green-green-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-light-green-light-green-700);\n --spw-ds-variant: var(--spw-color-themes-light-green-light-green-800);\n --spw-ds-active: var(--spw-color-themes-light-green-light-green-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-light-green-light-green-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-light-green-light-green-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-light-green-light-green-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-light-green-light-green-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-teal-teal-700);\n --spw-ds-variant: var(--spw-color-themes-teal-teal-800);\n --spw-ds-active: var(--spw-color-themes-teal-teal-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-teal-teal-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-teal-teal-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-teal-teal-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-teal-teal-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-orange-orange-700);\n --spw-ds-variant: var(--spw-color-themes-orange-orange-800);\n --spw-ds-active: var(--spw-color-themes-orange-orange-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-orange-orange-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-orange-orange-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-orange-orange-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-orange-orange-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-indigo-indigo-700);\n --spw-ds-variant: var(--spw-color-themes-indigo-indigo-800);\n --spw-ds-active: var(--spw-color-themes-indigo-indigo-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-indigo-indigo-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-indigo-indigo-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-indigo-indigo-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-indigo-indigo-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-purple-purple-500);\n --spw-ds-variant: var(--spw-color-themes-purple-purple-800);\n --spw-ds-active: var(--spw-color-themes-purple-purple-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-purple-purple-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-purple-purple-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-purple-purple-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-purple-purple-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-grey-grey-500);\n --spw-ds-variant: var(--spw-color-themes-grey-grey-800);\n --spw-ds-active: var(--spw-color-themes-grey-grey-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-grey-grey-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-grey-grey-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-grey-grey-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-grey-grey-800);\n}\n","import rougeTheme from './rouge.css';\nimport bleuTheme from './bleu.css';\nimport bleuClairTheme from './bleu-clair.css';\nimport vertTheme from './vert.css';\nimport vertLegerTheme from './vert-leger.css';\nimport turquoiseTheme from './turquoise.css';\nimport orangeTheme from './orange.css';\nimport indigoTheme from './indigo.css';\nimport mauveTheme from './mauve.css';\nimport grisTheme from './gris.css';\n\nexport const themes = {\n rouge: rougeTheme,\n bleu: bleuTheme,\n bleuClair: bleuClairTheme,\n vert: vertTheme,\n vertLeger: vertLegerTheme,\n orange: orangeTheme,\n turquoise: turquoiseTheme,\n indigo: indigoTheme,\n mauve: mauveTheme,\n gris: grisTheme,\n};\n\nexport type SpwTheme = keyof typeof themes;\n","import { Component, Prop, h, Element } from '@stencil/core';\nimport { themes, SpwTheme } from '@themes/themes';\n\n@Component({\n tag: 'spw-theme-provider',\n shadow: false,\n})\nexport class SpwThemeProvider {\n /** Définit le thème employé, conditionne les tokens associés au thème */\n @Prop() theme: SpwTheme = 'rouge';\n\n @Element() el: HTMLSpwThemeProviderElement;\n\n componentWillLoad() {\n this.applyTheme(this.theme);\n }\n\n componentWillUpdate() {\n this.applyTheme(this.theme);\n }\n\n private applyTheme(theme: SpwTheme) {\n const styleId = 'theme-styles';\n let styleElement = document.getElementById(styleId) as HTMLStyleElement;\n\n if (!styleElement) {\n styleElement = document.createElement('style');\n styleElement.id = styleId;\n document.head.appendChild(styleElement);\n }\n\n const css = themes[theme];\n styleElement.innerHTML = css;\n\n document.documentElement.setAttribute('data-theme', theme);\n }\n\n render() {\n return (\n <main class={`spw-theme-${this.theme}`}>\n <slot />\n </main>\n );\n }\n}\n"],"names":["h","Host","rougeTheme","bleuTheme","bleuClairTheme","vertTheme","vertLegerTheme","orangeTheme","turquoiseTheme","indigoTheme","mauveTheme","grisTheme"],"mappings":"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"}
1
+ {"version":3,"file":"spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.cjs.js","sources":["src/components/spw-field-label/spw-field-label.scss?tag=spw-field-label&encapsulation=shadow","src/components/spw-field-label/spw-field-label.tsx","src/components/spw-group/spw-group.scss?tag=spw-group","src/components/spw-group/spw-group.tsx","src/components/spw-icon/spw-icon.scss?tag=spw-icon&encapsulation=shadow","src/components/spw-icon/spw-icon.tsx","src/components/spw-link/spw-link.scss?tag=spw-link&encapsulation=shadow","src/components/spw-link/spw-link.tsx","src/components/spw-separator/spw-separator.scss?tag=spw-separator&encapsulation=shadow","src/components/spw-separator/spw-separator.tsx","src/themes/rouge.css","src/themes/bleu.css","src/themes/bleu-clair.css","src/themes/vert.css","src/themes/vert-leger.css","src/themes/turquoise.css","src/themes/orange.css","src/themes/indigo.css","src/themes/mauve.css","src/themes/gris.css","src/themes/themes.ts","src/components/spw-theme-provider/spw-theme-provider.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-field-label {\n color: var(--spw-color-themes-grey-grey-800);\n display: block;\n font-weight: 600;\n @apply spw-tw-mb-2;\n &__required {\n color: var(--spw-ds-primary);\n }\n}\n","import { Component, Host, h, Prop, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-field-label',\n styleUrl: 'spw-field-label.scss',\n shadow: true,\n})\nexport class SpwFieldLabel {\n /** L'attribut id de l'élément input */\n @Prop() name: string;\n /** Texte à afficher au-dessus du champ de saisie */\n @Prop() label?: string = '';\n /** Indique si le champ est requis */\n @Prop() required?: boolean = false;\n\n @Element() el: HTMLSpwFieldLabelElement;\n\n private handleClick = () => {\n const rootNode = this.el.getRootNode() as ShadowRoot | Document;\n const targetElement = rootNode.getElementById(this.name);\n\n if (targetElement) {\n (targetElement as HTMLElement).focus();\n }\n };\n\n render() {\n return (\n <Host>\n <label class=\"spw-field-label\" htmlFor={this.name} onClick={this.handleClick}>\n {this.label} {this.required && <span class=\"spw-field-label__required\">*</span>}\n </label>\n </Host>\n );\n }\n}\n",":host {\n display: block;\n width: 100%;\n}\n\n.spw-group {\n spw-button:not[is-fullwidth-mobile='false'] {\n display: block;\n width: 100%;\n @include breakpoint(md) {\n display: initial;\n width: auto;\n }\n }\n\n &__container {\n display: flex;\n width: fit-content;\n\n .spw-group--is-full-width & {\n width: 100% !important;\n }\n\n @include breakpoint(md) {\n align-items: center;\n }\n .spw-group--buttons & {\n gap: 12px;\n width: 100%;\n @include breakpoint(md) {\n width: fit-content;\n }\n }\n .spw-group--checkboxes &,\n .spw-group--radios & {\n gap: 16px;\n }\n .spw-group--checkboxes.spw-group--horizontal &,\n .spw-group--radios.spw-group--horizontal & {\n gap: 16px;\n @include breakpoint(md) {\n gap: 24px;\n }\n }\n .spw-group--buttons.spw-group--align-right.spw-group--horizontal & {\n flex-direction: column;\n @include breakpoint(md) {\n flex-direction: row-reverse;\n }\n }\n .spw-group--buttons.spw-group--align-left.spw-group--horizontal.spw-group--reversed & {\n flex-direction: column-reverse;\n @include breakpoint(md) {\n flex-direction: row;\n }\n }\n }\n\n &--align-left {\n .spw-group__container {\n margin-right: auto;\n }\n }\n\n &--align-center {\n .spw-group__container {\n margin-left: auto;\n margin-right: auto;\n }\n }\n\n &--align-right {\n .spw-group__container {\n margin-left: auto;\n }\n }\n\n &--vertical {\n .spw-group__container {\n flex-direction: column;\n align-items: flex-start;\n\n .spw-group--align-center & {\n align-items: center;\n }\n\n .spw-group--align-right & {\n align-items: flex-end;\n }\n }\n }\n\n &--horizontal {\n .spw-group__container {\n flex-direction: column;\n @include breakpoint(md) {\n flex-direction: row;\n }\n }\n }\n\n &--disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n}\n","import { Component, Host, h, Prop, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-group',\n styleUrl: 'spw-group.scss',\n shadow: false,\n})\nexport class SpwGroup {\n @Element() host: HTMLSpwGroupElement;\n\n /** Type d'éléments contenus dans le groupe (buttons, checkboxes, radios) */\n @Prop() type: 'buttons' | 'checkboxes' | 'radios' = 'buttons';\n /** Orientation du groupe (horizontal ou vertical) */\n @Prop() orientation: 'horizontal' | 'vertical' = 'horizontal';\n /** Alignement horizontal du groupe */\n @Prop() alignment: 'left' | 'center' | 'right' = 'left';\n /** Détermine si le groupe est désactivé */\n @Prop() disabled: boolean = false;\n /** Texte à afficher au-dessus de l'élément de formulaire */\n @Prop() label: string = '';\n /** Si `true`, le label comporte une astérisque */\n @Prop() required?: boolean;\n /** Si `true`, l'ordre des boutons est inversé en mobile (uniquement valable en cas d'alignement left) */\n @Prop() isReversed?: boolean = false;\n /** Attribut `name` de l'élément input */\n @Prop() name: string;\n /** Si vrai, le groupe prend toute la largeur */\n @Prop() isFullWidth?: boolean = false;\n\n private slotEl: HTMLSlotElement;\n\n componentDidLoad() {\n this.handleSlotChange();\n }\n\n private handleSlotChange = () => {\n const elements = this.slotEl?.assignedElements ? this.slotEl.assignedElements() : Array.from(this.host.querySelectorAll('*'));\n\n elements.forEach(element => {\n if (this.disabled) {\n element.setAttribute('disabled', '');\n } else {\n element.removeAttribute('disabled');\n }\n });\n };\n\n private get groupClasses(): { [key: string]: boolean } {\n return {\n 'spw-group': true,\n 'spw-group--horizontal': this.orientation === 'horizontal',\n 'spw-group--vertical': this.orientation === 'vertical',\n 'spw-group--reversed': this.isReversed,\n 'spw-group--disabled': this.disabled,\n 'spw-group--is-full-width': this.isFullWidth,\n [`spw-group--${this.type}`]: true,\n [`spw-group--align-${this.alignment}`]: true,\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.groupClasses}>\n {this.label && <spw-field-label class=\"spw-tw-mb-3\" label={this.label} name={this.name} required={this.required}></spw-field-label>}\n <div class=\"spw-group__container\">\n <slot ref={el => (this.slotEl = el as HTMLSlotElement)}></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import url('./assets/fontawesome/css/all.min.css');\n\n:host {\n line-height: 1;\n}\n\n.spw-icon.fa-solid,\n.spw-icon.fa-solid:before {\n font-family: var(--spw-ds-font-icons-solid);\n}\n\n.spw-icon.fa-brands,\n.spw-icon.fa-brands:before {\n font-family: var(--spw-ds-font-icons-brands);\n}\n\n.spw-icon.fa-regular,\n.spw-icon.fa-regular:before {\n font-weight: 400;\n font-family: var(--spw-ds-font-icons-solid);\n}\n\n.spw-icon.fa-light,\n.spw-icon.fa-light:before {\n font-weight: 300;\n font-family: var(--spw-ds-font-icons-solid);\n}\n\n.spw-icon {\n font-size: inherit;\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-icon',\n styleUrl: 'spw-icon.scss',\n shadow: true,\n assetsDirs: ['assets'],\n})\nexport class SpwIcon {\n /** Permet de spécifier une référence d'icône Font Awesome */\n @Prop() icon: string;\n /** Permet de spécifier une variante de Font Awesome */\n @Prop() variant: 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light' = 'fa-solid';\n\n render() {\n const iconClassName = `spw-icon ${this.variant} ${this.icon}`;\n return <i class={iconClassName}></i>;\n }\n}\n",":host {\n display: inline;\n --spw-link-color: var(--spw-ds-primary);\n --spw-link-hover-color: var(--spw-ds-variant);\n --spw-link-active-color: var(--spw-ds-active);\n --spw-link-font-weight: 700;\n --spw-link-padding: 6px;\n}\n\n.spw-link {\n display: inline;\n text-decoration: none;\n cursor: pointer;\n color: var(--spw-link-color);\n border-radius: 4px;\n font-weight: var(--spw-link-font-weight);\n &--surface-dark {\n color: var(--spw-ds-white);\n }\n\n &__inner {\n display: inline;\n overflow-wrap: break-word;\n border-bottom: 1px solid var(--spw-link-color);\n .spw-link--surface-dark & {\n border-bottom: 1px solid var(--spw-ds-white);\n }\n }\n\n &:focus-visible {\n outline-offset: 2px;\n outline: 3px solid black;\n }\n\n &:hover {\n color: var(--spw-link-hover-color);\n .spw-link__inner {\n border-bottom: 2px solid var(--spw-link-hover-color);\n }\n }\n\n &:active {\n color: var(--spw-link-active-color);\n .spw-link__inner {\n border-bottom: 2px solid var(--spw-link-active-color);\n }\n }\n\n &[aria-disabled='true'] {\n pointer-events: none;\n color: var(--spw-color-themes-grey-grey-600);\n cursor: not-allowed;\n }\n\n &--surface-dark {\n &:hover {\n color: var(--spw-ds-white);\n .spw-link__inner {\n border-bottom: 2px solid var(--spw-ds-white);\n }\n }\n\n &:active {\n color: var(--spw-ds-white);\n .spw-link__inner {\n border-bottom: 2px solid var(--spw-ds-white);\n }\n }\n\n &[aria-disabled='true'] {\n color: var(--spw-ds-white);\n opacity: 0.5;\n }\n }\n\n &--has-icon-right spw-icon {\n margin-left: var(--spw-link-padding);\n margin-right: 4px;\n }\n\n &--has-icon-left spw-icon {\n margin-left: 4px;\n margin-right: var(--spw-link-padding);\n }\n}\n","import { Component, Element, Prop, h, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'spw-link',\n styleUrl: 'spw-link.scss',\n shadow: true,\n})\nexport class SpwLink {\n @Element() el: HTMLSpwLinkElement;\n\n /** Spécifie le lien href */\n @Prop() href: string;\n /** Attribut target (détermine où ouvrir le lien) */\n @Prop() target?: string = '_self';\n /** Remplit l'attribut rel */\n @Prop() rel?: string;\n /** Si rempli, permet d'utiliser une référence d'icône font-awesome */\n @Prop() icon?: string;\n /** Position de l'icône à l'intérieur du lien (gauche ou droite) */\n @Prop() iconPosition?: 'left' | 'right' = 'right';\n /** Si désactivé, le lien n'est pas cliquable */\n @Prop() disabled?: boolean = false;\n /** Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n /** Permet de choisir la surface d'arrière-plan du lien */\n @Prop() surface?: 'light' | 'dark' = 'light';\n\n /** Événement déclenché lors du clic sur le lien */\n @Event() spwClick: EventEmitter<MouseEvent>;\n\n private onClick = (ev: MouseEvent) => {\n if (this.disabled) {\n ev.preventDefault();\n return;\n }\n this.spwClick.emit(ev);\n };\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-link': true,\n 'spw-link--has-icon-right': this.icon && this.iconPosition === 'right',\n 'spw-link--has-icon-left': this.icon && this.iconPosition === 'left',\n [`spw-link--surface-${this.surface}`]: true,\n 'spw-link--has-icon': !!this.icon,\n };\n }\n\n render() {\n const { href, rel, target, icon, iconPosition, accAriaLabel, disabled } = this;\n const ariaAttributes = {\n 'aria-label': accAriaLabel,\n 'aria-disabled': disabled ? 'true' : null,\n };\n\n const iconClass = `spw-icon--${iconPosition}`;\n const iconElement = icon ? <spw-icon class={iconClass} icon={icon}></spw-icon> : null;\n\n return (\n <a href={disabled ? undefined : href} rel={rel} target={target} class={this.elementClass} onClick={this.onClick} {...ariaAttributes}>\n {iconPosition === 'left' && iconElement}\n <div class=\"spw-link__inner\">\n <slot></slot>\n </div>\n {iconPosition === 'right' && iconElement}\n </a>\n );\n }\n}\n",":host {\n display: block;\n}\n\n.spw-separator {\n display: block;\n border-width: 1px;\n\n &--horizontal {\n border-bottom-style: solid;\n width: auto;\n height: 0;\n }\n\n &--vertical {\n border-right-style: solid;\n width: 0;\n height: auto;\n }\n\n &--dark {\n border-color: var(--spw-colors-support-grey-grey-300);\n }\n\n &--light {\n border-color: var(--spw-ds-white);\n }\n\n &--thickness-1 {\n border-width: 1px;\n }\n\n &--thickness-2 {\n border-width: 2px;\n }\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-separator',\n styleUrl: 'spw-separator.scss',\n shadow: true,\n})\nexport class SpwSeparator {\n /** Permet de choisir la surface du séparateur (clair ou sombre) */\n @Prop() surface: 'dark' | 'light' = 'dark';\n\n /** Permet de définir la direction du séparateur */\n @Prop() direction: 'vertical' | 'horizontal' = 'horizontal';\n\n /** Définit l'épaisseur du séparateur */\n @Prop() thickness: 1 | 2 = 1;\n\n /** Largeur du séparateur (par défaut 100% si non spécifié) */\n @Prop() width: string = '100%';\n\n /** Hauteur du séparateur (par défaut 100% si non spécifié) */\n @Prop() height: string = '100%';\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-separator': true,\n [`spw-separator--${this.surface}`]: true,\n [`spw-separator--${this.direction}`]: true,\n [`spw-separator--thickness-${this.thickness}`]: true,\n };\n }\n\n private get style(): { [key: string]: string } {\n return {\n width: this.direction === 'horizontal' ? `${this.width}px` : `${this.thickness}px`,\n height: this.direction === 'vertical' ? `${this.height}px` : `${this.thickness}px`,\n };\n }\n\n render() {\n return <div class={this.elementClass} style={this.style}></div>;\n }\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-red-red-500);\n --spw-ds-variant: var(--spw-color-themes-red-red-700);\n --spw-ds-active: var(--spw-color-themes-red-red-800);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-red-red-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-red-red-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-red-red-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-red-red-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-blue-blue-500);\n --spw-ds-variant: var(--spw-color-themes-blue-blue-700);\n --spw-ds-active: var(--spw-color-themes-blue-blue-800);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-blue-blue-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-blue-blue-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-blue-blue-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-blue-blue-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-light-blue-light-blue-600);\n --spw-ds-variant: var(--spw-color-themes-light-blue-light-blue-800);\n --spw-ds-active: var(--spw-color-themes-light-blue-light-blue-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-light-blue-light-blue-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-light-blue-light-blue-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-light-blue-light-blue-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-light-blue-light-blue-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-green-green-700);\n --spw-ds-variant: var(--spw-color-themes-green-green-800);\n --spw-ds-active: var(--spw-color-themes-green-green-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-green-green-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-green-green-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-green-green-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-green-green-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-light-green-light-green-700);\n --spw-ds-variant: var(--spw-color-themes-light-green-light-green-800);\n --spw-ds-active: var(--spw-color-themes-light-green-light-green-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-light-green-light-green-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-light-green-light-green-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-light-green-light-green-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-light-green-light-green-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-teal-teal-700);\n --spw-ds-variant: var(--spw-color-themes-teal-teal-800);\n --spw-ds-active: var(--spw-color-themes-teal-teal-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-teal-teal-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-teal-teal-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-teal-teal-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-teal-teal-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-orange-orange-700);\n --spw-ds-variant: var(--spw-color-themes-orange-orange-800);\n --spw-ds-active: var(--spw-color-themes-orange-orange-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-orange-orange-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-orange-orange-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-orange-orange-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-orange-orange-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-indigo-indigo-700);\n --spw-ds-variant: var(--spw-color-themes-indigo-indigo-800);\n --spw-ds-active: var(--spw-color-themes-indigo-indigo-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-indigo-indigo-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-indigo-indigo-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-indigo-indigo-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-indigo-indigo-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-purple-purple-500);\n --spw-ds-variant: var(--spw-color-themes-purple-purple-800);\n --spw-ds-active: var(--spw-color-themes-purple-purple-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-purple-purple-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-purple-purple-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-purple-purple-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-purple-purple-800);\n}\n","@import '_base.css';\n\n:root {\n --spw-ds-primary: var(--spw-color-themes-grey-grey-500);\n --spw-ds-variant: var(--spw-color-themes-grey-grey-800);\n --spw-ds-active: var(--spw-color-themes-grey-grey-900);\n --spw-ds-cta-outlined-bg-hover: var(--spw-color-themes-grey-grey-50);\n --spw-ds-cta-outlined-stroke-hover: var(--spw-color-themes-grey-grey-700);\n --spw-ds-cta-outlined-bg-active: var(--spw-color-themes-grey-grey-100);\n --spw-ds-cta-outlined-stroke-active: var(--spw-color-themes-grey-grey-800);\n}\n","import rougeTheme from './rouge.css';\nimport bleuTheme from './bleu.css';\nimport bleuClairTheme from './bleu-clair.css';\nimport vertTheme from './vert.css';\nimport vertLegerTheme from './vert-leger.css';\nimport turquoiseTheme from './turquoise.css';\nimport orangeTheme from './orange.css';\nimport indigoTheme from './indigo.css';\nimport mauveTheme from './mauve.css';\nimport grisTheme from './gris.css';\n\nexport const themes = {\n rouge: rougeTheme,\n bleu: bleuTheme,\n bleuClair: bleuClairTheme,\n vert: vertTheme,\n vertLeger: vertLegerTheme,\n orange: orangeTheme,\n turquoise: turquoiseTheme,\n indigo: indigoTheme,\n mauve: mauveTheme,\n gris: grisTheme,\n};\n\nexport type SpwTheme = keyof typeof themes;\n","import { Component, Prop, h, Element } from '@stencil/core';\nimport { themes, SpwTheme } from '@themes/themes';\n\n@Component({\n tag: 'spw-theme-provider',\n shadow: false,\n})\nexport class SpwThemeProvider {\n /** Définit le thème employé, conditionne les tokens associés au thème */\n @Prop() theme: SpwTheme = 'rouge';\n\n @Element() el: HTMLSpwThemeProviderElement;\n\n componentWillLoad() {\n this.applyTheme(this.theme);\n }\n\n componentWillUpdate() {\n this.applyTheme(this.theme);\n }\n\n private applyTheme(theme: SpwTheme) {\n const styleId = 'theme-styles';\n let styleElement = document.getElementById(styleId) as HTMLStyleElement;\n\n if (!styleElement) {\n styleElement = document.createElement('style');\n styleElement.id = styleId;\n document.head.appendChild(styleElement);\n }\n\n const css = themes[theme];\n styleElement.innerHTML = css;\n\n document.documentElement.setAttribute('data-theme', theme);\n }\n\n render() {\n return (\n <main class={`spw-theme-${this.theme}`}>\n <slot />\n </main>\n );\n }\n}\n"],"names":["h","Host","rougeTheme","bleuTheme","bleuClairTheme","vertTheme","vertLegerTheme","orangeTheme","turquoiseTheme","indigoTheme","mauveTheme","grisTheme"],"mappings":"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"}