@skyscanner/backpack-web 1.0.1 → 3.0.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 (88) hide show
  1. package/bpk-animate-height/package.json +2 -2
  2. package/bpk-component-accordion/package.json +6 -6
  3. package/bpk-component-aria-live/package.json +7 -7
  4. package/bpk-component-autosuggest/package.json +4 -4
  5. package/bpk-component-badge/package.json +4 -4
  6. package/bpk-component-banner-alert/package.json +8 -8
  7. package/bpk-component-barchart/package.json +7 -7
  8. package/bpk-component-barchart/src/BpkBarchartBar.js +3 -2
  9. package/bpk-component-blockquote/package.json +2 -2
  10. package/bpk-component-breadcrumb/package.json +5 -5
  11. package/bpk-component-breakpoint/package.json +2 -2
  12. package/bpk-component-button/package.json +2 -2
  13. package/bpk-component-calendar/package.json +8 -8
  14. package/bpk-component-calendar/src/BpkCalendarGridTransition.js +4 -2
  15. package/bpk-component-calendar/src/Week.js +3 -1
  16. package/bpk-component-card/package.json +4 -4
  17. package/bpk-component-checkbox/package.json +4 -4
  18. package/bpk-component-chip/package.json +5 -5
  19. package/bpk-component-close-button/package.json +4 -4
  20. package/bpk-component-code/package.json +2 -2
  21. package/bpk-component-content-container/package.json +2 -2
  22. package/bpk-component-datatable/package.json +3 -3
  23. package/bpk-component-datepicker/package.json +8 -8
  24. package/bpk-component-description-list/package.json +2 -2
  25. package/bpk-component-dialog/package.json +8 -8
  26. package/bpk-component-drawer/package.json +8 -8
  27. package/bpk-component-fieldset/package.json +12 -12
  28. package/bpk-component-flare/package.json +4 -4
  29. package/bpk-component-flare/src/__generated__/js/pointer.js +1 -1
  30. package/bpk-component-flare/src/svgs/pointer.svg +1 -1
  31. package/bpk-component-form-validation/package.json +9 -9
  32. package/bpk-component-graphic-promotion/package.json +5 -5
  33. package/bpk-component-grid/package.json +2 -2
  34. package/bpk-component-grid-toggle/package.json +3 -3
  35. package/bpk-component-horizontal-nav/package.json +5 -5
  36. package/bpk-component-icon/package.json +5 -5
  37. package/bpk-component-image/package.json +5 -5
  38. package/bpk-component-infinite-scroll/package.json +6 -6
  39. package/bpk-component-input/package.json +6 -6
  40. package/bpk-component-label/package.json +2 -2
  41. package/bpk-component-link/package.json +3 -3
  42. package/bpk-component-list/package.json +2 -2
  43. package/bpk-component-loading-button/package.json +6 -6
  44. package/bpk-component-map/package.json +6 -6
  45. package/bpk-component-mobile-scroll-container/package.json +2 -2
  46. package/bpk-component-modal/package.json +9 -9
  47. package/bpk-component-navigation-bar/package.json +7 -7
  48. package/bpk-component-navigation-stack/package.json +6 -6
  49. package/bpk-component-nudger/package.json +6 -6
  50. package/bpk-component-overlay/package.json +4 -4
  51. package/bpk-component-pagination/package.json +4 -4
  52. package/bpk-component-panel/package.json +2 -2
  53. package/bpk-component-phone-input/package.json +8 -8
  54. package/bpk-component-popover/README.md +2 -2
  55. package/bpk-component-popover/package.json +9 -9
  56. package/bpk-component-popover/src/BpkPopover.js +1 -0
  57. package/bpk-component-popover/src/BpkPopover.module.scss +28 -26
  58. package/bpk-component-popover/src/BpkPopoverPortal.js +43 -17
  59. package/bpk-component-progress/package.json +4 -4
  60. package/bpk-component-radio/package.json +3 -3
  61. package/bpk-component-rating/README.md +16 -7
  62. package/bpk-component-rating/package.json +3 -3
  63. package/bpk-component-rating/src/BpkRating.js +9 -6
  64. package/bpk-component-rating/src/common-types.js +1 -1
  65. package/bpk-component-rtl-toggle/package.json +3 -3
  66. package/bpk-component-scrollable-calendar/package.json +5 -5
  67. package/bpk-component-section-list/package.json +5 -5
  68. package/bpk-component-select/package.json +3 -3
  69. package/bpk-component-skip-link/package.json +2 -2
  70. package/bpk-component-slider/package.json +3 -3
  71. package/bpk-component-spinner/package.json +2 -2
  72. package/bpk-component-star-rating/package.json +5 -5
  73. package/bpk-component-star-rating/src/BpkStarRating.js +6 -1
  74. package/bpk-component-switch/package.json +2 -2
  75. package/bpk-component-table/package.json +2 -2
  76. package/bpk-component-text/package.json +2 -2
  77. package/bpk-component-textarea/package.json +4 -4
  78. package/bpk-component-theme-toggle/package.json +4 -4
  79. package/bpk-component-ticket/package.json +4 -4
  80. package/bpk-component-tooltip/README.md +2 -2
  81. package/bpk-component-tooltip/package.json +4 -4
  82. package/bpk-component-tooltip/src/BpkTooltip.js +6 -1
  83. package/bpk-component-tooltip/src/BpkTooltip.module.scss +46 -55
  84. package/bpk-component-tooltip/src/BpkTooltipPortal.js +21 -12
  85. package/bpk-react-utils/package.json +1 -1
  86. package/bpk-scrim-utils/package.json +2 -2
  87. package/bpk-theming/package.json +1 -1
  88. package/package.json +1 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-slider",
