@concretecms/bedrock 1.3.6 → 1.4.0

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 (108) hide show
  1. package/.eslintrc.yml +2 -0
  2. package/assets/account/js/frontend/components/AvatarCropper.vue +159 -0
  3. package/assets/account/js/frontend.js +1 -1
  4. package/assets/account/scss/frontend/_frontend.scss +2 -0
  5. package/assets/account/scss/frontend/avatar/_avatar-cropper.scss +82 -0
  6. package/assets/account/scss/frontend/avatar/_avatar.scss +6 -0
  7. package/assets/bedrock/scss/_frontend.scss +0 -1
  8. package/assets/calendar/js/backend/duration.js +13 -13
  9. package/assets/calendar/js/vendor/fullcalendar.js +1 -0
  10. package/assets/cms/components/Announcement/Action/ExternalLinkAction.vue +25 -0
  11. package/assets/cms/components/Announcement/Action/GuideAction.vue +36 -0
  12. package/assets/cms/components/Announcement/Action/VideoAction.vue +31 -0
  13. package/assets/cms/components/Announcement/Broadcast.vue +63 -0
  14. package/assets/cms/components/Announcement/Button/ExternalLinkButton.vue +26 -0
  15. package/assets/cms/components/Announcement/Header/Header.vue +33 -0
  16. package/assets/cms/components/Announcement/Item/Item.vue +50 -0
  17. package/assets/cms/components/Announcement/Modal/Modal.vue +77 -0
  18. package/assets/cms/components/Announcement/Slide/CollectSiteInformationSlide.vue +61 -0
  19. package/assets/cms/components/Announcement/Slide/FeatureSlide.vue +81 -0
  20. package/assets/cms/components/Announcement/Slide/WelcomeSlide.vue +87 -0
  21. package/assets/cms/components/Help/Modal.vue +48 -0
  22. package/assets/cms/components/Image/ThumbnailEditor.vue +117 -0
  23. package/assets/cms/components/RunningProcessList.vue +6 -1
  24. package/assets/cms/components/customizer/FontFamilyPageCustomizerWidget.vue +27 -7
  25. package/assets/cms/components/file-manager/Chooser/FileManager.vue +0 -1
  26. package/assets/cms/components/file-manager/Chooser/FileUpload.vue +5 -0
  27. package/assets/cms/components/file-manager/Chooser/FolderBookmark.vue +0 -1
  28. package/assets/cms/components/file-manager/Chooser.vue +6 -1
  29. package/assets/cms/components/file-manager/Uploader/UploadFromComputer.vue +49 -9
  30. package/assets/cms/components/file-manager/Uploader.vue +7 -0
  31. package/assets/cms/components/form/ConcreteAjaxSelect.vue +173 -0
  32. package/assets/cms/components/form/ConcreteExpressEntrySelect.vue +74 -0
  33. package/assets/cms/components/form/ConcreteFileDirectoryInput.vue +28 -26
  34. package/assets/cms/components/form/ConcreteFileInput.vue +17 -5
  35. package/assets/cms/components/form/ConcreteGroupInput.vue +134 -0
  36. package/assets/cms/components/form/ConcreteLocaleSelect.vue +58 -0
  37. package/assets/cms/components/form/ConcreteOptionSelect.vue +92 -0
  38. package/assets/cms/components/form/ConcretePageSelect.vue +67 -0
  39. package/assets/cms/components/form/ConcreteSelect.vue +75 -0
  40. package/assets/cms/components/form/ConcreteThemeColorInput.vue +19 -14
  41. package/assets/cms/components/form/ConcreteUserInput.vue +69 -29
  42. package/assets/cms/components/form/ConcreteUserSelect.vue +126 -0
  43. package/assets/cms/components/form/IconSelector.vue +14 -5
  44. package/assets/cms/components/form/PasswordInput.vue +141 -24
  45. package/assets/cms/components/groups/Chooser.vue +6 -5
  46. package/assets/cms/components/index.js +24 -0
  47. package/assets/cms/components/toolbar/ConcreteToolbarSiteList.vue +62 -0
  48. package/assets/cms/components/user/Chooser/Search.vue +5 -0
  49. package/assets/cms/components/user/Chooser/Users.vue +6 -2
  50. package/assets/cms/components/user/Chooser.vue +9 -3
  51. package/assets/cms/js/ajax-request/base.js +13 -4
  52. package/assets/cms/js/alert.js +2 -1
  53. package/assets/cms/js/base.js +3 -10
  54. package/assets/cms/js/edit-mode/area.js +0 -35
  55. package/assets/cms/js/edit-mode/block.js +27 -0
  56. package/assets/cms/js/edit-mode/containerblock.js +33 -3
  57. package/assets/cms/js/edit-mode/editmode.js +12 -0
  58. package/assets/cms/js/edit-mode/layout.js +56 -0
  59. package/assets/cms/js/edit-mode/style-customizer/style-customizer.js +0 -1
  60. package/assets/cms/js/file-manager/uploader.js +64 -209
  61. package/assets/cms/js/help/help.js +11 -8
  62. package/assets/cms/js/in-context-menu.js +5 -0
  63. package/assets/cms/js/jquery-vue.js +22 -0
  64. package/assets/cms/js/legacy-dialog.js +74 -65
  65. package/assets/cms/js/modal.js +73 -0
  66. package/assets/cms/js/panels.js +8 -0
  67. package/assets/cms/js/search/base.js +0 -18
  68. package/assets/cms/js/search/field-selector.js +6 -14
  69. package/assets/cms/js/select-combo-box.js +2 -0
  70. package/assets/cms/js/sitemap/sitemap-selector.js +2 -2
  71. package/assets/cms/js/sitemap/sitemap.js +15 -20
  72. package/assets/cms/js/toolbar.js +25 -2
  73. package/assets/cms/js/tree.js +7 -7
  74. package/assets/cms/js/users/group-manager.js +55 -0
  75. package/assets/cms/js/users/user-manager.js +2 -1
  76. package/assets/cms/js/users.js +1 -0
  77. package/assets/cms/js/vue/Manager.js +6 -3
  78. package/assets/cms/scss/_base.scss +2 -8
  79. package/assets/cms/scss/_cards.scss +7 -0
  80. package/assets/cms/scss/_file-manager.scss +1 -0
  81. package/assets/cms/scss/_file-uploader.scss +13 -3
  82. package/assets/cms/scss/_help.scss +11 -2
  83. package/assets/cms/scss/_item-selector.scss +10 -0
  84. package/assets/cms/scss/_layouts.scss +16 -0
  85. package/assets/cms/scss/_page-areas.scss +517 -245
  86. package/assets/cms/scss/_popover.scss +5 -0
  87. package/assets/cms/scss/_select-combo-box.scss +18 -0
  88. package/assets/cms/scss/_toolbar.scss +5 -14
  89. package/assets/cms/scss/_transitions.scss +13 -0
  90. package/assets/cms/scss/_variables.scss +18 -7
  91. package/assets/cms/scss/bootstrap/_reboot-tags.scss +17 -32
  92. package/assets/cms/scss/bootstrap/_reboot.scss +17 -7
  93. package/assets/cms/scss/bootstrap/_root-modified.scss +41 -20
  94. package/assets/cms/scss/file-manager/_thumbnail-image-editor.scss +45 -0
  95. package/assets/cms/scss/panels/_help.scss +0 -10
  96. package/assets/staging/scss/frontend/_frontend.scss +12 -0
  97. package/assets/staging/scss/frontend.scss +4 -0
  98. package/package.json +9 -9
  99. package/assets/account/js/frontend/components/Avatar/Avatar.js +0 -270
  100. package/assets/account/js/frontend/components/Avatar/Avatar.scss +0 -17
  101. package/assets/account/js/frontend/components/Avatar/Avatar.vue +0 -18
  102. package/assets/account/js/frontend/components/Avatar/Cropper.js +0 -202
  103. package/assets/account/js/frontend/components/Avatar/Cropper.scss +0 -136
  104. package/assets/account/js/frontend/components/Avatar/Cropper.vue +0 -40
  105. package/assets/bedrock/scss/_theme-grid.scss +0 -7
  106. package/assets/cms/js/edit-mode/style-customizer/inline-toolbar.js +0 -279
  107. package/assets/cms/js/modifiable-ajax-bootstrap-select.js +0 -78
  108. package/assets/cms/js/modifiable-bootstrap-select.js +0 -112
