@drivy/cobalt 0.14.7 → 0.14.10

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 (223) hide show
  1. package/cjs/tokens/icons.js +2 -0
  2. package/cjs/tokens/icons.js.map +1 -1
  3. package/cjs/tokens/index.js.map +1 -1
  4. package/components/Accordion/ToggleIcon.js.map +1 -1
  5. package/components/Accordion/index.js.map +1 -1
  6. package/components/Alerter/Alert.js.map +1 -1
  7. package/components/Alerter/index.js.map +1 -1
  8. package/components/BasicCell/index.js.map +1 -1
  9. package/components/BulletList/index.js.map +1 -1
  10. package/components/Button/Button.js.map +1 -1
  11. package/components/Button/Link.js.map +1 -1
  12. package/components/Button/index.js.map +1 -1
  13. package/components/Buttons/BrandButton/index.js.map +1 -1
  14. package/components/Buttons/ButtonComponent.js.map +1 -1
  15. package/components/Buttons/ButtonsGroup.js.map +1 -1
  16. package/components/Buttons/DefaultButton/index.js.map +1 -1
  17. package/components/Buttons/GhostButton/index.js.map +1 -1
  18. package/components/Buttons/InversedButton/index.js.map +1 -1
  19. package/components/Buttons/helpers.js.map +1 -1
  20. package/components/Calendar/CalendarRangePicker/CalendarRangePicker.js.map +1 -1
  21. package/components/Calendar/CalendarRangePicker/CalendarRangePickerDay.js.map +1 -1
  22. package/components/Calendar/CalendarRangePicker/CalendarRangePickerMonth.js.map +1 -1
  23. package/components/Calendar/CalendarView/CalendarViewMonth.js.map +1 -1
  24. package/components/Calendar/CalendarView/index.js.map +1 -1
  25. package/components/Callout/index.js.map +1 -1
  26. package/components/Card/index.js.map +1 -1
  27. package/components/CdwChoice/index.js.map +1 -1
  28. package/components/Cell/index.js.map +1 -1
  29. package/components/Chip/index.js.map +1 -1
  30. package/components/EmptyState/index.js.map +1 -1
  31. package/components/Flag/index.js.map +1 -1
  32. package/components/Flash/index.js.map +1 -1
  33. package/components/Form/Autocomplete/index.js.map +1 -1
  34. package/components/Form/CheckablePill.js.map +1 -1
  35. package/components/Form/Checkmark.js.map +1 -1
  36. package/components/Form/ComposedField.js.map +1 -1
  37. package/components/Form/Fieldset.js.map +1 -1
  38. package/components/Form/Hint.js.map +1 -1
  39. package/components/Form/RadioWithDetails.js.map +1 -1
  40. package/components/Form/Select.js.map +1 -1
  41. package/components/Form/Slider.js.map +1 -1
  42. package/components/Form/Stepper.js.map +1 -1
  43. package/components/Form/TextArea.js.map +1 -1
  44. package/components/Form/TextInput.js.map +1 -1
  45. package/components/Form/ToggleSwitch.js.map +1 -1
  46. package/components/Form/field.js.map +1 -1
  47. package/components/Helper/index.js.map +1 -1
  48. package/components/HorizontalList/index.js.map +1 -1
  49. package/components/Icon/__generated__/AirportIcon.js.map +1 -1
  50. package/components/Icon/__generated__/ArrowLeftIcon.js.map +1 -1
  51. package/components/Icon/__generated__/ArrowRightIcon.js.map +1 -1
  52. package/components/Icon/__generated__/BinIcon.js.map +1 -1
  53. package/components/Icon/__generated__/BriefcaseIcon.js.map +1 -1
  54. package/components/Icon/__generated__/BulbIcon.js.map +1 -1
  55. package/components/Icon/__generated__/CameraIcon.js.map +1 -1
  56. package/components/Icon/__generated__/CarAddIcon.js.map +1 -1
  57. package/components/Icon/__generated__/CarCheckIcon.js.map +1 -1
  58. package/components/Icon/__generated__/CarDrivyOpenIcon.js.map +1 -1
  59. package/components/Icon/__generated__/CarGroupIcon.js.map +1 -1
  60. package/components/Icon/__generated__/CarIcon.js.map +1 -1
  61. package/components/Icon/__generated__/CarLockIcon.js.map +1 -1
  62. package/components/Icon/__generated__/CarReturnIcon.js.map +1 -1
  63. package/components/Icon/__generated__/CarSearchIcon.js.map +1 -1
  64. package/components/Icon/__generated__/CarTypeAntiqueIcon.js.map +1 -1
  65. package/components/Icon/__generated__/CarTypeCabrioletIcon.js.map +1 -1
  66. package/components/Icon/__generated__/CarTypeCampervanIcon.js.map +1 -1
  67. package/components/Icon/__generated__/CarTypeCityIcon.js.map +1 -1
  68. package/components/Icon/__generated__/CarTypeConvertibleIcon.js.map +1 -1
  69. package/components/Icon/__generated__/CarTypeCoupeIcon.js.map +1 -1
  70. package/components/Icon/__generated__/CarTypeFamilyIcon.js.map +1 -1
  71. package/components/Icon/__generated__/CarTypeFourFourIcon.js.map +1 -1
  72. package/components/Icon/__generated__/CarTypeMinibusIcon.js.map +1 -1
  73. package/components/Icon/__generated__/CarTypeSedanIcon.js.map +1 -1
  74. package/components/Icon/__generated__/CarTypeUtilityIcon.js.map +1 -1
  75. package/components/Icon/__generated__/CheckCircleIcon.js.map +1 -1
  76. package/components/Icon/__generated__/CheckIcon.js.map +1 -1
  77. package/components/Icon/__generated__/ChevronDownIcon.js.map +1 -1
  78. package/components/Icon/__generated__/ChevronLeftIcon.js.map +1 -1
  79. package/components/Icon/__generated__/ChevronRightIcon.js.map +1 -1
  80. package/components/Icon/__generated__/ChevronUpIcon.js.map +1 -1
  81. package/components/Icon/__generated__/CloseIcon.js.map +1 -1
  82. package/components/Icon/__generated__/ContactMailIcon.js.map +1 -1
  83. package/components/Icon/__generated__/ContactPhoneIcon.js.map +1 -1
  84. package/components/Icon/__generated__/ContextualPaperclipIcon.js.map +1 -1
  85. package/components/Icon/__generated__/ContextualQuestionIcon.js.map +1 -1
  86. package/components/Icon/__generated__/ContextualWarningCircleFilledIcon.js.map +1 -1
  87. package/components/Icon/__generated__/ContextualWarningCircleIcon.js.map +1 -1
  88. package/components/Icon/__generated__/CreditCardIcon.js.map +1 -1
  89. package/components/Icon/__generated__/DirectionsIcon.js.map +1 -1
  90. package/components/Icon/__generated__/DocumentIcon.js +23 -0
  91. package/components/Icon/__generated__/DocumentIcon.js.map +1 -0
  92. package/components/Icon/__generated__/DotsHorizontalIcon.js.map +1 -1
  93. package/components/Icon/__generated__/DotsVerticalIcon.js.map +1 -1
  94. package/components/Icon/__generated__/DownloadIcon.js.map +1 -1
  95. package/components/Icon/__generated__/EarthIcon.js.map +1 -1
  96. package/components/Icon/__generated__/EditIcon.js.map +1 -1
  97. package/components/Icon/__generated__/ExternalLinkIcon.js.map +1 -1
  98. package/components/Icon/__generated__/EyeIcon.js.map +1 -1
  99. package/components/Icon/__generated__/FiltersIcon.js.map +1 -1
  100. package/components/Icon/__generated__/FlagIcon.js.map +1 -1
  101. package/components/Icon/__generated__/GeolocationIcon.js.map +1 -1
  102. package/components/Icon/__generated__/GraphUpIcon.js.map +1 -1
  103. package/components/Icon/__generated__/IncidentIcon.js.map +1 -1
  104. package/components/Icon/__generated__/InfoFilledIcon.js.map +1 -1
  105. package/components/Icon/__generated__/InfoIcon.js.map +1 -1
  106. package/components/Icon/__generated__/InstantIcon.js.map +1 -1
  107. package/components/Icon/__generated__/KeyIcon.js.map +1 -1
  108. package/components/Icon/__generated__/LoadingIcon.js.map +1 -1
  109. package/components/Icon/__generated__/LocalityIcon.js.map +1 -1
  110. package/components/Icon/__generated__/LocationMapIcon.js.map +1 -1
  111. package/components/Icon/__generated__/LocationParkingIcon.js.map +1 -1
  112. package/components/Icon/__generated__/LocationPinIcon.js.map +1 -1
  113. package/components/Icon/__generated__/LogoutIcon.js.map +1 -1
  114. package/components/Icon/__generated__/MapIcon.js.map +1 -1
  115. package/components/Icon/__generated__/MeetDriverIcon.js.map +1 -1
  116. package/components/Icon/__generated__/MeetOwnerIcon.js.map +1 -1
  117. package/components/Icon/__generated__/MenuListIcon.js.map +1 -1
  118. package/components/Icon/__generated__/MileageIcon.js.map +1 -1
  119. package/components/Icon/__generated__/MiscGiftIcon.js.map +1 -1
  120. package/components/Icon/__generated__/NotificationIcon.js.map +1 -1
  121. package/components/Icon/__generated__/OptionAirConditioningIcon.js.map +1 -1
  122. package/components/Icon/__generated__/OptionAndroidAutoIcon.js.map +1 -1
  123. package/components/Icon/__generated__/OptionAppleCarplayIcon.js.map +1 -1
  124. package/components/Icon/__generated__/OptionAudioInputIcon.js.map +1 -1
  125. package/components/Icon/__generated__/OptionBabySeatIcon.js.map +1 -1
  126. package/components/Icon/__generated__/OptionBikeRackIcon.js.map +1 -1
  127. package/components/Icon/__generated__/OptionBluetoothAudioIcon.js.map +1 -1
  128. package/components/Icon/__generated__/OptionCdPlayerIcon.js.map +1 -1
  129. package/components/Icon/__generated__/OptionChainsIcon.js.map +1 -1
  130. package/components/Icon/__generated__/OptionCruiseControlIcon.js.map +1 -1
  131. package/components/Icon/__generated__/OptionDashcamIcon.js.map +1 -1
  132. package/components/Icon/__generated__/OptionGpsIcon.js.map +1 -1
  133. package/components/Icon/__generated__/OptionHasTrailerIcon.js.map +1 -1
  134. package/components/Icon/__generated__/OptionHitchIcon.js.map +1 -1
  135. package/components/Icon/__generated__/OptionRoofBoxIcon.js.map +1 -1
  136. package/components/Icon/__generated__/OptionSkiRackIcon.js.map +1 -1
  137. package/components/Icon/__generated__/OptionSnowTireIcon.js.map +1 -1
  138. package/components/Icon/__generated__/OptionWheelchairAccessibleIcon.js.map +1 -1
  139. package/components/Icon/__generated__/PeopleUserIcon.js.map +1 -1
  140. package/components/Icon/__generated__/PhotosIcon.js.map +1 -1
  141. package/components/Icon/__generated__/PlugIcon.js.map +1 -1
  142. package/components/Icon/__generated__/PlusIcon.js.map +1 -1
  143. package/components/Icon/__generated__/RaceFlagIcon.js.map +1 -1
  144. package/components/Icon/__generated__/RefreshIcon.js.map +1 -1
  145. package/components/Icon/__generated__/ResetIcon.js.map +1 -1
  146. package/components/Icon/__generated__/RideIcon.js.map +1 -1
  147. package/components/Icon/__generated__/SearchIcon.js.map +1 -1
  148. package/components/Icon/__generated__/ServiceBatteryIcon.js.map +1 -1
  149. package/components/Icon/__generated__/ServiceCleaningIcon.js.map +1 -1
  150. package/components/Icon/__generated__/ServiceFuelIcon.js.map +1 -1
  151. package/components/Icon/__generated__/ServiceHealingIcon.js.map +1 -1
  152. package/components/Icon/__generated__/ServiceLockedIcon.js.map +1 -1
  153. package/components/Icon/__generated__/ServiceTollsIcon.js.map +1 -1
  154. package/components/Icon/__generated__/ServiceUnlockedIcon.js.map +1 -1
  155. package/components/Icon/__generated__/SettingsIcon.js.map +1 -1
  156. package/components/Icon/__generated__/ShareIcon.js.map +1 -1
  157. package/components/Icon/__generated__/ShopIcon.js.map +1 -1
  158. package/components/Icon/__generated__/SocialFacebookIcon.js.map +1 -1
  159. package/components/Icon/__generated__/SocialLinkedinIcon.js.map +1 -1
  160. package/components/Icon/__generated__/SocialTwitterIcon.js.map +1 -1
  161. package/components/Icon/__generated__/SocialWhatsappIcon.js.map +1 -1
  162. package/components/Icon/__generated__/StarIcon.js.map +1 -1
  163. package/components/Icon/__generated__/SubwayIcon.js.map +1 -1
  164. package/components/Icon/__generated__/TimeAlertIcon.js.map +1 -1
  165. package/components/Icon/__generated__/TimeBackwardsIcon.js.map +1 -1
  166. package/components/Icon/__generated__/TimeCalendarIcon.js.map +1 -1
  167. package/components/Icon/__generated__/TimeForwardIcon.js.map +1 -1
  168. package/components/Icon/__generated__/TrainIcon.js.map +1 -1
  169. package/components/Icon/__generated__/UserShieldIcon.js.map +1 -1
  170. package/components/Icon/__generated__/VerifiedSealIcon.js.map +1 -1
  171. package/components/Icon/__generated__/WalletIcon.js +23 -0
  172. package/components/Icon/__generated__/WalletIcon.js.map +1 -0
  173. package/components/Icon/__generated__/WrenchIcon.js.map +1 -1
  174. package/components/Icon/index.js.map +1 -1
  175. package/components/Modal/ModalBody.js.map +1 -1
  176. package/components/Modal/ModalFooter.js.map +1 -1
  177. package/components/Modal/ModalHeader.js.map +1 -1
  178. package/components/Modal/index.js.map +1 -1
  179. package/components/ModalOpenerButton/index.js.map +1 -1
  180. package/components/Note/index.js.map +1 -1
  181. package/components/PhotoDropzone/index.js.map +1 -1
  182. package/components/Pill/index.js.map +1 -1
  183. package/components/Popover/LazyTippy.js.map +1 -1
  184. package/components/Popover/index.js.map +1 -1
  185. package/components/PriceTable/index.js.map +1 -1
  186. package/components/ProgressBar/index.js.map +1 -1
  187. package/components/Tabs/index.js.map +1 -1
  188. package/components/Tag/index.js.map +1 -1
  189. package/components/TextContainer/index.js.map +1 -1
  190. package/components/utils/Timer.js.map +1 -1
  191. package/components/utils/capitalize.js.map +1 -1
  192. package/components/utils/dom.js.map +1 -1
  193. package/components/utils/eqSet.js.map +1 -1
  194. package/components/utils/px.js.map +1 -1
  195. package/components/utils/validateFile.js.map +1 -1
  196. package/hooks/useBreakpoint.js.map +1 -1
  197. package/hooks/useElementHeight.js.map +1 -1
  198. package/icons/document.js +4 -0
  199. package/icons/document.js.map +1 -0
  200. package/icons/document.svg +1 -0
  201. package/icons/index.js +2 -0
  202. package/icons/index.js.map +1 -1
  203. package/icons/wallet.js +4 -0
  204. package/icons/wallet.js.map +1 -0
  205. package/icons/wallet.svg +1 -0
  206. package/index.js +2 -0
  207. package/index.js.map +1 -1
  208. package/package.json +20 -20
  209. package/tokens/icons.js +2 -0
  210. package/tokens/icons.js.map +1 -1
  211. package/tokens/index.js.map +1 -1
  212. package/types/components/Button/index.d.ts +8 -8
  213. package/types/components/Buttons/BrandButton/index.d.ts +2 -2
  214. package/types/components/Buttons/DefaultButton/index.d.ts +2 -2
  215. package/types/components/Buttons/GhostButton/index.d.ts +2 -2
  216. package/types/components/Form/Autocomplete/index.d.ts +2 -2
  217. package/types/components/Form/TextInput.d.ts +3 -3
  218. package/types/components/Icon/__generated__/DocumentIcon.d.ts +10 -0
  219. package/types/components/Icon/__generated__/WalletIcon.d.ts +10 -0
  220. package/types/components/Icon/__generated__/index.d.ts +2 -0
  221. package/types/components/Icon/index.d.ts +1 -1
  222. package/types/icons/index.d.ts +2 -0
  223. package/types/tokens/index.d.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarRangePickerMonth.js","sources":["../../../../src/components/Calendar/CalendarRangePicker/CalendarRangePickerMonth.tsx"],"sourcesContent":["import React, { useMemo } from \"react\"\nimport { CalendarRangePickerDay } from \"./CalendarRangePickerDay\"\nimport classNames from \"classnames\"\nimport {\n eachDayOfInterval,\n startOfMonth,\n endOfMonth,\n format,\n isSameDay,\n getDay,\n differenceInCalendarDays,\n startOfWeek,\n endOfWeek,\n} from \"date-fns\"\n\ntype Props = {\n date: Date\n startDate?: Date\n endDate?: Date\n onSelectDate: (date: Date, isOutOfRange?: boolean) => void\n onChangeDate: (date: Date, isOutOfRange: boolean, disabled: boolean) => void\n onLeaveDate?: (date: Date) => void\n isEditingStartDate?: boolean\n isEditingEndDate?: boolean\n rangeLimit?: number\n firstAvailableDate: Date\n lastAvailableDate?: Date\n locale: any\n}\n\nfunction daysByWeeks(monthDate: Date): Date[][] {\n const firstDayOfMonth = startOfMonth(monthDate)\n const firstDayOfMonthOffset = getDay(firstDayOfMonth) - 1\n const lastDayOfMonth = endOfMonth(monthDate)\n const days = eachDayOfInterval({\n start: firstDayOfMonth,\n end: lastDayOfMonth,\n })\n\n return days.reduce((acc: Date[][], day, index) => {\n if (index === 0 || (index + firstDayOfMonthOffset) % 7 === 0) {\n acc.push([])\n }\n acc[acc.length - 1].push(day)\n return acc\n }, [])\n}\n\nfunction isDisabled(\n day: Date,\n firstAvailableDate: Date,\n lastAvailableDate: Date | undefined\n) {\n return (\n day.getTime() < firstAvailableDate.getTime() ||\n (lastAvailableDate != null && day.getTime() > lastAvailableDate.getTime())\n )\n}\n\nfunction isInvalid(\n day: Date,\n startDate: Date | undefined,\n rangeLimit: number | undefined,\n isOutOfRange: boolean,\n isEditingEndDate: boolean | undefined\n) {\n return (\n rangeLimit != null &&\n isOutOfRange &&\n isEditingEndDate &&\n startDate != null &&\n differenceInCalendarDays(day, startDate) >= rangeLimit\n )\n}\n\nfunction isRange(\n startDate: Date | undefined,\n endDate: Date | undefined,\n isOutOfRangeStartDate: boolean\n) {\n return !!(startDate && endDate) && !isOutOfRangeStartDate\n}\n\nfunction isSelected(\n day: Date,\n startDate: Date | undefined,\n endDate: Date | undefined,\n isStartDay: boolean,\n isEndDay: boolean,\n isOutOfRangeStartDate: boolean\n) {\n return (\n isStartDay ||\n isEndDay ||\n (!isOutOfRangeStartDate &&\n endDate &&\n day.getTime() <= endDate.getTime() &&\n startDate &&\n day.getTime() > startDate.getTime())\n )\n}\n\nexport function CalendarRangePickerMonth({\n date,\n onSelectDate,\n onChangeDate,\n onLeaveDate,\n startDate,\n endDate,\n isEditingStartDate = false,\n isEditingEndDate = false,\n rangeLimit,\n firstAvailableDate,\n lastAvailableDate,\n locale,\n}: Props) {\n const firstDayOfMonth = useMemo(() => startOfMonth(date), [])\n const lastDayOfMonth = useMemo(() => endOfMonth(date), [])\n const byWeeks = useMemo(() => daysByWeeks(date), [])\n\n const today = new Date().setHours(0, 0, 0, 0)\n\n const weekdays: Date[] = useMemo(\n () =>\n eachDayOfInterval({\n start: startOfWeek(today, { weekStartsOn: 1 }),\n end: endOfWeek(today, { weekStartsOn: 1 }),\n }),\n []\n )\n\n const isOutOfRange =\n rangeLimit != null &&\n startDate != null &&\n endDate != null &&\n differenceInCalendarDays(endDate, startDate) >= rangeLimit\n\n const isOutOfRangeStartDate = !!isEditingStartDate && isOutOfRange\n\n const onMouseEnter = (day: Date, disabled: boolean) => {\n let isDayOutOfRange = false\n if (rangeLimit != null) {\n if (isEditingStartDate) {\n isDayOutOfRange =\n endDate != null &&\n differenceInCalendarDays(endDate, day) >= rangeLimit\n } else if (isEditingEndDate) {\n isDayOutOfRange =\n startDate != null &&\n differenceInCalendarDays(day, startDate) >= rangeLimit\n }\n }\n\n onChangeDate(day, isDayOutOfRange, disabled)\n }\n\n const onSelect = (day: Date) => {\n onSelectDate(day, isOutOfRange)\n }\n\n return (\n <div\n className={classNames(\"cobalt-CalendarRangePicker__month\", {\n \"cobalt-CalendarRangePicker__month--invalid\":\n isOutOfRange && !isEditingStartDate,\n })}\n data-month={format(date, \"yyyy-MM\")}\n >\n <div className=\"cobalt-CalendarRangePicker__month-header cobalt-text-titleSmall\">\n {format(date, \"MMMM yyyy\", { locale })}\n </div>\n <div className=\"cobalt-CalendarRangePicker__month__weeks-container\">\n <div className=\"cobalt-CalendarRangePicker__month__week-header\">\n {weekdays.map((weekday) => (\n <div\n key={weekday.getTime()}\n className=\"cobalt-CalendarRangePicker__month__day-header\"\n >\n {format(weekday, \"iiiiii\", { locale })}\n </div>\n ))}\n </div>\n {byWeeks.map((week, index) => (\n <div key={index} className=\"cobalt-CalendarRangePicker__month__week\">\n {week.map((day) => {\n const isStartDay = startDate != null && isSameDay(day, startDate)\n const isEndDay = endDate != null && isSameDay(day, endDate)\n return (\n <CalendarRangePickerDay\n key={day.getTime()}\n isEditingStartDate={!!isEditingStartDate}\n isEditingEndDate={!!isEditingEndDate}\n date={day}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onLeaveDate}\n onSelect={onSelect}\n isToday={isSameDay(day, today)}\n isStartDay={isStartDay}\n isEndDay={isEndDay}\n isFirstDayOfMonth={isSameDay(day, firstDayOfMonth)}\n isLastDayOfMonth={isSameDay(day, lastDayOfMonth)}\n isRange={isRange(startDate, endDate, isOutOfRangeStartDate)}\n invalid={isInvalid(\n day,\n startDate,\n rangeLimit,\n isOutOfRange,\n isEditingEndDate\n )}\n subdued={\n (isStartDay && isEditingEndDate) ||\n (isEndDay && isEditingStartDate)\n }\n disabled={isDisabled(\n day,\n firstAvailableDate,\n lastAvailableDate\n )}\n selected={isSelected(\n day,\n startDate,\n endDate,\n isStartDay,\n isEndDay,\n isOutOfRangeStartDate\n )}\n />\n )\n })}\n </div>\n ))}\n </div>\n </div>\n )\n}\n"],"names":["classNames","CalendarRangePickerDay"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarRangePickerMonth.js","sources":["../../../../src/components/Calendar/CalendarRangePicker/CalendarRangePickerMonth.tsx"],"sourcesContent":["import React, { useMemo } from \"react\"\nimport { CalendarRangePickerDay } from \"./CalendarRangePickerDay\"\nimport classNames from \"classnames\"\nimport {\n eachDayOfInterval,\n startOfMonth,\n endOfMonth,\n format,\n isSameDay,\n getDay,\n differenceInCalendarDays,\n startOfWeek,\n endOfWeek,\n} from \"date-fns\"\n\ntype Props = {\n date: Date\n startDate?: Date\n endDate?: Date\n onSelectDate: (date: Date, isOutOfRange?: boolean) => void\n onChangeDate: (date: Date, isOutOfRange: boolean, disabled: boolean) => void\n onLeaveDate?: (date: Date) => void\n isEditingStartDate?: boolean\n isEditingEndDate?: boolean\n rangeLimit?: number\n firstAvailableDate: Date\n lastAvailableDate?: Date\n locale: any\n}\n\nfunction daysByWeeks(monthDate: Date): Date[][] {\n const firstDayOfMonth = startOfMonth(monthDate)\n const firstDayOfMonthOffset = getDay(firstDayOfMonth) - 1\n const lastDayOfMonth = endOfMonth(monthDate)\n const days = eachDayOfInterval({\n start: firstDayOfMonth,\n end: lastDayOfMonth,\n })\n\n return days.reduce((acc: Date[][], day, index) => {\n if (index === 0 || (index + firstDayOfMonthOffset) % 7 === 0) {\n acc.push([])\n }\n acc[acc.length - 1].push(day)\n return acc\n }, [])\n}\n\nfunction isDisabled(\n day: Date,\n firstAvailableDate: Date,\n lastAvailableDate: Date | undefined\n) {\n return (\n day.getTime() < firstAvailableDate.getTime() ||\n (lastAvailableDate != null && day.getTime() > lastAvailableDate.getTime())\n )\n}\n\nfunction isInvalid(\n day: Date,\n startDate: Date | undefined,\n rangeLimit: number | undefined,\n isOutOfRange: boolean,\n isEditingEndDate: boolean | undefined\n) {\n return (\n rangeLimit != null &&\n isOutOfRange &&\n isEditingEndDate &&\n startDate != null &&\n differenceInCalendarDays(day, startDate) >= rangeLimit\n )\n}\n\nfunction isRange(\n startDate: Date | undefined,\n endDate: Date | undefined,\n isOutOfRangeStartDate: boolean\n) {\n return !!(startDate && endDate) && !isOutOfRangeStartDate\n}\n\nfunction isSelected(\n day: Date,\n startDate: Date | undefined,\n endDate: Date | undefined,\n isStartDay: boolean,\n isEndDay: boolean,\n isOutOfRangeStartDate: boolean\n) {\n return (\n isStartDay ||\n isEndDay ||\n (!isOutOfRangeStartDate &&\n endDate &&\n day.getTime() <= endDate.getTime() &&\n startDate &&\n day.getTime() > startDate.getTime())\n )\n}\n\nexport function CalendarRangePickerMonth({\n date,\n onSelectDate,\n onChangeDate,\n onLeaveDate,\n startDate,\n endDate,\n isEditingStartDate = false,\n isEditingEndDate = false,\n rangeLimit,\n firstAvailableDate,\n lastAvailableDate,\n locale,\n}: Props) {\n const firstDayOfMonth = useMemo(() => startOfMonth(date), [])\n const lastDayOfMonth = useMemo(() => endOfMonth(date), [])\n const byWeeks = useMemo(() => daysByWeeks(date), [])\n\n const today = new Date().setHours(0, 0, 0, 0)\n\n const weekdays: Date[] = useMemo(\n () =>\n eachDayOfInterval({\n start: startOfWeek(today, { weekStartsOn: 1 }),\n end: endOfWeek(today, { weekStartsOn: 1 }),\n }),\n []\n )\n\n const isOutOfRange =\n rangeLimit != null &&\n startDate != null &&\n endDate != null &&\n differenceInCalendarDays(endDate, startDate) >= rangeLimit\n\n const isOutOfRangeStartDate = !!isEditingStartDate && isOutOfRange\n\n const onMouseEnter = (day: Date, disabled: boolean) => {\n let isDayOutOfRange = false\n if (rangeLimit != null) {\n if (isEditingStartDate) {\n isDayOutOfRange =\n endDate != null &&\n differenceInCalendarDays(endDate, day) >= rangeLimit\n } else if (isEditingEndDate) {\n isDayOutOfRange =\n startDate != null &&\n differenceInCalendarDays(day, startDate) >= rangeLimit\n }\n }\n\n onChangeDate(day, isDayOutOfRange, disabled)\n }\n\n const onSelect = (day: Date) => {\n onSelectDate(day, isOutOfRange)\n }\n\n return (\n <div\n className={classNames(\"cobalt-CalendarRangePicker__month\", {\n \"cobalt-CalendarRangePicker__month--invalid\":\n isOutOfRange && !isEditingStartDate,\n })}\n data-month={format(date, \"yyyy-MM\")}\n >\n <div className=\"cobalt-CalendarRangePicker__month-header cobalt-text-titleSmall\">\n {format(date, \"MMMM yyyy\", { locale })}\n </div>\n <div className=\"cobalt-CalendarRangePicker__month__weeks-container\">\n <div className=\"cobalt-CalendarRangePicker__month__week-header\">\n {weekdays.map((weekday) => (\n <div\n key={weekday.getTime()}\n className=\"cobalt-CalendarRangePicker__month__day-header\"\n >\n {format(weekday, \"iiiiii\", { locale })}\n </div>\n ))}\n </div>\n {byWeeks.map((week, index) => (\n <div key={index} className=\"cobalt-CalendarRangePicker__month__week\">\n {week.map((day) => {\n const isStartDay = startDate != null && isSameDay(day, startDate)\n const isEndDay = endDate != null && isSameDay(day, endDate)\n return (\n <CalendarRangePickerDay\n key={day.getTime()}\n isEditingStartDate={!!isEditingStartDate}\n isEditingEndDate={!!isEditingEndDate}\n date={day}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onLeaveDate}\n onSelect={onSelect}\n isToday={isSameDay(day, today)}\n isStartDay={isStartDay}\n isEndDay={isEndDay}\n isFirstDayOfMonth={isSameDay(day, firstDayOfMonth)}\n isLastDayOfMonth={isSameDay(day, lastDayOfMonth)}\n isRange={isRange(startDate, endDate, isOutOfRangeStartDate)}\n invalid={isInvalid(\n day,\n startDate,\n rangeLimit,\n isOutOfRange,\n isEditingEndDate\n )}\n subdued={\n (isStartDay && isEditingEndDate) ||\n (isEndDay && isEditingStartDate)\n }\n disabled={isDisabled(\n day,\n firstAvailableDate,\n lastAvailableDate\n )}\n selected={isSelected(\n day,\n startDate,\n endDate,\n isStartDay,\n isEndDay,\n isOutOfRangeStartDate\n )}\n />\n )\n })}\n </div>\n ))}\n </div>\n </div>\n )\n}\n"],"names":["classNames","CalendarRangePickerDay"],"mappings":";;;;;AA8BA,SAAS,WAAW,CAAC,SAAe,EAAA;AAClC,IAAA,IAAM,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;IAC/C,IAAM,qBAAqB,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;AACzD,IAAA,IAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IAC5C,IAAM,IAAI,GAAG,iBAAiB,CAAC;AAC7B,QAAA,KAAK,EAAE,eAAe;AACtB,QAAA,GAAG,EAAE,cAAc;AACpB,KAAA,CAAC,CAAA;IAEF,OAAO,IAAI,CAAC,MAAM,CAAC,UAAC,GAAa,EAAE,GAAG,EAAE,KAAK,EAAA;AAC3C,QAAA,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,qBAAqB,IAAI,CAAC,KAAK,CAAC,EAAE;AAC5D,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,SAAA;AACD,QAAA,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7B,QAAA,OAAO,GAAG,CAAA;KACX,EAAE,EAAE,CAAC,CAAA;AACR,CAAC;AAED,SAAS,UAAU,CACjB,GAAS,EACT,kBAAwB,EACxB,iBAAmC,EAAA;IAEnC,QACE,GAAG,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAC,OAAO,EAAE;AAC5C,SAAC,iBAAiB,IAAI,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC,EAC3E;AACH,CAAC;AAED,SAAS,SAAS,CAChB,GAAS,EACT,SAA2B,EAC3B,UAA8B,EAC9B,YAAqB,EACrB,gBAAqC,EAAA;IAErC,QACE,UAAU,IAAI,IAAI;QAClB,YAAY;QACZ,gBAAgB;AAChB,QAAA,SAAS,IAAI,IAAI;QACjB,wBAAwB,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,UAAU,EACvD;AACH,CAAC;AAED,SAAS,OAAO,CACd,SAA2B,EAC3B,OAAyB,EACzB,qBAA8B,EAAA;IAE9B,OAAO,CAAC,EAAE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAA;AAC3D,CAAC;AAED,SAAS,UAAU,CACjB,GAAS,EACT,SAA2B,EAC3B,OAAyB,EACzB,UAAmB,EACnB,QAAiB,EACjB,qBAA8B,EAAA;AAE9B,IAAA,QACE,UAAU;QACV,QAAQ;AACR,SAAC,CAAC,qBAAqB;YACrB,OAAO;AACP,YAAA,GAAG,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE;YAClC,SAAS;YACT,GAAG,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,EACvC;AACH,CAAC;AAEK,SAAU,wBAAwB,CAAC,EAajC,EAAA;AAZN,IAAA,IAAA,IAAI,UAAA,EACJ,YAAY,kBAAA,EACZ,YAAY,kBAAA,EACZ,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,0BAA0B,EAA1B,kBAAkB,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,KAAK,KAAA,EAC1B,EAAA,GAAA,EAAA,CAAA,gBAAwB,EAAxB,gBAAgB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,KAAK,GAAA,EAAA,EACxB,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,kBAAkB,GAAA,EAAA,CAAA,kBAAA,EAClB,iBAAiB,GAAA,EAAA,CAAA,iBAAA,EACjB,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;AAEN,IAAA,IAAM,eAAe,GAAG,OAAO,CAAC,cAAM,OAAA,YAAY,CAAC,IAAI,CAAC,CAAlB,EAAkB,EAAE,EAAE,CAAC,CAAA;AAC7D,IAAA,IAAM,cAAc,GAAG,OAAO,CAAC,cAAM,OAAA,UAAU,CAAC,IAAI,CAAC,CAAhB,EAAgB,EAAE,EAAE,CAAC,CAAA;AAC1D,IAAA,IAAM,OAAO,GAAG,OAAO,CAAC,cAAM,OAAA,WAAW,CAAC,IAAI,CAAC,CAAjB,EAAiB,EAAE,EAAE,CAAC,CAAA;AAEpD,IAAA,IAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE7C,IAAM,QAAQ,GAAW,OAAO,CAC9B,YAAA;AACE,QAAA,OAAA,iBAAiB,CAAC;YAChB,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YAC9C,GAAG,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;SAC3C,CAAC,CAAA;KAAA,EACJ,EAAE,CACH,CAAA;AAED,IAAA,IAAM,YAAY,GAChB,UAAU,IAAI,IAAI;AAClB,QAAA,SAAS,IAAI,IAAI;AACjB,QAAA,OAAO,IAAI,IAAI;AACf,QAAA,wBAAwB,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,UAAU,CAAA;AAE5D,IAAA,IAAM,qBAAqB,GAAG,CAAC,CAAC,kBAAkB,IAAI,YAAY,CAAA;AAElE,IAAA,IAAM,YAAY,GAAG,UAAC,GAAS,EAAE,QAAiB,EAAA;QAChD,IAAI,eAAe,GAAG,KAAK,CAAA;QAC3B,IAAI,UAAU,IAAI,IAAI,EAAE;AACtB,YAAA,IAAI,kBAAkB,EAAE;gBACtB,eAAe;AACb,oBAAA,OAAO,IAAI,IAAI;AACf,wBAAA,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,UAAU,CAAA;AACvD,aAAA;AAAM,iBAAA,IAAI,gBAAgB,EAAE;gBAC3B,eAAe;AACb,oBAAA,SAAS,IAAI,IAAI;AACjB,wBAAA,wBAAwB,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,UAAU,CAAA;AACzD,aAAA;AACF,SAAA;AAED,QAAA,YAAY,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAA;AAC9C,KAAC,CAAA;IAED,IAAM,QAAQ,GAAG,UAAC,GAAS,EAAA;AACzB,QAAA,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;AACjC,KAAC,CAAA;AAED,IAAA,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEA,EAAU,CAAC,mCAAmC,EAAE;AACzD,YAAA,4CAA4C,EAC1C,YAAY,IAAI,CAAC,kBAAkB;AACtC,SAAA,CAAC,gBACU,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;AAEnC,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iEAAiE,EAAA,EAC7E,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAClC;QACN,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,oDAAoD,EAAA;AACjE,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gDAAgD,IAC5D,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO,EAAA,EAAK,QACzB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,EACtB,SAAS,EAAC,+CAA+C,EAAA,EAExD,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAClC,EANmB,EAO1B,CAAC,CACE;YACL,OAAO,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,EAAA,EAAK,QAC5B,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,KAAK,EAAE,SAAS,EAAC,yCAAyC,EAAA,EACjE,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,EAAA;AACZ,gBAAA,IAAM,UAAU,GAAG,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;AACjE,gBAAA,IAAM,QAAQ,GAAG,OAAO,IAAI,IAAI,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;gBAC3D,QACE,oBAACC,iBAAsB,EAAA,EACrB,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EAClB,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,EACxC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EACpC,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,WAAW,EACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,EAC9B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,EAClD,gBAAgB,EAAE,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,EAChD,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAC3D,OAAO,EAAE,SAAS,CAChB,GAAG,EACH,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,CACjB,EACD,OAAO,EACL,CAAC,UAAU,IAAI,gBAAgB;AAC/B,yBAAC,QAAQ,IAAI,kBAAkB,CAAC,EAElC,QAAQ,EAAE,UAAU,CAClB,GAAG,EACH,kBAAkB,EAClB,iBAAiB,CAClB,EACD,QAAQ,EAAE,UAAU,CAClB,GAAG,EACH,SAAS,EACT,OAAO,EACP,UAAU,EACV,QAAQ,EACR,qBAAqB,CACtB,EAAA,CACD,EACH;aACF,CAAC,CACE,EACP,EAAA,CAAC,CACE,CACF,EACP;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarViewMonth.js","sources":["../../../../src/components/Calendar/CalendarView/CalendarViewMonth.tsx"],"sourcesContent":["import React, { useMemo } from \"react\"\nimport {\n setDate,\n getISODay,\n getDaysInMonth,\n endOfMonth,\n differenceInCalendarWeeks,\n isPast,\n isToday,\n format,\n} from \"date-fns\"\nimport cx from \"classnames\"\nimport {\n CalendarViewMonthType,\n MonthType,\n CalendarViewDateType,\n DateType,\n} from \"./types\"\n\ntype Props = MonthType\n\nconst CalendarViewMonth = ({\n monthName,\n monthStart,\n statusByDate = {},\n}: Props) => {\n const getMonthByWeek = (): CalendarViewMonthType => {\n const daysInMonth = getDaysInMonth(monthStart)\n const weeksInMonth =\n differenceInCalendarWeeks(endOfMonth(monthStart), monthStart, {\n weekStartsOn: 1,\n }) + 1\n const weekDay = getISODay(monthStart)\n const month: CalendarViewDateType[][] = []\n let cursor = 0\n let date = 0\n\n for (let week = 0; week < weeksInMonth; week++) {\n month[week] = []\n for (let day = 0; day < 7; day++) {\n month[week][day] = { date: null }\n\n if (cursor >= weekDay - 1 && date < daysInMonth) {\n month[week][day].date = ++date as DateType\n\n const currentDate = setDate(monthStart, date)\n\n month[week][day].status =\n isPast(currentDate) && !isToday(currentDate)\n ? \"past\"\n : statusByDate[format(currentDate, \"yyyy-MM-dd\")]\n }\n cursor++\n }\n }\n return month\n }\n\n const monthByWeek = useMemo(() => getMonthByWeek(), [])\n\n return (\n <div className=\"cobalt-CalendarView__month\">\n <div className=\"cobalt-CalendarView__monthName\">{monthName}</div>\n {monthByWeek.map((week, weekIndex) => (\n <div key={weekIndex} className=\"cobalt-CalendarView__week\">\n {week.map((day, dayIndex) => (\n <div\n key={weekIndex + 1 * dayIndex + 1}\n className={cx(\"cobalt-CalendarView__day\", {\n [`cobalt-CalendarView__day--${day.status}`]: day.status,\n })}\n >\n {day.date}\n </div>\n ))}\n </div>\n ))}\n </div>\n )\n}\n\nCalendarViewMonth.displayName = \"CalendarViewMonth\"\n\nexport default CalendarViewMonth\n"],"names":[],"mappings":";;;;IAqBM,iBAAiB,GAAG,UAAC,EAInB;QAHN,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,oBAAiB,EAAjB,YAAY,mBAAG,EAAE,KAAA;IAEjB,IAAM,cAAc,GAAG;QACrB,IAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;QAC9C,IAAM,YAAY,GAChB,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE;YAC5D,YAAY,EAAE,CAAC;SAChB,CAAC,GAAG,CAAC,CAAA;QACR,IAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;QACrC,IAAM,KAAK,GAA6B,EAAE,CAAA;QAC1C,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,IAAI,IAAI,GAAG,CAAC,CAAA;QAEZ,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,YAAY,EAAE,IAAI,EAAE,EAAE;YAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YAChB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE;gBAChC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;gBAEjC,IAAI,MAAM,IAAI,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,WAAW,EAAE;oBAC/C,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,IAAgB,CAAA;oBAE1C,IAAM,WAAW,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;oBAE7C,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM;wBACrB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;8BACxC,MAAM;8BACN,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAA;iBACtD;gBACD,MAAM,EAAE,CAAA;aACT;SACF;QACD,OAAO,KAAK,CAAA;KACb,CAAA;IAED,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,cAAc,EAAE,GAAA,EAAE,EAAE,CAAC,CAAA;IAEvD,QACE,6BAAK,SAAS,EAAC,4BAA4B;QACzC,6BAAK,SAAS,EAAC,gCAAgC,IAAE,SAAS,CAAO;QAChE,WAAW,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,SAAS,IAAK,QACpC,6BAAK,GAAG,EAAE,SAAS,EAAE,SAAS,EAAC,2BAA2B,IACvD,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,QAAQ;;YAAK,QAC3B,6BACE,GAAG,EAAE,SAAS,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,EACjC,SAAS,EAAE,EAAE,CAAC,0BAA0B;oBACtC,GAAC,oCAA6B,GAAG,CAAC,MAAM,CAAE,IAAG,GAAG,CAAC,MAAM;wBACvD,IAED,GAAG,CAAC,IAAI,CACL;SACP,CAAC,CACE,IACP,CAAC,CACE,EACP;AACH,EAAC;AAED,iBAAiB,CAAC,WAAW,GAAG,mBAAmB;;;;"}
