@skyscanner/backpack-web 0.3.0 → 1.0.1
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-animate-height/package.json +3 -3
- package/bpk-component-accordion/package.json +7 -7
- package/bpk-component-accordion/src/BpkAccordion.js +1 -2
- package/bpk-component-accordion/src/BpkAccordionItem.js +5 -6
- package/bpk-component-accordion/src/withAccordionItemState.js +1 -2
- package/bpk-component-accordion/src/withSingleItemAccordionState.js +1 -2
- package/bpk-component-aria-live/package.json +7 -7
- package/bpk-component-aria-live/src/BpkAriaLive.js +1 -2
- package/bpk-component-autosuggest/package.json +4 -4
- package/bpk-component-autosuggest/src/BpkAutosuggest.js +2 -3
- package/bpk-component-autosuggest/src/BpkAutosuggestSuggestion.js +1 -2
- package/bpk-component-badge/package.json +5 -5
- package/bpk-component-badge/src/BpkBadge.js +1 -2
- package/bpk-component-banner-alert/package.json +9 -9
- package/bpk-component-banner-alert/src/AnimateAndFade.js +2 -3
- package/bpk-component-banner-alert/src/BpkBannerAlertInner.js +7 -8
- package/bpk-component-banner-alert/src/withBannerAlertState.js +1 -2
- package/bpk-component-barchart/package.json +8 -8
- package/bpk-component-barchart/src/BpkBarchart.js +2 -3
- package/bpk-component-barchart/src/BpkBarchartBar.js +1 -2
- package/bpk-component-barchart/src/BpkChartAxis.js +1 -2
- package/bpk-component-barchart/src/BpkChartDataTable.js +1 -2
- package/bpk-component-barchart/src/BpkChartGridLines.js +1 -2
- package/bpk-component-barchart/src/RTLtransforms.js +1 -1
- package/bpk-component-blockquote/package.json +2 -2
- package/bpk-component-blockquote/src/BpkBlockquote.js +1 -2
- package/bpk-component-breadcrumb/package.json +5 -5
- package/bpk-component-breadcrumb/src/BpkBreadcrumb.js +1 -2
- package/bpk-component-breadcrumb/src/BpkBreadcrumbItem.js +5 -6
- package/bpk-component-breakpoint/package.json +3 -3
- package/bpk-component-breakpoint/src/BpkBreakpoint.js +3 -0
- package/bpk-component-button/package.json +3 -3
- package/bpk-component-calendar/package.json +9 -9
- package/bpk-component-calendar/src/BpkCalendarContainer.js +1 -2
- package/bpk-component-calendar/src/BpkCalendarDate.js +1 -2
- package/bpk-component-calendar/src/BpkCalendarGrid.js +1 -2
- package/bpk-component-calendar/src/BpkCalendarGridHeader.js +1 -2
- package/bpk-component-calendar/src/BpkCalendarGridTransition.js +1 -2
- package/bpk-component-calendar/src/BpkCalendarNav.js +5 -6
- package/bpk-component-calendar/src/Week.js +1 -2
- package/bpk-component-calendar/src/composeCalendar.js +1 -2
- package/bpk-component-card/package.json +4 -4
- package/bpk-component-card/src/BpkCard.js +1 -2
- package/bpk-component-checkbox/package.json +5 -5
- package/bpk-component-checkbox/src/BpkCheckbox.js +1 -2
- package/bpk-component-chip/package.json +5 -5
- package/bpk-component-chip/src/BpkDismissibleChip.js +1 -2
- package/bpk-component-chip/src/BpkSelectableChip.js +2 -3
- package/bpk-component-close-button/package.json +4 -4
- package/bpk-component-close-button/src/BpkCloseButton.js +2 -3
- package/bpk-component-code/package.json +2 -2
- package/bpk-component-code/src/BpkCode.js +1 -2
- package/bpk-component-code/src/BpkCodeBlock.js +1 -2
- package/bpk-component-content-container/package.json +2 -2
- package/bpk-component-content-container/src/BpkContentContainer.js +1 -2
- package/bpk-component-datatable/package.json +4 -4
- package/bpk-component-datatable/src/BpkDataTable.js +1 -2
- package/bpk-component-datatable/src/BpkDataTableColumn.js +1 -2
- package/bpk-component-datatable/src/bpkHeaderRenderer.js +4 -5
- package/bpk-component-datepicker/index.js +1 -1
- package/bpk-component-datepicker/package.json +9 -9
- package/bpk-component-datepicker/src/BpkDatepicker.js +6 -7
- package/bpk-component-datepicker/src/themeAttributes.js +3 -3
- package/bpk-component-description-list/package.json +2 -2
- package/bpk-component-description-list/src/ComponentFactory.js +1 -2
- package/bpk-component-dialog/package.json +8 -8
- package/bpk-component-dialog/src/BpkDialog.js +2 -3
- package/bpk-component-dialog/src/BpkDialogInner.js +3 -4
- package/bpk-component-drawer/package.json +9 -9
- package/bpk-component-drawer/src/BpkDrawer.js +2 -3
- package/bpk-component-drawer/src/BpkDrawerContent.js +3 -4
- package/bpk-component-drawer/src/themeAttributes.js +1 -1
- package/bpk-component-fieldset/package.json +12 -12
- package/bpk-component-fieldset/src/BpkFieldset.js +3 -4
- package/bpk-component-flare/package.json +4 -4
- package/bpk-component-flare/src/BpkContentBubble.js +1 -2
- package/bpk-component-flare/src/BpkFlareBar.js +1 -2
- package/bpk-component-form-validation/package.json +10 -10
- package/bpk-component-form-validation/src/BpkFormValidation.js +4 -5
- package/bpk-component-graphic-promotion/package.json +5 -5
- package/bpk-component-graphic-promotion/src/BpkGraphicPromo.js +4 -5
- package/bpk-component-grid/package.json +2 -2
- package/bpk-component-grid/src/BpkGridColumn.js +1 -2
- package/bpk-component-grid/src/BpkGridContainer.js +1 -2
- package/bpk-component-grid/src/BpkGridRow.js +1 -2
- package/bpk-component-grid-toggle/package.json +3 -3
- package/bpk-component-grid-toggle/src/BpkGridToggle.js +2 -3
- package/bpk-component-horizontal-nav/package.json +6 -6
- package/bpk-component-horizontal-nav/src/BpkHorizontalNav.js +2 -3
- package/bpk-component-horizontal-nav/src/BpkHorizontalNavItem.js +1 -2
- package/bpk-component-icon/package.json +7 -7
- package/bpk-component-icon/src/classNameModifierHOCFactory.js +1 -2
- package/bpk-component-icon/src/withAlignment.js +1 -2
- package/bpk-component-icon/src/withDescription.js +1 -2
- package/bpk-component-icon/src/withRtlSupport.js +1 -1
- package/bpk-component-image/package.json +6 -6
- package/bpk-component-image/src/BpkBackgroundImage.js +2 -3
- package/bpk-component-image/src/BpkImage.js +2 -3
- package/bpk-component-image/src/withLazyLoading.js +1 -2
- package/bpk-component-image/src/withLoadingBehavior.js +1 -2
- package/bpk-component-infinite-scroll/package.json +6 -6
- package/bpk-component-infinite-scroll/src/withInfiniteScroll.js +1 -2
- package/bpk-component-input/package.json +6 -6
- package/bpk-component-input/src/BpkClearButton.js +3 -4
- package/bpk-component-input/src/BpkInput.js +1 -2
- package/bpk-component-input/src/withOpenEvents.js +1 -2
- package/bpk-component-label/package.json +2 -2
- package/bpk-component-label/src/BpkLabel.js +1 -2
- package/bpk-component-link/package.json +4 -4
- package/bpk-component-link/src/BpkButtonLink.js +1 -2
- package/bpk-component-link/src/BpkLink.js +1 -2
- package/bpk-component-list/package.json +2 -2
- package/bpk-component-list/src/BpkList.js +1 -2
- package/bpk-component-list/src/BpkList.module.scss +6 -0
- package/bpk-component-list/src/BpkListItem.js +1 -2
- package/bpk-component-loading-button/package.json +6 -6
- package/bpk-component-loading-button/src/BpkLoadingButton.js +6 -7
- package/bpk-component-map/package.json +6 -6
- package/bpk-component-map/src/BpkIconMarker.js +1 -2
- package/bpk-component-map/src/BpkIconMarkerBackground.js +1 -2
- package/bpk-component-map/src/BpkMap.js +1 -2
- package/bpk-component-map/src/BpkPriceMarker.js +2 -3
- package/bpk-component-map/src/DefaultLoadingElement.js +2 -3
- package/bpk-component-mobile-scroll-container/package.json +3 -3
- package/bpk-component-mobile-scroll-container/src/BpkMobileScrollContainer.js +2 -3
- package/bpk-component-modal/package.json +9 -9
- package/bpk-component-modal/src/BpkModal.js +2 -3
- package/bpk-component-modal/src/BpkModalInner.js +4 -5
- package/bpk-component-modal/src/themeAttributes.js +1 -1
- package/bpk-component-navigation-bar/package.json +8 -8
- package/bpk-component-navigation-bar/src/BpkNavigationBar.js +2 -3
- package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.js +2 -3
- package/bpk-component-navigation-bar/src/BpkNavigationBarIconButton.js +2 -3
- package/bpk-component-navigation-stack/package.json +7 -7
- package/bpk-component-navigation-stack/src/BpkNavigationStack.js +1 -2
- package/bpk-component-nudger/package.json +7 -7
- package/bpk-component-nudger/src/BpkConfigurableNudger.js +6 -7
- package/bpk-component-nudger/src/BpkNudger.js +1 -2
- package/bpk-component-nudger/src/themeAttributes.js +1 -1
- package/bpk-component-overlay/package.json +4 -4
- package/bpk-component-overlay/src/BpkOverlay.js +1 -2
- package/bpk-component-pagination/package.json +4 -4
- package/bpk-component-pagination/src/BpkPagination.js +1 -2
- package/bpk-component-pagination/src/BpkPaginationList.js +1 -2
- package/bpk-component-pagination/src/BpkPaginationNudger.js +4 -5
- package/bpk-component-pagination/src/BpkPaginationPage.js +2 -3
- package/bpk-component-pagination/src/themeAttributes.js +1 -1
- package/bpk-component-panel/package.json +2 -2
- package/bpk-component-panel/src/BpkPanel.js +1 -2
- package/bpk-component-phone-input/package.json +9 -9
- package/bpk-component-phone-input/src/BpkPhoneInput.js +4 -5
- package/bpk-component-popover/package.json +8 -8
- package/bpk-component-popover/src/BpkPopover.js +4 -5
- package/bpk-component-popover/src/BpkPopoverPortal.js +1 -2
- package/bpk-component-popover/src/themeAttributes.js +1 -1
- package/bpk-component-progress/package.json +5 -5
- package/bpk-component-progress/src/BpkProgress.js +1 -2
- package/bpk-component-radio/package.json +4 -4
- package/bpk-component-radio/src/BpkRadio.js +1 -2
- package/bpk-component-rating/README.md +30 -32
- package/bpk-component-rating/index.js +2 -3
- package/bpk-component-rating/package.json +4 -4
- package/bpk-component-rating/src/BpkRating.js +54 -77
- package/bpk-component-rating/src/BpkRating.module.scss +37 -99
- package/bpk-component-rating/src/common-types.js +1 -6
- package/bpk-component-rtl-toggle/package.json +2 -2
- package/bpk-component-rtl-toggle/src/BpkRtlToggle.js +1 -2
- package/bpk-component-rtl-toggle/src/updateOnDirectionChange.js +1 -2
- package/bpk-component-scrollable-calendar/index.js +1 -1
- package/bpk-component-scrollable-calendar/package.json +6 -6
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendar.js +1 -1
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarDate.js +1 -2
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGrid.js +3 -4
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList.js +2 -6
- package/bpk-component-scrollable-calendar/src/utils.js +1 -1
- package/bpk-component-section-list/package.json +6 -6
- package/bpk-component-section-list/src/BpkSectionListItem.js +3 -4
- package/bpk-component-section-list/src/BpkSectionListSection.js +2 -3
- package/bpk-component-select/package.json +3 -3
- package/bpk-component-select/src/BpkSelect.js +1 -2
- package/bpk-component-skip-link/package.json +2 -2
- package/bpk-component-skip-link/src/BpkSkipLink.js +1 -2
- package/bpk-component-slider/package.json +4 -4
- package/bpk-component-slider/src/BpkSlider.js +1 -2
- package/bpk-component-spinner/package.json +3 -3
- package/bpk-component-spinner/src/BpkExtraLargeSpinner.js +1 -2
- package/bpk-component-spinner/src/BpkLargeSpinner.js +1 -2
- package/bpk-component-spinner/src/BpkSpinner.js +1 -2
- package/bpk-component-star-rating/package.json +5 -5
- package/bpk-component-star-rating/src/BpkInteractiveStar.js +1 -2
- package/bpk-component-star-rating/src/BpkInteractiveStarRating.js +1 -2
- package/bpk-component-star-rating/src/BpkStar.js +8 -9
- package/bpk-component-star-rating/src/BpkStarRating.js +1 -2
- package/bpk-component-star-rating/src/withInteractiveStarRatingState.js +1 -2
- package/bpk-component-switch/package.json +2 -2
- package/bpk-component-switch/src/BpkSwitch.js +1 -2
- package/bpk-component-table/package.json +2 -2
- package/bpk-component-table/src/BpkTable.js +1 -2
- package/bpk-component-table/src/BpkTableCell.js +1 -2
- package/bpk-component-table/src/BpkTableHeadCell.js +1 -2
- package/bpk-component-text/package.json +2 -2
- package/bpk-component-text/src/BpkText.js +1 -2
- package/bpk-component-textarea/package.json +4 -4
- package/bpk-component-textarea/src/BpkTextarea.js +1 -2
- package/bpk-component-theme-toggle/package.json +5 -5
- package/bpk-component-theme-toggle/src/BpkThemeToggle.js +3 -4
- package/bpk-component-theme-toggle/src/updateOnThemeChange.js +1 -2
- package/bpk-component-ticket/package.json +4 -4
- package/bpk-component-ticket/src/BpkTicket.js +1 -2
- package/bpk-component-tooltip/package.json +4 -4
- package/bpk-component-tooltip/src/BpkTooltip.js +1 -2
- package/bpk-component-tooltip/src/BpkTooltipPortal.js +1 -2
- package/bpk-scrim-utils/package.json +2 -2
- package/bpk-scrim-utils/src/BpkScrim.js +1 -2
- package/bpk-scrim-utils/src/withScrim.js +1 -2
- package/bpk-theming/package.json +2 -2
- package/package.json +4 -6
- package/bpk-component-rating/src/themeAttributes.js +0 -25
|
@@ -17,29 +17,23 @@
|
|
|
17
17
|
*/
|
|
18
18
|
/* @flow strict */
|
|
19
19
|
|
|
20
|
-
import React from 'react';
|
|
20
|
+
import React, { type Node } from 'react';
|
|
21
21
|
import PropTypes from 'prop-types';
|
|
22
22
|
import clamp from 'lodash.clamp';
|
|
23
|
-
|
|
24
|
-
import {
|
|
25
|
-
import BpkText, { TEXT_STYLES } from '../../bpk-component-text';
|
|
23
|
+
import { cssModules } from 'bpk-react-utils';
|
|
24
|
+
import BpkText, { TEXT_STYLES } from 'bpk-component-text';
|
|
26
25
|
|
|
27
26
|
import STYLES from './BpkRating.module.scss';
|
|
28
|
-
import { RATING_SIZES,
|
|
27
|
+
import { RATING_SIZES, RATING_SCALES } from './common-types';
|
|
29
28
|
|
|
30
29
|
const getClassName = cssModules(STYLES);
|
|
31
30
|
|
|
32
|
-
// The thresholds are what determine whether a rating is low, medium or high.
|
|
33
|
-
// They are expressed as a percentage of the scale. For example, on a 1-5 scale,
|
|
34
|
-
// 5 * 0.8 (4) would be a high rating.
|
|
35
|
-
const MEDIUM_RATING_THRESHOLD = 0.6;
|
|
36
|
-
const HIGH_RATING_THRESHOLD = 0.8;
|
|
37
|
-
|
|
38
31
|
const getMinValue = () =>
|
|
39
32
|
// Currently the min value is zero no matter what scale is used.
|
|
40
33
|
// If this ever changes, this function should be changed to return
|
|
41
34
|
// different values based on the rating scale.
|
|
42
35
|
0;
|
|
36
|
+
|
|
43
37
|
const getMaxValue = (ratingScale) => {
|
|
44
38
|
switch (ratingScale) {
|
|
45
39
|
case RATING_SCALES.zeroToFive:
|
|
@@ -49,22 +43,15 @@ const getMaxValue = (ratingScale) => {
|
|
|
49
43
|
}
|
|
50
44
|
};
|
|
51
45
|
|
|
52
|
-
|
|
53
|
-
getMaxValue(ratingScale) * MEDIUM_RATING_THRESHOLD;
|
|
54
|
-
|
|
55
|
-
const getHighRatingThreshold = (ratingScale) =>
|
|
56
|
-
getMaxValue(ratingScale) * HIGH_RATING_THRESHOLD;
|
|
57
|
-
|
|
58
|
-
export type Props = {
|
|
46
|
+
type Props = {
|
|
59
47
|
ariaLabel: string,
|
|
48
|
+
className: ?string,
|
|
60
49
|
ratingScale: $Values<typeof RATING_SCALES>,
|
|
50
|
+
showScale: ?boolean,
|
|
61
51
|
size: $Values<typeof RATING_SIZES>,
|
|
62
|
-
title: string,
|
|
63
|
-
type: $Values<typeof RATING_TYPES>,
|
|
64
|
-
value: number,
|
|
65
|
-
vertical: boolean,
|
|
66
|
-
className: ?string,
|
|
67
52
|
subtitle: ?string,
|
|
53
|
+
title: string | Node,
|
|
54
|
+
value: number,
|
|
68
55
|
};
|
|
69
56
|
|
|
70
57
|
const BpkRating = (props: Props) => {
|
|
@@ -72,33 +59,36 @@ const BpkRating = (props: Props) => {
|
|
|
72
59
|
ariaLabel,
|
|
73
60
|
className,
|
|
74
61
|
ratingScale,
|
|
62
|
+
showScale,
|
|
75
63
|
size,
|
|
76
64
|
subtitle,
|
|
77
65
|
title,
|
|
78
|
-
type,
|
|
79
66
|
value,
|
|
80
|
-
vertical,
|
|
81
67
|
...rest
|
|
82
68
|
} = props;
|
|
69
|
+
|
|
83
70
|
const classNames = [getClassName('bpk-rating', className)];
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
'bpk-rating__component',
|
|
87
|
-
`bpk-rating--${size}-rating`,
|
|
88
|
-
type === RATING_TYPES.pill && `bpk-rating--${size}-pill`,
|
|
89
|
-
),
|
|
90
|
-
];
|
|
71
|
+
const valueStyles = [getClassName('bpk-rating__value')];
|
|
72
|
+
const scaleStyles = [getClassName('bpk-rating__scale')];
|
|
91
73
|
const textWrapperStyles = [getClassName('bpk-rating__text-wrapper')];
|
|
92
|
-
const
|
|
74
|
+
const titleStyles = [];
|
|
75
|
+
const subtitleStyles = [getClassName('bpk-rating__subtitle')];
|
|
93
76
|
|
|
94
|
-
let titleTextSize = TEXT_STYLES.bodyDefault;
|
|
95
77
|
let valueTextSize = TEXT_STYLES.label1;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
78
|
+
let scaleTextSize = TEXT_STYLES.caption;
|
|
79
|
+
let titleTextSize = TEXT_STYLES.label1;
|
|
80
|
+
let subtitleTextSize = TEXT_STYLES.caption;
|
|
81
|
+
|
|
82
|
+
if (size === RATING_SIZES.large) {
|
|
83
|
+
classNames.push(getClassName('bpk-rating--large'));
|
|
84
|
+
textWrapperStyles.push(getClassName('bpk-rating__text-wrapper--large'));
|
|
85
|
+
titleStyles.push(getClassName('bpk-rating__title--large'));
|
|
86
|
+
subtitleStyles.push(getClassName('bpk-rating__subtitle--large'));
|
|
87
|
+
|
|
88
|
+
valueTextSize = TEXT_STYLES.hero5;
|
|
89
|
+
scaleTextSize = TEXT_STYLES.bodyDefault;
|
|
90
|
+
titleTextSize = TEXT_STYLES.heading5;
|
|
91
|
+
subtitleTextSize = TEXT_STYLES.bodyDefault;
|
|
102
92
|
}
|
|
103
93
|
|
|
104
94
|
const minValue = getMinValue();
|
|
@@ -106,27 +96,8 @@ const BpkRating = (props: Props) => {
|
|
|
106
96
|
|
|
107
97
|
let adjustedValue = value;
|
|
108
98
|
|
|
109
|
-
if (adjustedValue >= getHighRatingThreshold(ratingScale)) {
|
|
110
|
-
scoreStyles.push(getClassName('bpk-rating--high-rating'));
|
|
111
|
-
} else if (adjustedValue >= getMediumRatingThreshold(ratingScale)) {
|
|
112
|
-
scoreStyles.push(getClassName('bpk-rating--medium-rating'));
|
|
113
|
-
} else {
|
|
114
|
-
scoreStyles.push(getClassName('bpk-rating--low-rating'));
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
if (vertical) {
|
|
118
|
-
classNames.push(getClassName('bpk-rating--vertical'));
|
|
119
|
-
textWrapperStyles.push(getClassName('bpk-rating__text-wrapper--vertical'));
|
|
120
|
-
textStyles.push(getClassName('bpk-rating__text--vertical'));
|
|
121
|
-
} else {
|
|
122
|
-
textWrapperStyles.push(
|
|
123
|
-
getClassName('bpk-rating__text-wrapper--horizontal'),
|
|
124
|
-
);
|
|
125
|
-
textStyles.push(getClassName('bpk-rating__text--horizontal'));
|
|
126
|
-
}
|
|
127
|
-
|
|
128
99
|
if (adjustedValue >= maxValue || adjustedValue <= minValue) {
|
|
129
|
-
adjustedValue = clamp(adjustedValue, minValue, maxValue);
|
|
100
|
+
adjustedValue = clamp(adjustedValue, minValue, maxValue).toFixed(1);
|
|
130
101
|
} else {
|
|
131
102
|
adjustedValue = value.toFixed(1);
|
|
132
103
|
}
|
|
@@ -137,29 +108,37 @@ const BpkRating = (props: Props) => {
|
|
|
137
108
|
<BpkText
|
|
138
109
|
textStyle={valueTextSize}
|
|
139
110
|
tagName="span"
|
|
140
|
-
className={
|
|
111
|
+
className={valueStyles.join(' ')}
|
|
141
112
|
aria-hidden="true"
|
|
142
113
|
>
|
|
143
114
|
{adjustedValue}
|
|
115
|
+
|
|
116
|
+
{showScale && (
|
|
117
|
+
<BpkText
|
|
118
|
+
textStyle={scaleTextSize}
|
|
119
|
+
className={scaleStyles.join(' ')}
|
|
120
|
+
tagName="span"
|
|
121
|
+
aria-hidden="true"
|
|
122
|
+
>
|
|
123
|
+
/{maxValue}
|
|
124
|
+
</BpkText>
|
|
125
|
+
)}
|
|
144
126
|
</BpkText>
|
|
127
|
+
|
|
145
128
|
<div className={textWrapperStyles.join(' ')}>
|
|
146
129
|
<BpkText
|
|
147
|
-
className={textStyles.join(' ')}
|
|
148
130
|
textStyle={titleTextSize}
|
|
131
|
+
className={titleStyles.join(' ')}
|
|
149
132
|
tagName="span"
|
|
150
133
|
aria-hidden="true"
|
|
151
134
|
>
|
|
152
|
-
|
|
153
|
-
{subtitle && type === RATING_TYPES.pill && <span>{subtitle}</span>}
|
|
135
|
+
{title}
|
|
154
136
|
</BpkText>
|
|
155
|
-
|
|
137
|
+
|
|
138
|
+
{subtitle && (
|
|
156
139
|
<BpkText
|
|
157
|
-
className={
|
|
158
|
-
textStyle={
|
|
159
|
-
size === RATING_SIZES.lg
|
|
160
|
-
? TEXT_STYLES.footnote
|
|
161
|
-
: TEXT_STYLES.caption
|
|
162
|
-
}
|
|
140
|
+
className={subtitleStyles.join(' ')}
|
|
141
|
+
textStyle={subtitleTextSize}
|
|
163
142
|
tagName="span"
|
|
164
143
|
aria-hidden="true"
|
|
165
144
|
>
|
|
@@ -173,23 +152,21 @@ const BpkRating = (props: Props) => {
|
|
|
173
152
|
|
|
174
153
|
BpkRating.propTypes = {
|
|
175
154
|
ariaLabel: PropTypes.string.isRequired,
|
|
176
|
-
title: PropTypes.string.isRequired,
|
|
155
|
+
title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,
|
|
177
156
|
value: PropTypes.number.isRequired,
|
|
178
157
|
className: PropTypes.string,
|
|
179
158
|
ratingScale: PropTypes.oneOf(Object.keys(RATING_SCALES)),
|
|
180
159
|
size: PropTypes.oneOf(Object.keys(RATING_SIZES)),
|
|
181
160
|
subtitle: PropTypes.string,
|
|
182
|
-
|
|
183
|
-
vertical: PropTypes.bool,
|
|
161
|
+
showScale: PropTypes.bool,
|
|
184
162
|
};
|
|
185
163
|
|
|
186
164
|
BpkRating.defaultProps = {
|
|
187
165
|
className: null,
|
|
188
|
-
ratingScale: RATING_SCALES.
|
|
166
|
+
ratingScale: RATING_SCALES.zeroToFive,
|
|
189
167
|
size: RATING_SIZES.base,
|
|
190
168
|
subtitle: null,
|
|
191
|
-
|
|
192
|
-
vertical: false,
|
|
169
|
+
showScale: true,
|
|
193
170
|
};
|
|
194
171
|
|
|
195
172
|
export default BpkRating;
|
|
@@ -22,127 +22,65 @@ $bpk-spacing-v2: true;
|
|
|
22
22
|
|
|
23
23
|
.bpk-rating {
|
|
24
24
|
display: flex;
|
|
25
|
+
flex-flow: row nowrap;
|
|
26
|
+
align-items: baseline;
|
|
25
27
|
|
|
26
|
-
&--
|
|
27
|
-
flex-direction: column;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
&__component {
|
|
31
|
-
justify-content: center;
|
|
28
|
+
&--large {
|
|
32
29
|
align-items: center;
|
|
33
|
-
border-radius: 50%;
|
|
34
|
-
color: $bpk-color-white;
|
|
35
30
|
}
|
|
36
31
|
|
|
37
|
-
|
|
32
|
+
&__value {
|
|
38
33
|
display: flex;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
padding-right: bpk-spacing-md();
|
|
35
|
+
justify-content: center;
|
|
36
|
+
align-items: baseline;
|
|
37
|
+
color: $bpk-color-sky-gray;
|
|
42
38
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
39
|
+
@include bpk-rtl {
|
|
40
|
+
padding-right: 0;
|
|
41
|
+
padding-left: bpk-spacing-md();
|
|
42
|
+
}
|
|
47
43
|
}
|
|
48
44
|
|
|
49
|
-
|
|
45
|
+
&__text-wrapper {
|
|
50
46
|
display: flex;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
flex-direction: row;
|
|
48
|
+
align-items: baseline;
|
|
49
|
+
white-space: nowrap;
|
|
54
50
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
51
|
+
&--large {
|
|
52
|
+
flex-direction: column;
|
|
53
|
+
align-items: flex-start;
|
|
54
|
+
}
|
|
59
55
|
}
|
|
60
56
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
height: bpk-spacing-sm() * 9;
|
|
64
|
-
border-radius: $bpk-border-radius-pill;
|
|
57
|
+
&__scale {
|
|
58
|
+
color: $bpk-color-sky-gray-tint-02;
|
|
65
59
|
}
|
|
66
60
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
61
|
+
&__title {
|
|
62
|
+
&--large {
|
|
63
|
+
padding-top: $bpk-one-pixel-rem;
|
|
64
|
+
}
|
|
71
65
|
}
|
|
72
66
|
|
|
73
|
-
&
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
justify-content: center;
|
|
77
|
-
|
|
78
|
-
&--horizontal {
|
|
79
|
-
// We could use `padding-inline-start: $bpk-spacing-sm` here, but it's unsupported in IE
|
|
80
|
-
padding-left: bpk-spacing-sm() * 3;
|
|
67
|
+
&__subtitle {
|
|
68
|
+
padding-left: bpk-spacing-md();
|
|
69
|
+
color: $bpk-color-sky-gray-tint-02;
|
|
81
70
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
&--vertical {
|
|
88
|
-
padding-top: bpk-spacing-sm() + ($bpk-one-pixel-rem * 2);
|
|
71
|
+
@include bpk-rtl {
|
|
72
|
+
padding-right: bpk-spacing-md();
|
|
73
|
+
padding-left: 0;
|
|
89
74
|
}
|
|
90
|
-
}
|
|
91
75
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
text-align: left;
|
|
76
|
+
&--large {
|
|
77
|
+
padding-top: $bpk-one-pixel-rem;
|
|
78
|
+
padding-left: 0;
|
|
96
79
|
|
|
97
80
|
@include bpk-rtl {
|
|
98
|
-
|
|
81
|
+
padding-right: 0;
|
|
82
|
+
padding-left: 0;
|
|
99
83
|
}
|
|
100
84
|
}
|
|
101
|
-
|
|
102
|
-
&--vertical {
|
|
103
|
-
align-self: center;
|
|
104
|
-
text-align: center;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
&--high-rating {
|
|
109
|
-
align-self: center;
|
|
110
|
-
color: $bpk-color-sky-gray;
|
|
111
|
-
|
|
112
|
-
@include bpk-themeable-property(
|
|
113
|
-
color,
|
|
114
|
-
--bpk-rating-high-text-color,
|
|
115
|
-
$bpk-color-sky-gray
|
|
116
|
-
);
|
|
117
|
-
@include bpk-themeable-property(
|
|
118
|
-
background-color,
|
|
119
|
-
--bpk-rating-high-color,
|
|
120
|
-
$bpk-color-glencoe
|
|
121
|
-
);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
&--medium-rating {
|
|
125
|
-
align-self: center;
|
|
126
|
-
|
|
127
|
-
@include bpk-themeable-property(
|
|
128
|
-
color,
|
|
129
|
-
--bpk-rating-medium-text-color,
|
|
130
|
-
$bpk-color-sky-gray
|
|
131
|
-
);
|
|
132
|
-
@include bpk-themeable-property(
|
|
133
|
-
background-color,
|
|
134
|
-
--bpk-rating-medium-color,
|
|
135
|
-
$bpk-color-erfoud
|
|
136
|
-
);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
&--low-rating {
|
|
140
|
-
align-self: center;
|
|
141
|
-
|
|
142
|
-
@include bpk-themeable-property(
|
|
143
|
-
background-color,
|
|
144
|
-
--bpk-rating-low-color,
|
|
145
|
-
$bpk-color-panjin
|
|
146
|
-
);
|
|
147
85
|
}
|
|
148
86
|
}
|
|
@@ -18,12 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
/* @flow */
|
|
20
20
|
|
|
21
|
-
export const RATING_SIZES = {
|
|
22
|
-
|
|
23
|
-
export const RATING_TYPES = {
|
|
24
|
-
default: 'default',
|
|
25
|
-
pill: 'pill',
|
|
26
|
-
};
|
|
21
|
+
export const RATING_SIZES = { base: 'base', large: 'lg' };
|
|
27
22
|
|
|
28
23
|
export const RATING_SCALES = {
|
|
29
24
|
zeroToFive: 'zeroToFive',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bpk-component-rtl-toggle",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.9",
|
|
4
4
|
"description": "Backpack RTL toggle component.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"bpk-component-link": "^3.1.
|
|
17
|
+
"bpk-component-link": "^3.1.9",
|
|
18
18
|
"bpk-react-utils": "^4.1.1",
|
|
19
19
|
"prop-types": "^15.7.2"
|
|
20
20
|
},
|
|
@@ -18,8 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
import React from 'react';
|
|
20
20
|
import PropTypes from 'prop-types';
|
|
21
|
-
|
|
22
|
-
import { BpkButtonLink } from '../../bpk-component-link';
|
|
21
|
+
import { BpkButtonLink } from 'bpk-component-link';
|
|
23
22
|
|
|
24
23
|
import { getHtmlElement, DIRECTIONS, DIRECTION_CHANGE_EVENT } from './utils';
|
|
25
24
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
/* @flow strict */
|
|
19
19
|
|
|
20
|
-
import { CALENDAR_SELECTION_TYPE } from '
|
|
20
|
+
import { CALENDAR_SELECTION_TYPE } from 'bpk-component-calendar';
|
|
21
21
|
|
|
22
22
|
import BpkScrollableCalendar from './src/BpkScrollableCalendar';
|
|
23
23
|
import BpkScrollableCalendarDate from './src/BpkScrollableCalendarDate';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bpk-component-scrollable-calendar",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.14",
|
|
4
4
|
"description": "Backpack scrollable calendar component.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -14,17 +14,17 @@
|
|
|
14
14
|
},
|
|
15
15
|
"gitHead": "4e4ec9add28e1db54d6a38a10c331bbd163f2926",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@skyscanner/bpk-foundations-web": "^
|
|
18
|
-
"bpk-component-calendar": "^11.1.
|
|
19
|
-
"bpk-component-text": "^7.0.
|
|
20
|
-
"bpk-mixins": "^
|
|
17
|
+
"@skyscanner/bpk-foundations-web": "^8.0.0",
|
|
18
|
+
"bpk-component-calendar": "^11.1.14",
|
|
19
|
+
"bpk-component-text": "^7.0.3",
|
|
20
|
+
"bpk-mixins": "^31.1.1",
|
|
21
21
|
"bpk-react-utils": "^4.1.1",
|
|
22
22
|
"date-fns": "^2.21.1",
|
|
23
23
|
"prop-types": "^15.5.8",
|
|
24
24
|
"react-virtualized": "^9.22.3"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"bpk-storybook-utils": "^1.1.
|
|
27
|
+
"bpk-storybook-utils": "^1.1.8"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"react": "^16.3.0 || ^17.0.0"
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
BpkCalendarGridHeader,
|
|
22
22
|
withCalendarState,
|
|
23
23
|
composeCalendar,
|
|
24
|
-
} from '
|
|
24
|
+
} from 'bpk-component-calendar';
|
|
25
25
|
|
|
26
26
|
import BpkscrollableCalendarDate from './BpkScrollableCalendarDate';
|
|
27
27
|
import BpkScrollableCalendarGridList from './BpkScrollableCalendarGridList';
|
|
@@ -18,11 +18,10 @@
|
|
|
18
18
|
|
|
19
19
|
import PropTypes from 'prop-types';
|
|
20
20
|
import React, { PureComponent } from 'react';
|
|
21
|
-
|
|
22
21
|
import {
|
|
23
22
|
BpkCalendarDate,
|
|
24
23
|
BpkCalendarDatePropTypes,
|
|
25
|
-
} from '
|
|
24
|
+
} from 'bpk-component-calendar';
|
|
26
25
|
|
|
27
26
|
class BpkScrollableCalendarDate extends PureComponent {
|
|
28
27
|
render() {
|
|
@@ -17,13 +17,12 @@
|
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import React from 'react';
|
|
20
|
-
|
|
21
|
-
import {
|
|
22
|
-
import BpkText, { TEXT_STYLES } from '../../bpk-component-text';
|
|
20
|
+
import { cssModules } from 'bpk-react-utils';
|
|
21
|
+
import BpkText, { TEXT_STYLES } from 'bpk-component-text';
|
|
23
22
|
import {
|
|
24
23
|
BpkCalendarGrid,
|
|
25
24
|
BpkCalendarGridPropTypes,
|
|
26
|
-
} from '
|
|
25
|
+
} from 'bpk-component-calendar';
|
|
27
26
|
|
|
28
27
|
import STYLES from './BpkScrollableCalendarGrid.module.scss';
|
|
29
28
|
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
|
|
19
19
|
import PropTypes from 'prop-types';
|
|
20
20
|
import React from 'react';
|
|
21
|
+
import { cssModules, deprecated } from 'bpk-react-utils';
|
|
22
|
+
import { DateUtils, BpkCalendarGridPropTypes } from 'bpk-component-calendar';
|
|
21
23
|
import { startOfDay, startOfMonth } from 'date-fns';
|
|
22
24
|
import {
|
|
23
25
|
AutoSizer,
|
|
@@ -26,12 +28,6 @@ import {
|
|
|
26
28
|
CellMeasurerCache,
|
|
27
29
|
} from 'react-virtualized';
|
|
28
30
|
|
|
29
|
-
import { cssModules, deprecated } from '../../bpk-react-utils';
|
|
30
|
-
import {
|
|
31
|
-
DateUtils,
|
|
32
|
-
BpkCalendarGridPropTypes,
|
|
33
|
-
} from '../../bpk-component-calendar';
|
|
34
|
-
|
|
35
31
|
import STYLES from './BpkScrollableCalendarGridList.module.scss';
|
|
36
32
|
import BpkScrollableCalendarGrid from './BpkScrollableCalendarGrid';
|
|
37
33
|
import getMonthsArray from './utils';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bpk-component-section-list",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.10",
|
|
4
4
|
"description": "Backpack section list component.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
},
|
|
15
15
|
"gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@skyscanner/bpk-foundations-web": "^
|
|
18
|
-
"bpk-component-icon": "^9.2.
|
|
19
|
-
"bpk-component-text": "^7.0.
|
|
20
|
-
"bpk-mixins": "^
|
|
17
|
+
"@skyscanner/bpk-foundations-web": "^8.0.0",
|
|
18
|
+
"bpk-component-icon": "^9.2.10",
|
|
19
|
+
"bpk-component-text": "^7.0.3",
|
|
20
|
+
"bpk-mixins": "^31.1.1",
|
|
21
21
|
"bpk-react-utils": "^4.1.1",
|
|
22
22
|
"prop-types": "^15.7.2"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"bpk-storybook-utils": "^1.1.
|
|
25
|
+
"bpk-storybook-utils": "^1.1.8"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"react": "^16.3.0 || ^17.0.0"
|
|
@@ -20,10 +20,9 @@
|
|
|
20
20
|
|
|
21
21
|
import PropTypes from 'prop-types';
|
|
22
22
|
import React, { type Node } from 'react';
|
|
23
|
-
|
|
24
|
-
import
|
|
25
|
-
import
|
|
26
|
-
import { withRtlSupport } from '../../bpk-component-icon';
|
|
23
|
+
import { cssModules } from 'bpk-react-utils';
|
|
24
|
+
import BpkLargeChevronRightIcon from 'bpk-component-icon/lg/chevron-right';
|
|
25
|
+
import { withRtlSupport } from 'bpk-component-icon';
|
|
27
26
|
|
|
28
27
|
import STYLES from './BpkSectionListItem.module.scss';
|
|
29
28
|
|
|
@@ -20,9 +20,8 @@
|
|
|
20
20
|
|
|
21
21
|
import PropTypes from 'prop-types';
|
|
22
22
|
import React, { type Node } from 'react';
|
|
23
|
-
|
|
24
|
-
import {
|
|
25
|
-
import BpkText, { TEXT_STYLES } from '../../bpk-component-text';
|
|
23
|
+
import { cssModules } from 'bpk-react-utils';
|
|
24
|
+
import BpkText, { TEXT_STYLES } from 'bpk-component-text';
|
|
26
25
|
|
|
27
26
|
import STYLES from './BpkSectionListSection.module.scss';
|
|
28
27
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bpk-component-select",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.9",
|
|
4
4
|
"description": "Backpack select component.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
},
|
|
15
15
|
"gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"bpk-mixins": "^
|
|
17
|
+
"bpk-mixins": "^31.1.1",
|
|
18
18
|
"bpk-react-utils": "^4.1.1",
|
|
19
19
|
"prop-types": "^15.7.2"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"bpk-storybook-utils": "^1.1.
|
|
22
|
+
"bpk-storybook-utils": "^1.1.8"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": "^16.3.0 || ^17.0.0"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bpk-component-skip-link",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.9",
|
|
4
4
|
"description": "Backpack skip-link component.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"react": "^16.3.0 || ^17.0.0"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"bpk-mixins": "^
|
|
16
|
+
"bpk-mixins": "^31.1.1",
|
|
17
17
|
"bpk-react-utils": "^4.1.1",
|
|
18
18
|
"prop-types": "^15.5.8"
|
|
19
19
|
},
|