pages_core 3.12.0 → 3.12.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 (100) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/app/assets/builds/fonts/661557ef.ttf +0 -0
  4. data/app/assets/builds/fonts/a18fc2d2.woff2 +0 -0
  5. data/app/assets/builds/fonts/b2c7b78f.woff2 +0 -0
  6. data/app/assets/builds/fonts/ceddc204.ttf +0 -0
  7. data/app/assets/builds/pages_core/admin-dist.js +2 -1
  8. data/app/assets/builds/pages_core/admin.css +9233 -0
  9. data/app/assets/images/pages/admin/angle-down-solid.svg +1 -0
  10. data/app/assets/images/pages/admin/icon.svg +1 -0
  11. data/app/assets/stylesheets/pages_core/admin/components/archive.css +6 -0
  12. data/app/assets/stylesheets/{pages/admin/components/attachments.scss → pages_core/admin/components/attachments.css} +35 -28
  13. data/app/assets/stylesheets/{pages/admin.scss → pages_core/admin/components/base.css} +125 -123
  14. data/app/assets/stylesheets/pages_core/admin/components/forms.css +223 -0
  15. data/app/assets/stylesheets/{pages/admin/components/header.scss → pages_core/admin/components/header.css} +76 -46
  16. data/app/assets/stylesheets/{pages/admin/components/image_editor.scss → pages_core/admin/components/image_editor.css} +42 -31
  17. data/app/assets/stylesheets/{pages/admin/components/image_grid.scss → pages_core/admin/components/image_grid.css} +76 -64
  18. data/app/assets/stylesheets/{pages/admin/components/image_uploader.scss → pages_core/admin/components/image_uploader.css} +12 -12
  19. data/app/assets/stylesheets/{pages/admin/components/layout.scss → pages_core/admin/components/layout.css} +13 -9
  20. data/app/assets/stylesheets/pages_core/admin/components/links.css +40 -0
  21. data/app/assets/stylesheets/pages_core/admin/components/list_table.css +66 -0
  22. data/app/assets/stylesheets/{pages/admin/components/login.scss → pages_core/admin/components/login.css} +6 -5
  23. data/app/assets/stylesheets/{pages/admin/components/modal.scss → pages_core/admin/components/modal.css} +10 -12
  24. data/app/assets/stylesheets/{pages/admin/components/page_tree.scss → pages_core/admin/components/page_tree.css} +54 -55
  25. data/app/assets/stylesheets/{pages/admin/components/pagination.scss → pages_core/admin/components/pagination.css} +17 -17
  26. data/app/assets/stylesheets/{pages/admin/components/sidebar.scss → pages_core/admin/components/sidebar.css} +8 -7
  27. data/app/assets/stylesheets/{pages/admin/components/tag_editor.scss → pages_core/admin/components/tag_editor.css} +10 -15
  28. data/app/assets/stylesheets/{pages/admin/components/textarea.scss → pages_core/admin/components/textarea.css} +1 -1
  29. data/app/assets/stylesheets/{pages/admin/components/toast.scss → pages_core/admin/components/toast.css} +5 -3
  30. data/app/assets/stylesheets/{pages/admin/components/toolbar.scss → pages_core/admin/components/toolbar.css} +56 -29
  31. data/app/assets/stylesheets/{pages/admin/controllers/pages.scss → pages_core/admin/controllers/pages.css} +63 -52
  32. data/app/assets/stylesheets/pages_core/admin/controllers/users.css +3 -0
  33. data/app/assets/stylesheets/pages_core/admin/vars.css +34 -0
  34. data/app/assets/stylesheets/pages_core/admin.postcss.css +9 -0
  35. data/app/formatters/pages_core/image_embedder.rb +5 -27
  36. data/app/helpers/admin/calendars_helper.rb +8 -0
  37. data/app/helpers/admin/news_helper.rb +13 -0
  38. data/app/helpers/pages_core/admin/admin_helper.rb +11 -54
  39. data/app/helpers/pages_core/admin/deprecated_admin_helper.rb +40 -0
  40. data/app/helpers/pages_core/images_helper.rb +37 -0
  41. data/app/javascript/components/Attachments/Attachment.jsx +2 -2
  42. data/app/javascript/components/EditableImage.jsx +1 -1
  43. data/app/javascript/components/ImageCropper/Toolbar.jsx +3 -3
  44. data/app/javascript/components/PageTreeNode.jsx +9 -9
  45. data/app/javascript/components/RichTextToolbarButton.jsx +1 -1
  46. data/app/mailers/admin_mailer.rb +1 -0
  47. data/app/models/invite.rb +8 -0
  48. data/app/views/admin/calendars/_sidebar.html.erb +47 -0
  49. data/app/views/admin/calendars/show.html.erb +15 -53
  50. data/app/views/admin/invites/new.html.erb +2 -8
  51. data/app/views/admin/invites/show.html.erb +2 -4
  52. data/app/views/admin/news/_sidebar.html.erb +48 -0
  53. data/app/views/admin/news/index.html.erb +21 -56
  54. data/app/views/admin/pages/deleted.html.erb +10 -8
  55. data/app/views/admin/pages/edit.html.erb +20 -11
  56. data/app/views/admin/pages/index.html.erb +7 -8
  57. data/app/views/admin/pages/new.html.erb +10 -14
  58. data/app/views/admin/password_resets/show.html.erb +3 -5
  59. data/app/views/admin/users/deactivated.html.erb +6 -7
  60. data/app/views/admin/users/edit.html.erb +7 -9
  61. data/app/views/admin/users/index.html.erb +3 -6
  62. data/app/views/admin/users/login.html.erb +4 -5
  63. data/app/views/admin/users/new.html.erb +2 -4
  64. data/app/views/admin/users/new_password.html.erb +4 -5
  65. data/app/views/admin/users/show.html.erb +11 -9
  66. data/app/views/errors/401.html.erb +2 -1
  67. data/app/views/errors/403.html.erb +2 -1
  68. data/app/views/errors/404.html.erb +1 -3
  69. data/app/views/errors/405.html.erb +2 -1
  70. data/app/views/errors/422.html.erb +2 -1
  71. data/app/views/errors/500.html.erb +2 -3
  72. data/app/views/layouts/admin/_header.html.erb +1 -2
  73. data/app/views/layouts/admin/_page_header.html.erb +4 -4
  74. data/app/views/layouts/admin.html.erb +3 -3
  75. data/app/views/layouts/errors.html.erb +127 -4
  76. data/lib/pages_core/engine.rb +4 -3
  77. data/lib/pages_core.rb +0 -1
  78. metadata +39 -196
  79. data/app/assets/images/pages/admin/icon.png +0 -0
  80. data/app/assets/images/pages/admin/image-editor-bg.png +0 -0
  81. data/app/assets/images/pages/admin/list-table-pin-blue.gif +0 -0
  82. data/app/assets/images/pages/admin/list-table-pin-disabled.gif +0 -0
  83. data/app/assets/images/pages/admin/list-table-pin-green.gif +0 -0
  84. data/app/assets/images/pages/admin/list-table-pin-red.gif +0 -0
  85. data/app/assets/images/pages/admin/list-table-pin-yellow.gif +0 -0
  86. data/app/assets/images/pages/admin/loading-modal.gif +0 -0
  87. data/app/assets/images/pages/feed-icon-14x14.png +0 -0
  88. data/app/assets/stylesheets/pages/admin/components/archive.scss +0 -6
  89. data/app/assets/stylesheets/pages/admin/components/buttons.scss +0 -23
  90. data/app/assets/stylesheets/pages/admin/components/forms.scss +0 -169
  91. data/app/assets/stylesheets/pages/admin/components/links.scss +0 -43
  92. data/app/assets/stylesheets/pages/admin/components/list_table.scss +0 -61
  93. data/app/assets/stylesheets/pages/admin/controllers/users.scss +0 -3
  94. data/app/assets/stylesheets/pages/admin/mixins/breakpoints.scss +0 -21
  95. data/app/assets/stylesheets/pages/admin/mixins/clearfix.scss +0 -7
  96. data/app/assets/stylesheets/pages/admin/mixins/gradients.scss +0 -7
  97. data/app/assets/stylesheets/pages/admin/vars.scss +0 -30
  98. data/app/assets/stylesheets/pages/errors.css +0 -128
  99. data/vendor/assets/stylesheets/ReactCrop.css +0 -167
  100. /data/app/assets/stylesheets/{pages/admin/components/tabs.scss → pages_core/admin/components/tabs.css} +0 -0
