Language Switcher

No notes defined.

<!-- Default -->
<div class="sds-languageSwitcher dropdown">
    <button class="sds-languageSwitcher__trigger sds-textHelper sds-textSemiBold dropdown-toggle" type="button" data-toggle="dropdown" data-display="static" aria-expanded="false">
        Fr
        <span class="sds-iconCircle sds-languageSwitcher__icon" aria-hidden="true">

            <span class="sds-icon sds-icon-chevrondown"></span>

        </span>

    </button>
    <div class="sds-languageSwitcher__menu sds-actionMenu dropdown-menu dropdown-menu-right">
        <a class="sds-actionMenu__item dropdown-item" href="#">
            De
        </a>
        <a class="sds-actionMenu__item dropdown-item" href="#">
            En
        </a>
    </div>
</div>

<!-- Search Modal -->
<div class="sds-languageSwitcher dropdown -searchModal">
    <button type="button" class="sds-btn -btnSecondary" data-search-modal-search-filter-btn="" data-toggle="dropdown" data-display="static" aria-expanded="false">

        <span class="sds-btn__text">Refine search</span>

        <span class="sds-badge badge -badgePrimary -badgeTonal">

            02

        </span>

        <span class="sds-icon sds-icon-chevrondown"></span>

    </button>
    <div class="sds-languageSwitcher__menu sds-actionMenu dropdown-menu dropdown-menu-right">
        <div class="sds-stackMd">
            <div class="row row-xs col-separator">
                <div class="col-sm-6">
                    <fieldset>
                        <legend>
                            <span class="dropdown-header">Langue</span>
                        </legend>
                        <ul class="list-unstyled">
                            <li lang="fr">
                                <label class="sds-actionMenu__item dropdown-item sds-staticInlineSm" href="#">
                                    <input value="radio-value" type="radio" name="radio-dropdown-search-modal" class="sr-only" id="search-modal-radio-lang-fr" checked><span class="sds-radioDot " aria-hidden="true"></span>

                                    <div class="sds-avatar centeredBgi -avatarSm">

                                        <img class="img-fluid" src="../../media/spuerkeess-site/components/service-point-list-map/fr.png" alt="">

                                    </div>
                                    <span>Français</span>
                                </label>
                            </li>
                            <li lang="de">
                                <label class="sds-actionMenu__item dropdown-item sds-staticInlineSm" href="#">
                                    <input value="radio-value" type="radio" name="radio-dropdown-search-modal" class="sr-only" id="search-modal-radio-lang-fr"><span class="sds-radioDot " aria-hidden="true"></span>

                                    <div class="sds-avatar centeredBgi -avatarSm">

                                        <img class="img-fluid" src="../../media/spuerkeess-site/components/service-point-list-map/de.png" alt="">

                                    </div>
                                    <span>Deutsch</span>
                                </label>
                            </li>
                            <li lang="en">
                                <label class="sds-actionMenu__item dropdown-item sds-staticInlineSm" href="#">
                                    <input value="radio-value" type="radio" name="radio-dropdown-search-modal" class="sr-only" id="search-modal-radio-lang-fr"><span class="sds-radioDot " aria-hidden="true"></span>

                                    <div class="sds-avatar centeredBgi -avatarSm">

                                        <img class="img-fluid" src="../../media/spuerkeess-site/components/service-point-list-map/uk.png" alt="">

                                    </div>
                                    <span>English</span>
                                </label>
                            </li>
                        </ul>
                    </fieldset>

                </div>
                <div class="col-sm-6">
                    <fieldset>
                        <legend>
                            <span class="dropdown-header">Par type</span>
                        </legend>
                        <ul class="list-unstyled">
                            <li>
                                <div class="dropdown-item">
                                    <div class="sds-checkbox custom-control custom-checkbox">
                                        <input value="checkbox-value" type="checkbox" name="" class="sr-only custom-control-input " id="search-modal-filter-checkbox-1"><span class="sds-checkboxDot sds-checkbox__shape" aria-hidden="true"></span>
                                        <label class="custom-control-label" for="search-modal-filter-checkbox-1">Tous</label>

                                        <div class="sds-checkbox__error invalid-feedback">Error message</div>
                                    </div>
                                </div>
                            </li>
                            <li>
                                <div class="dropdown-item">
                                    <div class="sds-checkbox custom-control custom-checkbox">
                                        <input value="checkbox-value" type="checkbox" name="" class="sr-only custom-control-input " id="search-modal-filter-checkbox-2"><span class="sds-checkboxDot sds-checkbox__shape" aria-hidden="true"></span>
                                        <label class="custom-control-label" for="search-modal-filter-checkbox-2">Page</label>

                                        <div class="sds-checkbox__error invalid-feedback">Error message</div>
                                    </div>
                                </div>
                            </li>
                            <li>
                                <div class="dropdown-item">
                                    <div class="sds-checkbox custom-control custom-checkbox">
                                        <input value="checkbox-value" type="checkbox" name="" class="sr-only custom-control-input " id="search-modal-filter-checkbox-3"><span class="sds-checkboxDot sds-checkbox__shape" aria-hidden="true"></span>
                                        <label class="custom-control-label" for="search-modal-filter-checkbox-3">Article Blog</label>

                                        <div class="sds-checkbox__error invalid-feedback">Error message</div>
                                    </div>
                                </div>
                            </li>
                            <li>
                                <div class="dropdown-item">
                                    <div class="sds-checkbox custom-control custom-checkbox">
                                        <input value="checkbox-value" type="checkbox" name="" class="sr-only custom-control-input " id="search-modal-filter-checkbox-3"><span class="sds-checkboxDot sds-checkbox__shape" aria-hidden="true"></span>
                                        <label class="custom-control-label" for="search-modal-filter-checkbox-3">Info</label>

                                        <div class="sds-checkbox__error invalid-feedback">Error message</div>
                                    </div>
                                </div>
                            </li>
                            <li>
                                <div class="dropdown-item">
                                    <div class="sds-checkbox custom-control custom-checkbox">
                                        <input value="checkbox-value" type="checkbox" name="" class="sr-only custom-control-input " id="search-modal-filter-checkbox-3"><span class="sds-checkboxDot sds-checkbox__shape" aria-hidden="true"></span>
                                        <label class="custom-control-label" for="search-modal-filter-checkbox-3">Guide</label>

                                        <div class="sds-checkbox__error invalid-feedback">Error message</div>
                                    </div>
                                </div>
                            </li>
                            <li>
                                <div class="dropdown-item">
                                    <div class="sds-checkbox custom-control custom-checkbox">
                                        <input value="checkbox-value" type="checkbox" name="" class="sr-only custom-control-input " id="search-modal-filter-checkbox-3"><span class="sds-checkboxDot sds-checkbox__shape" aria-hidden="true"></span>
                                        <label class="custom-control-label" for="search-modal-filter-checkbox-3">Document</label>

                                        <div class="sds-checkbox__error invalid-feedback">Error message</div>
                                    </div>
                                </div>
                            </li>
                            <li>
                                <div class="dropdown-item">
                                    <div class="sds-checkbox custom-control custom-checkbox">
                                        <input value="checkbox-value" type="checkbox" name="" class="sr-only custom-control-input " id="search-modal-filter-checkbox-3"><span class="sds-checkboxDot sds-checkbox__shape" aria-hidden="true"></span>
                                        <label class="custom-control-label" for="search-modal-filter-checkbox-3">Agence</label>

                                        <div class="sds-checkbox__error invalid-feedback">Error message</div>
                                    </div>
                                </div>
                            </li>
                            <li>
                                <div class="dropdown-item">
                                    <div class="sds-checkbox custom-control custom-checkbox">
                                        <input value="checkbox-value" type="checkbox" name="" class="sr-only custom-control-input " id="search-modal-filter-checkbox-3"><span class="sds-checkboxDot sds-checkbox__shape" aria-hidden="true"></span>
                                        <label class="custom-control-label" for="search-modal-filter-checkbox-3">Événement</label>

                                        <div class="sds-checkbox__error invalid-feedback">Error message</div>
                                    </div>
                                </div>
                            </li>
                            <li>
                                <div class="dropdown-item">
                                    <div class="sds-checkbox custom-control custom-checkbox">
                                        <input value="checkbox-value" type="checkbox" name="" class="sr-only custom-control-input " id="search-modal-filter-checkbox-3"><span class="sds-checkboxDot sds-checkbox__shape" aria-hidden="true"></span>
                                        <label class="custom-control-label" for="search-modal-filter-checkbox-3">Partenaire</label>

                                        <div class="sds-checkbox__error invalid-feedback">Error message</div>
                                    </div>
                                </div>
                            </li>
                        </ul>
                    </fieldset>
                </div>
            </div>
            <button type="button" class="sds-btn -btnSecondary -block">

                <span class="sds-btn__text">Appliquer</span>

            </button>
        </div>
    </div>
