@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.
Files changed (319) hide show
  1. package/_virtual/_tslib.js +39 -1
  2. package/_virtual/_tslib.js.map +1 -1
  3. package/cjs/tokens/icons.js +4 -0
  4. package/cjs/tokens/icons.js.map +1 -1
  5. package/components/Accordion/index.js +1 -1
  6. package/components/Accordion/index.js.map +1 -1
  7. package/components/Calendar/CalendarRangePicker/CalendarRangePickerMonth.js +1 -1
  8. package/components/Calendar/CalendarRangePicker/CalendarRangePickerMonth.js.map +1 -1
  9. package/components/Calendar/CalendarView/CalendarViewMonth.js +1 -1
  10. package/components/Calendar/CalendarView/CalendarViewMonth.js.map +1 -1
  11. package/components/Chip/index.js +1 -1
  12. package/components/Chip/index.js.map +1 -1
  13. package/components/Flag/index.js +1 -1
  14. package/components/Flag/index.js.map +1 -1
  15. package/components/Form/RadioWithDetails.js +21 -0
  16. package/components/Form/RadioWithDetails.js.map +1 -0
  17. package/components/Form/TextArea.js +7 -5
  18. package/components/Form/TextArea.js.map +1 -1
  19. package/components/Form/field.js +3 -3
  20. package/components/Form/field.js.map +1 -1
  21. package/components/Icon/__generated__/AirportIcon.js +2 -2
  22. package/components/Icon/__generated__/AirportIcon.js.map +1 -1
  23. package/components/Icon/__generated__/ArrowLeftIcon.js +2 -2
  24. package/components/Icon/__generated__/ArrowLeftIcon.js.map +1 -1
  25. package/components/Icon/__generated__/ArrowRightIcon.js +2 -2
  26. package/components/Icon/__generated__/ArrowRightIcon.js.map +1 -1
  27. package/components/Icon/__generated__/BinIcon.js +2 -2
  28. package/components/Icon/__generated__/BinIcon.js.map +1 -1
  29. package/components/Icon/__generated__/BriefcaseIcon.js +2 -2
  30. package/components/Icon/__generated__/BriefcaseIcon.js.map +1 -1
  31. package/components/Icon/__generated__/BulbIcon.js +3 -3
  32. package/components/Icon/__generated__/BulbIcon.js.map +1 -1
  33. package/components/Icon/__generated__/CameraIcon.js +2 -2
  34. package/components/Icon/__generated__/CameraIcon.js.map +1 -1
  35. package/components/Icon/__generated__/CarCheckIcon.js +2 -2
  36. package/components/Icon/__generated__/CarCheckIcon.js.map +1 -1
  37. package/components/Icon/__generated__/CarDrivyOpenIcon.js +2 -2
  38. package/components/Icon/__generated__/CarDrivyOpenIcon.js.map +1 -1
  39. package/components/Icon/__generated__/CarGroupIcon.js +2 -2
  40. package/components/Icon/__generated__/CarGroupIcon.js.map +1 -1
  41. package/components/Icon/__generated__/CarIcon.js +2 -2
  42. package/components/Icon/__generated__/CarIcon.js.map +1 -1
  43. package/components/Icon/__generated__/CarLockIcon.js +2 -2
  44. package/components/Icon/__generated__/CarLockIcon.js.map +1 -1
  45. package/components/Icon/__generated__/CarReturnIcon.js +24 -0
  46. package/components/Icon/__generated__/CarReturnIcon.js.map +1 -0
  47. package/components/Icon/__generated__/CarSearchIcon.js +2 -2
  48. package/components/Icon/__generated__/CarSearchIcon.js.map +1 -1
  49. package/components/Icon/__generated__/CarTypeAntiqueIcon.js +2 -2
  50. package/components/Icon/__generated__/CarTypeAntiqueIcon.js.map +1 -1
  51. package/components/Icon/__generated__/CarTypeCabrioletIcon.js +2 -2
  52. package/components/Icon/__generated__/CarTypeCabrioletIcon.js.map +1 -1
  53. package/components/Icon/__generated__/CarTypeCampervanIcon.js +2 -2
  54. package/components/Icon/__generated__/CarTypeCampervanIcon.js.map +1 -1
  55. package/components/Icon/__generated__/CarTypeCityIcon.js +2 -2
  56. package/components/Icon/__generated__/CarTypeCityIcon.js.map +1 -1
  57. package/components/Icon/__generated__/CarTypeConvertibleIcon.js +2 -2
  58. package/components/Icon/__generated__/CarTypeConvertibleIcon.js.map +1 -1
  59. package/components/Icon/__generated__/CarTypeCoupeIcon.js +2 -2
  60. package/components/Icon/__generated__/CarTypeCoupeIcon.js.map +1 -1
  61. package/components/Icon/__generated__/CarTypeFamilyIcon.js +2 -2
  62. package/components/Icon/__generated__/CarTypeFamilyIcon.js.map +1 -1
  63. package/components/Icon/__generated__/CarTypeFourFourIcon.js +2 -2
  64. package/components/Icon/__generated__/CarTypeFourFourIcon.js.map +1 -1
  65. package/components/Icon/__generated__/CarTypeMinibusIcon.js +2 -2
  66. package/components/Icon/__generated__/CarTypeMinibusIcon.js.map +1 -1
  67. package/components/Icon/__generated__/CarTypeSedanIcon.js +2 -2
  68. package/components/Icon/__generated__/CarTypeSedanIcon.js.map +1 -1
  69. package/components/Icon/__generated__/CarTypeUtilityIcon.js +2 -2
  70. package/components/Icon/__generated__/CarTypeUtilityIcon.js.map +1 -1
  71. package/components/Icon/__generated__/CheckCircleIcon.js +2 -2
  72. package/components/Icon/__generated__/CheckCircleIcon.js.map +1 -1
  73. package/components/Icon/__generated__/CheckIcon.js +2 -2
  74. package/components/Icon/__generated__/CheckIcon.js.map +1 -1
  75. package/components/Icon/__generated__/ChevronDownIcon.js +2 -2
  76. package/components/Icon/__generated__/ChevronDownIcon.js.map +1 -1
  77. package/components/Icon/__generated__/ChevronLeftIcon.js +2 -2
  78. package/components/Icon/__generated__/ChevronLeftIcon.js.map +1 -1
  79. package/components/Icon/__generated__/ChevronRightIcon.js +2 -2
  80. package/components/Icon/__generated__/ChevronRightIcon.js.map +1 -1
  81. package/components/Icon/__generated__/ChevronUpIcon.js +2 -2
  82. package/components/Icon/__generated__/ChevronUpIcon.js.map +1 -1
  83. package/components/Icon/__generated__/CloseIcon.js +2 -2
  84. package/components/Icon/__generated__/CloseIcon.js.map +1 -1
  85. package/components/Icon/__generated__/ContactMailIcon.js +2 -2
  86. package/components/Icon/__generated__/ContactMailIcon.js.map +1 -1
  87. package/components/Icon/__generated__/ContactPhoneIcon.js +2 -2
  88. package/components/Icon/__generated__/ContactPhoneIcon.js.map +1 -1
  89. package/components/Icon/__generated__/ContextualPaperclipIcon.js +2 -2
  90. package/components/Icon/__generated__/ContextualPaperclipIcon.js.map +1 -1
  91. package/components/Icon/__generated__/ContextualQuestionIcon.js +2 -2
  92. package/components/Icon/__generated__/ContextualQuestionIcon.js.map +1 -1
  93. package/components/Icon/__generated__/ContextualWarningCircleFilledIcon.js +2 -2
  94. package/components/Icon/__generated__/ContextualWarningCircleFilledIcon.js.map +1 -1
  95. package/components/Icon/__generated__/ContextualWarningCircleIcon.js +2 -2
  96. package/components/Icon/__generated__/ContextualWarningCircleIcon.js.map +1 -1
  97. package/components/Icon/__generated__/CreditCardIcon.js +2 -2
  98. package/components/Icon/__generated__/CreditCardIcon.js.map +1 -1
  99. package/components/Icon/__generated__/DirectionsIcon.js +2 -2
  100. package/components/Icon/__generated__/DirectionsIcon.js.map +1 -1
  101. package/components/Icon/__generated__/DotsHorizontalIcon.js +2 -2
  102. package/components/Icon/__generated__/DotsHorizontalIcon.js.map +1 -1
  103. package/components/Icon/__generated__/DotsVerticalIcon.js +2 -2
  104. package/components/Icon/__generated__/DotsVerticalIcon.js.map +1 -1
  105. package/components/Icon/__generated__/DownloadIcon.js +2 -2
  106. package/components/Icon/__generated__/DownloadIcon.js.map +1 -1
  107. package/components/Icon/__generated__/EarthIcon.js +2 -2
  108. package/components/Icon/__generated__/EarthIcon.js.map +1 -1
  109. package/components/Icon/__generated__/EditIcon.js +2 -2
  110. package/components/Icon/__generated__/EditIcon.js.map +1 -1
  111. package/components/Icon/__generated__/ExternalLinkIcon.js +2 -2
  112. package/components/Icon/__generated__/ExternalLinkIcon.js.map +1 -1
  113. package/components/Icon/__generated__/EyeIcon.js +2 -2
  114. package/components/Icon/__generated__/EyeIcon.js.map +1 -1
  115. package/components/Icon/__generated__/FiltersIcon.js +2 -2
  116. package/components/Icon/__generated__/FiltersIcon.js.map +1 -1
  117. package/components/Icon/__generated__/FlagIcon.js +2 -2
  118. package/components/Icon/__generated__/FlagIcon.js.map +1 -1
  119. package/components/Icon/__generated__/GeolocationIcon.js +2 -2
  120. package/components/Icon/__generated__/GeolocationIcon.js.map +1 -1
  121. package/components/Icon/__generated__/GraphUpIcon.js +2 -2
  122. package/components/Icon/__generated__/GraphUpIcon.js.map +1 -1
  123. package/components/Icon/__generated__/IncidentIcon.js +2 -2
  124. package/components/Icon/__generated__/IncidentIcon.js.map +1 -1
  125. package/components/Icon/__generated__/InfoFilledIcon.js +2 -2
  126. package/components/Icon/__generated__/InfoFilledIcon.js.map +1 -1
  127. package/components/Icon/__generated__/InfoIcon.js +2 -2
  128. package/components/Icon/__generated__/InfoIcon.js.map +1 -1
  129. package/components/Icon/__generated__/InstantIcon.js +2 -2
  130. package/components/Icon/__generated__/InstantIcon.js.map +1 -1
  131. package/components/Icon/__generated__/KeyIcon.js +2 -2
  132. package/components/Icon/__generated__/KeyIcon.js.map +1 -1
  133. package/components/Icon/__generated__/LoadingIcon.js +2 -2
  134. package/components/Icon/__generated__/LoadingIcon.js.map +1 -1
  135. package/components/Icon/__generated__/LocalityIcon.js +2 -2
  136. package/components/Icon/__generated__/LocalityIcon.js.map +1 -1
  137. package/components/Icon/__generated__/LocationMapIcon.js +2 -2
  138. package/components/Icon/__generated__/LocationMapIcon.js.map +1 -1
  139. package/components/Icon/__generated__/LocationParkingIcon.js +2 -2
  140. package/components/Icon/__generated__/LocationParkingIcon.js.map +1 -1
  141. package/components/Icon/__generated__/LocationPinIcon.js +2 -2
  142. package/components/Icon/__generated__/LocationPinIcon.js.map +1 -1
  143. package/components/Icon/__generated__/LogoutIcon.js +2 -2
  144. package/components/Icon/__generated__/LogoutIcon.js.map +1 -1
  145. package/components/Icon/__generated__/MapIcon.js +23 -0
  146. package/components/Icon/__generated__/MapIcon.js.map +1 -0
  147. package/components/Icon/__generated__/MeetDriverIcon.js +2 -2
  148. package/components/Icon/__generated__/MeetDriverIcon.js.map +1 -1
  149. package/components/Icon/__generated__/MeetOwnerIcon.js +2 -2
  150. package/components/Icon/__generated__/MeetOwnerIcon.js.map +1 -1
  151. package/components/Icon/__generated__/MenuListIcon.js +2 -2
  152. package/components/Icon/__generated__/MenuListIcon.js.map +1 -1
  153. package/components/Icon/__generated__/MileageIcon.js +2 -2
  154. package/components/Icon/__generated__/MileageIcon.js.map +1 -1
  155. package/components/Icon/__generated__/MiscGiftIcon.js +2 -2
  156. package/components/Icon/__generated__/MiscGiftIcon.js.map +1 -1
  157. package/components/Icon/__generated__/NotificationIcon.js +2 -2
  158. package/components/Icon/__generated__/NotificationIcon.js.map +1 -1
  159. package/components/Icon/__generated__/OptionAirConditioningIcon.js +2 -2
  160. package/components/Icon/__generated__/OptionAirConditioningIcon.js.map +1 -1
  161. package/components/Icon/__generated__/OptionAudioInputIcon.js +2 -2
  162. package/components/Icon/__generated__/OptionAudioInputIcon.js.map +1 -1
  163. package/components/Icon/__generated__/OptionBabySeatIcon.js +2 -2
  164. package/components/Icon/__generated__/OptionBabySeatIcon.js.map +1 -1
  165. package/components/Icon/__generated__/OptionBikeRackIcon.js +2 -2
  166. package/components/Icon/__generated__/OptionBikeRackIcon.js.map +1 -1
  167. package/components/Icon/__generated__/OptionCdPlayerIcon.js +2 -2
  168. package/components/Icon/__generated__/OptionCdPlayerIcon.js.map +1 -1
  169. package/components/Icon/__generated__/OptionChainsIcon.js +2 -2
  170. package/components/Icon/__generated__/OptionChainsIcon.js.map +1 -1
  171. package/components/Icon/__generated__/OptionCruiseControlIcon.js +2 -2
  172. package/components/Icon/__generated__/OptionCruiseControlIcon.js.map +1 -1
  173. package/components/Icon/__generated__/OptionGpsIcon.js +2 -2
  174. package/components/Icon/__generated__/OptionGpsIcon.js.map +1 -1
  175. package/components/Icon/__generated__/OptionHasTrailerIcon.js +2 -2
  176. package/components/Icon/__generated__/OptionHasTrailerIcon.js.map +1 -1
  177. package/components/Icon/__generated__/OptionHitchIcon.js +2 -2
  178. package/components/Icon/__generated__/OptionHitchIcon.js.map +1 -1
  179. package/components/Icon/__generated__/OptionRoofBoxIcon.js +2 -2
  180. package/components/Icon/__generated__/OptionRoofBoxIcon.js.map +1 -1
  181. package/components/Icon/__generated__/OptionSkiRackIcon.js +2 -2
  182. package/components/Icon/__generated__/OptionSkiRackIcon.js.map +1 -1
  183. package/components/Icon/__generated__/OptionSnowTireIcon.js +2 -2
  184. package/components/Icon/__generated__/OptionSnowTireIcon.js.map +1 -1
  185. package/components/Icon/__generated__/OptionWheelchairAccessibleIcon.js +2 -2
  186. package/components/Icon/__generated__/OptionWheelchairAccessibleIcon.js.map +1 -1
  187. package/components/Icon/__generated__/PeopleUserIcon.js +2 -2
  188. package/components/Icon/__generated__/PeopleUserIcon.js.map +1 -1
  189. package/components/Icon/__generated__/PhotosIcon.js +2 -2
  190. package/components/Icon/__generated__/PhotosIcon.js.map +1 -1
  191. package/components/Icon/__generated__/PlugIcon.js +2 -2
  192. package/components/Icon/__generated__/PlugIcon.js.map +1 -1
  193. package/components/Icon/__generated__/PlusIcon.js +23 -0
  194. package/components/Icon/__generated__/PlusIcon.js.map +1 -0
  195. package/components/Icon/__generated__/RaceFlagIcon.js +24 -0
  196. package/components/Icon/__generated__/RaceFlagIcon.js.map +1 -0
  197. package/components/Icon/__generated__/RefreshIcon.js +2 -2
  198. package/components/Icon/__generated__/RefreshIcon.js.map +1 -1
  199. package/components/Icon/__generated__/ResetIcon.js +2 -2
  200. package/components/Icon/__generated__/ResetIcon.js.map +1 -1
  201. package/components/Icon/__generated__/RideIcon.js +2 -2
  202. package/components/Icon/__generated__/RideIcon.js.map +1 -1
  203. package/components/Icon/__generated__/SearchIcon.js +2 -2
  204. package/components/Icon/__generated__/SearchIcon.js.map +1 -1
  205. package/components/Icon/__generated__/ServiceBatteryIcon.js +2 -2
  206. package/components/Icon/__generated__/ServiceBatteryIcon.js.map +1 -1
  207. package/components/Icon/__generated__/ServiceCleaningIcon.js +2 -2
  208. package/components/Icon/__generated__/ServiceCleaningIcon.js.map +1 -1
  209. package/components/Icon/__generated__/ServiceFuelIcon.js +2 -2
  210. package/components/Icon/__generated__/ServiceFuelIcon.js.map +1 -1
  211. package/components/Icon/__generated__/ServiceHealingIcon.js +2 -2
  212. package/components/Icon/__generated__/ServiceHealingIcon.js.map +1 -1
  213. package/components/Icon/__generated__/ServiceLockedIcon.js +2 -2
  214. package/components/Icon/__generated__/ServiceLockedIcon.js.map +1 -1
  215. package/components/Icon/__generated__/ServiceTollsIcon.js +2 -2
  216. package/components/Icon/__generated__/ServiceTollsIcon.js.map +1 -1
  217. package/components/Icon/__generated__/ServiceUnlockedIcon.js +2 -2
  218. package/components/Icon/__generated__/ServiceUnlockedIcon.js.map +1 -1
  219. package/components/Icon/__generated__/SettingsIcon.js +2 -2
  220. package/components/Icon/__generated__/SettingsIcon.js.map +1 -1
  221. package/components/Icon/__generated__/ShareIcon.js +2 -2
  222. package/components/Icon/__generated__/ShareIcon.js.map +1 -1
  223. package/components/Icon/__generated__/ShopIcon.js +2 -2
  224. package/components/Icon/__generated__/ShopIcon.js.map +1 -1
  225. package/components/Icon/__generated__/SocialFacebookIcon.js +2 -2
  226. package/components/Icon/__generated__/SocialFacebookIcon.js.map +1 -1
  227. package/components/Icon/__generated__/SocialLinkedinIcon.js +2 -2
  228. package/components/Icon/__generated__/SocialLinkedinIcon.js.map +1 -1
  229. package/components/Icon/__generated__/SocialTwitterIcon.js +2 -2
  230. package/components/Icon/__generated__/SocialTwitterIcon.js.map +1 -1
  231. package/components/Icon/__generated__/SocialWhatsappIcon.js +2 -2
  232. package/components/Icon/__generated__/SocialWhatsappIcon.js.map +1 -1
  233. package/components/Icon/__generated__/StarIcon.js +2 -2
  234. package/components/Icon/__generated__/StarIcon.js.map +1 -1
  235. package/components/Icon/__generated__/SubwayIcon.js +2 -2
  236. package/components/Icon/__generated__/SubwayIcon.js.map +1 -1
  237. package/components/Icon/__generated__/TimeAlertIcon.js +2 -2
  238. package/components/Icon/__generated__/TimeAlertIcon.js.map +1 -1
  239. package/components/Icon/__generated__/TimeBackwardsIcon.js +2 -2
  240. package/components/Icon/__generated__/TimeBackwardsIcon.js.map +1 -1
  241. package/components/Icon/__generated__/TimeCalendarIcon.js +2 -2
  242. package/components/Icon/__generated__/TimeCalendarIcon.js.map +1 -1
  243. package/components/Icon/__generated__/TimeForwardIcon.js +2 -2
  244. package/components/Icon/__generated__/TimeForwardIcon.js.map +1 -1
  245. package/components/Icon/__generated__/TrainIcon.js +2 -2
  246. package/components/Icon/__generated__/TrainIcon.js.map +1 -1
  247. package/components/Icon/__generated__/UserShieldIcon.js +2 -2
  248. package/components/Icon/__generated__/UserShieldIcon.js.map +1 -1
  249. package/components/Icon/__generated__/VerifiedSealIcon.js +2 -2
  250. package/components/Icon/__generated__/VerifiedSealIcon.js.map +1 -1
  251. package/components/Icon/__generated__/WrenchIcon.js +2 -2
  252. package/components/Icon/__generated__/WrenchIcon.js.map +1 -1
  253. package/components/Icon/index.js +3 -3
  254. package/components/Icon/index.js.map +1 -1
  255. package/components/Modal/index.js +3 -3
  256. package/components/Modal/index.js.map +1 -1
  257. package/components/PhotoDropzone/index.js +189 -0
  258. package/components/PhotoDropzone/index.js.map +1 -0
  259. package/components/Popover/index.js +1 -1
  260. package/components/Popover/index.js.map +1 -1
  261. package/components/ProgressBar/index.js +1 -1
  262. package/components/ProgressBar/index.js.map +1 -1
  263. package/components/utils/validateFile.js +99 -0
  264. package/components/utils/validateFile.js.map +1 -0
  265. package/hooks/useBreakpoint.js +3 -3
  266. package/hooks/useBreakpoint.js.map +1 -1
  267. package/icons/car-return.js +4 -0
  268. package/icons/car-return.js.map +1 -0
  269. package/icons/car-return.svg +1 -0
  270. package/icons/index.js +4 -0
  271. package/icons/index.js.map +1 -1
  272. package/icons/map.js +4 -0
  273. package/icons/map.js.map +1 -0
  274. package/icons/map.svg +1 -0
  275. package/icons/plus.js +4 -0
  276. package/icons/plus.js.map +1 -0
  277. package/icons/plus.svg +1 -0
  278. package/icons/race-flag.js +4 -0
  279. package/icons/race-flag.js.map +1 -0
  280. package/icons/race-flag.svg +1 -0
  281. package/index.js +6 -0
  282. package/index.js.map +1 -1
  283. package/package.json +45 -43
  284. package/styles/components/Calendar/CalendarRangePicker/index.scss +2 -1
  285. package/styles/components/Form/RadioWithDetails.scss +143 -0
  286. package/styles/components/Form/index.scss +1 -0
  287. package/styles/components/Modal/index.scss +2 -0
  288. package/styles/components/PhotoDropzone/index.scss +112 -0
  289. package/styles/components.scss +1 -0
  290. package/styles/core/border-radius.scss +1 -0
  291. package/tokens/icons.js +4 -0
  292. package/tokens/icons.js.map +1 -1
  293. package/types/components/Button/index.d.ts +8 -8
  294. package/types/components/Buttons/BrandButton/index.d.ts +2 -2
  295. package/types/components/Buttons/DefaultButton/index.d.ts +2 -2
  296. package/types/components/Buttons/GhostButton/index.d.ts +2 -2
  297. package/types/components/Form/Autocomplete/index.d.ts +3 -2
  298. package/types/components/Form/CheckablePill.d.ts +1 -0
  299. package/types/components/Form/Checkmark.d.ts +1 -0
  300. package/types/components/Form/ComposedField.d.ts +1 -0
  301. package/types/components/Form/RadioWithDetails.d.ts +10 -0
  302. package/types/components/Form/Select.d.ts +1 -0
  303. package/types/components/Form/Slider.d.ts +4 -1
  304. package/types/components/Form/Stepper.d.ts +1 -0
  305. package/types/components/Form/TextArea.d.ts +5 -0
  306. package/types/components/Form/TextInput.d.ts +4 -3
  307. package/types/components/Form/field.d.ts +2 -0
  308. package/types/components/Icon/__generated__/CarReturnIcon.d.ts +10 -0
  309. package/types/components/Icon/__generated__/MapIcon.d.ts +10 -0
  310. package/types/components/Icon/__generated__/PlusIcon.d.ts +10 -0
  311. package/types/components/Icon/__generated__/RaceFlagIcon.d.ts +10 -0
  312. package/types/components/Icon/__generated__/index.d.ts +4 -0
  313. package/types/components/Icon/index.d.ts +1 -1
  314. package/types/components/PhotoDropzone/index.d.ts +12 -0
  315. package/types/components/utils/validateFile.d.ts +1 -0
  316. package/types/icons/index.d.ts +4 -0
  317. package/types/index.d.ts +2 -0
  318. package/types/tokens/index.d.ts +4 -0
  319. 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 + " " + theme, offset: [0, distance] }, { arrow: arrow, placement: placement, zIndex: zIndex }, { onHidden: onTippyClose, onShow: onTippyOpen, onClickOutside: close })));
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":"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"}
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,EAAK,QAAQ,MAAG,EAAE,GAChC;YACD,IAAI,IAAI,6BAAK,SAAS,EAAC,0BAA0B,GAAG,CACjD,CACF;AAhCgB;;;;"}
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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"}
@@ -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: " + (breakpoint.value - 1) + "px)"];
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: " + breakpointsArray[index - 1].value + "px) and (max-width: " + (breakpoint.value - 1) + "px)",
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: " + breakpointsArray[breakpointsArray.length - 1].value + "px)",
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,kBAAe,UAAU,CAAC,KAAK,GAAG,CAAC,SAAK,CAAC,CAAA;KACnE;SAAM;QACL,OAAO;YACL,UAAU,CAAC,IAAI;YACf,iBAAe,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,6BAC9C,UAAU,CAAC,KAAK,GAAG,CAAC,SACjB;SACN,CAAA;KACF;AACH,CAAC,EAAC;AAEJ;AACA,iBAAiB,CAAC,IAAI,CAAC;IACrB,MAAM;IACN,iBAAe,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;;;;"}
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":"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"}
@@ -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';
@@ -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
@@ -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.13.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.1",
23
- "@reach/dialog": "0.16.0",
24
- "@reach/portal": "0.16.0",
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.1",
26
+ "@reach/tabs": "0.16.4",
27
27
  "@reach/visually-hidden": "0.16.0",
