Sha256: 75c905487354a69661439eb9191ea39ae10c4038b253506d3aa7875561c2a225
Contents?: true
Size: 1.15 KB
Versions: 6
Compression:
Stored size: 1.15 KB
Contents
/** * Parser to support BEM syntax * * @access private * * @param {List} $selectors - string of selectors to parse * * @return {List} - parsed list of selectors according to syntax */ @function flint-support-syntax-bem($selectors) { // Clean up selector, remove double underscores for spaces // add pseudo character to differentiate selectors $selectors: flint-replace-substring(inspect($selectors), "__", "/"); // Parse string back to list without pseudo character $selectors: flint-string-to-list($selectors, "/"); // Define top-most parent of selector $parent: nth($selectors, 1); // Create new list of parsed selectors $selector-list: ($parent); // Loop over each selector and build list of selectors @each $selector in $selectors { // Make sure current selector is not the parent @if $selector != $parent { // Save to selector list $selector-list: append($selector-list, ($parent + "__" + $selector), "comma"); // Define new parent $parent: $parent + "__" + $selector; } } // Return the list of parsed selectors @return $selector-list; }
Version data entries
6 entries across 6 versions & 1 rubygems