@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
@@ -1,299 +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
- /* eslint-disable react/prop-types */
20
-
21
- import React, { Component } from 'react';
22
- import PropTypes from 'prop-types';
23
- import BpkButton from '../bpk-component-button';
24
- import addMonths from 'date-fns/addMonths';
25
- import {
26
- colorWhite,
27
- colorPanjin,
28
- colorSkyGrayTint06,
29
- colorSkyGrayTint04,
30
- colorMonteverde,
31
- } from '@skyscanner/bpk-foundations-web/tokens/base.es6';
32
- import { action } from 'bpk-storybook-utils';
33
-
34
- import { withButtonAlignment, withRtlSupport } from '../bpk-component-icon';
35
- import SmallLongArrowRightIcon from '../bpk-component-icon/sm/long-arrow-right';
36
- import SmallLongArrowLeftIcon from '../bpk-component-icon/sm/long-arrow-left';
37
-
38
- import { dateToBoundaries, startOfDay, addDays } from './src/date-utils';
39
- import { formatMonth, formatDateFull, weekDays } from './test-utils';
40
-
41
- import BpkCalendar, {
42
- BpkCalendarGrid,
43
- BpkCalendarGridHeader,
44
- withCalendarState,
45
- composeCalendar,
46
- CustomPropTypes,
47
- CALENDAR_SELECTION_TYPE,
48
- } from './index';
49
-
50
- const LeftIcon = withButtonAlignment(withRtlSupport(SmallLongArrowLeftIcon));
51
- const RightIcon = withButtonAlignment(withRtlSupport(SmallLongArrowRightIcon));
52
- const withDirection = (Nav, direction) => (props) =>
53
- <Nav {...props} direction={direction} />;
54
- const withPrices = (DateComponent, prices) => (props) =>
55
- <DateComponent {...props} prices={prices} />;
56
-
57
- const prices = [
58
- 125, 56, 75, 57, 78, 92, 133, 90, 148, 80, 122, 67, 70, 123, 77, 66, 64, 56,
59
- 105, 138, 52, 70, 106, 139, 88, 97, 73, 114, 119, 141, 118,
60
- ];
61
-
62
- const MyCalendarNav = ({ direction, month, onMonthChange }) => (
63
- <div
64
- style={{
65
- display: 'flex',
66
- justifyContent: 'space-between',
67
- alignItems: 'center',
68
- }}
69
- >
70
- <strong>{direction}</strong>
71
- <div>
72
- <BpkButton
73
- iconOnly
74
- onClick={(event) =>
75
- onMonthChange(event, { month: addMonths(month, -1), source: 'PREV' })
76
- }
77
- >
78
- <LeftIcon fill={colorWhite} />
79
- </BpkButton>
80
- &nbsp;
81
- <BpkButton
82
- iconOnly
83
- onClick={(event) =>
84
- onMonthChange(event, { month: addMonths(month, 1), source: 'NEXT' })
85
- }
86
- >
87
- <RightIcon fill={colorWhite} />
88
- </BpkButton>
89
- </div>
90
- </div>
91
- );
92
-
93
- const MyCalendarDate = (props) => {
94
- const cx = {
95
- textAlign: 'center',
96
- fontSize: '0.8em',
97
- color: props.isOutside || props.isBlocked ? colorSkyGrayTint06 : 'inherit',
98
- backgroundColor: props.isSelected ? colorSkyGrayTint04 : 'inherit',
99
- };
100
- const priceCx = {
101
- color: colorPanjin,
102
- };
103
- const day = props.date.getDate();
104
- const price = props.prices[day - 1];
105
- if (price < 100) {
106
- priceCx.color = colorMonteverde;
107
- }
108
- return (
109
- <div style={cx}>
110
- <div>{day}</div>
111
- {props.isOutside || props.isBlocked ? null : (
112
- <div style={priceCx}>£{price}</div>
113
- )}
114
- </div>
115
- );
116
- };
117
-
118
- const MyDepartCalendar = withCalendarState(
119
- composeCalendar(
120
- withDirection(MyCalendarNav, 'Depart'),
121
- BpkCalendarGridHeader,
122
- BpkCalendarGrid,
123
- withPrices(MyCalendarDate, prices),
124
- ),
125
- );
126
-
127
- const MyReturnCalendar = withCalendarState(
128
- composeCalendar(
129
- withDirection(MyCalendarNav, 'Return'),
130
- BpkCalendarGridHeader,
131
- BpkCalendarGrid,
132
- withPrices(MyCalendarDate, prices),
133
- ),
134
- );
135
-
136
- class MonthViewCalendar extends Component {
137
- constructor(props) {
138
- super(props);
139
- this.state = {
140
- departDate: props.departureDate,
141
- returnDate: props.returnDate,
142
- };
143
- }
144
-
145
- render() {
146
- const { maxDate, minDate, ...rest } = this.props;
147
- return (
148
- <div style={{ display: 'flex', justifyContent: 'space-around' }}>
149
- <MyDepartCalendar
150
- id="myCalendar"
151
- formatMonth={formatMonth}
152
- formatDateFull={formatDateFull}
153
- daysOfWeek={weekDays}
154
- changeMonthLabel="Change month"
155
- previousMonthLabel="Go to previous month"
156
- nextMonthLabel="Go to next month"
157
- date={this.state.departDate}
158
- fixedWidth={false}
159
- onDateSelect={(departDate) => {
160
- this.setState((prevState) => ({
161
- departDate,
162
- returnDate: dateToBoundaries(
163
- prevState.returnDate,
164
- departDate,
165
- maxDate,
166
- ),
167
- }));
168
- }}
169
- {...rest}
170
- />
171
- <div
172
- style={{
173
- flexShrink: 1,
174
- margin: '0 2rem',
175
- borderRight: `1px solid ${colorSkyGrayTint06}`,
176
- }}
177
- />
178
- <MyReturnCalendar
179
- id="myCalendar"
180
- formatMonth={formatMonth}
181
- formatDateFull={formatDateFull}
182
- daysOfWeek={weekDays}
183
- changeMonthLabel="Change month"
184
- previousMonthLabel="Go to previous month"
185
- nextMonthLabel="Go to next month"
186
- date={this.state.returnDate}
187
- fixedWidth={false}
188
- onDateSelect={(returnDate) => {
189
- this.setState((prevState) => ({
190
- returnDate,
191
- departDate: dateToBoundaries(
192
- prevState.departDate,
193
- minDate,
194
- returnDate,
195
- ),
196
- }));
197
- }}
198
- {...rest}
199
- />
200
- </div>
201
- );
202
- }
203
- }
204
-
205
- MonthViewCalendar.propTypes = {
206
- minDate: PropTypes.instanceOf(Date),
207
- maxDate: PropTypes.instanceOf(Date),
208
- departureDate: PropTypes.instanceOf(Date),
209
- returnDate: PropTypes.instanceOf(Date),
210
- weekStartsOn: PropTypes.number.isRequired,
211
- };
212
-
213
- MonthViewCalendar.defaultProps = {
214
- minDate: startOfDay(new Date()),
215
- maxDate: startOfDay(addMonths(new Date(), 12)),
216
- departureDate: startOfDay(addDays(new Date(), 1)),
217
- returnDate: startOfDay(addDays(new Date(), 4)),
218
- };
219
-
220
- class CalendarContainer extends Component {
221
- constructor(props) {
222
- super(props);
223
-
224
- if (this.props.selectionConfiguration.type === 'range') {
225
- this.state = {
226
- selectionConfiguration: {
227
- type: this.props.selectionConfiguration.type,
228
- startDate: this.props.selectionConfiguration.startDate,
229
- endDate: this.props.selectionConfiguration.endDate,
230
- },
231
- };
232
- } else {
233
- this.state = {
234
- selectionConfiguration: {
235
- type: this.props.selectionConfiguration.type,
236
- date: this.props.selectionConfiguration.date,
237
- },
238
- };
239
- }
240
- }
241
-
242
- render() {
243
- return (
244
- <BpkCalendar
245
- {...this.props}
246
- onDateSelect={(startDate, endDate = null) => {
247
- if (this.props.selectionConfiguration.type === 'range') {
248
- if (startDate && !endDate) {
249
- this.setState({
250
- selectionConfiguration: {
251
- type: this.props.selectionConfiguration.type,
252
- startDate,
253
- endDate: null,
254
- },
255
- });
256
- action('Selected day')(startDate);
257
- }
258
- if (startDate && endDate) {
259
- this.setState({
260
- selectionConfiguration: {
261
- type: this.props.selectionConfiguration.type,
262
- startDate,
263
- endDate,
264
- },
265
- });
266
- action('Selected end day')(endDate);
267
- }
268
- } else {
269
- this.setState({
270
- selectionConfiguration: {
271
- type: this.props.selectionConfiguration.type,
272
- date: startDate,
273
- },
274
- });
275
- action('Selected day')(startDate);
276
- }
277
- }}
278
- selectionConfiguration={this.state.selectionConfiguration}
279
- onMonthChange={action('Changed month')}
280
- />
281
- );
282
- }
283
- }
284
-
285
- CalendarContainer.propTypes = {
286
- selectTodaysDate: PropTypes.bool,
287
- selectionConfiguration: CustomPropTypes.SelectionConfiguration,
288
- };
289
-
290
- CalendarContainer.defaultProps = {
291
- selectTodaysDate: true,
292
- selectionConfiguration: {
293
- type: CALENDAR_SELECTION_TYPE.single,
294
- date: null,
295
- },
296
- };
297
-
298
- export default CalendarContainer;
299
- export { MonthViewCalendar };
@@ -1,369 +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
- import React from 'react';
19
- import { action } from 'bpk-storybook-utils';
20
- import addMonths from 'date-fns/addMonths';
21
- import BpkText from '../bpk-component-text';
22
- import startOfDay from 'date-fns/startOfDay';
23
- import parseDate from 'date-fns/parse';
24
-
25
- import {
26
- formatMonth,
27
- formatDateFull,
28
- formatMonthArabic,
29
- formatDateFullArabic,
30
- formatMonthJapanese,
31
- formatDateFullJapanese,
32
- weekDaysMoreWeekend,
33
- weekDaysArabic,
34
- weekDaysJapanese,
35
- weekDays,
36
- } from './test-utils';
37
- import CalendarContainer, { MonthViewCalendar } from './examples-components';
38
- import ColoredCalendar from './coloured-calendar-example';
39
- import Week from './src/Week';
40
- import { CALENDAR_SELECTION_TYPE } from './src/custom-proptypes';
41
-
42
- import {
43
- BpkCalendarGrid,
44
- BpkCalendarGridHeader,
45
- BpkCalendarNav,
46
- BpkCalendarDate,
47
- } from './index';
48
-
49
- const CalendarNavExample = () => (
50
- <BpkCalendarNav
51
- month={new Date()}
52
- changeMonthLabel="Change month"
53
- previousMonthLabel="Go to previous month"
54
- nextMonthLabel="Go to next month"
55
- onMonthChange={action('Changed month')}
56
- minDate={new Date()}
57
- maxDate={addMonths(new Date(), 12)}
58
- formatMonth={formatMonth}
59
- id="myCalendarNav"
60
- />
61
- );
62
-
63
- const CalendarGridHeaderExample = () => (
64
- <BpkCalendarGridHeader weekStartsOn={1} daysOfWeek={weekDays} />
65
- );
66
-
67
- const CalendarGridExample = () => (
68
- <BpkCalendarGrid
69
- month={new Date()}
70
- weekStartsOn={1}
71
- daysOfWeek={weekDays}
72
- onDateClick={action('Clicked day')}
73
- formatMonth={formatMonth}
74
- formatDateFull={formatDateFull}
75
- DateComponent={BpkCalendarDate}
76
- preventKeyboardFocus
77
- />
78
- );
79
-
80
- const CalendarGridAndHeaderExample = () => (
81
- <div>
82
- <CalendarGridHeaderExample />
83
- <CalendarGridExample />
84
- </div>
85
- );
86
-
87
- const DefaultExample = () => (
88
- <CalendarContainer
89
- id="myCalendar"
90
- formatMonth={formatMonth}
91
- formatDateFull={formatDateFull}
92
- daysOfWeek={weekDays}
93
- weekStartsOn={1}
94
- changeMonthLabel="Change month"
95
- previousMonthLabel="Go to previous month"
96
- nextMonthLabel="Go to next month"
97
- selectionConfiguration={{
98
- type: CALENDAR_SELECTION_TYPE.single,
99
- date: new Date(),
100
- }}
101
- />
102
- );
103
-
104
- const MinDateInThePastExample = () => (
105
- <CalendarContainer
106
- id="myCalendar"
107
- formatMonth={formatMonth}
108
- formatDateFull={formatDateFull}
109
- daysOfWeek={weekDays}
110
- weekStartsOn={1}
111
- changeMonthLabel="Change month"
112
- previousMonthLabel="Go to previous month"
113
- nextMonthLabel="Go to next month"
114
- minDate={new Date(2011, 1, 1)}
115
- selectTodaysDate={false}
116
- initiallyFocusedDate={new Date()}
117
- />
118
- );
119
-
120
- const WeekStartsOnSundayExample = () => (
121
- <CalendarContainer
122
- id="myCalendar"
123
- formatMonth={formatMonth}
124
- formatDateFull={formatDateFull}
125
- daysOfWeek={weekDays}
126
- weekStartsOn={0}
127
- changeMonthLabel="Change month"
128
- previousMonthLabel="Go to previous month"
129
- nextMonthLabel="Go to next month"
130
- />
131
- );
132
-
133
- const HonestWeekendExample = () => (
134
- <CalendarContainer
135
- id="myCalendar"
136
- formatMonth={formatMonth}
137
- formatDateFull={formatDateFull}
138
- daysOfWeek={weekDaysMoreWeekend}
139
- weekStartsOn={1}
140
- changeMonthLabel="Change month"
141
- previousMonthLabel="Go to previous month"
142
- nextMonthLabel="Go to next month"
143
- />
144
- );
145
-
146
- const WeekdayKeyIsNameNarrow = () => (
147
- <CalendarContainer
148
- id="myCalendar"
149
- formatMonth={formatMonth}
150
- formatDateFull={formatDateFull}
151
- daysOfWeek={weekDays}
152
- weekStartsOn={0}
153
- changeMonthLabel="Change month"
154
- previousMonthLabel="Go to previous month"
155
- nextMonthLabel="Go to next month"
156
- weekDayKey="nameNarrow"
157
- />
158
- );
159
-
160
- const ArabicExample = () => (
161
- <CalendarContainer
162
- id="myCalendar"
163
- formatMonth={formatMonthArabic}
164
- formatDateFull={formatDateFullArabic}
165
- daysOfWeek={weekDaysArabic}
166
- weekStartsOn={6}
167
- changeMonthLabel="Change month"
168
- />
169
- );
170
-
171
- const JapaneseExample = () => (
172
- <CalendarContainer
173
- id="myCalendar"
174
- formatMonth={formatMonthJapanese}
175
- formatDateFull={formatDateFullJapanese}
176
- daysOfWeek={weekDaysJapanese}
177
- weekStartsOn={0}
178
- changeMonthLabel="Change month"
179
- previousMonthLabel="Go to previous month"
180
- nextMonthLabel="Go to next month"
181
- />
182
- );
183
-
184
- const MinAndMaxDate = () => (
185
- <CalendarContainer
186
- id="myCalendar"
187
- formatMonth={formatMonth}
188
- formatDateFull={formatDateFull}
189
- daysOfWeek={weekDays}
190
- weekStartsOn={1}
191
- changeMonthLabel="Change month"
192
- previousMonthLabel="Go to previous month"
193
- nextMonthLabel="Go to next month"
194
- minDate={new Date(2020, 4, 15)}
195
- maxDate={new Date(2020, 5, 15)}
196
- />
197
- );
198
-
199
- const MarkTodayFalseExample = () => (
200
- <CalendarContainer
201
- id="myCalendar"
202
- formatMonth={formatMonth}
203
- formatDateFull={formatDateFull}
204
- daysOfWeek={weekDays}
205
- weekStartsOn={1}
206
- changeMonthLabel="Change month"
207
- previousMonthLabel="Go to previous month"
208
- nextMonthLabel="Go to next month"
209
- markToday={false}
210
- />
211
- );
212
-
213
- const MarkOutsideDaysFalseExample = () => (
214
- <CalendarContainer
215
- id="myCalendar"
216
- formatMonth={formatMonth}
217
- formatDateFull={formatDateFull}
218
- daysOfWeek={weekDays}
219
- weekStartsOn={1}
220
- changeMonthLabel="Change month"
221
- previousMonthLabel="Go to previous month"
222
- nextMonthLabel="Go to next month"
223
- markOutsideDays={false}
224
- />
225
- );
226
-
227
- const CustomComposedCalendarSafariBug = () => (
228
- <div>
229
- <p>
230
- <BpkText>Set your timezone to BRT (Brasilia)</BpkText>
231
- </p>
232
- <p>
233
- <BpkText>Departure date should be Nov 3 and return Nov 4</BpkText>
234
- </p>
235
- <MonthViewCalendar
236
- minDate={new Date(2018, 10, 1)}
237
- maxDate={new Date(2018, 10, 20)}
238
- departureDate={new Date(2018, 10, 3)}
239
- returnDate={new Date(2018, 10, 4, 1, 0, 0, 0)}
240
- weekStartsOn={0}
241
- />
242
- </div>
243
- );
244
-
245
- const CustomComposedCalendar = () => <MonthViewCalendar weekStartsOn={1} />;
246
-
247
- const CustomColors = () => (
248
- <ColoredCalendar
249
- id="myCalendar"
250
- formatMonth={formatMonth}
251
- formatDateFull={formatDateFull}
252
- daysOfWeek={weekDays}
253
- month={new Date()}
254
- weekStartsOn={1}
255
- onDateSelect={(date) => {
256
- // TODO we shouldn't do this but as it's only for demo purposes and works I guess it's fine
257
- // eslint-disable-next-line react/no-this-in-sfc
258
- this.setState({ date });
259
- action('Selected day')(date);
260
- }}
261
- />
262
- );
263
-
264
- const WeekExample = () => {
265
- // eslint-disable-next-line react/prop-types
266
- const DummyDateComponent = ({ date }) => <div>{date.toString()}</div>;
267
-
268
- const weekProps = {
269
- ...Week.defaultProps,
270
- DateComponent: DummyDateComponent,
271
- dateModifiers: {},
272
- dates: [
273
- new Date(1980, 5, 10),
274
- new Date(1980, 5, 11),
275
- new Date(1980, 5, 12),
276
- new Date(1980, 5, 13),
277
- new Date(1980, 5, 14),
278
- new Date(1980, 5, 15),
279
- new Date(1980, 5, 16),
280
- ].map(startOfDay),
281
- daysOfWeek: weekDays,
282
- formatDateFull: (d) => d.toString(),
283
- preventKeyboardFocus: false,
284
- markToday: true,
285
- markOutsideDays: true,
286
- isKeyboardFocusable: true,
287
- month: new Date(1980, 5, 1),
288
- weekStartsOn: 0,
289
- };
290
-
291
- return (
292
- <div>
293
- <p>
294
- This is an internal-only component, it&apos;s not exported to consumers.
295
- </p>
296
- <table>
297
- <tbody>
298
- <Week
299
- {...weekProps}
300
- selectionStart={parseDate(`19800611`, 'yyyyMMdd', new Date())}
301
- selectionEnd={parseDate(`19800616`, 'yyyyMMdd', new Date())}
302
- />
303
- <Week
304
- {...weekProps}
305
- selectionStart={parseDate(`19800601`, 'yyyyMMdd', new Date())}
306
- selectionEnd={parseDate(`19800607`, 'yyyyMMdd', new Date())}
307
- />
308
- </tbody>
309
- </table>
310
- </div>
311
- );
312
- };
313
-
314
- const FocusedDateInThePastExample = () => (
315
- <CalendarContainer
316
- minDate={new Date(2020, 3, 1)}
317
- selectTodaysDate={false}
318
- initiallyFocusedDate={new Date(2020, 3, 19)}
319
- id="myCalendar"
320
- formatMonth={formatMonth}
321
- formatDateFull={formatDateFull}
322
- daysOfWeek={weekDays}
323
- weekStartsOn={1}
324
- changeMonthLabel="Change month"
325
- previousMonthLabel="Go to previous month"
326
- nextMonthLabel="Go to next month"
327
- />
328
- );
329
-
330
- const RangeDateCalendar = () => (
331
- <CalendarContainer
332
- id="myCalendar"
333
- formatMonth={formatMonth}
334
- formatDateFull={formatDateFull}
335
- daysOfWeek={weekDays}
336
- weekStartsOn={1}
337
- changeMonthLabel="Change month"
338
- previousMonthLabel="Go to previous month"
339
- nextMonthLabel="Go to next month"
340
- selectionConfiguration={{
341
- type: 'range',
342
- startDate: new Date(2022, 9, 6),
343
- endDate: new Date(2022, 9, 15),
344
- }}
345
- />
346
- );
347
-
348
- export {
349
- DefaultExample,
350
- CalendarNavExample,
351
- CalendarGridHeaderExample,
352
- CalendarGridExample,
353
- CalendarGridAndHeaderExample,
354
- MinDateInThePastExample,
355
- WeekStartsOnSundayExample,
356
- HonestWeekendExample,
357
- WeekdayKeyIsNameNarrow,
358
- ArabicExample,
359
- JapaneseExample,
360
- MinAndMaxDate,
361
- MarkTodayFalseExample,
362
- MarkOutsideDaysFalseExample,
363
- CustomComposedCalendar,
364
- CustomComposedCalendarSafariBug,
365
- CustomColors,
366
- WeekExample,
367
- FocusedDateInThePastExample,
368
- RangeDateCalendar,
369
- };