pages_core 3.12.0 → 3.12.1

Sign up to get free protection for your applications and to get access to all the features.
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
  }