cutlass_js_rails 0.1.0 → 0.1.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d57df8ee7ba7c8cf49e6a68d28bec8b231c2f56f
4
- data.tar.gz: 087c98907ce79fed611e2e585da5ed2f1555fe47
3
+ metadata.gz: afbc791a69353795198913e79a19bb228c214cfc
4
+ data.tar.gz: 5d28e91a960a6b6803591216b25cb84575940b71
5
5
  SHA512:
6
- metadata.gz: 3d45ade76faa0e0ce4d072376a8c0fc813e38900f78da187dd71edefb14d83c04c3df5949899ee0f22eed9436fbb4d0451733eccbbe9f60157d1f34975b1a25b
7
- data.tar.gz: 1db7b90ea56a4b9a501a8ee9b7af1470477615bbfb563d5901a3c6cf9f25380f49e42e33007a1a130d206a339f8b150f331c2a2331600607232c55c8ed2d72c6
6
+ metadata.gz: 62a9eaded77189cd48cad57e4803436756f7fe596c17a9a55c6b2521505fa05458bc0b255a975bac4ed688e5922ee9c34b50cc5ce898bafeff6e617bb46a9e1e
7
+ data.tar.gz: 66c133818fffb50cd2f51a0384f32a0b56c0e399b850a866f4367362977ac5a563081345bbfda961ab51e0807a166b2160983da502816d547ba6160f2dfcfd9e
@@ -0,0 +1,26 @@
1
+ //HELPERS ========================================
2
+ var Cutlass = {}
3
+
4
+ Cutlass.toggleInputActive = function($el, event){
5
+ if(event == 'focus'){
6
+ Cutlass.makeActive($el);
7
+ }
8
+ else if( !$el.val().length ){ //blur event
9
+ Cutlass.removeActive($el);
10
+ }
11
+ }
12
+
13
+ Cutlass.toggleSelectActive = function($select){
14
+ if( $select.val() ){
15
+ Cutlass.makeActive($select);
16
+ }
17
+ else{
18
+ Cutlass.removeActive($select);
19
+ }
20
+ }
21
+ Cutlass.makeActive = function($input){
22
+ $input.parent().addClass('s-active');
23
+ }
24
+ Cutlass.removeActive = function($input){
25
+ $input.parent().removeClass('s-active');
26
+ }
@@ -0,0 +1,30 @@
1
+ Cutlass.generateHTML = function(){
2
+ Cutlass.generateTexts();
3
+ Cutlass.generateSelects();
4
+ }
5
+ Cutlass.generateTexts = function(){
6
+ $('.Cutlass-input-text').each(function(){
7
+ Cutlass.wrapInItem($(this), 'm-text')
8
+ Cutlass.addLabel($(this))
9
+ })
10
+ }
11
+ Cutlass.generateSelects = function(){
12
+ $('.Cutlass-input-select').each(function(){
13
+ Cutlass.wrapInItem($(this), 'm-select')
14
+ Cutlass.addLabel($(this))
15
+ })
16
+ }
17
+
18
+
19
+ // HELPERS =====================
20
+ Cutlass.wrapInItem = function($el, cssClass){
21
+ var $div = $('<div class="Cutlass-item ' + cssClass + '"></div>');
22
+ $el.before($div)
23
+ var $input = $el.detach();
24
+ $div.append($input)
25
+ }
26
+ Cutlass.addLabel = function($input){
27
+ var labelText = $input.data('label');
28
+ var $label = $('<div class="Cutlass-label">' + labelText + '</div>')
29
+ $input.before($label)
30
+ }
@@ -0,0 +1,32 @@
1
+ //= require cutlass/helpers
2
+ //= require cutlass/html_generation
3
+ $(document).ready(function(){
4
+ Cutlass.generateHTML()
5
+
6
+ //TEXT INPUTS ========================================
7
+
8
+ $(document).on('focus', '.Cutlass-input-text', function(){
9
+ Cutlass.toggleInputActive( $(this), 'focus' );
10
+ })
11
+
12
+ $(document).on('blur', '.Cutlass-input-text', function(){
13
+ Cutlass.toggleInputActive( $(this), 'blur' );
14
+ })
15
+
16
+ $('.Cutlass-input-text').each(function(){
17
+ if($(this).val().length){
18
+ Cutlass.makeActive($(this));
19
+ }
20
+ })
21
+
22
+ //SELECT BOXES ========================================
23
+
24
+ $(document).on('change', '.Cutlass-input-select', function(){
25
+ Cutlass.toggleSelectActive($(this))
26
+ })
27
+
28
+ $('.Cutlass-input-select').each(function(){
29
+ Cutlass.toggleSelectActive($(this))
30
+ })
31
+
32
+ })
@@ -0,0 +1,94 @@
1
+ $left-padding: 30px;
2
+ $right-padding: 15px;
3
+ $cutlass-border-color: #e4e4e4 !default;
4
+ $cutlass-label-color: #080808 !default;
5
+ $cutlass-label-opacity: .5;
6
+ $cutlass-active-label-color: #080808 !default;
7
+ $cutlass-input-color: #080808 !default;
8
+
9
+ .Cutlass-group{
10
+ text-align: left;
11
+ margin-bottom: 10px;
12
+ }
13
+ .Cutlass-item{
14
+ position: relative;
15
+ min-height: 60px;
16
+ border-bottom: 1px solid $cutlass-border-color;
17
+ }
18
+ .Cutlass-label{
19
+ color: $cutlass-label-color;
20
+ transition: all .2s;
21
+ font-size: 15px;
22
+ opacity: $cutlass-label-opacity;
23
+ }
24
+ %Cutlass-input{
25
+ border: 0;
26
+ font-size: 15px;
27
+ }
28
+
29
+ // ========================================================
30
+ // TEXT INPUT
31
+ // ========================================================
32
+ .m-text{
33
+ .Cutlass-label{
34
+ position: absolute;
35
+ left: $left-padding;
36
+ top: 18px;
37
+ opacity: $cutlass-label-opacity;
38
+ }
39
+ .Cutlass-input-text{
40
+ @extend %Cutlass-input;
41
+ position: relative;
42
+ color: $cutlass-input-color;
43
+ padding: 32px $right-padding 10px $left-padding;
44
+ background-color: transparent;
45
+ z-index: 5;
46
+ }
47
+ }
48
+
49
+ // ========================================================
50
+ // SELECT INPUT
51
+ // ========================================================
52
+ .m-select{
53
+ .Cutlass-label{
54
+ position: absolute;
55
+ left: $left-padding;
56
+ top: 18px;
57
+ }
58
+ .Cutlass-input-select{
59
+ @extend %Cutlass-input;
60
+ position: relative;
61
+ height: 59px;
62
+ color: $cutlass-input-color;
63
+ padding: 8px $right-padding 0 $left-padding;
64
+ background-color: transparent;
65
+ width: 100%;
66
+ z-index: 5;
67
+ outline: 0;
68
+ appearance: none;
69
+ -webkit-appearance: none; /*Removes default chrome and safari style*/
70
+ -moz-appearance: none; /*Removes default style Firefox*/
71
+ &::-ms-expand{
72
+ display: none; //IE10 remove arrow
73
+ }
74
+ }
75
+ }
76
+
77
+ // ========================================================
78
+ // MODIFIERS
79
+ // ========================================================
80
+
81
+ //Change label position on text inputs
82
+ .s-active{
83
+ .Cutlass-label{
84
+ font-size: 12px;
85
+ transform: translateY(-6px);
86
+ }
87
+
88
+ //Active for selectboxes
89
+ &.m-select.s-active{
90
+ .Cutlass-input-select{
91
+ padding-top: 22px;
92
+ }
93
+ }
94
+ }
@@ -1,3 +1,3 @@
1
1
  module CutlassJsRails
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cutlass_js_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - chardos
@@ -51,6 +51,10 @@ files:
51
51
  - LICENSE.txt
52
52
  - README.md
53
53
  - Rakefile
54
+ - app/assets/javascripts/cutlass.js
55
+ - app/assets/javascripts/cutlass/helpers.js
56
+ - app/assets/javascripts/cutlass/html_generation.js
57
+ - app/assets/stylesheets/_cutlass.scss
54
58
  - bin/console
55
59
  - bin/setup
56
60
  - cutlass_js_rails.gemspec