@admin-layout/ai-chat-ext-browser 12.2.5-alpha.6 → 12.2.5-alpha.7
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/lib/components/MessageWidgets/MessageFlights.d.ts +10 -1
- package/lib/components/MessageWidgets/MessageFlights.d.ts.map +1 -1
- package/lib/components/MessageWidgets/MessageFlights.js +2 -2
- package/lib/components/MessageWidgets/MessageFlights.js.map +1 -1
- package/lib/components/MessageWidgets/MessageResults.d.ts +54 -0
- package/lib/components/MessageWidgets/MessageResults.d.ts.map +1 -0
- package/lib/components/MessageWidgets/MessageResults.js +163 -0
- package/lib/components/MessageWidgets/MessageResults.js.map +1 -0
- package/lib/components/MessageWidgets/MessageTravel.d.ts +2 -0
- package/lib/components/MessageWidgets/MessageTravel.d.ts.map +1 -1
- package/lib/components/MessageWidgets/MessageTravel.js +15 -3
- package/lib/components/MessageWidgets/MessageTravel.js.map +1 -1
- package/lib/components/MessageWidgets/ResultCards.d.ts +19 -0
- package/lib/components/MessageWidgets/ResultCards.d.ts.map +1 -0
- package/lib/components/MessageWidgets/ResultCards.js +543 -0
- package/lib/components/MessageWidgets/ResultCards.js.map +1 -0
- package/lib/components/MessageWidgets/ResultRow.d.ts +57 -0
- package/lib/components/MessageWidgets/ResultRow.d.ts.map +1 -0
- package/lib/components/MessageWidgets/ResultRow.js +216 -0
- package/lib/components/MessageWidgets/ResultRow.js.map +1 -0
- package/lib/components/MessageWidgets/index.d.ts +4 -0
- package/lib/components/MessageWidgets/index.d.ts.map +1 -1
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/module.d.ts.map +1 -1
- package/lib/module.js +13 -1
- package/lib/module.js.map +1 -1
- package/lib/slot-fill/chat-settings-fill.js +1 -1
- package/lib/slot-fill/chat-settings-fill.js.map +1 -1
- package/lib/slot-fill/index.d.ts +4 -0
- package/lib/slot-fill/index.d.ts.map +1 -1
- package/lib/slot-fill/message-ai-assistant-fill.js +1 -1
- package/lib/slot-fill/message-ai-assistant-fill.js.map +1 -1
- package/lib/slot-fill/message-codeblock-fill.js +1 -1
- package/lib/slot-fill/message-codeblock-fill.js.map +1 -1
- package/lib/slot-fill/message-connector-fill.js +1 -1
- package/lib/slot-fill/message-connector-fill.js.map +1 -1
- package/lib/slot-fill/message-generic-fill.js +1 -1
- package/lib/slot-fill/message-generic-fill.js.map +1 -1
- package/lib/slot-fill/message-jobs-fill.d.ts +4 -0
- package/lib/slot-fill/message-jobs-fill.d.ts.map +1 -0
- package/lib/slot-fill/message-jobs-fill.js +6 -0
- package/lib/slot-fill/message-jobs-fill.js.map +1 -0
- package/lib/slot-fill/message-media-fill.js +1 -1
- package/lib/slot-fill/message-media-fill.js.map +1 -1
- package/lib/slot-fill/message-movies-fill.d.ts +4 -0
- package/lib/slot-fill/message-movies-fill.d.ts.map +1 -0
- package/lib/slot-fill/message-movies-fill.js +6 -0
- package/lib/slot-fill/message-movies-fill.js.map +1 -0
- package/lib/slot-fill/message-resume-fill.d.ts +4 -0
- package/lib/slot-fill/message-resume-fill.d.ts.map +1 -0
- package/lib/slot-fill/message-resume-fill.js +6 -0
- package/lib/slot-fill/message-resume-fill.js.map +1 -0
- package/lib/slot-fill/message-service-fill.js +1 -1
- package/lib/slot-fill/message-service-fill.js.map +1 -1
- package/lib/slot-fill/message-shopping-fill.d.ts +4 -0
- package/lib/slot-fill/message-shopping-fill.d.ts.map +1 -0
- package/lib/slot-fill/message-shopping-fill.js +6 -0
- package/lib/slot-fill/message-shopping-fill.js.map +1 -0
- package/lib/slot-fill/message-thinking-fill.js +1 -1
- package/lib/slot-fill/message-thinking-fill.js.map +1 -1
- package/lib/slot-fill/message-tooluse-fill.js +1 -1
- package/lib/slot-fill/message-tooluse-fill.js.map +1 -1
- package/lib/slot-fill/message-travel-fill.js +1 -1
- package/lib/slot-fill/message-travel-fill.js.map +1 -1
- package/lib/slot-fill/message-workflow-fill.js +1 -1
- package/lib/slot-fill/message-workflow-fill.js.map +1 -1
- package/lib/utils/parseWidgetPost.d.ts.map +1 -1
- package/lib/utils/parseWidgetPost.js +1 -1
- package/lib/utils/parseWidgetPost.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { IPost } from 'common';
|
|
3
3
|
import { TravelAttachmentsInterface } from '../../interfaces';
|
|
4
|
-
import { FlightCardView, FlightSort } from '@admin-layout/client';
|
|
4
|
+
import { FlightCardView, FlightSliceView, FlightSort } from '@admin-layout/client';
|
|
5
5
|
export interface IMessageFlightsProps {
|
|
6
6
|
message: IPost;
|
|
7
7
|
attachment: TravelAttachmentsInterface;
|
|
8
8
|
/** Opens the full result set in the travel side panel. */
|
|
9
9
|
onMessageClick?: (ref: IPost) => void;
|
|
10
10
|
}
|
|
11
|
+
/** Soft monogram tile colours, indexed by `airlineTone`; shared by every result card. */
|
|
12
|
+
export declare const TONES: string[];
|
|
13
|
+
/**
|
|
14
|
+
* The route between the two times: duration above, a line with one amber dot
|
|
15
|
+
* per stop and the plane at the arrival end, stops below.
|
|
16
|
+
*/
|
|
17
|
+
export declare const RouteLine: ({ slice }: {
|
|
18
|
+
slice: FlightSliceView;
|
|
19
|
+
}) => React.JSX.Element;
|
|
11
20
|
export interface IFlightCardProps {
|
|
12
21
|
card: FlightCardView;
|
|
13
22
|
onOpen?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageFlights.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/MessageFlights.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAKjF,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAEH,cAAc,
|
|
1
|
+
{"version":3,"file":"MessageFlights.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/MessageFlights.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAKjF,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAEH,cAAc,EACd,eAAe,EACf,UAAU,EAIb,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,KAAK,CAAC;IACf,UAAU,EAAE,0BAA0B,CAAC;IACvC,0DAA0D;IAC1D,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CACzC;AAED,yFAAyF;AACzF,eAAO,MAAM,KAAK,UASjB,CAAC;AA4BF;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,WAAW;IAAE,KAAK,EAAE,eAAe,CAAA;CAAE,sBAiC9D,CAAC;AAwCF,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,UAAU,GAAI,qDAMxB,gBAAgB,sBAoGlB,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,0BAA0B,CAAC;IACvC,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iEAAiE;IACjE,IAAI,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,sFAAsF;AACtF,eAAO,MAAM,cAAc,GAAI,8BAA8C,oBAAoB,sBAchG,CAAC;AAIF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,yCAAyC,oBAAoB,sBA8J3F,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React,{useMemo,useRef,useState,useCallback,useEffect}from'react';import {FaPlane}from'@react-icons/all-files/fa/FaPlane.js';import {FiChevronLeft}from'@react-icons/all-files/fi/FiChevronLeft.js';import {FiChevronRight}from'@react-icons/all-files/fi/FiChevronRight.js';import {FiExternalLink}from'@react-icons/all-files/fi/FiExternalLink.js';import {toFlightCards,flightResultSummary,sortFlightCards}from'@admin-layout/client';/** Soft tile colours
|
|
1
|
+
import React,{useMemo,useRef,useState,useCallback,useEffect}from'react';import {FaPlane}from'@react-icons/all-files/fa/FaPlane.js';import {FiChevronLeft}from'@react-icons/all-files/fi/FiChevronLeft.js';import {FiChevronRight}from'@react-icons/all-files/fi/FiChevronRight.js';import {FiExternalLink}from'@react-icons/all-files/fi/FiExternalLink.js';import {toFlightCards,flightResultSummary,sortFlightCards}from'@admin-layout/client';/** Soft monogram tile colours, indexed by `airlineTone`; shared by every result card. */
|
|
2
2
|
const TONES = ['bg-sky-100 text-sky-700 dark:bg-sky-500/20 dark:text-sky-300', 'bg-violet-100 text-violet-700 dark:bg-violet-500/20 dark:text-violet-300', 'bg-emerald-100 text-emerald-700 dark:bg-emerald-500/20 dark:text-emerald-300', 'bg-amber-100 text-amber-700 dark:bg-amber-500/20 dark:text-amber-300', 'bg-rose-100 text-rose-700 dark:bg-rose-500/20 dark:text-rose-300', 'bg-indigo-100 text-indigo-700 dark:bg-indigo-500/20 dark:text-indigo-300', 'bg-teal-100 text-teal-700 dark:bg-teal-500/20 dark:text-teal-300', 'bg-orange-100 text-orange-700 dark:bg-orange-500/20 dark:text-orange-300'];
|
|
3
3
|
const BADGE = {
|
|
4
4
|
cheapest: {
|
|
@@ -318,4 +318,4 @@ const MessageFlights = ({
|
|
|
318
318
|
}, React.createElement(FiChevronRight, {
|
|
319
319
|
className: "h-5 w-5"
|
|
320
320
|
}))));
|
|
321
|
-
};export{FlightCard,FlightCardList,MessageFlights};//# sourceMappingURL=MessageFlights.js.map
|
|
321
|
+
};export{FlightCard,FlightCardList,MessageFlights,RouteLine,TONES};//# sourceMappingURL=MessageFlights.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageFlights.js","sources":["../../../src/components/MessageWidgets/MessageFlights.tsx"],"sourcesContent":[null],"names":[],"mappings":"ibAwBA;
|
|
1
|
+
{"version":3,"file":"MessageFlights.js","sources":["../../../src/components/MessageWidgets/MessageFlights.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import React, { ComponentType, ReactNode } from 'react';
|
|
2
|
+
import { IPost } from 'common';
|
|
3
|
+
import { ResultCardBase, ResultSetLike, ResultSort, ResultSummary } from '@admin-layout/client';
|
|
4
|
+
import { IResultCardProps } from './ResultCards';
|
|
5
|
+
/**
|
|
6
|
+
* Every list-shaped result vertical, described once: how to turn the
|
|
7
|
+
* attachment into cards, how to summarise it, which card draws one, and
|
|
8
|
+
* which icon names it. The chat row and the side-panel list both read this.
|
|
9
|
+
*/
|
|
10
|
+
export type ResultVertical = 'stays' | 'cars' | 'ground' | 'shopping' | 'movies' | 'jobs';
|
|
11
|
+
interface VerticalSpec {
|
|
12
|
+
toCards: (a: ResultSetLike) => ResultCardBase[];
|
|
13
|
+
summary: (a: ResultSetLike, cards: ResultCardBase[]) => ResultSummary;
|
|
14
|
+
Card: ComponentType<IResultCardProps<any>>;
|
|
15
|
+
icon: (a: ResultSetLike, cards: ResultCardBase[]) => ReactNode;
|
|
16
|
+
sorts: ResultSort[];
|
|
17
|
+
}
|
|
18
|
+
export declare const VERTICALS: Record<ResultVertical, VerticalSpec>;
|
|
19
|
+
/** Which vertical a travel attachment that is not flights belongs to. */
|
|
20
|
+
export declare const travelVertical: (a?: ResultSetLike) => ResultVertical;
|
|
21
|
+
export declare const RESULT_SORT_LABELS: Record<ResultSort, string>;
|
|
22
|
+
export interface IMessageResultsProps {
|
|
23
|
+
message: IPost;
|
|
24
|
+
vertical: ResultVertical;
|
|
25
|
+
/** Defaults to the message's own attachment. */
|
|
26
|
+
attachment?: ResultSetLike;
|
|
27
|
+
/** Opens the full result set (the side rail or the vertical's page). */
|
|
28
|
+
onMessageClick?: (ref: IPost) => void;
|
|
29
|
+
}
|
|
30
|
+
/** The chat row for one result vertical. */
|
|
31
|
+
export declare const MessageResults: ({ message, vertical, attachment, onMessageClick }: IMessageResultsProps) => React.JSX.Element;
|
|
32
|
+
export interface IResultCardListProps {
|
|
33
|
+
vertical: ResultVertical;
|
|
34
|
+
attachment: ResultSetLike;
|
|
35
|
+
sort?: ResultSort;
|
|
36
|
+
onOpen?: () => void;
|
|
37
|
+
}
|
|
38
|
+
/** Every result as a full-width vertical list, for a side panel or a results page. */
|
|
39
|
+
export declare const ResultCardList: ({ vertical, attachment, sort, onOpen }: IResultCardListProps) => React.JSX.Element;
|
|
40
|
+
/** The header strip for a side panel: the same summary the chat row shows. */
|
|
41
|
+
export declare const resultSummaryOf: (vertical: ResultVertical, attachment: ResultSetLike) => ResultSummary;
|
|
42
|
+
export declare const resultIconOf: (vertical: ResultVertical, attachment: ResultSetLike) => ReactNode;
|
|
43
|
+
export interface IMessageVerticalProps {
|
|
44
|
+
message: IPost;
|
|
45
|
+
index?: number;
|
|
46
|
+
onMessageClick?: (ref: IPost) => void;
|
|
47
|
+
}
|
|
48
|
+
export declare const MessageShopping: (props: IMessageVerticalProps) => React.JSX.Element;
|
|
49
|
+
export declare const MessageMovies: (props: IMessageVerticalProps) => React.JSX.Element;
|
|
50
|
+
export declare const MessageJobs: (props: IMessageVerticalProps) => React.JSX.Element;
|
|
51
|
+
/** The resume document card: one artifact, opened in the studio or downloaded. */
|
|
52
|
+
export declare const MessageResume: ({ message, onMessageClick }: IMessageVerticalProps) => React.JSX.Element;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=MessageResults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageResults.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/MessageResults.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAQjE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EACH,cAAc,EACd,aAAa,EACb,UAAU,EACV,aAAa,EAgBhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGH,gBAAgB,EAMnB,MAAM,eAAe,CAAC;AAGvB;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1F,UAAU,YAAY;IAClB,OAAO,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,cAAc,EAAE,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,aAAa,CAAC;IACtE,IAAI,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,SAAS,CAAC;IAC/D,KAAK,EAAE,UAAU,EAAE,CAAC;CACvB;AAID,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,YAAY,CA2C1D,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,cAAc,GAAI,IAAI,aAAa,KAAG,cAGlD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAOzD,CAAC;AAKF,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,KAAK,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,gDAAgD;IAChD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,wEAAwE;IACxE,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CACzC;AAED,4CAA4C;AAC5C,eAAO,MAAM,cAAc,GAAI,mDAAmD,oBAAoB,sBAuBrG,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,sFAAsF;AACtF,eAAO,MAAM,cAAc,GAAI,wCAAwD,oBAAoB,sBAe1G,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,eAAe,GAAI,UAAU,cAAc,EAAE,YAAY,aAAa,KAAG,aAGrF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,UAAU,cAAc,EAAE,YAAY,aAAa,KAAG,SAGlF,CAAC;AAIF,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CACzC;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,qBAAqB,sBAAsD,CAAC;AACnH,eAAO,MAAM,aAAa,GAAI,OAAO,qBAAqB,sBAAoD,CAAC;AAC/G,eAAO,MAAM,WAAW,GAAI,OAAO,qBAAqB,sBAAkD,CAAC;AAE3G,kFAAkF;AAClF,eAAO,MAAM,aAAa,GAAI,6BAA6B,qBAAqB,sBAM/E,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import React,{useMemo}from'react';import {FaBed}from'@react-icons/all-files/fa/FaBed.js';import {FaBus}from'@react-icons/all-files/fa/FaBus.js';import {FaCar}from'@react-icons/all-files/fa/FaCar.js';import {FaTrain}from'@react-icons/all-files/fa/FaTrain.js';import {FiBriefcase}from'@react-icons/all-files/fi/FiBriefcase.js';import {FiFilm}from'@react-icons/all-files/fi/FiFilm.js';import {FiShoppingBag}from'@react-icons/all-files/fi/FiShoppingBag.js';import {toResumeCard,toMovieCards,toProductCards,toGroundCards,toCarCards,toStayCards,travelResultKind,jobSummary,toJobCards,movieSummary,productSummary,groundSummary,carSummary,staySummary,sortResultCards}from'@admin-layout/client';import {ResumeCard,JobCard,MovieCard,ProductCard,GroundCard,CarCard,StayCard}from'./ResultCards.js';import {ResultRow}from'./ResultRow.js';const ICON = 'h-4 w-4';
|
|
2
|
+
const VERTICALS = {
|
|
3
|
+
stays: {
|
|
4
|
+
toCards: toStayCards,
|
|
5
|
+
summary: (a, c) => staySummary(a, c),
|
|
6
|
+
Card: StayCard,
|
|
7
|
+
icon: () => React.createElement(FaBed, {
|
|
8
|
+
className: ICON
|
|
9
|
+
}),
|
|
10
|
+
sorts: ['recommended', 'cheapest', 'rating']
|
|
11
|
+
},
|
|
12
|
+
cars: {
|
|
13
|
+
toCards: toCarCards,
|
|
14
|
+
summary: (a, c) => carSummary(a, c),
|
|
15
|
+
Card: CarCard,
|
|
16
|
+
icon: () => React.createElement(FaCar, {
|
|
17
|
+
className: ICON
|
|
18
|
+
}),
|
|
19
|
+
sorts: ['recommended', 'cheapest', 'rating']
|
|
20
|
+
},
|
|
21
|
+
ground: {
|
|
22
|
+
toCards: toGroundCards,
|
|
23
|
+
summary: (a, c) => groundSummary(a, c),
|
|
24
|
+
Card: GroundCard,
|
|
25
|
+
icon: (_a, c) => c[0]?.mode === 'bus' ? React.createElement(FaBus, {
|
|
26
|
+
className: ICON
|
|
27
|
+
}) : React.createElement(FaTrain, {
|
|
28
|
+
className: ICON
|
|
29
|
+
}),
|
|
30
|
+
sorts: ['recommended', 'cheapest', 'fastest', 'departure']
|
|
31
|
+
},
|
|
32
|
+
shopping: {
|
|
33
|
+
toCards: toProductCards,
|
|
34
|
+
summary: (a, c) => productSummary(a, c),
|
|
35
|
+
Card: ProductCard,
|
|
36
|
+
icon: () => React.createElement(FiShoppingBag, {
|
|
37
|
+
className: ICON
|
|
38
|
+
}),
|
|
39
|
+
sorts: ['recommended', 'cheapest', 'rating']
|
|
40
|
+
},
|
|
41
|
+
movies: {
|
|
42
|
+
toCards: toMovieCards,
|
|
43
|
+
summary: (a, c) => movieSummary(a, c),
|
|
44
|
+
Card: MovieCard,
|
|
45
|
+
icon: () => React.createElement(FiFilm, {
|
|
46
|
+
className: ICON
|
|
47
|
+
}),
|
|
48
|
+
sorts: ['recommended', 'rating']
|
|
49
|
+
},
|
|
50
|
+
jobs: {
|
|
51
|
+
toCards: a => toJobCards(a),
|
|
52
|
+
summary: (a, c) => jobSummary(a, c),
|
|
53
|
+
Card: JobCard,
|
|
54
|
+
icon: () => React.createElement(FiBriefcase, {
|
|
55
|
+
className: ICON
|
|
56
|
+
}),
|
|
57
|
+
sorts: ['recommended', 'newest']
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
/** Which vertical a travel attachment that is not flights belongs to. */
|
|
61
|
+
const travelVertical = a => {
|
|
62
|
+
const kind = travelResultKind(a);
|
|
63
|
+
return kind === 'car' ? 'cars' : kind === 'train' || kind === 'bus' ? 'ground' : 'stays';
|
|
64
|
+
};
|
|
65
|
+
const RESULT_SORT_LABELS = {
|
|
66
|
+
recommended: 'Top picks',
|
|
67
|
+
cheapest: 'Cheapest',
|
|
68
|
+
fastest: 'Fastest',
|
|
69
|
+
rating: 'Top rated',
|
|
70
|
+
departure: 'Departure',
|
|
71
|
+
newest: 'Newest'
|
|
72
|
+
};
|
|
73
|
+
const attachmentOf = message => message?.propsConfiguration?.contents?.attachment;
|
|
74
|
+
/** The chat row for one result vertical. */
|
|
75
|
+
const MessageResults = ({
|
|
76
|
+
message,
|
|
77
|
+
vertical,
|
|
78
|
+
attachment,
|
|
79
|
+
onMessageClick
|
|
80
|
+
}) => {
|
|
81
|
+
const a = attachment ?? attachmentOf(message);
|
|
82
|
+
const spec = VERTICALS[vertical];
|
|
83
|
+
const cards = useMemo(() => a ? spec.toCards(a) : [], [a, spec]);
|
|
84
|
+
const summary = useMemo(() => a ? spec.summary(a, cards) : null, [a, spec, cards]);
|
|
85
|
+
if (!a || !summary || cards.length === 0) return null;
|
|
86
|
+
const open = onMessageClick ? () => onMessageClick(message) : undefined;
|
|
87
|
+
const {
|
|
88
|
+
Card
|
|
89
|
+
} = spec;
|
|
90
|
+
return React.createElement(ResultRow, {
|
|
91
|
+
icon: spec.icon(a, cards),
|
|
92
|
+
title: summary.title,
|
|
93
|
+
subtitle: summary.subtitle,
|
|
94
|
+
picks: cards.length > 2 ? summary.picks : [],
|
|
95
|
+
count: summary.count,
|
|
96
|
+
onViewAll: open,
|
|
97
|
+
ariaLabel: summary.title
|
|
98
|
+
}, highlighted => cards.map(c => React.createElement(Card, {
|
|
99
|
+
key: c.key,
|
|
100
|
+
card: c,
|
|
101
|
+
onOpen: open,
|
|
102
|
+
highlighted: highlighted === c.key
|
|
103
|
+
})));
|
|
104
|
+
};
|
|
105
|
+
/** Every result as a full-width vertical list, for a side panel or a results page. */
|
|
106
|
+
const ResultCardList = ({
|
|
107
|
+
vertical,
|
|
108
|
+
attachment,
|
|
109
|
+
sort = 'recommended',
|
|
110
|
+
onOpen
|
|
111
|
+
}) => {
|
|
112
|
+
const spec = VERTICALS[vertical];
|
|
113
|
+
const cards = useMemo(() => spec.toCards(attachment), [attachment, spec]);
|
|
114
|
+
const ordered = useMemo(() => sortResultCards(cards, sort), [cards, sort]);
|
|
115
|
+
if (cards.length === 0) return null;
|
|
116
|
+
const {
|
|
117
|
+
Card
|
|
118
|
+
} = spec;
|
|
119
|
+
return React.createElement("ul", {
|
|
120
|
+
className: "space-y-3",
|
|
121
|
+
"aria-label": attachment.title || 'Results'
|
|
122
|
+
}, ordered.map(c => React.createElement("li", {
|
|
123
|
+
key: c.key
|
|
124
|
+
}, React.createElement(Card, {
|
|
125
|
+
card: c,
|
|
126
|
+
onOpen: onOpen,
|
|
127
|
+
fullWidth: true
|
|
128
|
+
}))));
|
|
129
|
+
};
|
|
130
|
+
/** The header strip for a side panel: the same summary the chat row shows. */
|
|
131
|
+
const resultSummaryOf = (vertical, attachment) => {
|
|
132
|
+
const spec = VERTICALS[vertical];
|
|
133
|
+
return spec.summary(attachment, spec.toCards(attachment));
|
|
134
|
+
};
|
|
135
|
+
const resultIconOf = (vertical, attachment) => {
|
|
136
|
+
const spec = VERTICALS[vertical];
|
|
137
|
+
return spec.icon(attachment, spec.toCards(attachment));
|
|
138
|
+
};
|
|
139
|
+
const MessageShopping = props => React.createElement(MessageResults, {
|
|
140
|
+
...props,
|
|
141
|
+
vertical: "shopping"
|
|
142
|
+
});
|
|
143
|
+
const MessageMovies = props => React.createElement(MessageResults, {
|
|
144
|
+
...props,
|
|
145
|
+
vertical: "movies"
|
|
146
|
+
});
|
|
147
|
+
const MessageJobs = props => React.createElement(MessageResults, {
|
|
148
|
+
...props,
|
|
149
|
+
vertical: "jobs"
|
|
150
|
+
});
|
|
151
|
+
/** The resume document card: one artifact, opened in the studio or downloaded. */
|
|
152
|
+
const MessageResume = ({
|
|
153
|
+
message,
|
|
154
|
+
onMessageClick
|
|
155
|
+
}) => {
|
|
156
|
+
const a = message?.propsConfiguration?.contents?.attachment;
|
|
157
|
+
const card = useMemo(() => toResumeCard(a), [a]);
|
|
158
|
+
if (!card) return null;
|
|
159
|
+
return React.createElement(ResumeCard, {
|
|
160
|
+
card: card,
|
|
161
|
+
onOpen: onMessageClick ? () => onMessageClick(message) : undefined
|
|
162
|
+
});
|
|
163
|
+
};export{MessageJobs,MessageMovies,MessageResults,MessageResume,MessageShopping,RESULT_SORT_LABELS,ResultCardList,VERTICALS,resultIconOf,resultSummaryOf,travelVertical};//# sourceMappingURL=MessageResults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageResults.js","sources":["../../../src/components/MessageWidgets/MessageResults.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export interface IMessageTravelProps {
|
|
|
5
5
|
index: number;
|
|
6
6
|
/** Fired when the card is clicked — the consumer opens the travel side panel. */
|
|
7
7
|
onMessageClick?: (ref: IPost) => void;
|
|
8
|
+
/** Render stays as the older compact list instead of the card row. */
|
|
9
|
+
legacyStayList?: boolean;
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
10
12
|
* Travel listings card — summary + property rows from yantra-resortifi connector results.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageTravel.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/MessageTravel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageTravel.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/MessageTravel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAM/B,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IACtC,sEAAsE;IACtE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAuBD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,mBAAmB,sBAyIvD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from'react';import {FiMapPin}from'@react-icons/all-files/fi/FiMapPin.js';import {FiStar}from'@react-icons/all-files/fi/FiStar.js';import {FiChevronRight}from'@react-icons/all-files/fi/FiChevronRight.js';import {MessageFlights}from'./MessageFlights.js';import {isFlightAttachment}from'@admin-layout/client';const LIST_PREVIEW = 5;
|
|
1
|
+
import React from'react';import {FiMapPin}from'@react-icons/all-files/fi/FiMapPin.js';import {FiStar}from'@react-icons/all-files/fi/FiStar.js';import {FiChevronRight}from'@react-icons/all-files/fi/FiChevronRight.js';import {MessageFlights}from'./MessageFlights.js';import {MessageResults,travelVertical}from'./MessageResults.js';import {isFlightAttachment}from'@admin-layout/client';const LIST_PREVIEW = 5;
|
|
2
2
|
const formatPrice = p => p.priceLabel ?? (typeof p.price === 'number' ? `$${Math.round(p.price)}` : undefined);
|
|
3
3
|
const formatSource = source => {
|
|
4
4
|
if (!source) return undefined;
|
|
@@ -19,7 +19,8 @@ const priceRange = a => {
|
|
|
19
19
|
const MessageTravel = props => {
|
|
20
20
|
const {
|
|
21
21
|
message,
|
|
22
|
-
onMessageClick
|
|
22
|
+
onMessageClick,
|
|
23
|
+
legacyStayList = false
|
|
23
24
|
} = props;
|
|
24
25
|
const {
|
|
25
26
|
attachment
|
|
@@ -27,7 +28,8 @@ const MessageTravel = props => {
|
|
|
27
28
|
if (!attachment || !Array.isArray(attachment.properties) || attachment.properties.length === 0) {
|
|
28
29
|
return null;
|
|
29
30
|
}
|
|
30
|
-
// Flight offers render as their own card row;
|
|
31
|
+
// Flight offers render as their own card row; stays, cars, trains and
|
|
32
|
+
// buses each get theirs from the shared result row.
|
|
31
33
|
if (isFlightAttachment(attachment)) {
|
|
32
34
|
return React.createElement(MessageFlights, {
|
|
33
35
|
message: message,
|
|
@@ -35,6 +37,16 @@ const MessageTravel = props => {
|
|
|
35
37
|
onMessageClick: onMessageClick
|
|
36
38
|
});
|
|
37
39
|
}
|
|
40
|
+
if (!legacyStayList) {
|
|
41
|
+
// Travel rows carry more than the interface names (operator, departTime ...).
|
|
42
|
+
const rows = attachment;
|
|
43
|
+
return React.createElement(MessageResults, {
|
|
44
|
+
message: message,
|
|
45
|
+
vertical: travelVertical(rows),
|
|
46
|
+
attachment: rows,
|
|
47
|
+
onMessageClick: onMessageClick
|
|
48
|
+
});
|
|
49
|
+
}
|
|
38
50
|
const properties = attachment.properties;
|
|
39
51
|
const count = attachment.totalCount ?? properties.length;
|
|
40
52
|
const city = attachment.city || properties.find(p => p.city)?.city;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageTravel.js","sources":["../../../src/components/MessageWidgets/MessageTravel.tsx"],"sourcesContent":[null],"names":[],"mappings":"+
|
|
1
|
+
{"version":3,"file":"MessageTravel.js","sources":["../../../src/components/MessageWidgets/MessageTravel.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { CarCardView, GroundCardView, JobCardView, MovieCardView, ProductCardView, ResumeCardView, StayCardView } from '@admin-layout/client';
|
|
3
|
+
export interface IResultCardProps<T> {
|
|
4
|
+
card: T;
|
|
5
|
+
onOpen?: () => void;
|
|
6
|
+
fullWidth?: boolean;
|
|
7
|
+
highlighted?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const StayCard: ({ card, onOpen, fullWidth, highlighted }: IResultCardProps<StayCardView>) => React.JSX.Element;
|
|
10
|
+
export declare const CarCard: ({ card, onOpen, fullWidth, highlighted }: IResultCardProps<CarCardView>) => React.JSX.Element;
|
|
11
|
+
export declare const GroundCard: ({ card, onOpen, fullWidth, highlighted }: IResultCardProps<GroundCardView>) => React.JSX.Element;
|
|
12
|
+
export declare const ProductCard: ({ card, onOpen, fullWidth, highlighted }: IResultCardProps<ProductCardView>) => React.JSX.Element;
|
|
13
|
+
export declare const MovieCard: ({ card, onOpen, fullWidth, highlighted }: IResultCardProps<MovieCardView>) => React.JSX.Element;
|
|
14
|
+
export declare const JobCard: ({ card, onOpen, fullWidth, highlighted }: IResultCardProps<JobCardView>) => React.JSX.Element;
|
|
15
|
+
export declare const ResumeCard: ({ card, onOpen }: {
|
|
16
|
+
card: ResumeCardView;
|
|
17
|
+
onOpen?: () => void;
|
|
18
|
+
}) => React.JSX.Element;
|
|
19
|
+
//# sourceMappingURL=ResultCards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResultCards.d.ts","sourceRoot":"","sources":["../../../src/components/MessageWidgets/ResultCards.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,OAAO,KAAK,EACR,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,EACf,cAAc,EACd,YAAY,EACf,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,gBAAgB,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAiED,eAAO,MAAM,QAAQ,GAAI,0CAA0C,gBAAgB,CAAC,YAAY,CAAC,sBAuDhG,CAAC;AAIF,eAAO,MAAM,OAAO,GAAI,0CAA0C,gBAAgB,CAAC,WAAW,CAAC,sBAmE9F,CAAC;AAIF,eAAO,MAAM,UAAU,GAAI,0CAA0C,gBAAgB,CAAC,cAAc,CAAC,sBAgGpG,CAAC;AAIF,eAAO,MAAM,WAAW,GAAI,0CAA0C,gBAAgB,CAAC,eAAe,CAAC,sBAuDtG,CAAC;AAIF,eAAO,MAAM,SAAS,GAAI,0CAA0C,gBAAgB,CAAC,aAAa,CAAC,sBAyFlG,CAAC;AAkBF,eAAO,MAAM,OAAO,GAAI,0CAA0C,gBAAgB,CAAC,WAAW,CAAC,sBAyD9F,CAAC;AAMF,eAAO,MAAM,UAAU,GAAI,kBAAkB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,sBA4FzF,CAAC"}
|