@skyscanner/backpack-web 33.4.0 → 33.5.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 (167) hide show
  1. package/bpk-component-accordion/index.js +1 -1
  2. package/bpk-component-accordion/src/BpkAccordionItem.js +12 -12
  3. package/bpk-component-accordion/src/BpkAccordionItem.module.css +1 -1
  4. package/bpk-component-autosuggest/src/BpkAutosuggestSuggestion.js +4 -1
  5. package/bpk-component-banner-alert/index.js +1 -1
  6. package/bpk-component-banner-alert/src/AnimateAndFade.js +33 -31
  7. package/bpk-component-banner-alert/src/BpkBannerAlertInner.js +11 -4
  8. package/bpk-component-barchart/src/BpkBarchart.js +8 -8
  9. package/bpk-component-bottom-sheet/src/BpkBottomSheet.js +3 -3
  10. package/bpk-component-breadcrumb/src/BpkBreadcrumbItem.js +17 -12
  11. package/bpk-component-breadcrumb/src/BpkBreadcrumbItem.module.css +1 -1
  12. package/bpk-component-breakpoint/src/BpkBreakpoint.js +20 -4
  13. package/bpk-component-breakpoint/src/useMediaQuery.js +10 -7
  14. package/bpk-component-button/index.js +5 -5
  15. package/bpk-component-button/src/BpkButtonDestructive.js +10 -9
  16. package/bpk-component-button/src/BpkButtonFeatured.js +10 -9
  17. package/bpk-component-button/src/BpkButtonLink.js +11 -10
  18. package/bpk-component-button/src/BpkButtonLinkOnDark.js +11 -10
  19. package/bpk-component-button/src/BpkButtonPrimary.js +2 -2
  20. package/bpk-component-button/src/BpkButtonPrimaryOnDark.js +10 -9
  21. package/bpk-component-button/src/BpkButtonPrimaryOnLight.js +10 -9
  22. package/bpk-component-button/src/BpkButtonSecondary.js +10 -10
  23. package/bpk-component-button/src/BpkButtonSecondaryOnDark.js +10 -9
  24. package/bpk-component-calendar/index.js +1 -1
  25. package/bpk-component-calendar/src/BpkCalendarContainer.js +3 -3
  26. package/bpk-component-calendar/src/BpkCalendarGrid.js +2 -2
  27. package/bpk-component-calendar/src/BpkCalendarGrid.module.css +1 -1
  28. package/bpk-component-calendar/src/BpkCalendarGridHeader.js +4 -1
  29. package/bpk-component-calendar/src/BpkCalendarGridTransition.js +5 -2
  30. package/bpk-component-calendar/src/BpkCalendarNav.js +9 -3
  31. package/bpk-component-calendar/src/Week.js +6 -3
  32. package/bpk-component-calendar/src/composeCalendar.js +8 -2
  33. package/bpk-component-calendar/src/date-utils.js +14 -14
  34. package/bpk-component-card/src/BpkDividedCard.js +18 -13
  35. package/bpk-component-card-button/src/BpkSaveButton.js +13 -4
  36. package/bpk-component-chip/index.d.ts +3 -5
  37. package/bpk-component-chip/index.js +3 -2
  38. package/bpk-component-chip/src/BpkDismissibleChip.js +7 -2
  39. package/bpk-component-chip/src/BpkIconChip.d.ts +25 -0
  40. package/bpk-component-chip/src/BpkIconChip.js +31 -0
  41. package/bpk-component-chip/src/BpkSelectableChip.d.ts +0 -2
  42. package/bpk-component-chip/src/BpkSelectableChip.js +3 -3
  43. package/bpk-component-chip/src/BpkSelectableChip.module.css +1 -1
  44. package/bpk-component-chip/src/commonTypes.d.ts +1 -1
  45. package/bpk-component-chip/src/commonTypes.js +1 -24
  46. package/bpk-component-close-button/src/BpkCloseButton.js +7 -4
  47. package/bpk-component-close-button/src/BpkCloseButton.module.css +1 -1
  48. package/bpk-component-content-cards/src/BpkContentCard.js +8 -2
  49. package/bpk-component-datatable/src/BpkDataTable.js +1 -1
  50. package/bpk-component-datatable/src/BpkDataTableHeader.js +12 -8
  51. package/bpk-component-datatable/src/BpkDataTableHeader.module.css +1 -1
  52. package/bpk-component-datepicker/src/BpkDatepicker.js +2 -2
  53. package/bpk-component-description-list/index.js +1 -1
  54. package/bpk-component-description-list/src/ComponentFactory.js +10 -5
  55. package/bpk-component-dialog/src/BpkDialog.js +6 -4
  56. package/bpk-component-dialog/src/BpkDialog.module.css +1 -1
  57. package/bpk-component-dialog/src/BpkDialogInner.js +6 -3
  58. package/bpk-component-drawer/src/BpkDrawer.js +1 -4
  59. package/bpk-component-drawer/src/BpkDrawerContent.js +7 -5
  60. package/bpk-component-fieldset/src/BpkFieldset.js +9 -7
  61. package/bpk-component-flare/index.js +2 -2
  62. package/bpk-component-flare/src/BpkContentBubble.js +4 -1
  63. package/bpk-component-flare/src/BpkFlareBar.js +13 -4
  64. package/bpk-component-floating-notification/src/BpkFloatingNotification.js +8 -2
  65. package/bpk-component-form-validation/src/BpkFormValidation.js +5 -4
  66. package/bpk-component-graphic-promotion/src/BpkGraphicPromo.js +9 -11
  67. package/bpk-component-graphic-promotion/src/BpkGraphicPromo.module.css +1 -1
  68. package/bpk-component-grid-toggle/src/BpkGridToggle.js +8 -6
  69. package/bpk-component-horizontal-nav/src/BpkHorizontalNav.js +16 -14
  70. package/bpk-component-horizontal-nav/src/BpkHorizontalNav.module.css +1 -1
  71. package/bpk-component-horizontal-nav/src/BpkHorizontalNavItem.js +2 -2
  72. package/bpk-component-icon/index.js +1 -1
  73. package/bpk-component-icon/lg/ai.js +1 -2
  74. package/bpk-component-icon/lg/dot.js +20 -0
  75. package/bpk-component-icon/sm/ai.js +1 -2
  76. package/bpk-component-icon/sm/dot.js +20 -0
  77. package/bpk-component-icon/src/classNameModifierHOCFactory.js +3 -0
  78. package/bpk-component-image/index.js +2 -2
  79. package/bpk-component-image/src/BpkBackgroundImage.js +2 -1
  80. package/bpk-component-image/src/BpkImage.js +2 -1
  81. package/bpk-component-infinite-scroll/src/withInfiniteScroll.js +3 -3
  82. package/bpk-component-info-banner/src/AnimateAndFade.js +33 -31
  83. package/bpk-component-info-banner/src/BpkInfoBanner.module.css +1 -1
  84. package/bpk-component-info-banner/src/BpkInfoBannerInner.js +16 -12
  85. package/bpk-component-input/index.js +1 -1
  86. package/bpk-component-input/src/BpkClearButton.js +3 -1
  87. package/bpk-component-input/src/BpkInput.js +4 -1
  88. package/bpk-component-input/src/withOpenEvents.js +4 -1
  89. package/bpk-component-link/index.js +2 -2
  90. package/bpk-component-list/src/BpkList.js +2 -2
  91. package/bpk-component-loading-button/src/BpkLoadingButton.js +6 -3
  92. package/bpk-component-map/index.js +4 -4
  93. package/bpk-component-map/src/BpkIconMarker.js +1 -1
  94. package/bpk-component-map/src/BpkMap.js +2 -2
  95. package/bpk-component-map/src/BpkPriceMarker.js +7 -5
  96. package/bpk-component-map/src/BpkPriceMarkerV2/BpkPriceMarker.js +1 -1
  97. package/bpk-component-mobile-scroll-container/src/BpkMobileScrollContainer.js +0 -8
  98. package/bpk-component-mobile-scroll-container/src/BpkMobileScrollContainer.module.css +1 -1
  99. package/bpk-component-modal/index.js +4 -3
  100. package/bpk-component-modal/src/BpkModal.d.ts +2 -1
  101. package/bpk-component-modal/src/BpkModal.js +4 -2
  102. package/bpk-component-modal/src/BpkModalInner.d.ts +2 -0
  103. package/bpk-component-modal/src/BpkModalInner.js +24 -8
  104. package/bpk-component-modal/src/BpkModalInner.module.css +1 -1
  105. package/bpk-component-modal/src/BpkModalV2/BpKModal.module.css +1 -1
  106. package/bpk-component-modal/src/BpkModalV2/BpkModal.d.ts +2 -0
  107. package/bpk-component-modal/src/BpkModalV2/BpkModal.js +19 -8
  108. package/bpk-component-navigation-bar/index.js +1 -1
  109. package/bpk-component-navigation-bar/src/BpkNavigationBar.js +7 -5
  110. package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.js +7 -7
  111. package/bpk-component-navigation-bar/src/BpkNavigationBarIconButton.js +8 -8
  112. package/bpk-component-nudger/index.js +1 -1
  113. package/bpk-component-nudger/src/BpkConfigurableNudger.js +16 -4
  114. package/bpk-component-nudger/src/BpkNudger.js +15 -8
  115. package/bpk-component-nudger/src/BpkNudger.module.css +1 -1
  116. package/bpk-component-page-indicator/src/BpkPageIndicator.module.css +1 -1
  117. package/bpk-component-page-indicator/src/NavButton.js +1 -1
  118. package/bpk-component-pagination/src/BpkPaginationList.js +1 -1
  119. package/bpk-component-pagination/src/BpkPaginationNudger.js +13 -4
  120. package/bpk-component-pagination/src/BpkPaginationPage.js +4 -1
  121. package/bpk-component-phone-input/src/BpkPhoneInput.js +15 -4
  122. package/bpk-component-popover/src/BpkPopover.js +6 -3
  123. package/bpk-component-popover/src/BpkPopoverPortal.js +5 -2
  124. package/bpk-component-popover/src/keyboardFocusScope.js +1 -1
  125. package/bpk-component-price/src/BpkPrice.js +17 -5
  126. package/bpk-component-rating/src/BpkRating.js +17 -5
  127. package/bpk-component-rtl-toggle/src/BpkRtlToggle.js +0 -4
  128. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGrid.js +6 -3
  129. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList.js +6 -3
  130. package/bpk-component-section-header/src/BpkSectionHeader.js +6 -5
  131. package/bpk-component-section-header/src/BpkSectionHeader.module.css +1 -1
  132. package/bpk-component-section-list/index.js +1 -1
  133. package/bpk-component-section-list/src/BpkSectionListItem.js +8 -6
  134. package/bpk-component-section-list/src/BpkSectionListItem.module.css +1 -1
  135. package/bpk-component-section-list/src/BpkSectionListSection.js +1 -1
  136. package/bpk-component-skeleton/index.js +21 -0
  137. package/bpk-component-skeleton/src/BpkBaseSkeleton.js +30 -0
  138. package/bpk-component-skeleton/src/BpkBaseSkeleton.module.css +18 -0
  139. package/bpk-component-skeleton/src/BpkSkeleton.js +38 -0
  140. package/bpk-component-skeleton/src/BpkSkeleton.module.css +18 -0
  141. package/bpk-component-skeleton/src/common-types.js +33 -0
  142. package/bpk-component-spinner/index.js +3 -3
  143. package/bpk-component-spinner/src/BpkExtraLargeSpinner.js +6 -4
  144. package/bpk-component-spinner/src/BpkLargeSpinner.js +6 -4
  145. package/bpk-component-spinner/src/BpkSpinner.js +6 -4
  146. package/bpk-component-split-input/src/BpkInputField.js +2 -2
  147. package/bpk-component-split-input/src/BpkSplitInput.js +3 -3
  148. package/bpk-component-star-rating/index.js +4 -4
  149. package/bpk-component-star-rating/src/BpkInteractiveStar.js +6 -3
  150. package/bpk-component-star-rating/src/BpkInteractiveStarRating.js +1 -1
  151. package/bpk-component-star-rating/src/BpkStar.js +18 -18
  152. package/bpk-component-star-rating/src/BpkStar.module.css +1 -1
  153. package/bpk-component-swap-button/src/BpkSwapButton.js +2 -1
  154. package/bpk-component-table/index.js +2 -2
  155. package/bpk-component-text/src/BpkText.js +10 -5
  156. package/bpk-component-theme-toggle/src/BpkThemeToggle.js +5 -3
  157. package/bpk-component-theme-toggle/src/updateOnThemeChange.js +1 -1
  158. package/bpk-component-tooltip/src/BpkTooltipPortal.js +4 -1
  159. package/bpk-mixins/_chips.scss +9 -0
  160. package/bpk-react-utils/index.js +3 -3
  161. package/bpk-react-utils/src/withDefaultProps.js +4 -1
  162. package/bpk-scrim-utils/src/withScrimmedPortal.js +1 -1
  163. package/bpk-theming/src/BpkThemeProvider.js +1 -1
  164. package/package.json +2 -2
  165. package/unstable__bpk-mixins/_chips.scss +9 -0
  166. package/bpk-component-button/src/commonButtonTests.js +0 -133
  167. package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.module.css +0 -18
