@signalsafe/tree-spec-editor 0.2.1 → 0.2.3
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 +21 -0
- package/README.md +246 -69
- package/README.standalone.md +14 -0
- package/dist/index.d.ts +34 -26
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -14
- package/dist/lib/PanelHeaderCollapseCarets.d.ts +1 -1
- package/dist/lib/PanelHeaderCollapseCarets.d.ts.map +1 -1
- package/dist/lib/buildDefaultToolbarSpec.d.ts +3 -79
- package/dist/lib/buildDefaultToolbarSpec.d.ts.map +1 -1
- package/dist/lib/buildDefaultToolbarSpec.js +9 -155
- package/dist/lib/panelNodeLink.d.ts +13 -0
- package/dist/lib/panelNodeLink.d.ts.map +1 -0
- package/dist/lib/panelNodeLink.js +12 -0
- package/dist/lib/selectionStyles.d.ts +9 -0
- package/dist/lib/selectionStyles.d.ts.map +1 -0
- package/dist/lib/selectionStyles.js +8 -0
- package/dist/lib/toolbar/defaultToolbarTypes.d.ts +89 -0
- package/dist/lib/toolbar/defaultToolbarTypes.d.ts.map +1 -0
- package/dist/lib/toolbar/defaultToolbarTypes.js +1 -0
- package/dist/lib/toolbar/toolbarSectionBuilders.d.ts +10 -0
- package/dist/lib/toolbar/toolbarSectionBuilders.d.ts.map +1 -0
- package/dist/lib/toolbar/toolbarSectionBuilders.js +153 -0
- package/dist/modals/AuditLogModal.d.ts +1 -1
- package/dist/modals/AuditLogModal.d.ts.map +1 -1
- package/dist/modals/AuditLogModal.js +1 -1
- package/dist/modals/DraftHistoryModal.d.ts +1 -1
- package/dist/modals/DraftHistoryModal.d.ts.map +1 -1
- package/dist/modals/DraftHistoryModal.js +1 -1
- package/dist/modals/PublishReviewModal.d.ts +1 -1
- package/dist/modals/PublishReviewModal.d.ts.map +1 -1
- package/dist/panels/AdvancedJsonPanel.d.ts +1 -1
- package/dist/panels/AdvancedJsonPanel.d.ts.map +1 -1
- package/dist/panels/AdvancedJsonPanel.js +1 -1
- package/dist/panels/AppearancePanel.d.ts +26 -0
- package/dist/panels/AppearancePanel.d.ts.map +1 -0
- package/dist/panels/AppearancePanel.js +76 -0
- package/dist/panels/ChoiceEdgeAppearanceFields.d.ts +10 -0
- package/dist/panels/ChoiceEdgeAppearanceFields.d.ts.map +1 -0
- package/dist/panels/ChoiceEdgeAppearanceFields.js +13 -0
- package/dist/panels/ChoiceTemplatesPanel.d.ts +27 -0
- package/dist/panels/ChoiceTemplatesPanel.d.ts.map +1 -0
- package/dist/panels/ChoiceTemplatesPanel.js +9 -0
- package/dist/panels/GraphEditorInfoPanel.d.ts +5 -2
- package/dist/panels/GraphEditorInfoPanel.d.ts.map +1 -1
- package/dist/panels/GraphEditorInfoPanel.js +7 -7
- package/dist/panels/InspectorPanel.d.ts +3 -78
- package/dist/panels/InspectorPanel.d.ts.map +1 -1
- package/dist/panels/InspectorPanel.js +20 -60
- package/dist/panels/IssuesPanel.d.ts +6 -2
- package/dist/panels/IssuesPanel.d.ts.map +1 -1
- package/dist/panels/IssuesPanel.js +17 -5
- package/dist/panels/NodesPanel.d.ts +3 -1
- package/dist/panels/NodesPanel.d.ts.map +1 -1
- package/dist/panels/NodesPanel.js +13 -7
- package/dist/panels/SelectedEdgePanel.d.ts +10 -3
- package/dist/panels/SelectedEdgePanel.d.ts.map +1 -1
- package/dist/panels/SelectedEdgePanel.js +5 -6
- package/dist/panels/ToolbarPanel.d.ts +1 -1
- package/dist/panels/ToolbarPanel.d.ts.map +1 -1
- package/dist/panels/ToolbarPanel.js +2 -4
- package/dist/panels/inspector/ChoiceEditorCard.d.ts +28 -0
- package/dist/panels/inspector/ChoiceEditorCard.d.ts.map +1 -0
- package/dist/panels/inspector/ChoiceEditorCard.js +36 -0
- package/dist/panels/inspector/ChoiceEditorList.d.ts +25 -0
- package/dist/panels/inspector/ChoiceEditorList.d.ts.map +1 -0
- package/dist/panels/inspector/ChoiceEditorList.js +10 -0
- package/dist/panels/inspector/NodeTypeField.d.ts +8 -0
- package/dist/panels/inspector/NodeTypeField.d.ts.map +1 -0
- package/dist/panels/inspector/NodeTypeField.js +12 -0
- package/dist/panels/inspector/RequiredNodeCard.d.ts +14 -0
- package/dist/panels/inspector/RequiredNodeCard.d.ts.map +1 -0
- package/dist/panels/inspector/RequiredNodeCard.js +16 -0
- package/dist/panels/inspector/choiceActionIconProps.d.ts +12 -0
- package/dist/panels/inspector/choiceActionIconProps.d.ts.map +1 -0
- package/dist/panels/inspector/choiceActionIconProps.js +26 -0
- package/dist/panels/inspector/types.d.ts +77 -0
- package/dist/panels/inspector/types.d.ts.map +1 -0
- package/dist/panels/inspector/types.js +11 -0
- package/package.json +86 -65
package/dist/index.js
CHANGED
|
@@ -22,21 +22,25 @@
|
|
|
22
22
|
* - `lib/` — UI-flavored helpers (Bootstrap severity badge classes)
|
|
23
23
|
*/
|
|
24
24
|
export { default } from '@signalsafe/tree-spec-editor-react';
|
|
25
|
-
export { default as IssuesPanel } from './panels/IssuesPanel';
|
|
26
|
-
export { default as GraphEditorInfoPanel } from './panels/GraphEditorInfoPanel';
|
|
27
|
-
export { default as NodesPanel } from './panels/NodesPanel';
|
|
28
|
-
export { default as AdvancedJsonPanel } from './panels/AdvancedJsonPanel';
|
|
29
|
-
export { default as InspectorPanel, DEFAULT_OUTCOME_OPTIONS } from './panels/InspectorPanel';
|
|
30
|
-
export { default as
|
|
31
|
-
export { default as
|
|
32
|
-
export { default as
|
|
33
|
-
export { default as
|
|
34
|
-
export { default as
|
|
35
|
-
export {
|
|
36
|
-
export { default as
|
|
37
|
-
export {
|
|
25
|
+
export { default as IssuesPanel } from './panels/IssuesPanel.js';
|
|
26
|
+
export { default as GraphEditorInfoPanel } from './panels/GraphEditorInfoPanel.js';
|
|
27
|
+
export { default as NodesPanel } from './panels/NodesPanel.js';
|
|
28
|
+
export { default as AdvancedJsonPanel } from './panels/AdvancedJsonPanel.js';
|
|
29
|
+
export { default as InspectorPanel, DEFAULT_OUTCOME_OPTIONS } from './panels/InspectorPanel.js';
|
|
30
|
+
export { default as AppearancePanel } from './panels/AppearancePanel.js';
|
|
31
|
+
export { default as SelectedEdgePanel } from './panels/SelectedEdgePanel.js';
|
|
32
|
+
export { default as ChoiceTemplatesPanel } from './panels/ChoiceTemplatesPanel.js';
|
|
33
|
+
export { default as ChoiceEdgeAppearanceFields } from './panels/ChoiceEdgeAppearanceFields.js';
|
|
34
|
+
export { default as PublishReviewModal } from './modals/PublishReviewModal.js';
|
|
35
|
+
export { default as DraftHistoryModal } from './modals/DraftHistoryModal.js';
|
|
36
|
+
export { default as AuditLogModal } from './modals/AuditLogModal.js';
|
|
37
|
+
export { default as ToolbarPanel, TOOLBAR_ITEM_KIND } from './panels/ToolbarPanel.js';
|
|
38
|
+
export { getIssueSeverityBadgeClass } from './lib/panelHelpers.js';
|
|
39
|
+
export { LIST_SELECTION_CLASS, CANVAS_SELECTION_CLASS, LIST_SELECTION_TEXT_CLASS, CANVAS_SELECTION_TEXT_CLASS } from './lib/selectionStyles.js';
|
|
40
|
+
export { default as PanelHeaderCollapseCarets } from './lib/PanelHeaderCollapseCarets.js';
|
|
41
|
+
export { buildDefaultToolbarSpec } from './lib/buildDefaultToolbarSpec.js';
|
|
38
42
|
/* ------------------------------------------------------------------------- */
|
|
39
43
|
/* Framework-agnostic re-exports from @signalsafe/tree-spec-editor-core. */
|
|
40
44
|
/* Hosts may consume these directly from `-core` to skip the React surface. */
|
|
41
45
|
/* ------------------------------------------------------------------------- */
|
|
42
|
-
export { END_NODE_ID, GRAPH_SELECTION_KIND, safeUUID, getTransition, upsertTransition, deleteTransitionsForChoice, lintEditorTree, parsePydanticOutcomeErrors, shouldQueueInitialValidation, TREE_SPEC_NODE_TYPE_PRESETS, autoLayoutTree, getNextSpawnPosition, getAutosaveStatusLabel, AUTOSAVE_STATUS, getKeyboardShortcutAction, KEYBOARD_SHORTCUT_ACTION, applyTreeTemplate, computeTreeDiffSummary, deleteNode, duplicateNode, buildStableEntries, } from '@signalsafe/tree-spec-editor-core';
|
|
46
|
+
export { END_NODE_ID, GRAPH_SELECTION_KIND, safeUUID, getTransition, upsertTransition, deleteTransitionsForChoice, lintEditorTree, parsePydanticOutcomeErrors, shouldQueueInitialValidation, TREE_SPEC_NODE_TYPE_PRESETS, autoLayoutTree, getNextSpawnPosition, needsInitialLayout, getThemeHints, getEditorHints, isNodeLocked, patchEditorHints, editorHintsToStyle, RENDER_HINTS_THEME_NS, RENDER_HINTS_EDITOR_NS, GRAPH_POSITION_KEY, getAutosaveStatusLabel, AUTOSAVE_STATUS, getKeyboardShortcutAction, KEYBOARD_SHORTCUT_ACTION, applyTreeTemplate, applyEditorConnectOnDrop, computeTreeDiffSummary, deleteNode, duplicateNode, buildStableEntries, } from '@signalsafe/tree-spec-editor-core';
|
|
@@ -3,5 +3,5 @@ export interface PanelHeaderCollapseCaretsProps {
|
|
|
3
3
|
onToggle: () => void;
|
|
4
4
|
}
|
|
5
5
|
/** Collapse/expand carets for card panel headers. */
|
|
6
|
-
export default function PanelHeaderCollapseCarets({ expanded, onToggle, }: Readonly<PanelHeaderCollapseCaretsProps>): import("react
|
|
6
|
+
export default function PanelHeaderCollapseCarets({ expanded, onToggle, }: Readonly<PanelHeaderCollapseCaretsProps>): import("react").JSX.Element;
|
|
7
7
|
//# sourceMappingURL=PanelHeaderCollapseCarets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelHeaderCollapseCarets.d.ts","sourceRoot":"","sources":["../../src/lib/PanelHeaderCollapseCarets.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAC9C,QAAQ,EACR,QAAQ,GACX,EAAE,QAAQ,CAAC,8BAA8B,CAAC
|
|
1
|
+
{"version":3,"file":"PanelHeaderCollapseCarets.d.ts","sourceRoot":"","sources":["../../src/lib/PanelHeaderCollapseCarets.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAC9C,QAAQ,EACR,QAAQ,GACX,EAAE,QAAQ,CAAC,8BAA8B,CAAC,+BAY1C"}
|
|
@@ -1,83 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import
|
|
3
|
-
import { type ToolbarItem } from '../panels/ToolbarPanel.js';
|
|
1
|
+
import type { ToolbarItem } from '../panels/ToolbarPanel.js';
|
|
2
|
+
import type { BuildDefaultToolbarSpecOptions } from './toolbar/defaultToolbarTypes.js';
|
|
4
3
|
export { AUTOSAVE_STATUS } from '@signalsafe/tree-spec-editor-core';
|
|
5
|
-
export
|
|
6
|
-
canValidate?: boolean;
|
|
7
|
-
canListSnapshots?: boolean;
|
|
8
|
-
canListAudit?: boolean;
|
|
9
|
-
canCreateSnapshot?: boolean;
|
|
10
|
-
canCloneToDraft?: boolean;
|
|
11
|
-
canPublish?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export interface DefaultToolbarNodeType {
|
|
14
|
-
type?: string;
|
|
15
|
-
label?: string;
|
|
16
|
-
divider?: boolean;
|
|
17
|
-
id?: string;
|
|
18
|
-
patch?: Record<string, unknown>;
|
|
19
|
-
}
|
|
20
|
-
export interface DefaultToolbarTemplate {
|
|
21
|
-
id: string;
|
|
22
|
-
label: string;
|
|
23
|
-
spec: TreeTemplateSpec;
|
|
24
|
-
}
|
|
25
|
-
export interface DefaultToolbarLabels {
|
|
26
|
-
add?: string;
|
|
27
|
-
templates?: string;
|
|
28
|
-
validate?: string;
|
|
29
|
-
autoLayout?: string;
|
|
30
|
-
resetView?: string;
|
|
31
|
-
preview?: string;
|
|
32
|
-
save?: string;
|
|
33
|
-
publish?: string;
|
|
34
|
-
history?: string;
|
|
35
|
-
audit?: string;
|
|
36
|
-
snapshot?: string;
|
|
37
|
-
clone?: string;
|
|
38
|
-
draftBadge?: string;
|
|
39
|
-
publishedBadge?: string;
|
|
40
|
-
}
|
|
41
|
-
export interface DefaultToolbarState {
|
|
42
|
-
isPublished: boolean;
|
|
43
|
-
saving: boolean;
|
|
44
|
-
publishing: boolean;
|
|
45
|
-
creatingSnapshot: boolean;
|
|
46
|
-
cloning: boolean;
|
|
47
|
-
canPublish: boolean;
|
|
48
|
-
hasTree: boolean;
|
|
49
|
-
autosaveStatus: AutosaveStatus;
|
|
50
|
-
}
|
|
51
|
-
export interface DefaultToolbarActions {
|
|
52
|
-
addNodeOfType: (type: string, patch?: Record<string, unknown>) => void;
|
|
53
|
-
insertTemplate: (spec: TreeTemplateSpec) => void;
|
|
54
|
-
triggerResetView: () => void;
|
|
55
|
-
autoLayout: () => void;
|
|
56
|
-
validate: () => void | Promise<void>;
|
|
57
|
-
saveDraft: () => void | Promise<void>;
|
|
58
|
-
setShowDraftHistory: (show: boolean) => void;
|
|
59
|
-
setShowAudit: (show: boolean) => void;
|
|
60
|
-
createSnapshot: () => void | Promise<void>;
|
|
61
|
-
cloneToDraft: () => void | Promise<void>;
|
|
62
|
-
setShowPublishModal: (show: boolean) => void;
|
|
63
|
-
}
|
|
64
|
-
export interface BuildDefaultToolbarSpecOptions {
|
|
65
|
-
state: DefaultToolbarState;
|
|
66
|
-
actions: DefaultToolbarActions;
|
|
67
|
-
capabilities?: DefaultToolbarCapabilities;
|
|
68
|
-
nodeTypes?: DefaultToolbarNodeType[];
|
|
69
|
-
templates?: DefaultToolbarTemplate[];
|
|
70
|
-
backSlot?: {
|
|
71
|
-
id?: string;
|
|
72
|
-
render: () => ReactNode;
|
|
73
|
-
};
|
|
74
|
-
preview?: {
|
|
75
|
-
onClick: () => void;
|
|
76
|
-
disabled?: boolean;
|
|
77
|
-
};
|
|
78
|
-
labels?: DefaultToolbarLabels;
|
|
79
|
-
extraItems?: ToolbarItem[];
|
|
80
|
-
}
|
|
4
|
+
export type { BuildDefaultToolbarSpecOptions, DefaultToolbarActions, DefaultToolbarBackSlot, DefaultToolbarCapabilities, DefaultToolbarLabels, DefaultToolbarNodeType, DefaultToolbarState, DefaultToolbarTemplate, } from './toolbar/defaultToolbarTypes.js';
|
|
81
5
|
/** Build the default TreeSpec editor toolbar item list from state, actions, and capability flags. */
|
|
82
6
|
export declare function buildDefaultToolbarSpec(options: BuildDefaultToolbarSpecOptions): ToolbarItem[];
|
|
83
7
|
//# sourceMappingURL=buildDefaultToolbarSpec.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildDefaultToolbarSpec.d.ts","sourceRoot":"","sources":["../../src/lib/buildDefaultToolbarSpec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"buildDefaultToolbarSpec.d.ts","sourceRoot":"","sources":["../../src/lib/buildDefaultToolbarSpec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAW7D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,YAAY,EACR,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACzB,MAAM,kCAAkC,CAAC;AAE1C,qGAAqG;AACrG,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,WAAW,EAAE,CA+B9F"}
|
|
@@ -1,167 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { TOOLBAR_ITEM_KIND } from '../panels/ToolbarPanel.js';
|
|
1
|
+
import { appendAddDropdown, appendBackSlot, appendCapabilityButtons, appendLayoutButtons, appendSaveAndPublish, appendTemplatesDropdown, appendUndoRedo, } from './toolbar/toolbarSectionBuilders.js';
|
|
3
2
|
export { AUTOSAVE_STATUS } from '@signalsafe/tree-spec-editor-core';
|
|
4
|
-
function appendBackSlot(items, backSlot) {
|
|
5
|
-
items.push({
|
|
6
|
-
kind: TOOLBAR_ITEM_KIND.CUSTOM,
|
|
7
|
-
id: backSlot.id ?? 'back',
|
|
8
|
-
render: backSlot.render,
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
function appendAddDropdown(items, nodeTypes, actions, labels, isPublished) {
|
|
12
|
-
const addEntries = nodeTypes.map((entry, index) => {
|
|
13
|
-
if (entry.divider) {
|
|
14
|
-
return { id: entry.id ?? `divider-${index}`, label: '', divider: true };
|
|
15
|
-
}
|
|
16
|
-
const type = entry.type ?? 'prompt';
|
|
17
|
-
return {
|
|
18
|
-
id: entry.id ?? `add-${type}`,
|
|
19
|
-
label: entry.label ?? type,
|
|
20
|
-
onClick: () => actions.addNodeOfType(type, entry.patch),
|
|
21
|
-
};
|
|
22
|
-
});
|
|
23
|
-
if (addEntries.length === 0)
|
|
24
|
-
return;
|
|
25
|
-
items.push({
|
|
26
|
-
kind: TOOLBAR_ITEM_KIND.DROPDOWN,
|
|
27
|
-
id: 'add',
|
|
28
|
-
label: labels.add ?? '+ Add',
|
|
29
|
-
disabled: isPublished,
|
|
30
|
-
entries: addEntries,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
function appendTemplatesDropdown(items, templates, actions, labels, isPublished) {
|
|
34
|
-
if (templates.length === 0)
|
|
35
|
-
return;
|
|
36
|
-
items.push({
|
|
37
|
-
kind: TOOLBAR_ITEM_KIND.DROPDOWN,
|
|
38
|
-
id: 'templates',
|
|
39
|
-
label: labels.templates ?? 'Templates',
|
|
40
|
-
disabled: isPublished,
|
|
41
|
-
entries: templates.map((t) => ({
|
|
42
|
-
id: t.id,
|
|
43
|
-
label: t.label,
|
|
44
|
-
onClick: () => actions.insertTemplate(t.spec),
|
|
45
|
-
})),
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
function appendLayoutButtons(items, state, actions, labels) {
|
|
49
|
-
const { isPublished, hasTree } = state;
|
|
50
|
-
items.push({
|
|
51
|
-
kind: TOOLBAR_ITEM_KIND.BUTTON,
|
|
52
|
-
id: 'reset-view',
|
|
53
|
-
label: labels.resetView ?? 'Reset view',
|
|
54
|
-
disabled: !hasTree,
|
|
55
|
-
onClick: () => actions.triggerResetView(),
|
|
56
|
-
}, {
|
|
57
|
-
kind: TOOLBAR_ITEM_KIND.BUTTON,
|
|
58
|
-
id: 'auto-layout',
|
|
59
|
-
label: labels.autoLayout ?? 'Auto layout',
|
|
60
|
-
disabled: !hasTree || isPublished,
|
|
61
|
-
onClick: () => actions.autoLayout(),
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
function appendCapabilityButtons(items, capabilities, state, actions, labels) {
|
|
65
|
-
const { isPublished, creatingSnapshot, cloning, hasTree } = state;
|
|
66
|
-
if (capabilities.canValidate) {
|
|
67
|
-
items.push({
|
|
68
|
-
kind: TOOLBAR_ITEM_KIND.BUTTON,
|
|
69
|
-
id: 'validate',
|
|
70
|
-
label: labels.validate ?? 'Validate',
|
|
71
|
-
disabled: !hasTree,
|
|
72
|
-
onClick: () => void actions.validate(),
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
if (capabilities.canListSnapshots) {
|
|
76
|
-
items.push({
|
|
77
|
-
kind: TOOLBAR_ITEM_KIND.BUTTON,
|
|
78
|
-
id: 'draft-history',
|
|
79
|
-
label: labels.history ?? 'Draft history',
|
|
80
|
-
onClick: () => actions.setShowDraftHistory(true),
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
if (capabilities.canListAudit) {
|
|
84
|
-
items.push({
|
|
85
|
-
kind: TOOLBAR_ITEM_KIND.BUTTON,
|
|
86
|
-
id: 'audit',
|
|
87
|
-
label: labels.audit ?? 'Audit log',
|
|
88
|
-
onClick: () => actions.setShowAudit(true),
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
if (capabilities.canCreateSnapshot) {
|
|
92
|
-
items.push({
|
|
93
|
-
kind: TOOLBAR_ITEM_KIND.BUTTON,
|
|
94
|
-
id: 'snapshot',
|
|
95
|
-
label: creatingSnapshot ? 'Creating…' : (labels.snapshot ?? 'Snapshot'),
|
|
96
|
-
disabled: isPublished || creatingSnapshot || !hasTree,
|
|
97
|
-
onClick: () => void actions.createSnapshot(),
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
if (capabilities.canCloneToDraft) {
|
|
101
|
-
items.push({
|
|
102
|
-
kind: TOOLBAR_ITEM_KIND.BUTTON,
|
|
103
|
-
id: 'clone-to-draft',
|
|
104
|
-
label: cloning ? 'Cloning…' : (labels.clone ?? 'Clone to draft'),
|
|
105
|
-
disabled: cloning,
|
|
106
|
-
onClick: () => void actions.cloneToDraft(),
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
function appendSaveAndPublish(items, capabilities, state, actions, labels, preview) {
|
|
111
|
-
const { isPublished, saving, publishing, canPublish, hasTree } = state;
|
|
112
|
-
items.push({
|
|
113
|
-
kind: TOOLBAR_ITEM_KIND.BUTTON,
|
|
114
|
-
id: 'save-draft',
|
|
115
|
-
label: saving ? 'Saving…' : (labels.save ?? 'Save draft'),
|
|
116
|
-
disabled: isPublished || saving || !hasTree,
|
|
117
|
-
onClick: () => void actions.saveDraft(),
|
|
118
|
-
});
|
|
119
|
-
if (capabilities.canPublish) {
|
|
120
|
-
items.push({
|
|
121
|
-
kind: TOOLBAR_ITEM_KIND.BUTTON,
|
|
122
|
-
id: 'publish',
|
|
123
|
-
label: publishing ? 'Publishing…' : (labels.publish ?? 'Publish'),
|
|
124
|
-
disabled: isPublished || publishing || !canPublish,
|
|
125
|
-
onClick: () => actions.setShowPublishModal(true),
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
if (preview) {
|
|
129
|
-
items.push({
|
|
130
|
-
kind: TOOLBAR_ITEM_KIND.BUTTON,
|
|
131
|
-
id: 'preview',
|
|
132
|
-
label: labels.preview ?? 'Preview',
|
|
133
|
-
disabled: preview.disabled ?? false,
|
|
134
|
-
onClick: preview.onClick,
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
function appendStatusFooter(items, state, labels, extraItems) {
|
|
139
|
-
const { isPublished, autosaveStatus } = state;
|
|
140
|
-
items.push({
|
|
141
|
-
kind: TOOLBAR_ITEM_KIND.BADGE,
|
|
142
|
-
id: 'status',
|
|
143
|
-
label: isPublished
|
|
144
|
-
? (labels.publishedBadge ?? 'Published')
|
|
145
|
-
: (labels.draftBadge ?? 'Draft'),
|
|
146
|
-
variant: isPublished ? 'success' : 'secondary',
|
|
147
|
-
}, {
|
|
148
|
-
kind: TOOLBAR_ITEM_KIND.TEXT,
|
|
149
|
-
id: 'autosave',
|
|
150
|
-
content: getAutosaveStatusLabel(autosaveStatus),
|
|
151
|
-
}, ...extraItems);
|
|
152
|
-
}
|
|
153
3
|
/** Build the default TreeSpec editor toolbar item list from state, actions, and capability flags. */
|
|
154
4
|
export function buildDefaultToolbarSpec(options) {
|
|
155
|
-
const { state, actions, capabilities = {}, nodeTypes = [], templates = [],
|
|
5
|
+
const { state, actions, capabilities = {}, nodeTypes = [], templates = [], preview, labels = {}, extraItems = [], showUndoRedo = true, } = options;
|
|
156
6
|
const items = [];
|
|
157
|
-
|
|
158
|
-
|
|
7
|
+
const toolbarBackSlot = options.toolbarBackSlot;
|
|
8
|
+
if (toolbarBackSlot) {
|
|
9
|
+
appendBackSlot(items, toolbarBackSlot);
|
|
159
10
|
}
|
|
160
11
|
appendAddDropdown(items, nodeTypes, actions, labels, state.isPublished);
|
|
161
12
|
appendTemplatesDropdown(items, templates, actions, labels, state.isPublished);
|
|
162
13
|
appendLayoutButtons(items, state, actions, labels);
|
|
14
|
+
if (showUndoRedo) {
|
|
15
|
+
appendUndoRedo(items, state, actions, labels);
|
|
16
|
+
}
|
|
163
17
|
appendCapabilityButtons(items, capabilities, state, actions, labels);
|
|
164
18
|
appendSaveAndPublish(items, capabilities, state, actions, labels, preview);
|
|
165
|
-
|
|
19
|
+
items.push(...extraItems);
|
|
166
20
|
return items;
|
|
167
21
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { EditorTransition } from '@signalsafe/tree-spec-editor-core';
|
|
3
|
+
export interface PanelNodeLinkContext {
|
|
4
|
+
onNodeSelect?: (nodeId: string) => void;
|
|
5
|
+
}
|
|
6
|
+
/** Clickable node id for panel breadcrumb lines; plain text when `onNodeSelect` is unset. */
|
|
7
|
+
export declare function PanelNodeLink({ nodeId, onNodeSelect, }: Readonly<{
|
|
8
|
+
nodeId: string;
|
|
9
|
+
onNodeSelect?: (nodeId: string) => void;
|
|
10
|
+
}>): ReactNode;
|
|
11
|
+
/** Default `from · choice → to` line for selected transitions. */
|
|
12
|
+
export declare function renderDefaultEdgeBreadcrumb(edge: EditorTransition, { onNodeSelect }: PanelNodeLinkContext): ReactNode;
|
|
13
|
+
//# sourceMappingURL=panelNodeLink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panelNodeLink.d.ts","sourceRoot":"","sources":["../../src/lib/panelNodeLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,MAAM,WAAW,oBAAoB;IACjC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,EAC1B,MAAM,EACN,YAAY,GACf,EAAE,QAAQ,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C,CAAC,GAAG,SAAS,CAcb;AAED,kEAAkE;AAClE,wBAAgB,2BAA2B,CACvC,IAAI,EAAE,gBAAgB,EACtB,EAAE,YAAY,EAAE,EAAE,oBAAoB,GACvC,SAAS,CAUX"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/** Clickable node id for panel breadcrumb lines; plain text when `onNodeSelect` is unset. */
|
|
3
|
+
export function PanelNodeLink({ nodeId, onNodeSelect, }) {
|
|
4
|
+
if (!onNodeSelect) {
|
|
5
|
+
return nodeId;
|
|
6
|
+
}
|
|
7
|
+
return (_jsx("button", { type: "button", className: "btn btn-link p-0 align-baseline font-size-12", onClick: () => onNodeSelect(nodeId), children: nodeId }));
|
|
8
|
+
}
|
|
9
|
+
/** Default `from · choice → to` line for selected transitions. */
|
|
10
|
+
export function renderDefaultEdgeBreadcrumb(edge, { onNodeSelect }) {
|
|
11
|
+
return (_jsxs(_Fragment, { children: [_jsx(PanelNodeLink, { nodeId: edge.fromNodeId, onNodeSelect: onNodeSelect }), ' · ', edge.fromChoiceId, ' → ', _jsx(PanelNodeLink, { nodeId: edge.toNodeId, onNodeSelect: onNodeSelect })] }));
|
|
12
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Bootstrap list-group selection highlight (subtle primary background). */
|
|
2
|
+
export declare const LIST_SELECTION_CLASS = "list-group-item-primary";
|
|
3
|
+
/** Dark readable text on {@link LIST_SELECTION_CLASS} rows (sidebar Nodes / Issues). */
|
|
4
|
+
export declare const LIST_SELECTION_TEXT_CLASS = "graph-editor-sidebar-selected";
|
|
5
|
+
/** Canvas / card selection highlight matching list selection. */
|
|
6
|
+
export declare const CANVAS_SELECTION_CLASS = "bg-primary-subtle";
|
|
7
|
+
/** Dark readable text on {@link CANVAS_SELECTION_CLASS} graph nodes. */
|
|
8
|
+
export declare const CANVAS_SELECTION_TEXT_CLASS = "graph-editor-canvas-selected";
|
|
9
|
+
//# sourceMappingURL=selectionStyles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectionStyles.d.ts","sourceRoot":"","sources":["../../src/lib/selectionStyles.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAE9D,wFAAwF;AACxF,eAAO,MAAM,yBAAyB,kCAAkC,CAAC;AAEzE,iEAAiE;AACjE,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAE1D,wEAAwE;AACxE,eAAO,MAAM,2BAA2B,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Bootstrap list-group selection highlight (subtle primary background). */
|
|
2
|
+
export const LIST_SELECTION_CLASS = 'list-group-item-primary';
|
|
3
|
+
/** Dark readable text on {@link LIST_SELECTION_CLASS} rows (sidebar Nodes / Issues). */
|
|
4
|
+
export const LIST_SELECTION_TEXT_CLASS = 'graph-editor-sidebar-selected';
|
|
5
|
+
/** Canvas / card selection highlight matching list selection. */
|
|
6
|
+
export const CANVAS_SELECTION_CLASS = 'bg-primary-subtle';
|
|
7
|
+
/** Dark readable text on {@link CANVAS_SELECTION_CLASS} graph nodes. */
|
|
8
|
+
export const CANVAS_SELECTION_TEXT_CLASS = 'graph-editor-canvas-selected';
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type AutosaveStatus, type TreeTemplateSpec } from '@signalsafe/tree-spec-editor-core';
|
|
3
|
+
import type { ToolbarItem } from '../../panels/ToolbarPanel.js';
|
|
4
|
+
export { AUTOSAVE_STATUS } from '@signalsafe/tree-spec-editor-core';
|
|
5
|
+
export interface DefaultToolbarCapabilities {
|
|
6
|
+
canValidate?: boolean;
|
|
7
|
+
canListSnapshots?: boolean;
|
|
8
|
+
canListAudit?: boolean;
|
|
9
|
+
canCreateSnapshot?: boolean;
|
|
10
|
+
canCloneToDraft?: boolean;
|
|
11
|
+
canPublish?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface DefaultToolbarNodeType {
|
|
14
|
+
type?: string;
|
|
15
|
+
label?: string;
|
|
16
|
+
divider?: boolean;
|
|
17
|
+
id?: string;
|
|
18
|
+
patch?: Record<string, unknown>;
|
|
19
|
+
}
|
|
20
|
+
export interface DefaultToolbarTemplate {
|
|
21
|
+
id: string;
|
|
22
|
+
label: string;
|
|
23
|
+
spec: TreeTemplateSpec;
|
|
24
|
+
}
|
|
25
|
+
export interface DefaultToolbarLabels {
|
|
26
|
+
add?: string;
|
|
27
|
+
templates?: string;
|
|
28
|
+
validate?: string;
|
|
29
|
+
autoLayout?: string;
|
|
30
|
+
resetView?: string;
|
|
31
|
+
preview?: string;
|
|
32
|
+
save?: string;
|
|
33
|
+
publish?: string;
|
|
34
|
+
history?: string;
|
|
35
|
+
audit?: string;
|
|
36
|
+
snapshot?: string;
|
|
37
|
+
clone?: string;
|
|
38
|
+
undo?: string;
|
|
39
|
+
redo?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface DefaultToolbarState {
|
|
42
|
+
isPublished: boolean;
|
|
43
|
+
saving: boolean;
|
|
44
|
+
publishing: boolean;
|
|
45
|
+
creatingSnapshot: boolean;
|
|
46
|
+
cloning: boolean;
|
|
47
|
+
canPublish: boolean;
|
|
48
|
+
hasTree: boolean;
|
|
49
|
+
autosaveStatus: AutosaveStatus;
|
|
50
|
+
canUndo?: boolean;
|
|
51
|
+
canRedo?: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface DefaultToolbarActions {
|
|
54
|
+
addNodeOfType: (type: string, patch?: Record<string, unknown>) => void;
|
|
55
|
+
insertTemplate: (spec: TreeTemplateSpec) => void;
|
|
56
|
+
triggerResetView: () => void;
|
|
57
|
+
autoLayout: () => void;
|
|
58
|
+
validate: () => void | Promise<void>;
|
|
59
|
+
saveDraft: () => void | Promise<void>;
|
|
60
|
+
setShowDraftHistory: (show: boolean) => void;
|
|
61
|
+
setShowAudit: (show: boolean) => void;
|
|
62
|
+
createSnapshot: () => void | Promise<void>;
|
|
63
|
+
cloneToDraft: () => void | Promise<void>;
|
|
64
|
+
setShowPublishModal: (show: boolean) => void;
|
|
65
|
+
undo?: () => void;
|
|
66
|
+
redo?: () => void;
|
|
67
|
+
}
|
|
68
|
+
export type DefaultToolbarBackSlot = {
|
|
69
|
+
id?: string;
|
|
70
|
+
render: () => ReactNode;
|
|
71
|
+
};
|
|
72
|
+
export interface BuildDefaultToolbarSpecOptions {
|
|
73
|
+
state: DefaultToolbarState;
|
|
74
|
+
actions: DefaultToolbarActions;
|
|
75
|
+
capabilities?: DefaultToolbarCapabilities;
|
|
76
|
+
nodeTypes?: DefaultToolbarNodeType[];
|
|
77
|
+
templates?: DefaultToolbarTemplate[];
|
|
78
|
+
/** Optional legacy toolbar back control when page breadcrumbs are not used. */
|
|
79
|
+
toolbarBackSlot?: DefaultToolbarBackSlot;
|
|
80
|
+
preview?: {
|
|
81
|
+
onClick: () => void;
|
|
82
|
+
disabled?: boolean;
|
|
83
|
+
};
|
|
84
|
+
labels?: DefaultToolbarLabels;
|
|
85
|
+
extraItems?: ToolbarItem[];
|
|
86
|
+
/** When false, omit Undo/Redo buttons even if `actions.undo` / `actions.redo` are set. Default true. */
|
|
87
|
+
showUndoRedo?: boolean;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=defaultToolbarTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultToolbarTypes.d.ts","sourceRoot":"","sources":["../../../src/lib/toolbar/defaultToolbarTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AUTOSAVE_STATUS } from '@signalsafe/tree-spec-editor-core';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ToolbarItem } from '../../panels/ToolbarPanel.js';
|
|
2
|
+
import type { BuildDefaultToolbarSpecOptions, DefaultToolbarActions, DefaultToolbarBackSlot, DefaultToolbarCapabilities, DefaultToolbarLabels, DefaultToolbarNodeType, DefaultToolbarState, DefaultToolbarTemplate } from './defaultToolbarTypes.js';
|
|
3
|
+
export declare function appendBackSlot(items: ToolbarItem[], slot: DefaultToolbarBackSlot): void;
|
|
4
|
+
export declare function appendAddDropdown(items: ToolbarItem[], nodeTypes: DefaultToolbarNodeType[], actions: DefaultToolbarActions, labels: DefaultToolbarLabels, isPublished: boolean): void;
|
|
5
|
+
export declare function appendTemplatesDropdown(items: ToolbarItem[], templates: DefaultToolbarTemplate[], actions: DefaultToolbarActions, labels: DefaultToolbarLabels, isPublished: boolean): void;
|
|
6
|
+
export declare function appendLayoutButtons(items: ToolbarItem[], state: DefaultToolbarState, actions: DefaultToolbarActions, labels: DefaultToolbarLabels): void;
|
|
7
|
+
export declare function appendUndoRedo(items: ToolbarItem[], state: DefaultToolbarState, actions: DefaultToolbarActions, labels: DefaultToolbarLabels): void;
|
|
8
|
+
export declare function appendCapabilityButtons(items: ToolbarItem[], capabilities: DefaultToolbarCapabilities, state: DefaultToolbarState, actions: DefaultToolbarActions, labels: DefaultToolbarLabels): void;
|
|
9
|
+
export declare function appendSaveAndPublish(items: ToolbarItem[], capabilities: DefaultToolbarCapabilities, state: DefaultToolbarState, actions: DefaultToolbarActions, labels: DefaultToolbarLabels, preview: BuildDefaultToolbarSpecOptions['preview']): void;
|
|
10
|
+
//# sourceMappingURL=toolbarSectionBuilders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbarSectionBuilders.d.ts","sourceRoot":"","sources":["../../../src/lib/toolbar/toolbarSectionBuilders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,KAAK,EACR,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACzB,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,cAAc,CAC1B,KAAK,EAAE,WAAW,EAAE,EACpB,IAAI,EAAE,sBAAsB,GAC7B,IAAI,CAMN;AAED,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,WAAW,EAAE,EACpB,SAAS,EAAE,sBAAsB,EAAE,EACnC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,OAAO,GACrB,IAAI,CAsBN;AAED,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,WAAW,EAAE,EACpB,SAAS,EAAE,sBAAsB,EAAE,EACnC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,OAAO,GACrB,IAAI,CAcN;AAED,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,WAAW,EAAE,EACpB,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,oBAAoB,GAC7B,IAAI,CAkBN;AAED,wBAAgB,cAAc,CAC1B,KAAK,EAAE,WAAW,EAAE,EACpB,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,oBAAoB,GAC7B,IAAI,CAoBN;AAED,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,WAAW,EAAE,EACpB,YAAY,EAAE,0BAA0B,EACxC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,oBAAoB,GAC7B,IAAI,CAkDN;AAED,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,WAAW,EAAE,EACpB,YAAY,EAAE,0BAA0B,EACxC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,8BAA8B,CAAC,SAAS,CAAC,GACnD,IAAI,CA8BN"}
|