@@ -1,94 +1,64 @@
1
- /* stylelint-disable value-no-vendor-prefix, function-url-quotes */
2
- /**
3
- * Highlighter
4
- */
5
-
6
- div#ccm-menu-click-proxy {
7
- background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
8
- cursor: pointer;
9
- height: 0;
10
- opacity: 0;
11
- position: absolute;
12
- width: 0;
13
- z-index: $index-level-in-context-click-proxy;
14
- }
15
-
16
- div#ccm-menu-highlighter {
17
- background-color: transparent;
18
- height: 0;
19
- position: absolute;
20
- transition: background-color 0.5s cubic-bezier(0.19, 1, 0.22, 1);
21
- width: 0;
22
- z-index: $index-level-in-context-menu-highlighter;
23
- }
1
+ $concrete-element-spacing-y: 50px;
2
+
3
+ $concrete-area-border: #e6e6e6;
4
+ $concrete-area-border-active: $green;
5
+ $concrete-area-handle-bg: #fff;
6
+ $concrete-area-handle-active-bg: $green;
7
+ $concrete-area-handle-hover-bg: $dropdown-link-hover-bg;
8
+ $concrete-area-handle: #888;
9
+ $concrete-area-handle-hover: $green;
10
+
11
+
12
+ $concrete-global-area-border: rgba(168, 193, 205, 0.5);
13
+ $concrete-global-area-border-active: $blue;
14
+ $concrete-global-area-handle-bg: #e3f2f8;
15
+ $concrete-global-area-handle-active-bg: $blue;
16
+ $concrete-global-area-handle-hover: $blue;
17
+ $concrete-global-area-handle-hover-bg: $concrete-area-handle-hover-bg;
18
+ $concrete-global-area-handle-border-active: $blue;
19
+
20
+ $concrete-layout-area-border-outer: #eee1d4;
21
+ $concrete-layout-area-border: #eee1d4;
22
+ $concrete-layout-area-border-active: #f8ae67;
23
+ $concrete-layout-area-handle-bg: #faf2ec;
24
+ $concrete-layout-area-handle-hover: #7f5023;
25
+ $concrete-layout-area-handle-hover-bg: #fae8db;
26
+ $concrete-layout-area-handle-active-bg: #f39b43;
27
+
28
+ $concrete-container-area-border-outer: #e6ceef;
29
+ $concrete-container-area-border: #e6ceef;
30
+ $concrete-container-area-border-active: #b45fc6;
31
+ $concrete-container-area-handle-bg: #fcf3ff;
32
+ $concrete-container-area-handle-hover: #725278;
33
+ $concrete-container-area-handle-hover-bg: #f6defc;
34
+ $concrete-container-area-handle-active-bg: #b45fc6;
35
+
36
+ $concrete-block-hover-bg: rgb(128, 128, 128);
37
+ $concrete-block-active-border: #59ec59;
38
+ $concrete-global-area-block-active-border: #80d0ec;
39
+ $concrete-block-active-bg: #59ec59;
40
+ $concrete-global-area-block-active-bg: rgb(128, 208, 236);
41
+
42
+ $concrete-inline-icon-link: #666;
43
+ $concrete-notch-box-shadow: 0 -1px 1px 0 rgba(65, 69, 73, 0.3), 0 -1px 3px 1px rgba(65, 69, 73, 0.15);
44
+ $concrete-empty-area-highlight: #ffff76;
45
+ $concrete-drag-area-bg: rgba(255, 255, 118, 0.3);
46
+ $concrete-drag-area-active-bg: rgba(89, 236, 89, 0.4);
47
+ $concrete-drag-area-active-border: $blue;
48
+ $concrete-drag-area-active-shadow: rgba(74, 144, 226, 0.7);
24
49
 
