@skyscanner/backpack-web 33.4.0 → 34.0.0-premajor
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/bpk-component-accordion/index.js +1 -1
- package/bpk-component-accordion/src/BpkAccordionItem.js +12 -12
- package/bpk-component-accordion/src/BpkAccordionItem.module.css +1 -1
- package/bpk-component-autosuggest/src/BpkAutosuggestSuggestion.js +4 -1
- package/bpk-component-banner-alert/index.js +1 -1
- package/bpk-component-banner-alert/src/AnimateAndFade.js +33 -31
- package/bpk-component-banner-alert/src/BpkBannerAlertInner.js +11 -4
- package/bpk-component-barchart/src/BpkBarchart.js +8 -8
- package/bpk-component-bottom-sheet/src/BpkBottomSheet.js +3 -3
- package/bpk-component-breadcrumb/src/BpkBreadcrumbItem.js +17 -12
- package/bpk-component-breadcrumb/src/BpkBreadcrumbItem.module.css +1 -1
- package/bpk-component-button/index.js +5 -5
- package/bpk-component-button/src/BpkButtonDestructive.js +10 -9
- package/bpk-component-button/src/BpkButtonFeatured.js +10 -9
- package/bpk-component-button/src/BpkButtonLink.js +11 -10
- package/bpk-component-button/src/BpkButtonLinkOnDark.js +11 -10
- package/bpk-component-button/src/BpkButtonPrimary.js +2 -2
- package/bpk-component-button/src/BpkButtonPrimaryOnDark.js +10 -9
- package/bpk-component-button/src/BpkButtonPrimaryOnLight.js +10 -9
- package/bpk-component-button/src/BpkButtonSecondary.js +10 -10
- package/bpk-component-button/src/BpkButtonSecondaryOnDark.js +10 -9
- package/bpk-component-calendar/index.js +1 -1
- package/bpk-component-calendar/src/BpkCalendarContainer.js +3 -3
- package/bpk-component-calendar/src/BpkCalendarGrid.js +2 -2
- package/bpk-component-calendar/src/BpkCalendarGrid.module.css +1 -1
- package/bpk-component-calendar/src/BpkCalendarGridHeader.js +4 -1
- package/bpk-component-calendar/src/BpkCalendarGridTransition.js +5 -2
- package/bpk-component-calendar/src/BpkCalendarNav.js +9 -3
- package/bpk-component-calendar/src/Week.js +6 -3
- package/bpk-component-calendar/src/composeCalendar.js +8 -2
- package/bpk-component-calendar/src/date-utils.js +14 -14
- package/bpk-component-card/src/BpkDividedCard.js +18 -13
- package/bpk-component-card-button/src/BpkSaveButton.js +13 -4
- package/bpk-component-chip/index.d.ts +3 -5
- package/bpk-component-chip/index.js +3 -2
- package/bpk-component-chip/src/BpkDismissibleChip.js +7 -2
- package/bpk-component-chip/src/BpkIconChip.d.ts +25 -0
- package/bpk-component-chip/src/BpkIconChip.js +31 -0
- package/bpk-component-chip/src/BpkSelectableChip.d.ts +0 -2
- package/bpk-component-chip/src/BpkSelectableChip.js +3 -3
- package/bpk-component-chip/src/BpkSelectableChip.module.css +1 -1
- package/bpk-component-chip/src/commonTypes.d.ts +1 -1
- package/bpk-component-chip/src/commonTypes.js +1 -24
- package/bpk-component-content-cards/src/BpkContentCard.js +8 -2
- package/bpk-component-datatable/src/BpkDataTable.js +1 -1
- package/bpk-component-datatable/src/BpkDataTableHeader.js +12 -8
- package/bpk-component-datatable/src/BpkDataTableHeader.module.css +1 -1
- package/bpk-component-datepicker/src/BpkDatepicker.js +2 -2
- package/bpk-component-description-list/index.js +1 -1
- package/bpk-component-description-list/src/ComponentFactory.js +10 -5
- package/bpk-component-dialog/src/BpkDialog.js +6 -4
- package/bpk-component-dialog/src/BpkDialog.module.css +1 -1
- package/bpk-component-dialog/src/BpkDialogInner.js +6 -3
- package/bpk-component-drawer/src/BpkDrawer.js +1 -4
- package/bpk-component-drawer/src/BpkDrawerContent.js +7 -5
- package/bpk-component-fieldset/src/BpkFieldset.js +9 -7
- package/bpk-component-flare/index.js +2 -2
- package/bpk-component-flare/src/BpkContentBubble.js +4 -1
- package/bpk-component-flare/src/BpkFlareBar.js +13 -4
- package/bpk-component-flare/src/__generated__/corner-radius.d.ts +6 -0
- package/bpk-component-flare/src/__generated__/pointer.d.ts +6 -0
- package/bpk-component-floating-notification/src/BpkFloatingNotification.js +8 -2
- package/bpk-component-form-validation/src/BpkFormValidation.js +5 -4
- package/bpk-component-graphic-promotion/src/BpkGraphicPromo.js +9 -11
- package/bpk-component-graphic-promotion/src/BpkGraphicPromo.module.css +1 -1
- package/bpk-component-grid-toggle/src/BpkGridToggle.js +8 -6
- package/bpk-component-horizontal-nav/src/BpkHorizontalNav.js +16 -14
- package/bpk-component-horizontal-nav/src/BpkHorizontalNav.module.css +1 -1
- package/bpk-component-horizontal-nav/src/BpkHorizontalNavItem.js +2 -2
- package/bpk-component-icon/index.js +1 -1
- package/bpk-component-icon/src/classNameModifierHOCFactory.js +3 -0
- package/bpk-component-image/index.js +2 -2
- package/bpk-component-image/src/BpkBackgroundImage.js +2 -1
- package/bpk-component-image/src/BpkImage.js +2 -1
- package/bpk-component-infinite-scroll/src/withInfiniteScroll.js +3 -3
- package/bpk-component-info-banner/src/AnimateAndFade.js +33 -31
- package/bpk-component-info-banner/src/BpkInfoBanner.module.css +1 -1
- package/bpk-component-info-banner/src/BpkInfoBannerInner.js +16 -12
- package/bpk-component-input/index.js +1 -1
- package/bpk-component-input/src/BpkClearButton.js +3 -1
- package/bpk-component-input/src/BpkInput.js +4 -1
- package/bpk-component-input/src/withOpenEvents.js +4 -1
- package/bpk-component-link/index.js +2 -2
- package/bpk-component-list/src/BpkList.js +4 -1
- package/bpk-component-loading-button/src/BpkLoadingButton.js +6 -3
- package/bpk-component-map/index.js +4 -4
- package/bpk-component-map/src/BpkIconMarker.js +1 -1
- package/bpk-component-map/src/BpkMap.js +2 -2
- package/bpk-component-map/src/BpkPriceMarker.js +7 -5
- package/bpk-component-map/src/BpkPriceMarkerV2/BpkPriceMarker.js +1 -1
- package/bpk-component-mobile-scroll-container/src/BpkMobileScrollContainer.js +4 -1
- package/bpk-component-modal/index.js +4 -3
- package/bpk-component-modal/src/BpkModal.d.ts +2 -1
- package/bpk-component-modal/src/BpkModal.js +8 -3
- package/bpk-component-modal/src/BpkModalInner.d.ts +2 -0
- package/bpk-component-modal/src/BpkModalInner.js +24 -8
- package/bpk-component-modal/src/BpkModalInner.module.css +1 -1
- package/bpk-component-modal/src/BpkModalV2/BpKModal.module.css +1 -1
- package/bpk-component-modal/src/BpkModalV2/BpkModal.d.ts +2 -0
- package/bpk-component-modal/src/BpkModalV2/BpkModal.js +19 -8
- package/bpk-component-navigation-bar/index.js +1 -1
- package/bpk-component-navigation-bar/src/BpkNavigationBar.js +7 -5
- package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.js +4 -1
- package/bpk-component-navigation-bar/src/BpkNavigationBarIconButton.js +4 -1
- package/bpk-component-nudger/index.js +1 -1
- package/bpk-component-nudger/src/BpkConfigurableNudger.js +16 -4
- package/bpk-component-nudger/src/BpkNudger.js +16 -5
- package/bpk-component-page-indicator/src/BpkPageIndicator.module.css +1 -1
- package/bpk-component-page-indicator/src/NavButton.js +1 -1
- package/bpk-component-pagination/src/BpkPaginationList.js +1 -1
- package/bpk-component-pagination/src/BpkPaginationNudger.js +13 -4
- package/bpk-component-pagination/src/BpkPaginationPage.js +4 -1
- package/bpk-component-phone-input/src/BpkPhoneInput.js +15 -4
- package/bpk-component-popover/src/BpkPopover.js +105 -61
- package/bpk-component-popover/src/BpkPopoverPortal.js +121 -115
- package/bpk-component-popover/src/keyboardFocusScope.js +1 -1
- package/bpk-component-price/src/BpkPrice.js +17 -5
- package/bpk-component-rating/src/BpkRating.js +17 -5
- package/bpk-component-rtl-toggle/src/BpkRtlToggle.js +4 -1
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGrid.js +6 -3
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList.js +6 -3
- package/bpk-component-section-header/src/BpkSectionHeader.js +9 -3
- package/bpk-component-section-list/index.js +1 -1
- package/bpk-component-section-list/src/BpkSectionListItem.js +10 -4
- package/bpk-component-section-list/src/BpkSectionListSection.js +1 -1
- package/bpk-component-slider/src/BpkSlider.js +4 -1
- package/bpk-component-spinner/index.js +3 -3
- package/bpk-component-spinner/src/BpkExtraLargeSpinner.js +7 -4
- package/bpk-component-spinner/src/BpkLargeSpinner.js +7 -4
- package/bpk-component-spinner/src/BpkSpinner.js +7 -4
- package/bpk-component-split-input/src/BpkInputField.js +2 -2
- package/bpk-component-split-input/src/BpkSplitInput.js +3 -3
- package/bpk-component-star-rating/index.js +4 -4
- package/bpk-component-star-rating/src/BpkInteractiveStar.js +6 -2
- package/bpk-component-star-rating/src/BpkInteractiveStarRating.js +1 -1
- package/bpk-component-star-rating/src/BpkStar.js +22 -15
- package/bpk-component-swap-button/src/BpkSwapButton.js +2 -1
- package/bpk-component-table/index.js +2 -2
- package/bpk-component-text/src/BpkText.js +10 -5
- package/bpk-component-theme-toggle/src/BpkThemeToggle.js +4 -1
- package/bpk-component-theme-toggle/src/updateOnThemeChange.js +1 -1
- package/bpk-component-tooltip/src/BpkTooltipPortal.js +4 -1
- package/bpk-mixins/_chips.scss +9 -0
- package/bpk-react-utils/index.js +3 -3
- package/bpk-react-utils/src/withDefaultProps.js +4 -1
- package/bpk-scrim-utils/src/withScrimmedPortal.js +1 -1
- package/bpk-theming/src/BpkThemeProvider.js +1 -1
- package/package.json +5 -3
- package/unstable__bpk-mixins/_chips.scss +9 -0
- package/bpk-component-button/src/commonButtonTests.js +0 -133
|
@@ -19,10 +19,10 @@ import { Component } from 'react';
|
|
|
19
19
|
import { createPopper } from '@popperjs/core';
|
|
20
20
|
import focusStore from 'a11y-focus-store';
|
|
21
21
|
import { Portal, cssModules } from "../../bpk-react-utils";
|
|
22
|
-
import keyboardFocusScope from "./keyboardFocusScope";
|
|
23
22
|
import BpkPopover from "./BpkPopover";
|
|
23
|
+
import keyboardFocusScope from "./keyboardFocusScope";
|
|
24
24
|
import STYLES from "./BpkPopover.module.css";
|
|
25
|
-
import { jsx as _jsx, Fragment as _Fragment
|
|
25
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
26
26
|
const getClassName = cssModules(STYLES);
|
|
27
27
|
class BpkPopoverPortal extends Component {
|
|
28
28
|
constructor() {
|
|
@@ -30,9 +30,10 @@ class BpkPopoverPortal extends Component {
|
|
|
30
30
|
this.popper = null;
|
|
31
31
|
this.previousTargetElement = null;
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
|
|
34
|
+
// onRender = (popoverElement: HTMLElement, targetElement: ?HTMLElement) => {
|
|
35
|
+
// this.position(popoverElement, targetElement);
|
|
36
|
+
// };
|
|
36
37
|
|
|
37
38
|
// The order of events here is as follows:
|
|
38
39
|
// - `onClose` is called by `Portal`
|
|
@@ -42,125 +43,130 @@ class BpkPopoverPortal extends Component {
|
|
|
42
43
|
|
|
43
44
|
// `onClose` is called by the `Portal` to inform the consumer that `isOpen` should be made false.
|
|
44
45
|
// Before we pass this information to the consumer, we want to note if restoring focus should be suppressed
|
|
45
|
-
onClose = (event, information) => {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
46
|
+
// onClose = (event: Object, information: { source: string }) => {
|
|
47
|
+
// // If the user has clicked outside the popover then we don't want focus to be restored
|
|
48
|
+
// // otherwise it will be stolen back from the element they clicked on.
|
|
49
|
+
// // Here we suppress restoring focus before the consumer is told about the close and updates state.
|
|
50
|
+
// this.suppressRestoreFocus = information.source === 'DOCUMENT_CLICK';
|
|
51
|
+
|
|
52
|
+
// if (this.props.onClose) {
|
|
53
|
+
// this.props.onClose(event, information);
|
|
54
|
+
// }
|
|
55
|
+
// };
|
|
54
56
|
|
|
55
57
|
// `beforeClose` is called by the `Portal` when `isOpen` is changed to false.
|
|
56
58
|
// As a result, `onClose` is called first, followed by `beforeClose`.
|
|
57
|
-
beforeClose = done => {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
59
|
+
// beforeClose = (done: () => void) => {
|
|
60
|
+
// if (this.popper) {
|
|
61
|
+
// this.popper.destroy();
|
|
62
|
+
// this.popper = null;
|
|
63
|
+
// this.previousTargetElement = null;
|
|
64
|
+
// }
|
|
65
|
+
|
|
66
|
+
// keyboardFocusScope.unscopeFocus();
|
|
67
|
+
// if (!this.suppressRestoreFocus) {
|
|
68
|
+
// focusStore.restoreFocus();
|
|
69
|
+
// this.suppressRestoreFocus = false;
|
|
70
|
+
// }
|
|
71
|
+
|
|
72
|
+
// done();
|
|
73
|
+
// };
|
|
74
|
+
|
|
75
|
+
// position(popoverElement: HTMLElement, targetElement: ?HTMLElement) {
|
|
76
|
+
// if (!targetElement) {
|
|
77
|
+
// return;
|
|
78
|
+
// }
|
|
79
|
+
|
|
80
|
+
// const targetElementHasChanged =
|
|
81
|
+
// targetElement !== this.previousTargetElement;
|
|
82
|
+
|
|
83
|
+
// if (targetElementHasChanged && this.popper) {
|
|
84
|
+
// this.popper.destroy();
|
|
85
|
+
// this.popper = null;
|
|
86
|
+
// }
|
|
87
|
+
|
|
88
|
+
// // Custom modifier that makes the arrow display at the edge of the target.
|
|
89
|
+
// const applyArrowHide = {
|
|
90
|
+
// name: 'applyArrowHide',
|
|
91
|
+
// enabled: true,
|
|
92
|
+
// phase: 'write',
|
|
93
|
+
// fn({ state }) {
|
|
94
|
+
// const { arrow } = state.elements;
|
|
95
|
+
// if (arrow) {
|
|
96
|
+
// if (state.modifiersData.arrow.centerOffset !== 0) {
|
|
97
|
+
// arrow.setAttribute('data-hide', '');
|
|
98
|
+
// } else {
|
|
99
|
+
// arrow.removeAttribute('data-hide');
|
|
100
|
+
// }
|
|
101
|
+
// }
|
|
102
|
+
// },
|
|
103
|
+
// };
|
|
104
|
+
|
|
105
|
+
// // The default modifiers for the popper
|
|
106
|
+
// // Note that GPU acceleration should be disabled otherwise Popper will use `translate3d`
|
|
107
|
+
// // which can cause blurriness in Safari and Chrome.
|
|
108
|
+
// const stdModifiers = [
|
|
109
|
+
// {
|
|
110
|
+
// name: 'computeStyles',
|
|
111
|
+
// options: {
|
|
112
|
+
// gpuAcceleration: false,
|
|
113
|
+
// },
|
|
114
|
+
// },
|
|
115
|
+
// {
|
|
116
|
+
// name: 'offset',
|
|
117
|
+
// options: {
|
|
118
|
+
// offset: [0, 17],
|
|
119
|
+
// },
|
|
120
|
+
// },
|
|
121
|
+
// applyArrowHide,
|
|
122
|
+
// ];
|
|
123
|
+
|
|
124
|
+
// if (!this.popper) {
|
|
125
|
+
// this.popper = createPopper(targetElement, popoverElement, {
|
|
126
|
+
// placement: this.props.placement,
|
|
127
|
+
// onFirstUpdate: () => {
|
|
128
|
+
// if (targetElement) {
|
|
129
|
+
// targetElement.focus();
|
|
130
|
+
// }
|
|
131
|
+
// focusStore.storeFocus();
|
|
132
|
+
// keyboardFocusScope.scopeFocus(popoverElement);
|
|
133
|
+
// },
|
|
134
|
+
// modifiers: this.props.popperModifiers
|
|
135
|
+
// ? [...this.props.popperModifiers, ...stdModifiers]
|
|
136
|
+
// : stdModifiers,
|
|
137
|
+
// });
|
|
138
|
+
// }
|
|
139
|
+
|
|
140
|
+
// this.previousTargetElement = targetElement;
|
|
141
|
+
// if (this.popper) {
|
|
142
|
+
// this.popper.update();
|
|
143
|
+
// }
|
|
144
|
+
// }
|
|
145
|
+
|
|
133
146
|
render() {
|
|
134
147
|
const {
|
|
135
|
-
isOpen,
|
|
136
|
-
onClose,
|
|
137
|
-
placement,
|
|
138
|
-
popperModifiers,
|
|
148
|
+
// isOpen,
|
|
149
|
+
// onClose,
|
|
150
|
+
// placement,
|
|
151
|
+
// popperModifiers,
|
|
139
152
|
portalClassName,
|
|
140
|
-
portalStyle,
|
|
141
|
-
renderTarget,
|
|
142
|
-
target,
|
|
153
|
+
// portalStyle,
|
|
154
|
+
// renderTarget,
|
|
155
|
+
// target,
|
|
143
156
|
...rest
|
|
144
157
|
} = this.props;
|
|
145
|
-
const classNames =
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
158
|
+
const classNames = getClassName('bpk-popover-portal', portalClassName);
|
|
159
|
+
|
|
160
|
+
// if (portalClassName) {
|
|
161
|
+
// classNames.push(portalClassName);
|
|
162
|
+
// }
|
|
163
|
+
|
|
164
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
165
|
+
children: /*#__PURE__*/_jsx(BpkPopover, {
|
|
166
|
+
className: classNames,
|
|
154
167
|
onClose: this.onClose,
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
renderTarget: renderTarget,
|
|
158
|
-
target: target,
|
|
159
|
-
children: /*#__PURE__*/_jsx(BpkPopover, {
|
|
160
|
-
onClose: this.onClose,
|
|
161
|
-
...rest
|
|
162
|
-
})
|
|
163
|
-
})]
|
|
168
|
+
...rest
|
|
169
|
+
})
|
|
164
170
|
});
|
|
165
171
|
}
|
|
166
172
|
}
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
// it only prevents it leaving due to keyboard events.
|
|
22
22
|
// Clicks outside the target element will move focus as normal.
|
|
23
23
|
|
|
24
|
-
import tabbable from 'tabbable';
|
|
25
24
|
import focusin from 'focusin';
|
|
25
|
+
import tabbable from 'tabbable';
|
|
26
26
|
let polyfilled = false;
|
|
27
27
|
let focusTrapped = false;
|
|
28
28
|
const init = element => {
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
* See the License for the specific language governing permissions and
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/import PropTypes from 'prop-types';
|
|
18
|
-
import { cssModules } from "../../bpk-react-utils";
|
|
19
18
|
import BpkText, { TEXT_STYLES } from "../../bpk-component-text";
|
|
19
|
+
import { cssModules } from "../../bpk-react-utils";
|
|
20
20
|
import { SIZES, ALIGNS } from "./common-types";
|
|
21
21
|
import STYLES from "./BpkPrice.module.css";
|
|
22
22
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -42,14 +42,20 @@ const BpkPrice = props => {
|
|
|
42
42
|
...rest,
|
|
43
43
|
children: [/*#__PURE__*/_jsxs("div", {
|
|
44
44
|
className: getClassName(previousPrice && 'bpk-price__leading', isAlignRight && 'bpk-price__leading--right', leadingClassName),
|
|
45
|
-
children: [previousPrice && /*#__PURE__*/_jsx(BpkText
|
|
45
|
+
children: [previousPrice && /*#__PURE__*/_jsx(BpkText
|
|
46
|
+
// TODO: className to be removed
|
|
47
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
48
|
+
, {
|
|
46
49
|
className: getClassName('bpk-price__previous-price'),
|
|
47
50
|
textStyle: isSmall ? TEXT_STYLES.xs : TEXT_STYLES.sm,
|
|
48
51
|
tagName: "span",
|
|
49
52
|
children: previousPrice
|
|
50
53
|
}), previousPrice && leadingText && /*#__PURE__*/_jsx(BpkText, {
|
|
51
54
|
textStyle: isSmall ? TEXT_STYLES.xs : TEXT_STYLES.sm,
|
|
52
|
-
tagName: "span"
|
|
55
|
+
tagName: "span"
|
|
56
|
+
// TODO: className to be removed
|
|
57
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
58
|
+
,
|
|
53
59
|
className: getClassName('bpk-price__separator'),
|
|
54
60
|
children: "\uD802\uDD1F"
|
|
55
61
|
}), leadingText && /*#__PURE__*/_jsx(BpkText, {
|
|
@@ -60,13 +66,19 @@ const BpkPrice = props => {
|
|
|
60
66
|
}), /*#__PURE__*/_jsxs("div", {
|
|
61
67
|
className: getClassName(isAlignRight && 'bpk-price__column-container'),
|
|
62
68
|
children: [/*#__PURE__*/_jsx(BpkText, {
|
|
63
|
-
textStyle: isSmall ? TEXT_STYLES.heading4 : TEXT_STYLES.xxl
|
|
69
|
+
textStyle: isSmall ? TEXT_STYLES.heading4 : TEXT_STYLES.xxl
|
|
70
|
+
// TODO: className to be removed
|
|
71
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
72
|
+
,
|
|
64
73
|
className: getClassName('bpk-price__price', !isAlignRight && 'bpk-price__spacing'),
|
|
65
74
|
tagName: "span",
|
|
66
75
|
children: price
|
|
67
76
|
}), trailingText && /*#__PURE__*/_jsx(BpkText, {
|
|
68
77
|
textStyle: isSmall ? TEXT_STYLES.xs : TEXT_STYLES.sm,
|
|
69
|
-
tagName: "span"
|
|
78
|
+
tagName: "span"
|
|
79
|
+
// TODO: className to be removed
|
|
80
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
81
|
+
,
|
|
70
82
|
className: getClassName('bpk-price__trailing'),
|
|
71
83
|
children: trailingText
|
|
72
84
|
})]
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/import PropTypes from 'prop-types';
|
|
18
18
|
import clamp from 'lodash.clamp';
|
|
19
|
-
import { cssModules } from "../../bpk-react-utils";
|
|
20
19
|
import BpkText, { TEXT_STYLES } from "../../bpk-component-text";
|
|
20
|
+
import { cssModules } from "../../bpk-react-utils";
|
|
21
21
|
import { RATING_SIZES, RATING_SCALES } from "./common-types";
|
|
22
22
|
import STYLES from "./BpkRating.module.css";
|
|
23
23
|
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -79,11 +79,17 @@ const BpkRating = props => {
|
|
|
79
79
|
...rest,
|
|
80
80
|
children: [/*#__PURE__*/_jsxs(BpkText, {
|
|
81
81
|
textStyle: valueTextSize,
|
|
82
|
-
tagName: "span"
|
|
82
|
+
tagName: "span"
|
|
83
|
+
// TODO: className to be removed
|
|
84
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
85
|
+
,
|
|
83
86
|
className: valueStyles,
|
|
84
87
|
"aria-hidden": "true",
|
|
85
88
|
children: [adjustedValue, showScale && /*#__PURE__*/_jsxs(BpkText, {
|
|
86
|
-
textStyle: scaleTextSize
|
|
89
|
+
textStyle: scaleTextSize
|
|
90
|
+
// TODO: className to be removed
|
|
91
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
92
|
+
,
|
|
87
93
|
className: scaleStyles,
|
|
88
94
|
tagName: "span",
|
|
89
95
|
"aria-hidden": "true",
|
|
@@ -92,12 +98,18 @@ const BpkRating = props => {
|
|
|
92
98
|
}), /*#__PURE__*/_jsxs("div", {
|
|
93
99
|
className: textWrapperStyles,
|
|
94
100
|
children: [title && /*#__PURE__*/_jsx(BpkText, {
|
|
95
|
-
textStyle: titleTextSize
|
|
101
|
+
textStyle: titleTextSize
|
|
102
|
+
// TODO: className to be removed
|
|
103
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
104
|
+
,
|
|
96
105
|
className: titleStyles,
|
|
97
106
|
tagName: "span",
|
|
98
107
|
"aria-hidden": "true",
|
|
99
108
|
children: title
|
|
100
|
-
}), subtitle && /*#__PURE__*/_jsx(BpkText
|
|
109
|
+
}), subtitle && /*#__PURE__*/_jsx(BpkText
|
|
110
|
+
// TODO: className to be removed
|
|
111
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
112
|
+
, {
|
|
101
113
|
className: subtitleStyles,
|
|
102
114
|
textStyle: subtitleTextSize,
|
|
103
115
|
tagName: "span",
|
|
@@ -66,7 +66,10 @@ class BpkRtlToggle extends Component {
|
|
|
66
66
|
const onOrOff = this.state.direction === DIRECTIONS.RTL ? 'off' : 'on';
|
|
67
67
|
return /*#__PURE__*/_jsxs(BpkButtonLink, {
|
|
68
68
|
title: "Keyboard Shortcut: ctrl + cmd + r",
|
|
69
|
-
onClick: this.toggleRtl
|
|
69
|
+
onClick: this.toggleRtl
|
|
70
|
+
// TODO: className to be removed
|
|
71
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
72
|
+
,
|
|
70
73
|
className: className,
|
|
71
74
|
children: ["RTL ", onOrOff]
|
|
72
75
|
});
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import { cssModules } from "../../bpk-react-utils";
|
|
20
|
-
import BpkText, { TEXT_STYLES } from "../../bpk-component-text";
|
|
21
19
|
import { BpkCalendarGrid } from "../../bpk-component-calendar";
|
|
20
|
+
import BpkText, { TEXT_STYLES } from "../../bpk-component-text";
|
|
21
|
+
import { cssModules } from "../../bpk-react-utils";
|
|
22
22
|
import STYLES from "./BpkScrollableCalendarGrid.module.css";
|
|
23
23
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
24
|
const getClassName = cssModules(STYLES);
|
|
@@ -32,7 +32,10 @@ const BpkScrollableCalendarGrid = ({
|
|
|
32
32
|
const classNames = getClassName('bpk-scrollable-calendar-grid', className);
|
|
33
33
|
return /*#__PURE__*/_jsxs("div", {
|
|
34
34
|
className: classNames,
|
|
35
|
-
children: [/*#__PURE__*/_jsx(BpkText
|
|
35
|
+
children: [/*#__PURE__*/_jsx(BpkText
|
|
36
|
+
// TODO: className to be removed
|
|
37
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
38
|
+
, {
|
|
36
39
|
className: getClassName('bpk-scrollable-calendar-grid__title'),
|
|
37
40
|
tagName: "h1",
|
|
38
41
|
textStyle: TEXT_STYLES.heading4,
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
|
|
19
19
|
import { useRef, useState, useMemo, useEffect } from 'react';
|
|
20
20
|
import { startOfDay, startOfMonth } from 'date-fns';
|
|
21
|
-
import { VariableSizeList as List } from 'react-window';
|
|
22
21
|
import AutoSizer from 'react-virtualized-auto-sizer';
|
|
23
|
-
import {
|
|
22
|
+
import { VariableSizeList as List } from 'react-window';
|
|
24
23
|
import { CALENDAR_SELECTION_TYPE, DateUtils } from "../../bpk-component-calendar";
|
|
24
|
+
import { cssModules } from "../../bpk-react-utils";
|
|
25
25
|
import BpkScrollableCalendarGrid from "./BpkScrollableCalendarGrid";
|
|
26
26
|
import { getMonthsArray, getMonthItemHeights } from "./utils";
|
|
27
27
|
import STYLES from "./BpkScrollableCalendarGridList.module.css";
|
|
@@ -82,7 +82,10 @@ const BpkScrollableCalendarGridList = props => {
|
|
|
82
82
|
month: months[index],
|
|
83
83
|
focusedDate: focusedDate,
|
|
84
84
|
preventKeyboardFocus: rest.preventKeyboardFocus,
|
|
85
|
-
"aria-hidden": index !== 1
|
|
85
|
+
"aria-hidden": index !== 1
|
|
86
|
+
// TODO: className to be removed
|
|
87
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
88
|
+
,
|
|
86
89
|
className: getClassName('bpk-scrollable-calendar-grid-list__item')
|
|
87
90
|
})
|
|
88
91
|
});
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import { cssModules } from "../../bpk-react-utils";
|
|
20
19
|
import BpkText from "../../bpk-component-text";
|
|
20
|
+
import { cssModules } from "../../bpk-react-utils";
|
|
21
21
|
import STYLES from "./BpkSectionHeader.module.css";
|
|
22
22
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
23
|
const getClassName = cssModules(STYLES);
|
|
@@ -35,10 +35,16 @@ const BpkSectionHeader = ({
|
|
|
35
35
|
children: [/*#__PURE__*/_jsxs("div", {
|
|
36
36
|
className: getClassName('bpk-section-header__title-description', `bpk-section-header__title-description--${type}`),
|
|
37
37
|
children: [/*#__PURE__*/_jsx(BpkText, {
|
|
38
|
-
tagName: "h2"
|
|
38
|
+
tagName: "h2"
|
|
39
|
+
// TODO: className to be removed
|
|
40
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
41
|
+
,
|
|
39
42
|
className: getClassName('bpk-section-header__title'),
|
|
40
43
|
children: title
|
|
41
|
-
}), description && /*#__PURE__*/_jsx(BpkText
|
|
44
|
+
}), description && /*#__PURE__*/_jsx(BpkText
|
|
45
|
+
// TODO: className to be removed
|
|
46
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
47
|
+
, {
|
|
42
48
|
className: getClassName('bpk-section-header__description'),
|
|
43
49
|
children: description
|
|
44
50
|
})]
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* See the License for the specific language governing permissions and
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/import BpkSectionList from "./src/BpkSectionList";
|
|
18
|
-
import BpkSectionListSection from "./src/BpkSectionListSection";
|
|
19
18
|
import BpkSectionListItem from "./src/BpkSectionListItem";
|
|
19
|
+
import BpkSectionListSection from "./src/BpkSectionListSection";
|
|
20
20
|
export default BpkSectionList;
|
|
21
21
|
export { BpkSectionListSection, BpkSectionListItem };
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
* See the License for the specific language governing permissions and
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/import PropTypes from 'prop-types';
|
|
18
|
-
import { cssModules } from "../../bpk-react-utils";
|
|
19
|
-
import BpkLargeChevronRightIcon from "../../bpk-component-icon/lg/chevron-right";
|
|
20
18
|
import { withRtlSupport } from "../../bpk-component-icon";
|
|
19
|
+
import BpkLargeChevronRightIcon from "../../bpk-component-icon/lg/chevron-right";
|
|
20
|
+
import { cssModules } from "../../bpk-react-utils";
|
|
21
21
|
import STYLES from "./BpkSectionListItem.module.css";
|
|
22
22
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
23
|
const BpkLargeChevronRightIconWithRtlSupport = withRtlSupport(BpkLargeChevronRightIcon);
|
|
@@ -43,7 +43,10 @@ const BpkSectionListItem = props => {
|
|
|
43
43
|
onClick: onClick,
|
|
44
44
|
className: classNames.join(' '),
|
|
45
45
|
...rest,
|
|
46
|
-
children: [children, /*#__PURE__*/_jsx(BpkLargeChevronRightIconWithRtlSupport
|
|
46
|
+
children: [children, /*#__PURE__*/_jsx(BpkLargeChevronRightIconWithRtlSupport
|
|
47
|
+
// TODO: className to be removed
|
|
48
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
49
|
+
, {
|
|
47
50
|
className: getClassName('bpk-section-list-item__chevron')
|
|
48
51
|
})]
|
|
49
52
|
})
|
|
@@ -58,7 +61,10 @@ const BpkSectionListItem = props => {
|
|
|
58
61
|
onClick: onClick,
|
|
59
62
|
className: classNames.join(' '),
|
|
60
63
|
...rest,
|
|
61
|
-
children: [children, /*#__PURE__*/_jsx(BpkLargeChevronRightIconWithRtlSupport
|
|
64
|
+
children: [children, /*#__PURE__*/_jsx(BpkLargeChevronRightIconWithRtlSupport
|
|
65
|
+
// TODO: className to be removed
|
|
66
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
67
|
+
, {
|
|
62
68
|
className: getClassName('bpk-section-list-item__chevron')
|
|
63
69
|
})]
|
|
64
70
|
})
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/import PropTypes from 'prop-types';
|
|
18
18
|
import { Children } from 'react';
|
|
19
|
-
import { cssModules } from "../../bpk-react-utils";
|
|
20
19
|
import BpkText, { TEXT_STYLES } from "../../bpk-component-text";
|
|
20
|
+
import { cssModules } from "../../bpk-react-utils";
|
|
21
21
|
import STYLES from "./BpkSectionListSection.module.css";
|
|
22
22
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
23
|
const getClassName = cssModules(STYLES);
|
|
@@ -44,7 +44,10 @@ const BpkSlider = props => {
|
|
|
44
44
|
...rest,
|
|
45
45
|
withTracks: true,
|
|
46
46
|
snapDragDisabled: false,
|
|
47
|
-
invert: invert
|
|
47
|
+
invert: invert
|
|
48
|
+
// TODO: className to be removed
|
|
49
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
50
|
+
,
|
|
48
51
|
className: classNames.join(' '),
|
|
49
52
|
thumbClassName: thumbClassNames.join(' '),
|
|
50
53
|
thumbActiveClassName: getClassName('bpk-slider__handle--active'),
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
15
|
* See the License for the specific language governing permissions and
|
|
16
16
|
* limitations under the License.
|
|
17
|
-
*/import
|
|
18
|
-
import SPINNER_TYPES from "./src/spinnerTypes";
|
|
17
|
+
*/import BpkExtraLargeSpinner from "./src/BpkExtraLargeSpinner";
|
|
19
18
|
import BpkLargeSpinner from "./src/BpkLargeSpinner";
|
|
20
|
-
import
|
|
19
|
+
import BpkSpinner from "./src/BpkSpinner";
|
|
20
|
+
import SPINNER_TYPES from "./src/spinnerTypes";
|
|
21
21
|
import themeAttributes from "./src/themeAttributes";
|
|
22
22
|
export { BpkSpinner, BpkLargeSpinner, BpkExtraLargeSpinner, SPINNER_TYPES, themeAttributes };
|
|
@@ -86,10 +86,13 @@ const BpkExtraLargeSpinner = props => {
|
|
|
86
86
|
...rest
|
|
87
87
|
} = props;
|
|
88
88
|
const classNames = getClassName('bpk-spinner', 'bpk-spinner--extra-large', `bpk-spinner--${type}`, className);
|
|
89
|
-
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
return /*#__PURE__*/_jsx(XlSpinner
|
|
90
|
+
// TODO: className to be removed
|
|
91
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
92
|
+
, {
|
|
93
|
+
className: classNames
|
|
94
|
+
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
95
|
+
,
|
|
93
96
|
...rest
|
|
94
97
|
});
|
|
95
98
|
};
|
|
@@ -87,10 +87,13 @@ const BpkLargeSpinner = props => {
|
|
|
87
87
|
...rest
|
|
88
88
|
} = props;
|
|
89
89
|
const classNames = getClassName('bpk-spinner', 'bpk-spinner--large', `bpk-spinner--${type}`, alignToButton && 'bpk-spinner--align-to-large-button', className);
|
|
90
|
-
|
|
91
|
-
//
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
return /*#__PURE__*/_jsx(LgSpinner
|
|
91
|
+
// TODO: className to be removed
|
|
92
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
93
|
+
, {
|
|
94
|
+
className: classNames
|
|
95
|
+
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
96
|
+
,
|
|
94
97
|
...rest
|
|
95
98
|
});
|
|
96
99
|
};
|
|
@@ -74,10 +74,13 @@ const BpkSpinner = props => {
|
|
|
74
74
|
...rest
|
|
75
75
|
} = props;
|
|
76
76
|
const classNames = getClassName('bpk-spinner', `bpk-spinner--${type}`, alignToButton && 'bpk-spinner--align-to-button', className);
|
|
77
|
-
|
|
78
|
-
//
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
return /*#__PURE__*/_jsx(SmSpinner
|
|
78
|
+
// TODO: className to be removed
|
|
79
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
80
|
+
, {
|
|
81
|
+
className: classNames
|
|
82
|
+
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
83
|
+
,
|
|
81
84
|
...rest
|
|
82
85
|
});
|
|
83
86
|
};
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
15
|
* See the License for the specific language governing permissions and
|
|
16
16
|
* limitations under the License.
|
|
17
|
-
*/import
|
|
18
|
-
import
|
|
17
|
+
*/import PropTypes from 'prop-types';
|
|
18
|
+
import { Component } from 'react';
|
|
19
19
|
import BpkInput from "../../bpk-component-input";
|
|
20
20
|
import { cssModules } from "../../bpk-react-utils";
|
|
21
21
|
import STYLES from "./BpkInputField.module.css";
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
15
|
* See the License for the specific language governing permissions and
|
|
16
16
|
* limitations under the License.
|
|
17
|
-
*/import
|
|
18
|
-
import
|
|
19
|
-
import { cssModules } from "../../bpk-react-utils";
|
|
17
|
+
*/import PropTypes from 'prop-types';
|
|
18
|
+
import { Component } from 'react';
|
|
20
19
|
import { INPUT_TYPES } from "../../bpk-component-input";
|
|
20
|
+
import { cssModules } from "../../bpk-react-utils";
|
|
21
21
|
import InputField from "./BpkInputField";
|
|
22
22
|
import STYLES from "./BpkSplitInput.module.css";
|
|
23
23
|
import { jsx as _jsx } from "react/jsx-runtime";
|