@skyscanner/backpack-web 0.4.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/bpk-animate-height/package.json +3 -3
  2. package/bpk-component-accordion/package.json +7 -7
  3. package/bpk-component-accordion/src/BpkAccordion.js +1 -2
  4. package/bpk-component-accordion/src/BpkAccordionItem.js +5 -6
  5. package/bpk-component-accordion/src/withAccordionItemState.js +1 -2
  6. package/bpk-component-accordion/src/withSingleItemAccordionState.js +1 -2
  7. package/bpk-component-aria-live/package.json +7 -7
  8. package/bpk-component-aria-live/src/BpkAriaLive.js +1 -2
  9. package/bpk-component-autosuggest/package.json +4 -4
  10. package/bpk-component-autosuggest/src/BpkAutosuggest.js +2 -3
  11. package/bpk-component-autosuggest/src/BpkAutosuggestSuggestion.js +1 -2
  12. package/bpk-component-badge/package.json +5 -5
  13. package/bpk-component-badge/src/BpkBadge.js +1 -2
  14. package/bpk-component-banner-alert/package.json +9 -9
  15. package/bpk-component-banner-alert/src/AnimateAndFade.js +2 -3
  16. package/bpk-component-banner-alert/src/BpkBannerAlertInner.js +7 -8
  17. package/bpk-component-banner-alert/src/withBannerAlertState.js +1 -2
  18. package/bpk-component-barchart/package.json +8 -8
  19. package/bpk-component-barchart/src/BpkBarchart.js +2 -3
  20. package/bpk-component-barchart/src/BpkBarchartBar.js +1 -2
  21. package/bpk-component-barchart/src/BpkChartAxis.js +1 -2
  22. package/bpk-component-barchart/src/BpkChartDataTable.js +1 -2
  23. package/bpk-component-barchart/src/BpkChartGridLines.js +1 -2
  24. package/bpk-component-barchart/src/RTLtransforms.js +1 -1
  25. package/bpk-component-blockquote/package.json +2 -2
  26. package/bpk-component-blockquote/src/BpkBlockquote.js +1 -2
  27. package/bpk-component-breadcrumb/package.json +5 -5
  28. package/bpk-component-breadcrumb/src/BpkBreadcrumb.js +1 -2
  29. package/bpk-component-breadcrumb/src/BpkBreadcrumbItem.js +5 -6
  30. package/bpk-component-breakpoint/package.json +3 -3
  31. package/bpk-component-breakpoint/src/BpkBreakpoint.js +3 -0
  32. package/bpk-component-button/package.json +3 -3
  33. package/bpk-component-calendar/package.json +9 -9
  34. package/bpk-component-calendar/src/BpkCalendarContainer.js +1 -2
  35. package/bpk-component-calendar/src/BpkCalendarDate.js +1 -2
  36. package/bpk-component-calendar/src/BpkCalendarGrid.js +1 -2
  37. package/bpk-component-calendar/src/BpkCalendarGridHeader.js +1 -2
  38. package/bpk-component-calendar/src/BpkCalendarGridTransition.js +1 -2
  39. package/bpk-component-calendar/src/BpkCalendarNav.js +5 -6
  40. package/bpk-component-calendar/src/Week.js +1 -2
  41. package/bpk-component-calendar/src/composeCalendar.js +1 -2
  42. package/bpk-component-card/package.json +4 -4
  43. package/bpk-component-card/src/BpkCard.js +1 -2
  44. package/bpk-component-checkbox/package.json +5 -5
  45. package/bpk-component-checkbox/src/BpkCheckbox.js +1 -2
  46. package/bpk-component-chip/package.json +5 -5
  47. package/bpk-component-chip/src/BpkDismissibleChip.js +1 -2
  48. package/bpk-component-chip/src/BpkSelectableChip.js +2 -3
  49. package/bpk-component-close-button/package.json +4 -4
  50. package/bpk-component-close-button/src/BpkCloseButton.js +2 -3
  51. package/bpk-component-code/package.json +2 -2
  52. package/bpk-component-code/src/BpkCode.js +1 -2
  53. package/bpk-component-code/src/BpkCodeBlock.js +1 -2
  54. package/bpk-component-content-container/package.json +2 -2
  55. package/bpk-component-content-container/src/BpkContentContainer.js +1 -2
  56. package/bpk-component-datatable/package.json +4 -4
  57. package/bpk-component-datatable/src/BpkDataTable.js +1 -2
  58. package/bpk-component-datatable/src/BpkDataTableColumn.js +1 -2
  59. package/bpk-component-datatable/src/bpkHeaderRenderer.js +4 -5
  60. package/bpk-component-datepicker/index.js +1 -1
  61. package/bpk-component-datepicker/package.json +9 -9
  62. package/bpk-component-datepicker/src/BpkDatepicker.js +6 -7
  63. package/bpk-component-datepicker/src/themeAttributes.js +3 -3
  64. package/bpk-component-description-list/package.json +2 -2
  65. package/bpk-component-description-list/src/ComponentFactory.js +1 -2
  66. package/bpk-component-dialog/package.json +8 -8
  67. package/bpk-component-dialog/src/BpkDialog.js +2 -3
  68. package/bpk-component-dialog/src/BpkDialogInner.js +3 -4
  69. package/bpk-component-drawer/package.json +9 -9
  70. package/bpk-component-drawer/src/BpkDrawer.js +2 -3
  71. package/bpk-component-drawer/src/BpkDrawerContent.js +3 -4
  72. package/bpk-component-drawer/src/themeAttributes.js +1 -1
  73. package/bpk-component-fieldset/package.json +12 -12
  74. package/bpk-component-fieldset/src/BpkFieldset.js +3 -4
  75. package/bpk-component-flare/package.json +4 -4
  76. package/bpk-component-flare/src/BpkContentBubble.js +1 -2
  77. package/bpk-component-flare/src/BpkFlareBar.js +1 -2
  78. package/bpk-component-form-validation/package.json +10 -10
  79. package/bpk-component-form-validation/src/BpkFormValidation.js +4 -5
  80. package/bpk-component-graphic-promotion/package.json +5 -5
  81. package/bpk-component-graphic-promotion/src/BpkGraphicPromo.js +4 -5
  82. package/bpk-component-grid/package.json +2 -2
  83. package/bpk-component-grid/src/BpkGridColumn.js +1 -2
  84. package/bpk-component-grid/src/BpkGridContainer.js +1 -2
  85. package/bpk-component-grid/src/BpkGridRow.js +1 -2
  86. package/bpk-component-grid-toggle/package.json +3 -3
  87. package/bpk-component-grid-toggle/src/BpkGridToggle.js +2 -3
  88. package/bpk-component-horizontal-nav/package.json +6 -6
  89. package/bpk-component-horizontal-nav/src/BpkHorizontalNav.js +2 -3
  90. package/bpk-component-horizontal-nav/src/BpkHorizontalNavItem.js +1 -2
  91. package/bpk-component-icon/package.json +7 -7
  92. package/bpk-component-icon/src/classNameModifierHOCFactory.js +1 -2
  93. package/bpk-component-icon/src/withAlignment.js +1 -2
  94. package/bpk-component-icon/src/withDescription.js +1 -2
  95. package/bpk-component-icon/src/withRtlSupport.js +1 -1
  96. package/bpk-component-image/package.json +6 -6
  97. package/bpk-component-image/src/BpkBackgroundImage.js +2 -3
  98. package/bpk-component-image/src/BpkImage.js +2 -3
  99. package/bpk-component-image/src/withLazyLoading.js +1 -2
  100. package/bpk-component-image/src/withLoadingBehavior.js +1 -2
  101. package/bpk-component-infinite-scroll/package.json +6 -6
  102. package/bpk-component-infinite-scroll/src/withInfiniteScroll.js +1 -2
  103. package/bpk-component-input/package.json +6 -6
  104. package/bpk-component-input/src/BpkClearButton.js +3 -4
  105. package/bpk-component-input/src/BpkInput.js +1 -2
  106. package/bpk-component-input/src/withOpenEvents.js +1 -2
  107. package/bpk-component-label/package.json +2 -2
  108. package/bpk-component-label/src/BpkLabel.js +1 -2
  109. package/bpk-component-link/package.json +4 -4
  110. package/bpk-component-link/src/BpkButtonLink.js +1 -2
  111. package/bpk-component-link/src/BpkLink.js +1 -2
  112. package/bpk-component-list/package.json +2 -2
  113. package/bpk-component-list/src/BpkList.js +1 -2
  114. package/bpk-component-list/src/BpkListItem.js +1 -2
  115. package/bpk-component-loading-button/package.json +6 -6
  116. package/bpk-component-loading-button/src/BpkLoadingButton.js +6 -7
  117. package/bpk-component-map/package.json +6 -6
  118. package/bpk-component-map/src/BpkIconMarker.js +1 -2
  119. package/bpk-component-map/src/BpkIconMarkerBackground.js +1 -2
  120. package/bpk-component-map/src/BpkMap.js +1 -2
  121. package/bpk-component-map/src/BpkPriceMarker.js +2 -3
  122. package/bpk-component-map/src/DefaultLoadingElement.js +2 -3
  123. package/bpk-component-mobile-scroll-container/package.json +3 -3
  124. package/bpk-component-mobile-scroll-container/src/BpkMobileScrollContainer.js +1 -2
  125. package/bpk-component-modal/package.json +9 -9
  126. package/bpk-component-modal/src/BpkModal.js +2 -3
  127. package/bpk-component-modal/src/BpkModalInner.js +4 -5
  128. package/bpk-component-modal/src/themeAttributes.js +1 -1
  129. package/bpk-component-navigation-bar/package.json +8 -8
  130. package/bpk-component-navigation-bar/src/BpkNavigationBar.js +2 -3
  131. package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.js +2 -3
  132. package/bpk-component-navigation-bar/src/BpkNavigationBarIconButton.js +2 -3
  133. package/bpk-component-navigation-stack/package.json +7 -7
  134. package/bpk-component-navigation-stack/src/BpkNavigationStack.js +1 -2
  135. package/bpk-component-nudger/package.json +7 -7
  136. package/bpk-component-nudger/src/BpkConfigurableNudger.js +6 -7
  137. package/bpk-component-nudger/src/BpkNudger.js +1 -2
  138. package/bpk-component-nudger/src/themeAttributes.js +1 -1
  139. package/bpk-component-overlay/package.json +4 -4
  140. package/bpk-component-overlay/src/BpkOverlay.js +1 -2
  141. package/bpk-component-pagination/package.json +4 -4
  142. package/bpk-component-pagination/src/BpkPagination.js +1 -2
  143. package/bpk-component-pagination/src/BpkPaginationList.js +1 -2
  144. package/bpk-component-pagination/src/BpkPaginationNudger.js +4 -5
  145. package/bpk-component-pagination/src/BpkPaginationPage.js +2 -3
  146. package/bpk-component-pagination/src/themeAttributes.js +1 -1
  147. package/bpk-component-panel/package.json +2 -2
  148. package/bpk-component-panel/src/BpkPanel.js +1 -2
  149. package/bpk-component-phone-input/package.json +9 -9
  150. package/bpk-component-phone-input/src/BpkPhoneInput.js +4 -5
  151. package/bpk-component-popover/package.json +8 -8
  152. package/bpk-component-popover/src/BpkPopover.js +4 -5
  153. package/bpk-component-popover/src/BpkPopoverPortal.js +1 -2
  154. package/bpk-component-popover/src/themeAttributes.js +1 -1
  155. package/bpk-component-progress/package.json +5 -5
  156. package/bpk-component-progress/src/BpkProgress.js +1 -2
  157. package/bpk-component-radio/package.json +4 -4
  158. package/bpk-component-radio/src/BpkRadio.js +1 -2
  159. package/bpk-component-rating/README.md +30 -32
  160. package/bpk-component-rating/index.js +2 -3
  161. package/bpk-component-rating/package.json +4 -4
  162. package/bpk-component-rating/src/BpkRating.js +54 -77
  163. package/bpk-component-rating/src/BpkRating.module.scss +37 -99
  164. package/bpk-component-rating/src/common-types.js +1 -6
  165. package/bpk-component-rtl-toggle/package.json +2 -2
  166. package/bpk-component-rtl-toggle/src/BpkRtlToggle.js +1 -2
  167. package/bpk-component-rtl-toggle/src/updateOnDirectionChange.js +1 -2
  168. package/bpk-component-scrollable-calendar/index.js +1 -1
  169. package/bpk-component-scrollable-calendar/package.json +6 -6
  170. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendar.js +1 -1
  171. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarDate.js +1 -2
  172. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGrid.js +3 -4
  173. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList.js +2 -6
  174. package/bpk-component-scrollable-calendar/src/utils.js +1 -1
  175. package/bpk-component-section-list/package.json +6 -6
  176. package/bpk-component-section-list/src/BpkSectionListItem.js +3 -4
  177. package/bpk-component-section-list/src/BpkSectionListSection.js +2 -3
  178. package/bpk-component-select/package.json +3 -3
  179. package/bpk-component-select/src/BpkSelect.js +1 -2
  180. package/bpk-component-skip-link/package.json +2 -2
  181. package/bpk-component-skip-link/src/BpkSkipLink.js +1 -2
  182. package/bpk-component-slider/package.json +4 -4
  183. package/bpk-component-slider/src/BpkSlider.js +1 -2
  184. package/bpk-component-spinner/package.json +3 -3
  185. package/bpk-component-spinner/src/BpkExtraLargeSpinner.js +1 -2
  186. package/bpk-component-spinner/src/BpkLargeSpinner.js +1 -2
  187. package/bpk-component-spinner/src/BpkSpinner.js +1 -2
  188. package/bpk-component-star-rating/package.json +5 -5
  189. package/bpk-component-star-rating/src/BpkInteractiveStar.js +1 -2
  190. package/bpk-component-star-rating/src/BpkInteractiveStarRating.js +1 -2
  191. package/bpk-component-star-rating/src/BpkStar.js +8 -9
  192. package/bpk-component-star-rating/src/BpkStarRating.js +1 -2
  193. package/bpk-component-star-rating/src/withInteractiveStarRatingState.js +1 -2
  194. package/bpk-component-switch/package.json +2 -2
  195. package/bpk-component-switch/src/BpkSwitch.js +1 -2
  196. package/bpk-component-table/package.json +2 -2
  197. package/bpk-component-table/src/BpkTable.js +1 -2
  198. package/bpk-component-table/src/BpkTableCell.js +1 -2
  199. package/bpk-component-table/src/BpkTableHeadCell.js +1 -2
  200. package/bpk-component-text/package.json +2 -2
  201. package/bpk-component-text/src/BpkText.js +1 -2
  202. package/bpk-component-textarea/package.json +4 -4
  203. package/bpk-component-textarea/src/BpkTextarea.js +1 -2
  204. package/bpk-component-theme-toggle/package.json +5 -5
  205. package/bpk-component-theme-toggle/src/BpkThemeToggle.js +3 -4
  206. package/bpk-component-theme-toggle/src/updateOnThemeChange.js +1 -2
  207. package/bpk-component-ticket/package.json +4 -4
  208. package/bpk-component-ticket/src/BpkTicket.js +1 -2
  209. package/bpk-component-tooltip/package.json +4 -4
  210. package/bpk-component-tooltip/src/BpkTooltip.js +1 -2
  211. package/bpk-component-tooltip/src/BpkTooltipPortal.js +1 -2
  212. package/bpk-scrim-utils/package.json +2 -2
  213. package/bpk-scrim-utils/src/BpkScrim.js +1 -2
  214. package/bpk-scrim-utils/src/withScrim.js +1 -2
  215. package/bpk-theming/package.json +2 -2
  216. package/package.json +5 -8
  217. package/bpk-component-rating/src/themeAttributes.js +0 -25
