@starci/grammar 0.12.14 → 0.14.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.
Files changed (214) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +34 -31
  3. package/dist/.build-stamp.json +4 -4
  4. package/dist/common/components-forms.css +28 -44
  5. package/dist/common/components-list-panel.css +8 -0
  6. package/dist/common/components-navigation.css +163 -6
  7. package/dist/common/components-overlays.css +41 -2
  8. package/dist/common/conformance.d.ts +3 -8
  9. package/dist/common/conformance.d.ts.map +1 -1
  10. package/dist/common/conformance.js +4 -9
  11. package/dist/common/conformance.js.map +1 -1
  12. package/dist/common/registry.d.ts +24 -21
  13. package/dist/common/registry.d.ts.map +1 -1
  14. package/dist/common/registry.js +4 -4
  15. package/dist/common/registry.js.map +1 -1
  16. package/dist/common/renderers-forms.d.ts +11 -11
  17. package/dist/common/renderers-navigation.d.ts +5 -5
  18. package/dist/common/renderers-navigation.d.ts.map +1 -1
  19. package/dist/common/renderers-navigation.js +1 -1
  20. package/dist/common/renderers-navigation.js.map +1 -1
  21. package/dist/common/renderers-overlays.d.ts +2 -2
  22. package/dist/common/renderers-overlays.d.ts.map +1 -1
  23. package/dist/common/renderers-overlays.js.map +1 -1
  24. package/dist/common/renderers.d.ts +4 -1
  25. package/dist/common/renderers.d.ts.map +1 -1
  26. package/dist/common/renderers.js +3 -0
  27. package/dist/common/renderers.js.map +1 -1
  28. package/dist/common/{rule-catalog.generated.d.ts → rule-catalog.d.ts} +1 -1
  29. package/dist/common/rule-catalog.d.ts.map +1 -0
  30. package/dist/common/{rule-catalog.generated.js → rule-catalog.js} +2 -4
  31. package/dist/common/rule-catalog.js.map +1 -0
  32. package/dist/common/styles.css +236 -48
  33. package/dist/core/branch/ComboBox/index.d.ts +5 -5
  34. package/dist/core/branch/ComboBox/index.d.ts.map +1 -1
  35. package/dist/core/branch/ComboBox/index.js +9 -2
  36. package/dist/core/branch/ComboBox/index.js.map +1 -1
  37. package/dist/core/branch/DataTable/index.d.ts +20 -3
  38. package/dist/core/branch/DataTable/index.d.ts.map +1 -1
  39. package/dist/core/branch/DataTable/index.js +45 -8
  40. package/dist/core/branch/DataTable/index.js.map +1 -1
  41. package/dist/core/branch/FlowGraph/index.d.ts +26 -7
  42. package/dist/core/branch/FlowGraph/index.d.ts.map +1 -1
  43. package/dist/core/branch/FlowGraph/index.js +132 -30
  44. package/dist/core/branch/FlowGraph/index.js.map +1 -1
  45. package/dist/core/branch/FlowGraph/layout.d.ts +34 -1
  46. package/dist/core/branch/FlowGraph/layout.d.ts.map +1 -1
  47. package/dist/core/branch/FlowGraph/layout.js +82 -0
  48. package/dist/core/branch/FlowGraph/layout.js.map +1 -1
  49. package/dist/core/branch/FlowGraph/types.d.ts +13 -1
  50. package/dist/core/branch/FlowGraph/types.d.ts.map +1 -1
  51. package/dist/core/branch/ListBox/index.d.ts +4 -2
  52. package/dist/core/branch/ListBox/index.d.ts.map +1 -1
  53. package/dist/core/branch/ListBox/index.js +2 -2
  54. package/dist/core/branch/ListBox/index.js.map +1 -1
  55. package/dist/core/branch/MarkdownArticle/index.d.ts +7 -1
  56. package/dist/core/branch/MarkdownArticle/index.d.ts.map +1 -1
  57. package/dist/core/branch/MarkdownArticle/index.js +5 -2
  58. package/dist/core/branch/MarkdownArticle/index.js.map +1 -1
  59. package/dist/core/branch/Select/index.d.ts +6 -8
  60. package/dist/core/branch/Select/index.d.ts.map +1 -1
  61. package/dist/core/branch/Select/index.js +9 -5
  62. package/dist/core/branch/Select/index.js.map +1 -1
  63. package/dist/core/branch/SurfaceCard/index.d.ts +9 -0
  64. package/dist/core/branch/SurfaceCard/index.d.ts.map +1 -1
  65. package/dist/core/branch/SurfaceCard/index.js +3 -2
  66. package/dist/core/branch/SurfaceCard/index.js.map +1 -1
  67. package/dist/core/branch/Tabs/index.d.ts.map +1 -1
  68. package/dist/core/branch/Tabs/index.js +17 -0
  69. package/dist/core/branch/Tabs/index.js.map +1 -1
  70. package/dist/core/branch/Tooltip/index.d.ts +9 -1
  71. package/dist/core/branch/Tooltip/index.d.ts.map +1 -1
  72. package/dist/core/branch/Tooltip/index.js +2 -2
  73. package/dist/core/branch/Tooltip/index.js.map +1 -1
  74. package/dist/core/buttonIntent.d.ts.map +1 -1
  75. package/dist/core/buttonIntent.js +1 -2
  76. package/dist/core/buttonIntent.js.map +1 -1
  77. package/dist/core/collectionItem.d.ts +3 -3
  78. package/dist/core/collectionItem.d.ts.map +1 -1
  79. package/dist/core/collectionItem.js +1 -2
  80. package/dist/core/collectionItem.js.map +1 -1
  81. package/dist/core/composite/Alert/index.d.ts +5 -0
  82. package/dist/core/composite/Alert/index.d.ts.map +1 -1
  83. package/dist/core/composite/Alert/index.js +7 -2
  84. package/dist/core/composite/Alert/index.js.map +1 -1
  85. package/dist/core/composite/CheckboxGroup/index.d.ts +6 -5
  86. package/dist/core/composite/CheckboxGroup/index.d.ts.map +1 -1
  87. package/dist/core/composite/CheckboxGroup/index.js +10 -3
  88. package/dist/core/composite/CheckboxGroup/index.js.map +1 -1
  89. package/dist/core/composite/DescriptionList/index.d.ts +3 -2
  90. package/dist/core/composite/DescriptionList/index.d.ts.map +1 -1
  91. package/dist/core/composite/DescriptionList/index.js +5 -4
  92. package/dist/core/composite/DescriptionList/index.js.map +1 -1
  93. package/dist/core/composite/RadioGroup/index.d.ts +5 -3
  94. package/dist/core/composite/RadioGroup/index.d.ts.map +1 -1
  95. package/dist/core/composite/RadioGroup/index.js +9 -2
  96. package/dist/core/composite/RadioGroup/index.js.map +1 -1
  97. package/dist/core/composite/SegmentedControl/index.d.ts +6 -6
  98. package/dist/core/composite/SegmentedControl/index.d.ts.map +1 -1
  99. package/dist/core/composite/SegmentedControl/index.js +9 -5
  100. package/dist/core/composite/SegmentedControl/index.js.map +1 -1
  101. package/dist/core/composite/TagGroup/index.d.ts +27 -4
  102. package/dist/core/composite/TagGroup/index.d.ts.map +1 -1
  103. package/dist/core/composite/TagGroup/index.js +132 -2
  104. package/dist/core/composite/TagGroup/index.js.map +1 -1
  105. package/dist/core/composite/Timeline/index.d.ts +5 -0
  106. package/dist/core/composite/Timeline/index.d.ts.map +1 -1
  107. package/dist/core/composite/Timeline/index.js +1 -1
  108. package/dist/core/composite/Timeline/index.js.map +1 -1
  109. package/dist/core/composition/Sidebar/index.d.ts +4 -0
  110. package/dist/core/composition/Sidebar/index.d.ts.map +1 -1
  111. package/dist/core/composition/Sidebar/index.js +4 -2
  112. package/dist/core/composition/Sidebar/index.js.map +1 -1
  113. package/dist/core/dna.d.ts +1 -1
  114. package/dist/core/dna.js +1 -1
  115. package/dist/core/dna.js.map +1 -1
  116. package/dist/core/index.d.ts +1 -1
  117. package/dist/core/index.d.ts.map +1 -1
  118. package/dist/core/primitive/Avatar/index.d.ts +1 -1
  119. package/dist/core/primitive/Badge/index.d.ts +8 -5
  120. package/dist/core/primitive/Badge/index.d.ts.map +1 -1
  121. package/dist/core/primitive/Badge/index.js +14 -5
  122. package/dist/core/primitive/Badge/index.js.map +1 -1
  123. package/dist/core/primitive/Button/index.d.ts +10 -2
  124. package/dist/core/primitive/Button/index.d.ts.map +1 -1
  125. package/dist/core/primitive/Button/index.js +15 -4
  126. package/dist/core/primitive/Button/index.js.map +1 -1
  127. package/dist/core/primitive/Checkbox/index.d.ts +5 -3
  128. package/dist/core/primitive/Checkbox/index.d.ts.map +1 -1
  129. package/dist/core/primitive/Checkbox/index.js +9 -2
  130. package/dist/core/primitive/Checkbox/index.js.map +1 -1
  131. package/dist/core/primitive/Code/index.d.ts +10 -0
  132. package/dist/core/primitive/Code/index.d.ts.map +1 -0
  133. package/dist/core/primitive/Code/index.js +5 -0
  134. package/dist/core/primitive/Code/index.js.map +1 -0
  135. package/dist/core/primitive/Field/index.d.ts +12 -25
  136. package/dist/core/primitive/Field/index.d.ts.map +1 -1
  137. package/dist/core/primitive/Field/index.js +13 -14
  138. package/dist/core/primitive/Field/index.js.map +1 -1
  139. package/dist/core/primitive/GrammarRoot/index.d.ts +8 -1
  140. package/dist/core/primitive/GrammarRoot/index.d.ts.map +1 -1
  141. package/dist/core/primitive/GrammarRoot/index.js +5 -1
  142. package/dist/core/primitive/GrammarRoot/index.js.map +1 -1
  143. package/dist/core/primitive/Icon/index.d.ts.map +1 -1
  144. package/dist/core/primitive/Icon/index.js +3 -2
  145. package/dist/core/primitive/Icon/index.js.map +1 -1
  146. package/dist/core/primitive/Input/index.d.ts +9 -4
  147. package/dist/core/primitive/Input/index.d.ts.map +1 -1
  148. package/dist/core/primitive/Input/index.js +13 -8
  149. package/dist/core/primitive/Input/index.js.map +1 -1
  150. package/dist/core/primitive/Meter/index.d.ts +4 -1
  151. package/dist/core/primitive/Meter/index.d.ts.map +1 -1
  152. package/dist/core/primitive/Meter/index.js +3 -3
  153. package/dist/core/primitive/Meter/index.js.map +1 -1
  154. package/dist/core/primitive/NumberField/index.d.ts +6 -5
  155. package/dist/core/primitive/NumberField/index.d.ts.map +1 -1
  156. package/dist/core/primitive/NumberField/index.js +10 -3
  157. package/dist/core/primitive/NumberField/index.js.map +1 -1
  158. package/dist/core/primitive/PinnedActionBar/index.d.ts +25 -6
  159. package/dist/core/primitive/PinnedActionBar/index.d.ts.map +1 -1
  160. package/dist/core/primitive/PinnedActionBar/index.js +9 -4
  161. package/dist/core/primitive/PinnedActionBar/index.js.map +1 -1
  162. package/dist/core/primitive/SearchField/index.d.ts +6 -5
  163. package/dist/core/primitive/SearchField/index.d.ts.map +1 -1
  164. package/dist/core/primitive/SearchField/index.js +10 -3
  165. package/dist/core/primitive/SearchField/index.js.map +1 -1
  166. package/dist/core/primitive/SectionHeader/index.d.ts +3 -3
  167. package/dist/core/primitive/SectionHeader/index.js +2 -2
  168. package/dist/core/primitive/SectionHeader/index.js.map +1 -1
  169. package/dist/core/primitive/Skeleton/index.d.ts +11 -0
  170. package/dist/core/primitive/Skeleton/index.d.ts.map +1 -1
  171. package/dist/core/primitive/Skeleton/index.js +12 -1
  172. package/dist/core/primitive/Skeleton/index.js.map +1 -1
  173. package/dist/core/primitive/StatusDot/index.d.ts +61 -0
  174. package/dist/core/primitive/StatusDot/index.d.ts.map +1 -0
  175. package/dist/core/primitive/StatusDot/index.js +55 -0
  176. package/dist/core/primitive/StatusDot/index.js.map +1 -0
  177. package/dist/core/primitive/Switch/index.d.ts +4 -3
  178. package/dist/core/primitive/Switch/index.d.ts.map +1 -1
  179. package/dist/core/primitive/Switch/index.js +5 -2
  180. package/dist/core/primitive/Switch/index.js.map +1 -1
  181. package/dist/core/primitive/Terminal/index.d.ts +20 -0
  182. package/dist/core/primitive/Terminal/index.d.ts.map +1 -0
  183. package/dist/core/primitive/Terminal/index.js +29 -0
  184. package/dist/core/primitive/Terminal/index.js.map +1 -0
  185. package/dist/core/primitive/Text/index.d.ts +5 -1
  186. package/dist/core/primitive/Text/index.d.ts.map +1 -1
  187. package/dist/core/primitive/Text/index.js +12 -7
  188. package/dist/core/primitive/Text/index.js.map +1 -1
  189. package/dist/core/primitive/TextAction/index.d.ts.map +1 -1
  190. package/dist/core/primitive/TextAction/index.js +9 -4
  191. package/dist/core/primitive/TextAction/index.js.map +1 -1
  192. package/dist/core/primitive/Textarea/index.d.ts +8 -4
  193. package/dist/core/primitive/Textarea/index.d.ts.map +1 -1
  194. package/dist/core/primitive/Textarea/index.js +9 -5
  195. package/dist/core/primitive/Textarea/index.js.map +1 -1
  196. package/dist/core/styles.css +18 -6
  197. package/dist/offset-pop/components-forms.css +0 -17
  198. package/dist/offset-pop/components-navigation.css +30 -4
  199. package/dist/offset-pop/components-overlays.css +5 -0
  200. package/dist/offset-pop/index.d.ts +1 -1
  201. package/dist/offset-pop/index.d.ts.map +1 -1
  202. package/dist/offset-pop/styles.css +44 -0
  203. package/package.json +7 -12
  204. package/dist/common/rule-catalog.generated.d.ts.map +0 -1
  205. package/dist/common/rule-catalog.generated.js.map +0 -1
  206. package/dist/heritage/dna.d.ts +0 -63
  207. package/dist/heritage/dna.d.ts.map +0 -1
  208. package/dist/heritage/dna.js +0 -37
  209. package/dist/heritage/dna.js.map +0 -1
  210. package/dist/heritage/index.d.ts +0 -27
  211. package/dist/heritage/index.d.ts.map +0 -1
  212. package/dist/heritage/index.js +0 -46
  213. package/dist/heritage/index.js.map +0 -1
  214. package/dist/heritage/styles.css +0 -187
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { Checkbox as HeroCheckbox, Table as HeroTable } from "@heroui/react";
4
- import { useState } from "react";
4
+ import { useEffect, useRef, useState } from "react";
5
5
  import { Skeleton } from "../../primitive/Skeleton/index.js";