3
- "version": "3.1.9",
3
+ "version": "3.1.10",
4
4
  "description": "Backpack slider component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -16,7 +16,7 @@
16
16
  "dependencies": {
17
17
  "@skyscanner/bpk-foundations-web": "^8.0.0",
18
18
  "bpk-mixins": "^31.1.1",
19
- "bpk-react-utils": "^4.1.1",
19
+ "bpk-react-utils": "^4.1.2",
20
20
  "prop-types": "^15.7.2",
21
21
  "react-slider": "^1.3.1"
22
22
  },
@@ -24,6 +24,6 @@
24
24
  "react": "^16.3.0 || ^17.0.0"
25
25
  },
26
26
  "devDependencies": {
27
- "bpk-component-rtl-toggle": "^3.1.9"
27
+ "bpk-component-rtl-toggle": "^3.1.10"
28
28
  }
29
29
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-spinner",
3
- "version": "5.1.9",
3
+ "version": "5.1.10",
4
4
  "description": "Backpack spinner components.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -16,7 +16,7 @@
16
16
  "dependencies": {
17
17
  "@skyscanner/bpk-svgs": "^14.1.9",
18
18
  "bpk-mixins": "^31.1.1",
19
- "bpk-react-utils": "^4.1.1",
19
+ "bpk-react-utils": "^4.1.2",
20
20
  "prop-types": "^15.7.2"
21
21
  },
22
22
  "peerDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-star-rating",
3
- "version": "3.1.10",
3
+ "version": "3.1.11",
4
4
  "description": "Backpack rating star component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -14,16 +14,16 @@
14
14
  },
15
15
  "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
16
16
  "dependencies": {
17
- "bpk-component-icon": "^9.2.10",
17
+ "bpk-component-icon": "^9.2.11",
18
18
  "bpk-mixins": "^31.1.1",
19
- "bpk-react-utils": "^4.1.1",
19
+ "bpk-react-utils": "^4.1.2",
20
20
  "prop-types": "^15.7.2"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "react": "^16.3.0 || ^17.0.0"
24
24
  },
25
25
  "devDependencies": {
26
- "bpk-component-table": "^3.1.9",
27
- "bpk-storybook-utils": "^1.1.8"
26
+ "bpk-component-table": "^3.1.10",
27
+ "bpk-storybook-utils": "^1.1.9"
28
28
  }
29
29
  }
