@skyscanner/backpack-web 2.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 (216) hide show
  1. package/bpk-animate-height/package.json +26 -0
  2. package/bpk-component-accordion/package.json +31 -0
  3. package/bpk-component-accordion/src/BpkAccordion.js +1 -2
  4. package/bpk-component-accordion/src/BpkAccordionItem.js +5 -6
  5. package/bpk-component-accordion/src/withAccordionItemState.js +1 -2
  6. package/bpk-component-accordion/src/withSingleItemAccordionState.js +1 -2
  7. package/bpk-component-aria-live/package.json +31 -0
  8. package/bpk-component-aria-live/src/BpkAriaLive.js +1 -2
  9. package/bpk-component-autosuggest/package.json +29 -0
  10. package/bpk-component-autosuggest/src/BpkAutosuggest.js +2 -3
  11. package/bpk-component-autosuggest/src/BpkAutosuggestSuggestion.js +1 -2
  12. package/bpk-component-badge/package.json +29 -0
  13. package/bpk-component-badge/src/BpkBadge.js +1 -2
  14. package/bpk-component-banner-alert/package.json +34 -0
  15. package/bpk-component-banner-alert/src/AnimateAndFade.js +2 -3
  16. package/bpk-component-banner-alert/src/BpkBannerAlertInner.js +7 -8
  17. package/bpk-component-banner-alert/src/withBannerAlertState.js +1 -2
  18. package/bpk-component-barchart/package.json +35 -0
  19. package/bpk-component-barchart/src/BpkBarchart.js +2 -3
  20. package/bpk-component-barchart/src/BpkBarchartBar.js +4 -4
  21. package/bpk-component-barchart/src/BpkChartAxis.js +1 -2
  22. package/bpk-component-barchart/src/BpkChartDataTable.js +1 -2
  23. package/bpk-component-barchart/src/BpkChartGridLines.js +1 -2
  24. package/bpk-component-barchart/src/RTLtransforms.js +1 -1
  25. package/bpk-component-blockquote/package.json +24 -0
  26. package/bpk-component-blockquote/src/BpkBlockquote.js +1 -2
  27. package/bpk-component-breadcrumb/package.json +27 -0
  28. package/bpk-component-breadcrumb/src/BpkBreadcrumb.js +1 -2
  29. package/bpk-component-breadcrumb/src/BpkBreadcrumbItem.js +5 -6
  30. package/bpk-component-breakpoint/package.json +28 -0
  31. package/bpk-component-button/package.json +26 -0
  32. package/bpk-component-calendar/package.json +34 -0
  33. package/bpk-component-calendar/src/BpkCalendarContainer.js +1 -2
  34. package/bpk-component-calendar/src/BpkCalendarDate.js +1 -2
  35. package/bpk-component-calendar/src/BpkCalendarGrid.js +1 -2
  36. package/bpk-component-calendar/src/BpkCalendarGridHeader.js +1 -2
  37. package/bpk-component-calendar/src/BpkCalendarGridTransition.js +5 -4
  38. package/bpk-component-calendar/src/BpkCalendarNav.js +5 -6
  39. package/bpk-component-calendar/src/Week.js +4 -3
  40. package/bpk-component-calendar/src/composeCalendar.js +1 -2
  41. package/bpk-component-card/package.json +28 -0
  42. package/bpk-component-card/src/BpkCard.js +1 -2
  43. package/bpk-component-checkbox/package.json +29 -0
  44. package/bpk-component-checkbox/src/BpkCheckbox.js +1 -2
  45. package/bpk-component-chip/package.json +29 -0
  46. package/bpk-component-chip/src/BpkDismissibleChip.js +1 -2
  47. package/bpk-component-chip/src/BpkSelectableChip.js +2 -3
  48. package/bpk-component-close-button/package.json +28 -0
  49. package/bpk-component-close-button/src/BpkCloseButton.js +2 -3
  50. package/bpk-component-code/package.json +24 -0
  51. package/bpk-component-code/src/BpkCode.js +1 -2
  52. package/bpk-component-code/src/BpkCodeBlock.js +1 -2
  53. package/bpk-component-content-container/package.json +24 -0
  54. package/bpk-component-content-container/src/BpkContentContainer.js +1 -2
  55. package/bpk-component-datatable/package.json +30 -0
  56. package/bpk-component-datatable/src/BpkDataTable.js +1 -2
  57. package/bpk-component-datatable/src/BpkDataTableColumn.js +1 -2
  58. package/bpk-component-datatable/src/bpkHeaderRenderer.js +4 -5
  59. package/bpk-component-datepicker/index.js +1 -1
  60. package/bpk-component-datepicker/package.json +33 -0
  61. package/bpk-component-datepicker/src/BpkDatepicker.js +6 -7
  62. package/bpk-component-datepicker/src/themeAttributes.js +3 -3
  63. package/bpk-component-description-list/package.json +24 -0
  64. package/bpk-component-description-list/src/ComponentFactory.js +1 -2
  65. package/bpk-component-dialog/package.json +32 -0
  66. package/bpk-component-dialog/src/BpkDialog.js +2 -3
  67. package/bpk-component-dialog/src/BpkDialogInner.js +3 -4
  68. package/bpk-component-drawer/package.json +34 -0
  69. package/bpk-component-drawer/src/BpkDrawer.js +2 -3
  70. package/bpk-component-drawer/src/BpkDrawerContent.js +3 -4
  71. package/bpk-component-drawer/src/themeAttributes.js +1 -1
  72. package/bpk-component-fieldset/package.json +36 -0
  73. package/bpk-component-fieldset/src/BpkFieldset.js +3 -4
  74. package/bpk-component-flare/package.json +29 -0
  75. package/bpk-component-flare/src/BpkContentBubble.js +1 -2
  76. package/bpk-component-flare/src/BpkFlareBar.js +1 -2
  77. package/bpk-component-form-validation/package.json +34 -0
  78. package/bpk-component-form-validation/src/BpkFormValidation.js +4 -5
  79. package/bpk-component-graphic-promotion/package.json +26 -0
  80. package/bpk-component-graphic-promotion/src/BpkGraphicPromo.js +4 -5
  81. package/bpk-component-grid/package.json +24 -0
  82. package/bpk-component-grid/src/BpkGridColumn.js +1 -2
  83. package/bpk-component-grid/src/BpkGridContainer.js +1 -2
  84. package/bpk-component-grid/src/BpkGridRow.js +1 -2
  85. package/bpk-component-grid-toggle/package.json +25 -0
  86. package/bpk-component-grid-toggle/src/BpkGridToggle.js +2 -3
  87. package/bpk-component-horizontal-nav/package.json +30 -0
  88. package/bpk-component-horizontal-nav/src/BpkHorizontalNav.js +2 -3
  89. package/bpk-component-horizontal-nav/src/BpkHorizontalNavItem.js +1 -2
  90. package/bpk-component-icon/package.json +34 -0
  91. package/bpk-component-icon/src/classNameModifierHOCFactory.js +1 -2
  92. package/bpk-component-icon/src/withAlignment.js +1 -2
  93. package/bpk-component-icon/src/withDescription.js +1 -2
  94. package/bpk-component-icon/src/withRtlSupport.js +1 -1
  95. package/bpk-component-image/package.json +31 -0
  96. package/bpk-component-image/src/BpkBackgroundImage.js +2 -3
  97. package/bpk-component-image/src/BpkImage.js +2 -3
  98. package/bpk-component-image/src/withLazyLoading.js +1 -2
  99. package/bpk-component-image/src/withLoadingBehavior.js +1 -2
  100. package/bpk-component-infinite-scroll/package.json +31 -0
  101. package/bpk-component-infinite-scroll/src/withInfiniteScroll.js +1 -2
  102. package/bpk-component-input/package.json +30 -0
  103. package/bpk-component-input/src/BpkClearButton.js +3 -4
  104. package/bpk-component-input/src/BpkInput.js +1 -2
  105. package/bpk-component-input/src/withOpenEvents.js +1 -2
  106. package/bpk-component-label/package.json +24 -0
  107. package/bpk-component-label/src/BpkLabel.js +1 -2
  108. package/bpk-component-link/package.json +28 -0
  109. package/bpk-component-link/src/BpkButtonLink.js +1 -2
  110. package/bpk-component-link/src/BpkLink.js +1 -2
  111. package/bpk-component-list/package.json +24 -0
  112. package/bpk-component-list/src/BpkList.js +1 -2
  113. package/bpk-component-list/src/BpkListItem.js +1 -2
  114. package/bpk-component-loading-button/package.json +30 -0
  115. package/bpk-component-loading-button/src/BpkLoadingButton.js +6 -7
  116. package/bpk-component-map/package.json +32 -0
  117. package/bpk-component-map/src/BpkIconMarker.js +1 -2
  118. package/bpk-component-map/src/BpkIconMarkerBackground.js +1 -2
  119. package/bpk-component-map/src/BpkMap.js +1 -2
  120. package/bpk-component-map/src/BpkPriceMarker.js +2 -3
  121. package/bpk-component-map/src/DefaultLoadingElement.js +2 -3
  122. package/bpk-component-mobile-scroll-container/package.json +28 -0
  123. package/bpk-component-mobile-scroll-container/src/BpkMobileScrollContainer.js +1 -2
  124. package/bpk-component-modal/package.json +33 -0
  125. package/bpk-component-modal/src/BpkModal.js +2 -3
  126. package/bpk-component-modal/src/BpkModalInner.js +4 -5
  127. package/bpk-component-modal/src/themeAttributes.js +1 -1
  128. package/bpk-component-navigation-bar/package.json +32 -0
  129. package/bpk-component-navigation-bar/src/BpkNavigationBar.js +2 -3
  130. package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.js +2 -3
  131. package/bpk-component-navigation-bar/src/BpkNavigationBarIconButton.js +2 -3
  132. package/bpk-component-navigation-stack/package.json +32 -0
  133. package/bpk-component-navigation-stack/src/BpkNavigationStack.js +1 -2
  134. package/bpk-component-nudger/package.json +32 -0
  135. package/bpk-component-nudger/src/BpkConfigurableNudger.js +6 -7
  136. package/bpk-component-nudger/src/BpkNudger.js +1 -2
  137. package/bpk-component-nudger/src/themeAttributes.js +1 -1
  138. package/bpk-component-overlay/package.json +28 -0
  139. package/bpk-component-overlay/src/BpkOverlay.js +1 -2
  140. package/bpk-component-pagination/package.json +28 -0
  141. package/bpk-component-pagination/src/BpkPagination.js +1 -2
  142. package/bpk-component-pagination/src/BpkPaginationList.js +1 -2
  143. package/bpk-component-pagination/src/BpkPaginationNudger.js +4 -5
  144. package/bpk-component-pagination/src/BpkPaginationPage.js +2 -3
  145. package/bpk-component-pagination/src/themeAttributes.js +1 -1
  146. package/bpk-component-panel/package.json +24 -0
  147. package/bpk-component-panel/src/BpkPanel.js +1 -2
  148. package/bpk-component-phone-input/package.json +33 -0
  149. package/bpk-component-phone-input/src/BpkPhoneInput.js +4 -5
  150. package/bpk-component-popover/README.md +2 -2
  151. package/bpk-component-popover/package.json +35 -0
  152. package/bpk-component-popover/src/BpkPopover.js +5 -5
  153. package/bpk-component-popover/src/BpkPopover.module.scss +28 -26
  154. package/bpk-component-popover/src/BpkPopoverPortal.js +44 -19
  155. package/bpk-component-popover/src/themeAttributes.js +1 -1
  156. package/bpk-component-progress/package.json +30 -0
  157. package/bpk-component-progress/src/BpkProgress.js +1 -2
  158. package/bpk-component-radio/package.json +28 -0
  159. package/bpk-component-radio/src/BpkRadio.js +1 -2
  160. package/bpk-component-rating/package.json +29 -0
  161. package/bpk-component-rating/src/BpkRating.js +8 -4
  162. package/bpk-component-rtl-toggle/package.json +24 -0
  163. package/bpk-component-rtl-toggle/src/BpkRtlToggle.js +1 -2
  164. package/bpk-component-rtl-toggle/src/updateOnDirectionChange.js +1 -2
  165. package/bpk-component-scrollable-calendar/index.js +1 -1
  166. package/bpk-component-scrollable-calendar/package.json +32 -0
  167. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendar.js +1 -1
  168. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarDate.js +1 -2
  169. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGrid.js +3 -4
  170. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList.js +2 -6
  171. package/bpk-component-scrollable-calendar/src/utils.js +1 -1
  172. package/bpk-component-section-list/package.json +30 -0
  173. package/bpk-component-section-list/src/BpkSectionListItem.js +3 -4
  174. package/bpk-component-section-list/src/BpkSectionListSection.js +2 -3
  175. package/bpk-component-select/package.json +27 -0
  176. package/bpk-component-select/src/BpkSelect.js +1 -2
  177. package/bpk-component-skip-link/package.json +24 -0
  178. package/bpk-component-skip-link/src/BpkSkipLink.js +1 -2
  179. package/bpk-component-slider/package.json +29 -0
  180. package/bpk-component-slider/src/BpkSlider.js +1 -2
  181. package/bpk-component-spinner/package.json +25 -0
  182. package/bpk-component-spinner/src/BpkExtraLargeSpinner.js +1 -2
  183. package/bpk-component-spinner/src/BpkLargeSpinner.js +1 -2
  184. package/bpk-component-spinner/src/BpkSpinner.js +1 -2
  185. package/bpk-component-star-rating/package.json +29 -0
  186. package/bpk-component-star-rating/src/BpkInteractiveStar.js +1 -2
  187. package/bpk-component-star-rating/src/BpkInteractiveStarRating.js +1 -2
  188. package/bpk-component-star-rating/src/BpkStar.js +8 -9
  189. package/bpk-component-star-rating/src/BpkStarRating.js +7 -3
  190. package/bpk-component-star-rating/src/withInteractiveStarRatingState.js +1 -2
  191. package/bpk-component-switch/package.json +24 -0
  192. package/bpk-component-switch/src/BpkSwitch.js +1 -2
  193. package/bpk-component-table/package.json +24 -0
  194. package/bpk-component-table/src/BpkTable.js +1 -2
  195. package/bpk-component-table/src/BpkTableCell.js +1 -2
  196. package/bpk-component-table/src/BpkTableHeadCell.js +1 -2
  197. package/bpk-component-text/package.json +24 -0
  198. package/bpk-component-text/src/BpkText.js +1 -2
  199. package/bpk-component-textarea/package.json +28 -0
  200. package/bpk-component-textarea/src/BpkTextarea.js +1 -2
  201. package/bpk-component-theme-toggle/package.json +28 -0
  202. package/bpk-component-theme-toggle/src/BpkThemeToggle.js +3 -4
  203. package/bpk-component-theme-toggle/src/updateOnThemeChange.js +1 -2
  204. package/bpk-component-ticket/package.json +28 -0
  205. package/bpk-component-ticket/src/BpkTicket.js +1 -2
  206. package/bpk-component-tooltip/README.md +2 -2
  207. package/bpk-component-tooltip/package.json +29 -0
  208. package/bpk-component-tooltip/src/BpkTooltip.js +7 -3
  209. package/bpk-component-tooltip/src/BpkTooltip.module.scss +46 -55
  210. package/bpk-component-tooltip/src/BpkTooltipPortal.js +22 -14
  211. package/bpk-react-utils/package.json +25 -0
  212. package/bpk-scrim-utils/package.json +25 -0
  213. package/bpk-scrim-utils/src/BpkScrim.js +1 -2
  214. package/bpk-scrim-utils/src/withScrim.js +1 -2
  215. package/bpk-theming/package.json +23 -0
  216. package/package.json +1 -2