6
6
  import { navigationClassName } from "../../navigationClassNames.js";
7
7
  import { ButtonPlacementProvider } from "../../buttonIntent.js";
@@ -21,6 +21,20 @@ const isNestedCellControl = (target, cell) => {
21
21
  const control = target.closest(CELL_CONTROL_SELECTOR);
22
22
  return control !== null && control !== cell && cell.contains(control);
23
23
  };
24
+ const DEFAULT_COLLAPSE_BELOW = 640;
25
+ // An editor owns its pointer and key gestures; they must not select the row, run its action or follow its link.
26
+ const stopEditorPress = (event) => event.stopPropagation();
27
+ const EditorHost = ({ children }) => (_jsx("div", { className: "starci-core-data-table-editor", "data-grammar-cell-editor": "true", onClick: stopEditorPress, onPointerDown: stopEditorPress, onPointerUp: stopEditorPress, onMouseDown: stopEditorPress, onKeyDown: (event) => {
28
+ if (event.key !== "Escape")
29
+ return;
30
+ const cell = event.currentTarget.closest("[role='gridcell']");
31
+ if (cell === null)
32
+ return;
33
+ event.preventDefault();
34
+ event.stopPropagation();
35
+ cell.focus();
36
+ }, children: children }));
37
+ const CellBody = ({ row, column, renderBody, collapsed, renderCell }) => (_jsxs(_Fragment, { children: [renderBody(row, column), collapsed.length === 0 ? null : (_jsx("div", { className: "starci-core-data-table-secondary", "data-grammar-table-secondary": "true", children: collapsed.map((hidden) => (_jsxs("div", { className: "starci-core-data-table-secondary-item", "data-grammar-table-secondary-column": hidden.id, children: [_jsx("span", { className: "starci-core-data-table-secondary-label", children: hidden.label }), _jsx("span", { className: "starci-core-data-table-secondary-value", children: hidden.editor === undefined ? renderCell(row, hidden.id) : _jsx(EditorHost, { children: hidden.editor(row) }) })] }, hidden.id))) }))] }));
24
38
  const toSortDescriptor = (sort) => ({ column: sort.columnId, direction: sort.direction });