25
50
  /**
26
- * Blocks AND areas
27
- */
28
- div.ccm-block-edit,
29
- div.ccm-area,
30
- div.ccm-area-disabled {
31
- @include clearfix();
32
- opacity: 1;
33
- position: relative;
34
- }
35
-
36
- /**
37
- * sorting blocks in page
38
- */
39
- div.ccm-block-type-sorting {
40
- background-color: rgba(128, 128, 128, 0.1);
41
- border: 1px solid $gray-700;
42
- box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.5);
43
- overflow: hidden;
44
- padding: 10px;
45
- transform: rotate(5 deg);
46
- }
47
-
48
- /**
49
- * Blocks
50
- */
51
-
52
- div.ccm-block-edit {
53
- @include clearfix();
54
- min-height: 16px;
55
- opacity: 1;
56
- outline: 1px solid transparent;
57
- outline-offset: -1px;
58
- position: relative;
59
-
60
- transition: outline-color 0.5 s cubic-bezier(0.19, 1, 0.22, 1);
61
- }
62
-
63
- div.ccm-block-edit.ccm-menu-item-hover,
64
- div.ccm-block-edit.ccm-block-highlight {
65
- outline: 1px solid #59ec59;
66
-
67
- > div.ccm-custom-style-container > ul.ccm-edit-mode-inline-commands,
68
- > ul.ccm-edit-mode-inline-commands {
69
- float: none;
70
- list-style-type: none;
71
- margin: 0 !important;
72
- opacity: 1;
73
- }
74
- }
75
-
76
- div.ccm-global-area {
77
- div.ccm-block-edit.ccm-menu-item-hover,
78
- div.ccm-block-edit.ccm-block-highlight {
79
- outline: 1px solid #80d0ec;
80
- }
81
- }
82
-
83
- /**
84
- * Areas
51
+ * Areas Basics
85
52
  */