@@ -20,8 +20,7 @@
20
20
 
21
21
  import React from 'react';
22
22
  import PropTypes from 'prop-types';
23
-
24
- import { cssModules } from '../../bpk-react-utils';
23
+ import { cssModules } from 'bpk-react-utils';
25
24
 
26
25
  import BpkConfigurableNudger from './BpkConfigurableNudger';
27
26
  import {
@@ -18,6 +18,6 @@
18
18
 
19
19
  /* @flow strict */
20
20
 
21
- import { secondaryThemeAttributes as themeAttributes } from '../../bpk-component-button/themeAttributes';
21
+ import { secondaryThemeAttributes as themeAttributes } from 'bpk-component-button/themeAttributes';
22
22
 
23
23
  export default themeAttributes;
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "bpk-component-overlay",
3
+ "version": "2.1.11",
4
+ "description": "Backpack overlay component.",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git@github.com:Skyscanner/backpack.git"
9
+ },
10
+ "author": "Backpack Design System <backpack@skyscanner.net>",
11
+ "main": "index.js",
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org/"
14
+ },
15
+ "dependencies": {
16
+ "bpk-mixins": "^31.1.1",
17
+ "bpk-react-utils": "^4.1.2",
18
+ "prop-types": "^15.5.8"
19
+ },
20
+ "peerDependencies": {
21
+ "react": "^16.3.0 || ^17.0.0"
22
+ },
23
+ "devDependencies": {
24
+ "bpk-component-image": "^5.1.11",
25
+ "bpk-component-text": "^7.0.4"
26
+ },
27
+ "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8"
28
+ }
@@ -19,8 +19,7 @@
19
19
 
