mautourco-components 0.2.30 → 0.2.32

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 (328) hide show
  1. package/README.md +54 -24
  2. package/dist/components/atoms/Avatar/Avatar.js +1 -12
  3. package/dist/components/atoms/Button/Button.js +1 -12
  4. package/dist/components/atoms/Checkbox/Checkbox.js +2 -13
  5. package/dist/components/atoms/Chip/Chip.js +1 -12
  6. package/dist/components/atoms/Icon/icons/AccomIcon.js +1 -12
  7. package/dist/components/atoms/Icon/icons/AirIcon.js +1 -12
  8. package/dist/components/atoms/Icon/icons/ArrivalIcon.js +1 -12
  9. package/dist/components/atoms/Icon/icons/ArrowDownOutlineIcon.js +1 -12
  10. package/dist/components/atoms/Icon/icons/ArrowRightOutlineIcon.js +1 -12
  11. package/dist/components/atoms/Icon/icons/BadgeAlertIcon.js +1 -12
  12. package/dist/components/atoms/Icon/icons/BikeIcon.js +1 -12
  13. package/dist/components/atoms/Icon/icons/BookingIcon.js +1 -12
  14. package/dist/components/atoms/Icon/icons/Building2OutlineIcon.js +1 -12
  15. package/dist/components/atoms/Icon/icons/BuildingIcon.js +1 -12
  16. package/dist/components/atoms/Icon/icons/BusIcon.js +1 -12
  17. package/dist/components/atoms/Icon/icons/Calendar2Icon.js +1 -12
  18. package/dist/components/atoms/Icon/icons/CalendarIcon.js +1 -12
  19. package/dist/components/atoms/Icon/icons/CalendarOutlineIcon.js +1 -12
  20. package/dist/components/atoms/Icon/icons/CalendarRangeOutlineIcon.js +1 -12
  21. package/dist/components/atoms/Icon/icons/CarFront.js +1 -12
  22. package/dist/components/atoms/Icon/icons/CarIcon.js +1 -12
  23. package/dist/components/atoms/Icon/icons/CatamaranIcon.js +1 -12
  24. package/dist/components/atoms/Icon/icons/Check.js +1 -12
  25. package/dist/components/atoms/Icon/icons/CheckCircleIcon.js +1 -12
  26. package/dist/components/atoms/Icon/icons/Chevron.js +1 -1
  27. package/dist/components/atoms/Icon/icons/ClockIcon.js +1 -12
  28. package/dist/components/atoms/Icon/icons/Close.js +1 -12
  29. package/dist/components/atoms/Icon/icons/CloseCircleIcon.js +1 -12
  30. package/dist/components/atoms/Icon/icons/DeleteIcon.js +1 -12
  31. package/dist/components/atoms/Icon/icons/DepartureIcon.js +1 -12
  32. package/dist/components/atoms/Icon/icons/EyeIcon.js +1 -12
  33. package/dist/components/atoms/Icon/icons/FacebookIcon.js +1 -12
  34. package/dist/components/atoms/Icon/icons/HomeIcon.js +1 -12
  35. package/dist/components/atoms/Icon/icons/Info2Icon.d.ts +4 -0
  36. package/dist/components/atoms/Icon/icons/Info2Icon.js +25 -0
  37. package/dist/components/atoms/Icon/icons/InfoIcon.js +1 -12
  38. package/dist/components/atoms/Icon/icons/Land.js +1 -12
  39. package/dist/components/atoms/Icon/icons/LineIcon.js +1 -12
  40. package/dist/components/atoms/Icon/icons/LinkedInIcon.js +1 -12
  41. package/dist/components/atoms/Icon/icons/LuggageIcon.js +1 -12
  42. package/dist/components/atoms/Icon/icons/MapIcon.js +1 -12
  43. package/dist/components/atoms/Icon/icons/MapPinIcon.js +1 -12
  44. package/dist/components/atoms/Icon/icons/MautoucoLogo.d.ts +0 -1
  45. package/dist/components/atoms/Icon/icons/MautoucoLogo.js +1 -12
  46. package/dist/components/atoms/Icon/icons/MenuIcon.d.ts +0 -1
  47. package/dist/components/atoms/Icon/icons/MenuIcon.js +1 -12
  48. package/dist/components/atoms/Icon/icons/MicroIcon.js +1 -12
  49. package/dist/components/atoms/Icon/icons/MinusIcon.js +1 -12
  50. package/dist/components/atoms/Icon/icons/MoreIcon.js +1 -12
  51. package/dist/components/atoms/Icon/icons/MoreVerticalIcon.js +1 -12
  52. package/dist/components/atoms/Icon/icons/NightIcon.js +1 -12
  53. package/dist/components/atoms/Icon/icons/PlaneIcon.js +1 -12
  54. package/dist/components/atoms/Icon/icons/PlaneLandingOutlineIcon.js +1 -12
  55. package/dist/components/atoms/Icon/icons/PlaneTakeoffOutlineIcon.js +1 -12
  56. package/dist/components/atoms/Icon/icons/PlusCircleIcon.js +1 -12
  57. package/dist/components/atoms/Icon/icons/PlusIcon.js +1 -12
  58. package/dist/components/atoms/Icon/icons/QuotationIcon.js +1 -12
  59. package/dist/components/atoms/Icon/icons/SeaIcon.js +1 -12
  60. package/dist/components/atoms/Icon/icons/Search.js +1 -12
  61. package/dist/components/atoms/Icon/icons/Settings.js +1 -12
  62. package/dist/components/atoms/Icon/icons/ShipIcon.js +1 -12
  63. package/dist/components/atoms/Icon/icons/StopWatchIcon.js +1 -12
  64. package/dist/components/atoms/Icon/icons/StrollerIcon.js +1 -12
  65. package/dist/components/atoms/Icon/icons/TwitterIcon.js +1 -12
  66. package/dist/components/atoms/Icon/icons/User.js +1 -12
  67. package/dist/components/atoms/Icon/icons/UserIcon.js +1 -12
  68. package/dist/components/atoms/Icon/icons/Utensils.js +1 -12
  69. package/dist/components/atoms/Icon/icons/WalletIcon.js +1 -12
  70. package/dist/components/atoms/Icon/icons/Youtube.js +1 -12
  71. package/dist/components/atoms/Icon/icons/registry.d.ts +1 -0
  72. package/dist/components/atoms/Icon/icons/registry.js +2 -0
  73. package/dist/components/atoms/Illustration/illustrations.js +4 -4
  74. package/dist/components/atoms/Inputs/DropdownInput/DropdownInput.js +1 -12
  75. package/dist/components/atoms/Inputs/Input/Input.d.ts +2 -1
  76. package/dist/components/atoms/Inputs/Input/Input.js +2 -13
  77. package/dist/components/atoms/Link/Link.js +4 -15
  78. package/dist/components/atoms/RatingStar/RatingStar.js +2 -13
  79. package/dist/components/atoms/SegmentedButton/SegmentedButton.js +3 -14
  80. package/dist/components/atoms/SelectedValue/SelectedValue.js +1 -12
  81. package/dist/components/atoms/Slider/Slider.js +1 -12
  82. package/dist/components/atoms/Spinner/Spinner.js +1 -12
  83. package/dist/components/atoms/Tab/Tab.js +1 -1
  84. package/dist/components/atoms/Typography/Typography.js +2 -13
  85. package/dist/components/molecules/AccomodationDocket/AccomodationDocket.js +3 -14
  86. package/dist/components/molecules/ActionDropdown/ActionDropdown.d.ts +0 -1
  87. package/dist/components/molecules/ActionDropdown/ActionDropdown.js +5 -16
  88. package/dist/components/molecules/AddItemButton/AddItemButton.js +1 -12
  89. package/dist/components/molecules/BookingPax/BookingPaxAccom.js +3 -14
  90. package/dist/components/molecules/BookingPax/BookingPaxClient/BookingPaxClient.d.ts +0 -1
  91. package/dist/components/molecules/BookingPax/BookingPaxClient/BookingPaxClient.js +5 -5
  92. package/dist/components/molecules/BookingPax/BookingPaxExcursion.js +1 -12
  93. package/dist/components/molecules/BookingPax/BookingPaxHeader.js +2 -2
  94. package/dist/components/molecules/BookingPax/BookingPaxLayout/BookingPaxLayout.d.ts +0 -1
  95. package/dist/components/molecules/BookingPax/BookingPaxLayout/BookingPaxLayout.js +1 -12
  96. package/dist/components/molecules/BookingPax/BookingPaxRemarks.js +1 -12
  97. package/dist/components/molecules/BookingPax/BookingPaxTransfer.js +1 -12
  98. package/dist/components/molecules/BookingResume/BookingResumeLayout/BookingResumeLayout.js +1 -12
  99. package/dist/components/molecules/BookingResume/ResumeAccom/ResumeAccom.js +1 -12
  100. package/dist/components/molecules/BookingResume/ResumeExcursion/ResumeExcursion.js +1 -12
  101. package/dist/components/molecules/BookingResume/ResumeOtherService.js +1 -12
  102. package/dist/components/molecules/BookingResume/ResumeTransfer.js +1 -12
  103. package/dist/components/molecules/Breadcrumbs/Breadcrumbs.js +1 -12
  104. package/dist/components/molecules/Calendar/CalendarInput.js +2 -13
  105. package/dist/components/molecules/Calendar/DateTime.d.ts +9 -9
  106. package/dist/components/molecules/Calendar/DateTime.js +3 -3
  107. package/dist/components/molecules/Calendar/TimePicker.js +1 -12
  108. package/dist/components/molecules/DateDisplay/DateDisplay.js +2 -13
  109. package/dist/components/molecules/DetailsInfo/DetailsAction.js +2 -13
  110. package/dist/components/molecules/DetailsInfo/DetailsAgency/DetailsAgency.js +1 -12
  111. package/dist/components/molecules/DetailsInfo/DetailsClient/DetailsClient.js +1 -12
  112. package/dist/components/molecules/DetailsInfo/DetailsFile.js +1 -12
  113. package/dist/components/molecules/DetailsInfo/DetailsInfo.d.ts +0 -1
  114. package/dist/components/molecules/DialogContentPolicy/CancellationLayout/CancellationLayout.js +1 -12
  115. package/dist/components/molecules/DialogContentPolicy/DialogCancellationAccom.d.ts +0 -1
  116. package/dist/components/molecules/DialogContentPolicy/DialogCancellationAccom.js +1 -12
  117. package/dist/components/molecules/DialogContentPolicy/DialogCancellationExcursion.d.ts +0 -1
  118. package/dist/components/molecules/DialogContentPolicy/DialogCancellationExcursion.js +1 -12
  119. package/dist/components/molecules/DialogContentPolicy/DialogCancellationList.d.ts +3 -3
  120. package/dist/components/molecules/DialogContentPolicy/DialogCancellationList.js +2 -2
  121. package/dist/components/molecules/DialogContentPolicy/DialogContentPolicy.js +1 -12
  122. package/dist/components/molecules/DocketPrices/DocketPrices.js +1 -12
  123. package/dist/components/molecules/ExcursionDocket/ExcursionDocket.js +1 -12
  124. package/dist/components/molecules/FeatureRow/FeatureRow.js +1 -12
  125. package/dist/components/molecules/FromTo/FromTo.d.ts +0 -1
  126. package/dist/components/molecules/FromTo/FromTo.js +1 -12
  127. package/dist/components/molecules/GlobalAmenities/GlobalAmenities.js +1 -12
  128. package/dist/components/molecules/LocationDropdown/LocationDropdown.js +6 -17
  129. package/dist/components/molecules/MultiSelectDropdown/MultiSelectDropdown.d.ts +1 -0
  130. package/dist/components/molecules/MultiSelectDropdown/MultiSelectDropdown.js +23 -28
  131. package/dist/components/molecules/OtherServiceDocket/OtherServiceDocket.js +1 -12
  132. package/dist/components/molecules/Pagination/Pagination.js +4 -15
  133. package/dist/components/molecules/PaxChips/PaxChips.d.ts +11 -0
  134. package/dist/components/molecules/PaxChips/PaxChips.js +9 -0
  135. package/dist/components/molecules/PaxDisplay/PaxDisplay.d.ts +0 -1
  136. package/dist/components/molecules/PaxDisplay/PaxDisplay.js +5 -16
  137. package/dist/components/molecules/PriceDisplay/PriceDisplay.js +1 -12
  138. package/dist/components/molecules/RatingTab/RatingTab.js +1 -12
  139. package/dist/components/molecules/SectionTitle/SectionTitle.js +1 -12
  140. package/dist/components/molecules/ServiceInfo/ServiceInfo.js +2 -13
  141. package/dist/components/molecules/ServiceLanguages/ServiceLanguages.js +1 -12
  142. package/dist/components/molecules/ServiceSelector/ServiceSelector.js +4 -15
  143. package/dist/components/molecules/ServiceTitle/ServiceTitle.js +1 -12
  144. package/dist/components/molecules/Stepper/Stepper.js +1 -12
  145. package/dist/components/molecules/StepperTimeline/StepperTimeline.js +6 -17
  146. package/dist/components/molecules/TabGroup/TabGroup.js +1 -12
  147. package/dist/components/molecules/TableServiceItem/DetailsCol.js +1 -12
  148. package/dist/components/molecules/TableServiceItem/ItemCol.d.ts +0 -1
  149. package/dist/components/molecules/TableServiceItem/ItemCol.js +2 -13
  150. package/dist/components/molecules/TableServiceItem/RowOtherServices.js +1 -12
  151. package/dist/components/molecules/TableServiceItem/RowTransfer.js +1 -12
  152. package/dist/components/molecules/TableServiceItem/index.d.ts +0 -1
  153. package/dist/components/molecules/TextWithBorderBottom/TextWithBorderBottom.js +1 -1
  154. package/dist/components/molecules/TextWithIcon/TextWithIcon.d.ts +0 -1
  155. package/dist/components/molecules/TextWithIcon/TextWithIcon.js +1 -12
  156. package/dist/components/molecules/TimelineItem/ServiceAccommodation.js +1 -12
  157. package/dist/components/molecules/TimelineItem/ServiceExcursion.js +1 -12
  158. package/dist/components/molecules/TimelineItem/ServiceTransfer.js +1 -12
  159. package/dist/components/molecules/TimelineItem/TimelineHeader.js +1 -12
  160. package/dist/components/molecules/TimelineItem/TimelineItem.d.ts +0 -1
  161. package/dist/components/molecules/TimelineItem/TimelineItem.js +1 -12
  162. package/dist/components/molecules/Toast/Toast.css +2107 -0
  163. package/dist/components/molecules/Toast/Toast.d.ts +2 -2
  164. package/dist/components/molecules/Toast/Toast.js +1 -12
  165. package/dist/components/molecules/TooltipDisplay/TooltipDisplay.js +1 -12
  166. package/dist/components/molecules/TransferDocket/TransferDocket.js +2 -13
  167. package/dist/components/molecules/UserCard/UserCard.js +3 -14
  168. package/dist/components/organisms/Booking/BookingDocket/BookingDocket.d.ts +0 -1
  169. package/dist/components/organisms/Booking/BookingDocket/BookingDocket.js +1 -1
  170. package/dist/components/organisms/Booking/BookingHeader.js +1 -12
  171. package/dist/components/organisms/Booking/BookingStep/BookingStep.js +1 -12
  172. package/dist/components/organisms/CarBookingCard/CarBookingCard.js +2 -2
  173. package/dist/components/organisms/CarBookingCard/CarBookingCardSkeleton.js +1 -12
  174. package/dist/components/organisms/CardContainer/CardContainer.js +1 -12
  175. package/dist/components/organisms/DateTimePicker/DateTimePicker.js +1 -12
  176. package/dist/components/organisms/Dialog/Dialog.js +3 -15
  177. package/dist/components/organisms/DialogBookingAddItem/AddItemNewService.d.ts +16 -0
  178. package/dist/components/organisms/DialogBookingAddItem/AddItemNewService.js +44 -0
  179. package/dist/components/organisms/DialogBookingAddItem/AddItemSelector.d.ts +8 -0
  180. package/dist/components/organisms/DialogBookingAddItem/AddItemSelector.js +12 -0
  181. package/dist/components/organisms/DialogBookingAddItem/DialogBookingAddItem.d.ts +17 -0
  182. package/dist/components/organisms/DialogBookingAddItem/DialogBookingAddItem.js +55 -0
  183. package/dist/components/organisms/DialogBookingAddItem/index.d.ts +3 -0
  184. package/dist/components/organisms/DialogBookingAddItem/index.js +3 -0
  185. package/dist/components/organisms/DialogBookingConfirm/BookingCancellationPolicy.d.ts +2 -2
  186. package/dist/components/organisms/DialogBookingConfirm/BookingCancellationPolicy.js +1 -12
  187. package/dist/components/organisms/DialogBookingConfirm/BookingMailSent.js +1 -12
  188. package/dist/components/organisms/DialogBookingConfirm/BookingReference.js +1 -12
  189. package/dist/components/organisms/DialogBookingConfirm/BookingSuccess.js +1 -12
  190. package/dist/components/organisms/DialogBookingConfirm/DialogBookingConfirm.d.ts +4 -0
  191. package/dist/components/organisms/DialogBookingConfirm/DialogBookingConfirm.js +2 -13
  192. package/dist/components/organisms/DialogCancelService/CancelBooking/CancelBooking.css +2117 -0
  193. package/dist/components/organisms/DialogCancelService/CancelBooking/CancelBooking.d.ts +16 -0
  194. package/dist/components/organisms/DialogCancelService/CancelBooking/CancelBooking.js +28 -0
  195. package/dist/components/organisms/{CancelService → DialogCancelService}/CancelPolicy.d.ts +2 -2
  196. package/dist/components/organisms/DialogCancelService/CancelPolicy.js +8 -0
  197. package/dist/components/organisms/DialogCancelService/ConfirmDelete/ConfirmDelete.js +24 -0
  198. package/dist/components/organisms/{CancelService/CancelService.d.ts → DialogCancelService/DialogCancelService.d.ts} +4 -3
  199. package/dist/components/organisms/DialogCancelService/DialogCancelService.js +14 -0
  200. package/dist/components/organisms/DialogCancelService/FromList.js +18 -0
  201. package/dist/components/organisms/DialogCancelService/index.d.ts +5 -0
  202. package/dist/components/organisms/DialogCancelService/index.js +1 -0
  203. package/dist/components/organisms/DialogComparison/DialogComparison.css +2116 -0
  204. package/dist/components/organisms/DialogComparison/DialogComparison.d.ts +24 -0
  205. package/dist/components/organisms/DialogComparison/DialogComparison.js +69 -0
  206. package/dist/components/organisms/DialogDeleteConfirm/DialogDeleteConfirm.d.ts +14 -0
  207. package/dist/components/organisms/DialogDeleteConfirm/DialogDeleteConfirm.js +11 -0
  208. package/dist/components/organisms/DialogSendingMail/DialogSendingMail.d.ts +11 -0
  209. package/dist/components/organisms/DialogSendingMail/DialogSendingMail.js +8 -0
  210. package/dist/components/organisms/DialogSendingMail/DialogSendingMailContent.d.ts +15 -0
  211. package/dist/components/organisms/DialogSendingMail/DialogSendingMailContent.js +49 -0
  212. package/dist/components/organisms/DialogSendingMail/index.d.ts +4 -0
  213. package/dist/components/organisms/DialogSendingMail/index.js +2 -0
  214. package/dist/components/organisms/DialogSendingMail/sending-mail-schema.d.ts +7 -0
  215. package/dist/components/organisms/DialogSendingMail/sending-mail-schema.js +16 -0
  216. package/dist/components/organisms/Docket/Docket.js +8 -19
  217. package/dist/components/organisms/Footer/Footer.js +3 -14
  218. package/dist/components/organisms/MultipleQuotationDocket/MultipleQuotationDocket.js +2 -13
  219. package/dist/components/organisms/PaxSelector/PaxSelector.js +22 -22
  220. package/dist/components/organisms/QuoteHeader/QuoteHeader.js +2 -13
  221. package/dist/components/organisms/RoundTrip/RoundTrip.js +1 -1
  222. package/dist/components/organisms/SearchBarTransfer/SearchBarTransfer.js +5 -5
  223. package/dist/components/organisms/TabCancellationPolicy/CancellationAccom.js +1 -12
  224. package/dist/components/organisms/TabCancellationPolicy/CancellationExcursion.js +1 -12
  225. package/dist/components/organisms/TabCancellationPolicy/CancellationHeader.d.ts +0 -1
  226. package/dist/components/organisms/TabCancellationPolicy/CancellationTransfer.js +1 -12
  227. package/dist/components/organisms/TabCancellationPolicy/HeaderAccom.js +1 -12
  228. package/dist/components/organisms/TabCancellationPolicy/HeaderExcursion/HeaderTransfer.js +1 -12
  229. package/dist/components/organisms/TabCancellationPolicy/PolicyAccom/PolicyAccom.js +1 -12
  230. package/dist/components/organisms/TabCancellationPolicy/PolicyExcursion.js +1 -12
  231. package/dist/components/organisms/TabCancellationPolicy/PolicyTransfer.js +1 -12
  232. package/dist/components/organisms/TabCancellationPolicy/TabCancellationPolicy.d.ts +0 -1
  233. package/dist/components/organisms/TabCancellationPolicy/TabCancellationPolicyLayout/TabCancellationPolicyLayout.js +1 -12
  234. package/dist/components/organisms/TabServiceDetails/Accommodation.js +1 -1
  235. package/dist/components/organisms/TabServiceDetails/DetailContentTransfer.js +1 -12
  236. package/dist/components/organisms/TabServiceDetails/DetailsContentAccom.js +2 -2
  237. package/dist/components/organisms/TabServiceDetails/DetailsContentExcursion.js +1 -12
  238. package/dist/components/organisms/TabServiceDetails/Excursion.js +1 -1
  239. package/dist/components/organisms/TabServiceDetails/TabServiceDetails.d.ts +0 -1
  240. package/dist/components/organisms/TabServiceDetails/TabServiceDetailsLayout/TabServiceDetailsLayout.js +1 -12
  241. package/dist/components/organisms/TabServiceDetails/Transfer.js +1 -1
  242. package/dist/components/organisms/Table/Table.css +48 -32
  243. package/dist/components/organisms/Table/Table.d.ts +4 -1
  244. package/dist/components/organisms/Table/Table.js +19 -16
  245. package/dist/components/organisms/Table/TableCell.d.ts +1 -1
  246. package/dist/components/organisms/Table/TableCell.js +1 -12
  247. package/dist/components/organisms/Table/columns/booking-cancel-service-columns.js +15 -31
  248. package/dist/components/organisms/Table/columns/booking-columns.js +7 -22
  249. package/dist/components/organisms/Table/columns/comparison-columns.d.ts +3 -0
  250. package/dist/components/organisms/Table/columns/comparison-columns.js +97 -0
  251. package/dist/components/organisms/Table/columns/detail-resume-columns.js +16 -31
  252. package/dist/components/organisms/Table/columns/index.d.ts +11 -7
  253. package/dist/components/organisms/Table/columns/index.js +2 -0
  254. package/dist/components/organisms/Table/columns/quotation-columns.d.ts +4 -1
  255. package/dist/components/organisms/Table/columns/quotation-columns.js +10 -19
  256. package/dist/components/organisms/Timeline/Timeline.js +1 -1
  257. package/dist/components/organisms/TopNavigation/DesktopNav.d.ts +0 -1
  258. package/dist/components/organisms/TopNavigation/DesktopNav.js +5 -16
  259. package/dist/components/organisms/TopNavigation/MobileNav.js +9 -20
  260. package/dist/components/organisms/TransferLine/TransferLine.js +1 -1
  261. package/dist/components/ui/button.d.ts +1 -1
  262. package/dist/components/ui/calendar.js +2 -2
  263. package/dist/components/ui/form.d.ts +24 -0
  264. package/dist/components/ui/form.js +79 -0
  265. package/dist/components/ui/label.d.ts +4 -0
  266. package/dist/components/ui/label.js +30 -0
  267. package/dist/hooks/useBookingPax.d.ts +1 -1
  268. package/dist/index.d.ts +26 -15
  269. package/dist/index.js +10 -2
  270. package/dist/lib/price-formatter.d.ts +1 -0
  271. package/dist/lib/price-formatter.js +13 -0
  272. package/dist/lib/shared-constant.d.ts +1 -0
  273. package/dist/lib/shared-constant.js +1 -0
  274. package/dist/lib/utils.d.ts +1 -2
  275. package/dist/lib/utils.js +1 -1
  276. package/dist/styles/mautourco.css +40 -0
  277. package/dist/styles/tokens/tokens.d.ts +464 -464
  278. package/package.json +7 -3
  279. package/src/components/atoms/Icon/icons/Info2Icon.tsx +42 -0
  280. package/src/components/atoms/Icon/icons/registry.tsx +2 -0
  281. package/src/components/atoms/Inputs/Input/Input.tsx +4 -2
  282. package/src/components/molecules/Calendar/DateTime.tsx +6 -4
  283. package/src/components/molecules/DialogContentPolicy/DialogCancellationList.tsx +6 -6
  284. package/src/components/molecules/DialogContentPolicy/DialogContentPolicy.tsx +1 -1
  285. package/src/components/molecules/MultiSelectDropdown/MultiSelectDropdown.tsx +117 -82
  286. package/src/components/molecules/PaxChips/PaxChips.tsx +30 -0
  287. package/src/components/molecules/TextWithIcon/TextWithIcon.tsx +2 -2
  288. package/src/components/molecules/Toast/Toast.css +27 -0
  289. package/src/components/molecules/Toast/Toast.tsx +9 -9
  290. package/src/components/organisms/Dialog/Dialog.tsx +85 -64
  291. package/src/components/organisms/{BookingAddItem → DialogBookingAddItem}/AddItemNewService.tsx +17 -2
  292. package/src/components/organisms/{BookingAddItem/BookingAddItem.tsx → DialogBookingAddItem/DialogBookingAddItem.tsx} +6 -6
  293. package/src/components/organisms/{BookingAddItem → DialogBookingAddItem}/index.ts +1 -1
  294. package/src/components/organisms/DialogBookingConfirm/BookingCancellationPolicy.tsx +2 -2
  295. package/src/components/organisms/DialogBookingConfirm/DialogBookingConfirm.tsx +14 -2
  296. package/src/components/organisms/DialogCancelService/CancelBooking/CancelBooking.css +24 -0
  297. package/src/components/organisms/DialogCancelService/CancelBooking/CancelBooking.tsx +98 -0
  298. package/src/components/organisms/{CancelService → DialogCancelService}/CancelPolicy.tsx +4 -4
  299. package/src/components/organisms/{CancelService/CancelService.tsx → DialogCancelService/DialogCancelService.tsx} +7 -5
  300. package/src/components/organisms/DialogCancelService/index.ts +6 -0
  301. package/src/components/organisms/DialogComparison/DialogComparison.css +23 -0
  302. package/src/components/organisms/DialogComparison/DialogComparison.tsx +157 -0
  303. package/src/components/organisms/DialogDeleteConfirm/DialogDeleteConfirm.tsx +57 -0
  304. package/src/components/organisms/DialogSendingMail/DialogSendingMail.tsx +27 -0
  305. package/src/components/organisms/DialogSendingMail/DialogSendingMailContent.tsx +115 -0
  306. package/src/components/organisms/DialogSendingMail/index.ts +5 -0
  307. package/src/components/organisms/DialogSendingMail/sending-mail-schema.ts +19 -0
  308. package/src/components/organisms/Table/Table.css +48 -32
  309. package/src/components/organisms/Table/Table.tsx +24 -5
  310. package/src/components/organisms/Table/columns/booking-cancel-service-columns.tsx +16 -32
  311. package/src/components/organisms/Table/columns/booking-columns.tsx +2 -19
  312. package/src/components/organisms/Table/columns/comparison-columns.tsx +140 -0
  313. package/src/components/organisms/Table/columns/detail-resume-columns.tsx +17 -33
  314. package/src/components/organisms/Table/columns/index.ts +2 -0
  315. package/src/components/organisms/Table/columns/quotation-columns.tsx +17 -9
  316. package/src/components/ui/form.tsx +160 -0
  317. package/src/components/ui/label.tsx +22 -0
  318. package/dist/components/organisms/CancelService/CancelPolicy.js +0 -19
  319. package/dist/components/organisms/CancelService/CancelService.js +0 -23
  320. package/dist/components/organisms/CancelService/ConfirmDelete/ConfirmDelete.js +0 -35
  321. package/dist/components/organisms/CancelService/FromList.js +0 -29
  322. /package/dist/components/organisms/{CancelService → DialogCancelService}/ConfirmDelete/ConfirmDelete.css +0 -0
  323. /package/dist/components/organisms/{CancelService → DialogCancelService}/ConfirmDelete/ConfirmDelete.d.ts +0 -0
  324. /package/dist/components/organisms/{CancelService → DialogCancelService}/FromList.d.ts +0 -0
  325. /package/src/components/organisms/{BookingAddItem → DialogBookingAddItem}/AddItemSelector.tsx +0 -0
  326. /package/src/components/organisms/{CancelService → DialogCancelService}/ConfirmDelete/ConfirmDelete.css +0 -0
  327. /package/src/components/organisms/{CancelService → DialogCancelService}/ConfirmDelete/ConfirmDelete.tsx +0 -0
  328. /package/src/components/organisms/{CancelService → DialogCancelService}/FromList.tsx +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mautourco-components",