28
- "@react-spring/web": "9.2.5",
29
- "@tippyjs/react": "4.2.5",
28
+ "@react-spring/web": "9.3.0",
29
+ "@tippyjs/react": "4.2.6",
30
30
  "classnames": "2.3.1",
31
- "date-fns": "2.24.0",
31
+ "date-fns": "2.27.0",
32
32
  "lodash.throttle": "4.1.1",
33
- "nanoid": "3.1.28",
34
- "postcss": "8.3.9",
35
- "tailwindcss": "2.2.16",
36
- "tippy.js": "6.3.2"
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.6",
44
- "@drivy/eslint-config": "1.5.5",
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.0.13",
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.7",
51
- "@storybook/addon-essentials": "6.3.8",
52
- "@storybook/addons": "6.3.8",
53
- "@storybook/builder-webpack5": "6.4.0-alpha.33",
54
- "@storybook/manager-webpack5": "6.4.0-alpha.33",
55
- "@storybook/react": "6.3.8",
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.14.1",
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.2",
62
+ "@types/jest": "27.0.3",
62
63
  "@types/lodash.throttle": "4.1.6",
63
- "@types/react": "17.0.27",
64
- "autoprefixer": "10.3.7",
65
- "core-js": "3.18.1",
66
- "css-loader": "6.3.0",
67
- "eslint": "7.32.0",
68
- "jest": "27.2.4",
69
- "np": "7.5.0",
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.1.1",
72
- "prettier": "2.4.1",
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.58.0",
80
+ "rollup": "2.61.1",
79
81
  "rollup-plugin-copy": "3.4.0",
80
- "rollup-plugin-postcss": "4.0.1",
82
+ "rollup-plugin-postcss": "4.0.2",
81
83
  "rollup-plugin-svgo": "1.1.0",
82
- "rollup-plugin-typescript2": "0.30.0",
83
- "sass": "1.42.1",
84
- "sass-loader": "12.1.0",
85
- "style-loader": "3.3.0",
86
- "stylelint": "13.13.1",
87
- "svgo": "2.7.0",
88
- "ts-jest": "27.0.5",
89
- "typescript": "4.4.3"
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.27"
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: lowercase;
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;