uniform-ui 2.3.8 → 3.0.0.beta5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/lib/assets/javascripts/uniform.js +19 -19
  3. data/lib/assets/javascripts/uniform/checkbox.js +59 -16
  4. data/lib/assets/javascripts/uniform/component.js +20 -4
  5. data/lib/assets/javascripts/uniform/dropdown.js +78 -209
  6. data/lib/assets/javascripts/uniform/floating-label-input.js +63 -0
  7. data/lib/assets/javascripts/uniform/icons.js +12 -3
  8. data/lib/assets/javascripts/uniform/modal.js +15 -18
  9. data/lib/assets/javascripts/uniform/popover.js +42 -25
  10. data/lib/assets/javascripts/uniform/resizer.js +26 -30
  11. data/lib/assets/javascripts/uniform/select.js +188 -222
  12. data/lib/assets/javascripts/uniform/tooltip.js +11 -11
  13. data/lib/assets/stylesheets/uniform.scss +3 -7
  14. data/lib/assets/stylesheets/uniform/base.scss +20 -1
  15. data/lib/assets/stylesheets/uniform/components/buttons.scss +171 -184
  16. data/lib/assets/stylesheets/uniform/components/checkbox.scss +104 -0
  17. data/lib/assets/stylesheets/uniform/components/container.scss +3 -2
  18. data/lib/assets/stylesheets/uniform/components/dropdown.scss +8 -5
  19. data/lib/assets/stylesheets/uniform/components/floating-label-input.scss +29 -0
  20. data/lib/assets/stylesheets/uniform/components/input-group.scss +30 -0
  21. data/lib/assets/stylesheets/uniform/components/label.scss +21 -16
  22. data/lib/assets/stylesheets/uniform/components/loaders.scss +28 -54
  23. data/lib/assets/stylesheets/uniform/components/nav.scss +50 -87
  24. data/lib/assets/stylesheets/uniform/components/pointer.scss +83 -0
  25. data/lib/assets/stylesheets/uniform/components/select.scss +97 -107
  26. data/lib/assets/stylesheets/uniform/components/table.scss +31 -138
  27. data/lib/assets/stylesheets/uniform/components/thumb.scss +40 -25
  28. data/lib/assets/stylesheets/uniform/components/z-input.scss +20 -0
  29. data/lib/assets/stylesheets/uniform/defaults.scss +31 -10
  30. data/lib/assets/stylesheets/uniform/functions.scss +32 -7
  31. data/lib/assets/stylesheets/uniform/mixins.scss +110 -57
  32. data/lib/assets/stylesheets/uniform/utilities.scss +55 -0
  33. data/lib/assets/stylesheets/uniform/utilities/background.scss +9 -0
  34. data/lib/assets/stylesheets/uniform/utilities/borders.scss +84 -0
  35. data/lib/assets/stylesheets/uniform/utilities/effects.scss +172 -0
  36. data/lib/assets/stylesheets/uniform/utilities/layout.scss +177 -0
  37. data/lib/assets/stylesheets/uniform/utilities/position.scss +42 -0
  38. data/lib/assets/stylesheets/uniform/utilities/sizing.scss +54 -0
  39. data/lib/assets/stylesheets/uniform/utilities/spacing.scss +62 -0
  40. data/lib/assets/stylesheets/uniform/utilities/svg.scss +5 -0
  41. data/lib/assets/stylesheets/uniform/utilities/text.scss +158 -0
  42. data/lib/assets/stylesheets/uniform/variables.scss +111 -42
  43. data/lib/uniform/version.rb +1 -1
  44. metadata +25 -48
  45. data/lib/assets/javascripts/uniform.jquery.js +0 -152
  46. data/lib/assets/javascripts/uniform/dom-helpers.js +0 -158
  47. data/lib/assets/javascripts/uniform/floating-label.js +0 -54
  48. data/lib/assets/stylesheets/uniform-print.scss +0 -1
  49. data/lib/assets/stylesheets/uniform/components.scss +0 -11
  50. data/lib/assets/stylesheets/uniform/components/alert.scss +0 -72
  51. data/lib/assets/stylesheets/uniform/components/card.scss +0 -93
  52. data/lib/assets/stylesheets/uniform/components/form.scss +0 -149
  53. data/lib/assets/stylesheets/uniform/components/form/checkbox-collection.scss +0 -103
  54. data/lib/assets/stylesheets/uniform/components/form/checkbox.scss +0 -58
  55. data/lib/assets/stylesheets/uniform/components/form/floating-label.scss +0 -65
  56. data/lib/assets/stylesheets/uniform/components/form/input-group.scss +0 -56
  57. data/lib/assets/stylesheets/uniform/components/form/tristate.scss +0 -88
  58. data/lib/assets/stylesheets/uniform/components/grid.scss +0 -179
  59. data/lib/assets/stylesheets/uniform/components/row.scss +0 -67
  60. data/lib/assets/stylesheets/uniform/components/tooltip.scss +0 -41
  61. data/lib/assets/stylesheets/uniform/helpers.scss +0 -133
  62. data/lib/assets/stylesheets/uniform/helpers/border.scss +0 -28
  63. data/lib/assets/stylesheets/uniform/helpers/colors.scss +0 -24
  64. data/lib/assets/stylesheets/uniform/helpers/margin.scss +0 -27
  65. data/lib/assets/stylesheets/uniform/helpers/padding.scss +0 -9
  66. data/lib/assets/stylesheets/uniform/helpers/position.scss +0 -20
  67. data/lib/assets/stylesheets/uniform/helpers/sizes.scss +0 -38
  68. data/lib/assets/stylesheets/uniform/helpers/text.scss +0 -152
  69. data/lib/assets/stylesheets/uniform/print/grid.scss +0 -50
