@drivy/cobalt 0.13.0 → 0.14.2
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 +39 -1
- package/_virtual/_tslib.js.map +1 -1
- package/cjs/tokens/icons.js +4 -0
- package/cjs/tokens/icons.js.map +1 -1
- package/components/Accordion/index.js +1 -1
- package/components/Accordion/index.js.map +1 -1
- package/components/Calendar/CalendarRangePicker/CalendarRangePickerMonth.js +1 -1
- package/components/Calendar/CalendarRangePicker/CalendarRangePickerMonth.js.map +1 -1
- package/components/Calendar/CalendarView/CalendarViewMonth.js +1 -1
- package/components/Calendar/CalendarView/CalendarViewMonth.js.map +1 -1
- package/components/Chip/index.js +1 -1
- package/components/Chip/index.js.map +1 -1
- package/components/Flag/index.js +1 -1
- package/components/Flag/index.js.map +1 -1
- package/components/Form/RadioWithDetails.js +21 -0
- package/components/Form/RadioWithDetails.js.map +1 -0
- package/components/Form/TextArea.js +7 -5
- package/components/Form/TextArea.js.map +1 -1
- package/components/Form/field.js +3 -3
- package/components/Form/field.js.map +1 -1
- package/components/Icon/__generated__/AirportIcon.js +2 -2
- package/components/Icon/__generated__/AirportIcon.js.map +1 -1
- package/components/Icon/__generated__/ArrowLeftIcon.js +2 -2
- package/components/Icon/__generated__/ArrowLeftIcon.js.map +1 -1
- package/components/Icon/__generated__/ArrowRightIcon.js +2 -2
- package/components/Icon/__generated__/ArrowRightIcon.js.map +1 -1
- package/components/Icon/__generated__/BinIcon.js +2 -2
- package/components/Icon/__generated__/BinIcon.js.map +1 -1
- package/components/Icon/__generated__/BriefcaseIcon.js +2 -2
- package/components/Icon/__generated__/BriefcaseIcon.js.map +1 -1
- package/components/Icon/__generated__/BulbIcon.js +3 -3
- package/components/Icon/__generated__/BulbIcon.js.map +1 -1
- package/components/Icon/__generated__/CameraIcon.js +2 -2
- package/components/Icon/__generated__/CameraIcon.js.map +1 -1
- package/components/Icon/__generated__/CarCheckIcon.js +2 -2
- package/components/Icon/__generated__/CarCheckIcon.js.map +1 -1
- package/components/Icon/__generated__/CarDrivyOpenIcon.js +2 -2
- package/components/Icon/__generated__/CarDrivyOpenIcon.js.map +1 -1
- package/components/Icon/__generated__/CarGroupIcon.js +2 -2
- package/components/Icon/__generated__/CarGroupIcon.js.map +1 -1
- package/components/Icon/__generated__/CarIcon.js +2 -2
- package/components/Icon/__generated__/CarIcon.js.map +1 -1
- package/components/Icon/__generated__/CarLockIcon.js +2 -2
- package/components/Icon/__generated__/CarLockIcon.js.map +1 -1
- package/components/Icon/__generated__/CarReturnIcon.js +24 -0
- package/components/Icon/__generated__/CarReturnIcon.js.map +1 -0
- package/components/Icon/__generated__/CarSearchIcon.js +2 -2
- package/components/Icon/__generated__/CarSearchIcon.js.map +1 -1
- package/components/Icon/__generated__/CarTypeAntiqueIcon.js +2 -2
- package/components/Icon/__generated__/CarTypeAntiqueIcon.js.map +1 -1
- package/components/Icon/__generated__/CarTypeCabrioletIcon.js +2 -2
- package/components/Icon/__generated__/CarTypeCabrioletIcon.js.map +1 -1
- package/components/Icon/__generated__/CarTypeCampervanIcon.js +2 -2
- package/components/Icon/__generated__/CarTypeCampervanIcon.js.map +1 -1
- package/components/Icon/__generated__/CarTypeCityIcon.js +2 -2
- package/components/Icon/__generated__/CarTypeCityIcon.js.map +1 -1
- package/components/Icon/__generated__/CarTypeConvertibleIcon.js +2 -2
- package/components/Icon/__generated__/CarTypeConvertibleIcon.js.map +1 -1
- package/components/Icon/__generated__/CarTypeCoupeIcon.js +2 -2
- package/components/Icon/__generated__/CarTypeCoupeIcon.js.map +1 -1
- package/components/Icon/__generated__/CarTypeFamilyIcon.js +2 -2
- package/components/Icon/__generated__/CarTypeFamilyIcon.js.map +1 -1
- package/components/Icon/__generated__/CarTypeFourFourIcon.js +2 -2
- package/components/Icon/__generated__/CarTypeFourFourIcon.js.map +1 -1
- package/components/Icon/__generated__/CarTypeMinibusIcon.js +2 -2
- package/components/Icon/__generated__/CarTypeMinibusIcon.js.map +1 -1
- package/components/Icon/__generated__/CarTypeSedanIcon.js +2 -2
- package/components/Icon/__generated__/CarTypeSedanIcon.js.map +1 -1
- package/components/Icon/__generated__/CarTypeUtilityIcon.js +2 -2
- package/components/Icon/__generated__/CarTypeUtilityIcon.js.map +1 -1
- package/components/Icon/__generated__/CheckCircleIcon.js +2 -2
- package/components/Icon/__generated__/CheckCircleIcon.js.map +1 -1
- package/components/Icon/__generated__/CheckIcon.js +2 -2
- package/components/Icon/__generated__/CheckIcon.js.map +1 -1
- package/components/Icon/__generated__/ChevronDownIcon.js +2 -2
- package/components/Icon/__generated__/ChevronDownIcon.js.map +1 -1
- package/components/Icon/__generated__/ChevronLeftIcon.js +2 -2
- package/components/Icon/__generated__/ChevronLeftIcon.js.map +1 -1
- package/components/Icon/__generated__/ChevronRightIcon.js +2 -2
- package/components/Icon/__generated__/ChevronRightIcon.js.map +1 -1
- package/components/Icon/__generated__/ChevronUpIcon.js +2 -2
- package/components/Icon/__generated__/ChevronUpIcon.js.map +1 -1
- package/components/Icon/__generated__/CloseIcon.js +2 -2
- package/components/Icon/__generated__/CloseIcon.js.map +1 -1
- package/components/Icon/__generated__/ContactMailIcon.js +2 -2
- package/components/Icon/__generated__/ContactMailIcon.js.map +1 -1
- package/components/Icon/__generated__/ContactPhoneIcon.js +2 -2
- package/components/Icon/__generated__/ContactPhoneIcon.js.map +1 -1
- package/components/Icon/__generated__/ContextualPaperclipIcon.js +2 -2
- package/components/Icon/__generated__/ContextualPaperclipIcon.js.map +1 -1
- package/components/Icon/__generated__/ContextualQuestionIcon.js +2 -2
- package/components/Icon/__generated__/ContextualQuestionIcon.js.map +1 -1
- package/components/Icon/__generated__/ContextualWarningCircleFilledIcon.js +2 -2
- package/components/Icon/__generated__/ContextualWarningCircleFilledIcon.js.map +1 -1
- package/components/Icon/__generated__/ContextualWarningCircleIcon.js +2 -2
- package/components/Icon/__generated__/ContextualWarningCircleIcon.js.map +1 -1
- package/components/Icon/__generated__/CreditCardIcon.js +2 -2
- package/components/Icon/__generated__/CreditCardIcon.js.map +1 -1
- package/components/Icon/__generated__/DirectionsIcon.js +2 -2
- package/components/Icon/__generated__/DirectionsIcon.js.map +1 -1
- package/components/Icon/__generated__/DotsHorizontalIcon.js +2 -2
- package/components/Icon/__generated__/DotsHorizontalIcon.js.map +1 -1
- package/components/Icon/__generated__/DotsVerticalIcon.js +2 -2
- package/components/Icon/__generated__/DotsVerticalIcon.js.map +1 -1
- package/components/Icon/__generated__/DownloadIcon.js +2 -2
- package/components/Icon/__generated__/DownloadIcon.js.map +1 -1
- package/components/Icon/__generated__/EarthIcon.js +2 -2
- package/components/Icon/__generated__/EarthIcon.js.map +1 -1
- package/components/Icon/__generated__/EditIcon.js +2 -2
- package/components/Icon/__generated__/EditIcon.js.map +1 -1
- package/components/Icon/__generated__/ExternalLinkIcon.js +2 -2
- package/components/Icon/__generated__/ExternalLinkIcon.js.map +1 -1
- package/components/Icon/__generated__/EyeIcon.js +2 -2
- package/components/Icon/__generated__/EyeIcon.js.map +1 -1
- package/components/Icon/__generated__/FiltersIcon.js +2 -2
- package/components/Icon/__generated__/FiltersIcon.js.map +1 -1
- package/components/Icon/__generated__/FlagIcon.js +2 -2
- package/components/Icon/__generated__/FlagIcon.js.map +1 -1
- package/components/Icon/__generated__/GeolocationIcon.js +2 -2
- package/components/Icon/__generated__/GeolocationIcon.js.map +1 -1
- package/components/Icon/__generated__/GraphUpIcon.js +2 -2
- package/components/Icon/__generated__/GraphUpIcon.js.map +1 -1
- package/components/Icon/__generated__/IncidentIcon.js +2 -2
- package/components/Icon/__generated__/IncidentIcon.js.map +1 -1
- package/components/Icon/__generated__/InfoFilledIcon.js +2 -2
- package/components/Icon/__generated__/InfoFilledIcon.js.map +1 -1
- package/components/Icon/__generated__/InfoIcon.js +2 -2
- package/components/Icon/__generated__/InfoIcon.js.map +1 -1
- package/components/Icon/__generated__/InstantIcon.js +2 -2
- package/components/Icon/__generated__/InstantIcon.js.map +1 -1
- package/components/Icon/__generated__/KeyIcon.js +2 -2
- package/components/Icon/__generated__/KeyIcon.js.map +1 -1
- package/components/Icon/__generated__/LoadingIcon.js +2 -2
- package/components/Icon/__generated__/LoadingIcon.js.map +1 -1
- package/components/Icon/__generated__/LocalityIcon.js +2 -2
- package/components/Icon/__generated__/LocalityIcon.js.map +1 -1
- package/components/Icon/__generated__/LocationMapIcon.js +2 -2
- package/components/Icon/__generated__/LocationMapIcon.js.map +1 -1
- package/components/Icon/__generated__/LocationParkingIcon.js +2 -2
- package/components/Icon/__generated__/LocationParkingIcon.js.map +1 -1
- package/components/Icon/__generated__/LocationPinIcon.js +2 -2
- package/components/Icon/__generated__/LocationPinIcon.js.map +1 -1
- package/components/Icon/__generated__/LogoutIcon.js +2 -2
- package/components/Icon/__generated__/LogoutIcon.js.map +1 -1
- package/components/Icon/__generated__/MapIcon.js +23 -0
- package/components/Icon/__generated__/MapIcon.js.map +1 -0
- package/components/Icon/__generated__/MeetDriverIcon.js +2 -2
- package/components/Icon/__generated__/MeetDriverIcon.js.map +1 -1
- package/components/Icon/__generated__/MeetOwnerIcon.js +2 -2
- package/components/Icon/__generated__/MeetOwnerIcon.js.map +1 -1
- package/components/Icon/__generated__/MenuListIcon.js +2 -2
- package/components/Icon/__generated__/MenuListIcon.js.map +1 -1
- package/components/Icon/__generated__/MileageIcon.js +2 -2
- package/components/Icon/__generated__/MileageIcon.js.map +1 -1
- package/components/Icon/__generated__/MiscGiftIcon.js +2 -2
- package/components/Icon/__generated__/MiscGiftIcon.js.map +1 -1
- package/components/Icon/__generated__/NotificationIcon.js +2 -2
- package/components/Icon/__generated__/NotificationIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionAirConditioningIcon.js +2 -2
- package/components/Icon/__generated__/OptionAirConditioningIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionAudioInputIcon.js +2 -2
- package/components/Icon/__generated__/OptionAudioInputIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionBabySeatIcon.js +2 -2
- package/components/Icon/__generated__/OptionBabySeatIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionBikeRackIcon.js +2 -2
- package/components/Icon/__generated__/OptionBikeRackIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionCdPlayerIcon.js +2 -2
- package/components/Icon/__generated__/OptionCdPlayerIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionChainsIcon.js +2 -2
- package/components/Icon/__generated__/OptionChainsIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionCruiseControlIcon.js +2 -2
- package/components/Icon/__generated__/OptionCruiseControlIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionGpsIcon.js +2 -2
- package/components/Icon/__generated__/OptionGpsIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionHasTrailerIcon.js +2 -2
- package/components/Icon/__generated__/OptionHasTrailerIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionHitchIcon.js +2 -2
- package/components/Icon/__generated__/OptionHitchIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionRoofBoxIcon.js +2 -2
- package/components/Icon/__generated__/OptionRoofBoxIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionSkiRackIcon.js +2 -2
- package/components/Icon/__generated__/OptionSkiRackIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionSnowTireIcon.js +2 -2
- package/components/Icon/__generated__/OptionSnowTireIcon.js.map +1 -1
- package/components/Icon/__generated__/OptionWheelchairAccessibleIcon.js +2 -2
- package/components/Icon/__generated__/OptionWheelchairAccessibleIcon.js.map +1 -1
- package/components/Icon/__generated__/PeopleUserIcon.js +2 -2
- package/components/Icon/__generated__/PeopleUserIcon.js.map +1 -1
- package/components/Icon/__generated__/PhotosIcon.js +2 -2
- package/components/Icon/__generated__/PhotosIcon.js.map +1 -1
- package/components/Icon/__generated__/PlugIcon.js +2 -2
- package/components/Icon/__generated__/PlugIcon.js.map +1 -1
- package/components/Icon/__generated__/PlusIcon.js +23 -0
- package/components/Icon/__generated__/PlusIcon.js.map +1 -0
- package/components/Icon/__generated__/RaceFlagIcon.js +24 -0
- package/components/Icon/__generated__/RaceFlagIcon.js.map +1 -0
- package/components/Icon/__generated__/RefreshIcon.js +2 -2
- package/components/Icon/__generated__/RefreshIcon.js.map +1 -1
- package/components/Icon/__generated__/ResetIcon.js +2 -2
- package/components/Icon/__generated__/ResetIcon.js.map +1 -1
- package/components/Icon/__generated__/RideIcon.js +2 -2
- package/components/Icon/__generated__/RideIcon.js.map +1 -1
- package/components/Icon/__generated__/SearchIcon.js +2 -2
- package/components/Icon/__generated__/SearchIcon.js.map +1 -1
- package/components/Icon/__generated__/ServiceBatteryIcon.js +2 -2
- package/components/Icon/__generated__/ServiceBatteryIcon.js.map +1 -1
- package/components/Icon/__generated__/ServiceCleaningIcon.js +2 -2
- package/components/Icon/__generated__/ServiceCleaningIcon.js.map +1 -1
- package/components/Icon/__generated__/ServiceFuelIcon.js +2 -2
- package/components/Icon/__generated__/ServiceFuelIcon.js.map +1 -1
- package/components/Icon/__generated__/ServiceHealingIcon.js +2 -2
- package/components/Icon/__generated__/ServiceHealingIcon.js.map +1 -1
- package/components/Icon/__generated__/ServiceLockedIcon.js +2 -2
- package/components/Icon/__generated__/ServiceLockedIcon.js.map +1 -1
- package/components/Icon/__generated__/ServiceTollsIcon.js +2 -2
- package/components/Icon/__generated__/ServiceTollsIcon.js.map +1 -1
- package/components/Icon/__generated__/ServiceUnlockedIcon.js +2 -2
- package/components/Icon/__generated__/ServiceUnlockedIcon.js.map +1 -1
- package/components/Icon/__generated__/SettingsIcon.js +2 -2
- package/components/Icon/__generated__/SettingsIcon.js.map +1 -1
- package/components/Icon/__generated__/ShareIcon.js +2 -2
- package/components/Icon/__generated__/ShareIcon.js.map +1 -1
- package/components/Icon/__generated__/ShopIcon.js +2 -2
- package/components/Icon/__generated__/ShopIcon.js.map +1 -1
- package/components/Icon/__generated__/SocialFacebookIcon.js +2 -2
- package/components/Icon/__generated__/SocialFacebookIcon.js.map +1 -1
- package/components/Icon/__generated__/SocialLinkedinIcon.js +2 -2
- package/components/Icon/__generated__/SocialLinkedinIcon.js.map +1 -1
- package/components/Icon/__generated__/SocialTwitterIcon.js +2 -2
- package/components/Icon/__generated__/SocialTwitterIcon.js.map +1 -1
- package/components/Icon/__generated__/SocialWhatsappIcon.js +2 -2
- package/components/Icon/__generated__/SocialWhatsappIcon.js.map +1 -1
- package/components/Icon/__generated__/StarIcon.js +2 -2
- package/components/Icon/__generated__/StarIcon.js.map +1 -1
- package/components/Icon/__generated__/SubwayIcon.js +2 -2
- package/components/Icon/__generated__/SubwayIcon.js.map +1 -1
- package/components/Icon/__generated__/TimeAlertIcon.js +2 -2
- package/components/Icon/__generated__/TimeAlertIcon.js.map +1 -1
- package/components/Icon/__generated__/TimeBackwardsIcon.js +2 -2
- package/components/Icon/__generated__/TimeBackwardsIcon.js.map +1 -1
- package/components/Icon/__generated__/TimeCalendarIcon.js +2 -2
- package/components/Icon/__generated__/TimeCalendarIcon.js.map +1 -1
- package/components/Icon/__generated__/TimeForwardIcon.js +2 -2
- package/components/Icon/__generated__/TimeForwardIcon.js.map +1 -1
- package/components/Icon/__generated__/TrainIcon.js +2 -2
- package/components/Icon/__generated__/TrainIcon.js.map +1 -1
- package/components/Icon/__generated__/UserShieldIcon.js +2 -2
- package/components/Icon/__generated__/UserShieldIcon.js.map +1 -1
- package/components/Icon/__generated__/VerifiedSealIcon.js +2 -2
- package/components/Icon/__generated__/VerifiedSealIcon.js.map +1 -1
- package/components/Icon/__generated__/WrenchIcon.js +2 -2
- package/components/Icon/__generated__/WrenchIcon.js.map +1 -1
- package/components/Icon/index.js +3 -3
- package/components/Icon/index.js.map +1 -1
- package/components/Modal/index.js +3 -3
- package/components/Modal/index.js.map +1 -1
- package/components/PhotoDropzone/index.js +189 -0
- package/components/PhotoDropzone/index.js.map +1 -0
- package/components/Popover/index.js +1 -1
- package/components/Popover/index.js.map +1 -1
- package/components/ProgressBar/index.js +1 -1
- package/components/ProgressBar/index.js.map +1 -1
- package/components/utils/validateFile.js +99 -0
- package/components/utils/validateFile.js.map +1 -0
- package/hooks/useBreakpoint.js +3 -3
- package/hooks/useBreakpoint.js.map +1 -1
- package/icons/car-return.js +4 -0
- package/icons/car-return.js.map +1 -0
- package/icons/car-return.svg +1 -0
- package/icons/index.js +4 -0
- package/icons/index.js.map +1 -1
- package/icons/map.js +4 -0
- package/icons/map.js.map +1 -0
- package/icons/map.svg +1 -0
- package/icons/plus.js +4 -0
- package/icons/plus.js.map +1 -0
- package/icons/plus.svg +1 -0
- package/icons/race-flag.js +4 -0
- package/icons/race-flag.js.map +1 -0
- package/icons/race-flag.svg +1 -0
- package/index.js +6 -0
- package/index.js.map +1 -1
- package/package.json +45 -43
- package/styles/components/Calendar/CalendarRangePicker/index.scss +2 -1
- package/styles/components/Form/RadioWithDetails.scss +143 -0
- package/styles/components/Form/index.scss +1 -0
- package/styles/components/Modal/index.scss +2 -0
- package/styles/components/PhotoDropzone/index.scss +112 -0
- package/styles/components.scss +1 -0
- package/styles/core/border-radius.scss +1 -0
- package/tokens/icons.js +4 -0
- package/tokens/icons.js.map +1 -1
- package/types/components/Button/index.d.ts +8 -8
- package/types/components/Buttons/BrandButton/index.d.ts +2 -2
- package/types/components/Buttons/DefaultButton/index.d.ts +2 -2
- package/types/components/Buttons/GhostButton/index.d.ts +2 -2
- package/types/components/Form/Autocomplete/index.d.ts +3 -2
- package/types/components/Form/CheckablePill.d.ts +1 -0
- package/types/components/Form/Checkmark.d.ts +1 -0
- package/types/components/Form/ComposedField.d.ts +1 -0
- package/types/components/Form/RadioWithDetails.d.ts +10 -0
- package/types/components/Form/Select.d.ts +1 -0
- package/types/components/Form/Slider.d.ts +4 -1
- package/types/components/Form/Stepper.d.ts +1 -0
- package/types/components/Form/TextArea.d.ts +5 -0
- package/types/components/Form/TextInput.d.ts +4 -3
- package/types/components/Form/field.d.ts +2 -0
- package/types/components/Icon/__generated__/CarReturnIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/MapIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/PlusIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/RaceFlagIcon.d.ts +10 -0
- package/types/components/Icon/__generated__/index.d.ts +4 -0
- package/types/components/Icon/index.d.ts +1 -1
- package/types/components/PhotoDropzone/index.d.ts +12 -0
- package/types/components/utils/validateFile.d.ts +1 -0
- package/types/icons/index.d.ts +4 -0
- package/types/index.d.ts +2 -0
- package/types/tokens/index.d.ts +4 -0
- package/utilities.css +5471 -5211
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/PhotoDropzone/index.tsx"],"sourcesContent":["import VisuallyHidden from \"@reach/visually-hidden\"\nimport React, {\n useState,\n DragEvent as ReactDragEvent,\n useRef,\n TouchEvent as ReactTouchEvent,\n ChangeEvent as ReactChangeEvent,\n MouseEvent as ReactMouseEvent,\n KeyboardEvent as ReactKeyboardEvent,\n ReactNode,\n} from \"react\"\nimport cx from \"classnames\"\nimport {\n PlusIcon,\n BinIcon,\n LoadingIcon,\n ContextualWarningCircleFilledIcon,\n} from \"../Icon\"\nimport { validateFile } from \"../utils/validateFile\"\nimport Popover from \"../Popover\"\n\nconst ACCEPTED_MAX_SIZE_MB = 10\nconst ACCEPTED_PHOTOS_TYPES = [\"jpg\", \"jpeg\", \"png\", \"gif\"]\nconst ERROR_DISPLAY_TIME = 6000\nconst ACCEPTED_TYPES_LOCALE_STRING = ACCEPTED_PHOTOS_TYPES.join(\", \")\n\nexport type PhotoDropzonePropsType = {\n className?: string\n description: string\n deletePopoverContent: (onDelete: () => void, close: () => void) => ReactNode\n errorContent: (acceptedTypes: string, maxFileSize: number) => ReactNode\n onDropped: (file: File) => Promise<void> | void\n onPhotoDelete?: () => void\n initialImageUrl?: string\n}\n\nconst preventEventDefaults = (\n e: ReactDragEvent | ReactMouseEvent | ReactKeyboardEvent | ReactTouchEvent\n) => {\n e.preventDefault && e.preventDefault()\n e.stopPropagation && e.stopPropagation()\n}\n\nconst isEnterOrSpaceKey = (event: ReactKeyboardEvent) =>\n event.key === \"Enter\" || event.key === \" \"\n\nconst PhotoDropzone = ({\n className,\n description,\n deletePopoverContent,\n errorContent,\n onDropped,\n onPhotoDelete,\n initialImageUrl = \"\",\n}: PhotoDropzonePropsType) => {\n const fileInputRef = useRef<HTMLInputElement>(null)\n const deleteButtonRef = useRef<HTMLButtonElement>(null)\n const [isDragging, setIsDragging] = useState(false)\n const [isLoading, setIsLoading] = useState(false)\n const [isErrored, setIsErrored] = useState(false)\n const [imagePreviewUrl, setImagePreviewUrl] = useState(initialImageUrl)\n const [displayDeletion, setDisplayDeletion] = useState(false)\n const [showDeletePopover, setShowDeletePopover] = useState(false)\n\n const openDeletePopover = (\n event?: ReactMouseEvent | ReactKeyboardEvent | ReactTouchEvent\n ) => {\n event && preventEventDefaults(event)\n setShowDeletePopover(true)\n }\n const closeDeletePopover = (event?: ReactMouseEvent | ReactTouchEvent) => {\n event && preventEventDefaults(event)\n setShowDeletePopover(false)\n }\n\n const onDropzoneMouseEnter = (event?: ReactMouseEvent) => {\n event && preventEventDefaults(event)\n if (imagePreviewUrl) setDisplayDeletion(true)\n }\n\n const onDropzoneMouseLeave = (event?: ReactMouseEvent) => {\n event && preventEventDefaults(event)\n if (displayDeletion && !showDeletePopover) setDisplayDeletion(false)\n }\n\n const onDropzoneClick = (event?: ReactMouseEvent | ReactTouchEvent) => {\n event && preventEventDefaults(event)\n if (isLoading) return\n if (isErrored) setIsErrored(false)\n if (imagePreviewUrl) {\n if (showDeletePopover) closeDeletePopover()\n return setDisplayDeletion(!displayDeletion)\n }\n fileInputRef.current?.click()\n }\n\n const onDropzoneKey = (event: ReactKeyboardEvent) => {\n if (showDeletePopover) return\n if (isEnterOrSpaceKey(event)) {\n onDropzoneClick()\n }\n }\n\n const onDeleteKey = (event: ReactKeyboardEvent) => {\n if (isEnterOrSpaceKey(event)) {\n openDeletePopover(event)\n }\n }\n\n const onDelete = () => {\n if (fileInputRef.current) fileInputRef.current.value = \"\"\n closeDeletePopover()\n setImagePreviewUrl(\"\")\n onPhotoDelete && onPhotoDelete()\n }\n\n const onDragEnter = (event: ReactDragEvent) => {\n preventEventDefaults(event)\n if (isErrored) setIsErrored(false)\n !imagePreviewUrl && setIsDragging(true)\n }\n\n const onDragLeave = (event: ReactDragEvent) => {\n preventEventDefaults(event)\n setIsDragging(false)\n }\n\n const processFile = async (fileToProcess: File) => {\n setIsDragging(false)\n setIsErrored(false)\n setIsLoading(true)\n\n const isValidFile = await validateFile(\n fileToProcess,\n (fileToValidate, extension) => {\n const maxFileSize = ACCEPTED_MAX_SIZE_MB * 1000 * 1000\n const acceptedFileTypes = ACCEPTED_PHOTOS_TYPES\n\n if (fileToValidate.size > maxFileSize) {\n return false\n } else if (!extension || !acceptedFileTypes.includes(extension)) {\n return false\n } else {\n return true\n }\n }\n )\n\n if (isValidFile) {\n const imageSrc = URL.createObjectURL(fileToProcess)\n setImagePreviewUrl(imageSrc)\n await onDropped(fileToProcess)\n setIsLoading(false)\n } else {\n setIsLoading(false)\n setIsErrored(true)\n setTimeout(() => {\n setIsErrored(false)\n }, ERROR_DISPLAY_TIME)\n }\n }\n\n const onFileInputChanged = (event: ReactChangeEvent<HTMLInputElement>) => {\n if (event.target.files?.length) {\n processFile(event.target.files[0])\n }\n }\n\n const onDrop = (event: ReactDragEvent<HTMLDivElement>) => {\n preventEventDefaults(event)\n if (event.dataTransfer?.files?.length && !imagePreviewUrl) {\n processFile(event.dataTransfer.files[0])\n }\n }\n\n const onDeleteButtonClick = showDeletePopover\n ? closeDeletePopover\n : openDeletePopover\n\n return (\n <div\n tabIndex={0}\n className={cx(\"cobalt-photo-dropzone\", className, {\n \"cobalt-photo-dropzone--filled\": imagePreviewUrl,\n \"cobalt-photo-dropzone--dragging\": isDragging,\n \"cobalt-photo-dropzone--loading\": isLoading,\n \"cobalt-photo-dropzone--errored\": isErrored,\n })}\n onMouseEnter={onDropzoneMouseEnter}\n onMouseLeave={onDropzoneMouseLeave}\n onDragEnter={onDragEnter}\n onDragLeave={onDragLeave}\n // Not on click because we also use mouseEnter listener\n onMouseUp={onDropzoneClick}\n onTouchEnd={onDropzoneClick}\n onKeyUp={onDropzoneKey}\n onDrop={onDrop}\n // Need to reset those listeners to avoid default browser behaviour\n onDragStart={preventEventDefaults}\n onDragEnd={preventEventDefaults}\n onDragOver={preventEventDefaults}\n >\n {isErrored && (\n <div className=\"cobalt-photo-dropzone__description\">\n <ContextualWarningCircleFilledIcon color=\"red\" />\n {errorContent(ACCEPTED_TYPES_LOCALE_STRING, ACCEPTED_MAX_SIZE_MB)}\n </div>\n )}\n {isLoading && (\n <div className=\"cobalt-photo-dropzone__description\">\n <LoadingIcon />\n </div>\n )}\n {!isLoading &&\n !isErrored &&\n (imagePreviewUrl ? (\n <>\n <img\n className=\"cobalt-photo-dropzone__preview\"\n src={imagePreviewUrl}\n />\n <div>\n <button\n className={cx(\"cobalt-photo-dropzone__delete-button\", {\n \"cobalt-photo-dropzone__delete-button--triggered\":\n displayDeletion,\n })}\n ref={deleteButtonRef}\n // Must follow the click listeners on the dropzone,\n // in order to have the correct events bubbling\n onTouchEnd={onDeleteButtonClick}\n onMouseUp={onDeleteButtonClick}\n onKeyUp={onDeleteKey}\n >\n <VisuallyHidden>Delete</VisuallyHidden>\n <BinIcon color=\"indigo\" />\n </button>\n <Popover\n targetRef={deleteButtonRef}\n isOpen={showDeletePopover}\n close={closeDeletePopover}\n placement=\"left-start\"\n distance={12}\n bodySpacing={false}\n arrow\n >\n {deletePopoverContent(onDelete, closeDeletePopover)}\n </Popover>\n </div>\n </>\n ) : (\n <div className=\"cobalt-photo-dropzone__description cobalt-photo-dropzone__description--strong\">\n <p>{description}</p>\n <PlusIcon />\n </div>\n ))}\n <VisuallyHidden>\n <input\n ref={fileInputRef}\n type=\"file\"\n onChange={onFileInputChanged}\n accept={ACCEPTED_PHOTOS_TYPES.map((ext) => `.${ext}`).join(\",\")}\n multiple={false}\n />\n </VisuallyHidden>\n </div>\n )\n}\n\nexport default PhotoDropzone\n"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ var Popover = function (_a) {
|
|
|
49
49
|
onShow();
|
|
50
50
|
};
|
|
51
51
|
var TippyComp = lazy ? LazyTippy : Tippy;
|
|
52
|
-
return isMobile ? (React.createElement(MobilePopover, { isOpen: isOpen, onDismiss: close, bodySpacing: bodySpacing, ariaLabel: ariaLabel, onShow: onShow, onHidden: onHidden }, children)) : (React.createElement(TippyComp, __assign({ content: bodySpacing ? (React.createElement("div", { className: "cobalt-popover--bodySpacing" }, children)) : (children) }, defaultTippyProps, { visible: isOpen, reference: targetRef, theme: defaultTippyProps.theme
|
|
52
|
+
return isMobile ? (React.createElement(MobilePopover, { isOpen: isOpen, onDismiss: close, bodySpacing: bodySpacing, ariaLabel: ariaLabel, onShow: onShow, onHidden: onHidden }, children)) : (React.createElement(TippyComp, __assign({ content: bodySpacing ? (React.createElement("div", { className: "cobalt-popover--bodySpacing" }, children)) : (children) }, defaultTippyProps, { visible: isOpen, reference: targetRef, theme: "".concat(defaultTippyProps.theme, " ").concat(theme), offset: [0, distance] }, { arrow: arrow, placement: placement, zIndex: zIndex }, { onHidden: onTippyClose, onShow: onTippyOpen, onClickOutside: close })));
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
export { Popover as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/Popover/index.tsx"],"sourcesContent":["import React, { useEffect, useCallback, PropsWithChildren } from \"react\"\nimport Tippy, { TippyProps } from \"@tippyjs/react\"\nimport { sticky } from \"tippy.js\"\n\nimport useBreakpoint from \"../../hooks/useBreakpoint\"\nimport Modal, { ModalPropsType } from \"../Modal\"\nimport LazyTippy from \"./LazyTippy\"\nimport { zIndexes } from \"../../tokens\"\n\nexport type PopoverPropsType = PropsWithChildren<{\n isOpen: boolean\n close: () => void\n \"aria-label\"?: string\n bodySpacing?: boolean\n onShow?: () => void\n onHidden?: () => void\n // Desktop props\n targetRef: TippyProps[\"reference\"]\n arrow?: boolean\n placement?: TippyProps[\"placement\"]\n theme?: string\n distance?: number\n zIndex?: number\n /**\n * __Only for desktop popover__\n *\n * Allow to render the content only when the popover is mounted in the DOM\n * Useful to render async content in the popover\n */\n lazy?: boolean\n}>\n\nconst ESC_KEY_CODE = 27\n\nconst defaultTippyProps: Omit<TippyProps, \"content\" | \"children\" | \"visible\"> =\n {\n animation: \"shift-away-subtle\",\n interactive: true,\n interactiveBorder: 10,\n delay: [0, 0],\n duration: [200, 150],\n maxWidth: 500,\n sticky: true,\n plugins: [sticky],\n theme: \"light cobalt-popover\",\n inertia: true,\n }\n\nconst MobilePopover = ({\n isOpen,\n children,\n ariaLabel = \"Popover mobile modal\",\n onDismiss,\n bodySpacing,\n onShow,\n onHidden,\n}: PropsWithChildren<{\n ariaLabel?: ModalPropsType[\"aria-label\"]\n isOpen: ModalPropsType[\"isOpen\"]\n onDismiss?: () => void\n bodySpacing: ModalPropsType[\"bodySpacing\"]\n onShow: ModalPropsType[\"onShow\"]\n onHidden: ModalPropsType[\"onHidden\"]\n}>) => {\n return (\n <Modal\n aria-label={ariaLabel}\n isOpen={isOpen}\n onDismissAttempt={onDismiss}\n bodySpacing={bodySpacing}\n onShow={onShow}\n onHidden={onHidden}\n >\n {children}\n </Modal>\n )\n}\n\nconst Popover = ({\n isOpen,\n targetRef,\n close,\n \"aria-label\": ariaLabel,\n children,\n bodySpacing = true,\n onShow,\n onHidden,\n // Desktop props\n arrow = false,\n placement = \"bottom-start\",\n theme = \"\",\n distance = 8,\n zIndex = zIndexes.dropdown,\n lazy,\n}: PopoverPropsType) => {\n const { breakpoint } = useBreakpoint()\n const isMobile = breakpoint === \"sm\" || breakpoint === \"xs\"\n\n const escListener = useCallback(\n (event: KeyboardEvent) => {\n if (event.keyCode === ESC_KEY_CODE && isOpen) close()\n },\n [isOpen, close]\n )\n\n useEffect(() => {\n window.addEventListener(\"keydown\", escListener)\n\n return () => window.removeEventListener(\"keydown\", escListener)\n }, [escListener])\n\n const onTippyClose = () => {\n if (onHidden) onHidden()\n }\n\n const onTippyOpen = () => {\n if (onShow) onShow()\n }\n\n const TippyComp = lazy ? LazyTippy : Tippy\n\n return isMobile ? (\n <MobilePopover\n isOpen={isOpen}\n onDismiss={close}\n bodySpacing={bodySpacing}\n ariaLabel={ariaLabel}\n onShow={onShow}\n onHidden={onHidden}\n >\n {children}\n </MobilePopover>\n ) : (\n <TippyComp\n content={\n bodySpacing ? (\n <div className=\"cobalt-popover--bodySpacing\">{children}</div>\n ) : (\n children\n )\n }\n {...defaultTippyProps}\n visible={isOpen}\n reference={targetRef}\n theme={`${defaultTippyProps.theme} ${theme}`}\n offset={[0, distance]}\n {...{ arrow, placement, zIndex }}\n onHidden={onTippyClose}\n onShow={onTippyOpen}\n onClickOutside={close}\n />\n )\n}\n\nexport default Popover\n"],"names":[],"mappings":";;;;;;;;;AAgCA,IAAM,YAAY,GAAG,EAAE,CAAA;AAEvB,IAAM,iBAAiB,GACrB;IACE,SAAS,EAAE,mBAAmB;IAC9B,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,EAAE;IACrB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACpB,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,CAAC,MAAM,CAAC;IACjB,KAAK,EAAE,sBAAsB;IAC7B,OAAO,EAAE,IAAI;CACd,CAAA;AAEH,IAAM,aAAa,GAAG,UAAC,EAerB;QAdA,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,iBAAkC,EAAlC,SAAS,mBAAG,sBAAsB,KAAA,EAClC,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,MAAM,YAAA,EACN,QAAQ,cAAA;IASR,QACE,oBAAC,KAAK,kBACQ,SAAS,EACrB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,SAAS,EAC3B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,IAEjB,QAAQ,CACH,EACT;AACH,CAAC,CAAA;IAEK,OAAO,GAAG,UAAC,EAgBE;QAfjB,MAAM,YAAA,EACN,SAAS,eAAA,EACT,KAAK,WAAA,EACS,SAAS,mBAAA,EACvB,QAAQ,cAAA,EACR,mBAAkB,EAAlB,WAAW,mBAAG,IAAI,KAAA,EAClB,MAAM,YAAA,EACN,QAAQ,cAAA;;IAER,aAAa;;IAAb,KAAK,mBAAG,KAAK,KAAA,EACb,iBAA0B,EAA1B,SAAS,mBAAG,cAAc,KAAA,EAC1B,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,gBAAY,EAAZ,QAAQ,mBAAG,CAAC,KAAA,EACZ,cAA0B,EAA1B,MAAM,mBAAG,QAAQ,CAAC,QAAQ,KAAA,EAC1B,IAAI,UAAA;IAEI,IAAA,UAAU,GAAK,aAAa,EAAE,WAApB,CAAoB;IACtC,IAAM,QAAQ,GAAG,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,CAAA;IAE3D,IAAM,WAAW,GAAG,WAAW,CAC7B,UAAC,KAAoB;QACnB,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY,IAAI,MAAM;YAAE,KAAK,EAAE,CAAA;KACtD,EACD,CAAC,MAAM,EAAE,KAAK,CAAC,CAChB,CAAA;IAED,SAAS,CAAC;QACR,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QAE/C,OAAO,cAAM,OAAA,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,GAAA,CAAA;KAChE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,IAAM,YAAY,GAAG;QACnB,IAAI,QAAQ;YAAE,QAAQ,EAAE,CAAA;KACzB,CAAA;IAED,IAAM,WAAW,GAAG;QAClB,IAAI,MAAM;YAAE,MAAM,EAAE,CAAA;KACrB,CAAA;IAED,IAAM,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,CAAA;IAE1C,OAAO,QAAQ,IACb,oBAAC,aAAa,IACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,IAEjB,QAAQ,CACK,KAEhB,oBAAC,SAAS,aACR,OAAO,EACL,WAAW,IACT,6BAAK,SAAS,EAAC,6BAA6B,IAAE,QAAQ,CAAO,KAE7D,QAAQ,CACT,IAEC,iBAAiB,IACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,EACpB,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Popover/index.tsx"],"sourcesContent":["import React, { useEffect, useCallback, PropsWithChildren } from \"react\"\nimport Tippy, { TippyProps } from \"@tippyjs/react\"\nimport { sticky } from \"tippy.js\"\n\nimport useBreakpoint from \"../../hooks/useBreakpoint\"\nimport Modal, { ModalPropsType } from \"../Modal\"\nimport LazyTippy from \"./LazyTippy\"\nimport { zIndexes } from \"../../tokens\"\n\nexport type PopoverPropsType = PropsWithChildren<{\n isOpen: boolean\n close: () => void\n \"aria-label\"?: string\n bodySpacing?: boolean\n onShow?: () => void\n onHidden?: () => void\n // Desktop props\n targetRef: TippyProps[\"reference\"]\n arrow?: boolean\n placement?: TippyProps[\"placement\"]\n theme?: string\n distance?: number\n zIndex?: number\n /**\n * __Only for desktop popover__\n *\n * Allow to render the content only when the popover is mounted in the DOM\n * Useful to render async content in the popover\n */\n lazy?: boolean\n}>\n\nconst ESC_KEY_CODE = 27\n\nconst defaultTippyProps: Omit<TippyProps, \"content\" | \"children\" | \"visible\"> =\n {\n animation: \"shift-away-subtle\",\n interactive: true,\n interactiveBorder: 10,\n delay: [0, 0],\n duration: [200, 150],\n maxWidth: 500,\n sticky: true,\n plugins: [sticky],\n theme: \"light cobalt-popover\",\n inertia: true,\n }\n\nconst MobilePopover = ({\n isOpen,\n children,\n ariaLabel = \"Popover mobile modal\",\n onDismiss,\n bodySpacing,\n onShow,\n onHidden,\n}: PropsWithChildren<{\n ariaLabel?: ModalPropsType[\"aria-label\"]\n isOpen: ModalPropsType[\"isOpen\"]\n onDismiss?: () => void\n bodySpacing: ModalPropsType[\"bodySpacing\"]\n onShow: ModalPropsType[\"onShow\"]\n onHidden: ModalPropsType[\"onHidden\"]\n}>) => {\n return (\n <Modal\n aria-label={ariaLabel}\n isOpen={isOpen}\n onDismissAttempt={onDismiss}\n bodySpacing={bodySpacing}\n onShow={onShow}\n onHidden={onHidden}\n >\n {children}\n </Modal>\n )\n}\n\nconst Popover = ({\n isOpen,\n targetRef,\n close,\n \"aria-label\": ariaLabel,\n children,\n bodySpacing = true,\n onShow,\n onHidden,\n // Desktop props\n arrow = false,\n placement = \"bottom-start\",\n theme = \"\",\n distance = 8,\n zIndex = zIndexes.dropdown,\n lazy,\n}: PopoverPropsType) => {\n const { breakpoint } = useBreakpoint()\n const isMobile = breakpoint === \"sm\" || breakpoint === \"xs\"\n\n const escListener = useCallback(\n (event: KeyboardEvent) => {\n if (event.keyCode === ESC_KEY_CODE && isOpen) close()\n },\n [isOpen, close]\n )\n\n useEffect(() => {\n window.addEventListener(\"keydown\", escListener)\n\n return () => window.removeEventListener(\"keydown\", escListener)\n }, [escListener])\n\n const onTippyClose = () => {\n if (onHidden) onHidden()\n }\n\n const onTippyOpen = () => {\n if (onShow) onShow()\n }\n\n const TippyComp = lazy ? LazyTippy : Tippy\n\n return isMobile ? (\n <MobilePopover\n isOpen={isOpen}\n onDismiss={close}\n bodySpacing={bodySpacing}\n ariaLabel={ariaLabel}\n onShow={onShow}\n onHidden={onHidden}\n >\n {children}\n </MobilePopover>\n ) : (\n <TippyComp\n content={\n bodySpacing ? (\n <div className=\"cobalt-popover--bodySpacing\">{children}</div>\n ) : (\n children\n )\n }\n {...defaultTippyProps}\n visible={isOpen}\n reference={targetRef}\n theme={`${defaultTippyProps.theme} ${theme}`}\n offset={[0, distance]}\n {...{ arrow, placement, zIndex }}\n onHidden={onTippyClose}\n onShow={onTippyOpen}\n onClickOutside={close}\n />\n )\n}\n\nexport default Popover\n"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ var ProgressBar = function (_a) {
|
|
|
14
14
|
React.createElement("g", { fill: "none", fillRule: "evenodd", stroke: "none", strokeWidth: "1" },
|
|
15
15
|
React.createElement("path", { d: "M12,22 C17.5228475,22 22,17.5228475 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,17.5228475 6.4771525,22 12,22 Z M10.039794,16.4579825 L10.3868138,16.8048824 C10.7382605,17.1562077 11.3079394,17.1562077 11.6593861,16.8048824 L12.0064058,16.4579825 L18.3862862,10.0803058 C18.7379046,9.72880879 18.7379046,9.15879074 18.3862862,8.80729375 L17.6922467,8.11349398 C17.3408,7.76216867 16.771121,7.76216867 16.4196743,8.11349398 L11.0398301,13.5249288 L8.08032565,10.5664466 C7.72887895,10.2151213 7.15920001,10.2151213 6.80775331,10.5664466 L6.11371383,11.2602463 C5.76209539,11.6117433 5.76209539,12.1817614 6.11371383,12.5332584 L10.039794,16.4579825 Z", fill: "#b4bbc6" })))))),
|
|
16
16
|
React.createElement("div", { className: "cobalt-ProgressBar__Container" },
|
|
17
|
-
React.createElement("div", { className: "cobalt-ProgressBar__Foreground", style: { width: progress
|
|
17
|
+
React.createElement("div", { className: "cobalt-ProgressBar__Foreground", style: { width: "".concat(progress, "%") } }),
|
|
18
18
|
tick && React.createElement("div", { className: "cobalt-ProgressBar__Tick" }))));
|
|
19
19
|
};
|
|
20
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/ProgressBar/index.tsx"],"sourcesContent":["import React from \"react\"\n\nexport interface ProgressBarProps {\n children: React.ReactNode\n progress: number\n /**\n * Visual tick at the end of the progress bar\n * @default false\n */\n tick?: boolean\n}\n\nexport const ProgressBar = ({\n progress,\n tick = false,\n children,\n}: ProgressBarProps) => (\n <div>\n <div className=\"cobalt-ProgressBar__TitleSection\">\n <div>\n <div className=\"cobalt-ProgressBar__Progression\">{progress}%</div>\n <div className=\"cobalt-ProgressBar__Title\">{children}</div>\n </div>\n {progress === 100 && (\n <div className=\"cobalt-ProgressBar__CompletedCheckbox\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth=\"1\">\n <path\n d=\"M12,22 C17.5228475,22 22,17.5228475 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,17.5228475 6.4771525,22 12,22 Z M10.039794,16.4579825 L10.3868138,16.8048824 C10.7382605,17.1562077 11.3079394,17.1562077 11.6593861,16.8048824 L12.0064058,16.4579825 L18.3862862,10.0803058 C18.7379046,9.72880879 18.7379046,9.15879074 18.3862862,8.80729375 L17.6922467,8.11349398 C17.3408,7.76216867 16.771121,7.76216867 16.4196743,8.11349398 L11.0398301,13.5249288 L8.08032565,10.5664466 C7.72887895,10.2151213 7.15920001,10.2151213 6.80775331,10.5664466 L6.11371383,11.2602463 C5.76209539,11.6117433 5.76209539,12.1817614 6.11371383,12.5332584 L10.039794,16.4579825 Z\"\n fill=\"#b4bbc6\"\n />\n </g>\n </svg>\n </div>\n )}\n </div>\n <div className=\"cobalt-ProgressBar__Container\">\n <div\n className=\"cobalt-ProgressBar__Foreground\"\n style={{ width: `${progress}%` }}\n />\n {tick && <div className=\"cobalt-ProgressBar__Tick\" />}\n </div>\n </div>\n)\n"],"names":[],"mappings":";;IAYa,WAAW,GAAG,UAAC,EAIT;QAHjB,QAAQ,cAAA,EACR,YAAY,EAAZ,IAAI,mBAAG,KAAK,KAAA,EACZ,QAAQ,cAAA;IACc,QACtB;QACE,6BAAK,SAAS,EAAC,kCAAkC;YAC/C;gBACE,6BAAK,SAAS,EAAC,iCAAiC;oBAAE,QAAQ;wBAAQ;gBAClE,6BAAK,SAAS,EAAC,2BAA2B,IAAE,QAAQ,CAAO,CACvD;YACL,QAAQ,KAAK,GAAG,KACf,6BAAK,SAAS,EAAC,uCAAuC;gBACpD,6BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B;oBAElC,2BAAG,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,GAAG;wBAC7D,8BACE,CAAC,EAAC,sqBAAsqB,EACxqB,IAAI,EAAC,SAAS,GACd,CACA,CACA,CACF,CACP,CACG;QACN,6BAAK,SAAS,EAAC,+BAA+B;YAC5C,6BACE,SAAS,EAAC,gCAAgC,EAC1C,KAAK,EAAE,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/ProgressBar/index.tsx"],"sourcesContent":["import React from \"react\"\n\nexport interface ProgressBarProps {\n children: React.ReactNode\n progress: number\n /**\n * Visual tick at the end of the progress bar\n * @default false\n */\n tick?: boolean\n}\n\nexport const ProgressBar = ({\n progress,\n tick = false,\n children,\n}: ProgressBarProps) => (\n <div>\n <div className=\"cobalt-ProgressBar__TitleSection\">\n <div>\n <div className=\"cobalt-ProgressBar__Progression\">{progress}%</div>\n <div className=\"cobalt-ProgressBar__Title\">{children}</div>\n </div>\n {progress === 100 && (\n <div className=\"cobalt-ProgressBar__CompletedCheckbox\">\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g fill=\"none\" fillRule=\"evenodd\" stroke=\"none\" strokeWidth=\"1\">\n <path\n d=\"M12,22 C17.5228475,22 22,17.5228475 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,17.5228475 6.4771525,22 12,22 Z M10.039794,16.4579825 L10.3868138,16.8048824 C10.7382605,17.1562077 11.3079394,17.1562077 11.6593861,16.8048824 L12.0064058,16.4579825 L18.3862862,10.0803058 C18.7379046,9.72880879 18.7379046,9.15879074 18.3862862,8.80729375 L17.6922467,8.11349398 C17.3408,7.76216867 16.771121,7.76216867 16.4196743,8.11349398 L11.0398301,13.5249288 L8.08032565,10.5664466 C7.72887895,10.2151213 7.15920001,10.2151213 6.80775331,10.5664466 L6.11371383,11.2602463 C5.76209539,11.6117433 5.76209539,12.1817614 6.11371383,12.5332584 L10.039794,16.4579825 Z\"\n fill=\"#b4bbc6\"\n />\n </g>\n </svg>\n </div>\n )}\n </div>\n <div className=\"cobalt-ProgressBar__Container\">\n <div\n className=\"cobalt-ProgressBar__Foreground\"\n style={{ width: `${progress}%` }}\n />\n {tick && <div className=\"cobalt-ProgressBar__Tick\" />}\n </div>\n </div>\n)\n"],"names":[],"mappings":";;IAYa,WAAW,GAAG,UAAC,EAIT;QAHjB,QAAQ,cAAA,EACR,YAAY,EAAZ,IAAI,mBAAG,KAAK,KAAA,EACZ,QAAQ,cAAA;IACc,QACtB;QACE,6BAAK,SAAS,EAAC,kCAAkC;YAC/C;gBACE,6BAAK,SAAS,EAAC,iCAAiC;oBAAE,QAAQ;wBAAQ;gBAClE,6BAAK,SAAS,EAAC,2BAA2B,IAAE,QAAQ,CAAO,CACvD;YACL,QAAQ,KAAK,GAAG,KACf,6BAAK,SAAS,EAAC,uCAAuC;gBACpD,6BACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B;oBAElC,2BAAG,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,EAAC,GAAG;wBAC7D,8BACE,CAAC,EAAC,sqBAAsqB,EACxqB,IAAI,EAAC,SAAS,GACd,CACA,CACA,CACF,CACP,CACG;QACN,6BAAK,SAAS,EAAC,+BAA+B;YAC5C,6BACE,SAAS,EAAC,gCAAgC,EAC1C,KAAK,EAAE,EAAE,KAAK,EAAE,UAAG,QAAQ,MAAG,EAAE,GAChC;YACD,IAAI,IAAI,6BAAK,SAAS,EAAC,0BAA0B,GAAG,CACjD,CACF;AAhCgB;;;;"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { __awaiter, __generator } from '../../_virtual/_tslib.js';
|
|
2
|
+
import typer from 'media-typer';
|
|
3
|
+
|
|
4
|
+
var MIME_SUBTYPE_TO_EXTENSION = {
|
|
5
|
+
gif: "gif",
|
|
6
|
+
jpeg: "jpg",
|
|
7
|
+
pdf: "pdf",
|
|
8
|
+
png: "png",
|
|
9
|
+
zip: "zip",
|
|
10
|
+
csv: "csv",
|
|
11
|
+
};
|
|
12
|
+
var getFileSignature = function (blob) {
|
|
13
|
+
return new Promise(function (resolve, reject) {
|
|
14
|
+
try {
|
|
15
|
+
var fileReader_1 = new FileReader();
|
|
16
|
+
fileReader_1.onloadend = function (_e) {
|
|
17
|
+
var header = "";
|
|
18
|
+
var result = fileReader_1.result;
|
|
19
|
+
var arr = new Uint8Array(result);
|
|
20
|
+
for (var i = 0; i < arr.length; i++) {
|
|
21
|
+
header += arr[i].toString(16);
|
|
22
|
+
}
|
|
23
|
+
resolve(header);
|
|
24
|
+
};
|
|
25
|
+
fileReader_1.readAsArrayBuffer(blob.slice(0, 4));
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
reject(e);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
var getMimetypeFromSignature = function (signature) {
|
|
33
|
+
switch (signature.toUpperCase()) {
|
|
34
|
+
case "89504E47":
|
|
35
|
+
return "image/png";
|
|
36
|
+
case "47494638":
|
|
37
|
+
return "image/gif";
|
|
38
|
+
case "25504446":
|
|
39
|
+
return "application/pdf";
|
|
40
|
+
case "FFD8FFDB":
|
|
41
|
+
case "FFD8FFEE":
|
|
42
|
+
case "FFD8FFE0":
|
|
43
|
+
case "FFD8FFE1":
|
|
44
|
+
case "FFD8FFE2":
|
|
45
|
+
case "FFD8FFE3":
|
|
46
|
+
case "FFD8FFE8":
|
|
47
|
+
return "image/jpeg";
|
|
48
|
+
case "504B0304":
|
|
49
|
+
return "application/zip";
|
|
50
|
+
default:
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
var getMimeType = function (file) {
|
|
55
|
+
return new Promise(function (resolve, reject) {
|
|
56
|
+
getFileSignature(file).then(function (signature) {
|
|
57
|
+
resolve(getMimetypeFromSignature(signature));
|
|
58
|
+
}, function (error) {
|
|
59
|
+
reject(error);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
var getFileExtensionFromFileName = function (fileName) {
|
|
64
|
+
var fileTypeFromFileNameRegExp = new RegExp("(\\.)(.+)$", "i");
|
|
65
|
+
var fromName = fileTypeFromFileNameRegExp.exec(fileName);
|
|
66
|
+
if (fromName && fromName.length > 1 && fromName[2]) {
|
|
67
|
+
return fromName[2];
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
};
|
|
71
|
+
var getFileExtensionFromMimeType = function (mimeType) {
|
|
72
|
+
try {
|
|
73
|
+
var type = typer.parse(mimeType).subtype;
|
|
74
|
+
return MIME_SUBTYPE_TO_EXTENSION[type] || null;
|
|
75
|
+
}
|
|
76
|
+
catch (_e) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
// If this function
|
|
81
|
+
// - return falsy => the file is correct, file process will abort
|
|
82
|
+
// - return true => the file is valid to continue the file process
|
|
83
|
+
var validateFile = function (file, fileTypeValidator) { return __awaiter(void 0, void 0, void 0, function () {
|
|
84
|
+
var mimeType, extension;
|
|
85
|
+
return __generator(this, function (_a) {
|
|
86
|
+
switch (_a.label) {
|
|
87
|
+
case 0: return [4 /*yield*/, getMimeType(file)];
|
|
88
|
+
case 1:
|
|
89
|
+
mimeType = _a.sent();
|
|
90
|
+
extension = (mimeType && getFileExtensionFromMimeType(mimeType)) ||
|
|
91
|
+
getFileExtensionFromMimeType(file.type) ||
|
|
92
|
+
getFileExtensionFromFileName(file.name);
|
|
93
|
+
return [2 /*return*/, fileTypeValidator(file, extension)];
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}); };
|
|
97
|
+
|
|
98
|
+
export { validateFile };
|
|
99
|
+
//# sourceMappingURL=validateFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateFile.js","sources":["../../../src/components/utils/validateFile.ts"],"sourcesContent":["import typer from \"media-typer\"\n\nconst MIME_SUBTYPE_TO_EXTENSION: Record<string, string> = {\n gif: \"gif\",\n jpeg: \"jpg\",\n pdf: \"pdf\",\n png: \"png\",\n zip: \"zip\",\n csv: \"csv\",\n}\n\nconst getFileSignature = (blob: Blob): Promise<string> => {\n return new Promise<string>((resolve, reject) => {\n try {\n const fileReader: FileReader = new FileReader()\n fileReader.onloadend = (_e: Event) => {\n let header = \"\"\n const result: ArrayBuffer = fileReader.result as ArrayBuffer\n const arr = new Uint8Array(result)\n\n for (let i = 0; i < arr.length; i++) {\n header += arr[i].toString(16)\n }\n resolve(header)\n }\n fileReader.readAsArrayBuffer(blob.slice(0, 4))\n } catch (e) {\n reject(e)\n }\n })\n}\n\nconst getMimetypeFromSignature = (signature: string): string | null => {\n switch (signature.toUpperCase()) {\n case \"89504E47\":\n return \"image/png\"\n case \"47494638\":\n return \"image/gif\"\n case \"25504446\":\n return \"application/pdf\"\n case \"FFD8FFDB\":\n case \"FFD8FFEE\":\n case \"FFD8FFE0\":\n case \"FFD8FFE1\":\n case \"FFD8FFE2\":\n case \"FFD8FFE3\":\n case \"FFD8FFE8\":\n return \"image/jpeg\"\n case \"504B0304\":\n return \"application/zip\"\n default:\n return null\n }\n}\n\nconst getMimeType = (file: Blob): Promise<string | null> => {\n return new Promise((resolve, reject) => {\n getFileSignature(file).then(\n (signature) => {\n resolve(getMimetypeFromSignature(signature))\n },\n (error) => {\n reject(error)\n }\n )\n })\n}\n\nconst getFileExtensionFromFileName = (fileName: string): string | null => {\n const fileTypeFromFileNameRegExp = new RegExp(`(\\\\.)(.+)$`, \"i\")\n\n const fromName = fileTypeFromFileNameRegExp.exec(fileName)\n if (fromName && fromName.length > 1 && fromName[2]) {\n return fromName[2]\n }\n\n return null\n}\n\nconst getFileExtensionFromMimeType = (mimeType: string): string | null => {\n try {\n const type = typer.parse(mimeType).subtype\n return MIME_SUBTYPE_TO_EXTENSION[type] || null\n } catch (_e) {\n return null\n }\n}\n\n// If this function\n// - return falsy => the file is correct, file process will abort\n// - return true => the file is valid to continue the file process\nexport const validateFile = async (\n file: File,\n fileTypeValidator: (\n file: File,\n extension: string | null\n ) => boolean | undefined | null\n) => {\n const mimeType = await getMimeType(file)\n const extension =\n (mimeType && getFileExtensionFromMimeType(mimeType)) ||\n getFileExtensionFromMimeType(file.type) ||\n getFileExtensionFromFileName(file.name)\n\n return fileTypeValidator(file, extension)\n}\n"],"names":[],"mappings":"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"}
|
package/hooks/useBreakpoint.js
CHANGED
|
@@ -12,19 +12,19 @@ var breakpointsArray = Object.keys(breakpoints)
|
|
|
12
12
|
var cobaltBreakpoints = breakpointsArray.map(function (breakpoint, index) {
|
|
13
13
|
// lowest limit
|
|
14
14
|
if (index === 0) {
|
|
15
|
-
return [breakpoint.name, "(max-width: "
|
|
15
|
+
return [breakpoint.name, "(max-width: ".concat(breakpoint.value - 1, "px)")];
|
|
16
16
|
}
|
|
17
17
|
else {
|
|
18
18
|
return [
|
|
19
19
|
breakpoint.name,
|
|
20
|
-
"(min-width: "
|
|
20
|
+
"(min-width: ".concat(breakpointsArray[index - 1].value, "px) and (max-width: ").concat(breakpoint.value - 1, "px)"),
|
|
21
21
|
];
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
// highest limit
|
|
25
25
|
cobaltBreakpoints.push([
|
|
26
26
|
"over",
|
|
27
|
-
"(min-width: "
|
|
27
|
+
"(min-width: ".concat(breakpointsArray[breakpointsArray.length - 1].value, "px)"),
|
|
28
28
|
]);
|
|
29
29
|
/**
|
|
30
30
|
* Hook to get the current Cobalt breakpoint according to the viewport size
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBreakpoint.js","sources":["../../src/hooks/useBreakpoint.ts"],"sourcesContent":["import { useState, useEffect } from \"react\"\nimport { breakpoints } from \"../tokens\"\n\nexport type CobaltBreakpointType = keyof typeof breakpoints | \"over\"\n\nconst defaultBreakpoint: CobaltBreakpointType = \"md\"\n\nconst breakpointsArray = (\n Object.keys(breakpoints) as (keyof typeof breakpoints)[]\n)\n .map((bp) => ({\n name: bp,\n value: parseInt(breakpoints[bp].slice(0, -2), 10),\n }))\n .sort((a, b) => a.value - b.value)\n\nexport const cobaltBreakpoints: [CobaltBreakpointType, string][] =\n breakpointsArray.map((breakpoint, index) => {\n // lowest limit\n if (index === 0) {\n return [breakpoint.name, `(max-width: ${breakpoint.value - 1}px)`]\n } else {\n return [\n breakpoint.name,\n `(min-width: ${breakpointsArray[index - 1].value}px) and (max-width: ${\n breakpoint.value - 1\n }px)`,\n ]\n }\n })\n\n// highest limit\ncobaltBreakpoints.push([\n \"over\",\n `(min-width: ${breakpointsArray[breakpointsArray.length - 1].value}px)`,\n])\n\n/**\n * Hook to get the current Cobalt breakpoint according to the viewport size\n */\nconst useBreakpoint = () => {\n const getMediaQueriesList = () =>\n cobaltBreakpoints.map((b) => window.matchMedia(b[1]))\n\n const getBreakpoint = () => {\n const matchIndex = getMediaQueriesList().findIndex((media) => media.matches)\n return matchIndex !== -1\n ? cobaltBreakpoints[matchIndex][0]\n : defaultBreakpoint\n }\n\n const isMobileBreakpoint = (bp: CobaltBreakpointType) =>\n bp === \"sm\" || bp === \"xs\"\n\n const initialBreakpoint = getBreakpoint()\n\n const [breakpoint, setBreakpoint] =\n useState<CobaltBreakpointType>(initialBreakpoint)\n\n const [isMobile, setIsMobile] = useState(\n isMobileBreakpoint(initialBreakpoint)\n )\n\n useEffect(() => {\n const handleMediaChange = () => {\n const newBreakpoint = getBreakpoint()\n setBreakpoint(newBreakpoint)\n setIsMobile(isMobileBreakpoint(newBreakpoint))\n }\n const mediaQueriesList = getMediaQueriesList()\n mediaQueriesList.forEach((mq) => {\n // Safari < 14 only supports addListener\n mq.addEventListener\n ? mq.addEventListener(\"change\", handleMediaChange)\n : mq.addListener(handleMediaChange)\n })\n // Remove listeners on cleanup\n return () =>\n mediaQueriesList.forEach((mq) => {\n // Safari < 14 only supports removeListener\n mq.removeEventListener\n ? mq.removeEventListener(\"change\", handleMediaChange)\n : mq.removeListener(handleMediaChange)\n })\n }, []) // Empty array ensures effect is only run on mount and unmount\n\n return { breakpoint, isMobile }\n}\n\nexport default useBreakpoint\n"],"names":[],"mappings":";;;;AAKA,IAAM,iBAAiB,GAAyB,IAAI,CAAA;AAEpD,IAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,CAAC,WAAW,CACxB;KACE,GAAG,CAAC,UAAC,EAAE,IAAK,QAAC;IACZ,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;CAClD,IAAC,CAAC;KACF,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAA,CAAC,CAAA;IAEvB,iBAAiB,GAC5B,gBAAgB,CAAC,GAAG,CAAC,UAAC,UAAU,EAAE,KAAK;;IAErC,IAAI,KAAK,KAAK,CAAC,EAAE;QACf,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"useBreakpoint.js","sources":["../../src/hooks/useBreakpoint.ts"],"sourcesContent":["import { useState, useEffect } from \"react\"\nimport { breakpoints } from \"../tokens\"\n\nexport type CobaltBreakpointType = keyof typeof breakpoints | \"over\"\n\nconst defaultBreakpoint: CobaltBreakpointType = \"md\"\n\nconst breakpointsArray = (\n Object.keys(breakpoints) as (keyof typeof breakpoints)[]\n)\n .map((bp) => ({\n name: bp,\n value: parseInt(breakpoints[bp].slice(0, -2), 10),\n }))\n .sort((a, b) => a.value - b.value)\n\nexport const cobaltBreakpoints: [CobaltBreakpointType, string][] =\n breakpointsArray.map((breakpoint, index) => {\n // lowest limit\n if (index === 0) {\n return [breakpoint.name, `(max-width: ${breakpoint.value - 1}px)`]\n } else {\n return [\n breakpoint.name,\n `(min-width: ${breakpointsArray[index - 1].value}px) and (max-width: ${\n breakpoint.value - 1\n }px)`,\n ]\n }\n })\n\n// highest limit\ncobaltBreakpoints.push([\n \"over\",\n `(min-width: ${breakpointsArray[breakpointsArray.length - 1].value}px)`,\n])\n\n/**\n * Hook to get the current Cobalt breakpoint according to the viewport size\n */\nconst useBreakpoint = () => {\n const getMediaQueriesList = () =>\n cobaltBreakpoints.map((b) => window.matchMedia(b[1]))\n\n const getBreakpoint = () => {\n const matchIndex = getMediaQueriesList().findIndex((media) => media.matches)\n return matchIndex !== -1\n ? cobaltBreakpoints[matchIndex][0]\n : defaultBreakpoint\n }\n\n const isMobileBreakpoint = (bp: CobaltBreakpointType) =>\n bp === \"sm\" || bp === \"xs\"\n\n const initialBreakpoint = getBreakpoint()\n\n const [breakpoint, setBreakpoint] =\n useState<CobaltBreakpointType>(initialBreakpoint)\n\n const [isMobile, setIsMobile] = useState(\n isMobileBreakpoint(initialBreakpoint)\n )\n\n useEffect(() => {\n const handleMediaChange = () => {\n const newBreakpoint = getBreakpoint()\n setBreakpoint(newBreakpoint)\n setIsMobile(isMobileBreakpoint(newBreakpoint))\n }\n const mediaQueriesList = getMediaQueriesList()\n mediaQueriesList.forEach((mq) => {\n // Safari < 14 only supports addListener\n mq.addEventListener\n ? mq.addEventListener(\"change\", handleMediaChange)\n : mq.addListener(handleMediaChange)\n })\n // Remove listeners on cleanup\n return () =>\n mediaQueriesList.forEach((mq) => {\n // Safari < 14 only supports removeListener\n mq.removeEventListener\n ? mq.removeEventListener(\"change\", handleMediaChange)\n : mq.removeListener(handleMediaChange)\n })\n }, []) // Empty array ensures effect is only run on mount and unmount\n\n return { breakpoint, isMobile }\n}\n\nexport default useBreakpoint\n"],"names":[],"mappings":";;;;AAKA,IAAM,iBAAiB,GAAyB,IAAI,CAAA;AAEpD,IAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,CAAC,WAAW,CACxB;KACE,GAAG,CAAC,UAAC,EAAE,IAAK,QAAC;IACZ,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;CAClD,IAAC,CAAC;KACF,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAA,CAAC,CAAA;IAEvB,iBAAiB,GAC5B,gBAAgB,CAAC,GAAG,CAAC,UAAC,UAAU,EAAE,KAAK;;IAErC,IAAI,KAAK,KAAK,CAAC,EAAE;QACf,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,sBAAe,UAAU,CAAC,KAAK,GAAG,CAAC,QAAK,CAAC,CAAA;KACnE;SAAM;QACL,OAAO;YACL,UAAU,CAAC,IAAI;YACf,sBAAe,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,iCAC9C,UAAU,CAAC,KAAK,GAAG,CAAC,QACjB;SACN,CAAA;KACF;AACH,CAAC,EAAC;AAEJ;AACA,iBAAiB,CAAC,IAAI,CAAC;IACrB,MAAM;IACN,sBAAe,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,QAAK;CACxE,CAAC,CAAA;AAEF;;;IAGM,aAAa,GAAG;IACpB,IAAM,mBAAmB,GAAG;QAC1B,OAAA,iBAAiB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAA,CAAC;KAAA,CAAA;IAEvD,IAAM,aAAa,GAAG;QACpB,IAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC,SAAS,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,OAAO,GAAA,CAAC,CAAA;QAC5E,OAAO,UAAU,KAAK,CAAC,CAAC;cACpB,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;cAChC,iBAAiB,CAAA;KACtB,CAAA;IAED,IAAM,kBAAkB,GAAG,UAAC,EAAwB;QAClD,OAAA,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;KAAA,CAAA;IAE5B,IAAM,iBAAiB,GAAG,aAAa,EAAE,CAAA;IAEnC,IAAA,KAAA,OACJ,QAAQ,CAAuB,iBAAiB,CAAC,IAAA,EAD5C,UAAU,QAAA,EAAE,aAAa,QACmB,CAAA;IAE7C,IAAA,KAAA,OAA0B,QAAQ,CACtC,kBAAkB,CAAC,iBAAiB,CAAC,CACtC,IAAA,EAFM,QAAQ,QAAA,EAAE,WAAW,QAE3B,CAAA;IAED,SAAS,CAAC;QACR,IAAM,iBAAiB,GAAG;YACxB,IAAM,aAAa,GAAG,aAAa,EAAE,CAAA;YACrC,aAAa,CAAC,aAAa,CAAC,CAAA;YAC5B,WAAW,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAA;SAC/C,CAAA;QACD,IAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAA;QAC9C,gBAAgB,CAAC,OAAO,CAAC,UAAC,EAAE;;YAE1B,EAAE,CAAC,gBAAgB;kBACf,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC;kBAChD,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAA;SACtC,CAAC,CAAA;;QAEF,OAAO;YACL,OAAA,gBAAgB,CAAC,OAAO,CAAC,UAAC,EAAE;;gBAE1B,EAAE,CAAC,mBAAmB;sBAClB,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC;sBACnD,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;aACzC,CAAC;SAAA,CAAA;KACL,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,EAAE,UAAU,YAAA,EAAE,QAAQ,UAAA,EAAE,CAAA;AACjC;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var carReturn = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.034 16.045H4.273a.91.91 0 01-.91-.909V9.682c0-.312.01-.62.026-.922a1.591 1.591 0 11.537-3.134C4.692 3.154 6.217 1.5 8.364 1.5h6.363c2.146 0 3.672 1.654 4.438 4.126a1.59 1.59 0 01.537 3.134c.017.302.025.61.025.922v1.303L18.364 9.62a3 3 0 00-4.553 3.879H9c-.748 0-1.433.274-1.958.727H7v.037a2.995 2.995 0 00-.966 1.781v.001zm-.398-8.181c0-.91 0-4.546 3.182-4.546h5.455c3.182 0 3.182 3.637 3.182 4.546H5.636zm-.302 3.874a1.364 1.364 0 102.35-1.385 1.364 1.364 0 00-2.35 1.385z\"/><path d=\"M8.729 17.419h9.514l-2.848 3.253c-.353.406-.303 1.084.1 1.452.41.375 1.091.318 1.455-.1l4.339-4.958c.331-.442.326-.95.002-1.35l-.002-.002-4.339-4.96a1.03 1.03 0 00-1.453-.101c-.41.355-.458 1.043-.102 1.453l2.848 3.253H8.729a1.03 1.03 0 100 2.06z\"/></svg>";
|
|
2
|
+
|
|
3
|
+
export { carReturn as default };
|
|
4
|
+
//# sourceMappingURL=car-return.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"car-return.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.034 16.045H4.273a.91.91 0 0 1-.91-.909V9.682c0-.312.01-.62.026-.922a1.591 1.591 0 1 1 .537-3.134C4.692 3.154 6.217 1.5 8.364 1.5h6.363c2.146 0 3.672 1.654 4.438 4.126a1.59 1.59 0 0 1 .537 3.134c.017.302.025.61.025.922v1.303L18.364 9.62a3 3 0 0 0-4.553 3.879H9c-.748 0-1.433.274-1.958.727H7v.037a2.995 2.995 0 0 0-.966 1.781v.001Zm-.398-8.181c0-.91 0-4.546 3.182-4.546h5.455c3.182 0 3.182 3.637 3.182 4.546H5.636Zm-.302 3.874a1.364 1.364 0 1 0 2.35-1.385 1.364 1.364 0 0 0-2.35 1.385Z"/><path d="M8.729 17.419h9.514l-2.848 3.253c-.353.406-.303 1.084.1 1.452.41.375 1.091.318 1.455-.1l4.339-4.958c.331-.442.326-.95.002-1.35l-.002-.002-4.339-4.96a1.03 1.03 0 0 0-1.453-.101c-.41.355-.458 1.043-.102 1.453l2.848 3.253H8.729a1.03 1.03 0 1 0 0 2.06Z"/></svg>
|
package/icons/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export { default as carCheck } from './car-check.js';
|
|
|
9
9
|
export { default as carDrivyOpen } from './car-drivy-open.js';
|
|
10
10
|
export { default as carGroup } from './car-group.js';
|
|
11
11
|
export { default as carLock } from './car-lock.js';
|
|
12
|
+
export { default as carReturn } from './car-return.js';
|
|
12
13
|
export { default as carSearch } from './car-search.js';
|
|
13
14
|
export { default as carTypeAntique } from './car-type-antique.js';
|
|
14
15
|
export { default as carTypeCabriolet } from './car-type-cabriolet.js';
|
|
@@ -59,6 +60,7 @@ export { default as locationMap } from './location-map.js';
|
|
|
59
60
|
export { default as locationParking } from './location-parking.js';
|
|
60
61
|
export { default as locationPin } from './location-pin.js';
|
|
61
62
|
export { default as logout } from './logout.js';
|
|
63
|
+
export { default as map } from './map.js';
|
|
62
64
|
export { default as meetDriver } from './meet-driver.js';
|
|
63
65
|
export { default as meetOwner } from './meet-owner.js';
|
|
64
66
|
export { default as menuList } from './menu-list.js';
|
|
@@ -82,6 +84,8 @@ export { default as optionWheelchairAccessible } from './option-wheelchair-acces
|
|
|
82
84
|
export { default as peopleUser } from './people-user.js';
|
|
83
85
|
export { default as photos } from './photos.js';
|
|
84
86
|
export { default as plug } from './plug.js';
|
|
87
|
+
export { default as plus } from './plus.js';
|
|
88
|
+
export { default as raceFlag } from './race-flag.js';
|
|
85
89
|
export { default as refresh } from './refresh.js';
|
|
86
90
|
export { default as reset } from './reset.js';
|
|
87
91
|
export { default as ride } from './ride.js';
|
package/icons/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/icons/map.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var map = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18.842 3.605c1.162 0 2.105.943 2.105 2.106v10.831l-8.61-8.61a7.352 7.352 0 00.189-1.664c0-.957-.21-1.863-.621-2.663h6.937zM5.158 21.5a2.106 2.106 0 01-2.106-2.105v-7.516c.8 1.2 1.78 2.474 2.853 3.832l.831 1.052.822-1.052c1.4-1.737 2.631-3.348 3.505-4.832.358-.61.663-1.21.905-1.821l4.284 4.284L8.094 21.5H5.158zm15.789-2.105a2.105 2.105 0 01-2.105 2.105H9.589L17 14.09l3.948 3.947v1.358h-.001zm-14.21-4.21C3.988 11.636 2 8.973 2 6.31 2 3.658 4.105 1.5 6.736 1.5c2.632 0 4.737 2.158 4.737 4.81 0 2.664-1.968 5.327-4.737 8.874l.001.001zM4.63 6.236a2.105 2.105 0 104.21 0 2.105 2.105 0 00-4.21 0z\"/></svg>";
|
|
2
|
+
|
|
3
|
+
export { map as default };
|
|
4
|
+
//# sourceMappingURL=map.js.map
|
package/icons/map.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/icons/map.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M18.842 3.605c1.162 0 2.105.943 2.105 2.106v10.831l-8.61-8.61a7.352 7.352 0 0 0 .189-1.664c0-.957-.21-1.863-.621-2.663h6.937ZM5.158 21.5a2.106 2.106 0 0 1-2.106-2.105v-7.516c.8 1.2 1.78 2.474 2.853 3.832l.831 1.052.822-1.052c1.4-1.737 2.631-3.348 3.505-4.832.358-.61.663-1.21.905-1.821l4.284 4.284L8.094 21.5H5.158Zm15.789-2.105a2.105 2.105 0 0 1-2.105 2.105H9.589L17 14.09l3.948 3.947v1.358h-.001Zm-14.21-4.21C3.988 11.636 2 8.973 2 6.31 2 3.658 4.105 1.5 6.736 1.5c2.632 0 4.737 2.158 4.737 4.81 0 2.664-1.968 5.327-4.737 8.874l.001.001ZM4.63 6.236a2.105 2.105 0 1 0 4.21 0 2.105 2.105 0 0 0-4.21 0Z"/></svg>
|
package/icons/plus.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var plus = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10zM7 11h4V7h2v4h4v2h-4v4h-2v-4H7v-2z\"/></svg>";
|
|
2
|
+
|
|
3
|
+
export { plus as default };
|
|
4
|
+
//# sourceMappingURL=plus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plus.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/icons/plus.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10ZM7 11h4V7h2v4h4v2h-4v4h-2v-4H7v-2Z"/></svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var raceFlag = "<svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 6h2v2H9V6z\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 3a1 1 0 012 0h7.001c.552 0 .999.443.999.999L20 4v10h-7.001A.997.997 0 0112 13H6v9H4V3zm3 3v2h2v2H7v2h2v-2h2v2h2v-2h-2V8h2V6h-2V4H9v2H7zm10 3h2v2h-2V9zm-2 0h2V7h2V5h-2v2h-2V5h-1v2h1v2zm0 2h2v2h-2v-2zm0 0V9h-1v2h1z\"/></svg>";
|
|
2
|
+
|
|
3
|
+
export { raceFlag as default };
|
|
4
|
+
//# sourceMappingURL=race-flag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"race-flag.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9 6h2v2H9V6Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M4 3a1 1 0 0 1 2 0h7.001c.552 0 .999.443.999.999L20 4v10h-7.001A.997.997 0 0 1 12 13H6v9H4V3Zm3 3v2h2v2H7v2h2v-2h2v2h2v-2h-2V8h2V6h-2V4H9v2H7Zm10 3h2v2h-2V9Zm-2 0h2V7h2V5h-2v2h-2V5h-1v2h1v2Zm0 2h2v2h-2v-2Zm0 0V9h-1v2h1Z"/></svg>
|
package/index.js
CHANGED
|
@@ -20,6 +20,7 @@ export { BUNDLED_ICONS, Icon, IconColorsOptions, isIconSource } from './componen
|
|
|
20
20
|
export { default as Modal } from './components/Modal/index.js';
|
|
21
21
|
export { default as ModalOpenerButton } from './components/ModalOpenerButton/index.js';
|
|
22
22
|
export { Note } from './components/Note/index.js';
|
|
23
|
+
export { default as PhotoDropzone } from './components/PhotoDropzone/index.js';
|
|
23
24
|
export { Pill, PillGroup } from './components/Pill/index.js';
|
|
24
25
|
export { PriceTable, PriceTableRow } from './components/PriceTable/index.js';
|
|
25
26
|
export { ProgressBar } from './components/ProgressBar/index.js';
|
|
@@ -30,6 +31,7 @@ export { Chip } from './components/Chip/index.js';
|
|
|
30
31
|
export { Autocomplete } from './components/Form/Autocomplete/index.js';
|
|
31
32
|
export { Checkbox, ChoiceList, Radio } from './components/Form/Checkmark.js';
|
|
32
33
|
export { CheckablePillsGroup, CheckboxPill, RadioPill } from './components/Form/CheckablePill.js';
|
|
34
|
+
export { default as RadioWithDetails } from './components/Form/RadioWithDetails.js';
|
|
33
35
|
export { ComposedField } from './components/Form/ComposedField.js';
|
|
34
36
|
export { withFieldLabelAndHint } from './components/Form/field.js';
|
|
35
37
|
export { Fieldset } from './components/Form/Fieldset.js';
|
|
@@ -56,6 +58,7 @@ export { default as CarDrivyOpenIcon } from './components/Icon/__generated__/Car
|
|
|
56
58
|
export { default as CarGroupIcon } from './components/Icon/__generated__/CarGroupIcon.js';
|
|
57
59
|
export { default as CarIcon } from './components/Icon/__generated__/CarIcon.js';
|
|
58
60
|
export { default as CarLockIcon } from './components/Icon/__generated__/CarLockIcon.js';
|
|
61
|
+
export { default as CarReturnIcon } from './components/Icon/__generated__/CarReturnIcon.js';
|
|
59
62
|
export { default as CarSearchIcon } from './components/Icon/__generated__/CarSearchIcon.js';
|
|
60
63
|
export { default as CarTypeAntiqueIcon } from './components/Icon/__generated__/CarTypeAntiqueIcon.js';
|
|
61
64
|
export { default as CarTypeCabrioletIcon } from './components/Icon/__generated__/CarTypeCabrioletIcon.js';
|
|
@@ -104,6 +107,7 @@ export { default as LocationMapIcon } from './components/Icon/__generated__/Loca
|
|
|
104
107
|
export { default as LocationParkingIcon } from './components/Icon/__generated__/LocationParkingIcon.js';
|
|
105
108
|
export { default as LocationPinIcon } from './components/Icon/__generated__/LocationPinIcon.js';
|
|
106
109
|
export { default as LogoutIcon } from './components/Icon/__generated__/LogoutIcon.js';
|
|
110
|
+
export { default as MapIcon } from './components/Icon/__generated__/MapIcon.js';
|
|
107
111
|
export { default as MeetDriverIcon } from './components/Icon/__generated__/MeetDriverIcon.js';
|
|
108
112
|
export { default as MeetOwnerIcon } from './components/Icon/__generated__/MeetOwnerIcon.js';
|
|
109
113
|
export { default as MenuListIcon } from './components/Icon/__generated__/MenuListIcon.js';
|
|
@@ -127,6 +131,8 @@ export { default as OptionWheelchairAccessibleIcon } from './components/Icon/__g
|
|
|
127
131
|
export { default as PeopleUserIcon } from './components/Icon/__generated__/PeopleUserIcon.js';
|
|
128
132
|
export { default as PhotosIcon } from './components/Icon/__generated__/PhotosIcon.js';
|
|
129
133
|
export { default as PlugIcon } from './components/Icon/__generated__/PlugIcon.js';
|
|
134
|
+
export { default as PlusIcon } from './components/Icon/__generated__/PlusIcon.js';
|
|
135
|
+
export { default as RaceFlagIcon } from './components/Icon/__generated__/RaceFlagIcon.js';
|
|
130
136
|
export { default as RefreshIcon } from './components/Icon/__generated__/RefreshIcon.js';
|
|
131
137
|
export { default as ResetIcon } from './components/Icon/__generated__/ResetIcon.js';
|
|
132
138
|
export { default as RideIcon } from './components/Icon/__generated__/RideIcon.js';
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@drivy/cobalt",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.2",
|
|
4
4
|
"description": "Opinionated design system for Drivy's projects.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"types": "types/index.d.ts",
|
|
@@ -19,74 +19,76 @@
|
|
|
19
19
|
"@juggle/resize-observer": "3.3.1",
|
|
20
20
|
"@reach/accordion": "0.16.1",
|
|
21
21
|
"@reach/alert": "0.16.0",
|
|
22
|
-
"@reach/combobox": "0.16.
|
|
23
|
-
"@reach/dialog": "0.16.
|
|
24
|
-
"@reach/portal": "0.16.
|
|
22
|
+
"@reach/combobox": "0.16.3",
|
|
23
|
+
"@reach/dialog": "0.16.2",
|
|
24
|
+
"@reach/portal": "0.16.2",
|
|
25
25
|
"@reach/slider": "0.16.0",
|
|
26
|
-
"@reach/tabs": "0.16.
|
|
26
|
+
"@reach/tabs": "0.16.4",
|
|
27
27
|
"@reach/visually-hidden": "0.16.0",
|
|
28
|
-
"@react-spring/web": "9.
|
|
29
|
-
"@tippyjs/react": "4.2.
|
|
28
|
+
"@react-spring/web": "9.3.0",
|
|
29
|
+
"@tippyjs/react": "4.2.6",
|
|
30
30
|
"classnames": "2.3.1",
|
|
31
|
-
"date-fns": "2.
|
|
31
|
+
"date-fns": "2.27.0",
|
|
32
32
|
"lodash.throttle": "4.1.1",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
33
|
+
"media-typer": "1.1.0",
|
|
34
|
+
"nanoid": "3.1.30",
|
|
35
|
+
"postcss": "8.4.5",
|
|
36
|
+
"tailwindcss": "2.2.19",
|
|
37
|
+
"tippy.js": "6.3.7"
|
|
37
38
|
},
|
|
38
39
|
"peerDependencies": {
|
|
39
40
|
"react": "^17.0.2",
|
|
40
41
|
"react-dom": "^17.0.2"
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|
|
43
|
-
"@drivy/babel-preset-app": "0.4.
|
|
44
|
-
"@drivy/eslint-config": "1.
|
|
44
|
+
"@drivy/babel-preset-app": "0.4.10",
|
|
45
|
+
"@drivy/eslint-config": "1.6.2",
|
|
45
46
|
"@drivy/prettier-config": "1.1.3",
|
|
46
|
-
"@drivy/stylelint-config": "1.
|
|
47
|
+
"@drivy/stylelint-config": "1.1.4",
|
|
47
48
|
"@drivy/ts-config": "1.1.3",
|
|
48
49
|
"@percy/storybook": "3.3.1",
|
|
49
50
|
"@rollup/plugin-json": "4.1.0",
|
|
50
|
-
"@rushstack/eslint-patch": "1.0
|
|
51
|
-
"@storybook/addon-essentials": "6.
|
|
52
|
-
"@storybook/addons": "6.
|
|
53
|
-
"@storybook/builder-webpack5": "6.4.
|
|
54
|
-
"@storybook/manager-webpack5": "6.4.
|
|
55
|
-
"@storybook/react": "6.
|
|
51
|
+
"@rushstack/eslint-patch": "1.1.0",
|
|
52
|
+
"@storybook/addon-essentials": "6.4.13",
|
|
53
|
+
"@storybook/addons": "6.4.13",
|
|
54
|
+
"@storybook/builder-webpack5": "6.4.13",
|
|
55
|
+
"@storybook/manager-webpack5": "6.4.13",
|
|
56
|
+
"@storybook/react": "6.4.13",
|
|
56
57
|
"@svgr/cli": "5.5.0",
|
|
57
|
-
"@testing-library/jest-dom": "5.
|
|
58
|
+
"@testing-library/jest-dom": "5.16.1",
|
|
58
59
|
"@testing-library/react": "12.1.2",
|
|
59
60
|
"@testing-library/react-hooks": "7.0.2",
|
|
60
61
|
"@types/classnames": "2.3.0",
|
|
61
|
-
"@types/jest": "27.0.
|
|
62
|
+
"@types/jest": "27.0.3",
|
|
62
63
|
"@types/lodash.throttle": "4.1.6",
|
|
63
|
-
"@types/
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
64
|
+
"@types/media-typer": "1.1.1",
|
|
65
|
+
"@types/react": "17.0.38",
|
|
66
|
+
"autoprefixer": "10.4.0",
|
|
67
|
+
"core-js": "3.20.1",
|
|
68
|
+
"css-loader": "6.5.1",
|
|
69
|
+
"eslint": "8.5.0",
|
|
70
|
+
"jest": "27.4.5",
|
|
71
|
+
"np": "7.6.0",
|
|
70
72
|
"postcss-flexbugs-fixes": "5.0.2",
|
|
71
|
-
"postcss-loader": "6.
|
|
72
|
-
"prettier": "2.
|
|
73
|
+
"postcss-loader": "6.2.1",
|
|
74
|
+
"prettier": "2.5.1",
|
|
73
75
|
"raw-loader": "4.0.2",
|
|
74
76
|
"react": "17.0.2",
|
|
75
77
|
"react-dom": "17.0.2",
|
|
76
78
|
"react-test-renderer": "17.0.2",
|
|
77
79
|
"regenerator-runtime": "0.13.9",
|
|
78
|
-
"rollup": "2.
|
|
80
|
+
"rollup": "2.61.1",
|
|
79
81
|
"rollup-plugin-copy": "3.4.0",
|
|
80
|
-
"rollup-plugin-postcss": "4.0.
|
|
82
|
+
"rollup-plugin-postcss": "4.0.2",
|
|
81
83
|
"rollup-plugin-svgo": "1.1.0",
|
|
82
|
-
"rollup-plugin-typescript2": "0.
|
|
83
|
-
"sass": "1.
|
|
84
|
-
"sass-loader": "12.
|
|
85
|
-
"style-loader": "3.3.
|
|
86
|
-
"stylelint": "
|
|
87
|
-
"svgo": "2.
|
|
88
|
-
"ts-jest": "27.
|
|
89
|
-
"typescript": "4.4
|
|
84
|
+
"rollup-plugin-typescript2": "0.31.1",
|
|
85
|
+
"sass": "1.49.0",
|
|
86
|
+
"sass-loader": "12.4.0",
|
|
87
|
+
"style-loader": "3.3.1",
|
|
88
|
+
"stylelint": "14.2.0",
|
|
89
|
+
"svgo": "2.8.0",
|
|
90
|
+
"ts-jest": "27.1.3",
|
|
91
|
+
"typescript": "4.5.4"
|
|
90
92
|
},
|
|
91
93
|
"scripts": {
|
|
92
94
|
"build": "./scripts/build.sh",
|
|
@@ -130,6 +132,6 @@
|
|
|
130
132
|
"access": "public"
|
|
131
133
|
},
|
|
132
134
|
"resolutions": {
|
|
133
|
-
"@types/react": "17.0.
|
|
135
|
+
"@types/react": "17.0.38"
|
|
134
136
|
}
|
|
135
137
|
}
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
|
|
69
69
|
text-align: center;
|
|
70
70
|
font-weight: 600;
|
|
71
|
-
text-transform:
|
|
71
|
+
text-transform: capitalize;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
&__month-header.cobalt-text-titleSmall {
|
|
@@ -95,6 +95,7 @@
|
|
|
95
95
|
flex: 1;
|
|
96
96
|
|
|
97
97
|
text-align: center;
|
|
98
|
+
text-transform: capitalize;
|
|
98
99
|
color: color(grey, dark);
|
|
99
100
|
font-weight: 400;
|
|
100
101
|
font-size: 14px;
|