neat-omega 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: be6ff121c061dfa8a558e8586a88b5b089f193f5
4
+ data.tar.gz: a6648614821c99e143ca5d3977a4ea323383f14a
5
+ SHA512:
6
+ metadata.gz: 07b1a39b1e1a87ad22322f0da431e2b2192a4cbe4ba50ca07604238b0624de50f335fe4de066988d108b62bef641ddaeff9ac31e248b472d454c51a5885897a9
7
+ data.tar.gz: 6a6c2f05168645cb4434d5f8f541cacaf799515e49741d3126bb93d5d85469c1bbdd9e894c7ec62a5633046d483ae17a9a89ae4930a67f317da28b9f037f8c33
@@ -0,0 +1,32 @@
1
+ # Numerous always-ignore extensions
2
+ *.diff
3
+ *.err
4
+ *.orig
5
+ *.log
6
+ *.rej
7
+ *.swo
8
+ *.swp
9
+ *.vi
10
+ *~
11
+
12
+ # OS or Editor folders
13
+ .DS_Store
14
+ .cache
15
+ .idea
16
+ .sass-cache
17
+ .project
18
+ .settings
19
+ .tmproj
20
+ nbproject
21
+ Thumbs.db
22
+ config.rb
23
+ *.scssc
24
+ *.sassc
25
+ *.map
26
+
27
+ # Folders to ignore
28
+ .hg
29
+ .svn
30
+ .CVS
31
+ cgi-bin
32
+ node_modules
@@ -0,0 +1,183 @@
1
+ # Neat-Omega Family for Bourbon Neat (2.x.x)
2
+ The Omega family is a group of mixins that accomplish several supplemental goals within the Bourbon-Neat framework.
3
+
4
+ Originally created to address: https://github.com/thoughtbot/neat/issues/543
5
+
6
+ # Install
7
+ ## with NPM
8
+
9
+ - `npm install --save neat-omega`
10
+ - add `@import neat-omega` after your `@import neat` statement in your scss.
11
+ - add `node-modules/neat-omega/core` to your sass import paths.
12
+
13
+ ## with Bower
14
+ - `bower install neat-omega`
15
+ - add `@import neat-omega` after your `@import neat` statement in your scss.
16
+ - add `bower_components/neat-omega/core` to your sass import paths.
17
+
18
+ # Documentation
19
+
20
+ ## alpha
21
+ `@include alpha($selector: self, $grid: $neat-grid)`
22
+ - Clears the float on the specified selector. Generally this is the first item in a new row.
23
+
24
+ <strong>example SCSS</strong>
25
+ ```SCSS
26
+ .element:nth-child(3n+1) {
27
+ @include alpha;
28
+ }
29
+ ```
30
+ <strong>example CSS</strong>
31
+ ```CSS
32
+ .element:nth-child(3n+1) {
33
+ clear: left;
34
+ }
35
+ ```
36
+ ---
37
+ <strong>example SCSS</strong>
38
+ ```SCSS
39
+ .last-element {
40
+ @include alpha('&:last-child');
41
+ }
42
+ ```
43
+ <strong>example CSS</strong>
44
+ ```CSS
45
+ .last-element:last-child {
46
+ clear: left;
47
+ }
48
+ ```
49
+ ---
50
+ <strong>example SCSS</strong>
51
+ ```SCSS
52
+ @include alpha('.custom:nth-child(3n+2)');
53
+ ```
54
+ <strong>example CSS</strong>
55
+ ```CSS
56
+ .custom:nth-child(3n+2) {
57
+ clear: left;
58
+ }
59
+ ```
60
+
61
+ ## nth-alpha
62
+ `@include nth-alpha($selector, $grid: $neat-grid)`
63
+ - Clears the float on the specified `nth-of-type` selector. This is mostly for convenience, since you can achieve the same result with `alpha`
64
+
65
+ <strong>example SCSS</strong>
66
+ ```SCSS
67
+ .nth-element {
68
+ @include nth-alpha(4n+1);
69
+ }
70
+ ```
71
+ <strong>example CSS</strong>
72
+ ```CSS
73
+ .nth-element:nth-of-type(4n+1) {
74
+ clear: left;
75
+ }
76
+ ```
77
+
78
+ ## omega
79
+ `@include omega($selector: self, $grid: $neat-grid)`
80
+ - Adds a margin-right to the specified selector. Generally this is only needed for centered flex layouts.
81
+
82
+ <strong>example SCSS</strong>
83
+ ```SCSS
84
+ @include omega('.element:nth-of-type(3n+2)');
85
+ ```
86
+
87
+ <strong>example CSS</strong>
88
+ ```CSS
89
+ .element:nth-of-type(3n+2) {
90
+ margin-right: 20px;
91
+ }
92
+ ```
93
+ ---
94
+ <strong>example SCSS</strong>
95
+ ```SCSS
96
+ element {
97
+ @include omega('&:nth-of-type(3n+1)');
98
+ }
99
+ ```
100
+ <strong>example CSS</strong>
101
+ ```CSS
102
+ .element:nth-of-type(3n+1) {
103
+ margin-right: 20px;
104
+ }
105
+ ```
106
+ ---
107
+ <strong>example SCSS</strong>
108
+ ```SCSS
109
+ .element {
110
+ @include flex-omega;
111
+ }
112
+ ```
113
+ <strong>example CSS</strong>
114
+ ```CSS
115
+ .element {
116
+ margin-right: 20px;
117
+ }
118
+ ```
119
+
120
+ ## omega-flex
121
+ `@include omega-flex($selector: null, $grid: $neat-grid)`
122
+ - Adds a margin right to the specified object, or if auto, to the last child of the grid.
123
+ <strong>example SCSS</strong>
124
+ ```SCSS
125
+ @include flex-omega('.element:nth-of-type(3n+2)');
126
+ ```
127
+ <strong>example CSS</strong>
128
+ ```CSS
129
+ @example css - CSS Output
130
+ .element:nth-of-type(3n+2) {
131
+ margin-right: 20px;
132
+ }
133
+ ```
134
+ ---
135
+ <strong>example SCSS</strong>
136
+ ```SCSS
137
+ .element {
138
+ @include flex-omega('&:nth-of-type(3n+1)');
139
+ }
140
+ ```
141
+ <strong>example CSS</strong>
142
+ ```CSS
143
+ @example css - CSS Output
144
+ .element:nth-of-type(3n+1) {
145
+ margin-right: 20px;
146
+ }
147
+ ```
148
+ ---
149
+ <strong>example SCSS</strong>
150
+ ```SCSS
151
+ .element {
152
+ @include flex-omega(auto);
153
+ }
154
+ ```
155
+ <strong>example CSS</strong>
156
+ ```CSS
157
+ @example css - CSS Output
158
+ .element:last-child {
159
+ margin-right: 20px;
160
+ }
161
+ ```
162
+ ## nth-omega
163
+ `@include nth-omega($selector, $grid: $neat-grid)`
164
+ - Adds a margin right to the specified `nth-of-type` object, and clears the `nth+1` object. Note that composite arguments such as `2n+1` are not supported by this mixin.
165
+
166
+ <strong>example SCSS</strong>
167
+ ```SCSS
168
+ .nth-element {
169
+ @include nth-omega(4n);
170
+ }
171
+ ```
172
+ <strong>example CSS</strong>
173
+ ```CSS
174
+ .nth-element:nth-child(4n) {
175
+ margin-right: 20px;
176
+ }
177
+ .nth-element:nth-child(4n+1) {
178
+ clear: left;
179
+ }
180
+ .nth-element:last-child {
181
+ margin-right: 20px;
182
+ }
183
+ ```
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "neat-omega",
3
+ "description": "A family of omega mixins for Neat 2.0",
4
+ "version": "3.0.0",
5
+ "main": "neat-omega.scss",
6
+ "authors": [
7
+ "Kevin Garcia"
8
+ ],
9
+ "license": "MIT",
10
+ "keywords": [
11
+ "columns",
12
+ "grid",
13
+ "layout",
14
+ "media",
15
+ "media-queries",
16
+ "neat",
17
+ "omega",
18
+ "sass",
19
+ "scss",
20
+ "semantic"
21
+ ],
22
+ "homepage": "https://github.com/kgcreative/neat-omega",
23
+ "ignore": [
24
+ "**/.*",
25
+ "node_modules",
26
+ "bower_components",
27
+ "test",
28
+ "tests"
29
+ ],
30
+ "dependencies": {
31
+ "neat": "^2"
32
+ }
33
+ }
@@ -0,0 +1,51 @@
1
+ @charset "UTF-8";
2
+ /// Clears the float on the specified element. Note that in Neat 2.x,
3
+ /// this is likely the only mixin you need to properly clear floated layouts.
4
+ ///
5
+ /// @group Features
6
+ ///
7
+ /// @name alpha
8
+ ///
9
+ /// @argument {self | string} [self] $element
10
+ /// The alpha mixin automatically adds a clear to the specified `$element`.
11
+ ///
12
+ /// @argument {map} $grid [$neat-grid]
13
+ /// The grid to be used to generate the margins.
14
+ /// By default, the global `$neat-grid` will be used.
15
+ ///
16
+ /// @example scss
17
+ ///
18
+ /// .element:nth-child(3n+1) {
19
+ /// @include alpha;
20
+ /// }
21
+ ///
22
+ /// .last-element {
23
+ /// @include alpha('&:last-child');
24
+ /// }
25
+ ///
26
+ /// @include alpha('.custom:nth-child(3n+2)');
27
+ ///
28
+ /// @example css - CSS Output
29
+ ///
30
+ /// .element:nth-child(3n+1) {
31
+ /// clear: left;
32
+ /// }
33
+ ///
34
+ /// .last-element:last-child {
35
+ /// clear: left;
36
+ /// }
37
+ ///
38
+ /// .custom:nth-child(3n+2) {
39
+ /// clear: left;
40
+ /// }
41
+ ///
42
+
43
+ @mixin alpha($selector: self, $grid: $neat-grid) {
44
+ @if $selector == self {
45
+ clear: _neat-float-direction($grid);
46
+ } @else {
47
+ #{$selector} {
48
+ clear: _neat-float-direction($grid);
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,7 @@
1
+ @charset "UTF-8";
2
+
3
+ @import '_alpha';
4
+ @import '_nth-alpha';
5
+ @import '_omega';
6
+ @import '_nth-omega';
7
+ @import '_omega-flex';
@@ -0,0 +1,36 @@
1
+ @charset "UTF-8";
2
+ /// Creates a margin right on the nth object in the row and the last
3
+ /// object in the container which causes a centered flexbox to self correct.
4
+ ///
5
+ /// It also brings back the neat 1.8 behavior of clearing the *n + 1 block element,
6
+ /// which addresses a secondary edge case where short elements don't
7
+ /// clear the full row in floated 'box' layouts.
8
+ ///
9
+ /// @group Features
10
+ ///
11
+ /// @name nth-alpha
12
+ ///
13
+ /// @argument {number (`nth-child`}
14
+ /// When passed an `nth-child` argument with `block` display,
15
+ /// the alpha mixin automatically clears that element. It can accept complex selectors.
16
+ ///
17
+ /// @argument {map} $grid [$neat-grid]
18
+ /// The grid to be used to generate the margins.
19
+ /// By default, the global `$neat-grid` will be used.
20
+ ///
21
+ /// .nth-element {
22
+ /// @include nth-alpha(4n+1);
23
+ /// }
24
+ ///
25
+ /// @example css - CSS Output
26
+ ///
27
+ /// .nth-element:nth-of-type(4n+1) {
28
+ /// clear: left;
29
+ /// }
30
+ ///
31
+
32
+ @mixin nth-alpha($selector, $grid: $neat-grid) {
33
+ &:nth-of-type(#{$selector}) {
34
+ clear: _neat-float-direction($grid);
35
+ }
36
+ }
@@ -0,0 +1,53 @@
1
+ @charset "UTF-8";
2
+ /// Creates a margin right on the nth object in the row and the last
3
+ /// object in the container which causes a centered flexbox to self correct.
4
+ ///
5
+ /// It also brings back the neat 1.8 behavior of clearing the *n + 1 block element,
6
+ /// which addresses a secondary edge case where short elements don't
7
+ /// clear the full row in floated 'box' layouts.
8
+ ///
9
+ /// @group Features
10
+ ///
11
+ /// @name nth-omega
12
+ ///
13
+ /// @argument {number (`nth-child`}
14
+ /// When passed an `nth-child` argument of type `*n` with `block` display,
15
+ /// the omega mixin automatically adds a clear to the `*n+1` th element.
16
+ /// Note that composite arguments such as `2n+1` do not support this feature.
17
+ ///
18
+ /// @argument {map} $grid [$neat-grid]
19
+ /// The grid to be used to generate the margins.
20
+ /// By default, the global `$neat-grid` will be used.
21
+ ///
22
+ /// .nth-element {
23
+ /// @include nth-omega(4n);
24
+ /// }
25
+ ///
26
+ /// @example css - CSS Output
27
+ ///
28
+ /// .nth-element:nth-child(4n) {
29
+ /// margin-right: 20px;
30
+ /// }
31
+ ///
32
+ /// .nth-element:nth-child(4n+1) {
33
+ /// clear: left;
34
+ /// }
35
+ ///
36
+ /// .nth-element:last-child {
37
+ /// margin-right: 20px;
38
+ /// }
39
+ ///
40
+
41
+ @mixin nth-omega($selector, $grid: $neat-grid) {
42
+ $_grid-gutter: _retrieve-neat-setting($grid, gutter);
43
+
44
+ &:nth-of-type(#{$selector}) {
45
+ margin-#{_neat-opposite-direction($grid)}: $_grid-gutter;
46
+ }
47
+ &:nth-of-type(#{$selector}+1) {
48
+ clear: _neat-float-direction($grid);
49
+ }
50
+ &:last-child {
51
+ margin-#{_neat-opposite-direction($grid)}: $_grid-gutter;
52
+ }
53
+ }
@@ -0,0 +1,60 @@
1
+ @charset "UTF-8";
2
+ /// Creates an opposite direction margin on the current object of a grid.
3
+ /// This is primarily used to self-correct alignment in a centered flex grid.
4
+ ///
5
+ /// @group Features
6
+ ///
7
+ /// @name Omega flex
8
+ ///
9
+ /// @argument { null | 'string' | auto} [auto] $selector
10
+ /// If null, the omega-flex mixin creates a margin-right on the current object.
11
+ /// If passed a string, the omega-flex misin creates a margin-right on the specified selector.
12
+ /// If auto, the omega-flex mixin creates a margin-right on the last object in the container.
13
+ ///
14
+ /// @argument {map} $grid [$neat-grid]
15
+ /// The grid to be used to generate the margins.
16
+ /// By default, the global `$neat-grid` will be used.
17
+ ///
18
+ /// @example scss - Usage
19
+ /// @include flex-omega('.element:nth-of-type(3n+2)');
20
+ ///
21
+ /// @example css - CSS Output
22
+ /// .element:nth-of-type(3n+2) {
23
+ /// margin-right: 20px;
24
+ /// }
25
+ ///
26
+ /// @example scss - Usage
27
+ /// .element {
28
+ /// @include flex-omega('&:nth-of-type(3n+1)');
29
+ /// }
30
+ ///
31
+ /// @example css - CSS Output
32
+ /// .element:nth-of-type(3n+1) {
33
+ /// margin-right: 20px;
34
+ /// }
35
+ ///
36
+ /// @example scss - Usage
37
+ /// .element {
38
+ /// @include flex-omega(auto);
39
+ /// }
40
+ ///
41
+ /// @example css - CSS Output
42
+ /// .element:last-child {
43
+ /// margin-right: 20px;
44
+ /// }
45
+
46
+ @mixin omega-flex($selector: null, $grid: $neat-grid) {
47
+ $_grid-gutter: _retrieve-neat-setting($grid, gutter);
48
+
49
+ @if ($selector == null) or ($selector == self) {
50
+ margin-#{_neat-opposite-direction($grid)}: $_grid-gutter;
51
+ } @else if ($selector == auto) or ($selector == last) {
52
+ &:last-child {
53
+ margin-#{_neat-opposite-direction($grid)}: $_grid-gutter;
54
+ }
55
+ } @else {
56
+ #{$selector} {
57
+ margin-#{_neat-opposite-direction($grid)}: $_grid-gutter;
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,54 @@
1
+ @charset "UTF-8";
2
+ /// Creates an opposite direction margin on the specified selector.
3
+ /// This is primarily used to self-correct the alignment of a centered flex-grid.
4
+ ///
5
+ /// @group Features
6
+ ///
7
+ /// @name Omega
8
+ ///
9
+ /// @argument { string } $selector
10
+ /// The omega-flex mixin creates a margin-right on the specified selector.
11
+ ///
12
+ /// @argument {map} $grid [$neat-grid]
13
+ /// The grid to be used to generate the margins.
14
+ /// By default, the global `$neat-grid` will be used.
15
+ ///
16
+ /// @example scss - Usage
17
+ /// @include omega('.element:nth-of-type(3n+2)');
18
+ ///
19
+ /// @example css - CSS Output
20
+ /// .element:nth-of-type(3n+2) {
21
+ /// margin-right: 20px;
22
+ /// }
23
+ ///
24
+ /// @example scss - Usage
25
+ /// .element {
26
+ /// @include omega('&:nth-of-type(3n+1)');
27
+ /// }
28
+ ///
29
+ /// @example css - CSS Output
30
+ /// .element:nth-of-type(3n+1) {
31
+ /// margin-right: 20px;
32
+ /// }
33
+ ///
34
+ /// @example scss - Usage
35
+ /// .element {
36
+ /// @include flex-omega;
37
+ /// }
38
+ ///
39
+ /// @example css - CSS Output
40
+ /// .element {
41
+ /// margin-right: 20px;
42
+ /// }
43
+
44
+ @mixin omega($selector: self, $grid: $neat-grid) {
45
+ $_grid-gutter: _retrieve-neat-setting($grid, gutter);
46
+
47
+ @if ($selector == self) or ($selector == null) {
48
+ margin-#{_neat-opposite-direction($grid)}: $_grid-gutter;
49
+ } @else {
50
+ #{$selector} {
51
+ margin-#{_neat-opposite-direction($grid)}: $_grid-gutter;
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,6 @@
1
+
2
+ neat_omega_path = File.expand_path("../../core", __FILE__)
3
+ ENV["SASS_PATH"] = [
4
+ ENV["SASS_PATH"],
5
+ neat_omega_path,
6
+ ].compact.join(File::PATH_SEPARATOR)
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright © 2017 [Kevin Garcia](github.com/kgcreative)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the “Software”), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,16 @@
1
+ Gem::Specification.new do |s|
2
+ s.add_runtime_dependency "sass", "~> 3.4"
3
+ s.authors = [
4
+ "Kevin Garcia"
5
+ ]
6
+ s.email = "kevin@kgcreative.com"
7
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
8
+ s.files = `git ls-files`.split("\n")
9
+ s.homepage = "https://github.com/kgcreative/neat-omega"
10
+ s.license = "MIT"
11
+ s.name = "neat-omega"
12
+ s.platform = Gem::Platform::RUBY
13
+ s.require_paths = ["lib"]
14
+ s.summary = "An omega mixin family for Neat 2.x"
15
+ s.version = "3.0.0"
16
+ end
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "neat-omega",
3
+ "version": "3.0.0",
4
+ "description": "A family of omega mixins for Neat 2.0",
5
+ "keywords": [
6
+ "columns",
7
+ "grid",
8
+ "layout",
9
+ "media",
10
+ "media-queries",
11
+ "neat",
12
+ "omega",
13
+ "sass",
14
+ "scss",
15
+ "semantic"
16
+ ],
17
+ "homepage": "https://github.com/kgcreative/neat-omega",
18
+ "bugs": {
19
+ "url": "git+https://github.com/kgcreative/neat-omega/issues"
20
+ },
21
+ "license": "MIT",
22
+ "author": {
23
+ "name": "Kevin Garcia",
24
+ "url": "https://github.com/kgcreative/"
25
+ },
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "https://github.com/kgcreative/neat-omega.git"
29
+ },
30
+ "dependencies": {
31
+ "bourbon-neat": "^2"
32
+ }
33
+ }
metadata ADDED
@@ -0,0 +1,70 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: neat-omega
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Kevin Garcia
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-04-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sass
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.4'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.4'
27
+ description:
28
+ email: kevin@kgcreative.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - ".gitignore"
34
+ - README.md
35
+ - bower.json
36
+ - core/_alpha.scss
37
+ - core/_neat-omega.scss
38
+ - core/_nth-alpha.scss
39
+ - core/_nth-omega.scss
40
+ - core/_omega-flex.scss
41
+ - core/_omega.scss
42
+ - lib/neat-omega.rb
43
+ - license.md
44
+ - neat-omega.gemspec
45
+ - package.json
46
+ homepage: https://github.com/kgcreative/neat-omega
47
+ licenses:
48
+ - MIT
49
+ metadata: {}
50
+ post_install_message:
51
+ rdoc_options: []
52
+ require_paths:
53
+ - lib
54
+ required_ruby_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ required_rubygems_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ requirements: []
65
+ rubyforge_project:
66
+ rubygems_version: 2.6.11
67
+ signing_key:
68
+ specification_version: 4
69
+ summary: An omega mixin family for Neat 2.x
70
+ test_files: []