3
- "version": "0.2.30",
3
+ "version": "0.2.32",
4
4
  "private": false,
5
5
  "description": "Bibliothèque de composants Motorco pour le redesign",
6
6
  "main": "dist/index.js",
@@ -25,6 +25,8 @@
25
25
  "motorco"
26
26
  ],
27
27
  "dependencies": {
28
+ "@hookform/resolvers": "^5.2.2",
29
+ "@radix-ui/react-label": "^2.1.8",
28
30
  "@radix-ui/react-popover": "^1.1.15",
29
31
  "@radix-ui/react-slot": "^1.2.4",
30
32
  "@radix-ui/react-tooltip": "^1.2.8",
@@ -46,8 +48,9 @@
46
48
  "react": "^19.1.1",
47
49
  "react-day-picker": "^9.11.2",
48
50
  "react-dom": "^19.1.1",
49
- "typescript": "^4.9.5",
50
- "web-vitals": "^2.1.4"
51
+ "react-hook-form": "^7.70.0",
52
+ "web-vitals": "^2.1.4",
53
+ "zod": "^4.3.5"
51
54
  },
52
55
  "scripts": {
53
56
  "start": "concurrently \"npm run watch-tokens\" \"vite\"",
@@ -106,6 +109,7 @@
106
109
  "style-dictionary": "^5.0.4",
107
110
  "tailwindcss": "^3.4.17",
108
111
  "tsc-alias": "^1.8.10",
112
+ "typescript": "^5.9.3",
109
113
  "vite": "^7.2.6",
110
114
  "vitest": "^2.1.8"
111
115
  }
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { IconBaseProps } from './registry';
3
+
4
+ const Info2Icon: React.FC<IconBaseProps> = ({ size = 'md', className = '', color }) => {
5
+ const getSizeClasses = () => {
6
+ switch (size) {
7
+ case 'xs':
8
+ return 'w-3 h-3';
9
+ case 'sm':
10
+ return 'w-4 h-4';
11
+ case 'md':
12
+ return 'w-5 h-5';
13
+ case 'lg':
14
+ return 'w-6 h-6';
15
+ case 'xl':
16
+ return 'w-8 h-8';
17
+ default:
18
+ return 'w-5 h-5';
19
+ }
20
+ };
21
+
22
+ const sizeClasses = getSizeClasses();
23
+ const colorClass = color ? `text-${color}` : 'text-current';
24
+ const classes = `${sizeClasses} ${colorClass} ${className}`;
25
+
26
+ return (
27
+ <svg
28
+ className={classes}
29
+ width="24"
30
+ height="24"
31
+ viewBox="0 0 24 24"
32
+ fill="none"
33
+ xmlns="http://www.w3.org/2000/svg">
34
+ <path
35
+ d="M20.9949 11.9999C20.9949 11.4964 20.8685 11.0011 20.6267 10.5594C20.3849 10.1177 20.0354 9.74382 19.6111 9.47253C19.2566 9.24585 19.0824 8.82151 19.1746 8.41101C19.2855 7.91752 19.2694 7.40367 19.1287 6.91785C18.9879 6.43206 18.7265 5.98941 18.3689 5.63171C18.0112 5.27399 17.5687 5.01184 17.0828 4.87097C16.5969 4.73014 16.0832 4.71511 15.5896 4.82605C15.179 4.91837 14.7538 4.74315 14.5271 4.38855C14.2559 3.96443 13.8827 3.61473 13.4412 3.37292C12.9995 3.13107 12.5033 3.00476 11.9998 3.00476C11.4964 3.00479 11.0009 3.13121 10.5593 3.37292C10.1176 3.61477 9.74369 3.96431 9.47241 4.38855C9.2458 4.74296 8.82136 4.91808 8.41089 4.82605C7.91814 4.71561 7.40571 4.7315 6.92065 4.87195C6.43548 5.01246 5.99304 5.27297 5.6355 5.62976C5.27809 5.98651 5.01625 6.4282 4.87476 6.91296C4.73337 7.39766 4.71652 7.9103 4.82593 8.4032C4.9173 8.81478 4.74078 9.23926 4.38452 9.46472C3.95712 9.73521 3.6051 10.1096 3.36108 10.5526C3.11708 10.9958 2.98903 11.494 2.98901 11.9999C2.98901 12.5058 3.11706 13.0039 3.36108 13.4471C3.60508 13.8902 3.95712 14.2645 4.38452 14.535C4.74075 14.7605 4.91726 15.185 4.82593 15.5966C4.71646 16.0897 4.73323 16.6029 4.87476 17.0878C5.01625 17.5724 5.27819 18.0133 5.6355 18.37C5.99304 18.7268 6.43548 18.9883 6.92065 19.1288C7.40559 19.2692 7.91826 19.2851 8.41089 19.1747L8.56519 19.1522C8.92525 19.1287 9.27532 19.3019 9.47339 19.6132C9.74432 20.0391 10.1188 20.3898 10.5613 20.6327C11.0036 20.8755 11.5 21.0028 12.0046 21.0028C12.5094 21.0028 13.0065 20.8756 13.449 20.6327C13.8913 20.3898 14.265 20.039 14.5359 19.6132C14.7617 19.2582 15.1858 19.0826 15.5964 19.1737C16.0895 19.2832 16.6028 19.2664 17.0876 19.1249C17.5724 18.9833 18.0141 18.7216 18.3708 18.3641C18.7275 18.0067 18.9882 17.5649 19.1287 17.08C19.2692 16.5948 19.285 16.0816 19.1746 15.5887C19.0825 15.1783 19.2567 14.7538 19.6111 14.5272C20.0354 14.2559 20.3849 13.882 20.6267 13.4403C20.8684 12.9987 20.9949 12.5033 20.9949 11.9999ZM12.0095 14.9999C12.5618 14.9999 13.0095 15.4476 13.0095 15.9999C13.0095 16.5522 12.5618 16.9999 12.0095 16.9999H11.9998C11.4476 16.9998 10.9998 16.5521 10.9998 15.9999C10.9998 15.4477 11.4476 15 11.9998 14.9999H12.0095ZM10.9998 11.9999V7.99988C10.9998 7.4477 11.4476 6.99998 11.9998 6.99988C12.552 6.99988 12.9997 7.44764 12.9998 7.99988V11.9999C12.9998 12.5522 12.552 12.9999 11.9998 12.9999C11.4476 12.9998 10.9998 12.5521 10.9998 11.9999ZM22.9949 11.9999C22.9949 12.8392 22.7837 13.6651 22.3806 14.4012C22.0852 14.9408 21.6927 15.4182 21.2263 15.8134C21.2793 16.4247 21.2213 17.0425 21.0496 17.6356C20.8154 18.4442 20.3805 19.1813 19.7859 19.7772C19.1914 20.3729 18.4561 20.8089 17.6482 21.0448C17.0554 21.2178 16.4374 21.2771 15.8259 21.2255C15.4306 21.6943 14.9518 22.0886 14.4109 22.3856C13.6735 22.7904 12.8458 23.0028 12.0046 23.0028C11.1635 23.0028 10.3357 22.7905 9.59839 22.3856C9.05786 22.0888 8.57952 21.6949 8.18433 21.2264C7.57358 21.2791 6.9565 21.2213 6.36401 21.0497C5.55545 20.8155 4.81927 20.3806 4.22339 19.786C3.62758 19.1914 3.19074 18.4563 2.95483 17.6483C2.78193 17.0559 2.72169 16.4381 2.77319 15.827C2.30288 15.4318 1.90726 14.9525 1.60913 14.411C1.20254 13.6724 0.989014 12.843 0.989014 11.9999C0.98903 11.1567 1.2025 10.3274 1.60913 9.58875C1.90738 9.04703 2.30263 8.56704 2.77319 8.17175C2.72188 7.56114 2.78212 6.94431 2.95483 6.35242C3.19071 5.54429 3.62749 4.8084 4.22339 4.21375C4.81925 3.6192 5.55549 3.18423 6.36401 2.95007C6.95708 2.77833 7.57495 2.71939 8.18628 2.77234C8.58136 2.30622 9.05913 1.9143 9.59839 1.61902C10.3345 1.21596 11.1605 1.00479 11.9998 1.00476C12.839 1.00476 13.665 1.21598 14.4011 1.61902C14.9404 1.91427 15.4182 2.30626 15.8132 2.77234C16.4259 2.71894 17.0451 2.7778 17.6394 2.95007C18.4492 3.18481 19.1867 3.62049 19.783 4.21667C20.3791 4.81285 20.8148 5.55046 21.0496 6.36023C21.2218 6.9545 21.2797 7.57382 21.2263 8.1864C21.6927 8.58158 22.0852 9.05901 22.3806 9.59851C22.7837 10.3347 22.9949 11.1606 22.9949 11.9999Z"
36
+ fill="currentColor"
37
+ />
38
+ </svg>
39
+ );
40
+ };
41
+
42
+ export default Info2Icon;
@@ -29,6 +29,7 @@ import DepartureIcon from './DepartureIcon';
29
29
  import EyeIcon from './EyeIcon';
