@skyscanner/backpack-web 0.0.5 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +5 -17
- package/bpk-component-accordion/src/withAccordionItemState.js +2 -1
- 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 +9 -8
- 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 +12 -11
- package/bpk-component-calendar/src/BpkCalendarNav.js +9 -8
- package/bpk-component-calendar/src/Week.js +6 -5
- 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 +2 -1
- package/bpk-component-drawer/package.json +10 -10
- package/bpk-component-drawer/src/BpkDrawer.js +2 -1
- 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 +4 -2
- 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 +28 -27
- package/bpk-component-infinite-scroll/package.json +7 -7
- package/bpk-component-infinite-scroll/src/withInfiniteScroll.js +107 -106
- 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 +8 -7
- 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 +6 -4
- 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 +2 -1
- 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 +4 -3
- 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 +7 -6
- 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 +5 -7
- package/bpk-animate-height/examples.js +0 -67
- package/bpk-component-accordion/examples.js +0 -316
- package/bpk-component-aria-live/examples.js +0 -247
- 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
|
@@ -1,267 +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 PropTypes from 'prop-types';
|
|
22
|
-
import React, { Component, type Node } from 'react';
|
|
23
|
-
import { cssModules, withDefaultProps } from '../bpk-react-utils';
|
|
24
|
-
import BpkButton from '../bpk-component-button';
|
|
25
|
-
import BpkText, { TEXT_STYLES } from '../bpk-component-text';
|
|
26
|
-
import BpkContentContainer from '../bpk-component-content-container';
|
|
27
|
-
import BpkInput, { withOpenEvents } from '../bpk-component-input';
|
|
28
|
-
|
|
29
|
-
import STYLES from './examples.module.scss';
|
|
30
|
-
|
|
31
|
-
import BpkPopover from './index';
|
|
32
|
-
|
|
33
|
-
const getClassName = cssModules(STYLES);
|
|
34
|
-
|
|
35
|
-
const EnhancedInput = withOpenEvents(BpkInput);
|
|
36
|
-
|
|
37
|
-
const Paragraph = withDefaultProps(BpkText, {
|
|
38
|
-
textStyle: TEXT_STYLES.bodyDefault,
|
|
39
|
-
tagName: 'p',
|
|
40
|
-
className: getClassName('bpk-popover-paragraph'),
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
type Props = {
|
|
44
|
-
id: string,
|
|
45
|
-
changeProps: boolean,
|
|
46
|
-
closeProgrammatically: boolean,
|
|
47
|
-
inputTrigger: boolean,
|
|
48
|
-
targetFunction: ?() => ?HTMLElement,
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
type State = {
|
|
52
|
-
isOpen: boolean,
|
|
53
|
-
changedTarget: ?() => ?HTMLElement,
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
class PopoverContainer extends Component<Props, State> {
|
|
57
|
-
static propTypes = {
|
|
58
|
-
className: PropTypes.string,
|
|
59
|
-
id: PropTypes.string.isRequired,
|
|
60
|
-
changeProps: PropTypes.bool,
|
|
61
|
-
closeProgrammatically: PropTypes.bool,
|
|
62
|
-
inputTrigger: PropTypes.bool,
|
|
63
|
-
targetFunction: PropTypes.func,
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
static defaultProps = {
|
|
67
|
-
className: null,
|
|
68
|
-
changeProps: false,
|
|
69
|
-
closeProgrammatically: false,
|
|
70
|
-
inputTrigger: false,
|
|
71
|
-
targetFunction: null,
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
constructor() {
|
|
75
|
-
super();
|
|
76
|
-
|
|
77
|
-
this.state = {
|
|
78
|
-
isOpen: false,
|
|
79
|
-
changedTarget: null,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
openPopover = () => {
|
|
84
|
-
this.setState({
|
|
85
|
-
isOpen: true,
|
|
86
|
-
});
|
|
87
|
-
if (this.props.closeProgrammatically) {
|
|
88
|
-
setTimeout(() => {
|
|
89
|
-
this.closePopover();
|
|
90
|
-
}, 2000);
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
closePopover = () => {
|
|
95
|
-
this.setState({
|
|
96
|
-
isOpen: false,
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
changeTarget = () => {
|
|
101
|
-
const changedTarget = (): ?HTMLElement =>
|
|
102
|
-
document.getElementById('reposition-alt-target');
|
|
103
|
-
|
|
104
|
-
this.setState({ changedTarget });
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
render() {
|
|
108
|
-
const { changeProps, id, inputTrigger, targetFunction, ...rest } =
|
|
109
|
-
this.props;
|
|
110
|
-
let target = null;
|
|
111
|
-
let openButton = <BpkButton onClick={this.openPopover}> Open </BpkButton>;
|
|
112
|
-
|
|
113
|
-
if (targetFunction != null) {
|
|
114
|
-
target = targetFunction;
|
|
115
|
-
} else if (this.state.changedTarget) {
|
|
116
|
-
target = this.state.changedTarget;
|
|
117
|
-
} else {
|
|
118
|
-
target = openButton;
|
|
119
|
-
openButton = null;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
const renderTarget: ?Function = (): ?HTMLElement =>
|
|
123
|
-
document.getElementById('popover-container');
|
|
124
|
-
|
|
125
|
-
return (
|
|
126
|
-
<div id="popover-container">
|
|
127
|
-
{openButton}
|
|
128
|
-
{/* $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'. */}
|
|
129
|
-
<BpkPopover
|
|
130
|
-
closeButtonText="Close"
|
|
131
|
-
id={`my-popover-${id}`}
|
|
132
|
-
isOpen={this.state.isOpen}
|
|
133
|
-
label="My popover"
|
|
134
|
-
onClose={this.closePopover}
|
|
135
|
-
renderTarget={renderTarget}
|
|
136
|
-
target={
|
|
137
|
-
inputTrigger ? (
|
|
138
|
-
<EnhancedInput
|
|
139
|
-
id="input"
|
|
140
|
-
name="input"
|
|
141
|
-
value="John Smith"
|
|
142
|
-
isOpen={this.state.isOpen}
|
|
143
|
-
onOpen={this.openPopover}
|
|
144
|
-
onChange={() => null}
|
|
145
|
-
/>
|
|
146
|
-
) : (
|
|
147
|
-
target
|
|
148
|
-
)
|
|
149
|
-
}
|
|
150
|
-
{...rest}
|
|
151
|
-
>
|
|
152
|
-
<BpkContentContainer>
|
|
153
|
-
<Paragraph>My popover content.</Paragraph>
|
|
154
|
-
<Paragraph>Some more popover content.</Paragraph>
|
|
155
|
-
{changeProps ? (
|
|
156
|
-
<BpkButton onClick={this.changeTarget}>Change target</BpkButton>
|
|
157
|
-
) : null}
|
|
158
|
-
</BpkContentContainer>
|
|
159
|
-
</BpkPopover>
|
|
160
|
-
</div>
|
|
161
|
-
);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
const Spacer = (props: { children: Node }) => (
|
|
166
|
-
<div className={getClassName('bpk-popover-spacer')}>{props.children}</div>
|
|
167
|
-
);
|
|
168
|
-
|
|
169
|
-
const DefaultExample = () => (
|
|
170
|
-
<Spacer>
|
|
171
|
-
<PopoverContainer id="my-popover-1" />
|
|
172
|
-
</Spacer>
|
|
173
|
-
);
|
|
174
|
-
|
|
175
|
-
const WithLabelAsTitleExample = () => (
|
|
176
|
-
<Spacer>
|
|
177
|
-
<PopoverContainer id="my-popover" labelAsTitle />
|
|
178
|
-
</Spacer>
|
|
179
|
-
);
|
|
180
|
-
|
|
181
|
-
const AlongsideInputExample = () => (
|
|
182
|
-
<Spacer>
|
|
183
|
-
<PopoverContainer id="my-popover" labelAsTitle />
|
|
184
|
-
<input name="input" />
|
|
185
|
-
</Spacer>
|
|
186
|
-
);
|
|
187
|
-
|
|
188
|
-
const CloseProgrammaticallyExample = () => (
|
|
189
|
-
<Spacer>
|
|
190
|
-
<PopoverContainer id="my-popover" labelAsTitle closeProgrammatically />
|
|
191
|
-
</Spacer>
|
|
192
|
-
);
|
|
193
|
-
|
|
194
|
-
const WithLabelAsTitleAndTextCloseButtonExample = () => (
|
|
195
|
-
<Spacer>
|
|
196
|
-
<PopoverContainer id="my-popover" labelAsTitle closeButtonIcon={false} />
|
|
197
|
-
</Spacer>
|
|
198
|
-
);
|
|
199
|
-
|
|
200
|
-
const OnTheSideExample = () => (
|
|
201
|
-
<Spacer>
|
|
202
|
-
<PopoverContainer id="my-popover" placement="right" />
|
|
203
|
-
</Spacer>
|
|
204
|
-
);
|
|
205
|
-
|
|
206
|
-
const AttachToExternalExample = () => (
|
|
207
|
-
<Spacer>
|
|
208
|
-
<div id="attachElement">Pop over attached here</div>
|
|
209
|
-
<p> </p>
|
|
210
|
-
<PopoverContainer
|
|
211
|
-
id="my-popover"
|
|
212
|
-
targetFunction={() => document.getElementById('attachElement')}
|
|
213
|
-
/>
|
|
214
|
-
</Spacer>
|
|
215
|
-
);
|
|
216
|
-
|
|
217
|
-
const NoRenderWhenNoExternalElementExample = () => (
|
|
218
|
-
<Spacer>
|
|
219
|
-
<div id="attachElement">Popover does not open</div>
|
|
220
|
-
<p> </p>
|
|
221
|
-
<PopoverContainer
|
|
222
|
-
id="my-popover"
|
|
223
|
-
targetFunction={() => document.getElementById('doesNotExist')}
|
|
224
|
-
/>
|
|
225
|
-
</Spacer>
|
|
226
|
-
);
|
|
227
|
-
|
|
228
|
-
const RepositioningExample = () => (
|
|
229
|
-
// This story demonstrates the popover repositioning itself when props change (including children).
|
|
230
|
-
<Spacer>
|
|
231
|
-
<Paragraph id="reposition-alt-target" style={{ float: 'right' }}>
|
|
232
|
-
Different target
|
|
233
|
-
</Paragraph>
|
|
234
|
-
<PopoverContainer id="my-popover" changeProps />
|
|
235
|
-
</Spacer>
|
|
236
|
-
);
|
|
237
|
-
|
|
238
|
-
const PopperModifiersExample = () => (
|
|
239
|
-
<Spacer>
|
|
240
|
-
<PopoverContainer
|
|
241
|
-
id="my-popover"
|
|
242
|
-
popperModifiers={{
|
|
243
|
-
flip: { enabled: false },
|
|
244
|
-
}}
|
|
245
|
-
/>
|
|
246
|
-
</Spacer>
|
|
247
|
-
);
|
|
248
|
-
|
|
249
|
-
const InputTriggerExample = () => (
|
|
250
|
-
<Spacer>
|
|
251
|
-
<PopoverContainer id="my-popover-1" inputTrigger />
|
|
252
|
-
</Spacer>
|
|
253
|
-
);
|
|
254
|
-
|
|
255
|
-
export {
|
|
256
|
-
DefaultExample,
|
|
257
|
-
WithLabelAsTitleExample,
|
|
258
|
-
AlongsideInputExample,
|
|
259
|
-
CloseProgrammaticallyExample,
|
|
260
|
-
WithLabelAsTitleAndTextCloseButtonExample,
|
|
261
|
-
OnTheSideExample,
|
|
262
|
-
AttachToExternalExample,
|
|
263
|
-
NoRenderWhenNoExternalElementExample,
|
|
264
|
-
RepositioningExample,
|
|
265
|
-
PopperModifiersExample,
|
|
266
|
-
InputTriggerExample,
|
|
267
|
-
};
|
|
@@ -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-popover-paragraph{margin-bottom:0.25rem}.bpk-popover-spacer{display:flex;height:6.25rem;margin:1.875rem;justify-content:space-around;align-items:flex-start}
|
|
@@ -1,33 +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';
|
|
20
|
-
|
|
21
|
-
$bpk-spacing-v2: true;
|
|
22
|
-
|
|
23
|
-
.bpk-popover-paragraph {
|
|
24
|
-
margin-bottom: bpk-spacing-sm();
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.bpk-popover-spacer {
|
|
28
|
-
display: flex;
|
|
29
|
-
height: 100 * $bpk-one-pixel-rem;
|
|
30
|
-
margin: 30 * $bpk-one-pixel-rem;
|
|
31
|
-
justify-content: space-around;
|
|
32
|
-
align-items: flex-start;
|
|
33
|
-
}
|
|
@@ -1,130 +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, { Component } from 'react';
|
|
22
|
-
import BpkButton from '../bpk-component-button';
|
|
23
|
-
import { cssModules } from '../bpk-react-utils';
|
|
24
|
-
|
|
25
|
-
import STYLES from './examples.module.scss';
|
|
26
|
-
|
|
27
|
-
import BpkProgress from './index';
|
|
28
|
-
|
|
29
|
-
const getClassName = cssModules(STYLES);
|
|
30
|
-
|
|
31
|
-
class ProgressContainer extends Component<{}, { progress: number }> {
|
|
32
|
-
constructor() {
|
|
33
|
-
super();
|
|
34
|
-
|
|
35
|
-
this.state = {
|
|
36
|
-
progress: 0,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
render() {
|
|
41
|
-
const { progress } = this.state;
|
|
42
|
-
return (
|
|
43
|
-
<div className={getClassName('bpkdocs-progress-container__flex')}>
|
|
44
|
-
<BpkButton
|
|
45
|
-
secondary
|
|
46
|
-
onClick={() => this.setState({ progress: 0 })}
|
|
47
|
-
disabled={progress === 0}
|
|
48
|
-
>
|
|
49
|
-
Reset
|
|
50
|
-
</BpkButton>
|
|
51
|
-
|
|
52
|
-
<BpkButton
|
|
53
|
-
onClick={() => this.setState({ progress: progress + 50 })}
|
|
54
|
-
disabled={progress === 100}
|
|
55
|
-
>
|
|
56
|
-
Go!
|
|
57
|
-
</BpkButton>
|
|
58
|
-
|
|
59
|
-
<div className={getClassName('bpkdocs-progress-container__flex-grow')}>
|
|
60
|
-
{/* $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'. */}
|
|
61
|
-
<BpkProgress min={0} max={100} value={progress} {...this.props} />
|
|
62
|
-
</div>
|
|
63
|
-
</div>
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
class SteppedProgressContainer extends Component<{}, { progress: number }> {
|
|
69
|
-
constructor() {
|
|
70
|
-
super();
|
|
71
|
-
|
|
72
|
-
this.state = {
|
|
73
|
-
progress: 1,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
setProgress = (progress: number) => {
|
|
78
|
-
if (progress >= 1 && progress <= 5) {
|
|
79
|
-
this.setState({ progress });
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
render() {
|
|
84
|
-
return (
|
|
85
|
-
<div>
|
|
86
|
-
{/* $FlowFixMe[cannot-spread-inexact] - inexact rest. See 'decisions/flowfixme.md'. */}
|
|
87
|
-
<BpkProgress
|
|
88
|
-
min={0}
|
|
89
|
-
max={5}
|
|
90
|
-
value={this.state.progress}
|
|
91
|
-
stepped
|
|
92
|
-
{...this.props}
|
|
93
|
-
/>
|
|
94
|
-
<br />
|
|
95
|
-
<div className={getClassName('bpkdocs-progress-container__flex')}>
|
|
96
|
-
<BpkButton
|
|
97
|
-
secondary
|
|
98
|
-
onClick={() => this.setProgress(this.state.progress - 1)}
|
|
99
|
-
disabled={this.state.progress <= 1}
|
|
100
|
-
>
|
|
101
|
-
Back
|
|
102
|
-
</BpkButton>
|
|
103
|
-
<span>{`Step ${this.state.progress} of 5`}</span>
|
|
104
|
-
<BpkButton
|
|
105
|
-
onClick={() => this.setProgress(this.state.progress + 1)}
|
|
106
|
-
disabled={this.state.progress === 5}
|
|
107
|
-
>
|
|
108
|
-
Continue
|
|
109
|
-
</BpkButton>
|
|
110
|
-
</div>
|
|
111
|
-
</div>
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
const DefaultExample = () => <ProgressContainer />;
|
|
117
|
-
|
|
118
|
-
const SmallExample = () => <ProgressContainer small />;
|
|
119
|
-
|
|
120
|
-
const SteppedExample = () => <SteppedProgressContainer />;
|
|
121
|
-
|
|
122
|
-
const MixedExample = () => (
|
|
123
|
-
<div>
|
|
124
|
-
<DefaultExample />
|
|
125
|
-
<SmallExample />
|
|
126
|
-
<SteppedExample />
|
|
127
|
-
</div>
|
|
128
|
-
);
|
|
129
|
-
|
|
130
|
-
export { DefaultExample, SmallExample, SteppedExample, MixedExample };
|
|
@@ -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
|
-
.bpkdocs-progress-container__flex{display:flex;justify-content:space-between;align-items:center}.bpkdocs-progress-container__flex-grow{flex-grow:1}
|
|
@@ -1,29 +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
|
-
.bpkdocs-progress-container {
|
|
20
|
-
&__flex {
|
|
21
|
-
display: flex;
|
|
22
|
-
justify-content: space-between;
|
|
23
|
-
align-items: center;
|
|
24
|
-
|
|
25
|
-
&-grow {
|
|
26
|
-
flex-grow: 1;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,126 +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 { action, BpkDarkExampleWrapper } from 'bpk-storybook-utils';
|
|
23
|
-
|
|
24
|
-
import BpkRadio from './index';
|
|
25
|
-
|
|
26
|
-
const loremIpsum = `Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorem dolores doloremque, expedita
|
|
27
|
-
quaerat temporibus ipsam, ut, ipsa, velit sed assumenda suscipit dolore quod similique delectus numquam neque!
|
|
28
|
-
Nesciunt, voluptate, illo.`;
|
|
29
|
-
|
|
30
|
-
class GroupExample extends React.Component<{}, { value: string }> {
|
|
31
|
-
constructor() {
|
|
32
|
-
super();
|
|
33
|
-
this.state = { value: 'Lagos' };
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
updateValue = (value: string) => {
|
|
37
|
-
action(`Radio changed. New value: ${value}`);
|
|
38
|
-
this.setState({ value });
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
render() {
|
|
42
|
-
const { value } = this.state;
|
|
43
|
-
const { ...rest } = this.props;
|
|
44
|
-
return (
|
|
45
|
-
<div>
|
|
46
|
-
{['Lagos', 'Kano', 'Ibadan', 'Benin City'].map((city) => (
|
|
47
|
-
<div>
|
|
48
|
-
<BpkRadio
|
|
49
|
-
{...rest}
|
|
50
|
-
id={city}
|
|
51
|
-
name={city}
|
|
52
|
-
label={city}
|
|
53
|
-
onChange={(event) => {
|
|
54
|
-
this.updateValue(event.target.value);
|
|
55
|
-
}}
|
|
56
|
-
value={city}
|
|
57
|
-
checked={value === city}
|
|
58
|
-
disabled={city === 'Benin City'}
|
|
59
|
-
/>
|
|
60
|
-
</div>
|
|
61
|
-
))}
|
|
62
|
-
</div>
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
const DefaultExample = () => <GroupExample />;
|
|
68
|
-
|
|
69
|
-
const Multiline = () => (
|
|
70
|
-
<BpkRadio
|
|
71
|
-
id="multi_line"
|
|
72
|
-
name="multi_line"
|
|
73
|
-
label={loremIpsum}
|
|
74
|
-
onChange={action('radio changed')}
|
|
75
|
-
/>
|
|
76
|
-
);
|
|
77
|
-
|
|
78
|
-
const Invalid = () => <GroupExample valid={false} />;
|
|
79
|
-
|
|
80
|
-
const White = () => (
|
|
81
|
-
<BpkDarkExampleWrapper padded>
|
|
82
|
-
<GroupExample white />
|
|
83
|
-
</BpkDarkExampleWrapper>
|
|
84
|
-
);
|
|
85
|
-
|
|
86
|
-
const DisabledChecked = () => (
|
|
87
|
-
<BpkRadio
|
|
88
|
-
id="disabled_checked"
|
|
89
|
-
name="disabled_checked"
|
|
90
|
-
label="Return"
|
|
91
|
-
onChange={action('radio changed')}
|
|
92
|
-
checked
|
|
93
|
-
disabled
|
|
94
|
-
/>
|
|
95
|
-
);
|
|
96
|
-
|
|
97
|
-
const DisabledUnchecked = () => (
|
|
98
|
-
<BpkRadio
|
|
99
|
-
id="disabled"
|
|
100
|
-
name="disabled"
|
|
101
|
-
label="Return"
|
|
102
|
-
onChange={action('radio changed')}
|
|
103
|
-
disabled
|
|
104
|
-
/>
|
|
105
|
-
);
|
|
106
|
-
|
|
107
|
-
const MixedExample = () => (
|
|
108
|
-
<div>
|
|
109
|
-
<DefaultExample />
|
|
110
|
-
<Multiline />
|
|
111
|
-
<Invalid />
|
|
112
|
-
<White />
|
|
113
|
-
<DisabledChecked />
|
|
114
|
-
<DisabledUnchecked />
|
|
115
|
-
</div>
|
|
116
|
-
);
|
|
117
|
-
|
|
118
|
-
export {
|
|
119
|
-
DefaultExample,
|
|
120
|
-
Multiline,
|
|
121
|
-
Invalid,
|
|
122
|
-
White,
|
|
123
|
-
DisabledChecked,
|
|
124
|
-
DisabledUnchecked,
|
|
125
|
-
MixedExample,
|
|
126
|
-
};
|