86
-
87
53
  div.ccm-area {
88
- outline: 1px solid transparent;
89
- outline-offset: -1px;
90
- /* margin-bottom: 50px; */
91
- transition: outline-color 0.5 s cubic-bezier(0.19, 1, 0.22, 1);
54
+ border: 2px solid $concrete-area-border;
55
+ border-radius: 2px;
56
+ margin-bottom: $concrete-element-spacing-y;
57
+ transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
58
+
59
+ .ccm-area-block-list {
60
+ transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
61
+ }
92
62
 
93
63
  /**
94
64
  * draggable blocks into area
@@ -114,94 +84,121 @@ div.ccm-area {
114
84
 
115
85
  }
116
86
 
117
- div.ccm-area:hover,
118
- div.ccm-area.ccm-parent-menu-item-hover,
119
- div.ccm-area.ccm-parent-menu-item-active,
120
- div.ccm-area.ccm-area-accepts-blocks,
121
- div.ccm-area.ccm-area-highlight,
122
- div.ccm-area.ccm-menu-item-hover {
123
- outline: 1px solid #e6e6e6;
124
-
125
- > div.ccm-area-footer {
126
- display: block;
127
- opacity: 1;
128
- }
129
- }
130
-
131
87
  div.ccm-area-footer {
132
- bottom: 0;
88
+ bottom: -2px;
133
89
  left: 0;
134
90
  max-width: 100%;
135
- opacity: 0;
136
- padding-left: 20px;
137
91
  position: absolute;
92
+ text-align: center;
138
93
  transform: translateY(100%);
139
- transition: opacity 0.5 s cubic-bezier(0.19, 1, 0.22, 1);
140
- white-space: nowrap;
141
- //padding-top: 15px;
94
+ transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
95
+ width: 100%;
142
96
  z-index: $index-level-in-context-area-handle;
143
97
 
144
98
  div.ccm-area-footer-handle {
145
- background-color: #f5f5f5;
146
- border-bottom: 1px solid #ccc;
147
- border-left: 1px solid #ccc;
148
- border-right: 1px solid #ccc;
149
- color: #666;
150
- display: inline-block;
151
- font-size: $font-size-base !important;
99
+ background-color: #fff;
100
+ border-bottom-left-radius: 3px;
101
+ border-bottom-right-radius: 3px;
102
+ box-shadow: $popover-box-shadow;
103
+ color: $concrete-area-handle;
104
+ display: inline-flex;
105
+ font-size: 12px;
106
+ font-weight: bold;
107
+ line-height: 12px;
108
+ margin-left: auto;
109
+ margin-right: auto;
152
110
  max-width: 100%;
153
- padding: 8px 15px;
111
+ padding: 8px 12px;
112
+ text-transform: uppercase;
113
+ transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
154
114
 
155
- > span {
156
- display: block;
157
- overflow: hidden;
158
- text-overflow: ellipsis;
115
+ i {
116
+ margin-right: 6px;
159
117
  }
160
118
 
161
- i {
162
- vertical-align: middle;
119
+ &.ccm-menu-item-hover {
120
+ background-color: $concrete-area-handle-hover-bg;
121
+ color: $concrete-area-handle-hover;
122
+ }
123
+ }
124
+ }
125
+
126
+ div.ccm-global-area {
127
+ border-color: $concrete-global-area-border;
128
+
129
+ div.ccm-area-footer {
130
+ div.ccm-area-footer-handle {
131
+ background-color: $concrete-global-area-handle-bg;
132
+
133
+ &.ccm-menu-item-hover {
134
+ background-color: $concrete-global-area-handle-hover-bg;
135
+ color: $concrete-global-area-handle-hover;
136
+ }
163
137
  }
164
138
  }
165
139
  }
166
140
 
167
141
  /**
168
- * Hovering over areas
142
+ * Layout Basics
169
143
  */
170
- div.ccm-menu-item-hover {
171
- > div.ccm-area-footer {
172
- > div.ccm-area-footer-handle {
173
- span {
174
- opacity: 1 !important;
144
+ div.ccm-block-edit.ccm-block-edit-layout {
145
+ margin-bottom: $concrete-element-spacing-y / 2;
146
+ outline-color: $concrete-layout-area-border-outer;
147
+ padding: ($concrete-element-spacing-y / 2) 0;
148
+ }
149
+
150
+ div.ccm-layout-area {
151
+ border-color: $concrete-layout-area-border;
152
+ margin-bottom: ($concrete-element-spacing-y / 2);
153
+
154
+ div.ccm-area-footer {
155
+ div.ccm-area-footer-handle {
156
+ background-color: $concrete-layout-area-handle-bg;
157
+
158
+ &.ccm-menu-item-hover {
159
+ background-color: $concrete-layout-area-handle-hover-bg;
160
+ color: $concrete-layout-area-handle-hover;
175
161
  }
176
162
  }
177
163
  }
178
164
  }
179
165
 
180
166
  /**
181
- * Empty areas
167
+ * Container Basics
182
168
  */
183
- div.ccm-area[data-total-blocks='0'] {
184
- min-height: 50px;
169
+ div.ccm-block-edit.ccm-block-edit-container {
170
+ margin-bottom: $concrete-element-spacing-y / 2;
171
+ outline-color: $concrete-container-area-border-outer;
172
+ padding: ($concrete-element-spacing-y / 2) 0;
173
+ }
185
174
 
186
- outline: 1px solid #e6e6e6;
187
- outline-offset: -1px;
175
+ div.ccm-container-area {
176
+ border-color: $concrete-container-area-border;
177
+ margin-bottom: ($concrete-element-spacing-y / 2);
188
178
 
179
+ div.ccm-area-footer {
180
+ div.ccm-area-footer-handle {
181
+ background-color: $concrete-container-area-handle-bg;
182
+
183
+ &.ccm-menu-item-hover {
184
+ background-color: $concrete-container-area-handle-hover-bg;
185
+ color: $concrete-container-area-handle-hover;
186
+ }
187
+ }
188
+ }
189
189
  }
190
190
 
191
191
  /**
192
- * Empty areas - firefox stupidity
192
+ * Empty areas
193
193
  */
194
- @-moz-document url-prefix() {
195
- div.ccm-area[data-total-blocks='0'] {
196
- border: 1px solid #e6e6e6;
197
- outline: none !important;
198
- }
194
+ div.ccm-area[data-total-blocks='0'] {
195
+ min-height: $concrete-element-spacing-y;
199
196
  }
200
197
 
201
198
  div.ccm-area[data-total-blocks='0'].ccm-area-drag-block-type-over,
202
199
  div.ccm-area[data-total-blocks='0'].ccm-menu-item-hover {
203
200
 
204
- outline: 1px solid #0c6;
201
+ border-color: $concrete-area-border-active;
205
202
 
206
203
  div.ccm-area-footer-handle {
207
204
  border-color: #0c6;
@@ -212,13 +209,17 @@ div.ccm-area[data-total-blocks='0'].ccm-menu-item-hover {
212
209
  }
213
210
 
214
211
  &.ccm-global-area {
215
- outline-color: #80d0ec;
212
+ border-color: $concrete-global-area-border-active;
213
+ }
216
214
 
217
- div.ccm-area-footer-handle {
218
- border-color: #80d0ec;
215
+ &.ccm-layout-area {
216
+ border-color: $concrete-layout-area-border-active;
217
+ }
219
218
 
220
- }
219
+ &.ccm-container-area {
220
+ border-color: $concrete-container-area-border-active;
221
221
  }
222
+
222
223
  }
223
224
 
224
225
  /**
@@ -226,108 +227,225 @@ div.ccm-area[data-total-blocks='0'].ccm-menu-item-hover {
226
227
  */
227
228
  div.ccm-area.ccm-area-highlight {
228
229
 
229
- outline: 1px solid #59ec59;
230
- outline-offset: -1px;
230
+ border-color: $concrete-area-border-active;
231
+
232
+ .ccm-area-block-list {
233
+ opacity: 0.5;
234
+ }
231
235
 
232
236
  > div.ccm-area-footer {
233
237
  div.ccm-area-footer-handle {
234
- border-bottom: 1px solid #59ec59;
235
- border-left: 1px solid #59ec59;
236
- border-right: 1px solid #59ec59;
237
- color: #000;
238
+ background-color: $concrete-area-handle-active-bg;
239
+ color: white;
238
240
  }
239
241
  }
242
+ }
240
243
 
241
- &.ccm-global-area-highlight {
242
- outline: 1px solid #80d0ec;
244
+ div.ccm-area.ccm-global-area.ccm-area-highlight {
243
245
 
244
- > div.ccm-area-footer {
245
- div.ccm-area-footer-handle {
246
- border-bottom: 1px solid #80d0ec;
247
- border-left: 1px solid #80d0ec;
248
- border-right: 1px solid #80d0ec;
249
- color: #000;
250
- }
246
+ border-color: $concrete-global-area-border-active !important;
247
+
248
+ > div.ccm-area-footer {
249
+ div.ccm-area-footer-handle {
250
+ background-color: $concrete-global-area-handle-active-bg !important;
251
+ color: white;
251
252
  }
252
253
  }
253
254
  }
254
255
 
255
- div.ccm-area[data-total-blocks='0'].ccm-area-highlight {
256
- outline: 1px solid #59ec59;
256
+ div.ccm-area.ccm-layout-area.ccm-area-highlight {
257
+
258
+ border-color: $concrete-layout-area-border-active !important;
257
259
 
258
- &.ccm-global-area-highlight {
259
- outline-color: #80d0ec;
260
+ > div.ccm-area-footer {
261
+ div.ccm-area-footer-handle {
262
+ background-color: $concrete-layout-area-handle-active-bg !important;
263
+ color: white;
264
+ }
260
265
  }
261
266
  }
262
267
 
263
- div#ccm-menu-highlighter.ccm-area-highlight {
264
- background-color: #ffff76;
265
- opacity: 0.1;
268
+ div.ccm-area.ccm-container-area.ccm-area-highlight {
269
+
270
+ border-color: $concrete-container-area-border-active !important;
266
271
 
267
- &.ccm-global-area-highlight {
268
- background-color: #93ffdb;
272
+ > div.ccm-area-footer {
273
+ div.ccm-area-footer-handle {
274
+ background-color: $concrete-container-area-handle-active-bg !important;
275
+ color: white;
276
+ }
269
277
  }
270
278
  }
271
279
 
280
+ div.ccm-area[data-total-blocks='0'].ccm-area-highlight {
281
+ border-color: $concrete-area-border-active;
282
+ }
283
+
284
+ div#ccm-menu-highlighter.ccm-area-highlight {
285
+ background-color: $concrete-empty-area-highlight;
286
+ opacity: 0.1;
287
+ }
288
+
289
+
272
290
  /**
273
- * Inline edit mode tweaks
291
+ * Blocks with title notches (Layout, Container)
274
292
  */
275
- div.ccm-area.ccm-area-inline-edit-disabled {
276
- outline-color: transparent;
277
293
 
278
- div.ccm-area-footer {
279
- display: none;
294
+ div.ccm-edit-mode-title-notch-wrapper {
295
+ position: relative;
296
+ text-align: center;
297
+ top: -1px;
298
+ }
299
+
300
+ ul.ccm-edit-mode-title-notch {
301
+ background-color: #fff;
302
+ border-top-left-radius: $dropdown-border-radius;
303
+ border-top-right-radius: $dropdown-border-radius;
304
+ box-shadow: $concrete-notch-box-shadow;
305
+ color: $concrete-area-handle;
306
+ cursor: pointer;
307
+ display: inline-flex;
308
+ font-size: 12px;
309
+ font-weight: bold;
310
+ line-height: 12px;
311
+ list-style-type: none;
312
+ margin: $concrete-element-spacing-y 0 0 0;
313
+ padding: 8px 12px !important;
314
+ transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
315
+ user-select: none;
316
+ z-index: $index-level-in-context-area-handle;
317
+
318
+ &.ccm-edit-mode-title-notch-container {
319
+ background-color: $concrete-container-area-handle-bg;
320
+
321
+ &.ccm-menu-item-hover {
322
+ background-color: $concrete-container-area-handle-hover-bg;
323
+ color: $concrete-container-area-handle-hover;
324
+ }
325
+
326
+ &.ccm-edit-mode-title-notch-highlight {
327
+ background-color: $concrete-container-area-handle-active-bg !important;
328
+ color: white;
329
+
330
+ img {
331
+ filter: brightness(0) invert(1);
332
+ }
333
+
334
+ i {
335
+ color: white;
336
+ }
337
+ }
280
338
  }
281
339
 
282
- div.ccm-block-edit {
283
- opacity: 0.4;
340
+ &.ccm-edit-mode-title-notch-layout {
341
+ background-color: $concrete-layout-area-handle-bg;
342
+
343
+ &.ccm-menu-item-hover {
344
+ background-color: $concrete-layout-area-handle-hover-bg;
345
+ color: $concrete-layout-area-handle-hover;
346
+ }
347
+
348
+ &.ccm-edit-mode-title-notch-highlight {
349
+ background-color: $concrete-layout-area-handle-active-bg !important;
350
+ color: white;
351
+ }
284
352
  }
285
353
 
286
- div.ccm-block-edit-layout {
287
- opacity: 1;
354
+
355
+ i {
356
+ font-size: 14px;
288
357
  }
289
358
 
290
- div.ccm-block-edit-inline-active {
291
- opacity: 1;
292
- outline: 1px solid #5eed5e;
293
- outline-offset: -1px;
359
+ li {
360
+ display: flex;
361
+ line-height: 12px;
362
+ margin-right: 6px;
363
+
364
+ &:last-child {
365
+ margin-right: 0;
366
+ }
367
+
368
+ img { // container images
369
+ margin-bottom: 0 !important; // Just in case some theme styles are greedy
370
+ margin-top: 0 !important; // Just in case some theme styles are greedy
371
+ max-height: 12px;
372
+ }
373
+
374
+ span {
375
+ margin-left: 6px;
376
+ margin-right: 6px;
377
+ text-transform: uppercase;
378
+ }
379
+
380
+ a {
381
+ color: $concrete-inline-icon-link !important;
382
+ position: relative;
383
+ z-index: $index-level-inline-commands; // this ensures that the move icon in our notches comes above the click proxy for clicking on the notch
384
+
385
+ &.ccm-edit-mode-inline-command-move {
386
+ cursor: move;
387
+ }
388
+
389
+ &:hover {
390
+ color: $primary !important;
391
+ }
392
+ }
294
393
  }
394
+ }
395
+
396
+ // Clicking on a notch for layout or container
397
+ div.ccm-block-edit-container,
398
+ div.ccm-block-edit-layout {
399
+ transition: outline-color 0.5s cubic-bezier(0.19, 1, 0.22, 1);
295
400
 
401
+ > * {
402
+ transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
403
+ }
296
404
  }
297
405
 
298
- /**
299
- * Clicking on blocks
300
- */
301
- div#ccm-menu-highlighter.ccm-block-highlight {
302
- background-color: #59ec59;
303
- opacity: 0.4;
406
+ div.ccm-block-edit.ccm-block-edit-container.ccm-block-edit-container-highlight {
407
+ outline-color: $concrete-container-area-border-active !important;
304
408
 
305
- &.ccm-global-area-block-highlight {
306
- background-color: rgb(128, 208, 236);
307
- outline: 1px solid #80d0ec;
409
+ > * {
410
+ opacity: 0.4;
411
+ }
412
+ }
413
+
414
+ div.ccm-block-edit.ccm-block-edit-layout.ccm-block-edit-layout-highlight {
415
+ outline-color: $concrete-layout-area-border-active !important;
416
+
417
+ > * {
418
+ opacity: 0.4;
419
+ }
420
+ }
421
+
422
+
423
+ // Hide the notch when doing inline design editing, because it loads a double notch into the page
424
+ div.ccm-form-block-design {
425
+ div.ccm-edit-mode-title-notch-wrapper {
426
+ display: none;
308
427
  }
309
428
  }
310
429
 
311
430
  /**
312
- * Inline commands
431
+ * Edit mode in-page controls for dragging, moving blocks around
313
432
  */
314
433
  ul.ccm-edit-mode-inline-commands {
315
434
  background-color: #fff;
316
- border-bottom-left-radius: 3px;
435
+ border-radius: $dropdown-border-radius;
317
436
  box-shadow: $popover-box-shadow;
318
- display: flex;
319
- height: 25px;
437
+ font-size: 14px;
438
+ left: 50%;
320
439
  list-style-type: none;
321
- margin: 0 !important;
440
+ margin: auto;
322
441
  opacity: 0;
323
442
  padding: 0 !important;
324
443
  position: absolute;
325
- right: 0;
326
- top: 0;
444
+ top: 50%;
445
+ transform: translate(-50%, -50%);
327
446
  z-index: $index-level-inline-commands; // has to be over the click proxy
328
447
  li {
329
448
  align-items: center;
330
- display: flex;
331
449
  margin: 0 !important;
332
450
  padding: 0 !important;
333
451
 
@@ -343,16 +461,22 @@ ul.ccm-edit-mode-inline-commands {
343
461
  }
344
462
 
345
463
  a {
346
- color: #444 !important;
347
464
  display: inline-block;
348
465
  font-weight: lighter;
349
- padding: 0;
466
+ padding: 3px 6px;
350
467
  position: relative;
351
468
  text-align: center;
352
- width: 25px !important;
469
+
470
+ i.fas { // https://github.com/concretecms/concretecms/issues/10184
471
+ background-color: transparent;
472
+ color: $concrete-inline-icon-link !important;
473
+ font-size: 14px; // https://github.com/concretecms/concretecms/issues/10184
474
+ }
353
475
 
354
476
  &:hover {
355
- color: $blue !important;
477
+ i.fas { // https://github.com/concretecms/concretecms/issues/10184
478
+ color: $primary !important;
479
+ }
356
480
  }
357
481
 
358
482
  &.ccm-edit-mode-inline-command-move {
@@ -363,15 +487,171 @@ ul.ccm-edit-mode-inline-commands {
363
487
  a:hover {
364
488
  text-decoration: none !important;
365
489
  }
366
-
367
490
  }
491
+ }
368
492
 
493
+ // Hovering over the move arrows icon itself
494
+ ul.ccm-edit-mode-inline-commands:hover {
495
+ opacity: 1;
369
496
  }
370
497
 
498
+ // Hovering over the move icon, in order to give the block/item itself a different shade of hover opacity in
499
+ // preparation to move.
500
+ div.ccm-block-edit.ccm-block-move-hover {
501
+ > div.ccm-block-cover {
502
+ background-color: $concrete-block-hover-bg;
503
+ opacity: 0.4;
504
+ }
505
+ }
506
+
507
+ /**
508
+ * Hovering over blocks in page to show controls
509
+ */
510
+ div.ccm-block-edit.ccm-menu-item-hover,
371
511
  ul.ccm-edit-mode-inline-commands:hover {
512
+ .ccm-block-cover {
513
+ background-color: $concrete-block-hover-bg;
514
+ opacity: 0.2;
515
+ }
516
+
517
+ &.ccm-block-highlight {
518
+ .ccm-block-cover {
519
+ opacity: 0;
520
+ }
521
+ }
522
+ }
523
+
524
+ div.ccm-block-edit.ccm-menu-item-hover {
525
+ > div.ccm-custom-style-container > ul.ccm-edit-mode-inline-commands,
526
+ > ul.ccm-edit-mode-inline-commands {
527
+ opacity: 1;
528
+ }
529
+ }
530
+
531
+ // Hide the in-page block commands when the menu is visible
532
+ div.ccm-block-edit.ccm-block-highlight {
533
+ > div.ccm-custom-style-container > ul.ccm-edit-mode-inline-commands,
534
+ > ul.ccm-edit-mode-inline-commands {
535
+ opacity: 0;
536
+ }
537
+ }
538
+
539
+
540
+
541
+ /* stylelint-disable value-no-vendor-prefix, function-url-quotes */
542
+ /**
543
+ * Highlighter
544
+ */
545
+ div#ccm-menu-click-proxy {
546
+ background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
547
+ cursor: pointer;
548
+ height: 0;
549
+ opacity: 0;
550
+ position: absolute;
551
+ width: 0;
552
+ z-index: $index-level-in-context-click-proxy;
553
+ }
554
+
555
+ div#ccm-menu-highlighter {
556
+ background-color: transparent;
557
+ height: 0;
558
+ position: absolute;
559
+ transition: background-color 0.5s cubic-bezier(0.19, 1, 0.22, 1);
560
+ width: 0;
561
+ z-index: $index-level-in-context-menu-highlighter;
562
+ }
563
+
564
+ /**
565
+ * Blocks AND areas
566
+ */
567
+ div.ccm-block-edit,
568
+ div.ccm-area,
569
+ div.ccm-area-disabled {
570
+ @include clearfix();
571
+ opacity: 1;
572
+ position: relative;
573
+ }
574
+
575
+ /**
576
+ * sorting blocks in page
577
+ */
578
+ div.ccm-block-type-sorting {
579
+ background-color: rgba(128, 128, 128, 0.1);
580
+ border: 1px solid $gray-700;
581
+ box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.5);
582
+ overflow: hidden;
583
+ padding: 10px;
584
+ transform: rotate(5 deg);
585
+ }
586
+
587
+ /**
588
+ * Blocks
589
+ */
590
+
591
+ div.ccm-block-edit {
592
+ @include clearfix();
593
+ min-height: 16px;
372
594
  opacity: 1;
595
+ outline: 2px solid transparent;
596
+ outline-offset: -1px;
597
+ position: relative;
598
+ transition: outline-color 0.5s cubic-bezier(0.19, 1, 0.22, 1);
599
+ }
600
+
601
+ div.ccm-block-edit.ccm-menu-item-hover,
602
+ div.ccm-block-edit.ccm-block-highlight {
603
+ outline-color: $concrete-block-active-border;
604
+ }
605
+
606
+ div.ccm-global-area {
607
+ div.ccm-block-edit.ccm-menu-item-hover,
608
+ div.ccm-block-edit.ccm-block-highlight {
609
+ outline-color: $concrete-global-area-block-active-border;
610
+ }
611
+ }
612
+
613
+
614
+ /**
615
+ * Inline edit mode tweaks
616
+ */
617
+ div.ccm-area.ccm-area-inline-edit-disabled {
618
+ outline-color: transparent;
619
+
620
+ div.ccm-area-footer {
621
+ display: none;
622
+ }
623
+
624
+ div.ccm-block-edit {
625
+ opacity: 0.4;
626
+ }
627
+
628
+ div.ccm-block-edit-container,
629
+ div.ccm-block-edit-layout {
630
+ opacity: 1;
631
+ }
632
+
633
+ div.ccm-block-edit-inline-active {
634
+ opacity: 1;
635
+ outline: 2px solid $concrete-block-active-border;
636
+ outline-offset: -1px;
637
+ }
638
+
373
639
  }
374
640
 
641
+ /**
642
+ * Clicking on blocks
643
+ */
644
+ div#ccm-menu-highlighter.ccm-block-highlight {
645
+ background-color: $concrete-block-active-bg;
646
+ opacity: 0.4;
647
+
648
+ &.ccm-global-area-block-highlight {
649
+ background-color: $concrete-global-area-block-active-bg;
650
+ outline: 2px solid $concrete-global-area-border-active;
651
+ }
652
+ }
653
+
654
+
375
655
  /**
376
656
  * In page menus
377
657
  */
@@ -394,52 +674,29 @@ ul.ccm-edit-mode-inline-commands:hover {
394
674
  border-bottom-left-radius: $dropdown-border-radius;
395
675
  border-bottom-right-radius: $dropdown-border-radius;
396
676
  }
397
-
398
-
399
-
400
677
  }
401
-
402
678
  }
403
679
 
404
- /*
405
- * Edit mode drag areas - The green hover state things
680
+ /**
681
+ * Draggable blocks in edit mode
406
682
  */
407
683
  div.ccm-area-drag-area {
408
- line-height: 0px;
409
- outline-color: rgb(170, 255, 170);
410
- outline-style: solid;
411
- outline-width: 0;
412
- transition: outline-width 0.5s cubic-bezier(0.19, 1, 0.22, 1), outline-color 0.5s cubic-bezier(0.19, 1, 0.22, 1);
684
+ height: 0;
685
+ line-height: 0;
686
+ transition: none;
413
687
 
414
688
  span {
415
- display: none;
689
+ display: none; // We have to hide "Empty Area" text by default.
416
690
  }
417
691
 
692
+ /*
693
+ // I'm not sure this is needed, so I'm commenting it out.
418
694
  &.ccm-area-drag-area-contender {
419
695
  background-color: rgba(221, 255, 221, 0.5);
420
696
  outline: solid 5px rgba(221, 255, 221, 0.7) !important;
421
697
  }
698
+ */
422
699
 
423
- &.ccm-area-drag-area-selectable {
424
- outline-width: 10px !important;
425
- }
426
- }
427
-
428
- /* Global area color */
429
- div.ccm-global-area {
430
- > .ccm-area-block-list {
431
- > div.ccm-area-drag-area {
432
- border-color: rgb(128, 208, 236);
433
- outline-color: rgb(203, 234, 255);
434
- }
435
- }
436
- }
437
-
438
- html.ccm-panel-add-block,
439
- html.ccm-block-dragging {
440
- div.ccm-area-drag-area {
441
- outline-width: 2px;
442
- }
443
700
  }
444
701
 
445
702
  /**
@@ -457,6 +714,28 @@ div.ccm-area[data-total-blocks='0'] {
457
714
  }
458
715
  }
459
716
 
717
+
718
+
719
+ html.ccm-block-dragging {
720
+ div.ccm-area.ccm-area-accepts-block-drag-payload {
721
+ > div.ccm-area-block-list > div.ccm-area-drag-area {
722
+ background-color: $concrete-drag-area-bg;
723
+ height: 24px;
724
+ transition: height 1s cubic-bezier(0.19, 1, 0.22, 1),
725
+ background-color 0.2s cubic-bezier(0.19, 1, 0.22, 1),
726
+ border-color 0.2s cubic-bezier(0.19, 1, 0.22, 1),
727
+ box-shadow 0.4s cubic-bezier(0.19, 1, 0.22, 1);
728
+
729
+ &.ccm-area-drag-area-selectable {
730
+ background-color: $concrete-drag-area-active-bg;
731
+ box-shadow: 0 0 30px 0 $concrete-drag-area-active-shadow;
732
+ color: #333;
733
+ }
734
+ }
735
+ }
736
+ }
737
+
738
+ // Handling the drag state of the icons in the add panel
460
739
  a.ccm-block-edit-drag,
461
740
  a.ccm-panel-add-block-draggable-block-type-dragger {
462
741
  bottom: 0;
@@ -485,6 +764,8 @@ body {
485
764
  }
486
765
  }
487
766
 
767
+
768
+
488
769
  /**
489
770
  * Disabled edit mode blocks
490
771
  */
@@ -503,22 +784,13 @@ div.ccm-block-edit {
503
784
  > div.ccm-block-cover {
504
785
  height: 100%;
505
786
  left: 0;
787
+ opacity: 0;
506
788
  position: absolute;
507
789
  top: 0;
790
+ transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);
508
791
  width: 100%;
509
792
  }
510
- }
511
793
 
512
- /**
513
- * Containers. Hovering is a bit of a hack but there's no way to easily move or delete these things
514
- * without showing them on hover.
515
- */
516
- div.ccm-block-edit[data-block-type-handle=core_container] {
517
- &:hover {
518
- > ul.ccm-edit-mode-inline-commands {
519
- opacity: 1;
520
- }
521
- }
522
794
  }
523
795
 
524
796
  /**