@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,171 @@
|
|
|
1
|
+
import { __rest, __read, __assign } from '../../../_virtual/_tslib.js';
|
|
2
|
+
import React, { useState, useRef, useEffect } from 'react';
|
|
3
|
+
import cx from 'classnames';
|
|
4
|
+
import { Combobox, ComboboxPopover, ComboboxList, ComboboxOption, ComboboxOptionText, ComboboxInput } from '@reach/combobox';
|
|
5
|
+
import { Icon } from '../../Icon/index.js';
|
|
6
|
+
import { withFieldLabelAndHint } from '../field.js';
|
|
7
|
+
import { TextInputWrapper } from '../TextInput.js';
|
|
8
|
+
|
|
9
|
+
function filterMatchingItems(items, term, minLength, valueKey) {
|
|
10
|
+
var _a = __read(useState([]), 2), matchingItems = _a[0], setMatchingItems = _a[1];
|
|
11
|
+
useEffect(function () {
|
|
12
|
+
term.length >= minLength
|
|
13
|
+
? setMatchingItems(items.filter(function (item) {
|
|
14
|
+
return item[valueKey].toLowerCase().indexOf(term.toLowerCase()) > -1;
|
|
15
|
+
}))
|
|
16
|
+
: setMatchingItems([]);
|
|
17
|
+
}, [items, term, valueKey]);
|
|
18
|
+
return matchingItems;
|
|
19
|
+
}
|
|
20
|
+
function sanitizeItems(items, valueKey) {
|
|
21
|
+
var _a = __read(useState([]), 2), sanitizedItems = _a[0], setSanitizedItems = _a[1];
|
|
22
|
+
useEffect(function () {
|
|
23
|
+
setSanitizedItems(items.map(function (item) {
|
|
24
|
+
var _a;
|
|
25
|
+
return typeof item === "string" ? (_a = {}, _a[valueKey] = item, _a) : item;
|
|
26
|
+
}));
|
|
27
|
+
}, [items]);
|
|
28
|
+
return sanitizedItems;
|
|
29
|
+
}
|
|
30
|
+
function Autocomplete(_a) {
|
|
31
|
+
var id = _a.id, icon = _a.icon, status = _a.status, items = _a.items, selectedItem = _a.selectedItem, _b = _a.autoFilter, autoFilter = _b === void 0 ? true : _b, _c = _a.minQueryLength, minQueryLength = _c === void 0 ? 1 : _c, _d = _a.focusOnInit, focusOnInit = _d === void 0 ? false : _d, onKeyDown = _a.onKeyDown, onFocus = _a.onFocus, onBlur = _a.onBlur, onQueryChange = _a.onQueryChange, onSelectItem = _a.onSelectItem, renderItem = _a.renderItem, inputRef = _a.inputRef, autocompleteRef = _a.autocompleteRef, _e = _a.valueKey, valueKey = _e === void 0 ? "value" : _e, inputProps = __rest(_a, ["id", "icon", "status", "items", "selectedItem", "autoFilter", "minQueryLength", "focusOnInit", "onKeyDown", "onFocus", "onBlur", "onQueryChange", "onSelectItem", "renderItem", "inputRef", "autocompleteRef", "valueKey"]);
|
|
32
|
+
var _f = __read(useState(""), 2), term = _f[0], setTerm = _f[1];
|
|
33
|
+
var _g = __read(useState(false), 2), hasFocus = _g[0], setHasFocus = _g[1];
|
|
34
|
+
var ignoreFocus = false; // extra flag to ignore programmatical focus triggered by click on item
|
|
35
|
+
var results = autoFilter
|
|
36
|
+
? filterMatchingItems(sanitizeItems(items, valueKey), term, minQueryLength, valueKey)
|
|
37
|
+
: sanitizeItems(items, valueKey);
|
|
38
|
+
var comboboxEl = autocompleteRef || useRef(null);
|
|
39
|
+
var inputEl = inputRef || useRef(null);
|
|
40
|
+
var popoverEl = useRef(null);
|
|
41
|
+
var giveInputFocus = function () {
|
|
42
|
+
inputEl.current && inputEl.current.focus();
|
|
43
|
+
};
|
|
44
|
+
var forceIdTimer = useRef();
|
|
45
|
+
var focusTimer = useRef();
|
|
46
|
+
var blurTimer = useRef();
|
|
47
|
+
var clearInputTimer = useRef();
|
|
48
|
+
function forceId() {
|
|
49
|
+
// id is overriden by Reach ui Combobox
|
|
50
|
+
forceIdTimer.current = setTimeout(function () {
|
|
51
|
+
id && inputEl.current && inputEl.current.setAttribute("id", id);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
useEffect(function () {
|
|
55
|
+
// on mount ...
|
|
56
|
+
focusOnInit && giveInputFocus();
|
|
57
|
+
return function () {
|
|
58
|
+
forceIdTimer.current && clearTimeout(forceIdTimer.current);
|
|
59
|
+
focusTimer.current && clearTimeout(focusTimer.current);
|
|
60
|
+
blurTimer.current && clearTimeout(blurTimer.current);
|
|
61
|
+
clearInputTimer.current && clearTimeout(clearInputTimer.current);
|
|
62
|
+
};
|
|
63
|
+
}, []);
|
|
64
|
+
useEffect(function () {
|
|
65
|
+
forceId();
|
|
66
|
+
}, [id]);
|
|
67
|
+
useEffect(function () {
|
|
68
|
+
setTerm(selectedItem ? "" + selectedItem[valueKey] : "");
|
|
69
|
+
}, [selectedItem]);
|
|
70
|
+
var handleFocus = function (event) {
|
|
71
|
+
!ignoreFocus && onFocus && onFocus(event);
|
|
72
|
+
ignoreFocus = false;
|
|
73
|
+
focusTimer.current = setTimeout(function () {
|
|
74
|
+
// required by "forceDisplayResults" mechanism
|
|
75
|
+
setHasFocus(true);
|
|
76
|
+
}, 100);
|
|
77
|
+
};
|
|
78
|
+
var handleBlur = function (event) {
|
|
79
|
+
// blur interceptor required by "forceDisplayResults" mechanism
|
|
80
|
+
onBlur && onBlur(event);
|
|
81
|
+
blurTimer.current = setTimeout(function () {
|
|
82
|
+
setHasFocus(false);
|
|
83
|
+
}, 100);
|
|
84
|
+
};
|
|
85
|
+
var handleChange = function (event) {
|
|
86
|
+
var inputValue = event.target.value;
|
|
87
|
+
if (inputValue.trim().length || term.length) {
|
|
88
|
+
// to prevent starting with a space character
|
|
89
|
+
setTerm(inputValue);
|
|
90
|
+
onQueryChange && onQueryChange(inputValue);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
var handleClearInput = function () {
|
|
94
|
+
setTerm("");
|
|
95
|
+
onQueryChange && onQueryChange("");
|
|
96
|
+
clearInputTimer.current = setTimeout(giveInputFocus); //timeout to trigger openOnFocus
|
|
97
|
+
};
|
|
98
|
+
var handleSelectItem = function (item, e) {
|
|
99
|
+
// item click interceptor to enable custom select cancellation
|
|
100
|
+
var processSelection = onSelectItem
|
|
101
|
+
? onSelectItem(item, term) !== false
|
|
102
|
+
: true;
|
|
103
|
+
if (processSelection) {
|
|
104
|
+
setTerm(item[valueKey]);
|
|
105
|
+
}
|
|
106
|
+
else if (e) {
|
|
107
|
+
e.preventDefault();
|
|
108
|
+
ignoreFocus = true;
|
|
109
|
+
giveInputFocus();
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
var handleKeyDown = function (e) {
|
|
113
|
+
onKeyDown && onKeyDown(e);
|
|
114
|
+
// ENTER key down interceptor to enable custom select cancellation
|
|
115
|
+
var KEY_CODE_ENTER = 13;
|
|
116
|
+
// BACKSPACE key down interceptor to synchonize react input value and dom input value in some edge case (Comnbobox autocomplete = true)
|
|
117
|
+
var KEY_CODE_BACKSPACE = 8;
|
|
118
|
+
if (e.keyCode === KEY_CODE_ENTER) {
|
|
119
|
+
if (!popoverEl.current)
|
|
120
|
+
return;
|
|
121
|
+
var options = Array.from(popoverEl.current.querySelectorAll("[data-reach-combobox-option]"));
|
|
122
|
+
var selectedItemIndex = options.findIndex(function (el) { return el.getAttribute("aria-selected") === "true"; });
|
|
123
|
+
selectedItemIndex >= 0 && handleSelectItem(results[selectedItemIndex], e);
|
|
124
|
+
}
|
|
125
|
+
else if (e.keyCode === KEY_CODE_BACKSPACE) {
|
|
126
|
+
if (!inputEl.current)
|
|
127
|
+
return;
|
|
128
|
+
if (inputEl.current.value.slice(0, -1) === term) {
|
|
129
|
+
setTerm(inputEl.current.value);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
var shouldDisplayItemsOnEmptyQuery = function () {
|
|
134
|
+
return !autoFilter && results.length > 0 && term.length === 0 && hasFocus;
|
|
135
|
+
};
|
|
136
|
+
var handleMouseDown = function (item, e) {
|
|
137
|
+
// In a specific case, we force the popover to display (results available, empty input using backspace)
|
|
138
|
+
// But doing so, reach ui component is not ready for this case and will raise an error
|
|
139
|
+
// We need to prevent the error and to force the selection
|
|
140
|
+
if (shouldDisplayItemsOnEmptyQuery() &&
|
|
141
|
+
popoverEl.current &&
|
|
142
|
+
popoverEl.current.getAttribute("hidden") != null) {
|
|
143
|
+
e.preventDefault(); // it will prevent reach ui combobox to raise an error
|
|
144
|
+
handleSelectItem(item, e); // we force the selection to be processed
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
return (React.createElement(Combobox, { className: cx("cobalt-Autocomplete", {
|
|
148
|
+
"cobalt-Autocomplete--forceDisplayResults": shouldDisplayItemsOnEmptyQuery(), // Combobox Component, by design, hide the popover when the input is empty (on change) even if there are some results.
|
|
149
|
+
}), as: "div", openOnFocus: true, ref: comboboxEl },
|
|
150
|
+
results.length > 0 && (React.createElement(ComboboxPopover, { className: "cobalt-Autocomplete__popover", portal: false, ref: popoverEl },
|
|
151
|
+
React.createElement(ComboboxList, { className: "cobalt-Autocomplete__list", "aria-label": "Autocomplete option" }, results.map(function (item, index) { return (React.createElement(ComboboxOption, { className: "cobalt-Autocomplete__item", key: index, value: item[valueKey], onMouseDown: function (e) {
|
|
152
|
+
handleMouseDown(item, e);
|
|
153
|
+
}, onClick: function (e) {
|
|
154
|
+
handleSelectItem(item, e);
|
|
155
|
+
} }, renderItem ? (renderItem(item, term)) : (React.createElement("span", { className: "cobalt-Autocomplete__item-wrapper" },
|
|
156
|
+
icon && (React.createElement("span", { className: "cobalt-Autocomplete__item-icon" },
|
|
157
|
+
React.createElement(Icon, { source: icon, color: "indigo" }))),
|
|
158
|
+
React.createElement("span", { className: "cobalt-Autocomplete__item-value" },
|
|
159
|
+
React.createElement(ComboboxOptionText, null)))))); })))),
|
|
160
|
+
React.createElement("div", { className: "cobalt-Autocomplete__input-wrapper" },
|
|
161
|
+
React.createElement(TextInputWrapper, { icon: icon, status: status, render: function (className) {
|
|
162
|
+
return (React.createElement(ComboboxInput, __assign({}, inputProps, { autoComplete: "off", autoCorrect: "off", autoCapitalize: "off", spellCheck: false, "aria-label": "autocomplete input", type: "text", value: term, onChange: handleChange, onBlur: handleBlur, onFocus: handleFocus, onKeyDown: handleKeyDown, ref: inputEl, className: className })));
|
|
163
|
+
} }),
|
|
164
|
+
term && (React.createElement("div", { className: "cobalt-Autocomplete__clear-button", onClick: handleClearInput },
|
|
165
|
+
React.createElement(Icon, { source: "close", size: 16 }))))));
|
|
166
|
+
}
|
|
167
|
+
var wrappedComponent = withFieldLabelAndHint(Autocomplete);
|
|
168
|
+
wrappedComponent.displayName = "Autocomplete";
|
|
169
|
+
|
|
170
|
+
export { wrappedComponent as Autocomplete };
|
|
171
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Form/Autocomplete/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, ElementType } from \"react\"\nimport { useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport {\n Combobox,\n ComboboxInput,\n ComboboxPopover,\n ComboboxList,\n ComboboxOption,\n ComboboxOptionText,\n} from \"@reach/combobox\"\n\nimport { Icon, IconSources } from \"../../Icon\"\n\nimport { withFieldLabelAndHint } from \"../field\"\nimport { TextInputWrapper } from \"../TextInput\"\nimport { FormElement } from \"../form\"\n\nexport interface AutocompleteItem {\n [x: string]: any\n}\n\ntype ComboboxPopoverType = ElementType<\"div\"> & HTMLDivElement\ntype ComboboxOptionType = HTMLLIElement & React.ElementType<\"li\">\ntype ComboboxOptionMouseEventType = React.MouseEvent<\n ComboboxOptionType,\n MouseEvent\n>\n\ntype Props = {\n icon?: IconSources\n items: (AutocompleteItem | string)[]\n minQueryLength?: number\n autoFilter?: boolean\n selectedItem?: AutocompleteItem\n focusOnInit?: boolean\n autocomplete?: boolean\n valueKey?: string\n inputRef?: React.RefObject<HTMLInputElement>\n autocompleteRef?: React.RefObject<HTMLDivElement>\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void\n onQueryChange?: (term: string) => void\n onSelectItem?: (item: AutocompleteItem, term: string) => boolean\n renderItem?: (item: AutocompleteItem, term: string) => React.ReactNode\n} & FormElement &\n React.InputHTMLAttributes<HTMLInputElement>\n\nfunction filterMatchingItems(\n items: AutocompleteItem[],\n term: string,\n minLength: number,\n valueKey: string\n) {\n const [matchingItems, setMatchingItems] = useState<AutocompleteItem[]>([])\n\n useEffect(() => {\n term.length >= minLength\n ? setMatchingItems(\n items.filter((item: AutocompleteItem) => {\n return item[valueKey].toLowerCase().indexOf(term.toLowerCase()) > -1\n })\n )\n : setMatchingItems([])\n }, [items, term, valueKey])\n\n return matchingItems\n}\n\nfunction sanitizeItems(items: (AutocompleteItem | string)[], valueKey: string) {\n const [sanitizedItems, setSanitizedItems] = useState<AutocompleteItem[]>([])\n useEffect(() => {\n setSanitizedItems(\n items.map((item) =>\n typeof item === \"string\" ? { [valueKey]: item } : item\n )\n )\n }, [items])\n return sanitizedItems\n}\n\nfunction Autocomplete({\n id,\n icon,\n status,\n items,\n selectedItem,\n autoFilter = true,\n minQueryLength = 1,\n focusOnInit = false,\n onKeyDown,\n onFocus,\n onBlur,\n onQueryChange,\n onSelectItem,\n renderItem,\n inputRef,\n autocompleteRef,\n valueKey = \"value\",\n ...inputProps\n}: Props) {\n const [term, setTerm] = useState(\"\")\n\n const [hasFocus, setHasFocus] = useState(false)\n\n let ignoreFocus = false // extra flag to ignore programmatical focus triggered by click on item\n\n const results = autoFilter\n ? filterMatchingItems(\n sanitizeItems(items, valueKey),\n term,\n minQueryLength,\n valueKey\n )\n : sanitizeItems(items, valueKey)\n\n const comboboxEl = autocompleteRef || useRef<HTMLDivElement>(null)\n\n const inputEl = inputRef || useRef<HTMLInputElement>(null)\n\n const popoverEl = useRef<ComboboxPopoverType>(null)\n\n const giveInputFocus = () => {\n inputEl.current && inputEl.current.focus()\n }\n\n const forceIdTimer = useRef<any>()\n const focusTimer = useRef<any>()\n const blurTimer = useRef<any>()\n const clearInputTimer = useRef<any>()\n\n function forceId() {\n // id is overriden by Reach ui Combobox\n forceIdTimer.current = setTimeout(() => {\n id && inputEl.current && inputEl.current.setAttribute(\"id\", id)\n })\n }\n\n useEffect(() => {\n // on mount ...\n focusOnInit && giveInputFocus()\n\n return () => {\n forceIdTimer.current && clearTimeout(forceIdTimer.current)\n focusTimer.current && clearTimeout(focusTimer.current)\n blurTimer.current && clearTimeout(blurTimer.current)\n clearInputTimer.current && clearTimeout(clearInputTimer.current)\n }\n }, [])\n\n useEffect(() => {\n forceId()\n }, [id])\n\n useEffect(() => {\n setTerm(selectedItem ? \"\" + selectedItem[valueKey] : \"\")\n }, [selectedItem])\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n !ignoreFocus && onFocus && onFocus(event)\n ignoreFocus = false\n focusTimer.current = setTimeout(() => {\n // required by \"forceDisplayResults\" mechanism\n setHasFocus(true)\n }, 100)\n }\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n // blur interceptor required by \"forceDisplayResults\" mechanism\n onBlur && onBlur(event)\n blurTimer.current = setTimeout(() => {\n setHasFocus(false)\n }, 100)\n }\n\n const handleChange = (event: React.FocusEvent<HTMLInputElement>) => {\n const inputValue = (event.target as HTMLInputElement).value\n if (inputValue.trim().length || term.length) {\n // to prevent starting with a space character\n setTerm(inputValue)\n onQueryChange && onQueryChange(inputValue)\n }\n }\n\n const handleClearInput = () => {\n setTerm(\"\")\n onQueryChange && onQueryChange(\"\")\n\n clearInputTimer.current = setTimeout(giveInputFocus) //timeout to trigger openOnFocus\n }\n\n const handleSelectItem = (\n item: AutocompleteItem,\n e: ComboboxOptionMouseEventType | React.KeyboardEvent<HTMLElement>\n ) => {\n // item click interceptor to enable custom select cancellation\n const processSelection = onSelectItem\n ? onSelectItem(item, term) !== false\n : true\n\n if (processSelection) {\n setTerm(item[valueKey])\n } else if (e) {\n e.preventDefault()\n ignoreFocus = true\n giveInputFocus()\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n onKeyDown && onKeyDown(e)\n\n // ENTER key down interceptor to enable custom select cancellation\n const KEY_CODE_ENTER = 13\n\n // BACKSPACE key down interceptor to synchonize react input value and dom input value in some edge case (Comnbobox autocomplete = true)\n const KEY_CODE_BACKSPACE = 8\n\n if (e.keyCode === KEY_CODE_ENTER) {\n if (!popoverEl.current) return\n\n const options = Array.from(\n popoverEl.current.querySelectorAll(\"[data-reach-combobox-option]\")\n )\n\n const selectedItemIndex = options.findIndex(\n (el) => el.getAttribute(\"aria-selected\") === \"true\"\n )\n\n selectedItemIndex >= 0 && handleSelectItem(results[selectedItemIndex], e)\n } else if (e.keyCode === KEY_CODE_BACKSPACE) {\n if (!inputEl.current) return\n if (inputEl.current.value.slice(0, -1) === term) {\n setTerm(inputEl.current.value)\n }\n }\n }\n\n const shouldDisplayItemsOnEmptyQuery = () => {\n return !autoFilter && results.length > 0 && term.length === 0 && hasFocus\n }\n\n const handleMouseDown = (\n item: AutocompleteItem,\n e: ComboboxOptionMouseEventType\n ) => {\n // In a specific case, we force the popover to display (results available, empty input using backspace)\n // But doing so, reach ui component is not ready for this case and will raise an error\n // We need to prevent the error and to force the selection\n if (\n shouldDisplayItemsOnEmptyQuery() &&\n popoverEl.current &&\n popoverEl.current.getAttribute(\"hidden\") != null\n ) {\n e.preventDefault() // it will prevent reach ui combobox to raise an error\n handleSelectItem(item, e) // we force the selection to be processed\n }\n }\n\n return (\n <Combobox\n className={classNames(\"cobalt-Autocomplete\", {\n \"cobalt-Autocomplete--forceDisplayResults\":\n shouldDisplayItemsOnEmptyQuery(), // Combobox Component, by design, hide the popover when the input is empty (on change) even if there are some results.\n })}\n as=\"div\"\n openOnFocus={true}\n ref={comboboxEl}\n >\n {results.length > 0 && (\n <ComboboxPopover\n className=\"cobalt-Autocomplete__popover\"\n portal={false}\n ref={popoverEl}\n >\n <ComboboxList\n className=\"cobalt-Autocomplete__list\"\n aria-label=\"Autocomplete option\"\n >\n {results.map((item, index) => (\n <ComboboxOption\n className=\"cobalt-Autocomplete__item\"\n key={index}\n value={item[valueKey]}\n onMouseDown={(e: ComboboxOptionMouseEventType) => {\n handleMouseDown(item, e)\n }}\n onClick={(e: ComboboxOptionMouseEventType) => {\n handleSelectItem(item, e)\n }}\n >\n {renderItem ? (\n renderItem(item, term)\n ) : (\n <span className=\"cobalt-Autocomplete__item-wrapper\">\n {icon && (\n <span className=\"cobalt-Autocomplete__item-icon\">\n <Icon source={icon} color=\"indigo\" />\n </span>\n )}\n\n <span className=\"cobalt-Autocomplete__item-value\">\n <ComboboxOptionText />\n </span>\n </span>\n )}\n </ComboboxOption>\n ))}\n </ComboboxList>\n </ComboboxPopover>\n )}\n <div className=\"cobalt-Autocomplete__input-wrapper\">\n <TextInputWrapper\n icon={icon}\n status={status}\n render={(className) => {\n return (\n <ComboboxInput\n {...inputProps}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck={false}\n aria-label=\"autocomplete input\"\n type=\"text\"\n value={term}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={inputEl}\n className={className}\n />\n )\n }}\n />\n\n {term && (\n <div\n className=\"cobalt-Autocomplete__clear-button\"\n onClick={handleClearInput}\n >\n <Icon source=\"close\" size={16} />\n </div>\n )}\n </div>\n </Combobox>\n )\n}\n\nconst wrappedComponent = withFieldLabelAndHint(Autocomplete)\nwrappedComponent.displayName = \"Autocomplete\"\n\nexport { wrappedComponent as Autocomplete }\n"],"names":["classNames"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { __rest, __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import cx from 'classnames';
|
|
4
|
+
import { Icon } from '../Icon/index.js';
|
|
5
|
+
import { withFieldLabelAndHint } from './field.js';
|
|
6
|
+
|
|
7
|
+
var CheckablePill = function (_a) {
|
|
8
|
+
var type = _a.type, icon = _a.icon, value = _a.value, children = _a.children, defaultChecked = _a.defaultChecked, status = _a.status, InputProps = __rest(_a, ["type", "icon", "value", "children", "defaultChecked", "status"]);
|
|
9
|
+
return (React.createElement("span", { className: cx("cobalt-CheckablePillField", {
|
|
10
|
+
"cobalt-CheckablePillField--error": status === "error",
|
|
11
|
+
"cobalt-CheckablePillField--with-icon": icon,
|
|
12
|
+
}) },
|
|
13
|
+
React.createElement("label", { className: "cobalt-CheckablePillField__LabelWrapper" },
|
|
14
|
+
React.createElement("input", __assign({}, InputProps, { type: type, className: "cobalt-CheckablePillField__Input", value: value, defaultChecked: defaultChecked })),
|
|
15
|
+
React.createElement("span", { className: "cobalt-CheckablePillField__Label" },
|
|
16
|
+
icon && React.createElement(Icon, { source: icon }),
|
|
17
|
+
children))));
|
|
18
|
+
};
|
|
19
|
+
var CheckboxPill = function (_a) {
|
|
20
|
+
var props = __rest(_a, []);
|
|
21
|
+
return React.createElement(CheckablePill, __assign({}, props, { type: "checkbox" }));
|
|
22
|
+
};
|
|
23
|
+
CheckboxPill.displayName = "CheckboxPill";
|
|
24
|
+
var RadioPill = function (_a) {
|
|
25
|
+
var props = __rest(_a, []);
|
|
26
|
+
return React.createElement(CheckablePill, __assign({}, props, { type: "radio" }));
|
|
27
|
+
};
|
|
28
|
+
RadioPill.displayName = "RadioPill";
|
|
29
|
+
var _CheckablePillsGroup = function (_a) {
|
|
30
|
+
var children = _a.children;
|
|
31
|
+
return (React.createElement("div", { className: "cobalt-CheckablePillsGroup" }, typeof children === "function" ? children() : children));
|
|
32
|
+
};
|
|
33
|
+
var CheckablePillsGroup = withFieldLabelAndHint(_CheckablePillsGroup);
|
|
34
|
+
CheckablePillsGroup.displayName = "CheckablePillsGroup";
|
|
35
|
+
|
|
36
|
+
export { CheckablePillsGroup, CheckboxPill, RadioPill };
|
|
37
|
+
//# sourceMappingURL=CheckablePill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckablePill.js","sources":["../../../src/components/Form/CheckablePill.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { Icon, IconSources } from \"../Icon\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\ntype Props = {\n type?: \"checkbox\" | \"radio\"\n icon?: IconSources\n value: string\n children: React.ReactNode\n defaultChecked?: boolean\n name: string\n} & FormElement &\n React.InputHTMLAttributes<HTMLInputElement>\n\nconst CheckablePill = ({\n type,\n icon,\n value,\n children,\n defaultChecked,\n status,\n ...InputProps\n}: Props) => {\n return (\n <span\n className={classNames(\"cobalt-CheckablePillField\", {\n \"cobalt-CheckablePillField--error\": status === \"error\",\n \"cobalt-CheckablePillField--with-icon\": icon,\n })}\n >\n <label className=\"cobalt-CheckablePillField__LabelWrapper\">\n <input\n {...InputProps}\n type={type}\n className=\"cobalt-CheckablePillField__Input\"\n value={value}\n defaultChecked={defaultChecked}\n />\n <span className=\"cobalt-CheckablePillField__Label\">\n {icon && <Icon source={icon} />}\n {children}\n </span>\n </label>\n </span>\n )\n}\n\nexport const CheckboxPill = ({ ...props }: Props) => {\n return <CheckablePill {...props} type=\"checkbox\" />\n}\nCheckboxPill.displayName = \"CheckboxPill\"\n\nexport const RadioPill = ({ ...props }: Props) => {\n return <CheckablePill {...props} type=\"radio\" />\n}\nRadioPill.displayName = \"RadioPill\"\n\ninterface CheckablePillsGroupProps {\n children: React.ReactNode\n}\n\nconst _CheckablePillsGroup = ({ children }: CheckablePillsGroupProps) => {\n return (\n <div className=\"cobalt-CheckablePillsGroup\">\n {typeof children === \"function\" ? children() : children}\n </div>\n )\n}\n\nexport const CheckablePillsGroup = withFieldLabelAndHint(_CheckablePillsGroup)\nCheckablePillsGroup.displayName = \"CheckablePillsGroup\"\n"],"names":["classNames"],"mappings":";;;;;;AAgBA,IAAM,aAAa,GAAG,UAAC,EAQf;IAPN,IAAA,IAAI,UAAA,EACJ,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,MAAM,YAAA,EACH,UAAU,cAPQ,iEAQtB,CADc;IAEb,QACE,8BACE,SAAS,EAAEA,EAAU,CAAC,2BAA2B,EAAE;YACjD,kCAAkC,EAAE,MAAM,KAAK,OAAO;YACtD,sCAAsC,EAAE,IAAI;SAC7C,CAAC;QAEF,+BAAO,SAAS,EAAC,yCAAyC;YACxD,0CACM,UAAU,IACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,kCAAkC,EAC5C,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,IAC9B;YACF,8BAAM,SAAS,EAAC,kCAAkC;gBAC/C,IAAI,IAAI,oBAAC,IAAI,IAAC,MAAM,EAAE,IAAI,GAAI;gBAC9B,QAAQ,CACJ,CACD,CACH,EACR;AACH,CAAC,CAAA;IAEY,YAAY,GAAG,UAAC,EAAmB;QAAd,KAAK,cAAV,EAAY,CAAF;IACrC,OAAO,oBAAC,aAAa,eAAK,KAAK,IAAE,IAAI,EAAC,UAAU,IAAG,CAAA;AACrD,EAAC;AACD,YAAY,CAAC,WAAW,GAAG,cAAc,CAAA;IAE5B,SAAS,GAAG,UAAC,EAAmB;QAAd,KAAK,cAAV,EAAY,CAAF;IAClC,OAAO,oBAAC,aAAa,eAAK,KAAK,IAAE,IAAI,EAAC,OAAO,IAAG,CAAA;AAClD,EAAC;AACD,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAMnC,IAAM,oBAAoB,GAAG,UAAC,EAAsC;QAApC,QAAQ,cAAA;IACtC,QACE,6BAAK,SAAS,EAAC,4BAA4B,IACxC,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,EAAE,GAAG,QAAQ,CACnD,EACP;AACH,CAAC,CAAA;IAEY,mBAAmB,GAAG,qBAAqB,CAAC,oBAAoB,EAAC;AAC9E,mBAAmB,CAAC,WAAW,GAAG,qBAAqB;;;;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { __rest, __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import cx from 'classnames';
|
|
4
|
+
import { Hint } from './Hint.js';
|
|
5
|
+
import { withFieldLabelAndHint } from './field.js';
|
|
6
|
+
|
|
7
|
+
var Checkmark = function (_a) {
|
|
8
|
+
var label = _a.label, status = _a.status, hint = _a.hint, inputProps = __rest(_a, ["label", "status", "hint"]);
|
|
9
|
+
return (React.createElement("div", { className: cx("cobalt-CheckmarkField", {
|
|
10
|
+
"cobalt-CheckmarkField--success": status === "success",
|
|
11
|
+
"cobalt-CheckmarkField--error": status === "error",
|
|
12
|
+
}) },
|
|
13
|
+
React.createElement("label", { className: "cobalt-CheckmarkField__LabelWrapper" },
|
|
14
|
+
React.createElement("input", __assign({}, inputProps, { className: "cobalt-CheckmarkField__Input" })),
|
|
15
|
+
React.createElement("span", { className: "cobalt-CheckmarkField__Checkmark" }),
|
|
16
|
+
React.createElement("span", { className: "cobalt-CheckmarkField__Label" }, label)),
|
|
17
|
+
hint && (React.createElement(Hint, { status: status },
|
|
18
|
+
React.createElement("span", { dangerouslySetInnerHTML: { __html: hint } })))));
|
|
19
|
+
};
|
|
20
|
+
var Checkbox = function (_a) {
|
|
21
|
+
var label = _a.label, props = __rest(_a, ["label"]);
|
|
22
|
+
return React.createElement(Checkmark, __assign({}, props, { label: label, type: "checkbox" }));
|
|
23
|
+
};
|
|
24
|
+
Checkbox.displayName = "CobaltCheckbox";
|
|
25
|
+
var Radio = function (_a) {
|
|
26
|
+
var label = _a.label, props = __rest(_a, ["label"]);
|
|
27
|
+
return React.createElement(Checkmark, __assign({}, props, { label: label, type: "radio" }));
|
|
28
|
+
};
|
|
29
|
+
Radio.displayName = "CobaltRadio";
|
|
30
|
+
var ChoiceList = function (_a) {
|
|
31
|
+
var children = _a.children;
|
|
32
|
+
return (React.createElement("div", { className: "cobalt-ChoiceList" }, typeof children === "function" ? children() : children));
|
|
33
|
+
};
|
|
34
|
+
var wrappedChoiceList = withFieldLabelAndHint(ChoiceList);
|
|
35
|
+
wrappedChoiceList.displayName = "ChoiceList";
|
|
36
|
+
|
|
37
|
+
export { Checkbox, wrappedChoiceList as ChoiceList, Radio };
|
|
38
|
+
//# sourceMappingURL=Checkmark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkmark.js","sources":["../../../src/components/Form/Checkmark.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { Hint } from \"./Hint\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\ntype Props = {\n label: string\n type?: \"checkbox\" | \"radio\"\n hint?: string\n} & FormElement &\n React.InputHTMLAttributes<HTMLInputElement>\n\nconst Checkmark = ({ label, status, hint, ...inputProps }: Props) => {\n return (\n <div\n className={classNames(\"cobalt-CheckmarkField\", {\n \"cobalt-CheckmarkField--success\": status === \"success\",\n \"cobalt-CheckmarkField--error\": status === \"error\",\n })}\n >\n <label className=\"cobalt-CheckmarkField__LabelWrapper\">\n <input {...inputProps} className=\"cobalt-CheckmarkField__Input\" />\n <span className=\"cobalt-CheckmarkField__Checkmark\" />\n <span className=\"cobalt-CheckmarkField__Label\">{label}</span>\n </label>\n {hint && (\n <Hint status={status}>\n <span dangerouslySetInnerHTML={{ __html: hint }} />\n </Hint>\n )}\n </div>\n )\n}\n\nexport const Checkbox = ({ label, ...props }: Props) => {\n return <Checkmark {...props} label={label} type=\"checkbox\" />\n}\nCheckbox.displayName = \"CobaltCheckbox\"\n\nexport const Radio = ({ label, ...props }: Props) => {\n return <Checkmark {...props} label={label} type=\"radio\" />\n}\nRadio.displayName = \"CobaltRadio\"\n\ntype ChoiceListProps = {\n children: React.ReactNode\n}\n\nconst ChoiceList = ({ children }: ChoiceListProps) => {\n return (\n <div className=\"cobalt-ChoiceList\">\n {typeof children === \"function\" ? children() : children}\n </div>\n )\n}\n\nconst wrappedChoiceList = withFieldLabelAndHint(ChoiceList)\nwrappedChoiceList.displayName = \"ChoiceList\"\n\nexport { wrappedChoiceList as ChoiceList }\n"],"names":["classNames"],"mappings":";;;;;;AAaA,IAAM,SAAS,GAAG,UAAC,EAA6C;IAA3C,IAAA,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAK,UAAU,cAApC,2BAAsC,CAAF;IACrD,QACE,6BACE,SAAS,EAAEA,EAAU,CAAC,uBAAuB,EAAE;YAC7C,gCAAgC,EAAE,MAAM,KAAK,SAAS;YACtD,8BAA8B,EAAE,MAAM,KAAK,OAAO;SACnD,CAAC;QAEF,+BAAO,SAAS,EAAC,qCAAqC;YACpD,0CAAW,UAAU,IAAE,SAAS,EAAC,8BAA8B,IAAG;YAClE,8BAAM,SAAS,EAAC,kCAAkC,GAAG;YACrD,8BAAM,SAAS,EAAC,8BAA8B,IAAE,KAAK,CAAQ,CACvD;QACP,IAAI,KACH,oBAAC,IAAI,IAAC,MAAM,EAAE,MAAM;YAClB,8BAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,CAC9C,CACR,CACG,EACP;AACH,CAAC,CAAA;IAEY,QAAQ,GAAG,UAAC,EAA0B;IAAxB,IAAA,KAAK,WAAA,EAAK,KAAK,cAAjB,SAAmB,CAAF;IACxC,OAAO,oBAAC,SAAS,eAAK,KAAK,IAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,UAAU,IAAG,CAAA;AAC/D,EAAC;AACD,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAA;IAE1B,KAAK,GAAG,UAAC,EAA0B;IAAxB,IAAA,KAAK,WAAA,EAAK,KAAK,cAAjB,SAAmB,CAAF;IACrC,OAAO,oBAAC,SAAS,eAAK,KAAK,IAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,OAAO,IAAG,CAAA;AAC5D,EAAC;AACD,KAAK,CAAC,WAAW,GAAG,aAAa,CAAA;AAMjC,IAAM,UAAU,GAAG,UAAC,EAA6B;QAA3B,QAAQ,cAAA;IAC5B,QACE,6BAAK,SAAS,EAAC,mBAAmB,IAC/B,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,EAAE,GAAG,QAAQ,CACnD,EACP;AACH,CAAC,CAAA;IAEK,iBAAiB,GAAG,qBAAqB,CAAC,UAAU,EAAC;AAC3D,iBAAiB,CAAC,WAAW,GAAG,YAAY;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { withFieldLabelAndHint } from './field.js';
|
|
3
|
+
|
|
4
|
+
var ComposedFormField = function (_a) {
|
|
5
|
+
var id = _a.id, children = _a.children;
|
|
6
|
+
return (React.createElement("div", { className: "cobalt-ComposedFormField" }, React.Children.toArray(children).map(function (child, index) {
|
|
7
|
+
return index === 0
|
|
8
|
+
? React.cloneElement(child, {
|
|
9
|
+
id: id,
|
|
10
|
+
})
|
|
11
|
+
: child;
|
|
12
|
+
})));
|
|
13
|
+
};
|
|
14
|
+
var wrappedComponent = withFieldLabelAndHint(ComposedFormField);
|
|
15
|
+
wrappedComponent.displayName = "ComposedField";
|
|
16
|
+
|
|
17
|
+
export { wrappedComponent as ComposedField };
|
|
18
|
+
//# sourceMappingURL=ComposedField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComposedField.js","sources":["../../../src/components/Form/ComposedField.tsx"],"sourcesContent":["import React from \"react\"\nimport { withFieldLabelAndHint } from \"./field\"\nimport { FormElement } from \"./form\"\n\ntype Props = {\n id?: string\n children: React.ReactNode\n} & FormElement\n\nconst ComposedFormField = ({ id, children }: Props) => {\n return (\n <div className=\"cobalt-ComposedFormField\">\n {React.Children.toArray(children).map((child, index) => {\n return index === 0\n ? React.cloneElement(child as React.ComponentElement<any, any>, {\n id,\n })\n : child\n })}\n </div>\n )\n}\n\nconst wrappedComponent = withFieldLabelAndHint(ComposedFormField)\nwrappedComponent.displayName = \"ComposedField\"\n\nexport { wrappedComponent as ComposedField }\n"],"names":[],"mappings":";;;AASA,IAAM,iBAAiB,GAAG,UAAC,EAAuB;QAArB,EAAE,QAAA,EAAE,QAAQ,cAAA;IACvC,QACE,6BAAK,SAAS,EAAC,0BAA0B,IACtC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK;QACjD,OAAO,KAAK,KAAK,CAAC;cACd,KAAK,CAAC,YAAY,CAAC,KAAyC,EAAE;gBAC5D,EAAE,IAAA;aACH,CAAC;cACF,KAAK,CAAA;KACV,CAAC,CACE,EACP;AACH,CAAC,CAAA;IAEK,gBAAgB,GAAG,qBAAqB,CAAC,iBAAiB,EAAC;AACjE,gBAAgB,CAAC,WAAW,GAAG,eAAe;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
var Fieldset = function (_a) {
|
|
4
|
+
var legend = _a.legend, children = _a.children;
|
|
5
|
+
return (React.createElement("fieldset", { className: "cobalt-Fieldset" },
|
|
6
|
+
React.createElement("legend", null, legend),
|
|
7
|
+
children));
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { Fieldset };
|
|
11
|
+
//# sourceMappingURL=Fieldset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Fieldset.js","sources":["../../../src/components/Form/Fieldset.tsx"],"sourcesContent":["import React from \"react\"\n\ntype Props = {\n legend: string\n children: React.ReactNode\n}\n\nexport const Fieldset = ({ legend, children }: Props) => {\n return (\n <fieldset className=\"cobalt-Fieldset\">\n <legend>{legend}</legend>\n {children}\n </fieldset>\n )\n}\n"],"names":[],"mappings":";;IAOa,QAAQ,GAAG,UAAC,EAA2B;QAAzB,MAAM,YAAA,EAAE,QAAQ,cAAA;IACzC,QACE,kCAAU,SAAS,EAAC,iBAAiB;QACnC,oCAAS,MAAM,CAAU;QACxB,QAAQ,CACA,EACZ;AACH;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
import { Icon } from '../Icon/index.js';
|
|
4
|
+
|
|
5
|
+
var ICON_SIZE = 16;
|
|
6
|
+
var getIcon = function (status) {
|
|
7
|
+
switch (status) {
|
|
8
|
+
case "success": {
|
|
9
|
+
return "checkCircle";
|
|
10
|
+
}
|
|
11
|
+
case "error": {
|
|
12
|
+
return "contextualWarningCircleFilled";
|
|
13
|
+
}
|
|
14
|
+
default: {
|
|
15
|
+
return "info";
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
var getIconColor = function (status) {
|
|
20
|
+
switch (status) {
|
|
21
|
+
case "success": {
|
|
22
|
+
return "signal";
|
|
23
|
+
}
|
|
24
|
+
case "error": {
|
|
25
|
+
return "essence";
|
|
26
|
+
}
|
|
27
|
+
default: {
|
|
28
|
+
return "graphiteLight";
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
var Hint = function (_a) {
|
|
33
|
+
var children = _a.children, status = _a.status;
|
|
34
|
+
return (React.createElement("div", { className: cx("cobalt-Hint", {
|
|
35
|
+
"cobalt-Hint--success": status === "success",
|
|
36
|
+
"cobalt-Hint--error": status === "error",
|
|
37
|
+
}) },
|
|
38
|
+
React.createElement("span", { className: "cobalt-Hint__Icon" },
|
|
39
|
+
React.createElement(Icon, { source: getIcon(status), size: ICON_SIZE, color: getIconColor(status) })),
|
|
40
|
+
React.createElement("span", { className: "cobalt-Hint__Message" }, children)));
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export { Hint };
|
|
44
|
+
//# sourceMappingURL=Hint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hint.js","sources":["../../../src/components/Form/Hint.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { Icon } from \"../Icon\"\nimport { FormElementStatus } from \"./form\"\n\nexport interface HintPropsType {\n children: React.ReactNode\n status?: FormElementStatus\n}\n\nconst ICON_SIZE = 16\n\nconst getIcon = (status: FormElementStatus | undefined) => {\n switch (status) {\n case \"success\": {\n return \"checkCircle\"\n }\n case \"error\": {\n return \"contextualWarningCircleFilled\"\n }\n default: {\n return \"info\"\n }\n }\n}\n\nconst getIconColor = (status: FormElementStatus | undefined) => {\n switch (status) {\n case \"success\": {\n return \"signal\"\n }\n case \"error\": {\n return \"essence\"\n }\n default: {\n return \"graphiteLight\"\n }\n }\n}\n\nexport const Hint = ({ children, status }: HintPropsType) => {\n return (\n <div\n className={classNames(\"cobalt-Hint\", {\n \"cobalt-Hint--success\": status === \"success\",\n \"cobalt-Hint--error\": status === \"error\",\n })}\n >\n <span className=\"cobalt-Hint__Icon\">\n <Icon\n source={getIcon(status)}\n size={ICON_SIZE}\n color={getIconColor(status)}\n />\n </span>\n <span className=\"cobalt-Hint__Message\">{children}</span>\n </div>\n )\n}\n"],"names":["classNames"],"mappings":";;;;AAUA,IAAM,SAAS,GAAG,EAAE,CAAA;AAEpB,IAAM,OAAO,GAAG,UAAC,MAAqC;IACpD,QAAQ,MAAM;QACZ,KAAK,SAAS,EAAE;YACd,OAAO,aAAa,CAAA;SACrB;QACD,KAAK,OAAO,EAAE;YACZ,OAAO,+BAA+B,CAAA;SACvC;QACD,SAAS;YACP,OAAO,MAAM,CAAA;SACd;KACF;AACH,CAAC,CAAA;AAED,IAAM,YAAY,GAAG,UAAC,MAAqC;IACzD,QAAQ,MAAM;QACZ,KAAK,SAAS,EAAE;YACd,OAAO,QAAQ,CAAA;SAChB;QACD,KAAK,OAAO,EAAE;YACZ,OAAO,SAAS,CAAA;SACjB;QACD,SAAS;YACP,OAAO,eAAe,CAAA;SACvB;KACF;AACH,CAAC,CAAA;IAEY,IAAI,GAAG,UAAC,EAAmC;QAAjC,QAAQ,cAAA,EAAE,MAAM,YAAA;IACrC,QACE,6BACE,SAAS,EAAEA,EAAU,CAAC,aAAa,EAAE;YACnC,sBAAsB,EAAE,MAAM,KAAK,SAAS;YAC5C,oBAAoB,EAAE,MAAM,KAAK,OAAO;SACzC,CAAC;QAEF,8BAAM,SAAS,EAAC,mBAAmB;YACjC,oBAAC,IAAI,IACH,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EACvB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,GAC3B,CACG;QACP,8BAAM,SAAS,EAAC,sBAAsB,IAAE,QAAQ,CAAQ,CACpD,EACP;AACH;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { __rest, __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import cx from 'classnames';
|
|
4
|
+
import { withFieldLabelAndHint } from './field.js';
|
|
5
|
+
|
|
6
|
+
var Select = function (_a) {
|
|
7
|
+
var children = _a.children, status = _a.status, forwardedRef = _a.forwardedRef, selectProps = __rest(_a, ["children", "status", "forwardedRef"]);
|
|
8
|
+
return (React.createElement("div", { className: cx("cobalt-SelectField", {
|
|
9
|
+
"cobalt-SelectField--success": status === "success",
|
|
10
|
+
"cobalt-SelectField--error": status === "error",
|
|
11
|
+
}) },
|
|
12
|
+
React.createElement("select", __assign({}, selectProps, { ref: forwardedRef, className: "cobalt-SelectField__Input" }), children)));
|
|
13
|
+
};
|
|
14
|
+
var wrappedComponent = withFieldLabelAndHint(Select);
|
|
15
|
+
wrappedComponent.displayName = "Select";
|
|
16
|
+
|
|
17
|
+
export { wrappedComponent as Select };
|
|
18
|
+
//# sourceMappingURL=Select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../src/components/Form/Select.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\ntype Props = {\n children: any\n forwardedRef?: React.Ref<HTMLSelectElement>\n} & FormElement &\n React.SelectHTMLAttributes<HTMLSelectElement>\n\nconst Select = ({ children, status, forwardedRef, ...selectProps }: Props) => {\n return (\n <div\n className={classNames(\"cobalt-SelectField\", {\n \"cobalt-SelectField--success\": status === \"success\",\n \"cobalt-SelectField--error\": status === \"error\",\n })}\n >\n <select\n {...selectProps}\n ref={forwardedRef}\n className=\"cobalt-SelectField__Input\"\n >\n {children}\n </select>\n </div>\n )\n}\n\nconst wrappedComponent = withFieldLabelAndHint(Select)\nwrappedComponent.displayName = \"Select\"\n\nexport { wrappedComponent as Select }\n"],"names":["classNames"],"mappings":";;;;;AAWA,IAAM,MAAM,GAAG,UAAC,EAAyD;IAAvD,IAAA,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA,EAAK,WAAW,cAAhD,sCAAkD,CAAF;IAC9D,QACE,6BACE,SAAS,EAAEA,EAAU,CAAC,oBAAoB,EAAE;YAC1C,6BAA6B,EAAE,MAAM,KAAK,SAAS;YACnD,2BAA2B,EAAE,MAAM,KAAK,OAAO;SAChD,CAAC;QAEF,2CACM,WAAW,IACf,GAAG,EAAE,YAAY,EACjB,SAAS,EAAC,2BAA2B,KAEpC,QAAQ,CACF,CACL,EACP;AACH,CAAC,CAAA;IAEK,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,EAAC;AACtD,gBAAgB,CAAC,WAAW,GAAG,QAAQ;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { __rest, __read, __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import React, { useState } from 'react';
|
|
3
|
+
import { withFieldLabelAndHint } from './field.js';
|
|
4
|
+
import { Slider as Slider$1 } from '@reach/slider';
|
|
5
|
+
import cx from 'classnames';
|
|
6
|
+
|
|
7
|
+
var Slider = function (_a) {
|
|
8
|
+
var defaultValue = _a.defaultValue, value = _a.value, min = _a.min, max = _a.max, status = _a.status, disabled = _a.disabled, onChange = _a.onChange, renderValue = _a.renderValue, ariaLabel = _a.ariaLabel, restProps = __rest(_a, ["defaultValue", "value", "min", "max", "status", "disabled", "onChange", "renderValue", "ariaLabel"]);
|
|
9
|
+
function initValue() {
|
|
10
|
+
if (value != null)
|
|
11
|
+
return value;
|
|
12
|
+
if (defaultValue != null)
|
|
13
|
+
return defaultValue;
|
|
14
|
+
if (min != null)
|
|
15
|
+
return min;
|
|
16
|
+
return 0;
|
|
17
|
+
}
|
|
18
|
+
var _b = __read(useState(function () { return initValue(); }), 2), sliderValue = _b[0], setSliderValue = _b[1];
|
|
19
|
+
return (React.createElement("div", { className: cx("cobalt-slider", {
|
|
20
|
+
"cobalt-slider--disabled": disabled,
|
|
21
|
+
}) },
|
|
22
|
+
renderValue && (React.createElement("div", { className: "cobalt-slider__value-container" }, renderValue(sliderValue, status))),
|
|
23
|
+
React.createElement(Slider$1, __assign({}, restProps, { "aria-label": ariaLabel, handleAlignment: "contain", defaultValue: defaultValue, value: value, min: min, max: max, disabled: disabled, onChange: function (newValue) {
|
|
24
|
+
setSliderValue(newValue);
|
|
25
|
+
onChange && onChange(newValue);
|
|
26
|
+
} }))));
|
|
27
|
+
};
|
|
28
|
+
var wrappedComponent = withFieldLabelAndHint(Slider);
|
|
29
|
+
wrappedComponent.displayName = "Slider";
|
|
30
|
+
var SliderValueMeta = function (_a) {
|
|
31
|
+
var children = _a.children;
|
|
32
|
+
return React.createElement("span", { className: "cobalt-slider__value-meta" }, children);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export { SliderValueMeta, wrappedComponent as default };
|
|
36
|
+
//# sourceMappingURL=Slider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.js","sources":["../../../src/components/Form/Slider.tsx"],"sourcesContent":["import React, { useState } from \"react\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\nimport {\n Slider as ReachSlider,\n SliderProps as ReachSliderProps,\n} from \"@reach/slider\"\nimport classNames from \"classnames\"\n\ntype NativeEventType =\n | \"onPointerDown\"\n | \"onPointerUp\"\n | \"onMouseDown\"\n | \"onMouseMove\"\n | \"onMouseUp\"\n | \"onTouchStart\"\n | \"onTouchMove\"\n | \"onTouchEnd\"\n\nexport type SliderPropsType = {\n /**\n * mandatory for A11y\n */\n ariaLabel: string\n value?: number\n defaultValue?: number\n /**\n * minimum selectable value (default is 0)\n */\n min?: number\n /**\n * maximum selectable value (default is 100)\n */\n max?: number\n /**\n * values interval\n */\n step?: number\n disabled?: boolean\n /**\n * Listener called when the value is changed\n */\n onChange?: (newValue: number) => void\n /**\n * Function used to visually display the slider value\n */\n renderValue?: (\n value: number,\n status: FormElement[\"status\"]\n ) => React.ReactElement\n\n onPointerDown?: ReachSliderProps[\"onPointerDown\"]\n onPointerUp?: ReachSliderProps[\"onPointerUp\"]\n onMouseDown?: ReachSliderProps[\"onMouseDown\"]\n onMouseMove?: ReachSliderProps[\"onMouseMove\"]\n onMouseUp?: ReachSliderProps[\"onMouseUp\"]\n onTouchStart?: ReachSliderProps[\"onTouchStart\"]\n onTouchMove?: ReachSliderProps[\"onTouchMove\"]\n onTouchEnd?: ReachSliderProps[\"onTouchEnd\"]\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void\n} & FormElement &\n Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n NativeEventType | \"css\" | \"enterKeyHint\"\n >\n\nconst Slider = ({\n defaultValue,\n value,\n min,\n max,\n status,\n disabled,\n onChange,\n renderValue,\n ariaLabel,\n ...restProps\n}: SliderPropsType) => {\n function initValue() {\n if (value != null) return value\n if (defaultValue != null) return defaultValue\n if (min != null) return min\n return 0\n }\n\n const [sliderValue, setSliderValue] = useState(() => initValue())\n\n return (\n <div\n className={classNames(\"cobalt-slider\", {\n \"cobalt-slider--disabled\": disabled,\n })}\n >\n {renderValue && (\n <div className=\"cobalt-slider__value-container\">\n {renderValue(sliderValue, status)}\n </div>\n )}\n\n <ReachSlider\n {...restProps}\n aria-label={ariaLabel}\n handleAlignment=\"contain\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n disabled={disabled}\n onChange={(newValue) => {\n setSliderValue(newValue)\n onChange && onChange(newValue)\n }}\n />\n </div>\n )\n}\n\nconst wrappedComponent = withFieldLabelAndHint(Slider)\nwrappedComponent.displayName = \"Slider\"\n\nexport default wrappedComponent\n\ntype SliderValueMetaProps = {\n children: React.ReactNode\n}\nexport const SliderValueMeta = ({ children }: SliderValueMetaProps) => {\n return <span className=\"cobalt-slider__value-meta\">{children}</span>\n}\n"],"names":["classNames","ReachSlider"],"mappings":";;;;;;AAkEA,IAAM,MAAM,GAAG,UAAC,EAWE;IAVhB,IAAA,YAAY,kBAAA,EACZ,KAAK,WAAA,EACL,GAAG,SAAA,EACH,GAAG,SAAA,EACH,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,SAAS,eAAA,EACN,SAAS,cAVE,qGAWf,CADa;IAEZ,SAAS,SAAS;QAChB,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAA;QAC/B,IAAI,YAAY,IAAI,IAAI;YAAE,OAAO,YAAY,CAAA;QAC7C,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,GAAG,CAAA;QAC3B,OAAO,CAAC,CAAA;KACT;IAEK,IAAA,KAAA,OAAgC,QAAQ,CAAC,cAAM,OAAA,SAAS,EAAE,GAAA,CAAC,IAAA,EAA1D,WAAW,QAAA,EAAE,cAAc,QAA+B,CAAA;IAEjE,QACE,6BACE,SAAS,EAAEA,EAAU,CAAC,eAAe,EAAE;YACrC,yBAAyB,EAAE,QAAQ;SACpC,CAAC;QAED,WAAW,KACV,6BAAK,SAAS,EAAC,gCAAgC,IAC5C,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAC7B,CACP;QAED,oBAACC,QAAW,eACN,SAAS,kBACD,SAAS,EACrB,eAAe,EAAC,SAAS,EACzB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAC,QAAQ;gBACjB,cAAc,CAAC,QAAQ,CAAC,CAAA;gBACxB,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAA;aAC/B,IACD,CACE,EACP;AACH,CAAC,CAAA;IAEK,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,EAAC;AACtD,gBAAgB,CAAC,WAAW,GAAG,QAAQ,CAAA;IAO1B,eAAe,GAAG,UAAC,EAAkC;QAAhC,QAAQ,cAAA;IACxC,OAAO,8BAAM,SAAS,EAAC,2BAA2B,IAAE,QAAQ,CAAQ,CAAA;AACtE;;;;"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { __extends } from '../../_virtual/_tslib.js';
|
|
2
|
+
import React, { PureComponent } from 'react';
|
|
3
|
+
import cx from 'classnames';
|
|
4
|
+
import { withFieldLabelAndHint } from './field.js';
|
|
5
|
+
import { Button } from '../Button/index.js';
|
|
6
|
+
|
|
7
|
+
var enforceInRange = function (value, min, max) {
|
|
8
|
+
var enforcedValue = value;
|
|
9
|
+
if (typeof max !== "undefined") {
|
|
10
|
+
enforcedValue = Math.min(enforcedValue, max);
|
|
11
|
+
}
|
|
12
|
+
if (typeof min !== "undefined") {
|
|
13
|
+
enforcedValue = Math.max(enforcedValue, min);
|
|
14
|
+
}
|
|
15
|
+
return enforcedValue;
|
|
16
|
+
};
|
|
17
|
+
var Stepper = /** @class */ (function (_super) {
|
|
18
|
+
__extends(Stepper, _super);
|
|
19
|
+
function Stepper(props) {
|
|
20
|
+
var _this = _super.call(this, props) || this;
|
|
21
|
+
_this.onDecrement = function () {
|
|
22
|
+
(_this.props.min !== null || _this.state.value > _this.props.min) &&
|
|
23
|
+
_this.changeValue(parseFloat((_this.state.value - _this.props.step).toFixed(10)));
|
|
24
|
+
};
|
|
25
|
+
_this.onIncrement = function () {
|
|
26
|
+
(_this.props.max !== null || _this.state.value < _this.props.max) &&
|
|
27
|
+
_this.changeValue(parseFloat((_this.state.value + _this.props.step).toFixed(10)));
|
|
28
|
+
};
|
|
29
|
+
_this.changeValue = function (value) {
|
|
30
|
+
_this.setState({
|
|
31
|
+
value: enforceInRange(value, _this.props.min, _this.props.max),
|
|
32
|
+
}, function () {
|
|
33
|
+
_this.props.onChange && _this.props.onChange(_this.state.value);
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
if (props.step < 0)
|
|
37
|
+
throw new Error("Incorrect step value. Can't be below zero");
|
|
38
|
+
_this.onDecrement = _this.onDecrement.bind(_this);
|
|
39
|
+
_this.onIncrement = _this.onIncrement.bind(_this);
|
|
40
|
+
_this.changeValue = _this.changeValue.bind(_this);
|
|
41
|
+
_this.state = {
|
|
42
|
+
value: enforceInRange(props.value, props.min, props.max),
|
|
43
|
+
};
|
|
44
|
+
return _this;
|
|
45
|
+
}
|
|
46
|
+
Stepper.prototype.componentDidUpdate = function (_prevProps, prevState) {
|
|
47
|
+
if (prevState.value !== this.state.value) {
|
|
48
|
+
this.changeValue(this.state.value);
|
|
49
|
+
}
|
|
50
|
+
else if (this.props.value !== this.state.value) {
|
|
51
|
+
this.changeValue(this.props.value);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
Stepper.prototype.render = function () {
|
|
55
|
+
var _a = this.props, name = _a.name, status = _a.status, disabled = _a.disabled, min = _a.min, max = _a.max, children = _a.children;
|
|
56
|
+
return (React.createElement("div", { className: cx("cobalt-Stepper", {
|
|
57
|
+
"cobalt-Stepper--disabled": disabled,
|
|
58
|
+
"cobalt-Stepper--success": status === "success",
|
|
59
|
+
"cobalt-Stepper--error": status === "error",
|
|
60
|
+
}) },
|
|
61
|
+
React.createElement("div", { className: "cobalt-Stepper__Wrapper" },
|
|
62
|
+
React.createElement(Button, { className: "cobalt-Stepper__ActionButton", disabled: disabled || this.state.value === min, onClick: this.onDecrement, type: "button" }, "-"),
|
|
63
|
+
React.createElement("div", { className: "cobalt-Stepper__ContentWrapper" },
|
|
64
|
+
children ? children(this.state.value) : this.state.value,
|
|
65
|
+
React.createElement("input", { type: "hidden", name: name, value: this.state.value })),
|
|
66
|
+
React.createElement(Button, { className: "cobalt-Stepper__ActionButton", disabled: disabled || this.state.value === max, onClick: this.onIncrement, type: "button" }, "+"))));
|
|
67
|
+
};
|
|
68
|
+
return Stepper;
|
|
69
|
+
}(PureComponent));
|
|
70
|
+
var wrappedComponent = withFieldLabelAndHint(Stepper);
|
|
71
|
+
wrappedComponent.displayName = "Stepper";
|
|
72
|
+
var StepperMeta = function (_a) {
|
|
73
|
+
var children = _a.children;
|
|
74
|
+
return React.createElement("div", { className: "cobalt-Stepper__Meta" }, children);
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export { wrappedComponent as Stepper, StepperMeta };
|
|
78
|
+
//# sourceMappingURL=Stepper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stepper.js","sources":["../../../src/components/Form/Stepper.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\"\nimport classNames from \"classnames\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\nimport { Button } from \"../Button\"\n\nconst enforceInRange = (\n value: number,\n min: number | undefined,\n max: number | undefined\n) => {\n let enforcedValue = value\n if (typeof max !== \"undefined\") {\n enforcedValue = Math.min(enforcedValue, max)\n }\n if (typeof min !== \"undefined\") {\n enforcedValue = Math.max(enforcedValue, min)\n }\n return enforcedValue\n}\n\ntype Props = {\n value: number\n name?: string\n disabled?: boolean\n min?: number\n max?: number\n step: number\n onChange?: (value: number) => void\n children?: (value: number) => React.ReactNode\n} & FormElement\n\ntype State = {\n value: number\n}\n\nclass Stepper extends PureComponent<Props, State> {\n constructor(props: Props) {\n super(props)\n\n if (props.step < 0)\n throw new Error(\"Incorrect step value. Can't be below zero\")\n\n this.onDecrement = this.onDecrement.bind(this)\n this.onIncrement = this.onIncrement.bind(this)\n this.changeValue = this.changeValue.bind(this)\n\n this.state = {\n value: enforceInRange(props.value, props.min, props.max),\n }\n }\n\n componentDidUpdate(_prevProps: Props, prevState: State) {\n if (prevState.value !== this.state.value) {\n this.changeValue(this.state.value)\n } else if (this.props.value !== this.state.value) {\n this.changeValue(this.props.value)\n }\n }\n\n onDecrement = () => {\n ;(this.props.min !== null || this.state.value > this.props.min) &&\n this.changeValue(\n parseFloat((this.state.value - this.props.step).toFixed(10))\n )\n }\n\n onIncrement = () => {\n ;(this.props.max !== null || this.state.value < this.props.max) &&\n this.changeValue(\n parseFloat((this.state.value + this.props.step).toFixed(10))\n )\n }\n\n changeValue = (value: number) => {\n this.setState(\n {\n value: enforceInRange(value, this.props.min, this.props.max),\n },\n () => {\n this.props.onChange && this.props.onChange(this.state.value)\n }\n )\n }\n\n render() {\n const { name, status, disabled, min, max, children } = this.props\n\n return (\n <div\n className={classNames(\"cobalt-Stepper\", {\n \"cobalt-Stepper--disabled\": disabled,\n \"cobalt-Stepper--success\": status === \"success\",\n \"cobalt-Stepper--error\": status === \"error\",\n })}\n >\n <div className=\"cobalt-Stepper__Wrapper\">\n <Button\n className=\"cobalt-Stepper__ActionButton\"\n disabled={disabled || this.state.value === min}\n onClick={this.onDecrement}\n type={\"button\"}\n >\n -\n </Button>\n <div className=\"cobalt-Stepper__ContentWrapper\">\n {children ? children(this.state.value) : this.state.value}\n <input type=\"hidden\" name={name} value={this.state.value} />\n </div>\n <Button\n className=\"cobalt-Stepper__ActionButton\"\n disabled={disabled || this.state.value === max}\n onClick={this.onIncrement}\n type={\"button\"}\n >\n +\n </Button>\n </div>\n </div>\n )\n }\n}\n\nconst wrappedComponent = withFieldLabelAndHint(Stepper)\nwrappedComponent.displayName = \"Stepper\"\n\nexport { wrappedComponent as Stepper }\n\ntype StepperMetaProps = {\n children: React.ReactNode\n}\nconst StepperMeta = ({ children }: StepperMetaProps) => {\n return <div className=\"cobalt-Stepper__Meta\">{children}</div>\n}\n\nexport { StepperMeta }\n"],"names":["classNames"],"mappings":";;;;;;AAMA,IAAM,cAAc,GAAG,UACrB,KAAa,EACb,GAAuB,EACvB,GAAuB;IAEvB,IAAI,aAAa,GAAG,KAAK,CAAA;IACzB,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;QAC9B,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;KAC7C;IACD,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;QAC9B,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;KAC7C;IACD,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAiBD;IAAsB,2BAA2B;IAC/C,iBAAY,KAAY;QAAxB,YACE,kBAAM,KAAK,CAAC,SAYb;QAUD,iBAAW,GAAG;YACX,CAAC,KAAI,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,KAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,GAAG;gBAC5D,KAAI,CAAC,WAAW,CACd,UAAU,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAC7D,CAAA;SACJ,CAAA;QAED,iBAAW,GAAG;YACX,CAAC,KAAI,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,KAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,GAAG;gBAC5D,KAAI,CAAC,WAAW,CACd,UAAU,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAC7D,CAAA;SACJ,CAAA;QAED,iBAAW,GAAG,UAAC,KAAa;YAC1B,KAAI,CAAC,QAAQ,CACX;gBACE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,KAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAI,CAAC,KAAK,CAAC,GAAG,CAAC;aAC7D,EACD;gBACE,KAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;aAC7D,CACF,CAAA;SACF,CAAA;QA3CC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;QAE9D,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QAC9C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QAC9C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QAE9C,KAAI,CAAC,KAAK,GAAG;YACX,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;SACzD,CAAA;;KACF;IAED,oCAAkB,GAAlB,UAAmB,UAAiB,EAAE,SAAgB;QACpD,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SACnC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SACnC;KACF;IA2BD,wBAAM,GAAN;QACQ,IAAA,KAAiD,IAAI,CAAC,KAAK,EAAzD,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,QAAQ,cAAA,EAAE,GAAG,SAAA,EAAE,GAAG,SAAA,EAAE,QAAQ,cAAe,CAAA;QAEjE,QACE,6BACE,SAAS,EAAEA,EAAU,CAAC,gBAAgB,EAAE;gBACtC,0BAA0B,EAAE,QAAQ;gBACpC,yBAAyB,EAAE,MAAM,KAAK,SAAS;gBAC/C,uBAAuB,EAAE,MAAM,KAAK,OAAO;aAC5C,CAAC;YAEF,6BAAK,SAAS,EAAC,yBAAyB;gBACtC,oBAAC,MAAM,IACL,SAAS,EAAC,8BAA8B,EACxC,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,EAC9C,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAE,QAAQ,QAGP;gBACT,6BAAK,SAAS,EAAC,gCAAgC;oBAC5C,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;oBACzD,+BAAO,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI,CACxD;gBACN,oBAAC,MAAM,IACL,SAAS,EAAC,8BAA8B,EACxC,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,EAC9C,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAE,QAAQ,QAGP,CACL,CACF,EACP;KACF;IACH,cAAC;AAAD,CArFA,CAAsB,aAAa,GAqFlC;IAEK,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,EAAC;AACvD,gBAAgB,CAAC,WAAW,GAAG,SAAS,CAAA;IAOlC,WAAW,GAAG,UAAC,EAA8B;QAA5B,QAAQ,cAAA;IAC7B,OAAO,6BAAK,SAAS,EAAC,sBAAsB,IAAE,QAAQ,CAAO,CAAA;AAC/D;;;;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { __extends, __rest, __assign } from '../../_virtual/_tslib.js';
|
|
2
|
+
import React, { PureComponent } from 'react';
|
|
3
|
+
import cx from 'classnames';
|
|
4
|
+
import { withFieldLabelAndHint } from './field.js';
|
|
5
|
+
|
|
6
|
+
var TextArea = /** @class */ (function (_super) {
|
|
7
|
+
__extends(TextArea, _super);
|
|
8
|
+
function TextArea(props) {
|
|
9
|
+
var _this = _super.call(this, props) || this;
|
|
10
|
+
_this.handleChange = _this.handleChange.bind(_this);
|
|
11
|
+
_this.state = {
|
|
12
|
+
length: 0,
|
|
13
|
+
height: 0,
|
|
14
|
+
};
|
|
15
|
+
return _this;
|
|
16
|
+
}
|
|
17
|
+
TextArea.prototype.handleChange = function (event) {
|
|
18
|
+
if (this.props.autosize || this.props.maxLength) {
|
|
19
|
+
this.setState({
|
|
20
|
+
length: event.target.value.length,
|
|
21
|
+
height: event.target.scrollHeight + 2,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
this.props.onChange && this.props.onChange(event);
|
|
25
|
+
};
|
|
26
|
+
TextArea.prototype.render = function () {
|
|
27
|
+
var _a = this.props; _a.autosize; var status = _a.status, maxLength = _a.maxLength, nativeProps = __rest(_a, ["autosize", "status", "maxLength"]);
|
|
28
|
+
return (React.createElement("div", { className: cx("cobalt-TextAreaField", {
|
|
29
|
+
"cobalt-TextAreaField--withLimit": maxLength && maxLength > 0,
|
|
30
|
+
"cobalt-TextAreaField--success": status === "success",
|
|
31
|
+
"cobalt-TextAreaField--error": status === "error",
|
|
32
|
+
}) },
|
|
33
|
+
React.createElement("textarea", __assign({}, nativeProps, { maxLength: maxLength, style: {
|
|
34
|
+
height: this.state.height + "px",
|
|
35
|
+
}, onChange: this.handleChange, className: "cobalt-TextAreaField__Input" })),
|
|
36
|
+
this.state.length > 0 && maxLength && maxLength > 0 && (React.createElement("div", { className: "cobalt-TextAreaField__RemainingChars" },
|
|
37
|
+
maxLength - this.state.length,
|
|
38
|
+
" remaining characters"))));
|
|
39
|
+
};
|
|
40
|
+
return TextArea;
|
|
41
|
+
}(PureComponent));
|
|
42
|
+
var wrappedComponent = withFieldLabelAndHint(TextArea);
|
|
43
|
+
wrappedComponent.displayName = "TextArea";
|
|
44
|
+
|
|
45
|
+
export { wrappedComponent as TextArea };
|
|
46
|
+
//# sourceMappingURL=TextArea.js.map
|