@skyscanner/backpack-web 0.0.5 → 0.2.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 (363) hide show
  1. package/bpk-animate-height/package.json +3 -3
  2. package/bpk-component-accordion/README.md +0 -5
  3. package/bpk-component-accordion/index.js +1 -2
  4. package/bpk-component-accordion/package.json +8 -8
  5. package/bpk-component-accordion/src/BpkAccordion.js +1 -0
  6. package/bpk-component-accordion/src/BpkAccordionItem.js +5 -17
  7. package/bpk-component-accordion/src/withAccordionItemState.js +2 -1
  8. package/bpk-component-accordion/src/withSingleItemAccordionState.js +1 -0
  9. package/bpk-component-aria-live/package.json +8 -8
  10. package/bpk-component-aria-live/src/BpkAriaLive.js +1 -0
  11. package/bpk-component-autosuggest/package.json +5 -5
  12. package/bpk-component-autosuggest/src/BpkAutosuggest.js +2 -1
  13. package/bpk-component-autosuggest/src/BpkAutosuggestSuggestion.js +1 -0
  14. package/bpk-component-badge/package.json +6 -6
  15. package/bpk-component-badge/src/BpkBadge.js +1 -0
  16. package/bpk-component-banner-alert/package.json +10 -10
  17. package/bpk-component-banner-alert/src/AnimateAndFade.js +3 -2
  18. package/bpk-component-banner-alert/src/BpkBannerAlertInner.js +2 -1
  19. package/bpk-component-banner-alert/src/withBannerAlertState.js +1 -0
  20. package/bpk-component-barchart/package.json +9 -9
  21. package/bpk-component-barchart/src/BpkBarchart.js +1 -0
  22. package/bpk-component-barchart/src/BpkBarchartBar.js +2 -1
  23. package/bpk-component-barchart/src/BpkChartAxis.js +2 -1
  24. package/bpk-component-barchart/src/BpkChartDataTable.js +1 -0
  25. package/bpk-component-barchart/src/BpkChartGridLines.js +9 -8
  26. package/bpk-component-blockquote/package.json +3 -3
  27. package/bpk-component-blockquote/src/BpkBlockquote.js +1 -0
  28. package/bpk-component-breadcrumb/package.json +6 -6
  29. package/bpk-component-breadcrumb/src/BpkBreadcrumb.js +1 -0
  30. package/bpk-component-breadcrumb/src/BpkBreadcrumbItem.js +1 -0
  31. package/bpk-component-breakpoint/package.json +4 -4
  32. package/{bpk-component-dialog/examples.module.scss → bpk-component-button/BpkButtonLinkOnDark.js} +2 -6
  33. package/{bpk-component-rating/examples.module.css → bpk-component-button/BpkButtonPrimaryOnDark.js} +9 -6
  34. package/bpk-component-button/BpkButtonPrimaryOnLight.js +21 -0
  35. package/bpk-component-button/BpkButtonSecondaryOnDark.js +21 -0
  36. package/bpk-component-button/README.md +53 -21
  37. package/bpk-component-button/index.js +11 -0
  38. package/bpk-component-button/package.json +3 -3
  39. package/bpk-component-button/src/BpkButton.js +43 -7
  40. package/bpk-component-button/src/BpkButtonLink.js +6 -8
  41. package/bpk-component-button/src/BpkButtonLink.module.scss +0 -4
  42. package/bpk-component-button/src/BpkButtonLinkOnDark.js +59 -0
  43. package/bpk-component-button/{BpkButtonStory.module.scss → src/BpkButtonLinkOnDark.module.scss} +2 -2
  44. package/bpk-component-button/src/BpkButtonPrimaryOnDark.js +48 -0
  45. package/{bpk-component-nudger/BpkNudgerStory.module.scss → bpk-component-button/src/BpkButtonPrimaryOnDark.module.scss} +2 -6
  46. package/bpk-component-button/src/BpkButtonPrimaryOnLight.js +48 -0
  47. package/{bpk-component-banner-alert/examples.module.scss → bpk-component-button/src/BpkButtonPrimaryOnLight.module.scss} +2 -6
  48. package/bpk-component-button/src/BpkButtonSecondaryOnDark.js +48 -0
  49. package/bpk-component-button/src/BpkButtonSecondaryOnDark.module.scss +23 -0
  50. package/bpk-component-button/src/themeAttributes.js +27 -0
  51. package/bpk-component-button/themeAttributes.js +3 -0
  52. package/bpk-component-calendar/package.json +10 -10
  53. package/bpk-component-calendar/src/BpkCalendarContainer.js +1 -0
  54. package/bpk-component-calendar/src/BpkCalendarDate.js +1 -0
  55. package/bpk-component-calendar/src/BpkCalendarGrid.js +5 -4
  56. package/bpk-component-calendar/src/BpkCalendarGrid.module.css +1 -1
  57. package/bpk-component-calendar/src/BpkCalendarGrid.module.scss +1 -7
  58. package/bpk-component-calendar/src/BpkCalendarGridHeader.js +1 -0
  59. package/bpk-component-calendar/src/BpkCalendarGridTransition.js +12 -11
  60. package/bpk-component-calendar/src/BpkCalendarNav.js +9 -8
  61. package/bpk-component-calendar/src/Week.js +6 -5
  62. package/bpk-component-calendar/src/composeCalendar.js +1 -0
  63. package/bpk-component-calendar/src/custom-proptypes.js +6 -8
  64. package/bpk-component-card/package.json +5 -5
  65. package/bpk-component-card/src/BpkCard.js +1 -0
  66. package/bpk-component-checkbox/package.json +6 -6
  67. package/bpk-component-checkbox/src/BpkCheckbox.js +1 -0
  68. package/bpk-component-chip/package.json +6 -6
  69. package/bpk-component-chip/src/BpkDismissibleChip.js +1 -0
  70. package/bpk-component-chip/src/BpkSelectableChip.js +1 -0
  71. package/bpk-component-close-button/package.json +5 -5
  72. package/bpk-component-close-button/src/BpkCloseButton.js +1 -0
  73. package/bpk-component-code/package.json +3 -3
  74. package/bpk-component-code/src/BpkCode.js +1 -0
  75. package/bpk-component-code/src/BpkCodeBlock.js +1 -0
  76. package/bpk-component-content-container/package.json +3 -3
  77. package/bpk-component-content-container/src/BpkContentContainer.js +1 -0
  78. package/bpk-component-datatable/package.json +5 -5
  79. package/bpk-component-datatable/src/BpkDataTable.js +2 -1
  80. package/bpk-component-datatable/src/BpkDataTableColumn.js +1 -0
  81. package/bpk-component-datatable/src/bpkHeaderRenderer.js +1 -0
  82. package/bpk-component-datepicker/package.json +10 -10
  83. package/bpk-component-datepicker/src/BpkDatepicker.js +3 -2
  84. package/bpk-component-description-list/package.json +3 -3
  85. package/bpk-component-description-list/src/ComponentFactory.js +1 -0
  86. package/bpk-component-dialog/package.json +9 -9
  87. package/bpk-component-dialog/src/BpkDialog.js +1 -0
  88. package/bpk-component-dialog/src/BpkDialogInner.js +2 -1
  89. package/bpk-component-drawer/package.json +10 -10
  90. package/bpk-component-drawer/src/BpkDrawer.js +2 -1
  91. package/bpk-component-drawer/src/BpkDrawerContent.js +1 -0
  92. package/bpk-component-fieldset/package.json +13 -13
  93. package/bpk-component-fieldset/src/BpkFieldset.js +1 -0
  94. package/bpk-component-flare/package.json +5 -5
  95. package/bpk-component-flare/src/BpkContentBubble.js +1 -0
  96. package/bpk-component-flare/src/BpkFlareBar.js +1 -0
  97. package/bpk-component-form-validation/package.json +11 -11
  98. package/bpk-component-form-validation/src/BpkFormValidation.js +5 -4
  99. package/bpk-component-graphic-promotion/README.md +68 -0
  100. package/{bpk-component-grid-toggle/examples.js → bpk-component-graphic-promotion/index.js} +9 -7
  101. package/bpk-component-graphic-promotion/package.json +26 -0
  102. package/bpk-component-graphic-promotion/src/BpkGraphicPromo.js +196 -0
  103. package/bpk-component-graphic-promotion/src/BpkGraphicPromo.module.scss +250 -0
  104. package/bpk-component-graphic-promotion/src/custom-breakpoints.module.scss +70 -0
  105. package/bpk-component-grid/package.json +3 -3
  106. package/bpk-component-grid/src/BpkGridColumn.js +1 -0
  107. package/bpk-component-grid/src/BpkGridContainer.js +1 -0
  108. package/bpk-component-grid/src/BpkGridRow.js +1 -0
  109. package/bpk-component-grid-toggle/package.json +4 -4
  110. package/bpk-component-grid-toggle/src/BpkGridToggle.js +1 -0
  111. package/bpk-component-horizontal-nav/package.json +7 -7
  112. package/bpk-component-horizontal-nav/src/BpkHorizontalNav.js +2 -1
  113. package/bpk-component-horizontal-nav/src/BpkHorizontalNavItem.js +1 -0
  114. package/bpk-component-icon/package.json +8 -8
  115. package/bpk-component-icon/src/classNameModifierHOCFactory.js +1 -0
  116. package/bpk-component-icon/src/withAlignment.js +4 -2
  117. package/bpk-component-icon/src/withDescription.js +1 -0
  118. package/bpk-component-image/package.json +7 -7
  119. package/bpk-component-image/src/BpkBackgroundImage.js +3 -2
  120. package/bpk-component-image/src/BpkImage.js +3 -2
  121. package/bpk-component-image/src/withLazyLoading.js +2 -1
  122. package/bpk-component-image/src/withLoadingBehavior.js +28 -27
  123. package/bpk-component-infinite-scroll/package.json +7 -7
  124. package/bpk-component-infinite-scroll/src/withInfiniteScroll.js +107 -106
  125. package/bpk-component-input/package.json +7 -7
  126. package/bpk-component-input/src/BpkClearButton.js +1 -0
  127. package/bpk-component-input/src/BpkInput.js +1 -0
  128. package/bpk-component-input/src/withOpenEvents.js +1 -0
  129. package/bpk-component-label/package.json +3 -3
  130. package/bpk-component-label/src/BpkLabel.js +1 -0
  131. package/bpk-component-link/package.json +5 -5
  132. package/bpk-component-link/src/BpkButtonLink.js +1 -0
  133. package/bpk-component-link/src/BpkLink.js +1 -0
  134. package/bpk-component-list/package.json +3 -3
  135. package/bpk-component-list/src/BpkList.js +1 -0
  136. package/bpk-component-list/src/BpkListItem.js +1 -0
  137. package/bpk-component-loading-button/package.json +7 -7
  138. package/bpk-component-loading-button/src/BpkLoadingButton.js +46 -14
  139. package/bpk-component-loading-button/src/BpkLoadingButton.module.scss +65 -0
  140. package/bpk-component-map/README.md +13 -13
  141. package/bpk-component-map/package.json +10 -10
  142. package/bpk-component-map/src/BpkIconMarker.js +1 -0
  143. package/bpk-component-map/src/BpkIconMarkerBackground.js +1 -0
  144. package/bpk-component-map/src/BpkMap.js +65 -31
  145. package/{bpk-component-rating/examples.module.scss → bpk-component-map/src/BpkMap.module.scss} +2 -4
  146. package/bpk-component-map/src/BpkOverlayView.js +1 -1
  147. package/bpk-component-map/src/BpkPriceMarker.js +1 -0
  148. package/bpk-component-map/src/DefaultLoadingElement.js +1 -0
  149. package/bpk-component-map/src/withGoogleMapsScript.js +41 -5
  150. package/bpk-component-mobile-scroll-container/package.json +4 -4
  151. package/bpk-component-mobile-scroll-container/src/BpkMobileScrollContainer.js +1 -0
  152. package/bpk-component-modal/package.json +10 -10
  153. package/bpk-component-modal/src/BpkModal.js +8 -7
  154. package/bpk-component-modal/src/BpkModalInner.js +2 -1
  155. package/bpk-component-navigation-bar/package.json +9 -9
  156. package/bpk-component-navigation-bar/src/BpkNavigationBar.js +2 -1
  157. package/bpk-component-navigation-bar/src/BpkNavigationBar.module.scss +2 -0
  158. package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.js +1 -0
  159. package/bpk-component-navigation-bar/src/BpkNavigationBarIconButton.js +1 -0
  160. package/bpk-component-navigation-stack/package.json +8 -8
  161. package/bpk-component-navigation-stack/src/BpkNavigationStack.js +6 -4
  162. package/bpk-component-nudger/README.md +2 -2
  163. package/bpk-component-nudger/package.json +8 -8
  164. package/bpk-component-nudger/src/BpkConfigurableNudger.js +22 -26
  165. package/bpk-component-nudger/src/BpkNudger.js +1 -0
  166. package/bpk-component-nudger/src/BpkNudger.module.scss +1 -1
  167. package/bpk-component-nudger/src/common-types.js +1 -1
  168. package/bpk-component-overlay/package.json +5 -5
  169. package/bpk-component-overlay/src/BpkOverlay.js +2 -1
  170. package/bpk-component-pagination/package.json +5 -5
  171. package/bpk-component-pagination/src/BpkPagination.js +1 -0
  172. package/bpk-component-pagination/src/BpkPaginationList.js +1 -0
  173. package/bpk-component-pagination/src/BpkPaginationNudger.js +1 -0
  174. package/bpk-component-pagination/src/BpkPaginationPage.js +2 -1
  175. package/bpk-component-pagination/src/BpkPaginationPage.module.scss +2 -0
  176. package/bpk-component-panel/package.json +3 -3
  177. package/bpk-component-panel/src/BpkPanel.js +1 -0
  178. package/bpk-component-phone-input/package.json +10 -10
  179. package/bpk-component-phone-input/src/BpkPhoneInput.js +1 -0
  180. package/bpk-component-popover/package.json +9 -9
  181. package/bpk-component-popover/src/BpkPopover.js +1 -0
  182. package/bpk-component-popover/src/BpkPopoverPortal.js +1 -0
  183. package/bpk-component-progress/package.json +6 -6
  184. package/bpk-component-progress/src/BpkProgress.js +1 -0
  185. package/bpk-component-radio/package.json +5 -5
  186. package/bpk-component-radio/src/BpkRadio.js +1 -0
  187. package/bpk-component-rating/package.json +5 -5
  188. package/bpk-component-rating/src/BpkRating.js +1 -0
  189. package/bpk-component-rtl-toggle/package.json +3 -3
  190. package/bpk-component-rtl-toggle/src/BpkRtlToggle.js +1 -0
  191. package/bpk-component-rtl-toggle/src/updateOnDirectionChange.js +1 -0
  192. package/bpk-component-scrollable-calendar/package.json +7 -7
  193. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarDate.js +1 -0
  194. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGrid.js +1 -0
  195. package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList.js +6 -2
  196. package/bpk-component-section-list/package.json +7 -7
  197. package/bpk-component-section-list/src/BpkSectionListItem.js +1 -0
  198. package/bpk-component-section-list/src/BpkSectionListSection.js +1 -0
  199. package/bpk-component-select/package.json +4 -4
  200. package/bpk-component-select/src/BpkSelect.js +1 -0
  201. package/bpk-component-skip-link/package.json +3 -3
  202. package/bpk-component-skip-link/src/BpkSkipLink.js +1 -0
  203. package/bpk-component-slider/package.json +5 -5
  204. package/bpk-component-slider/src/BpkSlider.js +1 -0
  205. package/bpk-component-spinner/package.json +4 -4
  206. package/bpk-component-spinner/src/BpkExtraLargeSpinner.js +2 -1
  207. package/bpk-component-spinner/src/BpkLargeSpinner.js +2 -1
  208. package/bpk-component-spinner/src/BpkSpinner.js +2 -1
  209. package/bpk-component-star-rating/package.json +6 -6
  210. package/bpk-component-star-rating/src/BpkInteractiveStar.js +1 -0
  211. package/bpk-component-star-rating/src/BpkInteractiveStarRating.js +1 -0
  212. package/bpk-component-star-rating/src/BpkStar.js +1 -0
  213. package/bpk-component-star-rating/src/BpkStarRating.js +4 -3
  214. package/bpk-component-star-rating/src/withInteractiveStarRatingState.js +1 -0
  215. package/bpk-component-switch/package.json +3 -3
  216. package/bpk-component-switch/src/BpkSwitch.js +1 -0
  217. package/bpk-component-table/package.json +3 -3
  218. package/bpk-component-table/src/BpkTable.js +1 -0
  219. package/bpk-component-table/src/BpkTableCell.js +1 -0
  220. package/bpk-component-table/src/BpkTableHeadCell.js +1 -0
  221. package/bpk-component-text/README.md +1 -1
  222. package/bpk-component-text/package.json +3 -3
  223. package/bpk-component-text/src/BpkText.js +2 -0
  224. package/bpk-component-text/src/BpkText.module.scss +4 -0
  225. package/bpk-component-textarea/package.json +5 -5
  226. package/bpk-component-textarea/src/BpkTextarea.js +1 -0
  227. package/bpk-component-theme-toggle/package.json +6 -6
  228. package/bpk-component-theme-toggle/src/BpkThemeToggle.js +1 -0
  229. package/bpk-component-theme-toggle/src/updateOnThemeChange.js +1 -0
  230. package/bpk-component-ticket/package.json +5 -5
  231. package/bpk-component-ticket/src/BpkTicket.js +7 -6
  232. package/bpk-component-tooltip/package.json +5 -5
  233. package/bpk-component-tooltip/src/BpkTooltip.js +1 -0
  234. package/bpk-component-tooltip/src/BpkTooltipPortal.js +1 -0
  235. package/bpk-react-utils/index.js +1 -2
  236. package/bpk-react-utils/package.json +2 -3
  237. package/bpk-react-utils/src/withDefaultProps.js +2 -1
  238. package/{bpk-component-chip/examples.module.scss → bpk-react-utils/src/wrapDisplayName.js} +11 -13
  239. package/bpk-scrim-utils/package.json +3 -3
  240. package/bpk-scrim-utils/src/BpkScrim.js +1 -0
  241. package/bpk-scrim-utils/src/withScrim.js +1 -0
  242. package/bpk-theming/package.json +2 -2
  243. package/package.json +5 -7
  244. package/bpk-animate-height/examples.js +0 -67
  245. package/bpk-component-accordion/examples.js +0 -316
  246. package/bpk-component-aria-live/examples.js +0 -247
  247. package/bpk-component-aria-live/examples.module.css +0 -18
  248. package/bpk-component-aria-live/examples.module.scss +0 -65
  249. package/bpk-component-autosuggest/examples.js +0 -201
  250. package/bpk-component-badge/BadgeLayout.js +0 -54
  251. package/bpk-component-badge/BpkBadgeLayout.module.css +0 -18
  252. package/bpk-component-badge/BpkBadgeLayout.module.scss +0 -36
  253. package/bpk-component-badge/examples.js +0 -207
  254. package/bpk-component-banner-alert/examples.js +0 -253
  255. package/bpk-component-banner-alert/examples.module.css +0 -18
  256. package/bpk-component-barchart/examples.js +0 -334
  257. package/bpk-component-barchart/hocs.js +0 -67
  258. package/bpk-component-barchart/stories.module.css +0 -18
  259. package/bpk-component-barchart/stories.module.scss +0 -37
  260. package/bpk-component-blockquote/examples.js +0 -33
  261. package/bpk-component-breadcrumb/examples.js +0 -57
  262. package/bpk-component-breakpoint/examples.js +0 -72
  263. package/bpk-component-breakpoint/examples.module.css +0 -18
  264. package/bpk-component-breakpoint/examples.module.scss +0 -36
  265. package/bpk-component-button/BpkButtonStory.module.css +0 -18
  266. package/bpk-component-button/examples.js +0 -213
  267. package/bpk-component-calendar/coloured-calendar-example.js +0 -106
  268. package/bpk-component-calendar/examples-components.js +0 -299
  269. package/bpk-component-calendar/examples.js +0 -369
  270. package/bpk-component-card/examples.js +0 -91
  271. package/bpk-component-checkbox/examples.js +0 -197
  272. package/bpk-component-chip/examples.js +0 -339
  273. package/bpk-component-chip/examples.module.css +0 -18
  274. package/bpk-component-close-button/examples.js +0 -30
  275. package/bpk-component-code/examples.js +0 -56
  276. package/bpk-component-content-container/examples.js +0 -307
  277. package/bpk-component-datatable/examples.js +0 -138
  278. package/bpk-component-datepicker/examples.js +0 -660
  279. package/bpk-component-description-list/examples.js +0 -49
  280. package/bpk-component-dialog/examples.js +0 -182
  281. package/bpk-component-dialog/examples.module.css +0 -18
  282. package/bpk-component-dialog/stories.css +0 -1
  283. package/bpk-component-drawer/examples.js +0 -271
  284. package/bpk-component-drawer/examples.module.css +0 -18
  285. package/bpk-component-drawer/examples.module.scss +0 -34
  286. package/bpk-component-fieldset/examples.js +0 -527
  287. package/bpk-component-fieldset/examples.module.css +0 -18
  288. package/bpk-component-fieldset/examples.module.scss +0 -46
  289. package/bpk-component-flare/examples.js +0 -158
  290. package/bpk-component-flare/examples.module.css +0 -18
  291. package/bpk-component-flare/examples.module.scss +0 -66
  292. package/bpk-component-form-validation/examples.js +0 -171
  293. package/bpk-component-form-validation/examples.module.css +0 -18
  294. package/bpk-component-form-validation/examples.module.scss +0 -39
  295. package/bpk-component-grid/examples.js +0 -796
  296. package/bpk-component-horizontal-nav/examples.js +0 -189
  297. package/bpk-component-horizontal-nav/examples.module.css +0 -18
  298. package/bpk-component-horizontal-nav/examples.module.scss +0 -48
  299. package/bpk-component-icon/examples.js +0 -152
  300. package/bpk-component-image/examples.js +0 -216
  301. package/bpk-component-infinite-scroll/examples.js +0 -279
  302. package/bpk-component-infinite-scroll/examples.module.css +0 -18
  303. package/bpk-component-infinite-scroll/examples.module.scss +0 -46
  304. package/bpk-component-input/examples.js +0 -490
  305. package/bpk-component-input/examples.module.css +0 -18
  306. package/bpk-component-input/examples.module.scss +0 -57
  307. package/bpk-component-label/examples.js +0 -67
  308. package/bpk-component-link/examples.js +0 -110
  309. package/bpk-component-list/examples.js +0 -56
  310. package/bpk-component-loading-button/examples.js +0 -660
  311. package/bpk-component-map/examples.js +0 -305
  312. package/bpk-component-mobile-scroll-container/examples.js +0 -76
  313. package/bpk-component-mobile-scroll-container/examples.module.css +0 -18
  314. package/bpk-component-mobile-scroll-container/examples.module.scss +0 -46
  315. package/bpk-component-modal/examples.js +0 -304
  316. package/bpk-component-modal/examples.module.css +0 -18
  317. package/bpk-component-modal/examples.module.scss +0 -35
  318. package/bpk-component-navigation-bar/AirlineLogo.js +0 -42
  319. package/bpk-component-navigation-bar/AirlineLogo.module.css +0 -18
  320. package/bpk-component-navigation-bar/AirlineLogo.module.scss +0 -27
  321. package/bpk-component-navigation-bar/examples.js +0 -193
  322. package/bpk-component-navigation-bar/examples.module.css +0 -18
  323. package/bpk-component-navigation-bar/examples.module.scss +0 -32
  324. package/bpk-component-navigation-stack/examples.js +0 -73
  325. package/bpk-component-navigation-stack/examples.module.css +0 -18
  326. package/bpk-component-navigation-stack/examples.module.scss +0 -43
  327. package/bpk-component-navigation-stack/stories-components.js +0 -202
  328. package/bpk-component-nudger/BpkNudgerStory.module.css +0 -18
  329. package/bpk-component-nudger/examples.js +0 -204
  330. package/bpk-component-overlay/examples.js +0 -163
  331. package/bpk-component-overlay/examples.module.css +0 -18
  332. package/bpk-component-overlay/examples.module.scss +0 -38
  333. package/bpk-component-pagination/examples.js +0 -93
  334. package/bpk-component-panel/examples.js +0 -63
  335. package/bpk-component-phone-input/examples.js +0 -181
  336. package/bpk-component-popover/examples.js +0 -267
  337. package/bpk-component-popover/examples.module.css +0 -18
  338. package/bpk-component-popover/examples.module.scss +0 -33
  339. package/bpk-component-progress/examples.js +0 -130
  340. package/bpk-component-progress/examples.module.css +0 -18
  341. package/bpk-component-progress/examples.module.scss +0 -29
  342. package/bpk-component-radio/examples.js +0 -126
  343. package/bpk-component-rating/examples.js +0 -373
  344. package/bpk-component-scrollable-calendar/examples.js +0 -383
  345. package/bpk-component-section-list/examples.js +0 -55
  346. package/bpk-component-select/examples.js +0 -274
  347. package/bpk-component-skip-link/examples.js +0 -40
  348. package/bpk-component-slider/examples.js +0 -122
  349. package/bpk-component-spinner/SpinnerLayout.js +0 -56
  350. package/bpk-component-spinner/SpinnerLayout.module.css +0 -18
  351. package/bpk-component-spinner/SpinnerLayout.module.scss +0 -36
  352. package/bpk-component-spinner/examples.js +0 -56
  353. package/bpk-component-star-rating/examples.js +0 -195
  354. package/bpk-component-switch/examples.js +0 -40
  355. package/bpk-component-table/examples.js +0 -97
  356. package/bpk-component-text/examples.js +0 -135
  357. package/bpk-component-text/examples.module.css +0 -18
  358. package/bpk-component-text/examples.module.scss +0 -25
  359. package/bpk-component-textarea/examples.js +0 -116
  360. package/bpk-component-ticket/examples.js +0 -203
  361. package/bpk-component-ticket/examples.module.css +0 -18
  362. package/bpk-component-ticket/examples.module.scss +0 -79
  363. package/bpk-component-tooltip/examples.js +0 -181
