@tai42/studio-sdk 11.0.0 → 12.0.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.
package/README.md CHANGED
@@ -196,16 +196,19 @@ icons; the `-fill` members are for fills and charts and carry `on-fill` ink.
196
196
  | `--tai-color-syntax-number` | `var(--tai-color-accent)` | _(same)_ |
197
197
  | `--tai-color-syntax-bool` | `var(--tai-color-warn-text)` | _(same)_ |
198
198
 
199
- **Legacy slots.** The names a plugin already styles against, re-pointed at the
200
- members of the contract above that keep them legible.
199
+ **Legacy slots.** The names a plugin already styles against. `primary`,
200
+ `success` and `warning` re-point at the members of the contract above that keep
201
+ them legible; `danger` is its own destructive emphasis — a deep red that runs
202
+ darker than the brand accent in both themes so a destructive control is never
203
+ mistaken for the primary one, with a white label and a hover a shade deeper.
201
204
 
202
205
  | Token | Light | Dark |
203
206
  | ---------------------------- | ---------------------------- | --------- |
204
207
  | `--tai-color-primary` | `var(--tai-color-accent)` | _(same)_ |
205
208
  | `--tai-color-primary-text` | `var(--tai-color-on-accent)` | _(same)_ |
206
- | `--tai-color-danger` | `var(--tai-color-err-text)` | _(same)_ |
207
- | `--tai-color-danger-text` | `#ffffff` | `#0c0e12` |
208
- | `--tai-color-danger-hover` | `#7f1d1d` | `#fca5a5` |
209
+ | `--tai-color-danger` | `#991b1b` | `#dc2626` |
210
+ | `--tai-color-danger-text` | `#ffffff` | `#ffffff` |
211
+ | `--tai-color-danger-hover` | `#7f1d1d` | `#b91c1c` |
209
212
  | `--tai-color-danger-surface` | `var(--tai-color-err-tint)` | _(same)_ |
210
213
  | `--tai-color-success` | `var(--tai-color-ok-text)` | _(same)_ |
211
214
  | `--tai-color-warning` | `var(--tai-color-warn-text)` | _(same)_ |
@@ -987,7 +987,7 @@
987
987
  /* The HOST-APPLIED provenance mark on plugin-contributed nav (the shell renders
988
988
  it; a plugin cannot suppress or restyle it). A small muted glyph that links to
989
989
  the plugin's marketplace row and brightens on hover/focus. It sits beside a nav
990
- row (per-entry, in a core section) or beside a self-named section header. */
990
+ row — per-entry, whether the row sits in a core section or the shared Plugins section. */
991
991
  .tai-plugin-badge {
992
992
  display: inline-flex;
993
993
  align-items: center;
@@ -2090,6 +2090,29 @@
2090
2090
  flex-wrap: wrap;
2091
2091
  }
2092
2092
 
2093
+ /* A search field whose magnifier sits INSIDE the input on its leading edge,
2094
+ rather than as a detached glyph beside it. The wrapper is not a flex row —
2095
+ the input is its only in-flow child — so it stays out of the horizontal-strip
2096
+ contract; the icon is taken out of flow and centred over the input's reserved
2097
+ leading padding, and made click-through so a press still lands in the field. */
2098
+ .tai-search-field {
2099
+ position: relative;
2100
+ display: inline-block;
2101
+ }
2102
+
2103
+ .tai-search-field > .tai-icon {
2104
+ position: absolute;
2105
+ inset-inline-start: var(--tai-space-3);
2106
+ top: 50%;
2107
+ transform: translateY(-50%);
2108
+ color: var(--tai-color-text-muted);
2109
+ pointer-events: none;
2110
+ }
2111
+
2112
+ .tai-search-field > .tai-input {
2113
+ padding-inline-start: calc(var(--tai-space-3) + 1.5rem);
2114
+ }
2115
+
2093
2116
  /* A first-class folder entry (row cell or card): the folder affordance beside
2094
2117
  its optional actions, the actions pushed to the trailing edge. */