@@ -18,8 +18,7 @@
18
18
 
19
19
  import PropTypes from 'prop-types';
20
20
  import React from 'react';
21
-
22
- import { cssModules } from '../../bpk-react-utils';
21
+ import { cssModules } from 'bpk-react-utils';
23
22
 
24
23
  import BpkPaginationPage from './BpkPaginationPage';
25
24
  import BpkPaginationBreak from './BpkPaginationBreak';
@@ -18,11 +18,10 @@
18
18
 
19
19
  import PropTypes from 'prop-types';
20
20
  import React from 'react';
21
-
22
- import { cssModules } from '../../bpk-react-utils';
23
- import { withButtonAlignment, withRtlSupport } from '../../bpk-component-icon';
24
- import ArrowLeftIcon from '../../bpk-component-icon/lg/arrow-left';
25
- import ArrowRightIcon from '../../bpk-component-icon/lg/arrow-right';
21
+ import { cssModules } from 'bpk-react-utils';
22
+ import { withButtonAlignment, withRtlSupport } from 'bpk-component-icon';
23
+ import ArrowLeftIcon from 'bpk-component-icon/lg/arrow-left';
24
+ import ArrowRightIcon from 'bpk-component-icon/lg/arrow-right';
26
25
 
27
26
  import STYLES from './BpkPaginationNudger.module.scss';