@@ -1,18 +1,18 @@
1
1
  header {
2
- background: $c-background-invert;
2
+ background: var(--background-invert-color);
3
3
  height: 86px;
4
- color: $c-text-invert;
4
+ color: var(--text-invert-color);
5
5
 
6
- a,
7
- a:visited {
6
+ & a,
7
+ & a:visited {
8
8
  background: none;
9
9
  border: 0;
10
10
  padding: 0;
11
11
  margin: 0;
12
- color: $c-text-invert;
12
+ color: var(--text-invert-color);
13
13
  }
14
14
 
15
- .logo {
15
+ & .logo {
16
16
  position: absolute;
17
17
  z-index: 2;
18
18
  top: 11px;
@@ -21,19 +21,21 @@ header {
21
21
  height: 27px;
22
22
  }
23
23
 
24
- .site-name {
25
- color: $c-text-invert;
24
+ & .site-name {
25
+ color: var(--text-invert-color);
26
26
  position: absolute;
27
27
  top: 15px;
28
28
  left: 52px;
29
- h1 {
29
+
30
+ & h1 {
30
31
  margin: 0;
31
32
  padding: 0;
32
33
  font-family: Arial, Helvetica, sans-serif;
33
34
  display: inline;
34
35
  font-size: 20px;
35
36
  font-weight: normal;
36
- a {
37
+
38
+ & a {
37
39
  font-weight: bold;
38
40
  text-decoration: none;
39
41
  padding-right: 6px;
@@ -41,36 +43,45 @@ header {
41
43
  }
42
44
  }
43
45
 
44
- .user {
46
+ & .user {
45
47
  font-size: 13px;
46
48
  position: absolute;
47
49
  top: 20px;
48
50
  right: 16px;
49
- .separator {
50
- color: $c-text-light;
51
- margin: 0 4px;
51
+
52
+ & a {
53
+ border-left: 1px solid var(--text-light-color);
54
+ padding-left: 10px;
55
+ margin-left: 6px;
56
+
57
+ &:first-of-type {
58
+ border-left: none;
59
+ padding-left: 0px;
60
+ margin-left: 0px;
61
+ }
52
62
  }
53
63
  }
54
64
 
55
- .tabs {
65
+ & .tabs {
56
66
  position: absolute;
57
67
  top: 54px;
58
68
  height: 29px;
59
69
  left: 16px;
60
70
  right: 8px;
61
71
 
62
- ul {
72
+ & ul {
63
73
  padding: 0;
64
74
  margin: 0 8px 0 0;
65
75
  list-style-type: none;
66
76
  display: block;
67
77
  float: left;
78
+
68
79
  &.account {
69
80
  float: right;
70
81
  }
71
82
  }
72
83
 
73
- li {
84
+ & li {
74
85
  display: inline;
75
86
  margin: 0;
76
87
  padding: 0;
@@ -78,10 +89,10 @@ header {
78
89
  font-size: 13px;
79
90
  }
80
91
 
81
- a,
82
- a:visited {
92
+ & a,
93
+ & a:visited {
83
94
  background: #333;
84
- color: $c-text-invert;
95
+ color: var(--text-invert-color);
85
96
  display: block;
86
97
  float: left;
87
98
  padding: 0 15px;
@@ -91,35 +102,36 @@ header {
91
102
  text-decoration: none;
92
103
  }
93
104
 
94
- a:hover,
95
- a.current,
96
- a.current:visited {
97
- @include vertical-gradient(#cfcfcf, #fefefe);
98
- color: $c-text;
105
+ & a:hover,
106
+ & a.current,
107
+ & a.current:visited {
108
+ background: linear-gradient(to bottom, #cfcfcf 0%, #fefefe 100%);
109
+ color: var(--text-color);
99
110
  }
100
111
  }
101
112
  }
102
113
 
103
114
  .content-tabs {
104
115
  list-style-type: none;
105
- margin: 24px 0px -11px -18px;
116
+ margin: 24px 0px -12px -18px;
106
117
  padding: 0;
107
118
 
108
- li {
109
- color: hsla(0,0%,0%,0.25);
119
+ & li {
120
+ color: hsla(0, 0%, 0%, 0.25);
110
121
  display: inline;
111
122
  background: transparent;
112
123
  padding: 6px 17px;
113
124
  font-weight: bold;
114
125
  }
115
126
 
116
- li.current {
117
- background: $c-background;
127
+ & li.current {
128
+ background: var(--background-color);
118
129
  padding: 5px 16px;
119
130
  border: 1px solid #cae6f1;
120
- border-bottom: 1px solid $c-background;
121
- a,
122
- a:visited {
131
+ border-bottom: 1px solid var(--background-color);
132
+
133
+ & a,
134
+ & a:visited {
123
135
  text-decoration: none;
124
136
  color: #444;
125
137
  }
@@ -127,31 +139,49 @@ header {
127
139
  }
128
140
 
129
141
  .page-description {
130
- @include vertical-gradient(#dceef6, #e7f3f9);
142
+ background: linear-gradient(to bottom, #dceef6 0%, #e7f3f9 100%);
131
143
  margin: 0;
132
144
  padding: 16px 32px;
133
145
  display: block;
134
146
  border-bottom: 1px solid #d4eaf4;
135
- color: $c-text;
147
+ color: var(--text-color);
136
148
 
137
- em {
149
+ & em {
138
150
  font-style: normal;
139
151
  color: #4a5357;
140
152
  }
141
153
 
142
- main & h3 {
143
- margin: 0;
144
- padding: 0;
145
- font-size: 13px;
146
- text-shadow: #E9F6FF 1px 1px 1px;
147
- }
148
-
149
- .links {
154
+ & .links {
150
155
  float: right;
156
+
157
+ & a {
158
+ border-left: 1px solid #779cb3;
159
+ padding-left: 8px;
160
+ margin-left: 8px;
161
+
162
+ &:first-of-type {
163
+ border-left: none;
164
+ padding-left: 0px;
165
+ margin-left: 0px;
166
+ }
167
+
168
+ &.current {
169
+ font-weight: bold;
170
+ text-decoration: none;
171
+ color: var(--text-color);
172
+ }
173
+ }
151
174
  }
152
175
 
153
- .separator {
154
- color: #779CB3;
176
+ & .separator {
177
+ color: #779cb3;
155
178
  margin: 0 4px;
156
179
  }
157
180
  }
181
+
182
+ main .page-description h3 {
183
+ margin: 0;
184
+ padding: 0;
185
+ font-size: 13px;
186
+ text-shadow: #e9f6ff 1px 1px 1px;
187
+ }
@@ -7,17 +7,17 @@
7
7
  position: relative;
8
8
  -webkit-perspective: 1000;
9
9
 
10
- .alt-warning {
10
+ & .alt-warning {
11
11
  position: absolute;
12
12
  bottom: 5px;
13
13
  right: 6px;
14
14
  font-size: 14px;
15
- color: $c-warn-light;
15
+ color: var(--background-warning-color);
16
16
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 1.0);
17
17
  z-index: 100;
18
18
  }
19
19
 
20
- img {
20
+ & img {
21
21
  display: block;
22
22
  }
23
23
 
@@ -32,38 +32,41 @@
32
32
  width: 80vw;
33
33
  height: 80vh;
34
34
  display: flex;
35
- @include breakpoint-mobile {
35
+
36
+ @media --mobile {
36
37
  width: 100%;
37
38
  height: 100%;
38
39
  flex-direction: column;
39
40
  }
40
41
 
41
- .toolbars {
42
- .aspect-ratios {
42
+ & .toolbars {
43
+ & .aspect-ratios {
43
44
  border-top: 0px;
44
45
  }
45
46
  }
46
47
 
47
- .visual {
48
+ & .visual {
48
49
  flex: 1 1 auto;
49
50
  display: flex;
50
51
  flex-direction: column;
51
52
  }
52
53
 
53
- .image-container {
54
+ & .image-container {
54
55
  flex: 1 1 auto;
55
56
  width: 100%;
56
57
  height: 100%;
57
- background: #ddd;
58
- background-image: image-url("pages/admin/image-editor-bg.png");
58
+ background: #e5e5e5;
59
+ background-image: linear-gradient(45deg, #fff 25%, transparent 25%), linear-gradient(135deg, #fff 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #fff 75%), linear-gradient(135deg, transparent 75%, #fff 75%);
60
+ background-size: 12px 12px;
61
+ background-position: 0 0, 6px 0, 6px -6px, 0px 6px;
59
62
  display: flex;
60
63
  flex-direction: column;
61
64
  justify-content: center;
62
65
  align-items: center;
63
- border: 1px solid $c-border;
66
+ border: 1px solid var(--border-color);
64
67
  border-top: 0px;
65
68
 
66
- .image-wrapper {
69
+ & .image-wrapper {
67
70
  position: absolute;
68
71
  flex-grow: 0;
69
72
 
@@ -71,23 +74,27 @@
71
74
  position: relative;
72
75
  }
73
76
 
74
- img {
77
+ & img {
75
78
  display: block;
76
79
  width: 100%;
77
80
  height: auto;
78
81
  }
79
- .ReactCrop {
82
+
83
+ & .ReactCrop {
80
84
  width: 100%;
81
85
  background-color: transparent;
82
86
  }
83
- .ReactCrop__crop-selection {
84
- &:before, &:after {
87
+
88
+ & .ReactCrop__crop-selection {
89
+ &:before,
90
+ &:after {
85
91
  content: "";
86
92
  position: absolute;
87
93
  border: 0px solid rgb(200, 200, 200);
88
94
  opacity: 0.25;
89
95
  transition: opacity 200ms ease-out;
90
96
  }
97
+
91
98
  &:before {
92
99
  border-left-width: 1px;
93
100
  border-right-width: 1px;
@@ -95,6 +102,7 @@
95
102
  height: 100%;
96
103
  left: 33.33%;
97
104
  }
105
+
98
106
  &:after {
99
107
  border-top-width: 1px;
100
108
  border-bottom-width: 1px;
@@ -103,55 +111,59 @@
103
111
  top: 33.33%;
104
112
  }
105
113
  }
106
- .ReactCrop--active .ReactCrop__crop-selection {
107
- &:before, &:after {
114
+
115
+ & .ReactCrop--active .ReactCrop__crop-selection {
116
+ &:before,
117
+ &:after {
108
118
  opacity: 0.75;
109
119
  }
110
120
  }
111
121
  }
112
122
 
113
- .loading {
114
- color: $c-text-light;
123
+ & .loading {
124
+ color: var(--text-light-color);
115
125
  }
116
126
  }
117
127
 
118
- form {
128
+ & form {
119
129
  width: 300px;
120
130
  display: block;
121
131
  margin-left: 20px;
122
132
 
123
- textarea {
133
+ & textarea {
124
134
  max-width: 100%;
135
+
125
136
  &.caption {
126
137
  height: 100px;
127
138
  }
128
139
  }
129
140
 
130
- .embed-code {
131
- input {
141
+ & .embed-code {
142
+ & input {
132
143
  width: 50%;
133
144
  margin-right: 8px;
134
145
  }
135
146
  }
136
147
 
137
- @include breakpoint-mobile {
148
+ @media --mobile {
138
149
  width: 100%;
139
150
  margin-left: 0px;
140
151
  padding-bottom: 20px;
141
- textarea.caption {
152
+
153
+ & textarea.caption {
142
154
  height: inherit;
143
155
  }
144
156
  }
145
157
  }
146
158
 
147
- .focal-editor {
159
+ & .focal-editor {
148
160
  position: absolute;
149
161
  width: 100%;
150
162
  height: 100%;
151
163
  touch-action: none;
152
164
  overflow: hidden;
153
165
 
154
- .focal-point {
166
+ & .focal-point {
155
167
  &:after {
156
168
  content: "";
157
169
  display: block;
@@ -163,7 +175,6 @@
163
175
  margin-top: -4px;
164
176
  transition: all 200ms ease-out;
165
177
  }
166
-
167
178
  position: absolute;
168
179
  width: 30px;
169
180
  height: 30px;
@@ -176,8 +187,8 @@
176
187
  touch-action: none;
177
188
  user-select: none;
178
189
  cursor: pointer;
179
- transition: border-radius 200ms, margin 200ms, width 200ms, height 200ms,
180
- border-color 200ms ease-out;
190
+ transition: border-radius 200ms, margin 200ms, width 200ms, height 200ms, border-color 200ms ease-out;
191
+
181
192
  &:hover {
182
193
  &:after {
183
194
  width: 42px;
@@ -1,51 +1,54 @@
1
- $grid-image-padding: 7px;
2
-
3
1
  .image-grid {
2
+ --image-padding: 7px;
4
3
  margin-bottom: 40px;
5
4
  display: flex;
6
5
 
7
- @include breakpoint-mobile {
6
+ @media --mobile {
8
7
  flex-direction: column;
9
8
  }
10
9
 
11
- input[type=file] {
10
+ & input[type=file] {
12
11
  display: none;
13
12
  }
14
13
 
15
- h3 {
16
- margin: 10px $grid-image-padding 10px $grid-image-padding;
17
- border-bottom: 1px solid $c-border;
14
+ & h3 {
15
+ margin: 10px var(--image-padding) 10px var(--image-padding);
16
+ border-bottom: 1px solid var(--border-color);
18
17
  padding-bottom: 5px;
19
18
  }
20
19
 
21
- img {
20
+ & img {
22
21
  display: block;
23
22
  width: 100%;
24
23
  height: auto;
25
- min-height: 1px; // Hack for IE11
24
+ min-height: 1px; /* Hack for IE11 */
26
25
  }
27
26
 
28
- .grid-image {
29
- padding: $grid-image-padding;
27
+ & .grid-image {
28
+ padding: var(--image-padding);
29
+
30
30
  &.placeholder {
31
31
  opacity: 0.25;
32
32
  }
33
+
33
34
  &.uploading {
34
- -webkit-user-select: none;
35
35
  user-select: none;
36
36
  opacity: 0.5;
37
37
  overflow: hidden;
38
- .temp-image {
38
+
39
+ & .temp-image {
39
40
  position: relative;
40
41
  cursor: pointer;
41
42
  overflow: hidden;
42
43
  background: #000;
43
44
  }
44
- img {
45
+
46
+ & img {
45
47
  filter: blur(20px);
46
48
  opacity: 0.75;
47
49
  }
48
- span {
50
+
51
+ & span {
49
52
  position: absolute;
50
53
  top: 50%;
51
54
  left: 50%;
@@ -54,111 +57,110 @@ $grid-image-padding: 7px;
54
57
  border-radius: 20px;
55
58
  margin-top: -20px;
56
59
  margin-left: -20px;
57
- border: 5px solid transparentize(#fff, 0.1);
60
+ border: 5px solid rgba(255, 255, 255, 0.9);
58
61
  border-right-color: transparent;
59
62
  text-indent: -9000px;
60
63
  overflow: hidden;
61
64
  animation: rotate-spinner 0.8s infinite linear;
62
65
  }
63
66
  }
64
- .file-placeholder,
65
- .placeholder {
67
+
68
+ & .file-placeholder,
69
+ & .placeholder {
66
70
  position: relative;
67
71
  vertical-align: middle;
68
- background: $c-background-disabled;
69
- border: 2px dashed $c-border;
72
+ background: var(--background-disabled-color);
73
+ border: 2px dashed var(--border-color);
70
74
  width: 100%;
71
75
  padding-bottom: 100%;
72
- span {
73
- color: $c-text-light;
76
+
77
+ & span {
78
+ color: var(--text-light-color);
74
79
  text-shadow: none;
75
80
  }
76
81
  }
77
- .actions {
82
+
83
+ & .actions {
78
84
  margin-top: 7px;
79
85
  display: flex;
86
+ gap: 4px;
80
87
  flex-direction: row;
81
88
  visibility: hidden;
82
89
 
83
- @include breakpoint-mobile {
90
+ @media --mobile {
84
91
  visibility: visible;
85
92
  }
86
93
 
87
- button {
88
- cursor: pointer;
89
- border: 1px solid $c-border;
90
- border-radius: 3px;
91
- background: $c-button;
92
- display: flex-item;
94
+ & button {
93
95
  flex: 1;
94
- padding: 5px;
95
- font-size: 12px;
96
- color: $c-text;
97
- &:hover, &:focus {
98
- background: #fff;
99
- }
100
96
  }
101
97
  }
98
+
102
99
  &:hover {
103
- .actions {
100
+ & .actions {
104
101
  visibility: visible;
105
102
  }
106
103
  }
107
104
  }
108
105
 
109
- .primary-image {
106
+ & .primary-image {
110
107
  width: 33.33%;
111
- @include breakpoint-mobile {
108
+
109
+ @media --mobile {
112
110
  width: 100%;
113
111
  }
114
112
 
115
- .drop-target {
113
+ & .drop-target {
116
114
  position: relative;
117
115
  width: 100%;
118
116
  padding-bottom: 66.67%;
119
117
  text-align: center;
120
118
  line-height: 1.6;
121
- > .upload-button {
119
+
120
+ & > .upload-button {
122
121
  position: absolute;
123
122
  display: flex;
124
123
  flex-direction: column;
125
124
  align-items: center;
126
125
  justify-content: center;
127
- top: $grid-image-padding;
128
- bottom: $grid-image-padding;
129
- left: $grid-image-padding;
130
- right: $grid-image-padding;
126
+ top: var(--image-padding);
127
+ bottom: var(--image-padding);
128
+ left: var(--image-padding);
129
+ right: var(--image-padding);
131
130
  min-height: 150px;
132
- background: $c-background-disabled;
131
+ background: var(--background-disabled-color);
133
132
  }
134
133
  }
135
134
  }
136
135
 
137
- .grid {
136
+ & .grid {
138
137
  width: 100%;
139
- .images {
138
+
139
+ & .images {
140
140
  position: relative;
141
141
  display: flex;
142
142
  flex-wrap: wrap;
143
143
 
144
- .grid-image {
144
+ & .grid-image {
145
145
  display: flex;
146
146
  flex-direction: column;
147
147
  justify-content: flex-end;
148
148
  width: 16.66%;
149
- @include breakpoint-max(1150px) {
149
+
150
+ @media --narrow {
150
151
  width: 50%;
151
152
  }
152
153
 
153
- @include breakpoint-mobile {
154
+ @media --mobile {
154
155
  width: 50%;
155
156
  }
156
157
  }
157
158
  }
158
159
 
159
- .editable-image {
160
+ & .editable-image {
160
161
  padding-bottom: 75%;
161
- img {
162
+
163
+ & img {
162
164
  position: absolute;
163
165
  top: 0px;
164
166
  left: 0px;
@@ -169,34 +171,39 @@ $grid-image-padding: 7px;
169
171
  }
170
172
  }
171
173
 
172
- .drop-target {
173
- margin: 10px $grid-image-padding;
174
+ & .drop-target {
175
+ margin: 10px var(--image-padding);
174
176
  padding-top: 10px;
175
- button {
177
+
178
+ & button {
176
179
  margin: 0px 7px;
177
180
  }
178
181
  }
179
182
  }
180
183
 
181
184
  &.with-primary-image {
182
- .grid {
185
+ & .grid {
183
186
  width: 66.67%;
184
- @include breakpoint-mobile {
187
+
188
+ @media --mobile {
185
189
  width: 100%;
186
190
  }
187
191
  }
188
- .images .grid-image {
192
+
193
+ & .images .grid-image {
189
194
  width: 25%;
190
- @include breakpoint-max(1150px) {
195
+
196
+ @media --narrow {
191
197
  width: 50%;
192
198
  }
193
- @include breakpoint-mobile {
199
+
200
+ @media --mobile {
194
201
  width: 50%;
195
202
  }
196
203
  }
197
204
  }
198
205
 
199
- .drag-image {
206
+ & .drag-image {
200
207
  position: absolute;
201
208
  width: 150px;
202
209
  z-index: 100;
@@ -204,6 +211,11 @@ $grid-image-padding: 7px;
204
211
  }
205
212
 
206
213
  @keyframes rotate-spinner {
207
- 0% { transform: rotate(0deg); }
208
- 100% { transform: rotate(360deg); }
214
+ 0% {
215
+ transform: rotate(0deg);
216
+ }
217
+
218
+ 100% {
219
+ transform: rotate(360deg);
220
+ }
209
221
  }