@roomstay/frontend 2.6.25 → 2.6.27

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.
@@ -1,6 +1,6 @@
1
1
  interface DistanceProps {
2
2
  distance: number | string;
3
- displayCard?: boolean;
3
+ unit?: string;
4
4
  }
5
- export default function Distance({ distance, displayCard }: DistanceProps): JSX.Element;
5
+ export default function Distance({ distance, unit }: DistanceProps): JSX.Element;
6
6
  export {};
@@ -27,24 +27,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const contexts_1 = require("../../contexts/index.js");
30
+ const DistanceUnitType_types_1 = require("models/Client/Hotel/DistanceUnitType.types");
30
31
  const react_1 = __importStar(require("react"));
31
32
  const DistanceProvider_1 = __importDefault(require("../../providers/DistanceProvider"));
32
- function Distance({ distance, displayCard }) {
33
+ function Distance({ distance, unit }) {
33
34
  const hotelOverridesContext = react_1.default.useContext(contexts_1.HotelOverridesContext);
34
- const distanceString = (() => {
35
- if (typeof distance === 'string') {
36
- return [distance, DistanceProvider_1.default.getMeasurementString(hotelOverridesContext === null || hotelOverridesContext === void 0 ? void 0 : hotelOverridesContext.distanceUnitType)].join(displayCard ? '' : ' ');
37
- }
38
- else {
39
- return [
40
- DistanceProvider_1.default.convertTo(hotelOverridesContext === null || hotelOverridesContext === void 0 ? void 0 : hotelOverridesContext.distanceUnitType, distance),
41
- DistanceProvider_1.default.getMeasurementString(hotelOverridesContext === null || hotelOverridesContext === void 0 ? void 0 : hotelOverridesContext.distanceUnitType),
42
- ].join(displayCard ? '' : ' ');
43
- }
44
- })();
35
+ const isDistanceUnitTime = (hotelOverridesContext === null || hotelOverridesContext === void 0 ? void 0 : hotelOverridesContext.distanceUnitType) === DistanceUnitType_types_1.DistanceUnitType.Time;
45
36
  return (0, react_1.useMemo)(() => {
46
- return react_1.default.createElement(react_1.default.Fragment, null, distanceString);
47
- }, [distance]);
37
+ const distanceUnit = isDistanceUnitTime && unit ? unit : DistanceProvider_1.default.getMeasurementString(hotelOverridesContext === null || hotelOverridesContext === void 0 ? void 0 : hotelOverridesContext.distanceUnitType);
38
+ let transportDistance = distance;
39
+ if (typeof distance !== 'string') {
40
+ transportDistance = DistanceProvider_1.default.convertTo(hotelOverridesContext === null || hotelOverridesContext === void 0 ? void 0 : hotelOverridesContext.distanceUnitType, distance);
41
+ }
42
+ const withASpace = ['hrs', 'km'].includes(distanceUnit) === false;
43
+ return react_1.default.createElement(react_1.default.Fragment, null, [transportDistance, distanceUnit].join(withASpace ? ' ' : ''));
44
+ }, [distance, unit, hotelOverridesContext === null || hotelOverridesContext === void 0 ? void 0 : hotelOverridesContext.distanceUnitType]);
48
45
  }
49
46
  exports.default = Distance;
50
47
  //# sourceMappingURL=Distance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Distance.js","sourceRoot":"/","sources":["src/components/generic/Distance.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA2D;AAE3D,+CAAuC;AAEvC,oFAA4D;AAO5D,SAAwB,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAiB;IACrE,MAAM,qBAAqB,GAAG,eAAK,CAAC,UAAU,CAAC,gCAAqB,CAAC,CAAC;IAEtE,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9B,OAAO,CAAC,QAAQ,EAAE,0BAAgB,CAAC,oBAAoB,CAAC,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,gBAAoC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACtJ;aAAM;YACH,OAAO;gBACH,0BAAgB,CAAC,SAAS,CAAC,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,gBAAoC,EAAE,QAAQ,CAAC;gBACjG,0BAAgB,CAAC,oBAAoB,CAAC,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,gBAAoC,CAAC;aACrG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAClC;IACL,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAChB,OAAO,8DAAG,cAAc,CAAI,CAAC;IACjC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnB,CAAC;AAjBD,2BAiBC","sourcesContent":["import { HotelOverridesContext } from '@frontend/contexts';\nimport { DistanceUnitType } from 'models/Client/Hotel/DistanceUnitType.types';\nimport React, { useMemo } from 'react';\n\nimport DistanceProvider from '@/providers/DistanceProvider';\n\ninterface DistanceProps {\n distance: number | string;\n displayCard?: boolean;\n}\n\nexport default function Distance({ distance, displayCard }: DistanceProps) {\n const hotelOverridesContext = React.useContext(HotelOverridesContext);\n\n const distanceString = (() => {\n if (typeof distance === 'string') {\n return [distance, DistanceProvider.getMeasurementString(hotelOverridesContext?.distanceUnitType as DistanceUnitType)].join(displayCard ? '' : ' ');\n } else {\n return [\n DistanceProvider.convertTo(hotelOverridesContext?.distanceUnitType as DistanceUnitType, distance),\n DistanceProvider.getMeasurementString(hotelOverridesContext?.distanceUnitType as DistanceUnitType),\n ].join(displayCard ? '' : ' ');\n }\n })();\n\n return useMemo(() => {\n return <>{distanceString}</>;\n }, [distance]);\n}\n"]}
