iatelier 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +7 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +6 -0
  7. data/Gemfile.lock +119 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +43 -0
  10. data/Rakefile +6 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/iatelier-0.1.1.gem +0 -0
  14. data/iatelier.gemspec +43 -0
  15. data/lib/iatelier/Users/captainhusaynpinguin/Documents/ruby/iatelier/public/assets/js/analog.js +15347 -0
  16. data/lib/iatelier/Users/captainhusaynpinguin/Documents/ruby/iatelier/public/assets/js/selectize.js +12672 -0
  17. data/lib/iatelier/application.rb +317 -0
  18. data/lib/iatelier/assets/favicon.ico +0 -0
  19. data/lib/iatelier/assets/images/.gitkeep +0 -0
  20. data/lib/iatelier/assets/javascripts/iatelier-analog.js +15347 -0
  21. data/lib/iatelier/assets/javascripts/selectize.js +12672 -0
  22. data/lib/iatelier/assets/js/iatelier-analog.js +26 -0
  23. data/lib/iatelier/assets/js/selectize.js +3 -0
  24. data/lib/iatelier/assets/sass/backend.scss +4 -0
  25. data/lib/iatelier/assets/sass/blaze/blaze.colors.scss +30 -0
  26. data/lib/iatelier/assets/sass/blaze/blaze.scss +42 -0
  27. data/lib/iatelier/assets/sass/blaze/components.addresses.scss +12 -0
  28. data/lib/iatelier/assets/sass/blaze/components.alerts.scss +59 -0
  29. data/lib/iatelier/assets/sass/blaze/components.avatars.scss +36 -0
  30. data/lib/iatelier/assets/sass/blaze/components.badges.scss +60 -0
  31. data/lib/iatelier/assets/sass/blaze/components.breadcrumbs.scss +20 -0
  32. data/lib/iatelier/assets/sass/blaze/components.bubbles.scss +49 -0
  33. data/lib/iatelier/assets/sass/blaze/components.buttons.scss +77 -0
  34. data/lib/iatelier/assets/sass/blaze/components.calendars.scss +69 -0
  35. data/lib/iatelier/assets/sass/blaze/components.cards.scss +213 -0
  36. data/lib/iatelier/assets/sass/blaze/components.headings.scss +14 -0
  37. data/lib/iatelier/assets/sass/blaze/components.hints.scss +27 -0
  38. data/lib/iatelier/assets/sass/blaze/components.input-groups.scss +163 -0
  39. data/lib/iatelier/assets/sass/blaze/components.inputs.scss +144 -0
  40. data/lib/iatelier/assets/sass/blaze/components.links.scss +31 -0
  41. data/lib/iatelier/assets/sass/blaze/components.lists.scss +60 -0
  42. data/lib/iatelier/assets/sass/blaze/components.navs.scss +126 -0
  43. data/lib/iatelier/assets/sass/blaze/components.overlays.scss +26 -0
  44. data/lib/iatelier/assets/sass/blaze/components.pagination.scss +42 -0
  45. data/lib/iatelier/assets/sass/blaze/components.progress.scss +51 -0
  46. data/lib/iatelier/assets/sass/blaze/components.ranges.scss +114 -0
  47. data/lib/iatelier/assets/sass/blaze/components.tables.scss +88 -0
  48. data/lib/iatelier/assets/sass/blaze/components.tabs.scss +72 -0
  49. data/lib/iatelier/assets/sass/blaze/components.tags.scss +42 -0
  50. data/lib/iatelier/assets/sass/blaze/components.toggles.scss +74 -0
  51. data/lib/iatelier/assets/sass/blaze/components.tooltips.scss +96 -0
  52. data/lib/iatelier/assets/sass/blaze/components.trees.scss +47 -0
  53. data/lib/iatelier/assets/sass/blaze/components.typography.scss +94 -0
  54. data/lib/iatelier/assets/sass/blaze/generics.global.scss +13 -0
  55. data/lib/iatelier/assets/sass/blaze/mixins/_components.alerts.scss +6 -0
  56. data/lib/iatelier/assets/sass/blaze/mixins/_components.badges.scss +8 -0
  57. data/lib/iatelier/assets/sass/blaze/mixins/_components.buttons.scss +83 -0
  58. data/lib/iatelier/assets/sass/blaze/mixins/_components.inputs.scss +45 -0
  59. data/lib/iatelier/assets/sass/blaze/mixins/_components.links.scss +22 -0
  60. data/lib/iatelier/assets/sass/blaze/mixins/_components.lists.scss +10 -0
  61. data/lib/iatelier/assets/sass/blaze/mixins/_components.navs.scss +29 -0
  62. data/lib/iatelier/assets/sass/blaze/mixins/_components.ranges.scss +89 -0
  63. data/lib/iatelier/assets/sass/blaze/mixins/_components.tabs.scss +5 -0
  64. data/lib/iatelier/assets/sass/blaze/mixins/_components.toggles.scss +6 -0
  65. data/lib/iatelier/assets/sass/blaze/mixins/_components.typography.scss +25 -0
  66. data/lib/iatelier/assets/sass/blaze/mixins/_objects.containers.scss +10 -0
  67. data/lib/iatelier/assets/sass/blaze/mixins/_objects.grid.scss +113 -0
  68. data/lib/iatelier/assets/sass/blaze/mixins/_settings.global.scss +864 -0
  69. data/lib/iatelier/assets/sass/blaze/mixins/_tools.mediaqueries.scss +73 -0
  70. data/lib/iatelier/assets/sass/blaze/mixins/_utilities.alignment.scss +24 -0
  71. data/lib/iatelier/assets/sass/blaze/mixins/_utilities.boxing.scss +125 -0
  72. data/lib/iatelier/assets/sass/blaze/mixins/_utilities.visibility.scss +47 -0
  73. data/lib/iatelier/assets/sass/blaze/objects.containers.scss +29 -0
  74. data/lib/iatelier/assets/sass/blaze/objects.drawers.scss +80 -0
  75. data/lib/iatelier/assets/sass/blaze/objects.forms.scss +25 -0
  76. data/lib/iatelier/assets/sass/blaze/objects.grid.responsive.scss +124 -0
  77. data/lib/iatelier/assets/sass/blaze/objects.grid.scss +70 -0
  78. data/lib/iatelier/assets/sass/blaze/objects.images.scss +5 -0
  79. data/lib/iatelier/assets/sass/blaze/objects.media.scss +36 -0
  80. data/lib/iatelier/assets/sass/blaze/objects.modals.scss +58 -0
  81. data/lib/iatelier/assets/sass/blaze/objects.panels.scss +27 -0
  82. data/lib/iatelier/assets/sass/blaze/themes/blaze.example.scss +7 -0
  83. data/lib/iatelier/assets/sass/blaze/utilities.alignment.scss +22 -0
  84. data/lib/iatelier/assets/sass/blaze/utilities.boxing.scss +101 -0
  85. data/lib/iatelier/assets/sass/blaze/utilities.elevation.scss +19 -0
  86. data/lib/iatelier/assets/sass/blaze/utilities.sizes.scss +25 -0
  87. data/lib/iatelier/assets/sass/blaze/utilities.visibility.scss +45 -0
  88. data/lib/iatelier/assets/sass/iatelier.scss +30 -0
  89. data/lib/iatelier/assets/sass/selectize.scss +394 -0
  90. data/lib/iatelier/assets/sass/views/master.scss +5 -0
  91. data/lib/iatelier/assets/stylesheets/iatelier.css +534 -0
  92. data/lib/iatelier/assets/stylesheets/selectize.css +420 -0
  93. data/lib/iatelier/config/routes.rb +14 -0
  94. data/lib/iatelier/controllers/.gitkeep +0 -0
  95. data/lib/iatelier/controllers/books/create.rb +15 -0
  96. data/lib/iatelier/controllers/books/edit.rb +13 -0
  97. data/lib/iatelier/controllers/books/manage.rb +13 -0
  98. data/lib/iatelier/controllers/books/new.rb +15 -0
  99. data/lib/iatelier/controllers/books/update.rb +16 -0
  100. data/lib/iatelier/controllers/ileaf.rb +23 -0
  101. data/lib/iatelier/mix-manifest.json +6 -0
  102. data/lib/iatelier/models/.gitkeep +0 -0
  103. data/lib/iatelier/models/application_record.rb +3 -0
  104. data/lib/iatelier/models/book.rb +176 -0
  105. data/lib/iatelier/models/dimension.rb +28 -0
  106. data/lib/iatelier/models/dimensions/description.rb +4 -0
  107. data/lib/iatelier/models/dimensions/slug.rb +13 -0
  108. data/lib/iatelier/models/dimensions/subtitle.rb +4 -0
  109. data/lib/iatelier/models/dimensions/thumbnail.rb +4 -0
  110. data/lib/iatelier/models/dimensions/timestamp.rb +4 -0
  111. data/lib/iatelier/models/dimensions/title.rb +5 -0
  112. data/lib/iatelier/models/grouping.rb +28 -0
  113. data/lib/iatelier/models/keyword.rb +8 -0
  114. data/lib/iatelier/models/people.rb +11 -0
  115. data/lib/iatelier/models/transi_.php +262 -0
  116. data/lib/iatelier/package.json +35 -0
  117. data/lib/iatelier/templates/application.html.erb +65 -0
  118. data/lib/iatelier/templates/books/_engine.html.haml +31 -0
  119. data/lib/iatelier/templates/books/edit.html.haml +8 -0
  120. data/lib/iatelier/templates/books/grouping/_bundles.html.haml +0 -0
  121. data/lib/iatelier/templates/books/grouping/_keywords.html.haml +5 -0
  122. data/lib/iatelier/templates/books/grouping/_peoples.html.haml +7 -0
  123. data/lib/iatelier/templates/books/manage.html.haml +12 -0
  124. data/lib/iatelier/templates/books/new.html.haml +7 -0
  125. data/lib/iatelier/templates/books/update.html.haml +0 -0
  126. data/lib/iatelier/version.rb +3 -0
  127. data/lib/iatelier/views/application_layout.rb +7 -0
  128. data/lib/iatelier/views/books/create.rb +9 -0
  129. data/lib/iatelier/views/books/edit.rb +9 -0
  130. data/lib/iatelier/views/books/manage.rb +9 -0
  131. data/lib/iatelier/views/books/new.rb +9 -0
  132. data/lib/iatelier/views/books/update.rb +9 -0
  133. data/lib/iatelier/webpack.mix.js +19 -0
  134. data/lib/iatelier.rb +325 -0
  135. metadata +250 -0
