@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
@@ -1,660 +0,0 @@
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 React, { Component } from 'react';
20
- import PropTypes from 'prop-types';
21
- import { memoize } from 'lodash';
22
- import { action } from '../bpk-storybook-utils';
23
- import {
24
- colorSagano,
25
- colorBagan,
26
- colorPetra,
27
- colorSkyGray,
28
- } from '@skyscanner/bpk-foundations-web/tokens/base.es6';
29
- import {
30
- weekDays,
31
- formatMonth,
32
- formatDateFull,
33
- } from '../bpk-component-calendar/test-utils';
34
- import {
35
- format,
36
- dateToBoundaries,
37
- addMonths,
38
- addDays,
39
- startOfDay,
40
- } from '../bpk-component-calendar/src/date-utils';
41
- import {
42
- BpkCalendarNav,
43
- BpkCalendarGridHeader,
44
- BpkCalendarDate,
45
- withCalendarState,
46
- composeCalendar,
47
- CustomPropTypes,
48
- CALENDAR_SELECTION_TYPE,
49
- BpkCalendarGrid,
50
- } from '../bpk-component-calendar';
51
- import BpkInput, { withOpenEvents } from '../bpk-component-input';
52
-
53
- import BpkDatepicker from './index';
54
-
55
- const formatDate = (date) => format(date, 'dd/MM/yyyy');
56
-
57
- const Input = withOpenEvents(BpkInput);
58
-
59
- const inputProps = {
60
- onChange: () => null,
61
- placeholder: 'placeholder',
62
- large: true,
63
- docked: true,
64
- };
65
-
66
- const inputPropsWithEventHandlers = {
67
- onClick: action('input onClick'),
68
- onFocus: action('input onFocus'),
69
- onBlur: action('input onBlur'),
70
- onTouchEnd: action('input onTouchEnd'),
71
- onKeyDown: action('input onKeyDown'),
72
- onKeyUp: action('input onKeyUp'),
73
- onChange: () => null,
74
- placeholder: 'placeholder',
75
- large: true,
76
- };
77
-
78
- class CalendarContainer extends Component {
79
- constructor(props) {
80
- super(props);
81
-
82
- if (this.props.selectionConfiguration.type === 'range') {
83
- this.state = {
84
- selectionConfiguration: {
85
- type: this.props.selectionConfiguration.type,
86
- startDate: this.props.selectionConfiguration.startDate,
87
- endDate: this.props.selectionConfiguration.endDate,
88
- },
89
- };
90
- } else {
91
- this.state = {
92
- selectionConfiguration: {
93
- type: this.props.selectionConfiguration.type,
94
- date: this.props.selectionConfiguration.date,
95
- },
96
- };
97
- }
98
- }
99
-
100
- render() {
101
- return (
102
- <div id="datepicker-element">
103
- <div id="application-element">
104
- <BpkDatepicker
105
- {...this.props}
106
- onDateSelect={(startDate, endDate = null) => {
107
- if (this.props.selectionConfiguration.type === 'range') {
108
- if (startDate && !endDate) {
109
- this.setState({
110
- selectionConfiguration: {
111
- type: this.props.selectionConfiguration.type,
112
- startDate,
113
- endDate: null,
114
- },
115
- });
116
- action('Selected day')(startDate);
117
- }
118
- if (startDate && endDate) {
119
- this.setState({
120
- selectionConfiguration: {
121
- type: this.props.selectionConfiguration.type,
122
- startDate,
123
- endDate,
124
- },
125
- });
126
- action('Selected end day')(endDate);
127
- }
128
- } else {
129
- this.setState({
130
- selectionConfiguration: {
131
- type: this.props.selectionConfiguration.type,
132
- date: startDate,
133
- },
134
- });
135
- action('Selected day')(startDate);
136
- }
137
- }}
138
- selectionConfiguration={this.state.selectionConfiguration}
139
- onMonthChange={action('Changed month')}
140
- getApplicationElement={() =>
141
- document.getElementById('application-element')
142
- }
143
- renderTarget={() => document.getElementById('datepicker-element')}
144
- />
145
- </div>
146
- </div>
147
- );
148
- }
149
- }
150
-
151
- CalendarContainer.propTypes = {
152
- selectionConfiguration: CustomPropTypes.SelectionConfiguration,
153
- };
154
-
155
- CalendarContainer.defaultProps = {
156
- selectionConfiguration: {
157
- type: CALENDAR_SELECTION_TYPE.single,
158
- date: null,
159
- },
160
- };
161
-
162
- const getBackgroundForDate = memoize(
163
- () => [colorSagano, colorBagan, colorPetra][parseInt(Math.random() * 3, 10)],
164
- );
165
-
166
- const ColoredCalendarDate = (props) => {
167
- let style = {};
168
-
169
- if (!props.isFocused && !props.isOutside && !props.isBlocked) {
170
- style = {
171
- backgroundColor: getBackgroundForDate(props.date.getTime()), // stylelint-disable
172
- color: colorSkyGray,
173
- };
174
- }
175
-
176
- return <BpkCalendarDate {...props} style={style} />;
177
- };
178
-
179
- ColoredCalendarDate.propTypes = {
180
- isFocused: PropTypes.bool.isRequired,
181
- isOutside: PropTypes.bool.isRequired,
182
- isBlocked: PropTypes.bool.isRequired,
183
- date: PropTypes.object.isRequired, // eslint-disable-line react/forbid-prop-types
184
- };
185
-
186
- class ReturnDatepicker extends Component {
187
- constructor() {
188
- super();
189
-
190
- this.minDate = startOfDay(new Date());
191
- this.maxDate = startOfDay(addMonths(new Date(), 12));
192
- this.state = {
193
- departDate: startOfDay(addDays(new Date(), 1)),
194
- returnDate: startOfDay(addDays(new Date(), 4)),
195
- isReturnPickerOpen: false,
196
- };
197
- }
198
-
199
- render() {
200
- return (
201
- <div id="datepicker-element">
202
- <div style={{ display: 'flex' }} id="application-element">
203
- <BpkDatepicker
204
- id="depart"
205
- closeButtonText="Close"
206
- daysOfWeek={weekDays}
207
- weekStartsOn={1}
208
- changeMonthLabel="Change month"
209
- previousMonthLabel="Go to previous month"
210
- nextMonthLabel="Go to next month"
211
- title="Departure date"
212
- getApplicationElement={() =>
213
- document.getElementById('application-element')
214
- }
215
- renderTarget={() => document.getElementById('datepicker-element')}
216
- formatDate={formatDate}
217
- formatMonth={formatMonth}
218
- formatDateFull={formatDateFull}
219
- inputProps={inputProps}
220
- date={this.state.departDate}
221
- onDateSelect={(departDate) => {
222
- this.setState((prevState) => ({
223
- departDate,
224
- returnDate: dateToBoundaries(
225
- prevState.returnDate,
226
- departDate,
227
- this.maxDate,
228
- ),
229
- isReturnPickerOpen: true,
230
- }));
231
- action('Selected departure date')(departDate);
232
- }}
233
- onMonthChange={action('Changed month')}
234
- />
235
- <BpkDatepicker
236
- id="return"
237
- closeButtonText="Close"
238
- daysOfWeek={weekDays}
239
- weekStartsOn={1}
240
- changeMonthLabel="Change month"
241
- previousMonthLabel="Go to previous month"
242
- nextMonthLabel="Go to next month"
243
- title="Return date"
244
- getApplicationElement={() =>
245
- document.getElementById('application-element')
246
- }
247
- renderTarget={() => document.getElementById('datepicker-element')}
248
- formatDate={formatDate}
249
- formatMonth={formatMonth}
250
- formatDateFull={formatDateFull}
251
- inputProps={inputProps}
252
- date={this.state.returnDate}
253
- onDateSelect={(returnDate) => {
254
- this.setState((prevState) => ({
255
- returnDate,
256
- departDate: dateToBoundaries(
257
- prevState.departDate,
258
- this.minDate,
259
- returnDate,
260
- ),
261
- }));
262
- action('Selected return date')(returnDate);
263
- }}
264
- onOpenChange={(isOpen) => {
265
- this.setState({
266
- isReturnPickerOpen: isOpen,
267
- });
268
- }}
269
- onMonthChange={action('Changed month')}
270
- isOpen={this.state.isReturnPickerOpen}
271
- />
272
- </div>
273
- </div>
274
- );
275
- }
276
- }
277
-
278
- class MultipleInputDatepicker extends Component {
279
- constructor(props) {
280
- super(props);
281
-
282
- this.state = {
283
- selectionConfiguration: {
284
- type: CALENDAR_SELECTION_TYPE.range,
285
- startDate: new Date(2020, 3, 8),
286
- endDate: new Date(2020, 3, 15),
287
- },
288
- isOpen: false,
289
- };
290
- }
291
-
292
- onOpen = () => {
293
- this.setState({
294
- isOpen: true,
295
- });
296
- };
297
-
298
- onClose = () => {
299
- this.setState({
300
- isOpen: false,
301
- });
302
- };
303
-
304
- render() {
305
- const inputStyles = {
306
- display: 'inline-block',
307
- verticalAlign: 'bottom',
308
- width: '50%',
309
- };
310
-
311
- const inputs = (
312
- <div>
313
- <Input
314
- id="departure-date"
315
- name="departure-date"
316
- value={
317
- this.state.selectionConfiguration.startDate
318
- ? formatDate(this.state.selectionConfiguration.startDate)
319
- : ''
320
- }
321
- aria-live="assertive"
322
- aria-atomic="true"
323
- aria-label={
324
- this.state.selectionConfiguration.startDate
325
- ? formatDate(this.state.selectionConfiguration.startDate)
326
- : ''
327
- }
328
- onOpen={this.onOpen}
329
- isOpen={this.state.isOpen}
330
- style={inputStyles}
331
- dockedFirst
332
- />
333
- <Input
334
- id="arrival-date"
335
- name="arrival-date"
336
- value={
337
- this.state.selectionConfiguration.endDate
338
- ? formatDate(this.state.selectionConfiguration.endDate)
339
- : ''
340
- }
341
- aria-live="assertive"
342
- aria-atomic="true"
343
- aria-label={
344
- this.state.selectionConfiguration.endDate
345
- ? formatDate(this.state.selectionConfiguration.endDate)
346
- : ''
347
- }
348
- onOpen={this.onOpen}
349
- isOpen={this.state.isOpen}
350
- style={inputStyles}
351
- dockedLast
352
- />
353
- </div>
354
- );
355
-
356
- return (
357
- <div id="datepicker-element">
358
- <div id="application-element">
359
- <BpkDatepicker
360
- {...this.props}
361
- id="myDatepicker"
362
- closeButtonText="Close"
363
- daysOfWeek={weekDays}
364
- weekStartsOn={1}
365
- changeMonthLabel="Change month"
366
- previousMonthLabel="Go to previous month"
367
- nextMonthLabel="Go to next month"
368
- title="Departure date"
369
- formatDate={formatDate}
370
- formatMonth={formatMonth}
371
- formatDateFull={formatDateFull}
372
- minDate={new Date(2020, 3, 1)}
373
- selectTodaysDate={false}
374
- onClose={this.onClose}
375
- isOpen={this.state.isOpen}
376
- inputComponent={inputs}
377
- onDateSelect={(startDate, endDate = null) => {
378
- if (startDate && !endDate) {
379
- this.setState({
380
- selectionConfiguration: {
381
- type: CALENDAR_SELECTION_TYPE.range,
382
- startDate,
383
- endDate: null,
384
- },
385
- });
386
- action('Selected day')(startDate);
387
- }
388
- if (startDate && endDate) {
389
- this.setState({
390
- selectionConfiguration: {
391
- type: CALENDAR_SELECTION_TYPE.range,
392
- startDate,
393
- endDate,
394
- },
395
- });
396
- this.onClose();
397
- action('Selected end day')(endDate);
398
- }
399
- }}
400
- selectionConfiguration={this.state.selectionConfiguration}
401
- onMonthChange={action('Changed month')}
402
- getApplicationElement={() =>
403
- document.getElementById('application-element')
404
- }
405
- renderTarget={() => document.getElementById('datepicker-element')}
406
- />
407
- </div>
408
- </div>
409
- );
410
- }
411
- }
412
-
413
- const DefaultExample = () => (
414
- <div id="application-element">
415
- <CalendarContainer
416
- id="myDatepicker"
417
- closeButtonText="Close"
418
- daysOfWeek={weekDays}
419
- weekStartsOn={1}
420
- changeMonthLabel="Change month"
421
- previousMonthLabel="Go to previous month"
422
- nextMonthLabel="Go to next month"
423
- title="Departure date"
424
- formatDate={formatDate}
425
- formatMonth={formatMonth}
426
- formatDateFull={formatDateFull}
427
- selectionConfiguration={{
428
- type: CALENDAR_SELECTION_TYPE.single,
429
- date: new Date(),
430
- }}
431
- />
432
- </div>
433
- );
434
-
435
- const RangeExample = () => (
436
- <div id="application-element">
437
- <CalendarContainer
438
- id="myDatepicker"
439
- closeButtonText="Close"
440
- daysOfWeek={weekDays}
441
- weekStartsOn={1}
442
- changeMonthLabel="Change month"
443
- previousMonthLabel="Go to previous month"
444
- nextMonthLabel="Go to next month"
445
- title="Departure date"
446
- formatDate={formatDate}
447
- formatMonth={formatMonth}
448
- formatDateFull={formatDateFull}
449
- selectionConfiguration={{
450
- type: 'range',
451
- startDate: new Date(2022, 9, 6),
452
- endDate: new Date(2022, 9, 15),
453
- }}
454
- />
455
- </div>
456
- );
457
-
458
- const OpenOnRender = () => (
459
- <div id="application-element">
460
- <CalendarContainer
461
- id="myDatepicker"
462
- closeButtonText="Close"
463
- daysOfWeek={weekDays}
464
- weekStartsOn={1}
465
- changeMonthLabel="Change month"
466
- previousMonthLabel="Go to previous month"
467
- nextMonthLabel="Go to next month"
468
- title="Departure date"
469
- formatDate={formatDate}
470
- formatMonth={formatMonth}
471
- formatDateFull={formatDateFull}
472
- selectionConfiguration={{
473
- type: CALENDAR_SELECTION_TYPE.single,
474
- date: new Date(),
475
- }}
476
- isOpen
477
- />
478
- </div>
479
- );
480
-
481
- const MinDateInPast = () => (
482
- <div id="application-element">
483
- <CalendarContainer
484
- id="myDatepicker"
485
- closeButtonText="Close"
486
- daysOfWeek={weekDays}
487
- weekStartsOn={1}
488
- changeMonthLabel="Change month"
489
- previousMonthLabel="Go to previous month"
490
- nextMonthLabel="Go to next month"
491
- title="Departure date"
492
- formatDate={formatDate}
493
- formatMonth={formatMonth}
494
- formatDateFull={formatDateFull}
495
- minDate={new Date(2011, 1, 2)}
496
- initiallyFocusedDate={new Date()}
497
- />
498
- </div>
499
- );
500
-
501
- const WithoutDateSet = () => (
502
- <div id="application-element">
503
- <CalendarContainer
504
- id="myDatepicker"
505
- closeButtonText="Close"
506
- daysOfWeek={weekDays}
507
- weekStartsOn={1}
508
- changeMonthLabel="Change month"
509
- previousMonthLabel="Go to previous month"
510
- nextMonthLabel="Go to next month"
511
- title="Departure date"
512
- formatDate={formatDate}
513
- formatMonth={formatMonth}
514
- formatDateFull={formatDateFull}
515
- />
516
- </div>
517
- );
518
-
519
- const PassingProps = () => (
520
- <div id="application-element">
521
- <CalendarContainer
522
- id="myDatepicker"
523
- closeButtonText="Close"
524
- daysOfWeek={weekDays}
525
- weekStartsOn={1}
526
- changeMonthLabel="Change month"
527
- previousMonthLabel="Go to previous month"
528
- nextMonthLabel="Go to next month"
529
- title="Departure date"
530
- formatDate={formatDate}
531
- formatMonth={formatMonth}
532
- formatDateFull={formatDateFull}
533
- inputProps={inputPropsWithEventHandlers}
534
- />
535
- </div>
536
- );
537
-
538
- const DepartReturn = () => <ReturnDatepicker />;
539
-
540
- const CustomComponent = () => {
541
- const CalendarWithColoredDates = withCalendarState(
542
- composeCalendar(
543
- BpkCalendarNav,
544
- BpkCalendarGridHeader,
545
- BpkCalendarGrid,
546
- ColoredCalendarDate,
547
- ),
548
- );
549
-
550
- return (
551
- <div id="application-element">
552
- <CalendarContainer
553
- id="myDatepicker"
554
- closeButtonText="Close"
555
- daysOfWeek={weekDays}
556
- weekStartsOn={1}
557
- changeMonthLabel="Change month"
558
- previousMonthLabel="Go to previous month"
559
- nextMonthLabel="Go to next month"
560
- title="Departure date"
561
- formatDate={formatDate}
562
- formatMonth={formatMonth}
563
- formatDateFull={formatDateFull}
564
- calendarComponent={CalendarWithColoredDates}
565
- />
566
- </div>
567
- );
568
- };
569
-
570
- const InvalidExample = () => (
571
- <div id="application-element">
572
- <CalendarContainer
573
- id="myDatepicker"
574
- closeButtonText="Close"
575
- daysOfWeek={weekDays}
576
- weekStartsOn={1}
577
- changeMonthLabel="Change month"
578
- previousMonthLabel="Go to previous month"
579
- nextMonthLabel="Go to next month"
580
- title="Departure date"
581
- formatDate={formatDate}
582
- formatMonth={formatMonth}
583
- formatDateFull={formatDateFull}
584
- selectionConfiguration={{
585
- type: CALENDAR_SELECTION_TYPE.single,
586
- date: new Date(),
587
- }}
588
- valid={false}
589
- />
590
- </div>
591
- );
592
-
593
- const MultipleRangeInputExample = () => <MultipleInputDatepicker />;
594
-
595
- const DefaultVisualExample = () => (
596
- <div id="application-element">
597
- <CalendarContainer
598
- id="myDatepicker"
599
- closeButtonText="Close"
600
- daysOfWeek={weekDays}
601
- weekStartsOn={1}
602
- changeMonthLabel="Change month"
603
- previousMonthLabel="Go to previous month"
604
- nextMonthLabel="Go to next month"
605
- title="Departure date"
606
- formatDate={formatDate}
607
- formatMonth={formatMonth}
608
- formatDateFull={formatDateFull}
609
- selectionConfiguration={{
610
- type: CALENDAR_SELECTION_TYPE.single,
611
- date: new Date(2020, 3, 19),
612
- }}
613
- minDate={new Date(2020, 3, 1)}
614
- selectTodaysDate={false}
615
- initiallyFocusedDate={new Date(2020, 3, 19)}
616
- isOpen
617
- />
618
- </div>
619
- );
620
-
621
- const VisualRangeExample = () => (
622
- <div id="application-element">
623
- <CalendarContainer
624
- id="myDatepicker"
625
- closeButtonText="Close"
626
- daysOfWeek={weekDays}
627
- weekStartsOn={1}
628
- changeMonthLabel="Change month"
629
- previousMonthLabel="Go to previous month"
630
- nextMonthLabel="Go to next month"
631
- title="Departure date"
632
- formatDate={formatDate}
633
- formatMonth={formatMonth}
634
- formatDateFull={formatDateFull}
635
- selectionConfiguration={{
636
- type: 'range',
637
- startDate: new Date(2020, 3, 8),
638
- endDate: new Date(2020, 3, 15),
639
- }}
640
- minDate={new Date(2020, 3, 1)}
641
- selectTodaysDate={false}
642
- isOpen
643
- />
644
- </div>
645
- );
646
-
647
- export {
648
- DefaultExample,
649
- RangeExample,
650
- OpenOnRender,
651
- MinDateInPast,
652
- WithoutDateSet,
653
- PassingProps,
654
- DepartReturn,
655
- CustomComponent,
656
- InvalidExample,
657
- MultipleRangeInputExample,
658
- DefaultVisualExample,
659
- VisualRangeExample,
660
- };
@@ -1,49 +0,0 @@
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 React from 'react';
20
-
21
- import {
22
- BpkDescriptionList,
23
- BpkDescriptionTerm,
24
- BpkDescriptionDetails,
25
- } from './index';
26
-
27
- const DefaultExample = () => (
28
- <BpkDescriptionList>
29
- <BpkDescriptionTerm>Airport code</BpkDescriptionTerm>
30
- <BpkDescriptionDetails>
31
- The three digit code which is unique to a specific airport. eg. LHR for
32
- Heathrow or LGW for Gatwick.
33
- </BpkDescriptionDetails>
34
- <BpkDescriptionTerm>Boarding pass</BpkDescriptionTerm>
35
- <BpkDescriptionDetails>
36
- A card given to the passenger after check-in which allocates a seat number
37
- or indicates a boarding pattern. The stub of the card should be retained
38
- after going through the boarding gate to show to the flight crew once
39
- reaching the aircraft.
40
- </BpkDescriptionDetails>
41
- <BpkDescriptionTerm>Charter</BpkDescriptionTerm>
42
- <BpkDescriptionDetails>
43
- An aircraft which is used by a specific group be it customers of a
44
- particular holiday company or an individual party.
45
- </BpkDescriptionDetails>
46
- </BpkDescriptionList>
47
- );
48
-
49
- export default DefaultExample;