@agent-native/core-corpus 0.209.2 → 0.209.3-nightly-20261016183441
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/corpus/README.md +1 -1
- package/corpus/templates/analytics/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/analytics/actions/update-dashboard.ts +9 -0
- package/corpus/templates/analytics/app/components/auth/SqlQuerySnapshotSessionBridge.tsx +25 -0
- package/corpus/templates/analytics/app/components/dashboard/PanelFreshnessClock.tsx +140 -0
- package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +104 -48
- package/corpus/templates/analytics/app/components/dashboard/panel-freshness.ts +171 -0
- package/corpus/templates/analytics/app/global.css +59 -0
- package/corpus/templates/analytics/app/i18n/en-US.ts +8 -0
- package/corpus/templates/analytics/app/lib/cost-tracker.ts +122 -16
- package/corpus/templates/analytics/app/lib/query-metrics.ts +50 -13
- package/corpus/templates/analytics/app/lib/sql-query-cache.ts +697 -0
- package/corpus/templates/analytics/app/lib/sql-query-freshness.ts +85 -0
- package/corpus/templates/analytics/app/lib/sql-query-snapshot-session.ts +145 -0
- package/corpus/templates/analytics/app/lib/sql-query.ts +366 -36
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +73 -18
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/filter-vars.ts +45 -12
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/types.ts +5 -0
- package/corpus/templates/analytics/app/root.tsx +2 -0
- package/corpus/templates/analytics/changelog/2026-10-14-dashboard-charts-now-reappear-instantly-after-a-reload-from-.md +6 -0
- package/corpus/templates/analytics/changelog/2026-10-14-dashboard-panels-show-fetch-time-in-a-clock-and-label-only-st.md +6 -0
- package/corpus/templates/analytics/changelog/2026-10-15-dashboard-query-costs-and-refresh-confirmations-reflect-actu.md +6 -0
- package/corpus/templates/analytics/changelog/2026-10-15-dashboard-results-disappear-when-access-is-withdrawn-and-exp.md +6 -0
- package/corpus/templates/analytics/changelog/2026-10-16-dashboard-freshness-stays-in-the-title-row-with-compact-upda.md +6 -0
- package/corpus/templates/analytics/changelog/2026-10-16-dashboard-update-status-remains-visible-for-sources-without-.md +6 -0
- package/corpus/templates/analytics/server/lib/bigquery.ts +35 -4
- package/corpus/templates/analytics/server/lib/dashboard-panel-query.ts +2 -3
- package/corpus/templates/analytics/server/lib/first-party-analytics-backend.ts +9 -6
- package/corpus/templates/analytics/server/lib/first-party-analytics-cache.ts +2 -2
- package/corpus/templates/analytics/server/lib/first-party-analytics.ts +4 -2
- package/corpus/templates/analytics/shared/sql-query-contract.ts +49 -0
- package/corpus/templates/assets/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/brain/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/calendar/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/chat/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/clips/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/content/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/crm/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/design/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/design/.generated/bridge/editor-chrome.generated.ts +24 -0
- package/corpus/templates/design/app/components/design/types.ts +1 -0
- package/corpus/templates/design/app/lib/design-import.ts +35 -0
- package/corpus/templates/design/app/pages/design-editor/clone-and-pen-edit.ts +11 -0
- package/corpus/templates/design/app/pages/design-editor/command-types.ts +2 -0
- package/corpus/templates/design/app/pages/design-editor/commands/copy-selection.ts +3 -0
- package/corpus/templates/design/app/pages/design-editor/commands/get-selected-layer-snapshots.ts +19 -0
- package/corpus/templates/design/app/pages/design-editor/commands/paste-selection.ts +118 -20
- package/corpus/templates/design/app/pages/design-editor/domains/use-editor-layer-actions.ts +15 -3
- package/corpus/templates/design/app/pages/design-editor/relative-position-offset.ts +109 -0
- package/corpus/templates/design/changelog/2026-10-15-dragged-layers-use-the-final-release-position.md +6 -0
- package/corpus/templates/design/changelog/2026-10-15-repeated-pastes-preserve-relative-layer-offsets.md +6 -0
- package/corpus/templates/design/changelog/2026-10-15-text-wrapping-hug-widths.md +6 -0
- package/corpus/templates/design/shared/code-layer.ts +2 -1
- package/corpus/templates/design/shared/relative-position-containing-block.ts +40 -0
- package/corpus/templates/dispatch/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/forms/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/mail/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/plan/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/slides/.deploy-tmp/agent-native-provided-plugins.mjs +10 -0
- package/corpus/templates/slides/app/components/editor/NewDeckReferenceStep.tsx +137 -118
- package/corpus/templates/slides/changelog/2026-10-16-search-and-preview-reference-decks-before-choosing-one.md +6 -0
- package/package.json +1 -1
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { callAction } from "@agent-native/core/client/hooks";
|
|
2
|
+
import { useFormatters, useT } from "@agent-native/core/client/i18n";
|
|
3
|
+
import {
|
|
4
|
+
ComposerContextPickerDialog,
|
|
5
|
+
ComposerRuntimeAdaptersProvider,
|
|
6
|
+
type ComposerContextPickerConfig,
|
|
7
|
+
} from "@agent-native/toolkit/composer";
|
|
2
8
|
import {
|
|
3
9
|
IconArrowLeft,
|
|
4
10
|
IconBrandFigma,
|
|
@@ -11,25 +17,13 @@ import {
|
|
|
11
17
|
IconWorld,
|
|
12
18
|
} from "@tabler/icons-react";
|
|
13
19
|
import { useEffect, useRef, useState } from "react";
|
|
14
|
-
import type { ChangeEvent, ReactNode } from "react";
|
|
20
|
+
import type { ChangeEvent, CSSProperties, ReactNode } from "react";
|
|
15
21
|
|
|
22
|
+
import SlideRenderer from "@/components/deck/SlideRenderer";
|
|
16
23
|
import { DesignSystemSetup } from "@/components/design-system/DesignSystemSetup";
|
|
17
24
|
import { UploadStorageGate } from "@/components/editor/UploadStorageGate";
|
|
18
25
|
import { Button } from "@/components/ui/button";
|
|
19
|
-
import {
|
|
20
|
-
Command,
|
|
21
|
-
CommandEmpty,
|
|
22
|
-
CommandGroup,
|
|
23
|
-
CommandInput,
|
|
24
|
-
CommandItem,
|
|
25
|
-
CommandList,
|
|
26
|
-
} from "@/components/ui/command";
|
|
27
26
|
import { Input } from "@/components/ui/input";
|
|
28
|
-
import {
|
|
29
|
-
Popover,
|
|
30
|
-
PopoverContent,
|
|
31
|
-
PopoverTrigger,
|
|
32
|
-
} from "@/components/ui/popover";
|
|
33
27
|
import {
|
|
34
28
|
Select,
|
|
35
29
|
SelectContent,
|
|
@@ -37,10 +31,11 @@ import {
|
|
|
37
31
|
SelectTrigger,
|
|
38
32
|
SelectValue,
|
|
39
33
|
} from "@/components/ui/select";
|
|
40
|
-
import type { Deck } from "@/context/DeckContext";
|
|
34
|
+
import type { Deck, Slide } from "@/context/DeckContext";
|
|
41
35
|
import { useDesignSystemWorkflows } from "@/hooks/use-design-system-workflows";
|
|
42
36
|
import { useSlideFileStorageStatus } from "@/hooks/use-slide-file-storage-status";
|
|
43
|
-
import {
|
|
37
|
+
import type { AspectRatio } from "@/lib/aspect-ratios";
|
|
38
|
+
import { getDeckListingPreviewFrameStyle } from "@/lib/deck-preview-frame";
|
|
44
39
|
import { resolveSelectableDesignSystemId } from "@/lib/design-system-selection";
|
|
45
40
|
import type {
|
|
46
41
|
NewDeckReferenceSelection,
|
|
@@ -161,6 +156,7 @@ export function NewDeckReferenceStep({
|
|
|
161
156
|
promptSummary,
|
|
162
157
|
}: NewDeckReferenceStepProps) {
|
|
163
158
|
const t = useT();
|
|
159
|
+
const formatters = useFormatters();
|
|
164
160
|
const storageQuery = useSlideFileStorageStatus(open);
|
|
165
161
|
const fileStorageConfigured =
|
|
166
162
|
storageQuery.data?.configured === true && !storageQuery.isError;
|
|
@@ -172,6 +168,8 @@ export function NewDeckReferenceStep({
|
|
|
172
168
|
const [selectedReferenceDeckId, setSelectedReferenceDeckId] = useState<
|
|
173
169
|
string | null
|
|
174
170
|
>(null);
|
|
171
|
+
const [selectedReferenceDeckTitle, setSelectedReferenceDeckTitle] =
|
|
172
|
+
useState<string>();
|
|
175
173
|
const [referenceDeckTouched, setReferenceDeckTouched] = useState(false);
|
|
176
174
|
const [importedReference, setImportedReference] =
|
|
177
175
|
useState<ImportedReference | null>(null);
|
|
@@ -186,12 +184,8 @@ export function NewDeckReferenceStep({
|
|
|
186
184
|
const busy = importing || continuing;
|
|
187
185
|
|
|
188
186
|
const designSystemAutoRef = useRef(true);
|
|
187
|
+
const referenceDeckTriggerRef = useRef<HTMLButtonElement>(null);
|
|
189
188
|
|
|
190
|
-
const deckById = new Map(decks.map((deck) => [deck.id, deck]));
|
|
191
|
-
const sortedDecks = sortDecksByRecency(decks);
|
|
192
|
-
const selectedReferenceDeck = selectedReferenceDeckId
|
|
193
|
-
? deckById.get(selectedReferenceDeckId)
|
|
194
|
-
: undefined;
|
|
195
189
|
const selectedSourceValid = Boolean(
|
|
196
190
|
selectedSource &&
|
|
197
191
|
isValidReferenceSourceValue(selectedSource.kind, selectedSource.value),
|
|
@@ -215,6 +209,7 @@ export function NewDeckReferenceStep({
|
|
|
215
209
|
resolveSelectableDesignSystemId(designSystems, defaultDesignSystemId),
|
|
216
210
|
);
|
|
217
211
|
setSelectedReferenceDeckId(null);
|
|
212
|
+
setSelectedReferenceDeckTitle(undefined);
|
|
218
213
|
setReferenceDeckTouched(false);
|
|
219
214
|
setImportedReference(null);
|
|
220
215
|
setSelectedSource(null);
|
|
@@ -256,6 +251,7 @@ export function NewDeckReferenceStep({
|
|
|
256
251
|
designSystemAutoRef.current = false;
|
|
257
252
|
setSelectedDesignSystemId(null);
|
|
258
253
|
setSelectedReferenceDeckId(imported.id);
|
|
254
|
+
setSelectedReferenceDeckTitle(imported.title);
|
|
259
255
|
setReferenceDeckTouched(true);
|
|
260
256
|
setSelectedSource(null);
|
|
261
257
|
setImportedReference(imported);
|
|
@@ -315,6 +311,7 @@ export function NewDeckReferenceStep({
|
|
|
315
311
|
setSelectedReferenceDeckId((current) =>
|
|
316
312
|
current === importedReference.id ? null : current,
|
|
317
313
|
);
|
|
314
|
+
setSelectedReferenceDeckTitle(undefined);
|
|
318
315
|
setImportedReference(null);
|
|
319
316
|
setReferenceDeckTouched(false);
|
|
320
317
|
}
|
|
@@ -326,6 +323,7 @@ export function NewDeckReferenceStep({
|
|
|
326
323
|
setSelectedDesignSystemId(null);
|
|
327
324
|
} else {
|
|
328
325
|
setSelectedReferenceDeckId(null);
|
|
326
|
+
setSelectedReferenceDeckTitle(undefined);
|
|
329
327
|
setImportedReference(null);
|
|
330
328
|
}
|
|
331
329
|
};
|
|
@@ -335,11 +333,96 @@ export function NewDeckReferenceStep({
|
|
|
335
333
|
: selectedSource?.kind === "website"
|
|
336
334
|
? "Website"
|
|
337
335
|
: "Figma";
|
|
338
|
-
const
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
336
|
+
const referenceDeckPicker = {
|
|
337
|
+
presentation: { type: "dialog", mode: "single", layout: "gallery" },
|
|
338
|
+
searchPlaceholder: searchDecksLabel,
|
|
339
|
+
emptyMessage: t("home.noMatchingDecks"),
|
|
340
|
+
selectedIds: selectedReferenceDeckId ? [selectedReferenceDeckId] : [],
|
|
341
|
+
clearSelection: {
|
|
342
|
+
label: t("home.none"),
|
|
343
|
+
onSelect: () => {
|
|
344
|
+
setSelectedReferenceDeckId(null);
|
|
345
|
+
setSelectedReferenceDeckTitle(undefined);
|
|
346
|
+
setReferenceDeckTouched(true);
|
|
347
|
+
setImportedReference(null);
|
|
348
|
+
setSelectedSource(null);
|
|
349
|
+
},
|
|
350
|
+
},
|
|
351
|
+
load: async ({ search, cursor, signal }) => {
|
|
352
|
+
const result = await callAction<{
|
|
353
|
+
decks: Array<{
|
|
354
|
+
id: string;
|
|
355
|
+
title: string;
|
|
356
|
+
previewSlide?: Slide;
|
|
357
|
+
previewTooLarge?: boolean;
|
|
358
|
+
aspectRatio?: AspectRatio;
|
|
359
|
+
updatedAt: string | null;
|
|
360
|
+
}>;
|
|
361
|
+
nextCursor?: string;
|
|
362
|
+
}>(
|
|
363
|
+
"list-decks",
|
|
364
|
+
{ includePreview: "true", limit: 12, search, cursor },
|
|
365
|
+
{ method: "GET", signal },
|
|
366
|
+
);
|
|
367
|
+
return {
|
|
368
|
+
hasMore: Boolean(result.nextCursor),
|
|
369
|
+
nextCursor: result.nextCursor,
|
|
370
|
+
items: result.decks.map((deck) => {
|
|
371
|
+
const updatedAt = deck.updatedAt ? new Date(deck.updatedAt) : null;
|
|
372
|
+
const validUpdatedAt =
|
|
373
|
+
updatedAt && Number.isFinite(updatedAt.getTime())
|
|
374
|
+
? updatedAt.toISOString()
|
|
375
|
+
: null;
|
|
376
|
+
return {
|
|
377
|
+
id: deck.id,
|
|
378
|
+
title: deck.title,
|
|
379
|
+
preview: deck.previewSlide ? (
|
|
380
|
+
<div className="flex h-full items-center justify-center overflow-hidden">
|
|
381
|
+
<div
|
|
382
|
+
className="slide-reference-preview-frame relative h-full overflow-hidden"
|
|
383
|
+
style={
|
|
384
|
+
{
|
|
385
|
+
"--reference-ratio": getDeckListingPreviewFrameStyle(
|
|
386
|
+
deck.aspectRatio,
|
|
387
|
+
).aspectRatio,
|
|
388
|
+
"--reference-width": getDeckListingPreviewFrameStyle(
|
|
389
|
+
deck.aspectRatio,
|
|
390
|
+
).width,
|
|
391
|
+
} as CSSProperties
|
|
392
|
+
}
|
|
393
|
+
>
|
|
394
|
+
<SlideRenderer
|
|
395
|
+
slide={deck.previewSlide}
|
|
396
|
+
thumbnail
|
|
397
|
+
aspectRatio={deck.aspectRatio}
|
|
398
|
+
/>
|
|
399
|
+
</div>
|
|
400
|
+
</div>
|
|
401
|
+
) : deck.previewTooLarge ? (
|
|
402
|
+
<div
|
|
403
|
+
aria-hidden
|
|
404
|
+
className="slide-reference-preview-fallback flex h-full items-center justify-center bg-muted text-muted-foreground"
|
|
405
|
+
>
|
|
406
|
+
<IconPresentation className="size-8" />
|
|
407
|
+
</div>
|
|
408
|
+
) : null,
|
|
409
|
+
metadata: validUpdatedAt ? (
|
|
410
|
+
<time dateTime={validUpdatedAt}>
|
|
411
|
+
{formatters.formatDate(validUpdatedAt, { dateStyle: "medium" })}
|
|
412
|
+
</time>
|
|
413
|
+
) : null,
|
|
414
|
+
};
|
|
415
|
+
}),
|
|
416
|
+
};
|
|
417
|
+
},
|
|
418
|
+
onSelect: (item) => {
|
|
419
|
+
setSelectedReferenceDeckId(item.id);
|
|
420
|
+
setSelectedReferenceDeckTitle(item.title);
|
|
421
|
+
setReferenceDeckTouched(true);
|
|
422
|
+
setImportedReference(null);
|
|
423
|
+
setSelectedSource(null);
|
|
424
|
+
},
|
|
425
|
+
} satisfies ComposerContextPickerConfig;
|
|
343
426
|
return open ? (
|
|
344
427
|
<div
|
|
345
428
|
className="fixed inset-0 z-[200] flex min-h-screen flex-col bg-background text-foreground"
|
|
@@ -416,98 +499,22 @@ export function NewDeckReferenceStep({
|
|
|
416
499
|
<span className="text-xs font-medium text-muted-foreground">
|
|
417
500
|
{referenceDeckLabel}
|
|
418
501
|
</span>
|
|
419
|
-
<
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
}
|
|
502
|
+
<button
|
|
503
|
+
ref={referenceDeckTriggerRef}
|
|
504
|
+
type="button"
|
|
505
|
+
aria-haspopup="dialog"
|
|
506
|
+
aria-expanded={referenceDeckSearchOpen}
|
|
507
|
+
aria-label={referenceDeckLabel}
|
|
508
|
+
disabled={!referenceOptionsLoaded || busy}
|
|
509
|
+
onClick={() => setReferenceDeckSearchOpen(true)}
|
|
510
|
+
className="flex h-10 w-full items-center justify-between gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
|
|
424
511
|
>
|
|
425
|
-
<
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
disabled={decks.length === 0 || busy}
|
|
432
|
-
className="flex h-10 w-full items-center justify-between gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
|
|
433
|
-
>
|
|
434
|
-
<span className="truncate">
|
|
435
|
-
{selectedReferenceDeckTitle ??
|
|
436
|
-
(referenceDeckTouched
|
|
437
|
-
? t("home.none")
|
|
438
|
-
: chooseDeckLabel)}
|
|
439
|
-
</span>
|
|
440
|
-
<IconChevronDown className="size-4 shrink-0 opacity-50" />
|
|
441
|
-
</button>
|
|
442
|
-
</PopoverTrigger>
|
|
443
|
-
<PopoverContent
|
|
444
|
-
align="start"
|
|
445
|
-
className="w-[--radix-popover-trigger-width] p-0"
|
|
446
|
-
>
|
|
447
|
-
<Command
|
|
448
|
-
filter={(value, search) =>
|
|
449
|
-
value.toLowerCase().includes(search.toLowerCase().trim())
|
|
450
|
-
? 1
|
|
451
|
-
: 0
|
|
452
|
-
}
|
|
453
|
-
>
|
|
454
|
-
<CommandInput
|
|
455
|
-
placeholder={searchDecksLabel}
|
|
456
|
-
disabled={busy}
|
|
457
|
-
/>
|
|
458
|
-
<CommandList className="max-h-72">
|
|
459
|
-
<CommandEmpty>{t("home.noMatchingDecks")}</CommandEmpty>
|
|
460
|
-
<CommandGroup>
|
|
461
|
-
<CommandItem
|
|
462
|
-
value={`none ${t("home.none")}`}
|
|
463
|
-
disabled={busy}
|
|
464
|
-
onSelect={() => {
|
|
465
|
-
setSelectedReferenceDeckId(null);
|
|
466
|
-
setReferenceDeckTouched(true);
|
|
467
|
-
setImportedReference(null);
|
|
468
|
-
setSelectedSource(null);
|
|
469
|
-
setReferenceDeckSearchOpen(false);
|
|
470
|
-
}}
|
|
471
|
-
>
|
|
472
|
-
<IconCheck
|
|
473
|
-
className={cn(
|
|
474
|
-
"me-2 size-4",
|
|
475
|
-
selectedReferenceDeckId === null
|
|
476
|
-
? "opacity-100"
|
|
477
|
-
: "opacity-0",
|
|
478
|
-
)}
|
|
479
|
-
/>
|
|
480
|
-
<span className="truncate">{t("home.none")}</span>
|
|
481
|
-
</CommandItem>
|
|
482
|
-
{sortedDecks.map((deck) => (
|
|
483
|
-
<CommandItem
|
|
484
|
-
key={deck.id}
|
|
485
|
-
value={`${deck.title} ${deck.id}`}
|
|
486
|
-
disabled={busy}
|
|
487
|
-
onSelect={() => {
|
|
488
|
-
setSelectedReferenceDeckId(deck.id);
|
|
489
|
-
setReferenceDeckTouched(true);
|
|
490
|
-
setImportedReference(null);
|
|
491
|
-
setSelectedSource(null);
|
|
492
|
-
setReferenceDeckSearchOpen(false);
|
|
493
|
-
}}
|
|
494
|
-
>
|
|
495
|
-
<IconCheck
|
|
496
|
-
className={cn(
|
|
497
|
-
"me-2 size-4",
|
|
498
|
-
selectedReferenceDeckId === deck.id
|
|
499
|
-
? "opacity-100"
|
|
500
|
-
: "opacity-0",
|
|
501
|
-
)}
|
|
502
|
-
/>
|
|
503
|
-
<span className="truncate">{deck.title}</span>
|
|
504
|
-
</CommandItem>
|
|
505
|
-
))}
|
|
506
|
-
</CommandGroup>
|
|
507
|
-
</CommandList>
|
|
508
|
-
</Command>
|
|
509
|
-
</PopoverContent>
|
|
510
|
-
</Popover>
|
|
512
|
+
<span className="truncate">
|
|
513
|
+
{selectedReferenceDeckTitle ??
|
|
514
|
+
(referenceDeckTouched ? t("home.none") : chooseDeckLabel)}
|
|
515
|
+
</span>
|
|
516
|
+
<IconChevronDown className="size-4 shrink-0 opacity-50" />
|
|
517
|
+
</button>
|
|
511
518
|
</div>
|
|
512
519
|
|
|
513
520
|
<div className="border-t border-border pt-5">
|
|
@@ -679,6 +686,18 @@ export function NewDeckReferenceStep({
|
|
|
679
686
|
onDesignSystemsChanged();
|
|
680
687
|
}}
|
|
681
688
|
/>
|
|
689
|
+
{referenceDeckSearchOpen && !busy && (
|
|
690
|
+
<ComposerRuntimeAdaptersProvider
|
|
691
|
+
adapters={{ translate: (key, options) => t(key, options) }}
|
|
692
|
+
>
|
|
693
|
+
<ComposerContextPickerDialog
|
|
694
|
+
config={referenceDeckPicker}
|
|
695
|
+
title={referenceDeckLabel}
|
|
696
|
+
onClose={() => setReferenceDeckSearchOpen(false)}
|
|
697
|
+
onRestoreFocus={() => referenceDeckTriggerRef.current?.focus()}
|
|
698
|
+
/>
|
|
699
|
+
</ComposerRuntimeAdaptersProvider>
|
|
700
|
+
)}
|
|
682
701
|
</div>
|
|
683
702
|
) : null;
|
|
684
703
|
}
|
package/package.json
CHANGED