1
+ {"version":3,"file":"Distance.js","sourceRoot":"/","sources":["src/components/generic/Distance.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA2D;AAC3D,uFAA8E;AAC9E,+CAAuC;AAEvC,oFAA4D;AAO5D,SAAwB,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAiB;IAC9D,MAAM,qBAAqB,GAAG,eAAK,CAAC,UAAU,CAAC,gCAAqB,CAAC,CAAC;IACtE,MAAM,kBAAkB,GAAG,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,gBAAgB,MAAK,yCAAgB,CAAC,IAAI,CAAC;IAC7F,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAChB,MAAM,YAAY,GAAG,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0BAAgB,CAAC,oBAAoB,CAAC,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,gBAAoC,CAAC,CAAC;QAE5J,IAAI,iBAAiB,GAAG,QAAQ,CAAC;QACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9B,iBAAiB,GAAG,0BAAgB,CAAC,SAAS,CAAC,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,gBAAoC,EAAE,QAAQ,CAAC,CAAC;SACzH;QACD,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC;QAClE,OAAO,8DAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAI,CAAC;IAChF,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,gBAAgB,CAAC,CAAC,CAAC;AAClE,CAAC;AAbD,2BAaC","sourcesContent":["import { HotelOverridesContext } from '@frontend/contexts';\nimport { DistanceUnitType } from 'models/Client/Hotel/DistanceUnitType.types';\nimport React, { useMemo } from 'react';\n\nimport DistanceProvider from '@/providers/DistanceProvider';\n\ninterface DistanceProps {\n distance: number | string;\n unit?: string;\n}\n\nexport default function Distance({ distance, unit }: DistanceProps) {\n const hotelOverridesContext = React.useContext(HotelOverridesContext);\n const isDistanceUnitTime = hotelOverridesContext?.distanceUnitType === DistanceUnitType.Time;\n return useMemo(() => {\n const distanceUnit = isDistanceUnitTime && unit ? unit : DistanceProvider.getMeasurementString(hotelOverridesContext?.distanceUnitType as DistanceUnitType);\n\n let transportDistance = distance;\n if (typeof distance !== 'string') {\n transportDistance = DistanceProvider.convertTo(hotelOverridesContext?.distanceUnitType as DistanceUnitType, distance);\n }\n const withASpace = ['hrs', 'km'].includes(distanceUnit) === false;\n return <>{[transportDistance, distanceUnit].join(withASpace ? ' ' : '')}</>;\n }, [distance, unit, hotelOverridesContext?.distanceUnitType]);\n}\n"]}
@@ -35,33 +35,31 @@ const Text_1 = __importStar(require("../generic/Text"));
35
35
  const Color_1 = require("../../util/Color");
36
36
  const TextAlignment_1 = require("../../util/TextAlignment");
37
37
  function TransportDistanceFromHotelBlock(props) {
38
+ var _a, _b, _c, _d, _e, _f, _g;
38
39
  const { transportDistances } = (0, react_1.useContext)(contexts_1.HotelOverridesContext);
39
40
  const { vertical, tightMargins } = props;
40
41
  const distanceValues = [
41
- { icon: Icon_1.IconType.Airplane, name: 'Airport', distance: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.plane },
42
- { icon: Icon_1.IconType.Train, name: 'Train', distance: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.train },
43
- { icon: Icon_1.IconType.Bus, name: 'Bus', distance: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.bus },
44
- { icon: Icon_1.IconType.Taxi, name: 'Taxi', distance: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.taxi },
42
+ { icon: Icon_1.IconType.Airplane, name: 'Airport', distance: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.plane, configuration: ((_a = transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.configuration) === null || _a === void 0 ? void 0 : _a.plane) || {} },
43
+ { icon: Icon_1.IconType.Train, name: 'Train', distance: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.train, configuration: ((_b = transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.configuration) === null || _b === void 0 ? void 0 : _b.train) || {} },
44
+ { icon: Icon_1.IconType.Bus, name: 'Bus', distance: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.bus, configuration: ((_c = transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.configuration) === null || _c === void 0 ? void 0 : _c.bus) || {} },
45
+ { icon: Icon_1.IconType.Taxi, name: 'Taxi', distance: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.taxi, configuration: ((_d = transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.configuration) === null || _d === void 0 ? void 0 : _d.taxi) || {} },
45
46
  {
46
47
  icon: Icon_1.IconType.Ferry,
47
48
  name: 'Ferry',
48
49
  distance: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.ferry,
49
- distanceSuffix: 'ferry',
50
- subTitle: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.ferrySubTitle,
50
+ configuration: ((_e = transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.configuration) === null || _e === void 0 ? void 0 : _e.ferry) || {},
51
51
  },
52
52
  {
53
53
  icon: Icon_1.IconType.Location,
54
54
  name: 'Drive',
55
55
  distance: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.location,
56
- distanceSuffix: 'drive',
57
- subTitle: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.locationSubTitle,
56
+ configuration: ((_f = transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.configuration) === null || _f === void 0 ? void 0 : _f.location) || {},
58
57
  },
59
58
  {
60
59
  icon: Icon_1.IconType.Car,
61
60
  name: 'Drive',
62
61
  distance: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.car,
63
- distanceSuffix: 'drive',
64
- subTitle: transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.carSubTitle,
62
+ configuration: ((_g = transportDistances === null || transportDistances === void 0 ? void 0 : transportDistances.configuration) === null || _g === void 0 ? void 0 : _g.car) || {},
65
63
  },
66
64
  ].filter(({ distance }) => !!distance);
67
65
  const tightMarginClass = tightMargins ? 'u-marg-left-right' : 'u-marg-left-right--heavy';
@@ -70,17 +68,17 @@ function TransportDistanceFromHotelBlock(props) {
70
68
  } }, distanceValues.map((distanceValue, index) => (react_1.default.createElement(DistanceDisplayCard, Object.assign({ key: index }, distanceValue, { vertical: vertical, totalValues: distanceValues.length })))))) : (react_1.default.createElement(react_1.default.Fragment, null, distanceValues.map((distanceValue, index) => (react_1.default.createElement(DistanceDisplay, Object.assign({ key: index }, distanceValue, { vertical: vertical, tightMarginClass: tightMarginClass }))))));
