@tai42/studio-sdk 6.1.1 → 7.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.
Files changed (84) hide show
  1. package/dist/components/completion-input.d.ts.map +1 -1
  2. package/dist/components/completion-input.js +19 -2
  3. package/dist/components/completion-input.js.map +1 -1
  4. package/dist/components/components.css +4 -3
  5. package/dist/components/explorer-view.d.ts.map +1 -1
  6. package/dist/components/explorer-view.js +11 -22
  7. package/dist/components/explorer-view.js.map +1 -1
  8. package/dist/components/field.d.ts +14 -1
  9. package/dist/components/field.d.ts.map +1 -1
  10. package/dist/components/field.js +5 -2
  11. package/dist/components/field.js.map +1 -1
  12. package/dist/components/open-target.d.ts +68 -0
  13. package/dist/components/open-target.d.ts.map +1 -0
  14. package/dist/components/open-target.js +48 -0
  15. package/dist/components/open-target.js.map +1 -0
  16. package/dist/expression/ExpressionField.d.ts +140 -0
  17. package/dist/expression/ExpressionField.d.ts.map +1 -0
  18. package/dist/expression/ExpressionField.js +88 -0
  19. package/dist/expression/ExpressionField.js.map +1 -0
  20. package/dist/expression/context.d.ts +50 -0
  21. package/dist/expression/context.d.ts.map +1 -0
  22. package/dist/expression/context.js +53 -0
  23. package/dist/expression/context.js.map +1 -0
  24. package/dist/expression/types.d.ts +157 -0
  25. package/dist/expression/types.d.ts.map +1 -0
  26. package/dist/expression/types.js +11 -0
  27. package/dist/expression/types.js.map +1 -0
  28. package/dist/hooks/useApi.d.ts +8 -0
  29. package/dist/hooks/useApi.d.ts.map +1 -1
  30. package/dist/index.d.ts +8 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +7 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/plugin/registry.d.ts.map +1 -1
  35. package/dist/plugin/registry.js +39 -1
  36. package/dist/plugin/registry.js.map +1 -1
  37. package/dist/plugin/types.d.ts +31 -0
  38. package/dist/plugin/types.d.ts.map +1 -1
  39. package/dist/schema-editor/SchemaEditor.d.ts.map +1 -1
  40. package/dist/schema-editor/SchemaEditor.js +8 -4
  41. package/dist/schema-editor/SchemaEditor.js.map +1 -1
  42. package/dist/schema-form/classify.d.ts +5 -3
  43. package/dist/schema-form/classify.d.ts.map +1 -1
  44. package/dist/schema-form/classify.js +42 -16
  45. package/dist/schema-form/classify.js.map +1 -1
  46. package/dist/schema-form/default-value.d.ts.map +1 -1
  47. package/dist/schema-form/default-value.js +4 -1
  48. package/dist/schema-form/default-value.js.map +1 -1
  49. package/dist/schema-form/field-node.d.ts.map +1 -1
  50. package/dist/schema-form/field-node.js +3 -3
  51. package/dist/schema-form/field-node.js.map +1 -1
  52. package/dist/schema-form/json-field.d.ts +14 -0
  53. package/dist/schema-form/json-field.d.ts.map +1 -0
  54. package/dist/schema-form/json-field.js +104 -0
  55. package/dist/schema-form/json-field.js.map +1 -0
  56. package/dist/schema-form/types.d.ts +2 -2
  57. package/dist/schema-form/types.js +2 -2
  58. package/dist/schema-form/validate.d.ts.map +1 -1
  59. package/dist/schema-form/validate.js +11 -4
  60. package/dist/schema-form/validate.js.map +1 -1
  61. package/package.json +2 -2
  62. package/src/components/completion-input.tsx +19 -2
  63. package/src/components/components.css +4 -3
  64. package/src/components/explorer-view.tsx +16 -27
  65. package/src/components/field.tsx +20 -2
  66. package/src/components/open-target.ts +121 -0
  67. package/src/expression/ExpressionField.tsx +330 -0
  68. package/src/expression/context.tsx +83 -0
  69. package/src/expression/types.ts +164 -0
  70. package/src/index.ts +26 -0
  71. package/src/plugin/registry.ts +50 -1
  72. package/src/plugin/types.ts +32 -0
  73. package/src/schema-editor/SchemaEditor.tsx +8 -4
  74. package/src/schema-form/classify.ts +103 -18
  75. package/src/schema-form/default-value.ts +4 -1
  76. package/src/schema-form/field-node.tsx +7 -4
  77. package/src/schema-form/json-field.tsx +143 -0
  78. package/src/schema-form/types.ts +2 -2
  79. package/src/schema-form/validate.ts +10 -4
  80. package/dist/schema-form/unsupported-notice.d.ts +0 -18
  81. package/dist/schema-form/unsupported-notice.d.ts.map +0 -1
  82. package/dist/schema-form/unsupported-notice.js +0 -8
  83. package/dist/schema-form/unsupported-notice.js.map +0 -1
  84. package/src/schema-form/unsupported-notice.tsx +0 -39
