Icon Block: Inline Svg

No notes defined.

<span class="sds-iconBlock" aria-hidden="true">

    <span class="sds-iconBlock__icon">
        <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path fill-rule="evenodd" clip-rule="evenodd" d="M6 39L42 39V41L6 41V39Z" fill="#DE0000" />
            <path fill-rule="evenodd" clip-rule="evenodd" d="M42 22V20H6.00004L24 4L35.3515 13.3482L36.6229 11.8044L25.2715 2.45614C24.5215 1.83851 23.4361 1.8492 22.6985 2.48149L4.69845 18.4815C3.28866 19.6899 4.14323 22 6.00004 22H11L11 36H13L13 22H19L19 36H21L21 22H27L27 36H29L29 22H35L35 36H37V22H42ZM42 46V44H6.00004V46H42Z" fill="#003060" />
        </svg>
    </span>

</span>
{% include "@icon-block-frame" %}
  • Content:
    /* variables specific to current element */
    
    $element-specific-variables: "";
    
    .#{$namespace}iconBlock {
    
    	/* Save root element context for easy access if nesting is needed */
    
    	$self: &;
    
    	/* properties of current element  + media queries */
    	display: inline-flex;
    	align-items: center;
    	justify-content: center;
    	flex-shrink: 0;
    	width: map-deep-get($design-tokens, "comp-icon-block-width");
    	height: map-deep-get($design-tokens, "comp-icon-block-height");
    	border-radius: map-deep-get($design-tokens, "comp-icon-block-border-radius");
    	@include custom-prop-fallback("background-color","comp-icon-block-primary-muted-background-color");
    	@include custom-prop-fallback("color","comp-icon-block-primary-muted-icon-background-color");
    
    	/* 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 */
    	
    	svg {
    
    		max-width: 100%;
    
    	}
    
    	&__icon {
    
    		font-size: map-deep-get($design-tokens, "comp-icon-block-icon-size");
    		width: map-deep-get($design-tokens, "comp-icon-block-icon-size");
    		display: flex;
    		align-items: center;
    		justify-content: center;
    
    		svg {
    
    			width: inherit;
    			height: inherit;
    
    		}
    		
    		&::before {
    
    			font-size: inherit !important;
    
    		}
    
    	}
    
    
    	/* modifiers */
    
    	// iconBlock -iconBlockInverse
    	&.-iconBlockInverse {
    
    		// follows same logic as base element
    
    		@include custom-prop-fallback("background-color","comp-icon-block-primary-inverse-background-color");
    		@include custom-prop-fallback("color","comp-icon-block-primary-inverse-icon-background-color");
    
    	}
    
    	&.-iconBlockColored {
    
    		/* @TODO change this to colored token that doesn't exist yet*/
    		@include custom-prop-fallback("color","comp-icon-block-mia-icon-background-color","true","true");
    
    	}
    
    	&.-iconBlockXs {
    
    		width: map-deep-get($design-tokens, "comp-icon-block-extra-small-width");
    		height: map-deep-get($design-tokens, "comp-icon-block-extra-small-height");
    		border-radius: map-deep-get($design-tokens, "comp-icon-block-extra-small-border-radius");
    		
    		#{$self}__icon {
    
    			font-size: map-deep-get($design-tokens, "comp-icon-block-extra-small-icon-size");
    			width: map-deep-get($design-tokens, "comp-icon-block-extra-small-icon-size");
    
    		}
    
    	}
    
    	&.-iconBlockSm {
    
    		width: map-deep-get($design-tokens, "comp-icon-block-small-width");
    		height: map-deep-get($design-tokens, "comp-icon-block-small-height");
    		border-radius: map-deep-get($design-tokens, "comp-icon-block-small-border-radius");
    
    		#{$self}__icon {
    
    			font-size: map-deep-get($design-tokens, "comp-icon-block-small-icon-size");
    			width: map-deep-get($design-tokens, "comp-icon-block-small-icon-size");
    
    		}
    
    	}
    
    	&.-iconBlockLg {
    
    		width: map-deep-get($design-tokens, "comp-icon-block-large-width");
    		height: map-deep-get($design-tokens, "comp-icon-block-large-height");
    		border-radius: map-deep-get($design-tokens, "comp-icon-block-large-border-radius");
    
    		#{$self}__icon {
    
    			font-size: map-deep-get($design-tokens, "comp-icon-block-large-icon-size");
    			width: map-deep-get($design-tokens, "comp-icon-block-large-icon-size");
    
    		}
    
    	}
    
    	&.-iconBlockXl {
    
    		width: map-deep-get($design-tokens, "comp-icon-block-extra-large-width");
    		height: map-deep-get($design-tokens, "comp-icon-block-extra-large-height");
    		border-radius: map-deep-get($design-tokens, "comp-icon-block-large-border-radius");
    
    		#{$self}__icon {
    
    			font-size: map-deep-get($design-tokens, "comp-icon-block-extra-large-icon-size");
    			width: map-deep-get($design-tokens, "comp-icon-block-extra-large-icon-size");
    
    		}
    
    	}
    
    	&.-iconBlock2xl {
    
    		width: map-deep-get($design-tokens, "comp-icon-block-mega-width");
    		height: map-deep-get($design-tokens, "comp-icon-block-mega-height");
    		border-radius: map-deep-get($design-tokens, "comp-icon-block-large-border-radius");
    
    		#{$self}__icon {
    
    			font-size: map-deep-get($design-tokens, "comp-icon-block-mega-icon-size");
    			width: map-deep-get($design-tokens, "comp-icon-block-mega-icon-size");
    
    		}
    
    	}
    
    	/* random parent element */
    	/* 
    	*
    	*   Syntax : .randomParentElt & {}
    	*
    	*/
    
    	/* Pseudo Classes */
    
    	&:hover {
    		@media (hover: hover) {
    
    		}
    	}
    
    	&:focus {
    	}
    
    	&:active {
    	}
    
    	&:focus,
    	&:active {
    	}
    
    }
  • URL: /components/raw/icon-block/_icon-block.scss
  • Filesystem Path: components/token-based/content/block/icon-block/_icon-block.scss
  • Size: 4.3 KB