@drivy/cobalt 0.13.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/_virtual/_tslib.js +85 -0
- package/_virtual/_tslib.js.map +1 -0
- package/cjs/tokens/breakpoints.js +21 -0
- package/cjs/tokens/breakpoints.js.map +1 -0
- package/cjs/tokens/colors.js +60 -0
- package/cjs/tokens/colors.js.map +1 -0
- package/cjs/tokens/countries.js +23 -0
- package/cjs/tokens/countries.js.map +1 -0
- package/cjs/tokens/icons.js +125 -0
- package/cjs/tokens/icons.js.map +1 -0
- package/cjs/tokens/index.js +23 -0
- package/cjs/tokens/index.js.map +1 -0
- package/cjs/tokens/zIndexes.js +43 -0
- package/cjs/tokens/zIndexes.js.map +1 -0
- package/components/Accordion/ToggleIcon.js +12 -0
- package/components/Accordion/ToggleIcon.js.map +1 -0
- package/components/Accordion/index.js +55 -0
- package/components/Accordion/index.js.map +1 -0
- package/components/Alerter/Alert.js +39 -0
- package/components/Alerter/Alert.js.map +1 -0
- package/components/Alerter/index.js +81 -0
- package/components/Alerter/index.js.map +1 -0
- package/components/BasicCell/index.js +25 -0
- package/components/BasicCell/index.js.map +1 -0
- package/components/BulletList/index.js +18 -0
- package/components/BulletList/index.js.map +1 -0
- package/components/Button/Button.js +50 -0
- package/components/Button/Button.js.map +1 -0
- package/components/Button/Link.js +50 -0
- package/components/Button/Link.js.map +1 -0
- package/components/Button/index.js +9 -0
- package/components/Button/index.js.map +1 -0
- package/components/Buttons/BrandButton/index.js +53 -0
- package/components/Buttons/BrandButton/index.js.map +1 -0
- package/components/Buttons/ButtonComponent.js +24 -0
- package/components/Buttons/ButtonComponent.js.map +1 -0
- package/components/Buttons/ButtonsGroup.js +42 -0
- package/components/Buttons/ButtonsGroup.js.map +1 -0
- package/components/Buttons/DefaultButton/index.js +56 -0
- package/components/Buttons/DefaultButton/index.js.map +1 -0
- package/components/Buttons/GhostButton/index.js +53 -0
- package/components/Buttons/GhostButton/index.js.map +1 -0
- package/components/Buttons/InversedButton/index.js +42 -0
- package/components/Buttons/InversedButton/index.js.map +1 -0
- package/components/Buttons/helpers.js +34 -0
- package/components/Buttons/helpers.js.map +1 -0
- package/components/Calendar/CalendarRangePicker/CalendarRangePicker.js +52 -0
- package/components/Calendar/CalendarRangePicker/CalendarRangePicker.js.map +1 -0
- package/components/Calendar/CalendarRangePicker/CalendarRangePickerDay.js +42 -0
- package/components/Calendar/CalendarRangePicker/CalendarRangePickerDay.js.map +1 -0
- package/components/Calendar/CalendarRangePicker/CalendarRangePickerMonth.js +96 -0
- package/components/Calendar/CalendarRangePicker/CalendarRangePickerMonth.js.map +1 -0
- package/components/Calendar/CalendarView/CalendarViewMonth.js +46 -0
- package/components/Calendar/CalendarView/CalendarViewMonth.js.map +1 -0
- package/components/Calendar/CalendarView/index.js +12 -0
- package/components/Calendar/CalendarView/index.js.map +1 -0
- package/components/Callout/index.js +18 -0
- package/components/Callout/index.js.map +1 -0
- package/components/Card/index.js +39 -0
- package/components/Card/index.js.map +1 -0
- package/components/CdwChoice/index.js +19 -0
- package/components/CdwChoice/index.js.map +1 -0
- package/components/Cell/index.js +18 -0
- package/components/Cell/index.js.map +1 -0
- package/components/Chip/index.js +27 -0
- package/components/Chip/index.js.map +1 -0
- package/components/EmptyState/index.js +16 -0
- package/components/EmptyState/index.js.map +1 -0
- package/components/Flag/index.js +29 -0
- package/components/Flag/index.js.map +1 -0
- package/components/Flash/index.js +31 -0
- package/components/Flash/index.js.map +1 -0
- package/components/Form/Autocomplete/index.js +171 -0
- package/components/Form/Autocomplete/index.js.map +1 -0
- package/components/Form/CheckablePill.js +37 -0
- package/components/Form/CheckablePill.js.map +1 -0
- package/components/Form/Checkmark.js +38 -0
- package/components/Form/Checkmark.js.map +1 -0
- package/components/Form/ComposedField.js +18 -0
- package/components/Form/ComposedField.js.map +1 -0
- package/components/Form/Fieldset.js +11 -0
- package/components/Form/Fieldset.js.map +1 -0
- package/components/Form/Hint.js +44 -0
- package/components/Form/Hint.js.map +1 -0
- package/components/Form/Select.js +18 -0
- package/components/Form/Select.js.map +1 -0
- package/components/Form/Slider.js +36 -0
- package/components/Form/Slider.js.map +1 -0
- package/components/Form/Stepper.js +78 -0
- package/components/Form/Stepper.js.map +1 -0
- package/components/Form/TextArea.js +46 -0
- package/components/Form/TextArea.js.map +1 -0
- package/components/Form/TextInput.js +28 -0
- package/components/Form/TextInput.js.map +1 -0
- package/components/Form/ToggleSwitch.js +24 -0
- package/components/Form/ToggleSwitch.js.map +1 -0
- package/components/Form/field.js +35 -0
- package/components/Form/field.js.map +1 -0
- package/components/Helper/index.js +13 -0
- package/components/Helper/index.js.map +1 -0
- package/components/HorizontalList/index.js +19 -0
- package/components/HorizontalList/index.js.map +1 -0
- package/components/Icon/__generated__/AirportIcon.js +23 -0
- package/components/Icon/__generated__/AirportIcon.js.map +1 -0
- package/components/Icon/__generated__/ArrowLeftIcon.js +23 -0
- package/components/Icon/__generated__/ArrowLeftIcon.js.map +1 -0
- package/components/Icon/__generated__/ArrowRightIcon.js +23 -0
- package/components/Icon/__generated__/ArrowRightIcon.js.map +1 -0
- package/components/Icon/__generated__/BinIcon.js +23 -0
- package/components/Icon/__generated__/BinIcon.js.map +1 -0
- package/components/Icon/__generated__/BriefcaseIcon.js +23 -0
- package/components/Icon/__generated__/BriefcaseIcon.js.map +1 -0
- package/components/Icon/__generated__/BulbIcon.js +23 -0
- package/components/Icon/__generated__/BulbIcon.js.map +1 -0
- package/components/Icon/__generated__/CameraIcon.js +23 -0
- package/components/Icon/__generated__/CameraIcon.js.map +1 -0
- package/components/Icon/__generated__/CarCheckIcon.js +23 -0
- package/components/Icon/__generated__/CarCheckIcon.js.map +1 -0
- package/components/Icon/__generated__/CarDrivyOpenIcon.js +23 -0
- package/components/Icon/__generated__/CarDrivyOpenIcon.js.map +1 -0
- package/components/Icon/__generated__/CarGroupIcon.js +24 -0
- package/components/Icon/__generated__/CarGroupIcon.js.map +1 -0
- package/components/Icon/__generated__/CarIcon.js +23 -0
- package/components/Icon/__generated__/CarIcon.js.map +1 -0
- package/components/Icon/__generated__/CarLockIcon.js +23 -0
- package/components/Icon/__generated__/CarLockIcon.js.map +1 -0
- package/components/Icon/__generated__/CarSearchIcon.js +23 -0
- package/components/Icon/__generated__/CarSearchIcon.js.map +1 -0
- package/components/Icon/__generated__/CarTypeAntiqueIcon.js +23 -0
- package/components/Icon/__generated__/CarTypeAntiqueIcon.js.map +1 -0
- package/components/Icon/__generated__/CarTypeCabrioletIcon.js +23 -0
- package/components/Icon/__generated__/CarTypeCabrioletIcon.js.map +1 -0
- package/components/Icon/__generated__/CarTypeCampervanIcon.js +23 -0
- package/components/Icon/__generated__/CarTypeCampervanIcon.js.map +1 -0
- package/components/Icon/__generated__/CarTypeCityIcon.js +23 -0
- package/components/Icon/__generated__/CarTypeCityIcon.js.map +1 -0
- package/components/Icon/__generated__/CarTypeConvertibleIcon.js +23 -0
- package/components/Icon/__generated__/CarTypeConvertibleIcon.js.map +1 -0
- package/components/Icon/__generated__/CarTypeCoupeIcon.js +23 -0
- package/components/Icon/__generated__/CarTypeCoupeIcon.js.map +1 -0
- package/components/Icon/__generated__/CarTypeFamilyIcon.js +23 -0
- package/components/Icon/__generated__/CarTypeFamilyIcon.js.map +1 -0
- package/components/Icon/__generated__/CarTypeFourFourIcon.js +23 -0
- package/components/Icon/__generated__/CarTypeFourFourIcon.js.map +1 -0
- package/components/Icon/__generated__/CarTypeMinibusIcon.js +23 -0
- package/components/Icon/__generated__/CarTypeMinibusIcon.js.map +1 -0
- package/components/Icon/__generated__/CarTypeSedanIcon.js +23 -0
- package/components/Icon/__generated__/CarTypeSedanIcon.js.map +1 -0
- package/components/Icon/__generated__/CarTypeUtilityIcon.js +23 -0
- package/components/Icon/__generated__/CarTypeUtilityIcon.js.map +1 -0
- package/components/Icon/__generated__/CheckCircleIcon.js +23 -0
- package/components/Icon/__generated__/CheckCircleIcon.js.map +1 -0
- package/components/Icon/__generated__/CheckIcon.js +23 -0
- package/components/Icon/__generated__/CheckIcon.js.map +1 -0
- package/components/Icon/__generated__/ChevronDownIcon.js +23 -0
- package/components/Icon/__generated__/ChevronDownIcon.js.map +1 -0
- package/components/Icon/__generated__/ChevronLeftIcon.js +23 -0
- package/components/Icon/__generated__/ChevronLeftIcon.js.map +1 -0
- package/components/Icon/__generated__/ChevronRightIcon.js +23 -0
- package/components/Icon/__generated__/ChevronRightIcon.js.map +1 -0
- package/components/Icon/__generated__/ChevronUpIcon.js +23 -0
- package/components/Icon/__generated__/ChevronUpIcon.js.map +1 -0
- package/components/Icon/__generated__/CloseIcon.js +23 -0
- package/components/Icon/__generated__/CloseIcon.js.map +1 -0
- package/components/Icon/__generated__/ContactMailIcon.js +23 -0
- package/components/Icon/__generated__/ContactMailIcon.js.map +1 -0
- package/components/Icon/__generated__/ContactPhoneIcon.js +23 -0
- package/components/Icon/__generated__/ContactPhoneIcon.js.map +1 -0
- package/components/Icon/__generated__/ContextualPaperclipIcon.js +23 -0
- package/components/Icon/__generated__/ContextualPaperclipIcon.js.map +1 -0
- package/components/Icon/__generated__/ContextualQuestionIcon.js +23 -0
- package/components/Icon/__generated__/ContextualQuestionIcon.js.map +1 -0
- package/components/Icon/__generated__/ContextualWarningCircleFilledIcon.js +23 -0
- package/components/Icon/__generated__/ContextualWarningCircleFilledIcon.js.map +1 -0
- package/components/Icon/__generated__/ContextualWarningCircleIcon.js +23 -0
- package/components/Icon/__generated__/ContextualWarningCircleIcon.js.map +1 -0
- package/components/Icon/__generated__/CreditCardIcon.js +23 -0
- package/components/Icon/__generated__/CreditCardIcon.js.map +1 -0
- package/components/Icon/__generated__/DirectionsIcon.js +23 -0
- package/components/Icon/__generated__/DirectionsIcon.js.map +1 -0
- package/components/Icon/__generated__/DotsHorizontalIcon.js +23 -0
- package/components/Icon/__generated__/DotsHorizontalIcon.js.map +1 -0
- package/components/Icon/__generated__/DotsVerticalIcon.js +25 -0
- package/components/Icon/__generated__/DotsVerticalIcon.js.map +1 -0
- package/components/Icon/__generated__/DownloadIcon.js +23 -0
- package/components/Icon/__generated__/DownloadIcon.js.map +1 -0
- package/components/Icon/__generated__/EarthIcon.js +23 -0
- package/components/Icon/__generated__/EarthIcon.js.map +1 -0
- package/components/Icon/__generated__/EditIcon.js +23 -0
- package/components/Icon/__generated__/EditIcon.js.map +1 -0
- package/components/Icon/__generated__/ExternalLinkIcon.js +23 -0
- package/components/Icon/__generated__/ExternalLinkIcon.js.map +1 -0
- package/components/Icon/__generated__/EyeIcon.js +23 -0
- package/components/Icon/__generated__/EyeIcon.js.map +1 -0
- package/components/Icon/__generated__/FiltersIcon.js +23 -0
- package/components/Icon/__generated__/FiltersIcon.js.map +1 -0
- package/components/Icon/__generated__/FlagIcon.js +23 -0
- package/components/Icon/__generated__/FlagIcon.js.map +1 -0
- package/components/Icon/__generated__/GeolocationIcon.js +23 -0
- package/components/Icon/__generated__/GeolocationIcon.js.map +1 -0
- package/components/Icon/__generated__/GraphUpIcon.js +23 -0
- package/components/Icon/__generated__/GraphUpIcon.js.map +1 -0
- package/components/Icon/__generated__/IncidentIcon.js +23 -0
- package/components/Icon/__generated__/IncidentIcon.js.map +1 -0
- package/components/Icon/__generated__/InfoFilledIcon.js +23 -0
- package/components/Icon/__generated__/InfoFilledIcon.js.map +1 -0
- package/components/Icon/__generated__/InfoIcon.js +23 -0
- package/components/Icon/__generated__/InfoIcon.js.map +1 -0
- package/components/Icon/__generated__/InstantIcon.js +23 -0
- package/components/Icon/__generated__/InstantIcon.js.map +1 -0
- package/components/Icon/__generated__/KeyIcon.js +23 -0
- package/components/Icon/__generated__/KeyIcon.js.map +1 -0
- package/components/Icon/__generated__/LoadingIcon.js +23 -0
- package/components/Icon/__generated__/LoadingIcon.js.map +1 -0
- package/components/Icon/__generated__/LocalityIcon.js +23 -0
- package/components/Icon/__generated__/LocalityIcon.js.map +1 -0
- package/components/Icon/__generated__/LocationMapIcon.js +23 -0
- package/components/Icon/__generated__/LocationMapIcon.js.map +1 -0
- package/components/Icon/__generated__/LocationParkingIcon.js +23 -0
- package/components/Icon/__generated__/LocationParkingIcon.js.map +1 -0
- package/components/Icon/__generated__/LocationPinIcon.js +23 -0
- package/components/Icon/__generated__/LocationPinIcon.js.map +1 -0
- package/components/Icon/__generated__/LogoutIcon.js +23 -0
- package/components/Icon/__generated__/LogoutIcon.js.map +1 -0
- package/components/Icon/__generated__/MeetDriverIcon.js +23 -0
- package/components/Icon/__generated__/MeetDriverIcon.js.map +1 -0
- package/components/Icon/__generated__/MeetOwnerIcon.js +23 -0
- package/components/Icon/__generated__/MeetOwnerIcon.js.map +1 -0
- package/components/Icon/__generated__/MenuListIcon.js +23 -0
- package/components/Icon/__generated__/MenuListIcon.js.map +1 -0
- package/components/Icon/__generated__/MileageIcon.js +23 -0
- package/components/Icon/__generated__/MileageIcon.js.map +1 -0
- package/components/Icon/__generated__/MiscGiftIcon.js +24 -0
- package/components/Icon/__generated__/MiscGiftIcon.js.map +1 -0
- package/components/Icon/__generated__/NotificationIcon.js +23 -0
- package/components/Icon/__generated__/NotificationIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionAirConditioningIcon.js +23 -0
- package/components/Icon/__generated__/OptionAirConditioningIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionAudioInputIcon.js +23 -0
- package/components/Icon/__generated__/OptionAudioInputIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionBabySeatIcon.js +23 -0
- package/components/Icon/__generated__/OptionBabySeatIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionBikeRackIcon.js +23 -0
- package/components/Icon/__generated__/OptionBikeRackIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionCdPlayerIcon.js +23 -0
- package/components/Icon/__generated__/OptionCdPlayerIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionChainsIcon.js +23 -0
- package/components/Icon/__generated__/OptionChainsIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionCruiseControlIcon.js +23 -0
- package/components/Icon/__generated__/OptionCruiseControlIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionGpsIcon.js +23 -0
- package/components/Icon/__generated__/OptionGpsIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionHasTrailerIcon.js +23 -0
- package/components/Icon/__generated__/OptionHasTrailerIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionHitchIcon.js +24 -0
- package/components/Icon/__generated__/OptionHitchIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionRoofBoxIcon.js +23 -0
- package/components/Icon/__generated__/OptionRoofBoxIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionSkiRackIcon.js +23 -0
- package/components/Icon/__generated__/OptionSkiRackIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionSnowTireIcon.js +23 -0
- package/components/Icon/__generated__/OptionSnowTireIcon.js.map +1 -0
- package/components/Icon/__generated__/OptionWheelchairAccessibleIcon.js +25 -0
- package/components/Icon/__generated__/OptionWheelchairAccessibleIcon.js.map +1 -0
- package/components/Icon/__generated__/PeopleUserIcon.js +23 -0
- package/components/Icon/__generated__/PeopleUserIcon.js.map +1 -0
- package/components/Icon/__generated__/PhotosIcon.js +23 -0
- package/components/Icon/__generated__/PhotosIcon.js.map +1 -0
- package/components/Icon/__generated__/PlugIcon.js +23 -0
- package/components/Icon/__generated__/PlugIcon.js.map +1 -0
- package/components/Icon/__generated__/RefreshIcon.js +23 -0
- package/components/Icon/__generated__/RefreshIcon.js.map +1 -0
- package/components/Icon/__generated__/ResetIcon.js +23 -0
- package/components/Icon/__generated__/ResetIcon.js.map +1 -0
- package/components/Icon/__generated__/RideIcon.js +23 -0
- package/components/Icon/__generated__/RideIcon.js.map +1 -0
- package/components/Icon/__generated__/SearchIcon.js +23 -0
- package/components/Icon/__generated__/SearchIcon.js.map +1 -0
- package/components/Icon/__generated__/ServiceBatteryIcon.js +23 -0
- package/components/Icon/__generated__/ServiceBatteryIcon.js.map +1 -0
- package/components/Icon/__generated__/ServiceCleaningIcon.js +23 -0
- package/components/Icon/__generated__/ServiceCleaningIcon.js.map +1 -0
- package/components/Icon/__generated__/ServiceFuelIcon.js +23 -0
- package/components/Icon/__generated__/ServiceFuelIcon.js.map +1 -0
- package/components/Icon/__generated__/ServiceHealingIcon.js +23 -0
- package/components/Icon/__generated__/ServiceHealingIcon.js.map +1 -0
- package/components/Icon/__generated__/ServiceLockedIcon.js +23 -0
- package/components/Icon/__generated__/ServiceLockedIcon.js.map +1 -0
- package/components/Icon/__generated__/ServiceTollsIcon.js +25 -0
- package/components/Icon/__generated__/ServiceTollsIcon.js.map +1 -0
- package/components/Icon/__generated__/ServiceUnlockedIcon.js +23 -0
- package/components/Icon/__generated__/ServiceUnlockedIcon.js.map +1 -0
- package/components/Icon/__generated__/SettingsIcon.js +23 -0
- package/components/Icon/__generated__/SettingsIcon.js.map +1 -0
- package/components/Icon/__generated__/ShareIcon.js +23 -0
- package/components/Icon/__generated__/ShareIcon.js.map +1 -0
- package/components/Icon/__generated__/ShopIcon.js +23 -0
- package/components/Icon/__generated__/ShopIcon.js.map +1 -0
- package/components/Icon/__generated__/SocialFacebookIcon.js +23 -0
- package/components/Icon/__generated__/SocialFacebookIcon.js.map +1 -0
- package/components/Icon/__generated__/SocialLinkedinIcon.js +23 -0
- package/components/Icon/__generated__/SocialLinkedinIcon.js.map +1 -0
- package/components/Icon/__generated__/SocialTwitterIcon.js +23 -0
- package/components/Icon/__generated__/SocialTwitterIcon.js.map +1 -0
- package/components/Icon/__generated__/SocialWhatsappIcon.js +23 -0
- package/components/Icon/__generated__/SocialWhatsappIcon.js.map +1 -0
- package/components/Icon/__generated__/StarIcon.js +23 -0
- package/components/Icon/__generated__/StarIcon.js.map +1 -0
- package/components/Icon/__generated__/SubwayIcon.js +23 -0
- package/components/Icon/__generated__/SubwayIcon.js.map +1 -0
- package/components/Icon/__generated__/TimeAlertIcon.js +23 -0
- package/components/Icon/__generated__/TimeAlertIcon.js.map +1 -0
- package/components/Icon/__generated__/TimeBackwardsIcon.js +23 -0
- package/components/Icon/__generated__/TimeBackwardsIcon.js.map +1 -0
- package/components/Icon/__generated__/TimeCalendarIcon.js +23 -0
- package/components/Icon/__generated__/TimeCalendarIcon.js.map +1 -0
- package/components/Icon/__generated__/TimeForwardIcon.js +23 -0
- package/components/Icon/__generated__/TimeForwardIcon.js.map +1 -0
- package/components/Icon/__generated__/TrainIcon.js +23 -0
- package/components/Icon/__generated__/TrainIcon.js.map +1 -0
- package/components/Icon/__generated__/UserShieldIcon.js +23 -0
- package/components/Icon/__generated__/UserShieldIcon.js.map +1 -0
- package/components/Icon/__generated__/VerifiedSealIcon.js +23 -0
- package/components/Icon/__generated__/VerifiedSealIcon.js.map +1 -0
- package/components/Icon/__generated__/WrenchIcon.js +23 -0
- package/components/Icon/__generated__/WrenchIcon.js.map +1 -0
- package/components/Icon/index.js +62 -0
- package/components/Icon/index.js.map +1 -0
- package/components/Modal/ModalBody.js +14 -0
- package/components/Modal/ModalBody.js.map +1 -0
- package/components/Modal/ModalFooter.js +10 -0
- package/components/Modal/ModalFooter.js.map +1 -0
- package/components/Modal/ModalHeader.js +16 -0
- package/components/Modal/ModalHeader.js.map +1 -0
- package/components/Modal/index.js +117 -0
- package/components/Modal/index.js.map +1 -0
- package/components/ModalOpenerButton/index.js +22 -0
- package/components/ModalOpenerButton/index.js.map +1 -0
- package/components/Note/index.js +12 -0
- package/components/Note/index.js.map +1 -0
- package/components/Pill/index.js +25 -0
- package/components/Pill/index.js.map +1 -0
- package/components/Popover/LazyTippy.js +11 -0
- package/components/Popover/LazyTippy.js.map +1 -0
- package/components/Popover/index.js +56 -0
- package/components/Popover/index.js.map +1 -0
- package/components/PriceTable/index.js +18 -0
- package/components/PriceTable/index.js.map +1 -0
- package/components/ProgressBar/index.js +22 -0
- package/components/ProgressBar/index.js.map +1 -0
- package/components/Tabs/index.js +142 -0
- package/components/Tabs/index.js.map +1 -0
- package/components/Tag/index.js +13 -0
- package/components/Tag/index.js.map +1 -0
- package/components/TextContainer/index.js +9 -0
- package/components/TextContainer/index.js.map +1 -0
- package/components/utils/Timer.js +26 -0
- package/components/utils/Timer.js.map +1 -0
- package/components/utils/capitalize.js +8 -0
- package/components/utils/capitalize.js.map +1 -0
- package/components/utils/dom.js +8 -0
- package/components/utils/dom.js.map +1 -0
- package/components/utils/eqSet.js +25 -0
- package/components/utils/eqSet.js.map +1 -0
- package/components/utils/px.js +5 -0
- package/components/utils/px.js.map +1 -0
- package/hooks/useBreakpoint.js +75 -0
- package/hooks/useBreakpoint.js.map +1 -0
- package/hooks/useElementHeight.js +36 -0
- package/hooks/useElementHeight.js.map +1 -0
- package/icons/airport.js +4 -0
- package/icons/airport.js.map +1 -0
- package/icons/airport.svg +3 -0
- package/icons/arrow-left.js +4 -0
- package/icons/arrow-left.js.map +1 -0
- package/icons/arrow-left.svg +3 -0
- package/icons/arrow-right.js +4 -0
- package/icons/arrow-right.js.map +1 -0
- package/icons/arrow-right.svg +1 -0
- package/icons/bin.js +4 -0
- package/icons/bin.js.map +1 -0
- package/icons/bin.svg +3 -0
- package/icons/briefcase.js +4 -0
- package/icons/briefcase.js.map +1 -0
- package/icons/briefcase.svg +1 -0
- package/icons/bulb.js +4 -0
- package/icons/bulb.js.map +1 -0
- package/icons/bulb.svg +1 -0
- package/icons/camera.js +4 -0
- package/icons/camera.js.map +1 -0
- package/icons/camera.svg +3 -0
- package/icons/car-check.js +4 -0
- package/icons/car-check.js.map +1 -0
- package/icons/car-check.svg +3 -0
- package/icons/car-drivy-open.js +4 -0
- package/icons/car-drivy-open.js.map +1 -0
- package/icons/car-drivy-open.svg +3 -0
- package/icons/car-group.js +4 -0
- package/icons/car-group.js.map +1 -0
- package/icons/car-group.svg +1 -0
- package/icons/car-lock.js +4 -0
- package/icons/car-lock.js.map +1 -0
- package/icons/car-lock.svg +3 -0
- package/icons/car-search.js +4 -0
- package/icons/car-search.js.map +1 -0
- package/icons/car-search.svg +3 -0
- package/icons/car-type-antique.js +4 -0
- package/icons/car-type-antique.js.map +1 -0
- package/icons/car-type-antique.svg +1 -0
- package/icons/car-type-cabriolet.js +4 -0
- package/icons/car-type-cabriolet.js.map +1 -0
- package/icons/car-type-cabriolet.svg +1 -0
- package/icons/car-type-campervan.js +4 -0
- package/icons/car-type-campervan.js.map +1 -0
- package/icons/car-type-campervan.svg +1 -0
- package/icons/car-type-city.js +4 -0
- package/icons/car-type-city.js.map +1 -0
- package/icons/car-type-city.svg +1 -0
- package/icons/car-type-convertible.js +4 -0
- package/icons/car-type-convertible.js.map +1 -0
- package/icons/car-type-convertible.svg +1 -0
- package/icons/car-type-coupe.js +4 -0
- package/icons/car-type-coupe.js.map +1 -0
- package/icons/car-type-coupe.svg +1 -0
- package/icons/car-type-family.js +4 -0
- package/icons/car-type-family.js.map +1 -0
- package/icons/car-type-family.svg +1 -0
- package/icons/car-type-four-four.js +4 -0
- package/icons/car-type-four-four.js.map +1 -0
- package/icons/car-type-four-four.svg +1 -0
- package/icons/car-type-minibus.js +4 -0
- package/icons/car-type-minibus.js.map +1 -0
- package/icons/car-type-minibus.svg +1 -0
- package/icons/car-type-sedan.js +4 -0
- package/icons/car-type-sedan.js.map +1 -0
- package/icons/car-type-sedan.svg +1 -0
- package/icons/car-type-utility.js +4 -0
- package/icons/car-type-utility.js.map +1 -0
- package/icons/car-type-utility.svg +1 -0
- package/icons/car.js +4 -0
- package/icons/car.js.map +1 -0
- package/icons/car.svg +3 -0
- package/icons/check-circle.js +4 -0
- package/icons/check-circle.js.map +1 -0
- package/icons/check-circle.svg +3 -0
- package/icons/check.js +4 -0
- package/icons/check.js.map +1 -0
- package/icons/check.svg +1 -0
- package/icons/chevron-down.js +4 -0
- package/icons/chevron-down.js.map +1 -0
- package/icons/chevron-down.svg +3 -0
- package/icons/chevron-left.js +4 -0
- package/icons/chevron-left.js.map +1 -0
- package/icons/chevron-left.svg +3 -0
- package/icons/chevron-right.js +4 -0
- package/icons/chevron-right.js.map +1 -0
- package/icons/chevron-right.svg +3 -0
- package/icons/chevron-up.js +4 -0
- package/icons/chevron-up.js.map +1 -0
- package/icons/chevron-up.svg +3 -0
- package/icons/close.js +4 -0
- package/icons/close.js.map +1 -0
- package/icons/close.svg +3 -0
- package/icons/contact-mail.js +4 -0
- package/icons/contact-mail.js.map +1 -0
- package/icons/contact-mail.svg +3 -0
- package/icons/contact-phone.js +4 -0
- package/icons/contact-phone.js.map +1 -0
- package/icons/contact-phone.svg +3 -0
- package/icons/contextual-paperclip.js +4 -0
- package/icons/contextual-paperclip.js.map +1 -0
- package/icons/contextual-paperclip.svg +3 -0
- package/icons/contextual-question.js +4 -0
- package/icons/contextual-question.js.map +1 -0
- package/icons/contextual-question.svg +3 -0
- package/icons/contextual-warning-circle-filled.js +4 -0
- package/icons/contextual-warning-circle-filled.js.map +1 -0
- package/icons/contextual-warning-circle-filled.svg +3 -0
- package/icons/contextual-warning-circle.js +4 -0
- package/icons/contextual-warning-circle.js.map +1 -0
- package/icons/contextual-warning-circle.svg +3 -0
- package/icons/countries/at.js +4 -0
- package/icons/countries/at.js.map +1 -0
- package/icons/countries/at.svg +1 -0
- package/icons/countries/be.js +4 -0
- package/icons/countries/be.js.map +1 -0
- package/icons/countries/be.svg +1 -0
- package/icons/countries/ca.js +4 -0
- package/icons/countries/ca.js.map +1 -0
- package/icons/countries/ca.svg +1 -0
- package/icons/countries/de.js +4 -0
- package/icons/countries/de.js.map +1 -0
- package/icons/countries/de.svg +1 -0
- package/icons/countries/es.js +4 -0
- package/icons/countries/es.js.map +1 -0
- package/icons/countries/es.svg +1 -0
- package/icons/countries/eu.js +4 -0
- package/icons/countries/eu.js.map +1 -0
- package/icons/countries/eu.svg +1 -0
- package/icons/countries/fr.js +4 -0
- package/icons/countries/fr.js.map +1 -0
- package/icons/countries/fr.svg +1 -0
- package/icons/countries/gb.js +4 -0
- package/icons/countries/gb.js.map +1 -0
- package/icons/countries/gb.svg +1 -0
- package/icons/countries/index.js +11 -0
- package/icons/countries/index.js.map +1 -0
- package/icons/countries/no.js +4 -0
- package/icons/countries/no.js.map +1 -0
- package/icons/countries/no.svg +1 -0
- package/icons/countries/us.js +4 -0
- package/icons/countries/us.js.map +1 -0
- package/icons/countries/us.svg +1 -0
- package/icons/credit-card.js +4 -0
- package/icons/credit-card.js.map +1 -0
- package/icons/credit-card.svg +1 -0
- package/icons/directions.js +4 -0
- package/icons/directions.js.map +1 -0
- package/icons/directions.svg +1 -0
- package/icons/dots-horizontal.js +4 -0
- package/icons/dots-horizontal.js.map +1 -0
- package/icons/dots-horizontal.svg +1 -0
- package/icons/dots-vertical.js +4 -0
- package/icons/dots-vertical.js.map +1 -0
- package/icons/dots-vertical.svg +1 -0
- package/icons/download.js +4 -0
- package/icons/download.js.map +1 -0
- package/icons/download.svg +1 -0
- package/icons/earth.js +4 -0
- package/icons/earth.js.map +1 -0
- package/icons/earth.svg +3 -0
- package/icons/edit.js +4 -0
- package/icons/edit.js.map +1 -0
- package/icons/edit.svg +3 -0
- package/icons/external-link.js +4 -0
- package/icons/external-link.js.map +1 -0
- package/icons/external-link.svg +1 -0
- package/icons/eye.js +4 -0
- package/icons/eye.js.map +1 -0
- package/icons/eye.svg +1 -0
- package/icons/filters.js +4 -0
- package/icons/filters.js.map +1 -0
- package/icons/filters.svg +3 -0
- package/icons/flag.js +4 -0
- package/icons/flag.js.map +1 -0
- package/icons/flag.svg +3 -0
- package/icons/geolocation.js +4 -0
- package/icons/geolocation.js.map +1 -0
- package/icons/geolocation.svg +3 -0
- package/icons/graph-up.js +4 -0
- package/icons/graph-up.js.map +1 -0
- package/icons/graph-up.svg +1 -0
- package/icons/incident.js +4 -0
- package/icons/incident.js.map +1 -0
- package/icons/incident.svg +1 -0
- package/icons/index.js +113 -0
- package/icons/index.js.map +1 -0
- package/icons/info-filled.js +4 -0
- package/icons/info-filled.js.map +1 -0
- package/icons/info-filled.svg +3 -0
- package/icons/info.js +4 -0
- package/icons/info.js.map +1 -0
- package/icons/info.svg +3 -0
- package/icons/instant.js +4 -0
- package/icons/instant.js.map +1 -0
- package/icons/instant.svg +3 -0
- package/icons/key.js +4 -0
- package/icons/key.js.map +1 -0
- package/icons/key.svg +3 -0
- package/icons/loading.js +4 -0
- package/icons/loading.js.map +1 -0
- package/icons/loading.svg +3 -0
- package/icons/locality.js +4 -0
- package/icons/locality.js.map +1 -0
- package/icons/locality.svg +3 -0
- package/icons/location-map.js +4 -0
- package/icons/location-map.js.map +1 -0
- package/icons/location-map.svg +3 -0
- package/icons/location-parking.js +4 -0
- package/icons/location-parking.js.map +1 -0
- package/icons/location-parking.svg +3 -0
- package/icons/location-pin.js +4 -0
- package/icons/location-pin.js.map +1 -0
- package/icons/location-pin.svg +3 -0
- package/icons/logout.js +4 -0
- package/icons/logout.js.map +1 -0
- package/icons/logout.svg +1 -0
- package/icons/meet-driver.js +4 -0
- package/icons/meet-driver.js.map +1 -0
- package/icons/meet-driver.svg +3 -0
- package/icons/meet-owner.js +4 -0
- package/icons/meet-owner.js.map +1 -0
- package/icons/meet-owner.svg +1 -0
- package/icons/menu-list.js +4 -0
- package/icons/menu-list.js.map +1 -0
- package/icons/menu-list.svg +1 -0
- package/icons/mileage.js +4 -0
- package/icons/mileage.js.map +1 -0
- package/icons/mileage.svg +3 -0
- package/icons/misc-gift.js +4 -0
- package/icons/misc-gift.js.map +1 -0
- package/icons/misc-gift.svg +1 -0
- package/icons/notification.js +4 -0
- package/icons/notification.js.map +1 -0
- package/icons/notification.svg +3 -0
- package/icons/option-air-conditioning.js +4 -0
- package/icons/option-air-conditioning.js.map +1 -0
- package/icons/option-air-conditioning.svg +3 -0
- package/icons/option-audio-input.js +4 -0
- package/icons/option-audio-input.js.map +1 -0
- package/icons/option-audio-input.svg +3 -0
- package/icons/option-baby-seat.js +4 -0
- package/icons/option-baby-seat.js.map +1 -0
- package/icons/option-baby-seat.svg +3 -0
- package/icons/option-bike-rack.js +4 -0
- package/icons/option-bike-rack.js.map +1 -0
- package/icons/option-bike-rack.svg +3 -0
- package/icons/option-cd-player.js +4 -0
- package/icons/option-cd-player.js.map +1 -0
- package/icons/option-cd-player.svg +3 -0
- package/icons/option-chains.js +4 -0
- package/icons/option-chains.js.map +1 -0
- package/icons/option-chains.svg +3 -0
- package/icons/option-cruise-control.js +4 -0
- package/icons/option-cruise-control.js.map +1 -0
- package/icons/option-cruise-control.svg +3 -0
- package/icons/option-gps.js +4 -0
- package/icons/option-gps.js.map +1 -0
- package/icons/option-gps.svg +3 -0
- package/icons/option-has-trailer.js +4 -0
- package/icons/option-has-trailer.js.map +1 -0
- package/icons/option-has-trailer.svg +1 -0
- package/icons/option-hitch.js +4 -0
- package/icons/option-hitch.js.map +1 -0
- package/icons/option-hitch.svg +1 -0
- package/icons/option-roof-box.js +4 -0
- package/icons/option-roof-box.js.map +1 -0
- package/icons/option-roof-box.svg +3 -0
- package/icons/option-ski-rack.js +4 -0
- package/icons/option-ski-rack.js.map +1 -0
- package/icons/option-ski-rack.svg +3 -0
- package/icons/option-snow-tire.js +4 -0
- package/icons/option-snow-tire.js.map +1 -0
- package/icons/option-snow-tire.svg +3 -0
- package/icons/option-wheelchair-accessible.js +4 -0
- package/icons/option-wheelchair-accessible.js.map +1 -0
- package/icons/option-wheelchair-accessible.svg +1 -0
- package/icons/people-user.js +4 -0
- package/icons/people-user.js.map +1 -0
- package/icons/people-user.svg +3 -0
- package/icons/photos.js +4 -0
- package/icons/photos.js.map +1 -0
- package/icons/photos.svg +3 -0
- package/icons/plug.js +4 -0
- package/icons/plug.js.map +1 -0
- package/icons/plug.svg +1 -0
- package/icons/refresh.js +4 -0
- package/icons/refresh.js.map +1 -0
- package/icons/refresh.svg +3 -0
- package/icons/reset.js +4 -0
- package/icons/reset.js.map +1 -0
- package/icons/reset.svg +3 -0
- package/icons/ride.js +4 -0
- package/icons/ride.js.map +1 -0
- package/icons/ride.svg +3 -0
- package/icons/search.js +4 -0
- package/icons/search.js.map +1 -0
- package/icons/search.svg +3 -0
- package/icons/service-battery.js +4 -0
- package/icons/service-battery.js.map +1 -0
- package/icons/service-battery.svg +1 -0
- package/icons/service-cleaning.js +4 -0
- package/icons/service-cleaning.js.map +1 -0
- package/icons/service-cleaning.svg +3 -0
- package/icons/service-fuel.js +4 -0
- package/icons/service-fuel.js.map +1 -0
- package/icons/service-fuel.svg +3 -0
- package/icons/service-healing.js +4 -0
- package/icons/service-healing.js.map +1 -0
- package/icons/service-healing.svg +3 -0
- package/icons/service-locked.js +4 -0
- package/icons/service-locked.js.map +1 -0
- package/icons/service-locked.svg +3 -0
- package/icons/service-tolls.js +4 -0
- package/icons/service-tolls.js.map +1 -0
- package/icons/service-tolls.svg +1 -0
- package/icons/service-unlocked.js +4 -0
- package/icons/service-unlocked.js.map +1 -0
- package/icons/service-unlocked.svg +3 -0
- package/icons/settings.js +4 -0
- package/icons/settings.js.map +1 -0
- package/icons/settings.svg +3 -0
- package/icons/share.js +4 -0
- package/icons/share.js.map +1 -0
- package/icons/share.svg +1 -0
- package/icons/shop.js +4 -0
- package/icons/shop.js.map +1 -0
- package/icons/shop.svg +3 -0
- package/icons/social-facebook.js +4 -0
- package/icons/social-facebook.js.map +1 -0
- package/icons/social-facebook.svg +3 -0
- package/icons/social-linkedin.js +4 -0
- package/icons/social-linkedin.js.map +1 -0
- package/icons/social-linkedin.svg +3 -0
- package/icons/social-twitter.js +4 -0
- package/icons/social-twitter.js.map +1 -0
- package/icons/social-twitter.svg +3 -0
- package/icons/social-whatsapp.js +4 -0
- package/icons/social-whatsapp.js.map +1 -0
- package/icons/social-whatsapp.svg +3 -0
- package/icons/star.js +4 -0
- package/icons/star.js.map +1 -0
- package/icons/star.svg +3 -0
- package/icons/subway.js +4 -0
- package/icons/subway.js.map +1 -0
- package/icons/subway.svg +3 -0
- package/icons/time-alert.js +4 -0
- package/icons/time-alert.js.map +1 -0
- package/icons/time-alert.svg +3 -0
- package/icons/time-backwards.js +4 -0
- package/icons/time-backwards.js.map +1 -0
- package/icons/time-backwards.svg +3 -0
- package/icons/time-calendar.js +4 -0
- package/icons/time-calendar.js.map +1 -0
- package/icons/time-calendar.svg +3 -0
- package/icons/time-forward.js +4 -0
- package/icons/time-forward.js.map +1 -0
- package/icons/time-forward.svg +3 -0
- package/icons/train.js +4 -0
- package/icons/train.js.map +1 -0
- package/icons/train.svg +3 -0
- package/icons/user-shield.js +4 -0
- package/icons/user-shield.js.map +1 -0
- package/icons/user-shield.svg +3 -0
- package/icons/verified-seal.js +4 -0
- package/icons/verified-seal.js.map +1 -0
- package/icons/verified-seal.svg +3 -0
- package/icons/wrench.js +4 -0
- package/icons/wrench.js.map +1 -0
- package/icons/wrench.svg +3 -0
- package/images/empty-states/connect-device.png +0 -0
- package/images/empty-states/connect-device@2x.png +0 -0
- package/images/empty-states/connect-device@3x.png +0 -0
- package/images/empty-states/couch-man@2x.png +0 -0
- package/images/empty-states/couch-man@3x.png +0 -0
- package/images/empty-states/customer-service.png +0 -0
- package/images/empty-states/customer-service@2x.png +0 -0
- package/images/empty-states/customer-service@3x.png +0 -0
- package/images/empty-states/fridge-man.png +0 -0
- package/images/empty-states/fridge-man@2x.png +0 -0
- package/images/empty-states/fridge-man@3x.png +0 -0
- package/images/empty-states/generic-list@1x.png +0 -0
- package/images/empty-states/generic-list@2x.png +0 -0
- package/images/empty-states/generic-list@3x.png +0 -0
- package/images/empty-states/location-us.png +0 -0
- package/images/empty-states/location-us@2x.png +0 -0
- package/images/empty-states/location-us@3x.png +0 -0
- package/images/empty-states/location.png +0 -0
- package/images/empty-states/location@2x.png +0 -0
- package/images/empty-states/location@3x.png +0 -0
- package/images/empty-states/maximize-your-earnings.png +0 -0
- package/images/empty-states/maximize-your-earnings@2x.png +0 -0
- package/images/empty-states/maximize-your-earnings@3x.png +0 -0
- package/images/empty-states/nearby-bookings.png +0 -0
- package/images/empty-states/nearby-bookings@2x.png +0 -0
- package/images/empty-states/nearby-bookings@3x.png +0 -0
- package/images/empty-states/network@1x.png +0 -0
- package/images/empty-states/network@2x.png +0 -0
- package/images/empty-states/network@3x.png +0 -0
- package/images/empty-states/owner-with-getaround.png +0 -0
- package/images/empty-states/owner-with-getaround@2x.png +0 -0
- package/images/empty-states/owner-with-getaround@3x.png +0 -0
- package/images/empty-states/payment.png +0 -0
- package/images/empty-states/payment@2x.png +0 -0
- package/images/empty-states/payment@3x.png +0 -0
- package/images/empty-states/rebranded/couch-man@2x.png +0 -0
- package/images/empty-states/rebranded/couch-man@3x.png +0 -0
- package/images/empty-states/rebranded/repair-man@2x.png +0 -0
- package/images/empty-states/rebranded/repair-man@3x.png +0 -0
- package/images/empty-states/rebranded/spotlight-car.png +0 -0
- package/images/empty-states/rebranded/spotlight-car@2x.png +0 -0
- package/images/empty-states/rebranded/spotlight-car@3x.png +0 -0
- package/images/empty-states/repair-man-open.png +0 -0
- package/images/empty-states/repair-man-open@2x.png +0 -0
- package/images/empty-states/repair-man-open@3x.png +0 -0
- package/images/empty-states/repair-man.png +0 -0
- package/images/empty-states/repair-man@2x.png +0 -0
- package/images/empty-states/repair-man@3x.png +0 -0
- package/images/empty-states/seamless-trip.png +0 -0
- package/images/empty-states/seamless-trip@2x.png +0 -0
- package/images/empty-states/seamless-trip@3x.png +0 -0
- package/images/empty-states/searching-trends.png +0 -0
- package/images/empty-states/searching-trends@2x.png +0 -0
- package/images/empty-states/searching-trends@3x.png +0 -0
- package/images/empty-states/spotlight-car.png +0 -0
- package/images/empty-states/spotlight-car@2x.png +0 -0
- package/images/empty-states/spotlight-car@3x.png +0 -0
- package/images/empty-states/telescope.png +0 -0
- package/images/empty-states/telescope@2x.png +0 -0
- package/images/empty-states/telescope@3x.png +0 -0
- package/images/empty-states/thumb-up.png +0 -0
- package/images/empty-states/thumb-up@2x.png +0 -0
- package/images/empty-states/thumb-up@3x.png +0 -0
- package/index.js +160 -0
- package/index.js.map +1 -0
- package/package.json +135 -0
- package/styles/components/Accordion/index.scss +83 -0
- package/styles/components/Alerter/index.scss +54 -0
- package/styles/components/BasicCell/index.scss +61 -0
- package/styles/components/BulletList/index.scss +32 -0
- package/styles/components/Button/index.scss +2 -0
- package/styles/components/Button/legacy.scss +351 -0
- package/styles/components/Buttons/BrandButton/index.scss +57 -0
- package/styles/components/Buttons/DefaultButton/index.scss +74 -0
- package/styles/components/Buttons/GhostButton/index.scss +41 -0
- package/styles/components/Buttons/InversedButton/index.scss +25 -0
- package/styles/components/Buttons/index.scss +193 -0
- package/styles/components/Calendar/CalendarRangePicker/index.scss +345 -0
- package/styles/components/Calendar/CalendarView/index.scss +64 -0
- package/styles/components/Callout/index.scss +64 -0
- package/styles/components/Card/index.scss +92 -0
- package/styles/components/CdwChoice/index.scss +127 -0
- package/styles/components/Cell/index.scss +32 -0
- package/styles/components/Chip/index.scss +93 -0
- package/styles/components/EmptyState/index.scss +34 -0
- package/styles/components/Flag/index.scss +36 -0
- package/styles/components/Flash/index.scss +29 -0
- package/styles/components/Form/Autocomplete/index.scss +158 -0
- package/styles/components/Form/CheckablePill.scss +150 -0
- package/styles/components/Form/Checkmark.scss +202 -0
- package/styles/components/Form/ComposedField.scss +20 -0
- package/styles/components/Form/Fieldset.scss +23 -0
- package/styles/components/Form/Hint.scss +46 -0
- package/styles/components/Form/Select.scss +37 -0
- package/styles/components/Form/Slider.scss +71 -0
- package/styles/components/Form/Stepper.scss +85 -0
- package/styles/components/Form/TextArea.scss +68 -0
- package/styles/components/Form/TextInput.scss +59 -0
- package/styles/components/Form/ToggleSwitch.scss +259 -0
- package/styles/components/Form/field.scss +70 -0
- package/styles/components/Form/form.scss +87 -0
- package/styles/components/Form/index.scss +13 -0
- package/styles/components/Helper/index.scss +16 -0
- package/styles/components/HorizontalList/index.scss +46 -0
- package/styles/components/Icon/index.scss +125 -0
- package/styles/components/Modal/index.scss +103 -0
- package/styles/components/Note/index.scss +18 -0
- package/styles/components/Pill/index.scss +56 -0
- package/styles/components/Popover/index.scss +18 -0
- package/styles/components/PriceTable/index.scss +33 -0
- package/styles/components/ProgressBar/index.scss +57 -0
- package/styles/components/TabBar/index.scss +161 -0
- package/styles/components/Tabs/index.scss +172 -0
- package/styles/components/Tag/index.scss +27 -0
- package/styles/components/TextContainer/index.scss +70 -0
- package/styles/components.scss +29 -0
- package/styles/core/animation.scss +9 -0
- package/styles/core/border-radius.scss +20 -0
- package/styles/core/border.scss +26 -0
- package/styles/core/breakpoints.scss +49 -0
- package/styles/core/card.scss +30 -0
- package/styles/core/color.scss +78 -0
- package/styles/core/cursor.scss +19 -0
- package/styles/core/elevation.scss +18 -0
- package/styles/core/global-variables.scss +2 -0
- package/styles/core/spacing.scss +38 -0
- package/styles/core/text.scss +84 -0
- package/styles/core/typography.scss +246 -0
- package/styles/core/utilities.scss +47 -0
- package/styles/core/z-index.scss +19 -0
- package/styles/core.scss +15 -0
- package/styles/global/spacing.scss +39 -0
- package/styles/global/typography.scss +78 -0
- package/styles/global.scss +2 -0
- package/styles/index.scss +159 -0
- package/tokens/breakpoints.js +13 -0
- package/tokens/breakpoints.js.map +1 -0
- package/tokens/colors.js +45 -0
- package/tokens/colors.js.map +1 -0
- package/tokens/countries.js +18 -0
- package/tokens/countries.js.map +1 -0
- package/tokens/icons.js +120 -0
- package/tokens/icons.js.map +1 -0
- package/tokens/index.js +15 -0
- package/tokens/index.js.map +1 -0
- package/tokens/zIndexes.js +31 -0
- package/tokens/zIndexes.js.map +1 -0
- package/types/__tests__/AsyncComponent.d.ts +5 -0
- package/types/__tests__/mockMatchMedia.d.ts +2 -0
- package/types/components/Accordion/ToggleIcon.d.ts +6 -0
- package/types/components/Accordion/index.d.ts +89 -0
- package/types/components/Alerter/Alert.d.ts +8 -0
- package/types/components/Alerter/index.d.ts +21 -0
- package/types/components/BasicCell/index.d.ts +11 -0
- package/types/components/BulletList/index.d.ts +13 -0
- package/types/components/Button/Button.d.ts +31 -0
- package/types/components/Button/Link.d.ts +31 -0
- package/types/components/Button/index.d.ts +180 -0
- package/types/components/Buttons/BrandButton/index.d.ts +45 -0
- package/types/components/Buttons/ButtonComponent.d.ts +22 -0
- package/types/components/Buttons/ButtonsGroup.d.ts +8 -0
- package/types/components/Buttons/DefaultButton/index.d.ts +51 -0
- package/types/components/Buttons/GhostButton/index.d.ts +48 -0
- package/types/components/Buttons/InversedButton/index.d.ts +10 -0
- package/types/components/Buttons/helpers.d.ts +15 -0
- package/types/components/Buttons/index.d.ts +5 -0
- package/types/components/Calendar/CalendarRangePicker/CalendarRangePicker.d.ts +23 -0
- package/types/components/Calendar/CalendarRangePicker/CalendarRangePickerDay.d.ts +22 -0
- package/types/components/Calendar/CalendarRangePicker/CalendarRangePickerMonth.d.ts +17 -0
- package/types/components/Calendar/CalendarRangePicker/index.d.ts +1 -0
- package/types/components/Calendar/CalendarView/CalendarViewMonth.d.ts +8 -0
- package/types/components/Calendar/CalendarView/index.d.ts +10 -0
- package/types/components/Calendar/CalendarView/types.d.ts +16 -0
- package/types/components/Calendar/index.d.ts +2 -0
- package/types/components/Callout/index.d.ts +9 -0
- package/types/components/Card/index.d.ts +30 -0
- package/types/components/CdwChoice/index.d.ts +9 -0
- package/types/components/Cell/index.d.ts +20 -0
- package/types/components/Chip/index.d.ts +16 -0
- package/types/components/EmptyState/index.d.ts +10 -0
- package/types/components/Flag/index.d.ts +15 -0
- package/types/components/Flash/index.d.ts +7 -0
- package/types/components/Form/Autocomplete/index.d.ts +47 -0
- package/types/components/Form/CheckablePill.d.ts +30 -0
- package/types/components/Form/Checkmark.d.ts +26 -0
- package/types/components/Form/ComposedField.d.ts +16 -0
- package/types/components/Form/Fieldset.d.ts +7 -0
- package/types/components/Form/Hint.d.ts +7 -0
- package/types/components/Form/Select.d.ts +16 -0
- package/types/components/Form/Slider.d.ts +128 -0
- package/types/components/Form/Stepper.d.ts +34 -0
- package/types/components/Form/TextArea.d.ts +19 -0
- package/types/components/Form/TextInput.d.ts +25 -0
- package/types/components/Form/ToggleSwitch.d.ts +11 -0
- package/types/components/Form/field.d.ts +15 -0
- package/types/components/Form/form.d.ts +4 -0
- package/types/components/Helper/index.d.ts +11 -0
- package/types/components/HorizontalList/index.d.ts +12 -0
- package/types/components/Icon/__generated__/AirportIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ArrowLeftIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ArrowRightIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/BinIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/BriefcaseIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/BulbIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CameraIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarCheckIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarDrivyOpenIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarGroupIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarLockIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarSearchIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarTypeAntiqueIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarTypeCabrioletIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarTypeCampervanIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarTypeCityIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarTypeConvertibleIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarTypeCoupeIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarTypeFamilyIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarTypeFourFourIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarTypeMinibusIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarTypeSedanIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CarTypeUtilityIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CheckCircleIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CheckIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ChevronDownIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ChevronLeftIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ChevronRightIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ChevronUpIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CloseIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ContactMailIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ContactPhoneIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ContextualPaperclipIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ContextualQuestionIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ContextualWarningCircleFilledIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ContextualWarningCircleIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/CreditCardIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/DirectionsIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/DotsHorizontalIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/DotsVerticalIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/DownloadIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/EarthIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/EditIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ExternalLinkIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/EyeIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/FiltersIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/FlagIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/GeolocationIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/GraphUpIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/IncidentIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/InfoFilledIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/InfoIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/InstantIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/KeyIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/LoadingIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/LocalityIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/LocationMapIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/LocationParkingIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/LocationPinIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/LogoutIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/MeetDriverIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/MeetOwnerIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/MenuListIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/MileageIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/MiscGiftIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/NotificationIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionAirConditioningIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionAudioInputIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionBabySeatIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionBikeRackIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionCdPlayerIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionChainsIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionCruiseControlIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionGpsIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionHasTrailerIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionHitchIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionRoofBoxIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionSkiRackIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionSnowTireIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/OptionWheelchairAccessibleIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/PeopleUserIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/PhotosIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/PlugIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/RefreshIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ResetIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/RideIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/SearchIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ServiceBatteryIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ServiceCleaningIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ServiceFuelIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ServiceHealingIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ServiceLockedIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ServiceTollsIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ServiceUnlockedIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/SettingsIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ShareIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/ShopIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/SocialFacebookIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/SocialLinkedinIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/SocialTwitterIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/SocialWhatsappIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/StarIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/SubwayIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/TimeAlertIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/TimeBackwardsIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/TimeCalendarIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/TimeForwardIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/TrainIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/UserShieldIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/VerifiedSealIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/WrenchIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/index.d.ts +112 -0
- package/types/components/Icon/index.d.ts +28 -0
- package/types/components/Icon/index.spec.d.ts +1 -0
- package/types/components/Modal/ModalBody.d.ts +7 -0
- package/types/components/Modal/ModalFooter.d.ts +6 -0
- package/types/components/Modal/ModalHeader.d.ts +6 -0
- package/types/components/Modal/index.d.ts +54 -0
- package/types/components/ModalOpenerButton/index.d.ts +14 -0
- package/types/components/Note/index.d.ts +12 -0
- package/types/components/Pill/index.d.ts +16 -0
- package/types/components/Popover/LazyTippy.d.ts +4 -0
- package/types/components/Popover/index.d.ts +25 -0
- package/types/components/PriceTable/index.d.ts +11 -0
- package/types/components/ProgressBar/index.d.ts +11 -0
- package/types/components/TabBar/index.d.ts +14 -0
- package/types/components/Tabs/index.d.ts +30 -0
- package/types/components/Tag/index.d.ts +6 -0
- package/types/components/TextContainer/index.d.ts +5 -0
- package/types/components/utils/Timer.d.ts +13 -0
- package/types/components/utils/Timer.spec.d.ts +1 -0
- package/types/components/utils/camelize.d.ts +2 -0
- package/types/components/utils/capitalize.d.ts +2 -0
- package/types/components/utils/dom.d.ts +1 -0
- package/types/components/utils/eqSet.d.ts +2 -0
- package/types/components/utils/getThemeColors.d.ts +2 -0
- package/types/components/utils/getThemeColors.spec.d.ts +1 -0
- package/types/components/utils/index.d.ts +9 -0
- package/types/components/utils/isExpectedReactComponent.d.ts +3 -0
- package/types/components/utils/isExpectedReactComponent.spec.d.ts +1 -0
- package/types/components/utils/px.d.ts +1 -0
- package/types/hooks/useBreakpoint.d.ts +11 -0
- package/types/hooks/useBreakpoint.spec.d.ts +1 -0
- package/types/hooks/useElementHeight.d.ts +13 -0
- package/types/icons/countries/index.d.ts +10 -0
- package/types/icons/index.d.ts +112 -0
- package/types/index.d.ts +47 -0
- package/types/tokens/index.d.ts +187 -0
- package/types/tokens/index.spec.d.ts +1 -0
- package/utilities.css +11201 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import React, { forwardRef, useRef, useEffect } from 'react';
|
|
3
|
+
import cx from 'classnames';
|
|
4
|
+
import { DialogOverlay, DialogContent } from '@reach/dialog';
|
|
5
|
+
import { useTransition, animated } from '@react-spring/web';
|
|
6
|
+
import useBreakpoint from '../../hooks/useBreakpoint.js';
|
|
7
|
+
import ModalHeader from './ModalHeader.js';
|
|
8
|
+
import ModalBody from './ModalBody.js';
|
|
9
|
+
import ModalFooter from './ModalFooter.js';
|
|
10
|
+
import 'lodash.throttle';
|
|
11
|
+
import { getScrollbarWidth } from '../utils/dom.js';
|
|
12
|
+
|
|
13
|
+
// Only for the API, render nothing, we use ModalFooterInternal internally
|
|
14
|
+
var ModalFooterAPI = function (_props) { return null; };
|
|
15
|
+
var isModalFooterAPIComponent = function (component) {
|
|
16
|
+
return React.isValidElement(component) && component.type === ModalFooterAPI;
|
|
17
|
+
};
|
|
18
|
+
var _Modal = forwardRef(function (_a, ref) {
|
|
19
|
+
var ariaLabel = _a["aria-label"], children = _a.children, isOpen = _a.isOpen, close = _a.close, _b = _a.overflowHidden, overflowHidden = _b === void 0 ? true : _b, initialFocusRef = _a.initialFocusRef, bodySpacing = _a.bodySpacing, onDismissAttempt = _a.onDismissAttempt, onHidden = _a.onHidden, onShow = _a.onShow, title = _a.title;
|
|
20
|
+
var defaultBodyStyle = useRef();
|
|
21
|
+
useEffect(function () {
|
|
22
|
+
defaultBodyStyle.current = {
|
|
23
|
+
paddingRight: document.body.style.paddingRight,
|
|
24
|
+
overflow: document.body.style.overflow,
|
|
25
|
+
};
|
|
26
|
+
}, []);
|
|
27
|
+
var restoreDefaultBodyStyle = function () {
|
|
28
|
+
if (defaultBodyStyle.current) {
|
|
29
|
+
var _a = defaultBodyStyle.current, overflow_1 = _a.overflow, paddingRight_1 = _a.paddingRight;
|
|
30
|
+
setTimeout(function () {
|
|
31
|
+
// setTimeout is used to ensure that the restore style job is done as a final step
|
|
32
|
+
document.body.style.overflow = overflow_1;
|
|
33
|
+
document.body.style.paddingRight = paddingRight_1;
|
|
34
|
+
}, 0);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
useEffect(function () {
|
|
38
|
+
// disable / enable body scroll
|
|
39
|
+
// default reach ui solution to lock body scroll is broken with range inputs on mobile (no drag)
|
|
40
|
+
// https://github.com/reach/reach-ui/issues/678
|
|
41
|
+
// dangerouslyBypassScrollLock is used to disabled it
|
|
42
|
+
// + fake scrollbar width to avoid visual layout shift
|
|
43
|
+
if (isOpen) {
|
|
44
|
+
document.body.style.paddingRight = getScrollbarWidth() +
|
|
45
|
+
parseInt(window.getComputedStyle(document.body).paddingRight, 10) + "px"; // to avoid visual shift due to removing an existing scrollbar
|
|
46
|
+
document.body.style.overflow = "hidden";
|
|
47
|
+
}
|
|
48
|
+
return function () {
|
|
49
|
+
isOpen && restoreDefaultBodyStyle();
|
|
50
|
+
};
|
|
51
|
+
}, [isOpen]);
|
|
52
|
+
var isMobile = useBreakpoint().isMobile;
|
|
53
|
+
var transformTransitionOut = isMobile ? 500 : -20;
|
|
54
|
+
var springConfig = { tension: 300, friction: 30, clamp: true };
|
|
55
|
+
var transition = useTransition(isOpen, {
|
|
56
|
+
from: {
|
|
57
|
+
overlayOpacity: 0,
|
|
58
|
+
modalTransform: transformTransitionOut,
|
|
59
|
+
},
|
|
60
|
+
enter: {
|
|
61
|
+
overlayOpacity: 1,
|
|
62
|
+
modalTransform: 0,
|
|
63
|
+
config: springConfig,
|
|
64
|
+
},
|
|
65
|
+
leave: {
|
|
66
|
+
overlayOpacity: 0,
|
|
67
|
+
modalTransform: transformTransitionOut,
|
|
68
|
+
config: springConfig,
|
|
69
|
+
},
|
|
70
|
+
onStart: function () {
|
|
71
|
+
if (onShow)
|
|
72
|
+
onShow();
|
|
73
|
+
},
|
|
74
|
+
onDestroyed: function (isTransitioned) {
|
|
75
|
+
!isOpen && restoreDefaultBodyStyle();
|
|
76
|
+
if (onHidden && isTransitioned)
|
|
77
|
+
onHidden();
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
var AnimatedDialogOverlay = animated(DialogOverlay);
|
|
81
|
+
var AnimatedDialogContent = animated(DialogContent);
|
|
82
|
+
var modalFooter = React.Children.toArray(children).find(function (c) {
|
|
83
|
+
return isModalFooterAPIComponent(c);
|
|
84
|
+
});
|
|
85
|
+
var header = null;
|
|
86
|
+
if (title || close) {
|
|
87
|
+
header = React.createElement(ModalHeader, __assign({ title: title }, (close ? { close: close } : {})));
|
|
88
|
+
}
|
|
89
|
+
var hasHeader = !!title || !!close;
|
|
90
|
+
var footer = null;
|
|
91
|
+
if (React.isValidElement(modalFooter)) {
|
|
92
|
+
footer = React.createElement(ModalFooter, __assign({}, modalFooter.props));
|
|
93
|
+
}
|
|
94
|
+
var getDismissHandler = function (onClose) {
|
|
95
|
+
if (onClose)
|
|
96
|
+
return onClose;
|
|
97
|
+
if (onDismissAttempt)
|
|
98
|
+
return onDismissAttempt;
|
|
99
|
+
return;
|
|
100
|
+
};
|
|
101
|
+
return (React.createElement(React.Fragment, null, transition(function (styles, isOpenState) {
|
|
102
|
+
return isOpenState && (React.createElement(AnimatedDialogOverlay, { initialFocusRef: initialFocusRef, onDismiss: getDismissHandler(close), className: "cobalt-modal__overlay", style: { opacity: styles.overlayOpacity }, dangerouslyBypassScrollLock: true },
|
|
103
|
+
React.createElement(AnimatedDialogContent, { className: cx("cobalt-modal", {
|
|
104
|
+
"cobalt-modal--desktop": !isMobile,
|
|
105
|
+
"cobalt-modal--mobile": isMobile,
|
|
106
|
+
"cobalt-modal--overflowHidden": overflowHidden,
|
|
107
|
+
}), "aria-label": ariaLabel, style: { translateY: styles.modalTransform }, ref: ref },
|
|
108
|
+
header,
|
|
109
|
+
React.createElement(ModalBody, { bodySpacing: bodySpacing, hasHeader: hasHeader, hasFooter: !!footer }, children),
|
|
110
|
+
footer)));
|
|
111
|
+
})));
|
|
112
|
+
});
|
|
113
|
+
_Modal.displayName = "Modal";
|
|
114
|
+
var Modal = Object.assign(_Modal, { Footer: ModalFooterAPI });
|
|
115
|
+
|
|
116
|
+
export { ModalFooterAPI, Modal as default, isModalFooterAPIComponent };
|
|
117
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Modal/index.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from \"react\"\nimport cx from \"classnames\"\nimport { DialogOverlay, DialogContent } from \"@reach/dialog\"\nimport { useTransition, animated } from \"@react-spring/web\"\n\nimport useBreakpoint from \"../../hooks/useBreakpoint\"\nimport ModalHeader from \"./ModalHeader\"\nimport ModalBody from \"./ModalBody\"\nimport ModalFooter, { ModalFooterPropsType } from \"./ModalFooter\"\nimport { getScrollbarWidth } from \"../utils/\"\n\nexport type ModalPropsType = {\n /**\n * mandatory for A11y\n */\n [\"aria-label\"]: string\n /**\n * Function called to close the modal, providing it make the modal closeable\n */\n close?: () => void\n /**\n * React.ref of the element to focus first when the modal opens\n */\n initialFocusRef?: React.RefObject<HTMLElement>\n /**\n * State to show or hide the modal/dialog\n */\n isOpen: boolean\n /**\n * Action to fire if the user try to dismiss when the modal is not closeable\n */\n onDismissAttempt?: () => void\n /**\n * Listener called when the modal has been fully hidden\n */\n onHidden?: () => void\n /**\n * Listener called when the modal begins to show\n */\n onShow?: () => void\n /**\n * Modal title\n */\n title?: string\n /**\n * Disable/Enable body paddings (enabled by default)\n */\n bodySpacing?: boolean\n /**\n * Disable/Enable hidding overflowing absolute elements (enabled by default)\n */\n overflowHidden?: boolean\n /**\n * Modal body content\n */\n children: React.ReactNode\n}\n\n// Only for the API, render nothing, we use ModalFooterInternal internally\nexport const ModalFooterAPI = (_props: ModalFooterPropsType) => null\n\nexport const isModalFooterAPIComponent = (\n component: React.ReactNode\n): component is React.ReactElement<ModalFooterPropsType> =>\n React.isValidElement(component) && component.type === ModalFooterAPI\n\nconst _Modal = forwardRef<HTMLDivElement, ModalPropsType>(\n (\n {\n [\"aria-label\"]: ariaLabel,\n children,\n isOpen,\n close,\n overflowHidden = true,\n initialFocusRef,\n bodySpacing,\n onDismissAttempt,\n onHidden,\n onShow,\n title,\n }: ModalPropsType,\n ref\n ) => {\n const defaultBodyStyle =\n useRef<Record<\"paddingRight\" | \"overflow\", string>>()\n\n useEffect(() => {\n defaultBodyStyle.current = {\n paddingRight: document.body.style.paddingRight,\n overflow: document.body.style.overflow,\n }\n }, [])\n\n const restoreDefaultBodyStyle = () => {\n if (defaultBodyStyle.current) {\n const { overflow, paddingRight } = defaultBodyStyle.current\n setTimeout(() => {\n // setTimeout is used to ensure that the restore style job is done as a final step\n document.body.style.overflow = overflow\n document.body.style.paddingRight = paddingRight\n }, 0)\n }\n }\n\n useEffect(() => {\n // disable / enable body scroll\n // default reach ui solution to lock body scroll is broken with range inputs on mobile (no drag)\n // https://github.com/reach/reach-ui/issues/678\n // dangerouslyBypassScrollLock is used to disabled it\n // + fake scrollbar width to avoid visual layout shift\n if (isOpen) {\n document.body.style.paddingRight = `${\n getScrollbarWidth() +\n parseInt(window.getComputedStyle(document.body).paddingRight, 10)\n }px` // to avoid visual shift due to removing an existing scrollbar\n\n document.body.style.overflow = \"hidden\"\n }\n return () => {\n isOpen && restoreDefaultBodyStyle()\n }\n }, [isOpen])\n\n const { isMobile } = useBreakpoint()\n\n const transformTransitionOut = isMobile ? 500 : -20\n\n const springConfig = { tension: 300, friction: 30, clamp: true }\n\n const transition = useTransition(isOpen, {\n from: {\n overlayOpacity: 0,\n modalTransform: transformTransitionOut,\n },\n enter: {\n overlayOpacity: 1,\n modalTransform: 0,\n config: springConfig,\n },\n leave: {\n overlayOpacity: 0,\n modalTransform: transformTransitionOut,\n config: springConfig,\n },\n onStart: () => {\n if (onShow) onShow()\n },\n onDestroyed: (isTransitioned) => {\n !isOpen && restoreDefaultBodyStyle()\n if (onHidden && isTransitioned) onHidden()\n },\n })\n\n const AnimatedDialogOverlay = animated(DialogOverlay)\n const AnimatedDialogContent = animated(DialogContent)\n\n const modalFooter = React.Children.toArray(children).find((c) =>\n isModalFooterAPIComponent(c)\n )\n\n let header: React.ReactNode = null\n if (title || close) {\n header = <ModalHeader title={title} {...(close ? { close } : {})} />\n }\n const hasHeader = !!title || !!close\n\n let footer: React.ReactNode = null\n if (React.isValidElement(modalFooter)) {\n footer = <ModalFooter {...modalFooter.props} />\n }\n\n const getDismissHandler = (onClose?: ModalPropsType[\"close\"]) => {\n if (onClose) return onClose\n if (onDismissAttempt) return onDismissAttempt\n return\n }\n\n return (\n <>\n {transition(\n (styles, isOpenState) =>\n isOpenState && (\n <AnimatedDialogOverlay\n initialFocusRef={initialFocusRef}\n onDismiss={getDismissHandler(close)}\n className=\"cobalt-modal__overlay\"\n style={{ opacity: styles.overlayOpacity }}\n dangerouslyBypassScrollLock\n >\n <AnimatedDialogContent\n className={cx(\"cobalt-modal\", {\n \"cobalt-modal--desktop\": !isMobile,\n \"cobalt-modal--mobile\": isMobile,\n \"cobalt-modal--overflowHidden\": overflowHidden,\n })}\n aria-label={ariaLabel}\n style={{ translateY: styles.modalTransform }}\n ref={ref}\n >\n {header}\n <ModalBody\n bodySpacing={bodySpacing}\n hasHeader={hasHeader}\n hasFooter={!!footer}\n >\n {children}\n </ModalBody>\n {footer}\n </AnimatedDialogContent>\n </AnimatedDialogOverlay>\n )\n )}\n </>\n )\n }\n)\n\n_Modal.displayName = \"Modal\"\n\nconst Modal = Object.assign(_Modal, { Footer: ModalFooterAPI })\n\nexport default Modal\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { __rest, __read, __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import { Button } from '../Button/index.js';
|
|
4
|
+
import Modal from '../Modal/index.js';
|
|
5
|
+
|
|
6
|
+
var ModalOpenerButton = function (_a) {
|
|
7
|
+
var label = _a.label, children = _a.children, buttonProps = __rest(_a, ["label", "children"]);
|
|
8
|
+
var _b = __read(useState(false), 2), showModal = _b[0], setShowModal = _b[1];
|
|
9
|
+
var open = function () { return setShowModal(true); };
|
|
10
|
+
var close = function () { return setShowModal(false); };
|
|
11
|
+
var renderedModal = children({ close: close });
|
|
12
|
+
var modalProps = __assign(__assign({}, renderedModal.props), { isOpen: showModal });
|
|
13
|
+
return (React.createElement(React.Fragment, null,
|
|
14
|
+
React.createElement(Button, __assign({}, buttonProps, { onClick: open }), label),
|
|
15
|
+
React.createElement(Modal, __assign({}, modalProps))));
|
|
16
|
+
};
|
|
17
|
+
/** For API only, render nothing */
|
|
18
|
+
var ModalAPI = function (_props) { return null; };
|
|
19
|
+
ModalOpenerButton.Modal = ModalAPI;
|
|
20
|
+
|
|
21
|
+
export { ModalOpenerButton as default };
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/ModalOpenerButton/index.tsx"],"sourcesContent":["import React, { useState } from \"react\"\n\nimport { Button, ButtonPropsType } from \"../Button\"\nimport Modal, { ModalPropsType } from \"../Modal\"\n\ntype ModalOpenerButtonType = {\n label: React.ReactNode\n children: ({ close }: { close: () => void }) => JSX.Element\n} & Omit<ButtonPropsType, \"children\">\n\nconst ModalOpenerButton = ({\n label,\n children,\n ...buttonProps\n}: ModalOpenerButtonType) => {\n const [showModal, setShowModal] = useState(false)\n const open = () => setShowModal(true)\n const close = () => setShowModal(false)\n\n const renderedModal = children({ close })\n const modalProps = {\n ...renderedModal.props,\n isOpen: showModal,\n }\n\n return (\n <>\n <Button {...buttonProps} onClick={open}>\n {label}\n </Button>\n <Modal {...modalProps} />\n </>\n )\n}\n\n/** For API only, render nothing */\nconst ModalAPI = (_props: Omit<ModalPropsType, \"isOpen\">) => null\nModalOpenerButton.Modal = ModalAPI\n\nexport default ModalOpenerButton\n"],"names":[],"mappings":";;;;;IAUM,iBAAiB,GAAG,UAAC,EAIH;IAHtB,IAAA,KAAK,WAAA,EACL,QAAQ,cAAA,EACL,WAAW,cAHW,qBAI1B,CADe;IAER,IAAA,KAAA,OAA4B,QAAQ,CAAC,KAAK,CAAC,IAAA,EAA1C,SAAS,QAAA,EAAE,YAAY,QAAmB,CAAA;IACjD,IAAM,IAAI,GAAG,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,GAAA,CAAA;IACrC,IAAM,KAAK,GAAG,cAAM,OAAA,YAAY,CAAC,KAAK,CAAC,GAAA,CAAA;IAEvC,IAAM,aAAa,GAAG,QAAQ,CAAC,EAAE,KAAK,OAAA,EAAE,CAAC,CAAA;IACzC,IAAM,UAAU,yBACX,aAAa,CAAC,KAAK,KACtB,MAAM,EAAE,SAAS,GAClB,CAAA;IAED,QACE;QACE,oBAAC,MAAM,eAAK,WAAW,IAAE,OAAO,EAAE,IAAI,KACnC,KAAK,CACC;QACT,oBAAC,KAAK,eAAK,UAAU,EAAI,CACxB,EACJ;AACH,EAAC;AAED;AACA,IAAM,QAAQ,GAAG,UAAC,MAAsC,IAAK,OAAA,IAAI,GAAA,CAAA;AACjE,iBAAiB,CAAC,KAAK,GAAG,QAAQ;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
|
|
4
|
+
var Note = function (_a) {
|
|
5
|
+
var children = _a.children, _b = _a.fullWidth, fullWidth = _b === void 0 ? false : _b, className = _a.className;
|
|
6
|
+
return (React.createElement("div", { className: cx("cobalt-Note", className, {
|
|
7
|
+
"cobalt-Note--fullWidth": fullWidth,
|
|
8
|
+
}) }, children));
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { Note, Note as default };
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Note/index.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\n\nexport interface NoteProps {\n children: React.ReactNode\n /**\n * will fill available width\n * @default false\n */\n fullWidth?: boolean\n className?: string\n}\n\nexport const Note = ({ children, fullWidth = false, className }: NoteProps) => (\n <div\n className={cx(\"cobalt-Note\", className, {\n \"cobalt-Note--fullWidth\": fullWidth,\n })}\n >\n {children}\n </div>\n)\n\nexport default Note\n"],"names":[],"mappings":";;;IAaa,IAAI,GAAG,UAAC,EAAqD;QAAnD,QAAQ,cAAA,EAAE,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EAAE,SAAS,eAAA;IAAkB,QAC7E,6BACE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE;YACtC,wBAAwB,EAAE,SAAS;SACpC,CAAC,IAED,QAAQ,CACL;AAPuE;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, { Children } from 'react';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
import { Icon } from '../Icon/index.js';
|
|
4
|
+
|
|
5
|
+
var ICON_SIZE = 20;
|
|
6
|
+
var Pill = function (_a) {
|
|
7
|
+
var icon = _a.icon, _b = _a.color, color = _b === void 0 ? "indigo" : _b, children = _a.children, overlayed = _a.overlayed, className = _a.className, size = _a.size;
|
|
8
|
+
var iconMarkup = icon ? (React.createElement("span", { className: "cobalt-Pill__Icon" },
|
|
9
|
+
React.createElement(Icon, { source: icon, size: ICON_SIZE, color: overlayed ? "white" : color }))) : null;
|
|
10
|
+
return (React.createElement("div", { className: cx(className, "cobalt-Pill", {
|
|
11
|
+
"cobalt-Pill--colorAller": color === "aller",
|
|
12
|
+
"cobalt-Pill--overlayed": overlayed,
|
|
13
|
+
"cobalt-Pill--large": size === "large",
|
|
14
|
+
}) },
|
|
15
|
+
iconMarkup,
|
|
16
|
+
" ",
|
|
17
|
+
children));
|
|
18
|
+
};
|
|
19
|
+
var PillGroup = function (_a) {
|
|
20
|
+
var children = _a.children;
|
|
21
|
+
return (React.createElement("div", { className: "cobalt-PillGroup" }, Children.toArray(children).map(function (child, index) { return (React.createElement("div", { className: "cobalt-PillGroup__Item", key: index }, child)); })));
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { Pill, PillGroup, Pill as default };
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Pill/index.tsx"],"sourcesContent":["import React, { Children } from \"react\"\nimport cx from \"classnames\"\nimport { Icon, IconColors, IconSources } from \"../Icon\"\n\nconst ICON_SIZE = 20\nexport interface PillPropsType {\n children: React.ReactNode\n icon?: IconSources\n color?: IconColors\n size?: \"large\"\n overlayed?: boolean\n className?: string\n}\n\nexport const Pill = ({\n icon,\n color = \"indigo\",\n children,\n overlayed,\n className,\n size,\n}: PillPropsType) => {\n const iconMarkup = icon ? (\n <span className=\"cobalt-Pill__Icon\">\n <Icon\n source={icon}\n size={ICON_SIZE}\n color={overlayed ? \"white\" : color}\n />\n </span>\n ) : null\n\n return (\n <div\n className={cx(className, \"cobalt-Pill\", {\n \"cobalt-Pill--colorAller\": color === \"aller\",\n \"cobalt-Pill--overlayed\": overlayed,\n \"cobalt-Pill--large\": size === \"large\",\n })}\n >\n {iconMarkup} {children}\n </div>\n )\n}\n\nexport interface PillGroupPropsType {\n children: React.ReactNode\n}\n\nexport const PillGroup = ({ children }: PillGroupPropsType) => {\n return (\n <div className=\"cobalt-PillGroup\">\n {Children.toArray(children).map((child, index) => (\n <div className=\"cobalt-PillGroup__Item\" key={index}>\n {child}\n </div>\n ))}\n </div>\n )\n}\n\nexport default Pill\n"],"names":[],"mappings":";;;;AAIA,IAAM,SAAS,GAAG,EAAE,CAAA;IAUP,IAAI,GAAG,UAAC,EAOL;QANd,IAAI,UAAA,EACJ,aAAgB,EAAhB,KAAK,mBAAG,QAAQ,KAAA,EAChB,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,SAAS,eAAA,EACT,IAAI,UAAA;IAEJ,IAAM,UAAU,GAAG,IAAI,IACrB,8BAAM,SAAS,EAAC,mBAAmB;QACjC,oBAAC,IAAI,IACH,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,KAAK,GAClC,CACG,IACL,IAAI,CAAA;IAER,QACE,6BACE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE;YACtC,yBAAyB,EAAE,KAAK,KAAK,OAAO;YAC5C,wBAAwB,EAAE,SAAS;YACnC,oBAAoB,EAAE,IAAI,KAAK,OAAO;SACvC,CAAC;QAED,UAAU;;QAAG,QAAQ,CAClB,EACP;AACH,EAAC;IAMY,SAAS,GAAG,UAAC,EAAgC;QAA9B,QAAQ,cAAA;IAClC,QACE,6BAAK,SAAS,EAAC,kBAAkB,IAC9B,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK,IAAK,QAChD,6BAAK,SAAS,EAAC,wBAAwB,EAAC,GAAG,EAAE,KAAK,IAC/C,KAAK,CACF,IACP,CAAC,CACE,EACP;AACH;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import Tippy from '@tippyjs/react';
|
|
4
|
+
|
|
5
|
+
// Will only render the `content` or `render` elements if the tippy is mounted to the DOM.
|
|
6
|
+
var LazyTippy = function (props) {
|
|
7
|
+
return props.visible ? React.createElement(Tippy, __assign({}, props)) : null;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { LazyTippy as default };
|
|
11
|
+
//# sourceMappingURL=LazyTippy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LazyTippy.js","sources":["../../../src/components/Popover/LazyTippy.tsx"],"sourcesContent":["// Will only render the `content` or `render` elements if the tippy is mounted to the DOM.\n// Replace <Tippy /> with <LazyTippy /> component and it should work the same.\n\nimport React from \"react\"\n\nimport Tippy, { TippyProps } from \"@tippyjs/react\"\n\nconst LazyTippy = (props: TippyProps) => {\n return props.visible ? <Tippy {...props} /> : null\n}\n\nexport default LazyTippy\n"],"names":[],"mappings":";;;;AAAA;IAOM,SAAS,GAAG,UAAC,KAAiB;IAClC,OAAO,KAAK,CAAC,OAAO,GAAG,oBAAC,KAAK,eAAK,KAAK,EAAI,GAAG,IAAI,CAAA;AACpD;;;;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import React, { useCallback, useEffect } from 'react';
|
|
3
|
+
import Tippy from '@tippyjs/react';
|
|
4
|
+
import { sticky } from 'tippy.js';
|
|
5
|
+
import useBreakpoint from '../../hooks/useBreakpoint.js';
|
|
6
|
+
import Modal from '../Modal/index.js';
|
|
7
|
+
import LazyTippy from './LazyTippy.js';
|
|
8
|
+
import { zIndexes } from '../../tokens/index.js';
|
|
9
|
+
|
|
10
|
+
var ESC_KEY_CODE = 27;
|
|
11
|
+
var defaultTippyProps = {
|
|
12
|
+
animation: "shift-away-subtle",
|
|
13
|
+
interactive: true,
|
|
14
|
+
interactiveBorder: 10,
|
|
15
|
+
delay: [0, 0],
|
|
16
|
+
duration: [200, 150],
|
|
17
|
+
maxWidth: 500,
|
|
18
|
+
sticky: true,
|
|
19
|
+
plugins: [sticky],
|
|
20
|
+
theme: "light cobalt-popover",
|
|
21
|
+
inertia: true,
|
|
22
|
+
};
|
|
23
|
+
var MobilePopover = function (_a) {
|
|
24
|
+
var isOpen = _a.isOpen, children = _a.children, _b = _a.ariaLabel, ariaLabel = _b === void 0 ? "Popover mobile modal" : _b, onDismiss = _a.onDismiss, bodySpacing = _a.bodySpacing, onShow = _a.onShow, onHidden = _a.onHidden;
|
|
25
|
+
return (React.createElement(Modal, { "aria-label": ariaLabel, isOpen: isOpen, onDismissAttempt: onDismiss, bodySpacing: bodySpacing, onShow: onShow, onHidden: onHidden }, children));
|
|
26
|
+
};
|
|
27
|
+
var Popover = function (_a) {
|
|
28
|
+
var isOpen = _a.isOpen, targetRef = _a.targetRef, close = _a.close, ariaLabel = _a["aria-label"], children = _a.children, _b = _a.bodySpacing, bodySpacing = _b === void 0 ? true : _b, onShow = _a.onShow, onHidden = _a.onHidden,
|
|
29
|
+
// Desktop props
|
|
30
|
+
_c = _a.arrow,
|
|
31
|
+
// Desktop props
|
|
32
|
+
arrow = _c === void 0 ? false : _c, _d = _a.placement, placement = _d === void 0 ? "bottom-start" : _d, _e = _a.theme, theme = _e === void 0 ? "" : _e, _f = _a.distance, distance = _f === void 0 ? 8 : _f, _g = _a.zIndex, zIndex = _g === void 0 ? zIndexes.dropdown : _g, lazy = _a.lazy;
|
|
33
|
+
var breakpoint = useBreakpoint().breakpoint;
|
|
34
|
+
var isMobile = breakpoint === "sm" || breakpoint === "xs";
|
|
35
|
+
var escListener = useCallback(function (event) {
|
|
36
|
+
if (event.keyCode === ESC_KEY_CODE && isOpen)
|
|
37
|
+
close();
|
|
38
|
+
}, [isOpen, close]);
|
|
39
|
+
useEffect(function () {
|
|
40
|
+
window.addEventListener("keydown", escListener);
|
|
41
|
+
return function () { return window.removeEventListener("keydown", escListener); };
|
|
42
|
+
}, [escListener]);
|
|
43
|
+
var onTippyClose = function () {
|
|
44
|
+
if (onHidden)
|
|
45
|
+
onHidden();
|
|
46
|
+
};
|
|
47
|
+
var onTippyOpen = function () {
|
|
48
|
+
if (onShow)
|
|
49
|
+
onShow();
|
|
50
|
+
};
|
|
51
|
+
var TippyComp = lazy ? LazyTippy : Tippy;
|
|
52
|
+
return isMobile ? (React.createElement(MobilePopover, { isOpen: isOpen, onDismiss: close, bodySpacing: bodySpacing, ariaLabel: ariaLabel, onShow: onShow, onHidden: onHidden }, children)) : (React.createElement(TippyComp, __assign({ content: bodySpacing ? (React.createElement("div", { className: "cobalt-popover--bodySpacing" }, children)) : (children) }, defaultTippyProps, { visible: isOpen, reference: targetRef, theme: defaultTippyProps.theme + " " + theme, offset: [0, distance] }, { arrow: arrow, placement: placement, zIndex: zIndex }, { onHidden: onTippyClose, onShow: onTippyOpen, onClickOutside: close })));
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export { Popover as default };
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Popover/index.tsx"],"sourcesContent":["import React, { useEffect, useCallback, PropsWithChildren } from \"react\"\nimport Tippy, { TippyProps } from \"@tippyjs/react\"\nimport { sticky } from \"tippy.js\"\n\nimport useBreakpoint from \"../../hooks/useBreakpoint\"\nimport Modal, { ModalPropsType } from \"../Modal\"\nimport LazyTippy from \"./LazyTippy\"\nimport { zIndexes } from \"../../tokens\"\n\nexport type PopoverPropsType = PropsWithChildren<{\n isOpen: boolean\n close: () => void\n \"aria-label\"?: string\n bodySpacing?: boolean\n onShow?: () => void\n onHidden?: () => void\n // Desktop props\n targetRef: TippyProps[\"reference\"]\n arrow?: boolean\n placement?: TippyProps[\"placement\"]\n theme?: string\n distance?: number\n zIndex?: number\n /**\n * __Only for desktop popover__\n *\n * Allow to render the content only when the popover is mounted in the DOM\n * Useful to render async content in the popover\n */\n lazy?: boolean\n}>\n\nconst ESC_KEY_CODE = 27\n\nconst defaultTippyProps: Omit<TippyProps, \"content\" | \"children\" | \"visible\"> =\n {\n animation: \"shift-away-subtle\",\n interactive: true,\n interactiveBorder: 10,\n delay: [0, 0],\n duration: [200, 150],\n maxWidth: 500,\n sticky: true,\n plugins: [sticky],\n theme: \"light cobalt-popover\",\n inertia: true,\n }\n\nconst MobilePopover = ({\n isOpen,\n children,\n ariaLabel = \"Popover mobile modal\",\n onDismiss,\n bodySpacing,\n onShow,\n onHidden,\n}: PropsWithChildren<{\n ariaLabel?: ModalPropsType[\"aria-label\"]\n isOpen: ModalPropsType[\"isOpen\"]\n onDismiss?: () => void\n bodySpacing: ModalPropsType[\"bodySpacing\"]\n onShow: ModalPropsType[\"onShow\"]\n onHidden: ModalPropsType[\"onHidden\"]\n}>) => {\n return (\n <Modal\n aria-label={ariaLabel}\n isOpen={isOpen}\n onDismissAttempt={onDismiss}\n bodySpacing={bodySpacing}\n onShow={onShow}\n onHidden={onHidden}\n >\n {children}\n </Modal>\n )\n}\n\nconst Popover = ({\n isOpen,\n targetRef,\n close,\n \"aria-label\": ariaLabel,\n children,\n bodySpacing = true,\n onShow,\n onHidden,\n // Desktop props\n arrow = false,\n placement = \"bottom-start\",\n theme = \"\",\n distance = 8,\n zIndex = zIndexes.dropdown,\n lazy,\n}: PopoverPropsType) => {\n const { breakpoint } = useBreakpoint()\n const isMobile = breakpoint === \"sm\" || breakpoint === \"xs\"\n\n const escListener = useCallback(\n (event: KeyboardEvent) => {\n if (event.keyCode === ESC_KEY_CODE && isOpen) close()\n },\n [isOpen, close]\n )\n\n useEffect(() => {\n window.addEventListener(\"keydown\", escListener)\n\n return () => window.removeEventListener(\"keydown\", escListener)\n }, [escListener])\n\n const onTippyClose = () => {\n if (onHidden) onHidden()\n }\n\n const onTippyOpen = () => {\n if (onShow) onShow()\n }\n\n const TippyComp = lazy ? LazyTippy : Tippy\n\n return isMobile ? (\n <MobilePopover\n isOpen={isOpen}\n onDismiss={close}\n bodySpacing={bodySpacing}\n ariaLabel={ariaLabel}\n onShow={onShow}\n onHidden={onHidden}\n >\n {children}\n </MobilePopover>\n ) : (\n <TippyComp\n content={\n bodySpacing ? (\n <div className=\"cobalt-popover--bodySpacing\">{children}</div>\n ) : (\n children\n )\n }\n {...defaultTippyProps}\n visible={isOpen}\n reference={targetRef}\n theme={`${defaultTippyProps.theme} ${theme}`}\n offset={[0, distance]}\n {...{ arrow, placement, zIndex }}\n onHidden={onTippyClose}\n onShow={onTippyOpen}\n onClickOutside={close}\n />\n )\n}\n\nexport default Popover\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
|
|
4
|
+
var PriceTable = function (_a) {
|
|
5
|
+
var children = _a.children;
|
|
6
|
+
return (React.createElement("div", { className: "cobalt-PriceTable" }, children));
|
|
7
|
+
};
|
|
8
|
+
var PriceTableRow = function (_a) {
|
|
9
|
+
var label = _a.label, value = _a.value, _b = _a.discounted, discounted = _b === void 0 ? false : _b;
|
|
10
|
+
return (React.createElement("div", { className: "cobalt-PriceTable__Row" },
|
|
11
|
+
React.createElement("div", { className: "cobalt-PriceTable__Label" }, label),
|
|
12
|
+
React.createElement("div", { className: cx("cobalt-PriceTable__Value", {
|
|
13
|
+
"cobalt-PriceTable__Value--discount": discounted,
|
|
14
|
+
}) }, value)));
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { PriceTable, PriceTableRow };
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/PriceTable/index.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\n\nexport const PriceTable = ({ children }: { children: React.ReactNode }) => (\n <div className=\"cobalt-PriceTable\">{children}</div>\n)\n\ninterface PriceTableRowProps {\n label: string\n value: string\n discounted?: boolean\n}\n\nexport const PriceTableRow = ({\n label,\n value,\n discounted = false,\n}: PriceTableRowProps) => (\n <div className=\"cobalt-PriceTable__Row\">\n <div className=\"cobalt-PriceTable__Label\">{label}</div>\n <div\n className={classNames(\"cobalt-PriceTable__Value\", {\n \"cobalt-PriceTable__Value--discount\": discounted,\n })}\n >\n {value}\n </div>\n </div>\n)\n"],"names":["classNames"],"mappings":";;;IAGa,UAAU,GAAG,UAAC,EAA2C;QAAzC,QAAQ,cAAA;IAAsC,QACzE,6BAAK,SAAS,EAAC,mBAAmB,IAAE,QAAQ,CAAO;AADsB,EAE1E;IAQY,aAAa,GAAG,UAAC,EAIT;QAHnB,KAAK,WAAA,EACL,KAAK,WAAA,EACL,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA;IACM,QACxB,6BAAK,SAAS,EAAC,wBAAwB;QACrC,6BAAK,SAAS,EAAC,0BAA0B,IAAE,KAAK,CAAO;QACvD,6BACE,SAAS,EAAEA,EAAU,CAAC,0BAA0B,EAAE;gBAChD,oCAAoC,EAAE,UAAU;aACjD,CAAC,IAED,KAAK,CACF,CACF;AAVkB;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
var ProgressBar = function (_a) {
|
|
4
|
+
var progress = _a.progress, _b = _a.tick, tick = _b === void 0 ? false : _b, children = _a.children;
|
|
5
|
+
return (React.createElement("div", null,
|
|
6
|
+
React.createElement("div", { className: "cobalt-ProgressBar__TitleSection" },
|
|
7
|
+
React.createElement("div", null,
|
|
8
|
+
React.createElement("div", { className: "cobalt-ProgressBar__Progression" },
|
|
9
|
+
progress,
|
|
10
|
+
"%"),
|
|
11
|
+
React.createElement("div", { className: "cobalt-ProgressBar__Title" }, children)),
|
|
12
|
+
progress === 100 && (React.createElement("div", { className: "cobalt-ProgressBar__CompletedCheckbox" },
|
|
13
|
+
React.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" },
|
|
14
|
+
React.createElement("g", { fill: "none", fillRule: "evenodd", stroke: "none", strokeWidth: "1" },
|
|
15
|
+
React.createElement("path", { d: "M12,22 C17.5228475,22 22,17.5228475 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,17.5228475 6.4771525,22 12,22 Z M10.039794,16.4579825 L10.3868138,16.8048824 C10.7382605,17.1562077 11.3079394,17.1562077 11.6593861,16.8048824 L12.0064058,16.4579825 L18.3862862,10.0803058 C18.7379046,9.72880879 18.7379046,9.15879074 18.3862862,8.80729375 L17.6922467,8.11349398 C17.3408,7.76216867 16.771121,7.76216867 16.4196743,8.11349398 L11.0398301,13.5249288 L8.08032565,10.5664466 C7.72887895,10.2151213 7.15920001,10.2151213 6.80775331,10.5664466 L6.11371383,11.2602463 C5.76209539,11.6117433 5.76209539,12.1817614 6.11371383,12.5332584 L10.039794,16.4579825 Z", fill: "#b4bbc6" })))))),
|
|
16
|
+
React.createElement("div", { className: "cobalt-ProgressBar__Container" },
|
|
17
|
+
React.createElement("div", { className: "cobalt-ProgressBar__Foreground", style: { width: progress + "%" } }),
|
|
18
|
+
tick && React.createElement("div", { className: "cobalt-ProgressBar__Tick" }))));
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { ProgressBar };
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/ProgressBar/index.tsx"],"sourcesContent":["import React from \"react\"\n\nexport interface ProgressBarProps {\n children: React.ReactNode\n progress: number\n /**\n * Visual tick at the end of the progress bar\n * @default false\n */\n tick?: boolean\n}\n\nexport const ProgressBar = ({\n progress,\n tick = false,\n children,\n}: ProgressBarProps) => (\n <div>\n <div className=\"cobalt-ProgressBar__TitleSection\">\n <div>\n <div className=\"cobalt-ProgressBar__Progression\">{progress}%</div>\n <div className=\"cobalt-ProgressBar__Title\">{children}</div>\n </div>\n {progress === 100 && (\n <div className=\"cobalt-ProgressBar__CompletedCheckbox\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth=\"1\">\n <path\n d=\"M12,22 C17.5228475,22 22,17.5228475 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,17.5228475 6.4771525,22 12,22 Z M10.039794,16.4579825 L10.3868138,16.8048824 C10.7382605,17.1562077 11.3079394,17.1562077 11.6593861,16.8048824 L12.0064058,16.4579825 L18.3862862,10.0803058 C18.7379046,9.72880879 18.7379046,9.15879074 18.3862862,8.80729375 L17.6922467,8.11349398 C17.3408,7.76216867 16.771121,7.76216867 16.4196743,8.11349398 L11.0398301,13.5249288 L8.08032565,10.5664466 C7.72887895,10.2151213 7.15920001,10.2151213 6.80775331,10.5664466 L6.11371383,11.2602463 C5.76209539,11.6117433 5.76209539,12.1817614 6.11371383,12.5332584 L10.039794,16.4579825 Z\"\n fill=\"#b4bbc6\"\n />\n </g>\n </svg>\n </div>\n )}\n </div>\n <div className=\"cobalt-ProgressBar__Container\">\n <div\n className=\"cobalt-ProgressBar__Foreground\"\n style={{ width: `${progress}%` }}\n />\n {tick && <div className=\"cobalt-ProgressBar__Tick\" />}\n </div>\n </div>\n)\n"],"names":[],"mappings":";;IAYa,WAAW,GAAG,UAAC,EAIT;QAHjB,QAAQ,cAAA,EACR,YAAY,EAAZ,IAAI,mBAAG,KAAK,KAAA,EACZ,QAAQ,cAAA;IACc,QACtB;QACE,6BAAK,SAAS,EAAC,kCAAkC;YAC/C;gBACE,6BAAK,SAAS,EAAC,iCAAiC;oBAAE,QAAQ;wBAAQ;gBAClE,6BAAK,SAAS,EAAC,2BAA2B,IAAE,QAAQ,CAAO,CACvD;YACL,QAAQ,KAAK,GAAG,KACf,6BAAK,SAAS,EAAC,uCAAuC;gBACpD,6BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B;oBAElC,2BAAG,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,GAAG;wBAC7D,8BACE,CAAC,EAAC,sqBAAsqB,EACxqB,IAAI,EAAC,SAAS,GACd,CACA,CACA,CACF,CACP,CACG;QACN,6BAAK,SAAS,EAAC,+BAA+B;YAC5C,6BACE,SAAS,EAAC,gCAAgC,EAC1C,KAAK,EAAE,EAAE,KAAK,EAAK,QAAQ,MAAG,EAAE,GAChC;YACD,IAAI,IAAI,6BAAK,SAAS,EAAC,0BAA0B,GAAG,CACjD,CACF;AAhCgB;;;;"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { __read, __rest, __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import React, { useState, useRef, useLayoutEffect, useCallback } from 'react';
|
|
3
|
+
import { Tabs as Tabs$1, TabList, TabPanels, TabPanel, Tab as Tab$1 } from '@reach/tabs';
|
|
4
|
+
import cx from 'classnames';
|
|
5
|
+
import { useSpring } from '@react-spring/web';
|
|
6
|
+
import throttle from 'lodash.throttle';
|
|
7
|
+
import { Icon } from '../Icon/index.js';
|
|
8
|
+
|
|
9
|
+
var SCROLL_STEP = 150;
|
|
10
|
+
// Only for the API, render nothing, we use InternalTab component internally
|
|
11
|
+
var Tab = function () { return null; };
|
|
12
|
+
Tab.displayName = "Tab";
|
|
13
|
+
var isTabComponent = function (component) {
|
|
14
|
+
return React.isValidElement(component) && component.type === Tab;
|
|
15
|
+
};
|
|
16
|
+
var InternalTab = function (props) {
|
|
17
|
+
var href = props.href, children = props.children, isSelected = props.isSelected;
|
|
18
|
+
return (React.createElement(Tab$1, __assign({}, props, (href ? { href: href, as: "a" } : { as: "button" }), { className: cx("cobalt-tabs__label", {
|
|
19
|
+
"cobalt-tabs__label--selected": isSelected,
|
|
20
|
+
}) }), typeof children === "function" ? children(isSelected) : children));
|
|
21
|
+
};
|
|
22
|
+
InternalTab.displayName = "InternalTab";
|
|
23
|
+
var Tabs = function (_a) {
|
|
24
|
+
var _b, _c, _d;
|
|
25
|
+
var children = _a.children, defaultTabIndex = _a.defaultTabIndex, onChange = _a.onChange, subLevel = _a.subLevel;
|
|
26
|
+
var _e = __read(useState(0), 2), scrollDistance = _e[0], setScrollDistance = _e[1];
|
|
27
|
+
var _f = __read(useState({
|
|
28
|
+
prev: false,
|
|
29
|
+
next: true,
|
|
30
|
+
}), 2), scrollButtonsEnabled = _f[0], setScrollButtonsEnabled = _f[1];
|
|
31
|
+
var labelListRef = useRef(null);
|
|
32
|
+
var _g = __read(useSpring(function () { return ({
|
|
33
|
+
config: { tension: 300, friction: 30, clamp: true },
|
|
34
|
+
springScrollLeft: 0,
|
|
35
|
+
onChange: {
|
|
36
|
+
springScrollLeft: function (springScrollLeft) {
|
|
37
|
+
if (labelListRef === null || labelListRef === void 0 ? void 0 : labelListRef.current) {
|
|
38
|
+
labelListRef.current.scrollLeft =
|
|
39
|
+
springScrollLeft;
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
}); }), 2), scrollLeftSpringRef = _g[1];
|
|
44
|
+
var updateScrollDistance = function () {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
var scrollWidth = ((_a = labelListRef === null || labelListRef === void 0 ? void 0 : labelListRef.current) === null || _a === void 0 ? void 0 : _a.scrollWidth) || 0;
|
|
47
|
+
var clientWidth = ((_b = labelListRef === null || labelListRef === void 0 ? void 0 : labelListRef.current) === null || _b === void 0 ? void 0 : _b.clientWidth) || 0;
|
|
48
|
+
setScrollDistance(scrollWidth && clientWidth && scrollWidth - clientWidth);
|
|
49
|
+
};
|
|
50
|
+
var updateScrollButtonsState = function () {
|
|
51
|
+
if (labelListRef === null || labelListRef === void 0 ? void 0 : labelListRef.current) {
|
|
52
|
+
var newScrollButtonStates = { prev: true, next: true };
|
|
53
|
+
if (labelListRef.current.scrollLeft <= 0) {
|
|
54
|
+
newScrollButtonStates.prev = false;
|
|
55
|
+
}
|
|
56
|
+
if (scrollDistance && labelListRef.current.scrollLeft >= scrollDistance) {
|
|
57
|
+
newScrollButtonStates.next = false;
|
|
58
|
+
}
|
|
59
|
+
setScrollButtonsEnabled(newScrollButtonStates);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
var updateStates = function () {
|
|
63
|
+
updateScrollDistance();
|
|
64
|
+
updateScrollButtonsState();
|
|
65
|
+
};
|
|
66
|
+
useLayoutEffect(function () {
|
|
67
|
+
var throttledUpdate = throttle(updateStates, 300);
|
|
68
|
+
window.addEventListener("resize", throttledUpdate);
|
|
69
|
+
return function () { return window.removeEventListener("resize", throttledUpdate); };
|
|
70
|
+
}, [scrollDistance]);
|
|
71
|
+
// When the bar became scrollable/not scrollable, the scrollWidth will change
|
|
72
|
+
// so we update states according to its change
|
|
73
|
+
useLayoutEffect(function () {
|
|
74
|
+
updateStates();
|
|
75
|
+
}, [(_b = labelListRef === null || labelListRef === void 0 ? void 0 : labelListRef.current) === null || _b === void 0 ? void 0 : _b.scrollWidth]);
|
|
76
|
+
var tabsPropsArray = [];
|
|
77
|
+
var tabsChildren = [];
|
|
78
|
+
var matchedHrefIndex = undefined;
|
|
79
|
+
React.Children.forEach(children, function (child, index) {
|
|
80
|
+
if (isTabComponent(child)) {
|
|
81
|
+
var _a = child.props, tabChildren = _a.children, tabProps = __rest(_a, ["children"]);
|
|
82
|
+
tabsPropsArray.push(tabProps);
|
|
83
|
+
// if no children, it will be null, nothing will be rendered
|
|
84
|
+
tabsChildren.push(tabChildren);
|
|
85
|
+
if (tabProps.href === window.location.pathname) {
|
|
86
|
+
matchedHrefIndex = index;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
var scrollTabs = function (scrollAmount) {
|
|
91
|
+
if (labelListRef === null || labelListRef === void 0 ? void 0 : labelListRef.current) {
|
|
92
|
+
var newScrollButtonStates = { prev: true, next: true };
|
|
93
|
+
var computedScrollLeft = labelListRef.current.scrollLeft + scrollAmount;
|
|
94
|
+
var newScrollLeft = computedScrollLeft;
|
|
95
|
+
// not scrolled at all
|
|
96
|
+
if (computedScrollLeft <= 0) {
|
|
97
|
+
newScrollButtonStates.prev = false;
|
|
98
|
+
newScrollLeft = 0;
|
|
99
|
+
}
|
|
100
|
+
// scrolled at maximum
|
|
101
|
+
if (scrollDistance && computedScrollLeft >= scrollDistance) {
|
|
102
|
+
newScrollButtonStates.next = false;
|
|
103
|
+
newScrollLeft = scrollDistance;
|
|
104
|
+
}
|
|
105
|
+
setScrollButtonsEnabled(newScrollButtonStates);
|
|
106
|
+
scrollLeftSpringRef.start({
|
|
107
|
+
springScrollLeft: newScrollLeft,
|
|
108
|
+
immediate: false,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
var onScrollPrev = useCallback(function () { return scrollTabs(-SCROLL_STEP); }, [scrollButtonsEnabled, (_c = labelListRef === null || labelListRef === void 0 ? void 0 : labelListRef.current) === null || _c === void 0 ? void 0 : _c.scrollLeft]);
|
|
113
|
+
var onScrollNext = useCallback(function () { return scrollTabs(SCROLL_STEP); }, [scrollButtonsEnabled, (_d = labelListRef === null || labelListRef === void 0 ? void 0 : labelListRef.current) === null || _d === void 0 ? void 0 : _d.scrollLeft]);
|
|
114
|
+
var isScrollable = !!scrollDistance;
|
|
115
|
+
var handleWheel = throttle(function () {
|
|
116
|
+
if (labelListRef === null || labelListRef === void 0 ? void 0 : labelListRef.current) {
|
|
117
|
+
updateScrollButtonsState();
|
|
118
|
+
// Don't animate
|
|
119
|
+
scrollLeftSpringRef.set({
|
|
120
|
+
springScrollLeft: labelListRef.current.scrollLeft,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}, 300);
|
|
124
|
+
return (React.createElement(Tabs$1, { className: "cobalt-tabs", defaultIndex: matchedHrefIndex || defaultTabIndex, onChange: onChange },
|
|
125
|
+
React.createElement(TabList, { className: cx("cobalt-tabs__labels", {
|
|
126
|
+
"cobalt-tabs__labels--scrollable": isScrollable,
|
|
127
|
+
"cobalt-tabs__labels--subLevel": subLevel,
|
|
128
|
+
}), onWheel: handleWheel, ref: labelListRef }, tabsPropsArray.map(function (props, index) { return (React.createElement(InternalTab, { key: index, href: props.href }, props.label)); })),
|
|
129
|
+
isScrollable && (React.createElement(React.Fragment, null,
|
|
130
|
+
React.createElement("button", { className: "cobalt-tabs__nav-prev", onClick: onScrollPrev, disabled: !scrollButtonsEnabled.prev },
|
|
131
|
+
React.createElement("span", { className: "cobalt-tabs__nav-icon" },
|
|
132
|
+
React.createElement(Icon, { source: "chevronLeft", color: "indigo" }))),
|
|
133
|
+
React.createElement("button", { className: "cobalt-tabs__nav-next", onClick: onScrollNext, disabled: !scrollButtonsEnabled.next },
|
|
134
|
+
React.createElement("span", { className: "cobalt-tabs__nav-icon" },
|
|
135
|
+
React.createElement(Icon, { source: "chevronRight", color: "indigo" }))))),
|
|
136
|
+
!!tabsChildren.length && (React.createElement(TabPanels, null, tabsChildren.map(function (tabChildren, index) { return (React.createElement(TabPanel, { className: "cobalt-tabs__panel", key: index }, tabChildren)); })))));
|
|
137
|
+
};
|
|
138
|
+
Tabs.Tab = Tab;
|
|
139
|
+
Tabs.displayName = "Tabs";
|
|
140
|
+
|
|
141
|
+
export { Tab, Tabs, Tabs as default };
|
|
142
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Tabs/index.tsx"],"sourcesContent":["import React, {\n FC,\n useRef,\n useLayoutEffect,\n useState,\n useCallback,\n} from \"react\"\nimport {\n Tabs as ReachTabs,\n TabList as ReachTabList,\n Tab as ReachTab,\n TabPanels as ReachTabPanels,\n TabPanel as ReachTabPanel,\n} from \"@reach/tabs\"\nimport cx from \"classnames\"\nimport { useSpring } from \"@react-spring/web\"\n\nimport { throttle } from \"../utils\"\nimport { Icon } from \"../Icon\"\n\nconst SCROLL_STEP = 150\n\nexport type TabsPropsType = {\n /**\n * Index of the initial actived tab (first tab by default)\n */\n defaultTabIndex?: number\n /**\n * Method to be run on tab change\n */\n onChange?: (index: number) => void\n /**\n * Left aligned tabs with no uppercased labels\n */\n subLevel?: boolean\n}\n\ntype TabPropsType = {\n /**\n * Label/title of the tab\n */\n label: string | React.ReactNode | ((isSelected?: boolean) => React.ReactNode)\n /**\n * Hypertext link. If provided, the tab will be an anchor\n */\n href?: string\n}\n\ntype InternalTabPropsType = {\n isSelected?: boolean // Provided by Reach TabList component\n href?: string\n children: TabPropsType[\"label\"]\n}\n\n// Only for the API, render nothing, we use InternalTab component internally\nexport const Tab: FC<TabPropsType> = () => null\nTab.displayName = \"Tab\"\n\nconst isTabComponent = (\n component: React.ReactNode\n): component is React.ReactElement<React.PropsWithChildren<TabPropsType>> =>\n React.isValidElement(component) && component.type === Tab\n\nconst InternalTab = (props: InternalTabPropsType) => {\n const { href, children, isSelected } = props\n return (\n <ReachTab\n {...props}\n {...(href ? { href, as: \"a\" } : { as: \"button\" })}\n className={cx(\"cobalt-tabs__label\", {\n \"cobalt-tabs__label--selected\": isSelected,\n })}\n >\n {typeof children === \"function\" ? children(isSelected) : children}\n </ReachTab>\n )\n}\nInternalTab.displayName = \"InternalTab\"\n\nexport const Tabs: FC<TabsPropsType> & { Tab: FC<TabPropsType> } = ({\n children,\n defaultTabIndex,\n onChange,\n subLevel,\n}) => {\n const [scrollDistance, setScrollDistance] = useState(0)\n const [scrollButtonsEnabled, setScrollButtonsEnabled] = useState({\n prev: false,\n next: true,\n })\n\n const labelListRef = useRef<HTMLDivElement>(null)\n\n const [, scrollLeftSpringRef] = useSpring(() => ({\n config: { tension: 300, friction: 30, clamp: true },\n springScrollLeft: 0,\n onChange: {\n springScrollLeft: (springScrollLeft) => {\n if (labelListRef?.current) {\n labelListRef.current.scrollLeft =\n springScrollLeft as unknown as number\n }\n },\n },\n }))\n\n const updateScrollDistance = () => {\n const scrollWidth = labelListRef?.current?.scrollWidth || 0\n const clientWidth = labelListRef?.current?.clientWidth || 0\n setScrollDistance(scrollWidth && clientWidth && scrollWidth - clientWidth)\n }\n\n const updateScrollButtonsState = () => {\n if (labelListRef?.current) {\n const newScrollButtonStates = { prev: true, next: true }\n if (labelListRef.current.scrollLeft <= 0) {\n newScrollButtonStates.prev = false\n }\n if (scrollDistance && labelListRef.current.scrollLeft >= scrollDistance) {\n newScrollButtonStates.next = false\n }\n setScrollButtonsEnabled(newScrollButtonStates)\n }\n }\n\n const updateStates = () => {\n updateScrollDistance()\n updateScrollButtonsState()\n }\n\n useLayoutEffect(() => {\n const throttledUpdate = throttle(updateStates, 300)\n window.addEventListener(\"resize\", throttledUpdate)\n return () => window.removeEventListener(\"resize\", throttledUpdate)\n }, [scrollDistance])\n\n // When the bar became scrollable/not scrollable, the scrollWidth will change\n // so we update states according to its change\n useLayoutEffect(() => {\n updateStates()\n }, [labelListRef?.current?.scrollWidth])\n\n const tabsPropsArray: TabPropsType[] = []\n const tabsChildren: typeof children[] = []\n let matchedHrefIndex: number | undefined = undefined\n React.Children.forEach(children, (child, index) => {\n if (isTabComponent(child)) {\n const { children: tabChildren, ...tabProps } = child.props\n tabsPropsArray.push(tabProps)\n // if no children, it will be null, nothing will be rendered\n tabsChildren.push(tabChildren)\n if (tabProps.href === window.location.pathname) {\n matchedHrefIndex = index\n }\n }\n })\n\n const scrollTabs = (scrollAmount: number) => {\n if (labelListRef?.current) {\n const newScrollButtonStates = { prev: true, next: true }\n const computedScrollLeft = labelListRef.current.scrollLeft + scrollAmount\n let newScrollLeft = computedScrollLeft\n\n // not scrolled at all\n if (computedScrollLeft <= 0) {\n newScrollButtonStates.prev = false\n newScrollLeft = 0\n }\n // scrolled at maximum\n if (scrollDistance && computedScrollLeft >= scrollDistance) {\n newScrollButtonStates.next = false\n newScrollLeft = scrollDistance\n }\n\n setScrollButtonsEnabled(newScrollButtonStates)\n scrollLeftSpringRef.start({\n springScrollLeft: newScrollLeft,\n immediate: false,\n })\n }\n }\n const onScrollPrev = useCallback(\n () => scrollTabs(-SCROLL_STEP),\n [scrollButtonsEnabled, labelListRef?.current?.scrollLeft]\n )\n const onScrollNext = useCallback(\n () => scrollTabs(SCROLL_STEP),\n [scrollButtonsEnabled, labelListRef?.current?.scrollLeft]\n )\n\n const isScrollable = !!scrollDistance\n\n const handleWheel = throttle(() => {\n if (labelListRef?.current) {\n updateScrollButtonsState()\n // Don't animate\n scrollLeftSpringRef.set({\n springScrollLeft: labelListRef.current.scrollLeft,\n })\n }\n }, 300)\n\n return (\n <ReachTabs\n className=\"cobalt-tabs\"\n defaultIndex={matchedHrefIndex || defaultTabIndex}\n onChange={onChange}\n >\n <ReachTabList\n className={cx(\"cobalt-tabs__labels\", {\n \"cobalt-tabs__labels--scrollable\": isScrollable,\n \"cobalt-tabs__labels--subLevel\": subLevel,\n })}\n onWheel={handleWheel}\n ref={labelListRef}\n >\n {tabsPropsArray.map((props, index) => (\n <InternalTab key={index} href={props.href}>\n {props.label}\n </InternalTab>\n ))}\n </ReachTabList>\n {isScrollable && (\n <>\n <button\n className=\"cobalt-tabs__nav-prev\"\n onClick={onScrollPrev}\n disabled={!scrollButtonsEnabled.prev}\n >\n <span className=\"cobalt-tabs__nav-icon\">\n <Icon source=\"chevronLeft\" color=\"indigo\" />\n </span>\n </button>\n <button\n className=\"cobalt-tabs__nav-next\"\n onClick={onScrollNext}\n disabled={!scrollButtonsEnabled.next}\n >\n <span className=\"cobalt-tabs__nav-icon\">\n <Icon source=\"chevronRight\" color=\"indigo\" />\n </span>\n </button>\n </>\n )}\n {!!tabsChildren.length && (\n <ReachTabPanels>\n {tabsChildren.map((tabChildren, index) => (\n <ReachTabPanel className=\"cobalt-tabs__panel\" key={index}>\n {tabChildren}\n </ReachTabPanel>\n ))}\n </ReachTabPanels>\n )}\n </ReachTabs>\n )\n}\nTabs.Tab = Tab\nTabs.displayName = \"Tabs\"\n\nexport default Tabs\n"],"names":["ReachTab","ReachTabs","ReachTabList","ReachTabPanels","ReachTabPanel"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
|
|
4
|
+
var Tag = function (_a) {
|
|
5
|
+
var children = _a.children, variant = _a.variant;
|
|
6
|
+
return (React.createElement("div", { className: cx("cobalt-Tag", {
|
|
7
|
+
"cobalt-Tag--muted": variant === "muted",
|
|
8
|
+
"cobalt-Tag--important": variant === "important",
|
|
9
|
+
}) }, children));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { Tag };
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Tag/index.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\n\nexport interface TagProps {\n children: React.ReactNode\n variant?: \"muted\" | \"important\"\n}\n\nexport const Tag = ({ children, variant }: TagProps) => (\n <div\n className={cx(\"cobalt-Tag\", {\n \"cobalt-Tag--muted\": variant === \"muted\",\n \"cobalt-Tag--important\": variant === \"important\",\n })}\n >\n {children}\n </div>\n)\n"],"names":[],"mappings":";;;IAQa,GAAG,GAAG,UAAC,EAA+B;QAA7B,QAAQ,cAAA,EAAE,OAAO,aAAA;IAAiB,QACtD,6BACE,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE;YAC1B,mBAAmB,EAAE,OAAO,KAAK,OAAO;YACxC,uBAAuB,EAAE,OAAO,KAAK,WAAW;SACjD,CAAC,IAED,QAAQ,CACL;AARgD;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/TextContainer/index.tsx"],"sourcesContent":["import React from \"react\"\n\nexport interface TextContainer {\n children: React.ReactNode\n}\n\nexport const TextContainer = ({ children }: TextContainer) => (\n <div className=\"cobalt-TextContainer\">{children}</div>\n)\n"],"names":[],"mappings":";;IAMa,aAAa,GAAG,UAAC,EAA2B;QAAzB,QAAQ,cAAA;IAAsB,QAC5D,6BAAK,SAAS,EAAC,sBAAsB,IAAE,QAAQ,CAAO;AADM;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timer object enhancing setTimeout with start, pause, resume features *
|
|
3
|
+
*/
|
|
4
|
+
var Timer = /** @class */ (function () {
|
|
5
|
+
function Timer(callback, delay) {
|
|
6
|
+
var _this = this;
|
|
7
|
+
this.pause = function () {
|
|
8
|
+
if (_this.start) {
|
|
9
|
+
window.clearTimeout(_this.timerID);
|
|
10
|
+
_this.remaining -= Number(new Date()) - _this.start;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
this.run = function () {
|
|
14
|
+
_this.start = Number(new Date());
|
|
15
|
+
if (_this.timerID)
|
|
16
|
+
window.clearTimeout(_this.timerID);
|
|
17
|
+
_this.timerID = window.setTimeout(_this.callback, _this.remaining);
|
|
18
|
+
};
|
|
19
|
+
this.remaining = delay;
|
|
20
|
+
this.callback = callback;
|
|
21
|
+
}
|
|
22
|
+
return Timer;
|
|
23
|
+
}());
|
|
24
|
+
|
|
25
|
+
export { Timer as default };
|
|
26
|
+
//# sourceMappingURL=Timer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Timer.js","sources":["../../../src/components/utils/Timer.ts"],"sourcesContent":["/**\n * Timer object enhancing setTimeout with start, pause, resume features *\n */\nclass Timer {\n private timerID?: number\n private start?: number\n private remaining: number\n private callback: (...args: any) => any\n\n constructor(callback: (...args: any) => any, delay: number) {\n this.remaining = delay\n this.callback = callback\n }\n\n pause = () => {\n if (this.start) {\n window.clearTimeout(this.timerID)\n this.remaining -= Number(new Date()) - this.start\n }\n }\n\n run = () => {\n this.start = Number(new Date())\n if (this.timerID) window.clearTimeout(this.timerID)\n this.timerID = window.setTimeout(this.callback, this.remaining)\n }\n}\n\nexport default Timer\n"],"names":[],"mappings":"AAAA;;;;IASE,eAAY,QAA+B,EAAE,KAAa;QAA1D,iBAGC;QAED,UAAK,GAAG;YACN,IAAI,KAAI,CAAC,KAAK,EAAE;gBACd,MAAM,CAAC,YAAY,CAAC,KAAI,CAAC,OAAO,CAAC,CAAA;gBACjC,KAAI,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,KAAI,CAAC,KAAK,CAAA;aAClD;SACF,CAAA;QAED,QAAG,GAAG;YACJ,KAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;YAC/B,IAAI,KAAI,CAAC,OAAO;gBAAE,MAAM,CAAC,YAAY,CAAC,KAAI,CAAC,OAAO,CAAC,CAAA;YACnD,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,SAAS,CAAC,CAAA;SAChE,CAAA;QAfC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;KACzB;IAcH,YAAC;AAAD,CAAC;;;;"}
|