20
20
  import PropTypes from 'prop-types';
21
21
  import React, { type Node } from 'react';
22
-
23
- import { cssModules } from '../../bpk-react-utils';
22
+ import { cssModules } from 'bpk-react-utils';
24
23
 
25
24
  import STYLES from './BpkOverlay.module.scss';
26
25
 
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "bpk-component-pagination",
3
+ "version": "4.0.9",
4
+ "description": "Backpack pagination component.",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git@github.com:Skyscanner/backpack.git"
9
+ },
10
+ "author": "Backpack Design System <backpack@skyscanner.net>",
11
+ "main": "index.js",
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org/"
14
+ },
15
+ "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
16
+ "dependencies": {
17
+ "bpk-component-button": "^6.2.5",
18
+ "bpk-mixins": "^31.1.1",
19
+ "bpk-react-utils": "^4.1.2",
20
+ "prop-types": "^15.7.2"
21
+ },
22
+ "peerDependencies": {
23
+ "react": "^16.3.0 || ^17.0.0"
24
+ },
25
+ "devDependencies": {
26
+ "bpk-component-icon": "^9.2.11"
27
+ }
28
+ }
@@ -18,8 +18,7 @@
18
18
 
19
19
  import React from 'react';
20
20
  import PropTypes from 'prop-types';
