@infotrust/ui 0.0.0-stage → 0.30.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 (193) hide show
  1. package/LICENSE +24 -0
  2. package/NOTICE.md +37 -0
  3. package/README.md +53 -2
  4. package/dist/assistant-session-DP4_70Xk.js +1381 -0
  5. package/dist/command-Bjncx7YR.js +1279 -0
  6. package/dist/components/actions/ItActionMenu.vue.d.ts +24 -0
  7. package/dist/components/actions/ItDecisionToggle.vue.d.ts +22 -0
  8. package/dist/components/actions/ItIconButton.vue.d.ts +24 -0
  9. package/dist/components/actions/ItLinkButton.vue.d.ts +17 -0
  10. package/dist/components/actions/action-menu.d.ts +19 -0
  11. package/dist/components/charts/ItBarChart.vue.d.ts +121 -0
  12. package/dist/components/charts/ItCalendarChart.vue.d.ts +80 -0
  13. package/dist/components/charts/ItChartLegend.vue.d.ts +47 -0
  14. package/dist/components/charts/ItChartTable.vue.d.ts +16 -0
  15. package/dist/components/charts/ItChartTooltip.vue.d.ts +52 -0
  16. package/dist/components/charts/ItDonutChart.vue.d.ts +79 -0
  17. package/dist/components/charts/ItProportionBar.vue.d.ts +42 -0
  18. package/dist/components/charts/ItSparkline.vue.d.ts +42 -0
  19. package/dist/components/charts/ItTrendChart.vue.d.ts +80 -0
  20. package/dist/components/charts/chart.d.ts +84 -0
  21. package/dist/components/charts/selection.d.ts +14 -0
  22. package/dist/components/charts/skeleton.d.ts +16 -0
  23. package/dist/components/command/ItAssistantPanel.vue.d.ts +56 -0
  24. package/dist/components/command/ItAssistantThread.vue.d.ts +73 -0
  25. package/dist/components/command/ItCommandPalette.vue.d.ts +102 -0
  26. package/dist/components/command/ItMarkdown.vue.d.ts +12 -0
  27. package/dist/components/command/assistant-session.d.ts +26 -0
  28. package/dist/components/command/command.d.ts +127 -0
  29. package/dist/components/command/markdown.d.ts +55 -0
  30. package/dist/components/content/ItDocsArticle.vue.d.ts +18 -0
  31. package/dist/components/content/ItDocsLayout.vue.d.ts +29 -0
  32. package/dist/components/content/ItDocsPager.vue.d.ts +12 -0
  33. package/dist/components/content/ItProse.vue.d.ts +18 -0
  34. package/dist/components/content/docs.d.ts +23 -0
  35. package/dist/components/dag/ItDagCanvas.vue.d.ts +143 -0
  36. package/dist/components/dag/ItDagControls.vue.d.ts +2 -0
  37. package/dist/components/dag/ItDagEdge.vue.d.ts +21 -0
  38. package/dist/components/dag/ItDagLibrary.vue.d.ts +19 -0
  39. package/dist/components/dag/ItDagNode.vue.d.ts +20 -0
  40. package/dist/components/dag/dag.d.ts +182 -0
  41. package/dist/components/dag/history.d.ts +51 -0
  42. package/dist/components/dag/layout.d.ts +54 -0
  43. package/dist/components/dag/route.d.ts +24 -0
  44. package/dist/components/data/DataError.vue.d.ts +12 -0
  45. package/dist/components/data/ItChangeList.vue.d.ts +48 -0
  46. package/dist/components/data/ItCodeBlock.vue.d.ts +23 -0
  47. package/dist/components/data/ItDataTable.vue.d.ts +135 -0
  48. package/dist/components/data/ItDataToolbar.vue.d.ts +57 -0
  49. package/dist/components/data/ItDescriptionList.vue.d.ts +30 -0
  50. package/dist/components/data/ItEmptyState.vue.d.ts +22 -0
  51. package/dist/components/data/ItKpiCard.vue.d.ts +89 -0
  52. package/dist/components/data/ItKpiDetail.vue.d.ts +40 -0
  53. package/dist/components/data/ItKpiGrid.vue.d.ts +19 -0
  54. package/dist/components/data/ItObjectName.vue.d.ts +64 -0
  55. package/dist/components/data/ItPaginator.vue.d.ts +46 -0
  56. package/dist/components/data/ItResourceList.vue.d.ts +39 -0
  57. package/dist/components/data/ItResourceListItem.vue.d.ts +40 -0
  58. package/dist/components/data/ItSkeleton.vue.d.ts +14 -0
  59. package/dist/components/data/ItTablePaginator.vue.d.ts +34 -0
  60. package/dist/components/data/ItTime.vue.d.ts +13 -0
  61. package/dist/components/data/ItTreeTable.vue.d.ts +109 -0
  62. package/dist/components/data/TableChevron.vue.d.ts +8 -0
  63. package/dist/components/data/TableExpansion.vue.d.ts +22 -0
  64. package/dist/components/data/column-sizing.d.ts +31 -0
  65. package/dist/components/data/data-table.d.ts +15 -0
  66. package/dist/components/data/highlight-worker.d.ts +1 -0
  67. package/dist/components/data/highlight.d.ts +3 -0
  68. package/dist/components/data/kpi-placement.d.ts +40 -0
  69. package/dist/components/data/kpi.d.ts +16 -0
  70. package/dist/components/data/sticky-header.d.ts +9 -0
  71. package/dist/components/data/table-skeleton.d.ts +11 -0
  72. package/dist/components/data/table-source.d.ts +77 -0
  73. package/dist/components/data/tree-table-public.d.ts +17 -0
  74. package/dist/components/data/tree-table.d.ts +30 -0
  75. package/dist/components/feedback/ItCallout.vue.d.ts +25 -0
  76. package/dist/components/feedback/ItConfirmHost.vue.d.ts +2 -0
  77. package/dist/components/feedback/ItOverlayHost.vue.d.ts +2 -0
  78. package/dist/components/feedback/ItProgressBar.vue.d.ts +19 -0
  79. package/dist/components/feedback/ItToastHost.vue.d.ts +2 -0
  80. package/dist/components/forms/FieldClearButton.vue.d.ts +11 -0
  81. package/dist/components/forms/ItAutoComplete.vue.d.ts +69 -0
  82. package/dist/components/forms/ItCheckboxGroup.vue.d.ts +27 -0
  83. package/dist/components/forms/ItChipInput.vue.d.ts +32 -0
  84. package/dist/components/forms/ItCodeEditor.vue.d.ts +64 -0
  85. package/dist/components/forms/ItDatePicker.vue.d.ts +35 -0
  86. package/dist/components/forms/ItFileDrop.vue.d.ts +47 -0
  87. package/dist/components/forms/ItFilterChip.vue.d.ts +13 -0
  88. package/dist/components/forms/ItFilterMenu.vue.d.ts +37 -0
  89. package/dist/components/forms/ItFilterPopover.vue.d.ts +44 -0
  90. package/dist/components/forms/ItFormActions.vue.d.ts +14 -0
  91. package/dist/components/forms/ItFormField.vue.d.ts +44 -0
  92. package/dist/components/forms/ItFormRows.vue.d.ts +50 -0
  93. package/dist/components/forms/ItFormSection.vue.d.ts +28 -0
  94. package/dist/components/forms/ItLabelCell.vue.d.ts +42 -0
  95. package/dist/components/forms/ItLabelPicker.vue.d.ts +34 -0
  96. package/dist/components/forms/ItMultiSelect.vue.d.ts +53 -0
  97. package/dist/components/forms/ItOptionCardGroup.vue.d.ts +35 -0
  98. package/dist/components/forms/ItRadioGroup.vue.d.ts +29 -0
  99. package/dist/components/forms/ItSearchInput.vue.d.ts +25 -0
  100. package/dist/components/forms/ItSegmentedControl.vue.d.ts +25 -0
  101. package/dist/components/forms/ItSelect.vue.d.ts +50 -0
  102. package/dist/components/forms/ItSwitch.vue.d.ts +31 -0
  103. package/dist/components/forms/ItTabs.vue.d.ts +27 -0
  104. package/dist/components/forms/OptionSourceSlot.vue.d.ts +13 -0
  105. package/dist/components/forms/choice.d.ts +24 -0
  106. package/dist/components/forms/code-editor.d.ts +17 -0
  107. package/dist/components/forms/field-context.d.ts +39 -0
  108. package/dist/components/forms/file-drop.d.ts +19 -0
  109. package/dist/components/forms/form-errors.d.ts +7 -0
  110. package/dist/components/forms/form-rows.d.ts +8 -0
  111. package/dist/components/forms/option-source.d.ts +39 -0
  112. package/dist/components/forms/virtual-options.d.ts +12 -0
  113. package/dist/components/layout/ItBreadcrumb.vue.d.ts +12 -0
  114. package/dist/components/layout/ItDetailSection.vue.d.ts +21 -0
  115. package/dist/components/layout/ItPage.vue.d.ts +44 -0
  116. package/dist/components/layout/ItPanel.vue.d.ts +47 -0
  117. package/dist/components/layout/ItSectionNav.vue.d.ts +43 -0
  118. package/dist/components/layout/ItWizard.vue.d.ts +57 -0
  119. package/dist/components/layout/ItWizardSteps.vue.d.ts +15 -0
  120. package/dist/components/layout/SectionNavLinks.vue.d.ts +15 -0
  121. package/dist/components/layout/panel.d.ts +18 -0
  122. package/dist/components/layout/section-nav.d.ts +17 -0
  123. package/dist/components/layout/wizard.d.ts +13 -0
  124. package/dist/components/logic/ItFieldPicker.vue.d.ts +40 -0
  125. package/dist/components/logic/ItLogicBuilder.vue.d.ts +58 -0
  126. package/dist/components/logic/ItLogicCondition.vue.d.ts +9 -0
  127. package/dist/components/logic/ItLogicGroup.vue.d.ts +9 -0
  128. package/dist/components/logic/ItOperatorSelect.vue.d.ts +25 -0
  129. package/dist/components/logic/ItValueInput.vue.d.ts +29 -0
  130. package/dist/components/logic/logic.d.ts +263 -0
  131. package/dist/components/logic/region.d.ts +44 -0
  132. package/dist/components/overlays/ItDrawer.vue.d.ts +48 -0
  133. package/dist/components/overlays/ItModal.vue.d.ts +53 -0
  134. package/dist/components/overlays/escape-stack.d.ts +7 -0
  135. package/dist/components/overlays/modal.d.ts +23 -0
  136. package/dist/components/shell/ItAppShell.vue.d.ts +68 -0
  137. package/dist/components/shell/ItCommandTrigger.vue.d.ts +17 -0
  138. package/dist/components/shell/ItOrgSwitcher.vue.d.ts +26 -0
  139. package/dist/components/shell/ItShellMenuItem.vue.d.ts +18 -0
  140. package/dist/components/shell/ItShellNavBranch.vue.d.ts +15 -0
  141. package/dist/components/shell/ItShellNavLink.vue.d.ts +18 -0
  142. package/dist/components/shell/ItShellSidebarButton.vue.d.ts +15 -0
  143. package/dist/components/shell/ItThemeControl.vue.d.ts +13 -0
  144. package/dist/components/shell/org.d.ts +36 -0
  145. package/dist/components/shell/types.d.ts +67 -0
  146. package/dist/components/status/ItBadge.vue.d.ts +12 -0
  147. package/dist/components/status/ItEntityTypeChip.vue.d.ts +14 -0
  148. package/dist/components/status/ItLabelChip.vue.d.ts +21 -0
  149. package/dist/components/status/ItLabelChipList.vue.d.ts +27 -0
  150. package/dist/components/status/ItPlatformChip.vue.d.ts +20 -0
  151. package/dist/components/status/ItPlatformLogo.vue.d.ts +17 -0
  152. package/dist/components/status/ItSeverityBadge.vue.d.ts +9 -0
  153. package/dist/components/status/ItStatus.vue.d.ts +12 -0
  154. package/dist/components.css +1 -0
  155. package/dist/composables/iconMotion.d.ts +12 -0
  156. package/dist/composables/ripple.d.ts +3 -0
  157. package/dist/composables/useItConfirm.d.ts +16 -0
  158. package/dist/composables/useItCopy.d.ts +4 -0
  159. package/dist/composables/useItCursorPager.d.ts +50 -0
  160. package/dist/composables/useItTheme.d.ts +26 -0
  161. package/dist/composables/useItToast.d.ts +24 -0
  162. package/dist/dag.d.ts +5 -0
  163. package/dist/dag.js +1754 -0
  164. package/dist/dev-D7A7MIn_.js +1264 -0
  165. package/dist/directives/truncate.d.ts +29 -0
  166. package/dist/elk-worker.min-O2A22ecl.js +6321 -0
  167. package/dist/format/index.d.ts +53 -0
  168. package/dist/highlight-worker-DIrLC7a2.js +25 -0
  169. package/dist/index.d.ts +147 -0
  170. package/dist/index.js +11989 -0
  171. package/dist/licenses/@vue-flow__core.LICENSE +20 -0
  172. package/dist/licenses/elkjs.LICENSE.md +263 -0
  173. package/dist/licenses/highlight.js.LICENSE +29 -0
  174. package/dist/licenses/vue-sonner.LICENSE +21 -0
  175. package/dist/platform-art-Bt1CnaKE.js +86 -0
  176. package/dist/plugin.d.ts +69 -0
  177. package/dist/registries/entity-type.d.ts +18 -0
  178. package/dist/registries/platform-art.d.ts +2 -0
  179. package/dist/registries/platform-marks.d.ts +12 -0
  180. package/dist/registries/platform.d.ts +22 -0
  181. package/dist/registries/severity.d.ts +23 -0
  182. package/dist/registries/status.d.ts +13 -0
  183. package/dist/styles.css +26 -0
  184. package/dist/text-nGkJYA88.js +470 -0
  185. package/dist/utils/chip-truncation.d.ts +8 -0
  186. package/dist/utils/chunk-recovery.d.ts +24 -0
  187. package/dist/utils/dev.d.ts +2 -0
  188. package/dist/utils/listeners.d.ts +10 -0
  189. package/dist/utils/router.d.ts +9 -0
  190. package/dist/utils/scroll.d.ts +8 -0
  191. package/dist/utils/select.d.ts +21 -0
  192. package/dist/utils/text.d.ts +6 -0
  193. package/package.json +92 -3
