uniform-ui 3.0.0.beta2 → 3.0.0.beta10
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.
- checksums.yaml +4 -4
- data/lib/assets/javascripts/uniform/checkbox.js +15 -15
- data/lib/assets/javascripts/uniform/component.js +23 -12
- data/lib/assets/javascripts/uniform/dropdown.js +54 -54
- data/lib/assets/javascripts/uniform/dropzone.js +107 -0
- data/lib/assets/javascripts/uniform/floating-label-input.js +14 -12
- data/lib/assets/javascripts/uniform/modal.js +31 -33
- data/lib/assets/javascripts/uniform/popover.js +59 -40
- data/lib/assets/javascripts/uniform/resizer.js +21 -21
- data/lib/assets/javascripts/uniform/select.js +187 -163
- data/lib/assets/javascripts/uniform/sticker.js +26 -0
- data/lib/assets/javascripts/uniform/tooltip.js +29 -16
- data/lib/assets/javascripts/uniform.js +23 -8
- data/lib/assets/stylesheets/uniform/base.scss +24 -9
- data/lib/assets/stylesheets/uniform/components/buttons.scss +4 -5
- data/lib/assets/stylesheets/uniform/components/checkbox.scss +2 -0
- data/lib/assets/stylesheets/uniform/components/container.scss +8 -7
- data/lib/assets/stylesheets/uniform/components/dropzone.scss +40 -0
- data/lib/assets/stylesheets/uniform/components/input-group.scss +9 -0
- data/lib/assets/stylesheets/uniform/components/loaders.scss +0 -3
- data/lib/assets/stylesheets/uniform/components/modal.scss +21 -36
- data/lib/assets/stylesheets/uniform/components/pointer.scss +4 -4
- data/lib/assets/stylesheets/uniform/components/select.scss +7 -2
- data/lib/assets/stylesheets/uniform/components/thumb.scss +0 -1
- data/lib/assets/stylesheets/uniform/components/z-input.scss +6 -0
- data/lib/assets/stylesheets/uniform/config.scss +156 -0
- data/lib/assets/stylesheets/uniform/defaults.scss +2 -26
- data/lib/assets/stylesheets/uniform/functions/icons.scss +29 -0
- data/lib/assets/stylesheets/uniform/functions/map.scss +95 -0
- data/lib/assets/stylesheets/uniform/functions/string.scss +15 -0
- data/lib/assets/stylesheets/uniform/functions.scss +4 -79
- data/lib/assets/stylesheets/uniform/mixins.scss +34 -26
- data/lib/assets/stylesheets/uniform/utilities/borders.scss +12 -13
- data/lib/assets/stylesheets/uniform/utilities/effects.scss +31 -0
- data/lib/assets/stylesheets/uniform/utilities/layout.scss +22 -22
- data/lib/assets/stylesheets/uniform/utilities/position.scss +4 -0
- data/lib/assets/stylesheets/uniform/utilities/sizing.scss +14 -8
- data/lib/assets/stylesheets/uniform/utilities/spacing.scss +20 -14
- data/lib/assets/stylesheets/uniform/utilities/svg.scss +5 -0
- data/lib/assets/stylesheets/uniform/utilities/text.scss +1 -0
- data/lib/assets/stylesheets/uniform/utilities.scss +8 -0
- data/lib/uniform/version.rb +1 -1
- metadata +11 -4
- data/lib/assets/stylesheets/uniform/variables.scss +0 -134
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7bdc92171e497d800d00558b6fa1bc980d2664aea204a005379b3bf13a17156
|
4
|
+
data.tar.gz: 607b3652e660dbf9ee784fa1faaa0702dd35786c910dac92747d720a3bae5024
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e92685de1a592984b81e8b619364f5fd61be992af20d616bf84001b7ef6edc9f534699e6c26a1bf3a5e4bb484e15cbcd1aa57f4cbd9048b154872a2569460af
|
7
|
+
data.tar.gz: d72fcaaa3702f68f0558f57b876def3e96cd670e1f0c04c5c1c81af88da31be9e4b9be5e0e1a015aa9ff58a7a9efa84353bc0b6a658bd4c60ca56d222fe68dd7
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import Component from './component';
|
2
|
-
import {
|
2
|
+
import { trigger, createElement} from 'dolla';
|
3
3
|
|
4
4
|
export class Checkbox extends Component {
|
5
5
|
static CSSClass = "uniformCheckbox";
|
@@ -7,15 +7,15 @@ export class Checkbox extends Component {
|
|
7
7
|
|
8
8
|
initialize (options) {
|
9
9
|
if(options.input instanceof Element) {
|
10
|
-
|
10
|
+
this.input = options.input
|
11
11
|
} else {
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
this.input = createElement('input', Object.assign({}, {
|
13
|
+
type: this.constructor.type
|
14
|
+
}, options.input)) // TODO filter options to dolla.HTML_ATTRIBUTES
|
15
15
|
}
|
16
16
|
|
17
17
|
if(!options.tabindex) this.el.tabIndex = 0;
|
18
|
-
|
18
|
+
this.el.classList.add(this.constructor.CSSClass);
|
19
19
|
|
20
20
|
this.listenTo(this.el, 'click', this.click);
|
21
21
|
this.listenTo(this.input, 'change', this.change);
|
@@ -27,9 +27,9 @@ export class Checkbox extends Component {
|
|
27
27
|
this.input.style.display = "none";
|
28
28
|
|
29
29
|
if(this.input.parentNode){
|
30
|
-
|
30
|
+
this.input.parentNode.insertBefore(this.el, this.input.nextSibling);
|
31
31
|
} else {
|
32
|
-
|
32
|
+
this.el.append(this.input);
|
33
33
|
}
|
34
34
|
|
35
35
|
this.change()
|
@@ -38,7 +38,7 @@ export class Checkbox extends Component {
|
|
38
38
|
}
|
39
39
|
|
40
40
|
change () {
|
41
|
-
|
41
|
+
this.el.classList.toggle('checked', this.input.checked);
|
42
42
|
}
|
43
43
|
|
44
44
|
click (e) {
|
@@ -58,17 +58,17 @@ export class Checkbox extends Component {
|
|
58
58
|
}
|
59
59
|
|
60
60
|
keydown(e) {
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
61
|
+
if(e.keyCode == 32 && document.activeElement == this.el) {
|
62
|
+
// Prevent Page Scroll
|
63
|
+
e.preventDefault();
|
64
|
+
}
|
65
65
|
}
|
66
66
|
}
|
67
67
|
|
68
68
|
export class Radio extends Checkbox {
|
69
|
-
|
69
|
+
static CSSClass = "uniformRadio";
|
70
70
|
}
|
71
71
|
|
72
72
|
export class Toggle extends Checkbox {
|
73
|
-
|
73
|
+
static CSSClass = "uniformToggle";
|
74
74
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { HTML_ATTRIBUTES, createElement} from 'dolla';
|
2
2
|
|
3
3
|
function uniqueId(prefix){
|
4
4
|
window.idCounter || (window.idCounter = 0);
|
@@ -12,7 +12,14 @@ export default class Component {
|
|
12
12
|
options = options || {};
|
13
13
|
this.eventListens = new Array();
|
14
14
|
this.eventListeners = new Array();
|
15
|
-
|
15
|
+
const htmlAttributes = {}
|
16
|
+
Object.keys(options).forEach(key => {
|
17
|
+
if (HTML_ATTRIBUTES.includes(key)) {
|
18
|
+
htmlAttributes[key] = options[key]
|
19
|
+
}
|
20
|
+
})
|
21
|
+
delete htmlAttributes.content;
|
22
|
+
this.el = options.el || createElement('div', htmlAttributes);
|
16
23
|
this.cid = uniqueId('c');
|
17
24
|
|
18
25
|
this.on = function (type, handler) {
|
@@ -29,11 +36,15 @@ export default class Component {
|
|
29
36
|
});
|
30
37
|
}.bind(this);
|
31
38
|
|
32
|
-
this.trigger = function (event_key) {
|
39
|
+
this.trigger = function (event_key, ...args) {
|
33
40
|
if(!this.eventListeners) return;
|
34
|
-
this.eventListeners.forEach(
|
35
|
-
if(listener.type == "*" || listener.type == "all" || event_key == listener.type){
|
36
|
-
|
41
|
+
this.eventListeners.forEach(listener => {
|
42
|
+
if (listener.type == "*" || listener.type == "all" || event_key == listener.type){
|
43
|
+
args.push(this);
|
44
|
+
if (event_key != listener.type) {
|
45
|
+
args.unshift(event_key)
|
46
|
+
}
|
47
|
+
listener.handler(...args);
|
37
48
|
}
|
38
49
|
})
|
39
50
|
};
|
@@ -42,11 +53,11 @@ export default class Component {
|
|
42
53
|
}
|
43
54
|
|
44
55
|
addEventListener () {
|
45
|
-
|
56
|
+
this.on.apply(this, arguments);
|
46
57
|
}
|
47
58
|
|
48
59
|
removeEventListener () {
|
49
|
-
|
60
|
+
this.off.apply(this, arguments);
|
50
61
|
}
|
51
62
|
|
52
63
|
pick (object, keys) {
|
@@ -59,8 +70,8 @@ export default class Component {
|
|
59
70
|
}
|
60
71
|
|
61
72
|
/*
|
62
|
-
|
63
|
-
|
73
|
+
listenTo(el, 'click', '.inner_class', f(), this)
|
74
|
+
listenTo(el, 'click', f(), this)
|
64
75
|
*/
|
65
76
|
listenTo(node, event, scope, callback, context){
|
66
77
|
// scope is optional param
|
@@ -74,8 +85,8 @@ export default class Component {
|
|
74
85
|
node,
|
75
86
|
event,
|
76
87
|
function(e){
|
77
|
-
if(!scope || (e.target.matches(scope) ||
|
78
|
-
|
88
|
+
if(!scope || (e.target.matches(scope) || e.target.closest(scope))) {
|
89
|
+
return callback.bind(context)(...arguments);
|
79
90
|
}
|
80
91
|
}.bind(context)
|
81
92
|
]
|
@@ -18,69 +18,69 @@ import {createElement} from 'dolla';
|
|
18
18
|
*/
|
19
19
|
export default class Dropdown extends Component {
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
21
|
+
initialize (options) {
|
22
|
+
this.el = options.anchor;
|
23
|
+
options = options || {}
|
24
|
+
this.options = {
|
25
|
+
align: 'center bottom',
|
26
|
+
container: document.body
|
27
|
+
};
|
28
|
+
Object.assign(this.options, this.pick(options, Object.keys(this.options)));
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
30
|
+
this.enabled = true;
|
31
|
+
this.active = false;
|
32
|
+
this.content = options.content;
|
33
|
+
this.el.dropdown = this;
|
34
34
|
|
35
|
-
|
36
|
-
|
35
|
+
this.listenTo(this.el, 'click', this.toggle);
|
36
|
+
}
|
37
37
|
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
render () {
|
39
|
+
return this;
|
40
|
+
}
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
42
|
+
toggle () {
|
43
|
+
this.active = !this.active
|
44
|
+
if(this.active) {
|
45
|
+
this.show()
|
46
|
+
} else {
|
47
|
+
this.hide()
|
48
|
+
}
|
48
49
|
}
|
49
|
-
}
|
50
50
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
51
|
+
show () {
|
52
|
+
if(!this.enabled) return;
|
53
|
+
this.active = true;
|
54
|
+
this.el.classList.add('-active');
|
55
|
+
if (this.popup) {
|
56
|
+
this.popup.show()
|
57
|
+
} else {
|
58
|
+
this.popup = new Popover({
|
59
|
+
content: this.content,
|
60
|
+
anchor: this.el,
|
61
|
+
align: this.options.align,
|
62
|
+
container: this.options.container
|
63
|
+
}).render();
|
64
|
+
this.listenToOnce(this.popup, 'hidden', this.hidden)
|
65
|
+
}
|
65
66
|
}
|
66
|
-
}
|
67
67
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
68
|
+
hide () {
|
69
|
+
this.popup.remove();
|
70
|
+
delete this.popup;
|
71
|
+
this.hidden();
|
72
|
+
}
|
73
73
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
74
|
+
hidden () {
|
75
|
+
this.active = false;
|
76
|
+
this.el.classList.remove('-active');
|
77
|
+
}
|
78
78
|
|
79
|
-
|
80
|
-
|
81
|
-
|
79
|
+
disable () {
|
80
|
+
this.enabled = false;
|
81
|
+
}
|
82
82
|
|
83
|
-
|
84
|
-
|
85
|
-
|
83
|
+
enabled () {
|
84
|
+
this.enabled = true;
|
85
|
+
}
|
86
86
|
}
|
@@ -0,0 +1,107 @@
|
|
1
|
+
import Component from './component';
|
2
|
+
import { remove, append } from 'dolla';
|
3
|
+
|
4
|
+
/*
|
5
|
+
Options
|
6
|
+
===
|
7
|
+
content: string|$el|function
|
8
|
+
el: element
|
9
|
+
|
10
|
+
*/
|
11
|
+
export default class Dropzone extends Component {
|
12
|
+
|
13
|
+
enabled = true;
|
14
|
+
|
15
|
+
initialize (options) {
|
16
|
+
this.el.classList.add('uniformDropzone');
|
17
|
+
if (getComputedStyle(this.el)['position'] == "static") {
|
18
|
+
this.el.classList.add('relative');
|
19
|
+
}
|
20
|
+
if (typeof options.enabled == "boolean") {
|
21
|
+
this.enabled = options.enabled
|
22
|
+
}
|
23
|
+
|
24
|
+
this.windowDragEnter = this.windowDragEnter.bind(this)
|
25
|
+
this.windowDragLeave = this.windowDragLeave.bind(this)
|
26
|
+
this.windowDrop = this.windowDrop.bind(this)
|
27
|
+
this.el.addEventListener('drop', this.drop.bind(this))
|
28
|
+
this.el.addEventListener('dragover', this.dragOver.bind(this))
|
29
|
+
this.el.addEventListener('dragenter', this.dragEnter.bind(this))
|
30
|
+
this.el.addEventListener('dragleave', this.dragLeave.bind(this))
|
31
|
+
window.addEventListener('dragenter', this.windowDragEnter);
|
32
|
+
window.addEventListener('dragleave', this.windowDragLeave);
|
33
|
+
window.addEventListener('drop', this.windowDrop);
|
34
|
+
|
35
|
+
}
|
36
|
+
|
37
|
+
remove () {
|
38
|
+
window.removeEventListener('dragenter', this.windowDragEnter);
|
39
|
+
window.removeEventListener('dragleave', this.windowDragLeave);
|
40
|
+
window.removeEventListener('drop', this.windowDrop);
|
41
|
+
super.remove()
|
42
|
+
}
|
43
|
+
|
44
|
+
/*--------------------
|
45
|
+
This Events
|
46
|
+
--------------------*/
|
47
|
+
dragEnter (e) {
|
48
|
+
if (!this.enabled) return;
|
49
|
+
e.preventDefault();
|
50
|
+
|
51
|
+
this.el.classList.add('-active');
|
52
|
+
}
|
53
|
+
|
54
|
+
dragLeave (e) {
|
55
|
+
if (!this.enabled) return;
|
56
|
+
e.preventDefault();
|
57
|
+
|
58
|
+
// relatedTarget is what drag is going to, deals with dragging inside dropzone
|
59
|
+
if (!this.el.contains(e.relatedTarget)) {
|
60
|
+
this.el.classList.remove('-active');
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
drop (e) {
|
65
|
+
if (!this.enabled) return;
|
66
|
+
e.preventDefault();
|
67
|
+
([...e.dataTransfer.files]).forEach(file => {
|
68
|
+
this.trigger('drop', file)
|
69
|
+
});
|
70
|
+
}
|
71
|
+
|
72
|
+
// Enables Dropzone
|
73
|
+
dragOver (e) {
|
74
|
+
if (!this.enabled) return;
|
75
|
+
e.preventDefault();
|
76
|
+
}
|
77
|
+
|
78
|
+
|
79
|
+
/*--------------------
|
80
|
+
Window Events
|
81
|
+
--------------------*/
|
82
|
+
windowDragEnter (e) {
|
83
|
+
if (!this.enabled) return;
|
84
|
+
e.preventDefault();
|
85
|
+
|
86
|
+
// Meaning it came from not in window
|
87
|
+
if (!e.relatedTarget) {
|
88
|
+
this.el.classList.add('-show')
|
89
|
+
}
|
90
|
+
}
|
91
|
+
|
92
|
+
windowDragLeave (e) {
|
93
|
+
if (!this.enabled) return;
|
94
|
+
e.preventDefault();
|
95
|
+
|
96
|
+
// Meaning it came from not in window
|
97
|
+
if (!e.relatedTarget) {
|
98
|
+
this.el.classList.remove('-show')
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
windowDrop (e) {
|
103
|
+
if (!this.enabled) return;
|
104
|
+
e.preventDefault();
|
105
|
+
this.el.classList.remove('-show')
|
106
|
+
}
|
107
|
+
}
|
@@ -1,23 +1,23 @@
|
|
1
1
|
import Component from './component';
|
2
|
-
import { isVisible, isFocus,
|
2
|
+
import { isVisible, isFocus, css, createElement } from 'dolla';
|
3
3
|
|
4
4
|
export default class FloatingLabel extends Component {
|
5
5
|
|
6
6
|
initialize(options){
|
7
7
|
if(options.input instanceof Element) {
|
8
|
-
|
8
|
+
this.input = options.input
|
9
9
|
} else {
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
this.input = createElement('input', Object.assign({}, {
|
11
|
+
type: this.constructor.type
|
12
|
+
}, options.input)) // TODO filter options to dolla.HTML_ATTRIBUTES
|
13
13
|
}
|
14
14
|
this.label = createElement('label', {
|
15
|
-
|
16
|
-
|
15
|
+
for: this.input.id,
|
16
|
+
children: [options.label]
|
17
17
|
});
|
18
18
|
this.input.setAttribute('aria-label', options.label);
|
19
19
|
|
20
|
-
|
20
|
+
this.el.classList.add('uniformFloatingLabelInput');
|
21
21
|
|
22
22
|
this.listenTo(this.input, 'focus', this.focus);
|
23
23
|
this.listenTo(this.input, 'blur', this.blur);
|
@@ -25,7 +25,7 @@ export default class FloatingLabel extends Component {
|
|
25
25
|
}
|
26
26
|
|
27
27
|
render () {
|
28
|
-
if(!isVisible(this.input)) return;
|
28
|
+
if(!isVisible(this.input)) return this;
|
29
29
|
|
30
30
|
let internalHeight = parseInt(css(this.input, 'height')) - parseInt(css(this.input, 'borderTopWidth')) - parseInt(css(this.input, 'borderBottomWidth'));
|
31
31
|
this.input.style.lineHeight = 1;
|
@@ -47,17 +47,19 @@ export default class FloatingLabel extends Component {
|
|
47
47
|
this.el.append(this.label);
|
48
48
|
|
49
49
|
if(this.input.value != ""){
|
50
|
-
|
50
|
+
this.focus()
|
51
51
|
}
|
52
|
+
|
53
|
+
return this;
|
52
54
|
}
|
53
55
|
|
54
56
|
focus (e) {
|
55
|
-
|
57
|
+
this.el.classList.add('present');
|
56
58
|
}
|
57
59
|
|
58
60
|
blur (e) {
|
59
61
|
if(this.input.value == ""){
|
60
|
-
|
62
|
+
this.el.classList.remove('present');
|
61
63
|
}
|
62
64
|
}
|
63
65
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import Component from './component';
|
2
|
-
import {
|
2
|
+
import {css, trigger, append, createElement} from 'dolla';
|
3
3
|
|
4
4
|
/* UniformModal.initialize
|
5
5
|
Options
|
@@ -16,7 +16,7 @@ export default class Modal extends Component {
|
|
16
16
|
this.content = options.content;
|
17
17
|
this.el.removeAttribute('content');
|
18
18
|
|
19
|
-
|
19
|
+
this.el.classList.add('uniformModal');
|
20
20
|
this.listenTo(document, 'keyup', this.keyup);
|
21
21
|
this.listenTo(this.el, 'click', this.checkCloseButton);
|
22
22
|
}
|
@@ -28,14 +28,10 @@ export default class Modal extends Component {
|
|
28
28
|
|
29
29
|
render () {
|
30
30
|
var that = this;
|
31
|
-
var content = typeof this.content == 'function' ? this.content() : this.content;
|
32
31
|
|
33
32
|
this.highest_z_index = 0;
|
34
|
-
this.overlay =
|
35
|
-
|
36
|
-
|
37
|
-
this.blur = document.createElement('div');
|
38
|
-
addClass(this.blur, 'uniformModal-blur');
|
33
|
+
this.overlay = createElement('div', {class: 'uniformModal-overlay'});
|
34
|
+
this.blur = createElement('div', {class: 'uniformModal-blur'});
|
39
35
|
|
40
36
|
this.original_scroll = window.scrollY;
|
41
37
|
this.blur.style.top = 0 - this.original_scroll + "px";
|
@@ -47,51 +43,53 @@ export default class Modal extends Component {
|
|
47
43
|
this.el.style.zIndex = this.highest_z_index + 2;
|
48
44
|
}
|
49
45
|
|
50
|
-
this.el.appendChild(this.overlay);
|
51
|
-
|
52
46
|
let next_element = document.body.children[0]
|
53
47
|
while(next_element){
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
48
|
+
const element = next_element;
|
49
|
+
next_element = element.nextElementSibling;
|
50
|
+
if(!element.matches('[blurrable="false"]')) {
|
51
|
+
this.blur.appendChild(element)
|
52
|
+
}
|
59
53
|
}
|
60
54
|
|
61
|
-
|
55
|
+
document.body.classList.add('uniformModal-active');
|
62
56
|
document.body.appendChild(this.blur);
|
63
57
|
document.body.appendChild(this.el);
|
64
58
|
|
65
|
-
var container = document.createElement('div');
|
66
|
-
addClass(container, 'uniformModal-container');
|
67
|
-
if (content instanceof Node) {
|
68
|
-
container.appendChild(content);
|
69
|
-
} else {
|
70
|
-
container.innerHTML = content;
|
71
|
-
}
|
72
|
-
|
73
|
-
var closeButton = document.createElement('div');
|
74
|
-
addClass(closeButton, 'uniformModal-close');
|
75
|
-
this.el.appendChild(closeButton);
|
76
|
-
|
77
59
|
this.el.style.top = window.scrollY;
|
78
60
|
this.listenTo(this.overlay, 'click', this.close);
|
79
|
-
|
61
|
+
|
62
|
+
const container = createElement('div', {
|
63
|
+
class: 'uniformModal-container',
|
64
|
+
children: this.content
|
65
|
+
});
|
66
|
+
|
67
|
+
const closeButton = createElement('div', {
|
68
|
+
class: 'uniformModal-close-container',
|
69
|
+
children: {
|
70
|
+
class: 'uniformModal-close'
|
71
|
+
}
|
72
|
+
});
|
73
|
+
|
74
|
+
this.el.append(this.overlay);
|
75
|
+
this.el.append(container);
|
76
|
+
this.el.append(closeButton);
|
80
77
|
|
81
|
-
if (this.options.klass)
|
82
|
-
if (content.innerHTML) trigger(content, 'rendered');
|
78
|
+
if (this.options.klass) container.classList.add(this.options.klass);
|
79
|
+
if (this.content.innerHTML) trigger(this.content, 'rendered');
|
83
80
|
this.trigger('rendered');
|
84
81
|
|
85
82
|
return this;
|
86
83
|
}
|
87
84
|
|
88
85
|
checkCloseButton (e) {
|
89
|
-
if(
|
86
|
+
if(e.target.classList.contains('uniformModal-close')){
|
90
87
|
this.close();
|
88
|
+
}
|
91
89
|
}
|
92
90
|
|
93
91
|
close () {
|
94
|
-
|
92
|
+
document.querySelectorAll('uniformModal-active').forEach(el => el.classList.remove('uniformModal-active'));
|
95
93
|
var elements = this.blur.children;
|
96
94
|
var elementCount = elements.length
|
97
95
|
for(var i=0; i < elementCount; i++){
|