mautourco-components 0.2.18 → 0.2.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/atoms/Icon/icons/BookingIcon.d.ts +4 -0
- package/dist/components/atoms/Icon/icons/BookingIcon.js +36 -0
- package/dist/components/atoms/Icon/icons/CarFront.d.ts +4 -0
- package/dist/components/atoms/Icon/icons/CarFront.js +36 -0
- package/dist/components/atoms/Icon/icons/CatamaranIcon.d.ts +4 -0
- package/dist/components/atoms/Icon/icons/CatamaranIcon.js +36 -0
- package/dist/components/atoms/Icon/icons/CloseCircleIcon.d.ts +4 -0
- package/dist/components/atoms/Icon/icons/CloseCircleIcon.js +36 -0
- package/dist/components/atoms/Icon/icons/Land.d.ts +4 -0
- package/dist/components/atoms/Icon/icons/Land.js +36 -0
- package/dist/components/atoms/Icon/icons/SeaIcon.d.ts +4 -0
- package/dist/components/atoms/Icon/icons/SeaIcon.js +36 -0
- package/dist/components/atoms/Icon/icons/registry.d.ts +6 -0
- package/dist/components/atoms/Icon/icons/registry.js +12 -0
- package/dist/components/molecules/BookingResume/BookingResume.d.ts +9 -0
- package/dist/components/molecules/BookingResume/BookingResume.js +25 -0
- package/dist/components/molecules/BookingResume/BookingResumeLayout/BookingResumeLayout.css +2107 -0
- package/dist/components/molecules/BookingResume/BookingResumeLayout/BookingResumeLayout.d.ts +11 -0
- package/dist/components/molecules/BookingResume/BookingResumeLayout/BookingResumeLayout.js +19 -0
- package/dist/components/molecules/BookingResume/ResumeAccom/ResumeAccom.css +2094 -0
- package/dist/components/molecules/BookingResume/ResumeAccom/ResumeAccom.d.ts +13 -0
- package/dist/components/molecules/BookingResume/ResumeAccom/ResumeAccom.js +26 -0
- package/dist/components/molecules/BookingResume/ResumeExcursion/ResumeExcursion.css +2082 -0
- package/dist/components/molecules/BookingResume/ResumeExcursion/ResumeExcursion.d.ts +15 -0
- package/dist/components/molecules/BookingResume/ResumeExcursion/ResumeExcursion.js +28 -0
- package/dist/components/molecules/BookingResume/ResumeOtherService.d.ts +6 -0
- package/dist/components/molecules/BookingResume/ResumeOtherService.js +19 -0
- package/dist/components/molecules/BookingResume/ResumeTransfer.d.ts +12 -0
- package/dist/components/molecules/BookingResume/ResumeTransfer.js +23 -0
- package/dist/components/molecules/BookingResume/index.d.ts +6 -0
- package/dist/components/molecules/BookingResume/index.js +1 -0
- package/dist/components/molecules/DateDisplay/DateDisplay.d.ts +2 -0
- package/dist/components/molecules/DateDisplay/DateDisplay.js +2 -2
- package/dist/components/molecules/PaxDisplay/PaxDisplay.css +2104 -0
- package/dist/components/molecules/PaxDisplay/PaxDisplay.d.ts +7 -0
- package/dist/components/molecules/PaxDisplay/PaxDisplay.js +32 -0
- package/dist/components/molecules/ServiceInfo/ServiceInfo.css +3 -7
- package/dist/components/molecules/ServiceInfo/ServiceInfo.d.ts +1 -0
- package/dist/components/molecules/ServiceInfo/ServiceInfo.js +5 -4
- package/dist/components/molecules/StepperTimeline/StepperTimeline.css +2151 -0
- package/dist/components/molecules/StepperTimeline/StepperTimeline.d.ts +23 -0
- package/dist/components/molecules/StepperTimeline/StepperTimeline.js +45 -0
- package/dist/components/organisms/Booking/Booking.css +2080 -0
- package/dist/components/organisms/Booking/Booking.d.ts +11 -0
- package/dist/components/organisms/Booking/Booking.js +33 -0
- package/dist/components/organisms/Booking/BookingDocket/BookingDocket.css +2159 -0
- package/dist/components/organisms/Booking/BookingDocket/BookingDocket.d.ts +13 -0
- package/dist/components/organisms/Booking/BookingDocket/BookingDocket.js +44 -0
- package/dist/components/organisms/Booking/BookingStep/BookingStep.css +2103 -0
- package/dist/components/organisms/Booking/BookingStep/BookingStep.d.ts +11 -0
- package/dist/components/organisms/Booking/BookingStep/BookingStep.js +30 -0
- package/dist/components/organisms/Booking/index.d.ts +3 -0
- package/dist/components/organisms/Booking/index.js +1 -0
- package/dist/components/organisms/TabCancellationPolicy/HeaderAccom.js +2 -8
- package/dist/hooks/useStays.d.ts +1 -0
- package/dist/hooks/useStays.js +11 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/types/table/booking.types.d.ts +12 -0
- package/dist/types/table/detail-resume.types.d.ts +3 -1
- package/package.json +3 -1
- package/src/components/atoms/Icon/icons/BookingIcon.tsx +40 -0
- package/src/components/atoms/Icon/icons/CarFront.tsx +44 -0
- package/src/components/atoms/Icon/icons/CatamaranIcon.tsx +51 -0
- package/src/components/atoms/Icon/icons/CloseCircleIcon.tsx +55 -0
- package/src/components/atoms/Icon/icons/Land.tsx +40 -0
- package/src/components/atoms/Icon/icons/SeaIcon.tsx +47 -0
- package/src/components/atoms/Icon/icons/registry.tsx +12 -0
- package/src/components/molecules/BookingResume/BookingResume.tsx +16 -0
- package/src/components/molecules/BookingResume/BookingResumeLayout/BookingResumeLayout.css +28 -0
- package/src/components/molecules/BookingResume/BookingResumeLayout/BookingResumeLayout.tsx +37 -0
- package/src/components/molecules/BookingResume/ResumeAccom/ResumeAccom.css +12 -0
- package/src/components/molecules/BookingResume/ResumeAccom/ResumeAccom.tsx +63 -0
- package/src/components/molecules/BookingResume/ResumeExcursion/ResumeExcursion.css +5 -0
- package/src/components/molecules/BookingResume/ResumeExcursion/ResumeExcursion.tsx +75 -0
- package/src/components/molecules/BookingResume/ResumeOtherService.tsx +21 -0
- package/src/components/molecules/BookingResume/ResumeTransfer.tsx +49 -0
- package/src/components/molecules/BookingResume/index.ts +6 -0
- package/src/components/molecules/DateDisplay/DateDisplay.tsx +9 -5
- package/src/components/molecules/PaxDisplay/PaxDisplay.css +19 -0
- package/src/components/molecules/PaxDisplay/PaxDisplay.tsx +59 -0
- package/src/components/molecules/ServiceInfo/ServiceInfo.css +3 -5
- package/src/components/molecules/ServiceInfo/ServiceInfo.tsx +18 -3
- package/src/components/molecules/StepperTimeline/StepperTimeline.css +59 -0
- package/src/components/molecules/StepperTimeline/StepperTimeline.tsx +105 -0
- package/src/components/organisms/Booking/Booking.css +3 -0
- package/src/components/organisms/Booking/Booking.tsx +21 -0
- package/src/components/organisms/Booking/BookingDocket/BookingDocket.css +67 -0
- package/src/components/organisms/Booking/BookingDocket/BookingDocket.tsx +165 -0
- package/src/components/organisms/Booking/BookingStep/BookingStep.css +12 -0
- package/src/components/organisms/Booking/BookingStep/BookingStep.tsx +51 -0
- package/src/components/organisms/Booking/index.ts +3 -0
- package/src/components/organisms/CarBookingCard/index.ts +1 -0
- package/src/components/organisms/TabCancellationPolicy/HeaderAccom.tsx +2 -8
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ResumeAccomProps, ResumeExcursionProps, ResumeOtherServiceProps, ResumeTransferProps } from '@/src/components/molecules/BookingResume';
|
|
3
|
+
import './BookingDocket.css';
|
|
4
|
+
export type BookingResumeData = ResumeAccomProps | ResumeTransferProps | ResumeExcursionProps | ResumeOtherServiceProps;
|
|
5
|
+
export interface BookingDocketItem {
|
|
6
|
+
type: 'accommodation' | 'transfer' | 'excursion' | 'otherService';
|
|
7
|
+
data: BookingResumeData;
|
|
8
|
+
}
|
|
9
|
+
export interface BookingDocketProps {
|
|
10
|
+
dates: string[];
|
|
11
|
+
resumes: BookingDocketItem[];
|
|
12
|
+
}
|
|
13
|
+
export declare const BookingDocket: React.FC<BookingDocketProps>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { useMobile } from '@/src/hooks/useMobile';
|
|
14
|
+
import { AnimatePresence, domAnimation, LazyMotion } from 'motion/react';
|
|
15
|
+
import * as motion from 'motion/react-m';
|
|
16
|
+
import { useLayoutEffect, useRef, useState } from 'react';
|
|
17
|
+
import Icon from '@/src/components/atoms/Icon/Icon';
|
|
18
|
+
import { Heading, Text } from '@/src/components/atoms/Typography/Typography';
|
|
19
|
+
import { BookingResume, } from '@/src/components/molecules/BookingResume';
|
|
20
|
+
import { DateDisplay } from '@/src/components/molecules/DateDisplay/DateDisplay';
|
|
21
|
+
import './BookingDocket.css';
|
|
22
|
+
export var BookingDocket = function (props) {
|
|
23
|
+
var dates = props.dates, resumes = props.resumes;
|
|
24
|
+
var _a = useState(false), isBookingOpen = _a[0], setIsBookingOpen = _a[1];
|
|
25
|
+
var contentRef = useRef(null);
|
|
26
|
+
var _b = useState(0), height = _b[0], setHeight = _b[1];
|
|
27
|
+
var isDesktop = useMobile().isDesktop;
|
|
28
|
+
var handleBookingOpen = function () {
|
|
29
|
+
setIsBookingOpen(!isBookingOpen);
|
|
30
|
+
};
|
|
31
|
+
useLayoutEffect(function () {
|
|
32
|
+
if (!isDesktop) {
|
|
33
|
+
if (isBookingOpen && contentRef.current) {
|
|
34
|
+
var measuredHeight = contentRef.current.scrollHeight;
|
|
35
|
+
setHeight(measuredHeight + 17);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
setHeight('100%');
|
|
40
|
+
setIsBookingOpen(true);
|
|
41
|
+
}
|
|
42
|
+
}, [isBookingOpen, resumes, isDesktop]);
|
|
43
|
+
return (_jsx(LazyMotion, __assign({ features: domAnimation }, { children: _jsxs("div", __assign({ className: "booking-docket__container" }, { children: [!isDesktop && !isBookingOpen && (_jsx("div", __assign({ className: "flex justify-end mb-4" }, { children: _jsxs(motion.button, __assign({ className: "booking-docket__mobile-button", onClick: handleBookingOpen, initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.3 } }, { children: [_jsx(Icon, { name: "booking", size: "lg" }), _jsx(Text, __assign({ size: "lg", as: "span", variant: "bold" }, { children: "Your booking" })), _jsx(Icon, { name: "eye", size: "lg" })] }), "booking-open") }))), _jsx(AnimatePresence, __assign({ initial: false }, { children: isBookingOpen && (_jsx(motion.div, __assign({ className: "booking-docket", initial: { height: 0, opacity: 0 }, animate: { height: height, opacity: 1 }, exit: { height: 0 } }, { children: _jsxs("div", __assign({ ref: contentRef }, { children: [_jsxs("div", __assign({ className: "booking-docket__content" }, { children: [_jsxs("div", __assign({ className: "space-y-3" }, { children: [_jsxs("div", __assign({ className: "flex items-center justify-between" }, { children: [_jsx(Heading, __assign({ level: 6, color: "accent", as: "h2" }, { children: "Your Booking" })), _jsx("img", { src: "/images/mautourco-logo.png", alt: "Mautourco Logo", width: 150 })] })), _jsxs("div", __assign({ className: "flex gap-x-4 items-center" }, { children: [_jsx(Text, __assign({ variant: "bold", size: "lg" }, { children: "Booking file date range :" })), _jsx(DateDisplay, { dates: dates })] }))] })), _jsx(BookingResume, { children: resumes.map(function (resume, index) { return (_jsxs("div", { children: [resume.type === 'accommodation' && (_jsx(BookingResume.Accommodation, __assign({}, resume.data))), resume.type === 'transfer' && (_jsx(BookingResume.Transfer, __assign({}, resume.data))), resume.type === 'excursion' && (_jsx(BookingResume.Excursion, __assign({}, resume.data))), resume.type === 'otherService' && (_jsx(BookingResume.OtherService, __assign({}, resume.data)))] }, index)); }) })] })), _jsx("img", { src: "/images/svg/resume-bottom-bg.svg", alt: "bottom background", className: "booking-docket__bg" })] })) }), "booking-docket")) })), !isDesktop && isBookingOpen && (_jsx("div", __assign({ className: "flex justify-end mt-10" }, { children: _jsxs(motion.button, __assign({ className: "booking-docket__mobile-button", onClick: handleBookingOpen, initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.3 } }, { children: [_jsx(Text, __assign({ size: "lg", as: "span", variant: "bold" }, { children: "Close" })), _jsx(Icon, { name: "close-circle", size: "lg" })] }), "booking-close") })))] })) })));
|
|
44
|
+
};
|