@@ -0,0 +1,73 @@
1
+ @import "settings.global";
2
+
3
+ @mixin screen--xsmall-and-up {
4
+ @media (min-width: #{map-get($screen-limits, xsmall)}) {
5
+ @content;
6
+ }
7
+ }
8
+
9
+ @mixin screen--small-and-up {
10
+ @media (min-width: #{map-get($screen-limits, small)}) {
11
+ @content;
12
+ }
13
+ }
14
+
15
+ @mixin screen--medium-and-up {
16
+ @media (min-width: #{map-get($screen-limits, medium)}) {
17
+ @content;
18
+ }
19
+ }
20
+
21
+ @mixin screen--large-and-up {
22
+ @media (min-width: #{map-get($screen-limits, large)}) {
23
+ @content;
24
+ }
25
+ }
26
+
27
+ @mixin screen--xlarge-and-up {
28
+ @media (min-width: #{map-get($screen-limits, xlarge)}) {
29
+ @content;
30
+ }
31
+ }
32
+
33
+ @mixin screen--super-and-up {
34
+ @media (min-width: #{map-get($screen-limits, super)}) {
35
+ @content;
36
+ }
37
+ }
38
+
39
+ @mixin screen--xsmall-only {
40
+ @media (max-width: #{map-get($screen-limits, xsmall) - $screen-adjustment}) {
41
+ @content;
42
+ }
43
+ }
44
+
45
+ @mixin screen--small-only {
46
+ @media (min-width: #{map-get($screen-limits, xsmall)}) and (max-width: #{map-get($screen-limits, small) - $screen-adjustment}) {
47
+ @content;
48
+ }
49
+ }
50
+
51
+ @mixin screen--medium-only {
52
+ @media (min-width: #{map-get($screen-limits, small)}) and (max-width: #{map-get($screen-limits, medium) - $screen-adjustment}) {
53
+ @content;
54
+ }
55
+ }
56
+
57
+ @mixin screen--large-only {
58
+ @media (min-width: #{map-get($screen-limits, medium)}) and (max-width: #{map-get($screen-limits, large) - $screen-adjustment}) {
59
+ @content;
60
+ }
61
+ }
62
+
63
+ @mixin screen--xlarge-only {
64
+ @media (min-width: #{map-get($screen-limits, large)}) and (max-width: #{map-get($screen-limits, xlarge) - $screen-adjustment}) {
65
+ @content;
66
+ }
67
+ }
68
+
69
+ @mixin screen--super-only {
70
+ @media (min-width: #{map-get($screen-limits, large)}) {
71
+ @content;
72
+ }
73
+ }
@@ -0,0 +1,24 @@
1
+ @mixin centered {
2
+ text-align: center;
3
+ }
4
+
5
+ @mixin center-block {
6
+ position: relative;
7
+ }
8
+
9
+ @mixin center-block__content {
10
+ position: absolute;
11
+ top: 50%;
12
+ left: 50%;
13
+ transform: translate(-50%, -50%);
14
+ }
15
+
16
+ @mixin center-block__content--vertical {
17
+ left: auto;
18
+ transform: translateY(-50%);
19
+ }
20
+
21
+ @mixin center-block__content--horizontal {
22
+ top: auto;
23
+ transform: translateX(-50%);
24
+ }
@@ -0,0 +1,125 @@
1
+ @import "settings.global";
2
+
3
+ @mixin no-overflow {
4
+ overflow: hidden;
5
+ }
6
+
7
+ @mixin letter-box--super {
8
+ padding-top: $spacing-super;
9
+ padding-bottom: $spacing-super;
10
+ }
11
+
12
+ @mixin letter-box--xlarge {
13
+ padding-top: $spacing-xlarge;
14
+ padding-bottom: $spacing-xlarge;
15
+ }
16
+
17
+ @mixin letter-box--large {
18
+ padding-top: $spacing-large;
19
+ padding-bottom: $spacing-large;
20
+ }
21
+
22
+ @mixin letter-box--medium {
23
+ padding-top: $spacing-medium;
24
+ padding-bottom: $spacing-medium;
25
+ }
26
+
27
+ @mixin letter-box--small {
28
+ padding-top: $spacing-small;
29
+ padding-bottom: $spacing-small;
30
+ }
31
+
32
+ @mixin letter-box--xsmall {
33
+ padding-top: $spacing-xsmall;
34
+ padding-bottom: $spacing-xsmall;
35
+ }
36
+
37
+ @mixin letter-box--tiny {
38
+ padding-top: $spacing-tiny;
39
+ padding-bottom: $spacing-tiny;
40
+ }
41
+
42
+ @mixin letter-box--none {
43
+ padding-top: 0;
44
+ padding-bottom: 0;
45
+ }
46
+
47
+ @mixin pillar-box--super {
48
+ padding-right: $spacing-super;
49
+ padding-left: $spacing-super;
50
+ }
51
+
52
+ @mixin pillar-box--xlarge {
53
+ padding-right: $spacing-xlarge;
54
+ padding-left: $spacing-xlarge;
55
+ }
56
+
57
+ @mixin pillar-box--large {
58
+ padding-right: $spacing-large;
59
+ padding-left: $spacing-large;
60
+ }
61
+
62
+ @mixin pillar-box--medium {
63
+ padding-right: $spacing-medium;
64
+ padding-left: $spacing-medium;
65
+ }
66
+
67
+ @mixin pillar-box--small {
68
+ padding-right: $spacing-small;
69
+ padding-left: $spacing-small;
70
+ }
71
+
72
+ @mixin pillar-box--xsmall {
73
+ padding-right: $spacing-xsmall;
74
+ padding-left: $spacing-xsmall;
75
+ }
76
+
77
+ @mixin pillar-box--tiny {
78
+ padding-right: $spacing-tiny;
79
+ padding-left: $spacing-tiny;
80
+ }
81
+
82
+ @mixin pillar-box--none {
83
+ padding-right: 0;
84
+ padding-left: 0;
85
+ }
86
+
87
+ @mixin window-box--super {
88
+ @include letter-box--super;
89
+ @include pillar-box--super;
90
+ }
91
+
92
+ @mixin window-box--xlarge {
93
+ @include letter-box--xlarge;
94
+ @include pillar-box--xlarge;
95
+ }
96
+
97
+ @mixin window-box--large {
98
+ @include letter-box--large;
99
+ @include pillar-box--large;
100
+ }
101
+
102
+ @mixin window-box--medium {
103
+ @include letter-box--medium;
104
+ @include pillar-box--medium;
105
+ }
106
+
107
+ @mixin window-box--small {
108
+ @include letter-box--small;
109
+ @include pillar-box--small;
110
+ }
111
+
112
+ @mixin window-box--xsmall {
113
+ @include letter-box--xsmall;
114
+ @include pillar-box--xsmall;
115
+ }
116
+
117
+ @mixin window-box--tiny {
118
+ @include letter-box--tiny;
119
+ @include pillar-box--tiny;
120
+ }
121
+
122
+ @mixin window-box--none {
123
+ @include letter-box--none;
124
+ @include pillar-box--none;
125
+ }
@@ -0,0 +1,47 @@
1
+ @import "settings.global";
2
+ @import "tools.mediaqueries";
3
+
4
+ @mixin visible {
5
+ visibility: visible;
6
+ }
7
+
8
+ @mixin invisible {
9
+ visibility: hidden;
10
+ }
11
+
12
+ @mixin display-none {
13
+ display: none;
14
+ }
15
+
16
+ @mixin display-initial {
17
+ display: initial;
18
+ }
19
+
20
+ @mixin display-inline {
21
+ display: inline;
22
+ }
23
+
24
+ @mixin display-inline-block {
25
+ display: inline-block;
26
+ }
27
+
28
+ @mixin display-block {
29
+ display: block;
30
+ }
31
+
32
+ @mixin display-table {
33
+ display: table;
34
+ }
35
+
36
+ @mixin display-table-cell {
37
+ display: table-cell;
38
+ }
39
+
40
+ @mixin display-flex {
41
+ display: flex;
42
+ }
43
+
44
+ @mixin display-inline-flex {
45
+ display: inline-flex;
46
+ }
47
+
@@ -0,0 +1,29 @@
1
+ @import "mixins/objects.containers";
2
+
3
+ .o-container {
4
+ @include screen--xsmall-and-up {
5
+ @include containers__responsive(xsmall);
6
+ }
7
+ @include screen--small-and-up {
8
+ @include containers__responsive(small);
9
+ }
10
+ @include screen--medium-and-up {
11
+ @include containers__responsive(medium);
12
+ }
13
+ @include screen--large-and-up {
14
+ @include containers__responsive(large);
15
+ }
16
+ @include screen--xlarge-and-up {
17
+ @include containers__responsive(xlarge);
18
+ }
19
+ @include screen--super-and-up {
20
+ @include containers__responsive(super);
21
+ }
22
+
23
+ margin: auto;
24
+ @each $size, $width in $screen-limits {
25
+ &--#{$size} {
26
+ max-width: $width;
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,80 @@
1
+ @import "mixins/settings.global";
2
+ @import "mixins/objects.grid";
3
+ @import "mixins/utilities.boxing";
4
+
5
+ .o-drawer {
6
+ position: absolute;
7
+ background-color: $drawer-background-color;
8
+ color: $drawer-color;
9
+ z-index: $drawer-z-index;
10
+ overflow-x: hidden;
11
+ overflow-y: auto;
12
+ -webkit-overflow-scrolling: touch;
13
+
14
+ > .c-card {
15
+ background-color: transparent;
16
+ box-shadow: none;
17
+ }
18
+ }
19
+
20
+ .o-drawer--bottom,
21
+ .o-drawer--top {
22
+ left: 0;
23
+ width: $drawer-width-horizontal;
24
+ height: auto;
25
+ margin-left: (100% - $drawer-width-horizontal) / 2;
26
+ transform: translate(0, 0);
27
+ }
28
+
29
+ .o-drawer--bottom {
30
+ top: 100%;
31
+ border-radius: $drawer-border-radius $drawer-border-radius 0 0;
32
+ }
33
+
34
+ .o-drawer--bottom.o-drawer--visible {
35
+ transform: translateY(-99%);
36
+ }
37
+
38
+ .o-drawer--top {
39
+ bottom: 100%;
40
+ border-radius: 0 0 $drawer-border-radius $drawer-border-radius;
41
+ }
42
+
43
+ .o-drawer--top.o-drawer--visible {
44
+ transform: translateY(99%);
45
+ }
46
+
47
+ .o-drawer--left,
48
+ .o-drawer--right {
49
+ top: 0;
50
+ width: $drawer-width-vertical;
51
+ height: 100%;
52
+
53
+ .c-card__footer--block {
54
+ position: absolute;
55
+ bottom: 0;
56
+ width: 100%;
57
+
58
+ .c-button {
59
+ border-radius: 0;
60
+ }
61
+ }
62
+ }
63
+
64
+ .o-drawer--left {
65
+ left: 0;
66
+ transform: translateX(-100%);
67
+ }
68
+
69
+ .o-drawer--left.o-drawer--visible {
70
+ transform: translateX(-1%);
71
+ }
72
+
73
+ .o-drawer--right {
74
+ left: 100%;
75
+ transform: translate(0, 0);
76
+ }
77
+
78
+ .o-drawer--right.o-drawer--visible {
79
+ transform: translateX(-99%);
80
+ }
@@ -0,0 +1,25 @@
1
+ @import "mixins/objects.grid";
2
+ @import "mixins/components.inputs";
3
+
4
+ .o-fieldset,
5
+ .o-fieldset.c-list {
6
+ display: block;
7
+ width: $fieldset-width;
8
+ margin: $fieldset-margin;
9
+ padding: $fieldset-padding;
10
+ border: $fieldset-border;
11
+ }
12
+
13
+ .o-fieldset__legend {
14
+ @include label;
15
+ padding: $legend-padding;
16
+ }
17
+
18
+ .o-form-element {
19
+ position: relative;
20
+ padding: $form-element-padding;
21
+
22
+ .c-label:first-child {
23
+ padding: $form-element-label-padding;
24
+ }
25
+ }
@@ -0,0 +1,124 @@
1
+ @import "mixins/tools.mediaqueries";
2
+ @import "mixins/objects.grid";
3
+
4
+ .o-grid {
5
+ @include screen--xsmall-only {
6
+ &.o-grid--xsmall-fit > .o-grid__cell:not([class*="o-grid__cell--width"]) {
7
+ @include grid__cell--fit;
8
+ }
9
+
10
+ &.o-grid--xsmall-full {
11
+ @include grid--full;
12
+ }
13
+
14
+ &.o-grid--xsmall-full > .o-grid__cell {
15
+ @include grid__cell--full;
16
+ }
17
+ }
18
+
19
+ @include screen--small-only {
20
+ &.o-grid--small-fit > .o-grid__cell:not([class*="o-grid__cell--width"]) {
21
+ @include grid__cell--fit;
22
+ }
23
+
24
+ &.o-grid--small-full {
25
+ @include grid--full;
26
+ }
27
+
28
+ &.o-grid--small-full > .o-grid__cell {
29
+ @include grid__cell--full;
30
+ }
31
+ }
32
+
33
+ @include screen--medium-only {
34
+ &.o-grid--medium-fit > .o-grid__cell:not([class*="o-grid__cell--width"]) {
35
+ @include grid__cell--fit;
36
+ }
37
+
38
+ &.o-grid--medium-full {
39
+ @include grid--full;
40
+ }
41
+
42
+ &.o-grid--medium-full > .o-grid__cell {
43
+ @include grid__cell--full;
44
+ }
45
+ }
46
+
47
+ @include screen--large-only {
48
+ &.o-grid--large-fit > .o-grid__cell:not([class*="o-grid__cell--width"]) {
49
+ @include grid__cell--fit;
50
+ }
51
+
52
+ &.o-grid--large-full {
53
+ @include grid--full;
54
+ }
55
+
56
+ &.o-grid--large-full > .o-grid__cell {
57
+ @include grid__cell--full;
58
+ }
59
+ }
60
+
61
+ @include screen--xlarge-only {
62
+ &.o-grid--xlarge-fit > .o-grid__cell:not([class*="o-grid__cell--width"]) {
63
+ @include grid__cell--fit;
64
+ }
65
+
66
+ &.o-grid--xlarge-full {
67
+ @include grid--full;
68
+ }
69
+
70
+ &.o-grid--xlarge-full > .o-grid__cell {
71
+ @include grid__cell--full;
72
+ }
73
+ }
74
+
75
+ @include screen--super-only {
76
+ &.o-grid--super-fit > .o-grid__cell:not([class*="o-grid__cell--width"]) {
77
+ @include grid__cell--fit;
78
+ }
79
+
80
+ &.o-grid--super-full {
81
+ @include grid--full;
82
+ }
83
+
84
+ &.o-grid--super-full > .o-grid__cell {
85
+ @include grid__cell--full;
86
+ }
87
+ }
88
+
89
+ @include screen--xsmall-and-up {
90
+ &__cell {
91
+ @include grid__responsive-cells(xsmall);
92
+ }
93
+ }
94
+
95
+ @include screen--small-and-up {
96
+ &__cell {
97
+ @include grid__responsive-cells(small);
98
+ }
99
+ }
100
+
101
+ @include screen--medium-and-up {
102
+ &__cell {
103
+ @include grid__responsive-cells(medium);
104
+ }
105
+ }
106
+
107
+ @include screen--large-and-up {
108
+ &__cell {
109
+ @include grid__responsive-cells(large);
110
+ }
111
+ }
112
+
113
+ @include screen--xlarge-and-up {
114
+ &__cell {
115
+ @include grid__responsive-cells(xlarge);
116
+ }
117
+ }
118
+
119
+ @include screen--super-and-up {
120
+ &__cell {
121
+ @include grid__responsive-cells(super);
122
+ }
123
+ }
124
+ }
@@ -0,0 +1,70 @@
1
+ @import "mixins/tools.mediaqueries";
2
+ @import "mixins/objects.grid";
3
+
4
+ .o-grid {
5
+ @include grid;
6
+
7
+ &--wrap {
8
+ @include grid--wrap;
9
+ }
10
+
11
+ &--top {
12
+ @include grid--top;
13
+ }
14
+
15
+ &--center {
16
+ @include grid--center;
17
+ }
18
+
19
+ &--bottom {
20
+ @include grid--bottom;
21
+ }
22
+
23
+ &--full {
24
+ @include grid--full;
25
+
26
+ > .o-grid__cell {
27
+ @include grid__cell--full;
28
+ }
29
+ }
30
+
31
+ &--no-gutter {
32
+ > .o-grid__cell {
33
+ @include grid__cell--no-gutter;
34
+ }
35
+ }
36
+
37
+ &__cell {
38
+ @include grid__cell;
39
+
40
+ @include grid__cells;
41
+
42
+ &--top {
43
+ @include grid__cell--top;
44
+ }
45
+
46
+ &--center {
47
+ @include grid__cell--center;
48
+ }
49
+
50
+ &--bottom {
51
+ @include grid__cell--bottom;
52
+ }
53
+
54
+ &--no-gutter {
55
+ @include grid__cell--no-gutter;
56
+ }
57
+
58
+ &--width-fixed {
59
+ @include grid__cell--width-fixed;
60
+ }
61
+
62
+ &--hidden {
63
+ @include grid__cell--hidden;
64
+ }
65
+
66
+ &--visible {
67
+ @include grid__cell--visible;
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,5 @@
1
+ .o-image {
2
+ display: block;
3
+ max-width: 100%;
4
+ height: auto;
5
+ }
@@ -0,0 +1,36 @@
1
+ @import "mixins/objects.grid";
2
+
3
+ .o-media {
4
+ @include grid;
5
+ }
6
+
7
+ .o-media .c-heading {
8
+ padding: 0;
9
+ }
10
+
11
+ .o-media__image,
12
+ .o-media__body {
13
+ @include grid__cell;
14
+ @include grid__cell--no-gutter;
15
+
16
+ &--top {
17
+ @include grid__cell--top;
18
+ }
19
+
20
+ &--center {
21
+ @include grid__cell--center;
22
+ }
23
+
24
+ &--bottom {
25
+ @include grid__cell--bottom;
26
+ }
27
+ }
28
+
29
+ .o-media__image {
30
+ @include grid__cell--width-fixed;
31
+ width: $media-image-width;
32
+ }
33
+
34
+ .o-media__body {
35
+ margin-left: $media-body-margin-left;
36
+ }
@@ -0,0 +1,58 @@
1
+ @import "mixins/settings.global";
2
+ @import "mixins/objects.grid";
3
+ @import "mixins/utilities.alignment";
4
+
5
+ .o-modal {
6
+ display: block;
7
+ position: absolute;
8
+ top: 50%;
9
+ left: 50%;
10
+ width: $modal-width;
11
+ transform: translate(-50%, -50%);
12
+ border: $modal-border;
13
+ border-radius: $modal-border-radius;
14
+ background-color: $modal-background-color;
15
+ overflow: hidden;
16
+ z-index: $modal-z-index;
17
+
18
+ .c-card {
19
+ background-color: transparent;
20
+ box-shadow: none;
21
+ }
22
+
23
+ .c-card__body {
24
+ position: relative;
25
+ }
26
+ }
27
+
28
+ .o-modal--ghost {
29
+ background-color: $modal-ghost-background-color;
30
+ color: $modal-ghost-color;
31
+
32
+ .c-heading {
33
+ color: $modal-ghost-heading-color;
34
+ }
35
+ }
36
+
37
+ .o-modal--full {
38
+ top: 1em;
39
+ left: 1em;
40
+ width: calc(100% - 2em);
41
+ height: calc(100% - 2em);
42
+ transform: none;
43
+
44
+ .c-card__body {
45
+ position: absolute;
46
+ top: 2.5em;
47
+ bottom: 3.5em;
48
+ width: 100%;
49
+ overflow-x: hidden;
50
+ overflow-y: auto;
51
+ }
52
+
53
+ .c-card__footer {
54
+ position: absolute;
55
+ bottom: 0;
56
+ width: 100%;
57
+ }
58
+ }