28
27
 
@@ -16,11 +16,10 @@
16
16
  * limitations under the License.
17
17
  */
18
18
 
19
+ import BpkButton from 'bpk-component-button';
19
20
  import PropTypes from 'prop-types';
20
21
  import React from 'react';
21
-
22
- import BpkButton from '../../bpk-component-button';
23
- import { cssModules } from '../../bpk-react-utils';
22
+ import { cssModules } from 'bpk-react-utils';
24
23
 
25
24
  import STYLES from './BpkPaginationPage.module.scss';
26
25
 
@@ -15,7 +15,7 @@
15
15
  * See the License for the specific language governing permissions and
16
16
  * limitations under the License.
17
17
  */
18
- import { secondaryThemeAttributes } from '../../bpk-component-button';
18
+ import { secondaryThemeAttributes } from 'bpk-component-button';
19
19
 
20
20
  export default [
21
21
  ...secondaryThemeAttributes,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-panel",
3
- "version": "3.1.7",
3
+ "version": "3.1.8",
4
4
  "description": "Backpack panel 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-mixins": "^30.0.0",
17
+ "bpk-mixins": "^31.0.0",
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 PropTypes from 'prop-types';
20
20
  import React from 'react';
21
-
22
- import { cssModules } from '../../bpk-react-utils';
21
+ import { cssModules } from 'bpk-react-utils';
23
22
 
24
23
  import STYLES from './BpkPanel.module.scss';
25
24
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-phone-input",
3
- "version": "7.1.12",
3
+ "version": "7.1.13",
4
4
  "description": "Backpack phone input component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -14,12 +14,12 @@
14
14
  },