@@ -19,8 +19,8 @@ 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
25
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
26
26
  const getClassName = cssModules(STYLES);
@@ -148,7 +148,10 @@ class BpkPopoverPortal extends Component {
148
148
  }
149
149
  return /*#__PURE__*/_jsxs(_Fragment, {
150
150
  children: [typeof target !== 'function' && target, /*#__PURE__*/_jsx(Portal, {
151
- beforeClose: this.beforeClose,
151
+ beforeClose: this.beforeClose
152
+ // TODO: className to be removed
153
+ // eslint-disable-next-line @skyscanner/rules/forbid-component-props
154
+ ,
152
155
  className: classNames.join(' '),
153
156
  isOpen: isOpen,
154
157
  onClose: this.onClose,
@@ -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",
@@ -60,14 +60,10 @@ class BpkRtlToggle extends Component {
60
60
  });
61
61
  };
62
62
  render() {
63
- const {
64
- className
65
- } = this.props;
66
63
  const onOrOff = this.state.direction === DIRECTIONS.RTL ? 'off' : 'on';
67
64
  return /*#__PURE__*/_jsxs(BpkButtonLink, {
68
65
  title: "Keyboard Shortcut: ctrl + cmd + r",
69
66
  onClick: this.toggleRtl,
70
- className: className,
71
67
  children: ["RTL ", onOrOff]
72
68
  });
73
69
  }
@@ -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 { cssModules } from "../../bpk-react-utils";
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);
@@ -34,13 +34,14 @@ const BpkSectionHeader = ({
34
34
  className: getClassName('bpk-section-header'),
35
35
  children: [/*#__PURE__*/_jsxs("div", {
36
36
  className: getClassName('bpk-section-header__title-description', `bpk-section-header__title-description--${type}`),
37
- children: [/*#__PURE__*/_jsx(BpkText, {
38
- tagName: "h2",
37
+ children: [/*#__PURE__*/_jsx("h2", {
39
38
  className: getClassName('bpk-section-header__title'),
40
39
  children: title
41
- }), description && /*#__PURE__*/_jsx(BpkText, {
40
+ }), description && /*#__PURE__*/_jsx("span", {
42
41
  className: getClassName('bpk-section-header__description'),
43
- children: description
42
+ children: /*#__PURE__*/_jsx(BpkText, {
43
+ children: description
44
+ })
44
45
  })]
45
46
  }), button]
46
47
  });
@@ -15,4 +15,4 @@
15
15
  * See the License for the specific language governing permissions and
16
16
  * limitations under the License.
17
17
  */
18
- .bpk-section-header{display:flex;justify-content:space-between;align-items:flex-start;background-color:rgba(0,0,0,0)}.bpk-section-header__title-description{display:flex;flex-direction:column}.bpk-section-header__title-description--default{color:#161616}.bpk-section-header__title-description--on-dark{color:#fff}.bpk-section-header__title{font-size:2rem;line-height:2.5rem;font-weight:700}@media(max-width: 32rem){.bpk-section-header__title{font-size:1.5rem;line-height:1.75rem;font-weight:700}}.bpk-section-header__description{padding-top:.25rem}
18
+ .bpk-section-header{display:flex;justify-content:space-between;align-items:flex-start;background-color:rgba(0,0,0,0)}.bpk-section-header__title-description{display:flex;flex-direction:column}.bpk-section-header__title-description--default{color:#161616}.bpk-section-header__title-description--on-dark{color:#fff}.bpk-section-header__title{margin:0;font-size:2rem;line-height:2.5rem;font-weight:700}@media(max-width: 32rem){.bpk-section-header__title{font-size:1.5rem;line-height:1.75rem;font-weight:700}}.bpk-section-header__description{padding-top:.25rem}
@@ -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,8 +43,9 @@ const BpkSectionListItem = props => {
43
43
  onClick: onClick,
44
44
  className: classNames.join(' '),
45
45
  ...rest,
46
- children: [children, /*#__PURE__*/_jsx(BpkLargeChevronRightIconWithRtlSupport, {
47
- className: getClassName('bpk-section-list-item__chevron')
46
+ children: [children, /*#__PURE__*/_jsx("span", {
47
+ className: getClassName('bpk-section-list-item__chevron'),
48
+ children: /*#__PURE__*/_jsx(BpkLargeChevronRightIconWithRtlSupport, {})
48
49
  })]
49
50
  })
50
51
  );
@@ -58,8 +59,9 @@ const BpkSectionListItem = props => {
58
59
  onClick: onClick,
59
60
  className: classNames.join(' '),
60
61
  ...rest,
61
- children: [children, /*#__PURE__*/_jsx(BpkLargeChevronRightIconWithRtlSupport, {
62
- className: getClassName('bpk-section-list-item__chevron')
62
+ children: [children, /*#__PURE__*/_jsx("span", {
63
+ className: getClassName('bpk-section-list-item__chevron'),
64
+ children: /*#__PURE__*/_jsx(BpkLargeChevronRightIconWithRtlSupport, {})
63
65
  })]
64
66
  })
65
67
  );
@@ -15,4 +15,4 @@
15
15
  * See the License for the specific language governing permissions and
16
16
  * limitations under the License.
17
17
  */
18
- .bpk-section-list-item{display:flex;width:100%;min-height:4rem;padding:.5rem 1rem;justify-content:space-between;align-items:center;border:none;background-color:#fff;color:#161616;text-decoration:none;box-shadow:0 -1px 0 0 #c1c7cf inset}.bpk-section-list-item--interactive{cursor:pointer}.bpk-section-list-item__chevron{fill:#626971}.bpk-section-list-item:hover .bpk-section-list-item__chevron{fill:#161616}.bpk-section-list-item:active .bpk-section-list-item__chevron{fill:#161616}
18
+ .bpk-section-list-item{display:flex;width:100%;min-height:4rem;padding:.5rem 1rem;justify-content:space-between;align-items:center;border:none;background-color:#fff;color:#161616;text-decoration:none;box-shadow:0 -1px 0 0 #c1c7cf inset}.bpk-section-list-item--interactive{cursor:pointer}.bpk-section-list-item__chevron{display:contents;fill:#626971}.bpk-section-list-item:hover .bpk-section-list-item__chevron{fill:#161616}.bpk-section-list-item:active .bpk-section-list-item__chevron{fill:#161616}
@@ -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);
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ import BpkSkeleton from "./src/BpkSkeleton";
20
+ export { SIZE_TYPES, SKELETON_TYPES, IMAGE_SKELETON_STYLE } from "./src/common-types";
21
+ export default BpkSkeleton;
@@ -0,0 +1,30 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ import { cssModules } from "../../bpk-react-utils";
20
+ import STYLES from "./BpkBaseSkeleton.module.css";
21
+ import { jsx as _jsx } from "react/jsx-runtime";
22
+ const getClassName = cssModules(STYLES);
23
+ const BpkBaseSkeleton = ({
24
+ skeletonStyle,
25
+ styleObj = undefined
26
+ }) => /*#__PURE__*/_jsx("div", {
27
+ className: getClassName('bpk-skeleton', skeletonStyle),
28
+ style: styleObj
29
+ });
30
+ export default BpkBaseSkeleton;
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ .bpk-skeleton{width:6rem;height:6rem;background:#e0e4e9;background-image:linear-gradient(to right, rgba(255, 255, 255, 0) 7.08%, rgba(255, 255, 255, 0.6) 49.22%, rgba(255, 255, 255, 0) 100%);background-repeat:no-repeat;animation:shimmer-animation 1600ms infinite linear;animation-direction:normal}html[dir=rtl] .bpk-skeleton{animation-direction:reverse}@keyframes shimmer-animation{0%{background-position:-24rem 0}100%{background-position:24rem 0}}
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ import { cssModules } from "../../bpk-react-utils";
20
+ import BpkBaseSkeleton from "./BpkBaseSkeleton";
21
+ import { SKELETON_TYPES, IMAGE_SKELETON_STYLE, SIZE_TYPES } from "./common-types";
22
+ import STYLES from "./BpkSkeleton.module.css";
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ const getClassName = cssModules(STYLES);
25
+ const BpkSkeleton = props => {
26
+ const {
27
+ size = SIZE_TYPES.default,
28
+ type
29
+ } = props;
30
+ const isImageRounded = type === SKELETON_TYPES.image && props.style === IMAGE_SKELETON_STYLE.rounded;
31
+ const classNames = getClassName(`bpk-skeleton__${type}`, typeof size !== 'object' && `bpk-skeleton__${type}--${size}`, isImageRounded && 'bpk-skeleton__image--rounded');
32
+ const styleObj = typeof size === 'object' ? size : undefined;
33
+ return /*#__PURE__*/_jsx(BpkBaseSkeleton, {
34
+ skeletonStyle: classNames,
35
+ styleObj: styleObj
36
+ });
37
+ };
38
+ export default BpkSkeleton;
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ .bpk-skeleton__image{width:6rem;height:6rem}.bpk-skeleton__image--rounded{border-radius:.5rem}.bpk-skeleton__headline{width:5rem;border-radius:.25rem}.bpk-skeleton__headline--small{height:.5rem;border-radius:.125rem}.bpk-skeleton__headline--default{height:1rem;border-radius:.25rem}.bpk-skeleton__headline--large{height:2rem;border-radius:.25rem}.bpk-skeleton__circle{border-radius:50%}.bpk-skeleton__circle--small{width:2rem;height:2rem}.bpk-skeleton__circle--default{width:3rem;height:3rem}.bpk-skeleton__bodyText{height:.5rem;border-radius:.125rem}.bpk-skeleton__bodyText--small{width:7.125rem}.bpk-skeleton__bodyText--default{width:10.6875rem}.bpk-skeleton__bodyText--large{width:12.5rem}
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2016 Skyscanner Ltd
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ export const SIZE_TYPES = {
20
+ small: 'small',
21
+ default: 'default',
22
+ large: 'large'
23
+ };
24
+ export const SKELETON_TYPES = {
25
+ image: 'image',
26
+ bodyText: 'bodyText',
27
+ circle: 'circle',
28
+ headline: 'headline'
29
+ };
30
+ export const IMAGE_SKELETON_STYLE = {
31
+ rounded: 'rounded',
32
+ default: 'default'
33
+ };
@@ -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 BpkSpinner from "./src/BpkSpinner";
18
- import SPINNER_TYPES from "./src/spinnerTypes";
17
+ */import BpkExtraLargeSpinner from "./src/BpkExtraLargeSpinner";
19
18
  import BpkLargeSpinner from "./src/BpkLargeSpinner";
20
- import BpkExtraLargeSpinner from "./src/BpkExtraLargeSpinner";
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,11 +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
- // $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
91
- return /*#__PURE__*/_jsx(XlSpinner, {
89
+ return /*#__PURE__*/_jsx("span", {
92
90
  className: classNames,
93
- ...rest
91
+ children: /*#__PURE__*/_jsx(XlSpinner
92
+ // $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
93
+ , {
94
+ ...rest
95
+ })
94
96
  });
95
97
  };
96
98
  BpkExtraLargeSpinner.propTypes = {
@@ -87,11 +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
- // $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
92
- return /*#__PURE__*/_jsx(LgSpinner, {
90
+ return /*#__PURE__*/_jsx("span", {
93
91
  className: classNames,
94
- ...rest
92
+ children: /*#__PURE__*/_jsx(LgSpinner
93
+ // $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
94
+ , {
95
+ ...rest
96
+ })
95
97
  });
96
98
  };
97
99
  BpkLargeSpinner.propTypes = {
@@ -74,11 +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
- // $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
79
- return /*#__PURE__*/_jsx(SmSpinner, {
77
+ return /*#__PURE__*/_jsx("span", {
80
78
  className: classNames,
81
- ...rest
79
+ children: /*#__PURE__*/_jsx(SmSpinner
80
+ // $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
81
+ , {
82
+ ...rest
83
+ })
82
84
  });
83
85
  };
84
86
  BpkSpinner.propTypes = {
@@ -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 { Component } from 'react';
18
- import PropTypes from 'prop-types';
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 { Component } from 'react';
18
- import PropTypes from 'prop-types';
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";
@@ -14,11 +14,11 @@
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 BpkStar, { BpkStarNonRtl, STAR_TYPES } from "./src/BpkStar";
18
- import BpkInteractiveStar from "./src/BpkInteractiveStar";
19
- import BpkStarRating, { ROUNDING_TYPES } from "./src/BpkStarRating";
17
+ */import BpkInteractiveStar from "./src/BpkInteractiveStar";
20
18
  import BpkInteractiveStarRating from "./src/BpkInteractiveStarRating";
21
- import withInteractiveStarRatingState from "./src/withInteractiveStarRatingState";
19
+ import BpkStar, { BpkStarNonRtl, STAR_TYPES } from "./src/BpkStar";
20
+ import BpkStarRating, { ROUNDING_TYPES } from "./src/BpkStarRating";
22
21
  import themeAttributes from "./src/themeAttributes";
22
+ import withInteractiveStarRatingState from "./src/withInteractiveStarRatingState";
23
23
  export { BpkStar, BpkStarNonRtl, STAR_TYPES, ROUNDING_TYPES, BpkInteractiveStar, BpkInteractiveStarRating, withInteractiveStarRatingState, themeAttributes };
24
24
  export default BpkStarRating;
@@ -44,10 +44,13 @@ const BpkInteractiveStar = props => {
44
44
  className: buttonClassNames,
45
45
  "aria-pressed": selected,
46
46
  type: "button",
47
- children: /*#__PURE__*/_jsx(BpkStarNonRtl, {
47
+ children: /*#__PURE__*/_jsx("div", {
48
48
  className: iconClassNames,
49
- type: type,
50
- ...rest
49
+ children: /*#__PURE__*/_jsx(BpkStarNonRtl, {
50
+ type: type
51
+ /* $FlowFixMe[cannot-spread-inexact] - inexact rest. See decisions/flowfixme.md */,
52
+ ...rest
53
+ })
51
54
  })
52
55
  });
53
56
  };
@@ -16,8 +16,8 @@
16
16
  * limitations under the License.
17
17
  */import PropTypes from 'prop-types';
18
18
  import { cssModules } from "../../bpk-react-utils";
19
- import { STAR_TYPES } from "./BpkStar";
20
19
  import BpkInteractiveStar from "./BpkInteractiveStar";
20
+ import { STAR_TYPES } from "./BpkStar";
21
21
  import STYLES from "./BpkStarRating.module.css";
22
22
  import { jsx as _jsx } from "react/jsx-runtime";
23
23
  const getClassName = cssModules(STYLES);