/* eslint-disable */ /* tslint:disable */ /** * This is an autogenerated file created by the Stencil compiler. * It contains typing information for all components that exist in this project. */ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime"; import { SelectItem } from "./components/spw-custom-select/spw-custom-select"; import { IllustrationType } from "./components/spw-illustration/spw-illustration"; import { SearchItem } from "./components/spw-search-field/spw-search-field"; import { SelectItem as SelectItem1 } from "./components/spw-select/spw-select"; import { SortEvent } from "./components/spw-table/spw-table"; import { SpwTheme } from "./themes/themes"; import { SpwToastVariant } from "./components/spw-toast/spw-toast"; import { SpwToastOptions } from "./components/spw-toast/spw-toast-controller/spw-toast-controller"; import { TocItem } from "./components/spw-toc/spw-toc-container/spw-toc-container"; export { SelectItem } from "./components/spw-custom-select/spw-custom-select"; export { IllustrationType } from "./components/spw-illustration/spw-illustration"; export { SearchItem } from "./components/spw-search-field/spw-search-field"; export { SelectItem as SelectItem1 } from "./components/spw-select/spw-select"; export { SortEvent } from "./components/spw-table/spw-table"; export { SpwTheme } from "./themes/themes"; export { SpwToastVariant } from "./components/spw-toast/spw-toast"; export { SpwToastOptions } from "./components/spw-toast/spw-toast-controller/spw-toast-controller"; export { TocItem } from "./components/spw-toc/spw-toc-container/spw-toc-container"; export namespace Components { interface SpwAccordion { /** * Couleur de fond appliquée à tous les accordion-item enfants * @default 'white' */ "background"?: string; /** * Variant de l'accordéon * @default 'default' */ "variant"?: 'default' | 'separated'; } interface SpwAccordionContent { } interface SpwAccordionItem { /** * Définit si l'élément est ouvert ou pas * @default false */ "defaultOpen": boolean; /** * Variant de l'accordion-item (propagé par le parent) * @default 'default' */ "variant": 'default' | 'separated'; } interface SpwAccordionTitle { /** * Si spécifié, place une icône à gauche du titre */ "icon"?: string; /** * Tag html du titre de l'accordéon (de h1 à h6) * @default 'h3' */ "tag"?: 'h2' | 'h3' | 'h4' | 'h5' | 'h6'; } interface SpwAvatar { /** * Label d'accessibilité */ "accAriaLabel"?: string; /** * Contenu de la bubble de notification */ "bubble"?: string; /** * Si true, ajoute un cursor pointer et un effet hover * @default false */ "clickable"?: boolean; /** * URL de l'image de fond */ "image"?: string; /** * Initiales à afficher (si pas d'image) */ "initials"?: string; /** * Taille de l'avatar * @default 'medium' */ "size": 'small' | 'medium' | 'large'; } interface SpwBlockContent { /** * Couleur de fond du bloc (que neutral et primary pour le blockquote) * @default 'primary' */ "background"?: 'primary' | 'neutral' | 'purple' | 'blue' | 'petrol'; /** * URL du lien (pour banner-landscape et banner-portrait) */ "href"?: string; /** * Texte alternatif de l'image (pour callout, banner-landscape et banner-portrait) */ "imageAlt"?: string; /** * URL de l'image (pour callout, banner-landscape et banner-portrait) */ "imageSrc"?: string; /** * Ratio d'aspect de l'image pour tous les breakpoints - callout uniquement (ex: "16/9", "4/3", "1/1") */ "ratio"?: string; /** * Ratio d'aspect de l'image en vue desktop - callout uniquement */ "ratioDesktop"?: string; /** * Ratio d'aspect de l'image en vue mobile - callout uniquement */ "ratioMobile"?: string; /** * Ratio d'aspect de l'image en vue tablette - callout uniquement */ "ratioTablet"?: string; /** * Target du lien (pour banner-landscape et banner-portrait) * @default '_self' */ "target"?: string; /** * Variante du bloc de contenu * @default 'blockquote' */ "variant": 'blockquote' | 'banner-landscape' | 'banner-portrait' | 'callout'; } interface SpwBox { /** * Définit le breakpoint en dessous duquel la box est collapsible (sm: 460px, md: 768px, lg: 1024px, xl: 1350px, xxl: 1770px, always: toujours collapsible) * @default 'md' */ "collapsibleBreakpoint"?: 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'always'; /** * Permet d'appliquer un border-radius sur la box * @default false */ "hasRadius"?: boolean; /** * Permet d'appliquer un box-shadow sur la box * @default false */ "hasShadow"?: boolean; /** * Permet de rendre le contenu de la box collapsible sur un breakpoint donné * @default false */ "isCollapsible"?: boolean; /** * Permet de rendre la box sticky * @default false */ "isSticky"?: boolean; /** * Définit le padding de la box * @default 'none' */ "padding"?: 'none' | 'small' | 'medium' | 'large'; /** * Définit la position top de la box sticky (ex: '32px', '80px', '2vh',...) */ "stickyTop"?: string; } interface SpwBreadcrumb { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Permet de déterminer la font-size des éléments de breadcrumb * @default 'small' */ "fontSize"?: 'small' | 'default'; /** * Permet de choisir la surface d'arrière-plan du breadcrumb * @default 'light' */ "surface"?: 'light' | 'dark'; /** * Permet de sélectionner la variante de breadcrumb * @default 'default' */ "variant": 'multiline' | 'one-line' | 'default'; } interface SpwBreadcrumbItem { /** * Permet de définir un lien sur l'élément du breadcrumb * @default '' */ "href"?: string; } interface SpwButton { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Si désactivé, le bouton n'est pas utilisable * @default false */ "disabled"?: boolean; /** * Permet de télécharger un fichier au lieu de naviguer vers le lien */ "download"?: string; /** * Fait référence à l'id du formulaire de référence */ "form"?: string; /** * Si vrai, masque le texte en mobile (garde uniquement l'icône) * @default false */ "hideTextOnMobile"?: boolean; /** * Spécifie le lien si nécessaire */ "href"?: string; /** * Si rempli, vous pouvez utiliser une référence d'icône font-awesome */ "icon"?: string; /** * Position de l'icône à l'intérieur du bouton */ "iconPosition"?: 'left' | 'right'; /** * Permet de spécifier une variante de Font Awesome * @default 'fa-solid' */ "iconVariant": 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; /** * Si vrai, le bouton prend toute la largeur * @default false */ "isFullWidth"?: boolean; /** * Si vrai, le bouton prend toute la largeur en mobile * @default true */ "isFullWidthMobile"?: boolean; /** * Si rempli, vous pouvez utiliser une référence d'icône font-awesome * @default false */ "isIconOnly"?: boolean; /** * Affiche un état de chargement, désactive le bouton * @default false */ "isLoading"?: boolean; /** * Nom du bouton * @default '' */ "name"?: string; /** * Remplit l'attribut rel */ "rel"?: string; /** * Donne le focus au bouton */ "setFocus": () => Promise; /** * Permet de spécifier la taille du bouton * @default 'medium' */ "size"?: 'large' | 'medium' | 'small'; /** * Permet de choisir la surface d'arrière-plan du bouton * @default 'default' */ "surface"?: 'default' | 'dark' | 'light' | 'primary'; /** * Attribut target, s'applique uniquement si href est rempli * @default '_self' */ "target"?: string; /** * Type du bouton * @default 'button' */ "type"?: 'button' | 'submit' | 'reset'; /** * Valeur du bouton * @default '' */ "value"?: string | number; /** * Permet de sélectionner une variante du bouton * @default 'primary' */ "variant"?: 'primary' | 'secondary' | 'tertiary'; } interface SpwCard { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Définir une date de fin si la carte est un évènement */ "dateEnd"?: string; /** * Définir une date de début si la carte est un évènement */ "dateStart"?: string; /** * Si désactivée, la carte n'est pas utilisable * @default false */ "disabled": boolean; /** * Type d'élément du bouton * @default 'a' */ "elementType": string; /** * Si vrai, les cartes ont la même hauteur * @default false */ "fullHeight": boolean; /** * Spécifie le lien si nécessaire */ "href"?: string; /** * Remplit l'attribut rel */ "rel"?: string; /** * Attribut target, s'applique uniquement si href est rempli * @default '_self' */ "target": string; /** * Type de variante de carte * @default 'news' */ "variant"?: 'news' | 'vertical' | 'video' | 'event' | 'sidebar' | 'highlighted' | 'people' | 'rounded-picture'; } interface SpwCardContent { /** * Date de publication */ "date"?: string; /** * Tag spécifié dans la carte */ "tag"?: string; } interface SpwCardExcerpt { /** * Permet de limiter ou pas le nombre de lignes affichées * @default 3 */ "lineClamp": number | 'none'; } interface SpwCardImage { /** * Icône affichée au survol de l'image (référence Font Awesome) * @default 'fa-plus' */ "hoverIcon"?: string; /** * Redimensionnement de l'image (object-fit) */ "imageFit"?: string; /** * Position de l'image (object-position), ex: 'top', 'center', 'bottom right' */ "imagePosition"?: string; /** * Label spécifié dans la carte */ "label"?: string; /** * Ratio d'aspect de l'image pour tous les breakpoints (ex: "16/9", "4/3", "1/1") */ "ratio"?: string; /** * Ratio d'aspect de l'image en vue desktop */ "ratioDesktop"?: string; /** * Ratio d'aspect de l'image en vue mobile */ "ratioMobile"?: string; /** * Ratio d'aspect de l'image en vue tablette */ "ratioTablet"?: string; } interface SpwCardSubtagItem { /** * Lien qui mène vers la catégorie du sous-tag */ "link"?: string; } interface SpwCardSubtags { /** * Type de variante de tags * @default 'link' */ "variant"?: 'link' | 'tag'; } interface SpwCardTitle { /** * Code hexadécimal de la bordure sous le titre (à appliquer sur spw-card-title si la variante de la carte est "people") * @default '' */ "borderColor"?: string; } interface SpwCheckbox { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Propriété mutable qui reflète si la case à cocher est cochée ou non * @default false */ "checked": boolean; /** * Détermine si la case à cocher est désactivée, rendant l'élément inutilisable * @default false */ "disabled": boolean; /** * Indique s'il y a une erreur associée à la case à cocher, pour un affichage visuel * @default false */ "error": boolean; /** * Icône à afficher lorsque la case à cocher est cochée * @default 'fa-check' */ "icon": string; /** * Nom de l'élément utilisé dans les formulaires */ "name": string; /** * Méthode publique pour changer l'état de la case à cocher. */ "toggleCheckedState": (newVal: boolean) => Promise; /** * Valeur soumise dans le formulaire lorsque la case est cochée (défaut : 'on') * @default 'on' */ "value": string; /** * Type de variant pour la checkbox * @default 'default' */ "variant"?: 'default' | 'toggle'; } interface SpwCookies { /** * Texte du bouton pour accepter tous les cookies * @default 'Accepter tous les cookies' */ "acceptAllButtonText": string; /** * Texte du bouton pour accepter uniquement les cookies fonctionnels * @default 'Accepter uniquement les cookies fonctionnels' */ "acceptRequiredButtonText": string; /** * Description des cookies et de leur utilisation, affichée dans la bannière * @default `Ce site web utilise des cookies essentiels pour assurer son bon fonctionnement et des cookies de suivi pour comprendre comment vous interagissez avec lui. Ces derniers ne seront installés qu'après avoir obtenu votre consentement.` */ "cookiesDescription": string; /** * Titre affiché dans la bannière de cookies * @default 'Nous utilisons des cookies' */ "cookiesTitle": string; } interface SpwCustomSelect { /** * Permet à l'utilisateur d'ajouter une option si elle n'existe pas dans la liste (nécessite isSearch) * @default false */ "allowCreate"?: boolean; /** * Texte d'assistance à afficher sous le label */ "assistiveText"?: string; /** * Direction d'ouverture du dropdown * @default 'auto' */ "direction"?: 'top' | 'bottom' | 'auto'; /** * Indique si le champ est désactivé et donc non interactif */ "disabled": boolean; /** * Message d'erreur à afficher sous le champ * @default '' */ "error"?: string; /** * Utilise un positionnement fixed pour le dropdown si nécessité de sortir du contexte (utile dans une modal avec overflow hidden) * @default false */ "fixedDropdown"?: boolean; /** * Tag name du composant parent contenant le scroll (ex: 'spw-modal'). Le composant remontera les parents pour trouver ce composant et écouter son scroll interne. */ "fixedDropdownParent"?: string; /** * Récupère la valeur actuelle du champ de sélection */ "getValue": () => Promise<(string | number)[] | string | number>; /** * Message d'indication (hint) à afficher sous le champ * @default '' */ "hint"?: string; /** * Indique si le champ peut être effacé avec un bouton * @default false */ "isClear"?: boolean; /** * Active la fonction de recherche dans la liste des items * @default false */ "isSearch": boolean; /** * Liste d'items dynamiques pour générer les options (array d'objets avec label + value) */ "items"?: SelectItem[]; /** * Label associé au champ de sélection personnalisé * @default '' */ "label": string; /** * Permet la sélection multiple si vrai * @default false */ "multiple": boolean; /** * Nom de l'élément dans les formulaires, utilisé pour associer la valeur */ "name": string; /** * Texte à afficher si pas de résultats de recherche * @default 'Aucun résultat trouvé' */ "noResultsText": string; /** * Placeholder à afficher lorsque aucune option n'est sélectionnée * @default 'Sélectionnez une option' */ "placeholder": string; /** * Indique si la sélection est obligatoire dans le formulaire * @default false */ "required": boolean; /** * Réinitialise le champ de sélection */ "resetSelect": () => Promise; /** * Placeholder à afficher dans l'input de recherche si actif * @default 'Entrez votre recherche' */ "searchPlaceholder": string; /** * Méthode publique pour mettre le focus sur le champ de sélection. */ "setFocus": () => Promise; /** * Définit la valeur du champ de sélection */ "setValue": (val: (string | number)[] | string | number) => Promise; /** * Affiche une icône d'erreur si vrai * @default true */ "showErrorIcon"?: boolean; /** * Affiche une icône d'indication si vrai * @default true */ "showHintIcon"?: boolean; /** * Affiche une icône de succès si vrai * @default true */ "showSuccessIcon"?: boolean; /** * Affiche une icône de warning si vrai * @default true */ "showWarningIcon"?: boolean; /** * Taille du select, peut être "large" ou "medium" * @default 'medium' */ "size": 'large' | 'medium'; /** * Message de succès à afficher sous le champ * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Valeur actuelle sélectionnée dans le composant, peut être une chaîne, un nombre ou un tableau * @default [] */ "value": (string | number)[] | string | number; /** * Message de warning à afficher sous le champ * @default '' */ "warning"?: string; } interface SpwDatePicker { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Texte d'assistance à afficher sous le label */ "assistiveText"?: string; /** * Méthode pour fermer le datepicker */ "close": () => Promise; /** * Format de date à afficher * @default 'dd/MM/yyyy' */ "dateFormat": string; /** * Indique si le champ est désactivé * @default false */ "disabled": boolean; /** * Dates spécifiques désactivées (format ISO, ex: ["2026-01-01", "2026-12-25"]) * @default [] */ "disabledDates": string | string[]; /** * Jours de la semaine désactivés (0=dimanche, 1=lundi, etc.) * @default [] */ "disabledDays": string | number[]; /** * Message d'erreur à afficher sous le champ * @default '' */ "error"?: string; /** * Utilise un positionnement fixed pour le calendrier si nécessité de sortir du contexte (utile dans une modal avec overflow hidden) * @default false */ "fixedCalendar"?: boolean; /** * Tag name du composant parent contenant le scroll (ex: 'spw-modal'). Le composant remontera les parents pour trouver ce composant et écouter son scroll interne. */ "fixedCalendarParent"?: string; /** * Méthode pour récupérer la date */ "getDate": () => Promise; /** * Méthode pour récupérer le range de dates */ "getRange": () => Promise<{ start: Date | null; end: Date | null; }>; /** * Message d'indication (hint) à afficher sous le champ * @default '' */ "hint"?: string; /** * Indique si le champ peut être effacé avec un bouton * @default false */ "isClear"?: boolean; /** * Permet de définir l'input de début pour un range * @default false */ "isStart": boolean; /** * Label du champ */ "label": string; /** * Date maximale sélectionnable */ "maxDate": string; /** * Date minimale sélectionnable */ "minDate": string; /** * Attribut `name` utilisé par le formulaire */ "name": string; /** * Méthode pour ouvrir le datepicker */ "open": () => Promise; /** * Placeholder du champ de saisie * @default 'JJ/MM/AAAA' */ "placeholder": string; /** * Position du datepicker * @default 'bl' */ "position": 'tr' | 'tl' | 'br' | 'bl'; /** * Si vrai, permet de définir un range de dates * @default false */ "range": boolean; /** * Permet de définir un id pour le range de date (corrélation entre les 2 inputs) */ "rangeId"?: string; /** * Indique si le champ est requis * @default false */ "required": boolean; /** * Méthode pour réinitialiser les contraintes min/max du datepicker */ "resetConstraints": () => Promise; /** * Méthode pour réinitialiser le datepicker */ "resetInput": () => Promise; /** * Méthode pour définir la date */ "setDate": (date: Date | string) => Promise; /** * Affiche une icône d'erreur si vrai * @default true */ "showErrorIcon"?: boolean; /** * Affiche une icône d'indication si vrai * @default true */ "showHintIcon"?: boolean; /** * Affiche une icône de succès si vrai * @default true */ "showSuccessIcon"?: boolean; /** * Affiche une icône de warning si vrai * @default true */ "showWarningIcon"?: boolean; /** * Message de succès à afficher sous le champ * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Méthode pour mettre à jour les contraintes min/max du datepicker */ "updateConstraints": (minDate?: Date, maxDate?: Date) => Promise; /** * Valeur de la date sélectionnée */ "value": string; /** * Message de warning à afficher sous le champ * @default '' */ "warning"?: string; } interface SpwDropdown { /** * Alignement du dropdown par rapport au trigger (start/end = haut-gauche pour top/bottom, haut-bas pour left/right) * @default 'center' */ "alignment": 'start' | 'center' | 'end'; "close": () => Promise; /** * Largeur du dropdown (px) * @default 300 */ "contentWidth": number; /** * Position du dropdown * @default 'bottom' */ "direction": 'top' | 'bottom' | 'left' | 'right'; /** * Active un padding interne * @default true */ "hasPadding": boolean; /** * Hauteur max du dropdown (px) * @default 'auto' */ "maxHeight": string; /** * Contrôle externe du dropdown * @default false */ "open": boolean; } interface SpwDropdownContainer { } interface SpwDropdownItem { /** * Si true, l'item est désactivé * @default false */ "disabled": boolean; /** * Lien href pour l'item */ "href"?: string; /** * Icône optionnelle à afficher */ "icon"?: string; /** * Variante d'icône font-awesome * @default 'fa-regular' */ "iconVariant": 'fa-solid' | 'fa-brands' | 'fa-regular'; } interface SpwFieldLabel { /** * Texte à afficher au-dessus du champ de saisie * @default '' */ "label"?: string; /** * L'attribut id de l'élément input */ "name": string; /** * Indique si le champ est requis * @default false */ "required"?: boolean; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; } interface SpwFieldMessage { /** * Permet d'afficher ou pas une icône dans le message * @default true */ "showIcon"?: boolean; /** * Choix du variant du message */ "variant"?: 'error' | 'hint' | 'warning' | 'success'; } interface SpwFileUpload { /** * Types de fichiers acceptés, spécifiés sous forme de chaîne de types MIME ou extensions (whitelist) * @default '' */ "accept": string; /** * Indique si le champ est désactivé, rendant le téléversement de fichiers non disponible * @default false */ "disabled": boolean; /** * Active ou désactive la zone de dépôt pour le glisser-déposer de fichiers * @default false */ "enableDropZone": boolean; /** * Indique s'il y a une erreur visuelle associée au composant de téléversement de fichiers * @default false */ "error": boolean; /** * Taille maximale autorisée pour chaque fichier, en Mo * @default 100 */ "maxFileSize": number; /** * Unité de mesure pour maxFileSize ('mo' ou 'go') * @default 'mo' */ "maxFileSizeUnit": 'mo' | 'go'; /** * Nombre maximal de fichiers pouvant être téléversés * @default Infinity */ "maxFiles": number; /** * Permet de téléverser plusieurs fichiers si vrai * @default false */ "multiple": boolean; /** * Nom de l'élément utilisé dans les formulaires pour associer la valeur des fichiers */ "name": string; /** * Types de fichiers refusés, spécifiés sous forme de chaîne de types MIME ou extensions (blacklist) * @default '' */ "refuse": string; /** * Réinitialise le champ de téléchargement de fichiers */ "resetInput": () => Promise; /** * Texte pour les formats autorisés (utiliser {formats} comme placeholder) * @default 'Formats autorisés : {formats}.' */ "textAcceptedFormats": string; /** * Texte quand tous les formats sont autorisés * @default 'Formats autorisés : tous les formats.' */ "textAllFormats": string; /** * Texte du bouton pour sélectionner un fichier (mode simple) * @default 'Choisir votre fichier...' */ "textChooseFile": string; /** * Texte du bouton pour sélectionner plusieurs fichiers (mode multiple) * @default 'Choisir vos fichiers...' */ "textChooseFiles": string; /** * Texte du lien pour choisir depuis l'ordinateur * @default 'choisissez sur votre ordinateur...' */ "textChooseFromComputer": string; /** * Texte du lien de suppression * @default 'Supprimer' */ "textDelete": string; /** * Texte de la zone de dépôt pour un fichier * @default 'Déposez votre fichier ici ou' */ "textDropFile": string; /** * Texte de la zone de dépôt pour plusieurs fichiers * @default 'Déposez vos fichiers ici ou' */ "textDropFiles": string; /** * Message d'erreur quand le format n'est pas autorisé (utiliser {filename} comme placeholder) * @default "{filename} n'a pas été pris en compte car le format n'est pas autorisé." */ "textErrorFormat": string; /** * Message d'erreur quand le format et la taille sont invalides (utiliser {filename} comme placeholder) * @default "{filename} n'a pas été pris en compte car le format n'est pas autorisé et la limite de poids est dépassée." */ "textErrorFormatAndSize": string; /** * Message d'erreur quand la taille est dépassée (utiliser {filename} comme placeholder) * @default "{filename} n'a pas été pris en compte car il dépasse la taille maximale autorisée." */ "textErrorSize": string; /** * Message quand on dépasse la limite de fichiers (utiliser {count} comme placeholder) * @default 'Vous ne pouvez pas télécharger plus de {count} fichier(s).' */ "textLimitExceeded": string; /** * Message quand la limite de fichiers est atteinte * @default 'Vous avez atteint la limite autorisée de fichiers.' */ "textLimitReached": string; /** * Texte pour la taille maximale par fichier (utiliser {size} et {unit} comme placeholders) * @default 'Taille maximale par fichier : {size} {unit}' */ "textMaxFileSize": string; /** * Texte pour le nombre maximum de fichiers (utiliser {count} comme placeholder) * @default '{count} fichier(s) maximum' */ "textMaxFiles": string; /** * Texte pour les formats refusés (utiliser {formats} comme placeholder) * @default 'Formats refusés : {formats}.' */ "textRefusedFormats": string; /** * Valeur actuelle sélectionnée, utilisée pour les formulaires * @default [] */ "value": File[]; } interface SpwFooter { /** * Nombre de colonnes à afficher en vue desktop * @default 4 */ "colsDesktop": number; /** * Nombre de colonnes à afficher en vue mobile * @default 1 */ "colsMobile": number; /** * Nombre de colonnes à afficher en vue tablette * @default 2 */ "colsTablet": number; } interface SpwFooterBottom { /** * Présence ou non du logo Wallonie en haut à gauche * @default true */ "hasWallonieLogo"?: boolean; /** * Titre du site affiché dans le subfooter * @default 'Le site officiel de la Wallonie' */ "siteTitle"?: string; } interface SpwFooterContent { } interface SpwFooterContentCol { /** * Titre de la colonne */ "colTitle"?: string; } interface SpwFooterLink { /** * Définit le chemin du lien */ "href": string; /** * Définit le titre du lien */ "linkTitle"?: string; /** * Définit le target du lien * @default '_self' */ "target"?: string; } interface SpwGrid { /** * Nombre de colonnes à afficher en vue desktop * @default 3 */ "colsDesktop": number; /** * Nombre de colonnes à afficher en vue mobile * @default 1 */ "colsMobile": number; /** * Nombre de colonnes à afficher en vue tablette * @default 2 */ "colsTablet": number; /** * Espacement entre les éléments de grille * @default 'medium' */ "gap"?: 'none' | 'small' | 'medium' | 'large'; } interface SpwGridItem { /** * Nombre de colonnes occupées par l'item en vue desktop */ "colSpanDesktop"?: number; /** * Nombre de colonnes occupées par l'item en vue mobile */ "colSpanMobile"?: number; /** * Nombre de colonnes occupées par l'item en vue tablette */ "colSpanTablet"?: number; /** * Nombre de lignes occupées par l'item en vue desktop */ "rowSpanDesktop"?: number; /** * Nombre de lignes occupées par l'item en vue mobile */ "rowSpanMobile"?: number; /** * Nombre de lignes occupées par l'item en vue tablette */ "rowSpanTablet"?: number; } interface SpwGroup { /** * Alignement horizontal du groupe * @default 'left' */ "alignment": 'left' | 'center' | 'right'; /** * Texte d'assistance à afficher sous le label (pour les types checkboxes et radios) */ "assistiveText"?: string; /** * Détermine si le groupe est désactivé * @default false */ "disabled": boolean; /** * Message d'erreur à afficher sous le groupe (pour les types checkboxes et radios) * @default '' */ "error"?: string; /** * Comportement du flex-wrap sur le container * @default 'nowrap' */ "flexWrap": string; /** * Message d'indication (hint) à afficher sous le groupe (pour les types checkboxes et radios) * @default '' */ "hint"?: string; /** * Si vrai, le groupe prend toute la largeur * @default false */ "isFullWidth"?: boolean; /** * Si `true`, l'ordre des boutons est inversé en mobile (uniquement valable en cas d'alignement left) * @default false */ "isReversed"?: boolean; /** * Texte à afficher au-dessus de l'élément de formulaire * @default '' */ "label": string; /** * Attribut `name` de l'élément input */ "name": string; /** * Orientation du groupe (horizontal ou vertical) * @default 'horizontal' */ "orientation": 'horizontal' | 'vertical'; /** * Si `true`, le label comporte une astérisque */ "required"?: boolean; /** * Message de succès à afficher sous le groupe (pour les types checkboxes et radios) * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Type d'éléments contenus dans le groupe (buttons, checkboxes, radios, links) * @default 'buttons' */ "type": 'buttons' | 'checkboxes' | 'radios' | 'links'; /** * Message de warning à afficher sous le groupe (pour les types checkboxes et radios) * @default '' */ "warning"?: string; } interface SpwHeader { /** * Code hexadécimal de la bordure sous le nom du site * @default '' */ "borderColor"?: string; /** * Méthode publique pour fermer le menu mobile. Utile pour fermer le menu lors d'une navigation (ex: clic sur routerLink Angular) */ "closeMenu": () => Promise; /** * Activer l'émission d'événement au clic du logo au lieu de la navigation classique * @default false */ "emitLogoClick"?: boolean; /** * Affiche ou masque le bouton hamburger de navigation * @default true */ "hasHamburger"?: boolean; /** * Présence ou non du bouton qui mène à Ma Wallonie * @default true */ "hasMaWallonie"?: boolean; /** * Présence ou non de la partie liée à la recherche (avec overlay) * @default true */ "hasSearch"?: boolean; /** * Présence ou non du bouton qui mène à Wallonie.be * @default true */ "hasWallonieBe"?: boolean; /** * Présence ou non du logo Wallonie en haut à gauche * @default true */ "hasWallonieLogo"?: boolean; /** * Lien qui renvoie vers la homepage * @default '/' */ "homepageLink"?: string; /** * Label du bouton qui mène à Ma Wallonie * @default 'Mon Espace' */ "maWallonieLabel"?: string; /** * Lien du bouton qui mène à Ma Wallonie * @default 'https://monespace.wallonie.be/' */ "maWallonieLink"?: string; /** * Label pour la fermeture du menu * @default 'Fermer' */ "menuCloseLabel"?: string; /** * Label pour l'ouverture du menu * @default 'Menu' */ "menuOpenLabel"?: string; /** * Label pour la fermeture de la recherche * @default 'Fermer' */ "searchCloseLabel"?: string; /** * Si recherche directe, lien qui renvoie vers la page */ "searchDirectHref"?: string; /** * Si recherche directe, target du lien qui renvoie vers la page * @default '_self' */ "searchDirectTarget"?: string; /** * Label pour l'ouverture de la recherche * @default 'Chercher' */ "searchOpenLabel"?: string; /** * Type de recherche (recherche intégrée dans l'overlay ou bien bouton d'action vers une page recherche) * @default 'overlay' */ "searchType"?: 'direct' | 'overlay'; /** * Titre du site * @default 'Wallonie' */ "siteTitle"?: string; /** * Label du bouton qui mène à Ma Wallonie * @default 'Aller sur Wallonie.be' */ "wallonieBeLabel"?: string; /** * Lien du bouton qui mène à Ma Wallonie * @default 'https://wallonie.be/' */ "wallonieBeLink"?: string; } interface SpwHeaderLang { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; } interface SpwHeaderNavigation { /** * Alignement des éléments de navigation sur desktop * @default 'flex-start' */ "alignment": 'flex-start' | 'space-between'; /** * Activer l'émission d'événement au clic de l'extra button au lieu de la navigation classique * @default false */ "emitExtraButtonClick"?: boolean; /** * Présence ou non d'un bouton à droite de la navigation * @default false */ "extraButton"?: boolean; /** * Spécifie le lien de l'extra button */ "extraButtonHref"?: string; /** * Icône de l'extra button (référence font-awesome) */ "extraButtonIcon"?: string; /** * Position de l'icône de l'extra button * @default 'left' */ "extraButtonIconPosition"?: 'left' | 'right'; /** * Attribut target de l'extra button * @default '_self' */ "extraButtonTarget"?: string; /** * Texte de l'extra button */ "extraButtonText"?: string; /** * Variant de l'extra button * @default 'primary' */ "extraButtonVariant"?: 'primary' | 'secondary'; /** * Texte du lien "Page d'accueil" dans la navigation mobile * @default "Page d'accueil" */ "homepageLabel"?: string; } interface SpwHeaderNavigationDropdown { /** * Texte du bouton "Voir plus" (uniquement en mode megamenu) * @default 'Voir plus' */ "viewMoreText"?: string; } interface SpwHeaderNavigationItem { /** * Définit si l'élément de menu est la page courante * @default false */ "isActive": boolean; /** * Variante du menu (default ou megamenu) * @default 'default' */ "variant"?: 'default' | 'megamenu'; } interface SpwHeaderPersona { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Label pour le choix du persona (à appliquer sur spw-header-persona) * @default 'Je suis :' */ "personaLabel"?: string; } interface SpwHeaderPersonaItem { /** * @default false */ "active": boolean; } interface SpwHero { /** * Aria label pour le bouton play * @default 'Lire la vidéo' */ "accPlayButtonAriaLabel"?: string; /** * Permet de choisir l'alignement du contenu * @default 'left' */ "alignment"?: 'left' | 'center' | 'right'; /** * Lien du copyright */ "copyrightHref"?: string; /** * Icône Font Awesome du copyright * @default 'fa-copyright' */ "copyrightIcon"?: string; /** * Permet de spécifier une variante de Font Awesome pour l'icône de copyright * @default 'fa-light' */ "copyrightIconVariant": 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; /** * Target du lien du copyright * @default '_blank' */ "copyrightTarget"?: string; /** * Texte du copyright à afficher sur l'image */ "copyrightText"?: string; /** * Ratio d'aspect de l'image du variant featured pour tous les breakpoints (ex: "16/9", "3/1"). Sans valeur, l'image s'affiche en taille naturelle. */ "featuredRatio"?: string; /** * Ratio d'aspect de l'image du variant featured en vue desktop */ "featuredRatioDesktop"?: string; /** * Ratio d'aspect de l'image du variant featured en vue mobile */ "featuredRatioMobile"?: string; /** * Ratio d'aspect de l'image du variant featured en vue tablette */ "featuredRatioTablet"?: string; /** * Permet de définir l'image de gauche/droite (en fonction de l'alignement choisi) sans padding * @default false */ "hasPictureFull"?: boolean; /** * Permet d'appliquer un border-radius sur le hero * @default true */ "hasRadius"?: boolean; /** * Permet d'appliquer un box-shadow sur le hero * @default false */ "hasShadow"?: boolean; /** * Permet de définir un bouton play sur l'image de hero (sauf variants maxi & photo) * @default false */ "hasVideo"?: boolean; /** * Texte alternatif de l'image du hero banner * @default '' */ "imageAlt"?: string; /** * Position de l'image (object-position), ex: 'top left', 'center center', 'bottom right' */ "imagePosition"?: string; /** * Image du hero banner */ "imageSrc"?: string; /** * Permet de définir un id de modal à ouvrir au clic sur le bouton play */ "modalVideoId"?: string; /** * Permet de spécifier la couleur de l'overlay * @default '' */ "overlayColor"?: string; /** * Permet de spécifier l'opacité de l'overlay (0 à 100) * @default 0 */ "overlayOpacity"?: number; /** * Permet de choisir la surface d'arrière-plan du hero * @default 'light' */ "surface"?: 'dark' | 'light'; /** * Largeur maximale du tooltip de copyright * @default '300' */ "tooltipCopyrightMaxWidth"?: string; /** * Texte du tooltip de copyright */ "tooltipCopyrightText"?: string; /** * Titre du tooltip de copyright */ "tooltipCopyrightTitle"?: string; /** * Permet de choisir le variant du hero * @default 'grey' */ "variant"?: 'grey' | 'white' | 'maxi' | 'photo' | 'mini' | 'featured'; } interface SpwIcon { /** * Permet de spécifier une référence d'icône Font Awesome */ "icon": string; /** * Permet de spécifier une variante de Font Awesome * @default 'fa-solid' */ "variant": 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; } interface SpwIllustration { /** * Texte alternatif pour l'accessibilité * @default 'Illustration' */ "alt"?: string; /** * Hauteur de l'illustration (ex: "200px", "auto") * @default 'auto' */ "height"?: string; /** * Variante de l'illustration à afficher */ "variant": IllustrationType; /** * Largeur de l'illustration (ex: "200px", "100%") * @default '100%' */ "width"?: string; } interface SpwInputSlider { /** * Aria label pour l'accessibilité */ "accAriaLabel"?: string; /** * Texte d'assistance affiché sous le label */ "assistiveText"?: string; /** * Désactive le slider * @default false */ "disabled": boolean; /** * Message d'erreur * @default '' */ "error"?: string; /** * Méthode publique pour obtenir la valeur */ "getValue": () => Promise; /** * Affiche un tooltip avec la valeur au-dessus de la poignée * @default true */ "hasTooltip": boolean; /** * Message d'information * @default '' */ "hint"?: string; /** * Label du champ * @default '' */ "label": string; /** * Valeur maximale du slider * @default 100 */ "max": number; /** * Valeur minimale du slider * @default 0 */ "min": number; /** * Nom du champ pour les formulaires * @default '' */ "name": string; /** * Orientation du slider * @default 'horizontal' */ "orientation": 'horizontal' | 'vertical'; /** * Active le mode range (deux poignées) * @default false */ "range": boolean; /** * Champ requis * @default false */ "required"?: boolean; /** * Méthode publique pour définir la valeur */ "setValue": (newValue: number | [number, number]) => Promise; /** * Afficher l'icône d'erreur * @default true */ "showErrorIcon"?: boolean; /** * Afficher l'icône d'information * @default true */ "showHintIcon"?: boolean; /** * Afficher l'icône de succès * @default true */ "showSuccessIcon"?: boolean; /** * Afficher l'icône d'avertissement * @default true */ "showWarningIcon"?: boolean; /** * Pas d'incrémentation * @default 1 */ "step": number; /** * Message de succès * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Valeur actuelle (simple) ou valeurs [min, max] (range) */ "value"?: number | [number, number]; /** * Message d'avertissement * @default '' */ "warning"?: string; } interface SpwLightbox { "close": () => Promise; /** * Texte du bouton de fermeture * @default 'Fermer' */ "closeButtonText": string; /** * Indique si la fermeture est possible en cliquant sur le backdrop * @default true */ "closeOnBackdropClick": boolean; /** * Identifiant de la galerie (partagé avec spw-lightbox-item pour grouper les items) */ "gallery": string; "open": (index?: number) => Promise; /** * Affiche ou masque la galerie de miniatures sous l'image principale * @default true */ "showThumbnails": boolean; /** * Label aria de la dialog * @default "Galerie d'images" */ "textDialogLabel": string; /** * Label aria du bouton image suivante * @default 'Image suivante' */ "textNext": string; /** * Label aria du bouton image précédente * @default 'Image précédente' */ "textPrevious": string; /** * Label aria d'une miniature (utiliser {index} comme placeholder) * @default 'Image {index}' */ "textThumbnailItem": string; /** * Label aria de la liste de miniatures * @default 'Miniatures' */ "textThumbnailsLabel": string; } interface SpwLightboxItem { /** * Texte alternatif de l'image * @default '' */ "alt": string; /** * Texte de la légende affichée en superposition de l'image */ "captionText"?: string; /** * Titre de la légende affichée en superposition de l'image */ "captionTitle"?: string; /** * Lien du copyright */ "copyrightHref"?: string; /** * Icône Font Awesome du copyright * @default 'fa-copyright' */ "copyrightIcon"?: string; /** * Permet de spécifier une variante de Font Awesome pour l'icône de copyright * @default 'fa-light' */ "copyrightIconVariant": 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; /** * Target du lien du copyright * @default '_blank' */ "copyrightTarget"?: string; /** * Texte du copyright à afficher sur l'image */ "copyrightText"?: string; /** * Icône affichée au survol de l'image (référence Font Awesome) * @default 'fa-magnifying-glass' */ "hoverIcon"?: string; /** * Affiche une icône de loupe en superposition au survol * @default true */ "isHover"?: boolean; /** * URL de l'image à afficher dans la lightbox */ "src": string; /** * Texte du label aria du bouton déclencheur * @default "Ouvrir l'image" */ "textOpenImage": string; } interface SpwLink { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Si désactivé, le lien n'est pas cliquable * @default false */ "disabled"?: boolean; /** * Permet de télécharger un fichier au lieu de naviguer vers le lien */ "download"?: string; /** * Spécifie le lien href */ "href": string; /** * Si rempli, permet d'utiliser une référence d'icône font-awesome */ "icon"?: string; /** * Position de l'icône à l'intérieur du lien (gauche ou droite) * @default 'right' */ "iconPosition"?: 'left' | 'right'; /** * Remplit l'attribut rel */ "rel"?: string; /** * Permet de choisir la surface d'arrière-plan du lien * @default 'light' */ "surface"?: 'light' | 'dark'; /** * Attribut target (détermine où ouvrir le lien) * @default '_self' */ "target"?: string; } interface SpwList { /** * Spécifie l'écart entre les éléments de liste * @default 'medium' */ "gap"?: 'small' | 'medium' | 'large'; /** * Permet de choisir la surface d'arrière-plan de la liste * @default 'light' */ "surface"?: 'light' | 'dark'; } interface SpwListDescription { /** * Spécifie un nombre de ligne maximum à afficher */ "lineClamp"?: string; } interface SpwListItem { /** * Permet de spécifier une catégorie pour l'élément de liste */ "category"?: string; /** * Permet de spécifier une icône pour la catégorie * @default 'fa-file-signature' */ "categoryIcon"?: string; /** * Permet de spécifier un lien pour la catégorie */ "categoryLink"?: string; /** * Spécifie le lien si nécessaire */ "href"?: string; /** * Spécifie une icône à côté du titre * @default 'fa-arrow-right' */ "icon"?: string; /** * Permet de limiter le nombre de lignes du titre et de la description * @default '3' */ "lineClamp": string | 'none'; /** * Permet de choisir la surface d'arrière-plan de la liste * @default 'light' */ "surface"?: 'light' | 'dark'; /** * Attribut target, s'applique uniquement si href est rempli * @default '_self' */ "target": string; /** * Type de variante d'élément de liste * @default 'default' */ "variant"?: 'shortcut' | 'default'; } interface SpwListTitle { /** * Spécifie une icône à côté du titre */ "icon"?: string; /** * Spécifie un nombre de ligne maximum à afficher */ "lineClamp"?: string; } interface SpwLoading { /** * Orientation du composant (horizontal ou vertical) * @default 'horizontal' */ "orientation": 'horizontal' | 'vertical'; /** * Taille du composant * @default 'medium' */ "size": 'small' | 'medium' | 'large' | 'extra-large'; /** * Surface du composant (light ou dark) * @default 'light' */ "surface": 'light' | 'dark'; /** * Permet de spécifier un texte de chargement * @default 'Chargement...' */ "text"?: string; } interface SpwMessage { /** * Texte du bouton pour masquer la notification * @default 'Masquer' */ "dismissableText": string; /** * Masque le message */ "hideMessage": () => Promise; /** * Icône personnalisée (si non définie, utilise l'icône par défaut de la variante) */ "icon"?: string; /** * Si la notification est masquable * @default true */ "isDismissable": boolean; /** * Identifiant unique pour le message */ "messageId": string; /** * Titre de la notification * @default 'Notification' */ "messageTitle": string; /** * Affiche le message */ "showMessage": () => Promise; /** * Taille du message * @default 'default' */ "size": 'default' | 'compact'; /** * Le type de variante * @default 'default' */ "variant": 'default' | 'success' | 'info' | 'alert' | 'warning'; } interface SpwModal { /** * Icône d'alerte à afficher dans la modal (référence font awesome) * @default '' */ "alertIcon": string; /** * Titre de la modal * @default 'Titre de la modal' */ "caption": string; /** * Texte du bouton de fermeture * @default 'Fermer' */ "closeButtonText": string; /** * Méthode publique pour fermer la modal programmatiquement * @returns Promise qui se résout quand la modal est fermée */ "closeModal": () => Promise; /** * Indique si la fermeture de la modal est possible en cliquant sur l'overlay * @default true */ "closeOnOverlayClick": boolean; /** * Méthode publique pour ouvrir la modal programmatiquement * @returns Promise qui se résout quand la modal est ouverte */ "openModal": () => Promise; /** * Indique si la modal est ouverte ou fermée, mutable et reflétée dans le DOM * @default false */ "opened"?: boolean; /** * Indique si le bouton de fermeture est visible * @default true */ "showCloseButton": boolean; /** * Définit la taille de la modal : 'small', 'medium', 'large' ou 'fluid' * @default 'small' */ "size": 'small' | 'medium' | 'large' | 'fluid'; /** * Rend les boutons en bas de la modal "collants" (toujours visibles) si vrai * @default false */ "stickyButtons": boolean; } interface SpwMosaic { /** * Nombre de colonnes à afficher en vue desktop * @default 3 */ "colsDesktop": number; /** * Nombre de colonnes à afficher en vue mobile * @default 1 */ "colsMobile": number; /** * Nombre de colonnes à afficher en vue tablette * @default 2 */ "colsTablet": number; "initializeMasonry": () => Promise; /** * Active le mode "masonry" pour une mise en page en grille ajustable * @default false */ "isMasonry"?: boolean; /** * Liste des éléments à afficher dans la mosaïque */ "items"?: any; "waitForImages": () => Promise; } interface SpwMosaicItem { /** * Nombre de colonnes que l'item doit occuper en vue desktop (override la valeur héritée du parent) */ "colSpanDesktop"?: number; /** * Nombre de colonnes que l'item doit occuper en vue mobile (override la valeur héritée du parent) */ "colSpanMobile"?: number; /** * Nombre de colonnes que l'item doit occuper en vue tablette (override la valeur héritée du parent) */ "colSpanTablet"?: number; } interface SpwPagination { /** * Page actuellement sélectionnée, mutable * @default 1 */ "currentPage": number; /** * Indique si la pagination est désactivée * @default false */ "isDisabled": boolean; /** * Mode de pagination : true = changement interne de page, false = émission d'événement uniquement * @default true */ "isDynamic": boolean; /** * Nombre d'éléments à afficher par page */ "itemsPerPage": number; /** * Texte pour le bouton "suivant" * @default 'Suivant' */ "nextButtonText": string; /** * Texte pour le bouton "précédent" * @default 'Précédent' */ "previousButtonText": string; /** * Méthode publique pour définir la page courante */ "setPage": (page: number) => Promise; /** * Nombre total d'éléments à paginer */ "totalItems": number; /** * Type de variante de la pagination : 'numbers' ou 'input' * @default 'numbers' */ "variant": 'numbers' | 'input'; } interface SpwRadio { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Indique si le bouton radio est sélectionné (coché), mutable et reflété dans le DOM * @default false */ "checked": boolean; /** * Indique si le bouton radio est désactivé * @default false */ "disabled": boolean; /** * Indique s'il y a une erreur visuelle associée au bouton radio * @default false */ "error": boolean; /** * Nom du bouton radio, utilisé pour le grouper avec d'autres boutons radio dans un formulaire */ "name": string; /** * Méthode pour changer l'état de la case à cocher. */ "setChecked": (checked: boolean) => Promise; /** * Valeur associée au bouton radio */ "value": string; } interface SpwScrolltop { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité * @default 'Retour en haut de page' */ "accAriaLabel"?: string; /** * Si true, masque le bouton en mobile * @default false */ "hideOnMobile"?: boolean; /** * Seuil de scroll en px avant d'afficher le bouton * @default 300 */ "threshold"?: number; /** * Si true, utilise window comme contexte de scroll (sinon détecte le parent scrollable) * @default true */ "useWindow"?: boolean; } interface SpwSearchField { /** * Texte d'assistance affiché sous le label */ "assistiveText"?: string; /** * Indique si le champ de recherche est désactivé */ "disabled"?: boolean; /** * Récupère la valeur actuelle du champ de recherche */ "getValue": () => Promise; /** * Affiche un bouton submit (loupe) qui déclenche le submit du formulaire parent * @default false */ "hasSubmitButton"?: boolean; /** * Indique si le champ est en cours de chargement * @default false */ "isLoading"?: boolean; /** * Indique si le champ de recherche est arrondi ou pas (communément utilisé dans un hero banner) */ "isRounded"?: boolean; /** * Liste des éléments à filtrer */ "items"?: SearchItem[] | string; /** * Label associé au champ de recherche * @default '' */ "label"?: string; /** * Texte à afficher pendant le chargement * @default 'Recherche en cours...' */ "loadingText"?: string; /** * Nombre minimum de caractères requis pour déclencher la recherche * @default 3 */ "minCharacters"?: number; /** * Nom du champ de recherche, utilisé pour les formulaires */ "name": string; /** * Texte à afficher si pas de résultats * @default 'Pas de résultats.' */ "noResults"?: string; /** * Placeholder à afficher dans le champ de recherche * @default 'Recherche...' */ "placeholder": string; /** * Indique si le champ est requis * @default false */ "required"?: boolean; /** * Réinitialise le champ de recherche */ "resetInput": () => Promise; /** * Définit la valeur du champ de recherche */ "setValue": (newValue: string) => Promise; /** * Indique si le dropdown de résultats doit être affiché * @default true */ "showDropdown"?: boolean; /** * Taille du champ de recherche * @default 'medium' */ "size"?: 'large' | 'medium'; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Valeur actuelle du champ de recherche * @default '' */ "value"?: string; /** * Texte du lien pour voir tous les résultats * @default 'Voir plus de résultats' */ "viewAllResults"?: string; /** * URL vers laquelle renvoie le lien "voir tous les résultats" */ "viewAllResultsLink"?: string; /** * Soumet le formulaire parent au clic sur le lien "voir tous les résultats" * @default false */ "viewAllResultsSubmit"?: boolean; } interface SpwSelect { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Texte d'assistance affiché sous le label */ "assistiveText"?: string; /** * Indique si le champ de sélection est désactivé */ "disabled": boolean; /** * Message d'erreur à afficher sous le champ de sélection * @default '' */ "error"?: string; /** * Récupère la valeur actuelle du champ de sélection */ "getValue": () => Promise; /** * Message d'indication (hint) à afficher sous le champ de sélection * @default '' */ "hint"?: string; /** * Indique si le champ peut être effacé avec un bouton * @default false */ "isClear"?: boolean; /** * Propriété à utiliser comme label des options */ "itemLabel"?: string; /** * Propriété à utiliser comme valeur des options */ "itemValue"?: string; /** * Liste d'items dynamiques pour générer les options (array d'objects avec label + value) */ "items"?: SelectItem1[]; /** * Label associé au champ de sélection * @default '' */ "label": string; /** * Nom de l'élément utilisé dans les formulaires pour associer la valeur sélectionnée */ "name": string; /** * Texte du placeholder à afficher lorsque rien n'est sélectionné * @default 'Sélectionner une option' */ "placeholder": string; /** * Indique si la sélection est obligatoire dans le formulaire * @default false */ "required": boolean; /** * Réinitialise le champ de sélection */ "resetSelect": () => Promise; /** * Définit la valeur du champ de sélection */ "setValue": (val: string | number) => Promise; /** * Affiche une icône d'erreur si vrai * @default true */ "showErrorIcon"?: boolean; /** * Affiche une icône d'indication si vrai * @default true */ "showHintIcon"?: boolean; /** * Affiche une icône de succès si vrai * @default true */ "showSuccessIcon"?: boolean; /** * Affiche une icône de warning si vrai * @default true */ "showWarningIcon"?: boolean; /** * Taille du champ de sélection : 'large' ou 'medium' * @default 'medium' */ "size": 'large' | 'medium'; /** * Message de succès à afficher sous le champ de sélection * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Valeur sélectionnée actuelle, mutable et reflétée dans le DOM */ "value": string | number; /** * Message de warning à afficher sous le champ * @default '' */ "warning"?: string; } interface SpwSeparator { /** * Permet de définir la direction du séparateur * @default 'horizontal' */ "direction": 'vertical' | 'horizontal'; /** * Hauteur du séparateur (par défaut 100% si non spécifié) * @default '100%' */ "height": string; /** * Permet de choisir la surface du séparateur (clair ou sombre) * @default 'dark' */ "surface": 'dark' | 'light'; /** * Définit l'épaisseur du séparateur * @default 1 */ "thickness": 1 | 2; /** * Largeur du séparateur (par défaut 100% si non spécifié) * @default '100%' */ "width": string; } interface SpwSidebar { /** * Ferme la sidebar */ "close": () => Promise; /** * Si true, la sidebar est dépliée par défaut * @default false */ "defaultExpanded": boolean; /** * Ouvre la sidebar */ "open": () => Promise; /** * Ouvre ou ferme la sidebar */ "toggle": () => Promise; } interface SpwSidebarNavigationDropdown { /** * A appliquer sur spw-sidebar-navigation-dropdown, si true alors le dropdown est ouvert * @default false */ "open": boolean; } interface SpwSidebarNavigationItem { /** * A appliquer sur spw-sidebar-navigation-item, permet de mettre en évidence un état actif * @default false */ "active": boolean; /** * A appliquer sur spw-sidebar-navigation-item, permet d'afficher une bulle de notification avec un nombre */ "bubble"?: string; /** * A appliquer sur spw-sidebar-navigation-item, permet de définir si l'élément est disabled ou non * @default false */ "disabled": boolean; /** * A appliquer sur spw-sidebar-navigation-item, permet de définir un href sur l'élément */ "href"?: string; /** * A appliquer sur spw-sidebar-navigation-item, permet de définir une référence font-awesome sur l'élément */ "icon"?: string; /** * A appliquer sur spw-sidebar-navigation-item, permet de choisir la variante d'icônes font-awesome * @default 'fa-regular' */ "iconVariant": 'fa-solid' | 'fa-brands' | 'fa-regular'; /** * A appliquer sur spw-sidebar-navigation-item, si true, le clic sur l'item entier ouvre le dropdown (utile quand il n'y a pas de page physique) * @default false */ "openOnClick": boolean; /** * A appliquer sur spw-sidebar-navigation-item, permet de définir un tooltip au hover */ "tooltipTitle"?: string; } interface SpwSidebarNavigationSeparator { } interface SpwSkeleton { /** * Nombre de répétitions du skeleton (uniquement valable pour la variante lines) * @default 1 */ "blocks": number; /** * Type de skeleton à afficher * @default 'lines' */ "variant": 'lines' | 'text' | 'article' | 'layout'; } interface SpwSlider { /** * Texte aria-label du slider * @default 'Slider de contenu' */ "accAriaLabel": string; /** * Position des flèches gauche/droite * @default 'inside' */ "arrowsPosition": 'outside' | 'inside'; /** * Active le défilement automatique par défaut * @default false */ "autoplayEnabled": boolean; /** * Intervalle de défilement automatique en millisecondes * @default 5000 */ "autoplayInterval": number; /** * Label du toggle de défilement automatique * @default 'Défilement automatique' */ "autoplayText": string; /** * Position des dots de navigation * @default 'inside' */ "dotsPosition": 'inside' | 'outside'; /** * Fixe la hauteur du slider à la hauteur de la slide la plus haute * @default false */ "hasFixedHeight": boolean; /** * Texte aria-label pour la slide suivante * @default 'Slide suivante' */ "nextSlideText": string; /** * Texte aria-label pour la slide précédente * @default 'Slide précédente' */ "previousSlideText": string; /** * Affiche les flèches de navigation * @default true */ "showArrows": boolean; /** * Affiche le toggle de défilement automatique * @default false */ "showAutoplayToggle": boolean; /** * Affiche les dots de navigation * @default true */ "showDots": boolean; } interface SpwSliderItem { } interface SpwSocials { /** * Définit le titre du bloc * @default 'Restez connecté' */ "mainTitle": string; } interface SpwTable { /** * Propriété pour l'aria-label, à des fins d'accessibilité */ "accAriaLabel"?: string; /** * État du tri actuel (colonne et direction). Peut être défini de l'extérieur pour un tri personnalisé */ "currentSort"?: SortEvent; /** * Désactive le tri natif pour permettre l'utilisation d'une fonction de tri personnalisée * @default false */ "disableSort"?: boolean; /** * Si le header du tableau doit être sticky ou non * @default false */ "isSticky"?: boolean; /** * Définit un background de couleur différent une ligne sur 2 * @default false */ "isZebra"?: boolean; /** * Si défini, apparition d'une scrollbar verticale et max-height */ "maxHeight"?: string; /** * Hauteur minimale autorisée lors du redimensionnement (en pixels) * @default 200 */ "minHeight"?: number; /** * Si défini, apparition d'une scrollbar horizontale et max-width * @default '600' */ "minWidth"?: string; /** * Active le redimensionnement manuel de la hauteur du tableau avec un handle * @default false */ "resizable"?: boolean; /** * Permet de définir le table-layout (auto ou fixed) * @default 'auto' */ "tableLayout"?: 'auto' | 'fixed'; } interface SpwTableBody { /** * Si `true`, applique un style zébré aux lignes du tableau (à appliquer sur spw-table-body) * @default false */ "isZebra"?: boolean; "updateZebraStyles": () => Promise; } interface SpwTableCell { /** * Définit un colspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */ "colspan"?: HTMLTableCellElement['colSpan']; /** * Définit un header relationnel pour la cellule, à des fins d'accessibilité (à appliquer sur spw-table-cell ou spw-table-header) */ "headers"?: HTMLTableCellElement['headers']; /** * Définit un style visuel qui met en avant la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default false */ "isHighlighted"?: boolean; /** * Définit le padding pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default 'medium' */ "padding"?: 'small' | 'medium'; /** * Définit un rowspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */ "rowspan"?: HTMLTableCellElement['rowSpan']; /** * Permet de changer le state du spw-table-cell * @default 'default' */ "state"?: 'default' | 'selected' | 'disabled'; /** * Rend la cellule sticky lors du défilement (à appliquer sur spw-table-header ou spw-table-cell) * @default false */ "sticky"?: boolean; /** * Décalage en pixels pour le sticky (utile pour empiler plusieurs colonnes sticky) (à appliquer sur spw-table-header ou spw-table-cell) * @default 0 */ "stickyOffset"?: number; /** * Position du sticky : 'start' (left: 0) ou 'end' (right: 0) (à appliquer sur spw-table-header ou spw-table-cell) * @default 'start' */ "stickyPosition"?: 'start' | 'end'; /** * Définit un alignement de texte pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default 'left' */ "textAlign"?: 'center' | 'left' | 'right'; /** * Définit un alignement vertical pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default 'middle' */ "verticalAlign"?: 'top' | 'bottom' | 'middle'; /** * Définit une largeur si nécessaire (à appliquer sur spw-table-cell) * @default 'auto' */ "width"?: string; } interface SpwTableContainer { } interface SpwTableFooter { } interface SpwTableHead { } interface SpwTableHeader { /** * Définit un colspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */ "colspan"?: HTMLTableCellElement['colSpan']; /** * Définit id pour la colonne (en cas de tri) (à appliquer sur spw-table-header) */ "columnId": string; /** * Définit un header relationnel pour la cellule, à des fins d'accessibilité (à appliquer sur spw-table-cell ou spw-table-header) */ "headers"?: HTMLTableCellElement['headers']; /** * Définit un style visuel qui met en avant la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default false */ "isHighlighted"?: boolean; /** * Définit si la colonne est triée ou non (à appliquer sur spw-table-header) * @default false */ "isSorted"?: boolean; /** * Définit le padding pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default 'medium' */ "padding"?: 'small' | 'medium'; /** * Définit un rowspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */ "rowspan"?: HTMLTableCellElement['rowSpan']; /** * Définit la direction pour le tri sur la colonne (ascendant ou descendant) (à appliquer sur spw-table-header) */ "sortDirection"?: 'asc' | 'desc'; /** * Définit si la colonne est triable (à appliquer sur spw-table-header) * @default false */ "sortable"?: boolean; /** * Rend la cellule sticky lors du défilement horizontal (à appliquer sur spw-table-header ou spw-table-cell) * @default false */ "sticky"?: boolean; /** * Décalage en pixels pour le sticky (utile pour empiler plusieurs colonnes sticky) (à appliquer sur spw-table-header ou spw-table-cell) * @default 0 */ "stickyOffset"?: number; /** * Position du sticky : 'start' (left: 0) ou 'end' (right: 0) (à appliquer sur spw-table-header ou spw-table-cell) * @default 'start' */ "stickyPosition"?: 'start' | 'end'; /** * Définit un alignement de texte pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default 'left' */ "textAlign"?: 'center' | 'left' | 'right'; /** * Définit un contenu pour le tooltip (à appliquer sur spw-table-header) */ "tooltipText"?: string; /** * Définit un titre pour le tooltip (à appliquer sur spw-table-header) */ "tooltipTitle"?: string; /** * Définit un alignement vertical pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default 'top' */ "verticalAlign"?: 'top' | 'bottom' | 'middle'; } interface SpwTableRow { /** * Définit le padding pour toutes les cellules de la row */ "padding"?: 'small' | 'medium'; /** * Permet de changer le state du spw-table-row * @default 'default' */ "state"?: 'default' | 'selected' | 'disabled'; } interface SpwTableSidebar { /** * Si true, la sidebar est dépliée par défaut * @default true */ "defaultExpanded": boolean; /** * Si true, affiche une icône de reset à côté du titre * @default true */ "hasReset": boolean; /** * Icône à utiliser pour le bouton de reset (référence font-awesome) * @default 'fa-arrow-rotate-left' */ "resetIcon": string; /** * Permet de définir une icône à côté du titre de la sidebar (référence font-awesome) * @default 'fa-filter' */ "sidebarIcon": string; /** * Permet de définir un titre à la sidebar * @default 'Filtres' */ "sidebarTitle": string; /** * Permet de définir une largeur en px pour la sidebar dépliée * @default 260 */ "sidebarWidth": number; } interface SpwTabs { /** * Onglet actuellement actif * @default '1' */ "activeTab": string; /** * Onglet actif par défaut * @default '1' */ "defaultActiveTab": string; /** * Récupère l'onglet actuellement sélectionné * @returns L'ID de l'onglet actif */ "getSelectedTab": () => Promise; /** * Texte coupé si trop long, affiche un tooltip si le contenu excède la max-width définie * @default false */ "hasEllipsis"?: boolean; /** * Définit la largeur maximale de l'onglet (en pixels) */ "maxWidth"?: number; /** * Définit l'onglet sélectionné * @param tabId L'ID de l'onglet à sélectionner * @returns */ "setSelectedTab": (tabId: string) => Promise; /** * Permet de spécifier la taille de l'onglet * @default 'small' */ "size"?: 'large' | 'medium' | 'small'; /** * Variante des onglets * @default 'default' */ "variant": 'default' | 'box'; } interface SpwTabsContent { /** * @default false */ "active": boolean; "tabId": string; } interface SpwTabsNavigation { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Si true, centre les items horizontalement * @default false */ "isCentered"?: boolean; /** * Définit si la navigation doit être verticale sur mobile (à utiliser avec le variant default) * @default false */ "isVerticalOnMobile"?: boolean; } interface SpwTabsNavigationItem { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Définit si le tab est actif ou non (hérité du parent, pas modifiable directement) * @default false */ "active": boolean; /** * Prévoit la présence d'une pastille sur l'élément de navigation * @default false */ "bubble": boolean; /** * Définit si le tab est disabled ou non * @default false */ "disabled": boolean; /** * Définit si le texte doit être coupé pour les onglets au titre trop long */ "hasEllipsis"?: boolean; /** * Si rempli, vous pouvez utiliser une référence d'icône font-awesome sur le spw-tabs-navigation-item */ "icon"?: string; /** * Position de l'icône à l'intérieur du bouton sur le spw-tabs-navigation-item */ "iconPosition"?: 'left' | 'right'; /** * Définit un id pour le tab */ "tabId": string; /** * Présence d'une icône ou non sur le tag du spw-tabs-navigation-item * @default false */ "tagIcon"?: boolean; /** * Texte du tag à afficher sur le spw-tabs-navigation-item */ "tagText"?: string; /** * Variante du tag à afficher sur le spw-tabs-navigation-item * @default 'default' */ "tagVariant"?: 'grey' | 'blue' | 'green' | 'orange' | 'red' | 'purple' | 'default'; } interface SpwTag { /** * Présence ou pas de l'icône * @default true */ "hasIcon"?: boolean; /** * Spécifie le lien si nécessaire */ "href"?: string; /** * Icône personnalisée (si non définie, utilise l'icône par défaut de la variante) */ "icon"?: string; /** * Position de l'icône à l'intérieur du tag * @default 'left' */ "iconPosition"?: 'left' | 'right'; /** * Permet de spécifier une variante de Font Awesome * @default 'fa-solid' */ "iconVariant": 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; /** * Définit la taille du tag * @default 'medium' */ "size"?: 'extra-small' | 'small' | 'medium' | 'large'; /** * Type de surface sur laquelle le tag est positionné * @default 'light' */ "surface"?: 'dark' | 'light'; /** * Attribut target, s'applique uniquement si href est rempli * @default '_self' */ "target": string; /** * Type de variante de tag * @default 'default' */ "variant"?: 'grey' | 'blue' | 'green' | 'orange' | 'red' | 'purple' | 'default'; } interface SpwTextField { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Aria-label pour le bouton de décrémentation (input number) * @default 'Décrémenter' */ "accAriaLabelDecrement"?: string; /** * Aria-label pour le bouton d'incrémentation (input number) * @default 'Incrémenter' */ "accAriaLabelIncrement"?: string; /** * Texte d'assistance à afficher sous le label */ "assistiveText"?: string; /** * Nombre maximum de chiffres après la virgule (uniquement pour type="number"). Les entiers restent autorisés. */ "decimalPrecision"?: number; /** * Si `true`, le champ de saisie est désactivé et ne peut pas être utilisé */ "disabled"?: boolean; /** * Message d'erreur à afficher sous le champ * @default '' */ "error"?: string; /** * Si true, affiche les boutons +/- pour les champs numériques * @default true */ "hasControls"?: boolean; /** * Affiche un bouton submit (loupe) qui déclenche le submit du formulaire parent * @default false */ "hasSubmitButton"?: boolean; /** * Message d'indication (hint) à afficher sous le champ * @default '' */ "hint"?: string; /** * Indicateur à afficher à droite du champ de saisie */ "indicator"?: string; /** * Indique si le champ peut être effacé avec un bouton * @default false */ "isClear"?: boolean; /** * Indique si l'input est un champ de recherche * @default false */ "isSearch"?: boolean; /** * Texte à afficher au-dessus du champ de saisie * @default '' */ "label": string; /** * Définition du masque (9 = chiffre, A = lettre majuscule, a = lettre, X = alphanum) */ "mask"?: string; /** * Valeur maximale dans le cas d'un input number */ "max"?: number; /** * Longueur maximale pour la valeur de l'input */ "maxLength"?: number; /** * Valeur minimale dans le cas d'un input number */ "min"?: number; /** * Longueur minimale pour la valeur de l'input */ "minLength"?: number; /** * Attribut `name` de l'élément input */ "name": string; /** * Texte du placeholder pour le champ de saisie */ "placeholder": string; /** * Indique si l'input est requis * @default false */ "required"?: boolean; /** * Méthode publique pour mettre le focus sur le champ de saisie. */ "setFocus": () => Promise; "setValue": (newVal: string) => Promise; /** * Affiche une icône d'erreur si vrai * @default true */ "showErrorIcon"?: boolean; /** * Affiche une icône d'indication si vrai * @default true */ "showHintIcon"?: boolean; /** * Affiche une icône de succès si vrai * @default true */ "showSuccessIcon"?: boolean; /** * Affiche une icône de warning si vrai * @default true */ "showWarningIcon"?: boolean; /** * Spécifie la taille du champ de saisie : 'large' ou 'medium' * @default 'medium' */ "size"?: 'large' | 'medium'; /** * Valeur d'incrémentation dans le cas d'un input number */ "step"?: number; /** * Message de succès à afficher sous le champ * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Type d'input à rendre, par exemple, "text", "password", etc. * @default 'text' */ "type"?: string; /** * Valeur actuelle du champ de saisie, mutable et reflétée dans le DOM */ "value"?: string | number; /** * Message de warning à afficher sous le champ * @default '' */ "warning"?: string; } interface SpwTextarea { /** * Texte d'assistance à afficher sous le label */ "assistiveText"?: string; /** * Si `true`, le champ textarea est désactivé et ne peut pas être utilisé */ "disabled"?: boolean; /** * Message d'erreur à afficher sous le champ textarea * @default '' */ "error"?: string; /** * Message d'indication (hint) à afficher sous le champ textarea * @default '' */ "hint"?: string; /** * Indicateur à afficher à droite du champ textarea */ "indicator"?: string; /** * Indique si l'input est un champ de recherche * @default false */ "isSearch"?: boolean; /** * Texte à afficher au-dessus du champ textarea * @default '' */ "label"?: string; /** * Longueur maximale pour la valeur du textarea */ "maxLength"?: number; /** * Longueur minimale pour la valeur du textarea */ "minLength"?: number; /** * Attribut `name` de l'élément textarea */ "name": string; /** * Texte du placeholder pour le champ textarea */ "placeholder": string; /** * Indique si le champ textarea est requis * @default false */ "required"?: boolean; /** * Nombre de lignes à afficher dans le champ textarea * @default 5 */ "rows"?: number; /** * Méthode publique pour mettre le focus sur le champ textarea. */ "setFocus": () => Promise; /** * Affiche une icône d'erreur si vrai * @default true */ "showErrorIcon"?: boolean; /** * Affiche une icône d'indication si vrai * @default true */ "showHintIcon"?: boolean; /** * Affiche une icône de succès si vrai * @default true */ "showSuccessIcon"?: boolean; /** * Affiche une icône de warning si vrai * @default true */ "showWarningIcon"?: boolean; /** * Spécifie la taille du champ textarea : 'large' ou 'medium' * @default 'medium' */ "size"?: 'large' | 'medium'; /** * Message de succès à afficher sous le champ textarea * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Valeur actuelle du champ textarea, mutable et reflétée dans le DOM */ "value"?: string; /** * Message de warning à afficher sous le champ * @default '' */ "warning"?: string; } interface SpwThemeProvider { /** * Définit le thème employé, conditionne les tokens associés au thème * @default 'rouge' */ "theme": SpwTheme; } interface SpwTile { /** * Variante de hauteur de la tuile (valable pour les variants big & light) * @default 'landscape' */ "height"?: 'landscape' | 'square' | 'portrait'; /** * Spécifie le lien si nécessaire */ "href"?: string; /** * Texte alternatif de l'image de fond * @default '' */ "imageAlt"?: string; /** * Image de fond de la tuile */ "imageSrc"?: string; /** * Opacité de l'overlay (valeur entre 0 et 100) * @default 100 */ "overlayOpacity"?: number; /** * Attribut target, s'applique uniquement si href est rempli * @default '_self' */ "target": string; /** * Type de variante de tuile * @default 'light' */ "variant"?: 'icon' | 'big' | 'light'; } interface SpwTileDescription { } interface SpwTileTitle { } interface SpwTimeline { /** * Texte du bouton "voir moins" * @default 'Voir moins' */ "showLessText"?: string; /** * Texte du bouton "voir plus" * @default 'Voir plus' */ "showMoreText"?: string; /** * Nombre d'items visibles initialement (0 = tous visibles) * @default 0 */ "visibleItems"?: number; } interface SpwTimelineItem { /** * Description affichée sous le label */ "description"?: string; /** * Indique si c'est le dernier item (géré automatiquement par spw-timeline) * @default 'false' */ "isLast"?: string; /** * Label affiché (titre de l'événement) */ "label"?: string; /** * État de l'item * @default 'default' */ "state"?: 'default' | 'active'; /** * Variant qui permet de définir la direction (géré automatiquement par spw-timeline) * @default 'vertical' */ "variant"?: 'vertical' | 'horizontal'; } interface SpwToast { /** * Ferme le toast avec animation */ "dismiss": () => Promise; /** * Texte du bouton de fermeture * @default 'Fermer' */ "dismissText": string; /** * Affiche le bouton de fermeture * @default true */ "dismissable": boolean; /** * Durée d'affichage automatique en ms (0 = pas d'auto-dismiss) * @default 5000 */ "duration": number; /** * Titre du toast (gras) * @default '' */ "heading": string; /** * Icône personnalisée */ "icon"?: string; /** * URL du lien optionnel * @default '' */ "linkHref": string; /** * Texte du lien optionnel * @default '' */ "linkLabel": string; /** * Message / description du toast * @default '' */ "message": string; /** * Affiche le toast avec animation */ "show": () => Promise; /** * Variante du toast * @default 'info' */ "variant": SpwToastVariant; } interface SpwToastController { /** * Crée et affiche un nouveau toast. * @returns la référence à l'élément spw-toast créé */ "create": (options: SpwToastOptions) => Promise; /** * Ferme tous les toasts affichés. */ "dismissAll": () => Promise; /** * Position du conteneur de toasts sur l'écran. Valeurs: 'top-right' | 'top-left' | 'top-center' | 'bottom-right' | 'bottom-left' | 'bottom-center' * @default 'bottom-right' */ "position": 'top-right' | 'top-left' | 'top-center' | 'bottom-right' | 'bottom-left' | 'bottom-center'; } interface SpwToc { } interface SpwTocContainer { "getItems": () => Promise; } interface SpwTocNavigation { /** * Variante d'affichage : 'progress' (avec barre de progression) ou 'simple' (sans barre) * @default 'progress' */ "variant": 'progress' | 'simple'; } interface SpwTooltip { /** * Curseur du tooltip * @default 'help' */ "cursor": 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "direction": 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "maxWidth"?: string; /** * Texte du tooltip * @default '' */ "tooltipText": string; /** * Titre du tooltip * @default '' */ "tooltipTitle": string; /** * @default true */ "visible": boolean; } interface SpwTopbar { /** * Activer l'émission d'événement au clic du logo au lieu de la navigation classique * @default false */ "emitLogoClick"?: boolean; /** * Présence ou non du logo Wallonie en haut à gauche * @default true */ "hasWallonieLogo"?: boolean; /** * Lien qui renvoie vers la homepage * @default '/' */ "homepageLink"?: string; /** * Titre du site */ "siteTitle"?: string; } interface SpwWizard { /** * Si `true`, les étapes suivantes sont également cliquables * @default false */ "canClickNextSteps"?: boolean; /** * Étape actuellement active (index basé sur 1) * @default 1 */ "currentStep": number; /** * Méthode publique pour définir une step au wizard */ "setStep": (step: number) => Promise; /** * Orientation du wizard * @default 'horizontal' */ "variant"?: 'horizontal' | 'vertical'; } interface SpwWizardItem { /** * Info additionnelle affichée sous la description (par exemple lors d'une erreur) */ "additionalInfo"?: string; /** * Description affiché sous le label */ "description"?: string; /** * Icône à afficher (référence font-awesome) */ "icon"?: string; /** * Indique si l'item est après l'étape courante (géré automatiquement par spw-wizard) * @default 'false' */ "isAfterCurrent"?: string; /** * Indique si l'item est avant l'étape courante (géré automatiquement par spw-wizard) * @default 'false' */ "isBeforeCurrent"?: string; /** * Indique si l'item est cliquable (géré automatiquement par spw-wizard) * @default 'false' */ "isClickable"?: string; /** * Indique si c'est l'étape courante (géré automatiquement par spw-wizard) * @default 'false' */ "isCurrent"?: string; /** * Indique si c'est le dernier item (géré automatiquement par spw-wizard) * @default 'false' */ "isLast"?: string; /** * Label affiché sous l'icône */ "label"?: string; /** * État de l'étape (géré automatiquement par spw-wizard sauf si status est défini) * @default 'inactive' */ "state"?: 'inactive' | 'active' | 'completed' | 'warning' | 'error'; /** * Statut manuel qui override l'état automatique */ "status"?: 'inactive' | 'active' | 'completed' | 'warning' | 'error'; /** * Numéro de l'étape (géré automatiquement par spw-wizard) */ "stepNumber"?: number; /** * Variant qui permet de définir la direction (géré automatiquement par spw-wizard) */ "variant"?: 'vertical' | 'horizontal'; } } export interface SpwAccordionItemCustomEvent extends CustomEvent { detail: T; target: HTMLSpwAccordionItemElement; } export interface SpwButtonCustomEvent extends CustomEvent { detail: T; target: HTMLSpwButtonElement; } export interface SpwCheckboxCustomEvent extends CustomEvent { detail: T; target: HTMLSpwCheckboxElement; } export interface SpwCustomSelectCustomEvent extends CustomEvent { detail: T; target: HTMLSpwCustomSelectElement; } export interface SpwDatePickerCustomEvent extends CustomEvent { detail: T; target: HTMLSpwDatePickerElement; } export interface SpwDropdownCustomEvent extends CustomEvent { detail: T; target: HTMLSpwDropdownElement; } export interface SpwFileUploadCustomEvent extends CustomEvent { detail: T; target: HTMLSpwFileUploadElement; } export interface SpwHeaderCustomEvent extends CustomEvent { detail: T; target: HTMLSpwHeaderElement; } export interface SpwHeaderLangCustomEvent extends CustomEvent { detail: T; target: HTMLSpwHeaderLangElement; } export interface SpwHeaderNavigationCustomEvent extends CustomEvent { detail: T; target: HTMLSpwHeaderNavigationElement; } export interface SpwHeaderNavigationItemCustomEvent extends CustomEvent { detail: T; target: HTMLSpwHeaderNavigationItemElement; } export interface SpwInputSliderCustomEvent extends CustomEvent { detail: T; target: HTMLSpwInputSliderElement; } export interface SpwLightboxCustomEvent extends CustomEvent { detail: T; target: HTMLSpwLightboxElement; } export interface SpwLightboxItemCustomEvent extends CustomEvent { detail: T; target: HTMLSpwLightboxItemElement; } export interface SpwLinkCustomEvent extends CustomEvent { detail: T; target: HTMLSpwLinkElement; } export interface SpwMessageCustomEvent extends CustomEvent { detail: T; target: HTMLSpwMessageElement; } export interface SpwModalCustomEvent extends CustomEvent { detail: T; target: HTMLSpwModalElement; } export interface SpwPaginationCustomEvent extends CustomEvent { detail: T; target: HTMLSpwPaginationElement; } export interface SpwRadioCustomEvent extends CustomEvent { detail: T; target: HTMLSpwRadioElement; } export interface SpwSearchFieldCustomEvent extends CustomEvent { detail: T; target: HTMLSpwSearchFieldElement; } export interface SpwSelectCustomEvent extends CustomEvent { detail: T; target: HTMLSpwSelectElement; } export interface SpwSliderCustomEvent extends CustomEvent { detail: T; target: HTMLSpwSliderElement; } export interface SpwTableCustomEvent extends CustomEvent { detail: T; target: HTMLSpwTableElement; } export interface SpwTableHeaderCustomEvent extends CustomEvent { detail: T; target: HTMLSpwTableHeaderElement; } export interface SpwTableSidebarCustomEvent extends CustomEvent { detail: T; target: HTMLSpwTableSidebarElement; } export interface SpwTabsCustomEvent extends CustomEvent { detail: T; target: HTMLSpwTabsElement; } export interface SpwTabsNavigationItemCustomEvent extends CustomEvent { detail: T; target: HTMLSpwTabsNavigationItemElement; } export interface SpwTextFieldCustomEvent extends CustomEvent { detail: T; target: HTMLSpwTextFieldElement; } export interface SpwTextareaCustomEvent extends CustomEvent { detail: T; target: HTMLSpwTextareaElement; } export interface SpwToastCustomEvent extends CustomEvent { detail: T; target: HTMLSpwToastElement; } export interface SpwTocContainerCustomEvent extends CustomEvent { detail: T; target: HTMLSpwTocContainerElement; } export interface SpwTopbarCustomEvent extends CustomEvent { detail: T; target: HTMLSpwTopbarElement; } export interface SpwWizardCustomEvent extends CustomEvent { detail: T; target: HTMLSpwWizardElement; } export interface SpwWizardItemCustomEvent extends CustomEvent { detail: T; target: HTMLSpwWizardItemElement; } declare global { interface HTMLSpwAccordionElement extends Components.SpwAccordion, HTMLStencilElement { } var HTMLSpwAccordionElement: { prototype: HTMLSpwAccordionElement; new (): HTMLSpwAccordionElement; }; interface HTMLSpwAccordionContentElement extends Components.SpwAccordionContent, HTMLStencilElement { } var HTMLSpwAccordionContentElement: { prototype: HTMLSpwAccordionContentElement; new (): HTMLSpwAccordionContentElement; }; interface HTMLSpwAccordionItemElementEventMap { "accordionToggle": { isOpen: boolean; id: string }; } interface HTMLSpwAccordionItemElement extends Components.SpwAccordionItem, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwAccordionItemElement, ev: SpwAccordionItemCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwAccordionItemElement, ev: SpwAccordionItemCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwAccordionItemElement: { prototype: HTMLSpwAccordionItemElement; new (): HTMLSpwAccordionItemElement; }; interface HTMLSpwAccordionTitleElement extends Components.SpwAccordionTitle, HTMLStencilElement { } var HTMLSpwAccordionTitleElement: { prototype: HTMLSpwAccordionTitleElement; new (): HTMLSpwAccordionTitleElement; }; interface HTMLSpwAvatarElement extends Components.SpwAvatar, HTMLStencilElement { } var HTMLSpwAvatarElement: { prototype: HTMLSpwAvatarElement; new (): HTMLSpwAvatarElement; }; interface HTMLSpwBlockContentElement extends Components.SpwBlockContent, HTMLStencilElement { } var HTMLSpwBlockContentElement: { prototype: HTMLSpwBlockContentElement; new (): HTMLSpwBlockContentElement; }; interface HTMLSpwBoxElement extends Components.SpwBox, HTMLStencilElement { } var HTMLSpwBoxElement: { prototype: HTMLSpwBoxElement; new (): HTMLSpwBoxElement; }; interface HTMLSpwBreadcrumbElement extends Components.SpwBreadcrumb, HTMLStencilElement { } var HTMLSpwBreadcrumbElement: { prototype: HTMLSpwBreadcrumbElement; new (): HTMLSpwBreadcrumbElement; }; interface HTMLSpwBreadcrumbItemElement extends Components.SpwBreadcrumbItem, HTMLStencilElement { } var HTMLSpwBreadcrumbItemElement: { prototype: HTMLSpwBreadcrumbItemElement; new (): HTMLSpwBreadcrumbItemElement; }; interface HTMLSpwButtonElementEventMap { "spwFocus": void; "spwBlur": void; "spwNavigate": MouseEvent; } interface HTMLSpwButtonElement extends Components.SpwButton, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwButtonElement, ev: SpwButtonCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwButtonElement, ev: SpwButtonCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwButtonElement: { prototype: HTMLSpwButtonElement; new (): HTMLSpwButtonElement; }; interface HTMLSpwCardElement extends Components.SpwCard, HTMLStencilElement { } var HTMLSpwCardElement: { prototype: HTMLSpwCardElement; new (): HTMLSpwCardElement; }; interface HTMLSpwCardContentElement extends Components.SpwCardContent, HTMLStencilElement { } var HTMLSpwCardContentElement: { prototype: HTMLSpwCardContentElement; new (): HTMLSpwCardContentElement; }; interface HTMLSpwCardExcerptElement extends Components.SpwCardExcerpt, HTMLStencilElement { } var HTMLSpwCardExcerptElement: { prototype: HTMLSpwCardExcerptElement; new (): HTMLSpwCardExcerptElement; }; interface HTMLSpwCardImageElement extends Components.SpwCardImage, HTMLStencilElement { } var HTMLSpwCardImageElement: { prototype: HTMLSpwCardImageElement; new (): HTMLSpwCardImageElement; }; interface HTMLSpwCardSubtagItemElement extends Components.SpwCardSubtagItem, HTMLStencilElement { } var HTMLSpwCardSubtagItemElement: { prototype: HTMLSpwCardSubtagItemElement; new (): HTMLSpwCardSubtagItemElement; }; interface HTMLSpwCardSubtagsElement extends Components.SpwCardSubtags, HTMLStencilElement { } var HTMLSpwCardSubtagsElement: { prototype: HTMLSpwCardSubtagsElement; new (): HTMLSpwCardSubtagsElement; }; interface HTMLSpwCardTitleElement extends Components.SpwCardTitle, HTMLStencilElement { } var HTMLSpwCardTitleElement: { prototype: HTMLSpwCardTitleElement; new (): HTMLSpwCardTitleElement; }; interface HTMLSpwCheckboxElementEventMap { "spwChange": boolean; } interface HTMLSpwCheckboxElement extends Components.SpwCheckbox, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwCheckboxElement, ev: SpwCheckboxCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwCheckboxElement, ev: SpwCheckboxCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwCheckboxElement: { prototype: HTMLSpwCheckboxElement; new (): HTMLSpwCheckboxElement; }; interface HTMLSpwCookiesElement extends Components.SpwCookies, HTMLStencilElement { } var HTMLSpwCookiesElement: { prototype: HTMLSpwCookiesElement; new (): HTMLSpwCookiesElement; }; interface HTMLSpwCustomSelectElementEventMap { "valueChanged": (string | number)[] | string | number; "optionCreated": SelectItem; "optionRemoved": SelectItem; } interface HTMLSpwCustomSelectElement extends Components.SpwCustomSelect, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwCustomSelectElement, ev: SpwCustomSelectCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwCustomSelectElement, ev: SpwCustomSelectCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwCustomSelectElement: { prototype: HTMLSpwCustomSelectElement; new (): HTMLSpwCustomSelectElement; }; interface HTMLSpwDatePickerElementEventMap { "dateChange": { value: string; date: Date }; "datePickerOpen": void; "datePickerClose": void; } interface HTMLSpwDatePickerElement extends Components.SpwDatePicker, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwDatePickerElement, ev: SpwDatePickerCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwDatePickerElement, ev: SpwDatePickerCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwDatePickerElement: { prototype: HTMLSpwDatePickerElement; new (): HTMLSpwDatePickerElement; }; interface HTMLSpwDropdownElementEventMap { "spwDropdownOpen": void; "spwDropdownClose": void; } interface HTMLSpwDropdownElement extends Components.SpwDropdown, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwDropdownElement, ev: SpwDropdownCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwDropdownElement, ev: SpwDropdownCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwDropdownElement: { prototype: HTMLSpwDropdownElement; new (): HTMLSpwDropdownElement; }; interface HTMLSpwDropdownContainerElement extends Components.SpwDropdownContainer, HTMLStencilElement { } var HTMLSpwDropdownContainerElement: { prototype: HTMLSpwDropdownContainerElement; new (): HTMLSpwDropdownContainerElement; }; interface HTMLSpwDropdownItemElement extends Components.SpwDropdownItem, HTMLStencilElement { } var HTMLSpwDropdownItemElement: { prototype: HTMLSpwDropdownItemElement; new (): HTMLSpwDropdownItemElement; }; interface HTMLSpwFieldLabelElement extends Components.SpwFieldLabel, HTMLStencilElement { } var HTMLSpwFieldLabelElement: { prototype: HTMLSpwFieldLabelElement; new (): HTMLSpwFieldLabelElement; }; interface HTMLSpwFieldMessageElement extends Components.SpwFieldMessage, HTMLStencilElement { } var HTMLSpwFieldMessageElement: { prototype: HTMLSpwFieldMessageElement; new (): HTMLSpwFieldMessageElement; }; interface HTMLSpwFileUploadElementEventMap { "spwFileChange": { files: File[] }; } interface HTMLSpwFileUploadElement extends Components.SpwFileUpload, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwFileUploadElement, ev: SpwFileUploadCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwFileUploadElement, ev: SpwFileUploadCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwFileUploadElement: { prototype: HTMLSpwFileUploadElement; new (): HTMLSpwFileUploadElement; }; interface HTMLSpwFooterElement extends Components.SpwFooter, HTMLStencilElement { } var HTMLSpwFooterElement: { prototype: HTMLSpwFooterElement; new (): HTMLSpwFooterElement; }; interface HTMLSpwFooterBottomElement extends Components.SpwFooterBottom, HTMLStencilElement { } var HTMLSpwFooterBottomElement: { prototype: HTMLSpwFooterBottomElement; new (): HTMLSpwFooterBottomElement; }; interface HTMLSpwFooterContentElement extends Components.SpwFooterContent, HTMLStencilElement { } var HTMLSpwFooterContentElement: { prototype: HTMLSpwFooterContentElement; new (): HTMLSpwFooterContentElement; }; interface HTMLSpwFooterContentColElement extends Components.SpwFooterContentCol, HTMLStencilElement { } var HTMLSpwFooterContentColElement: { prototype: HTMLSpwFooterContentColElement; new (): HTMLSpwFooterContentColElement; }; interface HTMLSpwFooterLinkElement extends Components.SpwFooterLink, HTMLStencilElement { } var HTMLSpwFooterLinkElement: { prototype: HTMLSpwFooterLinkElement; new (): HTMLSpwFooterLinkElement; }; interface HTMLSpwGridElement extends Components.SpwGrid, HTMLStencilElement { } var HTMLSpwGridElement: { prototype: HTMLSpwGridElement; new (): HTMLSpwGridElement; }; interface HTMLSpwGridItemElement extends Components.SpwGridItem, HTMLStencilElement { } var HTMLSpwGridItemElement: { prototype: HTMLSpwGridItemElement; new (): HTMLSpwGridItemElement; }; interface HTMLSpwGroupElement extends Components.SpwGroup, HTMLStencilElement { } var HTMLSpwGroupElement: { prototype: HTMLSpwGroupElement; new (): HTMLSpwGroupElement; }; interface HTMLSpwHeaderElementEventMap { "logoClick": void; } interface HTMLSpwHeaderElement extends Components.SpwHeader, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwHeaderElement, ev: SpwHeaderCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwHeaderElement, ev: SpwHeaderCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwHeaderElement: { prototype: HTMLSpwHeaderElement; new (): HTMLSpwHeaderElement; }; interface HTMLSpwHeaderLangElementEventMap { "langChange": string; } interface HTMLSpwHeaderLangElement extends Components.SpwHeaderLang, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwHeaderLangElement, ev: SpwHeaderLangCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwHeaderLangElement, ev: SpwHeaderLangCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwHeaderLangElement: { prototype: HTMLSpwHeaderLangElement; new (): HTMLSpwHeaderLangElement; }; interface HTMLSpwHeaderNavigationElementEventMap { "extraButtonClick": void; } interface HTMLSpwHeaderNavigationElement extends Components.SpwHeaderNavigation, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwHeaderNavigationElement, ev: SpwHeaderNavigationCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwHeaderNavigationElement, ev: SpwHeaderNavigationCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwHeaderNavigationElement: { prototype: HTMLSpwHeaderNavigationElement; new (): HTMLSpwHeaderNavigationElement; }; interface HTMLSpwHeaderNavigationDropdownElement extends Components.SpwHeaderNavigationDropdown, HTMLStencilElement { } var HTMLSpwHeaderNavigationDropdownElement: { prototype: HTMLSpwHeaderNavigationDropdownElement; new (): HTMLSpwHeaderNavigationDropdownElement; }; interface HTMLSpwHeaderNavigationItemElementEventMap { "spwHeaderNavigationNavigate": { level: number; element: HTMLSpwHeaderNavigationItemElement }; } interface HTMLSpwHeaderNavigationItemElement extends Components.SpwHeaderNavigationItem, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwHeaderNavigationItemElement, ev: SpwHeaderNavigationItemCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwHeaderNavigationItemElement, ev: SpwHeaderNavigationItemCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwHeaderNavigationItemElement: { prototype: HTMLSpwHeaderNavigationItemElement; new (): HTMLSpwHeaderNavigationItemElement; }; interface HTMLSpwHeaderPersonaElement extends Components.SpwHeaderPersona, HTMLStencilElement { } var HTMLSpwHeaderPersonaElement: { prototype: HTMLSpwHeaderPersonaElement; new (): HTMLSpwHeaderPersonaElement; }; interface HTMLSpwHeaderPersonaItemElement extends Components.SpwHeaderPersonaItem, HTMLStencilElement { } var HTMLSpwHeaderPersonaItemElement: { prototype: HTMLSpwHeaderPersonaItemElement; new (): HTMLSpwHeaderPersonaItemElement; }; interface HTMLSpwHeroElement extends Components.SpwHero, HTMLStencilElement { } var HTMLSpwHeroElement: { prototype: HTMLSpwHeroElement; new (): HTMLSpwHeroElement; }; interface HTMLSpwIconElement extends Components.SpwIcon, HTMLStencilElement { } var HTMLSpwIconElement: { prototype: HTMLSpwIconElement; new (): HTMLSpwIconElement; }; interface HTMLSpwIllustrationElement extends Components.SpwIllustration, HTMLStencilElement { } var HTMLSpwIllustrationElement: { prototype: HTMLSpwIllustrationElement; new (): HTMLSpwIllustrationElement; }; interface HTMLSpwInputSliderElementEventMap { "valueChange": { value: number | [number, number] }; } interface HTMLSpwInputSliderElement extends Components.SpwInputSlider, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwInputSliderElement, ev: SpwInputSliderCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwInputSliderElement, ev: SpwInputSliderCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwInputSliderElement: { prototype: HTMLSpwInputSliderElement; new (): HTMLSpwInputSliderElement; }; interface HTMLSpwLightboxElementEventMap { "spwLightboxOpen": { index: number }; "spwLightboxClose": void; } interface HTMLSpwLightboxElement extends Components.SpwLightbox, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwLightboxElement, ev: SpwLightboxCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwLightboxElement, ev: SpwLightboxCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwLightboxElement: { prototype: HTMLSpwLightboxElement; new (): HTMLSpwLightboxElement; }; interface HTMLSpwLightboxItemElementEventMap { "spwLightboxItemClick": { src: string; alt: string; captionTitle: string; captionText: string; index: number }; } interface HTMLSpwLightboxItemElement extends Components.SpwLightboxItem, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwLightboxItemElement, ev: SpwLightboxItemCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwLightboxItemElement, ev: SpwLightboxItemCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwLightboxItemElement: { prototype: HTMLSpwLightboxItemElement; new (): HTMLSpwLightboxItemElement; }; interface HTMLSpwLinkElementEventMap { "spwClick": MouseEvent; } interface HTMLSpwLinkElement extends Components.SpwLink, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwLinkElement, ev: SpwLinkCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwLinkElement, ev: SpwLinkCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwLinkElement: { prototype: HTMLSpwLinkElement; new (): HTMLSpwLinkElement; }; interface HTMLSpwListElement extends Components.SpwList, HTMLStencilElement { } var HTMLSpwListElement: { prototype: HTMLSpwListElement; new (): HTMLSpwListElement; }; interface HTMLSpwListDescriptionElement extends Components.SpwListDescription, HTMLStencilElement { } var HTMLSpwListDescriptionElement: { prototype: HTMLSpwListDescriptionElement; new (): HTMLSpwListDescriptionElement; }; interface HTMLSpwListItemElement extends Components.SpwListItem, HTMLStencilElement { } var HTMLSpwListItemElement: { prototype: HTMLSpwListItemElement; new (): HTMLSpwListItemElement; }; interface HTMLSpwListTitleElement extends Components.SpwListTitle, HTMLStencilElement { } var HTMLSpwListTitleElement: { prototype: HTMLSpwListTitleElement; new (): HTMLSpwListTitleElement; }; interface HTMLSpwLoadingElement extends Components.SpwLoading, HTMLStencilElement { } var HTMLSpwLoadingElement: { prototype: HTMLSpwLoadingElement; new (): HTMLSpwLoadingElement; }; interface HTMLSpwMessageElementEventMap { "spwDismiss": { messageId: string }; } interface HTMLSpwMessageElement extends Components.SpwMessage, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwMessageElement, ev: SpwMessageCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwMessageElement, ev: SpwMessageCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwMessageElement: { prototype: HTMLSpwMessageElement; new (): HTMLSpwMessageElement; }; interface HTMLSpwModalElementEventMap { "spwModalOpen": any; "spwModalClose": any; } interface HTMLSpwModalElement extends Components.SpwModal, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwModalElement, ev: SpwModalCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwModalElement, ev: SpwModalCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwModalElement: { prototype: HTMLSpwModalElement; new (): HTMLSpwModalElement; }; interface HTMLSpwMosaicElement extends Components.SpwMosaic, HTMLStencilElement { } var HTMLSpwMosaicElement: { prototype: HTMLSpwMosaicElement; new (): HTMLSpwMosaicElement; }; interface HTMLSpwMosaicItemElement extends Components.SpwMosaicItem, HTMLStencilElement { } var HTMLSpwMosaicItemElement: { prototype: HTMLSpwMosaicItemElement; new (): HTMLSpwMosaicItemElement; }; interface HTMLSpwPaginationElementEventMap { "pageChanged": number; } interface HTMLSpwPaginationElement extends Components.SpwPagination, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwPaginationElement, ev: SpwPaginationCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwPaginationElement, ev: SpwPaginationCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwPaginationElement: { prototype: HTMLSpwPaginationElement; new (): HTMLSpwPaginationElement; }; interface HTMLSpwRadioElementEventMap { "spwChange": { checked: boolean; value: string }; } interface HTMLSpwRadioElement extends Components.SpwRadio, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwRadioElement, ev: SpwRadioCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwRadioElement, ev: SpwRadioCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwRadioElement: { prototype: HTMLSpwRadioElement; new (): HTMLSpwRadioElement; }; interface HTMLSpwScrolltopElement extends Components.SpwScrolltop, HTMLStencilElement { } var HTMLSpwScrolltopElement: { prototype: HTMLSpwScrolltopElement; new (): HTMLSpwScrolltopElement; }; interface HTMLSpwSearchFieldElementEventMap { "valueChanged": string; "optionSelected": SearchItem; } interface HTMLSpwSearchFieldElement extends Components.SpwSearchField, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwSearchFieldElement, ev: SpwSearchFieldCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwSearchFieldElement, ev: SpwSearchFieldCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwSearchFieldElement: { prototype: HTMLSpwSearchFieldElement; new (): HTMLSpwSearchFieldElement; }; interface HTMLSpwSelectElementEventMap { "valueChanged": string | number; } interface HTMLSpwSelectElement extends Components.SpwSelect, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwSelectElement, ev: SpwSelectCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwSelectElement, ev: SpwSelectCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwSelectElement: { prototype: HTMLSpwSelectElement; new (): HTMLSpwSelectElement; }; interface HTMLSpwSeparatorElement extends Components.SpwSeparator, HTMLStencilElement { } var HTMLSpwSeparatorElement: { prototype: HTMLSpwSeparatorElement; new (): HTMLSpwSeparatorElement; }; interface HTMLSpwSidebarElement extends Components.SpwSidebar, HTMLStencilElement { } var HTMLSpwSidebarElement: { prototype: HTMLSpwSidebarElement; new (): HTMLSpwSidebarElement; }; interface HTMLSpwSidebarNavigationDropdownElement extends Components.SpwSidebarNavigationDropdown, HTMLStencilElement { } var HTMLSpwSidebarNavigationDropdownElement: { prototype: HTMLSpwSidebarNavigationDropdownElement; new (): HTMLSpwSidebarNavigationDropdownElement; }; interface HTMLSpwSidebarNavigationItemElement extends Components.SpwSidebarNavigationItem, HTMLStencilElement { } var HTMLSpwSidebarNavigationItemElement: { prototype: HTMLSpwSidebarNavigationItemElement; new (): HTMLSpwSidebarNavigationItemElement; }; interface HTMLSpwSidebarNavigationSeparatorElement extends Components.SpwSidebarNavigationSeparator, HTMLStencilElement { } var HTMLSpwSidebarNavigationSeparatorElement: { prototype: HTMLSpwSidebarNavigationSeparatorElement; new (): HTMLSpwSidebarNavigationSeparatorElement; }; interface HTMLSpwSkeletonElement extends Components.SpwSkeleton, HTMLStencilElement { } var HTMLSpwSkeletonElement: { prototype: HTMLSpwSkeletonElement; new (): HTMLSpwSkeletonElement; }; interface HTMLSpwSliderElementEventMap { "spwSliderChange": { index: number; previousIndex: number }; "spwSliderNext": { index: number }; "spwSliderPrevious": { index: number }; } interface HTMLSpwSliderElement extends Components.SpwSlider, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwSliderElement, ev: SpwSliderCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwSliderElement, ev: SpwSliderCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwSliderElement: { prototype: HTMLSpwSliderElement; new (): HTMLSpwSliderElement; }; interface HTMLSpwSliderItemElement extends Components.SpwSliderItem, HTMLStencilElement { } var HTMLSpwSliderItemElement: { prototype: HTMLSpwSliderItemElement; new (): HTMLSpwSliderItemElement; }; interface HTMLSpwSocialsElement extends Components.SpwSocials, HTMLStencilElement { } var HTMLSpwSocialsElement: { prototype: HTMLSpwSocialsElement; new (): HTMLSpwSocialsElement; }; interface HTMLSpwTableElementEventMap { "spwSort": SortEvent; "spwResize": { height: number }; } interface HTMLSpwTableElement extends Components.SpwTable, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwTableElement, ev: SpwTableCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwTableElement, ev: SpwTableCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwTableElement: { prototype: HTMLSpwTableElement; new (): HTMLSpwTableElement; }; interface HTMLSpwTableBodyElement extends Components.SpwTableBody, HTMLStencilElement { } var HTMLSpwTableBodyElement: { prototype: HTMLSpwTableBodyElement; new (): HTMLSpwTableBodyElement; }; interface HTMLSpwTableCellElement extends Components.SpwTableCell, HTMLStencilElement { } var HTMLSpwTableCellElement: { prototype: HTMLSpwTableCellElement; new (): HTMLSpwTableCellElement; }; interface HTMLSpwTableContainerElement extends Components.SpwTableContainer, HTMLStencilElement { } var HTMLSpwTableContainerElement: { prototype: HTMLSpwTableContainerElement; new (): HTMLSpwTableContainerElement; }; interface HTMLSpwTableFooterElement extends Components.SpwTableFooter, HTMLStencilElement { } var HTMLSpwTableFooterElement: { prototype: HTMLSpwTableFooterElement; new (): HTMLSpwTableFooterElement; }; interface HTMLSpwTableHeadElement extends Components.SpwTableHead, HTMLStencilElement { } var HTMLSpwTableHeadElement: { prototype: HTMLSpwTableHeadElement; new (): HTMLSpwTableHeadElement; }; interface HTMLSpwTableHeaderElementEventMap { "spwHeaderClick": string; } interface HTMLSpwTableHeaderElement extends Components.SpwTableHeader, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwTableHeaderElement, ev: SpwTableHeaderCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwTableHeaderElement, ev: SpwTableHeaderCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwTableHeaderElement: { prototype: HTMLSpwTableHeaderElement; new (): HTMLSpwTableHeaderElement; }; interface HTMLSpwTableRowElement extends Components.SpwTableRow, HTMLStencilElement { } var HTMLSpwTableRowElement: { prototype: HTMLSpwTableRowElement; new (): HTMLSpwTableRowElement; }; interface HTMLSpwTableSidebarElementEventMap { "sidebarReset": void; } interface HTMLSpwTableSidebarElement extends Components.SpwTableSidebar, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwTableSidebarElement, ev: SpwTableSidebarCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwTableSidebarElement, ev: SpwTableSidebarCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwTableSidebarElement: { prototype: HTMLSpwTableSidebarElement; new (): HTMLSpwTableSidebarElement; }; interface HTMLSpwTabsElementEventMap { "tabChanged": string; } interface HTMLSpwTabsElement extends Components.SpwTabs, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwTabsElement, ev: SpwTabsCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwTabsElement, ev: SpwTabsCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwTabsElement: { prototype: HTMLSpwTabsElement; new (): HTMLSpwTabsElement; }; interface HTMLSpwTabsContentElement extends Components.SpwTabsContent, HTMLStencilElement { } var HTMLSpwTabsContentElement: { prototype: HTMLSpwTabsContentElement; new (): HTMLSpwTabsContentElement; }; interface HTMLSpwTabsNavigationElement extends Components.SpwTabsNavigation, HTMLStencilElement { } var HTMLSpwTabsNavigationElement: { prototype: HTMLSpwTabsNavigationElement; new (): HTMLSpwTabsNavigationElement; }; interface HTMLSpwTabsNavigationItemElementEventMap { "tabSelected": string; } interface HTMLSpwTabsNavigationItemElement extends Components.SpwTabsNavigationItem, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwTabsNavigationItemElement, ev: SpwTabsNavigationItemCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwTabsNavigationItemElement, ev: SpwTabsNavigationItemCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwTabsNavigationItemElement: { prototype: HTMLSpwTabsNavigationItemElement; new (): HTMLSpwTabsNavigationItemElement; }; interface HTMLSpwTagElement extends Components.SpwTag, HTMLStencilElement { } var HTMLSpwTagElement: { prototype: HTMLSpwTagElement; new (): HTMLSpwTagElement; }; interface HTMLSpwTextFieldElementEventMap { "valueChanged": string | number; } interface HTMLSpwTextFieldElement extends Components.SpwTextField, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwTextFieldElement, ev: SpwTextFieldCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwTextFieldElement, ev: SpwTextFieldCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwTextFieldElement: { prototype: HTMLSpwTextFieldElement; new (): HTMLSpwTextFieldElement; }; interface HTMLSpwTextareaElementEventMap { "valueChanged": string; } interface HTMLSpwTextareaElement extends Components.SpwTextarea, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwTextareaElement, ev: SpwTextareaCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwTextareaElement, ev: SpwTextareaCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwTextareaElement: { prototype: HTMLSpwTextareaElement; new (): HTMLSpwTextareaElement; }; interface HTMLSpwThemeProviderElement extends Components.SpwThemeProvider, HTMLStencilElement { } var HTMLSpwThemeProviderElement: { prototype: HTMLSpwThemeProviderElement; new (): HTMLSpwThemeProviderElement; }; interface HTMLSpwTileElement extends Components.SpwTile, HTMLStencilElement { } var HTMLSpwTileElement: { prototype: HTMLSpwTileElement; new (): HTMLSpwTileElement; }; interface HTMLSpwTileDescriptionElement extends Components.SpwTileDescription, HTMLStencilElement { } var HTMLSpwTileDescriptionElement: { prototype: HTMLSpwTileDescriptionElement; new (): HTMLSpwTileDescriptionElement; }; interface HTMLSpwTileTitleElement extends Components.SpwTileTitle, HTMLStencilElement { } var HTMLSpwTileTitleElement: { prototype: HTMLSpwTileTitleElement; new (): HTMLSpwTileTitleElement; }; interface HTMLSpwTimelineElement extends Components.SpwTimeline, HTMLStencilElement { } var HTMLSpwTimelineElement: { prototype: HTMLSpwTimelineElement; new (): HTMLSpwTimelineElement; }; interface HTMLSpwTimelineItemElement extends Components.SpwTimelineItem, HTMLStencilElement { } var HTMLSpwTimelineItemElement: { prototype: HTMLSpwTimelineItemElement; new (): HTMLSpwTimelineItemElement; }; interface HTMLSpwToastElementEventMap { "spwToastDismiss": void; "spwToastLinkClick": void; } interface HTMLSpwToastElement extends Components.SpwToast, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwToastElement, ev: SpwToastCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwToastElement, ev: SpwToastCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwToastElement: { prototype: HTMLSpwToastElement; new (): HTMLSpwToastElement; }; interface HTMLSpwToastControllerElement extends Components.SpwToastController, HTMLStencilElement { } var HTMLSpwToastControllerElement: { prototype: HTMLSpwToastControllerElement; new (): HTMLSpwToastControllerElement; }; interface HTMLSpwTocElement extends Components.SpwToc, HTMLStencilElement { } var HTMLSpwTocElement: { prototype: HTMLSpwTocElement; new (): HTMLSpwTocElement; }; interface HTMLSpwTocContainerElementEventMap { "tocItemsChanged": TocItem[]; } interface HTMLSpwTocContainerElement extends Components.SpwTocContainer, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwTocContainerElement, ev: SpwTocContainerCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwTocContainerElement, ev: SpwTocContainerCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwTocContainerElement: { prototype: HTMLSpwTocContainerElement; new (): HTMLSpwTocContainerElement; }; interface HTMLSpwTocNavigationElement extends Components.SpwTocNavigation, HTMLStencilElement { } var HTMLSpwTocNavigationElement: { prototype: HTMLSpwTocNavigationElement; new (): HTMLSpwTocNavigationElement; }; interface HTMLSpwTooltipElement extends Components.SpwTooltip, HTMLStencilElement { } var HTMLSpwTooltipElement: { prototype: HTMLSpwTooltipElement; new (): HTMLSpwTooltipElement; }; interface HTMLSpwTopbarElementEventMap { "logoClick": void; } interface HTMLSpwTopbarElement extends Components.SpwTopbar, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwTopbarElement, ev: SpwTopbarCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwTopbarElement, ev: SpwTopbarCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwTopbarElement: { prototype: HTMLSpwTopbarElement; new (): HTMLSpwTopbarElement; }; interface HTMLSpwWizardElementEventMap { "stepClick": number; } interface HTMLSpwWizardElement extends Components.SpwWizard, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwWizardElement, ev: SpwWizardCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwWizardElement, ev: SpwWizardCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwWizardElement: { prototype: HTMLSpwWizardElement; new (): HTMLSpwWizardElement; }; interface HTMLSpwWizardItemElementEventMap { "wizardItemClick": number; } interface HTMLSpwWizardItemElement extends Components.SpwWizardItem, HTMLStencilElement { addEventListener(type: K, listener: (this: HTMLSpwWizardItemElement, ev: SpwWizardItemCustomEvent) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLSpwWizardItemElement, ev: SpwWizardItemCustomEvent) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } var HTMLSpwWizardItemElement: { prototype: HTMLSpwWizardItemElement; new (): HTMLSpwWizardItemElement; }; interface HTMLElementTagNameMap { "spw-accordion": HTMLSpwAccordionElement; "spw-accordion-content": HTMLSpwAccordionContentElement; "spw-accordion-item": HTMLSpwAccordionItemElement; "spw-accordion-title": HTMLSpwAccordionTitleElement; "spw-avatar": HTMLSpwAvatarElement; "spw-block-content": HTMLSpwBlockContentElement; "spw-box": HTMLSpwBoxElement; "spw-breadcrumb": HTMLSpwBreadcrumbElement; "spw-breadcrumb-item": HTMLSpwBreadcrumbItemElement; "spw-button": HTMLSpwButtonElement; "spw-card": HTMLSpwCardElement; "spw-card-content": HTMLSpwCardContentElement; "spw-card-excerpt": HTMLSpwCardExcerptElement; "spw-card-image": HTMLSpwCardImageElement; "spw-card-subtag-item": HTMLSpwCardSubtagItemElement; "spw-card-subtags": HTMLSpwCardSubtagsElement; "spw-card-title": HTMLSpwCardTitleElement; "spw-checkbox": HTMLSpwCheckboxElement; "spw-cookies": HTMLSpwCookiesElement; "spw-custom-select": HTMLSpwCustomSelectElement; "spw-date-picker": HTMLSpwDatePickerElement; "spw-dropdown": HTMLSpwDropdownElement; "spw-dropdown-container": HTMLSpwDropdownContainerElement; "spw-dropdown-item": HTMLSpwDropdownItemElement; "spw-field-label": HTMLSpwFieldLabelElement; "spw-field-message": HTMLSpwFieldMessageElement; "spw-file-upload": HTMLSpwFileUploadElement; "spw-footer": HTMLSpwFooterElement; "spw-footer-bottom": HTMLSpwFooterBottomElement; "spw-footer-content": HTMLSpwFooterContentElement; "spw-footer-content-col": HTMLSpwFooterContentColElement; "spw-footer-link": HTMLSpwFooterLinkElement; "spw-grid": HTMLSpwGridElement; "spw-grid-item": HTMLSpwGridItemElement; "spw-group": HTMLSpwGroupElement; "spw-header": HTMLSpwHeaderElement; "spw-header-lang": HTMLSpwHeaderLangElement; "spw-header-navigation": HTMLSpwHeaderNavigationElement; "spw-header-navigation-dropdown": HTMLSpwHeaderNavigationDropdownElement; "spw-header-navigation-item": HTMLSpwHeaderNavigationItemElement; "spw-header-persona": HTMLSpwHeaderPersonaElement; "spw-header-persona-item": HTMLSpwHeaderPersonaItemElement; "spw-hero": HTMLSpwHeroElement; "spw-icon": HTMLSpwIconElement; "spw-illustration": HTMLSpwIllustrationElement; "spw-input-slider": HTMLSpwInputSliderElement; "spw-lightbox": HTMLSpwLightboxElement; "spw-lightbox-item": HTMLSpwLightboxItemElement; "spw-link": HTMLSpwLinkElement; "spw-list": HTMLSpwListElement; "spw-list-description": HTMLSpwListDescriptionElement; "spw-list-item": HTMLSpwListItemElement; "spw-list-title": HTMLSpwListTitleElement; "spw-loading": HTMLSpwLoadingElement; "spw-message": HTMLSpwMessageElement; "spw-modal": HTMLSpwModalElement; "spw-mosaic": HTMLSpwMosaicElement; "spw-mosaic-item": HTMLSpwMosaicItemElement; "spw-pagination": HTMLSpwPaginationElement; "spw-radio": HTMLSpwRadioElement; "spw-scrolltop": HTMLSpwScrolltopElement; "spw-search-field": HTMLSpwSearchFieldElement; "spw-select": HTMLSpwSelectElement; "spw-separator": HTMLSpwSeparatorElement; "spw-sidebar": HTMLSpwSidebarElement; "spw-sidebar-navigation-dropdown": HTMLSpwSidebarNavigationDropdownElement; "spw-sidebar-navigation-item": HTMLSpwSidebarNavigationItemElement; "spw-sidebar-navigation-separator": HTMLSpwSidebarNavigationSeparatorElement; "spw-skeleton": HTMLSpwSkeletonElement; "spw-slider": HTMLSpwSliderElement; "spw-slider-item": HTMLSpwSliderItemElement; "spw-socials": HTMLSpwSocialsElement; "spw-table": HTMLSpwTableElement; "spw-table-body": HTMLSpwTableBodyElement; "spw-table-cell": HTMLSpwTableCellElement; "spw-table-container": HTMLSpwTableContainerElement; "spw-table-footer": HTMLSpwTableFooterElement; "spw-table-head": HTMLSpwTableHeadElement; "spw-table-header": HTMLSpwTableHeaderElement; "spw-table-row": HTMLSpwTableRowElement; "spw-table-sidebar": HTMLSpwTableSidebarElement; "spw-tabs": HTMLSpwTabsElement; "spw-tabs-content": HTMLSpwTabsContentElement; "spw-tabs-navigation": HTMLSpwTabsNavigationElement; "spw-tabs-navigation-item": HTMLSpwTabsNavigationItemElement; "spw-tag": HTMLSpwTagElement; "spw-text-field": HTMLSpwTextFieldElement; "spw-textarea": HTMLSpwTextareaElement; "spw-theme-provider": HTMLSpwThemeProviderElement; "spw-tile": HTMLSpwTileElement; "spw-tile-description": HTMLSpwTileDescriptionElement; "spw-tile-title": HTMLSpwTileTitleElement; "spw-timeline": HTMLSpwTimelineElement; "spw-timeline-item": HTMLSpwTimelineItemElement; "spw-toast": HTMLSpwToastElement; "spw-toast-controller": HTMLSpwToastControllerElement; "spw-toc": HTMLSpwTocElement; "spw-toc-container": HTMLSpwTocContainerElement; "spw-toc-navigation": HTMLSpwTocNavigationElement; "spw-tooltip": HTMLSpwTooltipElement; "spw-topbar": HTMLSpwTopbarElement; "spw-wizard": HTMLSpwWizardElement; "spw-wizard-item": HTMLSpwWizardItemElement; } } declare namespace LocalJSX { type OneOf = { [P in K]: T } | { [P in `attr:${K}`]: T } | { [P in `prop:${K}`]: T }; interface SpwAccordion { /** * Couleur de fond appliquée à tous les accordion-item enfants * @default 'white' */ "background"?: string; /** * Variant de l'accordéon * @default 'default' */ "variant"?: 'default' | 'separated'; } interface SpwAccordionContent { } interface SpwAccordionItem { /** * Définit si l'élément est ouvert ou pas * @default false */ "defaultOpen"?: boolean; /** * Transmet l'état actuel (isOpen) et l'id de l'élément */ "onAccordionToggle"?: (event: SpwAccordionItemCustomEvent<{ isOpen: boolean; id: string }>) => void; /** * Variant de l'accordion-item (propagé par le parent) * @default 'default' */ "variant"?: 'default' | 'separated'; } interface SpwAccordionTitle { /** * Si spécifié, place une icône à gauche du titre */ "icon"?: string; /** * Tag html du titre de l'accordéon (de h1 à h6) * @default 'h3' */ "tag"?: 'h2' | 'h3' | 'h4' | 'h5' | 'h6'; } interface SpwAvatar { /** * Label d'accessibilité */ "accAriaLabel"?: string; /** * Contenu de la bubble de notification */ "bubble"?: string; /** * Si true, ajoute un cursor pointer et un effet hover * @default false */ "clickable"?: boolean; /** * URL de l'image de fond */ "image"?: string; /** * Initiales à afficher (si pas d'image) */ "initials"?: string; /** * Taille de l'avatar * @default 'medium' */ "size"?: 'small' | 'medium' | 'large'; } interface SpwBlockContent { /** * Couleur de fond du bloc (que neutral et primary pour le blockquote) * @default 'primary' */ "background"?: 'primary' | 'neutral' | 'purple' | 'blue' | 'petrol'; /** * URL du lien (pour banner-landscape et banner-portrait) */ "href"?: string; /** * Texte alternatif de l'image (pour callout, banner-landscape et banner-portrait) */ "imageAlt"?: string; /** * URL de l'image (pour callout, banner-landscape et banner-portrait) */ "imageSrc"?: string; /** * Ratio d'aspect de l'image pour tous les breakpoints - callout uniquement (ex: "16/9", "4/3", "1/1") */ "ratio"?: string; /** * Ratio d'aspect de l'image en vue desktop - callout uniquement */ "ratioDesktop"?: string; /** * Ratio d'aspect de l'image en vue mobile - callout uniquement */ "ratioMobile"?: string; /** * Ratio d'aspect de l'image en vue tablette - callout uniquement */ "ratioTablet"?: string; /** * Target du lien (pour banner-landscape et banner-portrait) * @default '_self' */ "target"?: string; /** * Variante du bloc de contenu * @default 'blockquote' */ "variant"?: 'blockquote' | 'banner-landscape' | 'banner-portrait' | 'callout'; } interface SpwBox { /** * Définit le breakpoint en dessous duquel la box est collapsible (sm: 460px, md: 768px, lg: 1024px, xl: 1350px, xxl: 1770px, always: toujours collapsible) * @default 'md' */ "collapsibleBreakpoint"?: 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'always'; /** * Permet d'appliquer un border-radius sur la box * @default false */ "hasRadius"?: boolean; /** * Permet d'appliquer un box-shadow sur la box * @default false */ "hasShadow"?: boolean; /** * Permet de rendre le contenu de la box collapsible sur un breakpoint donné * @default false */ "isCollapsible"?: boolean; /** * Permet de rendre la box sticky * @default false */ "isSticky"?: boolean; /** * Définit le padding de la box * @default 'none' */ "padding"?: 'none' | 'small' | 'medium' | 'large'; /** * Définit la position top de la box sticky (ex: '32px', '80px', '2vh',...) */ "stickyTop"?: string; } interface SpwBreadcrumb { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Permet de déterminer la font-size des éléments de breadcrumb * @default 'small' */ "fontSize"?: 'small' | 'default'; /** * Permet de choisir la surface d'arrière-plan du breadcrumb * @default 'light' */ "surface"?: 'light' | 'dark'; /** * Permet de sélectionner la variante de breadcrumb * @default 'default' */ "variant"?: 'multiline' | 'one-line' | 'default'; } interface SpwBreadcrumbItem { /** * Permet de définir un lien sur l'élément du breadcrumb * @default '' */ "href"?: string; } interface SpwButton { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Si désactivé, le bouton n'est pas utilisable * @default false */ "disabled"?: boolean; /** * Permet de télécharger un fichier au lieu de naviguer vers le lien */ "download"?: string; /** * Fait référence à l'id du formulaire de référence */ "form"?: string; /** * Si vrai, masque le texte en mobile (garde uniquement l'icône) * @default false */ "hideTextOnMobile"?: boolean; /** * Spécifie le lien si nécessaire */ "href"?: string; /** * Si rempli, vous pouvez utiliser une référence d'icône font-awesome */ "icon"?: string; /** * Position de l'icône à l'intérieur du bouton */ "iconPosition"?: 'left' | 'right'; /** * Permet de spécifier une variante de Font Awesome * @default 'fa-solid' */ "iconVariant"?: 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; /** * Si vrai, le bouton prend toute la largeur * @default false */ "isFullWidth"?: boolean; /** * Si vrai, le bouton prend toute la largeur en mobile * @default true */ "isFullWidthMobile"?: boolean; /** * Si rempli, vous pouvez utiliser une référence d'icône font-awesome * @default false */ "isIconOnly"?: boolean; /** * Affiche un état de chargement, désactive le bouton * @default false */ "isLoading"?: boolean; /** * Nom du bouton * @default '' */ "name"?: string; /** * Lors de la perte du focus */ "onSpwBlur"?: (event: SpwButtonCustomEvent) => void; /** * Lors du focus */ "onSpwFocus"?: (event: SpwButtonCustomEvent) => void; /** * Navigation vers un lien lors du clic */ "onSpwNavigate"?: (event: SpwButtonCustomEvent) => void; /** * Remplit l'attribut rel */ "rel"?: string; /** * Permet de spécifier la taille du bouton * @default 'medium' */ "size"?: 'large' | 'medium' | 'small'; /** * Permet de choisir la surface d'arrière-plan du bouton * @default 'default' */ "surface"?: 'default' | 'dark' | 'light' | 'primary'; /** * Attribut target, s'applique uniquement si href est rempli * @default '_self' */ "target"?: string; /** * Type du bouton * @default 'button' */ "type"?: 'button' | 'submit' | 'reset'; /** * Valeur du bouton * @default '' */ "value"?: string | number; /** * Permet de sélectionner une variante du bouton * @default 'primary' */ "variant"?: 'primary' | 'secondary' | 'tertiary'; } interface SpwCard { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Définir une date de fin si la carte est un évènement */ "dateEnd"?: string; /** * Définir une date de début si la carte est un évènement */ "dateStart"?: string; /** * Si désactivée, la carte n'est pas utilisable * @default false */ "disabled"?: boolean; /** * Type d'élément du bouton * @default 'a' */ "elementType"?: string; /** * Si vrai, les cartes ont la même hauteur * @default false */ "fullHeight"?: boolean; /** * Spécifie le lien si nécessaire */ "href"?: string; /** * Remplit l'attribut rel */ "rel"?: string; /** * Attribut target, s'applique uniquement si href est rempli * @default '_self' */ "target"?: string; /** * Type de variante de carte * @default 'news' */ "variant"?: 'news' | 'vertical' | 'video' | 'event' | 'sidebar' | 'highlighted' | 'people' | 'rounded-picture'; } interface SpwCardContent { /** * Date de publication */ "date"?: string; /** * Tag spécifié dans la carte */ "tag"?: string; } interface SpwCardExcerpt { /** * Permet de limiter ou pas le nombre de lignes affichées * @default 3 */ "lineClamp"?: number | 'none'; } interface SpwCardImage { /** * Icône affichée au survol de l'image (référence Font Awesome) * @default 'fa-plus' */ "hoverIcon"?: string; /** * Redimensionnement de l'image (object-fit) */ "imageFit"?: string; /** * Position de l'image (object-position), ex: 'top', 'center', 'bottom right' */ "imagePosition"?: string; /** * Label spécifié dans la carte */ "label"?: string; /** * Ratio d'aspect de l'image pour tous les breakpoints (ex: "16/9", "4/3", "1/1") */ "ratio"?: string; /** * Ratio d'aspect de l'image en vue desktop */ "ratioDesktop"?: string; /** * Ratio d'aspect de l'image en vue mobile */ "ratioMobile"?: string; /** * Ratio d'aspect de l'image en vue tablette */ "ratioTablet"?: string; } interface SpwCardSubtagItem { /** * Lien qui mène vers la catégorie du sous-tag */ "link"?: string; } interface SpwCardSubtags { /** * Type de variante de tags * @default 'link' */ "variant"?: 'link' | 'tag'; } interface SpwCardTitle { /** * Code hexadécimal de la bordure sous le titre (à appliquer sur spw-card-title si la variante de la carte est "people") * @default '' */ "borderColor"?: string; } interface SpwCheckbox { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Propriété mutable qui reflète si la case à cocher est cochée ou non * @default false */ "checked"?: boolean; /** * Détermine si la case à cocher est désactivée, rendant l'élément inutilisable * @default false */ "disabled"?: boolean; /** * Indique s'il y a une erreur associée à la case à cocher, pour un affichage visuel * @default false */ "error"?: boolean; /** * The `id` of a `
` element to associate this element with. */ "form"?: string; /** * Icône à afficher lorsque la case à cocher est cochée * @default 'fa-check' */ "icon"?: string; /** * Nom de l'élément utilisé dans les formulaires */ "name"?: string; /** * Événement déclenché lors d'un changement d'état de la case à cocher (cochée ou décochée) */ "onSpwChange"?: (event: SpwCheckboxCustomEvent) => void; /** * Valeur soumise dans le formulaire lorsque la case est cochée (défaut : 'on') * @default 'on' */ "value"?: string; /** * Type de variant pour la checkbox * @default 'default' */ "variant"?: 'default' | 'toggle'; } interface SpwCookies { /** * Texte du bouton pour accepter tous les cookies * @default 'Accepter tous les cookies' */ "acceptAllButtonText"?: string; /** * Texte du bouton pour accepter uniquement les cookies fonctionnels * @default 'Accepter uniquement les cookies fonctionnels' */ "acceptRequiredButtonText"?: string; /** * Description des cookies et de leur utilisation, affichée dans la bannière * @default `Ce site web utilise des cookies essentiels pour assurer son bon fonctionnement et des cookies de suivi pour comprendre comment vous interagissez avec lui. Ces derniers ne seront installés qu'après avoir obtenu votre consentement.` */ "cookiesDescription"?: string; /** * Titre affiché dans la bannière de cookies * @default 'Nous utilisons des cookies' */ "cookiesTitle"?: string; } interface SpwCustomSelect { /** * Permet à l'utilisateur d'ajouter une option si elle n'existe pas dans la liste (nécessite isSearch) * @default false */ "allowCreate"?: boolean; /** * Texte d'assistance à afficher sous le label */ "assistiveText"?: string; /** * Direction d'ouverture du dropdown * @default 'auto' */ "direction"?: 'top' | 'bottom' | 'auto'; /** * Indique si le champ est désactivé et donc non interactif */ "disabled"?: boolean; /** * Message d'erreur à afficher sous le champ * @default '' */ "error"?: string; /** * Utilise un positionnement fixed pour le dropdown si nécessité de sortir du contexte (utile dans une modal avec overflow hidden) * @default false */ "fixedDropdown"?: boolean; /** * Tag name du composant parent contenant le scroll (ex: 'spw-modal'). Le composant remontera les parents pour trouver ce composant et écouter son scroll interne. */ "fixedDropdownParent"?: string; /** * The `id` of a `` element to associate this element with. */ "form"?: string; /** * Message d'indication (hint) à afficher sous le champ * @default '' */ "hint"?: string; /** * Indique si le champ peut être effacé avec un bouton * @default false */ "isClear"?: boolean; /** * Active la fonction de recherche dans la liste des items * @default false */ "isSearch"?: boolean; /** * Liste d'items dynamiques pour générer les options (array d'objets avec label + value) */ "items"?: SelectItem[]; /** * Label associé au champ de sélection personnalisé * @default '' */ "label"?: string; /** * Permet la sélection multiple si vrai * @default false */ "multiple"?: boolean; /** * Nom de l'élément dans les formulaires, utilisé pour associer la valeur */ "name"?: string; /** * Texte à afficher si pas de résultats de recherche * @default 'Aucun résultat trouvé' */ "noResultsText"?: string; /** * Événement émis lorsqu'une nouvelle option est créée via le champ de recherche */ "onOptionCreated"?: (event: SpwCustomSelectCustomEvent) => void; /** * Événement émis lorsqu'une option créée est supprimée */ "onOptionRemoved"?: (event: SpwCustomSelectCustomEvent) => void; /** * Événement émis lorsque la valeur sélectionnée change */ "onValueChanged"?: (event: SpwCustomSelectCustomEvent<(string | number)[] | string | number>) => void; /** * Placeholder à afficher lorsque aucune option n'est sélectionnée * @default 'Sélectionnez une option' */ "placeholder"?: string; /** * Indique si la sélection est obligatoire dans le formulaire * @default false */ "required"?: boolean; /** * Placeholder à afficher dans l'input de recherche si actif * @default 'Entrez votre recherche' */ "searchPlaceholder"?: string; /** * Affiche une icône d'erreur si vrai * @default true */ "showErrorIcon"?: boolean; /** * Affiche une icône d'indication si vrai * @default true */ "showHintIcon"?: boolean; /** * Affiche une icône de succès si vrai * @default true */ "showSuccessIcon"?: boolean; /** * Affiche une icône de warning si vrai * @default true */ "showWarningIcon"?: boolean; /** * Taille du select, peut être "large" ou "medium" * @default 'medium' */ "size"?: 'large' | 'medium'; /** * Message de succès à afficher sous le champ * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Valeur actuelle sélectionnée dans le composant, peut être une chaîne, un nombre ou un tableau * @default [] */ "value"?: (string | number)[] | string | number; /** * Message de warning à afficher sous le champ * @default '' */ "warning"?: string; } interface SpwDatePicker { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Texte d'assistance à afficher sous le label */ "assistiveText"?: string; /** * Format de date à afficher * @default 'dd/MM/yyyy' */ "dateFormat"?: string; /** * Indique si le champ est désactivé * @default false */ "disabled"?: boolean; /** * Dates spécifiques désactivées (format ISO, ex: ["2026-01-01", "2026-12-25"]) * @default [] */ "disabledDates"?: string | string[]; /** * Jours de la semaine désactivés (0=dimanche, 1=lundi, etc.) * @default [] */ "disabledDays"?: string | number[]; /** * Message d'erreur à afficher sous le champ * @default '' */ "error"?: string; /** * Utilise un positionnement fixed pour le calendrier si nécessité de sortir du contexte (utile dans une modal avec overflow hidden) * @default false */ "fixedCalendar"?: boolean; /** * Tag name du composant parent contenant le scroll (ex: 'spw-modal'). Le composant remontera les parents pour trouver ce composant et écouter son scroll interne. */ "fixedCalendarParent"?: string; /** * The `id` of a `` element to associate this element with. */ "form"?: string; /** * Message d'indication (hint) à afficher sous le champ * @default '' */ "hint"?: string; /** * Indique si le champ peut être effacé avec un bouton * @default false */ "isClear"?: boolean; /** * Permet de définir l'input de début pour un range * @default false */ "isStart"?: boolean; /** * Label du champ */ "label"?: string; /** * Date maximale sélectionnable */ "maxDate"?: string; /** * Date minimale sélectionnable */ "minDate"?: string; /** * Attribut `name` utilisé par le formulaire */ "name"?: string; /** * Evenement émis au changement de date */ "onDateChange"?: (event: SpwDatePickerCustomEvent<{ value: string; date: Date }>) => void; /** * Evenement émis à la fermeture du datepicker */ "onDatePickerClose"?: (event: SpwDatePickerCustomEvent) => void; /** * Evenement émis à l'ouverture du datepicker */ "onDatePickerOpen"?: (event: SpwDatePickerCustomEvent) => void; /** * Placeholder du champ de saisie * @default 'JJ/MM/AAAA' */ "placeholder"?: string; /** * Position du datepicker * @default 'bl' */ "position"?: 'tr' | 'tl' | 'br' | 'bl'; /** * Si vrai, permet de définir un range de dates * @default false */ "range"?: boolean; /** * Permet de définir un id pour le range de date (corrélation entre les 2 inputs) */ "rangeId"?: string; /** * Indique si le champ est requis * @default false */ "required"?: boolean; /** * Affiche une icône d'erreur si vrai * @default true */ "showErrorIcon"?: boolean; /** * Affiche une icône d'indication si vrai * @default true */ "showHintIcon"?: boolean; /** * Affiche une icône de succès si vrai * @default true */ "showSuccessIcon"?: boolean; /** * Affiche une icône de warning si vrai * @default true */ "showWarningIcon"?: boolean; /** * Message de succès à afficher sous le champ * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Valeur de la date sélectionnée */ "value"?: string; /** * Message de warning à afficher sous le champ * @default '' */ "warning"?: string; } interface SpwDropdown { /** * Alignement du dropdown par rapport au trigger (start/end = haut-gauche pour top/bottom, haut-bas pour left/right) * @default 'center' */ "alignment"?: 'start' | 'center' | 'end'; /** * Largeur du dropdown (px) * @default 300 */ "contentWidth"?: number; /** * Position du dropdown * @default 'bottom' */ "direction"?: 'top' | 'bottom' | 'left' | 'right'; /** * Active un padding interne * @default true */ "hasPadding"?: boolean; /** * Hauteur max du dropdown (px) * @default 'auto' */ "maxHeight"?: string; /** * Événement émis quand le dropdown se ferme */ "onSpwDropdownClose"?: (event: SpwDropdownCustomEvent) => void; /** * Événement émis quand le dropdown s'ouvre */ "onSpwDropdownOpen"?: (event: SpwDropdownCustomEvent) => void; /** * Contrôle externe du dropdown * @default false */ "open"?: boolean; } interface SpwDropdownContainer { } interface SpwDropdownItem { /** * Si true, l'item est désactivé * @default false */ "disabled"?: boolean; /** * Lien href pour l'item */ "href"?: string; /** * Icône optionnelle à afficher */ "icon"?: string; /** * Variante d'icône font-awesome * @default 'fa-regular' */ "iconVariant"?: 'fa-solid' | 'fa-brands' | 'fa-regular'; } interface SpwFieldLabel { /** * Texte à afficher au-dessus du champ de saisie * @default '' */ "label"?: string; /** * L'attribut id de l'élément input */ "name"?: string; /** * Indique si le champ est requis * @default false */ "required"?: boolean; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; } interface SpwFieldMessage { /** * Permet d'afficher ou pas une icône dans le message * @default true */ "showIcon"?: boolean; /** * Choix du variant du message */ "variant"?: 'error' | 'hint' | 'warning' | 'success'; } interface SpwFileUpload { /** * Types de fichiers acceptés, spécifiés sous forme de chaîne de types MIME ou extensions (whitelist) * @default '' */ "accept"?: string; /** * Indique si le champ est désactivé, rendant le téléversement de fichiers non disponible * @default false */ "disabled"?: boolean; /** * Active ou désactive la zone de dépôt pour le glisser-déposer de fichiers * @default false */ "enableDropZone"?: boolean; /** * Indique s'il y a une erreur visuelle associée au composant de téléversement de fichiers * @default false */ "error"?: boolean; /** * The `id` of a `` element to associate this element with. */ "form"?: string; /** * Taille maximale autorisée pour chaque fichier, en Mo * @default 100 */ "maxFileSize"?: number; /** * Unité de mesure pour maxFileSize ('mo' ou 'go') * @default 'mo' */ "maxFileSizeUnit"?: 'mo' | 'go'; /** * Nombre maximal de fichiers pouvant être téléversés * @default Infinity */ "maxFiles"?: number; /** * Permet de téléverser plusieurs fichiers si vrai * @default false */ "multiple"?: boolean; /** * Nom de l'élément utilisé dans les formulaires pour associer la valeur des fichiers */ "name"?: string; /** * Événement émis lorsque la sélection de fichiers change */ "onSpwFileChange"?: (event: SpwFileUploadCustomEvent<{ files: File[] }>) => void; /** * Types de fichiers refusés, spécifiés sous forme de chaîne de types MIME ou extensions (blacklist) * @default '' */ "refuse"?: string; /** * Texte pour les formats autorisés (utiliser {formats} comme placeholder) * @default 'Formats autorisés : {formats}.' */ "textAcceptedFormats"?: string; /** * Texte quand tous les formats sont autorisés * @default 'Formats autorisés : tous les formats.' */ "textAllFormats"?: string; /** * Texte du bouton pour sélectionner un fichier (mode simple) * @default 'Choisir votre fichier...' */ "textChooseFile"?: string; /** * Texte du bouton pour sélectionner plusieurs fichiers (mode multiple) * @default 'Choisir vos fichiers...' */ "textChooseFiles"?: string; /** * Texte du lien pour choisir depuis l'ordinateur * @default 'choisissez sur votre ordinateur...' */ "textChooseFromComputer"?: string; /** * Texte du lien de suppression * @default 'Supprimer' */ "textDelete"?: string; /** * Texte de la zone de dépôt pour un fichier * @default 'Déposez votre fichier ici ou' */ "textDropFile"?: string; /** * Texte de la zone de dépôt pour plusieurs fichiers * @default 'Déposez vos fichiers ici ou' */ "textDropFiles"?: string; /** * Message d'erreur quand le format n'est pas autorisé (utiliser {filename} comme placeholder) * @default "{filename} n'a pas été pris en compte car le format n'est pas autorisé." */ "textErrorFormat"?: string; /** * Message d'erreur quand le format et la taille sont invalides (utiliser {filename} comme placeholder) * @default "{filename} n'a pas été pris en compte car le format n'est pas autorisé et la limite de poids est dépassée." */ "textErrorFormatAndSize"?: string; /** * Message d'erreur quand la taille est dépassée (utiliser {filename} comme placeholder) * @default "{filename} n'a pas été pris en compte car il dépasse la taille maximale autorisée." */ "textErrorSize"?: string; /** * Message quand on dépasse la limite de fichiers (utiliser {count} comme placeholder) * @default 'Vous ne pouvez pas télécharger plus de {count} fichier(s).' */ "textLimitExceeded"?: string; /** * Message quand la limite de fichiers est atteinte * @default 'Vous avez atteint la limite autorisée de fichiers.' */ "textLimitReached"?: string; /** * Texte pour la taille maximale par fichier (utiliser {size} et {unit} comme placeholders) * @default 'Taille maximale par fichier : {size} {unit}' */ "textMaxFileSize"?: string; /** * Texte pour le nombre maximum de fichiers (utiliser {count} comme placeholder) * @default '{count} fichier(s) maximum' */ "textMaxFiles"?: string; /** * Texte pour les formats refusés (utiliser {formats} comme placeholder) * @default 'Formats refusés : {formats}.' */ "textRefusedFormats"?: string; /** * Valeur actuelle sélectionnée, utilisée pour les formulaires * @default [] */ "value"?: File[]; } interface SpwFooter { /** * Nombre de colonnes à afficher en vue desktop * @default 4 */ "colsDesktop"?: number; /** * Nombre de colonnes à afficher en vue mobile * @default 1 */ "colsMobile"?: number; /** * Nombre de colonnes à afficher en vue tablette * @default 2 */ "colsTablet"?: number; } interface SpwFooterBottom { /** * Présence ou non du logo Wallonie en haut à gauche * @default true */ "hasWallonieLogo"?: boolean; /** * Titre du site affiché dans le subfooter * @default 'Le site officiel de la Wallonie' */ "siteTitle"?: string; } interface SpwFooterContent { } interface SpwFooterContentCol { /** * Titre de la colonne */ "colTitle"?: string; } interface SpwFooterLink { /** * Définit le chemin du lien */ "href"?: string; /** * Définit le titre du lien */ "linkTitle"?: string; /** * Définit le target du lien * @default '_self' */ "target"?: string; } interface SpwGrid { /** * Nombre de colonnes à afficher en vue desktop * @default 3 */ "colsDesktop"?: number; /** * Nombre de colonnes à afficher en vue mobile * @default 1 */ "colsMobile"?: number; /** * Nombre de colonnes à afficher en vue tablette * @default 2 */ "colsTablet"?: number; /** * Espacement entre les éléments de grille * @default 'medium' */ "gap"?: 'none' | 'small' | 'medium' | 'large'; } interface SpwGridItem { /** * Nombre de colonnes occupées par l'item en vue desktop */ "colSpanDesktop"?: number; /** * Nombre de colonnes occupées par l'item en vue mobile */ "colSpanMobile"?: number; /** * Nombre de colonnes occupées par l'item en vue tablette */ "colSpanTablet"?: number; /** * Nombre de lignes occupées par l'item en vue desktop */ "rowSpanDesktop"?: number; /** * Nombre de lignes occupées par l'item en vue mobile */ "rowSpanMobile"?: number; /** * Nombre de lignes occupées par l'item en vue tablette */ "rowSpanTablet"?: number; } interface SpwGroup { /** * Alignement horizontal du groupe * @default 'left' */ "alignment"?: 'left' | 'center' | 'right'; /** * Texte d'assistance à afficher sous le label (pour les types checkboxes et radios) */ "assistiveText"?: string; /** * Détermine si le groupe est désactivé * @default false */ "disabled"?: boolean; /** * Message d'erreur à afficher sous le groupe (pour les types checkboxes et radios) * @default '' */ "error"?: string; /** * Comportement du flex-wrap sur le container * @default 'nowrap' */ "flexWrap"?: string; /** * Message d'indication (hint) à afficher sous le groupe (pour les types checkboxes et radios) * @default '' */ "hint"?: string; /** * Si vrai, le groupe prend toute la largeur * @default false */ "isFullWidth"?: boolean; /** * Si `true`, l'ordre des boutons est inversé en mobile (uniquement valable en cas d'alignement left) * @default false */ "isReversed"?: boolean; /** * Texte à afficher au-dessus de l'élément de formulaire * @default '' */ "label"?: string; /** * Attribut `name` de l'élément input */ "name"?: string; /** * Orientation du groupe (horizontal ou vertical) * @default 'horizontal' */ "orientation"?: 'horizontal' | 'vertical'; /** * Si `true`, le label comporte une astérisque */ "required"?: boolean; /** * Message de succès à afficher sous le groupe (pour les types checkboxes et radios) * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Type d'éléments contenus dans le groupe (buttons, checkboxes, radios, links) * @default 'buttons' */ "type"?: 'buttons' | 'checkboxes' | 'radios' | 'links'; /** * Message de warning à afficher sous le groupe (pour les types checkboxes et radios) * @default '' */ "warning"?: string; } interface SpwHeader { /** * Code hexadécimal de la bordure sous le nom du site * @default '' */ "borderColor"?: string; /** * Activer l'émission d'événement au clic du logo au lieu de la navigation classique * @default false */ "emitLogoClick"?: boolean; /** * Affiche ou masque le bouton hamburger de navigation * @default true */ "hasHamburger"?: boolean; /** * Présence ou non du bouton qui mène à Ma Wallonie * @default true */ "hasMaWallonie"?: boolean; /** * Présence ou non de la partie liée à la recherche (avec overlay) * @default true */ "hasSearch"?: boolean; /** * Présence ou non du bouton qui mène à Wallonie.be * @default true */ "hasWallonieBe"?: boolean; /** * Présence ou non du logo Wallonie en haut à gauche * @default true */ "hasWallonieLogo"?: boolean; /** * Lien qui renvoie vers la homepage * @default '/' */ "homepageLink"?: string; /** * Label du bouton qui mène à Ma Wallonie * @default 'Mon Espace' */ "maWallonieLabel"?: string; /** * Lien du bouton qui mène à Ma Wallonie * @default 'https://monespace.wallonie.be/' */ "maWallonieLink"?: string; /** * Label pour la fermeture du menu * @default 'Fermer' */ "menuCloseLabel"?: string; /** * Label pour l'ouverture du menu * @default 'Menu' */ "menuOpenLabel"?: string; /** * Événement émis lors du clic sur le logo (si emitLogoClick est activé) */ "onLogoClick"?: (event: SpwHeaderCustomEvent) => void; /** * Label pour la fermeture de la recherche * @default 'Fermer' */ "searchCloseLabel"?: string; /** * Si recherche directe, lien qui renvoie vers la page */ "searchDirectHref"?: string; /** * Si recherche directe, target du lien qui renvoie vers la page * @default '_self' */ "searchDirectTarget"?: string; /** * Label pour l'ouverture de la recherche * @default 'Chercher' */ "searchOpenLabel"?: string; /** * Type de recherche (recherche intégrée dans l'overlay ou bien bouton d'action vers une page recherche) * @default 'overlay' */ "searchType"?: 'direct' | 'overlay'; /** * Titre du site * @default 'Wallonie' */ "siteTitle"?: string; /** * Label du bouton qui mène à Ma Wallonie * @default 'Aller sur Wallonie.be' */ "wallonieBeLabel"?: string; /** * Lien du bouton qui mène à Ma Wallonie * @default 'https://wallonie.be/' */ "wallonieBeLink"?: string; } interface SpwHeaderLang { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Événement émis lors du changement de langue */ "onLangChange"?: (event: SpwHeaderLangCustomEvent) => void; } interface SpwHeaderNavigation { /** * Alignement des éléments de navigation sur desktop * @default 'flex-start' */ "alignment"?: 'flex-start' | 'space-between'; /** * Activer l'émission d'événement au clic de l'extra button au lieu de la navigation classique * @default false */ "emitExtraButtonClick"?: boolean; /** * Présence ou non d'un bouton à droite de la navigation * @default false */ "extraButton"?: boolean; /** * Spécifie le lien de l'extra button */ "extraButtonHref"?: string; /** * Icône de l'extra button (référence font-awesome) */ "extraButtonIcon"?: string; /** * Position de l'icône de l'extra button * @default 'left' */ "extraButtonIconPosition"?: 'left' | 'right'; /** * Attribut target de l'extra button * @default '_self' */ "extraButtonTarget"?: string; /** * Texte de l'extra button */ "extraButtonText"?: string; /** * Variant de l'extra button * @default 'primary' */ "extraButtonVariant"?: 'primary' | 'secondary'; /** * Texte du lien "Page d'accueil" dans la navigation mobile * @default "Page d'accueil" */ "homepageLabel"?: string; /** * Événement émis lors du clic sur l'extra button (si emitExtraButtonClick est activé) */ "onExtraButtonClick"?: (event: SpwHeaderNavigationCustomEvent) => void; } interface SpwHeaderNavigationDropdown { /** * Texte du bouton "Voir plus" (uniquement en mode megamenu) * @default 'Voir plus' */ "viewMoreText"?: string; } interface SpwHeaderNavigationItem { /** * Définit si l'élément de menu est la page courante * @default false */ "isActive"?: boolean; "onSpwHeaderNavigationNavigate"?: (event: SpwHeaderNavigationItemCustomEvent<{ level: number; element: HTMLSpwHeaderNavigationItemElement }>) => void; /** * Variante du menu (default ou megamenu) * @default 'default' */ "variant"?: 'default' | 'megamenu'; } interface SpwHeaderPersona { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Label pour le choix du persona (à appliquer sur spw-header-persona) * @default 'Je suis :' */ "personaLabel"?: string; } interface SpwHeaderPersonaItem { /** * @default false */ "active"?: boolean; } interface SpwHero { /** * Aria label pour le bouton play * @default 'Lire la vidéo' */ "accPlayButtonAriaLabel"?: string; /** * Permet de choisir l'alignement du contenu * @default 'left' */ "alignment"?: 'left' | 'center' | 'right'; /** * Lien du copyright */ "copyrightHref"?: string; /** * Icône Font Awesome du copyright * @default 'fa-copyright' */ "copyrightIcon"?: string; /** * Permet de spécifier une variante de Font Awesome pour l'icône de copyright * @default 'fa-light' */ "copyrightIconVariant"?: 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; /** * Target du lien du copyright * @default '_blank' */ "copyrightTarget"?: string; /** * Texte du copyright à afficher sur l'image */ "copyrightText"?: string; /** * Ratio d'aspect de l'image du variant featured pour tous les breakpoints (ex: "16/9", "3/1"). Sans valeur, l'image s'affiche en taille naturelle. */ "featuredRatio"?: string; /** * Ratio d'aspect de l'image du variant featured en vue desktop */ "featuredRatioDesktop"?: string; /** * Ratio d'aspect de l'image du variant featured en vue mobile */ "featuredRatioMobile"?: string; /** * Ratio d'aspect de l'image du variant featured en vue tablette */ "featuredRatioTablet"?: string; /** * Permet de définir l'image de gauche/droite (en fonction de l'alignement choisi) sans padding * @default false */ "hasPictureFull"?: boolean; /** * Permet d'appliquer un border-radius sur le hero * @default true */ "hasRadius"?: boolean; /** * Permet d'appliquer un box-shadow sur le hero * @default false */ "hasShadow"?: boolean; /** * Permet de définir un bouton play sur l'image de hero (sauf variants maxi & photo) * @default false */ "hasVideo"?: boolean; /** * Texte alternatif de l'image du hero banner * @default '' */ "imageAlt"?: string; /** * Position de l'image (object-position), ex: 'top left', 'center center', 'bottom right' */ "imagePosition"?: string; /** * Image du hero banner */ "imageSrc"?: string; /** * Permet de définir un id de modal à ouvrir au clic sur le bouton play */ "modalVideoId"?: string; /** * Permet de spécifier la couleur de l'overlay * @default '' */ "overlayColor"?: string; /** * Permet de spécifier l'opacité de l'overlay (0 à 100) * @default 0 */ "overlayOpacity"?: number; /** * Permet de choisir la surface d'arrière-plan du hero * @default 'light' */ "surface"?: 'dark' | 'light'; /** * Largeur maximale du tooltip de copyright * @default '300' */ "tooltipCopyrightMaxWidth"?: string; /** * Texte du tooltip de copyright */ "tooltipCopyrightText"?: string; /** * Titre du tooltip de copyright */ "tooltipCopyrightTitle"?: string; /** * Permet de choisir le variant du hero * @default 'grey' */ "variant"?: 'grey' | 'white' | 'maxi' | 'photo' | 'mini' | 'featured'; } interface SpwIcon { /** * Permet de spécifier une référence d'icône Font Awesome */ "icon"?: string; /** * Permet de spécifier une variante de Font Awesome * @default 'fa-solid' */ "variant"?: 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; } interface SpwIllustration { /** * Texte alternatif pour l'accessibilité * @default 'Illustration' */ "alt"?: string; /** * Hauteur de l'illustration (ex: "200px", "auto") * @default 'auto' */ "height"?: string; /** * Variante de l'illustration à afficher */ "variant": IllustrationType; /** * Largeur de l'illustration (ex: "200px", "100%") * @default '100%' */ "width"?: string; } interface SpwInputSlider { /** * Aria label pour l'accessibilité */ "accAriaLabel"?: string; /** * Texte d'assistance affiché sous le label */ "assistiveText"?: string; /** * Désactive le slider * @default false */ "disabled"?: boolean; /** * Message d'erreur * @default '' */ "error"?: string; /** * The `id` of a `` element to associate this element with. */ "form"?: string; /** * Affiche un tooltip avec la valeur au-dessus de la poignée * @default true */ "hasTooltip"?: boolean; /** * Message d'information * @default '' */ "hint"?: string; /** * Label du champ * @default '' */ "label"?: string; /** * Valeur maximale du slider * @default 100 */ "max"?: number; /** * Valeur minimale du slider * @default 0 */ "min"?: number; /** * Nom du champ pour les formulaires * @default '' */ "name"?: string; /** * Événement émis lorsque la valeur change */ "onValueChange"?: (event: SpwInputSliderCustomEvent<{ value: number | [number, number] }>) => void; /** * Orientation du slider * @default 'horizontal' */ "orientation"?: 'horizontal' | 'vertical'; /** * Active le mode range (deux poignées) * @default false */ "range"?: boolean; /** * Champ requis * @default false */ "required"?: boolean; /** * Afficher l'icône d'erreur * @default true */ "showErrorIcon"?: boolean; /** * Afficher l'icône d'information * @default true */ "showHintIcon"?: boolean; /** * Afficher l'icône de succès * @default true */ "showSuccessIcon"?: boolean; /** * Afficher l'icône d'avertissement * @default true */ "showWarningIcon"?: boolean; /** * Pas d'incrémentation * @default 1 */ "step"?: number; /** * Message de succès * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Valeur actuelle (simple) ou valeurs [min, max] (range) */ "value"?: number | [number, number]; /** * Message d'avertissement * @default '' */ "warning"?: string; } interface SpwLightbox { /** * Texte du bouton de fermeture * @default 'Fermer' */ "closeButtonText"?: string; /** * Indique si la fermeture est possible en cliquant sur le backdrop * @default true */ "closeOnBackdropClick"?: boolean; /** * Identifiant de la galerie (partagé avec spw-lightbox-item pour grouper les items) */ "gallery"?: string; "onSpwLightboxClose"?: (event: SpwLightboxCustomEvent) => void; "onSpwLightboxOpen"?: (event: SpwLightboxCustomEvent<{ index: number }>) => void; /** * Affiche ou masque la galerie de miniatures sous l'image principale * @default true */ "showThumbnails"?: boolean; /** * Label aria de la dialog * @default "Galerie d'images" */ "textDialogLabel"?: string; /** * Label aria du bouton image suivante * @default 'Image suivante' */ "textNext"?: string; /** * Label aria du bouton image précédente * @default 'Image précédente' */ "textPrevious"?: string; /** * Label aria d'une miniature (utiliser {index} comme placeholder) * @default 'Image {index}' */ "textThumbnailItem"?: string; /** * Label aria de la liste de miniatures * @default 'Miniatures' */ "textThumbnailsLabel"?: string; } interface SpwLightboxItem { /** * Texte alternatif de l'image * @default '' */ "alt"?: string; /** * Texte de la légende affichée en superposition de l'image */ "captionText"?: string; /** * Titre de la légende affichée en superposition de l'image */ "captionTitle"?: string; /** * Lien du copyright */ "copyrightHref"?: string; /** * Icône Font Awesome du copyright * @default 'fa-copyright' */ "copyrightIcon"?: string; /** * Permet de spécifier une variante de Font Awesome pour l'icône de copyright * @default 'fa-light' */ "copyrightIconVariant"?: 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; /** * Target du lien du copyright * @default '_blank' */ "copyrightTarget"?: string; /** * Texte du copyright à afficher sur l'image */ "copyrightText"?: string; /** * Icône affichée au survol de l'image (référence Font Awesome) * @default 'fa-magnifying-glass' */ "hoverIcon"?: string; /** * Affiche une icône de loupe en superposition au survol * @default true */ "isHover"?: boolean; "onSpwLightboxItemClick"?: (event: SpwLightboxItemCustomEvent<{ src: string; alt: string; captionTitle: string; captionText: string; index: number }>) => void; /** * URL de l'image à afficher dans la lightbox */ "src": string; /** * Texte du label aria du bouton déclencheur * @default "Ouvrir l'image" */ "textOpenImage"?: string; } interface SpwLink { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Si désactivé, le lien n'est pas cliquable * @default false */ "disabled"?: boolean; /** * Permet de télécharger un fichier au lieu de naviguer vers le lien */ "download"?: string; /** * Spécifie le lien href */ "href"?: string; /** * Si rempli, permet d'utiliser une référence d'icône font-awesome */ "icon"?: string; /** * Position de l'icône à l'intérieur du lien (gauche ou droite) * @default 'right' */ "iconPosition"?: 'left' | 'right'; /** * Événement déclenché lors du clic sur le lien */ "onSpwClick"?: (event: SpwLinkCustomEvent) => void; /** * Remplit l'attribut rel */ "rel"?: string; /** * Permet de choisir la surface d'arrière-plan du lien * @default 'light' */ "surface"?: 'light' | 'dark'; /** * Attribut target (détermine où ouvrir le lien) * @default '_self' */ "target"?: string; } interface SpwList { /** * Spécifie l'écart entre les éléments de liste * @default 'medium' */ "gap"?: 'small' | 'medium' | 'large'; /** * Permet de choisir la surface d'arrière-plan de la liste * @default 'light' */ "surface"?: 'light' | 'dark'; } interface SpwListDescription { /** * Spécifie un nombre de ligne maximum à afficher */ "lineClamp"?: string; } interface SpwListItem { /** * Permet de spécifier une catégorie pour l'élément de liste */ "category"?: string; /** * Permet de spécifier une icône pour la catégorie * @default 'fa-file-signature' */ "categoryIcon"?: string; /** * Permet de spécifier un lien pour la catégorie */ "categoryLink"?: string; /** * Spécifie le lien si nécessaire */ "href"?: string; /** * Spécifie une icône à côté du titre * @default 'fa-arrow-right' */ "icon"?: string; /** * Permet de limiter le nombre de lignes du titre et de la description * @default '3' */ "lineClamp"?: string | 'none'; /** * Permet de choisir la surface d'arrière-plan de la liste * @default 'light' */ "surface"?: 'light' | 'dark'; /** * Attribut target, s'applique uniquement si href est rempli * @default '_self' */ "target"?: string; /** * Type de variante d'élément de liste * @default 'default' */ "variant"?: 'shortcut' | 'default'; } interface SpwListTitle { /** * Spécifie une icône à côté du titre */ "icon"?: string; /** * Spécifie un nombre de ligne maximum à afficher */ "lineClamp"?: string; } interface SpwLoading { /** * Orientation du composant (horizontal ou vertical) * @default 'horizontal' */ "orientation"?: 'horizontal' | 'vertical'; /** * Taille du composant * @default 'medium' */ "size"?: 'small' | 'medium' | 'large' | 'extra-large'; /** * Surface du composant (light ou dark) * @default 'light' */ "surface"?: 'light' | 'dark'; /** * Permet de spécifier un texte de chargement * @default 'Chargement...' */ "text"?: string; } interface SpwMessage { /** * Texte du bouton pour masquer la notification * @default 'Masquer' */ "dismissableText"?: string; /** * Icône personnalisée (si non définie, utilise l'icône par défaut de la variante) */ "icon"?: string; /** * Si la notification est masquable * @default true */ "isDismissable"?: boolean; /** * Identifiant unique pour le message */ "messageId"?: string; /** * Titre de la notification * @default 'Notification' */ "messageTitle"?: string; /** * Événement émis lors du clic sur le bouton de fermeture */ "onSpwDismiss"?: (event: SpwMessageCustomEvent<{ messageId: string }>) => void; /** * Taille du message * @default 'default' */ "size"?: 'default' | 'compact'; /** * Le type de variante * @default 'default' */ "variant"?: 'default' | 'success' | 'info' | 'alert' | 'warning'; } interface SpwModal { /** * Icône d'alerte à afficher dans la modal (référence font awesome) * @default '' */ "alertIcon"?: string; /** * Titre de la modal * @default 'Titre de la modal' */ "caption"?: string; /** * Texte du bouton de fermeture * @default 'Fermer' */ "closeButtonText"?: string; /** * Indique si la fermeture de la modal est possible en cliquant sur l'overlay * @default true */ "closeOnOverlayClick"?: boolean; /** * Événement déclenché lors de la fermeture de la modal */ "onSpwModalClose"?: (event: SpwModalCustomEvent) => void; /** * Événement déclenché lors de l'ouverture de la modal */ "onSpwModalOpen"?: (event: SpwModalCustomEvent) => void; /** * Indique si la modal est ouverte ou fermée, mutable et reflétée dans le DOM * @default false */ "opened"?: boolean; /** * Indique si le bouton de fermeture est visible * @default true */ "showCloseButton"?: boolean; /** * Définit la taille de la modal : 'small', 'medium', 'large' ou 'fluid' * @default 'small' */ "size"?: 'small' | 'medium' | 'large' | 'fluid'; /** * Rend les boutons en bas de la modal "collants" (toujours visibles) si vrai * @default false */ "stickyButtons"?: boolean; } interface SpwMosaic { /** * Nombre de colonnes à afficher en vue desktop * @default 3 */ "colsDesktop"?: number; /** * Nombre de colonnes à afficher en vue mobile * @default 1 */ "colsMobile"?: number; /** * Nombre de colonnes à afficher en vue tablette * @default 2 */ "colsTablet"?: number; /** * Active le mode "masonry" pour une mise en page en grille ajustable * @default false */ "isMasonry"?: boolean; /** * Liste des éléments à afficher dans la mosaïque */ "items"?: any; } interface SpwMosaicItem { /** * Nombre de colonnes que l'item doit occuper en vue desktop (override la valeur héritée du parent) */ "colSpanDesktop"?: number; /** * Nombre de colonnes que l'item doit occuper en vue mobile (override la valeur héritée du parent) */ "colSpanMobile"?: number; /** * Nombre de colonnes que l'item doit occuper en vue tablette (override la valeur héritée du parent) */ "colSpanTablet"?: number; } interface SpwPagination { /** * Page actuellement sélectionnée, mutable * @default 1 */ "currentPage"?: number; /** * Indique si la pagination est désactivée * @default false */ "isDisabled"?: boolean; /** * Mode de pagination : true = changement interne de page, false = émission d'événement uniquement * @default true */ "isDynamic"?: boolean; /** * Nombre d'éléments à afficher par page */ "itemsPerPage"?: number; /** * Texte pour le bouton "suivant" * @default 'Suivant' */ "nextButtonText"?: string; /** * Événement émis lorsque la page est changée, renvoie le numéro de la nouvelle page */ "onPageChanged"?: (event: SpwPaginationCustomEvent) => void; /** * Texte pour le bouton "précédent" * @default 'Précédent' */ "previousButtonText"?: string; /** * Nombre total d'éléments à paginer */ "totalItems"?: number; /** * Type de variante de la pagination : 'numbers' ou 'input' * @default 'numbers' */ "variant"?: 'numbers' | 'input'; } interface SpwRadio { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Indique si le bouton radio est sélectionné (coché), mutable et reflété dans le DOM * @default false */ "checked"?: boolean; /** * Indique si le bouton radio est désactivé * @default false */ "disabled"?: boolean; /** * Indique s'il y a une erreur visuelle associée au bouton radio * @default false */ "error"?: boolean; /** * The `id` of a `` element to associate this element with. */ "form"?: string; /** * Nom du bouton radio, utilisé pour le grouper avec d'autres boutons radio dans un formulaire */ "name"?: string; /** * Événement déclenché lorsque l'état du bouton radio change (coché ou décoché) */ "onSpwChange"?: (event: SpwRadioCustomEvent<{ checked: boolean; value: string }>) => void; /** * Valeur associée au bouton radio */ "value"?: string; } interface SpwScrolltop { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité * @default 'Retour en haut de page' */ "accAriaLabel"?: string; /** * Si true, masque le bouton en mobile * @default false */ "hideOnMobile"?: boolean; /** * Seuil de scroll en px avant d'afficher le bouton * @default 300 */ "threshold"?: number; /** * Si true, utilise window comme contexte de scroll (sinon détecte le parent scrollable) * @default true */ "useWindow"?: boolean; } interface SpwSearchField { /** * Texte d'assistance affiché sous le label */ "assistiveText"?: string; /** * Indique si le champ de recherche est désactivé */ "disabled"?: boolean; /** * Affiche un bouton submit (loupe) qui déclenche le submit du formulaire parent * @default false */ "hasSubmitButton"?: boolean; /** * Indique si le champ est en cours de chargement * @default false */ "isLoading"?: boolean; /** * Indique si le champ de recherche est arrondi ou pas (communément utilisé dans un hero banner) */ "isRounded"?: boolean; /** * Liste des éléments à filtrer */ "items"?: SearchItem[] | string; /** * Label associé au champ de recherche * @default '' */ "label"?: string; /** * Texte à afficher pendant le chargement * @default 'Recherche en cours...' */ "loadingText"?: string; /** * Nombre minimum de caractères requis pour déclencher la recherche * @default 3 */ "minCharacters"?: number; /** * Nom du champ de recherche, utilisé pour les formulaires */ "name"?: string; /** * Texte à afficher si pas de résultats * @default 'Pas de résultats.' */ "noResults"?: string; /** * Événement émis lorsqu'une option est sélectionnée dans le dropdown */ "onOptionSelected"?: (event: SpwSearchFieldCustomEvent) => void; /** * Événement émis lorsque la valeur du champ de recherche change */ "onValueChanged"?: (event: SpwSearchFieldCustomEvent) => void; /** * Placeholder à afficher dans le champ de recherche * @default 'Recherche...' */ "placeholder"?: string; /** * Indique si le champ est requis * @default false */ "required"?: boolean; /** * Indique si le dropdown de résultats doit être affiché * @default true */ "showDropdown"?: boolean; /** * Taille du champ de recherche * @default 'medium' */ "size"?: 'large' | 'medium'; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Valeur actuelle du champ de recherche * @default '' */ "value"?: string; /** * Texte du lien pour voir tous les résultats * @default 'Voir plus de résultats' */ "viewAllResults"?: string; /** * URL vers laquelle renvoie le lien "voir tous les résultats" */ "viewAllResultsLink"?: string; /** * Soumet le formulaire parent au clic sur le lien "voir tous les résultats" * @default false */ "viewAllResultsSubmit"?: boolean; } interface SpwSelect { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Texte d'assistance affiché sous le label */ "assistiveText"?: string; /** * Indique si le champ de sélection est désactivé */ "disabled"?: boolean; /** * Message d'erreur à afficher sous le champ de sélection * @default '' */ "error"?: string; /** * The `id` of a `` element to associate this element with. */ "form"?: string; /** * Message d'indication (hint) à afficher sous le champ de sélection * @default '' */ "hint"?: string; /** * Indique si le champ peut être effacé avec un bouton * @default false */ "isClear"?: boolean; /** * Propriété à utiliser comme label des options */ "itemLabel"?: string; /** * Propriété à utiliser comme valeur des options */ "itemValue"?: string; /** * Liste d'items dynamiques pour générer les options (array d'objects avec label + value) */ "items"?: SelectItem1[]; /** * Label associé au champ de sélection * @default '' */ "label"?: string; /** * Nom de l'élément utilisé dans les formulaires pour associer la valeur sélectionnée */ "name"?: string; /** * Emet un event si la valeur change */ "onValueChanged"?: (event: SpwSelectCustomEvent) => void; /** * Texte du placeholder à afficher lorsque rien n'est sélectionné * @default 'Sélectionner une option' */ "placeholder"?: string; /** * Indique si la sélection est obligatoire dans le formulaire * @default false */ "required"?: boolean; /** * Affiche une icône d'erreur si vrai * @default true */ "showErrorIcon"?: boolean; /** * Affiche une icône d'indication si vrai * @default true */ "showHintIcon"?: boolean; /** * Affiche une icône de succès si vrai * @default true */ "showSuccessIcon"?: boolean; /** * Affiche une icône de warning si vrai * @default true */ "showWarningIcon"?: boolean; /** * Taille du champ de sélection : 'large' ou 'medium' * @default 'medium' */ "size"?: 'large' | 'medium'; /** * Message de succès à afficher sous le champ de sélection * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Valeur sélectionnée actuelle, mutable et reflétée dans le DOM */ "value"?: string | number; /** * Message de warning à afficher sous le champ * @default '' */ "warning"?: string; } interface SpwSeparator { /** * Permet de définir la direction du séparateur * @default 'horizontal' */ "direction"?: 'vertical' | 'horizontal'; /** * Hauteur du séparateur (par défaut 100% si non spécifié) * @default '100%' */ "height"?: string; /** * Permet de choisir la surface du séparateur (clair ou sombre) * @default 'dark' */ "surface"?: 'dark' | 'light'; /** * Définit l'épaisseur du séparateur * @default 1 */ "thickness"?: 1 | 2; /** * Largeur du séparateur (par défaut 100% si non spécifié) * @default '100%' */ "width"?: string; } interface SpwSidebar { /** * Si true, la sidebar est dépliée par défaut * @default false */ "defaultExpanded"?: boolean; } interface SpwSidebarNavigationDropdown { /** * A appliquer sur spw-sidebar-navigation-dropdown, si true alors le dropdown est ouvert * @default false */ "open"?: boolean; } interface SpwSidebarNavigationItem { /** * A appliquer sur spw-sidebar-navigation-item, permet de mettre en évidence un état actif * @default false */ "active"?: boolean; /** * A appliquer sur spw-sidebar-navigation-item, permet d'afficher une bulle de notification avec un nombre */ "bubble"?: string; /** * A appliquer sur spw-sidebar-navigation-item, permet de définir si l'élément est disabled ou non * @default false */ "disabled"?: boolean; /** * A appliquer sur spw-sidebar-navigation-item, permet de définir un href sur l'élément */ "href"?: string; /** * A appliquer sur spw-sidebar-navigation-item, permet de définir une référence font-awesome sur l'élément */ "icon"?: string; /** * A appliquer sur spw-sidebar-navigation-item, permet de choisir la variante d'icônes font-awesome * @default 'fa-regular' */ "iconVariant"?: 'fa-solid' | 'fa-brands' | 'fa-regular'; /** * A appliquer sur spw-sidebar-navigation-item, si true, le clic sur l'item entier ouvre le dropdown (utile quand il n'y a pas de page physique) * @default false */ "openOnClick"?: boolean; /** * A appliquer sur spw-sidebar-navigation-item, permet de définir un tooltip au hover */ "tooltipTitle"?: string; } interface SpwSidebarNavigationSeparator { } interface SpwSkeleton { /** * Nombre de répétitions du skeleton (uniquement valable pour la variante lines) * @default 1 */ "blocks"?: number; /** * Type de skeleton à afficher * @default 'lines' */ "variant"?: 'lines' | 'text' | 'article' | 'layout'; } interface SpwSlider { /** * Texte aria-label du slider * @default 'Slider de contenu' */ "accAriaLabel"?: string; /** * Position des flèches gauche/droite * @default 'inside' */ "arrowsPosition"?: 'outside' | 'inside'; /** * Active le défilement automatique par défaut * @default false */ "autoplayEnabled"?: boolean; /** * Intervalle de défilement automatique en millisecondes * @default 5000 */ "autoplayInterval"?: number; /** * Label du toggle de défilement automatique * @default 'Défilement automatique' */ "autoplayText"?: string; /** * Position des dots de navigation * @default 'inside' */ "dotsPosition"?: 'inside' | 'outside'; /** * Fixe la hauteur du slider à la hauteur de la slide la plus haute * @default false */ "hasFixedHeight"?: boolean; /** * Texte aria-label pour la slide suivante * @default 'Slide suivante' */ "nextSlideText"?: string; /** * Émis lors du changement de slide (index précédent et nouvel index) */ "onSpwSliderChange"?: (event: SpwSliderCustomEvent<{ index: number; previousIndex: number }>) => void; /** * Émis lors du passage à la slide suivante */ "onSpwSliderNext"?: (event: SpwSliderCustomEvent<{ index: number }>) => void; /** * Émis lors du passage à la slide précédente */ "onSpwSliderPrevious"?: (event: SpwSliderCustomEvent<{ index: number }>) => void; /** * Texte aria-label pour la slide précédente * @default 'Slide précédente' */ "previousSlideText"?: string; /** * Affiche les flèches de navigation * @default true */ "showArrows"?: boolean; /** * Affiche le toggle de défilement automatique * @default false */ "showAutoplayToggle"?: boolean; /** * Affiche les dots de navigation * @default true */ "showDots"?: boolean; } interface SpwSliderItem { } interface SpwSocials { /** * Définit le titre du bloc * @default 'Restez connecté' */ "mainTitle"?: string; } interface SpwTable { /** * Propriété pour l'aria-label, à des fins d'accessibilité */ "accAriaLabel"?: string; /** * État du tri actuel (colonne et direction). Peut être défini de l'extérieur pour un tri personnalisé */ "currentSort"?: SortEvent; /** * Désactive le tri natif pour permettre l'utilisation d'une fonction de tri personnalisée * @default false */ "disableSort"?: boolean; /** * Si le header du tableau doit être sticky ou non * @default false */ "isSticky"?: boolean; /** * Définit un background de couleur différent une ligne sur 2 * @default false */ "isZebra"?: boolean; /** * Si défini, apparition d'une scrollbar verticale et max-height */ "maxHeight"?: string; /** * Hauteur minimale autorisée lors du redimensionnement (en pixels) * @default 200 */ "minHeight"?: number; /** * Si défini, apparition d'une scrollbar horizontale et max-width * @default '600' */ "minWidth"?: string; /** * Événement émis lorsque la hauteur du tableau est redimensionnée */ "onSpwResize"?: (event: SpwTableCustomEvent<{ height: number }>) => void; "onSpwSort"?: (event: SpwTableCustomEvent) => void; /** * Active le redimensionnement manuel de la hauteur du tableau avec un handle * @default false */ "resizable"?: boolean; /** * Permet de définir le table-layout (auto ou fixed) * @default 'auto' */ "tableLayout"?: 'auto' | 'fixed'; } interface SpwTableBody { /** * Si `true`, applique un style zébré aux lignes du tableau (à appliquer sur spw-table-body) * @default false */ "isZebra"?: boolean; } interface SpwTableCell { /** * Définit un colspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */ "colspan"?: HTMLTableCellElement['colSpan']; /** * Définit un header relationnel pour la cellule, à des fins d'accessibilité (à appliquer sur spw-table-cell ou spw-table-header) */ "headers"?: HTMLTableCellElement['headers']; /** * Définit un style visuel qui met en avant la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default false */ "isHighlighted"?: boolean; /** * Définit le padding pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default 'medium' */ "padding"?: 'small' | 'medium'; /** * Définit un rowspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */ "rowspan"?: HTMLTableCellElement['rowSpan']; /** * Permet de changer le state du spw-table-cell * @default 'default' */ "state"?: 'default' | 'selected' | 'disabled'; /** * Rend la cellule sticky lors du défilement (à appliquer sur spw-table-header ou spw-table-cell) * @default false */ "sticky"?: boolean; /** * Décalage en pixels pour le sticky (utile pour empiler plusieurs colonnes sticky) (à appliquer sur spw-table-header ou spw-table-cell) * @default 0 */ "stickyOffset"?: number; /** * Position du sticky : 'start' (left: 0) ou 'end' (right: 0) (à appliquer sur spw-table-header ou spw-table-cell) * @default 'start' */ "stickyPosition"?: 'start' | 'end'; /** * Définit un alignement de texte pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default 'left' */ "textAlign"?: 'center' | 'left' | 'right'; /** * Définit un alignement vertical pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default 'middle' */ "verticalAlign"?: 'top' | 'bottom' | 'middle'; /** * Définit une largeur si nécessaire (à appliquer sur spw-table-cell) * @default 'auto' */ "width"?: string; } interface SpwTableContainer { } interface SpwTableFooter { } interface SpwTableHead { } interface SpwTableHeader { /** * Définit un colspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */ "colspan"?: HTMLTableCellElement['colSpan']; /** * Définit id pour la colonne (en cas de tri) (à appliquer sur spw-table-header) */ "columnId"?: string; /** * Définit un header relationnel pour la cellule, à des fins d'accessibilité (à appliquer sur spw-table-cell ou spw-table-header) */ "headers"?: HTMLTableCellElement['headers']; /** * Définit un style visuel qui met en avant la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default false */ "isHighlighted"?: boolean; /** * Définit si la colonne est triée ou non (à appliquer sur spw-table-header) * @default false */ "isSorted"?: boolean; "onSpwHeaderClick"?: (event: SpwTableHeaderCustomEvent) => void; /** * Définit le padding pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default 'medium' */ "padding"?: 'small' | 'medium'; /** * Définit un rowspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */ "rowspan"?: HTMLTableCellElement['rowSpan']; /** * Définit la direction pour le tri sur la colonne (ascendant ou descendant) (à appliquer sur spw-table-header) */ "sortDirection"?: 'asc' | 'desc'; /** * Définit si la colonne est triable (à appliquer sur spw-table-header) * @default false */ "sortable"?: boolean; /** * Rend la cellule sticky lors du défilement horizontal (à appliquer sur spw-table-header ou spw-table-cell) * @default false */ "sticky"?: boolean; /** * Décalage en pixels pour le sticky (utile pour empiler plusieurs colonnes sticky) (à appliquer sur spw-table-header ou spw-table-cell) * @default 0 */ "stickyOffset"?: number; /** * Position du sticky : 'start' (left: 0) ou 'end' (right: 0) (à appliquer sur spw-table-header ou spw-table-cell) * @default 'start' */ "stickyPosition"?: 'start' | 'end'; /** * Définit un alignement de texte pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default 'left' */ "textAlign"?: 'center' | 'left' | 'right'; /** * Définit un contenu pour le tooltip (à appliquer sur spw-table-header) */ "tooltipText"?: string; /** * Définit un titre pour le tooltip (à appliquer sur spw-table-header) */ "tooltipTitle"?: string; /** * Définit un alignement vertical pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) * @default 'top' */ "verticalAlign"?: 'top' | 'bottom' | 'middle'; } interface SpwTableRow { /** * Définit le padding pour toutes les cellules de la row */ "padding"?: 'small' | 'medium'; /** * Permet de changer le state du spw-table-row * @default 'default' */ "state"?: 'default' | 'selected' | 'disabled'; } interface SpwTableSidebar { /** * Si true, la sidebar est dépliée par défaut * @default true */ "defaultExpanded"?: boolean; /** * Si true, affiche une icône de reset à côté du titre * @default true */ "hasReset"?: boolean; /** * Événement émis lorsque l'icône de reset est cliquée */ "onSidebarReset"?: (event: SpwTableSidebarCustomEvent) => void; /** * Icône à utiliser pour le bouton de reset (référence font-awesome) * @default 'fa-arrow-rotate-left' */ "resetIcon"?: string; /** * Permet de définir une icône à côté du titre de la sidebar (référence font-awesome) * @default 'fa-filter' */ "sidebarIcon"?: string; /** * Permet de définir un titre à la sidebar * @default 'Filtres' */ "sidebarTitle"?: string; /** * Permet de définir une largeur en px pour la sidebar dépliée * @default 260 */ "sidebarWidth"?: number; } interface SpwTabs { /** * Onglet actuellement actif * @default '1' */ "activeTab"?: string; /** * Onglet actif par défaut * @default '1' */ "defaultActiveTab"?: string; /** * Texte coupé si trop long, affiche un tooltip si le contenu excède la max-width définie * @default false */ "hasEllipsis"?: boolean; /** * Définit la largeur maximale de l'onglet (en pixels) */ "maxWidth"?: number; /** * Événement émis lorsque l'onglet actif change */ "onTabChanged"?: (event: SpwTabsCustomEvent) => void; /** * Permet de spécifier la taille de l'onglet * @default 'small' */ "size"?: 'large' | 'medium' | 'small'; /** * Variante des onglets * @default 'default' */ "variant"?: 'default' | 'box'; } interface SpwTabsContent { /** * @default false */ "active"?: boolean; "tabId": string; } interface SpwTabsNavigation { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Si true, centre les items horizontalement * @default false */ "isCentered"?: boolean; /** * Définit si la navigation doit être verticale sur mobile (à utiliser avec le variant default) * @default false */ "isVerticalOnMobile"?: boolean; } interface SpwTabsNavigationItem { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Définit si le tab est actif ou non (hérité du parent, pas modifiable directement) * @default false */ "active"?: boolean; /** * Prévoit la présence d'une pastille sur l'élément de navigation * @default false */ "bubble"?: boolean; /** * Définit si le tab est disabled ou non * @default false */ "disabled"?: boolean; /** * Définit si le texte doit être coupé pour les onglets au titre trop long */ "hasEllipsis"?: boolean; /** * Si rempli, vous pouvez utiliser une référence d'icône font-awesome sur le spw-tabs-navigation-item */ "icon"?: string; /** * Position de l'icône à l'intérieur du bouton sur le spw-tabs-navigation-item */ "iconPosition"?: 'left' | 'right'; "onTabSelected"?: (event: SpwTabsNavigationItemCustomEvent) => void; /** * Définit un id pour le tab */ "tabId": string; /** * Présence d'une icône ou non sur le tag du spw-tabs-navigation-item * @default false */ "tagIcon"?: boolean; /** * Texte du tag à afficher sur le spw-tabs-navigation-item */ "tagText"?: string; /** * Variante du tag à afficher sur le spw-tabs-navigation-item * @default 'default' */ "tagVariant"?: 'grey' | 'blue' | 'green' | 'orange' | 'red' | 'purple' | 'default'; } interface SpwTag { /** * Présence ou pas de l'icône * @default true */ "hasIcon"?: boolean; /** * Spécifie le lien si nécessaire */ "href"?: string; /** * Icône personnalisée (si non définie, utilise l'icône par défaut de la variante) */ "icon"?: string; /** * Position de l'icône à l'intérieur du tag * @default 'left' */ "iconPosition"?: 'left' | 'right'; /** * Permet de spécifier une variante de Font Awesome * @default 'fa-solid' */ "iconVariant"?: 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; /** * Définit la taille du tag * @default 'medium' */ "size"?: 'extra-small' | 'small' | 'medium' | 'large'; /** * Type de surface sur laquelle le tag est positionné * @default 'light' */ "surface"?: 'dark' | 'light'; /** * Attribut target, s'applique uniquement si href est rempli * @default '_self' */ "target"?: string; /** * Type de variante de tag * @default 'default' */ "variant"?: 'grey' | 'blue' | 'green' | 'orange' | 'red' | 'purple' | 'default'; } interface SpwTextField { /** * Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */ "accAriaLabel"?: string; /** * Aria-label pour le bouton de décrémentation (input number) * @default 'Décrémenter' */ "accAriaLabelDecrement"?: string; /** * Aria-label pour le bouton d'incrémentation (input number) * @default 'Incrémenter' */ "accAriaLabelIncrement"?: string; /** * Texte d'assistance à afficher sous le label */ "assistiveText"?: string; /** * Nombre maximum de chiffres après la virgule (uniquement pour type="number"). Les entiers restent autorisés. */ "decimalPrecision"?: number; /** * Si `true`, le champ de saisie est désactivé et ne peut pas être utilisé */ "disabled"?: boolean; /** * Message d'erreur à afficher sous le champ * @default '' */ "error"?: string; /** * The `id` of a `` element to associate this element with. */ "form"?: string; /** * Si true, affiche les boutons +/- pour les champs numériques * @default true */ "hasControls"?: boolean; /** * Affiche un bouton submit (loupe) qui déclenche le submit du formulaire parent * @default false */ "hasSubmitButton"?: boolean; /** * Message d'indication (hint) à afficher sous le champ * @default '' */ "hint"?: string; /** * Indicateur à afficher à droite du champ de saisie */ "indicator"?: string; /** * Indique si le champ peut être effacé avec un bouton * @default false */ "isClear"?: boolean; /** * Indique si l'input est un champ de recherche * @default false */ "isSearch"?: boolean; /** * Texte à afficher au-dessus du champ de saisie * @default '' */ "label"?: string; /** * Définition du masque (9 = chiffre, A = lettre majuscule, a = lettre, X = alphanum) */ "mask"?: string; /** * Valeur maximale dans le cas d'un input number */ "max"?: number; /** * Longueur maximale pour la valeur de l'input */ "maxLength"?: number; /** * Valeur minimale dans le cas d'un input number */ "min"?: number; /** * Longueur minimale pour la valeur de l'input */ "minLength"?: number; /** * Attribut `name` de l'élément input */ "name"?: string; /** * Événement émis lorsque la valeur de l'input change */ "onValueChanged"?: (event: SpwTextFieldCustomEvent) => void; /** * Texte du placeholder pour le champ de saisie */ "placeholder"?: string; /** * Indique si l'input est requis * @default false */ "required"?: boolean; /** * Affiche une icône d'erreur si vrai * @default true */ "showErrorIcon"?: boolean; /** * Affiche une icône d'indication si vrai * @default true */ "showHintIcon"?: boolean; /** * Affiche une icône de succès si vrai * @default true */ "showSuccessIcon"?: boolean; /** * Affiche une icône de warning si vrai * @default true */ "showWarningIcon"?: boolean; /** * Spécifie la taille du champ de saisie : 'large' ou 'medium' * @default 'medium' */ "size"?: 'large' | 'medium'; /** * Valeur d'incrémentation dans le cas d'un input number */ "step"?: number; /** * Message de succès à afficher sous le champ * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Type d'input à rendre, par exemple, "text", "password", etc. * @default 'text' */ "type"?: string; /** * Valeur actuelle du champ de saisie, mutable et reflétée dans le DOM */ "value"?: string | number; /** * Message de warning à afficher sous le champ * @default '' */ "warning"?: string; } interface SpwTextarea { /** * Texte d'assistance à afficher sous le label */ "assistiveText"?: string; /** * Si `true`, le champ textarea est désactivé et ne peut pas être utilisé */ "disabled"?: boolean; /** * Message d'erreur à afficher sous le champ textarea * @default '' */ "error"?: string; /** * The `id` of a `` element to associate this element with. */ "form"?: string; /** * Message d'indication (hint) à afficher sous le champ textarea * @default '' */ "hint"?: string; /** * Indicateur à afficher à droite du champ textarea */ "indicator"?: string; /** * Indique si l'input est un champ de recherche * @default false */ "isSearch"?: boolean; /** * Texte à afficher au-dessus du champ textarea * @default '' */ "label"?: string; /** * Longueur maximale pour la valeur du textarea */ "maxLength"?: number; /** * Longueur minimale pour la valeur du textarea */ "minLength"?: number; /** * Attribut `name` de l'élément textarea */ "name"?: string; /** * Événement émis lorsque la valeur du champ textarea change */ "onValueChanged"?: (event: SpwTextareaCustomEvent) => void; /** * Texte du placeholder pour le champ textarea */ "placeholder"?: string; /** * Indique si le champ textarea est requis * @default false */ "required"?: boolean; /** * Nombre de lignes à afficher dans le champ textarea * @default 5 */ "rows"?: number; /** * Affiche une icône d'erreur si vrai * @default true */ "showErrorIcon"?: boolean; /** * Affiche une icône d'indication si vrai * @default true */ "showHintIcon"?: boolean; /** * Affiche une icône de succès si vrai * @default true */ "showSuccessIcon"?: boolean; /** * Affiche une icône de warning si vrai * @default true */ "showWarningIcon"?: boolean; /** * Spécifie la taille du champ textarea : 'large' ou 'medium' * @default 'medium' */ "size"?: 'large' | 'medium'; /** * Message de succès à afficher sous le champ textarea * @default '' */ "success"?: string; /** * Curseur du tooltip * @default 'help' */ "tooltipCursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "tooltipDirection"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "tooltipMaxWidth"?: string; /** * Texte du tooltip */ "tooltipText"?: string; /** * Titre du tooltip */ "tooltipTitle"?: string; /** * Valeur actuelle du champ textarea, mutable et reflétée dans le DOM */ "value"?: string; /** * Message de warning à afficher sous le champ * @default '' */ "warning"?: string; } interface SpwThemeProvider { /** * Définit le thème employé, conditionne les tokens associés au thème * @default 'rouge' */ "theme"?: SpwTheme; } interface SpwTile { /** * Variante de hauteur de la tuile (valable pour les variants big & light) * @default 'landscape' */ "height"?: 'landscape' | 'square' | 'portrait'; /** * Spécifie le lien si nécessaire */ "href"?: string; /** * Texte alternatif de l'image de fond * @default '' */ "imageAlt"?: string; /** * Image de fond de la tuile */ "imageSrc"?: string; /** * Opacité de l'overlay (valeur entre 0 et 100) * @default 100 */ "overlayOpacity"?: number; /** * Attribut target, s'applique uniquement si href est rempli * @default '_self' */ "target"?: string; /** * Type de variante de tuile * @default 'light' */ "variant"?: 'icon' | 'big' | 'light'; } interface SpwTileDescription { } interface SpwTileTitle { } interface SpwTimeline { /** * Texte du bouton "voir moins" * @default 'Voir moins' */ "showLessText"?: string; /** * Texte du bouton "voir plus" * @default 'Voir plus' */ "showMoreText"?: string; /** * Nombre d'items visibles initialement (0 = tous visibles) * @default 0 */ "visibleItems"?: number; } interface SpwTimelineItem { /** * Description affichée sous le label */ "description"?: string; /** * Indique si c'est le dernier item (géré automatiquement par spw-timeline) * @default 'false' */ "isLast"?: string; /** * Label affiché (titre de l'événement) */ "label"?: string; /** * État de l'item * @default 'default' */ "state"?: 'default' | 'active'; /** * Variant qui permet de définir la direction (géré automatiquement par spw-timeline) * @default 'vertical' */ "variant"?: 'vertical' | 'horizontal'; } interface SpwToast { /** * Texte du bouton de fermeture * @default 'Fermer' */ "dismissText"?: string; /** * Affiche le bouton de fermeture * @default true */ "dismissable"?: boolean; /** * Durée d'affichage automatique en ms (0 = pas d'auto-dismiss) * @default 5000 */ "duration"?: number; /** * Titre du toast (gras) * @default '' */ "heading"?: string; /** * Icône personnalisée */ "icon"?: string; /** * URL du lien optionnel * @default '' */ "linkHref"?: string; /** * Texte du lien optionnel * @default '' */ "linkLabel"?: string; /** * Message / description du toast * @default '' */ "message"?: string; /** * Émis quand le toast est fermé */ "onSpwToastDismiss"?: (event: SpwToastCustomEvent) => void; /** * Émis lors du clic sur le lien (utile en Angular sans href) */ "onSpwToastLinkClick"?: (event: SpwToastCustomEvent) => void; /** * Variante du toast * @default 'info' */ "variant"?: SpwToastVariant; } interface SpwToastController { /** * Position du conteneur de toasts sur l'écran. Valeurs: 'top-right' | 'top-left' | 'top-center' | 'bottom-right' | 'bottom-left' | 'bottom-center' * @default 'bottom-right' */ "position"?: 'top-right' | 'top-left' | 'top-center' | 'bottom-right' | 'bottom-left' | 'bottom-center'; } interface SpwToc { } interface SpwTocContainer { "onTocItemsChanged"?: (event: SpwTocContainerCustomEvent) => void; } interface SpwTocNavigation { /** * Variante d'affichage : 'progress' (avec barre de progression) ou 'simple' (sans barre) * @default 'progress' */ "variant"?: 'progress' | 'simple'; } interface SpwTooltip { /** * Curseur du tooltip * @default 'help' */ "cursor"?: 'pointer' | 'default' | 'help' | 'disabled'; /** * Positionnement du tooltip * @default 'top' */ "direction"?: 'top' | 'bottom' | 'left' | 'right'; /** * Largeur maximale du tooltip */ "maxWidth"?: string; /** * Texte du tooltip * @default '' */ "tooltipText"?: string; /** * Titre du tooltip * @default '' */ "tooltipTitle"?: string; /** * @default true */ "visible"?: boolean; } interface SpwTopbar { /** * Activer l'émission d'événement au clic du logo au lieu de la navigation classique * @default false */ "emitLogoClick"?: boolean; /** * Présence ou non du logo Wallonie en haut à gauche * @default true */ "hasWallonieLogo"?: boolean; /** * Lien qui renvoie vers la homepage * @default '/' */ "homepageLink"?: string; /** * Événement émis lors du clic sur le logo (si emitLogoClick est activé) */ "onLogoClick"?: (event: SpwTopbarCustomEvent) => void; /** * Titre du site */ "siteTitle"?: string; } interface SpwWizard { /** * Si `true`, les étapes suivantes sont également cliquables * @default false */ "canClickNextSteps"?: boolean; /** * Étape actuellement active (index basé sur 1) * @default 1 */ "currentStep"?: number; /** * Événement émis lors du clic sur une étape antérieure */ "onStepClick"?: (event: SpwWizardCustomEvent) => void; /** * Orientation du wizard * @default 'horizontal' */ "variant"?: 'horizontal' | 'vertical'; } interface SpwWizardItem { /** * Info additionnelle affichée sous la description (par exemple lors d'une erreur) */ "additionalInfo"?: string; /** * Description affiché sous le label */ "description"?: string; /** * Icône à afficher (référence font-awesome) */ "icon"?: string; /** * Indique si l'item est après l'étape courante (géré automatiquement par spw-wizard) * @default 'false' */ "isAfterCurrent"?: string; /** * Indique si l'item est avant l'étape courante (géré automatiquement par spw-wizard) * @default 'false' */ "isBeforeCurrent"?: string; /** * Indique si l'item est cliquable (géré automatiquement par spw-wizard) * @default 'false' */ "isClickable"?: string; /** * Indique si c'est l'étape courante (géré automatiquement par spw-wizard) * @default 'false' */ "isCurrent"?: string; /** * Indique si c'est le dernier item (géré automatiquement par spw-wizard) * @default 'false' */ "isLast"?: string; /** * Label affiché sous l'icône */ "label"?: string; /** * Événement émis lors du clic sur l'item */ "onWizardItemClick"?: (event: SpwWizardItemCustomEvent) => void; /** * État de l'étape (géré automatiquement par spw-wizard sauf si status est défini) * @default 'inactive' */ "state"?: 'inactive' | 'active' | 'completed' | 'warning' | 'error'; /** * Statut manuel qui override l'état automatique */ "status"?: 'inactive' | 'active' | 'completed' | 'warning' | 'error'; /** * Numéro de l'étape (géré automatiquement par spw-wizard) */ "stepNumber"?: number; /** * Variant qui permet de définir la direction (géré automatiquement par spw-wizard) */ "variant"?: 'vertical' | 'horizontal'; } interface SpwAccordionAttributes { "background": string; "variant": 'default' | 'separated'; } interface SpwAccordionItemAttributes { "defaultOpen": boolean; "variant": 'default' | 'separated'; } interface SpwAccordionTitleAttributes { "tag": 'h2' | 'h3' | 'h4' | 'h5' | 'h6'; "icon": string; } interface SpwAvatarAttributes { "size": 'small' | 'medium' | 'large'; "image": string; "initials": string; "bubble": string; "clickable": boolean; "accAriaLabel": string; } interface SpwBlockContentAttributes { "variant": 'blockquote' | 'banner-landscape' | 'banner-portrait' | 'callout'; "imageSrc": string; "imageAlt": string; "href": string; "target": string; "background": 'primary' | 'neutral' | 'purple' | 'blue' | 'petrol'; "ratio": string; "ratioMobile": string; "ratioTablet": string; "ratioDesktop": string; } interface SpwBoxAttributes { "hasRadius": boolean; "hasShadow": boolean; "isSticky": boolean; "stickyTop": string; "padding": 'none' | 'small' | 'medium' | 'large'; "isCollapsible": boolean; "collapsibleBreakpoint": 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'always'; } interface SpwBreadcrumbAttributes { "variant": 'multiline' | 'one-line' | 'default'; "surface": 'light' | 'dark'; "fontSize": 'small' | 'default'; "accAriaLabel": string; } interface SpwBreadcrumbItemAttributes { "href": string; } interface SpwButtonAttributes { "href": string; "target": string; "rel": string; "download": string; "name": string; "value": string; "type": 'button' | 'submit' | 'reset'; "form": string; "variant": 'primary' | 'secondary' | 'tertiary'; "surface": 'default' | 'dark' | 'light' | 'primary'; "disabled": boolean; "size": 'large' | 'medium' | 'small'; "accAriaLabel": string; "isIconOnly": boolean; "icon": string; "iconPosition": 'left' | 'right'; "iconVariant": 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; "isFullWidth": boolean; "isFullWidthMobile": boolean; "hideTextOnMobile": boolean; "isLoading": boolean; } interface SpwCardAttributes { "variant": 'news' | 'vertical' | 'video' | 'event' | 'sidebar' | 'highlighted' | 'people' | 'rounded-picture'; "elementType": string; "href": string; "target": string; "rel": string; "dateStart": string; "dateEnd": string; "fullHeight": boolean; "disabled": boolean; "accAriaLabel": string; } interface SpwCardContentAttributes { "tag": string; "date": string; } interface SpwCardExcerptAttributes { "lineClamp": string; } interface SpwCardImageAttributes { "label": string; "ratio": string; "ratioMobile": string; "ratioTablet": string; "ratioDesktop": string; "imagePosition": string; "hoverIcon": string; "imageFit": string; } interface SpwCardSubtagItemAttributes { "link": string; } interface SpwCardSubtagsAttributes { "variant": 'link' | 'tag'; } interface SpwCardTitleAttributes { "borderColor": string; } interface SpwCheckboxAttributes { "disabled": boolean; "checked": boolean; "error": boolean; "icon": string; "name": string; "value": string; "variant": 'default' | 'toggle'; "accAriaLabel": string; } interface SpwCookiesAttributes { "cookiesTitle": string; "cookiesDescription": string; "acceptAllButtonText": string; "acceptRequiredButtonText": string; } interface SpwCustomSelectAttributes { "value": string; "label": string; "placeholder": string; "searchPlaceholder": string; "noResultsText": string; "disabled": boolean; "name": string; "required": boolean; "size": 'large' | 'medium'; "multiple": boolean; "isSearch": boolean; "assistiveText": string; "error": string; "hint": string; "success": string; "warning": string; "showErrorIcon": boolean; "showHintIcon": boolean; "showSuccessIcon": boolean; "showWarningIcon": boolean; "tooltipTitle": string; "tooltipText": string; "tooltipMaxWidth": string; "tooltipDirection": 'top' | 'bottom' | 'left' | 'right'; "tooltipCursor": 'pointer' | 'default' | 'help' | 'disabled'; "fixedDropdown": boolean; "fixedDropdownParent": string; "isClear": boolean; "direction": 'top' | 'bottom' | 'auto'; "allowCreate": boolean; } interface SpwDatePickerAttributes { "value": string; "placeholder": string; "label": string; "name": string; "accAriaLabel": string; "required": boolean; "disabled": boolean; "dateFormat": string; "minDate": string; "maxDate": string; "disabledDays": string | number[]; "disabledDates": string | string[]; "position": 'tr' | 'tl' | 'br' | 'bl'; "error": string; "hint": string; "success": string; "warning": string; "showErrorIcon": boolean; "showHintIcon": boolean; "showSuccessIcon": boolean; "showWarningIcon": boolean; "assistiveText": string; "isClear": boolean; "tooltipTitle": string; "tooltipText": string; "tooltipMaxWidth": string; "tooltipDirection": 'top' | 'bottom' | 'left' | 'right'; "tooltipCursor": 'pointer' | 'default' | 'help' | 'disabled'; "range": boolean; "rangeId": string; "isStart": boolean; "fixedCalendar": boolean; "fixedCalendarParent": string; } interface SpwDropdownAttributes { "direction": 'top' | 'bottom' | 'left' | 'right'; "alignment": 'start' | 'center' | 'end'; "hasPadding": boolean; "contentWidth": number; "maxHeight": string; "open": boolean; } interface SpwDropdownItemAttributes { "href": string; "disabled": boolean; "icon": string; "iconVariant": 'fa-solid' | 'fa-brands' | 'fa-regular'; } interface SpwFieldLabelAttributes { "name": string; "label": string; "required": boolean; "tooltipTitle": string; "tooltipText": string; "tooltipMaxWidth": string; "tooltipDirection": 'top' | 'bottom' | 'left' | 'right'; "tooltipCursor": 'pointer' | 'default' | 'help' | 'disabled'; } interface SpwFieldMessageAttributes { "showIcon": boolean; "variant": 'error' | 'hint' | 'warning' | 'success'; } interface SpwFileUploadAttributes { "disabled": boolean; "error": boolean; "name": string; "enableDropZone": boolean; "multiple": boolean; "accept": string; "refuse": string; "maxFileSize": number; "maxFileSizeUnit": 'mo' | 'go'; "maxFiles": number; "textChooseFile": string; "textChooseFiles": string; "textDropFile": string; "textDropFiles": string; "textChooseFromComputer": string; "textDelete": string; "textMaxFileSize": string; "textMaxFiles": string; "textAcceptedFormats": string; "textRefusedFormats": string; "textAllFormats": string; "textErrorFormat": string; "textErrorSize": string; "textErrorFormatAndSize": string; "textLimitReached": string; "textLimitExceeded": string; } interface SpwFooterAttributes { "colsMobile": number; "colsTablet": number; "colsDesktop": number; } interface SpwFooterBottomAttributes { "siteTitle": string; "hasWallonieLogo": boolean; } interface SpwFooterContentColAttributes { "colTitle": string; } interface SpwFooterLinkAttributes { "href": string; "target": string; "linkTitle": string; } interface SpwGridAttributes { "colsMobile": number; "colsTablet": number; "colsDesktop": number; "gap": 'none' | 'small' | 'medium' | 'large'; } interface SpwGridItemAttributes { "colSpanMobile": number; "colSpanTablet": number; "colSpanDesktop": number; "rowSpanMobile": number; "rowSpanTablet": number; "rowSpanDesktop": number; } interface SpwGroupAttributes { "type": 'buttons' | 'checkboxes' | 'radios' | 'links'; "orientation": 'horizontal' | 'vertical'; "alignment": 'left' | 'center' | 'right'; "disabled": boolean; "label": string; "required": boolean; "isReversed": boolean; "name": string; "isFullWidth": boolean; "flexWrap": string; "assistiveText": string; "error": string; "hint": string; "success": string; "warning": string; "tooltipTitle": string; "tooltipText": string; "tooltipMaxWidth": string; "tooltipDirection": 'top' | 'bottom' | 'left' | 'right'; "tooltipCursor": 'pointer' | 'default' | 'help' | 'disabled'; } interface SpwHeaderAttributes { "siteTitle": string; "borderColor": string; "hasWallonieLogo": boolean; "hasMaWallonie": boolean; "maWallonieLabel": string; "maWallonieLink": string; "hasWallonieBe": boolean; "wallonieBeLabel": string; "wallonieBeLink": string; "hasSearch": boolean; "searchType": 'direct' | 'overlay'; "searchDirectHref": string; "searchDirectTarget": string; "searchCloseLabel": string; "searchOpenLabel": string; "menuCloseLabel": string; "menuOpenLabel": string; "hasHamburger": boolean; "homepageLink": string; "emitLogoClick": boolean; } interface SpwHeaderLangAttributes { "accAriaLabel": string; } interface SpwHeaderNavigationAttributes { "alignment": 'flex-start' | 'space-between'; "extraButton": boolean; "extraButtonHref": string; "extraButtonTarget": string; "extraButtonText": string; "extraButtonVariant": 'primary' | 'secondary'; "extraButtonIcon": string; "extraButtonIconPosition": 'left' | 'right'; "emitExtraButtonClick": boolean; "homepageLabel": string; } interface SpwHeaderNavigationDropdownAttributes { "viewMoreText": string; } interface SpwHeaderNavigationItemAttributes { "isActive": boolean; "variant": 'default' | 'megamenu'; } interface SpwHeaderPersonaAttributes { "personaLabel": string; "accAriaLabel": string; } interface SpwHeaderPersonaItemAttributes { "active": boolean; } interface SpwHeroAttributes { "imageSrc": string; "imageAlt": string; "surface": 'dark' | 'light'; "hasPictureFull": boolean; "hasRadius": boolean; "hasShadow": boolean; "hasVideo": boolean; "modalVideoId": string; "variant": 'grey' | 'white' | 'maxi' | 'photo' | 'mini' | 'featured'; "alignment": 'left' | 'center' | 'right'; "overlayOpacity": number; "overlayColor": string; "accPlayButtonAriaLabel": string; "copyrightText": string; "copyrightIcon": string; "copyrightIconVariant": 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; "copyrightHref": string; "copyrightTarget": string; "tooltipCopyrightTitle": string; "tooltipCopyrightText": string; "tooltipCopyrightMaxWidth": string; "imagePosition": string; "featuredRatio": string; "featuredRatioMobile": string; "featuredRatioTablet": string; "featuredRatioDesktop": string; } interface SpwIconAttributes { "icon": string; "variant": 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; } interface SpwIllustrationAttributes { "variant": IllustrationType; "width": string; "height": string; "alt": string; } interface SpwInputSliderAttributes { "min": number; "max": number; "step": number; "value": number | [number, number]; "range": boolean; "disabled": boolean; "name": string; "orientation": 'horizontal' | 'vertical'; "hasTooltip": boolean; "label": string; "assistiveText": string; "error": string; "hint": string; "success": string; "warning": string; "showErrorIcon": boolean; "showHintIcon": boolean; "showSuccessIcon": boolean; "showWarningIcon": boolean; "required": boolean; "accAriaLabel": string; "tooltipTitle": string; "tooltipText": string; "tooltipMaxWidth": string; "tooltipDirection": 'top' | 'bottom' | 'left' | 'right'; "tooltipCursor": 'pointer' | 'default' | 'help' | 'disabled'; } interface SpwLightboxAttributes { "gallery": string; "closeButtonText": string; "closeOnBackdropClick": boolean; "showThumbnails": boolean; "textDialogLabel": string; "textPrevious": string; "textNext": string; "textThumbnailsLabel": string; "textThumbnailItem": string; } interface SpwLightboxItemAttributes { "src": string; "alt": string; "captionTitle": string; "captionText": string; "copyrightText": string; "copyrightIcon": string; "copyrightIconVariant": 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; "copyrightHref": string; "copyrightTarget": string; "textOpenImage": string; "isHover": boolean; "hoverIcon": string; } interface SpwLinkAttributes { "href": string; "target": string; "rel": string; "icon": string; "download": string; "iconPosition": 'left' | 'right'; "disabled": boolean; "accAriaLabel": string; "surface": 'light' | 'dark'; } interface SpwListAttributes { "gap": 'small' | 'medium' | 'large'; "surface": 'light' | 'dark'; } interface SpwListDescriptionAttributes { "lineClamp": string; } interface SpwListItemAttributes { "variant": 'shortcut' | 'default'; "href": string; "target": string; "icon": string; "lineClamp": string | 'none'; "category": string; "categoryLink": string; "categoryIcon": string; "surface": 'light' | 'dark'; } interface SpwListTitleAttributes { "icon": string; "lineClamp": string; } interface SpwLoadingAttributes { "text": string; "surface": 'light' | 'dark'; "size": 'small' | 'medium' | 'large' | 'extra-large'; "orientation": 'horizontal' | 'vertical'; } interface SpwMessageAttributes { "variant": 'default' | 'success' | 'info' | 'alert' | 'warning'; "messageId": string; "isDismissable": boolean; "dismissableText": string; "messageTitle": string; "icon": string; "size": 'default' | 'compact'; } interface SpwModalAttributes { "opened": boolean; "caption": string; "closeButtonText": string; "closeOnOverlayClick": boolean; "stickyButtons": boolean; "size": 'small' | 'medium' | 'large' | 'fluid'; "alertIcon": string; "showCloseButton": boolean; } interface SpwMosaicAttributes { "items": string; "isMasonry": boolean; "colsMobile": number; "colsTablet": number; "colsDesktop": number; } interface SpwMosaicItemAttributes { "colSpanMobile": number; "colSpanTablet": number; "colSpanDesktop": number; } interface SpwPaginationAttributes { "totalItems": number; "itemsPerPage": number; "isDisabled": boolean; "variant": 'numbers' | 'input'; "currentPage": number; "nextButtonText": string; "previousButtonText": string; "isDynamic": boolean; } interface SpwRadioAttributes { "disabled": boolean; "checked": boolean; "error": boolean; "name": string; "value": string; "accAriaLabel": string; } interface SpwScrolltopAttributes { "threshold": number; "hideOnMobile": boolean; "accAriaLabel": string; "useWindow": boolean; } interface SpwSearchFieldAttributes { "value": string; "items": SearchItem[] | string; "placeholder": string; "size": 'large' | 'medium'; "label": string; "disabled": boolean; "isRounded": boolean; "name": string; "required": boolean; "assistiveText": string; "viewAllResults": string; "viewAllResultsLink": string; "viewAllResultsSubmit": boolean; "noResults": string; "loadingText": string; "hasSubmitButton": boolean; "minCharacters": number; "isLoading": boolean; "showDropdown": boolean; "tooltipTitle": string; "tooltipText": string; "tooltipMaxWidth": string; "tooltipDirection": 'top' | 'bottom' | 'left' | 'right'; "tooltipCursor": 'pointer' | 'default' | 'help' | 'disabled'; } interface SpwSelectAttributes { "value": string; "label": string; "placeholder": string; "disabled": boolean; "name": string; "required": boolean; "size": 'large' | 'medium'; "assistiveText": string; "error": string; "hint": string; "success": string; "warning": string; "showErrorIcon": boolean; "showHintIcon": boolean; "showSuccessIcon": boolean; "showWarningIcon": boolean; "itemLabel": string; "itemValue": string; "accAriaLabel": string; "tooltipTitle": string; "tooltipText": string; "tooltipMaxWidth": string; "tooltipDirection": 'top' | 'bottom' | 'left' | 'right'; "tooltipCursor": 'pointer' | 'default' | 'help' | 'disabled'; "isClear": boolean; } interface SpwSeparatorAttributes { "surface": 'dark' | 'light'; "direction": 'vertical' | 'horizontal'; "thickness": 1 | 2; "width": string; "height": string; } interface SpwSidebarAttributes { "defaultExpanded": boolean; } interface SpwSidebarNavigationDropdownAttributes { "open": boolean; } interface SpwSidebarNavigationItemAttributes { "href": string; "icon": string; "active": boolean; "disabled": boolean; "bubble": string; "tooltipTitle": string; "iconVariant": 'fa-solid' | 'fa-brands' | 'fa-regular'; "openOnClick": boolean; } interface SpwSkeletonAttributes { "blocks": number; "variant": 'lines' | 'text' | 'article' | 'layout'; } interface SpwSliderAttributes { "showArrows": boolean; "showDots": boolean; "showAutoplayToggle": boolean; "autoplayInterval": number; "autoplayEnabled": boolean; "autoplayText": string; "arrowsPosition": 'outside' | 'inside'; "dotsPosition": 'inside' | 'outside'; "nextSlideText": string; "accAriaLabel": string; "previousSlideText": string; "hasFixedHeight": boolean; } interface SpwSocialsAttributes { "mainTitle": string; } interface SpwTableAttributes { "accAriaLabel": string; "isSticky": boolean; "maxHeight": string; "minWidth": string; "tableLayout": 'auto' | 'fixed'; "isZebra": boolean; "disableSort": boolean; "resizable": boolean; "minHeight": number; } interface SpwTableBodyAttributes { "isZebra": boolean; } interface SpwTableCellAttributes { "colspan": HTMLTableCellElement['colSpan']; "headers": HTMLTableCellElement['headers']; "rowspan": HTMLTableCellElement['rowSpan']; "isHighlighted": boolean; "textAlign": 'center' | 'left' | 'right'; "verticalAlign": 'top' | 'bottom' | 'middle'; "width": string; "padding": 'small' | 'medium'; "state": 'default' | 'selected' | 'disabled'; "sticky": boolean; "stickyPosition": 'start' | 'end'; "stickyOffset": number; } interface SpwTableHeaderAttributes { "colspan": HTMLTableCellElement['colSpan']; "headers": HTMLTableCellElement['headers']; "rowspan": HTMLTableCellElement['rowSpan']; "isHighlighted": boolean; "textAlign": 'center' | 'left' | 'right'; "verticalAlign": 'top' | 'bottom' | 'middle'; "padding": 'small' | 'medium'; "columnId": string; "sortable": boolean; "sortDirection": 'asc' | 'desc'; "isSorted": boolean; "tooltipTitle": string; "tooltipText": string; "sticky": boolean; "stickyPosition": 'start' | 'end'; "stickyOffset": number; } interface SpwTableRowAttributes { "state": 'default' | 'selected' | 'disabled'; "padding": 'small' | 'medium'; } interface SpwTableSidebarAttributes { "defaultExpanded": boolean; "sidebarTitle": string; "sidebarIcon": string; "sidebarWidth": number; "hasReset": boolean; "resetIcon": string; } interface SpwTabsAttributes { "defaultActiveTab": string; "variant": 'default' | 'box'; "hasEllipsis": boolean; "maxWidth": number; "size": 'large' | 'medium' | 'small'; "activeTab": string; } interface SpwTabsContentAttributes { "tabId": string; "active": boolean; } interface SpwTabsNavigationAttributes { "accAriaLabel": string; "isVerticalOnMobile": boolean; "isCentered": boolean; } interface SpwTabsNavigationItemAttributes { "tabId": string; "active": boolean; "disabled": boolean; "bubble": boolean; "hasEllipsis": boolean; "icon": string; "iconPosition": 'left' | 'right'; "tagText": string; "tagVariant": 'grey' | 'blue' | 'green' | 'orange' | 'red' | 'purple' | 'default'; "tagIcon": boolean; "accAriaLabel": string; } interface SpwTagAttributes { "variant": 'grey' | 'blue' | 'green' | 'orange' | 'red' | 'purple' | 'default'; "surface": 'dark' | 'light'; "hasIcon": boolean; "icon": string; "href": string; "target": string; "size": 'extra-small' | 'small' | 'medium' | 'large'; "iconVariant": 'fa-solid' | 'fa-brands' | 'fa-regular' | 'fa-light'; "iconPosition": 'left' | 'right'; } interface SpwTextFieldAttributes { "value": string; "type": string; "label": string; "placeholder": string; "disabled": boolean; "name": string; "min": number; "max": number; "step": number; "minLength": number; "maxLength": number; "isSearch": boolean; "isClear": boolean; "required": boolean; "size": 'large' | 'medium'; "indicator": string; "assistiveText": string; "error": string; "hint": string; "success": string; "warning": string; "showErrorIcon": boolean; "showHintIcon": boolean; "showSuccessIcon": boolean; "showWarningIcon": boolean; "accAriaLabel": string; "accAriaLabelIncrement": string; "accAriaLabelDecrement": string; "hasControls": boolean; "hasSubmitButton": boolean; "mask": string; "decimalPrecision": number; "tooltipTitle": string; "tooltipText": string; "tooltipMaxWidth": string; "tooltipDirection": 'top' | 'bottom' | 'left' | 'right'; "tooltipCursor": 'pointer' | 'default' | 'help' | 'disabled'; } interface SpwTextareaAttributes { "value": string; "label": string; "placeholder": string; "disabled": boolean; "name": string; "rows": number; "minLength": number; "maxLength": number; "isSearch": boolean; "required": boolean; "size": 'large' | 'medium'; "indicator": string; "assistiveText": string; "error": string; "hint": string; "success": string; "warning": string; "showErrorIcon": boolean; "showHintIcon": boolean; "showSuccessIcon": boolean; "showWarningIcon": boolean; "tooltipTitle": string; "tooltipText": string; "tooltipMaxWidth": string; "tooltipDirection": 'top' | 'bottom' | 'left' | 'right'; "tooltipCursor": 'pointer' | 'default' | 'help' | 'disabled'; } interface SpwThemeProviderAttributes { "theme": SpwTheme; } interface SpwTileAttributes { "variant": 'icon' | 'big' | 'light'; "height": 'landscape' | 'square' | 'portrait'; "href": string; "target": string; "imageSrc": string; "imageAlt": string; "overlayOpacity": number; } interface SpwTimelineAttributes { "visibleItems": number; "showMoreText": string; "showLessText": string; } interface SpwTimelineItemAttributes { "label": string; "description": string; "state": 'default' | 'active'; "isLast": string; "variant": 'vertical' | 'horizontal'; } interface SpwToastAttributes { "variant": SpwToastVariant; "heading": string; "message": string; "linkLabel": string; "linkHref": string; "duration": number; "dismissable": boolean; "dismissText": string; "icon": string; } interface SpwToastControllerAttributes { "position": 'top-right' | 'top-left' | 'top-center' | 'bottom-right' | 'bottom-left' | 'bottom-center'; } interface SpwTocNavigationAttributes { "variant": 'progress' | 'simple'; } interface SpwTooltipAttributes { "tooltipTitle": string; "tooltipText": string; "maxWidth": string; "direction": 'top' | 'bottom' | 'left' | 'right'; "cursor": 'pointer' | 'default' | 'help' | 'disabled'; "visible": boolean; } interface SpwTopbarAttributes { "siteTitle": string; "hasWallonieLogo": boolean; "homepageLink": string; "emitLogoClick": boolean; } interface SpwWizardAttributes { "currentStep": number; "variant": 'horizontal' | 'vertical'; "canClickNextSteps": boolean; } interface SpwWizardItemAttributes { "label": string; "description": string; "additionalInfo": string; "icon": string; "state": 'inactive' | 'active' | 'completed' | 'warning' | 'error'; "status": 'inactive' | 'active' | 'completed' | 'warning' | 'error'; "isLast": string; "stepNumber": number; "variant": 'vertical' | 'horizontal'; "isClickable": string; "isBeforeCurrent": string; "isAfterCurrent": string; "isCurrent": string; } interface IntrinsicElements { "spw-accordion": Omit & { [K in keyof SpwAccordion & keyof SpwAccordionAttributes]?: SpwAccordion[K] } & { [K in keyof SpwAccordion & keyof SpwAccordionAttributes as `attr:${K}`]?: SpwAccordionAttributes[K] } & { [K in keyof SpwAccordion & keyof SpwAccordionAttributes as `prop:${K}`]?: SpwAccordion[K] }; "spw-accordion-content": SpwAccordionContent; "spw-accordion-item": Omit & { [K in keyof SpwAccordionItem & keyof SpwAccordionItemAttributes]?: SpwAccordionItem[K] } & { [K in keyof SpwAccordionItem & keyof SpwAccordionItemAttributes as `attr:${K}`]?: SpwAccordionItemAttributes[K] } & { [K in keyof SpwAccordionItem & keyof SpwAccordionItemAttributes as `prop:${K}`]?: SpwAccordionItem[K] }; "spw-accordion-title": Omit & { [K in keyof SpwAccordionTitle & keyof SpwAccordionTitleAttributes]?: SpwAccordionTitle[K] } & { [K in keyof SpwAccordionTitle & keyof SpwAccordionTitleAttributes as `attr:${K}`]?: SpwAccordionTitleAttributes[K] } & { [K in keyof SpwAccordionTitle & keyof SpwAccordionTitleAttributes as `prop:${K}`]?: SpwAccordionTitle[K] }; "spw-avatar": Omit & { [K in keyof SpwAvatar & keyof SpwAvatarAttributes]?: SpwAvatar[K] } & { [K in keyof SpwAvatar & keyof SpwAvatarAttributes as `attr:${K}`]?: SpwAvatarAttributes[K] } & { [K in keyof SpwAvatar & keyof SpwAvatarAttributes as `prop:${K}`]?: SpwAvatar[K] }; "spw-block-content": Omit & { [K in keyof SpwBlockContent & keyof SpwBlockContentAttributes]?: SpwBlockContent[K] } & { [K in keyof SpwBlockContent & keyof SpwBlockContentAttributes as `attr:${K}`]?: SpwBlockContentAttributes[K] } & { [K in keyof SpwBlockContent & keyof SpwBlockContentAttributes as `prop:${K}`]?: SpwBlockContent[K] }; "spw-box": Omit & { [K in keyof SpwBox & keyof SpwBoxAttributes]?: SpwBox[K] } & { [K in keyof SpwBox & keyof SpwBoxAttributes as `attr:${K}`]?: SpwBoxAttributes[K] } & { [K in keyof SpwBox & keyof SpwBoxAttributes as `prop:${K}`]?: SpwBox[K] }; "spw-breadcrumb": Omit & { [K in keyof SpwBreadcrumb & keyof SpwBreadcrumbAttributes]?: SpwBreadcrumb[K] } & { [K in keyof SpwBreadcrumb & keyof SpwBreadcrumbAttributes as `attr:${K}`]?: SpwBreadcrumbAttributes[K] } & { [K in keyof SpwBreadcrumb & keyof SpwBreadcrumbAttributes as `prop:${K}`]?: SpwBreadcrumb[K] }; "spw-breadcrumb-item": Omit & { [K in keyof SpwBreadcrumbItem & keyof SpwBreadcrumbItemAttributes]?: SpwBreadcrumbItem[K] } & { [K in keyof SpwBreadcrumbItem & keyof SpwBreadcrumbItemAttributes as `attr:${K}`]?: SpwBreadcrumbItemAttributes[K] } & { [K in keyof SpwBreadcrumbItem & keyof SpwBreadcrumbItemAttributes as `prop:${K}`]?: SpwBreadcrumbItem[K] }; "spw-button": Omit & { [K in keyof SpwButton & keyof SpwButtonAttributes]?: SpwButton[K] } & { [K in keyof SpwButton & keyof SpwButtonAttributes as `attr:${K}`]?: SpwButtonAttributes[K] } & { [K in keyof SpwButton & keyof SpwButtonAttributes as `prop:${K}`]?: SpwButton[K] }; "spw-card": Omit & { [K in keyof SpwCard & keyof SpwCardAttributes]?: SpwCard[K] } & { [K in keyof SpwCard & keyof SpwCardAttributes as `attr:${K}`]?: SpwCardAttributes[K] } & { [K in keyof SpwCard & keyof SpwCardAttributes as `prop:${K}`]?: SpwCard[K] }; "spw-card-content": Omit & { [K in keyof SpwCardContent & keyof SpwCardContentAttributes]?: SpwCardContent[K] } & { [K in keyof SpwCardContent & keyof SpwCardContentAttributes as `attr:${K}`]?: SpwCardContentAttributes[K] } & { [K in keyof SpwCardContent & keyof SpwCardContentAttributes as `prop:${K}`]?: SpwCardContent[K] }; "spw-card-excerpt": Omit & { [K in keyof SpwCardExcerpt & keyof SpwCardExcerptAttributes]?: SpwCardExcerpt[K] } & { [K in keyof SpwCardExcerpt & keyof SpwCardExcerptAttributes as `attr:${K}`]?: SpwCardExcerptAttributes[K] } & { [K in keyof SpwCardExcerpt & keyof SpwCardExcerptAttributes as `prop:${K}`]?: SpwCardExcerpt[K] }; "spw-card-image": Omit & { [K in keyof SpwCardImage & keyof SpwCardImageAttributes]?: SpwCardImage[K] } & { [K in keyof SpwCardImage & keyof SpwCardImageAttributes as `attr:${K}`]?: SpwCardImageAttributes[K] } & { [K in keyof SpwCardImage & keyof SpwCardImageAttributes as `prop:${K}`]?: SpwCardImage[K] }; "spw-card-subtag-item": Omit & { [K in keyof SpwCardSubtagItem & keyof SpwCardSubtagItemAttributes]?: SpwCardSubtagItem[K] } & { [K in keyof SpwCardSubtagItem & keyof SpwCardSubtagItemAttributes as `attr:${K}`]?: SpwCardSubtagItemAttributes[K] } & { [K in keyof SpwCardSubtagItem & keyof SpwCardSubtagItemAttributes as `prop:${K}`]?: SpwCardSubtagItem[K] }; "spw-card-subtags": Omit & { [K in keyof SpwCardSubtags & keyof SpwCardSubtagsAttributes]?: SpwCardSubtags[K] } & { [K in keyof SpwCardSubtags & keyof SpwCardSubtagsAttributes as `attr:${K}`]?: SpwCardSubtagsAttributes[K] } & { [K in keyof SpwCardSubtags & keyof SpwCardSubtagsAttributes as `prop:${K}`]?: SpwCardSubtags[K] }; "spw-card-title": Omit & { [K in keyof SpwCardTitle & keyof SpwCardTitleAttributes]?: SpwCardTitle[K] } & { [K in keyof SpwCardTitle & keyof SpwCardTitleAttributes as `attr:${K}`]?: SpwCardTitleAttributes[K] } & { [K in keyof SpwCardTitle & keyof SpwCardTitleAttributes as `prop:${K}`]?: SpwCardTitle[K] }; "spw-checkbox": Omit & { [K in keyof SpwCheckbox & keyof SpwCheckboxAttributes]?: SpwCheckbox[K] } & { [K in keyof SpwCheckbox & keyof SpwCheckboxAttributes as `attr:${K}`]?: SpwCheckboxAttributes[K] } & { [K in keyof SpwCheckbox & keyof SpwCheckboxAttributes as `prop:${K}`]?: SpwCheckbox[K] }; "spw-cookies": Omit & { [K in keyof SpwCookies & keyof SpwCookiesAttributes]?: SpwCookies[K] } & { [K in keyof SpwCookies & keyof SpwCookiesAttributes as `attr:${K}`]?: SpwCookiesAttributes[K] } & { [K in keyof SpwCookies & keyof SpwCookiesAttributes as `prop:${K}`]?: SpwCookies[K] }; "spw-custom-select": Omit & { [K in keyof SpwCustomSelect & keyof SpwCustomSelectAttributes]?: SpwCustomSelect[K] } & { [K in keyof SpwCustomSelect & keyof SpwCustomSelectAttributes as `attr:${K}`]?: SpwCustomSelectAttributes[K] } & { [K in keyof SpwCustomSelect & keyof SpwCustomSelectAttributes as `prop:${K}`]?: SpwCustomSelect[K] }; "spw-date-picker": Omit & { [K in keyof SpwDatePicker & keyof SpwDatePickerAttributes]?: SpwDatePicker[K] } & { [K in keyof SpwDatePicker & keyof SpwDatePickerAttributes as `attr:${K}`]?: SpwDatePickerAttributes[K] } & { [K in keyof SpwDatePicker & keyof SpwDatePickerAttributes as `prop:${K}`]?: SpwDatePicker[K] }; "spw-dropdown": Omit & { [K in keyof SpwDropdown & keyof SpwDropdownAttributes]?: SpwDropdown[K] } & { [K in keyof SpwDropdown & keyof SpwDropdownAttributes as `attr:${K}`]?: SpwDropdownAttributes[K] } & { [K in keyof SpwDropdown & keyof SpwDropdownAttributes as `prop:${K}`]?: SpwDropdown[K] }; "spw-dropdown-container": SpwDropdownContainer; "spw-dropdown-item": Omit & { [K in keyof SpwDropdownItem & keyof SpwDropdownItemAttributes]?: SpwDropdownItem[K] } & { [K in keyof SpwDropdownItem & keyof SpwDropdownItemAttributes as `attr:${K}`]?: SpwDropdownItemAttributes[K] } & { [K in keyof SpwDropdownItem & keyof SpwDropdownItemAttributes as `prop:${K}`]?: SpwDropdownItem[K] }; "spw-field-label": Omit & { [K in keyof SpwFieldLabel & keyof SpwFieldLabelAttributes]?: SpwFieldLabel[K] } & { [K in keyof SpwFieldLabel & keyof SpwFieldLabelAttributes as `attr:${K}`]?: SpwFieldLabelAttributes[K] } & { [K in keyof SpwFieldLabel & keyof SpwFieldLabelAttributes as `prop:${K}`]?: SpwFieldLabel[K] }; "spw-field-message": Omit & { [K in keyof SpwFieldMessage & keyof SpwFieldMessageAttributes]?: SpwFieldMessage[K] } & { [K in keyof SpwFieldMessage & keyof SpwFieldMessageAttributes as `attr:${K}`]?: SpwFieldMessageAttributes[K] } & { [K in keyof SpwFieldMessage & keyof SpwFieldMessageAttributes as `prop:${K}`]?: SpwFieldMessage[K] }; "spw-file-upload": Omit & { [K in keyof SpwFileUpload & keyof SpwFileUploadAttributes]?: SpwFileUpload[K] } & { [K in keyof SpwFileUpload & keyof SpwFileUploadAttributes as `attr:${K}`]?: SpwFileUploadAttributes[K] } & { [K in keyof SpwFileUpload & keyof SpwFileUploadAttributes as `prop:${K}`]?: SpwFileUpload[K] }; "spw-footer": Omit & { [K in keyof SpwFooter & keyof SpwFooterAttributes]?: SpwFooter[K] } & { [K in keyof SpwFooter & keyof SpwFooterAttributes as `attr:${K}`]?: SpwFooterAttributes[K] } & { [K in keyof SpwFooter & keyof SpwFooterAttributes as `prop:${K}`]?: SpwFooter[K] }; "spw-footer-bottom": Omit & { [K in keyof SpwFooterBottom & keyof SpwFooterBottomAttributes]?: SpwFooterBottom[K] } & { [K in keyof SpwFooterBottom & keyof SpwFooterBottomAttributes as `attr:${K}`]?: SpwFooterBottomAttributes[K] } & { [K in keyof SpwFooterBottom & keyof SpwFooterBottomAttributes as `prop:${K}`]?: SpwFooterBottom[K] }; "spw-footer-content": SpwFooterContent; "spw-footer-content-col": Omit & { [K in keyof SpwFooterContentCol & keyof SpwFooterContentColAttributes]?: SpwFooterContentCol[K] } & { [K in keyof SpwFooterContentCol & keyof SpwFooterContentColAttributes as `attr:${K}`]?: SpwFooterContentColAttributes[K] } & { [K in keyof SpwFooterContentCol & keyof SpwFooterContentColAttributes as `prop:${K}`]?: SpwFooterContentCol[K] }; "spw-footer-link": Omit & { [K in keyof SpwFooterLink & keyof SpwFooterLinkAttributes]?: SpwFooterLink[K] } & { [K in keyof SpwFooterLink & keyof SpwFooterLinkAttributes as `attr:${K}`]?: SpwFooterLinkAttributes[K] } & { [K in keyof SpwFooterLink & keyof SpwFooterLinkAttributes as `prop:${K}`]?: SpwFooterLink[K] }; "spw-grid": Omit & { [K in keyof SpwGrid & keyof SpwGridAttributes]?: SpwGrid[K] } & { [K in keyof SpwGrid & keyof SpwGridAttributes as `attr:${K}`]?: SpwGridAttributes[K] } & { [K in keyof SpwGrid & keyof SpwGridAttributes as `prop:${K}`]?: SpwGrid[K] }; "spw-grid-item": Omit & { [K in keyof SpwGridItem & keyof SpwGridItemAttributes]?: SpwGridItem[K] } & { [K in keyof SpwGridItem & keyof SpwGridItemAttributes as `attr:${K}`]?: SpwGridItemAttributes[K] } & { [K in keyof SpwGridItem & keyof SpwGridItemAttributes as `prop:${K}`]?: SpwGridItem[K] }; "spw-group": Omit & { [K in keyof SpwGroup & keyof SpwGroupAttributes]?: SpwGroup[K] } & { [K in keyof SpwGroup & keyof SpwGroupAttributes as `attr:${K}`]?: SpwGroupAttributes[K] } & { [K in keyof SpwGroup & keyof SpwGroupAttributes as `prop:${K}`]?: SpwGroup[K] }; "spw-header": Omit & { [K in keyof SpwHeader & keyof SpwHeaderAttributes]?: SpwHeader[K] } & { [K in keyof SpwHeader & keyof SpwHeaderAttributes as `attr:${K}`]?: SpwHeaderAttributes[K] } & { [K in keyof SpwHeader & keyof SpwHeaderAttributes as `prop:${K}`]?: SpwHeader[K] }; "spw-header-lang": Omit & { [K in keyof SpwHeaderLang & keyof SpwHeaderLangAttributes]?: SpwHeaderLang[K] } & { [K in keyof SpwHeaderLang & keyof SpwHeaderLangAttributes as `attr:${K}`]?: SpwHeaderLangAttributes[K] } & { [K in keyof SpwHeaderLang & keyof SpwHeaderLangAttributes as `prop:${K}`]?: SpwHeaderLang[K] }; "spw-header-navigation": Omit & { [K in keyof SpwHeaderNavigation & keyof SpwHeaderNavigationAttributes]?: SpwHeaderNavigation[K] } & { [K in keyof SpwHeaderNavigation & keyof SpwHeaderNavigationAttributes as `attr:${K}`]?: SpwHeaderNavigationAttributes[K] } & { [K in keyof SpwHeaderNavigation & keyof SpwHeaderNavigationAttributes as `prop:${K}`]?: SpwHeaderNavigation[K] }; "spw-header-navigation-dropdown": Omit & { [K in keyof SpwHeaderNavigationDropdown & keyof SpwHeaderNavigationDropdownAttributes]?: SpwHeaderNavigationDropdown[K] } & { [K in keyof SpwHeaderNavigationDropdown & keyof SpwHeaderNavigationDropdownAttributes as `attr:${K}`]?: SpwHeaderNavigationDropdownAttributes[K] } & { [K in keyof SpwHeaderNavigationDropdown & keyof SpwHeaderNavigationDropdownAttributes as `prop:${K}`]?: SpwHeaderNavigationDropdown[K] }; "spw-header-navigation-item": Omit & { [K in keyof SpwHeaderNavigationItem & keyof SpwHeaderNavigationItemAttributes]?: SpwHeaderNavigationItem[K] } & { [K in keyof SpwHeaderNavigationItem & keyof SpwHeaderNavigationItemAttributes as `attr:${K}`]?: SpwHeaderNavigationItemAttributes[K] } & { [K in keyof SpwHeaderNavigationItem & keyof SpwHeaderNavigationItemAttributes as `prop:${K}`]?: SpwHeaderNavigationItem[K] }; "spw-header-persona": Omit & { [K in keyof SpwHeaderPersona & keyof SpwHeaderPersonaAttributes]?: SpwHeaderPersona[K] } & { [K in keyof SpwHeaderPersona & keyof SpwHeaderPersonaAttributes as `attr:${K}`]?: SpwHeaderPersonaAttributes[K] } & { [K in keyof SpwHeaderPersona & keyof SpwHeaderPersonaAttributes as `prop:${K}`]?: SpwHeaderPersona[K] }; "spw-header-persona-item": Omit & { [K in keyof SpwHeaderPersonaItem & keyof SpwHeaderPersonaItemAttributes]?: SpwHeaderPersonaItem[K] } & { [K in keyof SpwHeaderPersonaItem & keyof SpwHeaderPersonaItemAttributes as `attr:${K}`]?: SpwHeaderPersonaItemAttributes[K] } & { [K in keyof SpwHeaderPersonaItem & keyof SpwHeaderPersonaItemAttributes as `prop:${K}`]?: SpwHeaderPersonaItem[K] }; "spw-hero": Omit & { [K in keyof SpwHero & keyof SpwHeroAttributes]?: SpwHero[K] } & { [K in keyof SpwHero & keyof SpwHeroAttributes as `attr:${K}`]?: SpwHeroAttributes[K] } & { [K in keyof SpwHero & keyof SpwHeroAttributes as `prop:${K}`]?: SpwHero[K] }; "spw-icon": Omit & { [K in keyof SpwIcon & keyof SpwIconAttributes]?: SpwIcon[K] } & { [K in keyof SpwIcon & keyof SpwIconAttributes as `attr:${K}`]?: SpwIconAttributes[K] } & { [K in keyof SpwIcon & keyof SpwIconAttributes as `prop:${K}`]?: SpwIcon[K] }; "spw-illustration": Omit & { [K in keyof SpwIllustration & keyof SpwIllustrationAttributes]?: SpwIllustration[K] } & { [K in keyof SpwIllustration & keyof SpwIllustrationAttributes as `attr:${K}`]?: SpwIllustrationAttributes[K] } & { [K in keyof SpwIllustration & keyof SpwIllustrationAttributes as `prop:${K}`]?: SpwIllustration[K] } & OneOf<"variant", SpwIllustration["variant"]>; "spw-input-slider": Omit & { [K in keyof SpwInputSlider & keyof SpwInputSliderAttributes]?: SpwInputSlider[K] } & { [K in keyof SpwInputSlider & keyof SpwInputSliderAttributes as `attr:${K}`]?: SpwInputSliderAttributes[K] } & { [K in keyof SpwInputSlider & keyof SpwInputSliderAttributes as `prop:${K}`]?: SpwInputSlider[K] }; "spw-lightbox": Omit & { [K in keyof SpwLightbox & keyof SpwLightboxAttributes]?: SpwLightbox[K] } & { [K in keyof SpwLightbox & keyof SpwLightboxAttributes as `attr:${K}`]?: SpwLightboxAttributes[K] } & { [K in keyof SpwLightbox & keyof SpwLightboxAttributes as `prop:${K}`]?: SpwLightbox[K] }; "spw-lightbox-item": Omit & { [K in keyof SpwLightboxItem & keyof SpwLightboxItemAttributes]?: SpwLightboxItem[K] } & { [K in keyof SpwLightboxItem & keyof SpwLightboxItemAttributes as `attr:${K}`]?: SpwLightboxItemAttributes[K] } & { [K in keyof SpwLightboxItem & keyof SpwLightboxItemAttributes as `prop:${K}`]?: SpwLightboxItem[K] } & OneOf<"src", SpwLightboxItem["src"]>; "spw-link": Omit & { [K in keyof SpwLink & keyof SpwLinkAttributes]?: SpwLink[K] } & { [K in keyof SpwLink & keyof SpwLinkAttributes as `attr:${K}`]?: SpwLinkAttributes[K] } & { [K in keyof SpwLink & keyof SpwLinkAttributes as `prop:${K}`]?: SpwLink[K] }; "spw-list": Omit & { [K in keyof SpwList & keyof SpwListAttributes]?: SpwList[K] } & { [K in keyof SpwList & keyof SpwListAttributes as `attr:${K}`]?: SpwListAttributes[K] } & { [K in keyof SpwList & keyof SpwListAttributes as `prop:${K}`]?: SpwList[K] }; "spw-list-description": Omit & { [K in keyof SpwListDescription & keyof SpwListDescriptionAttributes]?: SpwListDescription[K] } & { [K in keyof SpwListDescription & keyof SpwListDescriptionAttributes as `attr:${K}`]?: SpwListDescriptionAttributes[K] } & { [K in keyof SpwListDescription & keyof SpwListDescriptionAttributes as `prop:${K}`]?: SpwListDescription[K] }; "spw-list-item": Omit & { [K in keyof SpwListItem & keyof SpwListItemAttributes]?: SpwListItem[K] } & { [K in keyof SpwListItem & keyof SpwListItemAttributes as `attr:${K}`]?: SpwListItemAttributes[K] } & { [K in keyof SpwListItem & keyof SpwListItemAttributes as `prop:${K}`]?: SpwListItem[K] }; "spw-list-title": Omit & { [K in keyof SpwListTitle & keyof SpwListTitleAttributes]?: SpwListTitle[K] } & { [K in keyof SpwListTitle & keyof SpwListTitleAttributes as `attr:${K}`]?: SpwListTitleAttributes[K] } & { [K in keyof SpwListTitle & keyof SpwListTitleAttributes as `prop:${K}`]?: SpwListTitle[K] }; "spw-loading": Omit & { [K in keyof SpwLoading & keyof SpwLoadingAttributes]?: SpwLoading[K] } & { [K in keyof SpwLoading & keyof SpwLoadingAttributes as `attr:${K}`]?: SpwLoadingAttributes[K] } & { [K in keyof SpwLoading & keyof SpwLoadingAttributes as `prop:${K}`]?: SpwLoading[K] }; "spw-message": Omit & { [K in keyof SpwMessage & keyof SpwMessageAttributes]?: SpwMessage[K] } & { [K in keyof SpwMessage & keyof SpwMessageAttributes as `attr:${K}`]?: SpwMessageAttributes[K] } & { [K in keyof SpwMessage & keyof SpwMessageAttributes as `prop:${K}`]?: SpwMessage[K] }; "spw-modal": Omit & { [K in keyof SpwModal & keyof SpwModalAttributes]?: SpwModal[K] } & { [K in keyof SpwModal & keyof SpwModalAttributes as `attr:${K}`]?: SpwModalAttributes[K] } & { [K in keyof SpwModal & keyof SpwModalAttributes as `prop:${K}`]?: SpwModal[K] }; "spw-mosaic": Omit & { [K in keyof SpwMosaic & keyof SpwMosaicAttributes]?: SpwMosaic[K] } & { [K in keyof SpwMosaic & keyof SpwMosaicAttributes as `attr:${K}`]?: SpwMosaicAttributes[K] } & { [K in keyof SpwMosaic & keyof SpwMosaicAttributes as `prop:${K}`]?: SpwMosaic[K] }; "spw-mosaic-item": Omit & { [K in keyof SpwMosaicItem & keyof SpwMosaicItemAttributes]?: SpwMosaicItem[K] } & { [K in keyof SpwMosaicItem & keyof SpwMosaicItemAttributes as `attr:${K}`]?: SpwMosaicItemAttributes[K] } & { [K in keyof SpwMosaicItem & keyof SpwMosaicItemAttributes as `prop:${K}`]?: SpwMosaicItem[K] }; "spw-pagination": Omit & { [K in keyof SpwPagination & keyof SpwPaginationAttributes]?: SpwPagination[K] } & { [K in keyof SpwPagination & keyof SpwPaginationAttributes as `attr:${K}`]?: SpwPaginationAttributes[K] } & { [K in keyof SpwPagination & keyof SpwPaginationAttributes as `prop:${K}`]?: SpwPagination[K] }; "spw-radio": Omit & { [K in keyof SpwRadio & keyof SpwRadioAttributes]?: SpwRadio[K] } & { [K in keyof SpwRadio & keyof SpwRadioAttributes as `attr:${K}`]?: SpwRadioAttributes[K] } & { [K in keyof SpwRadio & keyof SpwRadioAttributes as `prop:${K}`]?: SpwRadio[K] }; "spw-scrolltop": Omit & { [K in keyof SpwScrolltop & keyof SpwScrolltopAttributes]?: SpwScrolltop[K] } & { [K in keyof SpwScrolltop & keyof SpwScrolltopAttributes as `attr:${K}`]?: SpwScrolltopAttributes[K] } & { [K in keyof SpwScrolltop & keyof SpwScrolltopAttributes as `prop:${K}`]?: SpwScrolltop[K] }; "spw-search-field": Omit & { [K in keyof SpwSearchField & keyof SpwSearchFieldAttributes]?: SpwSearchField[K] } & { [K in keyof SpwSearchField & keyof SpwSearchFieldAttributes as `attr:${K}`]?: SpwSearchFieldAttributes[K] } & { [K in keyof SpwSearchField & keyof SpwSearchFieldAttributes as `prop:${K}`]?: SpwSearchField[K] }; "spw-select": Omit & { [K in keyof SpwSelect & keyof SpwSelectAttributes]?: SpwSelect[K] } & { [K in keyof SpwSelect & keyof SpwSelectAttributes as `attr:${K}`]?: SpwSelectAttributes[K] } & { [K in keyof SpwSelect & keyof SpwSelectAttributes as `prop:${K}`]?: SpwSelect[K] }; "spw-separator": Omit & { [K in keyof SpwSeparator & keyof SpwSeparatorAttributes]?: SpwSeparator[K] } & { [K in keyof SpwSeparator & keyof SpwSeparatorAttributes as `attr:${K}`]?: SpwSeparatorAttributes[K] } & { [K in keyof SpwSeparator & keyof SpwSeparatorAttributes as `prop:${K}`]?: SpwSeparator[K] }; "spw-sidebar": Omit & { [K in keyof SpwSidebar & keyof SpwSidebarAttributes]?: SpwSidebar[K] } & { [K in keyof SpwSidebar & keyof SpwSidebarAttributes as `attr:${K}`]?: SpwSidebarAttributes[K] } & { [K in keyof SpwSidebar & keyof SpwSidebarAttributes as `prop:${K}`]?: SpwSidebar[K] }; "spw-sidebar-navigation-dropdown": Omit & { [K in keyof SpwSidebarNavigationDropdown & keyof SpwSidebarNavigationDropdownAttributes]?: SpwSidebarNavigationDropdown[K] } & { [K in keyof SpwSidebarNavigationDropdown & keyof SpwSidebarNavigationDropdownAttributes as `attr:${K}`]?: SpwSidebarNavigationDropdownAttributes[K] } & { [K in keyof SpwSidebarNavigationDropdown & keyof SpwSidebarNavigationDropdownAttributes as `prop:${K}`]?: SpwSidebarNavigationDropdown[K] }; "spw-sidebar-navigation-item": Omit & { [K in keyof SpwSidebarNavigationItem & keyof SpwSidebarNavigationItemAttributes]?: SpwSidebarNavigationItem[K] } & { [K in keyof SpwSidebarNavigationItem & keyof SpwSidebarNavigationItemAttributes as `attr:${K}`]?: SpwSidebarNavigationItemAttributes[K] } & { [K in keyof SpwSidebarNavigationItem & keyof SpwSidebarNavigationItemAttributes as `prop:${K}`]?: SpwSidebarNavigationItem[K] }; "spw-sidebar-navigation-separator": SpwSidebarNavigationSeparator; "spw-skeleton": Omit & { [K in keyof SpwSkeleton & keyof SpwSkeletonAttributes]?: SpwSkeleton[K] } & { [K in keyof SpwSkeleton & keyof SpwSkeletonAttributes as `attr:${K}`]?: SpwSkeletonAttributes[K] } & { [K in keyof SpwSkeleton & keyof SpwSkeletonAttributes as `prop:${K}`]?: SpwSkeleton[K] }; "spw-slider": Omit & { [K in keyof SpwSlider & keyof SpwSliderAttributes]?: SpwSlider[K] } & { [K in keyof SpwSlider & keyof SpwSliderAttributes as `attr:${K}`]?: SpwSliderAttributes[K] } & { [K in keyof SpwSlider & keyof SpwSliderAttributes as `prop:${K}`]?: SpwSlider[K] }; "spw-slider-item": SpwSliderItem; "spw-socials": Omit & { [K in keyof SpwSocials & keyof SpwSocialsAttributes]?: SpwSocials[K] } & { [K in keyof SpwSocials & keyof SpwSocialsAttributes as `attr:${K}`]?: SpwSocialsAttributes[K] } & { [K in keyof SpwSocials & keyof SpwSocialsAttributes as `prop:${K}`]?: SpwSocials[K] }; "spw-table": Omit & { [K in keyof SpwTable & keyof SpwTableAttributes]?: SpwTable[K] } & { [K in keyof SpwTable & keyof SpwTableAttributes as `attr:${K}`]?: SpwTableAttributes[K] } & { [K in keyof SpwTable & keyof SpwTableAttributes as `prop:${K}`]?: SpwTable[K] }; "spw-table-body": Omit & { [K in keyof SpwTableBody & keyof SpwTableBodyAttributes]?: SpwTableBody[K] } & { [K in keyof SpwTableBody & keyof SpwTableBodyAttributes as `attr:${K}`]?: SpwTableBodyAttributes[K] } & { [K in keyof SpwTableBody & keyof SpwTableBodyAttributes as `prop:${K}`]?: SpwTableBody[K] }; "spw-table-cell": Omit & { [K in keyof SpwTableCell & keyof SpwTableCellAttributes]?: SpwTableCell[K] } & { [K in keyof SpwTableCell & keyof SpwTableCellAttributes as `attr:${K}`]?: SpwTableCellAttributes[K] } & { [K in keyof SpwTableCell & keyof SpwTableCellAttributes as `prop:${K}`]?: SpwTableCell[K] }; "spw-table-container": SpwTableContainer; "spw-table-footer": SpwTableFooter; "spw-table-head": SpwTableHead; "spw-table-header": Omit & { [K in keyof SpwTableHeader & keyof SpwTableHeaderAttributes]?: SpwTableHeader[K] } & { [K in keyof SpwTableHeader & keyof SpwTableHeaderAttributes as `attr:${K}`]?: SpwTableHeaderAttributes[K] } & { [K in keyof SpwTableHeader & keyof SpwTableHeaderAttributes as `prop:${K}`]?: SpwTableHeader[K] }; "spw-table-row": Omit & { [K in keyof SpwTableRow & keyof SpwTableRowAttributes]?: SpwTableRow[K] } & { [K in keyof SpwTableRow & keyof SpwTableRowAttributes as `attr:${K}`]?: SpwTableRowAttributes[K] } & { [K in keyof SpwTableRow & keyof SpwTableRowAttributes as `prop:${K}`]?: SpwTableRow[K] }; "spw-table-sidebar": Omit & { [K in keyof SpwTableSidebar & keyof SpwTableSidebarAttributes]?: SpwTableSidebar[K] } & { [K in keyof SpwTableSidebar & keyof SpwTableSidebarAttributes as `attr:${K}`]?: SpwTableSidebarAttributes[K] } & { [K in keyof SpwTableSidebar & keyof SpwTableSidebarAttributes as `prop:${K}`]?: SpwTableSidebar[K] }; "spw-tabs": Omit & { [K in keyof SpwTabs & keyof SpwTabsAttributes]?: SpwTabs[K] } & { [K in keyof SpwTabs & keyof SpwTabsAttributes as `attr:${K}`]?: SpwTabsAttributes[K] } & { [K in keyof SpwTabs & keyof SpwTabsAttributes as `prop:${K}`]?: SpwTabs[K] }; "spw-tabs-content": Omit & { [K in keyof SpwTabsContent & keyof SpwTabsContentAttributes]?: SpwTabsContent[K] } & { [K in keyof SpwTabsContent & keyof SpwTabsContentAttributes as `attr:${K}`]?: SpwTabsContentAttributes[K] } & { [K in keyof SpwTabsContent & keyof SpwTabsContentAttributes as `prop:${K}`]?: SpwTabsContent[K] } & OneOf<"tabId", SpwTabsContent["tabId"]>; "spw-tabs-navigation": Omit & { [K in keyof SpwTabsNavigation & keyof SpwTabsNavigationAttributes]?: SpwTabsNavigation[K] } & { [K in keyof SpwTabsNavigation & keyof SpwTabsNavigationAttributes as `attr:${K}`]?: SpwTabsNavigationAttributes[K] } & { [K in keyof SpwTabsNavigation & keyof SpwTabsNavigationAttributes as `prop:${K}`]?: SpwTabsNavigation[K] }; "spw-tabs-navigation-item": Omit & { [K in keyof SpwTabsNavigationItem & keyof SpwTabsNavigationItemAttributes]?: SpwTabsNavigationItem[K] } & { [K in keyof SpwTabsNavigationItem & keyof SpwTabsNavigationItemAttributes as `attr:${K}`]?: SpwTabsNavigationItemAttributes[K] } & { [K in keyof SpwTabsNavigationItem & keyof SpwTabsNavigationItemAttributes as `prop:${K}`]?: SpwTabsNavigationItem[K] } & OneOf<"tabId", SpwTabsNavigationItem["tabId"]>; "spw-tag": Omit & { [K in keyof SpwTag & keyof SpwTagAttributes]?: SpwTag[K] } & { [K in keyof SpwTag & keyof SpwTagAttributes as `attr:${K}`]?: SpwTagAttributes[K] } & { [K in keyof SpwTag & keyof SpwTagAttributes as `prop:${K}`]?: SpwTag[K] }; "spw-text-field": Omit & { [K in keyof SpwTextField & keyof SpwTextFieldAttributes]?: SpwTextField[K] } & { [K in keyof SpwTextField & keyof SpwTextFieldAttributes as `attr:${K}`]?: SpwTextFieldAttributes[K] } & { [K in keyof SpwTextField & keyof SpwTextFieldAttributes as `prop:${K}`]?: SpwTextField[K] }; "spw-textarea": Omit & { [K in keyof SpwTextarea & keyof SpwTextareaAttributes]?: SpwTextarea[K] } & { [K in keyof SpwTextarea & keyof SpwTextareaAttributes as `attr:${K}`]?: SpwTextareaAttributes[K] } & { [K in keyof SpwTextarea & keyof SpwTextareaAttributes as `prop:${K}`]?: SpwTextarea[K] }; "spw-theme-provider": Omit & { [K in keyof SpwThemeProvider & keyof SpwThemeProviderAttributes]?: SpwThemeProvider[K] } & { [K in keyof SpwThemeProvider & keyof SpwThemeProviderAttributes as `attr:${K}`]?: SpwThemeProviderAttributes[K] } & { [K in keyof SpwThemeProvider & keyof SpwThemeProviderAttributes as `prop:${K}`]?: SpwThemeProvider[K] }; "spw-tile": Omit & { [K in keyof SpwTile & keyof SpwTileAttributes]?: SpwTile[K] } & { [K in keyof SpwTile & keyof SpwTileAttributes as `attr:${K}`]?: SpwTileAttributes[K] } & { [K in keyof SpwTile & keyof SpwTileAttributes as `prop:${K}`]?: SpwTile[K] }; "spw-tile-description": SpwTileDescription; "spw-tile-title": SpwTileTitle; "spw-timeline": Omit & { [K in keyof SpwTimeline & keyof SpwTimelineAttributes]?: SpwTimeline[K] } & { [K in keyof SpwTimeline & keyof SpwTimelineAttributes as `attr:${K}`]?: SpwTimelineAttributes[K] } & { [K in keyof SpwTimeline & keyof SpwTimelineAttributes as `prop:${K}`]?: SpwTimeline[K] }; "spw-timeline-item": Omit & { [K in keyof SpwTimelineItem & keyof SpwTimelineItemAttributes]?: SpwTimelineItem[K] } & { [K in keyof SpwTimelineItem & keyof SpwTimelineItemAttributes as `attr:${K}`]?: SpwTimelineItemAttributes[K] } & { [K in keyof SpwTimelineItem & keyof SpwTimelineItemAttributes as `prop:${K}`]?: SpwTimelineItem[K] }; "spw-toast": Omit & { [K in keyof SpwToast & keyof SpwToastAttributes]?: SpwToast[K] } & { [K in keyof SpwToast & keyof SpwToastAttributes as `attr:${K}`]?: SpwToastAttributes[K] } & { [K in keyof SpwToast & keyof SpwToastAttributes as `prop:${K}`]?: SpwToast[K] }; "spw-toast-controller": Omit & { [K in keyof SpwToastController & keyof SpwToastControllerAttributes]?: SpwToastController[K] } & { [K in keyof SpwToastController & keyof SpwToastControllerAttributes as `attr:${K}`]?: SpwToastControllerAttributes[K] } & { [K in keyof SpwToastController & keyof SpwToastControllerAttributes as `prop:${K}`]?: SpwToastController[K] }; "spw-toc": SpwToc; "spw-toc-container": SpwTocContainer; "spw-toc-navigation": Omit & { [K in keyof SpwTocNavigation & keyof SpwTocNavigationAttributes]?: SpwTocNavigation[K] } & { [K in keyof SpwTocNavigation & keyof SpwTocNavigationAttributes as `attr:${K}`]?: SpwTocNavigationAttributes[K] } & { [K in keyof SpwTocNavigation & keyof SpwTocNavigationAttributes as `prop:${K}`]?: SpwTocNavigation[K] }; "spw-tooltip": Omit & { [K in keyof SpwTooltip & keyof SpwTooltipAttributes]?: SpwTooltip[K] } & { [K in keyof SpwTooltip & keyof SpwTooltipAttributes as `attr:${K}`]?: SpwTooltipAttributes[K] } & { [K in keyof SpwTooltip & keyof SpwTooltipAttributes as `prop:${K}`]?: SpwTooltip[K] }; "spw-topbar": Omit & { [K in keyof SpwTopbar & keyof SpwTopbarAttributes]?: SpwTopbar[K] } & { [K in keyof SpwTopbar & keyof SpwTopbarAttributes as `attr:${K}`]?: SpwTopbarAttributes[K] } & { [K in keyof SpwTopbar & keyof SpwTopbarAttributes as `prop:${K}`]?: SpwTopbar[K] }; "spw-wizard": Omit & { [K in keyof SpwWizard & keyof SpwWizardAttributes]?: SpwWizard[K] } & { [K in keyof SpwWizard & keyof SpwWizardAttributes as `attr:${K}`]?: SpwWizardAttributes[K] } & { [K in keyof SpwWizard & keyof SpwWizardAttributes as `prop:${K}`]?: SpwWizard[K] }; "spw-wizard-item": Omit & { [K in keyof SpwWizardItem & keyof SpwWizardItemAttributes]?: SpwWizardItem[K] } & { [K in keyof SpwWizardItem & keyof SpwWizardItemAttributes as `attr:${K}`]?: SpwWizardItemAttributes[K] } & { [K in keyof SpwWizardItem & keyof SpwWizardItemAttributes as `prop:${K}`]?: SpwWizardItem[K] }; } } export { LocalJSX as JSX }; declare module "@stencil/core" { export namespace JSX { interface IntrinsicElements { "spw-accordion": LocalJSX.IntrinsicElements["spw-accordion"] & JSXBase.HTMLAttributes; "spw-accordion-content": LocalJSX.IntrinsicElements["spw-accordion-content"] & JSXBase.HTMLAttributes; "spw-accordion-item": LocalJSX.IntrinsicElements["spw-accordion-item"] & JSXBase.HTMLAttributes; "spw-accordion-title": LocalJSX.IntrinsicElements["spw-accordion-title"] & JSXBase.HTMLAttributes; "spw-avatar": LocalJSX.IntrinsicElements["spw-avatar"] & JSXBase.HTMLAttributes; "spw-block-content": LocalJSX.IntrinsicElements["spw-block-content"] & JSXBase.HTMLAttributes; "spw-box": LocalJSX.IntrinsicElements["spw-box"] & JSXBase.HTMLAttributes; "spw-breadcrumb": LocalJSX.IntrinsicElements["spw-breadcrumb"] & JSXBase.HTMLAttributes; "spw-breadcrumb-item": LocalJSX.IntrinsicElements["spw-breadcrumb-item"] & JSXBase.HTMLAttributes; "spw-button": LocalJSX.IntrinsicElements["spw-button"] & JSXBase.HTMLAttributes; "spw-card": LocalJSX.IntrinsicElements["spw-card"] & JSXBase.HTMLAttributes; "spw-card-content": LocalJSX.IntrinsicElements["spw-card-content"] & JSXBase.HTMLAttributes; "spw-card-excerpt": LocalJSX.IntrinsicElements["spw-card-excerpt"] & JSXBase.HTMLAttributes; "spw-card-image": LocalJSX.IntrinsicElements["spw-card-image"] & JSXBase.HTMLAttributes; "spw-card-subtag-item": LocalJSX.IntrinsicElements["spw-card-subtag-item"] & JSXBase.HTMLAttributes; "spw-card-subtags": LocalJSX.IntrinsicElements["spw-card-subtags"] & JSXBase.HTMLAttributes; "spw-card-title": LocalJSX.IntrinsicElements["spw-card-title"] & JSXBase.HTMLAttributes; "spw-checkbox": LocalJSX.IntrinsicElements["spw-checkbox"] & JSXBase.HTMLAttributes; "spw-cookies": LocalJSX.IntrinsicElements["spw-cookies"] & JSXBase.HTMLAttributes; "spw-custom-select": LocalJSX.IntrinsicElements["spw-custom-select"] & JSXBase.HTMLAttributes; "spw-date-picker": LocalJSX.IntrinsicElements["spw-date-picker"] & JSXBase.HTMLAttributes; "spw-dropdown": LocalJSX.IntrinsicElements["spw-dropdown"] & JSXBase.HTMLAttributes; "spw-dropdown-container": LocalJSX.IntrinsicElements["spw-dropdown-container"] & JSXBase.HTMLAttributes; "spw-dropdown-item": LocalJSX.IntrinsicElements["spw-dropdown-item"] & JSXBase.HTMLAttributes; "spw-field-label": LocalJSX.IntrinsicElements["spw-field-label"] & JSXBase.HTMLAttributes; "spw-field-message": LocalJSX.IntrinsicElements["spw-field-message"] & JSXBase.HTMLAttributes; "spw-file-upload": LocalJSX.IntrinsicElements["spw-file-upload"] & JSXBase.HTMLAttributes; "spw-footer": LocalJSX.IntrinsicElements["spw-footer"] & JSXBase.HTMLAttributes; "spw-footer-bottom": LocalJSX.IntrinsicElements["spw-footer-bottom"] & JSXBase.HTMLAttributes; "spw-footer-content": LocalJSX.IntrinsicElements["spw-footer-content"] & JSXBase.HTMLAttributes; "spw-footer-content-col": LocalJSX.IntrinsicElements["spw-footer-content-col"] & JSXBase.HTMLAttributes; "spw-footer-link": LocalJSX.IntrinsicElements["spw-footer-link"] & JSXBase.HTMLAttributes; "spw-grid": LocalJSX.IntrinsicElements["spw-grid"] & JSXBase.HTMLAttributes; "spw-grid-item": LocalJSX.IntrinsicElements["spw-grid-item"] & JSXBase.HTMLAttributes; "spw-group": LocalJSX.IntrinsicElements["spw-group"] & JSXBase.HTMLAttributes; "spw-header": LocalJSX.IntrinsicElements["spw-header"] & JSXBase.HTMLAttributes; "spw-header-lang": LocalJSX.IntrinsicElements["spw-header-lang"] & JSXBase.HTMLAttributes; "spw-header-navigation": LocalJSX.IntrinsicElements["spw-header-navigation"] & JSXBase.HTMLAttributes; "spw-header-navigation-dropdown": LocalJSX.IntrinsicElements["spw-header-navigation-dropdown"] & JSXBase.HTMLAttributes; "spw-header-navigation-item": LocalJSX.IntrinsicElements["spw-header-navigation-item"] & JSXBase.HTMLAttributes; "spw-header-persona": LocalJSX.IntrinsicElements["spw-header-persona"] & JSXBase.HTMLAttributes; "spw-header-persona-item": LocalJSX.IntrinsicElements["spw-header-persona-item"] & JSXBase.HTMLAttributes; "spw-hero": LocalJSX.IntrinsicElements["spw-hero"] & JSXBase.HTMLAttributes; "spw-icon": LocalJSX.IntrinsicElements["spw-icon"] & JSXBase.HTMLAttributes; "spw-illustration": LocalJSX.IntrinsicElements["spw-illustration"] & JSXBase.HTMLAttributes; "spw-input-slider": LocalJSX.IntrinsicElements["spw-input-slider"] & JSXBase.HTMLAttributes; "spw-lightbox": LocalJSX.IntrinsicElements["spw-lightbox"] & JSXBase.HTMLAttributes; "spw-lightbox-item": LocalJSX.IntrinsicElements["spw-lightbox-item"] & JSXBase.HTMLAttributes; "spw-link": LocalJSX.IntrinsicElements["spw-link"] & JSXBase.HTMLAttributes; "spw-list": LocalJSX.IntrinsicElements["spw-list"] & JSXBase.HTMLAttributes; "spw-list-description": LocalJSX.IntrinsicElements["spw-list-description"] & JSXBase.HTMLAttributes; "spw-list-item": LocalJSX.IntrinsicElements["spw-list-item"] & JSXBase.HTMLAttributes; "spw-list-title": LocalJSX.IntrinsicElements["spw-list-title"] & JSXBase.HTMLAttributes; "spw-loading": LocalJSX.IntrinsicElements["spw-loading"] & JSXBase.HTMLAttributes; "spw-message": LocalJSX.IntrinsicElements["spw-message"] & JSXBase.HTMLAttributes; "spw-modal": LocalJSX.IntrinsicElements["spw-modal"] & JSXBase.HTMLAttributes; "spw-mosaic": LocalJSX.IntrinsicElements["spw-mosaic"] & JSXBase.HTMLAttributes; "spw-mosaic-item": LocalJSX.IntrinsicElements["spw-mosaic-item"] & JSXBase.HTMLAttributes; "spw-pagination": LocalJSX.IntrinsicElements["spw-pagination"] & JSXBase.HTMLAttributes; "spw-radio": LocalJSX.IntrinsicElements["spw-radio"] & JSXBase.HTMLAttributes; "spw-scrolltop": LocalJSX.IntrinsicElements["spw-scrolltop"] & JSXBase.HTMLAttributes; "spw-search-field": LocalJSX.IntrinsicElements["spw-search-field"] & JSXBase.HTMLAttributes; "spw-select": LocalJSX.IntrinsicElements["spw-select"] & JSXBase.HTMLAttributes; "spw-separator": LocalJSX.IntrinsicElements["spw-separator"] & JSXBase.HTMLAttributes; "spw-sidebar": LocalJSX.IntrinsicElements["spw-sidebar"] & JSXBase.HTMLAttributes; "spw-sidebar-navigation-dropdown": LocalJSX.IntrinsicElements["spw-sidebar-navigation-dropdown"] & JSXBase.HTMLAttributes; "spw-sidebar-navigation-item": LocalJSX.IntrinsicElements["spw-sidebar-navigation-item"] & JSXBase.HTMLAttributes; "spw-sidebar-navigation-separator": LocalJSX.IntrinsicElements["spw-sidebar-navigation-separator"] & JSXBase.HTMLAttributes; "spw-skeleton": LocalJSX.IntrinsicElements["spw-skeleton"] & JSXBase.HTMLAttributes; "spw-slider": LocalJSX.IntrinsicElements["spw-slider"] & JSXBase.HTMLAttributes; "spw-slider-item": LocalJSX.IntrinsicElements["spw-slider-item"] & JSXBase.HTMLAttributes; "spw-socials": LocalJSX.IntrinsicElements["spw-socials"] & JSXBase.HTMLAttributes; "spw-table": LocalJSX.IntrinsicElements["spw-table"] & JSXBase.HTMLAttributes; "spw-table-body": LocalJSX.IntrinsicElements["spw-table-body"] & JSXBase.HTMLAttributes; "spw-table-cell": LocalJSX.IntrinsicElements["spw-table-cell"] & JSXBase.HTMLAttributes; "spw-table-container": LocalJSX.IntrinsicElements["spw-table-container"] & JSXBase.HTMLAttributes; "spw-table-footer": LocalJSX.IntrinsicElements["spw-table-footer"] & JSXBase.HTMLAttributes; "spw-table-head": LocalJSX.IntrinsicElements["spw-table-head"] & JSXBase.HTMLAttributes; "spw-table-header": LocalJSX.IntrinsicElements["spw-table-header"] & JSXBase.HTMLAttributes; "spw-table-row": LocalJSX.IntrinsicElements["spw-table-row"] & JSXBase.HTMLAttributes; "spw-table-sidebar": LocalJSX.IntrinsicElements["spw-table-sidebar"] & JSXBase.HTMLAttributes; "spw-tabs": LocalJSX.IntrinsicElements["spw-tabs"] & JSXBase.HTMLAttributes; "spw-tabs-content": LocalJSX.IntrinsicElements["spw-tabs-content"] & JSXBase.HTMLAttributes; "spw-tabs-navigation": LocalJSX.IntrinsicElements["spw-tabs-navigation"] & JSXBase.HTMLAttributes; "spw-tabs-navigation-item": LocalJSX.IntrinsicElements["spw-tabs-navigation-item"] & JSXBase.HTMLAttributes; "spw-tag": LocalJSX.IntrinsicElements["spw-tag"] & JSXBase.HTMLAttributes; "spw-text-field": LocalJSX.IntrinsicElements["spw-text-field"] & JSXBase.HTMLAttributes; "spw-textarea": LocalJSX.IntrinsicElements["spw-textarea"] & JSXBase.HTMLAttributes; "spw-theme-provider": LocalJSX.IntrinsicElements["spw-theme-provider"] & JSXBase.HTMLAttributes; "spw-tile": LocalJSX.IntrinsicElements["spw-tile"] & JSXBase.HTMLAttributes; "spw-tile-description": LocalJSX.IntrinsicElements["spw-tile-description"] & JSXBase.HTMLAttributes; "spw-tile-title": LocalJSX.IntrinsicElements["spw-tile-title"] & JSXBase.HTMLAttributes; "spw-timeline": LocalJSX.IntrinsicElements["spw-timeline"] & JSXBase.HTMLAttributes; "spw-timeline-item": LocalJSX.IntrinsicElements["spw-timeline-item"] & JSXBase.HTMLAttributes; "spw-toast": LocalJSX.IntrinsicElements["spw-toast"] & JSXBase.HTMLAttributes; "spw-toast-controller": LocalJSX.IntrinsicElements["spw-toast-controller"] & JSXBase.HTMLAttributes; "spw-toc": LocalJSX.IntrinsicElements["spw-toc"] & JSXBase.HTMLAttributes; "spw-toc-container": LocalJSX.IntrinsicElements["spw-toc-container"] & JSXBase.HTMLAttributes; "spw-toc-navigation": LocalJSX.IntrinsicElements["spw-toc-navigation"] & JSXBase.HTMLAttributes; "spw-tooltip": LocalJSX.IntrinsicElements["spw-tooltip"] & JSXBase.HTMLAttributes; "spw-topbar": LocalJSX.IntrinsicElements["spw-topbar"] & JSXBase.HTMLAttributes; "spw-wizard": LocalJSX.IntrinsicElements["spw-wizard"] & JSXBase.HTMLAttributes; "spw-wizard-item": LocalJSX.IntrinsicElements["spw-wizard-item"] & JSXBase.HTMLAttributes; } } }