@artkit-ai/react 0.0.0-stage → 0.1.0
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/LICENSE +202 -0
- package/README.md +145 -2
- package/dist/cache.d.ts +35 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +116 -0
- package/dist/cache.js.map +1 -0
- package/dist/client.d.ts +79 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +260 -0
- package/dist/client.js.map +1 -0
- package/dist/components/approval.d.ts +34 -0
- package/dist/components/approval.d.ts.map +1 -0
- package/dist/components/approval.js +80 -0
- package/dist/components/approval.js.map +1 -0
- package/dist/components/card.d.ts +22 -0
- package/dist/components/card.d.ts.map +1 -0
- package/dist/components/card.js +16 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/editor.d.ts +28 -0
- package/dist/components/editor.d.ts.map +1 -0
- package/dist/components/editor.js +161 -0
- package/dist/components/editor.js.map +1 -0
- package/dist/components/icons.d.ts +8 -0
- package/dist/components/icons.d.ts.map +1 -0
- package/dist/components/icons.js +14 -0
- package/dist/components/icons.js.map +1 -0
- package/dist/components/panel.d.ts +34 -0
- package/dist/components/panel.d.ts.map +1 -0
- package/dist/components/panel.js +216 -0
- package/dist/components/panel.js.map +1 -0
- package/dist/components/shared.d.ts +71 -0
- package/dist/components/shared.d.ts.map +1 -0
- package/dist/components/shared.js +104 -0
- package/dist/components/shared.js.map +1 -0
- package/dist/components/version-diff.d.ts +35 -0
- package/dist/components/version-diff.d.ts.map +1 -0
- package/dist/components/version-diff.js +85 -0
- package/dist/components/version-diff.js.map +1 -0
- package/dist/components/view.d.ts +40 -0
- package/dist/components/view.d.ts.map +1 -0
- package/dist/components/view.js +75 -0
- package/dist/components/view.js.map +1 -0
- package/dist/context.d.ts +59 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +13 -0
- package/dist/context.js.map +1 -0
- package/dist/controls.d.ts +145 -0
- package/dist/controls.d.ts.map +1 -0
- package/dist/controls.js +188 -0
- package/dist/controls.js.map +1 -0
- package/dist/download.d.ts +4 -0
- package/dist/download.d.ts.map +1 -0
- package/dist/download.js +20 -0
- package/dist/download.js.map +1 -0
- package/dist/editor-session.d.ts +184 -0
- package/dist/editor-session.d.ts.map +1 -0
- package/dist/editor-session.js +614 -0
- package/dist/editor-session.js.map +1 -0
- package/dist/hooks.d.ts +85 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +297 -0
- package/dist/hooks.js.map +1 -0
- package/dist/i18n.d.ts +197 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +207 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/kit-css.d.ts +3 -0
- package/dist/kit-css.d.ts.map +1 -0
- package/dist/kit-css.js +5 -0
- package/dist/kit-css.js.map +1 -0
- package/dist/line-diff.d.ts +25 -0
- package/dist/line-diff.d.ts.map +1 -0
- package/dist/line-diff.js +96 -0
- package/dist/line-diff.js.map +1 -0
- package/dist/partial-json.d.ts +8 -0
- package/dist/partial-json.d.ts.map +1 -0
- package/dist/partial-json.js +176 -0
- package/dist/partial-json.js.map +1 -0
- package/dist/provider.d.ts +42 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +95 -0
- package/dist/provider.js.map +1 -0
- package/dist/styles.d.ts +25 -0
- package/dist/styles.d.ts.map +1 -0
- package/dist/styles.js +203 -0
- package/dist/styles.js.map +1 -0
- package/dist/toolbar.d.ts +90 -0
- package/dist/toolbar.d.ts.map +1 -0
- package/dist/toolbar.js +233 -0
- package/dist/toolbar.js.map +1 -0
- package/package.json +50 -3
- package/src/cache.ts +132 -0
- package/src/client.ts +390 -0
- package/src/components/approval.tsx +219 -0
- package/src/components/card.tsx +87 -0
- package/src/components/editor.tsx +392 -0
- package/src/components/icons.tsx +14 -0
- package/src/components/panel.tsx +591 -0
- package/src/components/shared.tsx +207 -0
- package/src/components/version-diff.tsx +266 -0
- package/src/components/view.tsx +199 -0
- package/src/context.ts +82 -0
- package/src/controls.tsx +587 -0
- package/src/download.ts +23 -0
- package/src/editor-session.ts +738 -0
- package/src/hooks.ts +411 -0
- package/src/i18n.ts +217 -0
- package/src/index.ts +160 -0
- package/src/kit-css.ts +5 -0
- package/src/line-diff.ts +111 -0
- package/src/partial-json.ts +160 -0
- package/src/provider.tsx +176 -0
- package/src/styles.ts +222 -0
- package/src/toolbar.tsx +536 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Redo2, RotateCcw, Undo2 } from 'lucide-react';
|
|
3
|
+
import { Suspense, use, useCallback, useEffect, useId, useMemo, useRef, useState, useSyncExternalStore, } from 'react';
|
|
4
|
+
import { useArtkit } from '../context.js';
|
|
5
|
+
import { EditorSession } from '../editor-session.js';
|
|
6
|
+
import { useArtifact } from '../hooks.js';
|
|
7
|
+
import { hashString } from '../styles.js';
|
|
8
|
+
import { ChangeList, cx, ErrorBoundary, ErrorMessage, errorMessage, formatDate, Loading, rootAttributes, slot, useAnnouncer, } from './shared.js';
|
|
9
|
+
import { ArtifactView, KindRenderer, renderContext } from './view.js';
|
|
10
|
+
/**
|
|
11
|
+
* Kind editor host (spec §13.1, §13.6). Falls back to `ArtifactView` when the kind has no editor loader,
|
|
12
|
+
* when the permission is `read` or while another actor holds the lock. The editor module is only loaded
|
|
13
|
+
* here, when editing starts.
|
|
14
|
+
*/
|
|
15
|
+
export function ArtifactEditor(props) {
|
|
16
|
+
const ctx = useArtkit();
|
|
17
|
+
const { t } = ctx;
|
|
18
|
+
const id = props.id ?? props.artifact?.id;
|
|
19
|
+
const query = useArtifact(id, props.artifact ? { initial: props.artifact } : {});
|
|
20
|
+
const artifact = query.artifact;
|
|
21
|
+
if (!artifact) {
|
|
22
|
+
return (_jsx("div", { className: cx('ak-root ak-editor', props.className), ...rootAttributes(ctx), children: query.error ? (_jsx(ErrorMessage, { error: query.error, onRetry: () => void query.refresh().catch(() => undefined) })) : (_jsx(Loading, {})) }));
|
|
23
|
+
}
|
|
24
|
+
const editable = (props.permission ?? 'edit') === 'edit' &&
|
|
25
|
+
ctx.hasEditor(artifact.kind) &&
|
|
26
|
+
ctx.registry.has(artifact.kind);
|
|
27
|
+
if (!editable || props.lockedBy) {
|
|
28
|
+
return (_jsxs("div", { className: cx('ak-root ak-editor', props.className), ...rootAttributes(ctx, artifact.themeId), "data-readonly": "true", children: [props.lockedBy ? (_jsx("p", { ...slot(props.slots, 'notice', 'ak-notice'), role: "status", children: t('lockedBy', { actor: t(`actor_${props.lockedBy.type}`) }) })) : null, _jsx(ArtifactView, { artifact: artifact, ...(props.lockedBy && props.partial !== undefined ? { partial: props.partial } : {}) })] }));
|
|
29
|
+
}
|
|
30
|
+
return _jsx(EditingHost, { ...props, artifact: artifact }, artifact.id);
|
|
31
|
+
}
|
|
32
|
+
function EditingHost(props) {
|
|
33
|
+
const ctx = useArtkit();
|
|
34
|
+
const { t, client, cache, registry } = ctx;
|
|
35
|
+
const callbacks = useRef(props);
|
|
36
|
+
callbacks.current = props;
|
|
37
|
+
const artifactId = props.artifact.id;
|
|
38
|
+
const [session] = useState(() => new EditorSession({
|
|
39
|
+
registry,
|
|
40
|
+
artifact: props.artifact,
|
|
41
|
+
locale: ctx.locale,
|
|
42
|
+
...(props.groupingWindowMs === undefined ? {} : { groupingWindowMs: props.groupingWindowMs }),
|
|
43
|
+
send: (request) => client.apply(artifactId, request),
|
|
44
|
+
load: (version) => cache.load(artifactId, version, version === undefined),
|
|
45
|
+
onCommitted: (result) => {
|
|
46
|
+
cache.put(result.artifact);
|
|
47
|
+
callbacks.current.onCommitted?.(result);
|
|
48
|
+
},
|
|
49
|
+
}));
|
|
50
|
+
const state = useSyncExternalStore(session.subscribe, session.getSnapshot, session.getSnapshot);
|
|
51
|
+
// Newer versions from the cache or props (agent commits, refetches) are rebased into the session.
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
session.receive(props.artifact);
|
|
54
|
+
}, [session, props.artifact]);
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
cache.put(state.confirmed);
|
|
57
|
+
}, [cache, state.confirmed]);
|
|
58
|
+
// Unmounting must not lose the last keystrokes still waiting in the grouping window.
|
|
59
|
+
useEffect(() => () => session.flush(), [session]);
|
|
60
|
+
const [live, announce] = useAnnouncer();
|
|
61
|
+
const lastSeq = useRef(0);
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
const event = state.event;
|
|
64
|
+
if (!event || event.seq === lastSeq.current)
|
|
65
|
+
return;
|
|
66
|
+
lastSeq.current = event.seq;
|
|
67
|
+
switch (event.type) {
|
|
68
|
+
case 'saved':
|
|
69
|
+
announce(t('savedVersion', { version: event.version }));
|
|
70
|
+
break;
|
|
71
|
+
case 'undone':
|
|
72
|
+
announce(t('undone'));
|
|
73
|
+
break;
|
|
74
|
+
case 'redone':
|
|
75
|
+
announce(t('redone'));
|
|
76
|
+
break;
|
|
77
|
+
case 'rebased':
|
|
78
|
+
announce(t('agentUpdated', { version: event.version }));
|
|
79
|
+
break;
|
|
80
|
+
case 'rejected':
|
|
81
|
+
case 'rolled_back':
|
|
82
|
+
announce(t('rolledBack', { message: errorMessage(event.error, event.error.message) }));
|
|
83
|
+
callbacks.current.onError?.(event.error);
|
|
84
|
+
break;
|
|
85
|
+
case 'conflict':
|
|
86
|
+
announce(t('conflictTitle'));
|
|
87
|
+
break;
|
|
88
|
+
case 'conflict_resolved':
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
}, [state.event, announce, t]);
|
|
92
|
+
const [, forceRender] = useState(0);
|
|
93
|
+
useEffect(() => {
|
|
94
|
+
if (!state.lockedUntil)
|
|
95
|
+
return;
|
|
96
|
+
const delay = Date.parse(state.lockedUntil) - Date.now();
|
|
97
|
+
if (delay <= 0)
|
|
98
|
+
return;
|
|
99
|
+
const timer = setTimeout(() => forceRender((n) => n + 1), delay + 10);
|
|
100
|
+
return () => clearTimeout(timer);
|
|
101
|
+
}, [state.lockedUntil]);
|
|
102
|
+
const locked = state.lockedUntil !== undefined && Date.parse(state.lockedUntil) > Date.now();
|
|
103
|
+
const readOnly = state.status === 'conflict' || locked;
|
|
104
|
+
const onKeyDown = useCallback((event) => {
|
|
105
|
+
if (event.defaultPrevented || !(event.ctrlKey || event.metaKey) || event.altKey)
|
|
106
|
+
return;
|
|
107
|
+
const key = event.key.toLowerCase();
|
|
108
|
+
if (key === 'z' && !event.shiftKey) {
|
|
109
|
+
event.preventDefault();
|
|
110
|
+
session.undo();
|
|
111
|
+
}
|
|
112
|
+
else if ((key === 'z' && event.shiftKey) || key === 'y') {
|
|
113
|
+
event.preventDefault();
|
|
114
|
+
session.redo();
|
|
115
|
+
}
|
|
116
|
+
}, [session]);
|
|
117
|
+
const onBlur = useCallback((event) => {
|
|
118
|
+
if (!event.currentTarget.contains(event.relatedTarget))
|
|
119
|
+
session.flush();
|
|
120
|
+
}, [session]);
|
|
121
|
+
const view = state.view;
|
|
122
|
+
const renderCtx = useMemo(() => renderContext(ctx, view.themeId, view.locale, 'screen', false), [ctx, view.themeId, view.locale]);
|
|
123
|
+
const lint = useMemo(() => {
|
|
124
|
+
try {
|
|
125
|
+
return registry
|
|
126
|
+
.get(props.artifact.kind)
|
|
127
|
+
.lint(view.content, { locale: view.locale, theme: ctx.themeFor(view.themeId) });
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
}, [ctx, registry, props.artifact.kind, view]);
|
|
133
|
+
const emit = useCallback((operations, options) => {
|
|
134
|
+
session.emit(operations, options);
|
|
135
|
+
}, [session]);
|
|
136
|
+
const statusText = state.status === 'saving'
|
|
137
|
+
? t('saving')
|
|
138
|
+
: state.status === 'editing'
|
|
139
|
+
? t('unsaved')
|
|
140
|
+
: state.status === 'conflict'
|
|
141
|
+
? t('conflictTitle')
|
|
142
|
+
: t('saved');
|
|
143
|
+
return (_jsxs("section", { className: cx('ak-root ak-editor', props.className), ...rootAttributes(ctx, view.themeId), "aria-label": t('editorLabel', { title: view.title }), lang: view.locale, onKeyDown: onKeyDown, onBlur: onBlur, "data-status": state.status, children: [live, _jsxs("div", { ...slot(props.slots, 'toolbar', 'ak-editor-toolbar'), role: "toolbar", "aria-label": t('editorLabel', { title: view.title }), children: [_jsxs("button", { type: "button", className: "ak-button", onClick: session.undo, disabled: !state.canUndo, "aria-keyshortcuts": "Control+Z Meta+Z", children: [_jsx(Undo2, { "aria-hidden": "true" }), t('undo')] }), _jsxs("button", { type: "button", className: "ak-button", onClick: session.redo, disabled: !state.canRedo, "aria-keyshortcuts": "Control+Shift+Z Meta+Shift+Z Control+Y", children: [_jsx(Redo2, { "aria-hidden": "true" }), t('redo')] }), lint.length > 0 ? (_jsx("span", { className: "ak-badge", children: t('lintWarnings', { count: lint.length }) })) : null, _jsx("span", { ...slot(props.slots, 'status', 'ak-editor-status'), "aria-hidden": "true", children: statusText })] }), locked && state.lockedUntil ? (_jsx("p", { ...slot(props.slots, 'notice', 'ak-notice'), role: "status", children: t('lockedUntil', { time: formatDate(state.lockedUntil, ctx.locale) }) })) : null, state.error && state.status !== 'conflict' ? (_jsx(ErrorMessage, { error: state.error, onDismiss: session.dismissError, ...slot(props.slots, 'error', '') })) : null, state.conflict ? _jsx(ConflictBox, { state: state, session: session, slots: props.slots }) : null, _jsx("div", { ...slot(props.slots, 'body', 'ak-view-body'), children: _jsx(ErrorBoundary, { onReset: () => ctx.resetLoad('editor', props.artifact.kind), fallback: (error, reset) => (_jsxs(_Fragment, { children: [_jsx(ErrorMessage, { error: error, onRetry: reset }), _jsx(KindRenderer, { kind: props.artifact.kind, content: view.content, ctx: renderCtx })] })), children: _jsx(Suspense, { fallback: _jsx(KindRenderer, { kind: props.artifact.kind, content: view.content, ctx: renderCtx }), children: _jsx(LoadedEditor, { kind: props.artifact.kind, content: view.content, ctx: renderCtx, emit: emit, readOnly: readOnly, lint: lint }) }) }) })] }));
|
|
144
|
+
}
|
|
145
|
+
function ConflictBox({ state, session, slots, }) {
|
|
146
|
+
const { t } = useArtkit();
|
|
147
|
+
const conflict = state.conflict;
|
|
148
|
+
const first = useRef(null);
|
|
149
|
+
const titleId = useId();
|
|
150
|
+
useEffect(() => {
|
|
151
|
+
first.current?.focus();
|
|
152
|
+
}, []);
|
|
153
|
+
const undoing = conflict.reason === 'undo' || conflict.reason === 'redo';
|
|
154
|
+
return (_jsxs("section", { ...slot(slots, 'conflict', 'ak-conflict'), role: "alert", "aria-labelledby": titleId, children: [_jsx("h3", { className: "ak-conflict-title", id: titleId, children: t('conflictTitle') }), _jsx("p", { children: undoing ? t('conflictUndoBody') : t('conflictBody', { version: conflict.latest.version }) }), _jsx(ChangeList, { changes: conflict.changes }), _jsxs("div", { className: "ak-approval-actions", children: [_jsx("button", { ref: first, type: "button", className: "ak-button", "data-variant": "primary", onClick: () => session.resolveConflict('keep-theirs'), children: t('keepTheirs') }), _jsxs("button", { type: "button", className: "ak-button", onClick: () => session.resolveConflict('reapply'), children: [_jsx(RotateCcw, { "aria-hidden": "true" }), t('reapplyMine')] })] })] }));
|
|
155
|
+
}
|
|
156
|
+
function LoadedEditor({ kind, content, ctx: renderCtx, emit, readOnly, lint, }) {
|
|
157
|
+
const ctx = useArtkit();
|
|
158
|
+
const { Editor, css } = use(ctx.loadEditor(kind));
|
|
159
|
+
return (_jsxs(_Fragment, { children: [css ? (_jsx("style", { href: `artkit-editor-${kind}-${hashString(css)}`, precedence: "artkit", nonce: ctx.nonce, children: css })) : null, _jsx(Editor, { content: content, ctx: renderCtx, emit: emit, readOnly: readOnly, lint: lint })] }));
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/components/editor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type LucideIcon } from 'lucide-react';
|
|
2
|
+
/** Lucide icon per native kind; unknown kinds get a generic file. */
|
|
3
|
+
export declare const KIND_ICONS: Record<string, LucideIcon>;
|
|
4
|
+
export declare function KindIcon({ kind, className }: {
|
|
5
|
+
kind: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
}): import("react").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/components/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,UAAU,EAAiC,MAAM,cAAc,CAAC;AAE9F,qEAAqE;AACrE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAKjD,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,+BAGjF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { File, FileText, Presentation, Sheet, Workflow } from 'lucide-react';
|
|
3
|
+
/** Lucide icon per native kind; unknown kinds get a generic file. */
|
|
4
|
+
export const KIND_ICONS = {
|
|
5
|
+
document: FileText,
|
|
6
|
+
sheet: Sheet,
|
|
7
|
+
slides: Presentation,
|
|
8
|
+
diagram: Workflow,
|
|
9
|
+
};
|
|
10
|
+
export function KindIcon({ kind, className }) {
|
|
11
|
+
const Icon = KIND_ICONS[kind] ?? File;
|
|
12
|
+
return _jsx(Icon, { "aria-hidden": "true", focusable: "false", className: className });
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/components/icons.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAmB,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE9F,qEAAqE;AACrE,MAAM,CAAC,MAAM,UAAU,GAA+B;IACpD,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAwC;IAChF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACtC,OAAO,KAAC,IAAI,mBAAa,MAAM,EAAC,SAAS,EAAC,OAAO,EAAC,SAAS,EAAE,SAAS,GAAI,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Actor, Artifact } from '@artkit-ai/core';
|
|
2
|
+
import { type ReactNode } from 'react';
|
|
3
|
+
import type { StatusAction } from '../client.js';
|
|
4
|
+
import { type EditorPermission } from './editor.js';
|
|
5
|
+
import { type Slots } from './shared.js';
|
|
6
|
+
export type PanelTab = 'view' | 'code' | 'history';
|
|
7
|
+
export type ArtifactPanelPart = 'header' | 'title' | 'toolbar' | 'tabs' | 'body' | 'code' | 'history';
|
|
8
|
+
export interface ArtifactPanelProps {
|
|
9
|
+
id?: string;
|
|
10
|
+
artifact?: Artifact;
|
|
11
|
+
tab?: PanelTab;
|
|
12
|
+
defaultTab?: PanelTab;
|
|
13
|
+
onTabChange?(tab: PanelTab): void;
|
|
14
|
+
/** Selected version (undefined = latest). Controlled when `onVersionChange` is given with it. */
|
|
15
|
+
version?: number;
|
|
16
|
+
onVersionChange?(version: number | undefined): void;
|
|
17
|
+
/** `edit` shows the kind editor in the View tab for the latest version (default `read`). */
|
|
18
|
+
permission?: EditorPermission;
|
|
19
|
+
/** Streaming preview and lock state, forwarded to the view/editor. */
|
|
20
|
+
partial?: unknown;
|
|
21
|
+
lockedBy?: Actor | null;
|
|
22
|
+
/** Lifecycle actions offered; defaults depend on the status. `false` hides them. */
|
|
23
|
+
actions?: StatusAction[] | false;
|
|
24
|
+
/** Export formats; defaults to the provider's server formats plus browser exporters. */
|
|
25
|
+
exportFormats?: string[];
|
|
26
|
+
onClose?(): void;
|
|
27
|
+
/** Extra controls rendered in the header. */
|
|
28
|
+
headerActions?: ReactNode;
|
|
29
|
+
className?: string;
|
|
30
|
+
slots?: Slots<ArtifactPanelPart>;
|
|
31
|
+
}
|
|
32
|
+
/** Assistant-style side panel: View, Code and History tabs, version selector, export and lifecycle (spec §13.1). */
|
|
33
|
+
export declare function ArtifactPanel(props: ArtifactPanelProps): import("react").JSX.Element;
|
|
34
|
+
//# sourceMappingURL=panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/components/panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAgC,MAAM,iBAAiB,CAAC;AAErF,OAAO,EAEL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKjD,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAQL,KAAK,KAAK,EAIX,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AACnD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtG,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,WAAW,CAAC,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IAClC,iGAAiG;IACjG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACpD,4FAA4F;IAC5F,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACxB,oFAAoF;IACpF,OAAO,CAAC,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IACjC,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;CAClC;AAoBD,oHAAoH;AACpH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAqRtD"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Archive, Check, ChevronDown, Copy, Download, Eye, History, Rocket, Send, X } from 'lucide-react';
|
|
3
|
+
import { useCallback, useEffect, useId, useMemo, useRef, useState, } from 'react';
|
|
4
|
+
import { useArtkit } from '../context.js';
|
|
5
|
+
import { useArtifact, useArtifactExport, useArtifactHistory } from '../hooks.js';
|
|
6
|
+
import { RejectForm } from './approval.js';
|
|
7
|
+
import { ArtifactEditor } from './editor.js';
|
|
8
|
+
import { ChangeList, cx, ErrorMessage, formatDate, kindLabel, Loading, rootAttributes, StatusBadge, slot, useAnnouncer, } from './shared.js';
|
|
9
|
+
import { ArtifactView } from './view.js';
|
|
10
|
+
const DEFAULT_ACTIONS = {
|
|
11
|
+
draft: ['submit', 'archive'],
|
|
12
|
+
pending_approval: ['approve', 'reject', 'archive'],
|
|
13
|
+
published: ['archive'],
|
|
14
|
+
archived: [],
|
|
15
|
+
};
|
|
16
|
+
const ACTION_FROM = {
|
|
17
|
+
submit: ['draft'],
|
|
18
|
+
approve: ['pending_approval'],
|
|
19
|
+
reject: ['pending_approval'],
|
|
20
|
+
publish: ['draft', 'pending_approval'],
|
|
21
|
+
archive: ['draft', 'pending_approval', 'published'],
|
|
22
|
+
};
|
|
23
|
+
const TABS = ['view', 'code', 'history'];
|
|
24
|
+
const TAB_LABEL = { view: 'tabView', code: 'tabCode', history: 'tabHistory' };
|
|
25
|
+
/** Assistant-style side panel: View, Code and History tabs, version selector, export and lifecycle (spec §13.1). */
|
|
26
|
+
export function ArtifactPanel(props) {
|
|
27
|
+
const ctx = useArtkit();
|
|
28
|
+
const { t, client, cache } = ctx;
|
|
29
|
+
const id = props.id ?? props.artifact?.id;
|
|
30
|
+
const latestQuery = useArtifact(id, props.artifact ? { initial: props.artifact } : {});
|
|
31
|
+
const latest = latestQuery.artifact;
|
|
32
|
+
const [ownTab, setOwnTab] = useState(props.defaultTab ?? 'view');
|
|
33
|
+
const tab = props.tab ?? ownTab;
|
|
34
|
+
const selectTab = (next) => {
|
|
35
|
+
setOwnTab(next);
|
|
36
|
+
props.onTabChange?.(next);
|
|
37
|
+
};
|
|
38
|
+
const [ownVersion, setOwnVersion] = useState(undefined);
|
|
39
|
+
const selectedVersion = props.onVersionChange ? props.version : (props.version ?? ownVersion);
|
|
40
|
+
const selectVersion = (next) => {
|
|
41
|
+
setOwnVersion(next);
|
|
42
|
+
props.onVersionChange?.(next);
|
|
43
|
+
};
|
|
44
|
+
const viewingLatest = selectedVersion === undefined || selectedVersion === latest?.version;
|
|
45
|
+
const selectedQuery = useArtifact(viewingLatest ? undefined : id, selectedVersion === undefined ? {} : { version: selectedVersion });
|
|
46
|
+
const shown = viewingLatest ? latest : selectedQuery.artifact;
|
|
47
|
+
const history = useArtifactHistory(id);
|
|
48
|
+
const exporter = useArtifactExport(id ?? '', latest?.kind);
|
|
49
|
+
const [live, announce] = useAnnouncer();
|
|
50
|
+
const [statusBusy, setStatusBusy] = useState(undefined);
|
|
51
|
+
const [actionError, setActionError] = useState(undefined);
|
|
52
|
+
const [rejecting, setRejecting] = useState(false);
|
|
53
|
+
const [reason, setReason] = useState('');
|
|
54
|
+
const baseId = useId();
|
|
55
|
+
if (!latest || !id) {
|
|
56
|
+
return (_jsx("aside", { className: cx('ak-root ak-panel', props.className), ...rootAttributes(ctx), children: latestQuery.error ? (_jsx(ErrorMessage, { error: latestQuery.error, onRetry: () => void latestQuery.refresh().catch(() => undefined) })) : (_jsx(Loading, {})) }));
|
|
57
|
+
}
|
|
58
|
+
const actions = (props.actions === false ? [] : (props.actions ?? DEFAULT_ACTIONS[latest.status])).filter((action) => ACTION_FROM[action].includes(latest.status));
|
|
59
|
+
async function runAction(action, message) {
|
|
60
|
+
if (!latest)
|
|
61
|
+
return;
|
|
62
|
+
setStatusBusy(action);
|
|
63
|
+
setActionError(undefined);
|
|
64
|
+
try {
|
|
65
|
+
const updated = await client.setStatus(latest.id, action, message);
|
|
66
|
+
cache.put(updated);
|
|
67
|
+
announce(t('statusChanged', { status: t(`status_${updated.status}`) }));
|
|
68
|
+
setRejecting(false);
|
|
69
|
+
setReason('');
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
setActionError(error);
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
setStatusBusy(undefined);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async function restore(version) {
|
|
79
|
+
try {
|
|
80
|
+
const result = await history.restore(version);
|
|
81
|
+
announce(t('restored', { version, newVersion: result.version }));
|
|
82
|
+
selectVersion(undefined);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
setActionError(error);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async function exportAs(format) {
|
|
89
|
+
try {
|
|
90
|
+
const result = await exporter.exportArtifact(format, viewingLatest ? {} : { version: selectedVersion });
|
|
91
|
+
announce(t('exported', { filename: result.filename }));
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
// The hook keeps the error; it is rendered below.
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const tabId = (name) => `${baseId}-tab-${name}`;
|
|
98
|
+
const panelId = (name) => `${baseId}-panel-${name}`;
|
|
99
|
+
const onTabKeyDown = (event) => {
|
|
100
|
+
const index = TABS.indexOf(tab);
|
|
101
|
+
let next;
|
|
102
|
+
if (event.key === 'ArrowRight')
|
|
103
|
+
next = TABS[(index + 1) % TABS.length];
|
|
104
|
+
else if (event.key === 'ArrowLeft')
|
|
105
|
+
next = TABS[(index + TABS.length - 1) % TABS.length];
|
|
106
|
+
else if (event.key === 'Home')
|
|
107
|
+
next = TABS[0];
|
|
108
|
+
else if (event.key === 'End')
|
|
109
|
+
next = TABS[TABS.length - 1];
|
|
110
|
+
if (!next)
|
|
111
|
+
return;
|
|
112
|
+
event.preventDefault();
|
|
113
|
+
selectTab(next);
|
|
114
|
+
document.getElementById(tabId(next))?.focus();
|
|
115
|
+
};
|
|
116
|
+
const versionOptions = mergeVersions(history.entries, latest.version);
|
|
117
|
+
const exportFormats = props.exportFormats ?? exporter.formats;
|
|
118
|
+
return (_jsxs("aside", { className: cx('ak-root ak-panel', props.className), ...rootAttributes(ctx, latest.themeId), "aria-labelledby": `${baseId}-title`, "data-kind": latest.kind, children: [live, _jsxs("header", { ...slot(props.slots, 'header', 'ak-panel-header'), children: [_jsx("h2", { id: `${baseId}-title`, ...slot(props.slots, 'title', 'ak-panel-title'), children: latest.title }), _jsx("span", { className: "ak-history-meta", children: kindLabel(ctx, latest.kind) }), _jsx(StatusBadge, { status: latest.status }), props.headerActions, props.onClose ? (_jsx("button", { type: "button", className: "ak-button", "data-variant": "quiet", onClick: props.onClose, "aria-label": t('close'), children: _jsx(X, { "aria-hidden": "true" }) })) : null] }), _jsxs("div", { ...slot(props.slots, 'toolbar', 'ak-panel-toolbar'), children: [_jsx("label", { htmlFor: `${baseId}-version`, children: t('version') }), _jsxs("select", { id: `${baseId}-version`, className: "ak-select", value: viewingLatest ? '' : String(selectedVersion), onChange: (event) => selectVersion(event.target.value === '' ? undefined : Number(event.target.value)), children: [_jsx("option", { value: "", children: `${t('versionShort', { version: latest.version })} (${t('latest')})` }), versionOptions
|
|
119
|
+
.filter((version) => version !== latest.version)
|
|
120
|
+
.map((version) => (_jsx("option", { value: String(version), children: t('versionShort', { version }) }, version)))] }), _jsx(ExportMenu, { formats: exportFormats, pending: exporter.pending, onOpen: () => void exporter.loadFormats(), onSelect: (format) => void exportAs(format) }), actions.map((action) => action === 'reject' ? (_jsxs("button", { type: "button", className: "ak-button", "data-variant": "danger", disabled: statusBusy !== undefined, onClick: () => setRejecting(true), children: [_jsx(X, { "aria-hidden": "true" }), t('action_reject')] }, action)) : (_jsxs("button", { type: "button", className: "ak-button", "data-variant": action === 'approve' || action === 'submit' || action === 'publish' ? 'primary' : undefined, disabled: statusBusy !== undefined, onClick: () => void runAction(action), children: [_jsx(ActionIcon, { action: action }), t(`action_${action}`)] }, action)))] }), rejecting ? (_jsx("div", { className: "ak-panel-toolbar", children: _jsx(RejectForm, { busy: statusBusy !== undefined, requireReason: true, reason: reason, onReasonChange: setReason, onSubmit: () => void runAction('reject', reason.trim()), onCancel: () => setRejecting(false) }) })) : null, actionError ? _jsx(ErrorMessage, { error: actionError, onDismiss: () => setActionError(undefined) }) : null, exporter.error ? _jsx(ErrorMessage, { error: exporter.error }) : null, exporter.warnings.length > 0 ? (_jsxs("div", { className: "ak-notice", role: "status", children: [t('exportWarnings'), _jsx("ul", { children: exporter.warnings.map((warning) => (_jsx("li", { children: warning }, warning))) })] })) : null, _jsx("div", { ...slot(props.slots, 'tabs', 'ak-tabs'), role: "tablist", "aria-label": t('tabsLabel'), children: TABS.map((name) => (_jsx("button", { id: tabId(name), type: "button", role: "tab", className: "ak-tab", "aria-selected": tab === name, "aria-controls": panelId(name), tabIndex: tab === name ? 0 : -1, onClick: () => selectTab(name), onKeyDown: onTabKeyDown, children: t(TAB_LABEL[name]) }, name))) }), _jsxs("div", { ...slot(props.slots, 'body', 'ak-panel-body'), role: "tabpanel", id: panelId(tab), "aria-labelledby": tabId(tab), children: [tab === 'view' ? (viewingLatest && (props.permission === 'edit' || props.lockedBy) ? (_jsx(ArtifactEditor, { artifact: latest, permission: props.permission ?? 'read', ...(props.lockedBy ? { lockedBy: props.lockedBy } : {}), ...(props.partial === undefined ? {} : { partial: props.partial }) })) : shown ? (_jsx(ArtifactView, { artifact: shown, ...(viewingLatest && props.partial !== undefined ? { partial: props.partial } : {}) })) : selectedQuery.error ? (_jsx(ErrorMessage, { error: selectedQuery.error })) : (_jsx(Loading, {}))) : null, tab === 'code' ? _jsx(CodeTab, { artifact: shown, slots: props.slots }) : null, tab === 'history' ? (_jsx(HistoryTab, { history: history, latestVersion: latest.version, selectedVersion: viewingLatest ? latest.version : selectedVersion, slots: props.slots, onView: (version) => {
|
|
121
|
+
selectVersion(version === latest.version ? undefined : version);
|
|
122
|
+
selectTab('view');
|
|
123
|
+
}, onRestore: (version) => void restore(version) })) : null] })] }));
|
|
124
|
+
}
|
|
125
|
+
function mergeVersions(entries, latest) {
|
|
126
|
+
const versions = new Set([latest, ...entries.map((entry) => entry.version)]);
|
|
127
|
+
return [...versions].sort((a, b) => b - a);
|
|
128
|
+
}
|
|
129
|
+
function CodeTab({ artifact, slots, }) {
|
|
130
|
+
const { t } = useArtkit();
|
|
131
|
+
const [copied, setCopied] = useState(false);
|
|
132
|
+
const text = useMemo(() => (artifact ? JSON.stringify(artifact.content, null, 2) : ''), [artifact]);
|
|
133
|
+
if (!artifact)
|
|
134
|
+
return _jsx(Loading, {});
|
|
135
|
+
const clipboard = typeof navigator === 'undefined' ? undefined : navigator.clipboard;
|
|
136
|
+
return (_jsxs("div", { className: "ak-code-tab", children: [clipboard ? (_jsxs("button", { type: "button", className: "ak-button", onClick: () => {
|
|
137
|
+
clipboard.writeText(text).then(() => setCopied(true), () => setCopied(false));
|
|
138
|
+
}, children: [_jsx(Copy, { "aria-hidden": "true" }), copied ? t('copied') : t('copy')] })) : null, _jsx("pre", { ...slot(slots, 'code', 'ak-code'), children: _jsx("code", { children: text }) })] }));
|
|
139
|
+
}
|
|
140
|
+
function HistoryTab(props) {
|
|
141
|
+
const ctx = useArtkit();
|
|
142
|
+
const { t } = ctx;
|
|
143
|
+
const { history } = props;
|
|
144
|
+
if (history.error && history.entries.length === 0)
|
|
145
|
+
return _jsx(ErrorMessage, { error: history.error, onRetry: () => void history.refresh() });
|
|
146
|
+
if (history.loading && history.entries.length === 0)
|
|
147
|
+
return _jsx(Loading, {});
|
|
148
|
+
if (history.entries.length === 0)
|
|
149
|
+
return _jsx("p", { className: "ak-notice", children: t('historyEmpty') });
|
|
150
|
+
return (_jsxs("div", { children: [_jsx("ol", { ...slot(props.slots, 'history', 'ak-history'), reversed: true, children: history.entries.map((entry) => (_jsxs("li", { className: "ak-history-entry", "aria-current": entry.version === props.selectedVersion ? 'true' : undefined, children: [_jsxs("div", { className: "ak-history-head", children: [_jsx("strong", { children: t('versionShort', { version: entry.version }) }), _jsxs("span", { className: "ak-history-meta", children: [formatDate(entry.createdAt, ctx.locale), " \u00B7", ' ', t('by', { actor: t(`actor_${entry.actor.type}`) }), entry.restoredFrom !== undefined
|
|
151
|
+
? ` · ${t('restoredFrom', { version: entry.restoredFrom })}`
|
|
152
|
+
: ''] }), _jsxs("span", { className: "ak-history-actions", children: [_jsxs("button", { type: "button", className: "ak-button", "aria-label": t('viewVersion', { version: entry.version }), onClick: () => props.onView(entry.version), children: [_jsx(Eye, { "aria-hidden": "true" }), t('tabView')] }), entry.version !== props.latestVersion ? (_jsxs("button", { type: "button", className: "ak-button", "aria-label": t('restoreVersion', { version: entry.version }), disabled: history.restoring !== undefined, onClick: () => props.onRestore(entry.version), children: [_jsx(History, { "aria-hidden": "true" }), t('restore')] })) : null] })] }), entry.message ? _jsx("p", { className: "ak-history-meta", children: entry.message }) : null, entry.diff.length > 0 ? _jsx(ChangeList, { changes: entry.diff }) : null] }, entry.version))) }), history.hasMore ? (_jsx("button", { type: "button", className: "ak-button", disabled: history.loading, onClick: () => void history.loadMore(), children: t('loadMore') })) : null] }));
|
|
153
|
+
}
|
|
154
|
+
function ExportMenu(props) {
|
|
155
|
+
const { t } = useArtkit();
|
|
156
|
+
const [open, setOpen] = useState(false);
|
|
157
|
+
const button = useRef(null);
|
|
158
|
+
const list = useRef(null);
|
|
159
|
+
const menuId = useId();
|
|
160
|
+
const items = useCallback(() => [...(list.current?.querySelectorAll('[role="menuitem"]') ?? [])], []);
|
|
161
|
+
useEffect(() => {
|
|
162
|
+
if (open)
|
|
163
|
+
items()[0]?.focus();
|
|
164
|
+
}, [open, items]);
|
|
165
|
+
const close = (refocus) => {
|
|
166
|
+
setOpen(false);
|
|
167
|
+
if (refocus)
|
|
168
|
+
button.current?.focus();
|
|
169
|
+
};
|
|
170
|
+
const onMenuKeyDown = (event) => {
|
|
171
|
+
const all = items();
|
|
172
|
+
const index = all.indexOf(document.activeElement);
|
|
173
|
+
let next;
|
|
174
|
+
if (event.key === 'ArrowDown')
|
|
175
|
+
next = all[(index + 1) % all.length];
|
|
176
|
+
else if (event.key === 'ArrowUp')
|
|
177
|
+
next = all[(index - 1 + all.length) % all.length];
|
|
178
|
+
else if (event.key === 'Home')
|
|
179
|
+
next = all[0];
|
|
180
|
+
else if (event.key === 'End')
|
|
181
|
+
next = all[all.length - 1];
|
|
182
|
+
else if (event.key === 'Escape') {
|
|
183
|
+
event.preventDefault();
|
|
184
|
+
close(true);
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
else if (event.key === 'Tab') {
|
|
188
|
+
close(false);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (next) {
|
|
192
|
+
event.preventDefault();
|
|
193
|
+
next.focus();
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
return (_jsxs("div", { className: "ak-menu", children: [_jsxs("button", { ref: button, type: "button", className: "ak-button", "aria-haspopup": "menu", "aria-expanded": open, "aria-controls": open ? menuId : undefined, disabled: props.pending !== undefined, onClick: () => {
|
|
197
|
+
if (!open)
|
|
198
|
+
props.onOpen();
|
|
199
|
+
setOpen(!open);
|
|
200
|
+
}, onKeyDown: (event) => {
|
|
201
|
+
if (event.key === 'ArrowDown' && !open) {
|
|
202
|
+
event.preventDefault();
|
|
203
|
+
props.onOpen();
|
|
204
|
+
setOpen(true);
|
|
205
|
+
}
|
|
206
|
+
}, children: [_jsx(Download, { "aria-hidden": "true" }), props.pending ? t('exporting') : t('export'), _jsx(ChevronDown, { "aria-hidden": "true" })] }), open ? (_jsx("div", { ref: list, id: menuId, role: "menu", className: "ak-menu-list", "aria-label": t('export'), tabIndex: -1, onKeyDown: onMenuKeyDown, children: props.formats.length === 0 ? (_jsx("p", { className: "ak-menu-item", children: t('noExportFormats') })) : (props.formats.map((format) => (_jsx("button", { type: "button", role: "menuitem", className: "ak-menu-item", tabIndex: -1, "aria-label": t('exportAs', { format: format.toUpperCase() }), onClick: () => {
|
|
207
|
+
close(true);
|
|
208
|
+
props.onSelect(format);
|
|
209
|
+
}, children: format.toUpperCase() }, format)))) })) : null] }));
|
|
210
|
+
}
|
|
211
|
+
const ACTION_ICONS = { submit: Send, approve: Check, publish: Rocket, archive: Archive };
|
|
212
|
+
function ActionIcon({ action }) {
|
|
213
|
+
const Icon = ACTION_ICONS[action];
|
|
214
|
+
return Icon ? _jsx(Icon, { "aria-hidden": "true" }) : null;
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel.js","sourceRoot":"","sources":["../../src/components/panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { ArtifactStatus, ChangeSummary } from '@artkit-ai/core';
|
|
2
|
+
import { Component, type CSSProperties, type ErrorInfo, type ReactNode } from 'react';
|
|
3
|
+
import { type ArtkitContextValue } from '../context.js';
|
|
4
|
+
/**
|
|
5
|
+
* Customization without forking (spec §13.5): each named part of a component accepts extra classes and
|
|
6
|
+
* inline styles. Base classes (`ak-*`) stay, so overrides compose with the default CSS.
|
|
7
|
+
*/
|
|
8
|
+
export type Slots<Part extends string> = Partial<Record<Part, {
|
|
9
|
+
className?: string;
|
|
10
|
+
style?: CSSProperties;
|
|
11
|
+
}>>;
|
|
12
|
+
export declare function cx(...classes: (string | false | null | undefined)[]): string;
|
|
13
|
+
export declare function slot<Part extends string>(slots: Slots<Part> | undefined, part: Part, base: string): {
|
|
14
|
+
className: string;
|
|
15
|
+
style?: CSSProperties;
|
|
16
|
+
};
|
|
17
|
+
/** Attributes of every artkit root element: theme scope and forced light/dark. */
|
|
18
|
+
export declare function rootAttributes(ctx: ArtkitContextValue, themeId?: string): Record<string, string>;
|
|
19
|
+
export declare function StatusBadge({ status, className }: {
|
|
20
|
+
status: ArtifactStatus;
|
|
21
|
+
className?: string;
|
|
22
|
+
}): import("react").JSX.Element;
|
|
23
|
+
export declare function errorMessage(error: unknown, fallback: string): string;
|
|
24
|
+
export declare function ErrorMessage({ error, onRetry, onDismiss, className, style, }: {
|
|
25
|
+
error: unknown;
|
|
26
|
+
onRetry?: () => void;
|
|
27
|
+
onDismiss?: () => void;
|
|
28
|
+
className?: string;
|
|
29
|
+
style?: CSSProperties;
|
|
30
|
+
}): import("react").JSX.Element;
|
|
31
|
+
export declare function Loading({ label, className, style, }: {
|
|
32
|
+
label?: string;
|
|
33
|
+
className?: string;
|
|
34
|
+
style?: CSSProperties;
|
|
35
|
+
}): import("react").JSX.Element;
|
|
36
|
+
/**
|
|
37
|
+
* Polite live region for screen readers (spec §18.2). The text is cleared first so repeating the same
|
|
38
|
+
* message is announced again.
|
|
39
|
+
*/
|
|
40
|
+
export declare function useAnnouncer(): [ReactNode, (message: string) => void];
|
|
41
|
+
export declare function ChangeList({ changes, className, style, }: {
|
|
42
|
+
changes: ChangeSummary[];
|
|
43
|
+
className?: string;
|
|
44
|
+
style?: CSSProperties;
|
|
45
|
+
}): import("react").JSX.Element;
|
|
46
|
+
interface BoundaryProps {
|
|
47
|
+
fallback: (error: unknown, reset: () => void) => ReactNode;
|
|
48
|
+
onReset?: () => void;
|
|
49
|
+
children?: ReactNode;
|
|
50
|
+
}
|
|
51
|
+
/** Catches loader and renderer failures so one broken kind does not take the page down. */
|
|
52
|
+
export declare class ErrorBoundary extends Component<BoundaryProps, {
|
|
53
|
+
error: unknown;
|
|
54
|
+
failed: boolean;
|
|
55
|
+
}> {
|
|
56
|
+
state: {
|
|
57
|
+
error: unknown;
|
|
58
|
+
failed: boolean;
|
|
59
|
+
};
|
|
60
|
+
static getDerivedStateFromError(error: unknown): {
|
|
61
|
+
error: unknown;
|
|
62
|
+
failed: boolean;
|
|
63
|
+
};
|
|
64
|
+
componentDidCatch(_error: unknown, _info: ErrorInfo): void;
|
|
65
|
+
reset: () => void;
|
|
66
|
+
render(): ReactNode;
|
|
67
|
+
}
|
|
68
|
+
export declare function formatDate(value: string, locale: string): string;
|
|
69
|
+
export declare function kindLabel(ctx: ArtkitContextValue, kind: string): string;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/components/shared.tsx"],"names":[],"mappings":"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"}
|