2095
2118
  .tai-explorer-folder {
@@ -1,4 +1,4 @@
1
- import type { ReactElement, ReactNode } from 'react';
1
+ import { type ReactElement, type ReactNode } from 'react';
2
2
  export interface DialogProps {
3
3
  readonly title: string;
4
4
  readonly description?: string;
@@ -34,6 +34,18 @@ export interface DialogProps {
34
34
  * accessible name never depends on the visible chrome.
35
35
  */
36
36
  readonly chromeless?: boolean;
37
+ /**
38
+ * When `false`, the light-dismiss gestures are disabled: Escape and a pointer
39
+ * press outside the panel no longer close it, so the only way out is an explicit
40
+ * action the `children` render (a Done/Cancel button calling `onOpenChange`).
41
+ * The focus trap, the scrim and every other Radix behaviour are unchanged. This
42
+ * is a generic mechanism — it knows nothing of what the dialog holds — for the
43
+ * one-time-reveal case where an accidental dismiss would lose content the server
44
+ * cannot reproduce. Defaults to `true`, the ordinary dismissable modal. This
45
+ * design-system panel renders no built-in close (X) affordance, so there is none
46
+ * to hide here; explicit close stays entirely with the caller's own buttons.
47
+ */
48
+ readonly dismissable?: boolean;
37
49
  }
38
- export declare function Dialog({ title, description, children, trigger, open, defaultOpen, onOpenChange, fullscreen, contentClassName, chromeless, }: DialogProps): import("react").JSX.Element;
50
+ export declare function Dialog({ title, description, children, trigger, open, defaultOpen, onOpenChange, fullscreen, contentClassName, chromeless, dismissable, }: DialogProps): import("react").JSX.Element;
39
51
  //# sourceMappingURL=dialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKrD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,UAAkB,EAClB,gBAAgB,EAChB,UAAkB,GACnB,EAAE,WAAW,+BAkDb"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKlE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,UAAkB,EAClB,gBAAgB,EAChB,UAAkB,EAClB,WAAkB,GACnB,EAAE,WAAW,+BAwEb"}
@@ -12,9 +12,10 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
12
12
  * (see the props) reshape the panel without giving up any Radix behaviour.
13
13
  */
14
14
  import * as RadixDialog from '@radix-ui/react-dialog';
15
+ import { useRef } from 'react';
15
16
  import { assertSlotElement } from '../element-slot';
16
17
  import { useModalFocusReturn } from './modal-focus';
17
- export function Dialog({ title, description, children, trigger, open, defaultOpen, onOpenChange, fullscreen = false, contentClassName, chromeless = false, }) {
18
+ export function Dialog({ title, description, children, trigger, open, defaultOpen, onOpenChange, fullscreen = false, contentClassName, chromeless = false, dismissable = true, }) {
18
19
  const focusReturn = useModalFocusReturn(trigger !== undefined);
19
20
  if (trigger !== undefined)
20
21
  assertSlotElement(trigger, 'Dialog `trigger`');
@@ -23,6 +24,28 @@ export function Dialog({ title, description, children, trigger, open, defaultOpe
23
24
  contentClasses.push('tai-dialog-fullscreen');
24
25
  if (contentClassName !== undefined)
25
26
  contentClasses.push(contentClassName);
26
- return (_jsxs(RadixDialog.Root, { open: open, defaultOpen: defaultOpen, onOpenChange: onOpenChange, children: [trigger !== undefined ? _jsx(RadixDialog.Trigger, { asChild: true, children: trigger }) : null, _jsxs(RadixDialog.Portal, { children: [_jsx(RadixDialog.Overlay, { className: "tai-overlay" }), _jsxs(RadixDialog.Content, { className: contentClasses.join(' '), ...focusReturn, ...(description === undefined ? { 'aria-describedby': undefined } : {}), children: [_jsx(RadixDialog.Title, { className: chromeless ? 'tai-visually-hidden' : 'tai-dialog-title', children: title }), chromeless ? (_jsxs(_Fragment, { children: [description !== undefined ? (_jsx(RadixDialog.Description, { className: "tai-visually-hidden", children: description })) : null, children] })) : (_jsxs("div", { className: "tai-stack", children: [description !== undefined ? (_jsx(RadixDialog.Description, { className: "tai-muted", children: description })) : null, children] }))] })] })] }));
27
+ // Blocking a dismiss is `preventDefault` on the two gestures Radix fires for
28
+ // one — Escape and a pointer press outside the panel — so the trap and scrim
29
+ // stay in place and only an explicit action can call `onOpenChange`.
30
+ //
31
+ // The handlers are STABLE (created once) and read `dismissable` through a live
32
+ // ref, deliberately: Radix's dismissable layer latches the handler it was given
33
+ // and keeps calling that first closure, so a dialog that mounts dismissable and
34
+ // later turns undismissable (the shown-once reveal) would go on honouring the
35
+ // stale `dismissable` if the value were read from the render closure. The ref,
36
+ // rewritten every render, is what a fresh gesture always sees.
37
+ const dismissableRef = useRef(dismissable);
38
+ dismissableRef.current = dismissable;
39
+ const dismissGuards = useRef({
40
+ onEscapeKeyDown: (event) => {
41
+ if (!dismissableRef.current)
42
+ event.preventDefault();
43
+ },
44
+ onPointerDownOutside: (event) => {
45
+ if (!dismissableRef.current)
46
+ event.preventDefault();
47
+ },
48
+ }).current;
49
+ return (_jsxs(RadixDialog.Root, { open: open, defaultOpen: defaultOpen, onOpenChange: onOpenChange, children: [trigger !== undefined ? _jsx(RadixDialog.Trigger, { asChild: true, children: trigger }) : null, _jsxs(RadixDialog.Portal, { children: [_jsx(RadixDialog.Overlay, { className: "tai-overlay" }), _jsxs(RadixDialog.Content, { className: contentClasses.join(' '), ...focusReturn, ...dismissGuards, ...(description === undefined ? { 'aria-describedby': undefined } : {}), children: [_jsx(RadixDialog.Title, { className: chromeless ? 'tai-visually-hidden' : 'tai-dialog-title', children: title }), chromeless ? (_jsxs(_Fragment, { children: [description !== undefined ? (_jsx(RadixDialog.Description, { className: "tai-visually-hidden", children: description })) : null, children] })) : (_jsxs("div", { className: "tai-stack", children: [description !== undefined ? (_jsx(RadixDialog.Description, { className: "tai-muted", children: description })) : null, children] }))] })] })] }));
27
50
  }
28
51
  //# sourceMappingURL=dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAuCpD,MAAM,UAAU,MAAM,CAAC,EACrB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,UAAU,GAAG,KAAK,EAClB,gBAAgB,EAChB,UAAU,GAAG,KAAK,GACN;IACZ,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAC/D,IAAI,OAAO,KAAK,SAAS;QAAE,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAE1E,MAAM,cAAc,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,IAAI,UAAU;QAAE,cAAc,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC7D,IAAI,gBAAgB,KAAK,SAAS;QAAE,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE1E,OAAO,CACL,MAAC,WAAW,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,aAC/E,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAC,WAAW,CAAC,OAAO,IAAC,OAAO,kBAAE,OAAO,GAAuB,CAAC,CAAC,CAAC,IAAI,EAC5F,MAAC,WAAW,CAAC,MAAM,eACjB,KAAC,WAAW,CAAC,OAAO,IAAC,SAAS,EAAC,aAAa,GAAG,EAK/C,MAAC,WAAW,CAAC,OAAO,IAClB,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,KAC/B,WAAW,KACX,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAIxE,KAAC,WAAW,CAAC,KAAK,IAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,kBAAkB,YAClF,KAAK,GACY,EACnB,UAAU,CAAC,CAAC,CAAC,CACZ,8BACG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAC3B,KAAC,WAAW,CAAC,WAAW,IAAC,SAAS,EAAC,qBAAqB,YACrD,WAAW,GACY,CAC3B,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,IACR,CACJ,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,WAAW,aACvB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAC3B,KAAC,WAAW,CAAC,WAAW,IAAC,SAAS,EAAC,WAAW,YAC3C,WAAW,GACY,CAC3B,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,IACL,CACP,IACmB,IACH,IACJ,CACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"explorer-view.d.ts","sourceRoot":"","sources":["../../src/components/explorer-view.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzE,OAAO,EAA6C,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAUtF;gCACgC;AAChC,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;mEAEmE;AACnE,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,EACvC,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,aAAa,EAAE,MAAM,GACpB,kBAAkB,EAAE,CA2BtB;AAED;;mBAEmB;AACnB,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,OAAO,CAIT;AAED;sDACsD;AACtD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,iFAAiF;AACjF,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IACzD,iEAAiE;IACjE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;wDACoD;IACpD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;2DAC2D;AAC3D,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACtD,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;CAC7B;AAED,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC;4CACwC;IACxC,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC;uDACmD;IACnD,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IACzC,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAAC;IAEjD,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,oFAAoF;IACpF,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC;IAC3C,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC;IAE5C;;;mEAG+D;IAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAExC,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAEpC,2EAA2E;IAC3E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC;IAE7D,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;CAC3C;AAyID,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAC9B,KAAK,EACL,UAAU,EACV,WAAW,EACX,OAAO,EACP,eAAe,EACf,UAAU,EACV,SAAS,EACT,WAAW,EACX,KAAK,EACL,OAAO,EACP,SAAS,EACT,UAAU,EACV,UAAU,EACV,IAAI,EACJ,MAAM,EACN,mBAAmB,EACnB,WAAW,GACZ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,CA8PlC"}
1
+ {"version":3,"file":"explorer-view.d.ts","sourceRoot":"","sources":["../../src/components/explorer-view.tsx"],"names":[],"mappings":"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"}
@@ -207,7 +207,7 @@ export function ExplorerView({ items, getItemKey, getFolderId, folders, currentF
207
207
  setPage(effectivePage);
208
208
  const pageStart = (effectivePage - 1) * pageSize;
209
209
  const pageEntries = entries.slice(pageStart, pageStart + pageSize);
210
- const footer = entries.length > 0 ? (_jsxs("nav", { className: "tai-explorer-pagination", "aria-label": `${label} pagination`, children: [_jsx("span", { className: "tai-muted", children: `${String(pageStart + 1)}–${String(Math.min(pageStart + pageSize, entries.length))} of ${String(entries.length)}` }), _jsxs("div", { className: "tai-row", children: [_jsx(Select, { "aria-label": "Items per page", value: String(pageSize), onValueChange: (value) => {
210
+ const footer = entries.length > 0 ? (_jsxs("nav", { className: "tai-explorer-pagination", "aria-label": `${label} pagination`, children: [_jsx("span", { className: "tai-muted", children: `${String(pageStart + 1)}–${String(Math.min(pageStart + pageSize, entries.length))} of ${String(entries.length)} entries` }), _jsxs("div", { className: "tai-row", children: [_jsx(Select, { "aria-label": "Items per page", value: String(pageSize), onValueChange: (value) => {
211
211
  setPageSize(Number(value));
212
212
  }, options: PAGE_SIZES.map((size) => ({
213
213
  value: String(size),
@@ -240,7 +240,7 @@ export function ExplorerView({ items, getItemKey, getFolderId, folders, currentF
240
240
  // Every surface label is a regular English plural (Tools/Templates/Resources/
241
241
  // Flows), so a count of one drops the trailing "s".
242
242
  const countLabel = items.length === 1 ? label.toLowerCase().replace(/s$/, '') : label.toLowerCase();
243
- return (_jsxs("div", { className: "tai-explorer", children: [_jsxs("div", { className: "tai-explorer-controls", children: [_jsxs("div", { className: "tai-row", children: [search !== undefined ? (_jsxs("span", { className: "tai-row", children: [_jsx(SearchIcon, {}), _jsx(TextInput, { value: search.value, "aria-label": search.label, placeholder: search.placeholder, onChange: (event) => {
243
+ return (_jsxs("div", { className: "tai-explorer", children: [_jsxs("div", { className: "tai-explorer-controls", children: [_jsxs("div", { className: "tai-row", children: [search !== undefined ? (_jsxs("span", { className: "tai-search-field", children: [_jsx(SearchIcon, {}), _jsx(TextInput, { value: search.value, "aria-label": search.label, placeholder: search.placeholder, onChange: (event) => {
244
244
  search.onChange(event.target.value);
245
245
  } })] })) : null, _jsx("span", { className: "tai-muted", children: `${String(items.length)} ${countLabel}` })] }), _jsx(ViewToggle, { value: viewMode, onValueChange: setViewMode, "aria-label": `${label} view` })] }), _jsx(FolderBreadcrumb, { folders: folders, currentFolderId: currentFolderId, onNavigate: onNavigate, rootLabel: rootLabel }), tags !== undefined && selectedSet !== undefined && vocabulary.length > 0 ? (_jsx(TagFilterRow, { vocabulary: vocabulary, selectedSet: selectedSet, onToggle: toggleTag, filterLabel: tags.filterLabel, maxVisibleTags: tags.maxVisibleTags })) : null, body] }));
246
246
  }
@@ -1 +1 @@
1
- {"version":3,"file":"explorer-view.js","sourceRoot":"","sources":["../../src/components/explorer-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explorer-view.js","sourceRoot":"","sources":["../../src/components/explorer-view.tsx"],"names":[],"mappings":"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"}
@@ -197,16 +197,26 @@
197
197
  --tai-color-syntax-bool: var(--tai-color-warn-text);
198
198
 
199
199
  /* -- Legacy token slots -------------------------------------------------
200
- The names a plugin already styles against, re-pointed at the members of
201
- the contract above that keep them legible. `danger-text` is the label on
202
- the danger FILL, so it is white in light and ink in dark. */
200
+ The names a plugin already styles against. `primary`/`success`/`warning`
201
+ re-point at the members of the contract above that keep them legible.
202
+
203
+ `danger` is the one destructive EMPHASIS, and it runs deeper than the
204
+ accent on purpose: a destructive fill sharing the crimson brand ramp reads
205
+ as the primary action, so this is its own deep red — clearly darker and
206
+ less pink than the accent in BOTH themes, unlike the light-fill dark-ink
207
+ convention the accent follows. Its label is white in both themes and its
208
+ hover a shade deeper still, so a destructive button is instantly told apart
209
+ from a primary one. `danger-text` is that white label on the danger FILL;
210
+ `danger-surface` is the faint error-tint ground the label sits over
211
+ elsewhere. */
203
212
  --tai-color-primary: var(--tai-color-accent);
204
213
  --tai-color-primary-text: var(--tai-color-on-accent);
205
- --tai-color-danger: var(--tai-color-err-text);
214
+ --tai-color-danger: #991b1b;
215
+ --tai-dark-color-danger: #dc2626;
206
216
  --tai-color-danger-text: #ffffff;
207
- --tai-dark-color-danger-text: #0c0e12;
217
+ --tai-dark-color-danger-text: #ffffff;
208
218
  --tai-color-danger-hover: #7f1d1d;
209
- --tai-dark-color-danger-hover: #fca5a5;
219
+ --tai-dark-color-danger-hover: #b91c1c;
210
220
  --tai-color-danger-surface: var(--tai-color-err-tint);
211
221
  --tai-color-success: var(--tai-color-ok-text);
212
222
  --tai-color-warning: var(--tai-color-warn-text);
@@ -325,6 +335,7 @@
325
335
  --tai-color-scrim: var(--tai-dark-color-scrim);
326
336
  --tai-color-prose-link: var(--tai-dark-color-prose-link);
327
337
  --tai-color-prose-link-hover: var(--tai-dark-color-prose-link-hover);
338
+ --tai-color-danger: var(--tai-dark-color-danger);
328
339
  --tai-color-danger-text: var(--tai-dark-color-danger-text);
329
340
  --tai-color-danger-hover: var(--tai-dark-color-danger-hover);
330
341
  --tai-shadow-lift-color: var(--tai-dark-shadow-lift-color);
@@ -371,6 +382,7 @@
371
382
  --tai-color-scrim: var(--tai-dark-color-scrim);
372
383
  --tai-color-prose-link: var(--tai-dark-color-prose-link);
373
384
  --tai-color-prose-link-hover: var(--tai-dark-color-prose-link-hover);
385
+ --tai-color-danger: var(--tai-dark-color-danger);
374
386
  --tai-color-danger-text: var(--tai-dark-color-danger-text);
375
387
  --tai-color-danger-hover: var(--tai-dark-color-danger-hover);
376
388
  --tai-shadow-lift-color: var(--tai-dark-shadow-lift-color);
@@ -1108,6 +1108,10 @@ export declare const ApiProvider: import("react").Provider<{
1108
1108
  interaction_id: string;
1109
1109
  status: string;
1110
1110
  }>;
1111
+ readonly cancelInteraction: (interactionId: string) => Promise<{
1112
+ interaction_id: string;
1113
+ status: string;
1114
+ }>;
1111
1115
  readonly listChannels: (signal?: AbortSignal) => Promise<{
1112
1116
  channels: string[];
1113
1117
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useApi.d.ts","sourceRoot":"","sources":["../../src/hooks/useApi.ts"],"names":[],"mappings":"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"}
@@ -134,10 +134,10 @@ export interface RegisteredPage extends PageContribution {
134
134
  /**
135
135
  * The sidebar section a nav entry renders in. A named core section groups the
136
136
  * entry there, after that section's core rows. An absent field or any value that
137
- * is not a live core section renders the entry as a FIRST-CLASS section of its own,
138
- * named for the contributing plugin (grouped with that plugin's other such entries),
137
+ * is not a live core section renders the entry in the shared "Plugins" section that
138
+ * follows the core sections (alongside every other undeclared plugin entry),
139
139
  * placed after the core sections. The shell tolerates an unknown value at runtime
140
- * (a bundle newer than this host), falling back to that self-named section, so the
140
+ * (a bundle newer than this host), falling back to that shared section, so the
141
141
  * field is a placement hint, never a hard contract.
142
142
  */
143
143
  export type NavEntrySection = 'Capabilities' | 'Connections' | 'Triggers' | 'Activity' | 'Administration';
@@ -151,13 +151,13 @@ export interface NavEntryContribution {
151
151
  readonly title: string;
152
152
  /**
153
153
  * Optional target sidebar section (see {@link NavEntrySection}); absent ⇒ the
154
- * plugin's own self-named section. Additive — an older bundle omits it and stays
154
+ * shared "Plugins" section. Additive — an older bundle omits it and stays
155
155
  * on the same plugin API version.
156
156
  */
157
157
  readonly section?: NavEntrySection;
158
158
  /**
159
159
  * Optional sort weight WITHIN the entry's section (whether a core section or the
160
- * plugin's own self-named one): entries render in ascending `order`, and every
160
+ * shared "Plugins" one): entries render in ascending `order`, and every
161
161
  * entry that omits it sorts AFTER the ordered ones, in registration order. Two
162
162
  * entries with the same `order` keep registration order (a stable sort). Additive —
163
163
  * an older bundle omits it and stays on the same plugin API version.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tai42/studio-sdk",
3
- "version": "11.0.0",
3
+ "version": "12.0.0",
4
4
  "description": "The Studio plugin contract, shared UI components, and hooks that every feature builds on.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "tai42 <oss@tai42.ai>",
@@ -95,7 +95,7 @@
95
95
  "@radix-ui/react-select": "^2.3.2",
96
96
  "@radix-ui/react-tabs": "^1.1.16",
97
97
  "@radix-ui/react-tooltip": "^1.2.11",
98
- "@tai42/api-client": "11.0.0"
98
+ "@tai42/api-client": "12.0.0"
99
99
  },
100
100
  "scripts": {
101
101
  "build": "tsc -b tsconfig.build.json && node scripts/copy-assets.mjs",
@@ -987,7 +987,7 @@
987
987
  /* The HOST-APPLIED provenance mark on plugin-contributed nav (the shell renders
988
988
  it; a plugin cannot suppress or restyle it). A small muted glyph that links to
989
989
  the plugin's marketplace row and brightens on hover/focus. It sits beside a nav
990
- row (per-entry, in a core section) or beside a self-named section header. */
990
+ row — per-entry, whether the row sits in a core section or the shared Plugins section. */
991
991
  .tai-plugin-badge {
992
992
  display: inline-flex;
993
993
  align-items: center;
@@ -2090,6 +2090,29 @@
2090
2090
  flex-wrap: wrap;
2091
2091
  }
2092
2092
 
2093
+ /* A search field whose magnifier sits INSIDE the input on its leading edge,
2094
+ rather than as a detached glyph beside it. The wrapper is not a flex row —
2095
+ the input is its only in-flow child — so it stays out of the horizontal-strip
2096
+ contract; the icon is taken out of flow and centred over the input's reserved
2097
+ leading padding, and made click-through so a press still lands in the field. */
2098
+ .tai-search-field {
2099
+ position: relative;
2100
+ display: inline-block;
2101
+ }
2102
+
2103
+ .tai-search-field > .tai-icon {
2104
+ position: absolute;
2105
+ inset-inline-start: var(--tai-space-3);
2106
+ top: 50%;
2107
+ transform: translateY(-50%);
2108
+ color: var(--tai-color-text-muted);
2109
+ pointer-events: none;
2110
+ }
2111
+
2112
+ .tai-search-field > .tai-input {
2113
+ padding-inline-start: calc(var(--tai-space-3) + 1.5rem);
2114
+ }
2115
+
2093
2116
  /* A first-class folder entry (row cell or card): the folder affordance beside
2094
2117
  its optional actions, the actions pushed to the trailing edge. */
2095
2118
  .tai-explorer-folder {
@@ -11,7 +11,7 @@
11
11
  * (see the props) reshape the panel without giving up any Radix behaviour.
12
12
  */
13
13
  import * as RadixDialog from '@radix-ui/react-dialog';
14
- import type { ReactElement, ReactNode } from 'react';
14
+ import { useRef, type ReactElement, type ReactNode } from 'react';
15
15
 
16
16
  import { assertSlotElement } from '../element-slot';
17
17
  import { useModalFocusReturn } from './modal-focus';
@@ -51,6 +51,18 @@ export interface DialogProps {
51
51
  * accessible name never depends on the visible chrome.
52
52
  */
53
53
  readonly chromeless?: boolean;
54
+ /**
55
+ * When `false`, the light-dismiss gestures are disabled: Escape and a pointer
56
+ * press outside the panel no longer close it, so the only way out is an explicit
57
+ * action the `children` render (a Done/Cancel button calling `onOpenChange`).
58
+ * The focus trap, the scrim and every other Radix behaviour are unchanged. This
59
+ * is a generic mechanism — it knows nothing of what the dialog holds — for the
60
+ * one-time-reveal case where an accidental dismiss would lose content the server
61
+ * cannot reproduce. Defaults to `true`, the ordinary dismissable modal. This
62
+ * design-system panel renders no built-in close (X) affordance, so there is none
63
+ * to hide here; explicit close stays entirely with the caller's own buttons.
64
+ */
65
+ readonly dismissable?: boolean;
54
66
  }
55
67
 
56
68
  export function Dialog({
@@ -64,6 +76,7 @@ export function Dialog({
64
76
  fullscreen = false,
65
77
  contentClassName,
66
78
  chromeless = false,
79
+ dismissable = true,
67
80
  }: DialogProps) {
68
81
  const focusReturn = useModalFocusReturn(trigger !== undefined);
69
82
  if (trigger !== undefined) assertSlotElement(trigger, 'Dialog `trigger`');
@@ -72,6 +85,27 @@ export function Dialog({
72
85
  if (fullscreen) contentClasses.push('tai-dialog-fullscreen');
73
86
  if (contentClassName !== undefined) contentClasses.push(contentClassName);
74
87
 
88
+ // Blocking a dismiss is `preventDefault` on the two gestures Radix fires for
89
+ // one — Escape and a pointer press outside the panel — so the trap and scrim
90
+ // stay in place and only an explicit action can call `onOpenChange`.
91
+ //
92
+ // The handlers are STABLE (created once) and read `dismissable` through a live
93
+ // ref, deliberately: Radix's dismissable layer latches the handler it was given
94
+ // and keeps calling that first closure, so a dialog that mounts dismissable and
95
+ // later turns undismissable (the shown-once reveal) would go on honouring the
96
+ // stale `dismissable` if the value were read from the render closure. The ref,
97
+ // rewritten every render, is what a fresh gesture always sees.
98
+ const dismissableRef = useRef(dismissable);
99
+ dismissableRef.current = dismissable;
100
+ const dismissGuards = useRef({
101
+ onEscapeKeyDown: (event: KeyboardEvent) => {
102
+ if (!dismissableRef.current) event.preventDefault();
103
+ },
104
+ onPointerDownOutside: (event: Event) => {
105
+ if (!dismissableRef.current) event.preventDefault();
106
+ },
107
+ }).current;
108
+
75
109
  return (
76
110
  <RadixDialog.Root open={open} defaultOpen={defaultOpen} onOpenChange={onOpenChange}>
77
111
  {trigger !== undefined ? <RadixDialog.Trigger asChild>{trigger}</RadixDialog.Trigger> : null}
@@ -84,6 +118,7 @@ export function Dialog({
84
118
  <RadixDialog.Content
85
119
  className={contentClasses.join(' ')}
86
120
  {...focusReturn}
121
+ {...dismissGuards}
87
122
  {...(description === undefined ? { 'aria-describedby': undefined } : {})}
88
123
  >
89
124
  {/* The title always names the dialog; `chromeless` only hides it, moving
@@ -409,7 +409,11 @@ export function ExplorerView<T>({
409
409
  const footer =
410
410
  entries.length > 0 ? (
411
411
  <nav className="tai-explorer-pagination" aria-label={`${label} pagination`}>
412
- <span className="tai-muted">{`${String(pageStart + 1)}–${String(Math.min(pageStart + pageSize, entries.length))} of ${String(entries.length)}`}</span>
412
+ {/* The pager counts ENTRIES — subfolders plus filtered items in the
413
+ current directory — which is a different unit from the header's total
414
+ item count across every folder. Naming the unit keeps the two honest:
415
+ "1–4 of 4 entries" here versus "7 templates" above. */}
416
+ <span className="tai-muted">{`${String(pageStart + 1)}–${String(Math.min(pageStart + pageSize, entries.length))} of ${String(entries.length)} entries`}</span>
413
417
  <div className="tai-row">
414
418
  <Select
415
419
  aria-label="Items per page"
@@ -542,7 +546,10 @@ export function ExplorerView<T>({
542
546
  <div className="tai-explorer-controls">
543
547
  <div className="tai-row">
544
548
  {search !== undefined ? (
545
- <span className="tai-row">
549
+ // The magnifier is a leading icon INSIDE the input, not a detached
550
+ // glyph beside it: the wrapper positions the icon over the input's
551
+ // reserved leading padding.
552
+ <span className="tai-search-field">
546
553
  <SearchIcon />
547
554
  <TextInput
548
555
  value={search.value}
@@ -197,16 +197,26 @@
197
197
  --tai-color-syntax-bool: var(--tai-color-warn-text);
198
198
 
199
199
  /* -- Legacy token slots -------------------------------------------------
200
- The names a plugin already styles against, re-pointed at the members of
201
- the contract above that keep them legible. `danger-text` is the label on
202
- the danger FILL, so it is white in light and ink in dark. */
200
+ The names a plugin already styles against. `primary`/`success`/`warning`
201
+ re-point at the members of the contract above that keep them legible.
202
+
203
+ `danger` is the one destructive EMPHASIS, and it runs deeper than the
204
+ accent on purpose: a destructive fill sharing the crimson brand ramp reads
205
+ as the primary action, so this is its own deep red — clearly darker and
206
+ less pink than the accent in BOTH themes, unlike the light-fill dark-ink
207
+ convention the accent follows. Its label is white in both themes and its
208
+ hover a shade deeper still, so a destructive button is instantly told apart
209
+ from a primary one. `danger-text` is that white label on the danger FILL;
210
+ `danger-surface` is the faint error-tint ground the label sits over
211
+ elsewhere. */
203
212
  --tai-color-primary: var(--tai-color-accent);
204
213
  --tai-color-primary-text: var(--tai-color-on-accent);
205
- --tai-color-danger: var(--tai-color-err-text);
214
+ --tai-color-danger: #991b1b;
215
+ --tai-dark-color-danger: #dc2626;
206
216
  --tai-color-danger-text: #ffffff;
207
- --tai-dark-color-danger-text: #0c0e12;
217
+ --tai-dark-color-danger-text: #ffffff;
208
218
  --tai-color-danger-hover: #7f1d1d;
209
- --tai-dark-color-danger-hover: #fca5a5;
219
+ --tai-dark-color-danger-hover: #b91c1c;
210
220
  --tai-color-danger-surface: var(--tai-color-err-tint);
211
221
  --tai-color-success: var(--tai-color-ok-text);
212
222
  --tai-color-warning: var(--tai-color-warn-text);
@@ -325,6 +335,7 @@
325
335
  --tai-color-scrim: var(--tai-dark-color-scrim);
326
336
  --tai-color-prose-link: var(--tai-dark-color-prose-link);
327
337
  --tai-color-prose-link-hover: var(--tai-dark-color-prose-link-hover);
338
+ --tai-color-danger: var(--tai-dark-color-danger);
328
339
  --tai-color-danger-text: var(--tai-dark-color-danger-text);
329
340
  --tai-color-danger-hover: var(--tai-dark-color-danger-hover);
330
341
  --tai-shadow-lift-color: var(--tai-dark-shadow-lift-color);
@@ -371,6 +382,7 @@
371
382
  --tai-color-scrim: var(--tai-dark-color-scrim);
372
383
  --tai-color-prose-link: var(--tai-dark-color-prose-link);
373
384
  --tai-color-prose-link-hover: var(--tai-dark-color-prose-link-hover);
385
+ --tai-color-danger: var(--tai-dark-color-danger);
374
386
  --tai-color-danger-text: var(--tai-dark-color-danger-text);
375
387
  --tai-color-danger-hover: var(--tai-dark-color-danger-hover);
376
388
  --tai-shadow-lift-color: var(--tai-dark-shadow-lift-color);
@@ -143,10 +143,10 @@ export interface RegisteredPage extends PageContribution {
143
143
  /**
144
144
  * The sidebar section a nav entry renders in. A named core section groups the
145
145
  * entry there, after that section's core rows. An absent field or any value that
146
- * is not a live core section renders the entry as a FIRST-CLASS section of its own,
147
- * named for the contributing plugin (grouped with that plugin's other such entries),
146
+ * is not a live core section renders the entry in the shared "Plugins" section that
147
+ * follows the core sections (alongside every other undeclared plugin entry),
148
148
  * placed after the core sections. The shell tolerates an unknown value at runtime
149
- * (a bundle newer than this host), falling back to that self-named section, so the
149
+ * (a bundle newer than this host), falling back to that shared section, so the
150
150
  * field is a placement hint, never a hard contract.
151
151
  */
152
152
  export type NavEntrySection =
@@ -162,13 +162,13 @@ export interface NavEntryContribution {
162
162
  readonly title: string;
163
163
  /**
164
164
  * Optional target sidebar section (see {@link NavEntrySection}); absent ⇒ the
165
- * plugin's own self-named section. Additive — an older bundle omits it and stays
165
+ * shared "Plugins" section. Additive — an older bundle omits it and stays
166
166
  * on the same plugin API version.
167
167
  */
168
168
  readonly section?: NavEntrySection;
169
169
  /**
170
170
  * Optional sort weight WITHIN the entry's section (whether a core section or the
171
- * plugin's own self-named one): entries render in ascending `order`, and every
171
+ * shared "Plugins" one): entries render in ascending `order`, and every
172
172
  * entry that omits it sorts AFTER the ordered ones, in registration order. Two
173
173
  * entries with the same `order` keep registration order (a stable sort). Additive —
174
174
  * an older bundle omits it and stays on the same plugin API version.