@skyscanner/backpack-web 0.0.6 → 0.3.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 +3 -15
  7. package/bpk-component-accordion/src/withAccordionItemState.js +1 -0
  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 +1 -0
  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 +1 -0
  60. package/bpk-component-calendar/src/BpkCalendarNav.js +1 -0
  61. package/bpk-component-calendar/src/Week.js +5 -4
  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 +1 -0
  89. package/bpk-component-drawer/package.json +10 -10
  90. package/bpk-component-drawer/src/BpkDrawer.js +1 -0
  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 +1 -0
  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 +1 -0
  123. package/bpk-component-infinite-scroll/package.json +7 -7
  124. package/bpk-component-infinite-scroll/src/withInfiniteScroll.js +2 -1
  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 +1 -0
  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 +2 -1
  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 +1 -0
  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 +1 -0
  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 +1 -0
  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 +8 -8
  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 -248
  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,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
+ /* @flow strict */
20
+
21
+ export { default } from './src/BpkButtonSecondaryOnDark';
@@ -23,8 +23,12 @@ export default () => (
23
23
  <BpkButton>Primary</BpkButton>
24
24
  <BpkButton large>Large primary</BpkButton>
25
25
  <BpkButton secondary>Secondary</BpkButton>
26
+ <BpkButton secondaryOnDark>SecondaryOnDark</BpkButton>
26
27
  <BpkButton link>Link</BpkButton>
27
- <BpkButton outline>Outline</BpkButton>
28
+ <BpkButton linkOnDark>LinkOnDark</BpkButton>
29
+ <BpkButton outline>Outline (Deprecated, use PrimaryOnDark or PrimaryOnLight instead)</BpkButton>
30
+ <BpkButton primaryOnDark>PrimaryOnDark</BpkButton>
31
+ <BpkButton primaryOnLight>PrimaryOnLight</BpkButton>
28
32
  <BpkButton iconOnly>
29
33
  <AlignedArrowIcon />
30
34
  <span className="visually-hidden">Search</span>
@@ -35,26 +39,27 @@ export default () => (
35
39
 
36
40
  ## Props
37
41
 
38
- | Property | PropType | Required | Default Value |
39
- | ----------- | -------- | -------- | ------------- |
40
- | children | - | true | - |
41
- | destructive | bool | false | false |
42
- | featured | bool | false | false |
43
- | link | bool | false | false |
44
- | outline | bool | false | false |
45
- | secondary | bool | false | false |
46
- | blank | bool | false | false |
47
- | className | string | false | null |
48
- | disabled | bool | false | false |
49
- | href | string | false | null |
50
- | iconOnly | bool | false | false |
51
- | large | bool | false | false |
52
- | onClick | func | false | null |
53
- | padded | bool | false | false |
54
- | rel | string | false | null |
55
- | submit | bool | false | false |
56
-
57
- > Note: The `padded` boolean only applies to link-style buttons
42
+ | Property | PropType | Required | Default Value |
43
+ | --------------- | -------------------- | -------- | ------------- |
44
+ | children | - | true | - |
45
+ | destructive | bool | false | false |
46
+ | featured | bool | false | false |
47
+ | link | bool | false | false |
48
+ | linkOnDark | bool | false | false |
49
+ | outline | bool (deprecated) | false | false |
50
+ | secondary | bool | false | false |
51
+ | secondaryOnDark | bool | false | false |
52
+ | primaryOnDark | bool | false | false |
53
+ | primaryOnLight | bool | false | false |
54
+ | blank | bool | false | false |
55
+ | className | string | false | null |
56
+ | disabled | bool | false | false |
57
+ | href | string | false | null |
58
+ | iconOnly | bool | false | false |
59
+ | large | bool | false | false |
60
+ | onClick | func | false | null |
61
+ | rel | string | false | null |
62
+ | submit | bool | false | false |
58
63
 
59
64
  ## Theme Props
60
65
 
@@ -69,6 +74,24 @@ export default () => (
69
74
  * `buttonPrimaryHoverBackgroundColor`
70
75
  * `buttonPrimaryActiveBackgroundColor`
71
76
 
77
+ ### Primary on dark:
78
+
79
+ * `buttonPrimaryOnDarkTextColor`
80
+ * `buttonPrimaryOnDarkHoverTextColor`
81
+ * `buttonPrimaryOnDarkActiveTextColor`
82
+ * `buttonPrimaryOnDarkBackgroundColor`
83
+ * `buttonPrimaryOnDarkHoverBackgroundColor`
84
+ * `buttonPrimaryOnDarkActiveBackgroundColor`
85
+
86
+ ### Primary on light:
87
+
88
+ * `buttonPrimaryOnLightTextColor`
89
+ * `buttonPrimaryOnLightHoverTextColor`
90
+ * `buttonPrimaryOnLightActiveTextColor`
91
+ * `buttonPrimaryOnLightBackgroundColor`
92
+ * `buttonPrimaryOnLightHoverBackgroundColor`
93
+ * `buttonPrimaryOnLightActiveBackgroundColor`
94
+
72
95
  ### Secondary:
73
96
 
74
97
  * `buttonSecondaryTextColor`
@@ -81,6 +104,15 @@ export default () => (
81
104
  * `buttonSecondaryHoverBackgroundColor`
82
105
  * `buttonSecondaryActiveBackgroundColor`
83
106
 
107
+ ### Secondary on dark:
108
+
109
+ * `buttonSecondaryOnDarkTextColor`
110
+ * `buttonSecondaryOnDarkHoverTextColor`
111
+ * `buttonSecondaryOnDarkActiveTextColor`
112
+ * `buttonSecondaryOnDarkBackgroundColor`
113
+ * `buttonSecondaryOnDarkHoverBackgroundColor`
114
+ * `buttonSecondaryOnDarkActiveBackgroundColor`
115
+
84
116
  ### Featured:
85
117
 
86
118
  * `buttonFeaturedTextColor`
@@ -20,16 +20,23 @@
20
20
 
21
21
  import BpkButton from './src/BpkButton'; // eslint-disable-line import/no-cycle
22
22
  import BpkButtonPrimary from './src/BpkButtonPrimary';
23
+ import BpkButtonPrimaryOnDark from './src/BpkButtonPrimaryOnDark';
24
+ import BpkButtonPrimaryOnLight from './src/BpkButtonPrimaryOnLight';
23
25
  import BpkButtonSecondary from './src/BpkButtonSecondary';
26
+ import BpkButtonSecondaryOnDark from './src/BpkButtonSecondaryOnDark';
24
27
  import BpkButtonDestructive from './src/BpkButtonDestructive';
25
28
  import BpkButtonLink from './src/BpkButtonLink';
29
+ import BpkButtonLinkOnDark from './src/BpkButtonLinkOnDark';
26
30
  import BpkButtonFeatured from './src/BpkButtonFeatured';
27
31
  import BpkButtonOutline from './src/BpkButtonOutline';
28
32
 
29
33
  export {
30
34
  buttonThemeAttributes,
31
35
  primaryThemeAttributes,
36
+ primaryOnDarkThemeAttributes,
37
+ primaryOnLightThemeAttributes,
32
38
  secondaryThemeAttributes,
39
+ secondaryOnDarkThemeAttributes,
33
40
  featuredThemeAttributes,
34
41
  destructiveThemeAttributes,
35
42
  } from './themeAttributes';
@@ -38,9 +45,13 @@ export default BpkButton;
38
45
 
39
46
  export {
40
47
  BpkButtonPrimary,
48
+ BpkButtonPrimaryOnDark,
49
+ BpkButtonPrimaryOnLight,
41
50
  BpkButtonSecondary,
51
+ BpkButtonSecondaryOnDark,
42
52
  BpkButtonDestructive,
43
53
  BpkButtonLink,
54
+ BpkButtonLinkOnDark,
44
55
  BpkButtonFeatured,
45
56
  BpkButtonOutline,
46
57
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bpk-component-button",
3
- "version": "5.1.0",
3
+ "version": "6.2.1",
4
4
  "description": "Backpack button component.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -14,11 +14,11 @@
14
14
  },
15
15
  "gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
16
16
  "dependencies": {
17
- "bpk-mixins": "^26.1.0",
17
+ "bpk-mixins": "^29.0.0",
18
18
  "prop-types": "^15.7.2"
19
19
  },
20
20
  "devDependencies": {
21
- "bpk-storybook-utils": "^1.1.0"
21
+ "bpk-storybook-utils": "^1.1.5"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "react": "^16.3.0 || ^17.0.0"
@@ -24,9 +24,13 @@ import PropTypes from 'prop-types';
24
24
  // eslint-disable-next-line import/no-cycle
25
25
  import {
26
26
  BpkButtonPrimary,
27
+ BpkButtonPrimaryOnDark,
28
+ BpkButtonPrimaryOnLight,
27
29
  BpkButtonSecondary,
30
+ BpkButtonSecondaryOnDark,
28
31
  BpkButtonDestructive,
29
32
  BpkButtonLink,
33
+ BpkButtonLinkOnDark,
30
34
  BpkButtonFeatured,
31
35
  BpkButtonOutline,
32
36
  } from '../index';
@@ -39,21 +43,45 @@ import {
39
43
 
40
44
  type Props = {
41
45
  ...CommonProps,
46
+ primaryOnDark: boolean,
47
+ primaryOnLight: boolean,
42
48
  secondary: boolean,
49
+ secondaryOnDark: boolean,
43
50
  destructive: boolean,
44
51
  featured: boolean,
45
52
  outline: boolean,
46
53
  link: boolean,
47
- padded: boolean,
54
+ linkOnDark: boolean,
48
55
  };
49
56
 
50
57
  const BpkButton = (props: Props) => {
51
- const { destructive, featured, link, outline, padded, secondary, ...rest } =
52
- props;
58
+ const {
59
+ destructive,
60
+ featured,
61
+ link,
62
+ linkOnDark,
63
+ outline,
64
+ primaryOnDark,
65
+ primaryOnLight,
66
+ secondary,
67
+ secondaryOnDark,
68
+ ...rest
69
+ } = props;
70
+
71
+ if (primaryOnDark) {
72
+ return <BpkButtonPrimaryOnDark {...rest} />;
73
+ }
74
+
75
+ if (primaryOnLight) {
76
+ return <BpkButtonPrimaryOnLight {...rest} />;
77
+ }
53
78
 
54
79
  if (secondary) {
55
80
  return <BpkButtonSecondary {...rest} />;
56
81
  }
82
+ if (secondaryOnDark) {
83
+ return <BpkButtonSecondaryOnDark {...rest} />;
84
+ }
57
85
  if (destructive) {
58
86
  return <BpkButtonDestructive {...rest} />;
59
87
  }
@@ -64,30 +92,38 @@ const BpkButton = (props: Props) => {
64
92
  return <BpkButtonOutline {...rest} />;
65
93
  }
66
94
  if (link) {
67
- // $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
68
- return <BpkButtonLink padded={padded} {...rest} />;
95
+ return <BpkButtonLink {...rest} />;
96
+ }
97
+ if (linkOnDark) {
98
+ return <BpkButtonLinkOnDark {...rest} />;
69
99
  }
70
100
  return <BpkButtonPrimary {...rest} />;
71
101
  };
72
102
 
73
103
  BpkButton.propTypes = {
74
104
  ...propTypes,
105
+ primaryOnDark: PropTypes.bool,
106
+ primaryOnLight: PropTypes.bool,
75
107
  secondary: PropTypes.bool,
108
+ secondaryOnDark: PropTypes.bool,
76
109
  destructive: PropTypes.bool,
77
110
  featured: PropTypes.bool,
78
111
  outline: PropTypes.bool,
79
- padded: PropTypes.bool,
80
112
  link: PropTypes.bool,
113
+ linkOnDark: PropTypes.bool,
81
114
  };
82
115
 
83
116
  BpkButton.defaultProps = {
84
117
  ...defaultProps,
118
+ primaryOnDark: false,
119
+ primaryOnLight: false,
85
120
  secondary: false,
121
+ secondaryOnDark: false,
86
122
  destructive: false,
87
123
  featured: false,
88
124
  outline: false,
89
- padded: false,
90
125
  link: false,
126
+ linkOnDark: false,
91
127
  };
92
128
 
93
129
  export default BpkButton;
@@ -19,7 +19,6 @@
19
19
  /* @flow strict */
20
20
 
21
21
  import React from 'react';
22
- import PropTypes from 'prop-types';
23
22
 
24
23
  import {
25
24
  type Props as CommonProps,
@@ -33,15 +32,14 @@ const getClassName = cssModules(STYLES);
33
32
 
34
33
  type Props = {
35
34
  ...CommonProps,
36
- padded: boolean,
37
35
  };
38
36
  const BpkButtonLink = (props: Props) => {
39
- const { className, padded, ...rest } = props;
37
+ const { className, large, ...rest } = props;
40
38
 
41
39
  const classNames = [getClassName('bpk-button--link')];
42
40
 
43
- if (padded) {
44
- classNames.push(getClassName('bpk-button--padded'));
41
+ if (large) {
42
+ classNames.push(getClassName('bpk-button--link-large'));
45
43
  }
46
44
 
47
45
  if (className) {
@@ -51,11 +49,11 @@ const BpkButtonLink = (props: Props) => {
51
49
 
52
50
  return (
53
51
  // $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
54
- <BpkButtonBase className={classNamesFinal} {...rest} />
52
+ <BpkButtonBase className={classNamesFinal} large={large} {...rest} />
55
53
  );
56
54
  };
57
55
 
58
- BpkButtonLink.propTypes = { ...propTypes, padded: PropTypes.bool };
59
- BpkButtonLink.defaultProps = { ...defaultProps, padded: false };
56
+ BpkButtonLink.propTypes = { ...propTypes };
57
+ BpkButtonLink.defaultProps = { ...defaultProps };
60
58
 
61
59
  export default BpkButtonLink;
@@ -22,8 +22,4 @@
22
22
  &--link {
23
23
  @include bpk-button--link;
24
24
  }
25
-
26
- &--padded {
27
- @include bpk-button--padded;
28
- }
29
25
  }
@@ -0,0 +1,59 @@
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
+ /* @flow strict */
20
+
21
+ import React from 'react';
22
+
23
+ import {
24
+ type Props as CommonProps,
25
+ defaultProps,
26
+ propTypes,
27
+ } from './common-types';
28
+ import BpkButtonBase, { cssModules } from './BpkButtonBase';
29
+ import STYLES from './BpkButtonLinkOnDark.module.scss';
30
+
31
+ const getClassName = cssModules(STYLES);
32
+
33
+ type Props = {
34
+ ...CommonProps,
35
+ };
36
+ const BpkButtonLinkOnDark = (props: Props) => {
37
+ const { className, large, ...rest } = props;
38
+
39
+ const classNames = [getClassName('bpk-button--link-on-dark')];
40
+
41
+ if (large) {
42
+ classNames.push(getClassName('bpk-button--link-on-dark-large'));
43
+ }
44
+
45
+ if (className) {
46
+ classNames.push(className);
47
+ }
48
+ const classNamesFinal = classNames.join(' ');
49
+
50
+ return (
51
+ // $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
52
+ <BpkButtonBase className={classNamesFinal} large={large} {...rest} />
53
+ );
54
+ };
55
+
56
+ BpkButtonLinkOnDark.propTypes = { ...propTypes };
57
+ BpkButtonLinkOnDark.defaultProps = { ...defaultProps };
58
+
59
+ export default BpkButtonLinkOnDark;
@@ -18,6 +18,6 @@
18
18
 
19
19
  @import '~bpk-mixins/index';
20
20
 
21
- .bpk-button-story-wrapper {
22
- padding: $bpk-spacing-xs 0;
21
+ .bpk-button--link-on-dark {
22
+ @include bpk-button--link-on-dark;
23
23
  }
@@ -0,0 +1,48 @@
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
+ /* @flow strict */
20
+
21
+ import React from 'react';
22
+
23
+ import { type Props, defaultProps, propTypes } from './common-types';
24
+ import BpkButtonBase, { cssModules } from './BpkButtonBase';
25
+ import STYLES from './BpkButtonPrimaryOnDark.module.scss';
26
+
27
+ const getClassName = cssModules(STYLES);
28
+
29
+ const BpkButtonPrimaryOnDark = (props: Props) => {
30
+ const { className, ...rest } = props;
31
+
32
+ const classNames = [getClassName('bpk-button--primary-on-dark')];
33
+
34
+ if (className) {
35
+ classNames.push(className);
36
+ }
37
+ const classNamesFinal = classNames.join(' ');
38
+
39
+ return (
40
+ // $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
41
+ <BpkButtonBase className={classNamesFinal} {...rest} />
42
+ );
43
+ };
44
+
45
+ BpkButtonPrimaryOnDark.propTypes = { ...propTypes };
46
+ BpkButtonPrimaryOnDark.defaultProps = { ...defaultProps };
47
+
48
+ export default BpkButtonPrimaryOnDark;
@@ -18,10 +18,6 @@
18
18
 
19
19
  @import '~bpk-mixins/index';
20
20
 
21
- .bpk-nudger-outline {
22
- color: $bpk-color-white;
23
- }
24
-
25
- .bpk-nudger-configurable {
26
- width: 7rem;
21
+ .bpk-button--primary-on-dark {
22
+ @include bpk-button--primary-on-dark;
27
23
  }
@@ -0,0 +1,48 @@
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
+ /* @flow strict */
20
+
21
+ import React from 'react';
22
+
23
+ import { type Props, defaultProps, propTypes } from './common-types';
24
+ import BpkButtonBase, { cssModules } from './BpkButtonBase';
25
+ import STYLES from './BpkButtonPrimaryOnLight.module.scss';
26
+
27
+ const getClassName = cssModules(STYLES);
28
+
29
+ const BpkButtonPrimaryOnLight = (props: Props) => {
30
+ const { className, ...rest } = props;
31
+
32
+ const classNames = [getClassName('bpk-button--primary-on-light')];
33
+
34
+ if (className) {
35
+ classNames.push(className);
36
+ }
37
+ const classNamesFinal = classNames.join(' ');
38
+
39
+ return (
40
+ // $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
41
+ <BpkButtonBase className={classNamesFinal} {...rest} />
42
+ );
43
+ };
44
+
45
+ BpkButtonPrimaryOnLight.propTypes = { ...propTypes };
46
+ BpkButtonPrimaryOnLight.defaultProps = { ...defaultProps };
47
+
48
+ export default BpkButtonPrimaryOnLight;
@@ -18,10 +18,6 @@
18
18
 
19
19
  @import '~bpk-mixins/index';
20
20
 
21
- $bpk-spacing-v2: true;
22
-
23
- .bpk-banner-alert-examples {
24
- &__component {
25
- margin-top: bpk-spacing-base();
26
- }
21
+ .bpk-button--primary-on-light {
22
+ @include bpk-button--primary-on-light;
27
23
  }
@@ -0,0 +1,48 @@
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
+ /* @flow strict */
20
+
21
+ import React from 'react';
22
+
23
+ import { type Props, defaultProps, propTypes } from './common-types';
24
+ import BpkButtonBase, { cssModules } from './BpkButtonBase';
25
+ import STYLES from './BpkButtonSecondaryOnDark.module.scss';
26
+
27
+ const getClassName = cssModules(STYLES);
28
+
29
+ const BpkButtonSecondaryOnDark = (props: Props) => {
30
+ const { className, ...rest } = props;
31
+
32
+ const classNames = [getClassName('bpk-button--secondary-on-dark')];
33
+
34
+ if (className) {
35
+ classNames.push(className);
36
+ }
37
+ const classNamesFinal = classNames.join(' ');
38
+
39
+ return (
40
+ // $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
41
+ <BpkButtonBase className={classNamesFinal} {...rest} />
42
+ );
43
+ };
44
+
45
+ BpkButtonSecondaryOnDark.propTypes = { ...propTypes };
46
+ BpkButtonSecondaryOnDark.defaultProps = { ...defaultProps };
47
+
48
+ export default BpkButtonSecondaryOnDark;
@@ -0,0 +1,23 @@
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 '~bpk-mixins/index';
20
+
21
+ .bpk-button--secondary-on-dark {
22
+ @include bpk-button--secondary-on-dark;
23
+ }
@@ -29,6 +29,24 @@ export const primaryThemeAttributes = [
29
29
  'buttonPrimaryActiveBackgroundColor',
30
30
  ];
31
31
 
32
+ export const primaryOnDarkThemeAttributes = [
33
+ 'buttonPrimaryOnDarkTextColor',
34
+ 'buttonPrimaryOnDarkHoverTextColor',
35
+ 'buttonPrimaryOnDarkActiveTextColor',
36
+ 'buttonPrimaryOnDarkBackgroundColor',
37
+ 'buttonPrimaryOnDarkHoverBackgroundColor',
38
+ 'buttonPrimaryOnDarkActiveBackgroundColor',
39
+ ];
40
+
41
+ export const primaryOnLightThemeAttributes = [
42
+ 'buttonPrimaryOnLightTextColor',
43
+ 'buttonPrimaryOnLightHoverTextColor',
44
+ 'buttonPrimaryOnLightActiveTextColor',
45
+ 'buttonPrimaryOnLightBackgroundColor',
46
+ 'buttonPrimaryOnLightHoverBackgroundColor',
47
+ 'buttonPrimaryOnLightActiveBackgroundColor',
48
+ ];
49
+
32
50
  export const secondaryThemeAttributes = [
33
51
  'buttonSecondaryTextColor',
34
52
  'buttonSecondaryHoverTextColor',
@@ -41,6 +59,15 @@ export const secondaryThemeAttributes = [
41
59
  'buttonSecondaryActiveBackgroundColor',
42
60
  ];
43
61
 
62
+ export const secondaryOnDarkThemeAttributes = [
63
+ 'buttonSecondaryOnDarkTextColor',
64
+ 'buttonSecondaryOnDarkHoverTextColor',
65
+ 'buttonSecondaryOnDarkActiveTextColor',
66
+ 'buttonSecondaryOnDarkBackgroundColor',
67
+ 'buttonSecondaryOnDarkHoverBackgroundColor',
68
+ 'buttonSecondaryOnDarkActiveBackgroundColor',
69
+ ];
70
+
44
71
  export const featuredThemeAttributes = [
45
72
  'buttonFeaturedTextColor',
46
73
  'buttonFeaturedHoverTextColor',
@@ -21,7 +21,10 @@
21
21
  export {
22
22
  buttonThemeAttributes,
23
23
  primaryThemeAttributes,
24
+ primaryOnDarkThemeAttributes,
25
+ primaryOnLightThemeAttributes,
24
26
  secondaryThemeAttributes,
27
+ secondaryOnDarkThemeAttributes,
25
28
  featuredThemeAttributes,
26
29
  destructiveThemeAttributes,
27
30
  } from './src/themeAttributes';