summaryrefslogtreecommitdiffstats
path: root/debian/missing-sources/bourbon-neat/app/assets/stylesheets/grid/_omega.scss
diff options
context:
space:
mode:
Diffstat (limited to 'debian/missing-sources/bourbon-neat/app/assets/stylesheets/grid/_omega.scss')
-rw-r--r--debian/missing-sources/bourbon-neat/app/assets/stylesheets/grid/_omega.scss112
1 files changed, 112 insertions, 0 deletions
diff --git a/debian/missing-sources/bourbon-neat/app/assets/stylesheets/grid/_omega.scss b/debian/missing-sources/bourbon-neat/app/assets/stylesheets/grid/_omega.scss
new file mode 100644
index 0000000..532db05
--- /dev/null
+++ b/debian/missing-sources/bourbon-neat/app/assets/stylesheets/grid/_omega.scss
@@ -0,0 +1,112 @@
+@charset "UTF-8";
+
+/// Removes the element's gutter margin, regardless of its position in the grid hierarchy or display property. It can target a specific element, or every `nth-child` occurrence. Works only with `block` layouts.
+///
+/// @param {List} $query [block]
+/// List of arguments. Supported arguments are `nth-child` selectors (targets a specific pseudo element) and `auto` (targets `last-child`).
+///
+/// When passed an `nth-child` argument of type `*n` with `block` display, the omega mixin automatically adds a clear to the `*n+1` th element. Note that composite arguments such as `2n+1` do not support this feature.
+///
+/// **Deprecation warning**: The omega mixin will no longer take a `$direction` argument. To change the layout direction, use `row($direction)` or set `$default-layout-direction` instead.
+///
+/// @example scss - Usage
+/// .element {
+/// @include omega;
+/// }
+///
+/// .nth-element {
+/// @include omega(4n);
+/// }
+///
+/// @example css - CSS Output
+/// .element {
+/// margin-right: 0;
+/// }
+///
+/// .nth-element:nth-child(4n) {
+/// margin-right: 0;
+/// }
+///
+/// .nth-element:nth-child(4n+1) {
+/// clear: left;
+/// }
+
+@mixin omega($query: block, $direction: default) {
+ $table: belongs-to(table, $query);
+ $auto: belongs-to(auto, $query);
+
+ @if $direction != default {
+ @include -neat-warn("The omega mixin will no longer take a $direction argument. To change the layout direction, use the direction(){...} mixin.");
+ } @else {
+ $direction: get-direction($layout-direction, $default-layout-direction);
+ }
+
+ @if $table {
+ @include -neat-warn("The omega mixin no longer removes padding in table layouts.");
+ }
+
+ @if length($query) == 1 {
+ @if $auto {
+ &:last-child {
+ margin-#{$direction}: 0;
+ }
+ }
+
+ @else if contains-display-value($query) and $table == false {
+ margin-#{$direction}: 0;
+ }
+
+ @else {
+ @include nth-child($query, $direction);
+ }
+ } @else if length($query) == 2 {
+ @if $auto {
+ &:last-child {
+ margin-#{$direction}: 0;
+ }
+ } @else {
+ @include nth-child(nth($query, 1), $direction);
+ }
+ } @else {
+ @include -neat-warn("Too many arguments passed to the omega() mixin.");
+ }
+}
+
+@mixin nth-child($query, $direction) {
+ $opposite-direction: get-opposite-direction($direction);
+
+ &:nth-child(#{$query}) {
+ margin-#{$direction}: 0;
+ }
+
+ @if type-of($query) == string {
+ $query: str-replace($query, " ", "");
+ $operator: false;
+
+ @if str_index($query, "+") {
+ $operator: "+";
+ } @else if str_index($query, "-") {
+ $operator: "-";
+ }
+
+ @if $operator {
+ $operator-index: str_index($query, $operator);
+ $first: str-slice($query, 0, ($operator-index - 1));
+ $last: to-number(str-slice($query, ($operator-index + 1), -1));
+ @if $operator == "+" {
+ $last: $last + 1;
+ } @else if $operator == "-" {
+ $last: $last - 1;
+ }
+ $nth: "#{$first}#{$operator}#{$last}";
+
+ &:nth-child(#{$nth}) {
+ clear: $opposite-direction;
+ }
+ }
+ } @else if type-of($query) == number and unit($query) == "n" {
+ &:nth-child(#{$query}+1) {
+ clear: $opposite-direction;
+ }
+ }
+}