@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
@@ -51,9 +51,12 @@ export default class Manager {
51
51
  * @param {Function} callback (Vue, options) => new Vue(options)
52
52
  */
53
53
  activateContext(context, callback) {
54
- return callback(Vue, {
55
- components: this.getContext(context)
56
- })
54
+ // This is stupid but sometimes activateContext and extendContext are called essentially simultaneously and we need this to fire after
55
+ setTimeout(() => {
56
+ return callback(Vue, {
57
+ components: this.getContext(context)
58
+ })
59
+ }, 10)
57
60
  }
58
61
 
59
62
  /**
@@ -4,6 +4,7 @@
4
4
  @import 'buttons';
5
5
  @import 'tables';
6
6
  @import 'breadcrumb';
7
+ @import 'cards';
7
8
  @import 'list-group';
8
9
 
9
10
  // Support classes
@@ -65,10 +66,6 @@
65
66
  // File Uploader
66
67
  @import './file-uploader';
67
68
 
68
- // Bootstrap Select
69
- @import 'bootstrap-select/sass/bootstrap-select';
70
- @import 'ajax-bootstrap-select/dist/css/ajax-bootstrap-select';
71
-
72
69
  // Forms
73
70
  @import './forms';
74
71
 
@@ -77,10 +74,6 @@
77
74
  // Previously wasn't throwing the error because Selectize includes the BS mixins
78
75
  @import '~bootstrap/scss/mixins';
79
76
 
80
- //TODO: Check Selectize replacement
81
- //@import '~selectize-bootstrap4-theme/scss/selectize.bootstrap4';
82
- //@import './selectize';
83
-
84
77
  // Miscellaneous components
85
78
  @import './vue';
86
79
  @import './boards';
@@ -90,6 +83,7 @@
90
83
  @import './tabs';
91
84
  @import './item-selector';
92
85
  @import './item-select-list';
86
+ @import './select-combo-box';
93
87
  @import './permission-grid';
94
88
  @import './tooltips';
95
89
  @import 'spectrum-colorpicker2/dist/spectrum';
@@ -0,0 +1,7 @@
1
+ .ccm-ui {
2
+ .card {
3
+ // Let's disable borders on the outside of the cards. We can't use the $card-border-width variable for this
4
+ // because it also disables borders between card headers and bodies and footers
5
+ border-width: 0;
6
+ }
7
+ }
@@ -1,3 +1,4 @@
1
1
  // CSS for the chooser dialog window:
2
2
  @import 'file-manager/file-chooser';
3
3
  @import 'file-manager/image-cell';
4
+ @import 'file-manager/thumbnail-image-editor';
@@ -30,16 +30,26 @@
30
30
 
31
31
  .ccm-incoming-files-container {
32
32
  margin-bottom: 15px;
33
- max-height: 400px;
33
+ max-height: 280px;
34
34
  overflow-y: scroll;
35
35
  }
36
36
 
37
37
  .ccm-directory-selector-container {
38
38
  margin-top: 15px;
39
39
 
40
- .dropdown-item {
40
+ .item {
41
+ i {
42
+ margin-right: 10px;
43
+ }
44
+ }
45
+
46
+ .option {
41
47
  padding-left: 204px; // We need this default in order to handle the many levels of sub-nodes.
42
48
 
49
+ i {
50
+ margin-right: 5px; // item and option require diferent margins because one is flexbox and the other is not
51
+ }
52
+
43
53
  &.level-1 {
44
54
  padding-left: 12px;
45
55
  }
@@ -77,7 +87,7 @@
77
87
 
78
88
  .ccm-file-upload-container {
79
89
  display: block;
80
- height: 400px;
90
+ height: 280px;
81
91
  overflow-y: auto;
82
92
  position: relative;
83
93
  user-select: none;
@@ -18,6 +18,7 @@ div#ccm-toolbar {
18
18
  .ccm-ui {
19
19
  .ccm-help-tour {
20
20
  background-color: $help-tour-background-color;
21
+ border-color: $help-tour-background-color;
21
22
  font-size: 1rem;
22
23
  padding: $help-tour-padding;
23
24
 
@@ -127,9 +128,8 @@ div#ccm-toolbar {
127
128
  color: $help-tour-position-color !important;
128
129
  margin-left: 1rem;
129
130
 
130
- &,
131
131
  &:hover {
132
- text-decoration: none;
132
+ text-decoration: underline;
133
133
  }
134
134
  }
135
135
  }
@@ -144,3 +144,12 @@ div#ccm-toolbar {
144
144
  padding: 10px 20px;
145
145
  }
146
146
  }
147
+
148
+ .ccm-help-media {
149
+ display: flex;
150
+ margin-top: 0.5rem;
151
+
152
+ > div {
153
+ margin-right: 1rem;
154
+ }
155
+ }
@@ -2,6 +2,10 @@
2
2
  * New selector style
3
3
  */
4
4
  .ccm-item-selector-group {
5
+ .btn-group {
6
+ max-width: 100%;
7
+ }
8
+
5
9
  .btn {
6
10
  padding-left: 1rem;
7
11
  padding-right: 1rem;
@@ -31,6 +35,12 @@
31
35
  }
32
36
  }
33
37
 
38
+ &.is-invalid {
39
+ .btn {
40
+ border-color: $danger;
41
+ }
42
+ }
43
+
34
44
  }
35
45
 
36
46
 
@@ -88,3 +88,19 @@ div.ccm-area-layout-control-bar i {
88
88
  position: absolute;
89
89
  top: -2px;
90
90
  }
91
+
92
+ // Ensure that many grids will display properly within our layout tools.
93
+ // NOTE: If you implement a custom grid framework you must ensure that your row DIVs appear
94
+ // with position: relative within the following two IDs.
95
+ // This ensures that the layout tools work with this theme grid.
96
+ // Note: This HAD been a part of the bedrock frontend toolkit, meant to be included by themes when they include
97
+ // Bedrock. However, if a theme wasn't built on bedrock then it was borking in the layout tools, including Elemental
98
+ // So instead, let's include the very basic implementation of this here, with div.row (which should catch BS4, BS5
99
+ // and other derived grid frameworks). If you have a different series of classes you'll have to figure out your own
100
+ // implementation based on this.
101
+ div#ccm-theme-grid-temp,
102
+ div#ccm-theme-grid-edit-mode-row-wrapper {
103
+ div.row {
104
+ position: relative; // This is necessary in order for the javascript to correctly use jquery position() calls
105
+ }
106
+ }