@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.
Files changed (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +246 -69
  3. package/README.standalone.md +14 -0
  4. package/dist/index.d.ts +34 -26
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +18 -14
  7. package/dist/lib/PanelHeaderCollapseCarets.d.ts +1 -1
  8. package/dist/lib/PanelHeaderCollapseCarets.d.ts.map +1 -1
  9. package/dist/lib/buildDefaultToolbarSpec.d.ts +3 -79
  10. package/dist/lib/buildDefaultToolbarSpec.d.ts.map +1 -1
  11. package/dist/lib/buildDefaultToolbarSpec.js +9 -155
  12. package/dist/lib/panelNodeLink.d.ts +13 -0
  13. package/dist/lib/panelNodeLink.d.ts.map +1 -0
  14. package/dist/lib/panelNodeLink.js +12 -0
  15. package/dist/lib/selectionStyles.d.ts +9 -0
  16. package/dist/lib/selectionStyles.d.ts.map +1 -0
  17. package/dist/lib/selectionStyles.js +8 -0
  18. package/dist/lib/toolbar/defaultToolbarTypes.d.ts +89 -0
  19. package/dist/lib/toolbar/defaultToolbarTypes.d.ts.map +1 -0
  20. package/dist/lib/toolbar/defaultToolbarTypes.js +1 -0
  21. package/dist/lib/toolbar/toolbarSectionBuilders.d.ts +10 -0
  22. package/dist/lib/toolbar/toolbarSectionBuilders.d.ts.map +1 -0
  23. package/dist/lib/toolbar/toolbarSectionBuilders.js +153 -0
  24. package/dist/modals/AuditLogModal.d.ts +1 -1
  25. package/dist/modals/AuditLogModal.d.ts.map +1 -1
  26. package/dist/modals/AuditLogModal.js +1 -1
  27. package/dist/modals/DraftHistoryModal.d.ts +1 -1
  28. package/dist/modals/DraftHistoryModal.d.ts.map +1 -1
  29. package/dist/modals/DraftHistoryModal.js +1 -1
  30. package/dist/modals/PublishReviewModal.d.ts +1 -1
  31. package/dist/modals/PublishReviewModal.d.ts.map +1 -1
  32. package/dist/panels/AdvancedJsonPanel.d.ts +1 -1
  33. package/dist/panels/AdvancedJsonPanel.d.ts.map +1 -1
  34. package/dist/panels/AdvancedJsonPanel.js +1 -1
  35. package/dist/panels/AppearancePanel.d.ts +26 -0
  36. package/dist/panels/AppearancePanel.d.ts.map +1 -0
  37. package/dist/panels/AppearancePanel.js +76 -0
  38. package/dist/panels/ChoiceEdgeAppearanceFields.d.ts +10 -0
  39. package/dist/panels/ChoiceEdgeAppearanceFields.d.ts.map +1 -0
  40. package/dist/panels/ChoiceEdgeAppearanceFields.js +13 -0
  41. package/dist/panels/ChoiceTemplatesPanel.d.ts +27 -0
  42. package/dist/panels/ChoiceTemplatesPanel.d.ts.map +1 -0
  43. package/dist/panels/ChoiceTemplatesPanel.js +9 -0
  44. package/dist/panels/GraphEditorInfoPanel.d.ts +5 -2
  45. package/dist/panels/GraphEditorInfoPanel.d.ts.map +1 -1
  46. package/dist/panels/GraphEditorInfoPanel.js +7 -7
  47. package/dist/panels/InspectorPanel.d.ts +3 -78
  48. package/dist/panels/InspectorPanel.d.ts.map +1 -1
  49. package/dist/panels/InspectorPanel.js +20 -60
  50. package/dist/panels/IssuesPanel.d.ts +6 -2
  51. package/dist/panels/IssuesPanel.d.ts.map +1 -1
  52. package/dist/panels/IssuesPanel.js +17 -5
  53. package/dist/panels/NodesPanel.d.ts +3 -1
  54. package/dist/panels/NodesPanel.d.ts.map +1 -1
  55. package/dist/panels/NodesPanel.js +13 -7
  56. package/dist/panels/SelectedEdgePanel.d.ts +10 -3
  57. package/dist/panels/SelectedEdgePanel.d.ts.map +1 -1
  58. package/dist/panels/SelectedEdgePanel.js +5 -6
  59. package/dist/panels/ToolbarPanel.d.ts +1 -1
  60. package/dist/panels/ToolbarPanel.d.ts.map +1 -1
  61. package/dist/panels/ToolbarPanel.js +2 -4
  62. package/dist/panels/inspector/ChoiceEditorCard.d.ts +28 -0
  63. package/dist/panels/inspector/ChoiceEditorCard.d.ts.map +1 -0
  64. package/dist/panels/inspector/ChoiceEditorCard.js +36 -0
  65. package/dist/panels/inspector/ChoiceEditorList.d.ts +25 -0
  66. package/dist/panels/inspector/ChoiceEditorList.d.ts.map +1 -0
  67. package/dist/panels/inspector/ChoiceEditorList.js +10 -0
  68. package/dist/panels/inspector/NodeTypeField.d.ts +8 -0
  69. package/dist/panels/inspector/NodeTypeField.d.ts.map +1 -0
  70. package/dist/panels/inspector/NodeTypeField.js +12 -0
  71. package/dist/panels/inspector/RequiredNodeCard.d.ts +14 -0
  72. package/dist/panels/inspector/RequiredNodeCard.d.ts.map +1 -0
  73. package/dist/panels/inspector/RequiredNodeCard.js +16 -0
  74. package/dist/panels/inspector/choiceActionIconProps.d.ts +12 -0
  75. package/dist/panels/inspector/choiceActionIconProps.d.ts.map +1 -0
  76. package/dist/panels/inspector/choiceActionIconProps.js +26 -0
  77. package/dist/panels/inspector/types.d.ts +77 -0
  78. package/dist/panels/inspector/types.d.ts.map +1 -0
  79. package/dist/panels/inspector/types.js +11 -0
  80. 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 SelectedEdgePanel } from './panels/SelectedEdgePanel';
31
- export { default as PublishReviewModal } from './modals/PublishReviewModal';
32
- export { default as DraftHistoryModal } from './modals/DraftHistoryModal';
33
- export { default as AuditLogModal } from './modals/AuditLogModal';
34
- export { default as ToolbarPanel, TOOLBAR_ITEM_KIND } from './panels/ToolbarPanel';
35
- export { getIssueSeverityBadgeClass } from './lib/panelHelpers';
36
- export { default as PanelHeaderCollapseCarets } from './lib/PanelHeaderCollapseCarets';
37
- export { buildDefaultToolbarSpec } from './lib/buildDefaultToolbarSpec';
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/jsx-runtime").JSX.Element;
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,2CAY1C"}
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 { ReactNode } from 'react';
2
- import { type AutosaveStatus, type TreeTemplateSpec } from '@signalsafe/tree-spec-editor-core';
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 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
- 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":"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"}
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 { getAutosaveStatusLabel, } from '@signalsafe/tree-spec-editor-core';
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 = [], backSlot, preview, labels = {}, extraItems = [], } = options;
5
+ const { state, actions, capabilities = {}, nodeTypes = [], templates = [], preview, labels = {}, extraItems = [], showUndoRedo = true, } = options;
156
6
  const items = [];
157
- if (backSlot) {
158
- appendBackSlot(items, backSlot);
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
- appendStatusFooter(items, state, labels, extraItems);
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"}