@flamingo-stack/openframe-frontend-core 0.0.438 → 0.0.439
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-LR6A67KZ.js → chunk-2ELBNZJ3.js} +2 -2
- package/dist/{chunk-6R5SZPAQ.cjs → chunk-3WJQL4DN.cjs} +15 -15
- package/dist/{chunk-6R5SZPAQ.cjs.map → chunk-3WJQL4DN.cjs.map} +1 -1
- package/dist/{chunk-KBFQF4AV.js → chunk-7WM77CSW.js} +2 -2
- package/dist/{chunk-B5SGPIJ4.cjs → chunk-AUJXLVXA.cjs} +37 -37
- package/dist/{chunk-B5SGPIJ4.cjs.map → chunk-AUJXLVXA.cjs.map} +1 -1
- package/dist/{chunk-X66KRL5G.cjs → chunk-C3FH53AP.cjs} +11 -11
- package/dist/{chunk-X66KRL5G.cjs.map → chunk-C3FH53AP.cjs.map} +1 -1
- package/dist/{chunk-W2PRXXUD.js → chunk-COMBYYQY.js} +2 -2
- package/dist/{chunk-RTHOCS3S.js → chunk-EGRZHR7J.js} +2 -2
- package/dist/{chunk-D5RTZ2WN.js → chunk-F7YVI54P.js} +4 -4
- package/dist/{chunk-5D5SJOLE.js → chunk-G5FALXNO.js} +4 -4
- package/dist/{chunk-2DCP2TIF.cjs → chunk-HTVVXVJL.cjs} +1966 -1490
- package/dist/chunk-HTVVXVJL.cjs.map +1 -0
- package/dist/{chunk-WF7VGEYR.cjs → chunk-IAN7GUIV.cjs} +26 -26
- package/dist/{chunk-WF7VGEYR.cjs.map → chunk-IAN7GUIV.cjs.map} +1 -1
- package/dist/{chunk-SYTL2VIU.cjs → chunk-M3LD6DNE.cjs} +7 -7
- package/dist/{chunk-SYTL2VIU.cjs.map → chunk-M3LD6DNE.cjs.map} +1 -1
- package/dist/{chunk-YKP2F2NC.cjs → chunk-M6QGB6DC.cjs} +26 -26
- package/dist/{chunk-YKP2F2NC.cjs.map → chunk-M6QGB6DC.cjs.map} +1 -1
- package/dist/{chunk-6ETVJ5ON.js → chunk-NQQ4NLUT.js} +6577 -6101
- package/dist/chunk-NQQ4NLUT.js.map +1 -0
- package/dist/{chunk-A25RPWYF.js → chunk-P7PISHM5.js} +2 -2
- package/dist/{chunk-44HNH57W.js → chunk-PBTY7AH5.js} +4 -4
- package/dist/{chunk-ZEY7A3MP.js → chunk-PEIR7D25.js} +2 -2
- package/dist/{chunk-DTYPYYKD.cjs → chunk-R46QEE3R.cjs} +59 -59
- package/dist/{chunk-DTYPYYKD.cjs.map → chunk-R46QEE3R.cjs.map} +1 -1
- package/dist/{chunk-H2TQ44VD.cjs → chunk-RQQZF6G6.cjs} +31 -31
- package/dist/{chunk-H2TQ44VD.cjs.map → chunk-RQQZF6G6.cjs.map} +1 -1
- package/dist/{chunk-CMP56RUC.cjs → chunk-VWGF6IFR.cjs} +62 -62
- package/dist/{chunk-CMP56RUC.cjs.map → chunk-VWGF6IFR.cjs.map} +1 -1
- package/dist/{chunk-POFDZH2C.js → chunk-WAGTZVQN.js} +4 -4
- package/dist/{chunk-XFSDFO6U.js → chunk-WPVBTVI3.js} +2 -2
- package/dist/{chunk-VYG2CJFJ.cjs → chunk-WZ6TCAYQ.cjs} +9 -9
- package/dist/{chunk-VYG2CJFJ.cjs.map → chunk-WZ6TCAYQ.cjs.map} +1 -1
- package/dist/{chunk-PCMDRDYX.cjs → chunk-ZMUFTGL7.cjs} +5 -5
- package/dist/{chunk-PCMDRDYX.cjs.map → chunk-ZMUFTGL7.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +8 -8
- package/dist/components/case-studies/index.js +2 -2
- package/dist/components/chat/chat-archive-page.d.ts +28 -8
- package/dist/components/chat/chat-archive-page.d.ts.map +1 -1
- package/dist/components/chat/chat-header-icon-button.d.ts +6 -2
- package/dist/components/chat/chat-header-icon-button.d.ts.map +1 -1
- package/dist/components/chat/chat-header-search-field.d.ts +25 -0
- package/dist/components/chat/chat-header-search-field.d.ts.map +1 -0
- package/dist/components/chat/chat-list-empty-state.d.ts +20 -0
- package/dist/components/chat/chat-list-empty-state.d.ts.map +1 -0
- package/dist/components/chat/chat-panel-header.d.ts +19 -9
- package/dist/components/chat/chat-panel-header.d.ts.map +1 -1
- package/dist/components/chat/embeddable-chat.d.ts +15 -6
- package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
- package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts +2 -0
- package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +4 -2
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.d.ts +2 -0
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/index.js +5 -3
- package/dist/components/chat/mingo-chat-history.d.ts +5 -10
- package/dist/components/chat/mingo-chat-history.d.ts.map +1 -1
- package/dist/components/chat/mingo-history-rail.d.ts +54 -0
- package/dist/components/chat/mingo-history-rail.d.ts.map +1 -0
- package/dist/components/chat/mingo-welcome.d.ts +6 -25
- package/dist/components/chat/mingo-welcome.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/docs/index.cjs +5 -5
- package/dist/components/docs/index.js +4 -4
- package/dist/components/embeds/index.cjs +3 -3
- package/dist/components/embeds/index.js +2 -2
- package/dist/components/faq/index.cjs +3 -3
- package/dist/components/faq/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/help-center-pages/index.cjs +20 -20
- package/dist/components/help-center-pages/index.js +11 -11
- package/dist/components/index.cjs +130 -128
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +13 -11
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/onboarding-guides/index.cjs +5 -5
- package/dist/components/onboarding-guides/index.js +4 -4
- package/dist/components/related-content/index.cjs +3 -3
- package/dist/components/related-content/index.js +2 -2
- package/dist/components/tickets/index.cjs +5 -5
- package/dist/components/tickets/index.js +4 -4
- package/dist/components/ui/index.cjs +4 -2
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +5 -3
- package/dist/index.cjs +4 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +5 -3
- package/package.json +1 -1
- package/src/components/chat/chat-archive-page.tsx +89 -73
- package/src/components/chat/chat-header-icon-button.tsx +12 -5
- package/src/components/chat/chat-header-search-field.tsx +144 -0
- package/src/components/chat/chat-list-empty-state.tsx +44 -0
- package/src/components/chat/chat-panel-header.tsx +76 -29
- package/src/components/chat/embeddable-chat.tsx +548 -125
- package/src/components/chat/guide-welcome.tsx +4 -4
- package/src/components/chat/hooks/use-chat-dialog-manager.ts +59 -5
- package/src/components/chat/index.ts +2 -0
- package/src/components/chat/mingo-chat-history.tsx +46 -100
- package/src/components/chat/mingo-history-rail.tsx +161 -0
- package/src/components/chat/mingo-welcome.tsx +17 -98
- package/src/stories/MingoWelcome.stories.tsx +2 -11
- package/dist/chunk-2DCP2TIF.cjs.map +0 -1
- package/dist/chunk-6ETVJ5ON.js.map +0 -1
- /package/dist/{chunk-LR6A67KZ.js.map → chunk-2ELBNZJ3.js.map} +0 -0
- /package/dist/{chunk-KBFQF4AV.js.map → chunk-7WM77CSW.js.map} +0 -0
- /package/dist/{chunk-W2PRXXUD.js.map → chunk-COMBYYQY.js.map} +0 -0
- /package/dist/{chunk-RTHOCS3S.js.map → chunk-EGRZHR7J.js.map} +0 -0
- /package/dist/{chunk-D5RTZ2WN.js.map → chunk-F7YVI54P.js.map} +0 -0
- /package/dist/{chunk-5D5SJOLE.js.map → chunk-G5FALXNO.js.map} +0 -0
- /package/dist/{chunk-A25RPWYF.js.map → chunk-P7PISHM5.js.map} +0 -0
- /package/dist/{chunk-44HNH57W.js.map → chunk-PBTY7AH5.js.map} +0 -0
- /package/dist/{chunk-ZEY7A3MP.js.map → chunk-PEIR7D25.js.map} +0 -0
- /package/dist/{chunk-POFDZH2C.js.map → chunk-WAGTZVQN.js.map} +0 -0
- /package/dist/{chunk-XFSDFO6U.js.map → chunk-WPVBTVI3.js.map} +0 -0
|
@@ -10,10 +10,6 @@ import { Button } from '../ui/button'
|
|
|
10
10
|
import { ScrollFadeOverlay, useScrollFade } from '../ui/scroll-fade'
|
|
11
11
|
import { XmarkIcon } from '../icons-v2-generated/signs-and-symbols/xmark-icon'
|
|
12
12
|
import {
|
|
13
|
-
Rocket01Icon,
|
|
14
|
-
BracketCurlyIcon,
|
|
15
|
-
SearchIcon,
|
|
16
|
-
LayersIcon,
|
|
17
13
|
CompassIcon,
|
|
18
14
|
Arrow01DownIcon,
|
|
19
15
|
AlertCircleIcon,
|
|
@@ -24,17 +20,6 @@ import {
|
|
|
24
20
|
// Types
|
|
25
21
|
// =============================================================================
|
|
26
22
|
|
|
27
|
-
/** A single capability cell in the 2-up feature grid. */
|
|
28
|
-
export interface MingoFeatureCard {
|
|
29
|
-
/** Stable React key. */
|
|
30
|
-
id: string
|
|
31
|
-
/** Leading 16×16 icon (monochrome `ods-text-secondary`). */
|
|
32
|
-
icon?: React.ReactNode
|
|
33
|
-
/** Caption text. Line breaks (`\n`) are honoured (`whitespace-pre-line`)
|
|
34
|
-
* so the two-line wrap stays fixed regardless of panel width. */
|
|
35
|
-
text: React.ReactNode
|
|
36
|
-
}
|
|
37
|
-
|
|
38
23
|
/** "New to OpenFrame?" one-time notification config. `null` hides the card. */
|
|
39
24
|
export interface MingoWelcomePromo {
|
|
40
25
|
title: React.ReactNode
|
|
@@ -57,14 +42,10 @@ export interface MingoQuickAction {
|
|
|
57
42
|
}
|
|
58
43
|
|
|
59
44
|
export interface MingoWelcomeProps {
|
|
60
|
-
/**
|
|
61
|
-
userName?: string
|
|
62
|
-
/** Greeting heading. Defaults to `Hey{, name}, I'm Mingo`. */
|
|
45
|
+
/** Greeting heading. Defaults to `Hey, I'm Mingo`. */
|
|
63
46
|
title?: React.ReactNode
|
|
64
47
|
/** Greeting sub-line under the heading. */
|
|
65
48
|
subtitle?: React.ReactNode
|
|
66
|
-
/** 2-up capability grid. Defaults to the four OpenFrame highlights. */
|
|
67
|
-
featureCards?: ReadonlyArray<MingoFeatureCard>
|
|
68
49
|
/** One-time "New to OpenFrame?" notification below the grid. `null` hides
|
|
69
50
|
* it; omitting falls back to the OpenFrame default (only rendered when
|
|
70
51
|
* `onStartGuideChat` is wired, i.e. Guide mode exists to advertise). */
|
|
@@ -102,10 +83,6 @@ export interface MingoWelcomeProps {
|
|
|
102
83
|
loadError?: boolean
|
|
103
84
|
/** Retry handler for the `loadError` state. */
|
|
104
85
|
onRetry?: () => void
|
|
105
|
-
/** Whether the dialog history has a search bar — when true, the loading
|
|
106
|
-
* skeleton includes a search-bar placeholder so it matches the loaded
|
|
107
|
-
* layout. Ignored once `dialogHistory` is provided. */
|
|
108
|
-
historySearchable?: boolean
|
|
109
86
|
/** When provided, renders the "Start Guide Chat" chip (the only wired
|
|
110
87
|
* action — switches the host chat to Guide mode) and enables the default
|
|
111
88
|
* promo notification. When omitted, both are suppressed. */
|
|
@@ -121,29 +98,6 @@ export interface MingoWelcomeProps {
|
|
|
121
98
|
const DEFAULT_SUBTITLE =
|
|
122
99
|
'Ready to help with your technical tasks. What can I do for you?'
|
|
123
100
|
|
|
124
|
-
const DEFAULT_FEATURE_CARDS: ReadonlyArray<MingoFeatureCard> = [
|
|
125
|
-
{
|
|
126
|
-
id: 'answers',
|
|
127
|
-
icon: <Rocket01Icon size={16} />,
|
|
128
|
-
text: 'Get instant answers about\ndevices, tickets, and clients',
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
id: 'scripts',
|
|
132
|
-
icon: <BracketCurlyIcon size={16} />,
|
|
133
|
-
text: 'Run scripts and queries\nthrough natural language',
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
id: 'summarize',
|
|
137
|
-
icon: <SearchIcon size={16} />,
|
|
138
|
-
text: 'Summarize long ticket\nthreads or activity history',
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
id: 'delegate',
|
|
142
|
-
icon: <LayersIcon size={16} />,
|
|
143
|
-
text: 'Delegate tasks, let Mingo\nwork in the background',
|
|
144
|
-
},
|
|
145
|
-
]
|
|
146
|
-
|
|
147
101
|
const DEFAULT_PROMO: MingoWelcomePromo = {
|
|
148
102
|
title: 'New to OpenFrame?',
|
|
149
103
|
description: 'Start a Guide Chat to learn how it works and how to set it up.',
|
|
@@ -156,13 +110,12 @@ const DEFAULT_PROMO_STORAGE_KEY = 'mingo-welcome:promo-dismissed'
|
|
|
156
110
|
// =============================================================================
|
|
157
111
|
|
|
158
112
|
/**
|
|
159
|
-
* MingoWelcome — Figma node `
|
|
113
|
+
* MingoWelcome — Figma node `113:69208`.
|
|
160
114
|
*
|
|
161
115
|
* Default (Mingo-mode) chat empty state: a vertically-centred greeting that
|
|
162
|
-
* grows to fill available height, then a pinned stack of
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
* onboarding list.
|
|
116
|
+
* grows to fill available height, then a pinned stack of an optional one-time
|
|
117
|
+
* "New to OpenFrame?" notification and a quick-action chip row. The Guide-mode
|
|
118
|
+
* empty state keeps the slash-command onboarding list.
|
|
166
119
|
*
|
|
167
120
|
* Content is configurable (props) with OpenFrame defaults so the kit stays
|
|
168
121
|
* platform-agnostic. The "Start Guide Chat" chip is the only wired action —
|
|
@@ -171,10 +124,8 @@ const DEFAULT_PROMO_STORAGE_KEY = 'mingo-welcome:promo-dismissed'
|
|
|
171
124
|
* storage so it shows only until the user closes it once.
|
|
172
125
|
*/
|
|
173
126
|
export function MingoWelcome({
|
|
174
|
-
userName,
|
|
175
127
|
title,
|
|
176
128
|
subtitle = DEFAULT_SUBTITLE,
|
|
177
|
-
featureCards = DEFAULT_FEATURE_CARDS,
|
|
178
129
|
promo,
|
|
179
130
|
promoStorageKey = DEFAULT_PROMO_STORAGE_KEY,
|
|
180
131
|
promoStorage = 'local',
|
|
@@ -186,12 +137,12 @@ export function MingoWelcome({
|
|
|
186
137
|
isLoadingHistory = false,
|
|
187
138
|
loadError = false,
|
|
188
139
|
onRetry,
|
|
189
|
-
historySearchable = false,
|
|
190
140
|
onStartGuideChat,
|
|
191
141
|
className,
|
|
192
142
|
}: MingoWelcomeProps) {
|
|
193
|
-
|
|
194
|
-
|
|
143
|
+
// Greeting never weaves the user's name in — always the plain "Hey, I'm
|
|
144
|
+
// Mingo" (design node 113:69208). A host `title` override still wins.
|
|
145
|
+
const heading = title ?? "Hey, I'm Mingo"
|
|
195
146
|
|
|
196
147
|
// `promo` omitted → fall back to the OpenFrame default, but only when guide
|
|
197
148
|
// mode exists to advertise (otherwise the notification points nowhere).
|
|
@@ -236,10 +187,6 @@ export function MingoWelcome({
|
|
|
236
187
|
// only while content is hidden in that direction).
|
|
237
188
|
const { scrollRef, fadeTop, fadeBottom, update: updateScrollFade } = useScrollFade<HTMLDivElement>()
|
|
238
189
|
|
|
239
|
-
const cellCount = featureCards.length
|
|
240
|
-
// Last row's first index — used to drop the bottom divider on the final row.
|
|
241
|
-
const lastRowStart = cellCount - ((cellCount % 2) || 2)
|
|
242
|
-
|
|
243
190
|
// While we don't yet know whether the user is new or returning (first page
|
|
244
191
|
// loading, or it errored with nothing cached), suppress the pinned region —
|
|
245
192
|
// the "New to OpenFrame?" promo + quick-action chips. Showing them over the
|
|
@@ -284,7 +231,7 @@ export function MingoWelcome({
|
|
|
284
231
|
)}
|
|
285
232
|
</div>
|
|
286
233
|
) : isLoadingHistory ? (
|
|
287
|
-
<MingoChatHistorySkeleton
|
|
234
|
+
<MingoChatHistorySkeleton />
|
|
288
235
|
) : (
|
|
289
236
|
<>
|
|
290
237
|
{/* Scrollable region — only the greeting + grid scroll; the notification
|
|
@@ -309,46 +256,18 @@ export function MingoWelcome({
|
|
|
309
256
|
eyesColor="var(--ods-flamingo-cyan-base)"
|
|
310
257
|
cornerColor="var(--ods-flamingo-cyan-base)"
|
|
311
258
|
/>
|
|
312
|
-
<div className="flex w-full flex-col gap-
|
|
313
|
-
<p className="text-
|
|
314
|
-
<p className="text-
|
|
259
|
+
<div className="flex w-full flex-col gap-[var(--spacing-system-l)]">
|
|
260
|
+
<p className="text-h2 text-ods-text-primary">{heading}</p>
|
|
261
|
+
<p className="text-h4 text-ods-text-secondary">{subtitle}</p>
|
|
315
262
|
</div>
|
|
316
263
|
</div>
|
|
317
|
-
|
|
318
|
-
{/* 2-up capability grid. `shrink-0` keeps every cell at its natural
|
|
319
|
-
height so the bottom row is never clipped (the root scrolls instead).
|
|
320
|
-
Cells share the lighter `ods-card` surface; 1px `ods-border` dividers
|
|
321
|
-
(right on the left column, bottom on every row but the last) draw the
|
|
322
|
-
inner cross. Captions use explicit `\n` breaks (`whitespace-pre-line`)
|
|
323
|
-
so the two-line wrap is fixed and never reflows with panel width. */}
|
|
324
|
-
{cellCount > 0 && (
|
|
325
|
-
<div className="grid shrink-0 grid-cols-2 overflow-hidden rounded-md border border-ods-border bg-ods-card">
|
|
326
|
-
{featureCards.map((card, i) => (
|
|
327
|
-
<div
|
|
328
|
-
key={card.id}
|
|
329
|
-
className={cn(
|
|
330
|
-
'flex flex-col items-center justify-center gap-[var(--spacing-system-m)] p-[var(--spacing-system-m)] text-center',
|
|
331
|
-
i % 2 === 0 && 'border-r border-ods-border',
|
|
332
|
-
i < lastRowStart && 'border-b border-ods-border',
|
|
333
|
-
)}
|
|
334
|
-
>
|
|
335
|
-
{card.icon ? (
|
|
336
|
-
<span className="flex size-4 shrink-0 items-center justify-center text-ods-text-primary">
|
|
337
|
-
{card.icon}
|
|
338
|
-
</span>
|
|
339
|
-
) : null}
|
|
340
|
-
<p className="text-h4 text-ods-text-secondary whitespace-pre-line">
|
|
341
|
-
{card.text}
|
|
342
|
-
</p>
|
|
343
|
-
</div>
|
|
344
|
-
))}
|
|
345
|
-
</div>
|
|
346
|
-
)}
|
|
347
264
|
</div>
|
|
348
265
|
|
|
349
|
-
{/* Edge scroll-fades — visible only when content is hidden beyond them.
|
|
350
|
-
|
|
351
|
-
|
|
266
|
+
{/* Edge scroll-fades — visible only when content is hidden beyond them.
|
|
267
|
+
Fade into the panel's dark `ods-bg` surface (the default color), matching
|
|
268
|
+
the black Mingo welcome background (node 113:69208). */}
|
|
269
|
+
<ScrollFadeOverlay edge="top" visible={fadeTop} className="h-12" />
|
|
270
|
+
<ScrollFadeOverlay edge="bottom" visible={fadeBottom} className="h-12" />
|
|
352
271
|
</div>
|
|
353
272
|
</>
|
|
354
273
|
))}
|
|
@@ -26,14 +26,13 @@ const meta: Meta<typeof MingoWelcome> = {
|
|
|
26
26
|
docs: {
|
|
27
27
|
description: {
|
|
28
28
|
component:
|
|
29
|
-
'Figma node `
|
|
29
|
+
'Figma node `113:69208`. Default (Mingo-mode) chat empty state — a vertically-centred greeting, an optional "New to OpenFrame?" Guide-chat promo, and a quick-action chip row. Content is configurable with OpenFrame defaults; the only wired action is "Start Guide Chat" (`onStartGuideChat`).',
|
|
30
30
|
},
|
|
31
31
|
},
|
|
32
32
|
},
|
|
33
33
|
argTypes: {
|
|
34
34
|
title: { control: false },
|
|
35
35
|
subtitle: { control: false },
|
|
36
|
-
featureCards: { control: false },
|
|
37
36
|
promo: { control: false },
|
|
38
37
|
quickActions: { control: false },
|
|
39
38
|
onStartGuideChat: { control: false },
|
|
@@ -61,14 +60,6 @@ export const Default: Story = {
|
|
|
61
60
|
},
|
|
62
61
|
}
|
|
63
62
|
|
|
64
|
-
/** Greeting personalised with a first name. */
|
|
65
|
-
export const WithUserName: Story = {
|
|
66
|
-
args: {
|
|
67
|
-
userName: 'Grace',
|
|
68
|
-
onStartGuideChat: () => console.log('switch to guide mode'),
|
|
69
|
-
},
|
|
70
|
-
}
|
|
71
|
-
|
|
72
63
|
/** Guide mode not configured → the promo card and "Start Guide Chat" chip are
|
|
73
64
|
* suppressed (no dead-end CTA). */
|
|
74
65
|
export const WithoutGuide: Story = {
|
|
@@ -100,7 +91,7 @@ export const ReturningUser: Story = {
|
|
|
100
91
|
},
|
|
101
92
|
}
|
|
102
93
|
|
|
103
|
-
/** Wide panel (e.g. in-layout / desktop)
|
|
94
|
+
/** Wide panel (e.g. in-layout / desktop). */
|
|
104
95
|
export const Wide: Story = {
|
|
105
96
|
args: {
|
|
106
97
|
onStartGuideChat: () => console.log('switch to guide mode'),
|