15
15
  "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
16
16
  "dependencies": {
17
- "@skyscanner/bpk-foundations-web": "^7.0.0",
18
- "bpk-component-input": "^6.1.10",
19
- "bpk-component-label": "^5.1.7",
20
- "bpk-component-select": "^5.1.7",
21
- "bpk-component-text": "^7.0.1",
22
- "bpk-mixins": "^30.0.0",
17
+ "@skyscanner/bpk-foundations-web": "^8.0.0",
18
+ "bpk-component-input": "^6.1.11",
19
+ "bpk-component-label": "^5.1.8",
20
+ "bpk-component-select": "^5.1.8",
21
+ "bpk-component-text": "^7.0.2",
22
+ "bpk-mixins": "^31.0.0",
23
23
  "bpk-react-utils": "^4.1.1",
24
24
  "prop-types": "^15.7.2"
25
25
  },
@@ -27,7 +27,7 @@
27
27
  "react": "^16.3.0 || ^17.0.0"
28
28
  },
29
29
  "devDependencies": {
30
- "bpk-component-fieldset": "^4.1.12",
31
- "bpk-component-image": "^5.1.8"
30
+ "bpk-component-fieldset": "^4.1.13",
31
+ "bpk-component-image": "^5.1.9"
32
32
  }
33
33
  }
