@admin-layout/ai-chat-ext-browser 12.2.5-alpha.2 → 12.2.5-alpha.21

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 (86) hide show
  1. package/lib/components/MessageWidgets/MessageFlights.d.ts +27 -4
  2. package/lib/components/MessageWidgets/MessageFlights.d.ts.map +1 -1
  3. package/lib/components/MessageWidgets/MessageFlights.js +200 -65
  4. package/lib/components/MessageWidgets/MessageFlights.js.map +1 -1
  5. package/lib/components/MessageWidgets/MessageMedia.d.ts.map +1 -1
  6. package/lib/components/MessageWidgets/MessageMedia.js +4 -4
  7. package/lib/components/MessageWidgets/MessageMedia.js.map +1 -1
  8. package/lib/components/MessageWidgets/MessageResults.d.ts +54 -0
  9. package/lib/components/MessageWidgets/MessageResults.d.ts.map +1 -0
  10. package/lib/components/MessageWidgets/MessageResults.js +163 -0
  11. package/lib/components/MessageWidgets/MessageResults.js.map +1 -0
  12. package/lib/components/MessageWidgets/MessageTravel.d.ts +2 -0
  13. package/lib/components/MessageWidgets/MessageTravel.d.ts.map +1 -1
  14. package/lib/components/MessageWidgets/MessageTravel.js +15 -3
  15. package/lib/components/MessageWidgets/MessageTravel.js.map +1 -1
  16. package/lib/components/MessageWidgets/ResultCards.d.ts +19 -0
  17. package/lib/components/MessageWidgets/ResultCards.d.ts.map +1 -0
  18. package/lib/components/MessageWidgets/ResultCards.js +543 -0
  19. package/lib/components/MessageWidgets/ResultCards.js.map +1 -0
  20. package/lib/components/MessageWidgets/ResultRow.d.ts +57 -0
  21. package/lib/components/MessageWidgets/ResultRow.d.ts.map +1 -0
  22. package/lib/components/MessageWidgets/ResultRow.js +216 -0
  23. package/lib/components/MessageWidgets/ResultRow.js.map +1 -0
  24. package/lib/components/MessageWidgets/index.d.ts +6 -2
  25. package/lib/components/MessageWidgets/index.d.ts.map +1 -1
  26. package/lib/components/MessageWidgets/mediaUtils.d.ts.map +1 -1
  27. package/lib/components/MessageWidgets/mediaUtils.js +3 -10
  28. package/lib/components/MessageWidgets/mediaUtils.js.map +1 -1
  29. package/lib/components/index.d.ts +1 -1
  30. package/lib/components/index.d.ts.map +1 -1
  31. package/lib/index.d.ts +6 -2
  32. package/lib/index.d.ts.map +1 -1
  33. package/lib/index.js +1 -1
  34. package/lib/module.d.ts.map +1 -1
  35. package/lib/module.js +13 -1
  36. package/lib/module.js.map +1 -1
  37. package/lib/slot-fill/chat-settings-fill.js +1 -1
  38. package/lib/slot-fill/chat-settings-fill.js.map +1 -1
  39. package/lib/slot-fill/index.d.ts +4 -0
  40. package/lib/slot-fill/index.d.ts.map +1 -1
  41. package/lib/slot-fill/message-ai-assistant-fill.js +1 -1
  42. package/lib/slot-fill/message-ai-assistant-fill.js.map +1 -1
  43. package/lib/slot-fill/message-codeblock-fill.js +1 -1
  44. package/lib/slot-fill/message-codeblock-fill.js.map +1 -1
  45. package/lib/slot-fill/message-connector-fill.js +1 -1
  46. package/lib/slot-fill/message-connector-fill.js.map +1 -1
  47. package/lib/slot-fill/message-generic-fill.js +1 -1
  48. package/lib/slot-fill/message-generic-fill.js.map +1 -1
  49. package/lib/slot-fill/message-jobs-fill.d.ts +4 -0
  50. package/lib/slot-fill/message-jobs-fill.d.ts.map +1 -0
  51. package/lib/slot-fill/message-jobs-fill.js +6 -0
  52. package/lib/slot-fill/message-jobs-fill.js.map +1 -0
  53. package/lib/slot-fill/message-media-fill.js +1 -1
  54. package/lib/slot-fill/message-media-fill.js.map +1 -1
  55. package/lib/slot-fill/message-movies-fill.d.ts +4 -0
  56. package/lib/slot-fill/message-movies-fill.d.ts.map +1 -0
  57. package/lib/slot-fill/message-movies-fill.js +6 -0
  58. package/lib/slot-fill/message-movies-fill.js.map +1 -0
  59. package/lib/slot-fill/message-resume-fill.d.ts +4 -0
  60. package/lib/slot-fill/message-resume-fill.d.ts.map +1 -0
  61. package/lib/slot-fill/message-resume-fill.js +6 -0
  62. package/lib/slot-fill/message-resume-fill.js.map +1 -0
  63. package/lib/slot-fill/message-service-fill.js +1 -1
  64. package/lib/slot-fill/message-service-fill.js.map +1 -1
  65. package/lib/slot-fill/message-shopping-fill.d.ts +4 -0
  66. package/lib/slot-fill/message-shopping-fill.d.ts.map +1 -0
  67. package/lib/slot-fill/message-shopping-fill.js +6 -0
  68. package/lib/slot-fill/message-shopping-fill.js.map +1 -0
  69. package/lib/slot-fill/message-thinking-fill.js +1 -1
  70. package/lib/slot-fill/message-thinking-fill.js.map +1 -1
  71. package/lib/slot-fill/message-tooluse-fill.js +1 -1
  72. package/lib/slot-fill/message-tooluse-fill.js.map +1 -1
  73. package/lib/slot-fill/message-travel-fill.js +1 -1
  74. package/lib/slot-fill/message-travel-fill.js.map +1 -1
  75. package/lib/slot-fill/message-workflow-fill.js +1 -1
  76. package/lib/slot-fill/message-workflow-fill.js.map +1 -1
  77. package/lib/utils/mediaAttachment.d.ts +46 -0
  78. package/lib/utils/mediaAttachment.d.ts.map +1 -0
  79. package/lib/utils/mediaAttachment.js +135 -0
  80. package/lib/utils/mediaAttachment.js.map +1 -0
  81. package/lib/utils/parseWidgetPost.d.ts.map +1 -1
  82. package/lib/utils/parseWidgetPost.js +20 -10
  83. package/lib/utils/parseWidgetPost.js.map +1 -1
  84. package/package.json +3 -3
  85. package/lib/utils/parseWidgetPost.spec.d.ts +0 -2
  86. package/lib/utils/parseWidgetPost.spec.d.ts.map +0 -1
@@ -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;AAK/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;CACzC;AAuBD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,mBAAmB,sBA4HvD,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; everything else is a stay.
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":"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"}
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"}