@@ -1 +1 @@
1
- {"version":3,"file":"completion-input.d.ts","sourceRoot":"","sources":["../../src/components/completion-input.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAKtD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,8DAA8D;IAC9D,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IACzE,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAcD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,WAAW,GACZ,EAAE,oBAAoB,GAAG,SAAS,CAoFlC"}
1
+ {"version":3,"file":"completion-input.d.ts","sourceRoot":"","sources":["../../src/components/completion-input.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAKtD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,8DAA8D;IAC9D,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IACzE,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AA+BD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,WAAW,GACZ,EAAE,oBAAoB,GAAG,SAAS,CAoFlC"}
@@ -3,10 +3,27 @@ import { useEffect, useId, useRef, useState } from 'react';
3
3
  import { useFieldControl } from './field';
4
4
  const wrapStyle = { position: 'relative' };
5
5
  /**
6
- * The popup sits directly under the field rather than against its top edge. It
7
- * is a `<ul>`, so it also drops the marker a host without a CSS reset would draw.
6
+ * The popup FLOATS below the field: absolutely positioned within the
7
+ * `position: relative` wrapper (`top: 100%` = the field's bottom edge, stretched
8
+ * `left`/`right` to the field's width) so it is taken OUT OF FLOW — it neither
9
+ * displaces the content below the field nor gets laid out inside it. Its stacking
10
+ * comes from `tai-select-content`'s `--tai-z-popover` z-index, which was inert
11
+ * while the list was in-flow (z-index needs a positioned box) and is exactly what
12
+ * this `position` now activates, so the list clears a sibling control it overlaps.
13
+ *
14
+ * Absolute-in-wrapper rather than a portal on purpose: this is an inline form
15
+ * control (a `SchemaForm` string field). A portal would need anchor-rect popper
16
+ * plumbing, and it buys nothing here — the wrapper is a plain flow box, so the
17
+ * only container that could clip the list is a scrollable ancestor (e.g. the
18
+ * `Dialog` body), where an absolute list simply extends that ancestor's scroll
19
+ * area instead of being cut off. It is still a `<ul>`, so it also drops the marker
20
+ * a host without a CSS reset would draw.
8
21
  */
9
22
  const listStyle = {
23
+ position: 'absolute',
24
+ top: '100%',
25
+ left: 0,
26
+ right: 0,
10
27
  marginTop: 'var(--tai-space-1)',
11
28
  marginBottom: 0,
12
29
  listStyle: 'none',
@@ -1 +1 @@
1
- {"version":3,"file":"completion-input.js","sourceRoot":"","sources":["../../src/components/completion-input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion-input.js","sourceRoot":"","sources":["../../src/components/completion-input.tsx"],"names":[],"mappings":"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"}
@@ -533,8 +533,9 @@
533
533
  clears the dialog scrim that would otherwise cover and swallow it. The
534
534
  height cap yields to the space the popper actually has, so a long list in a
535
535
  short viewport still scrolls inside the screen; the fallback covers the
536
- in-flow suggestion list, which wears these classes without a popper to
537
- publish that measurement. */
536
+ completion suggestion list, which wears these classes without a Radix popper
537
+ to publish that measurement (it floats via its own absolute position, not a
538
+ popper — see `completion-input.tsx`). */
538
539
  .tai-select-content {
539
540
  z-index: var(--tai-z-popover);
540
541
  /* Capped against the VIEWPORT as well as its own content, like every other
@@ -545,7 +546,7 @@
545
546
  overflow-y: auto;
546
547
  /* The cap is on the BORDER box, or it is not a cap at all: with the default
547
548
  `content-box` the side padding and the 1 px boundary sit outside it. Radix
548
- inline-styles `box-sizing: border-box` on its own popper, but the in-flow
549
+ inline-styles `box-sizing: border-box` on its own popper, but the completion
549
550
  suggestion list wears this class as a plain `<ul>` with no Radix near it. */
550
551
  box-sizing: border-box;
551
552
  background: var(--tai-color-surface-raised);
@@ -1 +1 @@
1
- {"version":3,"file":"explorer-view.d.ts","sourceRoot":"","sources":["../../src/components/explorer-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explorer-view.d.ts","sourceRoot":"","sources":["../../src/components/explorer-view.tsx"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ import { EntityCardGrid } from './entity-card-grid';
18
18
  import { childFolders, FolderBreadcrumb, FolderRow } from './folder-nav';
19
19
  import { SearchIcon } from './icons';
20
20
  import { TextInput } from './inputs';
21
+ import { openTargetProps } from './open-target';
21
22
  import { Button, Card, EmptyState } from './primitives';
22
23
  import { ScrollRegion } from './scroll-region';
23
24
  import { Select } from './select';
@@ -178,30 +179,18 @@ export function ExplorerView({ items, getItemKey, getFolderId, folders, currentF
178
179
  : [...tags.selected, token];
179
180
  tags.onChange(next);
180
181
  };
181
- // The pointer-open props for one item's row/card, present only when `onOpenItem`
182
- // is set. The handler yields to any nested interactive element the click landed
183
- // on (a name link, an actions kebab) so it never hijacks its activation; a
184
- // portalled menu (Radix) never bubbles here, so the role selectors are defensive
185
- // for an inline menu only.
186
- const openProps = (item) => {
187
- if (onOpenItem === undefined)
188
- return {};
189
- return {
190
- onClick: (event) => {
191
- // A press-drag that selects the name text also fires a click; that is a
192
- // selection, not an open intent.
193
- if (window.getSelection()?.isCollapsed === false)
194
- return;
195
- const target = event.target;
196
- if (target instanceof Element &&
197
- target.closest('button, a, [role="menu"], [role="menuitem"]') !== null) {
198
- return;
199
- }
182
+ // The pointer-open props for one item's row/card, via the shared house pattern
183
+ // ({@link openTargetProps}): present only when `onOpenItem` is set, it yields to
184
+ // the item's own nested interactive elements (its name link, an actions kebab)
185
+ // and to a text-selection drag. The accessible activation path stays that nested
186
+ // name link, so no `keyboard` here — the row is never itself a focus stop.
187
+ const openProps = (item) => openTargetProps({
188
+ onOpen: onOpenItem === undefined
189
+ ? undefined
190
+ : () => {
200
191
  onOpenItem(item);
201
192
  },
202
- style: { cursor: 'pointer' },
203
- };
204
- };
193
+ });
205
194
  const hasEntries = subfolders.length > 0 || filtered.length > 0;
206
195
  // Subfolders (sorted first) then filtered items, as ONE entries array both views
207
196
  // slice by page — so a page can straddle the folder→item boundary.
@@ -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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"}
@@ -59,6 +59,19 @@ export interface FieldProps {
59
59
  * `group`.
60
60
  */
61
61
  readonly group?: boolean;
62
+ /**
63
+ * Render the label for ASSISTIVE TECH ONLY — visually hidden, but still the
64
+ * control's accessible name through the very same `<label for>` (or, in a group,
65
+ * the same `aria-labelledby`). The label element stays in the DOM behind
66
+ * `tai-visually-hidden`, so nothing about the accessible name changes; only its
67
+ * paint is dropped. It is the standard idiom for a dense grid of otherwise
68
+ * identical fields, where each row needs a UNIQUE, addressable name (a
69
+ * voice-control user can only say a name that exists) but there is no room for a
70
+ * visible label on every row — the same trade `RadioGroup`'s `visuallyHiddenLabel`
71
+ * and `ViewToggle` make. The label text still governs WCAG 2.5.3 (Label in Name),
72
+ * so a caller passes the real per-row name as `label`, not a decoration.
73
+ */
74
+ readonly hideLabel?: boolean;
62
75
  }
63
- export declare function Field({ label, description, error, children, style, className, group, }: FieldProps): import("react").JSX.Element;
76
+ export declare function Field({ label, description, error, children, style, className, group, hideLabel, }: FieldProps): import("react").JSX.Element;
64
77
  //# sourceMappingURL=field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/components/field.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAYtD,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,IAAI,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAUnD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,sFAAsF;IACtF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,KAAa,GACd,EAAE,UAAU,+BAiEZ"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../src/components/field.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAYtD,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,IAAI,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAUnD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,sFAAsF;IACtF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,KAAa,EACb,SAAiB,GAClB,EAAE,UAAU,+BAqEZ"}
@@ -31,7 +31,7 @@ export function useFieldControl() {
31
31
  'aria-invalid': ctx.invalid ? true : undefined,
32
32
  };
33
33
  }
34
- export function Field({ label, description, error, children, style, className, group = false, }) {
34
+ export function Field({ label, description, error, children, style, className, group = false, hideLabel = false, }) {
35
35
  const controlId = useId();
36
36
  const labelId = `${controlId}-label`;
37
37
  const descriptionId = `${controlId}-desc`;
@@ -51,6 +51,9 @@ export function Field({ label, description, error, children, style, className, g
51
51
  const value = group
52
52
  ? { controlId: undefined, describedBy: undefined, invalid: error !== undefined }
53
53
  : { controlId, describedBy, invalid: error !== undefined };
54
- return (_jsx(FieldContext.Provider, { value: value, children: _jsxs("div", { className: className === undefined ? 'tai-field' : `tai-field ${className}`, style: style, children: [group ? (_jsx("span", { id: labelId, className: "tai-field-label", children: label })) : (_jsx("label", { id: labelId, htmlFor: controlId, className: "tai-field-label", children: label })), group ? (_jsx("div", { role: "group", "aria-labelledby": labelId, "aria-describedby": describedBy, className: "tai-field-group", children: children })) : (children), description !== undefined ? (_jsx("p", { id: descriptionId, className: "tai-field-hint", style: { margin: 0 }, children: description })) : null, error !== undefined ? (_jsxs("p", { id: errorId, role: "alert", className: "tai-field-error", style: { margin: 0 }, children: [_jsx(XCircleIcon, {}), error] })) : null] }) }));
54
+ // The label keeps its `htmlFor`/`id` wiring either way — `hideLabel` only drops
55
+ // its PAINT, so the accessible name it gives the control is unchanged.
56
+ const labelClassName = hideLabel ? 'tai-field-label tai-visually-hidden' : 'tai-field-label';
57
+ return (_jsx(FieldContext.Provider, { value: value, children: _jsxs("div", { className: className === undefined ? 'tai-field' : `tai-field ${className}`, style: style, children: [group ? (_jsx("span", { id: labelId, className: labelClassName, children: label })) : (_jsx("label", { id: labelId, htmlFor: controlId, className: labelClassName, children: label })), group ? (_jsx("div", { role: "group", "aria-labelledby": labelId, "aria-describedby": describedBy, className: "tai-field-group", children: children })) : (children), description !== undefined ? (_jsx("p", { id: descriptionId, className: "tai-field-hint", style: { margin: 0 }, children: description })) : null, error !== undefined ? (_jsxs("p", { id: errorId, role: "alert", className: "tai-field-error", style: { margin: 0 }, children: [_jsx(XCircleIcon, {}), error] })) : null] }) }));
55
58
  }
56
59
  //# sourceMappingURL=field.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/components/field.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/components/field.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * `openTargetProps` — the ONE house pattern for a whole-row / whole-card "open"
3
+ * affordance.
4
+ *
5
+ * A navigable list entry (a table `<TR>`, a card `<div role="listitem">`) has a
6
+ * single natural destination: opening it. The industry-standard affordance is to
7
+ * make the WHOLE entry the click target — not only the name link buried in its
8
+ * first cell — while never HIJACKING the interactive elements nested inside it
9
+ * (the name link itself, an actions kebab, a Run button, an expandable preview).
10
+ * This helper is that affordance, extracted once so every surface spreads the
11
+ * same object rather than hand-rolling — and subtly diverging on — the yield
12
+ * rules.
13
+ *
14
+ * The contract, spread onto the entry element:
15
+ * - `cursor: pointer`, so the whole entry reads as activatable.
16
+ * - a click handler that opens the entry, EXCEPT when the click
17
+ * • landed on (or inside) a nested interactive element — a `button`, an
18
+ * `a`, or an inline `[role="menu"]`/`[role="menuitem"]` — which owns its
19
+ * own activation, or
20
+ * • is the tail of a press-drag that SELECTED text (a non-collapsed
21
+ * selection), which is a read gesture, not an open intent.
22
+ * - with `keyboard`, `tabIndex: 0` and an Enter/Space handler under the same
23
+ * yield rules, so the entry is operable without a pointer.
24
+ *
25
+ * Keyboard note: PREFER giving the entry a real nested interactive element (the
26
+ * name `AppLink`) as its accessible activation path and leaving `keyboard` off —
27
+ * the helper yields to that element, so it stays the one keyboard/AT target and
28
+ * the whole-entry click is a pure pointer convenience layered over it. Reach for
29
+ * `keyboard` only when the entry genuinely has no such nested control (a run row
30
+ * of timestamps and badges), where the entry itself must become the focus stop.
31
+ *
32
+ * Dependency-free: it reads only the DOM `event.target`, `window.getSelection()`,
33
+ * and returns plain React attributes — nothing to bundle, nothing to mock.
34
+ */
35
+ import type { KeyboardEvent, MouseEvent } from 'react';
36
+ export interface OpenTargetOptions {
37
+ /** Open the entry. `undefined` disables the affordance entirely — the helper
38
+ * returns empty props so the element stays inert (no cursor, no handlers),
39
+ * which lets a caller wire the whole thing behind an optional prop. */
40
+ readonly onOpen: (() => void) | undefined;
41
+ /** Extra selector(s) that also count as "nested interactive" for THIS surface,
42
+ * merged with the built-in set. Use it for a marked non-`button`/`a` subtree
43
+ * that owns its own clicks (e.g. an expandable preview keyed by a data
44
+ * attribute). Standard CSS selector syntax, comma-separated. */
45
+ readonly ignoreWithin?: string;
46
+ /** Make the entry itself keyboard-operable: a `tabIndex: 0` focus stop with
47
+ * Enter/Space activation. Leave off when a nested interactive element already
48
+ * carries the accessible path (see the keyboard note above) — adding it there
49
+ * would create a duplicate tab stop. */
50
+ readonly keyboard?: boolean;
51
+ }
52
+ /** The React attributes {@link openTargetProps} yields — spread onto the entry
53
+ * element (`<TR>`, card `<div>`). Every field is optional so the disabled case
54
+ * is the empty object. */
55
+ export interface OpenTargetProps {
56
+ readonly onClick?: (event: MouseEvent<HTMLElement>) => void;
57
+ readonly onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;
58
+ readonly tabIndex?: number;
59
+ readonly style?: {
60
+ readonly cursor: 'pointer';
61
+ };
62
+ }
63
+ /**
64
+ * Build the whole-target open props for one entry. See the module doc for the
65
+ * contract; pass `onOpen: undefined` to get an inert entry (empty props).
66
+ */
67
+ export declare function openTargetProps({ onOpen, ignoreWithin, keyboard, }: OpenTargetOptions): OpenTargetProps;
68
+ //# sourceMappingURL=open-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-target.d.ts","sourceRoot":"","sources":["../../src/components/open-target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AASvD,MAAM,WAAW,iBAAiB;IAChC;;4EAEwE;IACxE,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1C;;;qEAGiE;IACjE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;6CAGyC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;2BAE2B;AAC3B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;CACjD;AAQD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,YAAY,EACZ,QAAgB,GACjB,EAAE,iBAAiB,GAAG,eAAe,CAoCrC"}
@@ -0,0 +1,48 @@
1
+ /** The nested interactive elements a whole-target open always yields to: a click
2
+ * or key that originates on one of these (or a descendant, e.g. an icon `<svg>`
3
+ * inside a button) is that element's own activation, never an open of the entry.
4
+ * The menu roles cover an INLINE menu; a portalled menu (Radix) never bubbles to
5
+ * the entry, so it needs no selector here. */
6
+ const NESTED_INTERACTIVE = 'button, a, [role="menu"], [role="menuitem"]';
7
+ /** True when the event originated on, or inside, an element the entry must yield
8
+ * to — a built-in nested-interactive element or a caller `ignoreWithin` match. */
9
+ function landedOnNestedInteractive(target, selector) {
10
+ return target instanceof Element && target.closest(selector) !== null;
11
+ }
12
+ /**
13
+ * Build the whole-target open props for one entry. See the module doc for the
14
+ * contract; pass `onOpen: undefined` to get an inert entry (empty props).
15
+ */
16
+ export function openTargetProps({ onOpen, ignoreWithin, keyboard = false, }) {
17
+ if (onOpen === undefined)
18
+ return {};
19
+ const selector = ignoreWithin === undefined ? NESTED_INTERACTIVE : `${NESTED_INTERACTIVE}, ${ignoreWithin}`;
20
+ const props = {
21
+ onClick: (event) => {
22
+ // A press-drag that selects the entry's text also fires a click; that is a
23
+ // read gesture, not an open intent, so an active (non-collapsed) selection
24
+ // suppresses the open. A keyboard Enter cannot leave a selection, so its
25
+ // handler skips this check.
26
+ if (window.getSelection()?.isCollapsed === false)
27
+ return;
28
+ if (landedOnNestedInteractive(event.target, selector))
29
+ return;
30
+ onOpen();
31
+ },
32
+ style: { cursor: 'pointer' },
33
+ };
34
+ if (keyboard) {
35
+ props.tabIndex = 0;
36
+ props.onKeyDown = (event) => {
37
+ if (event.key !== 'Enter' && event.key !== ' ')
38
+ return;
39
+ if (landedOnNestedInteractive(event.target, selector))
40
+ return;
41
+ // Space would otherwise scroll the region; Enter/Space both activate.
42
+ event.preventDefault();
43
+ onOpen();
44
+ };
45
+ }
46
+ return props;
47
+ }
48
+ //# sourceMappingURL=open-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-target.js","sourceRoot":"","sources":["../../src/components/open-target.ts"],"names":[],"mappings":"AAoCA;;;;+CAI+C;AAC/C,MAAM,kBAAkB,GAAG,6CAA6C,CAAC;AA6BzE;mFACmF;AACnF,SAAS,yBAAyB,CAAC,MAA0B,EAAE,QAAgB;IAC7E,OAAO,MAAM,YAAY,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,MAAM,EACN,YAAY,EACZ,QAAQ,GAAG,KAAK,GACE;IAClB,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAEpC,MAAM,QAAQ,GACZ,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,KAAK,YAAY,EAAE,CAAC;IAE7F,MAAM,KAAK,GAKP;QACF,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,2EAA2E;YAC3E,2EAA2E;YAC3E,yEAAyE;YACzE,4BAA4B;YAC5B,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,WAAW,KAAK,KAAK;gBAAE,OAAO;YACzD,IAAI,yBAAyB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAAE,OAAO;YAC9D,MAAM,EAAE,CAAC;QACX,CAAC;QACD,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;KAC7B,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;QACnB,KAAK,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG;gBAAE,OAAO;YACvD,IAAI,yBAAyB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC;gBAAE,OAAO;YAC9D,sEAAsE;YACtE,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,EAAE,CAAC;QACX,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * `ExpressionField` — the SDK's expression-authoring control. It is a plain SDK
3
+ * text field (a `Field` wrapping a `Textarea`, or a `TextInput` when
4
+ * `multiline={false}`) that GROWS a "visual editor" affordance only when a plugin
5
+ * has contributed an editor for the field's language. With no editor registered —
6
+ * or no {@link ExpressionEditorsProvider} mounted above it — it stays exactly a
7
+ * text field, so a consumer adopts it with no dependency on any editor being
8
+ * installed (graceful absence).
9
+ *
10
+ * The launcher half — the button that lazily loads the editor behind `Suspense`,
11
+ * warms its chunk on open-intent, and turns a `load()` rejection into a loud
12
+ * inline error — is the standalone {@link ExpressionEditorLauncher}, exported so a
13
+ * dense grid can compose its OWN input + an icon-only door in one row and reuse
14
+ * this exact mount semantics rather than reimplementing them. `ExpressionField`
15
+ * consumes that same component internally, so there is one source of truth for how
16
+ * an editor is mounted.
17
+ *
18
+ * The interaction is ported from babelfish's `jq-editor-button.tsx` but styled
19
+ * with SDK primitives and generalised to any {@link ExpressionLanguage}: the
20
+ * whole {@link ExpressionFieldDeclaration} threads onto the editor, so its context
21
+ * chip, Test seeding, and server-validate hook all read from one object, and each
22
+ * degrades on its own when absent.
23
+ */
24
+ import { type InputHTMLAttributes, type ReactElement, type TextareaHTMLAttributes } from 'react';
25
+ import type { ExpressionFieldDeclaration } from './types';
26
+ /**
27
+ * The native attributes {@link ExpressionField} FORWARDS to its underlying control
28
+ * (`Textarea` or, single-line, `TextInput`), minus the ones the field owns itself.
29
+ * Intersecting both attribute sets keeps the pass-through valid whichever element
30
+ * `multiline` selects, and omitting the owned keys keeps a caller from
31
+ * accidentally severing the value/edit wiring or the monospace class. This is the
32
+ * `inputs.tsx` pass-through doctrine (a caller's native attribute reaches the
33
+ * element) narrowed to what a field can safely surrender — `name`, `onBlur`,
34
+ * `maxLength`, `style`, `data-*`, and the like.
35
+ */
36
+ export type ExpressionControlProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement> & InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'disabled' | 'rows' | 'placeholder' | 'className' | 'spellCheck' | 'children'>;
37
+ export interface ExpressionEditorLauncherProps {
38
+ /** What language the field authors, what its input is, and how to sample/validate it. */
39
+ readonly declaration: ExpressionFieldDeclaration;
40
+ /** The field's current expression ('' when unset), the editor seeds itself with. */
41
+ readonly value: string;
42
+ /** Called with the authored expression when the user saves in the editor. */
43
+ readonly onSave: (expression: string) => void;
44
+ /** The label the editor titles itself with; also enriches the launcher's name. */
45
+ readonly fieldLabel: string;
46
+ /** Icon-only launcher for narrow rows; the full name rides `aria-label`. */
47
+ readonly compact?: boolean;
48
+ /**
49
+ * Open the editor READ-ONLY (no Save). This is the launcher's ONLY blocking knob:
50
+ * a launcher has no inline textarea to disable, so — unlike {@link ExpressionField}'s
51
+ * `disabled`, which conflates textarea-disabled with editor-read-only — the door
52
+ * expresses author-blocking solely here. {@link ExpressionField} maps its own
53
+ * `disabled` onto this by default, and its `editorReadOnly` overrides that.
54
+ */
55
+ readonly editorReadOnly?: boolean;
56
+ /**
57
+ * Override the launcher's hover `title` (e.g. a rerun/side-effect hint). Absent,
58
+ * the title is derived from the declaration's shape ("Visual editor · input: …").
59
+ */
60
+ readonly title?: string;
61
+ }
62
+ /**
63
+ * The launcher + lazily-loaded editor for one expression field, standalone so a
64
+ * compact grid can drop it beside its own input. It resolves the contributed
65
+ * editor for `declaration.language` itself and renders NOTHING when none is
66
+ * registered (or no {@link ExpressionEditorsProvider} is mounted) — the same
67
+ * graceful absence {@link ExpressionField} degrades to a plain text field on.
68
+ */
69
+ export declare function ExpressionEditorLauncher({ declaration, value, onSave, fieldLabel, compact, editorReadOnly, title, }: ExpressionEditorLauncherProps): ReactElement | null;
70
+ export interface ExpressionFieldProps {
71
+ /** The `Field` label; also the editor's title unless {@link fieldLabel} overrides it. */
72
+ readonly label: string;
73
+ /**
74
+ * Render the label for assistive tech only (visually hidden) — for a dense grid
75
+ * of otherwise-identical expression rows that each need a unique, addressable
76
+ * name but have no room for a visible label. The `label` text is still the
77
+ * accessible name (see {@link Field.hideLabel}).
78
+ */
79
+ readonly hideLabel?: boolean;
80
+ /** Optional field description rendered under the control. */
81
+ readonly description?: string;
82
+ /** Optional error rendered under the control (also flags the field invalid). */
83
+ readonly error?: string;
84
+ /** What language the field authors, what its input is, and how to sample/validate it. */
85
+ readonly declaration: ExpressionFieldDeclaration;
86
+ /** The field's current expression ('' when unset). */
87
+ readonly value: string;
88
+ /** Called with the new expression on both textarea edits and an editor save. */
89
+ readonly onChange: (expression: string) => void;
90
+ /**
91
+ * Disables INLINE editing (the textarea/input is `disabled`). By default it also
92
+ * opens the editor read-only, so a blocked value can still be inspected; pass
93
+ * {@link editorReadOnly} to decouple the two.
94
+ */
95
+ readonly disabled?: boolean;
96
+ /**
97
+ * Whether the visual editor opens READ-ONLY, independent of {@link disabled}.
98
+ * Defaults to `disabled` — the historical coupling — so a caller that never sets
99
+ * it keeps today's behaviour. Set it `false` to let the editor author a value
100
+ * whose textarea is disabled, or `true` to lock the editor while the textarea
101
+ * stays editable.
102
+ */
103
+ readonly editorReadOnly?: boolean;
104
+ /** Icon-only launcher for narrow rows; the full name rides `aria-label`. */
105
+ readonly compact?: boolean;
106
+ /** The label the editor titles itself with; defaults to {@link label}. */
107
+ readonly fieldLabel?: string;
108
+ /**
109
+ * Author the field on a SINGLE line — a `TextInput` instead of a `Textarea` —
110
+ * for a per-argument grid row. Defaults to `true` (multiline). The visual-editor
111
+ * launcher is unaffected.
112
+ */
113
+ readonly multiline?: boolean;
114
+ /**
115
+ * Render the expression content in the design system's monospace face. Defaults
116
+ * to TRUE: an expression is code, and code reads in a mono font (jq filters,
117
+ * paths, and operators align and disambiguate `l`/`1`/`I` there) — the same face
118
+ * every jq surface in the ecosystem paints. A prose-ish field can opt out with
119
+ * `false`.
120
+ */
121
+ readonly monospace?: boolean;
122
+ /**
123
+ * Override the launcher button's hover `title` (e.g. a rerun/side-effect hint),
124
+ * threaded to {@link ExpressionEditorLauncher.title}.
125
+ */
126
+ readonly launcherTitle?: string;
127
+ /** Textarea row count (defaults to the SDK `Textarea` default); ignored when single-line. */
128
+ readonly rows?: number;
129
+ /** Textarea/input placeholder. */
130
+ readonly placeholder?: string;
131
+ /**
132
+ * Narrow native-attribute pass-through to the underlying control — `name`,
133
+ * `onBlur`, `maxLength`, `style`, `data-*`, and the like. The field owns
134
+ * value/onChange/disabled/rows/placeholder/spellCheck and the monospace class, so
135
+ * those are not forwardable (see {@link ExpressionControlProps}).
136
+ */
137
+ readonly textareaProps?: ExpressionControlProps;
138
+ }
139
+ export declare function ExpressionField({ label, hideLabel, description, error, declaration, value, onChange, disabled, editorReadOnly, compact, fieldLabel, multiline, monospace, launcherTitle, rows, placeholder, textareaProps, }: ExpressionFieldProps): ReactElement;
140
+ //# sourceMappingURL=ExpressionField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionField.d.ts","sourceRoot":"","sources":["../../src/expression/ExpressionField.tsx"],"names":[],"mappings":"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"}