@skyscanner/backpack-web 0.0.6 → 0.1.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 -1
- package/bpk-component-accordion/src/BpkAccordionItem.js +5 -18
- package/bpk-component-accordion/src/withAccordionItemState.js +1 -1
- package/bpk-component-accordion/src/withSingleItemAccordionState.js +1 -1
- package/bpk-component-aria-live/package.json +8 -8
- package/bpk-component-aria-live/src/BpkAriaLive.js +1 -1
- package/bpk-component-autosuggest/package.json +5 -5
- package/bpk-component-autosuggest/src/BpkAutosuggest.js +2 -2
- package/bpk-component-autosuggest/src/BpkAutosuggestSuggestion.js +1 -1
- package/bpk-component-badge/package.json +6 -6
- package/bpk-component-badge/src/BpkBadge.js +1 -1
- package/bpk-component-banner-alert/package.json +10 -10
- package/bpk-component-banner-alert/src/AnimateAndFade.js +2 -2
- package/bpk-component-banner-alert/src/BpkBannerAlertInner.js +7 -7
- package/bpk-component-banner-alert/src/withBannerAlertState.js +1 -1
- package/bpk-component-barchart/package.json +9 -9
- package/bpk-component-barchart/src/BpkBarchart.js +2 -2
- package/bpk-component-barchart/src/BpkBarchartBar.js +1 -1
- package/bpk-component-barchart/src/BpkChartAxis.js +1 -1
- package/bpk-component-barchart/src/BpkChartDataTable.js +1 -1
- package/bpk-component-barchart/src/BpkChartGridLines.js +1 -1
- package/bpk-component-barchart/src/RTLtransforms.js +1 -1
- package/bpk-component-blockquote/package.json +3 -3
- package/bpk-component-blockquote/src/BpkBlockquote.js +1 -1
- package/bpk-component-breadcrumb/package.json +6 -6
- package/bpk-component-breadcrumb/src/BpkBreadcrumb.js +1 -1
- package/bpk-component-breadcrumb/src/BpkBreadcrumbItem.js +5 -5
- package/bpk-component-breakpoint/package.json +4 -4
- package/{bpk-component-rating/examples.module.scss → bpk-component-button/BpkButtonPrimaryOnDark.js} +2 -4
- package/{bpk-component-dialog/examples.module.scss → bpk-component-button/BpkButtonPrimaryOnLight.js} +2 -6
- package/bpk-component-button/README.md +40 -21
- package/bpk-component-button/index.js +4 -0
- package/bpk-component-button/package.json +3 -3
- package/bpk-component-button/src/BpkButton.js +27 -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/BpkButtonPrimaryOnDark.js +48 -0
- package/bpk-component-button/{BpkButtonStory.module.scss → src/BpkButtonPrimaryOnDark.module.scss} +2 -2
- package/bpk-component-button/src/BpkButtonPrimaryOnLight.js +48 -0
- package/{bpk-component-nudger/BpkNudgerStory.module.scss → bpk-component-button/src/BpkButtonPrimaryOnLight.module.scss} +2 -6
- package/bpk-component-button/src/themeAttributes.js +18 -0
- package/bpk-component-calendar/package.json +10 -10
- package/bpk-component-calendar/src/BpkCalendarContainer.js +1 -1
- package/bpk-component-calendar/src/BpkCalendarDate.js +1 -1
- package/bpk-component-calendar/src/BpkCalendarGrid.js +5 -5
- 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 -1
- package/bpk-component-calendar/src/BpkCalendarGridTransition.js +1 -1
- package/bpk-component-calendar/src/BpkCalendarNav.js +5 -5
- package/bpk-component-calendar/src/Week.js +5 -5
- package/bpk-component-calendar/src/composeCalendar.js +1 -1
- 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 -1
- package/bpk-component-checkbox/package.json +6 -6
- package/bpk-component-checkbox/src/BpkCheckbox.js +1 -1
- package/bpk-component-chip/package.json +6 -6
- package/bpk-component-chip/src/BpkDismissibleChip.js +1 -1
- package/bpk-component-chip/src/BpkSelectableChip.js +2 -2
- package/bpk-component-close-button/package.json +5 -5
- package/bpk-component-close-button/src/BpkCloseButton.js +2 -2
- package/bpk-component-code/package.json +3 -3
- package/bpk-component-code/src/BpkCode.js +1 -1
- package/bpk-component-code/src/BpkCodeBlock.js +1 -1
- package/bpk-component-content-container/package.json +3 -3
- package/bpk-component-content-container/src/BpkContentContainer.js +1 -1
- package/bpk-component-datatable/package.json +5 -5
- package/bpk-component-datatable/src/BpkDataTable.js +1 -1
- package/bpk-component-datatable/src/BpkDataTableColumn.js +1 -1
- package/bpk-component-datatable/src/bpkHeaderRenderer.js +4 -4
- package/bpk-component-datepicker/index.js +1 -1
- package/bpk-component-datepicker/package.json +10 -10
- package/bpk-component-datepicker/src/BpkDatepicker.js +6 -6
- package/bpk-component-datepicker/src/themeAttributes.js +3 -3
- package/bpk-component-description-list/package.json +3 -3
- package/bpk-component-description-list/src/ComponentFactory.js +1 -1
- package/bpk-component-dialog/package.json +9 -9
- package/bpk-component-dialog/src/BpkDialog.js +2 -2
- package/bpk-component-dialog/src/BpkDialogInner.js +3 -3
- package/bpk-component-drawer/package.json +10 -10
- package/bpk-component-drawer/src/BpkDrawer.js +2 -2
- package/bpk-component-drawer/src/BpkDrawerContent.js +3 -3
- package/bpk-component-drawer/src/themeAttributes.js +1 -1
- package/bpk-component-fieldset/package.json +13 -13
- package/bpk-component-fieldset/src/BpkFieldset.js +3 -3
- package/bpk-component-flare/package.json +5 -5
- package/bpk-component-flare/src/BpkContentBubble.js +1 -1
- package/bpk-component-flare/src/BpkFlareBar.js +1 -1
- package/bpk-component-form-validation/package.json +11 -11
- package/bpk-component-form-validation/src/BpkFormValidation.js +4 -4
- package/bpk-component-graphic-promotion/README.md +70 -0
- package/{bpk-component-close-button/examples.js → bpk-component-graphic-promotion/index.js} +9 -11
- package/bpk-component-graphic-promotion/package.json +26 -0
- package/bpk-component-graphic-promotion/src/BpkGraphicPromo.js +202 -0
- package/bpk-component-graphic-promotion/src/BpkGraphicPromo.module.scss +255 -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 -1
- package/bpk-component-grid/src/BpkGridContainer.js +1 -1
- package/bpk-component-grid/src/BpkGridRow.js +1 -1
- package/bpk-component-grid-toggle/package.json +4 -4
- package/bpk-component-grid-toggle/src/BpkGridToggle.js +2 -2
- package/bpk-component-horizontal-nav/package.json +7 -7
- package/bpk-component-horizontal-nav/src/BpkHorizontalNav.js +2 -2
- package/bpk-component-horizontal-nav/src/BpkHorizontalNavItem.js +1 -1
- package/bpk-component-icon/package.json +8 -8
- package/bpk-component-icon/src/classNameModifierHOCFactory.js +1 -1
- package/bpk-component-icon/src/withAlignment.js +1 -1
- package/bpk-component-icon/src/withDescription.js +1 -1
- package/bpk-component-icon/src/withRtlSupport.js +1 -1
- package/bpk-component-image/package.json +7 -7
- package/bpk-component-image/src/BpkBackgroundImage.js +2 -2
- package/bpk-component-image/src/BpkImage.js +2 -2
- package/bpk-component-image/src/withLazyLoading.js +1 -1
- package/bpk-component-image/src/withLoadingBehavior.js +1 -1
- package/bpk-component-infinite-scroll/package.json +7 -7
- package/bpk-component-infinite-scroll/src/withInfiniteScroll.js +1 -1
- package/bpk-component-input/package.json +7 -7
- package/bpk-component-input/src/BpkClearButton.js +3 -3
- package/bpk-component-input/src/BpkInput.js +1 -1
- package/bpk-component-input/src/withOpenEvents.js +1 -1
- package/bpk-component-label/package.json +3 -3
- package/bpk-component-label/src/BpkLabel.js +1 -1
- package/bpk-component-link/package.json +5 -5
- package/bpk-component-link/src/BpkButtonLink.js +1 -1
- package/bpk-component-link/src/BpkLink.js +1 -1
- package/bpk-component-list/package.json +3 -3
- package/bpk-component-list/src/BpkList.js +1 -1
- package/bpk-component-list/src/BpkListItem.js +1 -1
- package/bpk-component-loading-button/package.json +7 -7
- package/bpk-component-loading-button/src/BpkLoadingButton.js +43 -19
- package/{bpk-component-fieldset/examples.module.scss → bpk-component-loading-button/src/BpkLoadingButton.module.scss} +25 -16
- package/bpk-component-map/package.json +7 -7
- package/bpk-component-map/src/BpkIconMarker.js +1 -1
- package/bpk-component-map/src/BpkIconMarkerBackground.js +1 -1
- package/bpk-component-map/src/BpkPriceMarker.js +2 -2
- package/bpk-component-map/src/DefaultLoadingElement.js +2 -2
- package/bpk-component-mobile-scroll-container/package.json +4 -4
- package/bpk-component-mobile-scroll-container/src/BpkMobileScrollContainer.js +1 -1
- package/bpk-component-modal/package.json +10 -10
- package/bpk-component-modal/src/BpkModal.js +2 -2
- package/bpk-component-modal/src/BpkModalInner.js +4 -4
- package/bpk-component-modal/src/themeAttributes.js +1 -1
- package/bpk-component-navigation-bar/package.json +9 -9
- package/bpk-component-navigation-bar/src/BpkNavigationBar.js +2 -2
- package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.js +2 -2
- package/bpk-component-navigation-bar/src/BpkNavigationBarIconButton.js +2 -2
- package/bpk-component-navigation-stack/package.json +8 -8
- package/bpk-component-navigation-stack/src/BpkNavigationStack.js +1 -1
- package/bpk-component-nudger/package.json +8 -8
- package/bpk-component-nudger/src/BpkConfigurableNudger.js +6 -6
- package/bpk-component-nudger/src/BpkNudger.js +1 -1
- package/bpk-component-nudger/src/themeAttributes.js +1 -1
- package/bpk-component-overlay/package.json +5 -5
- package/bpk-component-overlay/src/BpkOverlay.js +1 -1
- package/bpk-component-pagination/package.json +5 -5
- package/bpk-component-pagination/src/BpkPagination.js +1 -1
- package/bpk-component-pagination/src/BpkPaginationList.js +1 -1
- package/bpk-component-pagination/src/BpkPaginationNudger.js +4 -4
- package/bpk-component-pagination/src/BpkPaginationPage.js +2 -2
- package/bpk-component-pagination/src/themeAttributes.js +1 -1
- package/bpk-component-panel/package.json +3 -3
- package/bpk-component-panel/src/BpkPanel.js +1 -1
- package/bpk-component-phone-input/package.json +10 -10
- package/bpk-component-phone-input/src/BpkPhoneInput.js +4 -4
- package/bpk-component-popover/package.json +9 -9
- package/bpk-component-popover/src/BpkPopover.js +4 -4
- package/bpk-component-popover/src/BpkPopoverPortal.js +1 -1
- package/bpk-component-popover/src/themeAttributes.js +1 -1
- package/bpk-component-progress/package.json +6 -6
- package/bpk-component-progress/src/BpkProgress.js +1 -1
- package/bpk-component-radio/package.json +5 -5
- package/bpk-component-radio/src/BpkRadio.js +1 -1
- package/bpk-component-rating/package.json +5 -5
- package/bpk-component-rating/src/BpkRating.js +2 -2
- package/bpk-component-rtl-toggle/package.json +3 -3
- package/bpk-component-rtl-toggle/src/BpkRtlToggle.js +1 -1
- package/bpk-component-rtl-toggle/src/updateOnDirectionChange.js +1 -1
- package/bpk-component-scrollable-calendar/index.js +1 -1
- package/bpk-component-scrollable-calendar/package.json +7 -7
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendar.js +1 -1
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarDate.js +1 -1
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGrid.js +3 -3
- package/bpk-component-scrollable-calendar/src/BpkScrollableCalendarGridList.js +2 -2
- package/bpk-component-scrollable-calendar/src/utils.js +1 -1
- package/bpk-component-section-list/package.json +7 -7
- package/bpk-component-section-list/src/BpkSectionListItem.js +3 -3
- package/bpk-component-section-list/src/BpkSectionListSection.js +2 -2
- package/bpk-component-select/package.json +4 -4
- package/bpk-component-select/src/BpkSelect.js +1 -1
- package/bpk-component-skip-link/package.json +3 -3
- package/bpk-component-skip-link/src/BpkSkipLink.js +1 -1
- package/bpk-component-slider/package.json +5 -5
- package/bpk-component-slider/src/BpkSlider.js +1 -1
- package/bpk-component-spinner/package.json +4 -4
- package/bpk-component-spinner/src/BpkExtraLargeSpinner.js +1 -1
- package/bpk-component-spinner/src/BpkLargeSpinner.js +1 -1
- package/bpk-component-spinner/src/BpkSpinner.js +1 -1
- package/bpk-component-star-rating/package.json +6 -6
- package/bpk-component-star-rating/src/BpkInteractiveStar.js +1 -1
- package/bpk-component-star-rating/src/BpkInteractiveStarRating.js +1 -1
- package/bpk-component-star-rating/src/BpkStar.js +8 -8
- package/bpk-component-star-rating/src/BpkStarRating.js +1 -1
- package/bpk-component-star-rating/src/withInteractiveStarRatingState.js +1 -1
- package/bpk-component-switch/package.json +3 -3
- package/bpk-component-switch/src/BpkSwitch.js +1 -1
- package/bpk-component-table/package.json +3 -3
- package/bpk-component-table/src/BpkTable.js +1 -1
- package/bpk-component-table/src/BpkTableCell.js +1 -1
- package/bpk-component-table/src/BpkTableHeadCell.js +1 -1
- package/bpk-component-text/package.json +3 -3
- package/bpk-component-text/src/BpkText.js +1 -1
- package/bpk-component-textarea/package.json +5 -5
- package/bpk-component-textarea/src/BpkTextarea.js +1 -1
- package/bpk-component-theme-toggle/package.json +6 -6
- package/bpk-component-theme-toggle/src/BpkThemeToggle.js +3 -3
- package/bpk-component-theme-toggle/src/updateOnThemeChange.js +1 -1
- package/bpk-component-ticket/package.json +5 -5
- package/bpk-component-ticket/src/BpkTicket.js +1 -1
- package/bpk-component-tooltip/package.json +5 -5
- package/bpk-component-tooltip/src/BpkTooltip.js +1 -1
- package/bpk-component-tooltip/src/BpkTooltipPortal.js +1 -1
- 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 -1
- package/bpk-scrim-utils/src/withScrim.js +1 -1
- package/bpk-theming/package.json +2 -2
- package/package.json +4 -5
- 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-banner-alert/examples.module.scss +0 -27
- 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-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-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-grid-toggle/examples.js +0 -25
- 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-rating/examples.module.css +0 -18
- 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
|
@@ -1,253 +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 React, { Component } from 'react';
|
|
21
|
-
import { action } from '../bpk-storybook-utils';
|
|
22
|
-
import { fontWeightBold } from '@skyscanner/bpk-foundations-web/tokens/base.es6';
|
|
23
|
-
import CurrencyIcon from '../bpk-component-icon/sm/currency';
|
|
24
|
-
import { AriaLiveDemo } from '../bpk-component-aria-live/examples';
|
|
25
|
-
import { BpkButtonPrimary } from '../bpk-component-button';
|
|
26
|
-
import { cssModules } from '../bpk-react-utils';
|
|
27
|
-
|
|
28
|
-
import STYLES from './examples.module.scss';
|
|
29
|
-
|
|
30
|
-
import BpkBannerAlert, {
|
|
31
|
-
ALERT_TYPES,
|
|
32
|
-
withBannerAlertState,
|
|
33
|
-
BpkBannerAlertDismissable,
|
|
34
|
-
BpkBannerAlertExpandable,
|
|
35
|
-
} from './index';
|
|
36
|
-
|
|
37
|
-
const getClassName = cssModules(STYLES);
|
|
38
|
-
|
|
39
|
-
const message = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit.';
|
|
40
|
-
const longMessage = `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sagittis sagittis purus, id
|
|
41
|
-
blandit ipsum. Pellentesque nec diam nec erat condimentum dapibus. Nunc diam augue, egestas id egestas ut, facilisis
|
|
42
|
-
nec mi. Donec et congue odio, nec laoreet est. Integer rhoncus varius arcu, a fringilla libero laoreet at. Mauris
|
|
43
|
-
porta varius ullamcorper. Sed laoreet libero mauris, non pretium lectus accumsan et. Suspendisse vehicula ullamcorper
|
|
44
|
-
sapien, et dapibus mi aliquet non. Pellentesque auctor sagittis lectus vitae rhoncus. Fusce id enim porttitor, mattis
|
|
45
|
-
ante in, vestibulum nulla.`;
|
|
46
|
-
|
|
47
|
-
type Props = {};
|
|
48
|
-
type State = {
|
|
49
|
-
dismissed: boolean,
|
|
50
|
-
updates: Array<string>,
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
class BpkBannerAlertDismissableState extends Component<Props, State> {
|
|
54
|
-
constructor(props: Props) {
|
|
55
|
-
super(props);
|
|
56
|
-
|
|
57
|
-
this.state = {
|
|
58
|
-
dismissed: false,
|
|
59
|
-
updates: [],
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
render() {
|
|
64
|
-
return (
|
|
65
|
-
<>
|
|
66
|
-
{/* $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'. */}
|
|
67
|
-
<BpkBannerAlertDismissable
|
|
68
|
-
show={!this.state.dismissed}
|
|
69
|
-
dismissButtonLabel="Dismiss"
|
|
70
|
-
onDismiss={() => {
|
|
71
|
-
this.setState((prevState) => ({
|
|
72
|
-
dismissed: true,
|
|
73
|
-
updates: [...prevState.updates, 'Success alert dismissed'],
|
|
74
|
-
}));
|
|
75
|
-
}}
|
|
76
|
-
message="Neutral alert with dismiss option"
|
|
77
|
-
{...this.props}
|
|
78
|
-
/>
|
|
79
|
-
{this.state.dismissed && (
|
|
80
|
-
<BpkButtonPrimary
|
|
81
|
-
className={getClassName('bpk-banner-alert-examples__component')}
|
|
82
|
-
onClick={() => {
|
|
83
|
-
this.setState((prevState) => ({
|
|
84
|
-
dismissed: false,
|
|
85
|
-
updates: [...prevState.updates, 'Success alert added'],
|
|
86
|
-
}));
|
|
87
|
-
}}
|
|
88
|
-
>
|
|
89
|
-
Reset
|
|
90
|
-
</BpkButtonPrimary>
|
|
91
|
-
)}
|
|
92
|
-
<AriaLiveDemo
|
|
93
|
-
visible
|
|
94
|
-
className={getClassName('bpk-banner-alert-examples__component')}
|
|
95
|
-
>
|
|
96
|
-
{this.state.updates.map((u) => (
|
|
97
|
-
<>
|
|
98
|
-
{u}
|
|
99
|
-
<br />
|
|
100
|
-
</>
|
|
101
|
-
))}
|
|
102
|
-
</AriaLiveDemo>
|
|
103
|
-
</>
|
|
104
|
-
);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
const BpkBannerAlertExpandableState = withBannerAlertState(
|
|
109
|
-
BpkBannerAlertExpandable,
|
|
110
|
-
);
|
|
111
|
-
|
|
112
|
-
const Neutral = (props: {}) => (
|
|
113
|
-
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
114
|
-
<BpkBannerAlert
|
|
115
|
-
message="Neutral alert"
|
|
116
|
-
type={ALERT_TYPES.NEUTRAL}
|
|
117
|
-
{...props}
|
|
118
|
-
/>
|
|
119
|
-
);
|
|
120
|
-
const Primary = (props: {}) => (
|
|
121
|
-
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
122
|
-
<BpkBannerAlert
|
|
123
|
-
message="Primary alert"
|
|
124
|
-
type={ALERT_TYPES.PRIMARY}
|
|
125
|
-
{...props}
|
|
126
|
-
/>
|
|
127
|
-
);
|
|
128
|
-
const Success = (props: {}) => (
|
|
129
|
-
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
130
|
-
<BpkBannerAlert
|
|
131
|
-
message="Success alert"
|
|
132
|
-
type={ALERT_TYPES.SUCCESS}
|
|
133
|
-
{...props}
|
|
134
|
-
/>
|
|
135
|
-
);
|
|
136
|
-
const SuccessLongMessage = (props: {}) => (
|
|
137
|
-
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
138
|
-
<BpkBannerAlert message={longMessage} type={ALERT_TYPES.SUCCESS} {...props} />
|
|
139
|
-
);
|
|
140
|
-
const Dismissable = () => (
|
|
141
|
-
<BpkBannerAlertDismissable
|
|
142
|
-
dismissButtonLabel="Dismiss"
|
|
143
|
-
message="Dimissable alert"
|
|
144
|
-
type={ALERT_TYPES.SUCCESS}
|
|
145
|
-
onDismiss={action('dismissed')}
|
|
146
|
-
/>
|
|
147
|
-
);
|
|
148
|
-
const SuccessExpandable = () => (
|
|
149
|
-
<BpkBannerAlertExpandable
|
|
150
|
-
message="Success alert"
|
|
151
|
-
type={ALERT_TYPES.SUCCESS}
|
|
152
|
-
toggleButtonLabel="View more"
|
|
153
|
-
>
|
|
154
|
-
{longMessage}
|
|
155
|
-
</BpkBannerAlertExpandable>
|
|
156
|
-
);
|
|
157
|
-
const SuccessAnimateOnEnter = () => (
|
|
158
|
-
<BpkBannerAlert
|
|
159
|
-
animateOnEnter
|
|
160
|
-
message={message}
|
|
161
|
-
type={ALERT_TYPES.SUCCESS}
|
|
162
|
-
onDismiss={action('dismissed')}
|
|
163
|
-
/>
|
|
164
|
-
);
|
|
165
|
-
const SuccessWithReactRenderedMessage = (props: {}) => (
|
|
166
|
-
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
167
|
-
<BpkBannerAlert
|
|
168
|
-
message={
|
|
169
|
-
<span style={{ fontWeight: fontWeightBold }}>
|
|
170
|
-
Successful alert with custom rendered message
|
|
171
|
-
</span>
|
|
172
|
-
}
|
|
173
|
-
type={ALERT_TYPES.SUCCESS}
|
|
174
|
-
{...props}
|
|
175
|
-
/>
|
|
176
|
-
);
|
|
177
|
-
const Warn = (props: {}) => (
|
|
178
|
-
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
179
|
-
<BpkBannerAlert message="Warn alert" type={ALERT_TYPES.WARN} {...props} />
|
|
180
|
-
);
|
|
181
|
-
const ErrorExample = (props: {}) => (
|
|
182
|
-
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
183
|
-
<BpkBannerAlert message="Error alert" type={ALERT_TYPES.ERROR} {...props} />
|
|
184
|
-
);
|
|
185
|
-
const Event = (props: {}) => (
|
|
186
|
-
// $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'.
|
|
187
|
-
<BpkBannerAlert message="Event alert" type={ALERT_TYPES.EVENT} {...props} />
|
|
188
|
-
);
|
|
189
|
-
const SuccessDismissableBehaviour = () => (
|
|
190
|
-
<BpkBannerAlertDismissableState
|
|
191
|
-
dismissButtonLabel="Dismiss"
|
|
192
|
-
message="Success alert with dismiss option"
|
|
193
|
-
type={ALERT_TYPES.SUCCESS}
|
|
194
|
-
/>
|
|
195
|
-
);
|
|
196
|
-
const SuccessExpandableBehaviour = () => (
|
|
197
|
-
<BpkBannerAlertExpandableState
|
|
198
|
-
message="Success alert with more information"
|
|
199
|
-
type={ALERT_TYPES.SUCCESS}
|
|
200
|
-
toggleButtonLabel="View more"
|
|
201
|
-
>
|
|
202
|
-
{longMessage}
|
|
203
|
-
</BpkBannerAlertExpandableState>
|
|
204
|
-
);
|
|
205
|
-
const SuccessAutomaticallyDismissed = () => (
|
|
206
|
-
<BpkBannerAlertDismissableState
|
|
207
|
-
hideAfter={5}
|
|
208
|
-
message={message}
|
|
209
|
-
type={ALERT_TYPES.SUCCESS}
|
|
210
|
-
dismissButtonLabel="Dismiss"
|
|
211
|
-
/>
|
|
212
|
-
);
|
|
213
|
-
const SuccessCustomIcon = () => (
|
|
214
|
-
<BpkBannerAlert
|
|
215
|
-
message="Success alert with custom icon"
|
|
216
|
-
type={ALERT_TYPES.SUCCESS}
|
|
217
|
-
icon={CurrencyIcon}
|
|
218
|
-
/>
|
|
219
|
-
);
|
|
220
|
-
|
|
221
|
-
const DocsDefault = () => (
|
|
222
|
-
<>
|
|
223
|
-
<Neutral />
|
|
224
|
-
<Primary className={getClassName('bpk-banner-alert-examples__component')} />
|
|
225
|
-
<Success className={getClassName('bpk-banner-alert-examples__component')} />
|
|
226
|
-
<SuccessWithReactRenderedMessage
|
|
227
|
-
className={getClassName('bpk-banner-alert-examples__component')}
|
|
228
|
-
/>
|
|
229
|
-
<Warn className={getClassName('bpk-banner-alert-examples__component')} />
|
|
230
|
-
<ErrorExample
|
|
231
|
-
className={getClassName('bpk-banner-alert-examples__component')}
|
|
232
|
-
/>
|
|
233
|
-
</>
|
|
234
|
-
);
|
|
235
|
-
|
|
236
|
-
export {
|
|
237
|
-
Neutral,
|
|
238
|
-
Primary,
|
|
239
|
-
Success,
|
|
240
|
-
SuccessLongMessage,
|
|
241
|
-
Dismissable,
|
|
242
|
-
SuccessExpandable,
|
|
243
|
-
SuccessAnimateOnEnter,
|
|
244
|
-
SuccessWithReactRenderedMessage,
|
|
245
|
-
Warn,
|
|
246
|
-
ErrorExample,
|
|
247
|
-
Event,
|
|
248
|
-
SuccessDismissableBehaviour,
|
|
249
|
-
SuccessExpandableBehaviour,
|
|
250
|
-
SuccessAutomaticallyDismissed,
|
|
251
|
-
SuccessCustomIcon,
|
|
252
|
-
DocsDefault,
|
|
253
|
-
};
|
|
@@ -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-banner-alert-examples__component{margin-top:1rem}
|
|
@@ -1,27 +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-banner-alert-examples {
|
|
24
|
-
&__component {
|
|
25
|
-
margin-top: bpk-spacing-base();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,334 +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
|
-
/* @flow strict */
|
|
20
|
-
|
|
21
|
-
import React from 'react';
|
|
22
|
-
import { number } from 'prop-types';
|
|
23
|
-
import { cssModules, withDefaultProps } from '../bpk-react-utils';
|
|
24
|
-
import BpkText, { TEXT_STYLES } from '../bpk-component-text';
|
|
25
|
-
import { updateOnDirectionChange } from '../bpk-component-rtl-toggle';
|
|
26
|
-
import { lineHeightSm } from '@skyscanner/bpk-foundations-web/tokens/base.es6';
|
|
27
|
-
import { scaleLinear, scaleBand } from 'd3-scale';
|
|
28
|
-
|
|
29
|
-
import { remToPx } from './src/utils';
|
|
30
|
-
import { ORIENTATION_X, ORIENTATION_Y } from './src/orientation';
|
|
31
|
-
import { withSelectedState } from './hocs';
|
|
32
|
-
import STYLES from './stories.module.scss';
|
|
33
|
-
|
|
34
|
-
import BpkBarchart, {
|
|
35
|
-
BpkChartGridLines,
|
|
36
|
-
BpkChartAxis,
|
|
37
|
-
BpkChartMargin,
|
|
38
|
-
} from './index';
|
|
39
|
-
|
|
40
|
-
const getClassName = cssModules(STYLES);
|
|
41
|
-
|
|
42
|
-
const Heading = withDefaultProps(BpkText, {
|
|
43
|
-
textStyle: TEXT_STYLES.subheading,
|
|
44
|
-
tagName: 'h1',
|
|
45
|
-
className: getClassName('bpk-heading'),
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
const RtlBarchart = updateOnDirectionChange(BpkBarchart);
|
|
49
|
-
const SelectableBarChart = withSelectedState(RtlBarchart);
|
|
50
|
-
|
|
51
|
-
const data = require('./data.json');
|
|
52
|
-
|
|
53
|
-
const margin = {
|
|
54
|
-
top: 0,
|
|
55
|
-
left: 40, // eslint-disable-line backpack/use-tokens
|
|
56
|
-
bottom: 40, // eslint-disable-line backpack/use-tokens
|
|
57
|
-
right: 0,
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
const Gridlines = ({ size, ...rest }) => (
|
|
61
|
-
<svg xmlns="http://www.w3.org/2000/svg" width={size} height={size}>
|
|
62
|
-
<BpkChartMargin margin={margin}>
|
|
63
|
-
<BpkChartAxis
|
|
64
|
-
orientation={ORIENTATION_X}
|
|
65
|
-
height={size}
|
|
66
|
-
width={size}
|
|
67
|
-
margin={margin}
|
|
68
|
-
{...rest}
|
|
69
|
-
/>
|
|
70
|
-
<BpkChartAxis
|
|
71
|
-
orientation={ORIENTATION_Y}
|
|
72
|
-
width={size}
|
|
73
|
-
height={size}
|
|
74
|
-
margin={margin}
|
|
75
|
-
{...rest}
|
|
76
|
-
/>
|
|
77
|
-
<BpkChartGridLines
|
|
78
|
-
orientation={ORIENTATION_X}
|
|
79
|
-
width={size}
|
|
80
|
-
height={size}
|
|
81
|
-
margin={margin}
|
|
82
|
-
{...rest}
|
|
83
|
-
/>
|
|
84
|
-
<BpkChartGridLines
|
|
85
|
-
orientation={ORIENTATION_Y}
|
|
86
|
-
width={size}
|
|
87
|
-
height={size}
|
|
88
|
-
margin={margin}
|
|
89
|
-
{...rest}
|
|
90
|
-
/>
|
|
91
|
-
</BpkChartMargin>
|
|
92
|
-
</svg>
|
|
93
|
-
);
|
|
94
|
-
|
|
95
|
-
Gridlines.propTypes = { size: number.isRequired };
|
|
96
|
-
|
|
97
|
-
const AxesAndGridlines = () => {
|
|
98
|
-
const dataset = [
|
|
99
|
-
[5, 20],
|
|
100
|
-
[480, 90],
|
|
101
|
-
[250, 50],
|
|
102
|
-
[100, 33],
|
|
103
|
-
[330, 95],
|
|
104
|
-
[410, 12],
|
|
105
|
-
[475, 44],
|
|
106
|
-
[25, 67],
|
|
107
|
-
[85, 21],
|
|
108
|
-
[220, 88],
|
|
109
|
-
];
|
|
110
|
-
const size = 440;
|
|
111
|
-
const scale = scaleLinear()
|
|
112
|
-
.domain([5, 480])
|
|
113
|
-
.range([0, size - 40]);
|
|
114
|
-
const scale2 = scaleBand()
|
|
115
|
-
.domain(dataset.map((d) => d[0]))
|
|
116
|
-
.range([0, size - 40]);
|
|
117
|
-
|
|
118
|
-
return (
|
|
119
|
-
<div>
|
|
120
|
-
<Heading>Linear scale</Heading>
|
|
121
|
-
<Gridlines scale={scale} size={size} />
|
|
122
|
-
<Gridlines scale={scale} size={size} numTicks={2} />
|
|
123
|
-
<Heading>Band scale</Heading>
|
|
124
|
-
<Gridlines scale={scale2} size={size} />
|
|
125
|
-
<Gridlines scale={scale2} size={size} tickEvery={2} />
|
|
126
|
-
<Gridlines scale={scale2} size={size} tickEvery={2} tickOffset={1} />
|
|
127
|
-
</div>
|
|
128
|
-
);
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
const DefaultExample = () => (
|
|
132
|
-
<RtlBarchart
|
|
133
|
-
initialWidth={500}
|
|
134
|
-
initialHeight={300}
|
|
135
|
-
data={data.prices}
|
|
136
|
-
xScaleDataKey="month"
|
|
137
|
-
yScaleDataKey="price"
|
|
138
|
-
style={{
|
|
139
|
-
maxWidth: '580px',
|
|
140
|
-
minWidth: '400px',
|
|
141
|
-
}}
|
|
142
|
-
xAxisLabel="Month"
|
|
143
|
-
yAxisLabel="Average Price (£)"
|
|
144
|
-
/>
|
|
145
|
-
);
|
|
146
|
-
|
|
147
|
-
const CustomScrollColors = () => (
|
|
148
|
-
<RtlBarchart
|
|
149
|
-
initialWidth={500}
|
|
150
|
-
initialHeight={300}
|
|
151
|
-
data={data.prices}
|
|
152
|
-
xScaleDataKey="month"
|
|
153
|
-
yScaleDataKey="price"
|
|
154
|
-
style={{
|
|
155
|
-
maxWidth: '580px',
|
|
156
|
-
minWidth: '400px',
|
|
157
|
-
}}
|
|
158
|
-
xAxisLabel="Month"
|
|
159
|
-
yAxisLabel="Average Price (£)"
|
|
160
|
-
className={getClassName('bpk-barchart-custom-scrollers')}
|
|
161
|
-
leadingScrollIndicatorClassName={getClassName(
|
|
162
|
-
'bpk-barchart-custom-scrollers--leading',
|
|
163
|
-
)}
|
|
164
|
-
trailingScrollIndicatorClassName={getClassName(
|
|
165
|
-
'bpk-barchart-custom-scrollers--trailing',
|
|
166
|
-
)}
|
|
167
|
-
/>
|
|
168
|
-
);
|
|
169
|
-
|
|
170
|
-
const DefaultDisabledDataTable = () => (
|
|
171
|
-
<RtlBarchart
|
|
172
|
-
initialWidth={500}
|
|
173
|
-
initialHeight={300}
|
|
174
|
-
data={data.prices}
|
|
175
|
-
xScaleDataKey="month"
|
|
176
|
-
yScaleDataKey="price"
|
|
177
|
-
style={{
|
|
178
|
-
maxWidth: '580px',
|
|
179
|
-
minWidth: '400px',
|
|
180
|
-
}}
|
|
181
|
-
xAxisLabel="Month"
|
|
182
|
-
yAxisLabel="Average Price (£)"
|
|
183
|
-
disableDataTable
|
|
184
|
-
/>
|
|
185
|
-
);
|
|
186
|
-
|
|
187
|
-
const Interactive = () => (
|
|
188
|
-
<SelectableBarChart
|
|
189
|
-
initialWidth={500}
|
|
190
|
-
initialHeight={300}
|
|
191
|
-
data={data.prices}
|
|
192
|
-
xScaleDataKey="month"
|
|
193
|
-
yScaleDataKey="price"
|
|
194
|
-
style={{
|
|
195
|
-
maxWidth: '580px',
|
|
196
|
-
minWidth: '400px',
|
|
197
|
-
}}
|
|
198
|
-
xAxisLabel="Month"
|
|
199
|
-
yAxisLabel="Average Price (£)"
|
|
200
|
-
/>
|
|
201
|
-
);
|
|
202
|
-
|
|
203
|
-
const Outliers = () => (
|
|
204
|
-
<RtlBarchart
|
|
205
|
-
initialWidth={500}
|
|
206
|
-
initialHeight={300}
|
|
207
|
-
data={data.prices2}
|
|
208
|
-
xScaleDataKey="month"
|
|
209
|
-
yScaleDataKey="price"
|
|
210
|
-
style={{
|
|
211
|
-
maxWidth: '580px',
|
|
212
|
-
}}
|
|
213
|
-
xAxisLabel="Month"
|
|
214
|
-
yAxisLabel="Average Price (£)"
|
|
215
|
-
outlierPercentage={25}
|
|
216
|
-
/>
|
|
217
|
-
);
|
|
218
|
-
|
|
219
|
-
const CustomTicks = () => (
|
|
220
|
-
<RtlBarchart
|
|
221
|
-
initialWidth={500}
|
|
222
|
-
initialHeight={300}
|
|
223
|
-
data={data.prices}
|
|
224
|
-
xScaleDataKey="month"
|
|
225
|
-
yScaleDataKey="price"
|
|
226
|
-
style={{
|
|
227
|
-
maxWidth: '580px',
|
|
228
|
-
}}
|
|
229
|
-
xAxisLabel="Month"
|
|
230
|
-
yAxisLabel="Average Price (£)"
|
|
231
|
-
yAxisNumTicks={3}
|
|
232
|
-
xAxisTickEvery={2}
|
|
233
|
-
xAxisTickOffset={1}
|
|
234
|
-
/>
|
|
235
|
-
);
|
|
236
|
-
|
|
237
|
-
const CustomTickLabels = () => (
|
|
238
|
-
<RtlBarchart
|
|
239
|
-
initialWidth={500}
|
|
240
|
-
initialHeight={300}
|
|
241
|
-
data={data.prices}
|
|
242
|
-
xScaleDataKey="month"
|
|
243
|
-
yScaleDataKey="price"
|
|
244
|
-
style={{
|
|
245
|
-
maxWidth: '580px',
|
|
246
|
-
}}
|
|
247
|
-
xAxisLabel="Month"
|
|
248
|
-
xAxisMargin={3 * remToPx(lineHeightSm) + 12}
|
|
249
|
-
xAxisTickValue={(tick) => {
|
|
250
|
-
let season = '❄️';
|
|
251
|
-
if (['Mar', 'Apr', 'May'].indexOf(tick) > -1) {
|
|
252
|
-
season = '🌻';
|
|
253
|
-
}
|
|
254
|
-
if (['Jun', 'Jul', 'Aug'].indexOf(tick) > -1) {
|
|
255
|
-
season = '☀️';
|
|
256
|
-
}
|
|
257
|
-
if (['Sep', 'Oct', 'Nov'].indexOf(tick) > -1) {
|
|
258
|
-
season = '🍁';
|
|
259
|
-
}
|
|
260
|
-
return [
|
|
261
|
-
<tspan x="0" dy="0" style={{ fontWeight: 'bold' }} key="month">
|
|
262
|
-
{tick}
|
|
263
|
-
</tspan>,
|
|
264
|
-
<tspan x="0" dy={remToPx(lineHeightSm)} key="season">
|
|
265
|
-
{season}
|
|
266
|
-
</tspan>,
|
|
267
|
-
<tspan key="ltr">‎</tspan>,
|
|
268
|
-
];
|
|
269
|
-
}}
|
|
270
|
-
yAxisLabel="Average Price"
|
|
271
|
-
yAxisMargin={4 * remToPx(lineHeightSm)}
|
|
272
|
-
yAxisTickValue={(v) => `£${v}`}
|
|
273
|
-
/>
|
|
274
|
-
);
|
|
275
|
-
|
|
276
|
-
const GridlinesExample = () => (
|
|
277
|
-
<RtlBarchart
|
|
278
|
-
initialWidth={500}
|
|
279
|
-
initialHeight={300}
|
|
280
|
-
data={data.prices}
|
|
281
|
-
xScaleDataKey="month"
|
|
282
|
-
yScaleDataKey="price"
|
|
283
|
-
style={{
|
|
284
|
-
maxWidth: '580px',
|
|
285
|
-
}}
|
|
286
|
-
xAxisLabel="Month"
|
|
287
|
-
yAxisLabel="Average Price (£)"
|
|
288
|
-
showGridlines
|
|
289
|
-
/>
|
|
290
|
-
);
|
|
291
|
-
|
|
292
|
-
const CustomYAxisDomain = () => (
|
|
293
|
-
<div>
|
|
294
|
-
<Heading>Domain (0 - 800)</Heading>
|
|
295
|
-
<RtlBarchart
|
|
296
|
-
initialWidth={500}
|
|
297
|
-
initialHeight={300}
|
|
298
|
-
data={data.prices}
|
|
299
|
-
xScaleDataKey="month"
|
|
300
|
-
yScaleDataKey="price"
|
|
301
|
-
style={{
|
|
302
|
-
maxWidth: '580px',
|
|
303
|
-
}}
|
|
304
|
-
showGridlines
|
|
305
|
-
yAxisDomain={[0, 800]}
|
|
306
|
-
/>
|
|
307
|
-
<Heading>Domain (300 - null)</Heading>
|
|
308
|
-
<RtlBarchart
|
|
309
|
-
initialWidth={500}
|
|
310
|
-
initialHeight={300}
|
|
311
|
-
data={data.prices}
|
|
312
|
-
xScaleDataKey="month"
|
|
313
|
-
yScaleDataKey="price"
|
|
314
|
-
style={{
|
|
315
|
-
maxWidth: '580px',
|
|
316
|
-
}}
|
|
317
|
-
showGridlines
|
|
318
|
-
yAxisDomain={[300, null]}
|
|
319
|
-
/>
|
|
320
|
-
</div>
|
|
321
|
-
);
|
|
322
|
-
|
|
323
|
-
export {
|
|
324
|
-
AxesAndGridlines,
|
|
325
|
-
DefaultExample,
|
|
326
|
-
CustomScrollColors,
|
|
327
|
-
DefaultDisabledDataTable,
|
|
328
|
-
Interactive,
|
|
329
|
-
Outliers,
|
|
330
|
-
CustomTicks,
|
|
331
|
-
CustomTickLabels,
|
|
332
|
-
GridlinesExample,
|
|
333
|
-
CustomYAxisDomain,
|
|
334
|
-
};
|
|
@@ -1,67 +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
|
-
/* @flow strict */
|
|
20
|
-
|
|
21
|
-
import isEqual from 'lodash/isEqual';
|
|
22
|
-
import React, { Component, type ComponentType } from 'react';
|
|
23
|
-
import { wrapDisplayName } from '../bpk-react-utils';
|
|
24
|
-
|
|
25
|
-
// eslint-disable-next-line import/prefer-default-export
|
|
26
|
-
export const withSelectedState = (ComposedComponent: ComponentType<any>) => {
|
|
27
|
-
type State = {
|
|
28
|
-
selectedPoint: ?number,
|
|
29
|
-
};
|
|
30
|
-
class WithSelectedState extends Component<{}, State> {
|
|
31
|
-
constructor() {
|
|
32
|
-
super();
|
|
33
|
-
|
|
34
|
-
this.state = {
|
|
35
|
-
selectedPoint: null,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
onBarClick = (e: SyntheticEvent<any>, { point }: { point: number }) => {
|
|
40
|
-
this.setState({
|
|
41
|
-
selectedPoint: point,
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
getBarSelection = (point: number) =>
|
|
46
|
-
isEqual(this.state.selectedPoint, point);
|
|
47
|
-
|
|
48
|
-
render() {
|
|
49
|
-
const { ...rest } = this.props;
|
|
50
|
-
|
|
51
|
-
return (
|
|
52
|
-
<ComposedComponent
|
|
53
|
-
{...rest}
|
|
54
|
-
onBarClick={this.onBarClick}
|
|
55
|
-
getBarSelection={this.getBarSelection}
|
|
56
|
-
/>
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
WithSelectedState.displayName = wrapDisplayName(
|
|
62
|
-
ComposedComponent,
|
|
63
|
-
'withSelectedState',
|
|
64
|
-
);
|
|
65
|
-
|
|
66
|
-
return WithSelectedState;
|
|
67
|
-
};
|