blaze-css-rails 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +914 -0
  3. data/app/assets/stylesheets/animations.alerts.scss +73 -0
  4. data/app/assets/stylesheets/animations.bubbles.scss +31 -0
  5. data/app/assets/stylesheets/animations.calendars.scss +31 -0
  6. data/app/assets/stylesheets/animations.drawers.scss +13 -0
  7. data/app/assets/stylesheets/animations.hints.scss +5 -0
  8. data/app/assets/stylesheets/animations.menus.scss +31 -0
  9. data/app/assets/stylesheets/animations.modals.scss +31 -0
  10. data/app/assets/stylesheets/animations.navs.scss +19 -0
  11. data/app/assets/stylesheets/animations.overlays.scss +15 -0
  12. data/app/assets/stylesheets/animations.ranges.scss +13 -0
  13. data/app/assets/stylesheets/animations.tabs.scss +19 -0
  14. data/app/assets/stylesheets/animations.toasts.scss +33 -0
  15. data/app/assets/stylesheets/animations.toggles.scss +31 -0
  16. data/app/assets/stylesheets/animations.trees.scss +47 -0
  17. data/app/assets/stylesheets/blaze.animations.scss +14 -0
  18. data/app/assets/stylesheets/blaze.scss +35 -0
  19. data/app/assets/stylesheets/components.addresses.scss +9 -0
  20. data/app/assets/stylesheets/components.alerts.scss +21 -0
  21. data/app/assets/stylesheets/components.badges.scss +25 -0
  22. data/app/assets/stylesheets/components.bubbles.scss +22 -0
  23. data/app/assets/stylesheets/components.buttons.scss +80 -0
  24. data/app/assets/stylesheets/components.calendars.scss +50 -0
  25. data/app/assets/stylesheets/components.cards.scss +92 -0
  26. data/app/assets/stylesheets/components.drawers.scss +81 -0
  27. data/app/assets/stylesheets/components.headings.scss +33 -0
  28. data/app/assets/stylesheets/components.hints.scss +23 -0
  29. data/app/assets/stylesheets/components.inputs.scss +283 -0
  30. data/app/assets/stylesheets/components.links.scss +10 -0
  31. data/app/assets/stylesheets/components.lists.scss +57 -0
  32. data/app/assets/stylesheets/components.menus.scss +51 -0
  33. data/app/assets/stylesheets/components.modals.scss +53 -0
  34. data/app/assets/stylesheets/components.navs.scss +104 -0
  35. data/app/assets/stylesheets/components.overlays.scss +17 -0
  36. data/app/assets/stylesheets/components.pagination.scss +33 -0
  37. data/app/assets/stylesheets/components.ranges.scss +86 -0
  38. data/app/assets/stylesheets/components.tables.scss +53 -0
  39. data/app/assets/stylesheets/components.tabs.scss +45 -0
  40. data/app/assets/stylesheets/components.tags.scss +25 -0
  41. data/app/assets/stylesheets/components.toasts.scss +41 -0
  42. data/app/assets/stylesheets/components.toggles.scss +49 -0
  43. data/app/assets/stylesheets/components.tooltips.scss +21 -0
  44. data/app/assets/stylesheets/components.trees.scss +21 -0
  45. data/app/assets/stylesheets/components.typography.scss +73 -0
  46. data/app/assets/stylesheets/generic.global.scss +3 -0
  47. data/app/assets/stylesheets/mixins/_animations.alerts.scss +54 -0
  48. data/app/assets/stylesheets/mixins/_animations.bubbles.scss +54 -0
  49. data/app/assets/stylesheets/mixins/_animations.calendars.scss +46 -0
  50. data/app/assets/stylesheets/mixins/_animations.drawers.scss +15 -0
  51. data/app/assets/stylesheets/mixins/_animations.hints.scss +5 -0
  52. data/app/assets/stylesheets/mixins/_animations.menus.scss +46 -0
  53. data/app/assets/stylesheets/mixins/_animations.modals.scss +54 -0
  54. data/app/assets/stylesheets/mixins/_animations.navs.scss +15 -0
  55. data/app/assets/stylesheets/mixins/_animations.overlays.scss +28 -0
  56. data/app/assets/stylesheets/mixins/_animations.ranges.scss +43 -0
  57. data/app/assets/stylesheets/mixins/_animations.tabs.scss +15 -0
  58. data/app/assets/stylesheets/mixins/_animations.toasts.scss +45 -0
  59. data/app/assets/stylesheets/mixins/_animations.toggles.scss +29 -0
  60. data/app/assets/stylesheets/mixins/_animations.trees.scss +42 -0
  61. data/app/assets/stylesheets/mixins/_components.addresses.scss +12 -0
  62. data/app/assets/stylesheets/mixins/_components.alerts.scss +30 -0
  63. data/app/assets/stylesheets/mixins/_components.badges.scss +33 -0
  64. data/app/assets/stylesheets/mixins/_components.bubbles.scss +59 -0
  65. data/app/assets/stylesheets/mixins/_components.buttons.scss +197 -0
  66. data/app/assets/stylesheets/mixins/_components.calendars.scss +81 -0
  67. data/app/assets/stylesheets/mixins/_components.cards.scss +122 -0
  68. data/app/assets/stylesheets/mixins/_components.drawers.scss +116 -0
  69. data/app/assets/stylesheets/mixins/_components.headings.scss +39 -0
  70. data/app/assets/stylesheets/mixins/_components.hints.scss +25 -0
  71. data/app/assets/stylesheets/mixins/_components.inputs.scss +283 -0
  72. data/app/assets/stylesheets/mixins/_components.links.scss +44 -0
  73. data/app/assets/stylesheets/mixins/_components.lists.scss +53 -0
  74. data/app/assets/stylesheets/mixins/_components.menus.scss +63 -0
  75. data/app/assets/stylesheets/mixins/_components.modals.scss +63 -0
  76. data/app/assets/stylesheets/mixins/_components.navs.scss +165 -0
  77. data/app/assets/stylesheets/mixins/_components.overlays.scss +30 -0
  78. data/app/assets/stylesheets/mixins/_components.pagination.scss +45 -0
  79. data/app/assets/stylesheets/mixins/_components.ranges.scss +90 -0
  80. data/app/assets/stylesheets/mixins/_components.tables.scss +85 -0
  81. data/app/assets/stylesheets/mixins/_components.tabs.scss +53 -0
  82. data/app/assets/stylesheets/mixins/_components.tags.scss +41 -0
  83. data/app/assets/stylesheets/mixins/_components.toasts.scss +62 -0
  84. data/app/assets/stylesheets/mixins/_components.toggles.scss +75 -0
  85. data/app/assets/stylesheets/mixins/_components.tooltips.scss +89 -0
  86. data/app/assets/stylesheets/mixins/_components.trees.scss +39 -0
  87. data/app/assets/stylesheets/mixins/_components.typography.scss +101 -0
  88. data/app/assets/stylesheets/mixins/_generic.global.scss +15 -0
  89. data/app/assets/stylesheets/mixins/_objects.containers.scss +13 -0
  90. data/app/assets/stylesheets/mixins/_objects.grid.scss +104 -0
  91. data/app/assets/stylesheets/mixins/_objects.images.scss +5 -0
  92. data/app/assets/stylesheets/mixins/_objects.panels.scss +23 -0
  93. data/app/assets/stylesheets/mixins/_settings.animations.scss +5 -0
  94. data/app/assets/stylesheets/mixins/_settings.global.scss +876 -0
  95. data/app/assets/stylesheets/mixins/_tools.mediaqueries.scss +73 -0
  96. data/app/assets/stylesheets/mixins/_utilities.alignment.scss +24 -0
  97. data/app/assets/stylesheets/mixins/_utilities.boxing.scss +125 -0
  98. data/app/assets/stylesheets/objects.containers.scss +6 -0
  99. data/app/assets/stylesheets/objects.grid.responsive.scss +124 -0
  100. data/app/assets/stylesheets/objects.grid.scss +62 -0
  101. data/app/assets/stylesheets/objects.images.scss +5 -0
  102. data/app/assets/stylesheets/objects.panels.scss +17 -0
  103. data/app/assets/stylesheets/themes/blaze.example.scss +7 -0
  104. data/app/assets/stylesheets/utilities.alignment.scss +22 -0
  105. data/app/assets/stylesheets/utilities.boxing.scss +101 -0
  106. data/lib/blaze-css-rails.rb +2 -0
  107. data/lib/blaze-css-rails/engine.rb +6 -0
  108. data/lib/blaze-css-rails/version.rb +6 -0
  109. metadata +201 -0