30
30
  import FacebookIcon from './FacebookIcon';
31
31
  import HomeIcon from './HomeIcon';
32
+ import Info2Icon from './Info2Icon';
32
33
  import InfoIcon from './InfoIcon';
33
34
  import LandIcon from './Land';
34
35
  import LineIcon from './LineIcon';
@@ -150,6 +151,7 @@ export const ICONS = {
150
151
  booking: BookingIcon as unknown as IconComponent,
151
152
  'close-circle': CloseCircleIcon as unknown as IconComponent,
152
153
  clock: ClockIcon as unknown as IconComponent,
154
+ 'info-2': Info2Icon as unknown as IconComponent,
153
155
  } as const satisfies Record<string, IconComponent>;
154
156
 
155
157
  export type IconName = keyof typeof ICONS;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { HTMLInputTypeAttribute } from 'react';
2
2
  import Icon, { IconName } from '../../Icon/Icon';
3
3
 
4
4
  export interface InputProps {
@@ -12,6 +12,7 @@ export interface InputProps {
12
12
  onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
13
13
  icon?: IconName;
14
14
  iconPosition?: 'leading' | 'trailing';
15
+ type?: HTMLInputTypeAttribute;
15
16
  }
16
17
 
17
18
  const Input: React.FC<InputProps> = ({
@@ -25,6 +26,7 @@ const Input: React.FC<InputProps> = ({
25
26
  onBlur,
26
27
  icon,
27
28
  iconPosition = 'trailing',
29
+ type = 'text',
28
30
  }) => {
29
31
  const baseClasses = 'input-field';
30
32
  const variantClasses = {
@@ -46,7 +48,7 @@ const Input: React.FC<InputProps> = ({
46
48
  </span>
47
49
  )}
48
50
  <input
49
- type="text"
51
+ type={type}
50
52
  className={inputClasses}
51
53
  placeholder={placeholder}
52
54
  value={value}
@@ -6,6 +6,11 @@ import { Button } from '../../ui/button';
6
6
  import { Calendar } from '../../ui/calendar';
7
7
  import TimePicker from './TimePicker';
8
8
 
9
+ export interface DateTimeOnChangePayload {
10
+ dateRange?: DateRange;
11
+ time?: { hour: string; minute: string; meridiem: 'AM' | 'PM' };
12
+ }
13
+
9
14
  export interface DateTimeProps {
10
15
  mode?: 'calendar' | 'time' | 'both';
11
16
  selectionMode?: 'single' | 'range';
@@ -14,10 +19,7 @@ export interface DateTimeProps {
14
19
  disableToday?: boolean;
15
20
  defaultDateRange?: DateRange;
16
21
  defaultTime?: { hour: string; minute: string; meridiem: 'AM' | 'PM' };
17
- onChange?: (payload: {
18
- dateRange?: DateRange;
19
- time?: { hour: string; minute: string; meridiem: 'AM' | 'PM' };
20
- }) => void;
22
+ onChange?: (payload: DateTimeOnChangePayload) => void;
21
23
  }
22
24
 
23
25
  const DateTime: React.FC<DateTimeProps> = ({
@@ -9,7 +9,7 @@ import {
9
9
  } from './DialogCancellationExcursion';
10
10
  import { DialogContentPolicy } from './DialogContentPolicy';
11
11
 
12
- export interface CancellationItem {
12
+ export interface CancellationPolicyItem {
13
13
  /**
14
14
  * The type of the cancellation.
15
15
  */
@@ -24,22 +24,22 @@ export interface DialogCancellationListProps {
24
24
  /**
25
25
  * The cancellations to display.
26
26
  */
27
- cancellations: CancellationItem[];
27
+ cancellations: CancellationPolicyItem[];
28
28
  }
29
29
 
30
30
  const isAccommodation = (
31
- data: CancellationItem['data']
31
+ data: CancellationPolicyItem['data']
32
32
  ): data is DialogCancellationAccomProps => {
33
33
  return 'hotelName' in data;
34
34
  };
35
35
 
36
36
  const isExcursion = (
37
- data: CancellationItem['data']
37
+ data: CancellationPolicyItem['data']
38
38
  ): data is DialogCancellationExcursionProps => {
39
39
  return 'excursionName' in data;
40
40
  };
41
41
 
42
- export const DialogCancellations = (props: DialogCancellationListProps) => {
42
+ export const CancellationsList = (props: DialogCancellationListProps) => {
43
43
  const { cancellations } = props;
44
44
  return (
45
45
  <>
@@ -70,7 +70,7 @@ export const DialogCancellations = (props: DialogCancellationListProps) => {
70
70
  export const DialogCancellationList: React.FC<DialogCancellationListProps> = (props) => {
71
71
  return (
72
72
  <DialogContentPolicy>
73
- <DialogCancellations {...props} />
73
+ <CancellationsList {...props} />
74
74
  </DialogContentPolicy>
75
75
  );
76
76
  };
@@ -35,7 +35,7 @@ export const DialogContentPolicy = (props: DialogContentPolicyProps) => {
35
35
  return (
36
36
  <div className="cancellation-policy">
37
37
  {children}
38
- <div className="flex justify-end gap-x-5 py-9">
38
+ <div className="flex justify-end gap-x-5 pt-9 pb-2">
39
39
  <div className="flex gap-x-2.5 items-center">
40
40
  <Checkbox
41
41
  checked={accepted}
@@ -1,7 +1,7 @@
1
- import React, { useState, useRef, useEffect } from 'react';
1
+ import React, { useEffect, useRef, useState } from 'react';
2
+ import Checkbox from '../../atoms/Checkbox/Checkbox';
2
3
  import DropdownInput from '../../atoms/Inputs/DropdownInput/DropdownInput';
3
4
  import Input from '../../atoms/Inputs/Input/Input';
4
- import Checkbox from '../../atoms/Checkbox/Checkbox';
5
5
  import SelectedValue from '../../atoms/SelectedValue/SelectedValue';
6
6
  import { Text } from '../../atoms/Typography/Typography';
7
7
 
@@ -28,6 +28,7 @@ export interface MultiSelectDropdownProps {
28
28
  error?: boolean;
29
29
  className?: string;
30
30
  maxDisplayedChips?: number;
31
+ useTextForMaxDisplayedChips?: boolean;
31
32
  selectedValueVariant?: 'filled' | 'text';
32
33
  searchable?: boolean;
33
34
  searchPlaceholder?: string;
@@ -46,7 +47,8 @@ const MultiSelectDropdown: React.FC<MultiSelectDropdownProps> = ({
46
47
  selectedValueVariant = 'filled',
47
48
  searchable = false,
48
49
  searchPlaceholder = 'Search',
49
- groups
50
+ useTextForMaxDisplayedChips = false,
51
+ groups,
50
52
  }) => {
51
53
  const [isOpen, setIsOpen] = useState(false);
52
54
  const [query, setQuery] = useState('');
@@ -79,33 +81,30 @@ const MultiSelectDropdown: React.FC<MultiSelectDropdownProps> = ({
79
81
  let newSelectedValues: string[];
80
82
 
81
83
  if (isSelected) {
82
- newSelectedValues = selectedValues.filter(id => id !== optionId);
84
+ newSelectedValues = selectedValues.filter((id) => id !== optionId);
83
85
  } else {
84
86
  newSelectedValues = [...selectedValues, optionId];
85
87
  }
86
88
 
87
-
88
89
  onSelectionChange(newSelectedValues);
89
90
  };
90
91
 
91
92
  const handleRemoveChip = (optionId: string) => {
92
93
  if (disabled) return;
93
-
94
- const newSelectedValues = selectedValues.filter(id => id !== optionId);
94
+
95
+ const newSelectedValues = selectedValues.filter((id) => id !== optionId);
95
96
  onSelectionChange(newSelectedValues);
96
97
  };
97
98
 
98
-
99
99
  const getSelectedOptions = () => {
100
- return options.filter(option => selectedValues.includes(option.id));
100
+ return options.filter((option) => selectedValues.includes(option.id));
101
101
  };
102
102
  const getFilteredOptions = () => {
103
103
  if (!searchable || query.trim() === '') return options;
104
104
  const q = query.toLowerCase();
105
- return options.filter(o => o.label.toLowerCase().includes(q));
105
+ return options.filter((o) => o.label.toLowerCase().includes(q));
106
106
  };
107
107
 
108
-
109
108
  const getDisplayedChips = () => {
110
109
  const selectedOptions = getSelectedOptions();
111
110
  return selectedOptions.slice(0, maxDisplayedChips);
@@ -122,6 +121,20 @@ const MultiSelectDropdown: React.FC<MultiSelectDropdownProps> = ({
122
121
  return 'default';
123
122
  };
124
123
 
124
+ const displayChips = () => {
125
+ return getDisplayedChips().map((option) => (
126
+ <SelectedValue
127
+ key={option.id}
128
+ value={option.label}
129
+ onRemove={() => handleRemoveChip(option.id)}
130
+ className="multiselect-dropdown__chip"
131
+ size="xs"
132
+ iconSize="xs"
133
+ variant={selectedValueVariant}
134
+ />
135
+ ));
136
+ };
137
+
125
138
  return (
126
139
  <div ref={dropdownRef} className={`multiselect-dropdown ${className}`}>
127
140
  <div className="multiselect-dropdown__input-container">
@@ -131,26 +144,34 @@ const MultiSelectDropdown: React.FC<MultiSelectDropdownProps> = ({
131
144
  onClick={handleToggleDropdown}
132
145
  className="multiselect-dropdown__input"
133
146
  />
134
-
147
+
135
148
  {/* Display selected chips */}
136
149
  {selectedValues.length > 0 && (
137
150
  <div className="multiselect-dropdown__chips">
138
- {getDisplayedChips().map((option) => (
139
- <SelectedValue
140
- key={option.id}
141
- value={option.label}
142
- onRemove={() => handleRemoveChip(option.id)}
143
- className="multiselect-dropdown__chip"
144
- size="xs"
145
- iconSize="xs"
146
- variant={selectedValueVariant}
147
- />
148
- ))}
149
- {getHiddenCount() > 0 && (
150
- <div className="multiselect-dropdown__hidden-count">
151
- +{getHiddenCount()}
152
- </div>
151
+ {!useTextForMaxDisplayedChips && (
152
+ <>
153
+ {displayChips()}
154
+ {getHiddenCount() > 0 && (
155
+ <div className="multiselect-dropdown__hidden-count">
156
+ +{getHiddenCount()}
157
+ </div>
158
+ )}
159
+ </>
153
160
  )}
161
+ {useTextForMaxDisplayedChips &&
162
+ (getHiddenCount() > 0 ? (
163
+ <>
164
+ <Text
165
+ size="sm"
166
+ variant="regular"
167
+ leading="5"
168
+ className="multiselect-dropdown__footer-text">
169
+ {selectedValues.length} item selected
170
+ </Text>
171
+ </>
172
+ ) : (
173
+ displayChips()
174
+ ))}
154
175
  </div>
155
176
  )}
156
177
  </div>
@@ -170,69 +191,83 @@ const MultiSelectDropdown: React.FC<MultiSelectDropdownProps> = ({
170
191
  </div>
171
192
  )}
172
193
  <div className="multiselect-dropdown__options">
173
- {groups && groups.length > 0 ? (
174
- groups.map((group) => (
175
- <div key={group.id} className="multiselect-dropdown__group">
176
- <div className="multiselect-dropdown__group-header">
177
- {group.imageUrl && (
178
- <span className="multiselect-dropdown__group-icon" aria-hidden="true">
179
- <img src={group.imageUrl} alt="" />
180
- </span>
181
- )}
182
- <Text size="sm" variant="medium">{group.label}</Text>
183
- </div>
184
- <div className="multiselect-dropdown__group-options">
185
- {getFilteredOptions()
186
- .filter(o => group.options.some(go => go.id === o.id))
187
- .map((option) => (
188
- <div key={option.id} className="multiselect-dropdown__option">
189
- <Checkbox
190
- checked={selectedValues.includes(option.id)}
191
- disabled={option.disabled || disabled}
192
- label={option.label}
193
- leadingContent={option.imageUrl ? (
194
- <span className="multiselect-dropdown__option-icon" aria-hidden="true">
195
- <img src={option.imageUrl} alt="" />
196
- </span>
197
- ) : undefined}
198
- onChange={(checked) => {
199
- if (checked !== selectedValues.includes(option.id)) {
200
- handleOptionToggle(option.id);
194
+ {groups && groups.length > 0
195
+ ? groups.map((group) => (
196
+ <div key={group.id} className="multiselect-dropdown__group">
197
+ <div className="multiselect-dropdown__group-header">
198
+ {group.imageUrl && (
199
+ <span
200
+ className="multiselect-dropdown__group-icon"
201
+ aria-hidden="true">
202
+ <img src={group.imageUrl} alt="" />
203
+ </span>
204
+ )}
205
+ <Text size="sm" variant="medium">
206
+ {group.label}
207
+ </Text>
208
+ </div>
209
+ <div className="multiselect-dropdown__group-options">
210
+ {getFilteredOptions()
211
+ .filter((o) => group.options.some((go) => go.id === o.id))
212
+ .map((option) => (
213
+ <div key={option.id} className="multiselect-dropdown__option">
214
+ <Checkbox
215
+ checked={selectedValues.includes(option.id)}
216
+ disabled={option.disabled || disabled}
217
+ label={option.label}
218
+ leadingContent={
219
+ option.imageUrl ? (
220
+ <span
221
+ className="multiselect-dropdown__option-icon"
222
+ aria-hidden="true">
223
+ <img src={option.imageUrl} alt="" />
224
+ </span>
225
+ ) : undefined
201
226
  }
202
- }}
203
- />
204
- </div>
205
- ))}
227
+ onChange={(checked) => {
228
+ if (checked !== selectedValues.includes(option.id)) {
229
+ handleOptionToggle(option.id);
230
+ }
231
+ }}
232
+ />
233
+ </div>
234
+ ))}
235
+ </div>
206
236
  </div>
207
- </div>
208
- ))
209
- ) : (
210
- getFilteredOptions().map((option) => (
211
- <div key={option.id} className="multiselect-dropdown__option">
212
- <Checkbox
213
- checked={selectedValues.includes(option.id)}
214
- disabled={option.disabled || disabled}
215
- label={option.label}
216
- leadingContent={option.imageUrl ? (
217
- <span className="multiselect-dropdown__option-icon" aria-hidden="true">
218
- <img src={option.imageUrl} alt="" />
219
- </span>
220
- ) : undefined}
221
- onChange={(checked) => {
222
- if (checked !== selectedValues.includes(option.id)) {
223
- handleOptionToggle(option.id);
237
+ ))
238
+ : getFilteredOptions().map((option) => (
239
+ <div key={option.id} className="multiselect-dropdown__option">
240
+ <Checkbox
241
+ checked={selectedValues.includes(option.id)}
242
+ disabled={option.disabled || disabled}
243
+ label={option.label}
244
+ leadingContent={
245
+ option.imageUrl ? (
246
+ <span
247
+ className="multiselect-dropdown__option-icon"
248
+ aria-hidden="true">
249
+ <img src={option.imageUrl} alt="" />
250
+ </span>
251
+ ) : undefined
224
252
  }
225
- }}
226
- />
227
- </div>
228
- ))
229
- )}
253
+ onChange={(checked) => {
254
+ if (checked !== selectedValues.includes(option.id)) {
255
+ handleOptionToggle(option.id);
256
+ }
257
+ }}
258
+ />
259
+ </div>
260
+ ))}
230
261
  </div>
231
262
  </div>
232
263
 
233
264
  {/* Footer with count (outside the menu container) */}
234
265
  <div className="multiselect-dropdown__footer">
235
- <Text size="sm" variant="regular" leading="5" className="multiselect-dropdown__footer-text">
266
+ <Text
267
+ size="sm"
268
+ variant="regular"
269
+ leading="5"
270
+ className="multiselect-dropdown__footer-text">
236
271
  {selectedValues.length} item selected
237
272
  </Text>
238
273
  </div>
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import Chip from '../../atoms/Chip/Chip';
3
+
4
+ export interface PaxCount {
5
+ adult: number;
6
+ teen: number;
7
+ child: number;
8
+ infant: number;
9
+ }
10
+
11
+ export interface PaxChipsProps {
12
+ pax: PaxCount;
13
+ }
14
+
15
+ export const PaxChips: React.FC<PaxChipsProps> = (props) => {
16
+ const { pax } = props;
17
+ return (
18
+ <div className="flex flex-wrap gap-2">
19
+ {Object.entries(pax).map(([key, value]) => (
20
+ <Chip
21
+ key={key}
22
+ label={`${key} ${value}`}
23
+ size="sm"
24
+ color="accent"
25
+ type={value > 0 ? 'filled' : 'outline'}
26
+ />
27
+ ))}
28
+ </div>
29
+ );
30
+ };
@@ -56,12 +56,12 @@ const TextWithIcon: React.FC<TextWithIconProps> = (props) => {
56
56
  return (
57
57
  <div
58
58
  className={cn(
59
- 'flex items-center gap-x-2',
59
+ 'flex gap-x-2',
60
60
  color === 'yellow' && 'text-[var(--color-yellow-600)]',
61
61
  color === 'accent' && 'text-[var(--color-text-accent)]'
62
62
  )}>
63
63
  {icon && (
64
- <span>
64
+ <span className="relative top-[2px]">
65
65
  <Icon name={icon} size={iconSize} />
66
66
  </span>
67
67
  )}
@@ -0,0 +1,27 @@
1
+ .toast {
2
+ @apply p-3 flex items-center gap-2;
3
+ border: solid 1px transparent;
4
+ border-left-width: 8px;
5
+ border-radius: var(--toast-border-radius-default);
6
+ background-color: var(--toast-color-background);
7
+ }
8
+ .toast--info {
9
+ border-color: var(--toast-color-info-foreground);
10
+ background-color: var(--toast-color-info-background);
11
+ color: var(--toast-color-info-foreground);
12
+ }
13
+ .toast--success {
14
+ border-color: var(--toast-color-success-foreground);
15
+ background-color: var(--toast-color-success-background);
16
+ color: var(--toast-color-success-foreground);
17
+ }
18
+ .toast--warning {
19
+ border-color: var(--toast-color-warning-foreground);
20
+ background-color: var(--toast-color-warning-background);
21
+ color: var(--toast-color-warning-foreground);
22
+ }
23
+ .toast--error {
24
+ border-color: var(--toast-color-danger-foreground);
25
+ background-color: var(--toast-color-danger-background);
26
+ color: var(--toast-color-danger-foreground);
27
+ }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import '../../../styles/components/molecule/toast.css';
3
3
  import Icon from '../../atoms/Icon/Icon';
4
- import { ICONS } from '../../atoms/Icon/icons/registry';
4
+ import { IconName } from '../../atoms/Icon/icons/registry';
5
5
  import { Text } from '../../atoms/Typography/Typography';
6
6
 
7
7
  export type ToastType = 'informational' | 'success' | 'warning' | 'danger';
@@ -14,7 +14,7 @@ export interface ToastProps {
14
14
  /** Additional CSS classes */
15
15
  className?: string;
16
16
  /** Icon name */
17
- iconName?: keyof typeof ICONS;
17
+ iconName?: IconName;
18
18
  }
19
19
 
20
20
  /**
@@ -26,18 +26,19 @@ export interface ToastProps {
26
26
  * @param ToastProps
27
27
  * @returns
28
28
  */
29
- const Toast: React.FC<ToastProps> = ({ text, type = 'informational', className = '', iconName = 'badge-alert' }) => {
29
+ const Toast: React.FC<ToastProps> = ({
30
+ text,
31
+ type = 'informational',
32
+ className = '',
33
+ iconName = 'badge-alert',
34
+ }) => {
30
35
  return (
31
36
  <div className={`toast toast--${type} ${className}`.trim()}>
32
37
  <div className="toast__container">
33
38
  <div className="toast__icon-wrapper">
34
39
  <Icon name={iconName} size="md" className="toast__icon" />
35
40
  </div>
36
- <Text
37
- size="sm"
38
- variant="bold"
39
- leading="5"
40
- className="toast__text">
41
+ <Text size="sm" variant="bold" leading="5" className="toast__text">
41
42
  {text}
42
43
  </Text>
43
44
  </div>
@@ -46,4 +47,3 @@ const Toast: React.FC<ToastProps> = ({ text, type = 'informational', className =
46
47
  };
47
48
 
48
49
  export default Toast;
49
-