@@ -0,0 +1,196 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2022 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
+ /* @flow strict */
19
+
20
+ import PropTypes from 'prop-types';
21
+ import React from 'react';
22
+
23
+ import { cssModules } from '../../bpk-react-utils';
24
+ import BpkText from '../../bpk-component-text';
25
+ import BpkButton from '../../bpk-component-button';
26
+ import BpkCard from '../../bpk-component-card';
27
+
28
+ import STYLES from './BpkGraphicPromo.module.scss';
29
+
30
+ const getClassName = cssModules(STYLES);
31
+
32
+ export const TEXT_ALIGN = {
33
+ start: 'start',
34
+ center: 'center',
35
+ end: 'end',
36
+ };
37
+
38
+ export type Props = {
39
+ className: ?string,
40
+ tagline: ?string,
41
+ headline: string,
42
+ subheading: ?string,
43
+ sponsor: ?{
44
+ label: string,
45
+ logo: string,
46
+ altText: string,
47
+ },
48
+ buttonText: string,
49
+ onClick: () => void,
50
+ invertVertically: boolean,
51
+ textAlign: TEXT_ALIGN,
52
+ style: ?{},
53
+ };
54
+
55
+ const constructAriaLabel = ({
56
+ buttonText,
57
+ headline,
58
+ sponsor,
59
+ subheading,
60
+ tagline,
61
+ }: Props) => {
62
+ const text = [];
63
+ const addText = (value) => value && text.push(value);
64
+
65
+ if (sponsor) {
66
+ addText(sponsor.label);
67
+ addText(sponsor.altText);
68
+ } else {
69
+ addText(tagline);
70
+ }
71
+ addText(headline);
72
+ addText(subheading);
73
+ addText(buttonText);
74
+
75
+ return text.join('. ');
76
+ };
77
+
78
+ const BpkGraphicPromo = (props: Props) => {
79
+ const {
80
+ buttonText,
81
+ className,
82
+ headline,
83
+ invertVertically,
84
+ onClick,
85
+ sponsor,
86
+ style,
87
+ subheading,
88
+ tagline,
89
+ textAlign,
90
+ } = props;
91
+
92
+ // FIXME: Use useCallback() here when React is updated.
93
+ const onClickWrapper = (event: React.MouseEvent<HTMLElement>) => {
94
+ event.stopPropagation();
95
+ onClick();
96
+ };
97
+
98
+ const cardClasses = getClassName('bpk-graphic-promo', className);
99
+ const containerClasses = getClassName(
100
+ 'bpk-graphic-promo__container',
101
+ `bpk-graphic-promo__container--${textAlign}`,
102
+ invertVertically && 'bpk-graphic-promo__container--inverted',
103
+ );
104
+
105
+ const getTextClasses = (baseClass: string) =>
106
+ getClassName(baseClass, `${baseClass}--${textAlign}`);
107
+ return (
108
+ <BpkCard
109
+ className={cardClasses}
110
+ style={style}
111
+ onClick={onClickWrapper}
112
+ aria-label={constructAriaLabel(props)}
113
+ padded={false}
114
+ >
115
+ <div className={containerClasses} aria-hidden>
116
+ <div className={getTextClasses('bpk-graphic-promo__sponsor-content')}>
117
+ {sponsor && (
118
+ <>
119
+ <BpkText
120
+ tagName="span"
121
+ className={getClassName('bpk-graphic-promo__sponsor-label')}
122
+ >
123
+ {sponsor.label}
124
+ </BpkText>
125
+ <img
126
+ className={getClassName('bpk-graphic-promo__sponsor-logo')}
127
+ alt={sponsor.altText}
128
+ src={sponsor.logo}
129
+ />
130
+ </>
131
+ )}
132
+ </div>
133
+ <div className={getTextClasses('bpk-graphic-promo__promo-content')}>
134
+ {!sponsor && tagline && (
135
+ <BpkText
136
+ tagName="span"
137
+ className={getClassName('bpk-graphic-promo__tagline')}
138
+ >
139
+ {tagline}
140
+ </BpkText>
141
+ )}
142
+ <BpkText
143
+ tagName="h2"
144
+ className={getClassName('bpk-graphic-promo__headline')}
145
+ >
146
+ {headline}
147
+ </BpkText>
148
+ {subheading && (
149
+ <BpkText
150
+ tagName="p"
151
+ className={getClassName('bpk-graphic-promo__subheading')}
152
+ >
153
+ {subheading}
154
+ </BpkText>
155
+ )}
156
+ <BpkButton
157
+ primaryOnDark
158
+ className={getClassName('bpk-graphic-promo__cta')}
159
+ onClick={onClickWrapper}
160
+ tabIndex={-1} /* button is not focusable for accessibility */
161
+ >
162
+ {buttonText}
163
+ </BpkButton>
164
+ </div>
165
+ </div>
166
+ </BpkCard>
167
+ );
168
+ };
169
+
170
+ BpkGraphicPromo.propTypes = {
171
+ className: PropTypes.string,
172
+ tagline: PropTypes.string,
173
+ headline: PropTypes.string.isRequired,
174
+ subheading: PropTypes.string,
175
+ sponsor: PropTypes.shape({
176
+ label: PropTypes.string,
177
+ logo: PropTypes.string,
178
+ altText: PropTypes.string,
179
+ }),
180
+ buttonText: PropTypes.string.isRequired,
181
+ onClick: PropTypes.func.isRequired,
182
+ invertVertically: PropTypes.bool,
183
+ textAlign: PropTypes.oneOf(Object.values(TEXT_ALIGN)).isRequired,
184
+ style: PropTypes.shape({ [PropTypes.string]: PropTypes.string }),
185
+ };
186
+
187
+ BpkGraphicPromo.defaultProps = {
188
+ className: null,
189
+ tagline: null,
190
+ subheading: null,
191
+ sponsor: null,
192
+ invertVertically: false,
193
+ style: {},
194
+ };
195
+
196
+ export default BpkGraphicPromo;
@@ -0,0 +1,250 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2022 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 '~bpk-mixins/index';
20
+ @import './custom-breakpoints.module';
21
+
22
+ .bpk-graphic-promo {
23
+ max-width: 65.5rem;
24
+ margin-right: auto;
25
+ margin-left: auto;
26
+ background-color: $bpk-color-sky-blue;
27
+ background-position: center;
28
+ background-size: cover;
29
+ color: $bpk-color-white;
30
+ box-shadow: none;
31
+
32
+ @include breakpoint-landscape {
33
+ pointer-events: none;
34
+
35
+ &__sponsor-label {
36
+ margin-bottom: bpk-spacing-sm();
37
+
38
+ @include bpk-label-1;
39
+ }
40
+
41
+ &__sponsor-content {
42
+ margin-bottom: bpk-spacing-xl();
43
+ }
44
+
45
+ &__tagline {
46
+ margin-bottom: bpk-spacing-md();
47
+
48
+ @include bpk-label-1;
49
+ }
50
+
51
+ &__subheading {
52
+ @include bpk-body-default;
53
+ }
54
+
55
+ &__headline {
56
+ @include breakpoint-landscape-desktop {
57
+ @include bpk-hero-5;
58
+ }
59
+
60
+ @include breakpoint-landscape-tablet {
61
+ @include bpk-heading-1;
62
+ }
63
+
64
+ &:not(:last-child) {
65
+ margin-bottom: bpk-spacing-md();
66
+ }
67
+ }
68
+ }
69
+
70
+ @include breakpoint-portrait-large {
71
+ &__sponsor-label {
72
+ margin-bottom: bpk-spacing-md();
73
+
74
+ @include bpk-heading-4;
75
+ }
76
+
77
+ &__tagline {
78
+ margin-bottom: bpk-spacing-md();
79
+
80
+ @include bpk-subheading;
81
+ }
82
+
83
+ &__headline {
84
+ margin-bottom: bpk-spacing-md();
85
+
86
+ @include bpk-hero-4;
87
+ }
88
+
89
+ &__subheading {
90
+ @include bpk-subheading;
91
+ }
92
+ }
93
+
94
+ @include breakpoint-portrait-medium {
95
+ &__sponsor-label {
96
+ margin-bottom: bpk-spacing-md();
97
+
98
+ @include bpk-heading-3;
99
+ }
100
+
101
+ &__tagline {
102
+ margin-bottom: bpk-spacing-md();
103
+
104
+ @include bpk-subheading;
105
+ }
106
+
107
+ &__headline {
108
+ margin-bottom: bpk-spacing-md();
109
+
110
+ @include bpk-hero-5;
111
+ }
112
+
113
+ &__subheading {
114
+ @include bpk-body-longform;
115
+ }
116
+ }
117
+
118
+ @include breakpoint-portrait-small {
119
+ &__sponsor-label {
120
+ margin-bottom: bpk-spacing-sm();
121
+
122
+ @include bpk-label-1;
123
+ }
124
+
125
+ &__tagline {
126
+ margin-bottom: bpk-spacing-md();
127
+
128
+ @include bpk-label-1;
129
+ }
130
+
131
+ &__headline {
132
+ margin-bottom: bpk-spacing-md();
133
+
134
+ @include bpk-heading-2;
135
+ }
136
+
137
+ &__subheading {
138
+ @include bpk-body-default;
139
+ }
140
+ }
141
+
142
+ &__container {
143
+ display: flex;
144
+ flex-direction: column;
145
+
146
+ @include breakpoint-landscape {
147
+ justify-content: center;
148
+
149
+ &--start {
150
+ align-items: start;
151
+ }
152
+
153
+ &--center {
154
+ align-items: center;
155
+ }
156
+
157
+ &--end {
158
+ align-items: end;
159
+ }
160
+ }
161
+
162
+ @include breakpoint-portrait {
163
+ justify-content: space-between;
164
+
165
+ &--inverted {
166
+ flex-direction: column-reverse;
167
+ }
168
+ }
169
+
170
+ @include breakpoint-landscape-desktop {
171
+ height: 25rem;
172
+
173
+ @include bpk-margin-leading(bpk-spacing-xxxl(), false);
174
+ @include bpk-margin-trailing(bpk-spacing-xxl(), false);
175
+ }
176
+
177
+ @include breakpoint-landscape-tablet {
178
+ height: 25rem;
179
+
180
+ @include bpk-margin-leading(bpk-spacing-xxl(), false);
181
+ @include bpk-margin-trailing(bpk-spacing-xl(), false);
182
+ }
183
+
184
+ @include breakpoint-portrait-large {
185
+ height: 58.3125rem;
186
+ padding: bpk-spacing-xl();
187
+ }
188
+
189
+ @include breakpoint-portrait-medium {
190
+ height: 42.625rem;
191
+ padding: bpk-spacing-xl();
192
+ }
193
+
194
+ @include breakpoint-portrait-small {
195
+ height: 31.25rem;
196
+ padding: bpk-spacing-lg();
197
+ }
198
+ }
199
+
200
+ &__sponsor-content,
201
+ &__promo-content {
202
+ display: flex;
203
+ flex-direction: column;
204
+
205
+ @include breakpoint-landscape {
206
+ &--start {
207
+ align-items: start;
208
+ text-align: start;
209
+ }
210
+
211
+ &--center {
212
+ align-items: center;
213
+ text-align: center;
214
+ }
215
+
216
+ &--end {
217
+ align-items: start;
218
+ text-align: start;
219
+ }
220
+ }
221
+
222
+ @include breakpoint-landscape-desktop {
223
+ width: 22.5rem;
224
+ }
225
+
226
+ @include breakpoint-landscape-tablet {
227
+ width: 20rem;
228
+ }
229
+ }
230
+
231
+ &::after {
232
+ display: none;
233
+ }
234
+
235
+ &__sponsor-logo {
236
+ width: 9.25rem;
237
+ }
238
+
239
+ &__cta {
240
+ pointer-events: auto;
241
+
242
+ @include breakpoint-landscape {
243
+ margin-top: bpk-spacing-xl();
244
+ }
245
+
246
+ @include breakpoint-portrait {
247
+ display: none;
248
+ }
249
+ }
250
+ }
@@ -0,0 +1,70 @@
1
+ /*
2
+ * Backpack - Skyscanner's Design System
3
+ *
4
+ * Copyright 2022 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
+ // FIXME: Replace the custom breakpoints with on es from Backpack when ready. (ST-4102)
20
+
21
+ $breakpoint-landscape-desktop-min: 50.01rem;
22
+ $breakpoint-landscape-tablet-max: 50rem;
23
+ $breakpoint-landscape-tablet-min: 43.76rem;
24
+ $breakpoint-portrait-large-max: 43.75rem;
25
+ $breakpoint-portrait-large-min: 32.01rem;
26
+ $breakpoint-portrait-medium-max: 32rem;
27
+ $breakpoint-portrait-medium-min: 26.51rem;
28
+ $breakpoint-portrait-small-max: 26.5rem;
29
+
30
+ @mixin breakpoint-landscape-desktop {
31
+ @media (min-width: $breakpoint-landscape-desktop-min) {
32
+ @content;
33
+ }
34
+ }
35
+
36
+ @mixin breakpoint-landscape-tablet {
37
+ @media (min-width: $breakpoint-landscape-tablet-min) and (max-width: $breakpoint-landscape-tablet-max) {
38
+ @content;
39
+ }
40
+ }
41
+
42
+ @mixin breakpoint-portrait-large {
43
+ @media (min-width: $breakpoint-portrait-large-min) and (max-width: $breakpoint-portrait-large-max) {
44
+ @content;
45
+ }
46
+ }
47
+
48
+ @mixin breakpoint-portrait-medium {
49
+ @media (min-width: $breakpoint-portrait-medium-min) and (max-width: $breakpoint-portrait-medium-max) {
50
+ @content;
51
+ }
52
+ }
53
+
54
+ @mixin breakpoint-portrait-small {
55
+ @media (max-width: $breakpoint-portrait-small-max) {
56
+ @content;
57
+ }
58
+ }
59
+
60
+ @mixin breakpoint-landscape {
61
+ @media (min-width: $breakpoint-landscape-tablet-min) {
62
+ @content;
63
+ }
64
+ }
65
+
66
+ @mixin breakpoint-portrait {
67
+ @media (max-width: $breakpoint-portrait-large-max) {
68
+ @content;
69
+ }
70
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-grid",
3
- "version": "3.1.0",
3
+ "version": "3.1.6",
4
4
  "description": "Backpack grid components.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -14,8 +14,8 @@
14
14
  },
15
15
  "gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
16
16
  "dependencies": {
17
- "bpk-mixins": "^26.1.0",
18
- "bpk-react-utils": "^4.1.0",
17
+ "bpk-mixins": "^29.0.0",
18
+ "bpk-react-utils": "^4.1.1",
19
19
  "prop-types": "^15.7.2"
20
20
  },
21
21
  "peerDependencies": {
@@ -18,6 +18,7 @@
18
18
 
19
19
  import PropTypes from 'prop-types';
20
20
  import React from 'react';
21
+
21
22
  import { cssModules } from '../../bpk-react-utils';
22
23
 
23
24
  import STYLES from './BpkGridColumn.module.scss';
@@ -18,6 +18,7 @@
18
18
 
19
19
  import PropTypes from 'prop-types';
20
20
  import React from 'react';
21
+
21
22
  import { cssModules } from '../../bpk-react-utils';
22
23
 
23
24
  import STYLES from './BpkGridContainer.module.scss';
@@ -18,6 +18,7 @@
18
18
 
19
19
  import PropTypes from 'prop-types';
20
20
  import React from 'react';
21
+
21
22
  import { cssModules } from '../../bpk-react-utils';
22
23
 
23
24
  import STYLES from './BpkGridRow.module.scss';
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-grid-toggle",
3
- "version": "3.1.0",
3
+ "version": "3.1.6",
4
4
  "description": "Backpack vertical grid toggle component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -14,9 +14,9 @@
14
14
  },
15
15
  "gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
16
16
  "dependencies": {
17
- "bpk-component-link": "^3.1.0",
18
- "bpk-mixins": "^26.1.0",
19
- "bpk-react-utils": "^4.1.0",
17
+ "bpk-component-link": "^3.1.6",
18
+ "bpk-mixins": "^29.0.0",
19
+ "bpk-react-utils": "^4.1.1",
20
20
  "prop-types": "^15.7.2"
21
21
  },
22
22
  "peerDependencies": {
@@ -18,6 +18,7 @@
18
18
 
19
19
  import PropTypes from 'prop-types';
20
20
  import React from 'react';
21
+
21
22
  import { cssModules } from '../../bpk-react-utils';
22
23
  import { BpkButtonLink } from '../../bpk-component-link';
23
24
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-horizontal-nav",
3
- "version": "5.1.1",
3
+ "version": "5.1.7",
4
4
  "description": "Backpack horizontal nav component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -14,17 +14,17 @@
14
14
  },
15
15
  "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
16
16
  "dependencies": {
17
- "bpk-component-mobile-scroll-container": "^3.1.0",
18
- "bpk-mixins": "^26.1.0",
19
- "bpk-react-utils": "^4.1.0",
17
+ "bpk-component-mobile-scroll-container": "^3.1.6",
18
+ "bpk-mixins": "^29.0.0",
19
+ "bpk-react-utils": "^4.1.1",
20
20
  "prop-types": "^15.7.2"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "react": "^16.3.0 || ^17.0.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@skyscanner/bpk-foundations-web": "^5.0.0",
27
- "bpk-component-text": "^6.1.1",
28
- "bpk-storybook-utils": "^1.1.0"
26
+ "@skyscanner/bpk-foundations-web": "^6.2.0",
27
+ "bpk-component-text": "^7.0.0",
28
+ "bpk-storybook-utils": "^1.1.5"
29
29
  }
30
30
  }
@@ -19,8 +19,9 @@
19
19
 
20
20
  import PropTypes from 'prop-types';
21
21
  import ReactDOM from 'react-dom';
22
- import { cssModules } from '../../bpk-react-utils';
23
22
  import React, { Component, type Node } from 'react';
23
+
24
+ import { cssModules } from '../../bpk-react-utils';
24
25
  import BpkMobileScrollContainer from '../../bpk-component-mobile-scroll-container';
25
26
 
26
27
  import STYLES from './BpkHorizontalNav.module.scss';
@@ -19,6 +19,7 @@
19
19
 
20
20
  import React, { Component, type Node } from 'react';
21
21
  import PropTypes from 'prop-types';
22
+
22
23
  import { cssModules } from '../../bpk-react-utils';
23
24
 
24
25
  import { HORIZONTAL_NAV_TYPES } from './BpkHorizontalNav';
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-icon",
3
- "version": "9.2.1",
3
+ "version": "9.2.7",
4
4
  "description": "Backpack icon components.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -17,16 +17,16 @@
17
17
  },
18
18
  "gitHead": "f9f94f86d7cfc75e43bc6ad5eb01b23e62a89cc8",
19
19
  "dependencies": {
20
- "@skyscanner/bpk-foundations-web": "^5.0.0",
21
- "@skyscanner/bpk-svgs": "^14.0.19",
22
- "bpk-mixins": "^26.1.0",
23
- "bpk-react-utils": "^4.1.0",
20
+ "@skyscanner/bpk-foundations-web": "^6.2.0",
21
+ "@skyscanner/bpk-svgs": "^14.1.7",
22
+ "bpk-mixins": "^29.0.0",
23
+ "bpk-react-utils": "^4.1.1",
24
24
  "prop-types": "^15.7.2"
25
25
  },
26
26
  "devDependencies": {
27
- "bpk-component-button": "^5.1.0",
28
- "bpk-component-list": "^3.1.0",
29
- "bpk-component-text": "^6.1.1"
27
+ "bpk-component-button": "^6.2.1",
28
+ "bpk-component-list": "^3.1.6",
29
+ "bpk-component-text": "^7.0.0"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "react": "^16.3.0 || ^17.0.0"
@@ -18,6 +18,7 @@
18
18
 
19
19
  import PropTypes from 'prop-types';
20
20
  import React from 'react';
21
+
21
22
  import { wrapDisplayName } from '../../bpk-react-utils';
22
23
 
23
24
  export default (displayName, classNamesToAdd = []) =>