@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.
Files changed (56) hide show
  1. package/__tests__/unit/src/components/popover.spec.js +16 -17
  2. package/coverage/cobertura-coverage.xml +34 -33
  3. package/coverage/components/accordion/accordion.js.html +1 -1
  4. package/coverage/components/accordion/index.html +1 -1
  5. package/coverage/components/inputs/combobox/combobox.js.html +1 -1
  6. package/coverage/components/inputs/combobox/index.html +1 -1
  7. package/coverage/components/inputs/combobox/vue-components/Combobox.vue.html +1 -1
  8. package/coverage/components/inputs/combobox/vue-components/ListBoxOption.vue.html +1 -1
  9. package/coverage/components/inputs/combobox/vue-components/index.html +1 -1
  10. package/coverage/components/inputs/file-upload/file-upload.js.html +1 -1
  11. package/coverage/components/inputs/file-upload/index.html +1 -1
  12. package/coverage/components/inputs/multi-select/index.html +1 -1
  13. package/coverage/components/inputs/multi-select/multi-select.js.html +1 -1
  14. package/coverage/components/inputs/multi-select/vue-components/MultiSelect.vue.html +1 -1
  15. package/coverage/components/inputs/multi-select/vue-components/MultiSelectCheckbox.vue.html +1 -1
  16. package/coverage/components/inputs/multi-select/vue-components/MultiSelectCheckboxGroup.vue.html +1 -1
  17. package/coverage/components/inputs/multi-select/vue-components/index.html +1 -1
  18. package/coverage/components/inputs/textarea/character-count.js.html +1 -1
  19. package/coverage/components/inputs/textarea/index.html +1 -1
  20. package/coverage/components/modal/index.html +1 -1
  21. package/coverage/components/modal/modal.js.html +1 -1
  22. package/coverage/components/notification/index.html +1 -1
  23. package/coverage/components/notification/notification.js.html +1 -1
  24. package/coverage/components/popover/index.html +10 -10
  25. package/coverage/components/popover/popover.js.html +60 -9
  26. package/coverage/components/switch-state/index.html +1 -1
  27. package/coverage/components/switch-state/switch-state.js.html +1 -1
  28. package/coverage/components/tabs/index.html +1 -1
  29. package/coverage/components/tabs/tabs.js.html +1 -1
  30. package/coverage/index.html +10 -10
  31. package/coverage/js/common.js.html +1 -1
  32. package/coverage/js/fractal-scripts/combobox.js.html +1 -1
  33. package/coverage/js/fractal-scripts/index.html +1 -1
  34. package/coverage/js/fractal-scripts/notification.js.html +1 -1
  35. package/coverage/js/fractal-scripts/switch-state.js.html +1 -1
  36. package/coverage/js/index-fractal.js.html +1 -1
  37. package/coverage/js/index-polyfills.js.html +1 -1
  38. package/coverage/js/index-vue.js.html +1 -1
  39. package/coverage/js/index.html +1 -1
  40. package/coverage/js/index.js.html +1 -1
  41. package/coverage/js/polyfills/closest.js.html +1 -1
  42. package/coverage/js/polyfills/index.html +1 -1
  43. package/coverage/js/polyfills/remove.js.html +1 -1
  44. package/coverage/tokens/_config.js.html +1 -1
  45. package/coverage/tokens/index.html +1 -1
  46. package/dist/_tokens/css/_tokens.css +1 -1
  47. package/dist/_tokens/js/_tokens-module.js +1 -1
  48. package/dist/_tokens/scss/_tokens.scss +1 -1
  49. package/dist/css/index.css +1 -1
  50. package/dist/js/index.js +5 -30
  51. package/package.json +2 -2
  52. package/src/components/button/button.scss +1 -1
  53. package/src/components/popover/README.md +3 -3
  54. package/src/components/popover/_template.njk +1 -1
  55. package/src/components/popover/popover.js +20 -3
  56. 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.0",
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 - *optional*,
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 - *optional*
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" x-arrow></div>
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 Popper from 'popper.js';
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 = new Popper(trigger, popover, {
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[x-placement="top"] &,
63
- .mds-popover[x-placement="top-start"] &,
64
- .mds-popover[x-placement="top-end"] & {
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[x-placement="right"] &,
77
- .mds-popover[x-placement="right-start"] &,
78
- .mds-popover[x-placement="right-end"] & {
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[x-placement="bottom"] &,
91
- .mds-popover[x-placement="bottom-start"] &,
92
- .mds-popover[x-placement="bottom-end"] & {
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[x-placement="left"] &,
105
- .mds-popover[x-placement="left-start"] &,
106
- .mds-popover[x-placement="left-end"] & {
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
+ }