21
-
22
- import { cssModules } from '../../bpk-react-utils';
21
+ import { cssModules } from 'bpk-react-utils';
23
22
 
24
23
  import BpkPaginationList from './BpkPaginationList';
25
24
  import BpkPaginationNudger from './BpkPaginationNudger';
@@ -18,8 +18,7 @@
18
18
 
19
19
  import PropTypes from 'prop-types';
20
20
  import React from 'react';
21
-
22
- import { cssModules } from '../../bpk-react-utils';
21
+ import { cssModules } from 'bpk-react-utils';
23
22
 
24
23
  import BpkPaginationPage from './BpkPaginationPage';
25
24
  import BpkPaginationBreak from './BpkPaginationBreak';
@@ -18,11 +18,10 @@
18
18
 
19
19
  import PropTypes from 'prop-types';
20
20
  import React from 'react';
21
-
22
- import { cssModules } from '../../bpk-react-utils';
23
- import { withButtonAlignment, withRtlSupport } from '../../bpk-component-icon';
24
- import ArrowLeftIcon from '../../bpk-component-icon/lg/arrow-left';
25
- import ArrowRightIcon from '../../bpk-component-icon/lg/arrow-right';
21
+ import { cssModules } from 'bpk-react-utils';
22
+ import { withButtonAlignment, withRtlSupport } from 'bpk-component-icon';
23
+ import ArrowLeftIcon from 'bpk-component-icon/lg/arrow-left';
24
+ import ArrowRightIcon from 'bpk-component-icon/lg/arrow-right';
26
25
 
