Sha256: e4d7aaea5208c9577ea9c7a9b813751bd4cd0f65243dd1b73f0bca3b7e79f6d6

Contents?: true

Size: 1.34 KB

Versions: 9

Compression:

Stored size: 1.34 KB

Contents

// Checks if instance exists in selector familiy tree, falls back from current selector
// -------------------------------------------------------------------------------
// @dependence `selector_string()`
// @dependence `string-to-list()`
// @dependence `list-to-string()`
// @dependence `get-value()`
// @dependence `exists()`
// @dependence `remove()`
// -------------------------------------------------------------------------------
// @param $key [Breakpoint] : breakpoint key to search for matching instance
// -------------------------------------------------------------------------------
// @return [Selectors] | false

@function get-family-instance($key: get-value(settings, default)) {
	$selector-string: selector_string();
	$selector-list: string-to-list($selector-string);
	$length: length($selector-list);

	// Loop through length of list of selectors
	@for $i from 1 through $length {
		// Make sure that we're not counting the current selector string
		@if exists($flint__instances, "#{list-to-string($selector-list, " ")}::#{$key}") and $selector-string != list-to-string($selector-list, " ") {
			// If true, return the maching instance key
			@return "#{list-to-string($selector-list, " ")}::#{$key}";
		} @else {
			// Else, remove the last selector and loop again
			$selector-list: remove($selector-list, last($selector-list));
		}
	}

	@return false;
}

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
flint-gs-1.2.0 stylesheets/flint/functions/lib/_get-family-instance.scss
flint-gs-1.1.0 stylesheets/flint/functions/lib/_get-family-instance.scss
flint-gs-1.0.9 stylesheets/flint/functions/lib/_get-family-instance.scss
flint-gs-1.0.8 stylesheets/flint/functions/lib/_get-family-instance.scss
flint-gs-1.0.7 stylesheets/flint/functions/lib/_get-family-instance.scss
flint-gs-1.0.6 stylesheets/flint/functions/lib/_get-family-instance.scss
flint-gs-1.0.5 stylesheets/flint/functions/lib/_get-family-instance.scss
flint-gs-1.0.4 stylesheets/flint/functions/lib/_get-family-instance.scss
flint-gs-1.0.3 stylesheets/flint/functions/lib/_get-family-instance.scss