mautourco-components 0.2.12 → 0.2.13

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 (133) hide show
  1. package/dist/components/atoms/Icon/Icon.d.ts +1 -1
  2. package/dist/components/atoms/Icon/Icon.js +1 -1
  3. package/dist/components/atoms/Icon/icons/AccomIcon.d.ts +12 -0
  4. package/dist/components/atoms/Icon/icons/AccomIcon.js +36 -0
  5. package/dist/components/atoms/Icon/icons/ArrowDownOutlineIcon.d.ts +8 -0
  6. package/dist/components/atoms/Icon/icons/ArrowDownOutlineIcon.js +36 -0
  7. package/dist/components/atoms/Icon/icons/ArrowRightOutlineIcon.js +1 -1
  8. package/dist/components/atoms/Icon/icons/BusIcon.d.ts +12 -0
  9. package/dist/components/atoms/Icon/icons/BusIcon.js +36 -0
  10. package/dist/components/atoms/Icon/icons/Calendar2Icon.d.ts +12 -0
  11. package/dist/components/atoms/Icon/icons/Calendar2Icon.js +36 -0
  12. package/dist/components/atoms/Icon/icons/MapIcon.d.ts +8 -0
  13. package/dist/components/atoms/Icon/icons/MapIcon.js +36 -0
  14. package/dist/components/atoms/Icon/icons/MicroIcon.d.ts +12 -0
  15. package/dist/components/atoms/Icon/icons/MicroIcon.js +36 -0
  16. package/dist/components/atoms/Icon/icons/MoreVerticalIcon.d.ts +12 -0
  17. package/dist/components/atoms/Icon/icons/MoreVerticalIcon.js +36 -0
  18. package/dist/components/atoms/Icon/icons/NightIcon.d.ts +12 -0
  19. package/dist/components/atoms/Icon/icons/NightIcon.js +36 -0
  20. package/dist/components/atoms/Icon/icons/RowExcursion.d.ts +16 -0
  21. package/dist/components/atoms/Icon/icons/RowExcursion.js +28 -0
  22. package/dist/components/atoms/Icon/icons/StopWatchIcon.d.ts +12 -0
  23. package/dist/components/atoms/Icon/icons/StopWatchIcon.js +36 -0
  24. package/dist/components/atoms/Icon/icons/Utensils.d.ts +12 -0
  25. package/dist/components/atoms/Icon/icons/Utensils.js +36 -0
  26. package/dist/components/atoms/Icon/icons/WalletIcon.d.ts +12 -0
  27. package/dist/components/atoms/Icon/icons/WalletIcon.js +36 -0
  28. package/dist/components/atoms/Icon/icons/registry.d.ts +11 -0
  29. package/dist/components/atoms/Icon/icons/registry.js +49 -27
  30. package/dist/components/atoms/Typography/Typography.d.ts +3 -1
  31. package/dist/components/atoms/Typography/Typography.js +3 -15
  32. package/dist/components/molecules/ActionDropdown/ActionDropdown.css +2119 -0
  33. package/dist/components/molecules/ActionDropdown/ActionDropdown.d.ts +21 -0
  34. package/dist/components/molecules/ActionDropdown/ActionDropdown.js +34 -0
  35. package/dist/components/molecules/DateDisplay/DateDisplay.d.ts +14 -0
  36. package/dist/components/molecules/DateDisplay/DateDisplay.js +39 -0
  37. package/dist/components/molecules/FromTo/FromTo.d.ts +8 -0
  38. package/dist/components/molecules/FromTo/FromTo.js +24 -0
  39. package/dist/components/molecules/TableServiceItem/DetailsCol.d.ts +12 -0
  40. package/dist/components/molecules/TableServiceItem/DetailsCol.js +17 -0
  41. package/dist/components/molecules/TableServiceItem/ItemCol.d.ts +13 -0
  42. package/dist/components/molecules/TableServiceItem/ItemCol.js +24 -0
  43. package/dist/components/molecules/TableServiceItem/RowAccommodation.d.ts +16 -0
  44. package/dist/components/molecules/TableServiceItem/RowAccommodation.js +37 -0
  45. package/dist/components/molecules/TableServiceItem/RowExcursion.d.ts +16 -0
  46. package/dist/components/molecules/TableServiceItem/RowExcursion.js +22 -0
  47. package/dist/components/molecules/TableServiceItem/RowOtherServices.d.ts +9 -0
  48. package/dist/components/molecules/TableServiceItem/RowOtherServices.js +34 -0
  49. package/dist/components/molecules/TableServiceItem/RowTransfer.d.ts +15 -0
  50. package/dist/components/molecules/TableServiceItem/RowTransfer.js +37 -0
  51. package/dist/components/molecules/TableServiceItem/index.d.ts +17 -0
  52. package/dist/components/molecules/TableServiceItem/index.js +15 -0
  53. package/dist/components/molecules/TextWithIcon/TextWithIcon.d.ts +30 -0
  54. package/dist/components/molecules/TextWithIcon/TextWithIcon.js +31 -0
  55. package/dist/components/molecules/TooltipDisplay/TooltipDisplay.d.ts +13 -0
  56. package/dist/components/molecules/TooltipDisplay/TooltipDisplay.js +18 -0
  57. package/dist/components/organisms/Table/Table.css +2280 -0
  58. package/dist/components/organisms/Table/Table.d.ts +50 -0
  59. package/dist/components/organisms/Table/Table.js +95 -0
  60. package/dist/components/organisms/Table/TableCell.d.ts +15 -0
  61. package/dist/components/organisms/Table/TableCell.js +16 -0
  62. package/dist/components/organisms/Table/columns/booking-columns.d.ts +7 -0
  63. package/dist/components/organisms/Table/columns/booking-columns.js +83 -0
  64. package/dist/components/organisms/Table/columns/detail-resume-columns.d.ts +3 -0
  65. package/dist/components/organisms/Table/columns/detail-resume-columns.js +178 -0
  66. package/dist/components/organisms/Table/columns/index.d.ts +12 -0
  67. package/dist/components/organisms/Table/columns/index.js +9 -0
  68. package/dist/components/organisms/Table/columns/quotation-columns.d.ts +7 -0
  69. package/dist/components/organisms/Table/columns/quotation-columns.js +91 -0
  70. package/dist/components/organisms/Table/constant.d.ts +6 -0
  71. package/dist/components/organisms/Table/constant.js +24 -0
  72. package/dist/components/organisms/Table/index.d.ts +2 -0
  73. package/dist/components/organisms/Table/index.js +2 -0
  74. package/dist/components/ui/popover.d.ts +3 -3
  75. package/dist/components/ui/popover.js +5 -5
  76. package/dist/components/ui/tooltip.d.ts +7 -0
  77. package/dist/components/ui/tooltip.js +42 -0
  78. package/dist/index.d.ts +41 -33
  79. package/dist/index.js +26 -20
  80. package/dist/styles/components/typography.css +1 -0
  81. package/dist/types/table/action-dropdown-type.types.d.ts +5 -0
  82. package/dist/types/table/action-dropdown-type.types.js +6 -0
  83. package/dist/types/table/booking.types.d.ts +16 -0
  84. package/dist/types/table/booking.types.js +1 -0
  85. package/dist/types/table/detail-resume.types.d.ts +155 -0
  86. package/dist/types/table/detail-resume.types.js +7 -0
  87. package/dist/types/table/index.d.ts +3 -0
  88. package/dist/types/table/index.js +3 -0
  89. package/dist/types/table/quotation.types.d.ts +23 -0
  90. package/dist/types/table/quotation.types.js +1 -0
  91. package/package.json +6 -1
  92. package/src/components/atoms/Icon/Icon.tsx +2 -8
  93. package/src/components/atoms/Icon/icons/AccomIcon.tsx +45 -0
  94. package/src/components/atoms/Icon/icons/ArrowDownOutlineIcon.tsx +41 -0
  95. package/src/components/atoms/Icon/icons/ArrowRightOutlineIcon.tsx +2 -7
  96. package/src/components/atoms/Icon/icons/BusIcon.tsx +52 -0
  97. package/src/components/atoms/Icon/icons/Calendar2Icon.tsx +54 -0
  98. package/src/components/atoms/Icon/icons/MapIcon.tsx +48 -0
  99. package/src/components/atoms/Icon/icons/MicroIcon.tsx +45 -0
  100. package/src/components/atoms/Icon/icons/MoreVerticalIcon.tsx +53 -0
  101. package/src/components/atoms/Icon/icons/NightIcon.tsx +45 -0
  102. package/src/components/atoms/Icon/icons/RowExcursion.tsx +54 -0
  103. package/src/components/atoms/Icon/icons/StopWatchIcon.tsx +45 -0
  104. package/src/components/atoms/Icon/icons/Utensils.tsx +45 -0
  105. package/src/components/atoms/Icon/icons/WalletIcon.tsx +45 -0
  106. package/src/components/atoms/Icon/icons/registry.tsx +50 -28
  107. package/src/components/atoms/Typography/Typography.tsx +22 -30
  108. package/src/components/molecules/ActionDropdown/ActionDropdown.css +23 -0
  109. package/src/components/molecules/ActionDropdown/ActionDropdown.tsx +53 -0
  110. package/src/components/molecules/DateDisplay/DateDisplay.tsx +47 -0
  111. package/src/components/molecules/FromTo/FromTo.tsx +31 -0
  112. package/src/components/molecules/TableServiceItem/DetailsCol.tsx +25 -0
  113. package/src/components/molecules/TableServiceItem/ItemCol.tsx +68 -0
  114. package/src/components/molecules/TableServiceItem/RowAccommodation.tsx +56 -0
  115. package/src/components/molecules/TableServiceItem/RowExcursion.tsx +40 -0
  116. package/src/components/molecules/TableServiceItem/RowOtherServices.tsx +50 -0
  117. package/src/components/molecules/TableServiceItem/RowTransfer.tsx +60 -0
  118. package/src/components/molecules/TableServiceItem/index.ts +24 -0
  119. package/src/components/molecules/TextWithIcon/TextWithIcon.tsx +62 -0
  120. package/src/components/molecules/TooltipDisplay/TooltipDisplay.tsx +32 -0
  121. package/src/components/organisms/CarBookingCard/index.ts +2 -0
  122. package/src/components/organisms/Table/Table.css +185 -0
  123. package/src/components/organisms/Table/Table.tsx +273 -0
  124. package/src/components/organisms/Table/TableCell.tsx +40 -0
  125. package/src/components/organisms/Table/columns/booking-columns.tsx +118 -0
  126. package/src/components/organisms/Table/columns/detail-resume-columns.tsx +226 -0
  127. package/src/components/organisms/Table/columns/index.ts +11 -0
  128. package/src/components/organisms/Table/columns/quotation-columns.tsx +150 -0
  129. package/src/components/organisms/Table/constant.ts +31 -0
  130. package/src/components/organisms/Table/index.ts +2 -0
  131. package/src/components/ui/popover.tsx +10 -10
  132. package/src/components/ui/tooltip.tsx +45 -0
  133. package/src/styles/components/typography.css +4 -0
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import './ActionDropdown.css';
3
+ export interface ActionDropdownItem {
4
+ /** Label for the action dropdown item */
5
+ label: string;
6
+ /** Callback function to be called when the action dropdown item is clicked */
7
+ onClick?: () => void;
8
+ }
9
+ export interface ActionDropdownProps {
10
+ /** Data for the action dropdown */
11
+ data: ActionDropdownItem[];
12
+ }
13
+ /**
14
+ * A dropdown component that displays a list of actions triggered by a more icon button. Uses a Popover for the dropdown menu.
15
+ *
16
+ * @example
17
+ * <ActionDropdown data={data} />
18
+ * @param ActionDropdownProps
19
+ * @returns
20
+ */
21
+ export declare const ActionDropdown: React.FC<ActionDropdownProps>;
@@ -0,0 +1,34 @@
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 { useState } from 'react';
14
+ import Icon from '../../atoms/Icon/Icon';
15
+ import { Text } from '../../atoms/Typography/Typography';
16
+ import { Popover, PopoverContent, PopoverTrigger } from '../../ui/popover';
17
+ import './ActionDropdown.css';
18
+ /**
19
+ * A dropdown component that displays a list of actions triggered by a more icon button. Uses a Popover for the dropdown menu.
20
+ *
21
+ * @example
22
+ * <ActionDropdown data={data} />
23
+ * @param ActionDropdownProps
24
+ * @returns
25
+ */
26
+ export var ActionDropdown = function (_a) {
27
+ var data = _a.data;
28
+ var _b = useState(false), open = _b[0], setOpen = _b[1];
29
+ return (_jsxs(Popover, __assign({ open: open, onOpenChange: setOpen }, { children: [_jsx(PopoverTrigger, { children: _jsx("button", __assign({ className: "action-dropdown-trigger" }, { children: _jsx(Icon, { name: "more-vertical" }) })) }), _jsx(PopoverContent, __assign({ className: "action-dropdown", align: "end" }, { children: data.map(function (item, index) { return (_jsx("button", __assign({ onClick: function () {
30
+ var _a;
31
+ setOpen(false);
32
+ (_a = item.onClick) === null || _a === void 0 ? void 0 : _a.call(item);
33
+ } }, { children: _jsx(Text, __assign({ variant: "medium", size: "sm", as: "span" }, { children: item.label })) }), "ad-".concat(index))); }) }))] })));
34
+ };
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ export interface DateDisplayProps {
3
+ /** Dates to display */
4
+ date: string[] | Date[];
5
+ }
6
+ /**
7
+ * A component for displaying a list of dates in a readable format.
8
+ *
9
+ * @example
10
+ * <DateDisplay date={['2025-01-01', '2025-01-02']} />
11
+ * @param DateDisplayProps
12
+ * @returns
13
+ */
14
+ export declare const DateDisplay: React.FC<DateDisplayProps>;
@@ -0,0 +1,39 @@
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 { format, isValid } from 'date-fns';
14
+ import { Fragment, useMemo } from 'react';
15
+ import Icon from '../../atoms/Icon/Icon';
16
+ import { Text } from '../../atoms/Typography/Typography';
17
+ /**
18
+ * A component for displaying a list of dates in a readable format.
19
+ *
20
+ * @example
21
+ * <DateDisplay date={['2025-01-01', '2025-01-02']} />
22
+ * @param DateDisplayProps
23
+ * @returns
24
+ */
25
+ export var DateDisplay = function (_a) {
26
+ var date = _a.date;
27
+ var formattedDate = useMemo(function () {
28
+ return date.map(function (d) {
29
+ var dateObj = new Date(d);
30
+ // Check if the date is valid then format it to dd/MM/yyyy format
31
+ if (isValid(dateObj)) {
32
+ return format(dateObj, 'dd/MM/yyyy');
33
+ }
34
+ // If the date is not valid, return the original date
35
+ return d;
36
+ });
37
+ }, [date]);
38
+ return (_jsx("div", __assign({ className: "flex items-center gap-x-3" }, { children: formattedDate.map(function (date, index) { return (_jsxs(Fragment, { children: [_jsxs("span", __assign({ className: "flex items-center gap-x-2" }, { children: [_jsx(Icon, { name: "calendar2", size: "sm" }), _jsx(Text, __assign({ variant: "medium", size: "sm" }, { children: date }))] })), formattedDate.length > 1 && index === 0 && _jsx(Icon, { name: "arrow-right-outline", size: "sm" })] }, "dd-".concat(index))); }) })));
39
+ };
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ export interface FromToProps {
3
+ from?: string;
4
+ to?: string;
5
+ transferType?: string;
6
+ }
7
+ declare const FromTo: React.FC<Omit<FromToProps, 'transferType'>>;
8
+ export default FromTo;
@@ -0,0 +1,24 @@
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 Icon from '../../atoms/Icon/Icon';
14
+ import { Text } from '../../atoms/Typography/Typography';
15
+ var FromTo = function (props) {
16
+ var from = props.from, to = props.to;
17
+ var getTransferLocationName = function (location) {
18
+ if (!location)
19
+ return '';
20
+ return location.toLowerCase() === 'airport' ? 'Plaisance Airport' : location;
21
+ };
22
+ return (_jsxs("div", __assign({ className: "grid gap-y-1" }, { children: [_jsx(Text, __assign({ variant: "regular", size: "sm", leading: "5" }, { children: getTransferLocationName(from) })), _jsx(Icon, { name: "arrow-down-outline", size: "sm" }), _jsx(Text, __assign({ variant: "regular", size: "sm", leading: "5" }, { children: getTransferLocationName(to) }))] })));
23
+ };
24
+ export default FromTo;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { IconName } from '../../atoms/Icon/Icon';
3
+ interface DetailsColData {
4
+ icon: IconName;
5
+ value: React.ReactNode;
6
+ }
7
+ export interface DetailsColProps {
8
+ data: DetailsColData[];
9
+ index?: number;
10
+ }
11
+ export declare const DetailsCol: React.FC<DetailsColProps>;
12
+ export {};
@@ -0,0 +1,17 @@
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 } from "react/jsx-runtime";
13
+ import TextWithIcon from '../TextWithIcon/TextWithIcon';
14
+ export var DetailsCol = function (props) {
15
+ var data = props.data;
16
+ return (_jsx("div", __assign({ className: "grid gap-y-1" }, { children: data.map(function (item) { return (_jsx(TextWithIcon, __assign({ icon: item.icon }, { children: item.value }))); }) })));
17
+ };
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { IconName } from '../../atoms/Icon/Icon';
3
+ export interface ItemColProps {
4
+ serviceType: 'Accommodation' | 'Excursion' | 'Transfer' | 'Other Services';
5
+ serviceName?: string;
6
+ extraTitle?: React.ReactNode;
7
+ offers?: any[];
8
+ status?: string;
9
+ iconName?: IconName;
10
+ showName?: boolean;
11
+ children?: React.ReactNode;
12
+ }
13
+ export declare const ItemCol: React.FC<ItemColProps>;
@@ -0,0 +1,24 @@
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 { Text } from '@/src/components/atoms/Typography/Typography';
14
+ import { cn } from '@/src/lib/utils';
15
+ import Chip from '../../atoms/Chip/Chip';
16
+ import TextWithIcon from '../TextWithIcon/TextWithIcon';
17
+ export var ItemCol = function (props) {
18
+ var serviceType = props.serviceType, serviceName = props.serviceName, offers = props.offers, status = props.status, _a = props.iconName, iconName = _a === void 0 ? 'accom' : _a, _b = props.showName, showName = _b === void 0 ? true : _b, extraTitle = props.extraTitle, children = props.children;
19
+ var isOnRequest = (status === null || status === void 0 ? void 0 : status.toLowerCase()) === 'on request';
20
+ return (_jsxs("div", __assign({ className: cn('grid', (offers === null || offers === void 0 ? void 0 : offers.length) && 'gap-y-3') }, { children: [_jsxs("div", { children: [serviceName && (_jsxs("div", __assign({ className: "grid gap-y-1" }, { children: [_jsxs("div", __assign({ className: "flex items-center gap-x-2" }, { children: [_jsx(TextWithIcon, __assign({ icon: iconName, color: isOnRequest ? 'yellow' : 'accent' }, { children: serviceType })), isOnRequest && _jsx(Chip, __assign({ color: "yellow" }, { children: status })), extraTitle] })), _jsx(Text, __assign({ variant: "bold", size: "sm" }, { children: showName && serviceName }))] }))), children] }), offers && offers.length > 0 && (_jsxs("div", { children: [_jsx(Text, __assign({ variant: "bold", size: "sm", leading: "5" }, { children: "Applicable offers:" })), _jsx(Text, __assign({ variant: "regular", size: "sm", leading: "5" }, { children: offers.map(function (o) {
21
+ var offerValue = o.OfferType === 'GIFT' ? o.OfferName : "".concat(o.OfferValue, "% offers applied");
22
+ return _jsx("span", { children: offerValue });
23
+ }) }))] }))] })));
24
+ };
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { ItemColProps } from './ItemCol';
3
+ export interface RowAccommodationProps {
4
+ data: {
5
+ RoomName?: string;
6
+ Dates?: string[];
7
+ ClientCategory?: string;
8
+ MealPlan?: string;
9
+ };
10
+ index?: number;
11
+ }
12
+ export declare function RowAccommodation(): import("react/jsx-runtime").JSX.Element;
13
+ export declare namespace RowAccommodation {
14
+ var FirstCol: React.FC<Omit<ItemColProps, "serviceType">>;
15
+ var DetailsCol: React.FC<RowAccommodationProps>;
16
+ }
@@ -0,0 +1,37 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { differenceInDays } from 'date-fns';
3
+ import { useMemo } from 'react';
4
+ import { DetailsCol as DetailsColComponent } from './DetailsCol';
5
+ import { ItemCol } from './ItemCol';
6
+ var clientType = {
7
+ standard: 'STD',
8
+ honeymooners: 'HMN',
9
+ vip: 'VIP',
10
+ vvip: 'VVIP',
11
+ };
12
+ export function RowAccommodation() {
13
+ return _jsx(_Fragment, {});
14
+ }
15
+ var DetailsCol = function (props) {
16
+ var _a;
17
+ var data = props.data, _b = props.index, index = _b === void 0 ? 0 : _b;
18
+ var stay = useMemo(function () {
19
+ var _a;
20
+ if ((_a = data.Dates) === null || _a === void 0 ? void 0 : _a.length) {
21
+ return differenceInDays(data.Dates[1], data.Dates[0]);
22
+ }
23
+ return 0;
24
+ }, [data]);
25
+ return (_jsx(DetailsColComponent, { data: [
26
+ { icon: 'calendar2', value: "Room ".concat(index + 1, " : ").concat(data.RoomName) },
27
+ { icon: 'night', value: "".concat(stay, " Nights") },
28
+ { icon: 'user', value: "Client type : ".concat(clientType[(_a = data.ClientCategory) === null || _a === void 0 ? void 0 : _a.toLowerCase()]) },
29
+ { icon: 'utensils', value: "Meal plan : ".concat(data.MealPlan) },
30
+ ] }));
31
+ };
32
+ var FirstCol = function (props) {
33
+ var serviceName = props.serviceName, offers = props.offers, status = props.status;
34
+ return _jsx(ItemCol, { serviceType: "Accommodation", serviceName: serviceName, offers: offers, status: status });
35
+ };
36
+ RowAccommodation.FirstCol = FirstCol;
37
+ RowAccommodation.DetailsCol = DetailsCol;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { ItemColProps } from './ItemCol';
3
+ export interface RowExcursionProps {
4
+ data: {
5
+ languages?: string[];
6
+ duration?: string;
7
+ accessibility?: string;
8
+ transferType?: string;
9
+ };
10
+ }
11
+ export declare function RowExcursion(): import("react/jsx-runtime").JSX.Element;
12
+ export declare namespace RowExcursion {
13
+ var FirstCol: React.FC<Omit<ItemColProps, "status" | "serviceType">>;
14
+ var DetailsCol: React.FC<RowExcursionProps>;
15
+ }
16
+ export declare const DetailsCol: React.FC<RowExcursionProps>;
@@ -0,0 +1,22 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { DetailsCol as DetailsColComponent } from './DetailsCol';
3
+ import { ItemCol } from './ItemCol';
4
+ export function RowExcursion() {
5
+ return _jsx(_Fragment, {});
6
+ }
7
+ export var DetailsCol = function (props) {
8
+ var _a;
9
+ var data = props.data;
10
+ return (_jsx(DetailsColComponent, { data: [
11
+ { icon: 'micro', value: "Languages: ".concat((_a = data.languages) === null || _a === void 0 ? void 0 : _a.join(' and ')) },
12
+ { icon: 'stopwatch', value: "Duration: ".concat(data.duration) },
13
+ { icon: 'user', value: "Difficulty: ".concat(data.accessibility) },
14
+ { icon: 'bus', value: "Type: ".concat(data.transferType) },
15
+ ] }));
16
+ };
17
+ var FirstCol = function (props) {
18
+ var serviceName = props.serviceName, offers = props.offers;
19
+ return _jsx(ItemCol, { serviceType: "Excursion", serviceName: serviceName, offers: offers, iconName: "map" });
20
+ };
21
+ RowExcursion.FirstCol = FirstCol;
22
+ RowExcursion.DetailsCol = DetailsCol;
@@ -0,0 +1,9 @@
1
+ import '@/src/index.css';
2
+ import React from 'react';
3
+ import { ItemColProps } from './ItemCol';
4
+ export declare function RowOtherServices(): import("react/jsx-runtime").JSX.Element;
5
+ export declare namespace RowOtherServices {
6
+ var FirstCol: React.FC<Omit<ItemColProps, "status" | "serviceType">>;
7
+ var DetailsCol: () => import("react/jsx-runtime").JSX.Element;
8
+ }
9
+ export declare const DetailsCol: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,34 @@
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 { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import '@/src/index.css';
14
+ import Icon from '../../atoms/Icon/Icon';
15
+ import { Text } from '../../atoms/Typography/Typography';
16
+ import { TooltipDisplay } from '../TooltipDisplay/TooltipDisplay';
17
+ import { DetailsCol as DetailsColComponent } from './DetailsCol';
18
+ import { ItemCol } from './ItemCol';
19
+ export function RowOtherServices() {
20
+ return _jsx(_Fragment, {});
21
+ }
22
+ export var DetailsCol = function () {
23
+ return (_jsx(DetailsColComponent, { data: [
24
+ {
25
+ icon: 'wallet',
26
+ value: (_jsxs(Text, __assign({ variant: "medium", size: "sm", leading: "5", as: "div", className: "flex items-center gap-x-2" }, { children: ["Handling Fee", _jsx(TooltipDisplay, __assign({ content: "Handling fee varies and is determined by the final number of people during booking.\u00A0" }, { children: _jsx(Icon, { name: "info", size: "sm" }) }))] }))),
27
+ },
28
+ ] }));
29
+ };
30
+ var FirstCol = function (props) {
31
+ return (_jsx(ItemCol, { serviceType: "Other Services", iconName: "more", serviceName: "Handling Fee", showName: false }));
32
+ };
33
+ RowOtherServices.FirstCol = FirstCol;
34
+ RowOtherServices.DetailsCol = DetailsCol;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { FromToProps } from '../FromTo/FromTo';
3
+ import { ItemColProps } from './ItemCol';
4
+ export interface RowTransferProps {
5
+ data: {
6
+ carType?: string;
7
+ clientType?: string;
8
+ };
9
+ }
10
+ export declare function RowTransfer(): import("react/jsx-runtime").JSX.Element;
11
+ export declare namespace RowTransfer {
12
+ var FirstCol: React.FC<Omit<ItemColProps, "status" | "serviceType"> & FromToProps>;
13
+ var DetailsCol: React.FC<RowTransferProps>;
14
+ }
15
+ export declare const DetailsCol: React.FC<RowTransferProps>;
@@ -0,0 +1,37 @@
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 { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
13
+ import { Text } from '../../atoms/Typography/Typography';
14
+ import FromTo from '../FromTo/FromTo';
15
+ import { DetailsCol as DetailsColComponent } from './DetailsCol';
16
+ import { ItemCol } from './ItemCol';
17
+ var transferTypeMap = {
18
+ ARV: 'Arrival',
19
+ DEP: 'Departure',
20
+ INH: 'Inter-Hotel',
21
+ };
22
+ export function RowTransfer() {
23
+ return _jsx(_Fragment, {});
24
+ }
25
+ export var DetailsCol = function (props) {
26
+ var data = props.data;
27
+ return (_jsx(DetailsColComponent, { data: [
28
+ { icon: 'car', value: data.carType },
29
+ { icon: 'user', value: "Client type: ".concat(data.clientType) },
30
+ ] }));
31
+ };
32
+ var FirstCol = function (props) {
33
+ var serviceName = props.serviceName, offers = props.offers, transferType = props.transferType, from = props.from, to = props.to;
34
+ return (_jsx(ItemCol, __assign({ serviceType: "Transfer", serviceName: serviceName, offers: offers, iconName: "car", showName: false, extraTitle: _jsx(Text, __assign({ variant: "bold", size: "sm", className: "italic" }, { children: transferTypeMap[transferType] })) }, { children: _jsx(FromTo, { from: from, to: to }) })));
35
+ };
36
+ RowTransfer.FirstCol = FirstCol;
37
+ RowTransfer.DetailsCol = DetailsCol;
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ import { type DetailsColProps } from './DetailsCol';
3
+ import { type ItemColProps } from './ItemCol';
4
+ import { RowAccommodation, type RowAccommodationProps } from './RowAccommodation';
5
+ import { RowExcursion, type RowExcursionProps } from './RowExcursion';
6
+ import { RowOtherServices } from './RowOtherServices';
7
+ import { RowTransfer, type RowTransferProps } from './RowTransfer';
8
+ declare const TableServiceItem: {
9
+ DetailsCol: import("react").FC<DetailsColProps>;
10
+ ItemCol: import("react").FC<ItemColProps>;
11
+ RowAccommodation: typeof RowAccommodation;
12
+ RowExcursion: typeof RowExcursion;
13
+ RowOtherServices: typeof RowOtherServices;
14
+ RowTransfer: typeof RowTransfer;
15
+ };
16
+ export type { DetailsColProps, ItemColProps, RowAccommodationProps, RowExcursionProps, RowTransferProps, };
17
+ export default TableServiceItem;
@@ -0,0 +1,15 @@
1
+ import { DetailsCol } from './DetailsCol';
2
+ import { ItemCol } from './ItemCol';
3
+ import { RowAccommodation } from './RowAccommodation';
4
+ import { RowExcursion } from './RowExcursion';
5
+ import { RowOtherServices } from './RowOtherServices';
6
+ import { RowTransfer } from './RowTransfer';
7
+ var TableServiceItem = {
8
+ DetailsCol: DetailsCol,
9
+ ItemCol: ItemCol,
10
+ RowAccommodation: RowAccommodation,
11
+ RowExcursion: RowExcursion,
12
+ RowOtherServices: RowOtherServices,
13
+ RowTransfer: RowTransfer,
14
+ };
15
+ export default TableServiceItem;
@@ -0,0 +1,30 @@
1
+ /// <reference types="react" />
2
+ import { IconName } from '../../atoms/Icon/Icon';
3
+ import { TextColor, TextLeading, TextVariant } from '../../atoms/Typography/Typography';
4
+ export interface TextWithIconProps {
5
+ /** Icon to display */
6
+ icon: IconName;
7
+ /** Icon size */
8
+ iconSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
9
+ /** Children to display */
10
+ children: React.ReactNode;
11
+ /** Color of the text */
12
+ color?: TextColor;
13
+ /** Leading of the text */
14
+ textLeading?: TextLeading;
15
+ /** Variant of the text */
16
+ textVariant?: TextVariant;
17
+ }
18
+ /**
19
+ * A component that displays a text with an icon.
20
+ *
21
+ * @example
22
+ * <TextWithIcon icon="calendar" color="yellow">
23
+ * 20/12/2025
24
+ * </TextWithIcon>
25
+ *
26
+ * @param TextWithIconProps
27
+ * @returns
28
+ */
29
+ declare const TextWithIcon: React.FC<TextWithIconProps>;
30
+ export default TextWithIcon;
@@ -0,0 +1,31 @@
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 { cn } from '@/src/lib/utils';
14
+ import Icon from '../../atoms/Icon/Icon';
15
+ import { Text } from '../../atoms/Typography/Typography';
16
+ /**
17
+ * A component that displays a text with an icon.
18
+ *
19
+ * @example
20
+ * <TextWithIcon icon="calendar" color="yellow">
21
+ * 20/12/2025
22
+ * </TextWithIcon>
23
+ *
24
+ * @param TextWithIconProps
25
+ * @returns
26
+ */
27
+ var TextWithIcon = function (props) {
28
+ var icon = props.icon, children = props.children, _a = props.iconSize, iconSize = _a === void 0 ? 'sm' : _a, _b = props.color, color = _b === void 0 ? 'default' : _b, _c = props.textLeading, textLeading = _c === void 0 ? '5' : _c, _d = props.textVariant, textVariant = _d === void 0 ? 'medium' : _d;
29
+ return (_jsxs("div", __assign({ className: cn('flex items-center gap-x-2', color === 'yellow' && 'text-[var(--color-yellow-600)]', color === 'accent' && 'text-[var(--color-text-accent)]') }, { children: [_jsx("span", { children: _jsx(Icon, { name: icon, size: iconSize }) }), _jsx(Text, __assign({ variant: textVariant, size: iconSize, className: "flex items-center gap-x-2", color: color, leading: textLeading, as: "div" }, { children: children }))] })));
30
+ };
31
+ export default TextWithIcon;
@@ -0,0 +1,13 @@
1
+ import { TooltipContentProps } from '@radix-ui/react-tooltip';
2
+ import React from 'react';
3
+ export interface TooltipDisplayProps {
4
+ /** Trigger element */
5
+ children: React.ReactNode;
6
+ /** Tooltip content */
7
+ content: string;
8
+ /** Side of the tooltip */
9
+ side?: TooltipContentProps['side'];
10
+ /** Maximum width of the tooltip */
11
+ maxWidth?: `${number}px`;
12
+ }
13
+ export declare const TooltipDisplay: React.FC<TooltipDisplayProps>;
@@ -0,0 +1,18 @@
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 { Text } from '../../atoms/Typography/Typography';
14
+ import { Tooltip, TooltipContent, TooltipTrigger } from '../../ui/tooltip';
15
+ export var TooltipDisplay = function (props) {
16
+ var children = props.children, content = props.content, _a = props.side, side = _a === void 0 ? 'right' : _a, _b = props.maxWidth, maxWidth = _b === void 0 ? '300px' : _b;
17
+ return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, __assign({ className: "text-[var(--color-icon-branded)]" }, { children: children })), _jsx(TooltipContent, __assign({ className: "max-w-[".concat(maxWidth, "]"), side: side }, { children: _jsx(Text, __assign({ variant: "medium", size: "sm", className: "!text-white" }, { children: content })) }))] }));
18
+ };