27
26
  import STYLES from './BpkPaginationNudger.module.scss';
28
27
 
@@ -16,11 +16,10 @@
16
16
  * limitations under the License.
17
17
  */
18
18
 
19
+ import BpkButton from 'bpk-component-button';
19
20
  import PropTypes from 'prop-types';
20
21
  import React from 'react';
21
-
22
- import BpkButton from '../../bpk-component-button';
23
- import { cssModules } from '../../bpk-react-utils';
22
+ import { cssModules } from 'bpk-react-utils';
24
23
 
25
24
  import STYLES from './BpkPaginationPage.module.scss';
26
25
 
@@ -15,7 +15,7 @@
15
15
  * See the License for the specific language governing permissions and
16
16
  * limitations under the License.
17
17
  */
18
- import { secondaryThemeAttributes } from '../../bpk-component-button';
18
+ import { secondaryThemeAttributes } from 'bpk-component-button';
19
19
 
20
20
  export default [
21
21
  ...secondaryThemeAttributes,
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "bpk-component-panel",
3
+ "version": "3.1.10",
4
+ "description": "Backpack panel component.",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git@github.com:Skyscanner/backpack.git"
9
+ },
10
+ "author": "Backpack Design System <backpack@skyscanner.net>",
11
+ "main": "index.js",
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org/"
14
+ },
15
+ "gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
16
+ "dependencies": {
17
+ "bpk-mixins": "^31.1.1",
18
+ "bpk-react-utils": "^4.1.2",
19
+ "prop-types": "^15.7.2"
20
+ },
21
+ "peerDependencies": {
22
+ "react": "^16.3.0 || ^17.0.0"
23
+ }
24
+ }
@@ -18,8 +18,7 @@
18
18
 
19
19
  import PropTypes from 'prop-types';
20
20
  import React from 'react';
21
-
22
- import { cssModules } from '../../bpk-react-utils';
21
+ import { cssModules } from 'bpk-react-utils';
23
22
 
24
23
  import STYLES from './BpkPanel.module.scss';
25
24
 
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "bpk-component-phone-input",
3
+ "version": "7.1.15",
4
+ "description": "Backpack phone input component.",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git@github.com:Skyscanner/backpack.git"
9
+ },
10
+ "author": "Backpack Design System <backpack@skyscanner.net>",
11
+ "main": "index.js",
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org/"
14
+ },
15
+ "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
16
+ "dependencies": {
17
+ "@skyscanner/bpk-foundations-web": "^8.0.0",
18
+ "bpk-component-input": "^6.1.13",
19
+ "bpk-component-label": "^5.1.10",
20
+ "bpk-component-select": "^5.1.10",
21
+ "bpk-component-text": "^7.0.4",
22
+ "bpk-mixins": "^31.1.1",
23
+ "bpk-react-utils": "^4.1.2",
24
+ "prop-types": "^15.7.2"
25
+ },
26
+ "peerDependencies": {
27
+ "react": "^16.3.0 || ^17.0.0"
28
+ },
29
+ "devDependencies": {
30
+ "bpk-component-fieldset": "^4.1.15",
31
+ "bpk-component-image": "^5.1.11"
32
+ }
33
+ }
@@ -20,11 +20,10 @@
20
20
 
21
21
  import React from 'react';
22
22
  import PropTypes from 'prop-types';
23
-
24
- import { cssModules } from '../../bpk-react-utils';
25
- import BpkInput, { INPUT_TYPES } from '../../bpk-component-input';
26
- import BpkLabel from '../../bpk-component-label';
27
- import BpkSelect from '../../bpk-component-select';
23
+ import { cssModules } from 'bpk-react-utils';
24
+ import BpkInput, { INPUT_TYPES } from 'bpk-component-input';
25
+ import BpkLabel from 'bpk-component-label';
26
+ import BpkSelect from 'bpk-component-select';
28
27
 
29
28
  import STYLES from './BpkPhoneInput.module.scss';
30
29
 
