@madgex/design-system 1.58.0 → 1.58.2
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/__tests__/unit/src/components/popover.spec.js +16 -17
- package/coverage/cobertura-coverage.xml +34 -33
- package/coverage/components/accordion/accordion.js.html +1 -1
- package/coverage/components/accordion/index.html +1 -1
- package/coverage/components/inputs/combobox/combobox.js.html +1 -1
- package/coverage/components/inputs/combobox/index.html +1 -1
- package/coverage/components/inputs/combobox/vue-components/Combobox.vue.html +1 -1
- package/coverage/components/inputs/combobox/vue-components/ListBoxOption.vue.html +1 -1
- package/coverage/components/inputs/combobox/vue-components/index.html +1 -1
- package/coverage/components/inputs/file-upload/file-upload.js.html +1 -1
- package/coverage/components/inputs/file-upload/index.html +1 -1
- package/coverage/components/inputs/multi-select/index.html +1 -1
- package/coverage/components/inputs/multi-select/multi-select.js.html +1 -1
- package/coverage/components/inputs/multi-select/vue-components/MultiSelect.vue.html +1 -1
- package/coverage/components/inputs/multi-select/vue-components/MultiSelectCheckbox.vue.html +1 -1
- package/coverage/components/inputs/multi-select/vue-components/MultiSelectCheckboxGroup.vue.html +1 -1
- package/coverage/components/inputs/multi-select/vue-components/index.html +1 -1
- package/coverage/components/inputs/textarea/character-count.js.html +1 -1
- package/coverage/components/inputs/textarea/index.html +1 -1
- package/coverage/components/modal/index.html +1 -1
- package/coverage/components/modal/modal.js.html +1 -1
- package/coverage/components/notification/index.html +1 -1
- package/coverage/components/notification/notification.js.html +1 -1
- package/coverage/components/popover/index.html +10 -10
- package/coverage/components/popover/popover.js.html +60 -9
- package/coverage/components/switch-state/index.html +1 -1
- package/coverage/components/switch-state/switch-state.js.html +1 -1
- package/coverage/components/tabs/index.html +1 -1
- package/coverage/components/tabs/tabs.js.html +1 -1
- package/coverage/index.html +10 -10
- package/coverage/js/common.js.html +1 -1
- package/coverage/js/fractal-scripts/combobox.js.html +1 -1
- package/coverage/js/fractal-scripts/index.html +1 -1
- package/coverage/js/fractal-scripts/notification.js.html +1 -1
- package/coverage/js/fractal-scripts/switch-state.js.html +1 -1
- package/coverage/js/index-fractal.js.html +1 -1
- package/coverage/js/index-polyfills.js.html +1 -1
- package/coverage/js/index-vue.js.html +1 -1
- package/coverage/js/index.html +1 -1
- package/coverage/js/index.js.html +1 -1
- package/coverage/js/polyfills/closest.js.html +1 -1
- package/coverage/js/polyfills/index.html +1 -1
- package/coverage/js/polyfills/remove.js.html +1 -1
- package/coverage/tokens/_config.js.html +1 -1
- package/coverage/tokens/index.html +1 -1
- package/dist/_tokens/css/_tokens.css +1 -1
- package/dist/_tokens/js/_tokens-module.js +1 -1
- package/dist/_tokens/scss/_tokens.scss +1 -1
- package/dist/css/index.css +1 -1
- package/dist/js/index.js +5 -30
- package/package.json +2 -2
- package/src/components/button/button.scss +1 -1
- package/src/components/popover/README.md +3 -3
- package/src/components/popover/_template.njk +1 -1
- package/src/components/popover/popover.js +20 -3
- package/src/components/popover/popover.scss +13 -34
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@madgex/design-system",
|
|
3
3
|
"author": "Madgex",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
|
-
"version": "1.58.
|
|
5
|
+
"version": "1.58.2",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"clean": "rimraf dist public tokens/build",
|
|
8
8
|
"commit": "commit",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@ctrl/tinycolor": "^2.6.1",
|
|
30
|
+
"@popperjs/core": "2.4.4",
|
|
30
31
|
"css-loader": "^3.6.0",
|
|
31
32
|
"document-register-element": "^1.14.3",
|
|
32
33
|
"mini-css-extract-plugin": "^0.8.0",
|
|
33
|
-
"popper.js": "^1.16.0",
|
|
34
34
|
"postcss": "^7.0.32",
|
|
35
35
|
"postcss-cli": "^6.1.3",
|
|
36
36
|
"postcss-loader": "^3.0.0",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
vertical-align: middle;
|
|
5
5
|
-webkit-appearance: none;
|
|
6
6
|
width: auto;
|
|
7
|
-
border: $mds-size-border-width solid;
|
|
7
|
+
border: $mds-size-button-border-width solid;
|
|
8
8
|
border-top-color: $mds-color-button-border-top;
|
|
9
9
|
border-right-color: $mds-color-button-border-right;
|
|
10
10
|
border-bottom-color: $mds-color-button-border-bottom;
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
- `id`: id of the trigger - **required**,
|
|
4
4
|
- `text`: text you want on the trigger - **required**,
|
|
5
|
-
- `classes`: add extra classes to the trigger -
|
|
5
|
+
- `classes`: add extra classes to the trigger - _optional_,
|
|
6
6
|
- `content` : content of the popover - can be text, html or another component - **required**
|
|
7
|
-
- `placement`: placement of the popover -
|
|
7
|
+
- `placement`: placement of the popover - _optional_
|
|
8
8
|
|
|
9
9
|
Values can be `auto`, `top`, `right`, `bottom`, `left`. You can also add `start` or `end` to each of those positions. For example: `top-end` will on top of the reference, right aligned, `right-start` will on the right of the reference, top aligned.
|
|
10
10
|
Default is `top-end`.
|
|
@@ -18,4 +18,4 @@ If javascript is not enabled, the content of the popover just shows.
|
|
|
18
18
|
|
|
19
19
|
## Note
|
|
20
20
|
|
|
21
|
-
We are using the Popper.js library (https://github.com/popperjs/popper.js) to help with the positioning.
|
|
21
|
+
We are using the Popper.js library (https://github.com/popperjs/popper.js) to help with the positioning. More details here (https://popper.js.org/)
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
}) -}}
|
|
13
13
|
|
|
14
14
|
<div id="{{ params.id }}-content" class="mds-popover"{% if params.placement %} data-placement="{{ params.placement }}"{% endif %}>
|
|
15
|
-
<div class="mds-popover__arrow"
|
|
15
|
+
<div class="mds-popover__arrow" data-popper-arrow></div>
|
|
16
16
|
<div class="mds-tooltip__inner">
|
|
17
17
|
{{- params.content | safe -}}
|
|
18
18
|
</div>
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// import Tooltip from 'tooltip.js';
|
|
2
|
-
import
|
|
2
|
+
import { createPopper } from '@popperjs/core';
|
|
3
|
+
import { size } from '../../tokens/size.json';
|
|
3
4
|
|
|
5
|
+
const baseSize = parseInt(size.baseline.value, 10);
|
|
4
6
|
const triggerClassName = 'js-mds-popover-trigger';
|
|
5
7
|
const popoverActiveClass = 'mds-popover--active';
|
|
6
8
|
|
|
@@ -14,8 +16,23 @@ const popovers = {
|
|
|
14
16
|
const popover = document.getElementById(popoverId);
|
|
15
17
|
// checking for existence of dataset eliminate bug in IE 10 as it doesn't support 'dataset'
|
|
16
18
|
const placement = popover.dataset ? popover.dataset.placement : null;
|
|
17
|
-
const popoverInstance =
|
|
19
|
+
const popoverInstance = createPopper(trigger, popover, {
|
|
18
20
|
placement: placement || 'top-end',
|
|
21
|
+
modifiers: [
|
|
22
|
+
{
|
|
23
|
+
name: 'offset',
|
|
24
|
+
options: {
|
|
25
|
+
offset: [0, baseSize * 3],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
// arrow will always be at least 5px away from the edge
|
|
30
|
+
name: 'arrow',
|
|
31
|
+
options: {
|
|
32
|
+
padding: 5,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
],
|
|
19
36
|
});
|
|
20
37
|
|
|
21
38
|
trigger.setAttribute('aria-expanded', 'false');
|
|
@@ -38,7 +55,7 @@ const popovers = {
|
|
|
38
55
|
hide: (trigger, popover, popoverInstance, activeClass, element) => {
|
|
39
56
|
if (
|
|
40
57
|
!trigger.contains(element.target) &&
|
|
41
|
-
!popoverInstance.popper.contains(element.target) &&
|
|
58
|
+
!popoverInstance.state.elements.popper.contains(element.target) &&
|
|
42
59
|
popover.classList.contains(activeClass)
|
|
43
60
|
) {
|
|
44
61
|
popover.classList.remove(activeClass);
|
|
@@ -16,27 +16,6 @@ $arrow-size: 10px;
|
|
|
16
16
|
box-shadow: $mds-color-box-shadow-base;
|
|
17
17
|
text-align: left;
|
|
18
18
|
max-width: 250px;
|
|
19
|
-
|
|
20
|
-
&[x-placement="top"],
|
|
21
|
-
&[x-placement="top-start"],
|
|
22
|
-
&[x-placement="top-end"] {
|
|
23
|
-
margin-bottom: ($mds-size-baseline * 3);
|
|
24
|
-
}
|
|
25
|
-
&[x-placement="right"],
|
|
26
|
-
&[x-placement="right-start"],
|
|
27
|
-
&[x-placement="right-end"] {
|
|
28
|
-
margin-left: ($mds-size-baseline * 3);
|
|
29
|
-
}
|
|
30
|
-
&[x-placement="bottom"],
|
|
31
|
-
&[x-placement="bottom-start"],
|
|
32
|
-
&[x-placement="bottom-end"] {
|
|
33
|
-
margin-top: ($mds-size-baseline * 3);
|
|
34
|
-
}
|
|
35
|
-
&[x-placement="left"],
|
|
36
|
-
&[x-placement="left-start"],
|
|
37
|
-
&[x-placement="left-end"] {
|
|
38
|
-
margin-right: ($mds-size-baseline * 3);
|
|
39
|
-
}
|
|
40
19
|
}
|
|
41
20
|
|
|
42
21
|
.mds-popover__arrow {
|
|
@@ -59,9 +38,9 @@ $arrow-size: 10px;
|
|
|
59
38
|
border-width: $arrow-size;
|
|
60
39
|
}
|
|
61
40
|
|
|
62
|
-
.mds-popover[
|
|
63
|
-
.mds-popover[
|
|
64
|
-
.mds-popover[
|
|
41
|
+
.mds-popover[data-popper-placement='top'] &,
|
|
42
|
+
.mds-popover[data-popper-placement='top-start'] &,
|
|
43
|
+
.mds-popover[data-popper-placement='top-end'] & {
|
|
65
44
|
bottom: $arrow-size * -1;
|
|
66
45
|
border-top-color: $mds-color-border;
|
|
67
46
|
border-bottom-width: 0;
|
|
@@ -73,9 +52,9 @@ $arrow-size: 10px;
|
|
|
73
52
|
bottom: 1px;
|
|
74
53
|
}
|
|
75
54
|
}
|
|
76
|
-
.mds-popover[
|
|
77
|
-
.mds-popover[
|
|
78
|
-
.mds-popover[
|
|
55
|
+
.mds-popover[data-popper-placement='right'] &,
|
|
56
|
+
.mds-popover[data-popper-placement='right-start'] &,
|
|
57
|
+
.mds-popover[data-popper-placement='right-end'] & {
|
|
79
58
|
left: $arrow-size * -1;
|
|
80
59
|
border-right-color: $mds-color-border;
|
|
81
60
|
border-left-width: 0;
|
|
@@ -87,9 +66,9 @@ $arrow-size: 10px;
|
|
|
87
66
|
left: 1px;
|
|
88
67
|
}
|
|
89
68
|
}
|
|
90
|
-
.mds-popover[
|
|
91
|
-
.mds-popover[
|
|
92
|
-
.mds-popover[
|
|
69
|
+
.mds-popover[data-popper-placement='bottom'] &,
|
|
70
|
+
.mds-popover[data-popper-placement='bottom-start'] &,
|
|
71
|
+
.mds-popover[data-popper-placement='bottom-end'] & {
|
|
93
72
|
top: $arrow-size * -1;
|
|
94
73
|
border-bottom-color: $mds-color-border;
|
|
95
74
|
border-top-width: 0;
|
|
@@ -101,9 +80,9 @@ $arrow-size: 10px;
|
|
|
101
80
|
top: 1px;
|
|
102
81
|
}
|
|
103
82
|
}
|
|
104
|
-
.mds-popover[
|
|
105
|
-
.mds-popover[
|
|
106
|
-
.mds-popover[
|
|
83
|
+
.mds-popover[data-popper-placement='left'] &,
|
|
84
|
+
.mds-popover[data-popper-placement='left-start'] &,
|
|
85
|
+
.mds-popover[data-popper-placement='left-end'] & {
|
|
107
86
|
right: $arrow-size * -1;
|
|
108
87
|
border-left-color: $mds-color-border;
|
|
109
88
|
border-right-width: 0;
|
|
@@ -115,4 +94,4 @@ $arrow-size: 10px;
|
|
|
115
94
|
right: 1px;
|
|
116
95
|
}
|
|
117
96
|
}
|
|
118
|
-
}
|
|
97
|
+
}
|