@@ -1,54 +0,0 @@
1
- import Component from './component';
2
- import * as Helpers from './dom-helpers';
3
-
4
- export default class FloatingLabel extends Component {
5
-
6
- initialize(){
7
- this.label = this.el.querySelector('label');
8
- this.input = this.el.querySelector("#" + this.label.getAttribute('for'));
9
- this.startingHeight;
10
-
11
- this.listenTo(this.input, 'focus', this.activate);
12
- this.listenTo(this.input, 'blur', this.deactivate);
13
- this.listenTo(this.input, 'revealed', this.render);
14
- }
15
-
16
- render () {
17
- if(!Helpers.is_visible(this.input)) return;
18
- if(Helpers.hasClass(this.el, 'enabled')) return;
19
-
20
- var padding = parseInt(Helpers.css(this.input, 'paddingBottom'));
21
- this.startingHeight = this.input.offsetHeight;
22
- Helpers.addClass(this.el, 'enabled');
23
- Helpers.addClass(this.el, 'inactive');
24
-
25
- this.input.style.paddingTop = padding + padding/2 + "px";
26
- this.input.style.paddingBottom = padding - padding/2 - 2 + "px";
27
-
28
- this.label.style.position = 'absolute';
29
- this.label.style.top = 0;
30
- this.label.style.left = this.label.offsetLeft;
31
- this.label.style.paddingLeft = Helpers.css(this.input, 'paddingLeft');
32
- this.label.style.height = this.startingHeight;
33
- this.label.style.lineHeight = this.startingHeight + "px";
34
-
35
- if (Helpers.is_focus(this.input)) this.activate();
36
- if (typeof this.input.value !== "undefined" && this.input.value != "") this.activate();
37
- }
38
-
39
- activate (e) {
40
- if (typeof e !== "undefined") Helpers.addClass(this.el, 'active');
41
- if (Helpers.hasClass(this.el, 'float')) return;
42
- Helpers.addClass(this.el, 'float');
43
- Helpers.removeClass(this.el, 'inactive');
44
- this.label.style.lineHeight = this.startingHeight / 2 + "px";
45
- }
46
-
47
- deactivate (e) {
48
- if (typeof e !== "undefined") Helpers.removeClass(this.el, 'active');
49
- if (this.input.value != "") return;
50
- Helpers.removeClass(this.el, 'float');
51
- Helpers.addClass(this.el, 'inactive');
52
- this.label.style.lineHeight = this.startingHeight + "px";
53
- }
54
- }
@@ -1 +0,0 @@
1
- @import 'uniform/print/*';
@@ -1,11 +0,0 @@
1
- .square-icon{
2
- display: inline-block;
3
- height: 1em;
4
- width: 1em;
5
- border: 1px solid color('gray');
6
- border-radius: 0.1em;
7
- vertical-align:middle;
8
- &.gray-light{
9
- border-color: lighten(color('gray'), 40);
10
- }
11
- }
@@ -1,72 +0,0 @@
1
- .uniformAlert{
2
- border-radius: 0.2em;
3
- border: 1px solid color('gray-darker');
4
- background: white;
5
- position:relative;
6
- color: color('gray-darker');
7
-
8
- p:last-of-type{
9
- margin-bottom: 0 !important;
10
- }
11
-
12
- &.-green{
13
- border-color: color('green');
14
- color: color('green-dark');
15
- background: lighten(color('green'), 40);
16
- .uniformAlert-icon svg {
17
- fill: color('green');
18
- color: color('green');
19
- }
20
- }
21
- &.-red{
22
- border-color: color('red');
23
- color: color('red');
24
- background: lighten(color('red'), 40);
25
- .uniformAlert-icon svg {
26
- fill: color('red');
27
- color: color('red');
28
- }
29
- }
30
- &.-blue{
31
- border-color: color('blue');
32
- color: color('blue-dark');
33
- background: lighten(color('blue'), 50);
34
- .uniformAlert-icon svg {
35
- fill: color('blue');
36
- color: color('blue');
37
- }
38
- }
39
-
40
- .uniformAlert-body{
41
- overflow:hidden;
42
- padding: 1em;
43
- }
44
-
45
- .uniformAlert-icon{
46
- padding: 1em;
47
- padding-right: 0;
48
- float: left;
49
- min-height: 1px;
50
- }
51
-
52
- .uniformAlert-close {
53
- position: absolute;
54
- top: 0;
55
- right: 0;
56
- cursor: pointer;
57
- height: 20px;
58
- width: 20px;
59
- &::before{
60
- position:absolute;
61
- left: 5px;
62
- top: 0;
63
- content: icon-x(10, "#000000");
64
- opacity: 0.3;
65
- }
66
- &:hover{
67
- &::before{
68
- opacity: 1;
69
- }
70
- }
71
- }
72
- }
@@ -1,93 +0,0 @@
1
- .uniformCard{
2
- background: white;
3
- border-width: 1px;
4
- border-style: solid;
5
- border-color: color('gray');
6
- border-radius: 0.25em;
7
- margin-bottom: 1em;
8
-
9
- &.-nest{
10
- margin-left: -0.5em;
11
- margin-right: -0.5em;
12
- }
13
- &.-clip{
14
- overflow:hidden;
15
- }
16
-
17
- &.-tile{
18
- border-radius: 0;
19
- margin: 0;
20
- margin-bottom: -1px;
21
- margin-right: -1px;
22
- }
23
-
24
- .uniformCard-header,
25
- .uniformCard-footer,
26
- .uniformCard-body{
27
- padding: 1em;
28
- clear: both;
29
- }
30
- .uniformCard-header{
31
- border-bottom: 1px solid color('gray');
32
- }
33
- .uniformCard-footer{
34
- border-top: 1px solid color('gray');
35
- }
36
-
37
- .uniformCard-collapse{
38
- display:none;
39
- }
40
-
41
- .uniformCard-icon{
42
- transition: transform 0.2s;
43
- }
44
-
45
- &.expanded{
46
- .uniformCard-header {
47
- .uniformCard-icon{
48
- transform: rotate(180deg);
49
- }
50
- }
51
- .uniformCard-collapse{
52
- display:block;
53
- }
54
- }
55
-
56
- &.uniformCard-accordion{
57
- margin: 0;
58
- margin-bottom:-1px;
59
- border-radius: 0;
60
- transition: margin 0.5s;
61
- &:first-of-type{
62
- border-top-left-radius: 0.25em;
63
- border-top-right-radius: 0.25em;
64
- }
65
- &:last-of-type{
66
- border-bottom-left-radius: 0.25em;
67
- border-bottom-right-radius: 0.25em;
68
- }
69
- .uniformCard-header{
70
- cursor: pointer;
71
- border-bottom-style: none;
72
- &:hover{
73
- background: lighten(color('blue'), 50);
74
- }
75
- }
76
- &.expanded{
77
- margin: 1em 0;
78
- border-radius: 0.25em;
79
- &:first-of-type{
80
- margin-top:0;
81
- }
82
- &:last-of-type{
83
- margin-bottom:0;
84
- }
85
- .uniformCard-header{
86
- border-bottom-style: solid;
87
- &:hover{
88
- background: none;
89
- }
90
- }
91
- }
92
- }
93
- }
@@ -1,149 +0,0 @@
1
- //----------------------------------------------------------------
2
- // UniformInput
3
- //----------------------------------------------------------------
4
- @mixin uniformInput(){
5
- font-family: $system-font;
6
- border:1px solid color('gray');
7
- padding: 0.5em;
8
- line-height: 1.3;
9
- outline: none;
10
- appearance: none;
11
- transition: box-shadow 0.1s ease-in;
12
- &:focus{
13
- box-shadow: inset 0 -1px 0 color('green');
14
- border-bottom-color: color('green');
15
- }
16
- &.-block{
17
- width: 100%;
18
- max-width: 100%;
19
- }
20
- &.pad-2x{
21
- padding: 1em;
22
- }
23
- &.-invert{
24
- border-color: color('gray-dark');
25
- border-radius: 0.25em;
26
- }
27
- &:disabled{
28
- background: color('gray-lighter');
29
- color: color('gray-dark');
30
- }
31
- }
32
- .uniformInput,
33
- .uniformForm #{$text-inputs},
34
- .uniformForm textarea{
35
- @include uniformInput;
36
- }
37
-
38
- select.uniformInput{
39
- appearance: none;
40
- color: color('gray-darker');
41
- background: white url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNy4xNjdweCIgaGVpZ2h0PSIyOHB4IiB2aWV3Qm94PSIwIDAgMjcuMTY3IDI4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNy4xNjcgMjgiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnIGlkPSJpY29tb29uLWlnbm9yZSI+PC9nPjxwYXRoIGZpbGw9IiM1MDUxNTMiIGQ9Ik0xNiwxMWMwLDAuMjcxLTAuMSwwLjUwNS0wLjI5NywwLjcwM2wtNyw3QzguNTA1LDE4LjksOC4yNzEsMTksOCwxOXMtMC41MDUtMC4xLTAuNzAzLTAuMjk3bC03LTdDMC4wOTksMTEuNTA1LDAsMTEuMjcxLDAsMTFzMC4wOTktMC41MDUsMC4yOTctMC43MDNDMC40OTUsMTAuMDk5LDAuNzI5LDEwLDEsMTBoMTRjMC4yNzEsMCwwLjUwNSwwLjA5OSwwLjcwMywwLjI5N0MxNS45LDEwLjQ5NSwxNiwxMC43MjksMTYsMTF6Ii8+PC9zdmc+);
42
- background-position: center right;
43
- background-repeat: no-repeat;
44
- background-size: auto 40%;
45
- position: relative;
46
- border-radius: 0;
47
- padding-right: 1.5em !important;
48
- }
49
- button.uniformInput{
50
- background: white;
51
- @include text-overflow;
52
- }
53
-
54
-
55
- //----------------------------------------------------------------
56
- // UniformForm
57
- //----------------------------------------------------------------
58
- .uniformForm{
59
- .form-group{
60
- position: relative;
61
- margin-bottom: 0.9em;
62
- label{
63
- font-weight:bold;
64
- display:block;
65
- }
66
- &.collapse{
67
- margin-bottom: 0;
68
- }
69
- &:last-of-type{
70
- margin-bottom: 0;
71
- }
72
- }
73
-
74
- .uniformInput,
75
- #{$text-inputs},
76
- textarea{
77
- display:block;
78
- width: 100%;
79
- max-width: 100%;
80
- }
81
-
82
- &.-invert{
83
- #{$text-inputs},
84
- textarea,
85
- .uniformFloatingLabel{
86
- border-color: color('gray-darker');
87
- border-radius: 0.25em;
88
- }
89
- [data-uniform-error]{
90
- color: color('red-bright');
91
- }
92
- .uniformInputGroup{
93
- overflow: hidden;
94
- border-color: color('gray-darker');
95
- border-radius: 0.25em;
96
- }
97
- }
98
- }
99
-
100
- [data-uniform-error]{
101
- position: relative;
102
- color: color('red');
103
- .uniformInputGroup{
104
- border-color: color('red') !important;
105
- }
106
- input{
107
- border-color: color('red') !important;
108
- }
109
- &::after{
110
- content: attr(data-uniform-error);
111
- color: color('red');
112
- position: absolute;
113
- bottom: -7px;
114
- left: 1em;
115
- border: 1px solid color('red');
116
- background: white;
117
- font-size:11px;
118
- line-height: 14px;
119
- @include text-overflow;
120
- padding: 0 0.5em;
121
- max-width: 100%;
122
- }
123
- }
124
-
125
- @include size-rules('.uniformForm.-table'){
126
- display: table;
127
- width: 100%;
128
- .form-group{
129
- display: table-row;
130
- & > * {
131
- display: table-cell;
132
- &.fill{
133
- width: 100%;
134
- }
135
- }
136
- & > label,
137
- & > div,
138
- & > span {
139
- padding-bottom: 1em;
140
- padding-right: 0.5em;
141
- &:last-child{
142
- padding-right: 0;
143
- }
144
- }
145
- }
146
- }
147
-
148
-
149
- @import './form/*';
@@ -1,103 +0,0 @@
1
- @include size-rules('.uniformCheckboxCollection'){
2
- label{
3
- display:block;
4
- margin-right: 1em;
5
- font-weight: normal !important;
6
- line-height: 1;
7
- margin: 0;
8
- margin-bottom: 0.5em;
9
- input{
10
- margin-right: 0.25em;
11
- }
12
- }
13
- &.-inline{
14
- display: flex;
15
- align-items: center;
16
- label{
17
- margin: 0;
18
- margin-right: 0.3em;
19
- padding: 0.5em 0.2em;
20
- line-height: 1.3;
21
- flex: 1 1 auto;
22
- text-align: center;
23
- border-radius: 0.25em;
24
- border: 1px solid color('gray');
25
- &.active{
26
- background: color('gray');
27
- box-shadow: inset 0 -1px 0 0 color('blue');
28
- }
29
- &:last-of-type{
30
- margin-right: 0;
31
- }
32
- }
33
- }
34
- &.-buttons{
35
- label{
36
- padding: 0.5em;
37
- line-height: 1.3;
38
- border-radius: 0.25em;
39
- border: 1px solid color('gray');
40
- cursor: pointer;
41
- &.active{
42
- background: color('gray');
43
- }
44
- }
45
- }
46
- &.-invert{
47
- &.inline,
48
- &.buttons{
49
- label{
50
- border-color: lighten(color('gray'), 20);
51
- &.active{
52
- border-color: color('gray-dark');
53
- background: color('gray-dark');
54
- }
55
- }
56
- }
57
- }
58
- &.hide-check{
59
- label{
60
- cursor: pointer;
61
- }
62
- input{
63
- display:none;
64
- }
65
- }
66
- &.custom-check{
67
- input{
68
- display:none;
69
- }
70
- label{
71
- &::before{
72
- content: "";
73
- display:inline-block;
74
- width: 0.7em;
75
- height: 0.7em;
76
- border: 1px solid white;
77
- border-radius: 2px;
78
- vertical-align: -1px;
79
- line-height: 0.7em;
80
- }
81
- &.active{
82
- &::before{
83
- border-color: color('green');
84
- content: '\2714';
85
- color: color('green');
86
- }
87
- }
88
- }
89
- &.invert{
90
- label{
91
- &::before{
92
- border-color: darken(color('gray-dark'), 5);
93
- }
94
- &.active{
95
- &::before{
96
- border-color: black;
97
- color: color('green-light');
98
- }
99
- }
100
- }
101
- }
102
- }
103
- }