@@ -0,0 +1,29 @@
1
+ type __VLS_Props = {
2
+ /** The page title (an h1). Omit it to render your own header in the default slot. */
3
+ title?: string;
4
+ headingLevel?: 1 | 2;
5
+ };
6
+ type __VLS_Slots = {
7
+ /** ItSectionNav with the docs pages. Folds behind its toggle when the layout is one column. */
8
+ nav?: () => unknown;
9
+ /** ItSectionNav mode="toc" for the open page. Below 1100px it folds behind its toggle above the article. */
10
+ outline?: () => unknown;
11
+ breadcrumb?: () => unknown;
12
+ /** One line under the title: type, freshness, reading time. */
13
+ meta?: () => unknown;
14
+ /** Page actions, such as "Copy for LLM". */
15
+ actions?: () => unknown;
16
+ /** The article (ItDocsArticle), then ItDocsPager. */
17
+ default?: () => unknown;
18
+ };
19
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
20
+ title: string;
21
+ headingLevel: 1 | 2;
22
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
24
+ export default _default;
25
+ type __VLS_WithSlots<T, S> = T & {
26
+ new (): {
27
+ $slots: S;
28
+ };
29
+ };
@@ -0,0 +1,12 @@
1
+ import type { ItDocsPagerLink } from './docs';
2
+ type __VLS_Props = {
3
+ previous?: ItDocsPagerLink | null;
4
+ next?: ItDocsPagerLink | null;
5
+ label?: string;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
8
+ label: string;
9
+ next: ItDocsPagerLink | null;
10
+ previous: ItDocsPagerLink | null;
11
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ export default _default;
@@ -0,0 +1,18 @@
1
+ type __VLS_Props = {
2
+ /** Keep the document's semantics. This frame never changes heading levels. */
3
+ as?: 'div' | 'article' | 'section';
4
+ };
5
+ declare var __VLS_6: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_6) => any;
8
+ };
9
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
10
+ as: "div" | "article" | "section";
11
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
13
+ export default _default;
14
+ type __VLS_WithSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
@@ -0,0 +1,23 @@
1
+ import type { ItRouteLocation } from '../../utils/router';
2
+ /** One heading and the content under it, up to the next heading. The app renders and sanitizes the HTML. */
3
+ export interface ItDocsSection {
4
+ /** Null for the introduction above the first heading. */
5
+ heading: {
6
+ id: string;
7
+ level: 2 | 3 | 4;
8
+ /** Plain text: the outline, the action labels, and the copy all use it. */
9
+ text: string;
10
+ /** Sanitized inline HTML for the heading; `text` is shown when absent. */
11
+ html?: string;
12
+ /** A numbered step ("3"): drawn as a badge, and the section's content lines up with the heading text. */
13
+ step?: string | null;
14
+ } | null;
15
+ /** Sanitized HTML for the section body. Fenced code (`<pre><code class="language-…">`) renders as ItCodeBlock. */
16
+ html: string;
17
+ }
18
+ /** A neighbouring page for ItDocsPager. */
19
+ export interface ItDocsPagerLink {
20
+ label: string;
21
+ to?: ItRouteLocation;
22
+ href?: string;
23
+ }
@@ -0,0 +1,143 @@
1
+ import { type ItDagConnectionRule, type ItDagDirection, type ItDagEdgeItem, type ItDagEdgeShape, type ItDagLibraryItem, type ItDagNodeItem, type ItDagNoun, type ItDagPoint, type ItDagPort, type ItDagRemoveGuard } from './dag';
2
+ import { type ItDagHistoryController } from './history';
3
+ type __VLS_Props = {
4
+ nodes: ItDagNodeItem[];
5
+ edges: ItDagEdgeItem[];
6
+ /** Names the canvas region: "Remediation plan". */
7
+ label: string;
8
+ editable?: boolean;
9
+ /** `right`: inputs on the left, columns by depth. `down`: inputs on top, rows by depth. */
10
+ direction?: ItDagDirection;
11
+ edgeShape?: ItDagEdgeShape;
12
+ /** Allow connections that close a loop. Off: it is a DAG. */
13
+ allowCycles?: boolean;
14
+ /** An app rule on top of the built-in ones: return a reason to refuse, or null. */
15
+ connectionRule?: ItDagConnectionRule;
16
+ /** The selected step's id (v-model:selected). */
17
+ selected?: string | null;
18
+ /** Editable: the steps "Add step" offers. Omit it and the canvas has no Add step. */
19
+ library?: ItDagLibraryItem[];
20
+ /** Height on the page: px, or any CSS length ("calc(100vh - 240px)"). Full view fills the window. */
21
+ height?: number | string;
22
+ /** The step editor's width: `md` for a few fields, `lg` when the #editor slot shows more (a step's signature, its requests). */
23
+ editorSize?: 'md' | 'lg';
24
+ /** Default: "No steps yet" (with `noun`, "No labels yet"). */
25
+ emptyTitle?: string;
26
+ emptyDescription?: string;
27
+ /** What the nodes are called in the canvas's own words, lowercase: `{ one: 'label', other: 'labels' }`. */
28
+ noun?: ItDagNoun;
29
+ /** Asked before anything is removed, with what would go; false (or a promise of false) keeps it. */
30
+ beforeRemove?: ItDagRemoveGuard;
31
+ /** `modal`: a click on a step opens the built-in editor. `none`: it selects the step and emits `open`; the app opens its own editor. */
32
+ editor?: 'modal' | 'none';
33
+ /** Editable: undo and redo, in the controls and on ⌘/Ctrl+Z. */
34
+ history?: boolean | ItDagHistoryController;
35
+ /** The lowest zoom "Fit to view" goes to (0.75: a readable 75%). Zoom out can still go to 25%, or to this when it is lower. */
36
+ fitMinZoom?: number;
37
+ /** @deprecated Use fitMinZoom. Retained for one minor release. */
38
+ minZoom?: number;
39
+ /**
40
+ * What a scroll over the canvas does. `page` (default): it scrolls the
41
+ * page, for a canvas on a page that scrolls. `pan`: a trackpad swipe or
42
+ * the mouse wheel pans the canvas (Shift + wheel pans sideways), for a
43
+ * canvas that owns its page (a studio); full view always pans. A pinch and
44
+ * Ctrl/⌘ + wheel zoom either way.
45
+ */
46
+ wheel?: 'page' | 'pan';
47
+ };
48
+ type __VLS_Slots = {
49
+ /** Replaces a step's card. Render an ItDagNode with your own body, or your own card. */
50
+ node?: (scope: {
51
+ node: ItDagNodeItem;
52
+ selected: boolean;
53
+ }) => unknown;
54
+ /** The step editor's fields, under the name. Edit `draft` (its `data` is a copy); Save writes it back. */
55
+ editor?: (scope: {
56
+ node: ItDagNodeItem;
57
+ draft: ItDagNodeItem;
58
+ }) => unknown;
59
+ /** The connection modal's body, under From and To: what flows along the connection (its data shape, a sample). */
60
+ connection?: (scope: {
61
+ edge: ItDagEdgeItem;
62
+ source: ItDagNodeItem;
63
+ target: ItDagNodeItem;
64
+ sourcePort?: ItDagPort;
65
+ targetPort?: ItDagPort;
66
+ }) => unknown;
67
+ /** Top right of the canvas: controls for the whole graph (Settings, Run). They stay in reach in full view. */
68
+ actions?: () => unknown;
69
+ /** Replaces the empty state. */
70
+ empty?: () => unknown;
71
+ };
72
+ /**
73
+ * Fits the graph in view, but never below a readable zoom: a graph too big at
74
+ * that zoom shows its start (the first column, the top row) and the rest pans.
75
+ * Never above 100%, so a small graph keeps its true size.
76
+ */
77
+ declare function fit(): Promise<void>;
78
+ /** A click on a step, or Enter on it: the built-in editor, or with `editor="none"` the app's (`open`). */
79
+ declare function openNode(id: string): void;
80
+ declare function clearHistory(): void;
81
+ declare function undo(): Promise<void>;
82
+ declare function redo(): Promise<void>;
83
+ /**
84
+ * Pans to a step when it is out of sight (a run follows its current step with
85
+ * it). Called before the graph is laid out (on mount), it waits for the
86
+ * layout and its fit, so the app needs no timer.
87
+ */
88
+ declare function revealNode(id: string): void;
89
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
90
+ fit: typeof fit;
91
+ arrange: () => Promise<void>;
92
+ revealNode: typeof revealNode;
93
+ openNode: typeof openNode;
94
+ undo: typeof undo;
95
+ redo: typeof redo;
96
+ canUndo: import("vue").ComputedRef<boolean>;
97
+ canRedo: import("vue").ComputedRef<boolean>;
98
+ clearHistory: typeof clearHistory;
99
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
100
+ open: (node: ItDagNodeItem<unknown>) => any;
101
+ "update:nodes": (nodes: ItDagNodeItem<unknown>[]) => any;
102
+ "update:edges": (edges: ItDagEdgeItem[]) => any;
103
+ "update:selected": (id: string | null) => any;
104
+ create: (event: {
105
+ item: ItDagLibraryItem;
106
+ position: ItDagPoint;
107
+ }) => any;
108
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
109
+ onOpen?: ((node: ItDagNodeItem<unknown>) => any) | undefined;
110
+ "onUpdate:nodes"?: ((nodes: ItDagNodeItem<unknown>[]) => any) | undefined;
111
+ "onUpdate:edges"?: ((edges: ItDagEdgeItem[]) => any) | undefined;
112
+ "onUpdate:selected"?: ((id: string | null) => any) | undefined;
113
+ onCreate?: ((event: {
114
+ item: ItDagLibraryItem;
115
+ position: ItDagPoint;
116
+ }) => any) | undefined;
117
+ }>, {
118
+ wheel: "page" | "pan";
119
+ height: number | string;
120
+ direction: ItDagDirection;
121
+ selected: string | null;
122
+ minZoom: number;
123
+ noun: ItDagNoun;
124
+ editable: boolean;
125
+ edgeShape: ItDagEdgeShape;
126
+ allowCycles: boolean;
127
+ connectionRule: ItDagConnectionRule;
128
+ library: ItDagLibraryItem[];
129
+ editorSize: "md" | "lg";
130
+ emptyTitle: string;
131
+ emptyDescription: string;
132
+ beforeRemove: ItDagRemoveGuard;
133
+ editor: "modal" | "none";
134
+ history: boolean | ItDagHistoryController;
135
+ fitMinZoom: number;
136
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
137
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
138
+ export default _default;
139
+ type __VLS_WithSlots<T, S> = T & {
140
+ new (): {
141
+ $slots: S;
142
+ };
143
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,21 @@
1
+ import { Position } from '@vue-flow/core';
2
+ import { type ItDagEdgeShape, type ItDagEdgeTone } from './dag';
3
+ import { type ItDagEdgeRoute } from './route';
4
+ type __VLS_Props = {
5
+ id: string;
6
+ sourceX: number;
7
+ sourceY: number;
8
+ targetX: number;
9
+ targetY: number;
10
+ sourcePosition: Position;
11
+ targetPosition: Position;
12
+ data?: {
13
+ label?: string;
14
+ tone?: ItDagEdgeTone;
15
+ shape?: ItDagEdgeShape;
16
+ name?: string;
17
+ route?: ItDagEdgeRoute;
18
+ };
19
+ };
20
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { type ItDagLibraryItem, type ItDagNoun } from './dag';
2
+ type __VLS_Props = {
3
+ visible: boolean;
4
+ items: ItDagLibraryItem[];
5
+ /** One line under the title ("Between Read live version and Find tag."). */
6
+ description?: string;
7
+ /** Steps that do not fit where the step goes, by key, with the reason. */
8
+ misfits?: Record<string, string>;
9
+ /** What the canvas calls its nodes (ItDagCanvas `noun`). */
10
+ noun?: ItDagNoun;
11
+ };
12
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
+ "update:visible": (value: boolean) => any;
14
+ pick: (item: ItDagLibraryItem) => any;
15
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
16
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
17
+ onPick?: ((item: ItDagLibraryItem) => any) | undefined;
18
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import { type ItDagNodeItem } from './dag';
2
+ type __VLS_Props = {
3
+ node: ItDagNodeItem;
4
+ /** The canvas passes its selection; set it by hand outside a canvas. */
5
+ selected?: boolean;
6
+ };
7
+ type __VLS_Slots = {
8
+ /** Body under the meta line. */
9
+ default?: () => unknown;
10
+ };
11
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
+ selected: boolean;
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,182 @@
1
+ import type { Component, InjectionKey } from 'vue';
2
+ export type ItDagDirection = 'right' | 'down';
3
+ export type ItDagEdgeShape = 'step' | 'bezier';
4
+ /** `active` is data moving now (a running step's input); `muted` is a path that did not run. */
5
+ export type ItDagEdgeTone = 'default' | 'active' | 'success' | 'danger' | 'muted';
6
+ export interface ItDagPoint {
7
+ x: number;
8
+ y: number;
9
+ }
10
+ export interface ItDagPort {
11
+ id: string;
12
+ /** Shown beside the port when a side has more than one ("True", "False"). Also its accessible name. */
13
+ label?: string;
14
+ /** Output: the kind of data it gives ("findings"). */
15
+ type?: string;
16
+ /** Input: the kinds of data it takes. Omit to take any. */
17
+ accepts?: string[];
18
+ /** Input: the most connections it takes. */
19
+ max?: number;
20
+ }
21
+ export interface ItDagNodeItem<Data = unknown> {
22
+ id: string;
23
+ label: string;
24
+ /** Overline above the label: the step's kind ("Trigger", "Action", "Condition"). */
25
+ kind?: string;
26
+ /** A muted line under the label ("GTM-NX42K · 26 tags"). */
27
+ meta?: string;
28
+ /** A Lucide icon for the kind. */
29
+ icon?: Component;
30
+ /** The platform the step works on ("gtm", "ga4"): its ItPlatformChip takes the icon's place. */
31
+ platform?: string;
32
+ /** Operational status, from the ItStatus registry: queued, running, succeeded, failed… */
33
+ status?: string | null;
34
+ /** The call the step makes, in mono on its own line under the meta ("gtm.tag.find"): the `uses` of the DAG patterns. */
35
+ call?: string;
36
+ /** A short word at the right of the call line: "Held" on a write that waits for its batch, "Planned" on a step not built yet. */
37
+ badge?: {
38
+ label: string;
39
+ tone?: 'neutral' | 'info' | 'success' | 'warning' | 'danger';
40
+ };
41
+ /** Where the node sits on the canvas. Omit it and auto-layout places the node. */
42
+ position?: ItDagPoint;
43
+ /** Default: one input. `[]` for none (a trigger). */
44
+ inputs?: ItDagPort[];
45
+ /** Default: one output. `[]` for none (an end step). */
46
+ outputs?: ItDagPort[];
47
+ /** Dims the node: a step that did not run or is turned off. */
48
+ muted?: boolean;
49
+ /**
50
+ * False: a step the graph cannot do without (a workflow's start). Its editor
51
+ * has no "Delete step", and Delete or Backspace leave it in place. Default true.
52
+ */
53
+ removable?: boolean;
54
+ /** The step editor's title when "Edit step" does not say it ("Workflow settings" on a workflow's start). */
55
+ editorTitle?: string;
56
+ /** The app's own data for the step. */
57
+ data?: Data;
58
+ }
59
+ export interface ItDagEdgeItem {
60
+ id: string;
61
+ source: string;
62
+ target: string;
63
+ /** Output port id on the source. Default: its first output. */
64
+ sourcePort?: string;
65
+ /** Input port id on the target. Default: its first input. */
66
+ targetPort?: string;
67
+ /** A short word on the edge ("3 findings", "True"). */
68
+ label?: string;
69
+ tone?: ItDagEdgeTone;
70
+ }
71
+ export interface ItDagConnection {
72
+ source: string;
73
+ sourcePort: string;
74
+ target: string;
75
+ targetPort: string;
76
+ }
77
+ /** A step a user can add from the canvas's step library ("Add step"). */
78
+ export interface ItDagLibraryItem {
79
+ key: string;
80
+ label: string;
81
+ description?: string;
82
+ icon?: Component;
83
+ /** The platform the step works on: its ItPlatformChip takes the icon's place. */
84
+ platform?: string;
85
+ /** Heading the item is listed under ("Data", "Messaging", "AI"). */
86
+ group?: string;
87
+ /** A status word on the card when the step is not ready ("not_connected", "expired"). */
88
+ status?: string | null;
89
+ /**
90
+ * The ports the new step will have. With them, "Add a step here" on a line
91
+ * lists the steps that fit between its two steps first, and the rest apart
92
+ * with the reason. Without them, a step is not judged before it is added.
93
+ */
94
+ inputs?: ItDagPort[];
95
+ outputs?: ItDagPort[];
96
+ }
97
+ /** An app rule on top of the built-in ones: a reason to refuse, or null. */
98
+ export type ItDagConnectionRule = (connection: ItDagConnection) => string | null;
99
+ /**
100
+ * What the canvas calls its nodes, in every string it writes ("Add step",
101
+ * "Delete label", "Search labels"). Lowercase; the canvas capitalizes it at
102
+ * the start of a sentence. `article` is for "a/an" before `one`: by default
103
+ * "an" before a vowel, so set it for words the rule gets wrong ("a user",
104
+ * "an hour").
105
+ */
106
+ export interface ItDagNoun {
107
+ one: string;
108
+ other: string;
109
+ article?: 'a' | 'an';
110
+ }
111
+ export declare const IT_DAG_NOUN: ItDagNoun;
112
+ /** "a step", "an asset". */
113
+ export declare function itDagA(noun: ItDagNoun): string;
114
+ export declare function itDagCapitalize(text: string): string;
115
+ /** Steps and lines together: what a removal takes away, or the model as a whole. */
116
+ export interface ItDagGraph {
117
+ nodes: ItDagNodeItem[];
118
+ edges: ItDagEdgeItem[];
119
+ }
120
+ /**
121
+ * Asked before the canvas removes anything (Delete or Backspace, "Delete
122
+ * step", a line's Delete): the steps and lines that would go, the lines of a
123
+ * removed step included. Return false (or resolve to false) to keep them; the
124
+ * app can ask first with `useItConfirm().destructive`.
125
+ */
126
+ export type ItDagRemoveGuard = (change: ItDagGraph) => boolean | Promise<boolean>;
127
+ export declare function itDagInputs(node: ItDagNodeItem): ItDagPort[];
128
+ export declare function itDagOutputs(node: ItDagNodeItem): ItDagPort[];
129
+ /** The edge's ports, with the defaults filled in. Pass the nodes by id when looking up many edges. */
130
+ export declare function itDagEdgePorts(edge: ItDagEdgeItem, nodes: readonly ItDagNodeItem[] | ReadonlyMap<string, ItDagNodeItem>): {
131
+ sourcePort: string | undefined;
132
+ targetPort: string | undefined;
133
+ };
134
+ export declare function itDagEdgeId(connection: ItDagConnection): string;
135
+ /** True when a path of edges leads from `from` to `to`. */
136
+ export declare function itDagReaches(edges: readonly ItDagEdgeItem[], from: string, to: string): boolean;
137
+ /**
138
+ * Why a connection is refused, or null when it is allowed. The built-in rules:
139
+ * output to input only, no step to itself, no second edge between the same
140
+ * ports, the input's `accepts` and `max`, and no loop (unless `allowCycles`).
141
+ */
142
+ export declare function itDagConnectionError(nodes: readonly ItDagNodeItem[], edges: readonly ItDagEdgeItem[], connection: ItDagConnection, options?: {
143
+ allowCycles?: boolean;
144
+ noun?: ItDagNoun;
145
+ }): string | null;
146
+ /** What ItDagCanvas shares with its parts (steps, controls). */
147
+ export interface ItDagCanvasContext {
148
+ editable: () => boolean;
149
+ direction: () => ItDagDirection;
150
+ expanded: () => boolean;
151
+ toggleExpanded: () => void;
152
+ zoomIn: () => void;
153
+ zoomOut: () => void;
154
+ fit: () => void;
155
+ arrange: () => void;
156
+ /** The edge the pointer is on: its toolbar shows. */
157
+ hoveredEdge: () => string | null;
158
+ /** Pointer on or off an edge's line or its toolbar; off both waits a moment, so the pointer can reach the toolbar. */
159
+ hoverEdge: (id: string, part: 'line' | 'tools', on: boolean) => void;
160
+ /** Opens the connection modal for an edge. */
161
+ openConnection: (id: string) => void;
162
+ /** Opens the library to put a step on an edge, between its two steps. */
163
+ insertOnEdge: (id: string) => void;
164
+ removeEdge: (id: string) => void;
165
+ /** The part of the canvas in view, in canvas coordinates, as of the last pan or zoom (null before the first fit). */
166
+ view: () => ItDagViewRect | null;
167
+ /** What the canvas calls its nodes. */
168
+ noun: () => ItDagNoun;
169
+ /** Undo and redo are on (an editable canvas with `history`). */
170
+ history: () => boolean;
171
+ canUndo: () => boolean;
172
+ canRedo: () => boolean;
173
+ undo: () => void;
174
+ redo: () => void;
175
+ }
176
+ export interface ItDagViewRect {
177
+ x: number;
178
+ y: number;
179
+ width: number;
180
+ height: number;
181
+ }
182
+ export declare const IT_DAG_CANVAS: InjectionKey<ItDagCanvasContext>;
@@ -0,0 +1,51 @@
1
+ import type { ItDagEdgeItem, ItDagGraph, ItDagNodeItem, ItDagPoint } from './dag';
2
+ /** App-owned history for persisted graphs. The app records changes and remaps server ids. */
3
+ export interface ItDagHistoryController {
4
+ canUndo: boolean;
5
+ canRedo: boolean;
6
+ /** Disable history controls while an app save or restore is pending. */
7
+ busy?: boolean;
8
+ undo(): void | Promise<void>;
9
+ redo(): void | Promise<void>;
10
+ clear?(): void;
11
+ }
12
+ export interface ItDagHistoryEntry {
13
+ /** Steps that came onto the canvas, with their index in the model, so undo then redo puts them back in place. */
14
+ addedNodes: {
15
+ node: ItDagNodeItem;
16
+ index: number;
17
+ }[];
18
+ removedNodes: {
19
+ node: ItDagNodeItem;
20
+ index: number;
21
+ }[];
22
+ addedEdges: {
23
+ edge: ItDagEdgeItem;
24
+ index: number;
25
+ }[];
26
+ removedEdges: {
27
+ edge: ItDagEdgeItem;
28
+ index: number;
29
+ }[];
30
+ /** Steps that stayed and changed place. `from` is undefined for a step auto-layout had placed. */
31
+ moved: {
32
+ id: string;
33
+ from?: ItDagPoint;
34
+ to?: ItDagPoint;
35
+ }[];
36
+ }
37
+ /** What one action changed, as an entry; null when it changed none of what history tracks (a step's name or data). */
38
+ export declare function itDagHistoryDiff(before: ItDagGraph, after: ItDagGraph): ItDagHistoryEntry | null;
39
+ /**
40
+ * The steps after undoing (`undo`) or redoing (`redo`) an entry on the model
41
+ * as it is now. Lines are a second step (`itDagHistoryEdges`): a line to a
42
+ * step Vue Flow has not stored yet is dropped, so the canvas sends the steps
43
+ * first and the lines once the steps are in.
44
+ */
45
+ export declare function itDagHistoryNodes(entry: ItDagHistoryEntry, nodes: readonly ItDagNodeItem[], way: 'undo' | 'redo'): ItDagNodeItem[];
46
+ /**
47
+ * The lines after undoing or redoing an entry, given the steps it left
48
+ * (`nodes`): the lines of a step it took away go with it, and a line comes
49
+ * back only when both its steps are on the canvas.
50
+ */
51
+ export declare function itDagHistoryEdges(entry: ItDagHistoryEntry, edges: readonly ItDagEdgeItem[], nodes: readonly ItDagNodeItem[], way: 'undo' | 'redo'): ItDagEdgeItem[];
@@ -0,0 +1,54 @@
1
+ import type { ItDagDirection, ItDagPoint } from './dag';
2
+ export interface ItDagLayoutNode {
3
+ id: string;
4
+ width: number;
5
+ height: number;
6
+ inputs: string[];
7
+ outputs: string[];
8
+ /**
9
+ * Where each port's center is along its side, in the order of `inputs` and
10
+ * `outputs`: from the top when the flow runs right, from the left when it
11
+ * runs down. Omit to spread the ports evenly.
12
+ */
13
+ portOffsets?: {
14
+ inputs: number[];
15
+ outputs: number[];
16
+ };
17
+ }
18
+ export interface ItDagLayoutEdge {
19
+ id: string;
20
+ source: string;
21
+ target: string;
22
+ sourcePort: string;
23
+ targetPort: string;
24
+ }
25
+ /** An edge's route: where it leaves the source's border, the bends, and where it meets the target's border. */
26
+ export interface ItDagRoute {
27
+ start: ItDagPoint;
28
+ bends: ItDagPoint[];
29
+ end: ItDagPoint;
30
+ }
31
+ export interface ItDagArrangement {
32
+ /** Each node's top-left corner, on whole pixels. */
33
+ positions: Map<string, ItDagPoint>;
34
+ /** Each edge's route, for the positions as ELK placed them (before the round to whole pixels). */
35
+ routes: Map<string, ItDagRoute>;
36
+ }
37
+ /** Space between steps in one column, between columns, and the straight run out of a port. */
38
+ export declare const IT_DAG_SPACING: {
39
+ node: number;
40
+ layer: number;
41
+ lead: number;
42
+ };
43
+ /** Starts loading ELK (and its worker) before the first layout needs it. A failure here is left to that layout. */
44
+ export declare function itDagPreloadLayout(): void;
45
+ /** Places every node and routes every edge. */
46
+ export declare function itDagArrange(nodes: ItDagLayoutNode[], edges: ItDagLayoutEdge[], direction?: ItDagDirection): Promise<ItDagArrangement>;
47
+ /**
48
+ * A plain layout for when ELK cannot load: columns by depth (rows when the
49
+ * direction is down), each in the model's order, with the same spacing. No
50
+ * crossing reduction and no routes; it only keeps the steps apart and readable.
51
+ */
52
+ export declare function itDagFallbackLayout(nodes: ItDagLayoutNode[], edges: ItDagLayoutEdge[], direction?: ItDagDirection): Map<string, ItDagPoint>;
53
+ /** Places every node; returns each node's top-left corner. */
54
+ export declare function itDagLayout(nodes: ItDagLayoutNode[], edges: ItDagLayoutEdge[], direction?: ItDagDirection): Promise<Map<string, ItDagPoint>>;
@@ -0,0 +1,24 @@
1
+ import type { ItDagPoint } from './dag';
2
+ /** A route as the canvas keeps it: the port points it was made for, and the bends between. */
3
+ export interface ItDagEdgeRoute {
4
+ from: ItDagPoint;
5
+ to: ItDagPoint;
6
+ bends: ItDagPoint[];
7
+ }
8
+ /**
9
+ * The route's points from `source` to `target`, or null when a step has moved
10
+ * since the layout (the route no longer meets its ports). The straight run out
11
+ * of the source and the straight run into the target take the ports' exact
12
+ * line: every bend on that run moves, not only the one next to the port. A run
13
+ * left a pixel off its port draws a second, offset line beside the other lines
14
+ * into the same input, which reads as a doubled line. A port that slid across
15
+ * the flow (its step changed height) keeps the route: its run follows it. A
16
+ * rejected route falls back to a plain line, which can cut through a step.
17
+ */
18
+ export declare function routePoints(route: ItDagEdgeRoute | undefined, source: ItDagPoint, target: ItDagPoint, across: boolean): ItDagPoint[] | null;
19
+ /** The path through the points, each bend rounded by up to `radius`, and the point halfway along it (for a label). */
20
+ export declare function routePath(points: ItDagPoint[], radius: number): {
21
+ path: string;
22
+ labelX: number;
23
+ labelY: number;
24
+ };
@@ -0,0 +1,12 @@
1
+ type __VLS_Props = {
2
+ error: string | boolean;
3
+ /** What failed to load, in a few words: the chart's or card's label. */
4
+ subject?: string;
5
+ retryable?: boolean;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ retry: () => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ onRetry?: (() => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ export default _default;