@@ -92,7 +92,12 @@ const BpkStarRating = (props: Props) => {
92
92
  : ratingLabel(rating, maxRating);
93
93
 
94
94
  return (
95
- <div {...rest} aria-label={label} className={classNames.join(' ')}>
95
+ <div
96
+ {...rest}
97
+ role="img"
98
+ aria-label={label}
99
+ className={classNames.join(' ')}
100
+ >
96
101
  {stars}
97
102
  </div>
98
103
  );
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-switch",
3
- "version": "2.1.10",
3
+ "version": "2.1.11",
4
4
  "description": "Backpack switch component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -15,7 +15,7 @@
15
15
  "gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
16
16
  "dependencies": {
17
17
  "bpk-mixins": "^31.1.1",
18
- "bpk-react-utils": "^4.1.1",
18
+ "bpk-react-utils": "^4.1.2",
19
19
  "prop-types": "^15.5.8"
20
20
  },
21
21
  "peerDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-table",
3
- "version": "3.1.9",
3
+ "version": "3.1.10",
4
4
  "description": "Backpack table component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -15,7 +15,7 @@
15
15
  "gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
16
16
  "dependencies": {
17
17
  "bpk-mixins": "^31.1.1",
18
- "bpk-react-utils": "^4.1.1",
18
+ "bpk-react-utils": "^4.1.2",
19
19
  "prop-types": "^15.7.2"
20
20
  },
21
21
  "peerDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-text",
3
- "version": "7.0.3",
3
+ "version": "7.0.4",
4
4
  "description": "Backpack text component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -15,7 +15,7 @@
15
15
  "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
16
16
  "dependencies": {
17
17
  "bpk-mixins": "^31.1.1",
18
- "bpk-react-utils": "^4.1.1",
18
+ "bpk-react-utils": "^4.1.2",
19
19
  "prop-types": "^15.7.2"
20
20
  },
21
21
  "peerDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-textarea",
3
- "version": "4.2.9",
3
+ "version": "4.2.10",
4
4
  "description": "Backpack textarea component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -15,12 +15,12 @@
15
15
  "gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
16
16
  "dependencies": {
17
17
  "bpk-mixins": "^31.1.1",
18
- "bpk-react-utils": "^4.1.1",
18
+ "bpk-react-utils": "^4.1.2",
19
19
  "prop-types": "^15.7.2"
20
20
  },
21
21
  "devDependencies": {
22
- "bpk-component-label": "^5.1.9",
23
- "bpk-storybook-utils": "^1.1.8"
22
+ "bpk-component-label": "^5.1.10",
23
+ "bpk-storybook-utils": "^1.1.9"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "react": "^16.3.0 || ^17.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-theme-toggle",
3
- "version": "3.1.9",
3
+ "version": "3.1.10",
4
4
  "description": "Backpack theme toggle component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -15,10 +15,10 @@
15
15
  "gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
16
16
  "dependencies": {
17
17
  "@skyscanner/bpk-foundations-web": "^8.0.0",
18
- "bpk-component-label": "^5.1.9",
19
- "bpk-component-select": "^5.1.9",
18
+ "bpk-component-label": "^5.1.10",
19
+ "bpk-component-select": "^5.1.10",
20
20
  "bpk-mixins": "^31.1.1",
21
- "bpk-react-utils": "^4.1.1",
21
+ "bpk-react-utils": "^4.1.2",
22
22
  "konami": "^1.6.2",
23
23
  "prop-types": "^15.7.2"
24
24
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-ticket",
3
- "version": "4.1.10",
3
+ "version": "4.1.11",
4
4
  "description": "Backpack ticket component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -15,14 +15,14 @@
15
15
  "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
16
16
  "dependencies": {
17
17
  "bpk-mixins": "^31.1.1",
18
- "bpk-react-utils": "^4.1.1",
18
+ "bpk-react-utils": "^4.1.2",
19
19
  "prop-types": "^15.7.2"
20
20
  },
21
21
  "peerDependencies": {
22
22
  "react": "^16.3.0 || ^17.0.0"
23
23
  },
24
24
  "devDependencies": {
25
- "bpk-component-button": "^6.2.4",
26
- "bpk-component-icon": "^9.2.10"
25
+ "bpk-component-button": "^6.2.5",
26
+ "bpk-component-icon": "^9.2.11"
27
27
  }
28
28
  }
@@ -39,7 +39,7 @@ const App = () => (
39
39
  | padded | bool | false | true |
40
40
  | portalStyle | object | false | null |
41
41
  | portalClassName | string | false | null |
42
- | popperModifiers | object | false | null |
42
+ | popperModifiers | arrayOf(object) | false | null |
43
43
  | renderTarget | func | false | null |
44
44
  | type | oneOf(`TOOLTIP_TYPES.light`, `TOOLTIP_TYPES.dark`) | false | `TOOLTIP_TYPES.light` |
45
45
 
@@ -53,4 +53,4 @@ The label will be used on the `target` element, so any existing `aria-label` att
53
53
 
54
54
  #### `popperModifiers`
55
55
 
56
- Please refer to the [documentation](https://github.com/FezVrasta/popper.js/blob/v1.12.9/docs/_includes/popper-documentation.md#modifiers) for the underlying positioning library "Popper.js". You can achieve various behaviours such as allowing the tooltip to overflow the viewport etc.
56
+ Please refer to the [documentation](https://popper.js.org/docs/v2/modifiers/) for the underlying positioning library "Popper.js". You can achieve various behaviours such as allowing the tooltip to overflow the viewport etc.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-tooltip",
3
- "version": "6.1.10",
3
+ "version": "7.0.0",
4
4
  "description": "Backpack tooltip component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -14,9 +14,9 @@
14
14
  },
15
15
  "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
16
16
  "dependencies": {
17
- "@skyscanner/popper.js": "^1.12.9-beta.1",
17
+ "@popperjs/core": "^2.11.5",
18
18
  "bpk-mixins": "^31.1.1",
19
- "bpk-react-utils": "^4.1.1",
19
+ "bpk-react-utils": "^4.1.2",
20
20
  "prop-types": "^15.7.2"
21
21
  },
22
22
  "peerDependencies": {
@@ -24,6 +24,6 @@
24
24
  },
25
25
  "devDependencies": {
26
26
  "@skyscanner/bpk-foundations-web": "^8.0.0",
27
- "bpk-component-text": "^7.0.3"
27
+ "bpk-component-text": "^7.0.4"
28
28
  }
29
29
  }
@@ -71,7 +71,12 @@ const BpkTooltip = (props: TooltipProps) => {
71
71
  className={classNames}
72
72
  {...rest}
73
73
  >
74
- <span id={ARROW_ID} className={arrowClassNames} role="presentation" />
74
+ <span
75
+ id={ARROW_ID}
76
+ data-popper-arrow
77
+ className={arrowClassNames}
78
+ role="presentation"
79
+ />
75
80
  <div className={innerClassNames}>{children}</div>
76
81
  </section>
77
82
  </TransitionInitialMount>
@@ -19,27 +19,13 @@
19
19
  @import '~bpk-mixins';
20
20
  $bpk-spacing-v2: true;
21
21
 
22
- $arrow-size: bpk-spacing-sm();
22
+ $arrow-size: bpk-spacing-md();
23
+ $arrow-inset-margin: -($bpk-one-pixel-rem * 3);
24
+ $light-arrow-border-color: $bpk-color-sky-gray-tint-06;
23
25
  $dark-background-color: $bpk-color-sky-gray;
24
26
 
25
27
  .bpk-tooltip-portal {
26
28
  z-index: $bpk-zindex-tooltip;
27
-
28
- &[x-placement='top'] {
29
- margin-bottom: $arrow-size;
30
- }
31
-
32
- &[x-placement='right'] {
33
- margin-left: $arrow-size;
34
- }
35
-
36
- &[x-placement='bottom'] {
37
- margin-top: $arrow-size;
38
- }
39
-
40
- &[x-placement='left'] {
41
- margin-right: $arrow-size;
42
- }
43
29
  }
44
30
 
45
31
  .bpk-tooltip {
@@ -51,24 +37,26 @@ $dark-background-color: $bpk-color-sky-gray;
51
37
  &--appear {
52
38
  opacity: 0;
53
39
 
54
- .bpk-tooltip-portal[x-placement='top'] &:not(.bpk-tooltip--appear-active) {
40
+ .bpk-tooltip-portal[data-popper-placement='top']
41
+ &:not(.bpk-tooltip--appear-active) {
55
42
  transform: translate(0, -1rem);
56
43
  transition: none;
57
44
  }
58
45
 
59
- .bpk-tooltip-portal[x-placement='right']
46
+ .bpk-tooltip-portal[data-popper-placement='right']
60
47
  &:not(.bpk-tooltip--appear-active) {
61
48
  transform: translate(1rem, 0);
62
49
  transition: none;
63
50
  }
64
51
 
65
- .bpk-tooltip-portal[x-placement='bottom']
52
+ .bpk-tooltip-portal[data-popper-placement='bottom']
66
53
  &:not(.bpk-tooltip--appear-active) {
67
54
  transform: translate(0, 1rem);
68
55
  transition: none;
69
56
  }
70
57
 
71
- .bpk-tooltip-portal[x-placement='left'] &:not(.bpk-tooltip--appear-active) {
58
+ .bpk-tooltip-portal[data-popper-placement='left']
59
+ &:not(.bpk-tooltip--appear-active) {
72
60
  transform: translate(-1rem, 0);
73
61
  transition: none;
74
62
  }
@@ -82,55 +70,58 @@ $dark-background-color: $bpk-color-sky-gray;
82
70
  }
83
71
 
84
72
  &__arrow {
85
- @include bpk-layer-arrow($arrow-size);
86
-
87
- .bpk-tooltip-portal[x-placement='top'] & {
88
- @include bpk-layer-arrow-bottom($arrow-size);
73
+ position: aboslute;
74
+ width: $arrow-size;
75
+ height: $arrow-size;
76
+ transform: rotate(45deg);
77
+ border: $bpk-one-pixel-rem solid transparent;
78
+ background: inherit;
79
+ background-color: $bpk-color-white;
80
+
81
+ .bpk-tooltip-portal[data-popper-placement='top'] & {
82
+ bottom: $arrow-inset-margin;
83
+ border-right-color: $light-arrow-border-color;
84
+ border-bottom-color: $light-arrow-border-color;
89
85
  }
90
86
 
91
- .bpk-tooltip-portal[x-placement='right'] & {
92
- @include bpk-layer-arrow-left($arrow-size);
87
+ .bpk-tooltip-portal[data-popper-placement='right'] & {
88
+ left: $arrow-inset-margin;
89
+ border-bottom-color: $light-arrow-border-color;
90
+ border-left-color: $light-arrow-border-color;
93
91
  }
94
92
 
95
- .bpk-tooltip-portal[x-placement='bottom'] & {
96
- @include bpk-layer-arrow-top($arrow-size);
93
+ .bpk-tooltip-portal[data-popper-placement='bottom'] & {
94
+ top: $arrow-inset-margin;
95
+ border-top-color: $light-arrow-border-color;
96
+ border-left-color: $light-arrow-border-color;
97
97
  }
98
98
 
99
- .bpk-tooltip-portal[x-placement='left'] & {
100
- @include bpk-layer-arrow-right($arrow-size);
99
+ .bpk-tooltip-portal[data-popper-placement='left'] & {
100
+ right: $arrow-inset-margin;
101
+ border-top-color: $light-arrow-border-color;
102
+ border-right-color: $light-arrow-border-color;
101
103
  }
102
104
 
103
105
  &--dark {
104
- .bpk-tooltip-portal[x-placement='top'] & {
105
- @include bpk-layer-arrow-bottom(
106
- $arrow-size,
107
- $dark-background-color,
108
- $dark-background-color
109
- );
106
+ background-color: $dark-background-color;
107
+ .bpk-tooltip-portal[data-popper-placement='top'] & {
108
+ border-right-color: $dark-background-color;
109
+ border-bottom-color: $dark-background-color;
110
110
  }
111
111
 
112
- .bpk-tooltip-portal[x-placement='right'] & {
113
- @include bpk-layer-arrow-left(
114
- $arrow-size,
115
- $dark-background-color,
116
- $dark-background-color
117
- );
112
+ .bpk-tooltip-portal[data-popper-placement='right'] & {
113
+ border-bottom-color: $dark-background-color;
114
+ border-left-color: $dark-background-color;
118
115
  }
119
116
 
120
- .bpk-tooltip-portal[x-placement='bottom'] & {
121
- @include bpk-layer-arrow-top(
122
- $arrow-size,
123
- $dark-background-color,
124
- $dark-background-color
125
- );
117
+ .bpk-tooltip-portal[data-popper-placement='bottom'] & {
118
+ border-top-color: $dark-background-color;
119
+ border-left-color: $dark-background-color;
126
120
  }
127
121
 
128
- .bpk-tooltip-portal[x-placement='left'] & {
129
- @include bpk-layer-arrow-right(
130
- $arrow-size,
131
- $dark-background-color,
132
- $dark-background-color
133
- );
122
+ .bpk-tooltip-portal[data-popper-placement='left'] & {
123
+ border-top-color: $dark-background-color;
124
+ border-right-color: $dark-background-color;
134
125
  }
135
126
  }
136
127
  }
@@ -18,7 +18,7 @@
18
18
 
19
19
  /* @flow strict */
20
20
 
21
- import Popper from '@skyscanner/popper.js';
21
+ import { createPopper, basePlacements } from '@popperjs/core';
22
22
  import PropTypes from 'prop-types';
23
23
  import React, { Component, type Node, type Element } from 'react';
24
24
  import { Portal, cssModules } from 'bpk-react-utils';
@@ -28,7 +28,6 @@ import BpkTooltip, {
28
28
  defaultProps as tooltipDefaultProps,
29
29
  type TooltipProps,
30
30
  } from './BpkTooltip';
31
- import { ARROW_ID } from './constants';
32
31
  import STYLES from './BpkTooltip.module.scss';
33
32
 
34
33
  const getClassName = cssModules(STYLES);
@@ -58,7 +57,7 @@ type State = {
58
57
  };
59
58
 
60
59
  class BpkTooltipPortal extends Component<Props, State> {
61
- popper: ?typeof Popper;
60
+ popper: ?typeof createPopper;
62
61
 
63
62
  targetRef: ?HTMLElement;
64
63
 
@@ -67,7 +66,7 @@ class BpkTooltipPortal extends Component<Props, State> {
67
66
  ariaLabel: PropTypes.string.isRequired,
68
67
  target: PropTypes.node.isRequired,
69
68
  children: PropTypes.node.isRequired,
70
- placement: PropTypes.oneOf(Popper.placements),
69
+ placement: PropTypes.oneOf(basePlacements),
71
70
  hideOnTouchDevices: PropTypes.bool,
72
71
  portalStyle: PropTypes.object, // eslint-disable-line react/forbid-prop-types
73
72
  portalClassName: PropTypes.string,
@@ -119,22 +118,32 @@ class BpkTooltipPortal extends Component<Props, State> {
119
118
  }
120
119
 
121
120
  onOpen = (tooltipElement: HTMLElement, targetElement: HTMLElement) => {
121
+ // The default modifiers for the popper
122
122
  // Note that GPU acceleration should be disabled otherwise Popper will use `translate3d`
123
123
  // which can cause blurriness in Safari and Chrome.
124
- this.popper = new Popper(targetElement, tooltipElement, {
125
- placement: this.props.placement,
126
- modifiers: {
127
- ...this.props.popperModifiers,
128
- computeStyle: {
124
+ const stdModifiers = [
125
+ {
126
+ name: 'computeStyles',
127
+ options: {
129
128
  gpuAcceleration: false,
130
129
  },
131
- arrow: {
132
- element: `#${ARROW_ID}`,
130
+ },
131
+ {
132
+ name: 'offset',
133
+ options: {
134
+ offset: [0, 8],
133
135
  },
134
136
  },
137
+ ];
138
+
139
+ this.popper = createPopper(targetElement, tooltipElement, {
140
+ placement: this.props.placement,
141
+ modifiers: this.props.popperModifiers
142
+ ? [...this.props.popperModifiers, ...stdModifiers]
143
+ : stdModifiers,
135
144
  });
136
145
 
137
- this.popper.scheduleUpdate();
146
+ this.popper.update();
138
147
  };
139
148
 
140
149
  beforeClose = (done: () => mixed) => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-react-utils",
3
- "version": "4.1.1",
3
+ "version": "4.1.2",
4
4
  "description": "Utilities for Backpack's React components.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-scrim-utils",
3
- "version": "5.1.8",
3
+ "version": "5.1.9",
4
4
  "description": "Higher order component that adds an overlay behind components and manages scroll states.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -17,7 +17,7 @@
17
17
  "a11y-focus-scope": "^1.1.3",
18
18
  "a11y-focus-store": "^1.0.0",
19
19
  "bpk-mixins": "^31.1.1",
20
- "bpk-react-utils": "^4.1.1"
20
+ "bpk-react-utils": "^4.1.2"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "react": "^16.3.0 || ^17.0.0"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-theming",
3
- "version": "2.1.5",
3
+ "version": "2.1.6",
4
4
  "description": "Backpack theming utlities.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyscanner/backpack-web",
3
- "version": "1.0.1",
3
+ "version": "3.0.0",
4
4
  "description": "Backpack Design System web library",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,7 +23,6 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "@skyscanner/bpk-foundations-web": "^8.0.0",
26
- "@skyscanner/popper.js": "^1.12.9-beta.1",
27
26
  "a11y-focus-scope": "^1.1.3",
28
27
  "a11y-focus-store": "^1.0.0",
29
28
  "bpk-mixins": "^31.1.1",