25
39
  const toIds = (selection) => selection === "all" ? "all" : [...selection].map(String);
26
40
  const toSelection = (ids) => ids === "all" ? "all" : new Set(ids);
@@ -37,8 +51,31 @@ const SelectionCheckbox = ({ label }) => (_jsx(HeroCheckbox, { className: "starc
37
51
  * horizontal scroll so a wide table never widens a 360px page.
38
52
  * Contract: scroll LAYOUT-3, grid FOCUS-2 STATE-1, row FOCUS-1, empty STATE-3.
39
53
  */
40
- export const DataTable = ({ label, columns, rows, renderCell, getCellInteraction, sort, onSortChange, selectionMode = "none", selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading = false, loadingContent, loadingRows = 3, emptyContent, stickyHeader = false, maxBlockSize, onRowAction, className, }) => {
41
- const rowHeaderId = columns.find((column) => column.isRowHeader)?.id ?? columns[0]?.id;
54
+ export const DataTable = ({ label, columns, rows, renderCell, getCellInteraction, sort, onSortChange, selectionMode = "none", selectedIds, defaultSelectedIds, onSelectionChange, selectAllLabel, selectRowLabel, isLoading = false, loadingContent, loadingRows = 3, emptyContent, stickyHeader = false, maxBlockSize, onRowAction, collapseBelow = DEFAULT_COLLAPSE_BELOW, className, }) => {
55
+ const scrollRef = useRef(null);
56
+ const [width, setWidth] = useState(null);
57
+ useEffect(() => {
58
+ const element = scrollRef.current;
59
+ if (element === null)
60
+ return;
61
+ const observer = new ResizeObserver((entries) => {
62
+ const entry = entries[0];
63
+ if (entry !== undefined)
64
+ setWidth(entry.contentRect.width);
65
+ });
66
+ observer.observe(element);
67
+ return () => observer.disconnect();
68
+ }, []);
69
+ const hasHigh = columns.some((column) => column.priority !== "low");
70
+ const narrow = hasHigh && width !== null && width < collapseBelow;
71
+ const collapsed = narrow ? columns.filter((column) => column.priority === "low") : [];
72
+ const shown = narrow ? columns.filter((column) => column.priority !== "low") : columns;
73
+ const rowHeaderId = shown.find((column) => column.isRowHeader)?.id ?? shown[0]?.id;
74
+ const hostColumnId = rowHeaderId;
75
+ const hasEditors = columns.some((column) => column.editor !== undefined);
76
+ const renderBody = (row, column) => column.editor === undefined
77
+ ? renderCell(row, column.id)
78
+ : _jsx(EditorHost, { children: column.editor(row) });
42
79
  const multiple = selectionMode === "multiple";
43
80
  // Selection is always held here so every row can expose its own `data-grammar-selected`.
44
81
  const [uncontrolledSelection, setUncontrolledSelection] = useState(defaultSelectedIds ?? []);
@@ -68,18 +105,18 @@ export const DataTable = ({ label, columns, rows, renderCell, getCellInteraction
68
105
  if (!event.repeat)
69
106
  action();
70
107
  };
71
- return (_jsx(HeroTable, { "aria-busy": isLoading || undefined, className: navigationClassName("starci-core-data-table", className), "data-component": "DataTable", "data-tier": "branch", "data-grammar-table-state": state, "data-grammar-table-sticky": stickyHeader ? "true" : "false", "data-grammar-table-bounded": maxBlockSize === undefined ? "false" : "true", children: _jsx(HeroTable.ScrollContainer, { className: "starci-core-data-table-scroll", "data-contract": "LAYOUT-3", "data-grammar-table-scroll": "true", style: scrollStyle, onKeyDownCapture: onCellKeyDown, children: _jsxs(HeroTable.Content, { "aria-label": label, ...(getCellInteraction === undefined ? {} : { keyboardNavigationBehavior: "arrow" }), className: "starci-core-data-table-content", "data-contract": "FOCUS-2 STATE-1", selectionMode: isSkeleton ? "none" : selectionMode, ...(sort === undefined ? {} : { sortDescriptor: toSortDescriptor(sort) }), ...(onSortChange === undefined ? {} : {
108
+ return (_jsx(HeroTable, { "aria-busy": isLoading || undefined, className: navigationClassName("starci-core-data-table", className), "data-component": "DataTable", "data-tier": "branch", "data-grammar-table-state": state, "data-grammar-table-sticky": stickyHeader ? "true" : "false", "data-grammar-table-bounded": maxBlockSize === undefined ? "false" : "true", "data-grammar-table-narrow": narrow ? "true" : "false", "data-grammar-table-editors": hasEditors ? "true" : "false", children: _jsx(HeroTable.ScrollContainer, { ref: scrollRef, className: "starci-core-data-table-scroll", "data-contract": "LAYOUT-3", "data-grammar-table-scroll": "true", style: scrollStyle, onKeyDownCapture: onCellKeyDown, children: _jsxs(HeroTable.Content, { "aria-label": label, ...(hasEditors ? { keyboardNavigationBehavior: "tab" } : getCellInteraction === undefined ? {} : { keyboardNavigationBehavior: "arrow" }), className: "starci-core-data-table-content", "data-contract": "FOCUS-2 STATE-1", selectionMode: isSkeleton ? "none" : selectionMode, ...(sort === undefined ? {} : { sortDescriptor: toSortDescriptor(sort) }), ...(onSortChange === undefined ? {} : {
72
109
  onSortChange: (descriptor) => onSortChange({ columnId: String(descriptor.column), direction: descriptor.direction }),
73
110
  }), selectedKeys: toSelection(selection), onSelectionChange: (next) => {
74
111
  const ids = toIds(next);
75
112
  if (selectedIds === undefined)
76
113
  setUncontrolledSelection(ids);
77
114
  onSelectionChange?.(ids);
78
- }, ...(onRowAction === undefined ? {} : { onRowAction: (key) => onRowAction(String(key)) }), children: [_jsxs(HeroTable.Header, { className: "starci-core-data-table-header", children: [multiple ? (_jsx(HeroTable.Column, { className: "starci-core-data-table-column", "data-grammar-table-selection": "true", id: SELECTION_COLUMN, children: _jsx(SelectionCheckbox, { label: selectAllLabel }) })) : null, columns.map((column) => (_jsx(HeroTable.Column, { id: column.id, allowsSorting: column.allowsSorting === true, className: "starci-core-data-table-column", "data-grammar-table-align": column.align ?? "start", isRowHeader: column.id === rowHeaderId, textValue: column.label, children: ({ sortDirection }) => column.allowsSorting === true
115
+ }, ...(onRowAction === undefined ? {} : { onRowAction: (key) => onRowAction(String(key)) }), children: [_jsxs(HeroTable.Header, { className: "starci-core-data-table-header", children: [multiple ? (_jsx(HeroTable.Column, { className: "starci-core-data-table-column", "data-grammar-table-selection": "true", id: SELECTION_COLUMN, children: _jsx(SelectionCheckbox, { label: selectAllLabel }) })) : null, shown.map((column) => (_jsx(HeroTable.Column, { id: column.id, allowsSorting: column.allowsSorting === true, className: "starci-core-data-table-column", "data-grammar-table-align": column.align ?? "start", isRowHeader: column.id === rowHeaderId, textValue: column.label, children: ({ sortDirection }) => column.allowsSorting === true
79
116
  ? _jsx(HeroTable.SortableColumnHeader, { className: "starci-core-data-table-sort", ...(sortDirection === undefined ? {} : { sortDirection }), children: column.label })
80
117
  : column.label }, column.id)))] }), _jsxs(HeroTable.Body, { className: "starci-core-data-table-body", renderEmptyState: () => isLoading
81
118
  ? _jsx("div", { className: "starci-core-data-table-placeholder", "data-grammar-table-loading": "true", role: "status", children: loadingContent })
82
- : _jsx("div", { className: "starci-core-data-table-placeholder", "data-contract": "STATE-3", "data-grammar-table-empty": "true", children: emptyContent }), children: [skeletonRows.map((row) => (_jsxs(HeroTable.Row, { id: row.id, ref: hideFromAssistiveTechnology, className: "starci-core-data-table-row", "data-grammar-table-row": "true", "data-grammar-skeleton": "true", "data-grammar-selected": "false", children: [multiple ? _jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-selection": "true", children: null }) : null, columns.map((column) => (_jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-align": column.align ?? "start", children: _jsx(Skeleton, { shape: "text" }) }, column.id)))] }, row.id))), visibleRows.map((row) => (_jsxs(HeroTable.Row, { id: row.id, className: "starci-core-data-table-row", "data-contract": "FOCUS-1", "data-grammar-table-row": "true", "data-grammar-selected": selectionMode !== "none" && isRowSelected(row.id) ? "true" : "false", children: [multiple ? (_jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-selection": "true", children: _jsx(SelectionCheckbox, { label: selectRowLabel?.(row) }) })) : null, columns.map((column) => {
119
+ : _jsx("div", { className: "starci-core-data-table-placeholder", "data-contract": "STATE-3", "data-grammar-table-empty": "true", children: emptyContent }), children: [skeletonRows.map((row) => (_jsxs(HeroTable.Row, { id: row.id, ref: hideFromAssistiveTechnology, className: "starci-core-data-table-row", "data-grammar-table-row": "true", "data-grammar-skeleton": "true", "data-grammar-selected": "false", children: [multiple ? _jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-selection": "true", children: null }) : null, shown.map((column) => (_jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-align": column.align ?? "start", children: _jsx(Skeleton, { shape: "text" }) }, column.id)))] }, row.id))), visibleRows.map((row) => (_jsxs(HeroTable.Row, { id: row.id, className: "starci-core-data-table-row", "data-contract": "FOCUS-1", "data-grammar-table-row": "true", ...(row.href === undefined ? {} : { href: row.href }), "data-grammar-table-row-link": row.href === undefined ? "false" : "true", "data-grammar-selected": selectionMode !== "none" && isRowSelected(row.id) ? "true" : "false", children: [multiple ? (_jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-selection": "true", children: _jsx(SelectionCheckbox, { label: selectRowLabel?.(row) }) })) : null, shown.map((column) => {
83
120
  const interaction = getCellInteraction?.(row, column.id);
84
121
  return _jsx(HeroTable.Cell, { className: "starci-core-data-table-cell", "data-grammar-table-align": column.align ?? "start", "data-grammar-cell-interaction": interaction === undefined ? "false" : "true", "data-grammar-row-id": row.id, "data-grammar-column-id": column.id, ...(interaction?.onAction === undefined ? {} : {
85
122
  focusMode: "cell",
@@ -90,7 +127,7 @@ export const DataTable = ({ label, columns, rows, renderCell, getCellInteraction
90
127
  event.stopPropagation();
91
128
  interaction.onAction?.();
92
129
  },
93
- }), children: _jsx(ButtonPlacementProvider, { placement: "item", children: interaction === undefined ? renderCell(row, column.id) : (_jsx("div", { className: "starci-core-data-table-cell-content", ...(interaction.onDragOver === undefined ? {} : { onDragOver: interaction.onDragOver }), ...(interaction.onDragLeave === undefined ? {} : { onDragLeave: interaction.onDragLeave }), ...(interaction.onDrop === undefined ? {} : { onDrop: interaction.onDrop }), children: renderCell(row, column.id) })) }) }, column.id);
130
+ }), children: _jsx(ButtonPlacementProvider, { placement: "item", children: interaction === undefined ? _jsx(CellBody, { row: row, column: column, renderBody: renderBody, collapsed: column.id === hostColumnId ? collapsed : [], renderCell: renderCell }) : (_jsx("div", { className: "starci-core-data-table-cell-content", ...(interaction.onDragOver === undefined ? {} : { onDragOver: interaction.onDragOver }), ...(interaction.onDragLeave === undefined ? {} : { onDragLeave: interaction.onDragLeave }), ...(interaction.onDrop === undefined ? {} : { onDrop: interaction.onDrop }), children: _jsx(CellBody, { row: row, column: column, renderBody: renderBody, collapsed: column.id === hostColumnId ? collapsed : [], renderCell: renderCell }) })) }) }, column.id);
94
131
  })] }, row.id)))] })] }) }) }));
95
132
  };
96
133
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/DataTable/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/DataTable/index.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { FlowGraphEdge, FlowGraphHeight, FlowGraphLayout, FlowGraphNode } from "./types.js";
2
- export { radialPositions } from "./layout.js";
3
- export type { FlowGraphEdge, FlowGraphHeight, FlowGraphLayout, FlowGraphNode, FlowGraphNodeSize, FlowGraphTone } from "./types.js";
1
+ import type { FlowGraphDirection, FlowGraphEdge, FlowGraphHeight, FlowGraphLayerHeader, FlowGraphLayout, FlowGraphNode } from "./types.js";
2
+ export { layeredPositions, radialPositions } from "./layout.js";
3
+ export type { FlowGraphDirection, FlowGraphEdge, FlowGraphHeight, FlowGraphLayerHeader, FlowGraphLayout, FlowGraphNode, FlowGraphNodeSize, FlowGraphTone } from "./types.js";
4
4
  export type FlowGraphProps = {
5
5
  /** Names the graph for assistive technology, e.g. "Second brain". */
6
6
  readonly label: string;
@@ -13,14 +13,33 @@ export type FlowGraphProps = {
13
13
  readonly selectedId?: string | null;
14
14
  /** Fires with the node id on click, Enter or Space, and with `null` when the empty canvas is clicked or Escape is pressed. */
15
15
  readonly onSelect?: (id: string | null) => void;
16
- /** Fixed canvas height: 16rem, 24rem or 32rem. */
17
- readonly height?: FlowGraphHeight;
16
+ /**
17
+ * Canvas height: `sm` 16rem, `md` 24rem, `lg` 32rem, or any size of your own: a number is pixels, a string is a CSS length
18
+ * (`"60vh"`, `"48rem"`).
19
+ */
20
+ readonly height?: FlowGraphHeight | number | string;
21
+ /**
22
+ * How the graph meets its canvas. `readable` (default) never fits below the zoom at which node text renders at 12px:
23
+ * a graph that would shrink further grows the canvas height to the graph's aspect at the canvas width (the page
24
+ * scrolls; a graph still too wide pans sideways). `contain` always shrinks the whole graph into the canvas `height`.
25
+ */
26
+ readonly fit?: "readable" | "contain";
18
27
  /** Pan and zoom. `false` draws a static picture. */
19
28
  readonly isInteractive?: boolean;
20
29
  /** Zoom buttons. Defaults to on while the graph is interactive. */
21
30
  readonly showControls?: boolean;
22
- /** `radial` places the nodes itself; `manual` uses each node's `position`. */
31
+ /**
32
+ * `radial` places the nodes on rings round the root; `layered` puts a DAG in layers along `direction`; `manual` uses each
33
+ * node's `position`. Defaults to `radial`, or to `layered` when a `direction` is given.
34
+ */
23
35
  readonly layout?: FlowGraphLayout;
36
+ /**
37
+ * The way edges run, `TB` (top to bottom) or `LR` (left to right). It places the target handle on the entering side and the
38
+ * source handle on the leaving side so edges follow the layout. Leave it out for the radial layout (both handles on top).
39
+ */
40
+ readonly direction?: FlowGraphDirection;
41
+ /** Titles for the layers of a layered layout: a column header above each layer for `LR`, a lane header beside it for `TB`. */
42
+ readonly headers?: ReadonlyArray<FlowGraphLayerHeader>;
24
43
  /** Shown instead of the canvas when there are no nodes. */
25
44
  readonly emptyLabel?: string;
26
45
  /** Unresolved graph (knowledge STATE-8): the frame at its height with a Skeleton block, no React Flow mounted, `aria-busy`. */
@@ -33,5 +52,5 @@ export type FlowGraphProps = {
33
52
  * keyboard focusable (Tab) and selectable with Enter or Space; a visually hidden list repeats the nodes for screen readers.
34
53
  * Contract: focus FOCUS-2, selection STATE-1, empty STATE-3.
35
54
  */
36
- export declare const FlowGraph: ({ label, nodes, edges, selectedId, onSelect, height, isInteractive, showControls, layout, emptyLabel, isLoading, className, }: FlowGraphProps) => import("react").JSX.Element;
55
+ export declare const FlowGraph: ({ label, nodes, edges, selectedId, onSelect, height, fit, isInteractive, showControls, layout: layoutProp, direction, headers, emptyLabel, isLoading, className, }: FlowGraphProps) => import("react").JSX.Element;
37
56
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/index.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEhG,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAElI,MAAM,MAAM,cAAc,GAAG;IACzB,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IAC5C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IAC5C;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,8HAA8H;IAC9H,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/C,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,oDAAoD;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,mEAAmE;IACnE,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,+HAA+H;IAC/H,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAgDD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,+HAavB,cAAc,gCAuGhB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/index.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1I,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC/D,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE5K,MAAM,MAAM,cAAc,GAAG;IACzB,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IAC5C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IAC5C;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,8HAA8H;IAC9H,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/C;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,CAAA;IACnD;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IACrC,oDAAoD;IACpD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,mEAAmE;IACnE,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAA;IACvC,8HAA8H;IAC9H,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAA;IACtD,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,+HAA+H;IAC/H,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAoHD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,oKAgBvB,cAAc,gCAgKhB,CAAA"}
@@ -1,26 +1,71 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import { Background, Controls, Handle, Position, ReactFlow, useNodesInitialized, useReactFlow, } from "@xyflow/react";
4
- import { memo, useEffect, useMemo, useState } from "react";
3
+ import { Background, Controls, Handle, Position, ReactFlow, useReactFlow, useStore, } from "@xyflow/react";
4
+ import { Link as RouterLink } from "react-aria-components";
5
+ import { memo, useCallback, useEffect, useMemo, useState } from "react";
5
6
  import { Skeleton } from "../../primitive/Skeleton/index.js";
6
- import { flowGraphRoot, radialPositions } from "./layout.js";
7
- export { radialPositions } from "./layout.js";
7
+ import { FLOW_GRAPH_NODE_MAX_WIDTH, flowGraphRoot, layerCoordinate, layeredPositions, layeredStepPosition, radialPositions } from "./layout.js";
8
+ export { layeredPositions, radialPositions } from "./layout.js";
9
+ const HANDLE_SIDES = {
10
+ radial: { target: Position.Top, source: Position.Top },
11
+ TB: { target: Position.Top, source: Position.Bottom },
12
+ LR: { target: Position.Left, source: Position.Right },
13
+ };
8
14
  const FlowGraphNodeView = memo(({ data }) => {
9
- const { graphNode, isSelected } = data;
15
+ const { graphNode, isSelected, direction } = data;
16
+ const sides = HANDLE_SIDES[direction ?? "radial"];
10
17
  const hasCount = graphNode.count !== undefined && graphNode.count !== "";
11
- return (_jsxs("div", { className: "starci-core-flow-graph-node", "data-grammar-flow-node": graphNode.id, "data-grammar-selected": isSelected ? "true" : "false", "data-placeholder": graphNode.isPlaceholder === true ? "true" : undefined, "data-root": graphNode.isRoot === true ? "true" : undefined, "data-size": graphNode.size ?? "md", "data-tone": graphNode.isPlaceholder === true ? "muted" : graphNode.tone ?? "neutral", children: [_jsx(Handle, { className: "starci-core-flow-graph-handle", isConnectable: false, position: Position.Top, type: "target" }), _jsxs("span", { className: "starci-core-flow-graph-copy", children: [_jsx("span", { className: "starci-core-flow-graph-label", children: graphNode.label }), graphNode.description === undefined ? null : _jsx("span", { className: "starci-core-flow-graph-description", children: graphNode.description })] }), hasCount ? _jsx("span", { className: "starci-core-flow-graph-count", children: graphNode.count }) : null, _jsx(Handle, { className: "starci-core-flow-graph-handle", isConnectable: false, position: Position.Top, type: "source" })] }));
18
+ const content = (_jsxs(_Fragment, { children: [_jsxs("span", { className: "starci-core-flow-graph-copy", children: [_jsx("span", { className: "starci-core-flow-graph-label", children: graphNode.label }), graphNode.description === undefined ? null : _jsx("span", { className: "starci-core-flow-graph-description", children: graphNode.description })] }), hasCount ? _jsx("span", { className: "starci-core-flow-graph-count", children: graphNode.count }) : null] }));
19
+ return (_jsxs("div", { className: "starci-core-flow-graph-node", "data-grammar-flow-node": graphNode.id, "data-grammar-selected": isSelected ? "true" : "false", "data-placeholder": graphNode.isPlaceholder === true ? "true" : undefined, "data-root": graphNode.isRoot === true ? "true" : undefined, "data-size": graphNode.size ?? "md", "data-tone": graphNode.isPlaceholder === true ? "muted" : graphNode.tone ?? "neutral", children: [_jsx(Handle, { className: "starci-core-flow-graph-handle", isConnectable: false, position: sides.target, type: "target" }), graphNode.href === undefined ? content : (_jsx(RouterLink, { className: "starci-core-flow-graph-link", "data-grammar-flow-link": "true", href: graphNode.href, children: content })), _jsx(Handle, { className: "starci-core-flow-graph-handle", isConnectable: false, position: sides.source, type: "source" })] }));
12
20
  });
13
21
  FlowGraphNodeView.displayName = "FlowGraphNodeView";
14
- const NODE_TYPES = { flowGraph: FlowGraphNodeView };
22
+ const FlowGraphHeaderView = memo(({ data }) => (_jsx("div", { className: "starci-core-flow-graph-header", "data-direction": data.direction, "data-grammar-flow-header": data.label, children: data.label })));
23
+ FlowGraphHeaderView.displayName = "FlowGraphHeaderView";
24
+ const NODE_TYPES = { flowGraph: FlowGraphNodeView, flowGraphHeader: FlowGraphHeaderView };
25
+ const HEADER_OFFSET = 70;
26
+ const HEADER_SIDE_GAP = 24;
15
27
  const FIT_OPTIONS = { padding: 0.2, duration: 0 };
16
- /** Re-fits the viewport once the nodes are measured, and again whenever the set of nodes or the layout changes. */
17
- const Refit = ({ signature }) => {
18
- const { fitView } = useReactFlow();
19
- const isReady = useNodesInitialized();
28
+ const MAX_ZOOM = 2;
29
+ /** The smallest node text, in px at zoom 1, per node size (the node CSS: sm 0.75rem, md 0.875rem, lg 1rem). */
30
+ const NODE_TEXT_PX = { sm: 12, md: 14, lg: 16 };
31
+ /** Node text never renders below this many px under the `readable` fit. */
32
+ const READABLE_TEXT_PX = 12;
33
+ /** The zoom at which the smallest node text present renders at {@link READABLE_TEXT_PX}. */
34
+ const readableZoomFor = (nodes) => READABLE_TEXT_PX / Math.min(...nodes.map((node) => NODE_TEXT_PX[node.size ?? "md"]));
35
+ /**
36
+ * Re-fits the viewport once the nodes are measured, and again whenever the set of nodes, the layout or the canvas size
37
+ * changes. Under a readable zoom, a fit that would go below it asks the canvas to grow to the graph's aspect at the
38
+ * canvas width first, then fits with the readable zoom as the floor.
39
+ */
40
+ const Refit = ({ signature, readableZoom, onGrow }) => {
41
+ const { fitView, getNodes, getNodesBounds } = useReactFlow();
42
+ // React Flow's useNodesInitialized waits for every node's handle bounds, and a layer header has no handles, so it
43
+ // never turned true for a graph with headers and the re-fit never ran. Ready means every node has been measured.
44
+ const isReady = useStore((state) => state.nodeLookup.size > 0 && [...state.nodeLookup.values()].every((node) => (node.measured.width ?? 0) > 0));
45
+ const width = useStore((state) => state.width);
46
+ const height = useStore((state) => state.height);
20
47
  useEffect(() => {
21
- if (isReady)
48
+ if (!isReady || width === 0 || height === 0)
49
+ return;
50
+ if (readableZoom === null) {
22
51
  void fitView(FIT_OPTIONS);
23
- }, [fitView, isReady, signature]);
52
+ return;
53
+ }
54
+ const bounds = getNodesBounds(getNodes());
55
+ if (bounds.width === 0 || bounds.height === 0)
56
+ return;
57
+ const pad = 1 + 2 * FIT_OPTIONS.padding;
58
+ const zoomAtWidth = Math.min(width / (bounds.width * pad), MAX_ZOOM);
59
+ const fitZoom = Math.min(zoomAtWidth, height / (bounds.height * pad));
60
+ if (fitZoom < readableZoom) {
61
+ const needed = Math.ceil(bounds.height * pad * Math.max(readableZoom, zoomAtWidth));
62
+ if (needed > height + 1) {
63
+ onGrow(needed);
64
+ return;
65
+ }
66
+ }
67
+ void fitView({ ...FIT_OPTIONS, minZoom: readableZoom });
68
+ }, [fitView, getNodes, getNodesBounds, isReady, signature, readableZoom, width, height, onGrow]);
24
69
  return null;
25
70
  };
26
71
  const labelFor = (node) => node.count === undefined || node.count === "" ? node.label : `${node.label} (${node.count})`;
@@ -30,7 +75,7 @@ const labelFor = (node) => node.count === undefined || node.count === "" ? node.
30
75
  * keyboard focusable (Tab) and selectable with Enter or Space; a visually hidden list repeats the nodes for screen readers.
31
76
  * Contract: focus FOCUS-2, selection STATE-1, empty STATE-3.
32
77
  */
33
- export const FlowGraph = ({ label, nodes, edges, selectedId, onSelect, height = "md", isInteractive = true, showControls, layout = "radial", emptyLabel = "Nothing to show yet.", isLoading = false, className, }) => {
78
+ export const FlowGraph = ({ label, nodes, edges, selectedId, onSelect, height = "md", fit = "readable", isInteractive = true, showControls, layout: layoutProp, direction, headers, emptyLabel = "Nothing to show yet.", isLoading = false, className, }) => {
34
79
  const [ownSelectedId, setOwnSelectedId] = useState(null);
35
80
  const currentId = selectedId === undefined ? ownSelectedId : selectedId;
36
81
  const select = (id) => {
@@ -38,29 +83,71 @@ export const FlowGraph = ({ label, nodes, edges, selectedId, onSelect, height =
38
83
  setOwnSelectedId(id);
39
84
  onSelect?.(id);
40
85
  };
41
- const positions = useMemo(() => layout === "radial" ? radialPositions(nodes, edges) : null, [layout, nodes, edges]);
86
+ const layout = layoutProp ?? (direction === undefined ? "radial" : "layered");
87
+ const flowDirection = direction ?? (layout === "layered" ? "TB" : undefined);
88
+ const layered = useMemo(() => layout === "layered" ? layeredPositions(nodes, edges, flowDirection ?? "TB") : null, [layout, nodes, edges, flowDirection]);
89
+ const positions = useMemo(() => {
90
+ if (layout === "radial")
91
+ return radialPositions(nodes, edges);
92
+ return layered?.positions ?? null;
93
+ }, [layout, nodes, edges, layered]);
42
94
  const rootId = flowGraphRoot(nodes)?.id;
43
95
  const flowNodes = useMemo(() => nodes.map((graphNode) => ({
44
96
  id: graphNode.id,
45
97
  type: "flowGraph",
46
98
  position: positions?.get(graphNode.id) ?? graphNode.position ?? { x: 0, y: 0 },
47
- data: { graphNode: layout === "radial" ? { ...graphNode, isRoot: graphNode.id === rootId } : graphNode, isSelected: graphNode.id === currentId },
99
+ data: {
100
+ graphNode: layout === "radial" ? { ...graphNode, isRoot: graphNode.id === rootId } : graphNode,
101
+ isSelected: graphNode.id === currentId,
102
+ ...(flowDirection === undefined ? {} : { direction: flowDirection }),
103
+ },
48
104
  selected: graphNode.id === currentId,
49
105
  ariaLabel: labelFor(graphNode),
50
106
  draggable: false,
51
107
  connectable: false,
52
- })), [nodes, positions, layout, rootId, currentId]);
53
- const flowEdges = useMemo(() => edges.map((edge) => ({
54
- id: edge.id,
55
- source: edge.source,
56
- target: edge.target,
57
- type: layout === "radial" ? "straight" : "default",
58
- className: edge.isPlaceholder === true ? "starci-core-flow-graph-edge starci-core-flow-graph-edge-placeholder" : "starci-core-flow-graph-edge",
59
- focusable: false,
60
- selectable: false,
61
- animated: false,
62
- })), [edges, layout]);
63
- const signature = `${layout}:${nodes.map((node) => node.id).join("|")}`;
108
+ // A link node keeps one keyboard stop: the anchor inside it.
109
+ ...(graphNode.href === undefined ? {} : { focusable: false }),
110
+ })), [nodes, positions, layout, rootId, currentId, flowDirection]);
111
+ const headerNodes = useMemo(() => {
112
+ if (headers === undefined || headers.length === 0 || flowDirection === undefined)
113
+ return [];
114
+ const points = nodes.map((node) => positions?.get(node.id) ?? node.position ?? { x: 0, y: 0 });
115
+ const minX = Math.min(...points.map((point) => point.x));
116
+ const minY = Math.min(...points.map((point) => point.y));
117
+ return headers.map((header, index) => {
118
+ const along = layout === "layered" ? layerCoordinate(header.at, flowDirection) : header.at;
119
+ return {
120
+ id: `grammar-flow-header-${index}`,
121
+ type: "flowGraphHeader",
122
+ // A TB lane header ends a gap before the widest node can start, so a long title never runs under a node.
123
+ position: flowDirection === "LR" ? { x: along, y: minY - HEADER_OFFSET } : { x: minX - FLOW_GRAPH_NODE_MAX_WIDTH / 2 - HEADER_SIDE_GAP, y: along },
124
+ ...(flowDirection === "LR" ? {} : { origin: [1, 0.5] }),
125
+ data: { label: header.label, direction: flowDirection },
126
+ draggable: false,
127
+ connectable: false,
128
+ selectable: false,
129
+ focusable: false,
130
+ ariaHidden: true,
131
+ };
132
+ });
133
+ }, [headers, flowDirection, nodes, positions, layout]);
134
+ const allNodes = useMemo(() => [...headerNodes, ...flowNodes], [headerNodes, flowNodes]);
135
+ const flowEdges = useMemo(() => edges.map((edge) => {
136
+ // A layered edge that skips layers turns in a gap, never inside a skipped layer (see layeredStepPosition).
137
+ const stepPosition = layered === null ? undefined : layeredStepPosition(edge, layered.positions, layered.layers, flowDirection ?? "TB");
138
+ return {
139
+ id: edge.id,
140
+ source: edge.source,
141
+ target: edge.target,
142
+ type: layout === "radial" ? "straight" : "smoothstep",
143
+ ...(stepPosition === undefined ? {} : { pathOptions: { stepPosition } }),
144
+ className: edge.isPlaceholder === true ? "starci-core-flow-graph-edge starci-core-flow-graph-edge-placeholder" : "starci-core-flow-graph-edge",
145
+ focusable: false,
146
+ selectable: false,
147
+ animated: false,
148
+ };
149
+ }), [edges, layout, layered, flowDirection]);
150
+ const signature = `${layout}:${flowDirection ?? ""}:${headerNodes.length}:${nodes.map((node) => node.id).join("|")}`;
64
151
  const onKeyDown = (event) => {
65
152
  if (event.key === "Escape") {
66
153
  if (currentId !== null)
@@ -69,6 +156,8 @@ export const FlowGraph = ({ label, nodes, edges, selectedId, onSelect, height =
69
156
  }
70
157
  if (event.key !== "Enter" && event.key !== " ")
71
158
  return;
159
+ if (event.target instanceof Element && event.target.closest("a") !== null)
160
+ return; // the link owns Enter
72
161
  const target = event.target instanceof Element ? event.target.closest(".react-flow__node") : null;
73
162
  const id = target?.getAttribute("data-id");
74
163
  if (id === null || id === undefined)
@@ -76,8 +165,21 @@ export const FlowGraph = ({ label, nodes, edges, selectedId, onSelect, height =
76
165
  event.preventDefault();
77
166
  select(id);
78
167
  };
168
+ const customHeight = height === "sm" || height === "md" || height === "lg" ? undefined : typeof height === "number" ? `${height}px` : height;
79
169
  const controls = showControls ?? isInteractive;
80
- return (_jsx("figure", { "aria-label": label, className: ["starci-core-flow-graph", className].filter(Boolean).join(" "), "data-component": "FlowGraph", "data-contract": "FOCUS-2 STATE-1 STATE-3", "data-grammar-flow-height": height, "data-grammar-flow-interactive": isInteractive ? "true" : "false", "data-grammar-flow-layout": layout, "data-tier": "branch", ...(isLoading ? { "aria-busy": true, "data-loading": "true" } : {}), onKeyDown: onKeyDown, children: isLoading ? (_jsx("div", { className: "starci-core-flow-graph-canvas starci-core-flow-graph-loading", "data-grammar-flow-loading": "true", children: _jsx(Skeleton, { shape: "rect" }) })) : nodes.length === 0 ? (_jsx("p", { className: "starci-core-flow-graph-empty", "data-contract": "STATE-3", "data-grammar-flow-empty": "true", children: emptyLabel })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "starci-core-flow-graph-canvas", children: _jsxs(ReactFlow, { edges: flowEdges, edgesFocusable: false, elementsSelectable: true, fitView: true, fitViewOptions: FIT_OPTIONS, maxZoom: 2, minZoom: 0.2, nodeOrigin: [0.5, 0.5], nodeTypes: NODE_TYPES, nodes: flowNodes, nodesConnectable: false, nodesDraggable: false, nodesFocusable: true, onNodeClick: (_event, node) => select(node.id), onPaneClick: () => { if (currentId !== null)
81
- select(null); }, panOnDrag: isInteractive, panOnScroll: false, preventScrolling: isInteractive, proOptions: { hideAttribution: true }, zoomOnDoubleClick: false, zoomOnPinch: isInteractive, zoomOnScroll: isInteractive, children: [_jsx(Background, { className: "starci-core-flow-graph-background", gap: 1000, size: 0 }), controls ? _jsx(Controls, { "aria-label": `${label}: zoom`, className: "starci-core-flow-graph-controls", showInteractive: false }) : null, _jsx(Refit, { signature: signature })] }) }), _jsx("ul", { className: "starci-core-visually-hidden", "data-grammar-flow-fallback": "true", children: nodes.map((node) => _jsx("li", { ...(node.id === currentId ? { "aria-current": "true" } : {}), children: labelFor(node) }, node.id)) })] })) }));
170
+ // The readable fit grows the canvas for one graph; a new set of nodes or layout starts again from `height`.
171
+ const readableZoom = fit === "readable" && nodes.length > 0 ? readableZoomFor(nodes) : null;
172
+ const [growth, setGrowth] = useState(null);
173
+ const grownHeight = growth !== null && growth.signature === signature ? growth.height : null;
174
+ const onGrow = useCallback((next) => setGrowth({ signature, height: next }), [signature]);
175
+ // A grown canvas is taller than the screen may be: the wheel scrolls the page, the zoom buttons still zoom.
176
+ const wheelZooms = isInteractive && grownHeight === null;
177
+ const style = customHeight === undefined && grownHeight === null ? undefined : {
178
+ ...(customHeight === undefined ? {} : { "--starci-flow-height": customHeight }),
179
+ ...(grownHeight === null ? {} : { "--starci-flow-grown-height": `${grownHeight}px` }),
180
+ };
181
+ return (_jsx("figure", { "aria-label": label, className: ["starci-core-flow-graph", className].filter(Boolean).join(" "), "data-component": "FlowGraph", "data-contract": "FOCUS-2 STATE-1 STATE-3", "data-grammar-flow-direction": flowDirection, "data-grammar-flow-height": customHeight === undefined ? height : "custom", "data-grammar-flow-interactive": isInteractive ? "true" : "false", "data-grammar-flow-layout": layout, "data-grammar-flow-fit": fit, "data-grammar-flow-grown": grownHeight === null ? undefined : "true", "data-tier": "branch", style: style, ...(isLoading ? { "aria-busy": true, "data-loading": "true" } : {}), onKeyDown: onKeyDown, children: isLoading ? (_jsx("div", { className: "starci-core-flow-graph-canvas starci-core-flow-graph-loading", "data-grammar-flow-loading": "true", children: _jsx(Skeleton, { shape: "rect" }) })) : nodes.length === 0 ? (_jsx("p", { className: "starci-core-flow-graph-empty", "data-contract": "STATE-3", "data-grammar-flow-empty": "true", children: emptyLabel })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "starci-core-flow-graph-canvas", children: _jsxs(ReactFlow, { edges: flowEdges, edgesFocusable: false, elementsSelectable: true, fitView: true, fitViewOptions: FIT_OPTIONS, maxZoom: MAX_ZOOM, minZoom: 0.2, nodeOrigin: [0.5, 0.5], nodeTypes: NODE_TYPES, nodes: allNodes, nodesConnectable: false, nodesDraggable: false, nodesFocusable: true, onNodeClick: (_event, node) => { if (node.type === "flowGraph")
182
+ select(node.id); }, onPaneClick: () => { if (currentId !== null)
183
+ select(null); }, panOnDrag: isInteractive, panOnScroll: false, preventScrolling: wheelZooms, proOptions: { hideAttribution: true }, zoomOnDoubleClick: false, zoomOnPinch: isInteractive, zoomOnScroll: wheelZooms, children: [_jsx(Background, { className: "starci-core-flow-graph-background", gap: 1000, size: 0 }), controls ? _jsx(Controls, { "aria-label": `${label}: zoom`, className: "starci-core-flow-graph-controls", showInteractive: false }) : null, _jsx(Refit, { signature: signature, readableZoom: readableZoom, onGrow: onGrow })] }) }), _jsx("ul", { className: "starci-core-visually-hidden", "data-grammar-flow-fallback": "true", children: nodes.map((node) => _jsx("li", { ...(node.id === currentId ? { "aria-current": "true" } : {}), children: labelFor(node) }, node.id)) })] })) }));
82
184
  };
83
185
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/index.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { FlowGraphEdge, FlowGraphNode } from "./types.js";
1
+ import type { FlowGraphDirection, FlowGraphEdge, FlowGraphNode } from "./types.js";
2
2
  export type FlowGraphPoint = {
3
3
  readonly x: number;
4
4
  readonly y: number;
@@ -14,4 +14,37 @@ export declare const flowGraphRoot: (nodes: ReadonlyArray<FlowGraphNode>) => Flo
14
14
  * stays together. Nodes the root cannot reach through any edge (either direction) share an outer ring.
15
15
  */
16
16
  export declare const radialPositions: (nodes: ReadonlyArray<FlowGraphNode>, edges: ReadonlyArray<FlowGraphEdge>) => ReadonlyMap<string, FlowGraphPoint>;
17
+ /** The widest a node draws (`.starci-core-flow-graph-node` `max-inline-size: 14rem`), in graph units. */
18
+ export declare const FLOW_GRAPH_NODE_MAX_WIDTH = 224;
19
+ /**
20
+ * Centre-to-centre distance between layers along the direction, and between nodes inside one layer. Wherever nodes sit
21
+ * side by side (`TB` lanes, `LR` layers) the step is the widest node plus a gap, so two nodes never overlap; along `TB`
22
+ * the step leaves an edge room to turn between rows of one-line nodes.
23
+ */
24
+ export declare const FLOW_GRAPH_LAYER_GAP: {
25
+ readonly TB: 100;
26
+ readonly LR: number;
27
+ };
28
+ export declare const FLOW_GRAPH_LANE_GAP: {
29
+ readonly TB: number;
30
+ readonly LR: 90;
31
+ };
32
+ /** The coordinate of layer `index` along the layer axis (y for `TB`, x for `LR`). */
33
+ export declare const layerCoordinate: (index: number, direction: FlowGraphDirection) => number;
34
+ /**
35
+ * Layered positions for a DAG: a node sits in the layer after its deepest predecessor (longest path), the nodes of a
36
+ * layer are spread evenly across the other axis in input order. Edges that close a cycle are ignored.
37
+ */
38
+ export declare const layeredPositions: (nodes: ReadonlyArray<FlowGraphNode>, edges: ReadonlyArray<FlowGraphEdge>, direction: FlowGraphDirection) => {
39
+ readonly positions: ReadonlyMap<string, FlowGraphPoint>;
40
+ readonly layers: ReadonlyMap<string, number>;
41
+ };
42
+ /**
43
+ * Where a layered edge turns, as React Flow's smoothstep `stepPosition` (0 at the source, 1 at the target). An edge to
44
+ * the next layer turns half-way, in the one gap. An edge that skips layers would turn half-way too, which is inside an
45
+ * intermediate layer, so its cross segment would run under a node there and read as an edge to that node. It turns in
46
+ * the last gap instead (running along the source's lane through the skipped layers) or, when a node sits in that lane,
47
+ * in the first gap (running along the target's lane). A node within half a lane gap of the run blocks it.
48
+ */
49
+ export declare const layeredStepPosition: (edge: FlowGraphEdge, positions: ReadonlyMap<string, FlowGraphPoint>, layers: ReadonlyMap<string, number>, direction: FlowGraphDirection) => number | undefined;
17
50
  //# sourceMappingURL=layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE9D,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvE,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,MAAM,CAAA;AACxC,eAAO,MAAM,oBAAoB,MAAM,CAAA;AAEvC,+FAA+F;AAC/F,eAAO,MAAM,aAAa,GAAI,OAAO,aAAa,CAAC,aAAa,CAAC,KAAG,aAAa,GAAG,SAC1B,CAAA;AAE1D;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,aAAa,CAAC,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC,aAAa,CAAC,KAAG,WAAW,CAAC,MAAM,EAAE,cAAc,CAqC5I,CAAA"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/core/branch/FlowGraph/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAElF,MAAM,MAAM,cAAc,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvE,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,MAAM,CAAA;AACxC,eAAO,MAAM,oBAAoB,MAAM,CAAA;AAEvC,+FAA+F;AAC/F,eAAO,MAAM,aAAa,GAAI,OAAO,aAAa,CAAC,aAAa,CAAC,KAAG,aAAa,GAAG,SAC1B,CAAA;AAE1D;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,aAAa,CAAC,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC,aAAa,CAAC,KAAG,WAAW,CAAC,MAAM,EAAE,cAAc,CAqC5I,CAAA;AAED,yGAAyG;AACzG,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAE5C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;CAA2D,CAAA;AAC5F,eAAO,MAAM,mBAAmB;;;CAA0D,CAAA;AAE1F,qFAAqF;AACrF,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,WAAW,kBAAkB,KAAG,MAAiD,CAAA;AAEhI;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GACzB,OAAO,aAAa,CAAC,aAAa,CAAC,EACnC,OAAO,aAAa,CAAC,aAAa,CAAC,EACnC,WAAW,kBAAkB,KAC9B;IAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CA8BzG,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAC5B,MAAM,aAAa,EACnB,WAAW,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,EAC9C,QAAQ,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,WAAW,kBAAkB,KAC9B,MAAM,GAAG,SAqBX,CAAA"}