@@ -20,11 +20,10 @@
20
20
 
21
21
  import React from 'react';
22
22
  import PropTypes from 'prop-types';
23
-
24
- import { cssModules } from '../../bpk-react-utils';
25
- import BpkInput, { INPUT_TYPES } from '../../bpk-component-input';
26
- import BpkLabel from '../../bpk-component-label';
27
- import BpkSelect from '../../bpk-component-select';
23
+ import { cssModules } from 'bpk-react-utils';
24
+ import BpkInput, { INPUT_TYPES } from 'bpk-component-input';
25
+ import BpkLabel from 'bpk-component-label';
26
+ import BpkSelect from 'bpk-component-select';
28
27
 
29
28
  import STYLES from './BpkPhoneInput.module.scss';
30
29
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-popover",
3
- "version": "4.1.10",
3
+ "version": "4.1.11",
4
4
  "description": "Backpack popover component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -17,10 +17,10 @@
17
17
  "@skyscanner/popper.js": "^1.12.9-beta.1",
18
18
  "a11y-focus-scope": "^1.1.3",
19
19
  "a11y-focus-store": "^1.0.0",
20
- "bpk-component-close-button": "^3.1.8",
21
- "bpk-component-link": "^3.1.7",
22
- "bpk-component-text": "^7.0.1",
23
- "bpk-mixins": "^30.0.0",
20
+ "bpk-component-close-button": "^3.1.9",
21
+ "bpk-component-link": "^3.1.8",
22
+ "bpk-component-text": "^7.0.2",
23
+ "bpk-mixins": "^31.0.0",
24
24
  "bpk-react-utils": "^4.1.1",
