blaze-css-rails 0.0.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.
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,81 @@
1
+ @import "settings.global";
2
+ @import "objects.grid";
3
+ @import "components.buttons";
4
+
5
+ @mixin calendar {
6
+ @include grid;
7
+ @include grid--wrap;
8
+ @include grid--center;
9
+ @include grid__cell--no-gutter;
10
+ padding: $calendar-padding;
11
+ max-width: $calendar-max-width;
12
+ text-align: $calendar-text-align;
13
+ background-color: $calendar-background-color;
14
+ border: $calendar-border;
15
+ border-radius: $calendar-border-radius;
16
+ z-index: $z-over-control;
17
+ }
18
+
19
+ @mixin calendar__control($background-color: $calendar-control-background-color, $color: $calendar-control-color) {
20
+ @include button--color($background-color, $color);
21
+ padding: $calendar-control-padding;
22
+ font-size: $calendar-control-font-size;
23
+ flex: 0 0 14.28%;
24
+ max-width: 14.28%;
25
+ margin: 0;
26
+ outline: 0;
27
+ display: inline;
28
+ border: $calendar-control-border-width $calendar-control-border-style transparent;
29
+ border-radius: $calendar-control-border-radius;
30
+ cursor: pointer;
31
+ user-select: none;
32
+ }
33
+
34
+ @mixin calendar__header {
35
+ @include grid__cell;
36
+ @include grid__cell--no-gutter;
37
+ @include grid__cell--width(70%);
38
+ padding: $calendar-header-padding;
39
+ }
40
+
41
+ @mixin calendar__day {
42
+ @include grid__cell;
43
+ @include grid__cell--no-gutter;
44
+ flex: 0 0 14.28%;
45
+ max-width: 14.28%;
46
+ padding: $calendar-day-padding;
47
+ font-weight: $calendar-day-font-weight;
48
+ }
49
+
50
+ @mixin calendar__date {
51
+ @include calendar__control($calendar-control-background-color, $calendar-control-color);
52
+ }
53
+
54
+ @mixin calendar__date--hover {
55
+ border: $calendar-control-border-hover;
56
+ }
57
+
58
+ @mixin calendar__date--in-month {
59
+ color: $calendar-control-date-in-month-color;
60
+ }
61
+
62
+ @mixin calendar__date--today {
63
+ border-color: $calendar-today-border-color;
64
+ }
65
+
66
+ @mixin calendar__date--selected {
67
+ @include button--color($calendar-control-selected-background-color, $calendar-control-selected-color);
68
+ border-color: $calendar-control-selected-border-color;
69
+ }
70
+
71
+ @mixin calendar--high {
72
+ box-shadow: $box-shadow-high;
73
+ }
74
+
75
+ @mixin calendar--higher {
76
+ box-shadow: $box-shadow-higher;
77
+ }
78
+
79
+ @mixin calendar--highest {
80
+ box-shadow: $box-shadow-highest;
81
+ }
@@ -0,0 +1,122 @@
1
+ @import "settings.global";
2
+ @import "components.lists";
3
+
4
+ @mixin card {
5
+ @include list--unstyled;
6
+ display: block;
7
+ box-shadow: $card-box-shadow;
8
+ border-radius: $card-border-radius;
9
+ overflow: hidden;
10
+ }
11
+
12
+ @mixin card-spacing {
13
+ margin: $card-margin;
14
+ }
15
+
16
+ @mixin card-first-last-paragraph {
17
+ padding: 0;
18
+ }
19
+
20
+ @mixin card__content {
21
+ padding: $card-item-padding;
22
+ }
23
+
24
+ @mixin card__item {
25
+ padding: $card-item-padding;
26
+ &:not(:last-child) {
27
+ border-bottom: $card-item-border-bottom;
28
+ }
29
+ }
30
+
31
+ @mixin card__content--divider {
32
+ background-color: $card-divider-background-color;
33
+ color: $card-divider-color;
34
+ font-weight: $card-divider-font-weight;
35
+ }
36
+
37
+ @mixin card__content--primary-divider {
38
+ background-color: $card-primary-divider-background-color;
39
+ color: $card-primary-divider-color;
40
+ }
41
+
42
+ @mixin card__content--secondary-divider {
43
+ background-color: $card-secondary-divider-background-color;
44
+ color: $card-secondary-divider-color;
45
+ }
46
+
47
+ @mixin card__content--success-divider {
48
+ background-color: $card-success-divider-background-color;
49
+ color: $card-success-divider-color;
50
+ }
51
+
52
+ @mixin card__content--error-divider {
53
+ background-color: $card-error-divider-background-color;
54
+ color: $card-error-divider-color;
55
+ }
56
+
57
+ @mixin card__item--primary-divider {
58
+ background-color: $card-primary-divider-background-color;
59
+ color: $card-primary-divider-color;
60
+ &:not(:last-child) {
61
+ border-bottom-color: $card-primary-divider-border-bottom-color;
62
+ }
63
+ }
64
+ @mixin card__item--secondary-divider {
65
+ background-color: $card-secondary-divider-background-color;
66
+ color: $card-secondary-divider-color;
67
+ &:not(:last-child) {
68
+ border-bottom-color: $card-secondary-divider-border-bottom-color;
69
+ }
70
+ }
71
+
72
+ @mixin card__item--success-divider {
73
+ background-color: $card-success-divider-background-color;
74
+ color: $card-success-divider-color;
75
+ &:not(:last-child) {
76
+ border-bottom-color: $card-success-divider-border-bottom-color;
77
+ }
78
+ }
79
+
80
+ @mixin card__item--error-divider {
81
+ background-color: $card-error-divider-background-color;
82
+ color: $card-error-divider-color;
83
+ &:not(:last-child) {
84
+ border-bottom-color: $card-error-divider-border-bottom-color;
85
+ }
86
+ }
87
+
88
+ @mixin card__item--borderless {
89
+ &:not(:last-child) {
90
+ border-bottom: 0;
91
+ }
92
+ }
93
+
94
+ @mixin card__group-divider {
95
+ height: $card-item-border-width;
96
+ overflow: hidden;
97
+ background-color: $card-divider-background-color;
98
+ }
99
+
100
+ @mixin card__item--divider {
101
+ @include card__content--divider;
102
+ }
103
+
104
+ @mixin card__item--hover {
105
+ cursor: pointer;
106
+ }
107
+
108
+ @mixin card__item--active {
109
+ background-color: $card-item-active-background-color;
110
+ }
111
+
112
+ @mixin card--high {
113
+ box-shadow: $box-shadow-high;
114
+ }
115
+
116
+ @mixin card--higher {
117
+ box-shadow: $box-shadow-higher;
118
+ }
119
+
120
+ @mixin card--highest {
121
+ box-shadow: $box-shadow-highest;
122
+ }
@@ -0,0 +1,116 @@
1
+ @import "settings.global";
2
+ @import "objects.grid";
3
+ @import "utilities.boxing";
4
+
5
+ @mixin drawer {
6
+ position: absolute;
7
+ overflow-y: auto;
8
+ overflow-x: hidden;
9
+ -webkit-overflow-scrolling: touch;
10
+ background-color: $drawer-background-color;
11
+ color: $drawer-color;
12
+ z-index: $drawer-z-index;
13
+ }
14
+
15
+ @mixin drawer--bottom {
16
+ top: 100%;
17
+ left: 0;
18
+ height: auto;
19
+ width: $drawer-width-horizontal;
20
+ margin-left: (100% - $drawer-width-horizontal) / 2;
21
+ transform: translate(0, 0);
22
+ border-radius: $drawer-border-radius $drawer-border-radius 0 0;
23
+ }
24
+
25
+ @mixin drawer--bottom--visible {
26
+ transform: translateY(-99%);
27
+ }
28
+
29
+ @mixin drawer--top {
30
+ bottom: 100%;
31
+ left: 0;
32
+ height: auto;
33
+ width: $drawer-width-horizontal;
34
+ margin-left: (100% - $drawer-width-horizontal) / 2;
35
+ transform: translate(0, 0);
36
+ border-radius: 0 0 $drawer-border-radius $drawer-border-radius;
37
+ }
38
+
39
+ @mixin drawer--top--visible {
40
+ transform: translateY(99%);
41
+ }
42
+
43
+ @mixin drawer--left {
44
+ top: 0;
45
+ left: 0;
46
+ height: 100%;
47
+ width: $drawer-width-vertical;
48
+ transform: translateX(-100%);
49
+ }
50
+
51
+ @mixin drawer--left--visible {
52
+ transform: translateX(-1%);
53
+ }
54
+
55
+ @mixin drawer--right {
56
+ top: 0;
57
+ left: 100%;
58
+ height: 100%;
59
+ width: $drawer-width-vertical;
60
+ transform: translate(0, 0);
61
+ }
62
+
63
+ @mixin drawer--right--visible {
64
+ transform: translateX(-99%);
65
+ }
66
+
67
+ @mixin drawer__heading {
68
+ padding: $drawer-heading-padding;
69
+ margin: 0;
70
+ text-align: center;
71
+ }
72
+
73
+ @mixin drawer__menu {
74
+ display: block;
75
+ margin: 0;
76
+ border-left: 0;
77
+ border-right: 0;
78
+ border-radius: 0;
79
+ }
80
+
81
+ @mixin drawer__body {
82
+ padding: $drawer-body-padding;
83
+ }
84
+
85
+ @mixin drawer__footer {
86
+ padding: $drawer-footer-padding;
87
+ }
88
+
89
+ @mixin drawer__footer--block {
90
+ @include grid;
91
+ @include grid__cell--no-gutter;
92
+ padding: $drawer-footer-block-padding;
93
+ }
94
+
95
+ @mixin drawer__footer--bottom {
96
+ position: absolute;
97
+ bottom: 0;
98
+ width: 100%;
99
+ }
100
+
101
+ @mixin drawer__footer-button--block {
102
+ @include grid__cell;
103
+ border-radius: $drawer-footer-block-button-border-radius;
104
+ }
105
+
106
+ @mixin drawer--high {
107
+ box-shadow: $box-shadow-solid-high;
108
+ }
109
+
110
+ @mixin drawer--higher {
111
+ box-shadow: $box-shadow-solid-higher;
112
+ }
113
+
114
+ @mixin drawer--highest {
115
+ box-shadow: $box-shadow-solid-highest;
116
+ }
@@ -0,0 +1,39 @@
1
+ @import "settings.global";
2
+
3
+ @mixin heading {
4
+ font-weight: $heading-font-weight;
5
+ font-size: $heading-font-size;
6
+ margin: $heading-margin;
7
+ padding: $heading-padding;
8
+ }
9
+
10
+ @mixin heading__subheading {
11
+ @include heading;
12
+ color: $heading-subheading-color;
13
+ padding: $heading-subheading-padding;
14
+ font-size: $heading-subheading-font-size;
15
+ }
16
+
17
+ @mixin heading--super {
18
+ font-size: $heading-font-size-super;
19
+ }
20
+
21
+ @mixin heading--xlarge {
22
+ font-size: $heading-font-size-xlarge;
23
+ }
24
+
25
+ @mixin heading--large {
26
+ font-size: $heading-font-size-large;
27
+ }
28
+
29
+ @mixin heading--medium {
30
+ font-size: $heading-font-size-medium;
31
+ }
32
+
33
+ @mixin heading--small {
34
+ font-size: $heading-font-size-small;
35
+ }
36
+
37
+ @mixin heading--xsmall {
38
+ font-size: $heading-font-size-xsmall;
39
+ }
@@ -0,0 +1,25 @@
1
+ @import "settings.global";
2
+
3
+ @mixin hint {
4
+ position: absolute;
5
+ font-size: $hint-font-size;
6
+ color: $hint-color;
7
+ pointer-events: none;
8
+ padding: $hint-padding;
9
+ transform: scale(0.8);
10
+ transform-origin: top left;
11
+ opacity: 0;
12
+ }
13
+
14
+ @mixin hint--active {
15
+ transform: scale(0.9);
16
+ opacity: 1;
17
+ }
18
+
19
+ @mixin hint--success {
20
+ color: $hint-success-color;
21
+ }
22
+
23
+ @mixin hint--error {
24
+ color: $hint-error-color;
25
+ }
@@ -0,0 +1,283 @@
1
+ @import "settings.global";
2
+
3
+ @mixin label {
4
+ display: block;
5
+ width: 100%;
6
+ padding: $label-padding;
7
+ cursor: pointer;
8
+ }
9
+
10
+ @mixin field {
11
+ padding: $field-padding;
12
+ outline: 0;
13
+ display: block;
14
+ width: 100%;
15
+ margin: $field-margin;
16
+ font-size: $field-font-size-medium;
17
+ font-weight: $field-font-weight;
18
+ font-family: inherit;
19
+ background-color: $field-background-color;
20
+ border: $field-border;
21
+ border-radius: $field-border-radius;
22
+ resize: vertical;
23
+ appearance: none;
24
+
25
+ &:focus {
26
+ border-color: $field-focus-border-color;
27
+ box-shadow: $field-focus-box-shadow;
28
+ }
29
+ }
30
+
31
+ @mixin label__field {
32
+ @include field;
33
+ margin: $label-field-margin;
34
+ }
35
+
36
+ @mixin disabled {
37
+ color: $field-disabled-color;
38
+ cursor: not-allowed;
39
+ }
40
+
41
+ @mixin field--disabled {
42
+ @include disabled;
43
+ background-color: $field-disabled-background-color;
44
+ border-color: $field-disabled-border-color;
45
+ }
46
+
47
+ @mixin field--error {
48
+ border-color: $field-error-border-color;
49
+ color: $field-error-color;
50
+ }
51
+
52
+ @mixin field--success {
53
+ border-color: $field-success-border-color;
54
+ color: $field-success-color;
55
+ }
56
+
57
+ @mixin field--super {
58
+ font-size: $field-font-size-super;
59
+ }
60
+
61
+ @mixin field--xlarge {
62
+ font-size: $field-font-size-xlarge;
63
+ }
64
+
65
+ @mixin field--large {
66
+ font-size: $field-font-size-large;
67
+ }
68
+
69
+ @mixin field--medium {
70
+ font-size: $field-font-size-medium;
71
+ }
72
+
73
+ @mixin field--small {
74
+ font-size: $field-font-size-small;
75
+ }
76
+
77
+ @mixin field--xsmall {
78
+ font-size: $field-font-size-xsmall;
79
+ }
80
+
81
+ @mixin choice {
82
+ padding: $choice-padding;
83
+ margin: $choice-margin;
84
+ outline: 0;
85
+ display: block;
86
+ font-size: $choice-font-size-medium;
87
+ cursor: pointer;
88
+ appearance: none;
89
+
90
+ &:focus {
91
+ border-color: $field-focus-border-color;
92
+ box-shadow: $field-focus-box-shadow;
93
+ }
94
+ }
95
+
96
+ @mixin choice--disabled {
97
+ @include disabled;
98
+ }
99
+
100
+ @mixin choice--error {
101
+ color: $choice-error-color;
102
+ }
103
+
104
+ @mixin choice--success {
105
+ color: $choice-success-color;
106
+ }
107
+
108
+ @mixin choice--super {
109
+ font-size: $choice-font-size-super;
110
+ }
111
+
112
+ @mixin choice--xlarge {
113
+ font-size: $choice-font-size-xlarge;
114
+ }
115
+
116
+ @mixin choice--large {
117
+ font-size: $choice-font-size-large;
118
+ }
119
+
120
+ @mixin choice--medium {
121
+ font-size: $choice-font-size-medium;
122
+ }
123
+
124
+ @mixin choice--small {
125
+ font-size: $choice-font-size-small;
126
+ }
127
+
128
+ @mixin choice--xsmall {
129
+ font-size: $choice-font-size-xsmall;
130
+ }
131
+
132
+ @mixin select {
133
+ @include choice;
134
+ outline: 0;
135
+ appearance: menulist;
136
+ height: 2.5em;
137
+
138
+ &:focus {
139
+ border-color: $field-focus-border-color;
140
+ box-shadow: $field-focus-box-shadow;
141
+ }
142
+ }
143
+
144
+ @mixin select--disabled {
145
+ @include field--disabled;
146
+ }
147
+
148
+ @mixin select--error {
149
+ @include field--error;
150
+ }
151
+
152
+ @mixin select--success {
153
+ @include field--success;
154
+ }
155
+
156
+ @mixin checkbox {
157
+ outline: 0;
158
+ margin-right: $checkbox-margin;
159
+ font-size: $checkbox-font-size;
160
+
161
+ &:focus {
162
+ border-color: $field-focus-border-color;
163
+ box-shadow: $field-focus-box-shadow;
164
+ }
165
+ }
166
+
167
+ @mixin input-group {
168
+ display: flex;
169
+ }
170
+
171
+ @mixin input-group__field {
172
+ flex: 1;
173
+ height: 100%;
174
+ }
175
+
176
+ @mixin input--grouped {
177
+ border-radius: 0;
178
+ }
179
+
180
+ @mixin input-group__field--center {
181
+ border-right: 0;
182
+ border-left: 0;
183
+ }
184
+
185
+ @mixin input-group__field--left {
186
+ border-bottom-left-radius: $border-radius;
187
+ border-top-left-radius: $border-radius;
188
+ border-right: 0;
189
+ }
190
+
191
+ @mixin input-group__field--right {
192
+ border-bottom-right-radius: $border-radius;
193
+ border-top-right-radius: $border-radius;
194
+ border-left: 0;
195
+ }
196
+
197
+ @mixin input-group__button--left {
198
+ border-bottom-left-radius: $border-radius;
199
+ border-top-left-radius: $border-radius;
200
+ border-width: 1px;
201
+ }
202
+
203
+ @mixin input-group__button--right {
204
+ border-bottom-right-radius: $border-radius;
205
+ border-top-right-radius: $border-radius;
206
+ border-width: 1px;
207
+ }
208
+
209
+ @mixin input-group-rounded--left {
210
+ border-bottom-left-radius: $border-radius-rounded;
211
+ border-top-left-radius: $border-radius-rounded;
212
+ }
213
+
214
+ @mixin input-group-rounded--right {
215
+ border-bottom-right-radius: $border-radius-rounded;
216
+ border-top-right-radius: $border-radius-rounded;
217
+ }
218
+
219
+ @mixin field-group {
220
+ display: block;
221
+ }
222
+
223
+ @mixin field-group__field--center {
224
+ border-radius: 0;
225
+ }
226
+
227
+ @mixin field-group__field--top {
228
+ border-radius: $field-border-radius $field-border-radius 0 0;
229
+ }
230
+
231
+ @mixin field-group__field--bottom {
232
+ border-radius: 0 0 $field-border-radius $field-border-radius;
233
+ }
234
+
235
+ @mixin field-group__field {
236
+ border-top: 0;
237
+ }
238
+
239
+ @mixin field-group-inline {
240
+ display: flex;
241
+ }
242
+
243
+ @mixin field-group-inline__field--center {
244
+ border-radius: 0;
245
+ }
246
+
247
+ @mixin field-group-inline__field--left {
248
+ border-radius: $field-border-radius 0 0 $field-border-radius;
249
+ }
250
+
251
+ @mixin field-group-inline__field--right {
252
+ border-radius: 0 $field-border-radius $field-border-radius 0;
253
+ }
254
+
255
+ @mixin field-group-inline__field {
256
+ border-left: 0;
257
+ }
258
+
259
+ @mixin fieldset {
260
+ display: block;
261
+ width: $fieldset-width;
262
+ border: $fieldset-border;
263
+ padding: $fieldset-padding;
264
+ margin: $fieldset-margin;
265
+ }
266
+
267
+ @mixin fieldset__legend {
268
+ @include label;
269
+ padding: $legend-padding;
270
+ }
271
+
272
+ @mixin fieldset--disabled {
273
+ @include field--disabled;
274
+ }
275
+
276
+ @mixin form-element {
277
+ padding: $form-element-padding;
278
+ position: relative;
279
+ }
280
+
281
+ @mixin form-element-label {
282
+ padding: $form-element-label-padding;
283
+ }