</div>

<!-- Default -->
<div class="{{ namespace }}languageSwitcher dropdown{% for mod in modifiers %} {{ mod }}{% endfor %}{% for mod in classes %} {{ mod }}{% endfor %}">
	<button class="{{ namespace }}languageSwitcher__trigger {{ namespace }}textHelper {{ namespace }}textSemiBold dropdown-toggle" type="button" data-toggle="dropdown" data-display="static" aria-expanded="false">
		Fr
		{% render '@icon-circle-regular',{
			icon: "icon-chevrondown",
			classes: [namespace + "languageSwitcher__icon"]
		},true %}
	</button>
	<div class="{{ namespace }}languageSwitcher__menu {{ namespace}}actionMenu dropdown-menu{% if dropdownMenuDirection %} {{ dropdownMenuDirection }}{% endif %}">
		<a class="{{ namespace}}actionMenu__item dropdown-item" href="#">
			De
		</a>
		<a class="{{ namespace}}actionMenu__item dropdown-item" href="#">
			En
		</a>
	</div>
</div>

<!-- Search Modal -->
<div class="{{ namespace }}languageSwitcher dropdown{% for mod in modifiers %} {{ mod }}{% endfor %}{% for mod in classes %} {{ mod }}{% endfor %}">
	{% render "@btn-secondary--icon-right",{
		text: "Refine search",
		icon: "icon-chevrondown",
		badgeFadeText: "02",
		attrs: {
			"data-search-modal-search-filter-btn": "",
			"data-toggle": "dropdown",
			"data-display": "static",
			"aria-expanded": "false"
		}
	},true %}
	<div class="{{ namespace }}languageSwitcher__menu {{ namespace}}actionMenu dropdown-menu{% if dropdownMenuDirection %} {{ dropdownMenuDirection }}{% endif %}">
		<div class="{{ namespace }}stackMd">
			<div class="row row-xs col-separator">
				<div class="col-sm-6">
					<fieldset>
						<legend>
							<span class="dropdown-header">Langue</span>
						</legend>
						<ul class="list-unstyled">
							<li lang="fr">
								<label class="{{ namespace}}actionMenu__item dropdown-item {{ namespace }}staticInlineSm" href="#">
									{% render "@radio-dot",{
										input: true,
										id: "search-modal-radio-lang-fr",
										name: "radio-dropdown-search-modal",
										checked: true
									},true %}
									{% render "@avatar--image-small",{
										img: "/spuerkeess-site/components/service-point-list-map/fr.png"
									},true %}
									<span>Français</span>
								</label>
							</li>
							<li lang="de">
								<label class="{{ namespace}}actionMenu__item dropdown-item {{ namespace }}staticInlineSm" href="#">
									{% render "@radio-dot",{
										input: true,
										id: "search-modal-radio-lang-fr",
										name: "radio-dropdown-search-modal"
									},true %}
									{% render "@avatar--image-small",{
										img: "/spuerkeess-site/components/service-point-list-map/de.png"
									},true %}
									<span>Deutsch</span>
								</label>
							</li>
							<li lang="en">
								<label class="{{ namespace}}actionMenu__item dropdown-item {{ namespace }}staticInlineSm" href="#">
									{% render "@radio-dot",{
										input: true,
										id: "search-modal-radio-lang-fr",
										name: "radio-dropdown-search-modal"
									},true %}
									{% render "@avatar--image-small",{
										img: "/spuerkeess-site/components/service-point-list-map/uk.png"
									},true %}
									<span>English</span>
								</label>
							</li>
						</ul>
					</fieldset>

				</div>
				<div class="col-sm-6">
					<fieldset>
						<legend>
							<span class="dropdown-header">Par type</span>
						</legend>
						<ul class="list-unstyled">
							<li>
								<div class="dropdown-item">
									{% render "@checkbox",{
										id: "search-modal-filter-checkbox-1",
										text: "Tous"
									},true %}
								</div>
							</li>
							<li>
								<div class="dropdown-item">
									{% render "@checkbox",{
										id: "search-modal-filter-checkbox-2",
										text: "Page"
									},true %}
								</div>
							</li>
							<li>
								<div class="dropdown-item">
									{% render "@checkbox",{
										id: "search-modal-filter-checkbox-3",
										text: "Article Blog"
									},true %}
								</div>
							</li>
							<li>
								<div class="dropdown-item">
									{% render "@checkbox",{
										id: "search-modal-filter-checkbox-3",
										text: "Info"
									},true %}
								</div>
							</li>
							<li>
								<div class="dropdown-item">
									{% render "@checkbox",{
										id: "search-modal-filter-checkbox-3",
										text: "Guide"
									},true %}
								</div>
							</li>
							<li>
								<div class="dropdown-item">
									{% render "@checkbox",{
										id: "search-modal-filter-checkbox-3",
										text: "Document"
									},true %}
								</div>
							</li>
							<li>
								<div class="dropdown-item">
									{% render "@checkbox",{
										id: "search-modal-filter-checkbox-3",
										text: "Agence"
									},true %}
								</div>
							</li>
							<li>
								<div class="dropdown-item">
									{% render "@checkbox",{
										id: "search-modal-filter-checkbox-3",
										text: "Événement"
									},true %}
								</div>
							</li>
							<li>
								<div class="dropdown-item">
									{% render "@checkbox",{
										id: "search-modal-filter-checkbox-3",
										text: "Partenaire"
									},true %}
								</div>
							</li>
						</ul>
					</fieldset>
				</div>
			</div>
			{% render "@btn-secondary--full-width",{
				text: "Appliquer"
			},true %}
		</div>
	</div>
