@concretecms/bedrock 1.1.17 → 1.2.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.
- package/assets/cms/components/customizer/ColorPageCustomizerWidget.vue +12 -5
- package/assets/cms/components/customizer/block/ToolbarSectionWidget.vue +54 -0
- package/assets/cms/components/customizer/block/ToolbarSliderWidget.vue +95 -0
- package/assets/cms/components/form/ConcreteFileInput.vue +6 -1
- package/assets/cms/components/index.js +7 -1
- package/assets/cms/js/ajax-request/block.js +4 -3
- package/assets/cms/js/base.js +1 -1
- package/assets/cms/js/edit-mode/containerblock.js +21 -2
- package/assets/cms/js/edit-mode/editmode.js +4 -0
- package/assets/cms/js/edit-mode/layout.js +1 -2
- package/assets/cms/js/edit-mode/style-customizer/style-customizer.js +1 -1
- package/assets/cms/js/modifiable-bootstrap-select.js +10 -8
- package/assets/cms/scss/_base.scss +1 -2
- package/assets/cms/scss/_inline-toolbar.scss +123 -150
- package/assets/cms/scss/_item-select-list.scss +3 -4
- package/assets/cms/scss/_page-areas.scss +23 -18
- package/package.json +2 -2
|
@@ -17,11 +17,13 @@ export default {
|
|
|
17
17
|
const i18n = window.ccmi18n_styleCustomizer || null
|
|
18
18
|
$('#color-picker-' + this.styleValue.style.variable).spectrum({
|
|
19
19
|
showAlpha: true,
|
|
20
|
+
type: 'color',
|
|
21
|
+
showPalette: false,
|
|
20
22
|
preferredFormat: 'rgb',
|
|
21
23
|
allowEmpty: true,
|
|
22
24
|
color: this.color,
|
|
23
25
|
showInitial: true,
|
|
24
|
-
showInput:
|
|
26
|
+
showInput: false,
|
|
25
27
|
cancelText: i18n && i18n.cancel ? i18n.cancel : 'Cancel',
|
|
26
28
|
chooseText: i18n && i18n.choose ? i18n.choose : 'Choose',
|
|
27
29
|
clearText: i18n && i18n.clearColorSelection ? i18n.clearColorSelection : 'Clear Color Selection',
|
|
@@ -29,15 +31,20 @@ export default {
|
|
|
29
31
|
togglePaletteMoreText: i18n && i18n.togglePaletteMore ? i18n.togglePaletteMore : 'More',
|
|
30
32
|
togglePaletteLessText: i18n && i18n.togglePaletteLess ? i18n.togglePaletteLess : 'Less',
|
|
31
33
|
change: function (r) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
let newValue = null
|
|
35
|
+
if (r) {
|
|
36
|
+
const color = r.toRgb()
|
|
37
|
+
newValue = {
|
|
36
38
|
r: color.r,
|
|
37
39
|
g: color.g,
|
|
38
40
|
b: color.b,
|
|
39
41
|
a: color.a
|
|
40
42
|
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
my.$emit('update', {
|
|
46
|
+
variable: my.styleValue.style.variable,
|
|
47
|
+
value: newValue
|
|
41
48
|
})
|
|
42
49
|
}
|
|
43
50
|
})
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<li class="ccm-inline-toolbar-icon-cell">
|
|
3
|
+
<button type="button" :id="toolbarName" data-placement="top" data-custom-class="light-tooltip" class="btn btn-sm ccm-input-button" :class="{'btn-success':isActive,'btn-secondary-outline':!isActive}"
|
|
4
|
+
:title="title" @click="$emit('dropdown', toolbarName)">
|
|
5
|
+
<i :class="icon"></i>
|
|
6
|
+
</button>
|
|
7
|
+
<div class="ccm-dropdown-menu" :class="{'active':isActive,'ccm-inline-design-dropdown-menu-doubled':isDouble}">
|
|
8
|
+
<slot></slot>
|
|
9
|
+
</div>
|
|
10
|
+
</li>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
/* eslint-disable no-new */
|
|
15
|
+
/* global bootstrap */
|
|
16
|
+
export default {
|
|
17
|
+
props: {
|
|
18
|
+
isDouble: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: false
|
|
21
|
+
},
|
|
22
|
+
toolbarName: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: 'toolbarButton'
|
|
25
|
+
},
|
|
26
|
+
icon: {
|
|
27
|
+
type: String,
|
|
28
|
+
default: 'fas fa-cog'
|
|
29
|
+
},
|
|
30
|
+
title: {
|
|
31
|
+
type: String,
|
|
32
|
+
default: 'Toolbar'
|
|
33
|
+
},
|
|
34
|
+
activeToolbar: null
|
|
35
|
+
},
|
|
36
|
+
methods: {
|
|
37
|
+
|
|
38
|
+
showTooltip() {
|
|
39
|
+
$('#' + this.toolbarName).tooltip('show')
|
|
40
|
+
},
|
|
41
|
+
hideTooltip() {
|
|
42
|
+
$('#' + this.toolbarName).tooltip('hide')
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
mounted() {
|
|
46
|
+
new bootstrap.Tooltip(document.querySelector('button#' + this.toolbarName), { customClass: 'light-tooltip' })
|
|
47
|
+
},
|
|
48
|
+
computed: {
|
|
49
|
+
isActive() {
|
|
50
|
+
return this.activeToolbar === this.toolbarName
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
</script>
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<label class="form-label" :for="inputId">{{title}}</label>
|
|
4
|
+
<div class="ccm-inline-style-slider-wrapper">
|
|
5
|
+
<div class="ccm-inline-style-sliders">
|
|
6
|
+
<input v-on:input="handleInput" :id="inputId + '_slider'" type="range" :min="min" :max="max" :step="step" :value="value">
|
|
7
|
+
<input :value="calculatedValue" :id="inputId" :name="inputId" type="hidden">
|
|
8
|
+
</div>
|
|
9
|
+
<span class="input-group input-group-sm">
|
|
10
|
+
<input type="text" :id="inputId+'_text'" autocomplete="off" class="form-control" :value="value" v-on:input="handleInput">
|
|
11
|
+
<span class="input-group-text" v-if="units !== ''">{{units}}</span>
|
|
12
|
+
</span>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
</template>
|
|
16
|
+
|
|
17
|
+
<script>
|
|
18
|
+
export default {
|
|
19
|
+
props: {
|
|
20
|
+
title: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: ''
|
|
23
|
+
},
|
|
24
|
+
min: {
|
|
25
|
+
type: Number,
|
|
26
|
+
default: 0
|
|
27
|
+
},
|
|
28
|
+
max: {
|
|
29
|
+
type: Number,
|
|
30
|
+
default: 100
|
|
31
|
+
},
|
|
32
|
+
step: {
|
|
33
|
+
type: Number,
|
|
34
|
+
default: 1
|
|
35
|
+
},
|
|
36
|
+
value: {
|
|
37
|
+
type: Number,
|
|
38
|
+
default: 0
|
|
39
|
+
},
|
|
40
|
+
units: {
|
|
41
|
+
type: String,
|
|
42
|
+
default: ''
|
|
43
|
+
},
|
|
44
|
+
inputId: {
|
|
45
|
+
type: String,
|
|
46
|
+
default: ''
|
|
47
|
+
},
|
|
48
|
+
attachUnits: {
|
|
49
|
+
type: Boolean,
|
|
50
|
+
default: true
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
methods: {
|
|
54
|
+
handleInput(event) {
|
|
55
|
+
let newValue = parseInt(event.target.value)
|
|
56
|
+
if (isNaN(newValue)) {
|
|
57
|
+
newValue = 0
|
|
58
|
+
}
|
|
59
|
+
if (newValue < this.min) {
|
|
60
|
+
newValue = this.min
|
|
61
|
+
}
|
|
62
|
+
if (newValue > this.max) {
|
|
63
|
+
newValue = this.max
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
this.calculateBackground(newValue)
|
|
67
|
+
|
|
68
|
+
this.$emit('input', newValue)
|
|
69
|
+
},
|
|
70
|
+
calculateBackground(value) {
|
|
71
|
+
const target = document.querySelector('input[type=range][id=' + this.inputId + '_slider]')
|
|
72
|
+
|
|
73
|
+
target.style.backgroundSize = (value - this.min) * 100 / (this.max - this.min) + '% 100%'
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
mounted() {
|
|
77
|
+
this.calculateBackground(this.value ? this.value : 0)
|
|
78
|
+
},
|
|
79
|
+
computed: {
|
|
80
|
+
calculatedValue() {
|
|
81
|
+
let value = this.value ? this.value : 0
|
|
82
|
+
if (this.attachUnits) {
|
|
83
|
+
value += this.units
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return value
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
}
|
|
91
|
+
</script>
|
|
92
|
+
|
|
93
|
+
<style lang="scss" scoped>
|
|
94
|
+
|
|
95
|
+
</style>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<div v-if="isLoading">
|
|
12
12
|
<div class="btn-group">
|
|
13
13
|
<div class="btn btn-secondary"><svg class="ccm-loader-dots"><use xlink:href="#icon-loader-circles" /></svg></div>
|
|
14
|
-
<button type="button" @click="
|
|
14
|
+
<button type="button" @click="clearFile" class="ccm-item-selector-reset btn btn-secondary">
|
|
15
15
|
<i class="fa fa-times-circle"></i>
|
|
16
16
|
</button>
|
|
17
17
|
</div>
|
|
@@ -101,6 +101,10 @@ export default {
|
|
|
101
101
|
my.loadFile(r.fID)
|
|
102
102
|
}, options)
|
|
103
103
|
},
|
|
104
|
+
clearFile: function() {
|
|
105
|
+
this.selectedFileID = null
|
|
106
|
+
this.$emit('selectedfile', null)
|
|
107
|
+
},
|
|
104
108
|
loadFile(fileId) {
|
|
105
109
|
var my = this
|
|
106
110
|
my.isLoading = true
|
|
@@ -108,6 +112,7 @@ export default {
|
|
|
108
112
|
my.selectedFile = r.files[0]
|
|
109
113
|
my.selectedFileID = fileId
|
|
110
114
|
my.isLoading = false
|
|
115
|
+
my.$emit('selectedfile', r.files[0])
|
|
111
116
|
})
|
|
112
117
|
}
|
|
113
118
|
|
|
@@ -29,7 +29,10 @@ import IconSelector from './form/IconSelector'
|
|
|
29
29
|
import CompletedProcessList from './CompletedProcessList'
|
|
30
30
|
import RunningProcessList from './RunningProcessList'
|
|
31
31
|
import ThemeCustomizer from './customizer/ThemeCustomizer'
|
|
32
|
+
import ColorPageCustomizerWidget from './customizer/ColorPageCustomizerWidget'
|
|
32
33
|
import ThemeCustomizerPreview from './customizer/ThemeCustomizerPreview'
|
|
34
|
+
import ToolbarSliderWidget from './customizer/block/ToolbarSliderWidget'
|
|
35
|
+
import ToolbarSectionWidget from './customizer/block/ToolbarSectionWidget'
|
|
33
36
|
|
|
34
37
|
// Export our component library
|
|
35
38
|
export default {
|
|
@@ -64,5 +67,8 @@ export default {
|
|
|
64
67
|
RunningProcessList,
|
|
65
68
|
CompletedProcessList,
|
|
66
69
|
ThemeCustomizer,
|
|
67
|
-
ThemeCustomizerPreview
|
|
70
|
+
ThemeCustomizerPreview,
|
|
71
|
+
ToolbarSliderWidget,
|
|
72
|
+
ToolbarSectionWidget,
|
|
73
|
+
ColorPageCustomizerWidget
|
|
68
74
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* global ConcreteAjaxForm, ConcreteEvent, CCM_CID, Concrete, CCM_DISPATCHER_FILENAME, ConcreteToolbar, ConcreteAlert, ccmi18n */
|
|
3
3
|
|
|
4
4
|
/* Block ajax */
|
|
5
|
-
;(function(global, $) {
|
|
5
|
+
; (function (global, $) {
|
|
6
6
|
'use strict'
|
|
7
7
|
|
|
8
8
|
function ConcreteAjaxBlockForm($form, options) {
|
|
@@ -49,7 +49,8 @@
|
|
|
49
49
|
cID: cID,
|
|
50
50
|
bID: resp.bID,
|
|
51
51
|
arEnableGridContainer: arEnableGridContainer,
|
|
52
|
-
placeholder: ''
|
|
52
|
+
placeholder: '',
|
|
53
|
+
tempFilename: resp.tempFilename
|
|
53
54
|
}, function (r) {
|
|
54
55
|
var block; var edit_mode = Concrete.getEditMode(); var local_area = area.inEditMode(edit_mode)
|
|
55
56
|
|
|
@@ -132,7 +133,7 @@
|
|
|
132
133
|
$(form).attr('action', newActionURL)
|
|
133
134
|
}
|
|
134
135
|
if (my.options.progressiveOperation) {
|
|
135
|
-
my.handleProgressiveOperation(resp, function(r) {
|
|
136
|
+
my.handleProgressiveOperation(resp, function (r) {
|
|
136
137
|
my.refreshBlock(r)
|
|
137
138
|
})
|
|
138
139
|
} else if (my.validateResponse(resp)) {
|
package/assets/cms/js/base.js
CHANGED
|
@@ -88,7 +88,7 @@ import './file-manager/file-manager'
|
|
|
88
88
|
|
|
89
89
|
// Miscellaneous UI components
|
|
90
90
|
import 'selectize'
|
|
91
|
-
import 'spectrum-
|
|
91
|
+
import 'spectrum-colorpicker2'
|
|
92
92
|
import 'tristate/jquery.tristate'
|
|
93
93
|
import 'jquery-text-counter/textcounter'
|
|
94
94
|
import './jquery-awesome-rating'
|
|
@@ -19,20 +19,39 @@ import _ from 'underscore'
|
|
|
19
19
|
elem.children('.ccm-block-cover').remove()
|
|
20
20
|
my.bindDrag()
|
|
21
21
|
my.bindDelete()
|
|
22
|
+
my.bindEditDesign()
|
|
22
23
|
},
|
|
23
24
|
|
|
24
25
|
bindDelete: function ContainerBlockDelete() {
|
|
25
26
|
var my = this
|
|
26
|
-
var deleter = my.getElem().find('
|
|
27
|
+
var deleter = my.getElem().find('ul.ccm-edit-mode-inline-container a[data-inline-command=delete-block]')
|
|
27
28
|
deleter.unbind('click.containerDelete').on('click.containerDelete', function(e) {
|
|
28
29
|
e.preventDefault()
|
|
29
30
|
my.delete()
|
|
30
31
|
})
|
|
31
32
|
},
|
|
32
33
|
|
|
34
|
+
bindEditDesign: function ContainerBlockEditDesign() {
|
|
35
|
+
var my = this
|
|
36
|
+
var menuElem = my.getElem().find('ul.ccm-edit-mode-inline-container a[data-inline-command=edit-container-design]')
|
|
37
|
+
menuElem.off('click.edit-mode')
|
|
38
|
+
.on('click.edit-mode', function (e) {
|
|
39
|
+
e.preventDefault()
|
|
40
|
+
// we are going to place this at the END of the list.
|
|
41
|
+
var $link = $(this)
|
|
42
|
+
var bID = parseInt($link.attr('data-container-block-id'))
|
|
43
|
+
var editor = Concrete.getEditMode()
|
|
44
|
+
var block = _.findWhere(editor.getBlocks(), { id: bID })
|
|
45
|
+
Concrete.event.fire('EditModeBlockEditInline', {
|
|
46
|
+
block: block, event: e, action: CCM_DISPATCHER_FILENAME + '/ccm/system/dialogs/block/design'
|
|
47
|
+
})
|
|
48
|
+
return false
|
|
49
|
+
})
|
|
50
|
+
},
|
|
51
|
+
|
|
33
52
|
bindDrag: function ContainerBlockBindDrag() {
|
|
34
53
|
var my = this
|
|
35
|
-
var mover = my.getElem().find('
|
|
54
|
+
var mover = my.getElem().find('ul.ccm-edit-mode-inline-container a[data-inline-command=move-block]').parent()
|
|
36
55
|
|
|
37
56
|
$.pep.unbind(mover)
|
|
38
57
|
mover.pep(my.getPepSettings())
|
|
@@ -414,6 +414,10 @@
|
|
|
414
414
|
}
|
|
415
415
|
ConcreteAjaxRequest.validateResponse(r, function(ok) {
|
|
416
416
|
if (ok) {
|
|
417
|
+
ConcreteEvent.fire('EditModeBlockMoveComplete', {
|
|
418
|
+
block: block,
|
|
419
|
+
area: targetArea
|
|
420
|
+
})
|
|
417
421
|
ConcreteToolbar.disableDirectExit()
|
|
418
422
|
} else {
|
|
419
423
|
if (data.revert) {
|
|
@@ -26,8 +26,7 @@ import _ from 'underscore'
|
|
|
26
26
|
|
|
27
27
|
bindDrag: function layoutBindDrag() {
|
|
28
28
|
var my = this
|
|
29
|
-
var peper = $('
|
|
30
|
-
|
|
29
|
+
var peper = $('[data-layout-command="move-block"]')
|
|
31
30
|
$.pep.unbind(peper)
|
|
32
31
|
peper.pep(my.getPepSettings())
|
|
33
32
|
},
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/* eslint-disable no-new, no-unused-vars, camelcase, eqeqeq */
|
|
2
2
|
|
|
3
3
|
/* Extend bootstrap-select */
|
|
4
|
-
;(function (global, $) {
|
|
4
|
+
; (function (global, $) {
|
|
5
5
|
// grab a reference to existing functions
|
|
6
6
|
var _init = $.fn.selectpicker.Constructor.prototype.init
|
|
7
7
|
var _destroy = $.fn.selectpicker.Constructor.prototype.destroy
|
|
8
8
|
|
|
9
9
|
// extend the prototype with own functions
|
|
10
10
|
$.extend(true, $.fn.selectpicker.Constructor.prototype, {
|
|
11
|
-
|
|
11
|
+
// this will replace the original $.fn.selectpicker.Constructor.prototype.init function
|
|
12
12
|
init: function () {
|
|
13
13
|
var that = this
|
|
14
14
|
var addNoResultClassName = function (addedNode) {
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
var $addedNodeBsSelect = $addedNode.closest('.bootstrap-select')
|
|
17
17
|
if (
|
|
18
18
|
$addedNode.hasClass('no-results') &&
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
$addedNodeBsSelect.length &&
|
|
20
|
+
$addedNodeBsSelect.find('select').selectpicker('liveSearch') == true
|
|
21
21
|
) {
|
|
22
22
|
$addedNode.addClass('ccm-enhanced-select-input-add-new-term')
|
|
23
23
|
}
|
|
@@ -84,6 +84,8 @@
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
select.selectpicker('refresh')
|
|
87
|
+
var event = new Event('change', { detail: txt })
|
|
88
|
+
select[0].dispatchEvent(event)
|
|
87
89
|
$searchbox.trigger('focus')
|
|
88
90
|
})
|
|
89
91
|
}
|
|
@@ -96,9 +98,9 @@
|
|
|
96
98
|
|
|
97
99
|
if (
|
|
98
100
|
this.options.liveSearch &&
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
101
|
+
this.options.allowAdd &&
|
|
102
|
+
this.allowAddMutationObserver &&
|
|
103
|
+
typeof this.allowAddMutationObserver != 'undefined'
|
|
102
104
|
) {
|
|
103
105
|
// free up memory if possible
|
|
104
106
|
this.allowAddMutationObserver.disconnect()
|
|
@@ -106,5 +108,5 @@
|
|
|
106
108
|
}
|
|
107
109
|
}
|
|
108
110
|
})
|
|
109
|
-
// }
|
|
111
|
+
// }
|
|
110
112
|
})(window, jQuery); // eslint-disable-line semi
|
|
@@ -72,7 +72,6 @@
|
|
|
72
72
|
// Forms
|
|
73
73
|
@import './forms';
|
|
74
74
|
|
|
75
|
-
|
|
76
75
|
// Bs5 box-shadow mixin needs to be imported again
|
|
77
76
|
// Otherwise we will get a SassError due a mixin names conflict
|
|
78
77
|
// Previously wasn't throwing the error because Selectize includes the BS mixins
|
|
@@ -93,7 +92,7 @@
|
|
|
93
92
|
@import './item-select-list';
|
|
94
93
|
@import './permission-grid';
|
|
95
94
|
@import './tooltips';
|
|
96
|
-
@import 'spectrum-
|
|
95
|
+
@import 'spectrum-colorpicker2/dist/spectrum';
|
|
97
96
|
@import './icons';
|
|
98
97
|
@import './date-time';
|
|
99
98
|
@import './dropdown';
|
|
@@ -16,131 +16,20 @@
|
|
|
16
16
|
top: 0 !important;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
border: 0;
|
|
27
|
-
border-radius: 4px;
|
|
28
|
-
|
|
29
|
-
.sp-picker-container {
|
|
30
|
-
border-left: 0;
|
|
31
|
-
|
|
32
|
-
.sp-color,
|
|
33
|
-
.sp-alpha,
|
|
34
|
-
.sp-initial,
|
|
35
|
-
.sp-hue {
|
|
36
|
-
border: 2px solid #232323;
|
|
37
|
-
border-radius: 4px;
|
|
38
|
-
|
|
39
|
-
.sp-alpha-inner {
|
|
40
|
-
border: 0;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.sp-slider {
|
|
45
|
-
border-radius: 6px;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.sp-alpha {
|
|
49
|
-
background-color: #232323;
|
|
50
|
-
height: 4px;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.sp-input-container {
|
|
54
|
-
float: none;
|
|
55
|
-
width: 100%;
|
|
56
|
-
|
|
57
|
-
.sp-input {
|
|
58
|
-
border: 1px solid #666;
|
|
59
|
-
color: #8f969a;
|
|
60
|
-
outline: 0;
|
|
61
|
-
|
|
62
|
-
&:focus {
|
|
63
|
-
border: 1px solid #666;
|
|
64
|
-
box-shadow: none;
|
|
65
|
-
outline: 0;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.sp-alpha-handle {
|
|
71
|
-
background-color: #fff;
|
|
72
|
-
background-image: none;
|
|
73
|
-
border: 0;
|
|
74
|
-
border-radius: 6px;
|
|
75
|
-
height: 12px;
|
|
76
|
-
outline: none !important;
|
|
77
|
-
top: -4px;
|
|
78
|
-
width: 12px;
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
a.sp-cancel {
|
|
83
|
-
color: #8f969a !important;
|
|
84
|
-
float: left;
|
|
85
|
-
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
86
|
-
font-size: $font-size-sm;
|
|
87
|
-
font-weight: bold;
|
|
88
|
-
text-transform: capitalize;
|
|
89
|
-
|
|
90
|
-
&:hover {
|
|
91
|
-
color: rgb(235, 54, 54) !important;
|
|
92
|
-
text-decoration: none;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
.sp-button-container {
|
|
97
|
-
display: block;
|
|
98
|
-
float: none;
|
|
99
|
-
padding-top: 5px;
|
|
100
|
-
|
|
101
|
-
button.sp-choose {
|
|
102
|
-
background-color: transparent !important;
|
|
103
|
-
background-image: none !important;
|
|
104
|
-
border: 0 !important;
|
|
105
|
-
box-shadow: none;
|
|
106
|
-
color: #8f969a !important;
|
|
107
|
-
float: right;
|
|
108
|
-
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
109
|
-
font-size: $font-size-sm;
|
|
110
|
-
font-weight: bold;
|
|
111
|
-
padding: 2px;
|
|
112
|
-
text-shadow: none !important;
|
|
113
|
-
text-transform: capitalize;
|
|
114
|
-
|
|
115
|
-
&:hover {
|
|
116
|
-
color: #0c6 !important;
|
|
117
|
-
text-decoration: none;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
&:focus {
|
|
121
|
-
outline: none;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
&:active {
|
|
125
|
-
outline: none;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.sp-initial {
|
|
131
|
-
float: none;
|
|
132
|
-
overflow: hidden;
|
|
133
|
-
width: 100%;
|
|
134
|
-
|
|
135
|
-
span {
|
|
136
|
-
width: 172px;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
19
|
+
.light-tooltip {
|
|
20
|
+
.tooltip-inner {
|
|
21
|
+
background-color: $dropdown-bg;
|
|
22
|
+
border-color: $gray-300;
|
|
23
|
+
box-shadow: $dropdown-box-shadow;
|
|
24
|
+
color: $gray-700;
|
|
25
|
+
font-weight: bold;
|
|
140
26
|
}
|
|
141
27
|
|
|
28
|
+
.tooltip-arrow::before {
|
|
29
|
+
border-bottom-color: $dropdown-bg;
|
|
30
|
+
border-top-color: $dropdown-bg;
|
|
31
|
+
}
|
|
142
32
|
}
|
|
143
|
-
*/
|
|
144
33
|
|
|
145
34
|
.ccm-ui {
|
|
146
35
|
div.dropdown-menu.ccm-inline-design-dropdown-menu,
|
|
@@ -169,7 +58,6 @@
|
|
|
169
58
|
margin: 0;
|
|
170
59
|
}
|
|
171
60
|
|
|
172
|
-
|
|
173
61
|
.ccm-inline-style-slider-display-value {
|
|
174
62
|
display: inline-block;
|
|
175
63
|
margin-left: 5%;
|
|
@@ -194,9 +82,8 @@
|
|
|
194
82
|
|
|
195
83
|
.ccm-inline-style-sliders {
|
|
196
84
|
display: inline-block;
|
|
197
|
-
margin-bottom: 15px;
|
|
198
85
|
vertical-align: middle;
|
|
199
|
-
width:
|
|
86
|
+
width: 60%;
|
|
200
87
|
|
|
201
88
|
&.ui-slider-horizontal {
|
|
202
89
|
margin-bottom: 15px;
|
|
@@ -316,31 +203,109 @@
|
|
|
316
203
|
display: block;
|
|
317
204
|
width: 100%;
|
|
318
205
|
|
|
319
|
-
.
|
|
320
|
-
display:
|
|
321
|
-
|
|
322
|
-
margin
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
margin-top: 2px;
|
|
329
|
-
outline: none !important;
|
|
206
|
+
.input-group.input-group-sm {
|
|
207
|
+
display: inline-flex;
|
|
208
|
+
height: 34px;
|
|
209
|
+
margin: 0;
|
|
210
|
+
padding: 0;
|
|
211
|
+
width: 38%;
|
|
212
|
+
|
|
213
|
+
input {
|
|
214
|
+
margin: 0;
|
|
330
215
|
}
|
|
331
216
|
}
|
|
332
217
|
|
|
333
|
-
.
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
218
|
+
.input[type='range'] {
|
|
219
|
+
appearance: none;
|
|
220
|
+
appearance: none;
|
|
221
|
+
background: $gray-300;
|
|
222
|
+
background-color: transparent;
|
|
223
|
+
background-image: linear-gradient($primary, $primary);
|
|
224
|
+
background-repeat: no-repeat;
|
|
225
|
+
background-size: 0% 100%;
|
|
226
|
+
height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);
|
|
227
|
+
padding: 0;
|
|
228
|
+
width: 100%;
|
|
337
229
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
230
|
+
&:focus {
|
|
231
|
+
outline: 0;
|
|
232
|
+
|
|
233
|
+
&::-webkit-slider-thumb {
|
|
234
|
+
box-shadow: $form-range-thumb-focus-box-shadow;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
&::-moz-range-thumb {
|
|
238
|
+
box-shadow: $form-range-thumb-focus-box-shadow;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
&::-moz-focus-outer {
|
|
243
|
+
border: 0;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
&::-webkit-slider-thumb {
|
|
247
|
+
@include gradient-bg($form-range-thumb-bg);
|
|
248
|
+
@include border-radius($form-range-thumb-border-radius);
|
|
249
|
+
@include box-shadow($form-range-thumb-box-shadow);
|
|
250
|
+
@include transition($form-range-thumb-transition);
|
|
251
|
+
appearance: none;
|
|
252
|
+
border: $form-range-thumb-border;
|
|
253
|
+
height: $form-range-thumb-height;
|
|
254
|
+
margin-top: ($form-range-track-height - $form-range-thumb-height) * 0.5; // Webkit specific
|
|
255
|
+
width: $form-range-thumb-width;
|
|
256
|
+
|
|
257
|
+
&:active {
|
|
258
|
+
@include gradient-bg($form-range-thumb-active-bg);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
&::-webkit-slider-runnable-track {
|
|
263
|
+
@include border-radius($form-range-track-border-radius);
|
|
264
|
+
@include box-shadow($form-range-track-box-shadow);
|
|
265
|
+
background-color: $form-range-track-bg;
|
|
266
|
+
border-color: transparent;
|
|
267
|
+
color: transparent;
|
|
268
|
+
cursor: $form-range-track-cursor;
|
|
269
|
+
height: $form-range-track-height;
|
|
270
|
+
width: $form-range-track-width;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
&::-moz-range-thumb {
|
|
274
|
+
@include gradient-bg($form-range-thumb-bg);
|
|
275
|
+
@include border-radius($form-range-thumb-border-radius);
|
|
276
|
+
@include box-shadow($form-range-thumb-box-shadow);
|
|
277
|
+
@include transition($form-range-thumb-transition);
|
|
278
|
+
appearance: none;
|
|
279
|
+
border: $form-range-thumb-border;
|
|
280
|
+
height: $form-range-thumb-height;
|
|
281
|
+
width: $form-range-thumb-width;
|
|
282
|
+
|
|
283
|
+
&:active {
|
|
284
|
+
@include gradient-bg($form-range-thumb-active-bg);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
&::-moz-range-track {
|
|
289
|
+
@include border-radius($form-range-track-border-radius);
|
|
290
|
+
@include box-shadow($form-range-track-box-shadow);
|
|
291
|
+
background-color: $form-range-track-bg;
|
|
292
|
+
border-color: transparent;
|
|
293
|
+
color: transparent;
|
|
294
|
+
cursor: $form-range-track-cursor;
|
|
295
|
+
height: $form-range-track-height;
|
|
296
|
+
width: $form-range-track-width;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
&:disabled {
|
|
300
|
+
pointer-events: none;
|
|
301
|
+
|
|
302
|
+
&::-webkit-slider-thumb {
|
|
303
|
+
background-color: $form-range-thumb-disabled-bg;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
&::-moz-range-thumb {
|
|
307
|
+
background-color: $form-range-thumb-disabled-bg;
|
|
308
|
+
}
|
|
344
309
|
}
|
|
345
310
|
}
|
|
346
311
|
}
|
|
@@ -356,7 +321,6 @@
|
|
|
356
321
|
outline: none;
|
|
357
322
|
padding: 3px 8px;
|
|
358
323
|
vertical-align: middle;
|
|
359
|
-
|
|
360
324
|
}
|
|
361
325
|
|
|
362
326
|
> li:first-child {
|
|
@@ -399,6 +363,8 @@
|
|
|
399
363
|
|
|
400
364
|
li.ccm-inline-toolbar-icon-selected {
|
|
401
365
|
a,
|
|
366
|
+
.btn,
|
|
367
|
+
.btn:hover
|
|
402
368
|
a:hover {
|
|
403
369
|
background-color: $blue;
|
|
404
370
|
|
|
@@ -449,7 +415,6 @@
|
|
|
449
415
|
}
|
|
450
416
|
}
|
|
451
417
|
|
|
452
|
-
|
|
453
418
|
.bootstrap-select {
|
|
454
419
|
background: transparent;
|
|
455
420
|
float: right;
|
|
@@ -473,7 +438,7 @@
|
|
|
473
438
|
width: 100%;
|
|
474
439
|
|
|
475
440
|
&:hover,
|
|
476
|
-
&[aria-expanded=true] {
|
|
441
|
+
&[aria-expanded='true'] {
|
|
477
442
|
@include gradient-y(#f3f3f3, #d2d2d2);
|
|
478
443
|
box-shadow: inset 1px 1px 5px -1px rgba(0, 0, 0, 0.35) !important;
|
|
479
444
|
transition: none;
|
|
@@ -506,13 +471,21 @@
|
|
|
506
471
|
background-image: none;
|
|
507
472
|
}
|
|
508
473
|
|
|
474
|
+
toolbar-section-widget {
|
|
475
|
+
display: none;
|
|
476
|
+
|
|
477
|
+
> * {
|
|
478
|
+
display: none;
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
|
|
509
482
|
li.ccm-inline-toolbar-icon-cell > div.ccm-dropdown-menu {
|
|
510
483
|
display: none;
|
|
511
484
|
|
|
512
485
|
&.active {
|
|
513
486
|
box-shadow: $dropdown-box-shadow;
|
|
514
487
|
display: block;
|
|
515
|
-
margin-top:
|
|
488
|
+
margin-top: 2px;
|
|
516
489
|
position: absolute;
|
|
517
490
|
}
|
|
518
491
|
}
|
|
@@ -50,16 +50,15 @@ ul.item-select-list i.ccm-item-select-list-sort {
|
|
|
50
50
|
font-style: normal;
|
|
51
51
|
margin: 0;
|
|
52
52
|
padding-left: 5px;
|
|
53
|
-
padding-left: 5px;
|
|
54
|
-
padding-right: 5px;
|
|
55
53
|
padding-right: 5px;
|
|
56
54
|
position: absolute;
|
|
57
55
|
right: 10px;
|
|
58
56
|
top: 10px;
|
|
59
57
|
|
|
60
58
|
&::after {
|
|
61
|
-
content:
|
|
62
|
-
font-family:
|
|
59
|
+
content: '\f338';
|
|
60
|
+
font-family: 'Font Awesome 5 Free';
|
|
61
|
+
font-weight: 600;
|
|
63
62
|
}
|
|
64
63
|
|
|
65
64
|
&:hover {
|
|
@@ -313,41 +313,46 @@ div#ccm-menu-highlighter.ccm-block-highlight {
|
|
|
313
313
|
*/
|
|
314
314
|
ul.ccm-edit-mode-inline-commands {
|
|
315
315
|
background-color: #fff;
|
|
316
|
-
|
|
316
|
+
border-bottom-left-radius: 3px;
|
|
317
|
+
box-shadow: $popover-box-shadow;
|
|
318
|
+
display: flex;
|
|
319
|
+
height: 25px;
|
|
317
320
|
list-style-type: none;
|
|
318
321
|
margin: 0 !important;
|
|
319
322
|
opacity: 0;
|
|
320
323
|
padding: 0 !important;
|
|
321
324
|
position: absolute;
|
|
322
|
-
right:
|
|
323
|
-
top:
|
|
325
|
+
right: 0;
|
|
326
|
+
top: 0;
|
|
324
327
|
z-index: $index-level-inline-commands; // has to be over the click proxy
|
|
325
328
|
li {
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
line-height: 20px !important;
|
|
329
|
+
align-items: center;
|
|
330
|
+
display: flex;
|
|
329
331
|
margin: 0 !important;
|
|
330
332
|
padding: 0 !important;
|
|
331
333
|
|
|
334
|
+
span {
|
|
335
|
+
color: #888;
|
|
336
|
+
display: inline-block;
|
|
337
|
+
font-size: 12px;
|
|
338
|
+
font-weight: bold;
|
|
339
|
+
line-height: 12px;
|
|
340
|
+
padding-left: 4px;
|
|
341
|
+
padding-right: 4px;
|
|
342
|
+
text-transform: uppercase;
|
|
343
|
+
}
|
|
344
|
+
|
|
332
345
|
a {
|
|
333
|
-
color: #
|
|
346
|
+
color: #444 !important;
|
|
334
347
|
display: inline-block;
|
|
335
348
|
font-weight: lighter;
|
|
336
|
-
|
|
337
|
-
line-height: 20px !important;
|
|
349
|
+
padding: 0;
|
|
338
350
|
position: relative;
|
|
339
351
|
text-align: center;
|
|
340
|
-
width:
|
|
352
|
+
width: 25px !important;
|
|
341
353
|
|
|
342
354
|
&:hover {
|
|
343
|
-
color:
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
i {
|
|
347
|
-
left: 3px;
|
|
348
|
-
position: absolute;
|
|
349
|
-
top: 3px;
|
|
350
|
-
vertical-align: middle;
|
|
355
|
+
color: $blue !important;
|
|
351
356
|
}
|
|
352
357
|
|
|
353
358
|
&.ccm-edit-mode-inline-command-move {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@concretecms/bedrock",
|
|
3
|
-
"version": "1.1
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "The asset framework and dependencies for Concrete CMS.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"lint": "standardx \"**/*.{js,vue}\" && stylelint assets/**/*.{scss,vue}",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"pnotify": "^5.2.0",
|
|
45
45
|
"selectize": "^0.12.6",
|
|
46
46
|
"selectize-bootstrap4-theme": "^2.0.2",
|
|
47
|
-
"spectrum-
|
|
47
|
+
"spectrum-colorpicker2": "^2.0.0",
|
|
48
48
|
"tristate": "^1.2.0",
|
|
49
49
|
"underscore": "^1.13",
|
|
50
50
|
"v-calendar": "^1.0.8",
|