@@ -84,7 +84,7 @@ class App extends Component {
84
84
  | labelAsTitle | bool | false | false |
85
85
  | padded | bool | false | true |
86
86
  | placement | oneOf(['top', 'right', 'bottom', 'left']) | false | 'bottom' |
87
- | popperModifiers | object | false | null |
87
+ | popperModifiers | arrayOf(object) | false | null |
88
88
  | portalClassName | string | false | null |
89
89
  | portalStyle | object | false | null |
90
90
  | renderTarget | func | false | null |
@@ -118,7 +118,7 @@ const onClose = (event, {
118
118
 
119
119
  #### popperModifiers
120
120
 
121
- 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 popover to overflow the viewport etc.
121
+ 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 popover to overflow the viewport etc.
122
122
 
123
123
  ## Theme Props
124
124
 
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "bpk-component-popover",
3
+ "version": "5.0.0",
4
+ "description": "Backpack popover component.",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git@github.com:Skyscanner/backpack.git"
9
+ },
10
+ "author": "Backpack Design System <backpack@skyscanner.net>",
11
+ "main": "index.js",
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org/"
14
+ },
15
+ "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
16
+ "dependencies": {
17
+ "@popperjs/core": "^2.11.5",
18
+ "a11y-focus-scope": "^1.1.3",
19
+ "a11y-focus-store": "^1.0.0",
20
+ "bpk-component-close-button": "^3.1.11",
21
+ "bpk-component-link": "^3.1.10",
22
+ "bpk-component-text": "^7.0.4",
23
+ "bpk-mixins": "^31.1.1",
24
+ "bpk-react-utils": "^4.1.2",
25
+ "prop-types": "^15.7.2"
26
+ },
27
+ "peerDependencies": {
28
+ "react": "^16.3.0 || ^17.0.0"
29
+ },
30
+ "devDependencies": {
31
+ "bpk-component-button": "^6.2.5",
32
+ "bpk-component-content-container": "^5.0.4",
33
+ "bpk-component-input": "^6.1.13"
34
+ }
35
+ }
@@ -20,11 +20,10 @@
20
20
 
21
21
  import PropTypes from 'prop-types';
22
22
  import React, { type Node } from 'react';
23
-
24
- import BpkText, { TEXT_STYLES } from '../../bpk-component-text';
25
- import { BpkButtonLink } from '../../bpk-component-link';
26
- import BpkCloseButton from '../../bpk-component-close-button';
27
- import { TransitionInitialMount, cssModules } from '../../bpk-react-utils';
23
+ import BpkText, { TEXT_STYLES } from 'bpk-component-text';
24
+ import { BpkButtonLink } from 'bpk-component-link';
25
+ import BpkCloseButton from 'bpk-component-close-button';
26
+ import { TransitionInitialMount, cssModules } from 'bpk-react-utils';
28
27
 
29
28
  import STYLES from './BpkPopover.module.scss';
30
29
  import { ARROW_ID } from './constants';