</div>
  • Content:
    /* variables specific to current element */
    
    $element-specific-variables: "";
    
    .#{$namespace}languageSwitcher {
    
    	/* Save root element context for easy access if nesting is needed */
    
    	$self: &;
    
    	/* properties of current element  + media queries */
    	display: inline-flex;
    
    	/* Pseudo Elements */
    
    	&::before {
    	}
    
    	&::after {
    	}
    
    	/*
    	Include elements that are linked to the current element but have to reside at the root level of the stylesheet
    	(e.g: keyframes)
    	*/
    	@at-root {
    	}
    
    
    	/* children - write selector in full in comments in order to facilitate search */
    
    	// languageSwitcher__trigger
    	&__trigger {
    
    		// follows same logic as parent
    
    		display: inline-flex;
    		align-items: center;
    		padding-left: map-deep-get($token-spacer-unit-map, "8");
    		padding-right: map-deep-get($token-spacer-unit-map, "8");
    		border-radius: map-deep-get($token-radius-map, "32");
    		height: $language-switcher-height-global;
    		text-transform: uppercase;
    		background-color: transparent;
    		@include custom-prop-fallback("color","comp-navbar-text-color");
    
    		@include media-breakpoint-up(lg) {
    
    			height: auto;
    			min-height: $language-switcher-height-global;
    			padding-left: map-deep-get($token-spacer-unit-map, "16");
    
    		}
    
    		&[aria-expanded="true"] {
    
    			@include custom-prop-fallback("background-color","comp-navbar-button-pressed-background-color");
    
    			#{$self}__icon {
    
    				transform: rotate(180deg);
    
    			}
    
    
    		}
    
    		&:hover {
    			@media (hover: hover) {
    				@include custom-prop-fallback("background-color","comp-navbar-button-hovered-background-color");
    			}
    		}
    
    		&:focus-visible {
    
    			outline-style: solid;
    			outline-width: map-deep-get($design-tokens, "comp-button-pressed-border-width");
    
    		}
    
    	}
    
    	&__icon {
    
    		width: auto;
    		margin-left: 0.15em;
    		transition: transform 0.1s linear;
    		display: none;
    
    		@include media-breakpoint-up(lg){
    			display: inline-flex;
    		}
    
    	}
    
    	&__mobileLang {
    		text-transform: uppercase;
    		@include media-breakpoint-up(lg) {
    			display: none;
    		}
    	}
    
    	&__desktopLang {
    		display: none;
    		@include media-breakpoint-up(lg) {
    			display: block;
    		}
    	}
    
    
    	/* modifiers */
    
    	// languageSwitcher -hasFlags
    	&.-hasFlags {
    
    		// follows same logic as base element
    
    		#{$self}__trigger {
    
    			@include custom-prop-fallback("background-color", "comp-button-secondary-background-color");
    			@include custom-prop-fallback("color", "comp-button-secondary-text-color");
    			border-radius: map-deep-get($token-radius-map, "button-small");
    			height: map-deep-get($token-button-size-big-map, "mobile" ,"min-height");
    			border: $border-width*2 solid;
    			display: flex;
    			align-items: center;
    			padding-left: $border-width*2;
    			padding-right: $border-width*2;
    		}
    
    		#{$self}__icon {
    
    			display: block;
    			height: auto;
    
    		}
    
    	}
    	
    	&.-searchModal {
    
    		[data-search-modal-search-filter-btn] {
    
    			&[aria-expanded="true"] {
    
    				box-shadow: 0 0 0 $border-width*2 map-deep-get($token-icon-btn-base-map, "secondary", "default", "color");
    
    				[class*="icon"] {
    
    					transform: rotate(180deg);
    
    				}
    
    			}
    
    			[class*="text"] {
    
    				@include media-breakpoint-between("xs","sm") {
    
    					@include sr-only();
    
    				}
    
    			}
    
    		}
    
    		&.-filtersActive {
    
    			[data-search-modal-search-filter-btn] {
    
    				box-shadow: 0 0 0 $border-width*2 map-deep-get($token-icon-btn-base-map, "secondary", "default", "color");
    
    			}
    
    		}
    		
    		#{$self}__menu {
    
    			top: calc(100% + map-deep-get($token-spacer-stack-max-map, "md"));
    
    			@include media-breakpoint-up("sm") {
    
    				width: 480px;
    				max-width: 90vw;
    
    			}
    			
    		}
    		
    	}
    
    	/* random parent element */
    	/* 
    	*
    	*   Syntax : .randomParentElt & {}
    	*
    	*/
    
    	/* Pseudo Classes */
    
    	&:hover {
    		@media (hover: hover) {
    
    		}
    	}
    
    	&:focus {
    	}
    
    	&:active {
    	}
    
    	&:focus,
    	&:active {
    	}
    
    }
  • URL: /components/raw/spk-language-switcher/_language-switcher.scss
  • Filesystem Path: components/spuerkeess-site/molecules/language-switcher/_language-switcher.scss
  • Size: 3.7 KB