25
25
  "prop-types": "^15.7.2"
26
26
  },
@@ -28,8 +28,8 @@
28
28
  "react": "^16.3.0 || ^17.0.0"
29
29
  },
30
30
  "devDependencies": {
31
- "bpk-component-button": "^6.2.2",
32
- "bpk-component-content-container": "^5.0.1",
33
- "bpk-component-input": "^6.1.10"
31
+ "bpk-component-button": "^6.2.3",
32
+ "bpk-component-content-container": "^5.0.2",
33
+ "bpk-component-input": "^6.1.11"
34
34
  }
35
35
  }
@@ -20,11 +20,10 @@
20
20
 
21
21
  import PropTypes from 'prop-types';
22
22
  import React, { type Node } from 'react';
23
-
24
- import BpkText, { TEXT_STYLES } from '../../bpk-component-text';
25
- import { BpkButtonLink } from '../../bpk-component-link';
26
- import BpkCloseButton from '../../bpk-component-close-button';
27
- import { TransitionInitialMount, cssModules } from '../../bpk-react-utils';
23
+ import BpkText, { TEXT_STYLES } from 'bpk-component-text';
24
+ import { BpkButtonLink } from 'bpk-component-link';
25
+ import BpkCloseButton from 'bpk-component-close-button';
26
+ import { TransitionInitialMount, cssModules } from 'bpk-react-utils';
28
27
 
29
28
  import STYLES from './BpkPopover.module.scss';
30
29
  import { ARROW_ID } from './constants';
@@ -22,8 +22,7 @@ import Popper from '@skyscanner/popper.js';
22
22
  import PropTypes from 'prop-types';
23
23
  import React, { Component, type Node } from 'react';
24
24
  import focusStore from 'a11y-focus-store';
25
-
26
- import { Portal, cssModules } from '../../bpk-react-utils';
25
+ import { Portal, cssModules } from 'bpk-react-utils';
27
26
 
28
27
  import keyboardFocusScope from './keyboardFocusScope';
29
28
  import STYLES from './BpkPopover.module.scss';
@@ -18,6 +18,6 @@
18
18
 
19
19
  /* @flow strict */
20
20
 
21
- import { themeAttributes as linkAttributes } from '../../bpk-component-link';
21
+ import { themeAttributes as linkAttributes } from 'bpk-component-link';
22
22
 
23
23
  export default [...linkAttributes];
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-progress",
3
- "version": "3.1.7",
3
+ "version": "3.1.8",
4
4
  "description": "Backpack progress bar component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -14,8 +14,8 @@
14
14
  },
15
15
  "gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
16
16
  "dependencies": {
17
- "@skyscanner/bpk-foundations-web": "^7.0.0",
18
- "bpk-mixins": "^30.0.0",
17
+ "@skyscanner/bpk-foundations-web": "^8.0.0",
18
+ "bpk-mixins": "^31.0.0",
19
19
  "bpk-react-utils": "^4.1.1",
20
20
  "lodash.clamp": "^4.0.3",
21
21
  "prop-types": "^15.7.2"
@@ -24,7 +24,7 @@
24
24
  "react": "^16.3.0 || ^17.0.0"
25
25
  },
26
26
  "devDependencies": {
27
- "bpk-component-button": "^6.2.2",
28
- "bpk-storybook-utils": "^1.1.6"
27
+ "bpk-component-button": "^6.2.3",
28
+ "bpk-storybook-utils": "^1.1.7"
29
29
  }
