@artemis-studio/plugin-sdk 2026.9.47 → 2026.9.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artemis-studio/plugin-sdk",
3
- "version": "2026.9.47",
3
+ "version": "2026.9.49",
4
4
  "description": "Build the UI of an Artemis Studio plugin: typings for the Studio APIs a plugin may use, and a Vite preset.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -10,12 +10,21 @@ export interface CodeEditorProps {
10
10
  /** The visible label, which is also the editor's accessible name. */
11
11
  label: string;
12
12
  minHeight?: number;
13
+ /** Past this height the editor scrolls inside itself. */
14
+ maxHeight?: number;
15
+ /** Wrap long lines instead of scrolling them sideways. */
16
+ lineWrapping?: boolean;
13
17
  }
14
18
  /**
15
- * A document editor for YAML or JSON: CodeMirror with line numbers and a lint
16
- * gutter, coloured from `theme.css` like the SQL console. It validates nothing
17
- * itself. The caller passes the server's diagnostics, which are marked at their
18
- * line and column and summarised in a live region, so a screen reader hears
19
- * that the document has problems without hunting for the marks.
19
+ * A document editor for YAML or JSON: CodeMirror with line numbers, folding, a
20
+ * lint gutter, bracket matching and search, coloured from `theme.css` like the
21
+ * SQL console. It validates nothing itself. The caller passes the server's
22
+ * diagnostics, which are marked at their line and column and summarised in a
23
+ * live region, so a screen reader hears that the document has problems without
24
+ * hunting for the marks.
25
+ *
26
+ * Tab indents, so an editable editor would otherwise trap the keyboard. Escape
27
+ * hands the next Tab back to the browser (CodeMirror's tab-focus mode), and the
28
+ * hint under the editor says so.
20
29
  */
21
- export declare function CodeEditor({ value, onChange, language, diagnostics, readOnly, label, minHeight, }: CodeEditorProps): import("react").JSX.Element;
30
+ export declare function CodeEditor({ value, onChange, language, diagnostics, readOnly, label, minHeight, maxHeight, lineWrapping, }: CodeEditorProps): import("react").JSX.Element;
@@ -58,6 +58,11 @@ interface VirtualTableProps<T> {
58
58
  rowMenu?: RowMenu<T>;
59
59
  /** Sized to its rows, up to a short cap, instead of to the viewport: a handful of rows in a pane. */
60
60
  compact?: boolean;
61
+ /**
62
+ * Remembers the column widths each viewer sets, in this browser (ADR-0116). Stable and unique
63
+ * per grid; a plugin prefixes its id. Without one, widths last as long as the grid is shown.
64
+ */
65
+ storageKey?: string;
61
66
  }
62
67
  /**
63
68
  * A virtualized data grid: one CSS grid track list, declared once and shared by
@@ -81,5 +86,5 @@ interface VirtualTableProps<T> {
81
86
  * key, so a refresh or a re-sort does not move it to another row, and its row is
82
87
  * always rendered however far it is scrolled.
83
88
  */
84
- export declare function VirtualTable<T>({ columns, data, label, sort, onSortChange, onRowClick, rowKey, emptyLabel, rowClassName, selectable, selected, onToggleRow, onToggleAll, onAtTopChange, rowMenu, compact, }: VirtualTableProps<T>): import("react").JSX.Element;
89
+ export declare function VirtualTable<T>({ columns, data, label, sort, onSortChange, onRowClick, rowKey, emptyLabel, rowClassName, selectable, selected, onToggleRow, onToggleAll, onAtTopChange, rowMenu, compact, storageKey, }: VirtualTableProps<T>): import("react").JSX.Element;
85
90
  export {};
@@ -2,8 +2,10 @@ import { HighlightStyle } from "@codemirror/language";
2
2
  /**
3
3
  * Every colour comes from `theme.css`, so the editor follows the colour scheme
4
4
  * with the rest of the console and neither scheme is inferred from the other
5
- * (non-negotiable #6). Four token roles: an identifier deliberately stays body
6
- * text, so the eye lands on what was typed rather than on the syntax.
5
+ * (non-negotiable #6). A SQL identifier deliberately stays body text, so the eye
6
+ * lands on what was typed rather than on the syntax. A YAML or JSON document is
7
+ * mostly keys and values, so those two carry colour, and the punctuation that
8
+ * holds them together steps back.
7
9
  */
8
10
  export declare const codeHighlight: HighlightStyle;
9
11
  export declare const codeTheme: import("@codemirror/state").Extension;