@drawnagency/primitives 0.1.118 → 0.1.120
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-O37AV27P.js → chunk-5JYHTHVR.js} +28 -0
- package/dist/{chunk-W72BPGR3.js → chunk-BZKHHUIN.js} +44 -8
- package/dist/{chunk-4NSOKEA7.js → chunk-HFHM4MNK.js} +12 -7
- package/dist/{chunk-CEFFP3CH.js → chunk-HZTPF6OK.js} +304 -83
- package/dist/{chunk-RIITGTV3.js → chunk-LQHBC7C6.js} +37 -2
- package/dist/{chunk-VY3IFGE3.js → chunk-QAMAIDXZ.js} +1 -1
- package/dist/{chunk-HRX3XJBU.js → chunk-RIN2QCYJ.js} +9 -11
- package/dist/{chunk-ZOTRHHUB.js → chunk-UNFPATDE.js} +8 -10
- package/dist/{chunk-ERLIL4RU.js → chunk-UZBFVVTC.js} +35 -37
- package/dist/{chunk-67P34WNW.js → chunk-ZKVQMIMJ.js} +3 -20
- package/dist/collab/rebase.js +4 -5
- package/dist/components/chat/ChatComposer.d.ts +0 -4
- package/dist/components/chat/ChatComposer.d.ts.map +1 -1
- package/dist/components/chat/ChatPanel.d.ts +2 -3
- package/dist/components/chat/ChatPanel.d.ts.map +1 -1
- package/dist/components/chat/markdown.d.ts +2 -3
- package/dist/components/chat/markdown.d.ts.map +1 -1
- package/dist/components/editor/AudienceIndicator.d.ts +3 -1
- package/dist/components/editor/AudienceIndicator.d.ts.map +1 -1
- package/dist/components/editor/IndicatorPill.d.ts +3 -1
- package/dist/components/editor/IndicatorPill.d.ts.map +1 -1
- package/dist/components/editor/PagesModal.d.ts +0 -2
- package/dist/components/editor/PagesModal.d.ts.map +1 -1
- package/dist/components/editor/SectionBulkEditModal.d.ts +25 -0
- package/dist/components/editor/SectionBulkEditModal.d.ts.map +1 -0
- package/dist/components/editor/StatusIndicator.d.ts +3 -1
- package/dist/components/editor/StatusIndicator.d.ts.map +1 -1
- package/dist/components/editor/index.js +28 -26
- package/dist/components/primitives/index.js +11 -15
- package/dist/components/sections/brand-guide.js +10 -13
- package/dist/components/sections/register-schemas.js +16 -21
- package/dist/components/sections/register.js +16 -21
- package/dist/components/shared/Popover.d.ts +1 -1
- package/dist/components/shared/Popover.d.ts.map +1 -1
- package/dist/components/shared/SectionSummaryRow.d.ts +1 -1
- package/dist/components/shell/AudienceChips.d.ts +1 -3
- package/dist/components/shell/AudienceChips.d.ts.map +1 -1
- package/dist/components/shell/EditorModal.d.ts.map +1 -1
- package/dist/components/shell/EditorShell.d.ts +0 -34
- package/dist/components/shell/EditorShell.d.ts.map +1 -1
- package/dist/components/shell/SiteSettingsModal.d.ts.map +1 -1
- package/dist/hooks/useSortableNavRow.d.ts +1 -1
- package/dist/hooks/useSortableRow.d.ts +1 -1
- package/dist/index.js +83 -90
- package/dist/lib/index-ops.js +5 -6
- package/dist/lib/index.js +27 -32
- package/dist/lib/pages.d.ts +0 -2
- package/dist/lib/pages.d.ts.map +1 -1
- package/dist/lib/sidecars.js +2 -2
- package/dist/lib/site-validation.js +13 -14
- package/dist/lib/storage-tier.js +4 -4
- package/dist/schemas/index.js +42 -45
- package/dist/schemas/site-config.d.ts +1 -277
- package/dist/schemas/site-config.d.ts.map +1 -1
- package/package.json +2 -42
- package/src/components/chat/ChatComposer.tsx +0 -4
- package/src/components/chat/ChatPanel.tsx +2 -3
- package/src/components/chat/markdown.ts +2 -3
- package/src/components/editor/AudienceIndicator.tsx +8 -4
- package/src/components/editor/IndicatorPill.tsx +4 -0
- package/src/components/editor/PagesModal.tsx +1 -15
- package/src/components/editor/SectionBulkEditModal.tsx +328 -0
- package/src/components/editor/StatusIndicator.tsx +7 -6
- package/src/components/shared/Popover.tsx +17 -4
- package/src/components/shared/SectionSummaryRow.tsx +1 -1
- package/src/components/shell/AudienceChips.tsx +1 -3
- package/src/components/shell/EditorModal.tsx +5 -2
- package/src/components/shell/EditorShell.tsx +15 -119
- package/src/components/shell/SiteSettingsModal.tsx +0 -11
- package/src/lib/pages.ts +0 -22
- package/src/schemas/index.ts +0 -4
- package/src/schemas/site-config.ts +4 -32
- package/dist/chunk-4TZJZU2T.js +0 -92
- package/dist/chunk-DIMDRBFK.js +0 -11
- package/dist/chunk-FV7JQRCN.js +0 -94
- package/dist/chunk-IIDKW7AV.js +0 -41
- package/dist/chunk-JCDZAFX2.js +0 -224
- package/dist/chunk-MM7KZS5C.js +0 -30
- package/dist/chunk-QQ3S3P5P.js +0 -38
- package/dist/chunk-TEOAKGZA.js +0 -784
- package/dist/chunk-VAYZJKVR.js +0 -209
- package/dist/components/editor/SectionOrderingModal.d.ts +0 -10
- package/dist/components/editor/SectionOrderingModal.d.ts.map +0 -1
- package/dist/components/shell/DocInspector.d.ts +0 -18
- package/dist/components/shell/DocInspector.d.ts.map +0 -1
- package/dist/components/shell/DocumentEditorOverlay.d.ts +0 -29
- package/dist/components/shell/DocumentEditorOverlay.d.ts.map +0 -1
- package/dist/components/shell/DocumentPresentOverlay.d.ts +0 -30
- package/dist/components/shell/DocumentPresentOverlay.d.ts.map +0 -1
- package/dist/components/shell/SiteSettingsDecks.d.ts +0 -13
- package/dist/components/shell/SiteSettingsDecks.d.ts.map +0 -1
- package/dist/deck/DeckComponentView.d.ts +0 -13
- package/dist/deck/DeckComponentView.d.ts.map +0 -1
- package/dist/deck/DeckPlayer.d.ts +0 -26
- package/dist/deck/DeckPlayer.d.ts.map +0 -1
- package/dist/deck/DeckSlideView.d.ts +0 -17
- package/dist/deck/DeckSlideView.d.ts.map +0 -1
- package/dist/deck/DeckStage.d.ts +0 -16
- package/dist/deck/DeckStage.d.ts.map +0 -1
- package/dist/deck/components/DeckImage.d.ts +0 -14
- package/dist/deck/components/DeckImage.d.ts.map +0 -1
- package/dist/deck/components/DeckImageGrid.d.ts +0 -27
- package/dist/deck/components/DeckImageGrid.d.ts.map +0 -1
- package/dist/deck/components/DeckRichText.d.ts +0 -22
- package/dist/deck/components/DeckRichText.d.ts.map +0 -1
- package/dist/deck/components/DeckVideo.d.ts +0 -15
- package/dist/deck/components/DeckVideo.d.ts.map +0 -1
- package/dist/deck/editing.d.ts +0 -50
- package/dist/deck/editing.d.ts.map +0 -1
- package/dist/deck/flip.d.ts +0 -11
- package/dist/deck/flip.d.ts.map +0 -1
- package/dist/deck/index.d.ts +0 -24
- package/dist/deck/index.d.ts.map +0 -1
- package/dist/deck/index.js +0 -51
- package/dist/deck/layouts/CenteredTextLayout.d.ts +0 -12
- package/dist/deck/layouts/CenteredTextLayout.d.ts.map +0 -1
- package/dist/deck/layouts/ColumnSplitLayout.d.ts +0 -14
- package/dist/deck/layouts/ColumnSplitLayout.d.ts.map +0 -1
- package/dist/deck/layouts/FullBleedImageLayout.d.ts +0 -14
- package/dist/deck/layouts/FullBleedImageLayout.d.ts.map +0 -1
- package/dist/deck/media.d.ts +0 -33
- package/dist/deck/media.d.ts.map +0 -1
- package/dist/deck/tokens.d.ts +0 -22
- package/dist/deck/tokens.d.ts.map +0 -1
- package/dist/deck/useStageScale.d.ts +0 -10
- package/dist/deck/useStageScale.d.ts.map +0 -1
- package/dist/deck-builder/DeckBuilderApp.d.ts +0 -30
- package/dist/deck-builder/DeckBuilderApp.d.ts.map +0 -1
- package/dist/deck-builder/DeckBuilderTopBar.d.ts +0 -24
- package/dist/deck-builder/DeckBuilderTopBar.d.ts.map +0 -1
- package/dist/deck-builder/DeckChatPanel.d.ts +0 -45
- package/dist/deck-builder/DeckChatPanel.d.ts.map +0 -1
- package/dist/deck-builder/DeckEditor.d.ts +0 -37
- package/dist/deck-builder/DeckEditor.d.ts.map +0 -1
- package/dist/deck-builder/DeckLibrary.d.ts +0 -22
- package/dist/deck-builder/DeckLibrary.d.ts.map +0 -1
- package/dist/deck-builder/DeckSlideSurface.d.ts +0 -31
- package/dist/deck-builder/DeckSlideSurface.d.ts.map +0 -1
- package/dist/deck-builder/deck-api.d.ts +0 -76
- package/dist/deck-builder/deck-api.d.ts.map +0 -1
- package/dist/deck-builder/deck-chat-client.d.ts +0 -44
- package/dist/deck-builder/deck-chat-client.d.ts.map +0 -1
- package/dist/deck-builder/deck-chat-history.d.ts +0 -10
- package/dist/deck-builder/deck-chat-history.d.ts.map +0 -1
- package/dist/deck-builder/index.d.ts +0 -13
- package/dist/deck-builder/index.d.ts.map +0 -1
- package/dist/deck-builder/index.js +0 -1498
- package/dist/deck-builder/starter-deck.d.ts +0 -23
- package/dist/deck-builder/starter-deck.d.ts.map +0 -1
- package/dist/deck-builder/types.d.ts +0 -29
- package/dist/deck-builder/types.d.ts.map +0 -1
- package/dist/deck-builder/useSortableSlide.d.ts +0 -29
- package/dist/deck-builder/useSortableSlide.d.ts.map +0 -1
- package/dist/document/assets/fonts/albra-grotesk-bold.woff +0 -0
- package/dist/document/assets/fonts/albra-grotesk-regular.woff +0 -0
- package/dist/document/assets/fonts/kapra-neue-expanded-medium.woff +0 -0
- package/dist/document/assets/fonts/kapra-neue-expanded-regular.woff +0 -0
- package/dist/document/components/DocCoverPage.d.ts +0 -11
- package/dist/document/components/DocCoverPage.d.ts.map +0 -1
- package/dist/document/components/DocPage.d.ts +0 -10
- package/dist/document/components/DocPage.d.ts.map +0 -1
- package/dist/document/components/DocRail.d.ts +0 -28
- package/dist/document/components/DocRail.d.ts.map +0 -1
- package/dist/document/components/DocSectionPage.d.ts +0 -12
- package/dist/document/components/DocSectionPage.d.ts.map +0 -1
- package/dist/document/components/DocViewer.d.ts +0 -21
- package/dist/document/components/DocViewer.d.ts.map +0 -1
- package/dist/document/components/Wordmark.d.ts +0 -4
- package/dist/document/components/Wordmark.d.ts.map +0 -1
- package/dist/document/components/measure.d.ts +0 -7
- package/dist/document/components/measure.d.ts.map +0 -1
- package/dist/document/components/useDocPages.d.ts +0 -12
- package/dist/document/components/useDocPages.d.ts.map +0 -1
- package/dist/document/engine/blocks.d.ts +0 -2
- package/dist/document/engine/blocks.d.ts.map +0 -1
- package/dist/document/engine/harvest.d.ts +0 -3
- package/dist/document/engine/harvest.d.ts.map +0 -1
- package/dist/document/engine/masonry.d.ts +0 -26
- package/dist/document/engine/masonry.d.ts.map +0 -1
- package/dist/document/engine/paginate.d.ts +0 -43
- package/dist/document/engine/paginate.d.ts.map +0 -1
- package/dist/document/engine/settings.d.ts +0 -91
- package/dist/document/engine/settings.d.ts.map +0 -1
- package/dist/document/engine/types.d.ts +0 -44
- package/dist/document/engine/types.d.ts.map +0 -1
- package/dist/document/index.d.ts +0 -13
- package/dist/document/index.d.ts.map +0 -1
- package/dist/document/index.js +0 -1030
- package/dist/document/styles/document.css +0 -217
- package/dist/lib/deck-access.d.ts +0 -86
- package/dist/lib/deck-access.d.ts.map +0 -1
- package/dist/lib/deck-access.js +0 -58
- package/dist/lib/deck-dexie.d.ts +0 -88
- package/dist/lib/deck-dexie.d.ts.map +0 -1
- package/dist/lib/deck-dexie.js +0 -22
- package/dist/lib/deck-edit.d.ts +0 -67
- package/dist/lib/deck-edit.d.ts.map +0 -1
- package/dist/lib/deck-media-assets.d.ts +0 -27
- package/dist/lib/deck-media-assets.d.ts.map +0 -1
- package/dist/lib/deck-media-assets.js +0 -25
- package/dist/lib/deck-media-refs.d.ts +0 -35
- package/dist/lib/deck-media-refs.d.ts.map +0 -1
- package/dist/lib/deck-media-refs.js +0 -36
- package/dist/lib/deck-tool.d.ts +0 -25
- package/dist/lib/deck-tool.d.ts.map +0 -1
- package/dist/lib/deck-tool.js +0 -58
- package/dist/lib/document-input.d.ts +0 -25
- package/dist/lib/document-input.d.ts.map +0 -1
- package/dist/schemas/deck-meta.d.ts +0 -85
- package/dist/schemas/deck-meta.d.ts.map +0 -1
- package/dist/schemas/deck-meta.js +0 -64
- package/dist/schemas/deck.d.ts +0 -954
- package/dist/schemas/deck.d.ts.map +0 -1
- package/dist/schemas/deck.js +0 -65
- package/src/components/editor/SectionOrderingModal.tsx +0 -80
- package/src/components/shell/DocInspector.tsx +0 -314
- package/src/components/shell/DocumentEditorOverlay.tsx +0 -179
- package/src/components/shell/DocumentPresentOverlay.tsx +0 -87
- package/src/components/shell/SiteSettingsDecks.tsx +0 -41
- package/src/deck/DeckComponentView.tsx +0 -28
- package/src/deck/DeckPlayer.tsx +0 -166
- package/src/deck/DeckSlideView.tsx +0 -38
- package/src/deck/DeckStage.tsx +0 -39
- package/src/deck/components/DeckImage.tsx +0 -38
- package/src/deck/components/DeckImageGrid.tsx +0 -254
- package/src/deck/components/DeckRichText.tsx +0 -111
- package/src/deck/components/DeckVideo.tsx +0 -81
- package/src/deck/editing.tsx +0 -201
- package/src/deck/flip.ts +0 -70
- package/src/deck/index.ts +0 -30
- package/src/deck/layouts/CenteredTextLayout.tsx +0 -29
- package/src/deck/layouts/ColumnSplitLayout.tsx +0 -69
- package/src/deck/layouts/FullBleedImageLayout.tsx +0 -58
- package/src/deck/media.tsx +0 -46
- package/src/deck/tokens.ts +0 -57
- package/src/deck/useStageScale.ts +0 -44
- package/src/deck-builder/DeckBuilderApp.tsx +0 -572
- package/src/deck-builder/DeckBuilderTopBar.tsx +0 -62
- package/src/deck-builder/DeckChatPanel.tsx +0 -334
- package/src/deck-builder/DeckEditor.tsx +0 -258
- package/src/deck-builder/DeckLibrary.tsx +0 -195
- package/src/deck-builder/DeckSlideSurface.tsx +0 -55
- package/src/deck-builder/deck-api.ts +0 -177
- package/src/deck-builder/deck-chat-client.ts +0 -129
- package/src/deck-builder/deck-chat-history.ts +0 -62
- package/src/deck-builder/index.ts +0 -12
- package/src/deck-builder/starter-deck.ts +0 -86
- package/src/deck-builder/types.ts +0 -24
- package/src/deck-builder/useSortableSlide.ts +0 -102
- package/src/document/assets/fonts/albra-grotesk-bold.woff +0 -0
- package/src/document/assets/fonts/albra-grotesk-regular.woff +0 -0
- package/src/document/assets/fonts/kapra-neue-expanded-medium.woff +0 -0
- package/src/document/assets/fonts/kapra-neue-expanded-regular.woff +0 -0
- package/src/document/components/DocCoverPage.tsx +0 -45
- package/src/document/components/DocPage.tsx +0 -40
- package/src/document/components/DocRail.tsx +0 -189
- package/src/document/components/DocSectionPage.tsx +0 -48
- package/src/document/components/DocViewer.tsx +0 -313
- package/src/document/components/Wordmark.tsx +0 -18
- package/src/document/components/measure.tsx +0 -133
- package/src/document/components/useDocPages.ts +0 -95
- package/src/document/engine/blocks.ts +0 -116
- package/src/document/engine/harvest.ts +0 -95
- package/src/document/engine/masonry.ts +0 -158
- package/src/document/engine/paginate.ts +0 -232
- package/src/document/engine/settings.ts +0 -125
- package/src/document/engine/types.ts +0 -64
- package/src/document/index.ts +0 -18
- package/src/document/styles/document.css +0 -217
- package/src/lib/deck-access.ts +0 -132
- package/src/lib/deck-dexie.ts +0 -190
- package/src/lib/deck-edit.ts +0 -196
- package/src/lib/deck-media-assets.ts +0 -57
- package/src/lib/deck-media-refs.ts +0 -67
- package/src/lib/deck-tool.ts +0 -95
- package/src/lib/document-input.ts +0 -57
- package/src/schemas/deck-meta.ts +0 -88
- package/src/schemas/deck.ts +0 -478
- package/dist/{chunk-DJABADOO.js → chunk-AJ2QOAZI.js} +3 -3
package/dist/deck/index.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
CenteredTextLayout,
|
|
3
|
-
ColumnSplitLayout,
|
|
4
|
-
DECK_ELEVATION,
|
|
5
|
-
DeckComponentView,
|
|
6
|
-
DeckImage,
|
|
7
|
-
DeckImageGrid,
|
|
8
|
-
DeckMediaProvider,
|
|
9
|
-
DeckMissingMedia,
|
|
10
|
-
DeckPlayer,
|
|
11
|
-
DeckRichText,
|
|
12
|
-
DeckSlideView,
|
|
13
|
-
DeckStage,
|
|
14
|
-
DeckTextEditProvider,
|
|
15
|
-
DeckVideo,
|
|
16
|
-
EditableText,
|
|
17
|
-
FullBleedImageLayout,
|
|
18
|
-
SURFACE_BACKGROUND,
|
|
19
|
-
deckAlign,
|
|
20
|
-
surfaceInk,
|
|
21
|
-
useDeckMedia,
|
|
22
|
-
useDeckMediaResolver,
|
|
23
|
-
useStageScale
|
|
24
|
-
} from "../chunk-TEOAKGZA.js";
|
|
25
|
-
import "../chunk-7EOSDFS3.js";
|
|
26
|
-
import "../chunk-VAYZJKVR.js";
|
|
27
|
-
import "../chunk-JSBRDJBE.js";
|
|
28
|
-
export {
|
|
29
|
-
CenteredTextLayout,
|
|
30
|
-
ColumnSplitLayout,
|
|
31
|
-
DECK_ELEVATION,
|
|
32
|
-
DeckComponentView,
|
|
33
|
-
DeckImage,
|
|
34
|
-
DeckImageGrid,
|
|
35
|
-
DeckMediaProvider,
|
|
36
|
-
DeckMissingMedia,
|
|
37
|
-
DeckPlayer,
|
|
38
|
-
DeckRichText,
|
|
39
|
-
DeckSlideView,
|
|
40
|
-
DeckStage,
|
|
41
|
-
DeckTextEditProvider,
|
|
42
|
-
DeckVideo,
|
|
43
|
-
EditableText,
|
|
44
|
-
FullBleedImageLayout,
|
|
45
|
-
SURFACE_BACKGROUND,
|
|
46
|
-
deckAlign,
|
|
47
|
-
surfaceInk,
|
|
48
|
-
useDeckMedia,
|
|
49
|
-
useDeckMediaResolver,
|
|
50
|
-
useStageScale
|
|
51
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { CenteredTextLayout as CenteredTextLayoutNode } from "../../schemas/deck";
|
|
2
|
-
interface Props {
|
|
3
|
-
layout: CenteredTextLayoutNode;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Layout — centered text. A full-slide title card holding one Deck Component,
|
|
7
|
-
* centered on both axes. The Layout owns the surface (background + ink tokens)
|
|
8
|
-
* and the stage-relative padding; the component owns nothing but its own type.
|
|
9
|
-
*/
|
|
10
|
-
export declare function CenteredTextLayout({ layout }: Props): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=CenteredTextLayout.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CenteredTextLayout.d.ts","sourceRoot":"","sources":["../../../src/deck/layouts/CenteredTextLayout.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAIvF,UAAU,KAAK;IACb,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,2CAcnD"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { ColumnSplitLayout as ColumnSplitLayoutNode } from "../../schemas/deck";
|
|
2
|
-
interface Props {
|
|
3
|
-
layout: ColumnSplitLayoutNode;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Layout — left/right column split.
|
|
7
|
-
*
|
|
8
|
-
* The hairline runs down the text column's inner edge, which is the editorial
|
|
9
|
-
* treatment's only separator: the columns are set apart by the type and the
|
|
10
|
-
* crop, not by a card or a shadow.
|
|
11
|
-
*/
|
|
12
|
-
export declare function ColumnSplitLayout({ layout }: Props): import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=ColumnSplitLayout.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnSplitLayout.d.ts","sourceRoot":"","sources":["../../../src/deck/layouts/ColumnSplitLayout.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAiC,MAAM,oBAAoB,CAAC;AAIpH,UAAU,KAAK;IACb,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAmBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,2CAkBlD"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { FullBleedImageLayout as FullBleedImageLayoutNode } from "../../schemas/deck";
|
|
2
|
-
interface Props {
|
|
3
|
-
layout: FullBleedImageLayoutNode;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Layout — full-bleed image with an optional text overlay panel.
|
|
7
|
-
*
|
|
8
|
-
* The Layout owns both surfaces: the slide is base (the image covers it), the
|
|
9
|
-
* panel declares brand, so the rich text inside reads on-primary ink without
|
|
10
|
-
* knowing it sits over a photograph.
|
|
11
|
-
*/
|
|
12
|
-
export declare function FullBleedImageLayout({ layout }: Props): import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=FullBleedImageLayout.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FullBleedImageLayout.d.ts","sourceRoot":"","sources":["../../../src/deck/layouts/FullBleedImageLayout.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwB,oBAAoB,IAAI,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAKjH,UAAU,KAAK;IACb,MAAM,EAAE,wBAAwB,CAAC;CAClC;AAaD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,2CA6BrD"}
|
package/dist/deck/media.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { type ReactNode } from "react";
|
|
2
|
-
import type { DeckMediaAsset, DeckMediaRef, DeckMediaResolver } from "../schemas/deck";
|
|
3
|
-
/**
|
|
4
|
-
* The runtime's media seam.
|
|
5
|
-
*
|
|
6
|
-
* Deck JSON stores references, never URLs (ADR 0001), so something outside the
|
|
7
|
-
* runtime has to turn `{ kind: "portal", id }` into bytes. That something is a
|
|
8
|
-
* resolver injected through context: the Deck Builder passes the manifest-backed
|
|
9
|
-
* one, the dev preview route passes placeholders, and the components below never
|
|
10
|
-
* learn which. Absent a provider every reference resolves to `null`, which is
|
|
11
|
-
* also what a deleted asset resolves to — one path, one rendering.
|
|
12
|
-
*/
|
|
13
|
-
export type { DeckMediaAsset, DeckMediaResolver } from "../schemas/deck";
|
|
14
|
-
export declare function DeckMediaProvider({ resolve, children }: {
|
|
15
|
-
resolve: DeckMediaResolver;
|
|
16
|
-
children: ReactNode;
|
|
17
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
18
|
-
export declare function useDeckMedia(ref: DeckMediaRef): DeckMediaAsset | null;
|
|
19
|
-
/**
|
|
20
|
-
* The resolver itself, for a component that has to resolve a whole set before
|
|
21
|
-
* it can lay any of it out — the image grid packs its masonry columns from
|
|
22
|
-
* every tile's aspect ratio, which it cannot learn one `useDeckMedia` at a time.
|
|
23
|
-
*/
|
|
24
|
-
export declare function useDeckMediaResolver(): DeckMediaResolver;
|
|
25
|
-
/**
|
|
26
|
-
* What an unresolvable reference renders. A published deck can outlive the
|
|
27
|
-
* media it points at (ADR 0002 flags the GC hazard), and a torn alt string over
|
|
28
|
-
* a presentation is worse than a quiet gap.
|
|
29
|
-
*/
|
|
30
|
-
export declare function DeckMissingMedia({ className }: {
|
|
31
|
-
className?: string;
|
|
32
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
33
|
-
//# sourceMappingURL=media.d.ts.map
|
package/dist/deck/media.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/deck/media.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEvF;;;;;;;;;GASG;AAEH,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMzE,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAAE,OAAO,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAE3G;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,cAAc,GAAG,IAAI,CAErE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAExD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAErE"}
|
package/dist/deck/tokens.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { CSSProperties } from "react";
|
|
2
|
-
import type { DeckSurface } from "../schemas/deck";
|
|
3
|
-
export type { DeckSurface } from "../schemas/deck";
|
|
4
|
-
export declare function surfaceInk(surface: DeckSurface): CSSProperties;
|
|
5
|
-
/** Tailwind background utility for a surface — both are brand tokens. */
|
|
6
|
-
export declare const SURFACE_BACKGROUND: Record<DeckSurface, string>;
|
|
7
|
-
/**
|
|
8
|
-
* Alignment travels the same way the ink does: a Layout declares how its slot
|
|
9
|
-
* reads, components resolve `--deck-align` (an `align-self` value). Without it
|
|
10
|
-
* a component would have to know whether it sits on a centered title card or in
|
|
11
|
-
* a left-aligned column, which is precisely what the indirection prevents.
|
|
12
|
-
*/
|
|
13
|
-
export type DeckAlign = "center" | "start";
|
|
14
|
-
export declare function deckAlign(align: DeckAlign): CSSProperties;
|
|
15
|
-
/**
|
|
16
|
-
* Elevation for media that lifts off the slide — grid tiles on hover, the video
|
|
17
|
-
* play affordance. Declared as `--deck-*` custom properties rather than as
|
|
18
|
-
* arbitrary Tailwind values so the shadow can be mixed from the site's ink
|
|
19
|
-
* token instead of a literal rgba, and so a hover variant can reference it.
|
|
20
|
-
*/
|
|
21
|
-
export declare const DECK_ELEVATION: CSSProperties;
|
|
22
|
-
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/deck/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAsBnD,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CAE9D;AAED,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAG1D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3C,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAEzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,aAGX,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type RefObject } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* The factor that fits the fixed 1600x900 stage inside `fitRef`'s box.
|
|
4
|
-
*
|
|
5
|
-
* `null` until the box has been measured — an unmeasured box (SSR, jsdom, a
|
|
6
|
-
* hidden ancestor) reports 0x0, and scaling the stage to 0 would blank it. The
|
|
7
|
-
* caller renders the stage unscaled until a real measurement arrives.
|
|
8
|
-
*/
|
|
9
|
-
export declare function useStageScale(fitRef: RefObject<HTMLElement | null>): number | null;
|
|
10
|
-
//# sourceMappingURL=useStageScale.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStageScale.d.ts","sourceRoot":"","sources":["../../src/deck/useStageScale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAW7E;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAyBlF"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { DeckMediaAsset } from "../schemas/deck";
|
|
2
|
-
/**
|
|
3
|
-
* The Deck Builder shell (#34).
|
|
4
|
-
*
|
|
5
|
-
* Builder mode is its own ROUTE rather than an overlay on a viewer page, which
|
|
6
|
-
* is what makes "the sidebar drops out for a top bar" and "leaving restores
|
|
7
|
-
* portal chrome" trivially true — and what keeps every byte of the deck runtime
|
|
8
|
-
* off ordinary viewer pages, where the entry point is a plain server-rendered
|
|
9
|
-
* `<a>` FAB. `/present` is the same shape for the same reasons.
|
|
10
|
-
*
|
|
11
|
-
* The working deck is a Deck Draft in IndexedDB (ADR 0002): the builder reads
|
|
12
|
-
* the decks branch to list and to reopen, and writes to it only when the author
|
|
13
|
-
* presses Publish.
|
|
14
|
-
*/
|
|
15
|
-
interface Props {
|
|
16
|
-
/** Keys the draft database, so two portals in one browser never collide. */
|
|
17
|
-
siteId: string;
|
|
18
|
-
/** The other half of that key: a `deckDraftScope` digest of the caller's
|
|
19
|
-
* identity, so two people sharing a browser profile never share drafts. */
|
|
20
|
-
draftScope: string;
|
|
21
|
-
/** Pre-resolved portal media for the runtime's resolver seam. */
|
|
22
|
-
mediaAssets: Record<string, DeckMediaAsset>;
|
|
23
|
-
/** Where "Leave builder" goes — the page the FAB was pressed on. */
|
|
24
|
-
exitHref: string;
|
|
25
|
-
/** Server-decided: editor, or a member of a deck-enabled audience. */
|
|
26
|
-
canCreate: boolean;
|
|
27
|
-
}
|
|
28
|
-
export declare function DeckBuilderApp({ siteId, draftScope, mediaAssets, exitHref, canCreate }: Props): import("react/jsx-runtime").JSX.Element;
|
|
29
|
-
export default DeckBuilderApp;
|
|
30
|
-
//# sourceMappingURL=DeckBuilderApp.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeckBuilderApp.d.ts","sourceRoot":"","sources":["../../src/deck-builder/DeckBuilderApp.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAQ,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAe5D;;;;;;;;;;;;GAYG;AACH,UAAU,KAAK;IACb,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf;gFAC4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,SAAS,EAAE,OAAO,CAAC;CACpB;AAOD,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,2CAgc7F;AAoDD,eAAe,cAAc,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* Builder mode's chrome (the 2026-08-05 prototype verdict: variant B's bar).
|
|
4
|
-
*
|
|
5
|
-
* A hand-for-hand match of EditorShell's toolbar — full-bleed bordered band,
|
|
6
|
-
* `max-w-screen-xl` inner grid of three columns at `h-16`, framed icon buttons
|
|
7
|
-
* on the right — because this bar REPLACES the portal sidebar while builder
|
|
8
|
-
* mode is open, and the two surfaces should not read as different products.
|
|
9
|
-
* Not `fixed`: the builder owns the whole viewport and lays out as a column, so
|
|
10
|
-
* the bar is a flex child that nothing can scroll under.
|
|
11
|
-
*/
|
|
12
|
-
interface Props {
|
|
13
|
-
/** Left cell: the primary action for whichever view is showing. */
|
|
14
|
-
primaryAction: ReactNode;
|
|
15
|
-
/** Center cell: one line of draft/deck status. */
|
|
16
|
-
status: ReactNode;
|
|
17
|
-
/** Where leaving builder mode goes — the page the FAB was pressed on. */
|
|
18
|
-
exitHref: string;
|
|
19
|
-
/** Shown while a deck is open; returns to the grid. */
|
|
20
|
-
onBackToLibrary?: () => void;
|
|
21
|
-
}
|
|
22
|
-
export declare function DeckBuilderTopBar({ primaryAction, status, exitHref, onBackToLibrary }: Props): import("react/jsx-runtime").JSX.Element;
|
|
23
|
-
export {};
|
|
24
|
-
//# sourceMappingURL=DeckBuilderTopBar.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeckBuilderTopBar.d.ts","sourceRoot":"","sources":["../../src/deck-builder/DeckBuilderTopBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;;;;;;;;;GASG;AACH,UAAU,KAAK;IACb,mEAAmE;IACnE,aAAa,EAAE,SAAS,CAAC;IACzB,kDAAkD;IAClD,MAAM,EAAE,SAAS,CAAC;IAClB,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,KAAK,2CAmC5F"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { Deck } from "../schemas/deck";
|
|
2
|
-
/**
|
|
3
|
-
* The Deck Builder's docked assistant (#35) — the surface that makes the
|
|
4
|
-
* builder an authoring tool rather than a viewer.
|
|
5
|
-
*
|
|
6
|
-
* It is the ChatPanel IDIOM (h-16 header, `p-3` log, the shared composer and
|
|
7
|
-
* markdown treatment) rendered as an in-flow column rather than as
|
|
8
|
-
* ChatPanel itself: that component is bound to `/api/chat`'s contract, to the
|
|
9
|
-
* viewer/editor chrome it positions against, and to a task selector and history
|
|
10
|
-
* archive a deck conversation has no use for. What the two genuinely share —
|
|
11
|
-
* the composer, the assistant-markdown rules, the bubble treatment — is
|
|
12
|
-
* imported, not copied.
|
|
13
|
-
*
|
|
14
|
-
* "Chat authors, direct manipulation adjusts": this pane is the ~80% path, and
|
|
15
|
-
* `busy` is what #39's inline editing will lock against.
|
|
16
|
-
*/
|
|
17
|
-
interface Props {
|
|
18
|
-
deck: Deck;
|
|
19
|
-
/** The identity digest the Deck Draft is keyed by — the transcript is scoped
|
|
20
|
-
* the same way, so two people sharing a browser never read each other's. */
|
|
21
|
-
scope: string;
|
|
22
|
-
/**
|
|
23
|
-
* The deck as of RIGHT NOW, for send time. The `deck` prop above comes from
|
|
24
|
-
* React state, which lags the Deck Draft by one round-trip — and pressing Send
|
|
25
|
-
* blurs an open inline field, so the author's last edit is routinely in that
|
|
26
|
-
* gap. Grounding a turn on the prop would post a deck they had just changed.
|
|
27
|
-
*/
|
|
28
|
-
getDeck?: () => Deck | null;
|
|
29
|
-
/** A deck that PARSED server-side. The caller stages it; this pane never writes. */
|
|
30
|
-
onDeck: (deck: Deck) => void;
|
|
31
|
-
/** Streaming state, lifted so the shell can lock publish and (later) editing. */
|
|
32
|
-
onBusyChange?: (busy: boolean) => void;
|
|
33
|
-
/**
|
|
34
|
-
* The OTHER half of that lock. The shell sets this while it is doing
|
|
35
|
-
* something that reads or rewrites the draft row (publish, reopen, delete):
|
|
36
|
-
* a turn landing inside a publish's round-trip would have its `putDeckDraft`
|
|
37
|
-
* overwritten by the baseline that publish writes on the way out, and the
|
|
38
|
-
* author would lose the turn with no error anywhere.
|
|
39
|
-
*/
|
|
40
|
-
disabled?: boolean;
|
|
41
|
-
onClose: () => void;
|
|
42
|
-
}
|
|
43
|
-
export declare function DeckChatPanel({ deck, getDeck, scope, onDeck, onBusyChange, disabled, onClose }: Props): import("react/jsx-runtime").JSX.Element;
|
|
44
|
-
export {};
|
|
45
|
-
//# sourceMappingURL=DeckChatPanel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeckChatPanel.d.ts","sourceRoot":"","sources":["../../src/deck-builder/DeckChatPanel.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAS5C;;;;;;;;;;;;;;GAcG;AAEH,UAAU,KAAK;IACb,IAAI,EAAE,IAAI,CAAC;IACX;iFAC6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC5B,oFAAoF;IACpF,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC7B,iFAAiF;IACjF,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE,KAAK,2CAkR7G"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { DeckTextPath } from "../lib/deck-edit";
|
|
2
|
-
import type { Deck, DeckMediaAsset } from "../schemas/deck";
|
|
3
|
-
/**
|
|
4
|
-
* The deck-editing view (prototype variant A's arrangement): a back-link to the
|
|
5
|
-
* grid, the deck's own head row, a 16:9 stage, and a horizontal filmstrip of
|
|
6
|
-
* slide thumbnails BELOW it.
|
|
7
|
-
*
|
|
8
|
-
* Direct manipulation is #39's scope, and its boundary is the product decision
|
|
9
|
-
* recorded in CONTEXT.md — "chat authors, direct manipulation adjusts". What is
|
|
10
|
-
* here: editing a text leaf in place on the stage, and reorder / duplicate /
|
|
11
|
-
* delete on the strip. What is deliberately NOT here, and must not be added
|
|
12
|
-
* without revisiting that decision: layout switching, adding or removing a Deck
|
|
13
|
-
* Component, and grid composition. Those belong to the assistant.
|
|
14
|
-
*/
|
|
15
|
-
interface Props {
|
|
16
|
-
deck: Deck;
|
|
17
|
-
mediaAssets: Record<string, DeckMediaAsset>;
|
|
18
|
-
currentSlide: number;
|
|
19
|
-
onSelectSlide: (index: number) => void;
|
|
20
|
-
onBack: () => void;
|
|
21
|
-
/** Draft-vs-published state, spelled out under the title. */
|
|
22
|
-
statusLine: string;
|
|
23
|
-
onEditText: (path: DeckTextPath, text: string) => void;
|
|
24
|
-
/** `to` is the destination index in the post-removal list. */
|
|
25
|
-
onMoveSlide: (from: number, to: number) => void;
|
|
26
|
-
onDuplicateSlide: (index: number) => void;
|
|
27
|
-
onDeleteSlide: (index: number) => void;
|
|
28
|
-
/**
|
|
29
|
-
* A chat turn is in flight. Every manual affordance goes inert: a turn
|
|
30
|
-
* rewrites the whole deck, so an edit landing mid-stream would be overwritten
|
|
31
|
-
* with nothing anywhere saying so.
|
|
32
|
-
*/
|
|
33
|
-
locked: boolean;
|
|
34
|
-
}
|
|
35
|
-
export declare function DeckEditor({ deck, mediaAssets, currentSlide, onSelectSlide, onBack, statusLine, onEditText, onMoveSlide, onDuplicateSlide, onDeleteSlide, locked, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
36
|
-
export {};
|
|
37
|
-
//# sourceMappingURL=DeckEditor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeckEditor.d.ts","sourceRoot":"","sources":["../../src/deck-builder/DeckEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAa,MAAM,iBAAiB,CAAC;AAIvE;;;;;;;;;;;GAWG;AACH,UAAU,KAAK;IACb,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,8DAA8D;IAC9D,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,aAAa,EACb,MAAM,EACN,UAAU,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,MAAM,GACP,EAAE,KAAK,2CAsIP"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { DeckMediaAsset } from "../schemas/deck";
|
|
2
|
-
import type { DeckGridEntry } from "./types";
|
|
3
|
-
/**
|
|
4
|
-
* Builder mode's landing view (prototype variant A): a responsive grid of the
|
|
5
|
-
* caller's own decks, each a 16:9 thumbnail with a status chip and a kebab, and
|
|
6
|
-
* a designed empty state in place of the grid when there are none.
|
|
7
|
-
*
|
|
8
|
-
* Only "Private" exists as a status today — audience grants (#36) and Public
|
|
9
|
-
* Links (#37) are what make the chip worth its space, and inventing their
|
|
10
|
-
* labels now would be inventing their semantics.
|
|
11
|
-
*/
|
|
12
|
-
interface Props {
|
|
13
|
-
entries: DeckGridEntry[];
|
|
14
|
-
mediaAssets: Record<string, DeckMediaAsset>;
|
|
15
|
-
canCreate: boolean;
|
|
16
|
-
onOpen: (id: string) => void;
|
|
17
|
-
onCreate: () => void;
|
|
18
|
-
onDelete: (id: string) => void;
|
|
19
|
-
}
|
|
20
|
-
export declare function DeckLibrary({ entries, mediaAssets, canCreate, onOpen, onCreate, onDelete }: Props): import("react/jsx-runtime").JSX.Element;
|
|
21
|
-
export {};
|
|
22
|
-
//# sourceMappingURL=DeckLibrary.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeckLibrary.d.ts","sourceRoot":"","sources":["../../src/deck-builder/DeckLibrary.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;;;;GAQG;AACH,UAAU,KAAK;IACb,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,2CAyBjG"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type DeckTextEditor } from "../deck";
|
|
2
|
-
import type { DeckMediaAsset, DeckSlide } from "../schemas/deck";
|
|
3
|
-
export type { DeckTextEditor };
|
|
4
|
-
/**
|
|
5
|
-
* The builder's one window onto the deck runtime — every other module in this
|
|
6
|
-
* directory renders decks THROUGH this component and imports nothing from
|
|
7
|
-
* `../deck` itself. That is deliberate: `tests/deck/viewer-isolation.test.ts`
|
|
8
|
-
* whitelists the files that may reach the runtime, and keeping the list at one
|
|
9
|
-
* entry is what keeps the whitelist reviewable.
|
|
10
|
-
*
|
|
11
|
-
* `DeckPlayer` is not used here because it owns its own slide index and slide
|
|
12
|
-
* chrome, and in the builder the filmstrip owns both. This composes the same
|
|
13
|
-
* three runtime pieces `DeckPlayer` does, which is why a thumbnail and the
|
|
14
|
-
* stage render identically.
|
|
15
|
-
*/
|
|
16
|
-
interface Props {
|
|
17
|
-
slide: DeckSlide;
|
|
18
|
-
/** Pre-resolved portal media, keyed by media id (see `deckMediaAssets`). */
|
|
19
|
-
mediaAssets: Record<string, DeckMediaAsset>;
|
|
20
|
-
/** Applied to the fit box the 16:9 stage is scaled into. */
|
|
21
|
-
className?: string;
|
|
22
|
-
/**
|
|
23
|
-
* Inline text editing (#39). Omitted everywhere but the editing view's own
|
|
24
|
-
* stage — filmstrip thumbnails, in-portal deck views and the Public Link
|
|
25
|
-
* route all render read-only, which is the acceptance criterion "nothing in
|
|
26
|
-
* this surface appears for read-only deck viewing" held at one place.
|
|
27
|
-
*/
|
|
28
|
-
editor?: DeckTextEditor;
|
|
29
|
-
}
|
|
30
|
-
export declare function DeckSlideSurface({ slide, mediaAssets, className, editor }: Props): import("react/jsx-runtime").JSX.Element;
|
|
31
|
-
//# sourceMappingURL=DeckSlideSurface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeckSlideSurface.d.ts","sourceRoot":"","sources":["../../src/deck-builder/DeckSlideSurface.tsx"],"names":[],"mappings":"AACA,OAAO,EAAqE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AACjH,OAAO,KAAK,EAAE,cAAc,EAAqB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKpF,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;;;;;;;;;;GAWG;AACH,UAAU,KAAK;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,KAAK,2CAkBhF"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { type Deck } from "../schemas/deck";
|
|
2
|
-
/**
|
|
3
|
-
* The builder's client for `/api/decks` (ADR 0002's routes).
|
|
4
|
-
*
|
|
5
|
-
* Every function returns a discriminated result instead of throwing, because
|
|
6
|
-
* every failure mode here is one the UI has to SAY something specific about —
|
|
7
|
-
* a 409 is not an error to log, it is a decision to put in front of the author.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Just the sidecar fields the grid renders, narrowed from the response rather
|
|
11
|
-
* than cast to `DeckMeta`.
|
|
12
|
-
*
|
|
13
|
-
* Deliberately NOT the whole sidecar and NOT `parseDeckMeta`: the meta schema
|
|
14
|
-
* pins `schemaVersion` to a literal, so validating the full shape here would
|
|
15
|
-
* make a portal running an older package version drop every deck from the
|
|
16
|
-
* listing — silently, and exactly for the user whose decks they are. Reading
|
|
17
|
-
* only what is displayed keeps a schema bump a non-event on this side.
|
|
18
|
-
*/
|
|
19
|
-
export interface PublishedDeckMeta {
|
|
20
|
-
title: string;
|
|
21
|
-
slideCount: number;
|
|
22
|
-
updatedAt: string;
|
|
23
|
-
}
|
|
24
|
-
export interface PublishedDeckSummary {
|
|
25
|
-
id: string;
|
|
26
|
-
version: string;
|
|
27
|
-
/** null when the route reported the sidecar unreadable, or a field is missing. */
|
|
28
|
-
meta: PublishedDeckMeta | null;
|
|
29
|
-
}
|
|
30
|
-
export type DeckApiFailure =
|
|
31
|
-
/** 409 — the deck moved on the branch since this draft's baseVersion. */
|
|
32
|
-
{
|
|
33
|
-
kind: "conflict";
|
|
34
|
-
currentVersion: string | null;
|
|
35
|
-
message: string;
|
|
36
|
-
}
|
|
37
|
-
/** 400 — the deck did not satisfy the schema. Per-path messages. */
|
|
38
|
-
| {
|
|
39
|
-
kind: "invalid";
|
|
40
|
-
details: string[];
|
|
41
|
-
}
|
|
42
|
-
/** 401/403 — not signed in, or not a Deck Creator. */
|
|
43
|
-
| {
|
|
44
|
-
kind: "forbidden";
|
|
45
|
-
message: string;
|
|
46
|
-
}
|
|
47
|
-
/** 404 — no such deck, or not one this caller may see. */
|
|
48
|
-
| {
|
|
49
|
-
kind: "notFound";
|
|
50
|
-
}
|
|
51
|
-
/** 503 and transport failures — nothing was written and a retry is right. */
|
|
52
|
-
| {
|
|
53
|
-
kind: "unavailable";
|
|
54
|
-
message: string;
|
|
55
|
-
} | {
|
|
56
|
-
kind: "failed";
|
|
57
|
-
message: string;
|
|
58
|
-
};
|
|
59
|
-
export type DeckApiResult<T> = {
|
|
60
|
-
ok: true;
|
|
61
|
-
value: T;
|
|
62
|
-
} | ({
|
|
63
|
-
ok: false;
|
|
64
|
-
} & DeckApiFailure);
|
|
65
|
-
export declare function listPublishedDecks(): Promise<DeckApiResult<PublishedDeckSummary[]>>;
|
|
66
|
-
export declare function readPublishedDeck(id: string): Promise<DeckApiResult<{
|
|
67
|
-
deck: Deck;
|
|
68
|
-
version: string;
|
|
69
|
-
meta: PublishedDeckMeta | null;
|
|
70
|
-
}>>;
|
|
71
|
-
export declare function publishDeck(deck: Deck, baseVersion: string | null): Promise<DeckApiResult<{
|
|
72
|
-
version: string;
|
|
73
|
-
meta: PublishedDeckMeta | null;
|
|
74
|
-
}>>;
|
|
75
|
-
export declare function deletePublishedDeck(id: string): Promise<DeckApiResult<true>>;
|
|
76
|
-
//# sourceMappingURL=deck-api.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deck-api.d.ts","sourceRoot":"","sources":["../../src/deck-builder/deck-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;;;;;GAMG;AAEH;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAChC;AAUD,MAAM,MAAM,cAAc;AACxB,yEAAyE;AACvE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACtE,oEAAoE;GAClE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE;AACxC,sDAAsD;GACpD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACxC,0DAA0D;GACxD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE;AACtB,6EAA6E;GAC3E;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG,CAAC;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,GAAG,cAAc,CAAC,CAAC;AAgDzF,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAsBzF;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,aAAa,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAczF;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,aAAa,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAgB7E;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAWlF"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { type Deck } from "../schemas/deck";
|
|
2
|
-
/**
|
|
3
|
-
* The builder's client for `POST /api/deck-chat` (#35).
|
|
4
|
-
*
|
|
5
|
-
* The route's event contract, and what each event means to the UI:
|
|
6
|
-
*
|
|
7
|
-
* text { text } a delta of the assistant's prose
|
|
8
|
-
* retry { attempt, issues } the model's deck failed validation and it is
|
|
9
|
-
* being asked to fix it — DISCARD the prose
|
|
10
|
-
* streamed so far, or the transcript shows two
|
|
11
|
-
* answers for one turn
|
|
12
|
-
* deck { deck } a deck that PARSED server-side; stage it
|
|
13
|
-
* error { error, details? } the turn produced no usable deck
|
|
14
|
-
* done { truncated } end of turn (always last)
|
|
15
|
-
*
|
|
16
|
-
* A turn with no `deck` event is not a failure: the assistant is allowed to
|
|
17
|
-
* answer a question without rewriting the deck.
|
|
18
|
-
*/
|
|
19
|
-
export interface DeckChatMessage {
|
|
20
|
-
role: "user" | "assistant";
|
|
21
|
-
content: string;
|
|
22
|
-
}
|
|
23
|
-
export interface DeckChatHandlers {
|
|
24
|
-
onText: (delta: string) => void;
|
|
25
|
-
/** Prose from the failed attempt must be dropped before the next one streams. */
|
|
26
|
-
onRetry: (attempt: number, issues: string[]) => void;
|
|
27
|
-
}
|
|
28
|
-
export type DeckChatResult = {
|
|
29
|
-
ok: true;
|
|
30
|
-
deck: Deck | null;
|
|
31
|
-
truncated: boolean;
|
|
32
|
-
} | {
|
|
33
|
-
ok: false;
|
|
34
|
-
error: string;
|
|
35
|
-
details?: string[];
|
|
36
|
-
retryAfterMs?: number;
|
|
37
|
-
};
|
|
38
|
-
export declare const DECK_CHAT_ERROR_COPY: Record<string, string>;
|
|
39
|
-
export declare function deckChatCanRetry(error: string): boolean;
|
|
40
|
-
export declare function streamDeckChat(body: {
|
|
41
|
-
deck: Deck;
|
|
42
|
-
messages: DeckChatMessage[];
|
|
43
|
-
}, handlers: DeckChatHandlers, signal?: AbortSignal): Promise<DeckChatResult>;
|
|
44
|
-
//# sourceMappingURL=deck-chat-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deck-chat-client.d.ts","sourceRoot":"","sources":["../../src/deck-builder/deck-chat-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,iFAAiF;IACjF,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GACnD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5E,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAcvD,CAAC;AAMF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,EACjD,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAiEzB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { DeckChatMessage } from "./deck-chat-client";
|
|
2
|
-
/** Turns kept per deck. A turn is a user line plus a reply; 60 is a long
|
|
3
|
-
* authoring session and still a bounded localStorage footprint. */
|
|
4
|
-
export declare const DECK_CHAT_MESSAGE_CAP = 60;
|
|
5
|
-
export declare function loadDeckChat(scope: string, deckId: string): DeckChatMessage[];
|
|
6
|
-
/** Empty turns (the mid-stream assistant stub) are never stored. */
|
|
7
|
-
export declare function saveDeckChat(scope: string, deckId: string, messages: DeckChatMessage[]): void;
|
|
8
|
-
/** Called when a deck is deleted: its conversation goes with it. */
|
|
9
|
-
export declare function clearDeckChat(scope: string, deckId: string): void;
|
|
10
|
-
//# sourceMappingURL=deck-chat-history.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deck-chat-history.d.ts","sourceRoot":"","sources":["../../src/deck-builder/deck-chat-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAiB1D;oEACoE;AACpE,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAexC,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE,CAO7E;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,CAQ7F;AAED,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAMjE"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Deck Builder — a sealed subtree like ./deck and ./document.
|
|
3
|
-
*
|
|
4
|
-
* NOT re-exported from the primitives root barrel: this graph reaches the deck
|
|
5
|
-
* runtime, and nothing on an ordinary viewer page may pull that in. Only the
|
|
6
|
-
* builder route (`core/src/pages/decks.astro`) imports from here, as a
|
|
7
|
-
* `client:only` island, so the whole thing is paid for by opening the builder
|
|
8
|
-
* and by nothing else.
|
|
9
|
-
*/
|
|
10
|
-
export { DeckBuilderApp } from "./DeckBuilderApp";
|
|
11
|
-
export { starterDeck, newDeckId } from "./starter-deck";
|
|
12
|
-
export type { DeckGridEntry } from "./types";
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deck-builder/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|