30
30
  }
@@ -22,8 +22,7 @@ import PropTypes from 'prop-types';
22
22
  import React, { Component } from 'react';
23
23
  import { colorWhite } from '@skyscanner/bpk-foundations-web/tokens/base.es6';
24
24
  import clamp from 'lodash.clamp';
25
-
26
- import { cssModules } from '../../bpk-react-utils';
25
+ import { cssModules } from 'bpk-react-utils';
27
26
 
28
27
  import STYLES from './BpkProgress.module.scss';
29
28
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-radio",
3
- "version": "3.1.8",
3
+ "version": "3.1.9",
4
4
  "description": "Backpack radio button 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-mixins": "^30.0.0",
17
+ "bpk-mixins": "^31.0.0",
18
18
  "bpk-react-utils": "^4.1.1",
19
19
  "prop-types": "^15.7.2"
20
20
  },
@@ -22,7 +22,7 @@
22
22
  "react": "^16.3.0 || ^17.0.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@skyscanner/bpk-foundations-web": "^7.0.0",
26
- "bpk-storybook-utils": "^1.1.6"
25
+ "@skyscanner/bpk-foundations-web": "^8.0.0",
26
+ "bpk-storybook-utils": "^1.1.7"
27
27
  }
28
28
  }
@@ -20,8 +20,7 @@
20
20
 
21
21
  import PropTypes from 'prop-types';
22
22
  import React, { type Node } from 'react';
23
-
24
- import { cssModules } from '../../bpk-react-utils';
23
+ import { cssModules } from 'bpk-react-utils';
25
24
 
26
25
  import STYLES from './BpkRadio.module.scss';
27
26
 
@@ -12,40 +12,47 @@ npm install bpk-component-rating --save-dev
12
12
 
13
13
  ```js
14
14
  import React from 'react';
15
- import BpkRating, { RATING_SIZES, RATING_SCALES, RATING_TYPES } from 'bpk-component-rating';
15
+ import BpkRating, { RATING_SIZES, RATING_SCALES } from 'bpk-component-rating';
16
16
 
17
17
  export default () => (
18
18
  <BpkRating
19
- ariaLabel="9 Excellent would recommend"
19
+ ariaLabel="4.8 Excellent 2,420 reviews"
20
+ value={4.8}
20
21
  title="Excellent"
21
- subtitle="It was almost perfect!"
22
- value={9}
22
+ subtitle="2,420 reviews"
23
23
  />
24
24
 
25
- // Large rating
25
+ // Large size rating
26
26
  <BpkRating
27
- ariaLabel="9 Excellent would recommend"
28
- title="Excellent"
29
- subtitle="It was almost perfect!"
27
+ ariaLabel="4.4 Very good This place was amazing"
28
+ title="Very good"
29
+ subtitle="This place was amazing"
30
30
  size={RATING_SIZES.large}
31
- value={9}
31
+ value={4.4}
32
32
  />
33
33
 
34
- // Pill-shaped rating
34
+ // Title only rating
35
35
  <BpkRating
36
- ariaLabel="9 Excellent would recommend"
37
- title="Excellent"
38
- subtitle="It was almost perfect!"
39
- type={RATING_TYPE.pill}
40
- value={9}
36
+ ariaLabel="2.3 Bad"
37
+ title="Bad"
38
+ value={2.3}
41
39
  />
42
40
 
43
- // 0-5 scale
41
+ // Show scale rating
44
42
  <BpkRating
45
- ariaLabel="2 It was ok I guess"
46
- title="Meh"
47
- value={2}
48
- ratingScale={RATING_SCALES.zeroToFive}
43
+ ariaLabel="3.8 Good Nice choice"
44
+ title="Good"
45
+ subtitle="Nice choice"
46
+ value={3.8}
47
+ />
48
+
49
+ // 0-10 scale
50
+ <BpkRating
51
+ ariaLabel="9.9 Awesome It was almost perfect"
52
+ title="Awesome"
53
+ subtitle="It was almost perfect"
54
+ value={9.9}
55
+ ratingScale={RATING_SCALES.zeroToTen}
49
56
  />
50
57
  );
51
58
  ```