@@ -109,6 +108,7 @@ const BpkPopover = (props: Props) => {
109
108
  id={ARROW_ID}
110
109
  className={getClassName('bpk-popover__arrow')}
111
110
  role="presentation"
111
+ data-popper-arrow
112
112
  />
113
113
  {labelAsTitle ? (
114
114
  <header className={getClassName('bpk-popover__header')}>
@@ -20,7 +20,8 @@
20
20
 
21
21
  $bpk-spacing-v2: true;
22
22
 
23
- $arrow-size: bpk-spacing-sm() * 3;
23
+ $arrow-size: bpk-spacing-lg();
24
+ $arrow-inset-margin: -($bpk-one-pixel-rem * 11);
24
25
 
25
26
  .bpk-popover-portal {
26
27
  z-index: $bpk-zindex-popover;
@@ -29,22 +30,6 @@ $arrow-size: bpk-spacing-sm() * 3;
29
30
  margin-right: bpk-spacing-base();
30
31
  margin-left: bpk-spacing-base();
31
32
  }
32
-
33
- &[x-placement='top'] {
34
- margin-bottom: $arrow-size;
35
- }
36
-
37
- &[x-placement='right'] {
38
- margin-left: $arrow-size;
39
- }
40
-
41
- &[x-placement='bottom'] {
42
- margin-top: $arrow-size;
43
- }
44
-
45
- &[x-placement='left'] {
46
- margin-right: $arrow-size;
47
- }
48
33
  }
49
34
 
50
35
  .bpk-popover {
@@ -68,22 +53,39 @@ $arrow-size: bpk-spacing-sm() * 3;
68
53
  }
69
54
 
70
55
  &__arrow {
71
- @include bpk-layer-arrow($arrow-size);
56
+ position: aboslute;
57
+ width: $arrow-size;
58
+ height: $arrow-size;
59
+ transform: rotate(45deg);
60
+ border: $bpk-one-pixel-rem solid transparent;
61
+ background: inherit;
62
+
63
+ .bpk-popover-portal[data-popper-placement='top'] & {
64
+ bottom: $arrow-inset-margin;
65
+ border-right-color: $bpk-color-sky-gray-tint-06;
66
+ border-bottom-color: $bpk-color-sky-gray-tint-06;
67
+ }
72
68
 
73
- .bpk-popover-portal[x-placement='top'] & {
74
- @include bpk-layer-arrow-bottom($arrow-size);
69
+ .bpk-popover-portal[data-popper-placement='right'] & {
70
+ left: $arrow-inset-margin;
71
+ border-bottom-color: $bpk-color-sky-gray-tint-06;
72
+ border-left-color: $bpk-color-sky-gray-tint-06;
75
73
  }
76
74
 
77
- .bpk-popover-portal[x-placement='right'] & {
78
- @include bpk-layer-arrow-left($arrow-size);
75
+ .bpk-popover-portal[data-popper-placement='bottom'] & {
76
+ top: $arrow-inset-margin;
77
+ border-top-color: $bpk-color-sky-gray-tint-06;
78
+ border-left-color: $bpk-color-sky-gray-tint-06;
79
79
  }
80
80
 
81
- .bpk-popover-portal[x-placement='bottom'] & {
82
- @include bpk-layer-arrow-top($arrow-size);
81
+ .bpk-popover-portal[data-popper-placement='left'] & {
82
+ right: $arrow-inset-margin;
83
+ border-top-color: $bpk-color-sky-gray-tint-06;
84
+ border-right-color: $bpk-color-sky-gray-tint-06;
83
85
  }
84
86
 
85
- .bpk-popover-portal[x-placement='left'] & {
86
- @include bpk-layer-arrow-right($arrow-size);
87
+ &[data-hide] {
88
+ visibility: hidden;
87
89
  }
88
90
  }
89
91
 
@@ -18,12 +18,11 @@
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 } from 'react';
24
24
  import focusStore from 'a11y-focus-store';
25
-
26
- import { Portal, cssModules } from '../../bpk-react-utils';
25
+ import { Portal, cssModules } from 'bpk-react-utils';
27
26
 
28
27
  import keyboardFocusScope from './keyboardFocusScope';
29
28
  import STYLES from './BpkPopover.module.scss';
@@ -32,7 +31,6 @@ import BpkPopover, {
32
31
  defaultProps as popoverDefaultProps,
33
32
  type Props as PopoverProps,
34
33
  } from './BpkPopover';
35
- import { ARROW_ID } from './constants';
36
34
 
37
35
  const getClassName = cssModules(STYLES);
38
36
 
@@ -52,7 +50,7 @@ export const propTypes = {
52
50
  target: PropTypes.oneOfType([PropTypes.func, PropTypes.node]).isRequired,
53
51
  isOpen: PropTypes.bool.isRequired,
54
52
  onClose: PropTypes.func.isRequired,
55
- placement: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),
53
+ placement: PropTypes.oneOf(basePlacements),
56
54
  portalStyle: PropTypes.object, // eslint-disable-line react/forbid-prop-types
57
55
  portalClassName: PropTypes.string,
58
56
  renderTarget: PropTypes.func,
@@ -69,7 +67,7 @@ export const defaultProps = {
69
67
  };
70
68
 
71
69
  class BpkPopoverPortal extends Component<Props> {
72
- popper: ?typeof Popper;
70
+ popper: ?typeof createPopper;
73
71
 
74
72
  suppressRestoreFocus: boolean;
75
73
 
@@ -140,34 +138,61 @@ class BpkPopoverPortal extends Component<Props> {
140
138
  this.popper = null;
141
139
  }
142
140
 
141
+ // Custom modifier that makes the arrow display at the edge of the target.
142
+ const applyArrowHide = {
143
+ name: 'applyArrowHide',
144
+ enabled: true,
145
+ phase: 'write',
146
+ fn({ state }) {
147
+ const { arrow } = state.elements;
148
+ if (arrow) {
149
+ if (state.modifiersData.arrow.centerOffset !== 0) {
150
+ arrow.setAttribute('data-hide', '');
151
+ } else {
152
+ arrow.removeAttribute('data-hide');
153
+ }
154
+ }
155
+ },
156
+ };
157
+
158
+ // The default modifiers for the popper
143
159
  // Note that GPU acceleration should be disabled otherwise Popper will use `translate3d`
144
160
  // which can cause blurriness in Safari and Chrome.
161
+ const stdModifiers = [
162
+ {
163
+ name: 'computeStyles',
164
+ options: {
165
+ gpuAcceleration: false,
166
+ },
167
+ },
168
+ {
169
+ name: 'offset',
170
+ options: {
171
+ offset: [0, 17],
172
+ },
173
+ },
174
+ applyArrowHide,
175
+ ];
176
+
145
177
  if (!this.popper) {
146
- this.popper = new Popper(targetElement, popoverElement, {
178
+ this.popper = createPopper(targetElement, popoverElement, {
147
179
  placement: this.props.placement,
148
- onCreate: () => {
180
+ onFirstUpdate: () => {
149
181
  if (targetElement) {
150
182
  targetElement.focus();
151
183
  }
152
184
  focusStore.storeFocus();
153
185
  keyboardFocusScope.scopeFocus(popoverElement);
154
186
  },
155
- modifiers: {
156
- ...this.props.popperModifiers,
157
- computeStyle: {
158
- gpuAcceleration: false,
159
- },
160
- arrow: {
161
- element: `#${ARROW_ID}`,
162
- },
163
- },
187
+ modifiers: this.props.popperModifiers
188
+ ? [...this.props.popperModifiers, ...stdModifiers]
189
+ : stdModifiers,
164
190
  });
165
191
  }
166
192
 
167
193
  this.previousTargetElement = targetElement;
168
-
169
194
  if (this.popper) {
170
- this.popper.scheduleUpdate();
195
+ this.popper.update();
171
196
  }
172
197
  }
173
198
 
@@ -18,6 +18,6 @@
18
18
 
19
19
  /* @flow strict */
20
20
 
21
- import { themeAttributes as linkAttributes } from '../../bpk-component-link';
21
+ import { themeAttributes as linkAttributes } from 'bpk-component-link';
22
22
 
23
23
  export default [...linkAttributes];
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "bpk-component-progress",
3
+ "version": "3.1.10",
4
+ "description": "Backpack progress bar component.",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git@github.com:Skyscanner/backpack.git"
9
+ },
10
+ "author": "Backpack Design System <backpack@skyscanner.net>",
11
+ "main": "index.js",
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org/"
14
+ },
15
+ "gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
16
+ "dependencies": {
17
+ "@skyscanner/bpk-foundations-web": "^8.0.0",
18
+ "bpk-mixins": "^31.1.1",
19
+ "bpk-react-utils": "^4.1.2",
20
+ "lodash.clamp": "^4.0.3",
21
+ "prop-types": "^15.7.2"
22
+ },
23
+ "peerDependencies": {
24
+ "react": "^16.3.0 || ^17.0.0"
25
+ },
26
+ "devDependencies": {
27
+ "bpk-component-button": "^6.2.5",
28
+ "bpk-storybook-utils": "^1.1.9"
29
+ }
30
+ }
@@ -22,8 +22,7 @@ import PropTypes from 'prop-types';
22
22
  import React, { Component } from 'react';
23
23
  import { colorWhite } from '@skyscanner/bpk-foundations-web/tokens/base.es6';
24
24
  import clamp from 'lodash.clamp';
25
-
26
- import { cssModules } from '../../bpk-react-utils';
25
+ import { cssModules } from 'bpk-react-utils';
27
26
 
28
27
  import STYLES from './BpkProgress.module.scss';
29
28
 
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "bpk-component-radio",
3
+ "version": "3.1.11",
4
+ "description": "Backpack radio button component.",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git@github.com:Skyscanner/backpack.git"
9
+ },
10
+ "author": "Backpack Design System <backpack@skyscanner.net>",
11
+ "main": "index.js",
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org/"
14
+ },
15
+ "gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
16
+ "dependencies": {
17
+ "bpk-mixins": "^31.1.1",
18
+ "bpk-react-utils": "^4.1.2",
19
+ "prop-types": "^15.7.2"
20
+ },
21
+ "peerDependencies": {
22
+ "react": "^16.3.0 || ^17.0.0"
23
+ },
24
+ "devDependencies": {
25
+ "@skyscanner/bpk-foundations-web": "^8.0.0",
26
+ "bpk-storybook-utils": "^1.1.9"
27
+ }
28
+ }
@@ -20,8 +20,7 @@
20
20
 
21
21
  import PropTypes from 'prop-types';
22
22
  import React, { type Node } from 'react';
23
-
24
- import { cssModules } from '../../bpk-react-utils';
23
+ import { cssModules } from 'bpk-react-utils';
25
24
 
26
25
  import STYLES from './BpkRadio.module.scss';
27
26
 
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "bpk-component-rating",
3
+ "version": "5.0.1",
4
+ "description": "Backpack rating component.",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git@github.com:Skyscanner/backpack.git"
9
+ },
10
+ "author": "Backpack Design System <backpack@skyscanner.net>",
11
+ "main": "index.js",
12
+ "publishConfig": {
13
+ "registry": "https://registry.npmjs.org/"
14
+ },
15
+ "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
16
+ "dependencies": {
17
+ "bpk-mixins": "^31.1.1",
18
+ "bpk-react-utils": "^4.1.2",
19
+ "lodash.clamp": "^4.0.3",
20
+ "prop-types": "^15.5.8"
21
+ },
22
+ "peerDependencies": {
23
+ "react": "^16.3.0 || ^17.0.0"
24
+ },
25
+ "devDependencies": {
26
+ "@skyscanner/bpk-foundations-web": "^8.0.0",
27
+ "bpk-component-text": "^7.0.4"
28
+ }
29
+ }