1
+ {"version":3,"file":"CalendarViewMonth.js","sources":["../../../../src/components/Calendar/CalendarView/CalendarViewMonth.tsx"],"sourcesContent":["import React, { useMemo } from \"react\"\nimport {\n setDate,\n getISODay,\n getDaysInMonth,\n endOfMonth,\n differenceInCalendarWeeks,\n isPast,\n isToday,\n format,\n} from \"date-fns\"\nimport cx from \"classnames\"\nimport {\n CalendarViewMonthType,\n MonthType,\n CalendarViewDateType,\n DateType,\n} from \"./types\"\n\ntype Props = MonthType\n\nconst CalendarViewMonth = ({\n monthName,\n monthStart,\n statusByDate = {},\n}: Props) => {\n const getMonthByWeek = (): CalendarViewMonthType => {\n const daysInMonth = getDaysInMonth(monthStart)\n const weeksInMonth =\n differenceInCalendarWeeks(endOfMonth(monthStart), monthStart, {\n weekStartsOn: 1,\n }) + 1\n const weekDay = getISODay(monthStart)\n const month: CalendarViewDateType[][] = []\n let cursor = 0\n let date = 0\n\n for (let week = 0; week < weeksInMonth; week++) {\n month[week] = []\n for (let day = 0; day < 7; day++) {\n month[week][day] = { date: null }\n\n if (cursor >= weekDay - 1 && date < daysInMonth) {\n month[week][day].date = ++date as DateType\n\n const currentDate = setDate(monthStart, date)\n\n month[week][day].status =\n isPast(currentDate) && !isToday(currentDate)\n ? \"past\"\n : statusByDate[format(currentDate, \"yyyy-MM-dd\")]\n }\n cursor++\n }\n }\n return month\n }\n\n const monthByWeek = useMemo(() => getMonthByWeek(), [])\n\n return (\n <div className=\"cobalt-CalendarView__month\">\n <div className=\"cobalt-CalendarView__monthName\">{monthName}</div>\n {monthByWeek.map((week, weekIndex) => (\n <div key={weekIndex} className=\"cobalt-CalendarView__week\">\n {week.map((day, dayIndex) => (\n <div\n key={weekIndex + 1 * dayIndex + 1}\n className={cx(\"cobalt-CalendarView__day\", {\n [`cobalt-CalendarView__day--${day.status}`]: day.status,\n })}\n >\n {day.date}\n </div>\n ))}\n </div>\n ))}\n </div>\n )\n}\n\nCalendarViewMonth.displayName = \"CalendarViewMonth\"\n\nexport default CalendarViewMonth\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Calendar/CalendarView/index.tsx"],"sourcesContent":["import React from \"react\"\nimport Month from \"./CalendarViewMonth\"\nimport { MonthType } from \"./types\"\n\ntype Props = {\n months: MonthType[]\n}\n\nconst CalendarView = ({ months }: Props) => (\n <div className=\"cobalt-CalendarView\">\n {months.map((month) => (\n <Month key={month.monthStart} {...month} />\n ))}\n </div>\n)\n\nCalendarView.displayName = \"CalendarView\"\n\nexport { CalendarView }\n"],"names":["Month"],"mappings":";;;;IAQM,YAAY,GAAG,UAAC,EAAiB;QAAf,MAAM,YAAA;IAAc,QAC1C,6BAAK,SAAS,EAAC,qBAAqB,IACjC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,QACrB,oBAACA,iBAAK,aAAC,GAAG,EAAE,KAAK,CAAC,UAAU,IAAM,KAAK,EAAI,IAC5C,CAAC,CACE;AALoC,EAM3C;AAED,YAAY,CAAC,WAAW,GAAG,cAAc;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Calendar/CalendarView/index.tsx"],"sourcesContent":["import React from \"react\"\nimport Month from \"./CalendarViewMonth\"\nimport { MonthType } from \"./types\"\n\ntype Props = {\n months: MonthType[]\n}\n\nconst CalendarView = ({ months }: Props) => (\n <div className=\"cobalt-CalendarView\">\n {months.map((month) => (\n <Month key={month.monthStart} {...month} />\n ))}\n </div>\n)\n\nCalendarView.displayName = \"CalendarView\"\n\nexport { CalendarView }\n"],"names":["Month"],"mappings":";;;;AAQM,IAAA,YAAY,GAAG,UAAC,EAAiB,EAAA;AAAf,IAAA,IAAA,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;AAAc,IAAA,QAC1C,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAA,EACjC,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,QACrB,KAAC,CAAA,aAAA,CAAAA,iBAAK,EAAC,QAAA,CAAA,EAAA,GAAG,EAAE,KAAK,CAAC,UAAU,EAAA,EAAM,KAAK,CAAA,CAAI,EAC5C,EAAA,CAAC,CACE,EACP;AAN2C,EAM3C;AAED,YAAY,CAAC,WAAW,GAAG,cAAc;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Callout/index.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\n\nexport interface CalloutProps {\n children: React.ReactNode\n title?: string\n status: \"info\" | \"error\" | \"success\"\n close?: () => void\n}\n\nexport const Callout = ({\n title,\n children,\n status = \"info\",\n close,\n}: CalloutProps) => (\n <div\n className={cx(\"cobalt-Callout cobalt-bottom_margin_tight\", {\n \"cobalt-Callout--info\": status === \"info\",\n \"cobalt-Callout--error\": status === \"error\",\n \"cobalt-Callout--success\": status === \"success\",\n })}\n >\n {title && <div className=\"cobalt-Callout__Title\">{title}</div>}\n <p>{children}</p>\n {close && (\n <button className=\"cobalt-Callout__Close\" onClick={close} type=\"button\">\n <span aria-hidden=\"true\">×</span>\n </button>\n )}\n </div>\n)\n\nexport default Callout\n"],"names":[],"mappings":";;;IAUa,OAAO,GAAG,UAAC,EAKT;QAJb,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAA,EACf,KAAK,WAAA;IACa,QAClB,6BACE,SAAS,EAAE,EAAE,CAAC,2CAA2C,EAAE;YACzD,sBAAsB,EAAE,MAAM,KAAK,MAAM;YACzC,uBAAuB,EAAE,MAAM,KAAK,OAAO;YAC3C,yBAAyB,EAAE,MAAM,KAAK,SAAS;SAChD,CAAC;QAED,KAAK,IAAI,6BAAK,SAAS,EAAC,uBAAuB,IAAE,KAAK,CAAO;QAC9D,+BAAI,QAAQ,CAAK;QAChB,KAAK,KACJ,gCAAQ,SAAS,EAAC,uBAAuB,EAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAC,QAAQ;YACrE,6CAAkB,MAAM,aAAS,CAC1B,CACV,CACG;AAfY;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Callout/index.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\n\nexport interface CalloutProps {\n children: React.ReactNode\n title?: string\n status: \"info\" | \"error\" | \"success\"\n close?: () => void\n}\n\nexport const Callout = ({\n title,\n children,\n status = \"info\",\n close,\n}: CalloutProps) => (\n <div\n className={cx(\"cobalt-Callout cobalt-bottom_margin_tight\", {\n \"cobalt-Callout--info\": status === \"info\",\n \"cobalt-Callout--error\": status === \"error\",\n \"cobalt-Callout--success\": status === \"success\",\n })}\n >\n {title && <div className=\"cobalt-Callout__Title\">{title}</div>}\n <p>{children}</p>\n {close && (\n <button className=\"cobalt-Callout__Close\" onClick={close} type=\"button\">\n <span aria-hidden=\"true\">×</span>\n </button>\n )}\n </div>\n)\n\nexport default Callout\n"],"names":[],"mappings":";;;AAUO,IAAM,OAAO,GAAG,UAAC,EAKT,EAAA;AAJb,IAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,EAAA,GAAA,EAAA,CAAA,MAAe,EAAf,MAAM,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,MAAM,GAAA,EAAA,EACf,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;AACa,IAAA,QAClB,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,EAAE,CAAC,2CAA2C,EAAE;YACzD,sBAAsB,EAAE,MAAM,KAAK,MAAM;YACzC,uBAAuB,EAAE,MAAM,KAAK,OAAO;YAC3C,yBAAyB,EAAE,MAAM,KAAK,SAAS;SAChD,CAAC,EAAA;AAED,QAAA,KAAK,IAAI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,uBAAuB,EAAA,EAAE,KAAK,CAAO;AAC9D,QAAA,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,IAAA,EAAI,QAAQ,CAAK;AAChB,QAAA,KAAK,KACJ,KAAQ,CAAA,aAAA,CAAA,QAAA,EAAA,EAAA,SAAS,EAAC,uBAAuB,EAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAC,QAAQ,EAAA;AACrE,YAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EAAkB,MAAM,EAAA,EAAA,QAAA,CAAS,CAC1B,CACV,CACG,EACP;AAhBmB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Card/index.tsx"],"sourcesContent":["import React, { PureComponent, PropsWithChildren } from \"react\"\nimport cx from \"classnames\"\n\nexport type CardProps = PropsWithChildren<{\n className?: string\n flattened?: boolean\n}>\n\nexport const Card = ({ children, className, flattened }: CardProps) => (\n <div\n className={cx(\"cobalt-Card\", className, {\n \"cobalt-Card--flattened\": flattened,\n })}\n >\n {children}\n </div>\n)\n\nexport type CardSectionProps = {\n children: React.ReactNode\n tabBar?: boolean\n tight?: boolean\n subdued?: boolean\n /**\n * true or \"soft\"\n * @default false\n */\n divided?: boolean | string\n}\n\nexport type CardSectionLinkProps = CardSectionProps & {\n href: React.AnchorHTMLAttributes<HTMLAnchorElement>[\"href\"]\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>[\"target\"]\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>[\"rel\"]\n}\n\nconst getClasses = ({ tabBar, tight, subdued, divided }: CardSectionProps) => {\n return cx(\"cobalt-Card__Section\", {\n \"cobalt-Card__Section--tabBar\": tabBar === true,\n \"cobalt-Card__Section--tight\": tight === true,\n \"cobalt-Card__Section--subdued\": subdued === true,\n \"cobalt-Card__Section--divided\": divided === true,\n \"cobalt-Card__Section--dividedSoft\": divided === \"soft\",\n })\n}\n\nconst CardSectionLink = ({\n href,\n target,\n rel,\n ...baseProps\n}: CardSectionLinkProps) => {\n return (\n <a\n className={getClasses(baseProps)}\n href={href}\n target={target}\n rel={target && !rel ? \"noopener noreferrer\" : rel}\n >\n {baseProps.children}\n </a>\n )\n}\nCardSectionLink.displayName = \"CardSection.Link\"\n\nexport class CardSection extends PureComponent<CardSectionProps, never> {\n static Link = CardSectionLink\n render() {\n return <div className={getClasses(this.props)}>{this.props.children}</div>\n }\n}\n\nexport default Card\n"],"names":[],"mappings":";;;;IAQa,IAAI,GAAG,UAAC,EAA6C;QAA3C,QAAQ,cAAA,EAAE,SAAS,eAAA,EAAE,SAAS,eAAA;IAAkB,QACrE,6BACE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE;YACtC,wBAAwB,EAAE,SAAS;SACpC,CAAC,IAED,QAAQ,CACL;AAP+D,EAQtE;AAoBD,IAAM,UAAU,GAAG,UAAC,EAAqD;QAAnD,MAAM,YAAA,EAAE,KAAK,WAAA,EAAE,OAAO,aAAA,EAAE,OAAO,aAAA;IACnD,OAAO,EAAE,CAAC,sBAAsB,EAAE;QAChC,8BAA8B,EAAE,MAAM,KAAK,IAAI;QAC/C,6BAA6B,EAAE,KAAK,KAAK,IAAI;QAC7C,+BAA+B,EAAE,OAAO,KAAK,IAAI;QACjD,+BAA+B,EAAE,OAAO,KAAK,IAAI;QACjD,mCAAmC,EAAE,OAAO,KAAK,MAAM;KACxD,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,IAAM,eAAe,GAAG,UAAC,EAKF;IAJrB,IAAA,IAAI,UAAA,EACJ,MAAM,YAAA,EACN,GAAG,SAAA,EACA,SAAS,cAJW,yBAKxB,CADa;IAEZ,QACE,2BACE,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,EAChC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,GAAG,qBAAqB,GAAG,GAAG,IAEhD,SAAS,CAAC,QAAQ,CACjB,EACL;AACH,CAAC,CAAA;AACD,eAAe,CAAC,WAAW,GAAG,kBAAkB,CAAA;;IAEf,+BAAsC;IAAvE;;KAKC;IAHC,4BAAM,GAAN;QACE,OAAO,6BAAK,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CAAA;KAC3E;IAHM,gBAAI,GAAG,eAAe,CAAA;IAI/B,kBAAC;CAAA,CALgC,aAAa;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Card/index.tsx"],"sourcesContent":["import React, { PureComponent, PropsWithChildren } from \"react\"\nimport cx from \"classnames\"\n\nexport type CardProps = PropsWithChildren<{\n className?: string\n flattened?: boolean\n}>\n\nexport const Card = ({ children, className, flattened }: CardProps) => (\n <div\n className={cx(\"cobalt-Card\", className, {\n \"cobalt-Card--flattened\": flattened,\n })}\n >\n {children}\n </div>\n)\n\nexport type CardSectionProps = {\n children: React.ReactNode\n tabBar?: boolean\n tight?: boolean\n subdued?: boolean\n /**\n * true or \"soft\"\n * @default false\n */\n divided?: boolean | string\n}\n\nexport type CardSectionLinkProps = CardSectionProps & {\n href: React.AnchorHTMLAttributes<HTMLAnchorElement>[\"href\"]\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>[\"target\"]\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>[\"rel\"]\n}\n\nconst getClasses = ({ tabBar, tight, subdued, divided }: CardSectionProps) => {\n return cx(\"cobalt-Card__Section\", {\n \"cobalt-Card__Section--tabBar\": tabBar === true,\n \"cobalt-Card__Section--tight\": tight === true,\n \"cobalt-Card__Section--subdued\": subdued === true,\n \"cobalt-Card__Section--divided\": divided === true,\n \"cobalt-Card__Section--dividedSoft\": divided === \"soft\",\n })\n}\n\nconst CardSectionLink = ({\n href,\n target,\n rel,\n ...baseProps\n}: CardSectionLinkProps) => {\n return (\n <a\n className={getClasses(baseProps)}\n href={href}\n target={target}\n rel={target && !rel ? \"noopener noreferrer\" : rel}\n >\n {baseProps.children}\n </a>\n )\n}\nCardSectionLink.displayName = \"CardSection.Link\"\n\nexport class CardSection extends PureComponent<CardSectionProps, never> {\n static Link = CardSectionLink\n render() {\n return <div className={getClasses(this.props)}>{this.props.children}</div>\n }\n}\n\nexport default Card\n"],"names":[],"mappings":";;;;AAQO,IAAM,IAAI,GAAG,UAAC,EAA6C,EAAA;AAA3C,IAAA,IAAA,QAAQ,cAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,CAAA;IAAkB,QACrE,6BACE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE;AACtC,YAAA,wBAAwB,EAAE,SAAS;SACpC,CAAC,EAAA,EAED,QAAQ,CACL,EACP;AARsE,EAQtE;AAoBD,IAAM,UAAU,GAAG,UAAC,EAAqD,EAAA;QAAnD,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,OAAO,GAAA,EAAA,CAAA,OAAA,CAAA;IACnD,OAAO,EAAE,CAAC,sBAAsB,EAAE;QAChC,8BAA8B,EAAE,MAAM,KAAK,IAAI;QAC/C,6BAA6B,EAAE,KAAK,KAAK,IAAI;QAC7C,+BAA+B,EAAE,OAAO,KAAK,IAAI;QACjD,+BAA+B,EAAE,OAAO,KAAK,IAAI;QACjD,mCAAmC,EAAE,OAAO,KAAK,MAAM;AACxD,KAAA,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,IAAM,eAAe,GAAG,UAAC,EAKF,EAAA;AAJrB,IAAA,IAAA,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,GAAG,GAAA,EAAA,CAAA,GAAA,EACA,SAAS,GAJW,MAAA,CAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,KAAA,CAKxB,CADa,CAAA;AAEZ,IAAA,QACE,KACE,CAAA,aAAA,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,EAChC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,GAAG,qBAAqB,GAAG,GAAG,EAEhD,EAAA,SAAS,CAAC,QAAQ,CACjB,EACL;AACH,CAAC,CAAA;AACD,eAAe,CAAC,WAAW,GAAG,kBAAkB,CAAA;AAEhD,IAAA,WAAA,kBAAA,UAAA,MAAA,EAAA;IAAiC,SAAsC,CAAA,WAAA,EAAA,MAAA,CAAA,CAAA;AAAvE,IAAA,SAAA,WAAA,GAAA;;KAKC;AAHC,IAAA,WAAA,CAAA,SAAA,CAAA,MAAM,GAAN,YAAA;AACE,QAAA,OAAO,6BAAK,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAA,EAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CAAA;KAC3E,CAAA;IAHM,WAAI,CAAA,IAAA,GAAG,eAAe,CAAA;IAI/B,OAAC,WAAA,CAAA;CAAA,CALgC,aAAa,CAK7C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/CdwChoice/index.tsx"],"sourcesContent":["import React from \"react\"\n\nexport interface CdwChoiceProps {\n children: React.ReactNode\n id: string\n badge?: string\n price: string\n priceLabel: string\n}\n\nexport const CdwChoice = ({\n id,\n badge,\n price,\n priceLabel,\n children,\n}: CdwChoiceProps) => (\n <div className=\"cobalt-CdwChoice\">\n <input\n id={id}\n name=\"cdwChoice\"\n className=\"cobalt-CdwChoice__Input\"\n type=\"radio\"\n />\n <label htmlFor={id}>\n <div className=\"cobalt-CdwChoice__Control\" />\n <div className=\"cobalt-CdwChoice__Body\">\n <div className=\"cobalt-CdwChoice__Title\">\n {children}\n {badge && <div className=\"cobalt-CdwChoice__Badge\">{badge}</div>}\n </div>\n </div>\n <div className=\"cobalt-CdwChoice__PriceDetails\">\n <span className=\"cobalt-CdwChoice__Price\">{price}</span>\n {priceLabel}\n </div>\n </label>\n </div>\n)\n"],"names":[],"mappings":";;IAUa,SAAS,GAAG,UAAC,EAMT;QALf,EAAE,QAAA,EACF,KAAK,WAAA,EACL,KAAK,WAAA,EACL,UAAU,gBAAA,EACV,QAAQ,cAAA;IACY,QACpB,6BAAK,SAAS,EAAC,kBAAkB;QAC/B,+BACE,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,WAAW,EAChB,SAAS,EAAC,yBAAyB,EACnC,IAAI,EAAC,OAAO,GACZ;QACF,+BAAO,OAAO,EAAE,EAAE;YAChB,6BAAK,SAAS,EAAC,2BAA2B,GAAG;YAC7C,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,6BAAK,SAAS,EAAC,yBAAyB;oBACrC,QAAQ;oBACR,KAAK,IAAI,6BAAK,SAAS,EAAC,yBAAyB,IAAE,KAAK,CAAO,CAC5D,CACF;YACN,6BAAK,SAAS,EAAC,gCAAgC;gBAC7C,8BAAM,SAAS,EAAC,yBAAyB,IAAE,KAAK,CAAQ;gBACvD,UAAU,CACP,CACA,CACJ;AArBc;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/CdwChoice/index.tsx"],"sourcesContent":["import React from \"react\"\n\nexport interface CdwChoiceProps {\n children: React.ReactNode\n id: string\n badge?: string\n price: string\n priceLabel: string\n}\n\nexport const CdwChoice = ({\n id,\n badge,\n price,\n priceLabel,\n children,\n}: CdwChoiceProps) => (\n <div className=\"cobalt-CdwChoice\">\n <input\n id={id}\n name=\"cdwChoice\"\n className=\"cobalt-CdwChoice__Input\"\n type=\"radio\"\n />\n <label htmlFor={id}>\n <div className=\"cobalt-CdwChoice__Control\" />\n <div className=\"cobalt-CdwChoice__Body\">\n <div className=\"cobalt-CdwChoice__Title\">\n {children}\n {badge && <div className=\"cobalt-CdwChoice__Badge\">{badge}</div>}\n </div>\n </div>\n <div className=\"cobalt-CdwChoice__PriceDetails\">\n <span className=\"cobalt-CdwChoice__Price\">{price}</span>\n {priceLabel}\n </div>\n </label>\n </div>\n)\n"],"names":[],"mappings":";;AAUO,IAAM,SAAS,GAAG,UAAC,EAMT,EAAA;AALf,IAAA,IAAA,EAAE,GAAA,EAAA,CAAA,EAAA,EACF,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;AACY,IAAA,QACpB,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kBAAkB,EAAA;AAC/B,QAAA,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EACE,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,WAAW,EAChB,SAAS,EAAC,yBAAyB,EACnC,IAAI,EAAC,OAAO,EACZ,CAAA;QACF,KAAO,CAAA,aAAA,CAAA,OAAA,EAAA,EAAA,OAAO,EAAE,EAAE,EAAA;YAChB,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,2BAA2B,EAAG,CAAA;YAC7C,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,wBAAwB,EAAA;gBACrC,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,yBAAyB,EAAA;oBACrC,QAAQ;oBACR,KAAK,IAAI,6BAAK,SAAS,EAAC,yBAAyB,EAAE,EAAA,KAAK,CAAO,CAC5D,CACF;YACN,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,gCAAgC,EAAA;AAC7C,gBAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,yBAAyB,EAAA,EAAE,KAAK,CAAQ;gBACvD,UAAU,CACP,CACA,CACJ,EACP;AAtBqB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Cell/index.tsx"],"sourcesContent":["import React, { PropsWithChildren } from \"react\"\nimport cx from \"classnames\"\n\nexport type CellPropsType = PropsWithChildren<{\n divided?: boolean\n className?: string\n}>\nexport type CellSoftPropsType = PropsWithChildren<{\n softDivided?: boolean\n className?: string\n}>\n\nexport type CellsPropsType = {\n content: CellPropsType[\"children\"][]\n} & Omit<CellPropsType, \"children\">\nexport type CellsSoftPropsType = {\n content: CellSoftPropsType[\"children\"][]\n} & Omit<CellSoftPropsType, \"children\">\n\nfunction Cell(props: CellPropsType): JSX.Element\nfunction Cell(props: CellSoftPropsType): JSX.Element\nfunction Cell({\n children,\n divided,\n softDivided,\n className,\n}: CellPropsType & CellSoftPropsType): JSX.Element {\n return (\n <div\n className={cx(\"cobalt-cell\", className, {\n \"cobalt-cell--divided\": divided,\n \"cobalt-cell--softDivided\": softDivided,\n })}\n >\n {children}\n </div>\n )\n}\n\nexport function Cells(props: CellsPropsType): JSX.Element\nexport function Cells(props: CellsSoftPropsType): JSX.Element\nexport function Cells({\n content,\n ...cellProps\n}: CellsPropsType & CellsSoftPropsType): JSX.Element {\n return (\n <>\n {content.map((c, i) => (\n <Cell key={i} {...cellProps}>\n {c}\n </Cell>\n ))}\n </>\n )\n}\n\nexport default Cell\n"],"names":[],"mappings":";;;;AAqBA,SAAS,IAAI,CAAC,EAKsB;QAJlC,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,SAAS,eAAA;IAET,QACE,6BACE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE;YACtC,sBAAsB,EAAE,OAAO;YAC/B,0BAA0B,EAAE,WAAW;SACxC,CAAC,IAED,QAAQ,CACL,EACP;AACH,CAAC;SAIe,KAAK,CAAC,EAGgB;IAFpC,IAAA,OAAO,aAAA,EACJ,SAAS,cAFQ,WAGrB,CADa;IAEZ,QACE,0CACG,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QACrB,oBAAC,IAAI,aAAC,GAAG,EAAE,CAAC,IAAM,SAAS,GACxB,CAAC,CACG,IACR,CAAC,CACD,EACJ;AACH;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Cell/index.tsx"],"sourcesContent":["import React, { PropsWithChildren } from \"react\"\nimport cx from \"classnames\"\n\nexport type CellPropsType = PropsWithChildren<{\n divided?: boolean\n className?: string\n}>\nexport type CellSoftPropsType = PropsWithChildren<{\n softDivided?: boolean\n className?: string\n}>\n\nexport type CellsPropsType = {\n content: CellPropsType[\"children\"][]\n} & Omit<CellPropsType, \"children\">\nexport type CellsSoftPropsType = {\n content: CellSoftPropsType[\"children\"][]\n} & Omit<CellSoftPropsType, \"children\">\n\nfunction Cell(props: CellPropsType): JSX.Element\nfunction Cell(props: CellSoftPropsType): JSX.Element\nfunction Cell({\n children,\n divided,\n softDivided,\n className,\n}: CellPropsType & CellSoftPropsType): JSX.Element {\n return (\n <div\n className={cx(\"cobalt-cell\", className, {\n \"cobalt-cell--divided\": divided,\n \"cobalt-cell--softDivided\": softDivided,\n })}\n >\n {children}\n </div>\n )\n}\n\nexport function Cells(props: CellsPropsType): JSX.Element\nexport function Cells(props: CellsSoftPropsType): JSX.Element\nexport function Cells({\n content,\n ...cellProps\n}: CellsPropsType & CellsSoftPropsType): JSX.Element {\n return (\n <>\n {content.map((c, i) => (\n <Cell key={i} {...cellProps}>\n {c}\n </Cell>\n ))}\n </>\n )\n}\n\nexport default Cell\n"],"names":[],"mappings":";;;;AAqBA,SAAS,IAAI,CAAC,EAKsB,EAAA;QAJlC,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,SAAS,GAAA,EAAA,CAAA,SAAA,CAAA;IAET,QACE,6BACE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE;AACtC,YAAA,sBAAsB,EAAE,OAAO;AAC/B,YAAA,0BAA0B,EAAE,WAAW;AACxC,SAAA,CAAC,EAED,EAAA,QAAQ,CACL,EACP;AACH,CAAC;AAIK,SAAU,KAAK,CAAC,EAGgB,EAAA;AAFpC,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EACJ,SAAS,GAAA,MAAA,CAAA,EAAA,EAFQ,WAGrB,CADa,CAAA;AAEZ,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EACG,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,EAAK,EAAA,QACrB,KAAC,CAAA,aAAA,CAAA,IAAI,EAAC,QAAA,CAAA,EAAA,GAAG,EAAE,CAAC,EAAM,EAAA,SAAS,CACxB,EAAA,CAAC,CACG,EAHc,EAItB,CAAC,CACD,EACJ;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Chip/index.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\n\nexport interface ChipProps {\n onClick?(): void\n text: string\n image: string\n size?: \"large\"\n disabled?: boolean\n active?: boolean\n}\n\nexport interface ChipWrapperProps {\n onClick?(): void\n children: React.ReactElement\n disabled?: boolean\n className: string\n}\n\nconst ChipWrapper = (props: ChipWrapperProps) => {\n if (props.onClick) {\n return (\n <button {...props} type=\"button\" disabled={props.disabled}>\n {props.children}\n </button>\n )\n } else {\n return <div {...props}>{props.children}</div>\n }\n}\n\nexport const Chip = ({\n onClick,\n text,\n image,\n size,\n disabled,\n active,\n}: ChipProps) => {\n return (\n <ChipWrapper\n onClick={onClick}\n disabled={disabled}\n className={cx(\"cobalt-Chip\", {\n \"cobalt-Chip--large\": size === \"large\",\n \"cobalt-Chip--disabled\": disabled,\n \"cobalt-Chip--interactive\": !!onClick,\n \"cobalt-Chip--active\": active,\n })}\n >\n <div className=\"cobalt-Chip__Content\">\n <div\n className=\"cobalt-Chip__Image\"\n style={{ backgroundImage: `url(${image})` }}\n />\n <div className=\"cobalt-Chip__Text\">{text}</div>\n </div>\n </ChipWrapper>\n )\n}\n"],"names":[],"mappings":";;;;AAmBA,IAAM,WAAW,GAAG,UAAC,KAAuB;IAC1C,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,QACE,2CAAY,KAAK,IAAE,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,KACtD,KAAK,CAAC,QAAQ,CACR,EACV;KACF;SAAM;QACL,OAAO,wCAAS,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAO,CAAA;KAC9C;AACH,CAAC,CAAA;IAEY,IAAI,GAAG,UAAC,EAOT;QANV,OAAO,aAAA,EACP,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,MAAM,YAAA;IAEN,QACE,oBAAC,WAAW,IACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE;YAC3B,oBAAoB,EAAE,IAAI,KAAK,OAAO;YACtC,uBAAuB,EAAE,QAAQ;YACjC,0BAA0B,EAAE,CAAC,CAAC,OAAO;YACrC,qBAAqB,EAAE,MAAM;SAC9B,CAAC;QAEF,6BAAK,SAAS,EAAC,sBAAsB;YACnC,6BACE,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE,EAAE,eAAe,EAAE,cAAO,KAAK,MAAG,EAAE,GAC3C;YACF,6BAAK,SAAS,EAAC,mBAAmB,IAAE,IAAI,CAAO,CAC3C,CACM,EACf;AACH;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Chip/index.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\n\nexport interface ChipProps {\n onClick?(): void\n text: string\n image: string\n size?: \"large\"\n disabled?: boolean\n active?: boolean\n}\n\nexport interface ChipWrapperProps {\n onClick?(): void\n children: React.ReactElement\n disabled?: boolean\n className: string\n}\n\nconst ChipWrapper = (props: ChipWrapperProps) => {\n if (props.onClick) {\n return (\n <button {...props} type=\"button\" disabled={props.disabled}>\n {props.children}\n </button>\n )\n } else {\n return <div {...props}>{props.children}</div>\n }\n}\n\nexport const Chip = ({\n onClick,\n text,\n image,\n size,\n disabled,\n active,\n}: ChipProps) => {\n return (\n <ChipWrapper\n onClick={onClick}\n disabled={disabled}\n className={cx(\"cobalt-Chip\", {\n \"cobalt-Chip--large\": size === \"large\",\n \"cobalt-Chip--disabled\": disabled,\n \"cobalt-Chip--interactive\": !!onClick,\n \"cobalt-Chip--active\": active,\n })}\n >\n <div className=\"cobalt-Chip__Content\">\n <div\n className=\"cobalt-Chip__Image\"\n style={{ backgroundImage: `url(${image})` }}\n />\n <div className=\"cobalt-Chip__Text\">{text}</div>\n </div>\n </ChipWrapper>\n )\n}\n"],"names":[],"mappings":";;;;AAmBA,IAAM,WAAW,GAAG,UAAC,KAAuB,EAAA;IAC1C,IAAI,KAAK,CAAC,OAAO,EAAE;AACjB,QAAA,QACE,KAAY,CAAA,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,KAAK,IAAE,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACtD,CAAA,EAAA,KAAK,CAAC,QAAQ,CACR,EACV;AACF,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,wCAAS,KAAK,CAAA,EAAG,KAAK,CAAC,QAAQ,CAAO,CAAA;AAC9C,KAAA;AACH,CAAC,CAAA;AAEM,IAAM,IAAI,GAAG,UAAC,EAOT,EAAA;AANV,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,IAAI,UAAA,EACJ,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;AAEN,IAAA,QACE,KAAC,CAAA,aAAA,CAAA,WAAW,EACV,EAAA,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE;YAC3B,oBAAoB,EAAE,IAAI,KAAK,OAAO;AACtC,YAAA,uBAAuB,EAAE,QAAQ;YACjC,0BAA0B,EAAE,CAAC,CAAC,OAAO;AACrC,YAAA,qBAAqB,EAAE,MAAM;SAC9B,CAAC,EAAA;QAEF,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,sBAAsB,EAAA;AACnC,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE,EAAE,eAAe,EAAE,MAAA,CAAA,MAAA,CAAO,KAAK,EAAA,GAAA,CAAG,EAAE,EAC3C,CAAA;YACF,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,mBAAmB,EAAA,EAAE,IAAI,CAAO,CAC3C,CACM,EACf;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/EmptyState/index.tsx"],"sourcesContent":["import React from \"react\"\n\nimport { ButtonGroup, Button } from \"../Button\"\n\nexport interface EmptyStateProps {\n children?: React.ReactNode\n title: string\n action?: typeof Button\n secondaryAction?: typeof Button\n image: string\n}\n\nexport const EmptyState = ({\n title,\n children,\n action,\n secondaryAction,\n image,\n}: EmptyStateProps) => {\n return (\n <div className=\"cobalt-EmptyState\">\n <img\n className=\"cobalt-EmptyState__Image\"\n role=\"presentation\"\n alt=\"\"\n src={image}\n height={188}\n width={188}\n />\n <h2 className=\"cobalt-EmptyState__Title\">{title}</h2>\n {children && <div className=\"cobalt-EmptyState__Body\">{children}</div>}\n {action && (\n <ButtonGroup align=\"center\">\n {action}\n {secondaryAction}\n </ButtonGroup>\n )}\n </div>\n )\n}\n"],"names":[],"mappings":";;;IAYa,UAAU,GAAG,UAAC,EAMT;QALhB,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,eAAe,qBAAA,EACf,KAAK,WAAA;IAEL,QACE,6BAAK,SAAS,EAAC,mBAAmB;QAChC,6BACE,SAAS,EAAC,0BAA0B,EACpC,IAAI,EAAC,cAAc,EACnB,GAAG,EAAC,EAAE,EACN,GAAG,EAAE,KAAK,EACV,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,GAAG,GACV;QACF,4BAAI,SAAS,EAAC,0BAA0B,IAAE,KAAK,CAAM;QACpD,QAAQ,IAAI,6BAAK,SAAS,EAAC,yBAAyB,IAAE,QAAQ,CAAO;QACrE,MAAM,KACL,oBAAC,WAAW,IAAC,KAAK,EAAC,QAAQ;YACxB,MAAM;YACN,eAAe,CACJ,CACf,CACG,EACP;AACH;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/EmptyState/index.tsx"],"sourcesContent":["import React from \"react\"\n\nimport { ButtonGroup, Button } from \"../Button\"\n\nexport interface EmptyStateProps {\n children?: React.ReactNode\n title: string\n action?: typeof Button\n secondaryAction?: typeof Button\n image: string\n}\n\nexport const EmptyState = ({\n title,\n children,\n action,\n secondaryAction,\n image,\n}: EmptyStateProps) => {\n return (\n <div className=\"cobalt-EmptyState\">\n <img\n className=\"cobalt-EmptyState__Image\"\n role=\"presentation\"\n alt=\"\"\n src={image}\n height={188}\n width={188}\n />\n <h2 className=\"cobalt-EmptyState__Title\">{title}</h2>\n {children && <div className=\"cobalt-EmptyState__Body\">{children}</div>}\n {action && (\n <ButtonGroup align=\"center\">\n {action}\n {secondaryAction}\n </ButtonGroup>\n )}\n </div>\n )\n}\n"],"names":[],"mappings":";;;AAYO,IAAM,UAAU,GAAG,UAAC,EAMT,EAAA;AALhB,IAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,eAAe,GAAA,EAAA,CAAA,eAAA,EACf,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;AAEL,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mBAAmB,EAAA;QAChC,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,0BAA0B,EACpC,IAAI,EAAC,cAAc,EACnB,GAAG,EAAC,EAAE,EACN,GAAG,EAAE,KAAK,EACV,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,GAAG,EACV,CAAA;AACF,QAAA,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,0BAA0B,EAAA,EAAE,KAAK,CAAM;AACpD,QAAA,QAAQ,IAAI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,yBAAyB,EAAA,EAAE,QAAQ,CAAO;AACrE,QAAA,MAAM,KACL,KAAA,CAAA,aAAA,CAAC,WAAW,EAAC,EAAA,KAAK,EAAC,QAAQ,EAAA;YACxB,MAAM;AACN,YAAA,eAAe,CACJ,CACf,CACG,EACP;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Flag/index.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\nimport { countries } from \"../../tokens\"\n\nimport * as flags from \"../../icons/countries\"\nimport { eqSet } from \"../utils\"\n\nif (\n !eqSet<string>(\n new Set(Object.keys(flags)),\n new Set(Object.keys(countries.flags))\n )\n)\n throw new Error(\n \"Flag sources and tokens are not consistent. Did you add the source and export it\"\n )\n\ninterface FlagsMap {\n [name: string]: string\n}\n\nexport const BUNDLED_FLAGS: FlagsMap = Object.freeze(\n Object.keys(countries.flags).reduce(\n (bundledFlags, name) => ({\n ...bundledFlags,\n [name]: (flags as FlagsMap)[name],\n }),\n {}\n )\n)\n\nexport interface FlagProps {\n country: string\n /**\n * Available size in px\n * @default 24\n */\n size?: 16 | 20 | 24 | 32\n}\n\nexport const Flag = ({ country, size = 24 }: FlagProps) => {\n const className = cx(\"cobalt-Flag\", {\n \"cobalt-Flag--size16\": size === 16,\n \"cobalt-Flag--size20\": size === 20,\n \"cobalt-Flag--size32\": size === 32,\n })\n\n const countryFlag = BUNDLED_FLAGS[country]\n\n if (countryFlag == null)\n throw new Error(\n `'${country}' Flag can not be found. Did you add the source and export it`\n )\n\n return (\n <span\n className={className}\n dangerouslySetInnerHTML={{ __html: countryFlag }}\n />\n )\n}\n"],"names":["flags"],"mappings":";;;;;;;;AAOA,IACE,CAAC,KAAK,CACJ,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAACA,KAAK,CAAC,CAAC,EAC3B,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACtC;IAED,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IAMU,aAAa,GAAa,MAAM,CAAC,MAAM,CAClD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CACjC,UAAC,YAAY,EAAE,IAAI;;IAAK,8BACnB,YAAY,gBACd,IAAI,IAAIA,KAAkB,CAAC,IAAI,CAAC;AAFX,CAGtB,EACF,EAAE,CACH,EACF;IAWY,IAAI,GAAG,UAAC,EAAiC;QAA/B,OAAO,aAAA,EAAE,YAAS,EAAT,IAAI,mBAAG,EAAE,KAAA;IACvC,IAAM,SAAS,GAAG,EAAE,CAAC,aAAa,EAAE;QAClC,qBAAqB,EAAE,IAAI,KAAK,EAAE;QAClC,qBAAqB,EAAE,IAAI,KAAK,EAAE;QAClC,qBAAqB,EAAE,IAAI,KAAK,EAAE;KACnC,CAAC,CAAA;IAEF,IAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAE1C,IAAI,WAAW,IAAI,IAAI;QACrB,MAAM,IAAI,KAAK,CACb,WAAI,OAAO,kEAA+D,CAC3E,CAAA;IAEH,QACE,8BACE,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,GAChD,EACH;AACH;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Flag/index.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\nimport { countries } from \"../../tokens\"\n\nimport * as flags from \"../../icons/countries\"\nimport { eqSet } from \"../utils\"\n\nif (\n !eqSet<string>(\n new Set(Object.keys(flags)),\n new Set(Object.keys(countries.flags))\n )\n)\n throw new Error(\n \"Flag sources and tokens are not consistent. Did you add the source and export it\"\n )\n\ninterface FlagsMap {\n [name: string]: string\n}\n\nexport const BUNDLED_FLAGS: FlagsMap = Object.freeze(\n Object.keys(countries.flags).reduce(\n (bundledFlags, name) => ({\n ...bundledFlags,\n [name]: (flags as FlagsMap)[name],\n }),\n {}\n )\n)\n\nexport interface FlagProps {\n country: string\n /**\n * Available size in px\n * @default 24\n */\n size?: 16 | 20 | 24 | 32\n}\n\nexport const Flag = ({ country, size = 24 }: FlagProps) => {\n const className = cx(\"cobalt-Flag\", {\n \"cobalt-Flag--size16\": size === 16,\n \"cobalt-Flag--size20\": size === 20,\n \"cobalt-Flag--size32\": size === 32,\n })\n\n const countryFlag = BUNDLED_FLAGS[country]\n\n if (countryFlag == null)\n throw new Error(\n `'${country}' Flag can not be found. Did you add the source and export it`\n )\n\n return (\n <span\n className={className}\n dangerouslySetInnerHTML={{ __html: countryFlag }}\n />\n )\n}\n"],"names":["flags"],"mappings":";;;;;;;;AAOA,IACE,CAAC,KAAK,CACJ,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAACA,KAAK,CAAC,CAAC,EAC3B,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACtC;AAED,IAAA,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IAMU,aAAa,GAAa,MAAM,CAAC,MAAM,CAClD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CACjC,UAAC,YAAY,EAAE,IAAI,EAAA;;IAAK,QAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACnB,YAAY,CACd,GAAA,EAAA,GAAA,EAAA,EAAA,EAAA,CAAA,IAAI,IAAIA,KAAkB,CAAC,IAAI,CAAC,EACjC,EAAA,EAAA,EAAA;AAHsB,CAGtB,EACF,EAAE,CACH,EACF;AAWM,IAAM,IAAI,GAAG,UAAC,EAAiC,EAAA;AAA/B,IAAA,IAAA,OAAO,aAAA,EAAE,EAAA,GAAA,EAAA,CAAA,IAAS,EAAT,IAAI,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,CAAA;AACvC,IAAA,IAAM,SAAS,GAAG,EAAE,CAAC,aAAa,EAAE;QAClC,qBAAqB,EAAE,IAAI,KAAK,EAAE;QAClC,qBAAqB,EAAE,IAAI,KAAK,EAAE;QAClC,qBAAqB,EAAE,IAAI,KAAK,EAAE;AACnC,KAAA,CAAC,CAAA;AAEF,IAAA,IAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IAE1C,IAAI,WAAW,IAAI,IAAI;AACrB,QAAA,MAAM,IAAI,KAAK,CACb,WAAI,OAAO,EAAA,+DAAA,CAA+D,CAC3E,CAAA;AAEH,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAA,CAChD,EACH;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Flash/index.tsx"],"sourcesContent":["import React from \"react\"\nimport { Icon, IconColors, IconSources } from \"../Icon\"\n\nexport type FlashStatus = \"info\" | \"success\" | \"error\"\n\nexport interface FlashProps {\n children: React.ReactNode\n status: FlashStatus\n}\n\nconst ICON_SIZE = 20\n\nconst STATUS_ICONS_MAP: { [k in FlashStatus]: IconSources } = {\n info: \"infoFilled\",\n success: \"checkCircle\",\n error: \"contextualWarningCircleFilled\",\n}\n\nconst STATUS_ICON_COLOR_MAP: { [k in FlashStatus]: IconColors } = {\n info: \"aller\",\n success: \"signal\",\n error: \"essence\",\n}\n\nexport const Flash = ({ children, status = \"info\" }: FlashProps) => {\n const icon = STATUS_ICONS_MAP[status]\n ? STATUS_ICONS_MAP[status]\n : \"infoFilled\"\n\n const iconColor: IconColors = STATUS_ICON_COLOR_MAP[status]\n ? STATUS_ICON_COLOR_MAP[status]\n : \"aller\"\n\n return (\n <div className=\"cobalt-Flash\">\n <div className=\"cobalt-Flash__wrapper\">\n <span className=\"cobalt-Flash__Icon\">\n <Icon source={icon} size={ICON_SIZE} color={iconColor} />\n </span>\n <span className=\"cobalt-Flash__content\">{children}</span>\n </div>\n </div>\n )\n}\n"],"names":[],"mappings":";;;AAUA,IAAM,SAAS,GAAG,EAAE,CAAA;AAEpB,IAAM,gBAAgB,GAAwC;IAC5D,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,+BAA+B;CACvC,CAAA;AAED,IAAM,qBAAqB,GAAuC;IAChE,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,SAAS;CACjB,CAAA;IAEY,KAAK,GAAG,UAAC,EAAyC;QAAvC,QAAQ,cAAA,EAAE,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAA;IAC/C,IAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC;UACjC,gBAAgB,CAAC,MAAM,CAAC;UACxB,YAAY,CAAA;IAEhB,IAAM,SAAS,GAAe,qBAAqB,CAAC,MAAM,CAAC;UACvD,qBAAqB,CAAC,MAAM,CAAC;UAC7B,OAAO,CAAA;IAEX,QACE,6BAAK,SAAS,EAAC,cAAc;QAC3B,6BAAK,SAAS,EAAC,uBAAuB;YACpC,8BAAM,SAAS,EAAC,oBAAoB;gBAClC,oBAAC,IAAI,IAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAI,CACpD;YACP,8BAAM,SAAS,EAAC,uBAAuB,IAAE,QAAQ,CAAQ,CACrD,CACF,EACP;AACH;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Flash/index.tsx"],"sourcesContent":["import React from \"react\"\nimport { Icon, IconColors, IconSources } from \"../Icon\"\n\nexport type FlashStatus = \"info\" | \"success\" | \"error\"\n\nexport interface FlashProps {\n children: React.ReactNode\n status: FlashStatus\n}\n\nconst ICON_SIZE = 20\n\nconst STATUS_ICONS_MAP: { [k in FlashStatus]: IconSources } = {\n info: \"infoFilled\",\n success: \"checkCircle\",\n error: \"contextualWarningCircleFilled\",\n}\n\nconst STATUS_ICON_COLOR_MAP: { [k in FlashStatus]: IconColors } = {\n info: \"aller\",\n success: \"signal\",\n error: \"essence\",\n}\n\nexport const Flash = ({ children, status = \"info\" }: FlashProps) => {\n const icon = STATUS_ICONS_MAP[status]\n ? STATUS_ICONS_MAP[status]\n : \"infoFilled\"\n\n const iconColor: IconColors = STATUS_ICON_COLOR_MAP[status]\n ? STATUS_ICON_COLOR_MAP[status]\n : \"aller\"\n\n return (\n <div className=\"cobalt-Flash\">\n <div className=\"cobalt-Flash__wrapper\">\n <span className=\"cobalt-Flash__Icon\">\n <Icon source={icon} size={ICON_SIZE} color={iconColor} />\n </span>\n <span className=\"cobalt-Flash__content\">{children}</span>\n </div>\n </div>\n )\n}\n"],"names":[],"mappings":";;;AAUA,IAAM,SAAS,GAAG,EAAE,CAAA;AAEpB,IAAM,gBAAgB,GAAwC;AAC5D,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,KAAK,EAAE,+BAA+B;CACvC,CAAA;AAED,IAAM,qBAAqB,GAAuC;AAChE,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,KAAK,EAAE,SAAS;CACjB,CAAA;AAEM,IAAM,KAAK,GAAG,UAAC,EAAyC,EAAA;AAAvC,IAAA,IAAA,QAAQ,cAAA,EAAE,EAAA,GAAA,EAAA,CAAA,MAAe,EAAf,MAAM,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,MAAM,GAAA,EAAA,CAAA;AAC/C,IAAA,IAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC;AACnC,UAAE,gBAAgB,CAAC,MAAM,CAAC;UACxB,YAAY,CAAA;AAEhB,IAAA,IAAM,SAAS,GAAe,qBAAqB,CAAC,MAAM,CAAC;AACzD,UAAE,qBAAqB,CAAC,MAAM,CAAC;UAC7B,OAAO,CAAA;AAEX,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,cAAc,EAAA;QAC3B,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,uBAAuB,EAAA;YACpC,KAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,oBAAoB,EAAA;AAClC,gBAAA,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAI,CACpD;YACP,KAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,uBAAuB,EAAA,EAAE,QAAQ,CAAQ,CACrD,CACF,EACP;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Form/Autocomplete/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, ElementType } from \"react\"\nimport { useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport {\n Combobox,\n ComboboxInput,\n ComboboxPopover,\n ComboboxList,\n ComboboxOption,\n ComboboxOptionText,\n} from \"@reach/combobox\"\n\nimport { Icon, IconSources } from \"../../Icon\"\n\nimport { withFieldLabelAndHint } from \"../field\"\nimport { TextInputWrapper } from \"../TextInput\"\nimport { FormElement } from \"../form\"\n\nexport interface AutocompleteItem {\n [x: string]: any\n}\n\ntype ComboboxPopoverType = ElementType<\"div\"> & HTMLDivElement\ntype ComboboxOptionType = HTMLLIElement & React.ElementType<\"li\">\ntype ComboboxOptionMouseEventType = React.MouseEvent<\n ComboboxOptionType,\n MouseEvent\n>\n\ntype Props = {\n icon?: IconSources\n items: (AutocompleteItem | string)[]\n minQueryLength?: number\n autoFilter?: boolean\n selectedItem?: AutocompleteItem\n focusOnInit?: boolean\n autocomplete?: boolean\n valueKey?: string\n inputRef?: React.RefObject<HTMLInputElement>\n autocompleteRef?: React.RefObject<HTMLDivElement>\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void\n onQueryChange?: (term: string) => void\n onSelectItem?: (item: AutocompleteItem, term: string) => boolean\n renderItem?: (item: AutocompleteItem, term: string) => React.ReactNode\n} & FormElement &\n React.InputHTMLAttributes<HTMLInputElement>\n\nfunction filterMatchingItems(\n items: AutocompleteItem[],\n term: string,\n minLength: number,\n valueKey: string\n) {\n const [matchingItems, setMatchingItems] = useState<AutocompleteItem[]>([])\n\n useEffect(() => {\n term.length >= minLength\n ? setMatchingItems(\n items.filter((item: AutocompleteItem) => {\n return item[valueKey].toLowerCase().indexOf(term.toLowerCase()) > -1\n })\n )\n : setMatchingItems([])\n }, [items, term, valueKey])\n\n return matchingItems\n}\n\nfunction sanitizeItems(items: (AutocompleteItem | string)[], valueKey: string) {\n const [sanitizedItems, setSanitizedItems] = useState<AutocompleteItem[]>([])\n useEffect(() => {\n setSanitizedItems(\n items.map((item) =>\n typeof item === \"string\" ? { [valueKey]: item } : item\n )\n )\n }, [items])\n return sanitizedItems\n}\n\nfunction Autocomplete({\n id,\n icon,\n status,\n items,\n selectedItem,\n autoFilter = true,\n minQueryLength = 1,\n focusOnInit = false,\n onKeyDown,\n onFocus,\n onBlur,\n onQueryChange,\n onSelectItem,\n renderItem,\n inputRef,\n autocompleteRef,\n valueKey = \"value\",\n ...inputProps\n}: Props) {\n const [term, setTerm] = useState(\"\")\n\n const [hasFocus, setHasFocus] = useState(false)\n\n let ignoreFocus = false // extra flag to ignore programmatical focus triggered by click on item\n\n const results = autoFilter\n ? filterMatchingItems(\n sanitizeItems(items, valueKey),\n term,\n minQueryLength,\n valueKey\n )\n : sanitizeItems(items, valueKey)\n\n const comboboxEl = autocompleteRef || useRef<HTMLDivElement>(null)\n\n const inputEl = inputRef || useRef<HTMLInputElement>(null)\n\n const popoverEl = useRef<ComboboxPopoverType>(null)\n\n const giveInputFocus = () => {\n inputEl.current && inputEl.current.focus()\n }\n\n const forceIdTimer = useRef<any>()\n const focusTimer = useRef<any>()\n const blurTimer = useRef<any>()\n const clearInputTimer = useRef<any>()\n\n function forceId() {\n // id is overriden by Reach ui Combobox\n forceIdTimer.current = setTimeout(() => {\n id && inputEl.current && inputEl.current.setAttribute(\"id\", id)\n })\n }\n\n useEffect(() => {\n // on mount ...\n focusOnInit && giveInputFocus()\n\n return () => {\n forceIdTimer.current && clearTimeout(forceIdTimer.current)\n focusTimer.current && clearTimeout(focusTimer.current)\n blurTimer.current && clearTimeout(blurTimer.current)\n clearInputTimer.current && clearTimeout(clearInputTimer.current)\n }\n }, [])\n\n useEffect(() => {\n forceId()\n }, [id])\n\n useEffect(() => {\n setTerm(selectedItem ? \"\" + selectedItem[valueKey] : \"\")\n }, [selectedItem])\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n !ignoreFocus && onFocus && onFocus(event)\n ignoreFocus = false\n focusTimer.current = setTimeout(() => {\n // required by \"forceDisplayResults\" mechanism\n setHasFocus(true)\n }, 100)\n }\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n // blur interceptor required by \"forceDisplayResults\" mechanism\n onBlur && onBlur(event)\n blurTimer.current = setTimeout(() => {\n setHasFocus(false)\n }, 100)\n }\n\n const handleChange = (event: React.FocusEvent<HTMLInputElement>) => {\n const inputValue = (event.target as HTMLInputElement).value\n if (inputValue.trim().length || term.length) {\n // to prevent starting with a space character\n setTerm(inputValue)\n onQueryChange && onQueryChange(inputValue)\n }\n }\n\n const handleClearInput = () => {\n setTerm(\"\")\n onQueryChange && onQueryChange(\"\")\n\n clearInputTimer.current = setTimeout(giveInputFocus) //timeout to trigger openOnFocus\n }\n\n const handleSelectItem = (\n item: AutocompleteItem,\n e: ComboboxOptionMouseEventType | React.KeyboardEvent<HTMLElement>\n ) => {\n // item click interceptor to enable custom select cancellation\n const processSelection = onSelectItem\n ? onSelectItem(item, term) !== false\n : true\n\n if (processSelection) {\n setTerm(item[valueKey])\n } else if (e) {\n e.preventDefault()\n ignoreFocus = true\n giveInputFocus()\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n onKeyDown && onKeyDown(e)\n\n // ENTER key down interceptor to enable custom select cancellation\n const KEY_CODE_ENTER = 13\n\n // BACKSPACE key down interceptor to synchonize react input value and dom input value in some edge case (Comnbobox autocomplete = true)\n const KEY_CODE_BACKSPACE = 8\n\n if (e.keyCode === KEY_CODE_ENTER) {\n if (!popoverEl.current) return\n\n const options = Array.from(\n popoverEl.current.querySelectorAll(\"[data-reach-combobox-option]\")\n )\n\n const selectedItemIndex = options.findIndex(\n (el) => el.getAttribute(\"aria-selected\") === \"true\"\n )\n\n selectedItemIndex >= 0 && handleSelectItem(results[selectedItemIndex], e)\n } else if (e.keyCode === KEY_CODE_BACKSPACE) {\n if (!inputEl.current) return\n if (inputEl.current.value.slice(0, -1) === term) {\n setTerm(inputEl.current.value)\n }\n }\n }\n\n const shouldDisplayItemsOnEmptyQuery = () => {\n return !autoFilter && results.length > 0 && term.length === 0 && hasFocus\n }\n\n const handleMouseDown = (\n item: AutocompleteItem,\n e: ComboboxOptionMouseEventType\n ) => {\n // In a specific case, we force the popover to display (results available, empty input using backspace)\n // But doing so, reach ui component is not ready for this case and will raise an error\n // We need to prevent the error and to force the selection\n if (\n shouldDisplayItemsOnEmptyQuery() &&\n popoverEl.current &&\n popoverEl.current.getAttribute(\"hidden\") != null\n ) {\n e.preventDefault() // it will prevent reach ui combobox to raise an error\n handleSelectItem(item, e) // we force the selection to be processed\n }\n }\n\n return (\n <Combobox\n className={classNames(\"cobalt-Autocomplete\", {\n \"cobalt-Autocomplete--forceDisplayResults\":\n shouldDisplayItemsOnEmptyQuery(), // Combobox Component, by design, hide the popover when the input is empty (on change) even if there are some results.\n })}\n as=\"div\"\n openOnFocus={true}\n ref={comboboxEl}\n >\n {results.length > 0 && (\n <ComboboxPopover\n className=\"cobalt-Autocomplete__popover\"\n portal={false}\n ref={popoverEl}\n >\n <ComboboxList\n className=\"cobalt-Autocomplete__list\"\n aria-label=\"Autocomplete option\"\n >\n {results.map((item, index) => (\n <ComboboxOption\n className=\"cobalt-Autocomplete__item\"\n key={index}\n value={item[valueKey]}\n onMouseDown={(e: ComboboxOptionMouseEventType) => {\n handleMouseDown(item, e)\n }}\n onClick={(e: ComboboxOptionMouseEventType) => {\n handleSelectItem(item, e)\n }}\n >\n {renderItem ? (\n renderItem(item, term)\n ) : (\n <span className=\"cobalt-Autocomplete__item-wrapper\">\n {icon && (\n <span className=\"cobalt-Autocomplete__item-icon\">\n <Icon source={icon} color=\"indigo\" />\n </span>\n )}\n\n <span className=\"cobalt-Autocomplete__item-value\">\n <ComboboxOptionText />\n </span>\n </span>\n )}\n </ComboboxOption>\n ))}\n </ComboboxList>\n </ComboboxPopover>\n )}\n <div className=\"cobalt-Autocomplete__input-wrapper\">\n <TextInputWrapper\n icon={icon}\n status={status}\n render={(className) => {\n return (\n <ComboboxInput\n {...inputProps}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck={false}\n aria-label=\"autocomplete input\"\n type=\"text\"\n value={term}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={inputEl}\n className={className}\n />\n )\n }}\n />\n\n {term && (\n <div\n className=\"cobalt-Autocomplete__clear-button\"\n onClick={handleClearInput}\n >\n <Icon source=\"close\" size={16} />\n </div>\n )}\n </div>\n </Combobox>\n )\n}\n\nconst wrappedComponent = withFieldLabelAndHint(Autocomplete)\nwrappedComponent.displayName = \"Autocomplete\"\n\nexport { wrappedComponent as Autocomplete }\n"],"names":["classNames"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Form/Autocomplete/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, ElementType } from \"react\"\nimport { useState } from \"react\"\nimport classNames from \"classnames\"\n\nimport {\n Combobox,\n ComboboxInput,\n ComboboxPopover,\n ComboboxList,\n ComboboxOption,\n ComboboxOptionText,\n} from \"@reach/combobox\"\n\nimport { Icon, IconSources } from \"../../Icon\"\n\nimport { withFieldLabelAndHint } from \"../field\"\nimport { TextInputWrapper } from \"../TextInput\"\nimport { FormElement } from \"../form\"\n\nexport interface AutocompleteItem {\n [x: string]: any\n}\n\ntype ComboboxPopoverType = ElementType<\"div\"> & HTMLDivElement\ntype ComboboxOptionType = HTMLLIElement & React.ElementType<\"li\">\ntype ComboboxOptionMouseEventType = React.MouseEvent<\n ComboboxOptionType,\n MouseEvent\n>\n\ntype Props = {\n icon?: IconSources\n items: (AutocompleteItem | string)[]\n minQueryLength?: number\n autoFilter?: boolean\n selectedItem?: AutocompleteItem\n focusOnInit?: boolean\n autocomplete?: boolean\n valueKey?: string\n inputRef?: React.RefObject<HTMLInputElement>\n autocompleteRef?: React.RefObject<HTMLDivElement>\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void\n onQueryChange?: (term: string) => void\n onSelectItem?: (item: AutocompleteItem, term: string) => boolean\n renderItem?: (item: AutocompleteItem, term: string) => React.ReactNode\n} & FormElement &\n React.InputHTMLAttributes<HTMLInputElement>\n\nfunction filterMatchingItems(\n items: AutocompleteItem[],\n term: string,\n minLength: number,\n valueKey: string\n) {\n const [matchingItems, setMatchingItems] = useState<AutocompleteItem[]>([])\n\n useEffect(() => {\n term.length >= minLength\n ? setMatchingItems(\n items.filter((item: AutocompleteItem) => {\n return item[valueKey].toLowerCase().indexOf(term.toLowerCase()) > -1\n })\n )\n : setMatchingItems([])\n }, [items, term, valueKey])\n\n return matchingItems\n}\n\nfunction sanitizeItems(items: (AutocompleteItem | string)[], valueKey: string) {\n const [sanitizedItems, setSanitizedItems] = useState<AutocompleteItem[]>([])\n useEffect(() => {\n setSanitizedItems(\n items.map((item) =>\n typeof item === \"string\" ? { [valueKey]: item } : item\n )\n )\n }, [items])\n return sanitizedItems\n}\n\nfunction Autocomplete({\n id,\n icon,\n status,\n items,\n selectedItem,\n autoFilter = true,\n minQueryLength = 1,\n focusOnInit = false,\n onKeyDown,\n onFocus,\n onBlur,\n onQueryChange,\n onSelectItem,\n renderItem,\n inputRef,\n autocompleteRef,\n valueKey = \"value\",\n ...inputProps\n}: Props) {\n const [term, setTerm] = useState(\"\")\n\n const [hasFocus, setHasFocus] = useState(false)\n\n let ignoreFocus = false // extra flag to ignore programmatical focus triggered by click on item\n\n const results = autoFilter\n ? filterMatchingItems(\n sanitizeItems(items, valueKey),\n term,\n minQueryLength,\n valueKey\n )\n : sanitizeItems(items, valueKey)\n\n const comboboxEl = autocompleteRef || useRef<HTMLDivElement>(null)\n\n const inputEl = inputRef || useRef<HTMLInputElement>(null)\n\n const popoverEl = useRef<ComboboxPopoverType>(null)\n\n const giveInputFocus = () => {\n inputEl.current && inputEl.current.focus()\n }\n\n const forceIdTimer = useRef<any>()\n const focusTimer = useRef<any>()\n const blurTimer = useRef<any>()\n const clearInputTimer = useRef<any>()\n\n function forceId() {\n // id is overriden by Reach ui Combobox\n forceIdTimer.current = setTimeout(() => {\n id && inputEl.current && inputEl.current.setAttribute(\"id\", id)\n })\n }\n\n useEffect(() => {\n // on mount ...\n focusOnInit && giveInputFocus()\n\n return () => {\n forceIdTimer.current && clearTimeout(forceIdTimer.current)\n focusTimer.current && clearTimeout(focusTimer.current)\n blurTimer.current && clearTimeout(blurTimer.current)\n clearInputTimer.current && clearTimeout(clearInputTimer.current)\n }\n }, [])\n\n useEffect(() => {\n forceId()\n }, [id])\n\n useEffect(() => {\n setTerm(selectedItem ? \"\" + selectedItem[valueKey] : \"\")\n }, [selectedItem])\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n !ignoreFocus && onFocus && onFocus(event)\n ignoreFocus = false\n focusTimer.current = setTimeout(() => {\n // required by \"forceDisplayResults\" mechanism\n setHasFocus(true)\n }, 100)\n }\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n // blur interceptor required by \"forceDisplayResults\" mechanism\n onBlur && onBlur(event)\n blurTimer.current = setTimeout(() => {\n setHasFocus(false)\n }, 100)\n }\n\n const handleChange = (event: React.FocusEvent<HTMLInputElement>) => {\n const inputValue = (event.target as HTMLInputElement).value\n if (inputValue.trim().length || term.length) {\n // to prevent starting with a space character\n setTerm(inputValue)\n onQueryChange && onQueryChange(inputValue)\n }\n }\n\n const handleClearInput = () => {\n setTerm(\"\")\n onQueryChange && onQueryChange(\"\")\n\n clearInputTimer.current = setTimeout(giveInputFocus) //timeout to trigger openOnFocus\n }\n\n const handleSelectItem = (\n item: AutocompleteItem,\n e: ComboboxOptionMouseEventType | React.KeyboardEvent<HTMLElement>\n ) => {\n // item click interceptor to enable custom select cancellation\n const processSelection = onSelectItem\n ? onSelectItem(item, term) !== false\n : true\n\n if (processSelection) {\n setTerm(item[valueKey])\n } else if (e) {\n e.preventDefault()\n ignoreFocus = true\n giveInputFocus()\n }\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n onKeyDown && onKeyDown(e)\n\n // ENTER key down interceptor to enable custom select cancellation\n const KEY_CODE_ENTER = 13\n\n // BACKSPACE key down interceptor to synchonize react input value and dom input value in some edge case (Comnbobox autocomplete = true)\n const KEY_CODE_BACKSPACE = 8\n\n if (e.keyCode === KEY_CODE_ENTER) {\n if (!popoverEl.current) return\n\n const options = Array.from(\n popoverEl.current.querySelectorAll(\"[data-reach-combobox-option]\")\n )\n\n const selectedItemIndex = options.findIndex(\n (el) => el.getAttribute(\"aria-selected\") === \"true\"\n )\n\n selectedItemIndex >= 0 && handleSelectItem(results[selectedItemIndex], e)\n } else if (e.keyCode === KEY_CODE_BACKSPACE) {\n if (!inputEl.current) return\n if (inputEl.current.value.slice(0, -1) === term) {\n setTerm(inputEl.current.value)\n }\n }\n }\n\n const shouldDisplayItemsOnEmptyQuery = () => {\n return !autoFilter && results.length > 0 && term.length === 0 && hasFocus\n }\n\n const handleMouseDown = (\n item: AutocompleteItem,\n e: ComboboxOptionMouseEventType\n ) => {\n // In a specific case, we force the popover to display (results available, empty input using backspace)\n // But doing so, reach ui component is not ready for this case and will raise an error\n // We need to prevent the error and to force the selection\n if (\n shouldDisplayItemsOnEmptyQuery() &&\n popoverEl.current &&\n popoverEl.current.getAttribute(\"hidden\") != null\n ) {\n e.preventDefault() // it will prevent reach ui combobox to raise an error\n handleSelectItem(item, e) // we force the selection to be processed\n }\n }\n\n return (\n <Combobox\n className={classNames(\"cobalt-Autocomplete\", {\n \"cobalt-Autocomplete--forceDisplayResults\":\n shouldDisplayItemsOnEmptyQuery(), // Combobox Component, by design, hide the popover when the input is empty (on change) even if there are some results.\n })}\n as=\"div\"\n openOnFocus={true}\n ref={comboboxEl}\n >\n {results.length > 0 && (\n <ComboboxPopover\n className=\"cobalt-Autocomplete__popover\"\n portal={false}\n ref={popoverEl}\n >\n <ComboboxList\n className=\"cobalt-Autocomplete__list\"\n aria-label=\"Autocomplete option\"\n >\n {results.map((item, index) => (\n <ComboboxOption\n className=\"cobalt-Autocomplete__item\"\n key={index}\n value={item[valueKey]}\n onMouseDown={(e: ComboboxOptionMouseEventType) => {\n handleMouseDown(item, e)\n }}\n onClick={(e: ComboboxOptionMouseEventType) => {\n handleSelectItem(item, e)\n }}\n >\n {renderItem ? (\n renderItem(item, term)\n ) : (\n <span className=\"cobalt-Autocomplete__item-wrapper\">\n {icon && (\n <span className=\"cobalt-Autocomplete__item-icon\">\n <Icon source={icon} color=\"indigo\" />\n </span>\n )}\n\n <span className=\"cobalt-Autocomplete__item-value\">\n <ComboboxOptionText />\n </span>\n </span>\n )}\n </ComboboxOption>\n ))}\n </ComboboxList>\n </ComboboxPopover>\n )}\n <div className=\"cobalt-Autocomplete__input-wrapper\">\n <TextInputWrapper\n icon={icon}\n status={status}\n render={(className) => {\n return (\n <ComboboxInput\n {...inputProps}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck={false}\n aria-label=\"autocomplete input\"\n type=\"text\"\n value={term}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n ref={inputEl}\n className={className}\n />\n )\n }}\n />\n\n {term && (\n <div\n className=\"cobalt-Autocomplete__clear-button\"\n onClick={handleClearInput}\n >\n <Icon source=\"close\" size={16} />\n </div>\n )}\n </div>\n </Combobox>\n )\n}\n\nconst wrappedComponent = withFieldLabelAndHint(Autocomplete)\nwrappedComponent.displayName = \"Autocomplete\"\n\nexport { wrappedComponent as Autocomplete }\n"],"names":["classNames"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckablePill.js","sources":["../../../src/components/Form/CheckablePill.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { Icon, IconSources } from \"../Icon\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\ntype Props = {\n type?: \"checkbox\" | \"radio\"\n icon?: IconSources\n value: string\n children: React.ReactNode\n defaultChecked?: boolean\n name: string\n} & FormElement &\n React.InputHTMLAttributes<HTMLInputElement>\n\nconst CheckablePill = ({\n type,\n icon,\n value,\n children,\n defaultChecked,\n status,\n ...InputProps\n}: Props) => {\n return (\n <span\n className={classNames(\"cobalt-CheckablePillField\", {\n \"cobalt-CheckablePillField--error\": status === \"error\",\n \"cobalt-CheckablePillField--with-icon\": icon,\n })}\n >\n <label className=\"cobalt-CheckablePillField__LabelWrapper\">\n <input\n {...InputProps}\n type={type}\n className=\"cobalt-CheckablePillField__Input\"\n value={value}\n defaultChecked={defaultChecked}\n />\n <span className=\"cobalt-CheckablePillField__Label\">\n {icon && <Icon source={icon} />}\n {children}\n </span>\n </label>\n </span>\n )\n}\n\nexport const CheckboxPill = ({ ...props }: Props) => {\n return <CheckablePill {...props} type=\"checkbox\" />\n}\nCheckboxPill.displayName = \"CheckboxPill\"\n\nexport const RadioPill = ({ ...props }: Props) => {\n return <CheckablePill {...props} type=\"radio\" />\n}\nRadioPill.displayName = \"RadioPill\"\n\ninterface CheckablePillsGroupProps {\n children: React.ReactNode\n}\n\nconst _CheckablePillsGroup = ({ children }: CheckablePillsGroupProps) => {\n return (\n <div className=\"cobalt-CheckablePillsGroup\">\n {typeof children === \"function\" ? children() : children}\n </div>\n )\n}\n\nexport const CheckablePillsGroup = withFieldLabelAndHint(_CheckablePillsGroup)\nCheckablePillsGroup.displayName = \"CheckablePillsGroup\"\n"],"names":["classNames"],"mappings":";;;;;;AAgBA,IAAM,aAAa,GAAG,UAAC,EAQf;IAPN,IAAA,IAAI,UAAA,EACJ,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,MAAM,YAAA,EACH,UAAU,cAPQ,iEAQtB,CADc;IAEb,QACE,8BACE,SAAS,EAAEA,EAAU,CAAC,2BAA2B,EAAE;YACjD,kCAAkC,EAAE,MAAM,KAAK,OAAO;YACtD,sCAAsC,EAAE,IAAI;SAC7C,CAAC;QAEF,+BAAO,SAAS,EAAC,yCAAyC;YACxD,0CACM,UAAU,IACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,kCAAkC,EAC5C,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,IAC9B;YACF,8BAAM,SAAS,EAAC,kCAAkC;gBAC/C,IAAI,IAAI,oBAAC,IAAI,IAAC,MAAM,EAAE,IAAI,GAAI;gBAC9B,QAAQ,CACJ,CACD,CACH,EACR;AACH,CAAC,CAAA;IAEY,YAAY,GAAG,UAAC,EAAmB;QAAd,KAAK,cAAV,EAAY,CAAF;IACrC,OAAO,oBAAC,aAAa,eAAK,KAAK,IAAE,IAAI,EAAC,UAAU,IAAG,CAAA;AACrD,EAAC;AACD,YAAY,CAAC,WAAW,GAAG,cAAc,CAAA;IAE5B,SAAS,GAAG,UAAC,EAAmB;QAAd,KAAK,cAAV,EAAY,CAAF;IAClC,OAAO,oBAAC,aAAa,eAAK,KAAK,IAAE,IAAI,EAAC,OAAO,IAAG,CAAA;AAClD,EAAC;AACD,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAMnC,IAAM,oBAAoB,GAAG,UAAC,EAAsC;QAApC,QAAQ,cAAA;IACtC,QACE,6BAAK,SAAS,EAAC,4BAA4B,IACxC,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,EAAE,GAAG,QAAQ,CACnD,EACP;AACH,CAAC,CAAA;IAEY,mBAAmB,GAAG,qBAAqB,CAAC,oBAAoB,EAAC;AAC9E,mBAAmB,CAAC,WAAW,GAAG,qBAAqB;;;;"}
1
+ {"version":3,"file":"CheckablePill.js","sources":["../../../src/components/Form/CheckablePill.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { Icon, IconSources } from \"../Icon\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\ntype Props = {\n type?: \"checkbox\" | \"radio\"\n icon?: IconSources\n value: string\n children: React.ReactNode\n defaultChecked?: boolean\n name: string\n} & FormElement &\n React.InputHTMLAttributes<HTMLInputElement>\n\nconst CheckablePill = ({\n type,\n icon,\n value,\n children,\n defaultChecked,\n status,\n ...InputProps\n}: Props) => {\n return (\n <span\n className={classNames(\"cobalt-CheckablePillField\", {\n \"cobalt-CheckablePillField--error\": status === \"error\",\n \"cobalt-CheckablePillField--with-icon\": icon,\n })}\n >\n <label className=\"cobalt-CheckablePillField__LabelWrapper\">\n <input\n {...InputProps}\n type={type}\n className=\"cobalt-CheckablePillField__Input\"\n value={value}\n defaultChecked={defaultChecked}\n />\n <span className=\"cobalt-CheckablePillField__Label\">\n {icon && <Icon source={icon} />}\n {children}\n </span>\n </label>\n </span>\n )\n}\n\nexport const CheckboxPill = ({ ...props }: Props) => {\n return <CheckablePill {...props} type=\"checkbox\" />\n}\nCheckboxPill.displayName = \"CheckboxPill\"\n\nexport const RadioPill = ({ ...props }: Props) => {\n return <CheckablePill {...props} type=\"radio\" />\n}\nRadioPill.displayName = \"RadioPill\"\n\ninterface CheckablePillsGroupProps {\n children: React.ReactNode\n}\n\nconst _CheckablePillsGroup = ({ children }: CheckablePillsGroupProps) => {\n return (\n <div className=\"cobalt-CheckablePillsGroup\">\n {typeof children === \"function\" ? children() : children}\n </div>\n )\n}\n\nexport const CheckablePillsGroup = withFieldLabelAndHint(_CheckablePillsGroup)\nCheckablePillsGroup.displayName = \"CheckablePillsGroup\"\n"],"names":["classNames"],"mappings":";;;;;;AAgBA,IAAM,aAAa,GAAG,UAAC,EAQf,EAAA;IAPN,IAAA,IAAI,UAAA,EACJ,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,MAAM,YAAA,EACH,UAAU,GAPQ,MAAA,CAAA,EAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,CAQtB,CADc,CAAA;AAEb,IAAA,QACE,KACE,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAEA,EAAU,CAAC,2BAA2B,EAAE;YACjD,kCAAkC,EAAE,MAAM,KAAK,OAAO;AACtD,YAAA,sCAAsC,EAAE,IAAI;SAC7C,CAAC,EAAA;QAEF,KAAO,CAAA,aAAA,CAAA,OAAA,EAAA,EAAA,SAAS,EAAC,yCAAyC,EAAA;AACxD,YAAA,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,EACM,UAAU,EACd,EAAA,IAAI,EAAE,IAAI,EACV,SAAS,EAAC,kCAAkC,EAC5C,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,CAAA,CAAA;YACF,KAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,kCAAkC,EAAA;AAC/C,gBAAA,IAAI,IAAI,KAAC,CAAA,aAAA,CAAA,IAAI,IAAC,MAAM,EAAE,IAAI,EAAI,CAAA;AAC9B,gBAAA,QAAQ,CACJ,CACD,CACH,EACR;AACH,CAAC,CAAA;AAEM,IAAM,YAAY,GAAG,UAAC,EAAmB,EAAA;QAAd,KAAK,GAAA,MAAA,CAAA,EAAA,EAAV,EAAY,CAAF,CAAA;IACrC,OAAO,KAAA,CAAA,aAAA,CAAC,aAAa,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,IAAE,IAAI,EAAC,UAAU,EAAA,CAAA,CAAG,CAAA;AACrD,EAAC;AACD,YAAY,CAAC,WAAW,GAAG,cAAc,CAAA;AAElC,IAAM,SAAS,GAAG,UAAC,EAAmB,EAAA;QAAd,KAAK,GAAA,MAAA,CAAA,EAAA,EAAV,EAAY,CAAF,CAAA;IAClC,OAAO,KAAA,CAAA,aAAA,CAAC,aAAa,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,IAAE,IAAI,EAAC,OAAO,EAAA,CAAA,CAAG,CAAA;AAClD,EAAC;AACD,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;AAMnC,IAAM,oBAAoB,GAAG,UAAC,EAAsC,EAAA;AAApC,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;IACtC,QACE,6BAAK,SAAS,EAAC,4BAA4B,EACxC,EAAA,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,EAAE,GAAG,QAAQ,CACnD,EACP;AACH,CAAC,CAAA;IAEY,mBAAmB,GAAG,qBAAqB,CAAC,oBAAoB,EAAC;AAC9E,mBAAmB,CAAC,WAAW,GAAG,qBAAqB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkmark.js","sources":["../../../src/components/Form/Checkmark.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { Hint } from \"./Hint\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\ntype Props = {\n label: string | JSX.Element\n type?: \"checkbox\" | \"radio\"\n hint?: string\n} & FormElement &\n React.InputHTMLAttributes<HTMLInputElement>\n\nconst Checkmark = ({ label, status, hint, ...inputProps }: Props) => {\n return (\n <div\n className={classNames(\"cobalt-CheckmarkField\", {\n \"cobalt-CheckmarkField--success\": status === \"success\",\n \"cobalt-CheckmarkField--error\": status === \"error\",\n })}\n >\n <label className=\"cobalt-CheckmarkField__LabelWrapper\">\n <input {...inputProps} className=\"cobalt-CheckmarkField__Input\" />\n <span className=\"cobalt-CheckmarkField__Checkmark\" />\n <span className=\"cobalt-CheckmarkField__Label\">{label}</span>\n </label>\n {hint && (\n <Hint status={status}>\n <span dangerouslySetInnerHTML={{ __html: hint }} />\n </Hint>\n )}\n </div>\n )\n}\n\nexport const Checkbox = ({ label, ...props }: Props) => {\n return <Checkmark {...props} label={label} type=\"checkbox\" />\n}\nCheckbox.displayName = \"CobaltCheckbox\"\n\nexport const Radio = ({ label, ...props }: Props) => {\n return <Checkmark {...props} label={label} type=\"radio\" />\n}\nRadio.displayName = \"CobaltRadio\"\n\ntype ChoiceListProps = {\n children: React.ReactNode\n}\n\nconst ChoiceList = ({ children }: ChoiceListProps) => {\n return (\n <div className=\"cobalt-ChoiceList\">\n {typeof children === \"function\" ? children() : children}\n </div>\n )\n}\n\nconst wrappedChoiceList = withFieldLabelAndHint(ChoiceList)\nwrappedChoiceList.displayName = \"ChoiceList\"\n\nexport { wrappedChoiceList as ChoiceList }\n"],"names":["classNames"],"mappings":";;;;;;AAaA,IAAM,SAAS,GAAG,UAAC,EAA6C;IAA3C,IAAA,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAK,UAAU,cAApC,2BAAsC,CAAF;IACrD,QACE,6BACE,SAAS,EAAEA,EAAU,CAAC,uBAAuB,EAAE;YAC7C,gCAAgC,EAAE,MAAM,KAAK,SAAS;YACtD,8BAA8B,EAAE,MAAM,KAAK,OAAO;SACnD,CAAC;QAEF,+BAAO,SAAS,EAAC,qCAAqC;YACpD,0CAAW,UAAU,IAAE,SAAS,EAAC,8BAA8B,IAAG;YAClE,8BAAM,SAAS,EAAC,kCAAkC,GAAG;YACrD,8BAAM,SAAS,EAAC,8BAA8B,IAAE,KAAK,CAAQ,CACvD;QACP,IAAI,KACH,oBAAC,IAAI,IAAC,MAAM,EAAE,MAAM;YAClB,8BAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,CAC9C,CACR,CACG,EACP;AACH,CAAC,CAAA;IAEY,QAAQ,GAAG,UAAC,EAA0B;IAAxB,IAAA,KAAK,WAAA,EAAK,KAAK,cAAjB,SAAmB,CAAF;IACxC,OAAO,oBAAC,SAAS,eAAK,KAAK,IAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,UAAU,IAAG,CAAA;AAC/D,EAAC;AACD,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAA;IAE1B,KAAK,GAAG,UAAC,EAA0B;IAAxB,IAAA,KAAK,WAAA,EAAK,KAAK,cAAjB,SAAmB,CAAF;IACrC,OAAO,oBAAC,SAAS,eAAK,KAAK,IAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,OAAO,IAAG,CAAA;AAC5D,EAAC;AACD,KAAK,CAAC,WAAW,GAAG,aAAa,CAAA;AAMjC,IAAM,UAAU,GAAG,UAAC,EAA6B;QAA3B,QAAQ,cAAA;IAC5B,QACE,6BAAK,SAAS,EAAC,mBAAmB,IAC/B,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,EAAE,GAAG,QAAQ,CACnD,EACP;AACH,CAAC,CAAA;IAEK,iBAAiB,GAAG,qBAAqB,CAAC,UAAU,EAAC;AAC3D,iBAAiB,CAAC,WAAW,GAAG,YAAY;;;;"}
1
+ {"version":3,"file":"Checkmark.js","sources":["../../../src/components/Form/Checkmark.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { Hint } from \"./Hint\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\ntype Props = {\n label: string | JSX.Element\n type?: \"checkbox\" | \"radio\"\n hint?: string\n} & FormElement &\n React.InputHTMLAttributes<HTMLInputElement>\n\nconst Checkmark = ({ label, status, hint, ...inputProps }: Props) => {\n return (\n <div\n className={classNames(\"cobalt-CheckmarkField\", {\n \"cobalt-CheckmarkField--success\": status === \"success\",\n \"cobalt-CheckmarkField--error\": status === \"error\",\n })}\n >\n <label className=\"cobalt-CheckmarkField__LabelWrapper\">\n <input {...inputProps} className=\"cobalt-CheckmarkField__Input\" />\n <span className=\"cobalt-CheckmarkField__Checkmark\" />\n <span className=\"cobalt-CheckmarkField__Label\">{label}</span>\n </label>\n {hint && (\n <Hint status={status}>\n <span dangerouslySetInnerHTML={{ __html: hint }} />\n </Hint>\n )}\n </div>\n )\n}\n\nexport const Checkbox = ({ label, ...props }: Props) => {\n return <Checkmark {...props} label={label} type=\"checkbox\" />\n}\nCheckbox.displayName = \"CobaltCheckbox\"\n\nexport const Radio = ({ label, ...props }: Props) => {\n return <Checkmark {...props} label={label} type=\"radio\" />\n}\nRadio.displayName = \"CobaltRadio\"\n\ntype ChoiceListProps = {\n children: React.ReactNode\n}\n\nconst ChoiceList = ({ children }: ChoiceListProps) => {\n return (\n <div className=\"cobalt-ChoiceList\">\n {typeof children === \"function\" ? children() : children}\n </div>\n )\n}\n\nconst wrappedChoiceList = withFieldLabelAndHint(ChoiceList)\nwrappedChoiceList.displayName = \"ChoiceList\"\n\nexport { wrappedChoiceList as ChoiceList }\n"],"names":["classNames"],"mappings":";;;;;;AAaA,IAAM,SAAS,GAAG,UAAC,EAA6C,EAAA;AAA3C,IAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAK,UAAU,GAApC,MAAA,CAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,MAAA,CAAsC,CAAF,CAAA;AACrD,IAAA,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEA,EAAU,CAAC,uBAAuB,EAAE;YAC7C,gCAAgC,EAAE,MAAM,KAAK,SAAS;YACtD,8BAA8B,EAAE,MAAM,KAAK,OAAO;SACnD,CAAC,EAAA;QAEF,KAAO,CAAA,aAAA,CAAA,OAAA,EAAA,EAAA,SAAS,EAAC,qCAAqC,EAAA;AACpD,YAAA,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,EAAW,UAAU,EAAA,EAAE,SAAS,EAAC,8BAA8B,EAAG,CAAA,CAAA;YAClE,KAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,kCAAkC,EAAG,CAAA;AACrD,YAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,8BAA8B,EAAE,EAAA,KAAK,CAAQ,CACvD;AACP,QAAA,IAAI,KACH,KAAA,CAAA,aAAA,CAAC,IAAI,EAAC,EAAA,MAAM,EAAE,MAAM,EAAA;AAClB,YAAA,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAA,CAAI,CAC9C,CACR,CACG,EACP;AACH,CAAC,CAAA;AAEM,IAAM,QAAQ,GAAG,UAAC,EAA0B,EAAA;AAAxB,IAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,EAAK,KAAK,GAAA,MAAA,CAAA,EAAA,EAAjB,SAAmB,CAAF,CAAA;AACxC,IAAA,OAAO,KAAC,CAAA,aAAA,CAAA,SAAS,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,EAAE,EAAA,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,UAAU,IAAG,CAAA;AAC/D,EAAC;AACD,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAEhC,IAAM,KAAK,GAAG,UAAC,EAA0B,EAAA;AAAxB,IAAA,IAAA,KAAK,GAAA,EAAA,CAAA,KAAA,EAAK,KAAK,GAAA,MAAA,CAAA,EAAA,EAAjB,SAAmB,CAAF,CAAA;AACrC,IAAA,OAAO,KAAC,CAAA,aAAA,CAAA,SAAS,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,EAAE,EAAA,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,OAAO,IAAG,CAAA;AAC5D,EAAC;AACD,KAAK,CAAC,WAAW,GAAG,aAAa,CAAA;AAMjC,IAAM,UAAU,GAAG,UAAC,EAA6B,EAAA;AAA3B,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;IAC5B,QACE,6BAAK,SAAS,EAAC,mBAAmB,EAC/B,EAAA,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,EAAE,GAAG,QAAQ,CACnD,EACP;AACH,CAAC,CAAA;AAED,IAAM,iBAAiB,GAAG,qBAAqB,CAAC,UAAU,EAAC;AAC3D,iBAAiB,CAAC,WAAW,GAAG,YAAY;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComposedField.js","sources":["../../../src/components/Form/ComposedField.tsx"],"sourcesContent":["import React from \"react\"\nimport { withFieldLabelAndHint } from \"./field\"\nimport { FormElement } from \"./form\"\n\ntype Props = {\n id?: string\n children: React.ReactNode\n} & FormElement\n\nconst ComposedFormField = ({ id, children }: Props) => {\n return (\n <div className=\"cobalt-ComposedFormField\">\n {React.Children.toArray(children).map((child, index) => {\n return index === 0\n ? React.cloneElement(child as React.ComponentElement<any, any>, {\n id,\n })\n : child\n })}\n </div>\n )\n}\n\nconst wrappedComponent = withFieldLabelAndHint(ComposedFormField)\nwrappedComponent.displayName = \"ComposedField\"\n\nexport { wrappedComponent as ComposedField }\n"],"names":[],"mappings":";;;AASA,IAAM,iBAAiB,GAAG,UAAC,EAAuB;QAArB,EAAE,QAAA,EAAE,QAAQ,cAAA;IACvC,QACE,6BAAK,SAAS,EAAC,0BAA0B,IACtC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK;QACjD,OAAO,KAAK,KAAK,CAAC;cACd,KAAK,CAAC,YAAY,CAAC,KAAyC,EAAE;gBAC5D,EAAE,IAAA;aACH,CAAC;cACF,KAAK,CAAA;KACV,CAAC,CACE,EACP;AACH,CAAC,CAAA;IAEK,gBAAgB,GAAG,qBAAqB,CAAC,iBAAiB,EAAC;AACjE,gBAAgB,CAAC,WAAW,GAAG,eAAe;;;;"}
1
+ {"version":3,"file":"ComposedField.js","sources":["../../../src/components/Form/ComposedField.tsx"],"sourcesContent":["import React from \"react\"\nimport { withFieldLabelAndHint } from \"./field\"\nimport { FormElement } from \"./form\"\n\ntype Props = {\n id?: string\n children: React.ReactNode\n} & FormElement\n\nconst ComposedFormField = ({ id, children }: Props) => {\n return (\n <div className=\"cobalt-ComposedFormField\">\n {React.Children.toArray(children).map((child, index) => {\n return index === 0\n ? React.cloneElement(child as React.ComponentElement<any, any>, {\n id,\n })\n : child\n })}\n </div>\n )\n}\n\nconst wrappedComponent = withFieldLabelAndHint(ComposedFormField)\nwrappedComponent.displayName = \"ComposedField\"\n\nexport { wrappedComponent as ComposedField }\n"],"names":[],"mappings":";;;AASA,IAAM,iBAAiB,GAAG,UAAC,EAAuB,EAAA;QAArB,EAAE,GAAA,EAAA,CAAA,EAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;IACvC,QACE,6BAAK,SAAS,EAAC,0BAA0B,EACtC,EAAA,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK,EAAA;QACjD,OAAO,KAAK,KAAK,CAAC;AAChB,cAAE,KAAK,CAAC,YAAY,CAAC,KAAyC,EAAE;AAC5D,gBAAA,EAAE,EAAA,EAAA;aACH,CAAC;cACF,KAAK,CAAA;KACV,CAAC,CACE,EACP;AACH,CAAC,CAAA;AAED,IAAM,gBAAgB,GAAG,qBAAqB,CAAC,iBAAiB,EAAC;AACjE,gBAAgB,CAAC,WAAW,GAAG,eAAe;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Fieldset.js","sources":["../../../src/components/Form/Fieldset.tsx"],"sourcesContent":["import React from \"react\"\n\ntype Props = {\n legend: string\n children: React.ReactNode\n}\n\nexport const Fieldset = ({ legend, children }: Props) => {\n return (\n <fieldset className=\"cobalt-Fieldset\">\n <legend>{legend}</legend>\n {children}\n </fieldset>\n )\n}\n"],"names":[],"mappings":";;IAOa,QAAQ,GAAG,UAAC,EAA2B;QAAzB,MAAM,YAAA,EAAE,QAAQ,cAAA;IACzC,QACE,kCAAU,SAAS,EAAC,iBAAiB;QACnC,oCAAS,MAAM,CAAU;QACxB,QAAQ,CACA,EACZ;AACH;;;;"}
1
+ {"version":3,"file":"Fieldset.js","sources":["../../../src/components/Form/Fieldset.tsx"],"sourcesContent":["import React from \"react\"\n\ntype Props = {\n legend: string\n children: React.ReactNode\n}\n\nexport const Fieldset = ({ legend, children }: Props) => {\n return (\n <fieldset className=\"cobalt-Fieldset\">\n <legend>{legend}</legend>\n {children}\n </fieldset>\n )\n}\n"],"names":[],"mappings":";;AAOO,IAAM,QAAQ,GAAG,UAAC,EAA2B,EAAA;QAAzB,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;AACzC,IAAA,QACE,KAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAU,SAAS,EAAC,iBAAiB,EAAA;AACnC,QAAA,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,IAAA,EAAS,MAAM,CAAU;QACxB,QAAQ,CACA,EACZ;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Hint.js","sources":["../../../src/components/Form/Hint.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { Icon } from \"../Icon\"\nimport { FormElementStatus } from \"./form\"\n\nexport interface HintPropsType {\n children: React.ReactNode\n status?: FormElementStatus\n}\n\nconst ICON_SIZE = 16\n\nconst getIcon = (status: FormElementStatus | undefined) => {\n switch (status) {\n case \"success\": {\n return \"checkCircle\"\n }\n case \"error\": {\n return \"contextualWarningCircleFilled\"\n }\n default: {\n return \"info\"\n }\n }\n}\n\nconst getIconColor = (status: FormElementStatus | undefined) => {\n switch (status) {\n case \"success\": {\n return \"signal\"\n }\n case \"error\": {\n return \"essence\"\n }\n default: {\n return \"graphiteLight\"\n }\n }\n}\n\nexport const Hint = ({ children, status }: HintPropsType) => {\n return (\n <div\n className={classNames(\"cobalt-Hint\", {\n \"cobalt-Hint--success\": status === \"success\",\n \"cobalt-Hint--error\": status === \"error\",\n })}\n >\n <span className=\"cobalt-Hint__Icon\">\n <Icon\n source={getIcon(status)}\n size={ICON_SIZE}\n color={getIconColor(status)}\n />\n </span>\n <span className=\"cobalt-Hint__Message\">{children}</span>\n </div>\n )\n}\n"],"names":["classNames"],"mappings":";;;;AAUA,IAAM,SAAS,GAAG,EAAE,CAAA;AAEpB,IAAM,OAAO,GAAG,UAAC,MAAqC;IACpD,QAAQ,MAAM;QACZ,KAAK,SAAS,EAAE;YACd,OAAO,aAAa,CAAA;SACrB;QACD,KAAK,OAAO,EAAE;YACZ,OAAO,+BAA+B,CAAA;SACvC;QACD,SAAS;YACP,OAAO,MAAM,CAAA;SACd;KACF;AACH,CAAC,CAAA;AAED,IAAM,YAAY,GAAG,UAAC,MAAqC;IACzD,QAAQ,MAAM;QACZ,KAAK,SAAS,EAAE;YACd,OAAO,QAAQ,CAAA;SAChB;QACD,KAAK,OAAO,EAAE;YACZ,OAAO,SAAS,CAAA;SACjB;QACD,SAAS;YACP,OAAO,eAAe,CAAA;SACvB;KACF;AACH,CAAC,CAAA;IAEY,IAAI,GAAG,UAAC,EAAmC;QAAjC,QAAQ,cAAA,EAAE,MAAM,YAAA;IACrC,QACE,6BACE,SAAS,EAAEA,EAAU,CAAC,aAAa,EAAE;YACnC,sBAAsB,EAAE,MAAM,KAAK,SAAS;YAC5C,oBAAoB,EAAE,MAAM,KAAK,OAAO;SACzC,CAAC;QAEF,8BAAM,SAAS,EAAC,mBAAmB;YACjC,oBAAC,IAAI,IACH,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EACvB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,GAC3B,CACG;QACP,8BAAM,SAAS,EAAC,sBAAsB,IAAE,QAAQ,CAAQ,CACpD,EACP;AACH;;;;"}
1
+ {"version":3,"file":"Hint.js","sources":["../../../src/components/Form/Hint.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { Icon } from \"../Icon\"\nimport { FormElementStatus } from \"./form\"\n\nexport interface HintPropsType {\n children: React.ReactNode\n status?: FormElementStatus\n}\n\nconst ICON_SIZE = 16\n\nconst getIcon = (status: FormElementStatus | undefined) => {\n switch (status) {\n case \"success\": {\n return \"checkCircle\"\n }\n case \"error\": {\n return \"contextualWarningCircleFilled\"\n }\n default: {\n return \"info\"\n }\n }\n}\n\nconst getIconColor = (status: FormElementStatus | undefined) => {\n switch (status) {\n case \"success\": {\n return \"signal\"\n }\n case \"error\": {\n return \"essence\"\n }\n default: {\n return \"graphiteLight\"\n }\n }\n}\n\nexport const Hint = ({ children, status }: HintPropsType) => {\n return (\n <div\n className={classNames(\"cobalt-Hint\", {\n \"cobalt-Hint--success\": status === \"success\",\n \"cobalt-Hint--error\": status === \"error\",\n })}\n >\n <span className=\"cobalt-Hint__Icon\">\n <Icon\n source={getIcon(status)}\n size={ICON_SIZE}\n color={getIconColor(status)}\n />\n </span>\n <span className=\"cobalt-Hint__Message\">{children}</span>\n </div>\n )\n}\n"],"names":["classNames"],"mappings":";;;;AAUA,IAAM,SAAS,GAAG,EAAE,CAAA;AAEpB,IAAM,OAAO,GAAG,UAAC,MAAqC,EAAA;AACpD,IAAA,QAAQ,MAAM;QACZ,KAAK,SAAS,EAAE;AACd,YAAA,OAAO,aAAa,CAAA;AACrB,SAAA;QACD,KAAK,OAAO,EAAE;AACZ,YAAA,OAAO,+BAA+B,CAAA;AACvC,SAAA;AACD,QAAA,SAAS;AACP,YAAA,OAAO,MAAM,CAAA;AACd,SAAA;AACF,KAAA;AACH,CAAC,CAAA;AAED,IAAM,YAAY,GAAG,UAAC,MAAqC,EAAA;AACzD,IAAA,QAAQ,MAAM;QACZ,KAAK,SAAS,EAAE;AACd,YAAA,OAAO,QAAQ,CAAA;AAChB,SAAA;QACD,KAAK,OAAO,EAAE;AACZ,YAAA,OAAO,SAAS,CAAA;AACjB,SAAA;AACD,QAAA,SAAS;AACP,YAAA,OAAO,eAAe,CAAA;AACvB,SAAA;AACF,KAAA;AACH,CAAC,CAAA;AAEM,IAAM,IAAI,GAAG,UAAC,EAAmC,EAAA;QAAjC,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;AACrC,IAAA,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEA,EAAU,CAAC,aAAa,EAAE;YACnC,sBAAsB,EAAE,MAAM,KAAK,SAAS;YAC5C,oBAAoB,EAAE,MAAM,KAAK,OAAO;SACzC,CAAC,EAAA;QAEF,KAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,mBAAmB,EAAA;YACjC,KAAC,CAAA,aAAA,CAAA,IAAI,IACH,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EACvB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,GAC3B,CACG;QACP,KAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,sBAAsB,EAAA,EAAE,QAAQ,CAAQ,CACpD,EACP;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioWithDetails.js","sources":["../../../src/components/Form/RadioWithDetails.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\n\nexport type RadioWithDetailsPropsType = {\n icon?: JSX.Element\n title: string\n description: string\n name: string\n className?: string\n} & React.InputHTMLAttributes<HTMLInputElement>\n\nconst RadioWithDetails = ({\n icon,\n title,\n description,\n className,\n ...inputProps\n}: RadioWithDetailsPropsType) => {\n return (\n <label className={cx(\"cobalt-radio-with-details\", className)}>\n <input\n {...inputProps}\n type=\"radio\"\n className=\"cobalt-radio-with-details__input\"\n />\n <div className=\"cobalt-radio-with-details__inner\">\n {icon &&\n React.cloneElement(icon, {\n className: \"cobalt-radio-with-details__icon\",\n })}\n <div className=\"cobalt-radio-with-details__content\">\n <p className=\"cobalt-radio-with-details__title\">{title}</p>\n {description && (\n <p className=\"cobalt-radio-with-details__description\">\n {description}\n </p>\n )}\n </div>\n <div className=\"cobalt-radio-with-details__visual-input\" />\n </div>\n </label>\n )\n}\n\nexport default RadioWithDetails\n"],"names":[],"mappings":";;;;IAWM,gBAAgB,GAAG,UAAC,EAME;IAL1B,IAAA,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,WAAW,iBAAA,EACX,SAAS,eAAA,EACN,UAAU,cALW,6CAMzB,CADc;IAEb,QACE,+BAAO,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC;QAC1D,0CACM,UAAU,IACd,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,kCAAkC,IAC5C;QACF,6BAAK,SAAS,EAAC,kCAAkC;YAC9C,IAAI;gBACH,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;oBACvB,SAAS,EAAE,iCAAiC;iBAC7C,CAAC;YACJ,6BAAK,SAAS,EAAC,oCAAoC;gBACjD,2BAAG,SAAS,EAAC,kCAAkC,IAAE,KAAK,CAAK;gBAC1D,WAAW,KACV,2BAAG,SAAS,EAAC,wCAAwC,IAClD,WAAW,CACV,CACL,CACG;YACN,6BAAK,SAAS,EAAC,yCAAyC,GAAG,CACvD,CACA,EACT;AACH;;;;"}
1
+ {"version":3,"file":"RadioWithDetails.js","sources":["../../../src/components/Form/RadioWithDetails.tsx"],"sourcesContent":["import React from \"react\"\nimport cx from \"classnames\"\n\nexport type RadioWithDetailsPropsType = {\n icon?: JSX.Element\n title: string\n description: string\n name: string\n className?: string\n} & React.InputHTMLAttributes<HTMLInputElement>\n\nconst RadioWithDetails = ({\n icon,\n title,\n description,\n className,\n ...inputProps\n}: RadioWithDetailsPropsType) => {\n return (\n <label className={cx(\"cobalt-radio-with-details\", className)}>\n <input\n {...inputProps}\n type=\"radio\"\n className=\"cobalt-radio-with-details__input\"\n />\n <div className=\"cobalt-radio-with-details__inner\">\n {icon &&\n React.cloneElement(icon, {\n className: \"cobalt-radio-with-details__icon\",\n })}\n <div className=\"cobalt-radio-with-details__content\">\n <p className=\"cobalt-radio-with-details__title\">{title}</p>\n {description && (\n <p className=\"cobalt-radio-with-details__description\">\n {description}\n </p>\n )}\n </div>\n <div className=\"cobalt-radio-with-details__visual-input\" />\n </div>\n </label>\n )\n}\n\nexport default RadioWithDetails\n"],"names":[],"mappings":";;;;AAWM,IAAA,gBAAgB,GAAG,UAAC,EAME,EAAA;AAL1B,IAAA,IAAA,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,KAAK,WAAA,EACL,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,SAAS,GAAA,EAAA,CAAA,SAAA,EACN,UAAU,GAAA,MAAA,CAAA,EAAA,EALW,6CAMzB,CADc,CAAA;IAEb,QACE,+BAAO,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,EAAA;QAC1D,KACM,CAAA,aAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,EAAA,UAAU,IACd,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,kCAAkC,EAC5C,CAAA,CAAA;QACF,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,kCAAkC,EAAA;YAC9C,IAAI;AACH,gBAAA,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE;AACvB,oBAAA,SAAS,EAAE,iCAAiC;iBAC7C,CAAC;YACJ,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,oCAAoC,EAAA;AACjD,gBAAA,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,kCAAkC,EAAA,EAAE,KAAK,CAAK;gBAC1D,WAAW,KACV,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,wCAAwC,EAClD,EAAA,WAAW,CACV,CACL,CACG;AACN,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yCAAyC,GAAG,CACvD,CACA,EACT;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../src/components/Form/Select.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\ntype Props = {\n children: any\n forwardedRef?: React.Ref<HTMLSelectElement>\n} & FormElement &\n React.SelectHTMLAttributes<HTMLSelectElement>\n\nconst Select = ({ children, status, forwardedRef, ...selectProps }: Props) => {\n return (\n <div\n className={classNames(\"cobalt-SelectField\", {\n \"cobalt-SelectField--success\": status === \"success\",\n \"cobalt-SelectField--error\": status === \"error\",\n })}\n >\n <select\n {...selectProps}\n ref={forwardedRef}\n className=\"cobalt-SelectField__Input\"\n >\n {children}\n </select>\n </div>\n )\n}\n\nconst wrappedComponent = withFieldLabelAndHint(Select)\nwrappedComponent.displayName = \"Select\"\n\nexport { wrappedComponent as Select }\n"],"names":["classNames"],"mappings":";;;;;AAWA,IAAM,MAAM,GAAG,UAAC,EAAyD;IAAvD,IAAA,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA,EAAK,WAAW,cAAhD,sCAAkD,CAAF;IAC9D,QACE,6BACE,SAAS,EAAEA,EAAU,CAAC,oBAAoB,EAAE;YAC1C,6BAA6B,EAAE,MAAM,KAAK,SAAS;YACnD,2BAA2B,EAAE,MAAM,KAAK,OAAO;SAChD,CAAC;QAEF,2CACM,WAAW,IACf,GAAG,EAAE,YAAY,EACjB,SAAS,EAAC,2BAA2B,KAEpC,QAAQ,CACF,CACL,EACP;AACH,CAAC,CAAA;IAEK,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,EAAC;AACtD,gBAAgB,CAAC,WAAW,GAAG,QAAQ;;;;"}
1
+ {"version":3,"file":"Select.js","sources":["../../../src/components/Form/Select.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\ntype Props = {\n children: any\n forwardedRef?: React.Ref<HTMLSelectElement>\n} & FormElement &\n React.SelectHTMLAttributes<HTMLSelectElement>\n\nconst Select = ({ children, status, forwardedRef, ...selectProps }: Props) => {\n return (\n <div\n className={classNames(\"cobalt-SelectField\", {\n \"cobalt-SelectField--success\": status === \"success\",\n \"cobalt-SelectField--error\": status === \"error\",\n })}\n >\n <select\n {...selectProps}\n ref={forwardedRef}\n className=\"cobalt-SelectField__Input\"\n >\n {children}\n </select>\n </div>\n )\n}\n\nconst wrappedComponent = withFieldLabelAndHint(Select)\nwrappedComponent.displayName = \"Select\"\n\nexport { wrappedComponent as Select }\n"],"names":["classNames"],"mappings":";;;;;AAWA,IAAM,MAAM,GAAG,UAAC,EAAyD,EAAA;AAAvD,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAAA,EAAK,WAAW,GAAhD,MAAA,CAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,CAAkD,CAAF,CAAA;AAC9D,IAAA,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEA,EAAU,CAAC,oBAAoB,EAAE;YAC1C,6BAA6B,EAAE,MAAM,KAAK,SAAS;YACnD,2BAA2B,EAAE,MAAM,KAAK,OAAO;SAChD,CAAC,EAAA;AAEF,QAAA,KAAA,CAAA,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EACM,WAAW,EAAA,EACf,GAAG,EAAE,YAAY,EACjB,SAAS,EAAC,2BAA2B,EAEpC,CAAA,EAAA,QAAQ,CACF,CACL,EACP;AACH,CAAC,CAAA;AAED,IAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,EAAC;AACtD,gBAAgB,CAAC,WAAW,GAAG,QAAQ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","sources":["../../../src/components/Form/Slider.tsx"],"sourcesContent":["import React, { useState } from \"react\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\nimport {\n Slider as ReachSlider,\n SliderProps as ReachSliderProps,\n} from \"@reach/slider\"\nimport classNames from \"classnames\"\n\ntype NativeEventType =\n | \"onPointerDown\"\n | \"onPointerUp\"\n | \"onMouseDown\"\n | \"onMouseMove\"\n | \"onMouseUp\"\n | \"onTouchStart\"\n | \"onTouchMove\"\n | \"onTouchEnd\"\n\nexport type SliderPropsType = {\n /**\n * mandatory for A11y\n */\n ariaLabel: string\n value?: number\n defaultValue?: number\n /**\n * minimum selectable value (default is 0)\n */\n min?: number\n /**\n * maximum selectable value (default is 100)\n */\n max?: number\n /**\n * values interval\n */\n step?: number\n disabled?: boolean\n /**\n * Listener called when the value is changed\n */\n onChange?: (newValue: number) => void\n /**\n * Function used to visually display the slider value\n */\n renderValue?: (\n value: number,\n status: FormElement[\"status\"]\n ) => React.ReactElement\n\n onPointerDown?: ReachSliderProps[\"onPointerDown\"]\n onPointerUp?: ReachSliderProps[\"onPointerUp\"]\n onMouseDown?: ReachSliderProps[\"onMouseDown\"]\n onMouseMove?: ReachSliderProps[\"onMouseMove\"]\n onMouseUp?: ReachSliderProps[\"onMouseUp\"]\n onTouchStart?: ReachSliderProps[\"onTouchStart\"]\n onTouchMove?: ReachSliderProps[\"onTouchMove\"]\n onTouchEnd?: ReachSliderProps[\"onTouchEnd\"]\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void\n} & FormElement &\n Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n NativeEventType | \"css\" | \"enterKeyHint\"\n >\n\nconst Slider = ({\n defaultValue,\n value,\n min,\n max,\n status,\n disabled,\n onChange,\n renderValue,\n ariaLabel,\n ...restProps\n}: SliderPropsType) => {\n function initValue() {\n if (value != null) return value\n if (defaultValue != null) return defaultValue\n if (min != null) return min\n return 0\n }\n\n const [sliderValue, setSliderValue] = useState(() => initValue())\n\n return (\n <div\n className={classNames(\"cobalt-slider\", {\n \"cobalt-slider--disabled\": disabled,\n })}\n >\n {renderValue && (\n <div className=\"cobalt-slider__value-container\">\n {renderValue(sliderValue, status)}\n </div>\n )}\n\n <ReachSlider\n {...restProps}\n aria-label={ariaLabel}\n handleAlignment=\"contain\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n disabled={disabled}\n onChange={(newValue) => {\n setSliderValue(newValue)\n onChange && onChange(newValue)\n }}\n />\n </div>\n )\n}\n\nconst wrappedComponent = withFieldLabelAndHint(Slider)\nwrappedComponent.displayName = \"Slider\"\n\nexport default wrappedComponent\n\ntype SliderValueMetaProps = {\n children: React.ReactNode\n}\nexport const SliderValueMeta = ({ children }: SliderValueMetaProps) => {\n return <span className=\"cobalt-slider__value-meta\">{children}</span>\n}\n"],"names":["classNames","ReachSlider"],"mappings":";;;;;;AAkEA,IAAM,MAAM,GAAG,UAAC,EAWE;IAVhB,IAAA,YAAY,kBAAA,EACZ,KAAK,WAAA,EACL,GAAG,SAAA,EACH,GAAG,SAAA,EACH,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,SAAS,eAAA,EACN,SAAS,cAVE,qGAWf,CADa;IAEZ,SAAS,SAAS;QAChB,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,KAAK,CAAA;QAC/B,IAAI,YAAY,IAAI,IAAI;YAAE,OAAO,YAAY,CAAA;QAC7C,IAAI,GAAG,IAAI,IAAI;YAAE,OAAO,GAAG,CAAA;QAC3B,OAAO,CAAC,CAAA;KACT;IAEK,IAAA,KAAA,OAAgC,QAAQ,CAAC,cAAM,OAAA,SAAS,EAAE,GAAA,CAAC,IAAA,EAA1D,WAAW,QAAA,EAAE,cAAc,QAA+B,CAAA;IAEjE,QACE,6BACE,SAAS,EAAEA,EAAU,CAAC,eAAe,EAAE;YACrC,yBAAyB,EAAE,QAAQ;SACpC,CAAC;QAED,WAAW,KACV,6BAAK,SAAS,EAAC,gCAAgC,IAC5C,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAC7B,CACP;QAED,oBAACC,QAAW,eACN,SAAS,kBACD,SAAS,EACrB,eAAe,EAAC,SAAS,EACzB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAC,QAAQ;gBACjB,cAAc,CAAC,QAAQ,CAAC,CAAA;gBACxB,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAA;aAC/B,IACD,CACE,EACP;AACH,CAAC,CAAA;IAEK,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,EAAC;AACtD,gBAAgB,CAAC,WAAW,GAAG,QAAQ,CAAA;IAO1B,eAAe,GAAG,UAAC,EAAkC;QAAhC,QAAQ,cAAA;IACxC,OAAO,8BAAM,SAAS,EAAC,2BAA2B,IAAE,QAAQ,CAAQ,CAAA;AACtE;;;;"}
1
+ {"version":3,"file":"Slider.js","sources":["../../../src/components/Form/Slider.tsx"],"sourcesContent":["import React, { useState } from \"react\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\nimport {\n Slider as ReachSlider,\n SliderProps as ReachSliderProps,\n} from \"@reach/slider\"\nimport classNames from \"classnames\"\n\ntype NativeEventType =\n | \"onPointerDown\"\n | \"onPointerUp\"\n | \"onMouseDown\"\n | \"onMouseMove\"\n | \"onMouseUp\"\n | \"onTouchStart\"\n | \"onTouchMove\"\n | \"onTouchEnd\"\n\nexport type SliderPropsType = {\n /**\n * mandatory for A11y\n */\n ariaLabel: string\n value?: number\n defaultValue?: number\n /**\n * minimum selectable value (default is 0)\n */\n min?: number\n /**\n * maximum selectable value (default is 100)\n */\n max?: number\n /**\n * values interval\n */\n step?: number\n disabled?: boolean\n /**\n * Listener called when the value is changed\n */\n onChange?: (newValue: number) => void\n /**\n * Function used to visually display the slider value\n */\n renderValue?: (\n value: number,\n status: FormElement[\"status\"]\n ) => React.ReactElement\n\n onPointerDown?: ReachSliderProps[\"onPointerDown\"]\n onPointerUp?: ReachSliderProps[\"onPointerUp\"]\n onMouseDown?: ReachSliderProps[\"onMouseDown\"]\n onMouseMove?: ReachSliderProps[\"onMouseMove\"]\n onMouseUp?: ReachSliderProps[\"onMouseUp\"]\n onTouchStart?: ReachSliderProps[\"onTouchStart\"]\n onTouchMove?: ReachSliderProps[\"onTouchMove\"]\n onTouchEnd?: ReachSliderProps[\"onTouchEnd\"]\n onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void\n} & FormElement &\n Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n NativeEventType | \"css\" | \"enterKeyHint\"\n >\n\nconst Slider = ({\n defaultValue,\n value,\n min,\n max,\n status,\n disabled,\n onChange,\n renderValue,\n ariaLabel,\n ...restProps\n}: SliderPropsType) => {\n function initValue() {\n if (value != null) return value\n if (defaultValue != null) return defaultValue\n if (min != null) return min\n return 0\n }\n\n const [sliderValue, setSliderValue] = useState(() => initValue())\n\n return (\n <div\n className={classNames(\"cobalt-slider\", {\n \"cobalt-slider--disabled\": disabled,\n })}\n >\n {renderValue && (\n <div className=\"cobalt-slider__value-container\">\n {renderValue(sliderValue, status)}\n </div>\n )}\n\n <ReachSlider\n {...restProps}\n aria-label={ariaLabel}\n handleAlignment=\"contain\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n disabled={disabled}\n onChange={(newValue) => {\n setSliderValue(newValue)\n onChange && onChange(newValue)\n }}\n />\n </div>\n )\n}\n\nconst wrappedComponent = withFieldLabelAndHint(Slider)\nwrappedComponent.displayName = \"Slider\"\n\nexport default wrappedComponent\n\ntype SliderValueMetaProps = {\n children: React.ReactNode\n}\nexport const SliderValueMeta = ({ children }: SliderValueMetaProps) => {\n return <span className=\"cobalt-slider__value-meta\">{children}</span>\n}\n"],"names":["classNames","ReachSlider"],"mappings":";;;;;;AAkEA,IAAM,MAAM,GAAG,UAAC,EAWE,EAAA;AAVhB,IAAA,IAAA,YAAY,GAAA,EAAA,CAAA,YAAA,EACZ,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,SAAS,GAAA,EAAA,CAAA,SAAA,EACN,SAAS,GAAA,MAAA,CAAA,EAAA,EAVE,qGAWf,CADa,CAAA;AAEZ,IAAA,SAAS,SAAS,GAAA;QAChB,IAAI,KAAK,IAAI,IAAI;AAAE,YAAA,OAAO,KAAK,CAAA;QAC/B,IAAI,YAAY,IAAI,IAAI;AAAE,YAAA,OAAO,YAAY,CAAA;QAC7C,IAAI,GAAG,IAAI,IAAI;AAAE,YAAA,OAAO,GAAG,CAAA;AAC3B,QAAA,OAAO,CAAC,CAAA;KACT;AAEK,IAAA,IAAA,KAAA,MAAgC,CAAA,QAAQ,CAAC,YAAM,EAAA,OAAA,SAAS,EAAE,CAAA,EAAA,CAAC,IAAA,EAA1D,WAAW,QAAA,EAAE,cAAc,QAA+B,CAAA;AAEjE,IAAA,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEA,EAAU,CAAC,eAAe,EAAE;AACrC,YAAA,yBAAyB,EAAE,QAAQ;SACpC,CAAC,EAAA;AAED,QAAA,WAAW,KACV,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,gCAAgC,EAAA,EAC5C,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAC7B,CACP;AAED,QAAA,KAAA,CAAA,aAAA,CAACC,QAAW,EAAA,QAAA,CAAA,EAAA,EACN,SAAS,EAAA,EAAA,YAAA,EACD,SAAS,EACrB,eAAe,EAAC,SAAS,EACzB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAC,QAAQ,EAAA;gBACjB,cAAc,CAAC,QAAQ,CAAC,CAAA;AACxB,gBAAA,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAA;aAC/B,EAAA,CAAA,CACD,CACE,EACP;AACH,CAAC,CAAA;AAED,IAAM,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,EAAC;AACtD,gBAAgB,CAAC,WAAW,GAAG,QAAQ,CAAA;AAOhC,IAAM,eAAe,GAAG,UAAC,EAAkC,EAAA;AAAhC,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;AACxC,IAAA,OAAO,8BAAM,SAAS,EAAC,2BAA2B,EAAE,EAAA,QAAQ,CAAQ,CAAA;AACtE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.js","sources":["../../../src/components/Form/Stepper.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\"\nimport classNames from \"classnames\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\nimport { Button } from \"../Button\"\n\nconst enforceInRange = (\n value: number,\n min: number | undefined,\n max: number | undefined\n) => {\n let enforcedValue = value\n if (typeof max !== \"undefined\") {\n enforcedValue = Math.min(enforcedValue, max)\n }\n if (typeof min !== \"undefined\") {\n enforcedValue = Math.max(enforcedValue, min)\n }\n return enforcedValue\n}\n\ntype Props = {\n value: number\n name?: string\n disabled?: boolean\n min?: number\n max?: number\n step: number\n onChange?: (value: number) => void\n children?: (value: number) => React.ReactNode\n} & FormElement\n\ntype State = {\n value: number\n}\n\nclass Stepper extends PureComponent<Props, State> {\n constructor(props: Props) {\n super(props)\n\n if (props.step < 0)\n throw new Error(\"Incorrect step value. Can't be below zero\")\n\n this.onDecrement = this.onDecrement.bind(this)\n this.onIncrement = this.onIncrement.bind(this)\n this.changeValue = this.changeValue.bind(this)\n\n this.state = {\n value: enforceInRange(props.value, props.min, props.max),\n }\n }\n\n componentDidUpdate(_prevProps: Props, prevState: State) {\n if (prevState.value !== this.state.value) {\n this.changeValue(this.state.value)\n } else if (this.props.value !== this.state.value) {\n this.changeValue(this.props.value)\n }\n }\n\n onDecrement = () => {\n ;(this.props.min !== null || this.state.value > this.props.min) &&\n this.changeValue(\n parseFloat((this.state.value - this.props.step).toFixed(10))\n )\n }\n\n onIncrement = () => {\n ;(this.props.max !== null || this.state.value < this.props.max) &&\n this.changeValue(\n parseFloat((this.state.value + this.props.step).toFixed(10))\n )\n }\n\n changeValue = (value: number) => {\n this.setState(\n {\n value: enforceInRange(value, this.props.min, this.props.max),\n },\n () => {\n this.props.onChange && this.props.onChange(this.state.value)\n }\n )\n }\n\n render() {\n const { name, status, disabled, min, max, children } = this.props\n\n return (\n <div\n className={classNames(\"cobalt-Stepper\", {\n \"cobalt-Stepper--disabled\": disabled,\n \"cobalt-Stepper--success\": status === \"success\",\n \"cobalt-Stepper--error\": status === \"error\",\n })}\n >\n <div className=\"cobalt-Stepper__Wrapper\">\n <Button\n className=\"cobalt-Stepper__ActionButton\"\n disabled={disabled || this.state.value === min}\n onClick={this.onDecrement}\n type={\"button\"}\n >\n -\n </Button>\n <div className=\"cobalt-Stepper__ContentWrapper\">\n {children ? children(this.state.value) : this.state.value}\n <input type=\"hidden\" name={name} value={this.state.value} />\n </div>\n <Button\n className=\"cobalt-Stepper__ActionButton\"\n disabled={disabled || this.state.value === max}\n onClick={this.onIncrement}\n type={\"button\"}\n >\n +\n </Button>\n </div>\n </div>\n )\n }\n}\n\nconst wrappedComponent = withFieldLabelAndHint(Stepper)\nwrappedComponent.displayName = \"Stepper\"\n\nexport { wrappedComponent as Stepper }\n\ntype StepperMetaProps = {\n children: React.ReactNode\n}\nconst StepperMeta = ({ children }: StepperMetaProps) => {\n return <div className=\"cobalt-Stepper__Meta\">{children}</div>\n}\n\nexport { StepperMeta }\n"],"names":["classNames"],"mappings":"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"}
1
+ {"version":3,"file":"Stepper.js","sources":["../../../src/components/Form/Stepper.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\"\nimport classNames from \"classnames\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\nimport { Button } from \"../Button\"\n\nconst enforceInRange = (\n value: number,\n min: number | undefined,\n max: number | undefined\n) => {\n let enforcedValue = value\n if (typeof max !== \"undefined\") {\n enforcedValue = Math.min(enforcedValue, max)\n }\n if (typeof min !== \"undefined\") {\n enforcedValue = Math.max(enforcedValue, min)\n }\n return enforcedValue\n}\n\ntype Props = {\n value: number\n name?: string\n disabled?: boolean\n min?: number\n max?: number\n step: number\n onChange?: (value: number) => void\n children?: (value: number) => React.ReactNode\n} & FormElement\n\ntype State = {\n value: number\n}\n\nclass Stepper extends PureComponent<Props, State> {\n constructor(props: Props) {\n super(props)\n\n if (props.step < 0)\n throw new Error(\"Incorrect step value. Can't be below zero\")\n\n this.onDecrement = this.onDecrement.bind(this)\n this.onIncrement = this.onIncrement.bind(this)\n this.changeValue = this.changeValue.bind(this)\n\n this.state = {\n value: enforceInRange(props.value, props.min, props.max),\n }\n }\n\n componentDidUpdate(_prevProps: Props, prevState: State) {\n if (prevState.value !== this.state.value) {\n this.changeValue(this.state.value)\n } else if (this.props.value !== this.state.value) {\n this.changeValue(this.props.value)\n }\n }\n\n onDecrement = () => {\n ;(this.props.min !== null || this.state.value > this.props.min) &&\n this.changeValue(\n parseFloat((this.state.value - this.props.step).toFixed(10))\n )\n }\n\n onIncrement = () => {\n ;(this.props.max !== null || this.state.value < this.props.max) &&\n this.changeValue(\n parseFloat((this.state.value + this.props.step).toFixed(10))\n )\n }\n\n changeValue = (value: number) => {\n this.setState(\n {\n value: enforceInRange(value, this.props.min, this.props.max),\n },\n () => {\n this.props.onChange && this.props.onChange(this.state.value)\n }\n )\n }\n\n render() {\n const { name, status, disabled, min, max, children } = this.props\n\n return (\n <div\n className={classNames(\"cobalt-Stepper\", {\n \"cobalt-Stepper--disabled\": disabled,\n \"cobalt-Stepper--success\": status === \"success\",\n \"cobalt-Stepper--error\": status === \"error\",\n })}\n >\n <div className=\"cobalt-Stepper__Wrapper\">\n <Button\n className=\"cobalt-Stepper__ActionButton\"\n disabled={disabled || this.state.value === min}\n onClick={this.onDecrement}\n type={\"button\"}\n >\n -\n </Button>\n <div className=\"cobalt-Stepper__ContentWrapper\">\n {children ? children(this.state.value) : this.state.value}\n <input type=\"hidden\" name={name} value={this.state.value} />\n </div>\n <Button\n className=\"cobalt-Stepper__ActionButton\"\n disabled={disabled || this.state.value === max}\n onClick={this.onIncrement}\n type={\"button\"}\n >\n +\n </Button>\n </div>\n </div>\n )\n }\n}\n\nconst wrappedComponent = withFieldLabelAndHint(Stepper)\nwrappedComponent.displayName = \"Stepper\"\n\nexport { wrappedComponent as Stepper }\n\ntype StepperMetaProps = {\n children: React.ReactNode\n}\nconst StepperMeta = ({ children }: StepperMetaProps) => {\n return <div className=\"cobalt-Stepper__Meta\">{children}</div>\n}\n\nexport { StepperMeta }\n"],"names":["classNames"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextArea.js","sources":["../../../src/components/Form/TextArea.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\"\nimport cx from \"classnames\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\ntype Props = {\n maxLength?: number\n className?: string\n inputClassName?: string\n autosize?: boolean\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void\n} & FormElement &\n React.TextareaHTMLAttributes<HTMLTextAreaElement>\n\ntype State = {\n length: number\n height: number\n}\n\nclass TextArea extends PureComponent<Props, State> {\n constructor(props: Props) {\n super(props)\n this.handleChange = this.handleChange.bind(this)\n\n this.state = {\n length: 0,\n height: 0,\n }\n }\n\n handleChange(event: React.ChangeEvent<HTMLTextAreaElement>) {\n if (this.props.autosize || this.props.maxLength) {\n this.setState({\n length: event.target.value.length,\n height: event.target.scrollHeight + 2,\n })\n }\n this.props.onChange && this.props.onChange(event)\n }\n\n render() {\n const {\n autosize,\n className,\n inputClassName,\n status,\n maxLength,\n ...nativeProps\n } = this.props\n\n return (\n <div\n className={cx(\"cobalt-TextAreaField\", className, {\n \"cobalt-TextAreaField--withLimit\": maxLength && maxLength > 0,\n \"cobalt-TextAreaField--success\": status === \"success\",\n \"cobalt-TextAreaField--error\": status === \"error\",\n })}\n >\n <textarea\n {...nativeProps}\n maxLength={maxLength}\n style={\n autosize\n ? {\n height: this.state.height + \"px\",\n }\n : {}\n }\n onChange={this.handleChange}\n className={cx(\"cobalt-TextAreaField__Input\", inputClassName)}\n />\n {this.state.length > 0 && maxLength && maxLength > 0 && (\n <div className=\"cobalt-TextAreaField__RemainingChars\">\n {maxLength - this.state.length} remaining characters\n </div>\n )}\n </div>\n )\n }\n}\n\nconst wrappedComponent = withFieldLabelAndHint(TextArea)\nwrappedComponent.displayName = \"TextArea\"\n\nexport { wrappedComponent as TextArea }\n"],"names":[],"mappings":";;;;;AAmBA;IAAuB,4BAA2B;IAChD,kBAAY,KAAY;QAAxB,YACE,kBAAM,KAAK,CAAC,SAOb;QANC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QAEhD,KAAI,CAAC,KAAK,GAAG;YACX,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;SACV,CAAA;;KACF;IAED,+BAAY,GAAZ,UAAa,KAA6C;QACxD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC;gBACZ,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;gBACjC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC;aACtC,CAAC,CAAA;SACH;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;KAClD;IAED,yBAAM,GAAN;QACE,IAAM,KAOF,IAAI,CAAC,KAAK,EANZ,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,cAAc,oBAAA,EACd,MAAM,YAAA,EACN,SAAS,eAAA,EACN,WAAW,cANV,kEAOL,CAAa,CAAA;QAEd,QACE,6BACE,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE;gBAC/C,iCAAiC,EAAE,SAAS,IAAI,SAAS,GAAG,CAAC;gBAC7D,+BAA+B,EAAE,MAAM,KAAK,SAAS;gBACrD,6BAA6B,EAAE,MAAM,KAAK,OAAO;aAClD,CAAC;YAEF,6CACM,WAAW,IACf,SAAS,EAAE,SAAS,EACpB,KAAK,EACH,QAAQ;sBACJ;wBACE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI;qBACjC;sBACD,EAAE,EAER,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,cAAc,CAAC,IAC5D;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,IAAI,SAAS,GAAG,CAAC,KAClD,6BAAK,SAAS,EAAC,sCAAsC;gBAClD,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;wCAC1B,CACP,CACG,EACP;KACF;IACH,eAAC;AAAD,CA5DA,CAAuB,aAAa,GA4DnC;IAEK,gBAAgB,GAAG,qBAAqB,CAAC,QAAQ,EAAC;AACxD,gBAAgB,CAAC,WAAW,GAAG,UAAU;;;;"}
1
+ {"version":3,"file":"TextArea.js","sources":["../../../src/components/Form/TextArea.tsx"],"sourcesContent":["import React, { PureComponent } from \"react\"\nimport cx from \"classnames\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\ntype Props = {\n maxLength?: number\n className?: string\n inputClassName?: string\n autosize?: boolean\n onChange?: (event: React.ChangeEvent<HTMLTextAreaElement>) => void\n} & FormElement &\n React.TextareaHTMLAttributes<HTMLTextAreaElement>\n\ntype State = {\n length: number\n height: number\n}\n\nclass TextArea extends PureComponent<Props, State> {\n constructor(props: Props) {\n super(props)\n this.handleChange = this.handleChange.bind(this)\n\n this.state = {\n length: 0,\n height: 0,\n }\n }\n\n handleChange(event: React.ChangeEvent<HTMLTextAreaElement>) {\n if (this.props.autosize || this.props.maxLength) {\n this.setState({\n length: event.target.value.length,\n height: event.target.scrollHeight + 2,\n })\n }\n this.props.onChange && this.props.onChange(event)\n }\n\n render() {\n const {\n autosize,\n className,\n inputClassName,\n status,\n maxLength,\n ...nativeProps\n } = this.props\n\n return (\n <div\n className={cx(\"cobalt-TextAreaField\", className, {\n \"cobalt-TextAreaField--withLimit\": maxLength && maxLength > 0,\n \"cobalt-TextAreaField--success\": status === \"success\",\n \"cobalt-TextAreaField--error\": status === \"error\",\n })}\n >\n <textarea\n {...nativeProps}\n maxLength={maxLength}\n style={\n autosize\n ? {\n height: this.state.height + \"px\",\n }\n : {}\n }\n onChange={this.handleChange}\n className={cx(\"cobalt-TextAreaField__Input\", inputClassName)}\n />\n {this.state.length > 0 && maxLength && maxLength > 0 && (\n <div className=\"cobalt-TextAreaField__RemainingChars\">\n {maxLength - this.state.length} remaining characters\n </div>\n )}\n </div>\n )\n }\n}\n\nconst wrappedComponent = withFieldLabelAndHint(TextArea)\nwrappedComponent.displayName = \"TextArea\"\n\nexport { wrappedComponent as TextArea }\n"],"names":[],"mappings":";;;;;AAmBA,IAAA,QAAA,kBAAA,UAAA,MAAA,EAAA;IAAuB,SAA2B,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA;AAChD,IAAA,SAAA,QAAA,CAAY,KAAY,EAAA;QAAxB,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,KAAK,CAAC,IAOb,IAAA,CAAA;QANC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,CAAA;QAEhD,KAAI,CAAC,KAAK,GAAG;AACX,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,MAAM,EAAE,CAAC;SACV,CAAA;;KACF;IAED,QAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,KAA6C,EAAA;QACxD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC;AACZ,gBAAA,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;AACjC,gBAAA,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC;AACtC,aAAA,CAAC,CAAA;AACH,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;KAClD,CAAA;AAED,IAAA,QAAA,CAAA,SAAA,CAAA,MAAM,GAAN,YAAA;QACE,IAAM,EAAA,GAOF,IAAI,CAAC,KAAK,EANZ,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,cAAc,oBAAA,EACd,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,SAAS,GAAA,EAAA,CAAA,SAAA,EACN,WAAW,GAAA,MAAA,CAAA,EAAA,EANV,CAOL,UAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,CAAA,CAAa,CAAA;QAEd,QACE,6BACE,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,SAAS,EAAE;AAC/C,gBAAA,iCAAiC,EAAE,SAAS,IAAI,SAAS,GAAG,CAAC;gBAC7D,+BAA+B,EAAE,MAAM,KAAK,SAAS;gBACrD,6BAA6B,EAAE,MAAM,KAAK,OAAO;aAClD,CAAC,EAAA;YAEF,KACM,CAAA,aAAA,CAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,WAAW,IACf,SAAS,EAAE,SAAS,EACpB,KAAK,EACH,QAAQ;AACN,sBAAE;AACE,wBAAA,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI;AACjC,qBAAA;AACH,sBAAE,EAAE,EAER,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,cAAc,CAAC,EAC5D,CAAA,CAAA;AACD,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,IAAI,SAAS,GAAG,CAAC,KAClD,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,sCAAsC,EAAA;AAClD,gBAAA,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;wCAC1B,CACP,CACG,EACP;KACF,CAAA;IACH,OAAC,QAAA,CAAA;AAAD,CA5DA,CAAuB,aAAa,CA4DnC,CAAA,CAAA;AAED,IAAM,gBAAgB,GAAG,qBAAqB,CAAC,QAAQ,EAAC;AACxD,gBAAgB,CAAC,WAAW,GAAG,UAAU;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.js","sources":["../../../src/components/Form/TextInput.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { Icon, IconSources } from \"../Icon\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\nexport type TextInputType =\n | \"text\"\n | \"email\"\n | \"number\"\n | \"password\"\n | \"search\"\n | \"tel\"\n | \"url\"\n | \"date\"\n | \"datetime-local\"\n | \"month\"\n | \"time\"\n | \"week\"\n | \"currency\"\n\ntype Props = {\n type?: TextInputType\n icon?: IconSources\n forwardedRef?: React.Ref<HTMLInputElement>\n} & FormElement &\n React.InputHTMLAttributes<HTMLInputElement>\n\nexport const TextInputWrapper = ({\n icon,\n status,\n render,\n}: {\n icon?: IconSources\n status?: FormElement[\"status\"]\n render: (className: string) => React.ReactNode\n}) => {\n return (\n <div\n className={classNames(\"cobalt-TextField\", {\n \"cobalt-TextField--withIcon\": icon,\n \"cobalt-TextField--success\": status === \"success\",\n \"cobalt-TextField--error\": status === \"error\",\n })}\n >\n {render(\"cobalt-TextField__Input\")}\n {icon && <Icon source={icon} className=\"cobalt-TextField__Icon\" />}\n </div>\n )\n}\n\nconst TextInput = ({\n icon,\n status,\n type = \"text\",\n forwardedRef,\n ...inputProps\n}: Props) => (\n <TextInputWrapper\n icon={icon}\n status={status}\n render={(className) => {\n return (\n <input\n type={type}\n {...inputProps}\n className={className}\n ref={forwardedRef}\n />\n )\n }}\n />\n)\n\nTextInput.displayName = \"TextInputRaw\"\n\nconst wrappedComponent = withFieldLabelAndHint(TextInput)\nwrappedComponent.displayName = \"TextInput\"\n\nexport { wrappedComponent as TextInput }\n"],"names":["classNames"],"mappings":";;;;;;IA4Ba,gBAAgB,GAAG,UAAC,EAQhC;QAPC,IAAI,UAAA,EACJ,MAAM,YAAA,EACN,MAAM,YAAA;IAMN,QACE,6BACE,SAAS,EAAEA,EAAU,CAAC,kBAAkB,EAAE;YACxC,4BAA4B,EAAE,IAAI;YAClC,2BAA2B,EAAE,MAAM,KAAK,SAAS;YACjD,yBAAyB,EAAE,MAAM,KAAK,OAAO;SAC9C,CAAC;QAED,MAAM,CAAC,yBAAyB,CAAC;QACjC,IAAI,IAAI,oBAAC,IAAI,IAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,wBAAwB,GAAG,CAC9D,EACP;AACH,EAAC;AAED,IAAM,SAAS,GAAG,UAAC,EAMX;IALN,IAAA,IAAI,UAAA,EACJ,MAAM,YAAA,EACN,YAAa,EAAb,IAAI,mBAAG,MAAM,KAAA,EACb,YAAY,kBAAA,EACT,UAAU,cALI,0CAMlB,CADc;IACF,QACX,oBAAC,gBAAgB,IACf,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAC,SAAS;YAChB,QACE,wCACE,IAAI,EAAE,IAAI,IACN,UAAU,IACd,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,YAAY,IACjB,EACH;SACF,GACD,EACH;CAAA,CAAA;AAED,SAAS,CAAC,WAAW,GAAG,cAAc,CAAA;IAEhC,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,EAAC;AACzD,gBAAgB,CAAC,WAAW,GAAG,WAAW;;;;"}
1
+ {"version":3,"file":"TextInput.js","sources":["../../../src/components/Form/TextInput.tsx"],"sourcesContent":["import React from \"react\"\nimport classNames from \"classnames\"\nimport { Icon, IconSources } from \"../Icon\"\nimport { FormElement } from \"./form\"\nimport { withFieldLabelAndHint } from \"./field\"\n\nexport type TextInputType =\n | \"text\"\n | \"email\"\n | \"number\"\n | \"password\"\n | \"search\"\n | \"tel\"\n | \"url\"\n | \"date\"\n | \"datetime-local\"\n | \"month\"\n | \"time\"\n | \"week\"\n | \"currency\"\n\ntype Props = {\n type?: TextInputType\n icon?: IconSources\n forwardedRef?: React.Ref<HTMLInputElement>\n} & FormElement &\n React.InputHTMLAttributes<HTMLInputElement>\n\nexport const TextInputWrapper = ({\n icon,\n status,\n render,\n}: {\n icon?: IconSources\n status?: FormElement[\"status\"]\n render: (className: string) => React.ReactNode\n}) => {\n return (\n <div\n className={classNames(\"cobalt-TextField\", {\n \"cobalt-TextField--withIcon\": icon,\n \"cobalt-TextField--success\": status === \"success\",\n \"cobalt-TextField--error\": status === \"error\",\n })}\n >\n {render(\"cobalt-TextField__Input\")}\n {icon && <Icon source={icon} className=\"cobalt-TextField__Icon\" />}\n </div>\n )\n}\n\nconst TextInput = ({\n icon,\n status,\n type = \"text\",\n forwardedRef,\n ...inputProps\n}: Props) => (\n <TextInputWrapper\n icon={icon}\n status={status}\n render={(className) => {\n return (\n <input\n type={type}\n {...inputProps}\n className={className}\n ref={forwardedRef}\n />\n )\n }}\n />\n)\n\nTextInput.displayName = \"TextInputRaw\"\n\nconst wrappedComponent = withFieldLabelAndHint(TextInput)\nwrappedComponent.displayName = \"TextInput\"\n\nexport { wrappedComponent as TextInput }\n"],"names":["classNames"],"mappings":";;;;;;AA4BO,IAAM,gBAAgB,GAAG,UAAC,EAQhC,EAAA;AAPC,IAAA,IAAA,IAAI,UAAA,EACJ,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;AAMN,IAAA,QACE,KACE,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEA,EAAU,CAAC,kBAAkB,EAAE;AACxC,YAAA,4BAA4B,EAAE,IAAI;YAClC,2BAA2B,EAAE,MAAM,KAAK,SAAS;YACjD,yBAAyB,EAAE,MAAM,KAAK,OAAO;SAC9C,CAAC,EAAA;QAED,MAAM,CAAC,yBAAyB,CAAC;AACjC,QAAA,IAAI,IAAI,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAC,wBAAwB,EAAG,CAAA,CAC9D,EACP;AACH,EAAC;AAED,IAAM,SAAS,GAAG,UAAC,EAMX,EAAA;AALN,IAAA,IAAA,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,YAAa,EAAb,IAAI,mBAAG,MAAM,GAAA,EAAA,EACb,YAAY,GAAA,EAAA,CAAA,YAAA,EACT,UAAU,GAAA,MAAA,CAAA,EAAA,EALI,0CAMlB,CADc,CAAA;AACF,IAAA,QACX,KAAA,CAAA,aAAA,CAAC,gBAAgB,EAAA,EACf,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAC,SAAS,EAAA;AAChB,YAAA,QACE,KACE,CAAA,aAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,IAAI,EAAE,IAAI,IACN,UAAU,EAAA,EACd,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,YAAY,EAAA,CAAA,CACjB,EACH;SACF,EAAA,CACD,EACH;CAAA,CAAA;AAED,SAAS,CAAC,WAAW,GAAG,cAAc,CAAA;AAEtC,IAAM,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,EAAC;AACzD,gBAAgB,CAAC,WAAW,GAAG,WAAW;;;;"}