71
69
  }
72
70
  exports.default = TransportDistanceFromHotelBlock;
73
- const DistanceDisplayCard = ({ icon, distance, distanceSuffix, subTitle, totalValues, vertical }) => (react_1.default.createElement("div", { style: Object.assign({}, (!vertical && {
71
+ const DistanceDisplayCard = ({ icon, distance, configuration: { suffix, subTitle, unit }, totalValues, vertical, }) => (react_1.default.createElement("div", { style: Object.assign({}, (!vertical && {
74
72
  minWidth: `${100 / totalValues}%`,
75
73
  })), className: "d-flex flex-row transport-card" },
76
74
  react_1.default.createElement("div", { style: { paddingRight: '4px' }, className: "transport-card-icon" },
77
75
  react_1.default.createElement(Icon_1.default, { icon: icon, size: "1.3em", color: Color_1.Color.Accent })),
78
76
  react_1.default.createElement("div", { className: "d-flex flex-column transport-card-details" },
79
77
  react_1.default.createElement(Text_1.default, { bold: true, align: TextAlignment_1.TextAlign.Left, type: vertical ? Text_1.TextType.Small : Text_1.TextType.Body, color: Color_1.Color.Accent, className: "transport-card-title" },
80
- react_1.default.createElement(Distance_1.default, { distance: distance, displayCard: true }),
81
- " ", distanceSuffix !== null && distanceSuffix !== void 0 ? distanceSuffix : ''),
78
+ react_1.default.createElement(Distance_1.default, { distance: distance, unit: unit }),
79
+ " ", suffix !== null && suffix !== void 0 ? suffix : ''),
82
80
  react_1.default.createElement(Text_1.default, { align: TextAlignment_1.TextAlign.Left, type: vertical ? Text_1.TextType.Label : Text_1.TextType.Small, color: Color_1.Color.Graphite, className: "transport-card-subtitle" }, subTitle))));
83
- const DistanceDisplay = ({ name, icon, distance, vertical, tightMarginClass }) => (react_1.default.createElement("div", { className: vertical ? 'u-flex flex-column u-marg-top-bottom' : `${tightMarginClass} u-marg-left-right@l-` },
81
+ const DistanceDisplay = ({ name, icon, distance, configuration: { unit }, vertical, tightMarginClass }) => (react_1.default.createElement("div", { className: vertical ? 'u-flex flex-column u-marg-top-bottom' : `${tightMarginClass} u-marg-left-right@l-` },
84
82
  react_1.default.createElement(Text_1.default, { align: vertical ? TextAlignment_1.TextAlign.Center : undefined, type: Text_1.TextType.Small, color: Color_1.Color.DarkGrey },
85
83
  react_1.default.createElement("strong", null, name)),
86
84
  react_1.default.createElement("div", { className: (0, classnames_1.default)('u-flex u-marg-top--light', {
@@ -91,5 +89,5 @@ const DistanceDisplay = ({ name, icon, distance, vertical, tightMarginClass }) =
91
89
  react_1.default.createElement("span", { className: vertical ? 'u-marg-top--light' : 'u-marg-left--light' },
92
90
  react_1.default.createElement(Text_1.default, { type: Text_1.TextType.Small },
93
91
  react_1.default.createElement("span", { className: "u-nowrap" },
94
- react_1.default.createElement(Distance_1.default, { distance: distance })))))));
92
+ react_1.default.createElement(Distance_1.default, { unit: unit, distance: distance })))))));
95
93
  //# sourceMappingURL=TransportDistanceFromHotelBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransportDistanceFromHotelBlock.js","sourceRoot":"/","sources":["src/components/summary/TransportDistanceFromHotelBlock.tsx"],"names":[],"mappings":"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","sourcesContent":["import { HotelOverridesContext } from '@frontend/contexts';\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\n\nimport Distance from '@/components/generic/Distance';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport Text, { TextType } from '@/components/generic/Text';\nimport type { Hotel } from '@/models/Client/Hotel/Hotel';\nimport { Color } from '@/util/Color';\nimport { TextAlign } from '@/util/TextAlignment';\n\ninterface TransportDistanceFromHotelBlockProps {\n vertical?: boolean;\n\n tightMargins?: boolean;\n distanceOverrides?: any;\n\n hotel?: Hotel;\n}\ninterface IDistanceValue {\n icon: IconType;\n name: string;\n distance: string | number;\n distanceSuffix?: string;\n subTitle?: string;\n}\nexport default function TransportDistanceFromHotelBlock(props: TransportDistanceFromHotelBlockProps) {\n const { transportDistances } = useContext(HotelOverridesContext);\n const { vertical, tightMargins } = props;\n\n const distanceValues = [\n { icon: IconType.Airplane, name: 'Airport', distance: transportDistances?.plane },\n { icon: IconType.Train, name: 'Train', distance: transportDistances?.train },\n { icon: IconType.Bus, name: 'Bus', distance: transportDistances?.bus },\n { icon: IconType.Taxi, name: 'Taxi', distance: transportDistances?.taxi },\n {\n icon: IconType.Ferry,\n name: 'Ferry',\n distance: transportDistances?.ferry,\n distanceSuffix: 'ferry',\n subTitle: transportDistances?.ferrySubTitle,\n },\n {\n icon: IconType.Location,\n name: 'Drive',\n distance: transportDistances?.location,\n distanceSuffix: 'drive',\n subTitle: transportDistances?.locationSubTitle,\n },\n {\n icon: IconType.Car,\n name: 'Drive',\n distance: transportDistances?.car,\n distanceSuffix: 'drive',\n subTitle: transportDistances?.carSubTitle,\n },\n ].filter(({ distance }) => !!distance) as IDistanceValue[];\n\n const tightMarginClass = tightMargins ? 'u-marg-left-right' : 'u-marg-left-right--heavy';\n\n return transportDistances?.displayCard ? (\n <div\n className=\"rs-transport-distances d-flex flex-wrap justify-content-between\"\n style={{\n width: '100%',\n }}\n >\n {distanceValues.map((distanceValue, index) => (\n <DistanceDisplayCard key={index} {...distanceValue} vertical={vertical} totalValues={distanceValues.length} />\n ))}\n </div>\n ) : (\n <>\n {distanceValues.map((distanceValue, index) => (\n <DistanceDisplay key={index} {...distanceValue} vertical={vertical} tightMarginClass={tightMarginClass} />\n ))}\n </>\n );\n}\n\nconst DistanceDisplayCard = ({ icon, distance, distanceSuffix, subTitle, totalValues, vertical }: IDistanceValue & { totalValues: number; vertical?: boolean }) => (\n <div\n style={{\n ...(!vertical && {\n minWidth: `${100 / totalValues}%`,\n }),\n }}\n className=\"d-flex flex-row transport-card\"\n >\n <div style={{ paddingRight: '4px' }} className=\"transport-card-icon\">\n <Icon icon={icon} size=\"1.3em\" color={Color.Accent} />\n </div>\n <div className=\"d-flex flex-column transport-card-details\">\n <Text bold align={TextAlign.Left} type={vertical ? TextType.Small : TextType.Body} color={Color.Accent} className=\"transport-card-title\">\n <Distance distance={distance} displayCard /> {distanceSuffix ?? ''}\n </Text>\n <Text align={TextAlign.Left} type={vertical ? TextType.Label : TextType.Small} color={Color.Graphite} className=\"transport-card-subtitle\">\n {subTitle}\n </Text>\n </div>\n </div>\n);\n\nconst DistanceDisplay = ({ name, icon, distance, vertical, tightMarginClass }: IDistanceValue & { vertical?: boolean; tightMarginClass: string }) => (\n <div className={vertical ? 'u-flex flex-column u-marg-top-bottom' : `${tightMarginClass} u-marg-left-right@l-`}>\n <Text align={vertical ? TextAlign.Center : undefined} type={TextType.Small} color={Color.DarkGrey}>\n <strong>{name}</strong>\n </Text>\n <div\n className={classNames('u-flex u-marg-top--light', {\n 'justify-content-start flex-column align-items-center': vertical,\n 'align-items-end': !vertical,\n })}\n >\n <Icon icon={icon} size=\"1.3em\" />\n <span className={vertical ? 'u-marg-top--light' : 'u-marg-left--light'}>\n <Text type={TextType.Small}>\n <span className=\"u-nowrap\">\n <Distance distance={distance} />\n </span>\n </Text>\n </span>\n </div>\n </div>\n);\n"]}
1
+ {"version":3,"file":"TransportDistanceFromHotelBlock.js","sourceRoot":"/","sources":["src/components/summary/TransportDistanceFromHotelBlock.tsx"],"names":[],"mappings":"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","sourcesContent":["import { HotelOverridesContext } from '@frontend/contexts';\nimport classNames from 'classnames';\nimport React, { useContext } from 'react';\n\nimport Distance from '@/components/generic/Distance';\nimport Icon, { IconType } from '@/components/generic/Icon/Icon';\nimport Text, { TextType } from '@/components/generic/Text';\nimport { TransportDistancesConfig } from '@/models/Api/HotelOverrideDTO';\nimport type { Hotel } from '@/models/Client/Hotel/Hotel';\nimport { Color } from '@/util/Color';\nimport { TextAlign } from '@/util/TextAlignment';\n\ninterface TransportDistanceFromHotelBlockProps {\n vertical?: boolean;\n\n tightMargins?: boolean;\n distanceOverrides?: any;\n\n hotel?: Hotel;\n}\ninterface IDistanceValue {\n icon: IconType;\n name: string;\n distance: string | number;\n configuration: TransportDistancesConfig;\n}\nexport default function TransportDistanceFromHotelBlock(props: TransportDistanceFromHotelBlockProps) {\n const { transportDistances } = useContext(HotelOverridesContext);\n const { vertical, tightMargins } = props;\n\n const distanceValues = [\n { icon: IconType.Airplane, name: 'Airport', distance: transportDistances?.plane, configuration: transportDistances?.configuration?.plane || {} },\n { icon: IconType.Train, name: 'Train', distance: transportDistances?.train, configuration: transportDistances?.configuration?.train || {} },\n { icon: IconType.Bus, name: 'Bus', distance: transportDistances?.bus, configuration: transportDistances?.configuration?.bus || {} },\n { icon: IconType.Taxi, name: 'Taxi', distance: transportDistances?.taxi, configuration: transportDistances?.configuration?.taxi || {} },\n {\n icon: IconType.Ferry,\n name: 'Ferry',\n distance: transportDistances?.ferry,\n configuration: transportDistances?.configuration?.ferry || {},\n },\n {\n icon: IconType.Location,\n name: 'Drive',\n distance: transportDistances?.location,\n configuration: transportDistances?.configuration?.location || {},\n },\n {\n icon: IconType.Car,\n name: 'Drive',\n distance: transportDistances?.car,\n configuration: transportDistances?.configuration?.car || {},\n },\n ].filter(({ distance }) => !!distance) as IDistanceValue[];\n\n const tightMarginClass = tightMargins ? 'u-marg-left-right' : 'u-marg-left-right--heavy';\n\n return transportDistances?.displayCard ? (\n <div\n className=\"rs-transport-distances d-flex flex-wrap justify-content-between\"\n style={{\n width: '100%',\n }}\n >\n {distanceValues.map((distanceValue, index) => (\n <DistanceDisplayCard key={index} {...distanceValue} vertical={vertical} totalValues={distanceValues.length} />\n ))}\n </div>\n ) : (\n <>\n {distanceValues.map((distanceValue, index) => (\n <DistanceDisplay key={index} {...distanceValue} vertical={vertical} tightMarginClass={tightMarginClass} />\n ))}\n </>\n );\n}\n\nconst DistanceDisplayCard = ({\n icon,\n distance,\n configuration: { suffix, subTitle, unit },\n totalValues,\n vertical,\n}: IDistanceValue & { totalValues: number; vertical?: boolean }) => (\n <div\n style={{\n ...(!vertical && {\n minWidth: `${100 / totalValues}%`,\n }),\n }}\n className=\"d-flex flex-row transport-card\"\n >\n <div style={{ paddingRight: '4px' }} className=\"transport-card-icon\">\n <Icon icon={icon} size=\"1.3em\" color={Color.Accent} />\n </div>\n <div className=\"d-flex flex-column transport-card-details\">\n <Text bold align={TextAlign.Left} type={vertical ? TextType.Small : TextType.Body} color={Color.Accent} className=\"transport-card-title\">\n <Distance distance={distance} unit={unit} /> {suffix ?? ''}\n </Text>\n <Text align={TextAlign.Left} type={vertical ? TextType.Label : TextType.Small} color={Color.Graphite} className=\"transport-card-subtitle\">\n {subTitle}\n </Text>\n </div>\n </div>\n);\n\nconst DistanceDisplay = ({ name, icon, distance, configuration: { unit }, vertical, tightMarginClass }: IDistanceValue & { vertical?: boolean; tightMarginClass: string }) => (\n <div className={vertical ? 'u-flex flex-column u-marg-top-bottom' : `${tightMarginClass} u-marg-left-right@l-`}>\n <Text align={vertical ? TextAlign.Center : undefined} type={TextType.Small} color={Color.DarkGrey}>\n <strong>{name}</strong>\n </Text>\n <div\n className={classNames('u-flex u-marg-top--light', {\n 'justify-content-start flex-column align-items-center': vertical,\n 'align-items-end': !vertical,\n })}\n >\n <Icon icon={icon} size=\"1.3em\" />\n <span className={vertical ? 'u-marg-top--light' : 'u-marg-left--light'}>\n <Text type={TextType.Small}>\n <span className=\"u-nowrap\">\n <Distance unit={unit} distance={distance} />\n </span>\n </Text>\n </span>\n </div>\n </div>\n);\n"]}
@@ -1,4 +1,9 @@
1
1
  import { DistanceUnitType } from '../Client/Hotel/DistanceUnitType.types';
2
+ export interface TransportDistancesConfig {
3
+ subTitle?: string;
4
+ unit?: string;
5
+ suffix?: string;
6
+ }
2
7
  export interface TransportDistances {
3
8
  /** Seems that the old way had these as numbers, and if the unit wasn't metric done conversions on the number
4
9
  As they're inputting the string directly now I've changed the Distance component to accept both types and only
@@ -10,11 +15,17 @@ export interface TransportDistances {
10
15
  bus?: string | number;
11
16
  taxi?: string | number;
12
17
  car?: string | number;
13
- carSubTitle?: string;
14
18
  ferry?: string | number;
15
- ferrySubTitle?: string;
16
19
  location?: string | number;
17
- locationSubTitle?: string;
20
+ configuration: {
21
+ plane?: TransportDistancesConfig;
22
+ train: TransportDistancesConfig;
23
+ bus: TransportDistancesConfig;
24
+ taxi: TransportDistancesConfig;
25
+ car: TransportDistancesConfig;
26
+ ferry: TransportDistancesConfig;
27
+ location: TransportDistancesConfig;
28
+ };
18
29
  }
19
30
  export interface ShowYearOnCalendarProps {
20
31
  showYearOnCalendar?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"HotelOverrideDTO.js","sourceRoot":"/","sources":["src/models/Api/HotelOverrideDTO.ts"],"names":[],"mappings":"","sourcesContent":["import { DistanceUnitType } from '@/models/Client/Hotel/DistanceUnitType.types';\n\nexport interface TransportDistances {\n /** Seems that the old way had these as numbers, and if the unit wasn't metric done conversions on the number\n As they're inputting the string directly now I've changed the Distance component to accept both types and only\n run the conversion on numbers.\n */\n displayCard?: boolean;\n plane?: string | number;\n train?: string | number;\n bus?: string | number;\n taxi?: string | number;\n car?: string | number;\n carSubTitle?: string;\n ferry?: string | number;\n ferrySubTitle?: string;\n location?: string | number;\n locationSubTitle?: string;\n}\n\nexport interface ShowYearOnCalendarProps {\n showYearOnCalendar?: boolean;\n yearDisplayOption?: string;\n}\n\nexport interface ShowPromoCodeAlertProps {\n showPromoCodeAlert?: boolean;\n promoCodeAlertType?: 'popup' | 'notification';\n}\n\nexport interface IPageTitle {\n enable: boolean;\n HotelInfo: string;\n FindReservation: string;\n Date: string;\n Room: string;\n Addon: string;\n Confirmation: string;\n Thanks: string;\n}\nexport interface HotelOverrideDTO extends ShowYearOnCalendarProps, ShowPromoCodeAlertProps {\n hideByLine?: boolean;\n overrideDistanceUnitType?: boolean;\n distanceUnitType?: DistanceUnitType;\n transportDistances?: TransportDistances;\n phoneNumberInSummary?: string;\n enabledEventIds?: string[];\n pageTitle?: IPageTitle;\n}\n"]}
1
+ {"version":3,"file":"HotelOverrideDTO.js","sourceRoot":"/","sources":["src/models/Api/HotelOverrideDTO.ts"],"names":[],"mappings":"","sourcesContent":["import { DistanceUnitType } from '@/models/Client/Hotel/DistanceUnitType.types';\n\nexport interface TransportDistancesConfig {\n subTitle?: string;\n unit?: string;\n suffix?: string;\n}\nexport interface TransportDistances {\n /** Seems that the old way had these as numbers, and if the unit wasn't metric done conversions on the number\n As they're inputting the string directly now I've changed the Distance component to accept both types and only\n run the conversion on numbers.\n */\n displayCard?: boolean;\n plane?: string | number;\n train?: string | number;\n bus?: string | number;\n taxi?: string | number;\n car?: string | number;\n ferry?: string | number;\n location?: string | number;\n configuration: {\n plane?: TransportDistancesConfig;\n train: TransportDistancesConfig;\n bus: TransportDistancesConfig;\n taxi: TransportDistancesConfig;\n car: TransportDistancesConfig;\n ferry: TransportDistancesConfig;\n location: TransportDistancesConfig;\n };\n}\n\nexport interface ShowYearOnCalendarProps {\n showYearOnCalendar?: boolean;\n yearDisplayOption?: string;\n}\n\nexport interface ShowPromoCodeAlertProps {\n showPromoCodeAlert?: boolean;\n promoCodeAlertType?: 'popup' | 'notification';\n}\n\nexport interface IPageTitle {\n enable: boolean;\n HotelInfo: string;\n FindReservation: string;\n Date: string;\n Room: string;\n Addon: string;\n Confirmation: string;\n Thanks: string;\n}\nexport interface HotelOverrideDTO extends ShowYearOnCalendarProps, ShowPromoCodeAlertProps {\n hideByLine?: boolean;\n overrideDistanceUnitType?: boolean;\n distanceUnitType?: DistanceUnitType;\n transportDistances?: TransportDistances;\n phoneNumberInSummary?: string;\n enabledEventIds?: string[];\n pageTitle?: IPageTitle;\n}\n"]}
@@ -9,5 +9,5 @@ export default class DistanceProvider {
9
9
  * @param to
10
10
  */
11
11
  static convertTo(type: DistanceUnitType, value: number): string | number;
12
- static getMeasurementString(type: DistanceUnitType): "miles" | "mins" | "km";
12
+ static getMeasurementString(type: DistanceUnitType): "minutes" | "miles" | "km";
13
13
  }
@@ -21,7 +21,7 @@ class DistanceProvider {
21
21
  case DistanceUnitType_types_1.DistanceUnitType.Imperial:
22
22
  return 'miles';
23
23
  case DistanceUnitType_types_1.DistanceUnitType.Time:
24
- return 'mins';
24
+ return 'minutes';
25
25
  default:
26
26
  case DistanceUnitType_types_1.DistanceUnitType.Metric:
27
27
  return 'km';
@@ -1 +1 @@
1
- {"version":3,"file":"DistanceProvider.js","sourceRoot":"/","sources":["src/providers/DistanceProvider.ts"],"names":[],"mappings":";;AAAA,yFAAgF;AAEhF,MAAqB,gBAAgB;IACjC;;;;;;;OAOG;IACI,MAAM,CAAC,SAAS,CAAC,IAAsB,EAAE,KAAa;QACzD,IAAI,IAAI,KAAK,UAAU,EAAE;YACrB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACxC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,IAAsB;QACrD,QAAQ,IAAI,EAAE;YACV,KAAK,yCAAgB,CAAC,QAAQ;gBAC1B,OAAO,OAAO,CAAC;YACnB,KAAK,yCAAgB,CAAC,IAAI;gBACtB,OAAO,MAAM,CAAC;YAClB,QAAQ;YACR,KAAK,yCAAgB,CAAC,MAAM;gBACxB,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;CACJ;AA5BD,mCA4BC","sourcesContent":["import { DistanceUnitType } from '@/models/Client/Hotel/DistanceUnitType.types';\n\nexport default class DistanceProvider {\n /**\n * App assumes that all inputs written are Metric, as that is the best form of measurement 🦆\n *\n * Will convert KM to Miles.\n *\n * @param value amount in KILOMETERS\n * @param to\n */\n public static convertTo(type: DistanceUnitType, value: number) {\n if (type === 'imperial') {\n return (value * 0.621371).toFixed(1);\n }\n\n return value;\n }\n\n public static getMeasurementString(type: DistanceUnitType) {\n switch (type) {\n case DistanceUnitType.Imperial:\n return 'miles';\n case DistanceUnitType.Time:\n return 'mins';\n default:\n case DistanceUnitType.Metric:\n return 'km';\n }\n }\n}\n"]}
1
+ {"version":3,"file":"DistanceProvider.js","sourceRoot":"/","sources":["src/providers/DistanceProvider.ts"],"names":[],"mappings":";;AAAA,yFAAgF;AAEhF,MAAqB,gBAAgB;IACjC;;;;;;;OAOG;IACI,MAAM,CAAC,SAAS,CAAC,IAAsB,EAAE,KAAa;QACzD,IAAI,IAAI,KAAK,UAAU,EAAE;YACrB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACxC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,IAAsB;QACrD,QAAQ,IAAI,EAAE;YACV,KAAK,yCAAgB,CAAC,QAAQ;gBAC1B,OAAO,OAAO,CAAC;YACnB,KAAK,yCAAgB,CAAC,IAAI;gBACtB,OAAO,SAAS,CAAC;YACrB,QAAQ;YACR,KAAK,yCAAgB,CAAC,MAAM;gBACxB,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;CACJ;AA5BD,mCA4BC","sourcesContent":["import { DistanceUnitType } from '@/models/Client/Hotel/DistanceUnitType.types';\n\nexport default class DistanceProvider {\n /**\n * App assumes that all inputs written are Metric, as that is the best form of measurement 🦆\n *\n * Will convert KM to Miles.\n *\n * @param value amount in KILOMETERS\n * @param to\n */\n public static convertTo(type: DistanceUnitType, value: number) {\n if (type === 'imperial') {\n return (value * 0.621371).toFixed(1);\n }\n\n return value;\n }\n\n public static getMeasurementString(type: DistanceUnitType) {\n switch (type) {\n case DistanceUnitType.Imperial:\n return 'miles';\n case DistanceUnitType.Time:\n return 'minutes';\n default:\n case DistanceUnitType.Metric:\n return 'km';\n }\n }\n}\n"]}