@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.
- package/bpk-animate-height/package.json +3 -3
- package/bpk-component-accordion/README.md +0 -5
- package/bpk-component-accordion/index.js +1 -2
- package/bpk-component-accordion/package.json +8 -8
- package/bpk-component-accordion/src/BpkAccordion.js +1 -0
- package/bpk-component-accordion/src/BpkAccordionItem.js +3 -15
- package/bpk-component-accordion/src/withAccordionItemState.js +1 -0
- package/bpk-component-accordion/src/withSingleItemAccordionState.js +1 -0
- package/bpk-component-aria-live/package.json +8 -8
- package/bpk-component-aria-live/src/BpkAriaLive.js +1 -0
- package/bpk-component-autosuggest/package.json +5 -5
- package/bpk-component-autosuggest/src/BpkAutosuggest.js +2 -1
- package/bpk-component-autosuggest/src/BpkAutosuggestSuggestion.js +1 -0
- package/bpk-component-badge/package.json +6 -6
- package/bpk-component-badge/src/BpkBadge.js +1 -0
- package/bpk-component-banner-alert/package.json +10 -10
- package/bpk-component-banner-alert/src/AnimateAndFade.js +3 -2
- package/bpk-component-banner-alert/src/BpkBannerAlertInner.js +2 -1
- package/bpk-component-banner-alert/src/withBannerAlertState.js +1 -0
- package/bpk-component-barchart/package.json +9 -9
- package/bpk-component-barchart/src/BpkBarchart.js +1 -0
- package/bpk-component-barchart/src/BpkBarchartBar.js +2 -1
- package/bpk-component-barchart/src/BpkChartAxis.js +2 -1
- package/bpk-component-barchart/src/BpkChartDataTable.js +1 -0
- package/bpk-component-barchart/src/BpkChartGridLines.js +1 -0
- package/bpk-component-blockquote/package.json +3 -3
- package/bpk-component-blockquote/src/BpkBlockquote.js +1 -0
- package/bpk-component-breadcrumb/package.json +6 -6
- package/bpk-component-breadcrumb/src/BpkBreadcrumb.js +1 -0
- package/bpk-component-breadcrumb/src/BpkBreadcrumbItem.js +1 -0
- package/bpk-component-breakpoint/package.json +4 -4
- package/{bpk-component-dialog/examples.module.scss → bpk-component-button/BpkButtonLinkOnDark.js} +2 -6
- package/{bpk-component-rating/examples.module.css → bpk-component-button/BpkButtonPrimaryOnDark.js} +9 -6
- package/bpk-component-button/BpkButtonPrimaryOnLight.js +21 -0
- package/bpk-component-button/BpkButtonSecondaryOnDark.js +21 -0
- package/bpk-component-button/README.md +53 -21
- package/bpk-component-button/index.js +11 -0
- package/bpk-component-button/package.json +3 -3
- package/bpk-component-button/src/BpkButton.js +43 -7
- package/bpk-component-button/src/BpkButtonLink.js +6 -8
- package/bpk-component-button/src/BpkButtonLink.module.scss +0 -4
- package/bpk-component-button/src/BpkButtonLinkOnDark.js +59 -0
- package/bpk-component-button/{BpkButtonStory.module.scss → src/BpkButtonLinkOnDark.module.scss} +2 -2
- package/bpk-component-button/src/BpkButtonPrimaryOnDark.js +48 -0
- package/{bpk-component-nudger/BpkNudgerStory.module.scss → bpk-component-button/src/BpkButtonPrimaryOnDark.module.scss} +2 -6
- package/bpk-component-button/src/BpkButtonPrimaryOnLight.js +48 -0
- package/{bpk-component-banner-alert/examples.module.scss → bpk-component-button/src/BpkButtonPrimaryOnLight.module.scss} +2 -6
- package/bpk-component-button/src/BpkButtonSecondaryOnDark.js +48 -0
- package/bpk-component-button/src/BpkButtonSecondaryOnDark.module.scss +23 -0
- package/bpk-component-button/src/themeAttributes.js +27 -0
- package/bpk-component-button/themeAttributes.js +3 -0
- package/bpk-component-calendar/package.json +10 -10
- package/bpk-component-calendar/src/BpkCalendarContainer.js +1 -0
- package/bpk-component-calendar/src/BpkCalendarDate.js +1 -0
- package/bpk-component-calendar/src/BpkCalendarGrid.js +5 -4
- package/bpk-component-calendar/src/BpkCalendarGrid.module.css +1 -1
- package/bpk-component-calendar/src/BpkCalendarGrid.module.scss +1 -7
- package/bpk-component-calendar/src/BpkCalendarGridHeader.js +1 -0
- package/bpk-component-calendar/src/BpkCalendarGridTransition.js +1 -0
- package/bpk-component-calendar/src/BpkCalendarNav.js +1 -0
- package/bpk-component-calendar/src/Week.js +5 -4
- package/bpk-component-calendar/src/composeCalendar.js +1 -0
- package/bpk-component-calendar/src/custom-proptypes.js +6 -8
- package/bpk-component-card/package.json +5 -5
- package/bpk-component-card/src/BpkCard.js +1 -0
- package/bpk-component-checkbox/package.json +6 -6
- package/bpk-component-checkbox/src/BpkCheckbox.js +1 -0
- package/bpk-component-chip/package.json +6 -6
- package/bpk-component-chip/src/BpkDismissibleChip.js +1 -0
- package/bpk-component-chip/src/BpkSelectableChip.js +1 -0
- package/bpk-component-close-button/package.json +5 -5
- package/bpk-component-close-button/src/BpkCloseButton.js +1 -0
- package/bpk-component-code/package.json +3 -3
- package/bpk-component-code/src/BpkCode.js +1 -0
- package/bpk-component-code/src/BpkCodeBlock.js +1 -0
- package/bpk-component-content-container/package.json +3 -3
- package/bpk-component-content-container/src/BpkContentContainer.js +1 -0
- package/bpk-component-datatable/package.json +5 -5
- package/bpk-component-datatable/src/BpkDataTable.js +2 -1
- package/bpk-component-datatable/src/BpkDataTableColumn.js +1 -0
- package/bpk-component-datatable/src/bpkHeaderRenderer.js +1 -0
- package/bpk-component-datepicker/package.json +10 -10
- package/bpk-component-datepicker/src/BpkDatepicker.js +3 -2
- package/bpk-component-description-list/package.json +3 -3
- package/bpk-component-description-list/src/ComponentFactory.js +1 -0
- package/bpk-component-dialog/package.json +9 -9
- package/bpk-component-dialog/src/BpkDialog.js +1 -0
- package/bpk-component-dialog/src/BpkDialogInner.js +1 -0
- package/bpk-component-drawer/package.json +10 -10
- package/bpk-component-drawer/src/BpkDrawer.js +1 -0
- package/bpk-component-drawer/src/BpkDrawerContent.js +1 -0
- package/bpk-component-fieldset/package.json +13 -13
- package/bpk-component-fieldset/src/BpkFieldset.js +1 -0
- package/bpk-component-flare/package.json +5 -5
- package/bpk-component-flare/src/BpkContentBubble.js +1 -0
- package/bpk-component-flare/src/BpkFlareBar.js +1 -0
- package/bpk-component-form-validation/package.json +11 -11
- package/bpk-component-form-validation/src/BpkFormValidation.js +5 -4
- package/bpk-component-graphic-promotion/README.md +68 -0
- package/{bpk-component-grid-toggle/examples.js → bpk-component-graphic-promotion/index.js} +9 -7
- package/bpk-component-graphic-promotion/package.json +26 -0
- package/bpk-component-graphic-promotion/src/BpkGraphicPromo.js +196 -0
- package/bpk-component-graphic-promotion/src/BpkGraphicPromo.module.scss +250 -0
- package/bpk-component-graphic-promotion/src/custom-breakpoints.module.scss +70 -0
- package/bpk-component-grid/package.json +3 -3
- package/bpk-component-grid/src/BpkGridColumn.js +1 -0
- package/bpk-component-grid/src/BpkGridContainer.js +1 -0
- package/bpk-component-grid/src/BpkGridRow.js +1 -0
- package/bpk-component-grid-toggle/package.json +4 -4
- package/bpk-component-grid-toggle/src/BpkGridToggle.js +1 -0
- package/bpk-component-horizontal-nav/package.json +7 -7
- package/bpk-component-horizontal-nav/src/BpkHorizontalNav.js +2 -1
- package/bpk-component-horizontal-nav/src/BpkHorizontalNavItem.js +1 -0
- package/bpk-component-icon/package.json +8 -8
- package/bpk-component-icon/src/classNameModifierHOCFactory.js +1 -0
- package/bpk-component-icon/src/withAlignment.js +1 -0
- package/bpk-component-icon/src/withDescription.js +1 -0
- package/bpk-component-image/package.json +7 -7
- package/bpk-component-image/src/BpkBackgroundImage.js +3 -2
- package/bpk-component-image/src/BpkImage.js +3 -2
- package/bpk-component-image/src/withLazyLoading.js +2 -1
- package/bpk-component-image/src/withLoadingBehavior.js +1 -0
- package/bpk-component-infinite-scroll/package.json +7 -7
- package/bpk-component-infinite-scroll/src/withInfiniteScroll.js +2 -1
- package/bpk-component-input/package.json +7 -7
- package/bpk-component-input/src/BpkClearButton.js +1 -0
- package/bpk-component-input/src/BpkInput.js +1 -0
- package/bpk-component-input/src/withOpenEvents.js +1 -0
- package/bpk-component-label/package.json +3 -3
- package/bpk-component-label/src/BpkLabel.js +1 -0
- package/bpk-component-link/package.json +5 -5
- package/bpk-component-link/src/BpkButtonLink.js +1 -0
- package/bpk-component-link/src/BpkLink.js +1 -0
- package/bpk-component-list/package.json +3 -3
- package/bpk-component-list/src/BpkList.js +1 -0
- package/bpk-component-list/src/BpkListItem.js +1 -0
- package/bpk-component-loading-button/package.json +7 -7
- package/bpk-component-loading-button/src/BpkLoadingButton.js +46 -14
- package/bpk-component-loading-button/src/BpkLoadingButton.module.scss +65 -0
- package/bpk-component-map/README.md +13 -13
- package/bpk-component-map/package.json +10 -10
- package/bpk-component-map/src/BpkIconMarker.js +1 -0
- package/bpk-component-map/src/BpkIconMarkerBackground.js +1 -0
- package/bpk-component-map/src/BpkMap.js +65 -31
- package/{bpk-component-rating/examples.module.scss → bpk-component-map/src/BpkMap.module.scss} +2 -4
- package/bpk-component-map/src/BpkOverlayView.js +1 -1
- package/bpk-component-map/src/BpkPriceMarker.js +1 -0
- package/bpk-component-map/src/DefaultLoadingElement.js +1 -0
- package/bpk-component-map/src/withGoogleMapsScript.js +41 -5
- package/bpk-component-mobile-scroll-container/package.json +4 -4
- package/bpk-component-mobile-scroll-container/src/BpkMobileScrollContainer.js +1 -0
- package/bpk-component-modal/package.json +10 -10
- package/bpk-component-modal/src/BpkModal.js +1 -0
- package/bpk-component-modal/src/BpkModalInner.js +2 -1
- package/bpk-component-navigation-bar/package.json +9 -9
- package/bpk-component-navigation-bar/src/BpkNavigationBar.js +2 -1
- package/bpk-component-navigation-bar/src/BpkNavigationBar.module.scss +2 -0
- package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.js +1 -0
- package/bpk-component-navigation-bar/src/BpkNavigationBarIconButton.js +1 -0
- package/bpk-component-navigation-stack/package.json +8 -8
- package/bpk-component-navigation-stack/src/BpkNavigationStack.js +2 -1
- package/bpk-component-nudger/README.md +2 -2
- package/bpk-component-nudger/package.json +8 -8
- package/bpk-component-nudger/src/BpkConfigurableNudger.js +22 -26
- package/bpk-component-nudger/src/BpkNudger.js +1 -0
- package/bpk-component-nudger/src/BpkNudger.module.scss +1 -1
- package/bpk-component-nudger/src/common-types.js +1 -1
- package/bpk-component-overlay/package.json +5 -5
- package/bpk-component-overlay/src/BpkOverlay.js +1 -0
- package/bpk-component-pagination/package.json +5 -5
- package/bpk-component-pagination/src/BpkPagination.js +1 -0
- package/bpk-component-pagination/src/BpkPaginationList.js +1 -0
- package/bpk-component-pagination/src/BpkPaginationNudger.js +1 -0
- package/bpk-component-pagination/src/BpkPaginationPage.js +2 -1
- package/bpk-component-pagination/src/BpkPaginationPage.module.scss +2 -0
- package/bpk-component-panel/package.json +3 -3
- package/bpk-component-panel/src/BpkPanel.js +1 -0
- package/bpk-component-phone-input/package.json +10 -10
- package/bpk-component-phone-input/src/BpkPhoneInput.js +1 -0
- package/bpk-component-popover/package.json +9 -9
- package/bpk-component-popover/src/BpkPopover.js +1 -0
- package/bpk-component-popover/src/BpkPopoverPortal.js +1 -0
- package/bpk-component-progress/package.json +6 -6
- package/bpk-component-progress/src/BpkProgress.js +1 -0
- package/bpk-component-radio/package.json +5 -5
- package/bpk-component-radio/src/BpkRadio.js +1 -0
- package/bpk-component-rating/package.json +5 -5
- package/bpk-component-rating/src/BpkRating.js +1 -0
- package/bpk-component-rtl-toggle/package.json +3 -3
- package/bpk-component-rtl-toggle/src/BpkRtlToggle.js +1 -0
- package/bpk-component-rtl-toggle/src/updateOnDirectionChange.js +1 -0
- package/bpk-component-scrollable-calendar/package.json +7 -7
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarDate.js +1 -0
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGrid.js +1 -0
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList.js +6 -2
- package/bpk-component-section-list/package.json +7 -7
- package/bpk-component-section-list/src/BpkSectionListItem.js +1 -0
- package/bpk-component-section-list/src/BpkSectionListSection.js +1 -0
- package/bpk-component-select/package.json +4 -4
- package/bpk-component-select/src/BpkSelect.js +1 -0
- package/bpk-component-skip-link/package.json +3 -3
- package/bpk-component-skip-link/src/BpkSkipLink.js +1 -0
- package/bpk-component-slider/package.json +5 -5
- package/bpk-component-slider/src/BpkSlider.js +1 -0
- package/bpk-component-spinner/package.json +4 -4
- package/bpk-component-spinner/src/BpkExtraLargeSpinner.js +2 -1
- package/bpk-component-spinner/src/BpkLargeSpinner.js +2 -1
- package/bpk-component-spinner/src/BpkSpinner.js +2 -1
- package/bpk-component-star-rating/package.json +6 -6
- package/bpk-component-star-rating/src/BpkInteractiveStar.js +1 -0
- package/bpk-component-star-rating/src/BpkInteractiveStarRating.js +1 -0
- package/bpk-component-star-rating/src/BpkStar.js +1 -0
- package/bpk-component-star-rating/src/BpkStarRating.js +1 -0
- package/bpk-component-star-rating/src/withInteractiveStarRatingState.js +1 -0
- package/bpk-component-switch/package.json +3 -3
- package/bpk-component-switch/src/BpkSwitch.js +1 -0
- package/bpk-component-table/package.json +3 -3
- package/bpk-component-table/src/BpkTable.js +1 -0
- package/bpk-component-table/src/BpkTableCell.js +1 -0
- package/bpk-component-table/src/BpkTableHeadCell.js +1 -0
- package/bpk-component-text/README.md +1 -1
- package/bpk-component-text/package.json +3 -3
- package/bpk-component-text/src/BpkText.js +2 -0
- package/bpk-component-text/src/BpkText.module.scss +4 -0
- package/bpk-component-textarea/package.json +5 -5
- package/bpk-component-textarea/src/BpkTextarea.js +1 -0
- package/bpk-component-theme-toggle/package.json +6 -6
- package/bpk-component-theme-toggle/src/BpkThemeToggle.js +1 -0
- package/bpk-component-theme-toggle/src/updateOnThemeChange.js +1 -0
- package/bpk-component-ticket/package.json +5 -5
- package/bpk-component-ticket/src/BpkTicket.js +1 -0
- package/bpk-component-tooltip/package.json +5 -5
- package/bpk-component-tooltip/src/BpkTooltip.js +1 -0
- package/bpk-component-tooltip/src/BpkTooltipPortal.js +1 -0
- package/bpk-react-utils/index.js +1 -2
- package/bpk-react-utils/package.json +2 -3
- package/bpk-react-utils/src/withDefaultProps.js +2 -1
- package/{bpk-component-chip/examples.module.scss → bpk-react-utils/src/wrapDisplayName.js} +11 -13
- package/bpk-scrim-utils/package.json +3 -3
- package/bpk-scrim-utils/src/BpkScrim.js +1 -0
- package/bpk-scrim-utils/src/withScrim.js +1 -0
- package/bpk-theming/package.json +2 -2
- package/package.json +8 -8
- package/bpk-animate-height/examples.js +0 -67
- package/bpk-component-accordion/examples.js +0 -316
- package/bpk-component-aria-live/examples.js +0 -248
- package/bpk-component-aria-live/examples.module.css +0 -18
- package/bpk-component-aria-live/examples.module.scss +0 -65
- package/bpk-component-autosuggest/examples.js +0 -201
- package/bpk-component-badge/BadgeLayout.js +0 -54
- package/bpk-component-badge/BpkBadgeLayout.module.css +0 -18
- package/bpk-component-badge/BpkBadgeLayout.module.scss +0 -36
- package/bpk-component-badge/examples.js +0 -207
- package/bpk-component-banner-alert/examples.js +0 -253
- package/bpk-component-banner-alert/examples.module.css +0 -18
- package/bpk-component-barchart/examples.js +0 -334
- package/bpk-component-barchart/hocs.js +0 -67
- package/bpk-component-barchart/stories.module.css +0 -18
- package/bpk-component-barchart/stories.module.scss +0 -37
- package/bpk-component-blockquote/examples.js +0 -33
- package/bpk-component-breadcrumb/examples.js +0 -57
- package/bpk-component-breakpoint/examples.js +0 -72
- package/bpk-component-breakpoint/examples.module.css +0 -18
- package/bpk-component-breakpoint/examples.module.scss +0 -36
- package/bpk-component-button/BpkButtonStory.module.css +0 -18
- package/bpk-component-button/examples.js +0 -213
- package/bpk-component-calendar/coloured-calendar-example.js +0 -106
- package/bpk-component-calendar/examples-components.js +0 -299
- package/bpk-component-calendar/examples.js +0 -369
- package/bpk-component-card/examples.js +0 -91
- package/bpk-component-checkbox/examples.js +0 -197
- package/bpk-component-chip/examples.js +0 -339
- package/bpk-component-chip/examples.module.css +0 -18
- package/bpk-component-close-button/examples.js +0 -30
- package/bpk-component-code/examples.js +0 -56
- package/bpk-component-content-container/examples.js +0 -307
- package/bpk-component-datatable/examples.js +0 -138
- package/bpk-component-datepicker/examples.js +0 -660
- package/bpk-component-description-list/examples.js +0 -49
- package/bpk-component-dialog/examples.js +0 -182
- package/bpk-component-dialog/examples.module.css +0 -18
- package/bpk-component-dialog/stories.css +0 -1
- package/bpk-component-drawer/examples.js +0 -271
- package/bpk-component-drawer/examples.module.css +0 -18
- package/bpk-component-drawer/examples.module.scss +0 -34
- package/bpk-component-fieldset/examples.js +0 -527
- package/bpk-component-fieldset/examples.module.css +0 -18
- package/bpk-component-fieldset/examples.module.scss +0 -46
- package/bpk-component-flare/examples.js +0 -158
- package/bpk-component-flare/examples.module.css +0 -18
- package/bpk-component-flare/examples.module.scss +0 -66
- package/bpk-component-form-validation/examples.js +0 -171
- package/bpk-component-form-validation/examples.module.css +0 -18
- package/bpk-component-form-validation/examples.module.scss +0 -39
- package/bpk-component-grid/examples.js +0 -796
- package/bpk-component-horizontal-nav/examples.js +0 -189
- package/bpk-component-horizontal-nav/examples.module.css +0 -18
- package/bpk-component-horizontal-nav/examples.module.scss +0 -48
- package/bpk-component-icon/examples.js +0 -152
- package/bpk-component-image/examples.js +0 -216
- package/bpk-component-infinite-scroll/examples.js +0 -279
- package/bpk-component-infinite-scroll/examples.module.css +0 -18
- package/bpk-component-infinite-scroll/examples.module.scss +0 -46
- package/bpk-component-input/examples.js +0 -490
- package/bpk-component-input/examples.module.css +0 -18
- package/bpk-component-input/examples.module.scss +0 -57
- package/bpk-component-label/examples.js +0 -67
- package/bpk-component-link/examples.js +0 -110
- package/bpk-component-list/examples.js +0 -56
- package/bpk-component-loading-button/examples.js +0 -660
- package/bpk-component-map/examples.js +0 -305
- package/bpk-component-mobile-scroll-container/examples.js +0 -76
- package/bpk-component-mobile-scroll-container/examples.module.css +0 -18
- package/bpk-component-mobile-scroll-container/examples.module.scss +0 -46
- package/bpk-component-modal/examples.js +0 -304
- package/bpk-component-modal/examples.module.css +0 -18
- package/bpk-component-modal/examples.module.scss +0 -35
- package/bpk-component-navigation-bar/AirlineLogo.js +0 -42
- package/bpk-component-navigation-bar/AirlineLogo.module.css +0 -18
- package/bpk-component-navigation-bar/AirlineLogo.module.scss +0 -27
- package/bpk-component-navigation-bar/examples.js +0 -193
- package/bpk-component-navigation-bar/examples.module.css +0 -18
- package/bpk-component-navigation-bar/examples.module.scss +0 -32
- package/bpk-component-navigation-stack/examples.js +0 -73
- package/bpk-component-navigation-stack/examples.module.css +0 -18
- package/bpk-component-navigation-stack/examples.module.scss +0 -43
- package/bpk-component-navigation-stack/stories-components.js +0 -202
- package/bpk-component-nudger/BpkNudgerStory.module.css +0 -18
- package/bpk-component-nudger/examples.js +0 -204
- package/bpk-component-overlay/examples.js +0 -163
- package/bpk-component-overlay/examples.module.css +0 -18
- package/bpk-component-overlay/examples.module.scss +0 -38
- package/bpk-component-pagination/examples.js +0 -93
- package/bpk-component-panel/examples.js +0 -63
- package/bpk-component-phone-input/examples.js +0 -181
- package/bpk-component-popover/examples.js +0 -267
- package/bpk-component-popover/examples.module.css +0 -18
- package/bpk-component-popover/examples.module.scss +0 -33
- package/bpk-component-progress/examples.js +0 -130
- package/bpk-component-progress/examples.module.css +0 -18
- package/bpk-component-progress/examples.module.scss +0 -29
- package/bpk-component-radio/examples.js +0 -126
- package/bpk-component-rating/examples.js +0 -373
- package/bpk-component-scrollable-calendar/examples.js +0 -383
- package/bpk-component-section-list/examples.js +0 -55
- package/bpk-component-select/examples.js +0 -274
- package/bpk-component-skip-link/examples.js +0 -40
- package/bpk-component-slider/examples.js +0 -122
- package/bpk-component-spinner/SpinnerLayout.js +0 -56
- package/bpk-component-spinner/SpinnerLayout.module.css +0 -18
- package/bpk-component-spinner/SpinnerLayout.module.scss +0 -36
- package/bpk-component-spinner/examples.js +0 -56
- package/bpk-component-star-rating/examples.js +0 -195
- package/bpk-component-switch/examples.js +0 -40
- package/bpk-component-table/examples.js +0 -97
- package/bpk-component-text/examples.js +0 -135
- package/bpk-component-text/examples.module.css +0 -18
- package/bpk-component-text/examples.module.scss +0 -25
- package/bpk-component-textarea/examples.js +0 -116
- package/bpk-component-ticket/examples.js +0 -203
- package/bpk-component-ticket/examples.module.css +0 -18
- package/bpk-component-ticket/examples.module.scss +0 -79
- package/bpk-component-tooltip/examples.js +0 -181
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Backpack - Skyscanner's Design System
|
|
3
|
+
*
|
|
4
|
+
* Copyright 2016 Skyscanner Ltd
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/* @flow strict */
|
|
20
|
+
|
|
21
|
+
export { default } from './src/BpkButtonSecondaryOnDark';
|
|
@@ -23,8 +23,12 @@ export default () => (
|
|
|
23
23
|
<BpkButton>Primary</BpkButton>
|
|
24
24
|
<BpkButton large>Large primary</BpkButton>
|
|
25
25
|
<BpkButton secondary>Secondary</BpkButton>
|
|
26
|
+
<BpkButton secondaryOnDark>SecondaryOnDark</BpkButton>
|
|
26
27
|
<BpkButton link>Link</BpkButton>
|
|
27
|
-
<BpkButton
|
|
28
|
+
<BpkButton linkOnDark>LinkOnDark</BpkButton>
|
|
29
|
+
<BpkButton outline>Outline (Deprecated, use PrimaryOnDark or PrimaryOnLight instead)</BpkButton>
|
|
30
|
+
<BpkButton primaryOnDark>PrimaryOnDark</BpkButton>
|
|
31
|
+
<BpkButton primaryOnLight>PrimaryOnLight</BpkButton>
|
|
28
32
|
<BpkButton iconOnly>
|
|
29
33
|
<AlignedArrowIcon />
|
|
30
34
|
<span className="visually-hidden">Search</span>
|
|
@@ -35,26 +39,27 @@ export default () => (
|
|
|
35
39
|
|
|
36
40
|
## Props
|
|
37
41
|
|
|
38
|
-
| Property
|
|
39
|
-
|
|
|
40
|
-
| children
|
|
41
|
-
| destructive
|
|
42
|
-
| featured
|
|
43
|
-
| link
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
|
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
|
|
57
|
-
|
|
42
|
+
| Property | PropType | Required | Default Value |
|
|
43
|
+
| --------------- | -------------------- | -------- | ------------- |
|
|
44
|
+
| children | - | true | - |
|
|
45
|
+
| destructive | bool | false | false |
|
|
46
|
+
| featured | bool | false | false |
|
|
47
|
+
| link | bool | false | false |
|
|
48
|
+
| linkOnDark | bool | false | false |
|
|
49
|
+
| outline | bool (deprecated) | false | false |
|
|
50
|
+
| secondary | bool | false | false |
|
|
51
|
+
| secondaryOnDark | bool | false | false |
|
|
52
|
+
| primaryOnDark | bool | false | false |
|
|
53
|
+
| primaryOnLight | bool | false | false |
|
|
54
|
+
| blank | bool | false | false |
|
|
55
|
+
| className | string | false | null |
|
|
56
|
+
| disabled | bool | false | false |
|
|
57
|
+
| href | string | false | null |
|
|
58
|
+
| iconOnly | bool | false | false |
|
|
59
|
+
| large | bool | false | false |
|
|
60
|
+
| onClick | func | false | null |
|
|
61
|
+
| rel | string | false | null |
|
|
62
|
+
| submit | bool | false | false |
|
|
58
63
|
|
|
59
64
|
## Theme Props
|
|
60
65
|
|
|
@@ -69,6 +74,24 @@ export default () => (
|
|
|
69
74
|
* `buttonPrimaryHoverBackgroundColor`
|
|
70
75
|
* `buttonPrimaryActiveBackgroundColor`
|
|
71
76
|
|
|
77
|
+
### Primary on dark:
|
|
78
|
+
|
|
79
|
+
* `buttonPrimaryOnDarkTextColor`
|
|
80
|
+
* `buttonPrimaryOnDarkHoverTextColor`
|
|
81
|
+
* `buttonPrimaryOnDarkActiveTextColor`
|
|
82
|
+
* `buttonPrimaryOnDarkBackgroundColor`
|
|
83
|
+
* `buttonPrimaryOnDarkHoverBackgroundColor`
|
|
84
|
+
* `buttonPrimaryOnDarkActiveBackgroundColor`
|
|
85
|
+
|
|
86
|
+
### Primary on light:
|
|
87
|
+
|
|
88
|
+
* `buttonPrimaryOnLightTextColor`
|
|
89
|
+
* `buttonPrimaryOnLightHoverTextColor`
|
|
90
|
+
* `buttonPrimaryOnLightActiveTextColor`
|
|
91
|
+
* `buttonPrimaryOnLightBackgroundColor`
|
|
92
|
+
* `buttonPrimaryOnLightHoverBackgroundColor`
|
|
93
|
+
* `buttonPrimaryOnLightActiveBackgroundColor`
|
|
94
|
+
|
|
72
95
|
### Secondary:
|
|
73
96
|
|
|
74
97
|
* `buttonSecondaryTextColor`
|
|
@@ -81,6 +104,15 @@ export default () => (
|
|
|
81
104
|
* `buttonSecondaryHoverBackgroundColor`
|
|
82
105
|
* `buttonSecondaryActiveBackgroundColor`
|
|
83
106
|
|
|
107
|
+
### Secondary on dark:
|
|
108
|
+
|
|
109
|
+
* `buttonSecondaryOnDarkTextColor`
|
|
110
|
+
* `buttonSecondaryOnDarkHoverTextColor`
|
|
111
|
+
* `buttonSecondaryOnDarkActiveTextColor`
|
|
112
|
+
* `buttonSecondaryOnDarkBackgroundColor`
|
|
113
|
+
* `buttonSecondaryOnDarkHoverBackgroundColor`
|
|
114
|
+
* `buttonSecondaryOnDarkActiveBackgroundColor`
|
|
115
|
+
|
|
84
116
|
### Featured:
|
|
85
117
|
|
|
86
118
|
* `buttonFeaturedTextColor`
|
|
@@ -20,16 +20,23 @@
|
|
|
20
20
|
|
|
21
21
|
import BpkButton from './src/BpkButton'; // eslint-disable-line import/no-cycle
|
|
22
22
|
import BpkButtonPrimary from './src/BpkButtonPrimary';
|
|
23
|
+
import BpkButtonPrimaryOnDark from './src/BpkButtonPrimaryOnDark';
|
|
24
|
+
import BpkButtonPrimaryOnLight from './src/BpkButtonPrimaryOnLight';
|
|
23
25
|
import BpkButtonSecondary from './src/BpkButtonSecondary';
|
|
26
|
+
import BpkButtonSecondaryOnDark from './src/BpkButtonSecondaryOnDark';
|
|
24
27
|
import BpkButtonDestructive from './src/BpkButtonDestructive';
|
|
25
28
|
import BpkButtonLink from './src/BpkButtonLink';
|
|
29
|
+
import BpkButtonLinkOnDark from './src/BpkButtonLinkOnDark';
|
|
26
30
|
import BpkButtonFeatured from './src/BpkButtonFeatured';
|
|
27
31
|
import BpkButtonOutline from './src/BpkButtonOutline';
|
|
28
32
|
|
|
29
33
|
export {
|
|
30
34
|
buttonThemeAttributes,
|
|
31
35
|
primaryThemeAttributes,
|
|
36
|
+
primaryOnDarkThemeAttributes,
|
|
37
|
+
primaryOnLightThemeAttributes,
|
|
32
38
|
secondaryThemeAttributes,
|
|
39
|
+
secondaryOnDarkThemeAttributes,
|
|
33
40
|
featuredThemeAttributes,
|
|
34
41
|
destructiveThemeAttributes,
|
|
35
42
|
} from './themeAttributes';
|
|
@@ -38,9 +45,13 @@ export default BpkButton;
|
|
|
38
45
|
|
|
39
46
|
export {
|
|
40
47
|
BpkButtonPrimary,
|
|
48
|
+
BpkButtonPrimaryOnDark,
|
|
49
|
+
BpkButtonPrimaryOnLight,
|
|
41
50
|
BpkButtonSecondary,
|
|
51
|
+
BpkButtonSecondaryOnDark,
|
|
42
52
|
BpkButtonDestructive,
|
|
43
53
|
BpkButtonLink,
|
|
54
|
+
BpkButtonLinkOnDark,
|
|
44
55
|
BpkButtonFeatured,
|
|
45
56
|
BpkButtonOutline,
|
|
46
57
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bpk-component-button",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.2.1",
|
|
4
4
|
"description": "Backpack button component.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
},
|
|
15
15
|
"gitHead": "5c156b97cb0ba5e75851d3c763334578714c895e",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"bpk-mixins": "^
|
|
17
|
+
"bpk-mixins": "^29.0.0",
|
|
18
18
|
"prop-types": "^15.7.2"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"bpk-storybook-utils": "^1.1.
|
|
21
|
+
"bpk-storybook-utils": "^1.1.5"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": "^16.3.0 || ^17.0.0"
|
|
@@ -24,9 +24,13 @@ import PropTypes from 'prop-types';
|
|
|
24
24
|
// eslint-disable-next-line import/no-cycle
|
|
25
25
|
import {
|
|
26
26
|
BpkButtonPrimary,
|
|
27
|
+
BpkButtonPrimaryOnDark,
|
|
28
|
+
BpkButtonPrimaryOnLight,
|
|
27
29
|
BpkButtonSecondary,
|
|
30
|
+
BpkButtonSecondaryOnDark,
|
|
28
31
|
BpkButtonDestructive,
|
|
29
32
|
BpkButtonLink,
|
|
33
|
+
BpkButtonLinkOnDark,
|
|
30
34
|
BpkButtonFeatured,
|
|
31
35
|
BpkButtonOutline,
|
|
32
36
|
} from '../index';
|
|
@@ -39,21 +43,45 @@ import {
|
|
|
39
43
|
|
|
40
44
|
type Props = {
|
|
41
45
|
...CommonProps,
|
|
46
|
+
primaryOnDark: boolean,
|
|
47
|
+
primaryOnLight: boolean,
|
|
42
48
|
secondary: boolean,
|
|
49
|
+
secondaryOnDark: boolean,
|
|
43
50
|
destructive: boolean,
|
|
44
51
|
featured: boolean,
|
|
45
52
|
outline: boolean,
|
|
46
53
|
link: boolean,
|
|
47
|
-
|
|
54
|
+
linkOnDark: boolean,
|
|
48
55
|
};
|
|
49
56
|
|
|
50
57
|
const BpkButton = (props: Props) => {
|
|
51
|
-
const {
|
|
52
|
-
|
|
58
|
+
const {
|
|
59
|
+
destructive,
|
|
60
|
+
featured,
|
|
61
|
+
link,
|
|
62
|
+
linkOnDark,
|
|
63
|
+
outline,
|
|
64
|
+
primaryOnDark,
|
|
65
|
+
primaryOnLight,
|
|
66
|
+
secondary,
|
|
67
|
+
secondaryOnDark,
|
|
68
|
+
...rest
|
|
69
|
+
} = props;
|
|
70
|
+
|
|
71
|
+
if (primaryOnDark) {
|
|
72
|
+
return <BpkButtonPrimaryOnDark {...rest} />;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (primaryOnLight) {
|
|
76
|
+
return <BpkButtonPrimaryOnLight {...rest} />;
|
|
77
|
+
}
|
|
53
78
|
|
|
54
79
|
if (secondary) {
|
|
55
80
|
return <BpkButtonSecondary {...rest} />;
|
|
56
81
|
}
|
|
82
|
+
if (secondaryOnDark) {
|
|
83
|
+
return <BpkButtonSecondaryOnDark {...rest} />;
|
|
84
|
+
}
|
|
57
85
|
if (destructive) {
|
|
58
86
|
return <BpkButtonDestructive {...rest} />;
|
|
59
87
|
}
|
|
@@ -64,30 +92,38 @@ const BpkButton = (props: Props) => {
|
|
|
64
92
|
return <BpkButtonOutline {...rest} />;
|
|
65
93
|
}
|
|
66
94
|
if (link) {
|
|
67
|
-
|
|
68
|
-
|
|
95
|
+
return <BpkButtonLink {...rest} />;
|
|
96
|
+
}
|
|
97
|
+
if (linkOnDark) {
|
|
98
|
+
return <BpkButtonLinkOnDark {...rest} />;
|
|
69
99
|
}
|
|
70
100
|
return <BpkButtonPrimary {...rest} />;
|
|
71
101
|
};
|
|
72
102
|
|
|
73
103
|
BpkButton.propTypes = {
|
|
74
104
|
...propTypes,
|
|
105
|
+
primaryOnDark: PropTypes.bool,
|
|
106
|
+
primaryOnLight: PropTypes.bool,
|
|
75
107
|
secondary: PropTypes.bool,
|
|
108
|
+
secondaryOnDark: PropTypes.bool,
|
|
76
109
|
destructive: PropTypes.bool,
|
|
77
110
|
featured: PropTypes.bool,
|
|
78
111
|
outline: PropTypes.bool,
|
|
79
|
-
padded: PropTypes.bool,
|
|
80
112
|
link: PropTypes.bool,
|
|
113
|
+
linkOnDark: PropTypes.bool,
|
|
81
114
|
};
|
|
82
115
|
|
|
83
116
|
BpkButton.defaultProps = {
|
|
84
117
|
...defaultProps,
|
|
118
|
+
primaryOnDark: false,
|
|
119
|
+
primaryOnLight: false,
|
|
85
120
|
secondary: false,
|
|
121
|
+
secondaryOnDark: false,
|
|
86
122
|
destructive: false,
|
|
87
123
|
featured: false,
|
|
88
124
|
outline: false,
|
|
89
|
-
padded: false,
|
|
90
125
|
link: false,
|
|
126
|
+
linkOnDark: false,
|
|
91
127
|
};
|
|
92
128
|
|
|
93
129
|
export default BpkButton;
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
/* @flow strict */
|
|
20
20
|
|
|
21
21
|
import React from 'react';
|
|
22
|
-
import PropTypes from 'prop-types';
|
|
23
22
|
|
|
24
23
|
import {
|
|
25
24
|
type Props as CommonProps,
|
|
@@ -33,15 +32,14 @@ const getClassName = cssModules(STYLES);
|
|
|
33
32
|
|
|
34
33
|
type Props = {
|
|
35
34
|
...CommonProps,
|
|
36
|
-
padded: boolean,
|
|
37
35
|
};
|
|
38
36
|
const BpkButtonLink = (props: Props) => {
|
|
39
|
-
const { className,
|
|
37
|
+
const { className, large, ...rest } = props;
|
|
40
38
|
|
|
41
39
|
const classNames = [getClassName('bpk-button--link')];
|
|
42
40
|
|
|
43
|
-
if (
|
|
44
|
-
classNames.push(getClassName('bpk-button--
|
|
41
|
+
if (large) {
|
|
42
|
+
classNames.push(getClassName('bpk-button--link-large'));
|
|
45
43
|
}
|
|
46
44
|
|
|
47
45
|
if (className) {
|
|
@@ -51,11 +49,11 @@ const BpkButtonLink = (props: Props) => {
|
|
|
51
49
|
|
|
52
50
|
return (
|
|
53
51
|
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
54
|
-
<BpkButtonBase className={classNamesFinal} {...rest} />
|
|
52
|
+
<BpkButtonBase className={classNamesFinal} large={large} {...rest} />
|
|
55
53
|
);
|
|
56
54
|
};
|
|
57
55
|
|
|
58
|
-
BpkButtonLink.propTypes = { ...propTypes
|
|
59
|
-
BpkButtonLink.defaultProps = { ...defaultProps
|
|
56
|
+
BpkButtonLink.propTypes = { ...propTypes };
|
|
57
|
+
BpkButtonLink.defaultProps = { ...defaultProps };
|
|
60
58
|
|
|
61
59
|
export default BpkButtonLink;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Backpack - Skyscanner's Design System
|
|
3
|
+
*
|
|
4
|
+
* Copyright 2016 Skyscanner Ltd
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/* @flow strict */
|
|
20
|
+
|
|
21
|
+
import React from 'react';
|
|
22
|
+
|
|
23
|
+
import {
|
|
24
|
+
type Props as CommonProps,
|
|
25
|
+
defaultProps,
|
|
26
|
+
propTypes,
|
|
27
|
+
} from './common-types';
|
|
28
|
+
import BpkButtonBase, { cssModules } from './BpkButtonBase';
|
|
29
|
+
import STYLES from './BpkButtonLinkOnDark.module.scss';
|
|
30
|
+
|
|
31
|
+
const getClassName = cssModules(STYLES);
|
|
32
|
+
|
|
33
|
+
type Props = {
|
|
34
|
+
...CommonProps,
|
|
35
|
+
};
|
|
36
|
+
const BpkButtonLinkOnDark = (props: Props) => {
|
|
37
|
+
const { className, large, ...rest } = props;
|
|
38
|
+
|
|
39
|
+
const classNames = [getClassName('bpk-button--link-on-dark')];
|
|
40
|
+
|
|
41
|
+
if (large) {
|
|
42
|
+
classNames.push(getClassName('bpk-button--link-on-dark-large'));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (className) {
|
|
46
|
+
classNames.push(className);
|
|
47
|
+
}
|
|
48
|
+
const classNamesFinal = classNames.join(' ');
|
|
49
|
+
|
|
50
|
+
return (
|
|
51
|
+
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
52
|
+
<BpkButtonBase className={classNamesFinal} large={large} {...rest} />
|
|
53
|
+
);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
BpkButtonLinkOnDark.propTypes = { ...propTypes };
|
|
57
|
+
BpkButtonLinkOnDark.defaultProps = { ...defaultProps };
|
|
58
|
+
|
|
59
|
+
export default BpkButtonLinkOnDark;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Backpack - Skyscanner's Design System
|
|
3
|
+
*
|
|
4
|
+
* Copyright 2016 Skyscanner Ltd
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/* @flow strict */
|
|
20
|
+
|
|
21
|
+
import React from 'react';
|
|
22
|
+
|
|
23
|
+
import { type Props, defaultProps, propTypes } from './common-types';
|
|
24
|
+
import BpkButtonBase, { cssModules } from './BpkButtonBase';
|
|
25
|
+
import STYLES from './BpkButtonPrimaryOnDark.module.scss';
|
|
26
|
+
|
|
27
|
+
const getClassName = cssModules(STYLES);
|
|
28
|
+
|
|
29
|
+
const BpkButtonPrimaryOnDark = (props: Props) => {
|
|
30
|
+
const { className, ...rest } = props;
|
|
31
|
+
|
|
32
|
+
const classNames = [getClassName('bpk-button--primary-on-dark')];
|
|
33
|
+
|
|
34
|
+
if (className) {
|
|
35
|
+
classNames.push(className);
|
|
36
|
+
}
|
|
37
|
+
const classNamesFinal = classNames.join(' ');
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
41
|
+
<BpkButtonBase className={classNamesFinal} {...rest} />
|
|
42
|
+
);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
BpkButtonPrimaryOnDark.propTypes = { ...propTypes };
|
|
46
|
+
BpkButtonPrimaryOnDark.defaultProps = { ...defaultProps };
|
|
47
|
+
|
|
48
|
+
export default BpkButtonPrimaryOnDark;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Backpack - Skyscanner's Design System
|
|
3
|
+
*
|
|
4
|
+
* Copyright 2016 Skyscanner Ltd
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/* @flow strict */
|
|
20
|
+
|
|
21
|
+
import React from 'react';
|
|
22
|
+
|
|
23
|
+
import { type Props, defaultProps, propTypes } from './common-types';
|
|
24
|
+
import BpkButtonBase, { cssModules } from './BpkButtonBase';
|
|
25
|
+
import STYLES from './BpkButtonPrimaryOnLight.module.scss';
|
|
26
|
+
|
|
27
|
+
const getClassName = cssModules(STYLES);
|
|
28
|
+
|
|
29
|
+
const BpkButtonPrimaryOnLight = (props: Props) => {
|
|
30
|
+
const { className, ...rest } = props;
|
|
31
|
+
|
|
32
|
+
const classNames = [getClassName('bpk-button--primary-on-light')];
|
|
33
|
+
|
|
34
|
+
if (className) {
|
|
35
|
+
classNames.push(className);
|
|
36
|
+
}
|
|
37
|
+
const classNamesFinal = classNames.join(' ');
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
41
|
+
<BpkButtonBase className={classNamesFinal} {...rest} />
|
|
42
|
+
);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
BpkButtonPrimaryOnLight.propTypes = { ...propTypes };
|
|
46
|
+
BpkButtonPrimaryOnLight.defaultProps = { ...defaultProps };
|
|
47
|
+
|
|
48
|
+
export default BpkButtonPrimaryOnLight;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Backpack - Skyscanner's Design System
|
|
3
|
+
*
|
|
4
|
+
* Copyright 2016 Skyscanner Ltd
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/* @flow strict */
|
|
20
|
+
|
|
21
|
+
import React from 'react';
|
|
22
|
+
|
|
23
|
+
import { type Props, defaultProps, propTypes } from './common-types';
|
|
24
|
+
import BpkButtonBase, { cssModules } from './BpkButtonBase';
|
|
25
|
+
import STYLES from './BpkButtonSecondaryOnDark.module.scss';
|
|
26
|
+
|
|
27
|
+
const getClassName = cssModules(STYLES);
|
|
28
|
+
|
|
29
|
+
const BpkButtonSecondaryOnDark = (props: Props) => {
|
|
30
|
+
const { className, ...rest } = props;
|
|
31
|
+
|
|
32
|
+
const classNames = [getClassName('bpk-button--secondary-on-dark')];
|
|
33
|
+
|
|
34
|
+
if (className) {
|
|
35
|
+
classNames.push(className);
|
|
36
|
+
}
|
|
37
|
+
const classNamesFinal = classNames.join(' ');
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
41
|
+
<BpkButtonBase className={classNamesFinal} {...rest} />
|
|
42
|
+
);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
BpkButtonSecondaryOnDark.propTypes = { ...propTypes };
|
|
46
|
+
BpkButtonSecondaryOnDark.defaultProps = { ...defaultProps };
|
|
47
|
+
|
|
48
|
+
export default BpkButtonSecondaryOnDark;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Backpack - Skyscanner's Design System
|
|
3
|
+
*
|
|
4
|
+
* Copyright 2016 Skyscanner Ltd
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
@import '~bpk-mixins/index';
|
|
20
|
+
|
|
21
|
+
.bpk-button--secondary-on-dark {
|
|
22
|
+
@include bpk-button--secondary-on-dark;
|
|
23
|
+
}
|
|
@@ -29,6 +29,24 @@ export const primaryThemeAttributes = [
|
|
|
29
29
|
'buttonPrimaryActiveBackgroundColor',
|
|
30
30
|
];
|
|
31
31
|
|
|
32
|
+
export const primaryOnDarkThemeAttributes = [
|
|
33
|
+
'buttonPrimaryOnDarkTextColor',
|
|
34
|
+
'buttonPrimaryOnDarkHoverTextColor',
|
|
35
|
+
'buttonPrimaryOnDarkActiveTextColor',
|
|
36
|
+
'buttonPrimaryOnDarkBackgroundColor',
|
|
37
|
+
'buttonPrimaryOnDarkHoverBackgroundColor',
|
|
38
|
+
'buttonPrimaryOnDarkActiveBackgroundColor',
|
|
39
|
+
];
|
|
40
|
+
|
|
41
|
+
export const primaryOnLightThemeAttributes = [
|
|
42
|
+
'buttonPrimaryOnLightTextColor',
|
|
43
|
+
'buttonPrimaryOnLightHoverTextColor',
|
|
44
|
+
'buttonPrimaryOnLightActiveTextColor',
|
|
45
|
+
'buttonPrimaryOnLightBackgroundColor',
|
|
46
|
+
'buttonPrimaryOnLightHoverBackgroundColor',
|
|
47
|
+
'buttonPrimaryOnLightActiveBackgroundColor',
|
|
48
|
+
];
|
|
49
|
+
|
|
32
50
|
export const secondaryThemeAttributes = [
|
|
33
51
|
'buttonSecondaryTextColor',
|
|
34
52
|
'buttonSecondaryHoverTextColor',
|
|
@@ -41,6 +59,15 @@ export const secondaryThemeAttributes = [
|
|
|
41
59
|
'buttonSecondaryActiveBackgroundColor',
|
|
42
60
|
];
|
|
43
61
|
|
|
62
|
+
export const secondaryOnDarkThemeAttributes = [
|
|
63
|
+
'buttonSecondaryOnDarkTextColor',
|
|
64
|
+
'buttonSecondaryOnDarkHoverTextColor',
|
|
65
|
+
'buttonSecondaryOnDarkActiveTextColor',
|
|
66
|
+
'buttonSecondaryOnDarkBackgroundColor',
|
|
67
|
+
'buttonSecondaryOnDarkHoverBackgroundColor',
|
|
68
|
+
'buttonSecondaryOnDarkActiveBackgroundColor',
|
|
69
|
+
];
|
|
70
|
+
|
|
44
71
|
export const featuredThemeAttributes = [
|
|
45
72
|
'buttonFeaturedTextColor',
|
|
46
73
|
'buttonFeaturedHoverTextColor',
|
|
@@ -21,7 +21,10 @@
|
|
|
21
21
|
export {
|
|
22
22
|
buttonThemeAttributes,
|
|
23
23
|
primaryThemeAttributes,
|
|
24
|
+
primaryOnDarkThemeAttributes,
|
|
25
|
+
primaryOnLightThemeAttributes,
|
|
24
26
|
secondaryThemeAttributes,
|
|
27
|
+
secondaryOnDarkThemeAttributes,
|
|
25
28
|
featuredThemeAttributes,
|
|
26
29
|
destructiveThemeAttributes,
|
|
27
30
|
} from './src/themeAttributes';
|