@@ -55,19 +62,10 @@ export default () => (
55
62
  | Property | PropType | Required | Default Value |
56
63
  | --------- | --------------------- | -------- | ----------------- |
57
64
  | ariaLabel | string | true | - |
58
- | title | string | true | - |
65
+ | title | oneOfType(string, node) | true | - |
59
66
  | value | number | true | - |
60
67
  | className | string | false | null |
61
- | ratingScale | oneOf(RATING_SCALES) | false | RATING_SCALES.zeroToTen |
68
+ | ratingScale | oneOf(RATING_SCALES) | false | RATING_SCALES.zeroToFive |
62
69
  | size | oneOf(RATING_SIZES) | false | RATING_SIZES.base |
63
70
  | subtitle | string | false | null |
64
- | type | oneOf(RATING_TYPES) | false | RATING_TYPES.default |
65
- | vertical | boolean | false | false |
66
-
67
- ## Theme props
68
-
69
- * `ratingHighColor`
70
- * `ratingHighTextColor`
71
- * `ratingMediumColor`
72
- * `ratingMediumTextColor`
73
- * `ratingLowColor`
71
+ | showScale | boolean | false | true |
@@ -18,8 +18,7 @@
18
18
  /* @flow strict */
19
19
 
20
20
  import BpkRating from './src/BpkRating';
21
- import { RATING_SIZES, RATING_TYPES, RATING_SCALES } from './src/common-types';
22
- import themeAttributes from './src/themeAttributes';
21
+ import { RATING_SIZES, RATING_SCALES } from './src/common-types';
23
22
 
24
23
  export default BpkRating;
25
- export { RATING_SIZES, RATING_TYPES, RATING_SCALES, themeAttributes };
24
+ export { RATING_SIZES, RATING_SCALES };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-rating",
3
- "version": "3.1.8",
3
+ "version": "4.0.1",
4
4
  "description": "Backpack rating component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
16
16
  "dependencies": {
17
- "bpk-mixins": "^30.0.0",
17
+ "bpk-mixins": "^31.0.0",
18
18
  "bpk-react-utils": "^4.1.1",
19
19
  "lodash.clamp": "^4.0.3",
20
20
  "prop-types": "^15.5.8"
@@ -23,7 +23,7 @@
23
23
  "react": "^16.3.0 || ^17.0.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@skyscanner/bpk-foundations-web": "^7.0.0",
27
- "bpk-component-text": "^7.0.1"
26
+ "@skyscanner/bpk-foundations-web": "^8.0.0",
27
+ "bpk-component-text": "^7.0.2"
28
28
  }
29
29
  }
@@ -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 { cssModules } from '../../bpk-react-utils';
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, RATING_TYPES, RATING_SCALES } from './common-types';
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
- const getMediumRatingThreshold = (ratingScale) =>
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 scoreStyles = [
85
- getClassName(
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 textStyles = [getClassName('bpk-rating__text')];
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
- if (size === RATING_SIZES.lg) {
97
- titleTextSize = TEXT_STYLES.bodyLongform;
98
- valueTextSize = TEXT_STYLES.heading4;
99
- } else if (size === RATING_SIZES.sm) {
100
- titleTextSize = TEXT_STYLES.footnote;
101
- valueTextSize = TEXT_STYLES.label2;
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={scoreStyles.join(' ')}
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
- <strong>{title}</strong>{' '}
153
- {subtitle && type === RATING_TYPES.pill && <span>{subtitle}</span>}
135
+ {title}
154
136
  </BpkText>
155
- {subtitle && type !== RATING_TYPES.pill && (
137
+
138
+ {subtitle && (
156
139
  <BpkText
157
- className={textStyles.join(' ')}
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
- type: PropTypes.oneOf([RATING_TYPES.default, RATING_TYPES.pill]),
183
- vertical: PropTypes.bool,
161
+ showScale: PropTypes.bool,
184
162
  };
185
163
 
186
164
  BpkRating.defaultProps = {
187
165
  className: null,
188
- ratingScale: RATING_SCALES.zeroToTen,
166
+ ratingScale: RATING_SCALES.zeroToFive,
189
167
  size: RATING_SIZES.base,
190
168
  subtitle: null,
191
- type: RATING_TYPES.default,
192
- vertical: false,
169
+ showScale: true,
193
170
  };
194
171
 
195
172
  export default BpkRating;