@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,527 +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
- /* @flow strict */
19
-
20
- import PropTypes from 'prop-types';
21
- import React, { cloneElement, Component } from 'react';
22
- import BpkSelect from '../bpk-component-select';
23
- import BpkCheckbox from '../bpk-component-checkbox';
24
- import BpkInput, { INPUT_TYPES } from '../bpk-component-input';
25
- import BpkButton from '../bpk-component-button';
26
- import BpkDatepicker from '../bpk-component-datepicker';
27
- import BpkTextarea from '../bpk-component-textarea';
28
- import BpkAutosuggest, {
29
- BpkAutosuggestSuggestion,
30
- } from '../bpk-component-autosuggest';
31
- import {
32
- weekDays,
33
- formatMonth,
34
- formatDateFull,
35
- } from '../bpk-component-calendar/test-utils';
36
- import { format } from '../bpk-component-calendar/src/date-utils';
37
- import { cssModules } from '../bpk-react-utils';
38
-
39
- import STYLES from './examples.module.scss';
40
-
41
- import BpkFieldset, {
42
- type BpkFieldsetProps,
43
- propTypes,
44
- defaultProps,
45
- } from './index';
46
-
47
- const getClassName = cssModules(STYLES);
48
-
49
- const formatDate = (date) => format(date, 'dd/MM/yyyy');
50
-
51
- const offices = [
52
- {
53
- name: 'Barcelona',
54
- code: 'BCN',
55
- country: 'Spain',
56
- },
57
- {
58
- name: 'Beijing',
59
- code: 'Any',
60
- country: 'China',
61
- },
62
- {
63
- name: 'Budapest',
64
- code: 'BUD',
65
- country: 'Hungary',
66
- },
67
- {
68
- name: 'Edinburgh',
69
- code: 'EDI',
70
- country: 'United Kingdom',
71
- },
72
- {
73
- name: 'Glasgow',
74
- code: 'Any',
75
- country: 'United Kingdom',
76
- indent: true,
77
- },
78
- {
79
- name: 'London',
80
- code: 'Any',
81
- country: 'United Kingdom',
82
- },
83
- {
84
- name: 'Miami, FL',
85
- code: 'Any',
86
- country: 'United States',
87
- },
88
- {
89
- name: "Shenzhen Bao'an International",
90
- code: 'SZX',
91
- country: 'China',
92
- },
93
- {
94
- name: 'Singapore Changi',
95
- code: 'SIN',
96
- country: 'Singapore',
97
- },
98
- {
99
- name: 'Sofia',
100
- code: 'SOF',
101
- country: 'Bulgaria',
102
- },
103
- ];
104
-
105
- const getSuggestions = (value) => {
106
- const inputValue = value.trim().toLowerCase();
107
- const inputLength = inputValue.length;
108
-
109
- return inputLength === 0
110
- ? []
111
- : offices.filter(
112
- (office) => office.name.toLowerCase().indexOf(inputValue) !== -1,
113
- );
114
- };
115
-
116
- const getSuggestionValue = (suggestion) =>
117
- `${suggestion.name} (${suggestion.code})`;
118
-
119
- let instances = 0;
120
-
121
- type AutosuggestState = {
122
- value: string,
123
- suggestions: Array<any>,
124
- };
125
-
126
- class Autosuggest extends Component<{}, AutosuggestState> {
127
- constructor() {
128
- super();
129
-
130
- instances += instances;
131
-
132
- this.state = {
133
- value: '',
134
- suggestions: [],
135
- };
136
- }
137
-
138
- onChange = (
139
- e: SyntheticInputEvent<HTMLElement>,
140
- { newValue }: { newValue: string },
141
- ) => {
142
- this.setState({
143
- value: newValue,
144
- });
145
- };
146
-
147
- onSuggestionsFetchRequested = ({ value }: { value: string }) => {
148
- this.setState({
149
- suggestions: getSuggestions(value),
150
- });
151
- };
152
-
153
- onSuggestionsClearRequested = () => {
154
- this.setState({
155
- suggestions: [],
156
- });
157
- };
158
-
159
- render() {
160
- const { suggestions, value } = this.state;
161
-
162
- const inputProps = {
163
- id: 'carhire-search-controls-location-pick-up',
164
- name: 'my_autosuggest',
165
- value,
166
- placeholder: 'Enter a destination name',
167
- onChange: this.onChange,
168
- };
169
-
170
- return (
171
- <FieldsetContainer
172
- label="Destination"
173
- validationMessage="Please select a destination."
174
- validStates={[true, false]}
175
- description="The final price will be adjusted based on your selection"
176
- >
177
- <BpkAutosuggest
178
- suggestions={suggestions}
179
- onSuggestionsFetchRequested={this.onSuggestionsFetchRequested}
180
- onSuggestionsClearRequested={this.onSuggestionsClearRequested}
181
- getSuggestionValue={getSuggestionValue}
182
- renderSuggestion={(suggestion) => (
183
- <BpkAutosuggestSuggestion
184
- value={getSuggestionValue(suggestion)}
185
- indent={suggestion.indent}
186
- />
187
- )}
188
- inputProps={inputProps}
189
- />
190
- </FieldsetContainer>
191
- );
192
- }
193
- }
194
-
195
- type FieldsetProps = {
196
- ...$Exact<BpkFieldsetProps>,
197
- validStates: Array<mixed>,
198
- };
199
-
200
- type FieldsetState = {
201
- value: string,
202
- checked: boolean,
203
- validState: any,
204
- valueDate: ?Date,
205
- };
206
-
207
- class FieldsetContainer extends Component<FieldsetProps, FieldsetState> {
208
- static propTypes = {
209
- ...propTypes,
210
- validStates: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types
211
- };
212
-
213
- static defaultProps = {
214
- ...defaultProps,
215
- isCheckbox: false,
216
- disabled: false,
217
- };
218
-
219
- constructor() {
220
- super();
221
-
222
- this.state = {
223
- value: '',
224
- checked: false,
225
- validState: 0,
226
- valueDate: null,
227
- };
228
- }
229
-
230
- onChange = (e: SyntheticInputEvent<HTMLElement>) => {
231
- this.setState({
232
- value: e.target.value,
233
- checked: e.target.checked,
234
- });
235
- };
236
-
237
- onDateSelect = (dt: Date) => {
238
- this.setState({
239
- valueDate: dt,
240
- });
241
- };
242
-
243
- toggleStates = () => {
244
- this.setState((prevState) => {
245
- let nextValidState = prevState.validState + 1;
246
- let isChecked = prevState.checked;
247
-
248
- if (nextValidState > this.props.validStates.length - 1) {
249
- nextValidState = 0;
250
- }
251
-
252
- if (this.props.isCheckbox) {
253
- if (prevState.checked === false && nextValidState === 1) {
254
- isChecked = true;
255
- } else {
256
- isChecked = false;
257
- }
258
- }
259
-
260
- return {
261
- validState: nextValidState,
262
- checked: isChecked,
263
- };
264
- });
265
- };
266
-
267
- render() {
268
- const { children, className, isCheckbox, validStates, ...rest } =
269
- this.props;
270
- const valid = validStates[this.state.validState];
271
-
272
- const dynamicProps = isCheckbox
273
- ? { checked: this.state.checked }
274
- : { value: this.state.value, date: this.state.valueDate, valid };
275
-
276
- const dynamicFieldsetProps = isCheckbox ? { valid } : {};
277
-
278
- const clonedChildren = cloneElement(children, {
279
- onChange: this.onChange,
280
- onDateSelect: this.onDateSelect,
281
- ...dynamicProps,
282
- });
283
-
284
- const classNames = getClassName('bpk-fieldsets__fieldset', className);
285
- return (
286
- <div className={getClassName('bpk-fieldsets__container')}>
287
- {/* $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'. */}
288
- <BpkFieldset
289
- className={classNames}
290
- isCheckbox={isCheckbox}
291
- valid={valid}
292
- {...rest}
293
- {...dynamicFieldsetProps}
294
- >
295
- {clonedChildren}
296
- </BpkFieldset>
297
- {!this.props.disabled && (
298
- <div className={getClassName('bpk-fieldsets__toggle')}>
299
- <BpkButton onClick={this.toggleStates}>Toggle states</BpkButton>
300
- </div>
301
- )}
302
- </div>
303
- );
304
- }
305
- }
306
-
307
- const InputExample = () => (
308
- <FieldsetContainer
309
- label="Name"
310
- validationMessage="Please enter your full name."
311
- validStates={[null, true, false]}
312
- description="Your full name exactly as stated in your passport"
313
- >
314
- <BpkInput
315
- id="name_input"
316
- name="name"
317
- value=""
318
- placeholder="E.g Joe Bloggs"
319
- type={INPUT_TYPES.text}
320
- />
321
- </FieldsetContainer>
322
- );
323
-
324
- const SelectExample = () => (
325
- <FieldsetContainer
326
- label="Cabin class"
327
- validationMessage="Please select a cabin class."
328
- validStates={[true, false]}
329
- description="The final price will be adjusted based on your selection"
330
- >
331
- <BpkSelect id="cabin_class_select" name="cabin_class" value="">
332
- <option value="">Please select...</option>
333
- <option value="economy">Economy</option>
334
- <option value="premium_economy">Premium Economy</option>
335
- <option value="business">Business class</option>
336
- <option value="first">First</option>
337
- </BpkSelect>
338
- </FieldsetContainer>
339
- );
340
-
341
- const CheckboxExample = () => (
342
- <FieldsetContainer
343
- validationMessage="Please accept our terms & conditions to continue."
344
- validStates={[null, true, false]}
345
- isCheckbox
346
- >
347
- <BpkCheckbox
348
- id="terms_conditions_checkbox"
349
- name="terms_conditions"
350
- label="I accept the terms & conditions"
351
- />
352
- </FieldsetContainer>
353
- );
354
-
355
- const DatepickerExample = () => {
356
- const inputProps = { placeholder: 'Select the 10th' };
357
- return (
358
- <FieldsetContainer
359
- label="Date"
360
- validationMessage="Please select the 10th"
361
- validStates={[null, true, false]}
362
- >
363
- <BpkDatepicker
364
- id="date_input"
365
- name="date"
366
- closeButtonText="Close"
367
- daysOfWeek={weekDays}
368
- changeMonthLabel="Change month"
369
- previousMonthLabel="Go to previous month"
370
- nextMonthLabel="Go to next month"
371
- title="Date"
372
- weekStartsOn={1}
373
- getApplicationElement={() => document.createElement('div')}
374
- formatDate={formatDate}
375
- formatMonth={formatMonth}
376
- formatDateFull={formatDateFull}
377
- inputProps={inputProps}
378
- minDate={new Date(2010, 1, 8)}
379
- maxDate={new Date(2010, 1, 28)}
380
- />
381
- </FieldsetContainer>
382
- );
383
- };
384
-
385
- const TextareaExample = () => (
386
- <FieldsetContainer
387
- label="Additional Information"
388
- validationMessage="Please enter any other details you may need."
389
- validStates={[true, false]}
390
- description="Please ensure if you have additional requirements they are entered here"
391
- >
392
- <BpkTextarea
393
- id="textarea"
394
- name="textarea"
395
- value=""
396
- placeholder={null}
397
- onChange={() => null}
398
- />
399
- </FieldsetContainer>
400
- );
401
-
402
- const AutosuggestExample = () => <Autosuggest />;
403
-
404
- const RequiredInputExample = () => (
405
- <FieldsetContainer
406
- label="Name"
407
- validationMessage="Please enter your full name."
408
- validStates={[null, true, false]}
409
- description="Your full name exactly as stated in your passport"
410
- required
411
- >
412
- <BpkInput
413
- id="name_input"
414
- name="name"
415
- value=""
416
- placeholder="E.g Joe Bloggs"
417
- type={INPUT_TYPES.text}
418
- />
419
- </FieldsetContainer>
420
- );
421
-
422
- const RequiredSelectExample = () => (
423
- <FieldsetContainer
424
- label="Cabin class"
425
- validationMessage="Please select a cabin class."
426
- validStates={[true, false]}
427
- description="The final price will be adjusted based on your selection"
428
- required
429
- >
430
- <BpkSelect id="cabin_class_select" name="cabin_class" value="">
431
- <option value="">Please select...</option>
432
- <option value="economy">Economy</option>
433
- <option value="premium_economy">Premium Economy</option>
434
- <option value="business">Business class</option>
435
- <option value="first">First</option>
436
- </BpkSelect>
437
- </FieldsetContainer>
438
- );
439
-
440
- const RequiredCheckboxExample = () => (
441
- <FieldsetContainer
442
- validationMessage="Please accept our terms & conditions to continue."
443
- validStates={[false, true]}
444
- isCheckbox
445
- required
446
- >
447
- <BpkCheckbox
448
- id="terms_conditions_checkbox"
449
- name="terms_conditions"
450
- label="I accept the terms & conditions"
451
- />
452
- </FieldsetContainer>
453
- );
454
-
455
- const DisabledInputExample = () => (
456
- <FieldsetContainer
457
- label="Name"
458
- validationMessage="Please enter your full name."
459
- validStates={[]}
460
- disabled
461
- >
462
- <BpkInput
463
- id="name_input"
464
- name="name"
465
- value=""
466
- placeholder="E.g Joe Bloggs"
467
- type={INPUT_TYPES.text}
468
- />
469
- </FieldsetContainer>
470
- );
471
-
472
- const DisabledSelectExample = () => (
473
- <FieldsetContainer
474
- label="Cabin class"
475
- validationMessage="Please select a cabin class."
476
- validStates={[]}
477
- disabled
478
- >
479
- <BpkSelect id="cabin_class_select" name="cabin_class" value="">
480
- <option value="">Please select...</option>
481
- <option value="economy">Economy</option>
482
- <option value="premium_economy">Premium Economy</option>
483
- <option value="business">Business class</option>
484
- <option value="first">First</option>
485
- </BpkSelect>
486
- </FieldsetContainer>
487
- );
488
-
489
- const DisabledCheckboxExample = () => (
490
- <FieldsetContainer
491
- validationMessage="Please accept our terms & conditions to continue."
492
- validStates={[]}
493
- isCheckbox
494
- disabled
495
- >
496
- <BpkCheckbox
497
- id="terms_conditions_checkbox"
498
- name="terms_conditions"
499
- label="I accept the terms & conditions"
500
- />
501
- </FieldsetContainer>
502
- );
503
-
504
- const MixedExample = () => (
505
- <div>
506
- <InputExample />
507
- <SelectExample />
508
- <CheckboxExample />
509
- <TextareaExample />
510
- </div>
511
- );
512
-
513
- export {
514
- InputExample,
515
- SelectExample,
516
- CheckboxExample,
517
- DatepickerExample,
518
- TextareaExample,
519
- AutosuggestExample,
520
- RequiredInputExample,
521
- RequiredSelectExample,
522
- RequiredCheckboxExample,
523
- DisabledInputExample,
524
- DisabledSelectExample,
525
- DisabledCheckboxExample,
526
- MixedExample,
527
- };
@@ -1,18 +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
- @keyframes bpk-keyframe-spin{100%{transform:rotate(1turn)}}.bpk-fieldsets__container{display:block}.bpk-fieldsets__fieldset{margin-right:0.25rem;flex:1}html[dir='rtl'] .bpk-fieldsets__fieldset{margin-right:0;margin-left:0.25rem}.bpk-fieldsets__toggle{margin-top:1rem;text-align:right}html[dir='rtl'] .bpk-fieldsets__toggle{text-align:left}
@@ -1,46 +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 '~bpk-mixins/index';
20
-
21
- $bpk-spacing-v2: true;
22
-
23
- .bpk-fieldsets {
24
- &__container {
25
- display: block;
26
- }
27
-
28
- &__fieldset {
29
- margin-right: bpk-spacing-sm();
30
- flex: 1;
31
-
32
- @include bpk-rtl {
33
- margin-right: 0;
34
- margin-left: bpk-spacing-sm();
35
- }
36
- }
37
-
38
- &__toggle {
39
- margin-top: 1rem;
40
- text-align: right;
41
-
42
- @include bpk-rtl {
43
- text-align: left;
44
- }
45
- }
46
- }