@@ -0,0 +1,43 @@
1
+ @import "settings.animations";
2
+
3
+ @mixin range {
4
+ &::-webkit-slider-thumb {
5
+ transition: transform;
6
+ transition-duration: $animation-duration;
7
+ transition-timing-function: $animation-easing;
8
+ }
9
+ &::-moz-range-thumb {
10
+ transition: transform;
11
+ transition-duration: $animation-duration;
12
+ transition-timing-function: $animation-easing;
13
+ }
14
+ &::-ms-thumb {
15
+ transition: transform;
16
+ transition-duration: $animation-duration;
17
+ transition-timing-function: $animation-easing;
18
+ }
19
+ }
20
+
21
+ @mixin range--slow {
22
+ &::-webkit-slider-thumb {
23
+ transition-duration: $animation-duration-slow;
24
+ }
25
+ &::-moz-range-thumb {
26
+ transition-duration: $animation-duration-slow;
27
+ }
28
+ &::-ms-thumb {
29
+ transition-duration: $animation-duration-slow;
30
+ }
31
+ }
32
+
33
+ @mixin range--fast {
34
+ &::-webkit-slider-thumb {
35
+ transition-duration: $animation-duration-fast;
36
+ }
37
+ &::-moz-range-thumb {
38
+ transition-duration: $animation-duration-fast;
39
+ }
40
+ &::-ms-thumb {
41
+ transition-duration: $animation-duration-fast;
42
+ }
43
+ }
@@ -0,0 +1,15 @@
1
+ @import "settings.animations";
2
+
3
+ @mixin tab-heading {
4
+ transition: box-shadow;
5
+ transition-duration: $animation-duration;
6
+ transition-timing-function: $animation-easing;
7
+ }
8
+
9
+ @mixin tab-heading--slow {
10
+ transition-duration: $animation-duration-slow;
11
+ }
12
+
13
+ @mixin tab-heading--fast {
14
+ transition-duration: $animation-duration-fast;
15
+ }
@@ -0,0 +1,45 @@
1
+ @import "settings.animations";
2
+
3
+ @mixin toast-keyframes {
4
+ @keyframes toast {
5
+ from {
6
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
7
+ animation-timing-function: ease-in;
8
+ opacity: 0;
9
+ }
10
+
11
+ 40% {
12
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
13
+ animation-timing-function: ease-in;
14
+ }
15
+
16
+ 60% {
17
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
18
+ opacity: 1;
19
+ }
20
+
21
+ 80% {
22
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
23
+ }
24
+
25
+ to {
26
+ transform: perspective(400px);
27
+ }
28
+ }
29
+ }
30
+
31
+ @mixin toast {
32
+ animation-name: toast;
33
+ animation-duration: $animation-duration;
34
+ animation-fill-mode: both;
35
+ animation-timing-function: $animation-easing;
36
+ backface-visibility: visible !important;
37
+ }
38
+
39
+ @mixin toast--slow {
40
+ animation-duration: $animation-duration-slow;
41
+ }
42
+
43
+ @mixin toast--fast {
44
+ animation-duration: $animation-duration-fast;
45
+ }
@@ -0,0 +1,29 @@
1
+ @import "settings.animations";
2
+
3
+ @mixin toggle__track {
4
+ transition: background-color;
5
+ transition-duration: $animation-duration;
6
+ transition-timing-function: $animation-easing;
7
+ }
8
+
9
+ @mixin toggle__handle {
10
+ transition: transform;
11
+ transition-duration: $animation-duration;
12
+ transition-timing-function: $animation-easing;
13
+ }
14
+
15
+ @mixin toggle__track--slow {
16
+ transition-duration: $animation-duration-slow;
17
+ }
18
+
19
+ @mixin toggle__handle--slow {
20
+ transition-duration: $animation-duration-slow;
21
+ }
22
+
23
+ @mixin toggle__track--fast {
24
+ transition-duration: $animation-duration-fast;
25
+ }
26
+
27
+ @mixin toggle__handle--fast {
28
+ transition-duration: $animation-duration-fast;
29
+ }
@@ -0,0 +1,42 @@
1
+ @import "settings.animations";
2
+
3
+ @mixin tree-keyframes {
4
+ @keyframes tree {
5
+ from {
6
+ opacity: 0;
7
+ }
8
+
9
+ to {
10
+ opacity: 1;
11
+ }
12
+ }
13
+ }
14
+
15
+ @mixin tree {
16
+ animation-name: tree;
17
+ animation-duration: $animation-duration;
18
+ animation-fill-mode: both;
19
+ animation-timing-function: $animation-easing;
20
+ }
21
+
22
+ @mixin tree--slow {
23
+ animation-duration: $animation-duration-slow;
24
+ }
25
+
26
+ @mixin tree--fast {
27
+ animation-duration: $animation-duration-fast;
28
+ }
29
+
30
+ @mixin tree__item {
31
+ transition-property: color, transform;
32
+ transition-duration: $animation-duration;
33
+ transition-timing-function: $animation-easing;
34
+ }
35
+
36
+ @mixin tree__item--slow {
37
+ transition-duration: $animation-duration-slow;
38
+ }
39
+
40
+ @mixin tree__item--fast {
41
+ transition-duration: $animation-duration-fast;
42
+ }
@@ -0,0 +1,12 @@
1
+ @import "settings.global";
2
+ @import "components.typography";
3
+
4
+ @mixin address {
5
+ @include paragraph;
6
+ font-style: $address-font-style;
7
+ }
8
+
9
+ @mixin address__heading {
10
+ display: block;
11
+ font-weight: $address-heading-font-weight;
12
+ }
@@ -0,0 +1,30 @@
1
+ @import "settings.global";
2
+
3
+ @mixin alerts__alert--color($background-color: $alert-background-color, $color: $alert-color) {
4
+ color: $color;
5
+ background-color: $background-color;
6
+ }
7
+
8
+ @mixin alerts__alert {
9
+ position: relative;
10
+ margin: $alert-margin;
11
+ padding: $alert-padding;
12
+ border-radius: $alert-border-radius;
13
+ @include alerts__alert--color;
14
+ }
15
+
16
+ @mixin alerts__alert--primary {
17
+ @include alerts__alert--color($alert-primary-background-color);
18
+ }
19
+
20
+ @mixin alerts__alert--secondary {
21
+ @include alerts__alert--color($alert-secondary-background-color);
22
+ }
23
+
24
+ @mixin alerts__alert--error {
25
+ @include alerts__alert--color($alert-error-background-color);
26
+ }
27
+
28
+ @mixin alerts__alert--success {
29
+ @include alerts__alert--color($alert-success-background-color);
30
+ }
@@ -0,0 +1,33 @@
1
+ @import "settings.global";
2
+
3
+ @mixin badge--color($background-color: $badge-background-color, $color: $badge-color) {
4
+ background-color: $background-color;
5
+ color: $color;
6
+ }
7
+
8
+ @mixin badge {
9
+ display: inline-block;
10
+ padding: $badge-padding;
11
+ margin: $badge-margin;
12
+ @include badge--color;
13
+ font-size: $badge-font-size;
14
+ font-weight: $badge-font-weight;
15
+ border-radius: $badge-border-radius;
16
+ }
17
+
18
+ @mixin badge--primary {
19
+ @include badge--color($badge-primary-background-color, $badge-primary-color);
20
+ }
21
+ @mixin badge--secondary {
22
+ @include badge--color($badge-secondary-background-color, $badge-secondary-color);
23
+ }
24
+ @mixin badge--success {
25
+ @include badge--color($badge-success-background-color, $badge-success-color);
26
+ }
27
+ @mixin badge--error {
28
+ @include badge--color($badge-error-background-color, $badge-error-color);
29
+ }
30
+
31
+ @mixin badge--rounded {
32
+ border-radius: $badge-border-radius-rounded;
33
+ }
@@ -0,0 +1,59 @@
1
+ @import "settings.global";
2
+
3
+ @mixin bubble {
4
+ position: relative;
5
+ display: inline-block;
6
+ white-space: nowrap;
7
+ padding: $bubble-padding;
8
+ background-color: $bubble-background-color;
9
+ color: $bubble-color;
10
+ text-align: $bubble-text-align;
11
+ border-radius: $bubble-border-radius;
12
+ }
13
+
14
+ @mixin bubble__arrow {
15
+ &:after {
16
+ content: '';
17
+ position: absolute;
18
+ display: block;
19
+ width: 0;
20
+ height: 0;
21
+ border: $bubble-arrow-width solid transparent;
22
+ }
23
+ }
24
+
25
+ @mixin bubble__arrow--top {
26
+ &:after {
27
+ bottom: -($bubble-arrow-width * 2);
28
+ left: 50%;
29
+ transform: translateX(-50%);
30
+ border-top-color: $bubble-background-color;
31
+ }
32
+ }
33
+
34
+ @mixin bubble__arrow--right {
35
+ &:after {
36
+ top: 50%;
37
+ left: -($bubble-arrow-width * 2);
38
+ transform: translateY(-50%);
39
+ border-right-color: $bubble-background-color;
40
+ }
41
+ }
42
+
43
+ @mixin bubble__arrow--bottom {
44
+ &:after {
45
+ top: -($bubble-arrow-width * 2);
46
+ left: 50%;
47
+ transform: translateX(-50%);
48
+ border-bottom-color: $bubble-background-color;
49
+ }
50
+ }
51
+
52
+ @mixin bubble__arrow--left {
53
+ &:after {
54
+ top: 50%;
55
+ right: -($bubble-arrow-width * 2);
56
+ transform: translateY(-50%);
57
+ border-left-color: $bubble-background-color;
58
+ }
59
+ }
@@ -0,0 +1,197 @@
1
+ @import "settings.global";
2
+
3
+ @mixin button--color($background-color: $button-background-color, $color: $button-color) {
4
+ background-color: $background-color;
5
+ color: $color;
6
+ border: $button-border;
7
+
8
+ &:not(:disabled) {
9
+ &:hover {
10
+ background-color: lighten($background-color, $color-tint);
11
+ }
12
+
13
+ &:focus {
14
+ border-color: $button-focus-border-color;
15
+ box-shadow: $button-focus-box-shadow;
16
+ }
17
+
18
+ &:active {
19
+ background-color: darken($background-color, $color-tint);
20
+ }
21
+ }
22
+ }
23
+
24
+ @mixin button--ghost($color: $button-ghost-color, $color-hover: $button-ghost-hover-color) {
25
+ background-color: transparent;
26
+ border: $button-ghost-border-width $button-ghost-border-style $color;
27
+ color: $color;
28
+
29
+ &:not(:disabled) {
30
+ &:hover {
31
+ background-color: $color;
32
+ color: $color-hover;
33
+ }
34
+
35
+ &:focus {
36
+ border-color: $button-focus-border-color;
37
+ box-shadow: $button-focus-box-shadow;
38
+ }
39
+
40
+ &:active {
41
+ background-color: darken($color, $color-tint);
42
+ border-color: darken($color, $color-tint);
43
+ color: $color-hover;
44
+ }
45
+ }
46
+ }
47
+
48
+ @mixin button {
49
+ outline: 0;
50
+ display: inline;
51
+ max-width: 100%;
52
+ padding: $button-padding;
53
+ margin: $button-margin;
54
+ border-radius: $button-border-radius;
55
+ font-size: $button-font-size;
56
+ font-family: $button-font-family;
57
+ text-align: $button-text-align;
58
+ text-transform: $button-text-transform;
59
+ text-decoration: none;
60
+ line-height: $button-line-height;
61
+ overflow: hidden;
62
+ text-overflow: ellipsis;
63
+ white-space: $button-white-space;
64
+ vertical-align: middle;
65
+ cursor: pointer;
66
+ user-select: none;
67
+ appearance: none;
68
+ @include button--color;
69
+
70
+ &:disabled {
71
+ color: $button-disabled-color;
72
+ background-color: $button-disabled-background-color;
73
+ border-color: $button-disabled-border-color;
74
+ font-style: $button-disabled-font-style;
75
+ cursor: not-allowed;
76
+ }
77
+ }
78
+
79
+ @mixin button--primary {
80
+ @include button--color($button-primary-background-color, $button-primary-color);
81
+ }
82
+
83
+ @mixin button--secondary {
84
+ @include button--color($button-secondary-background-color, $button-secondary-color);
85
+ }
86
+
87
+ @mixin button--success {
88
+ @include button--color($button-success-background-color, $button-success-color);
89
+ }
90
+
91
+ @mixin button--error {
92
+ @include button--color($button-error-background-color, $button-error-color);
93
+ }
94
+
95
+ @mixin button--ghost-primary {
96
+ @include button--ghost($button-ghost-primary-color, $button-ghost-primary-hover-color);
97
+ }
98
+
99
+ @mixin button--ghost-secondary {
100
+ @include button--ghost($button-ghost-secondary-color, $button-ghost-secondary-hover-color);
101
+ }
102
+
103
+ @mixin button--ghost-success {
104
+ @include button--ghost($button-ghost-success-color, $button-ghost-success-hover-color);
105
+ }
106
+
107
+ @mixin button--ghost-error {
108
+ @include button--ghost($button-ghost-error-color, $button-ghost-error-hover-color);
109
+ }
110
+
111
+ @mixin button--rounded {
112
+ border-radius: $button-rounded-border-radius;
113
+ }
114
+
115
+ @mixin button--close {
116
+ @include button--color(transparent, inherit);
117
+ outline: 0;
118
+ position: absolute;
119
+ right: $spacing-medium;
120
+ font-size: $button-close-font-size;
121
+ font-weight: $button-close-font-weight;
122
+ line-height: 1;
123
+ padding: 0;
124
+ }
125
+
126
+ @mixin button--block {
127
+ display: inline-block;
128
+ width: 100%;
129
+ }
130
+
131
+ @mixin button-group {
132
+ display: inline-flex;
133
+ }
134
+
135
+ @mixin button--grouped {
136
+ border-radius: 0;
137
+
138
+ &:first-child {
139
+ border-bottom-left-radius: $button-border-radius;
140
+ border-top-left-radius: $button-border-radius;
141
+ }
142
+
143
+ &:last-child {
144
+ border-bottom-right-radius: $button-border-radius;
145
+ border-top-right-radius: $button-border-radius;
146
+ }
147
+ }
148
+
149
+ @mixin button-group--rounded {
150
+ border-radius: 0;
151
+
152
+ &:first-child {
153
+ border-bottom-left-radius: $button-rounded-border-radius;
154
+ border-top-left-radius: $button-rounded-border-radius;
155
+ }
156
+
157
+ &:last-child {
158
+ border-bottom-right-radius: $button-rounded-border-radius;
159
+ border-top-right-radius: $button-rounded-border-radius;
160
+ }
161
+ }
162
+
163
+ @mixin button-group__button--ghost {
164
+ border-left: 0;
165
+ }
166
+
167
+ @mixin button__icon-left {
168
+ padding-right: $button-icon-left-padding;
169
+ }
170
+
171
+ @mixin button__icon-right {
172
+ padding-left: $button-icon-right-padding;
173
+ }
174
+
175
+ @mixin button--super {
176
+ font-size: $button-super-font-size;
177
+ }
178
+
179
+ @mixin button--xlarge {
180
+ font-size: $button-xlarge-font-size;
181
+ }
182
+
183
+ @mixin button--large {
184
+ font-size: $button-large-font-size;
185
+ }
186
+
187
+ @mixin button--medium {
188
+ font-size: $button-medium-font-size;
189
+ }
190
+
191
+ @mixin button--small {
192
+ font-size: $button-small-font-size;
193
+ }
194
+
195
+ @mixin button--xsmall {
196
+ font-size: $button-xsmall-font-size;
197
+ }