@tai42/studio-sdk 25.0.1 → 27.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 +143 -26
- package/dist/components/action-menu.d.ts +30 -0
- package/dist/components/action-menu.d.ts.map +1 -0
- package/dist/components/action-menu.js +101 -0
- package/dist/components/action-menu.js.map +1 -0
- package/dist/components/agent-picker.d.ts +22 -0
- package/dist/components/agent-picker.d.ts.map +1 -0
- package/dist/components/agent-picker.js +17 -0
- package/dist/components/agent-picker.js.map +1 -0
- package/dist/components/channel-picker.d.ts +27 -0
- package/dist/components/channel-picker.d.ts.map +1 -0
- package/dist/components/channel-picker.js +26 -0
- package/dist/components/channel-picker.js.map +1 -0
- package/dist/components/components.css +226 -8
- package/dist/components/confirm-dialog.d.ts +3 -1
- package/dist/components/confirm-dialog.d.ts.map +1 -1
- package/dist/components/confirm-dialog.js +2 -2
- package/dist/components/confirm-dialog.js.map +1 -1
- package/dist/components/execution-key-picker.d.ts +26 -10
- package/dist/components/execution-key-picker.d.ts.map +1 -1
- package/dist/components/execution-key-picker.js +134 -15
- package/dist/components/execution-key-picker.js.map +1 -1
- package/dist/components/extension-combo-builder.d.ts +7 -7
- package/dist/components/extension-combo-builder.d.ts.map +1 -1
- package/dist/components/extension-combo-builder.js +42 -16
- package/dist/components/extension-combo-builder.js.map +1 -1
- package/dist/components/extension-combo-parts.d.ts +13 -11
- package/dist/components/extension-combo-parts.d.ts.map +1 -1
- package/dist/components/extension-combo-parts.js +10 -19
- package/dist/components/extension-combo-parts.js.map +1 -1
- package/dist/components/extension-config-editor.d.ts +33 -0
- package/dist/components/extension-config-editor.d.ts.map +1 -0
- package/dist/components/extension-config-editor.js +190 -0
- package/dist/components/extension-config-editor.js.map +1 -0
- package/dist/components/extension-grouping.d.ts +4 -41
- package/dist/components/extension-grouping.d.ts.map +1 -1
- package/dist/components/extension-grouping.js +1 -48
- package/dist/components/extension-grouping.js.map +1 -1
- package/dist/components/extension-picker.d.ts +4 -3
- package/dist/components/extension-picker.d.ts.map +1 -1
- package/dist/components/extension-picker.js +6 -6
- package/dist/components/extension-picker.js.map +1 -1
- package/dist/components/fleet-report.d.ts +8 -3
- package/dist/components/fleet-report.d.ts.map +1 -1
- package/dist/components/fleet-report.js +12 -2
- package/dist/components/fleet-report.js.map +1 -1
- package/dist/components/holder-kinds.d.ts +18 -0
- package/dist/components/holder-kinds.d.ts.map +1 -0
- package/dist/components/holder-kinds.js +41 -0
- package/dist/components/holder-kinds.js.map +1 -0
- package/dist/components/holder-list.d.ts +58 -0
- package/dist/components/holder-list.d.ts.map +1 -0
- package/dist/components/holder-list.js +77 -0
- package/dist/components/holder-list.js.map +1 -0
- package/dist/components/icons/index.d.ts +1 -1
- package/dist/components/icons/index.d.ts.map +1 -1
- package/dist/components/icons/index.js +1 -1
- package/dist/components/icons/index.js.map +1 -1
- package/dist/components/icons/nav-map.d.ts.map +1 -1
- package/dist/components/icons/nav-map.js +1 -3
- package/dist/components/icons/nav-map.js.map +1 -1
- package/dist/components/icons/nav-marks.d.ts +0 -4
- package/dist/components/icons/nav-marks.d.ts.map +1 -1
- package/dist/components/icons/nav-marks.js +0 -4
- package/dist/components/icons/nav-marks.js.map +1 -1
- package/dist/components/named-list-picker.d.ts +39 -0
- package/dist/components/named-list-picker.d.ts.map +1 -0
- package/dist/components/named-list-picker.js +61 -0
- package/dist/components/named-list-picker.js.map +1 -0
- package/dist/components/named-list-test-utils.d.ts +23 -0
- package/dist/components/named-list-test-utils.d.ts.map +1 -0
- package/dist/components/named-list-test-utils.js +33 -0
- package/dist/components/named-list-test-utils.js.map +1 -0
- package/dist/components/recycle-roll.d.ts +23 -0
- package/dist/components/recycle-roll.d.ts.map +1 -0
- package/dist/components/recycle-roll.js +47 -0
- package/dist/components/recycle-roll.js.map +1 -0
- package/dist/components/stepper.d.ts +28 -0
- package/dist/components/stepper.d.ts.map +1 -0
- package/dist/components/stepper.js +33 -0
- package/dist/components/stepper.js.map +1 -0
- package/dist/components/subject-section.d.ts +2 -1
- package/dist/components/subject-section.d.ts.map +1 -1
- package/dist/components/subject-section.js +10 -5
- package/dist/components/subject-section.js.map +1 -1
- package/dist/components/tokens.css +31 -41
- package/dist/components/tokens.d.ts +3 -4
- package/dist/components/tokens.d.ts.map +1 -1
- package/dist/components/tokens.js +5 -13
- package/dist/components/tokens.js.map +1 -1
- package/dist/components/tool-picker-parts.d.ts +5 -1
- package/dist/components/tool-picker-parts.d.ts.map +1 -1
- package/dist/components/tool-picker-parts.js +8 -6
- package/dist/components/tool-picker-parts.js.map +1 -1
- package/dist/components/tool-picker.d.ts +77 -2
- package/dist/components/tool-picker.d.ts.map +1 -1
- package/dist/components/tool-picker.js +87 -29
- package/dist/components/tool-picker.js.map +1 -1
- package/dist/components/version-history-panel.d.ts +7 -1
- package/dist/components/version-history-panel.d.ts.map +1 -1
- package/dist/components/version-history-panel.js +2 -2
- package/dist/components/version-history-panel.js.map +1 -1
- package/dist/components/version-history-rows.d.ts +4 -2
- package/dist/components/version-history-rows.d.ts.map +1 -1
- package/dist/components/version-history-rows.js +14 -2
- package/dist/components/version-history-rows.js.map +1 -1
- package/dist/errors.d.ts +5 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +7 -0
- package/dist/errors.js.map +1 -1
- package/dist/hooks/useApi.d.ts +524 -197
- package/dist/hooks/useApi.d.ts.map +1 -1
- package/dist/hooks/useCapabilities.d.ts +43 -10
- package/dist/hooks/useCapabilities.d.ts.map +1 -1
- package/dist/hooks/useCapabilities.js +39 -10
- package/dist/hooks/useCapabilities.js.map +1 -1
- package/dist/index.d.ts +25 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -6
- package/dist/index.js.map +1 -1
- package/dist/marketplace-install/env-var-fields.d.ts +17 -0
- package/dist/marketplace-install/env-var-fields.d.ts.map +1 -0
- package/dist/marketplace-install/env-var-fields.js +22 -0
- package/dist/marketplace-install/env-var-fields.js.map +1 -0
- package/dist/marketplace-install/index.d.ts +18 -0
- package/dist/marketplace-install/index.d.ts.map +1 -0
- package/dist/marketplace-install/index.js +8 -0
- package/dist/marketplace-install/index.js.map +1 -0
- package/dist/marketplace-install/install-env.d.ts +21 -0
- package/dist/marketplace-install/install-env.d.ts.map +1 -0
- package/dist/marketplace-install/install-env.js +22 -0
- package/dist/marketplace-install/install-env.js.map +1 -0
- package/dist/marketplace-install/install-mount.d.ts +42 -0
- package/dist/marketplace-install/install-mount.d.ts.map +1 -0
- package/dist/marketplace-install/install-mount.js +62 -0
- package/dist/marketplace-install/install-mount.js.map +1 -0
- package/dist/marketplace-install/install-report.d.ts +14 -0
- package/dist/marketplace-install/install-report.d.ts.map +1 -0
- package/dist/marketplace-install/install-report.js +19 -0
- package/dist/marketplace-install/install-report.js.map +1 -0
- package/dist/marketplace-install/install-shell.d.ts +34 -0
- package/dist/marketplace-install/install-shell.d.ts.map +1 -0
- package/dist/marketplace-install/install-shell.js +32 -0
- package/dist/marketplace-install/install-shell.js.map +1 -0
- package/dist/marketplace-install/mount-install.d.ts +41 -0
- package/dist/marketplace-install/mount-install.d.ts.map +1 -0
- package/dist/marketplace-install/mount-install.js +90 -0
- package/dist/marketplace-install/mount-install.js.map +1 -0
- package/dist/marketplace-install/plugin-detail.d.ts +17 -0
- package/dist/marketplace-install/plugin-detail.d.ts.map +1 -0
- package/dist/marketplace-install/plugin-detail.js +41 -0
- package/dist/marketplace-install/plugin-detail.js.map +1 -0
- package/dist/marketplace-install/plugin-install.d.ts +27 -0
- package/dist/marketplace-install/plugin-install.d.ts.map +1 -0
- package/dist/marketplace-install/plugin-install.js +89 -0
- package/dist/marketplace-install/plugin-install.js.map +1 -0
- package/dist/marketplace-install/route-items.d.ts +14 -0
- package/dist/marketplace-install/route-items.d.ts.map +1 -0
- package/dist/marketplace-install/route-items.js +11 -0
- package/dist/marketplace-install/route-items.js.map +1 -0
- package/dist/marketplace-install/use-debounced-value.d.ts +6 -0
- package/dist/marketplace-install/use-debounced-value.d.ts.map +1 -0
- package/dist/marketplace-install/use-debounced-value.js +18 -0
- package/dist/marketplace-install/use-debounced-value.js.map +1 -0
- package/dist/marketplace-install/use-install-action.d.ts +26 -0
- package/dist/marketplace-install/use-install-action.d.ts.map +1 -0
- package/dist/marketplace-install/use-install-action.js +35 -0
- package/dist/marketplace-install/use-install-action.js.map +1 -0
- package/dist/marketplace-install/use-install-preview.d.ts +33 -0
- package/dist/marketplace-install/use-install-preview.d.ts.map +1 -0
- package/dist/marketplace-install/use-install-preview.js +44 -0
- package/dist/marketplace-install/use-install-preview.js.map +1 -0
- package/dist/marketplace-install/use-mount-install.d.ts +80 -0
- package/dist/marketplace-install/use-mount-install.d.ts.map +1 -0
- package/dist/marketplace-install/use-mount-install.js +75 -0
- package/dist/marketplace-install/use-mount-install.js.map +1 -0
- package/dist/navigation/index.d.ts +1 -1
- package/dist/navigation/index.d.ts.map +1 -1
- package/dist/navigation/index.js.map +1 -1
- package/dist/navigation/types.d.ts +23 -7
- package/dist/navigation/types.d.ts.map +1 -1
- package/dist/plugin/registry.d.ts +0 -8
- package/dist/plugin/registry.d.ts.map +1 -1
- package/dist/plugin/registry.js +25 -1
- package/dist/plugin/registry.js.map +1 -1
- package/dist/plugin/types.d.ts +36 -12
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/version.d.ts +6 -4
- package/dist/plugin/version.d.ts.map +1 -1
- package/dist/plugin/version.js +6 -4
- package/dist/plugin/version.js.map +1 -1
- package/dist/query-keys.d.ts +45 -4
- package/dist/query-keys.d.ts.map +1 -1
- package/dist/query-keys.js +52 -4
- package/dist/query-keys.js.map +1 -1
- package/dist/schema-form/json-schema-meta.d.ts +3 -0
- package/dist/schema-form/json-schema-meta.d.ts.map +1 -0
- package/dist/schema-form/json-schema-meta.js +3 -0
- package/dist/schema-form/json-schema-meta.js.map +1 -0
- package/dist/testing.d.ts +2 -0
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +2 -0
- package/dist/testing.js.map +1 -1
- package/dist/token-rules.d.ts +26 -0
- package/dist/token-rules.d.ts.map +1 -0
- package/dist/token-rules.js +64 -0
- package/dist/token-rules.js.map +1 -0
- package/package.json +2 -2
- package/src/components/action-menu.tsx +160 -0
- package/src/components/agent-picker.tsx +53 -0
- package/src/components/channel-picker.tsx +68 -0
- package/src/components/components.css +226 -8
- package/src/components/confirm-dialog.tsx +4 -1
- package/src/components/execution-key-picker.tsx +252 -36
- package/src/components/extension-combo-builder.tsx +61 -29
- package/src/components/extension-combo-parts.tsx +28 -38
- package/src/components/extension-config-editor.tsx +307 -0
- package/src/components/extension-grouping.ts +4 -73
- package/src/components/extension-picker.tsx +13 -13
- package/src/components/fleet-report.tsx +38 -4
- package/src/components/holder-kinds.ts +60 -0
- package/src/components/holder-list.tsx +163 -0
- package/src/components/icons/index.ts +0 -2
- package/src/components/icons/nav-map.ts +0 -4
- package/src/components/icons/nav-marks.tsx +0 -15
- package/src/components/named-list-picker.tsx +182 -0
- package/src/components/named-list-test-utils.tsx +47 -0
- package/src/components/recycle-roll.tsx +120 -0
- package/src/components/stepper.tsx +111 -0
- package/src/components/subject-section.tsx +10 -5
- package/src/components/tokens.css +31 -41
- package/src/components/tokens.ts +5 -13
- package/src/components/tool-picker-parts.tsx +17 -6
- package/src/components/tool-picker.tsx +215 -41
- package/src/components/version-history-panel.tsx +8 -0
- package/src/components/version-history-rows.tsx +14 -2
- package/src/errors.ts +10 -0
- package/src/hooks/useCapabilities.ts +59 -10
- package/src/index.ts +54 -14
- package/src/marketplace-install/env-var-fields.tsx +59 -0
- package/src/marketplace-install/index.ts +17 -0
- package/src/marketplace-install/install-env.ts +39 -0
- package/src/marketplace-install/install-mount.ts +96 -0
- package/src/marketplace-install/install-report.tsx +54 -0
- package/src/marketplace-install/install-shell.tsx +99 -0
- package/src/marketplace-install/mount-install.tsx +290 -0
- package/src/marketplace-install/plugin-detail.ts +60 -0
- package/src/marketplace-install/plugin-install.tsx +221 -0
- package/src/marketplace-install/route-items.ts +20 -0
- package/src/marketplace-install/use-debounced-value.ts +18 -0
- package/src/marketplace-install/use-install-action.ts +60 -0
- package/src/marketplace-install/use-install-preview.ts +74 -0
- package/src/marketplace-install/use-mount-install.ts +116 -0
- package/src/navigation/index.ts +1 -0
- package/src/navigation/types.ts +27 -7
- package/src/plugin/registry.ts +19 -1
- package/src/plugin/types.ts +40 -12
- package/src/plugin/version.ts +6 -4
- package/src/query-keys.ts +71 -4
- package/src/schema-form/json-schema-meta.ts +2 -0
- package/src/testing.ts +2 -0
- package/src/token-rules.ts +66 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The single-select both `AgentPicker` and `ChannelPicker` render: one list read of
|
|
3
|
+
* names, drawn in its own `Field` with the read's states (pending, error with Retry,
|
|
4
|
+
* refused on a 403, loaded and empty) and a stored value the loaded list does not
|
|
5
|
+
* hold flagged with the picker's unlisted label. Each picker hands in its own copy.
|
|
6
|
+
* The host's `error` shows, and the `Field` claims its control id, exactly while a
|
|
7
|
+
* `Select` renders.
|
|
8
|
+
*/
|
|
9
|
+
import { type ReactNode } from 'react';
|
|
10
|
+
/** The flags of a list read; `data` is each picker's own. */
|
|
11
|
+
export interface ListReadFlags {
|
|
12
|
+
readonly isPending: boolean;
|
|
13
|
+
readonly isError: boolean;
|
|
14
|
+
readonly isSuccess: boolean;
|
|
15
|
+
readonly error: unknown;
|
|
16
|
+
readonly refetch: () => void;
|
|
17
|
+
}
|
|
18
|
+
/** The picker's own copy. */
|
|
19
|
+
export interface NamedListCopy {
|
|
20
|
+
readonly label: string;
|
|
21
|
+
readonly description?: string | undefined;
|
|
22
|
+
readonly loadingPlaceholder: string;
|
|
23
|
+
readonly placeholder: string;
|
|
24
|
+
readonly forbiddenNote: string;
|
|
25
|
+
readonly emptyNote: string;
|
|
26
|
+
readonly emptyAction: ReactNode;
|
|
27
|
+
readonly unlistedLabel: string;
|
|
28
|
+
}
|
|
29
|
+
export interface NamedListPickerProps {
|
|
30
|
+
readonly query: ListReadFlags;
|
|
31
|
+
/** The listed names once the read succeeded. */
|
|
32
|
+
readonly names: readonly string[];
|
|
33
|
+
readonly value: string;
|
|
34
|
+
readonly onValueChange: (value: string) => void;
|
|
35
|
+
readonly error?: string | undefined;
|
|
36
|
+
readonly copy: NamedListCopy;
|
|
37
|
+
}
|
|
38
|
+
export declare function NamedListPicker({ query, names, value, onValueChange, error, copy, }: NamedListPickerProps): ReactNode;
|
|
39
|
+
//# sourceMappingURL=named-list-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"named-list-picker.d.ts","sourceRoot":"","sources":["../../src/components/named-list-picker.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,SAAS,EAAS,MAAM,OAAO,CAAC;AAU9C,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,6BAA6B;AAC7B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAwGD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,KAAK,EACL,KAAK,EACL,aAAa,EACb,KAAK,EACL,IAAI,GACL,EAAE,oBAAoB,GAAG,SAAS,CAuBlC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* The single-select both `AgentPicker` and `ChannelPicker` render: one list read of
|
|
4
|
+
* names, drawn in its own `Field` with the read's states (pending, error with Retry,
|
|
5
|
+
* refused on a 403, loaded and empty) and a stored value the loaded list does not
|
|
6
|
+
* hold flagged with the picker's unlisted label. Each picker hands in its own copy.
|
|
7
|
+
* The host's `error` shows, and the `Field` claims its control id, exactly while a
|
|
8
|
+
* `Select` renders.
|
|
9
|
+
*/
|
|
10
|
+
import { useId } from 'react';
|
|
11
|
+
import { errorMessage, isForbiddenError } from '../errors';
|
|
12
|
+
import { Badge } from './badge';
|
|
13
|
+
import { Field } from './field';
|
|
14
|
+
import { ErrorState } from './primitives';
|
|
15
|
+
import { Select } from './select';
|
|
16
|
+
const MUTED_LINE = { margin: 0, color: 'var(--tai-color-text-muted)' };
|
|
17
|
+
function MutedLine({ text }) {
|
|
18
|
+
return (_jsx("p", { role: "status", style: MUTED_LINE, children: text }));
|
|
19
|
+
}
|
|
20
|
+
/** The stored value's own option: flagged when the loaded list does not hold it, and kept
|
|
21
|
+
* unflagged under a 403, where without the list the form claims nothing about it. */
|
|
22
|
+
function storedOptions(stored, unlisted, refused, unlistedLabel) {
|
|
23
|
+
if (unlisted)
|
|
24
|
+
return [{ value: stored, label: `${stored} (${unlistedLabel})` }];
|
|
25
|
+
return refused ? [{ value: stored, label: stored }] : [];
|
|
26
|
+
}
|
|
27
|
+
function listedOptions(loaded, names) {
|
|
28
|
+
return loaded ? names.map((name) => ({ value: name, label: name })) : [];
|
|
29
|
+
}
|
|
30
|
+
function namedListView(query, names, value, unlistedLabel) {
|
|
31
|
+
const refused = query.isError && isForbiddenError(query.error);
|
|
32
|
+
const failed = query.isError && !refused;
|
|
33
|
+
const loaded = query.isSuccess && !query.isError;
|
|
34
|
+
const pending = !loaded && !query.isError;
|
|
35
|
+
const stored = value !== '' ? value : null;
|
|
36
|
+
const unlisted = loaded && stored !== null && !names.includes(stored);
|
|
37
|
+
const empty = loaded && names.length === 0;
|
|
38
|
+
const options = stored === null
|
|
39
|
+
? listedOptions(loaded, names)
|
|
40
|
+
: [
|
|
41
|
+
...storedOptions(stored, unlisted, refused, unlistedLabel),
|
|
42
|
+
...listedOptions(loaded, names),
|
|
43
|
+
];
|
|
44
|
+
const selectRenders = pending || (refused ? stored !== null : !failed && (!empty || unlisted));
|
|
45
|
+
return { refused, failed, pending, unlisted, empty, options, selectRenders };
|
|
46
|
+
}
|
|
47
|
+
/** The loaded, pending or refused body: the `Select` while one renders, then its notes. */
|
|
48
|
+
function NamedListBody({ view, value, onValueChange, copy, }) {
|
|
49
|
+
const unlistedId = useId();
|
|
50
|
+
return (_jsxs(_Fragment, { children: [view.selectRenders ? (_jsx(Select, { options: view.options, value: value, placeholder: view.pending ? copy.loadingPlaceholder : copy.placeholder, disabled: view.pending, onValueChange: onValueChange, "aria-describedby": view.unlisted ? unlistedId : undefined })) : null, view.refused ? _jsx(MutedLine, { text: copy.forbiddenNote }) : null, view.empty && !view.refused ? (_jsxs(_Fragment, { children: [_jsx(MutedLine, { text: copy.emptyNote }), copy.emptyAction] })) : null, view.unlisted ? (_jsxs("p", { id: unlistedId, className: "tai-field-hint", style: { margin: 0 }, children: [_jsx(Badge, { variant: "warning", children: copy.unlistedLabel }), ' ', `${value} is ${copy.unlistedLabel}. Pick another, or saving is refused.`] })) : null] }));
|
|
51
|
+
}
|
|
52
|
+
export function NamedListPicker({ query, names, value, onValueChange, error, copy, }) {
|
|
53
|
+
const view = namedListView(query, names, value, copy.unlistedLabel);
|
|
54
|
+
return (_jsx(Field, { label: copy.label, description: copy.description, error: view.selectRenders ? error : undefined,
|
|
55
|
+
// Only the Select claims the field's control id; with nothing to hold no
|
|
56
|
+
// labelable element renders, so `for` would dangle.
|
|
57
|
+
group: !view.selectRenders, children: view.failed ? (_jsx(ErrorState, { message: errorMessage(query.error), onRetry: () => {
|
|
58
|
+
query.refetch();
|
|
59
|
+
} })) : (_jsx(NamedListBody, { view: view, value: value, onValueChange: onValueChange, copy: copy })) }));
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=named-list-picker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"named-list-picker.js","sourceRoot":"","sources":["../../src/components/named-list-picker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** The stub query and navigation harness the agent and channel picker tests share. */
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import type { ReactNode } from 'react';
|
|
4
|
+
export interface StubQuery<T> {
|
|
5
|
+
readonly data: T | undefined;
|
|
6
|
+
readonly isPending: boolean;
|
|
7
|
+
readonly isError: boolean;
|
|
8
|
+
readonly isSuccess: boolean;
|
|
9
|
+
readonly error: unknown;
|
|
10
|
+
readonly refetch: () => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function stubQuery<T>(overrides: Partial<StubQuery<T>>): StubQuery<T>;
|
|
13
|
+
export declare const pendingRead: {
|
|
14
|
+
readonly isPending: true;
|
|
15
|
+
};
|
|
16
|
+
export declare const forbiddenRead: {
|
|
17
|
+
readonly isError: true;
|
|
18
|
+
readonly error: {
|
|
19
|
+
readonly status: 403;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare function renderWithNavigation(ui: ReactNode): ReturnType<typeof render>;
|
|
23
|
+
//# sourceMappingURL=named-list-test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"named-list-test-utils.d.ts","sourceRoot":"","sources":["../../src/components/named-list-test-utils.tsx"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAU3E;AAED,eAAO,MAAM,WAAW;;CAA+B,CAAC;AACxD,eAAO,MAAM,aAAa;;;;;CAAqD,CAAC;AAchF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,SAAS,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAE7E"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/** The stub query and navigation harness the agent and channel picker tests share. */
|
|
3
|
+
import { render } from '@testing-library/react';
|
|
4
|
+
import { vi } from 'vitest';
|
|
5
|
+
import { NavigationProvider } from '../navigation/context';
|
|
6
|
+
export function stubQuery(overrides) {
|
|
7
|
+
return {
|
|
8
|
+
data: undefined,
|
|
9
|
+
isPending: false,
|
|
10
|
+
isError: false,
|
|
11
|
+
isSuccess: false,
|
|
12
|
+
error: null,
|
|
13
|
+
refetch: vi.fn(),
|
|
14
|
+
...overrides,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export const pendingRead = { isPending: true };
|
|
18
|
+
export const forbiddenRead = { isError: true, error: { status: 403 } };
|
|
19
|
+
function navigation() {
|
|
20
|
+
return {
|
|
21
|
+
navigate: vi.fn(),
|
|
22
|
+
resolvePath: (token, search) => {
|
|
23
|
+
const qs = search ? new URLSearchParams(search).toString() : '';
|
|
24
|
+
return `/${token}${qs ? `?${qs}` : ''}`;
|
|
25
|
+
},
|
|
26
|
+
navigatePlugin: vi.fn(),
|
|
27
|
+
resolvePluginPath: vi.fn(() => '/plugins'),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export function renderWithNavigation(ui) {
|
|
31
|
+
return render(_jsx(NavigationProvider, { value: navigation(), children: ui }));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=named-list-test-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"named-list-test-utils.js","sourceRoot":"","sources":["../../src/components/named-list-test-utils.tsx"],"names":[],"mappings":";AAAA,sFAAsF;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAY3D,MAAM,UAAU,SAAS,CAAI,SAAgC;IAC3D,OAAO;QACL,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,SAAS,EAAE,IAAI,EAAW,CAAC;AACxD,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAW,CAAC;AAEhF,SAAS,UAAU;IACjB,OAAO;QACL,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;QACjB,WAAW,EAAE,CAAuB,KAAQ,EAAE,MAAuB,EAAE,EAAE;YACvE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,MAAgC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,OAAO,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1C,CAAC;QACD,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;QACvB,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAa;IAChD,OAAO,MAAM,CAAC,KAAC,kBAAkB,IAAC,KAAK,EAAE,UAAU,EAAE,YAAG,EAAE,GAAsB,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The report of one fleet recycle roll — shared by the profile apply report and the
|
|
3
|
+
* Environment tab's save report, so both read the same rows the same way.
|
|
4
|
+
*
|
|
5
|
+
* One row per worker the roll reached: its name, kind, status and life (joined onto a
|
|
6
|
+
* fresh life sharing its name). `recycled` reads as done, the writer's own
|
|
7
|
+
* `self-deferred` line as a warning with its note, and the target the roll stopped at
|
|
8
|
+
* (`timed-out` / `failed`) as a failure with the reason the server gave. When the roll
|
|
9
|
+
* stopped, a warning panel says where and why and that the workers after it still run
|
|
10
|
+
* the old value. Names only — the report carries no env value. Every server string
|
|
11
|
+
* renders as escaped React text.
|
|
12
|
+
*/
|
|
13
|
+
import type { FreshLife, RecycleEntry, RecycleStop } from '@tai42/api-client';
|
|
14
|
+
import type { ReactNode } from 'react';
|
|
15
|
+
export interface RecycleRollSectionProps {
|
|
16
|
+
readonly recycle: readonly RecycleEntry[];
|
|
17
|
+
readonly fresh: readonly FreshLife[];
|
|
18
|
+
readonly stopped: RecycleStop | null;
|
|
19
|
+
/** The note beside the worker that took the change, on its `self-deferred` row. */
|
|
20
|
+
readonly writerNote: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function RecycleRollSection({ recycle, fresh, stopped, writerNote, }: RecycleRollSectionProps): ReactNode;
|
|
23
|
+
//# sourceMappingURL=recycle-roll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recycle-roll.d.ts","sourceRoot":"","sources":["../../src/components/recycle-roll.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AA0DtD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,mFAAmF;IACnF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,KAAK,EACL,OAAO,EACP,UAAU,GACX,EAAE,uBAAuB,GAAG,SAAS,CAmCrC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Badge } from './badge';
|
|
3
|
+
import { AlertTriangleIcon } from './icons';
|
|
4
|
+
const labelStyle = {
|
|
5
|
+
fontSize: 'var(--tai-text-sm)',
|
|
6
|
+
color: 'var(--tai-color-text-muted)',
|
|
7
|
+
};
|
|
8
|
+
const rowListStyle = {
|
|
9
|
+
listStyle: 'none',
|
|
10
|
+
margin: 0,
|
|
11
|
+
padding: 0,
|
|
12
|
+
display: 'flex',
|
|
13
|
+
flexDirection: 'column',
|
|
14
|
+
gap: 'var(--tai-space-3)',
|
|
15
|
+
};
|
|
16
|
+
const noteStyle = {
|
|
17
|
+
margin: '0 0 var(--tai-space-3)',
|
|
18
|
+
color: 'var(--tai-color-text-muted)',
|
|
19
|
+
fontSize: 'var(--tai-text-sm)',
|
|
20
|
+
};
|
|
21
|
+
/** The badge tone a row's status takes: done, the writer's deferred exit, or the stop. */
|
|
22
|
+
function statusVariant(status) {
|
|
23
|
+
if (status === 'recycled')
|
|
24
|
+
return 'success';
|
|
25
|
+
if (status === 'self-deferred')
|
|
26
|
+
return 'warning';
|
|
27
|
+
return 'danger';
|
|
28
|
+
}
|
|
29
|
+
/** Where the roll stopped and why: the workers after it were not recycled. */
|
|
30
|
+
function StoppedPanel({ stopped }) {
|
|
31
|
+
const where = stopped.name !== null
|
|
32
|
+
? `The recycle stopped at ${stopped.name} (${stopped.kind} workers)`
|
|
33
|
+
: `The recycle stopped before it reached a worker (${stopped.kind} workers)`;
|
|
34
|
+
return (_jsxs("div", { role: "alert", className: "tai-warn-state tai-stack tai-stack-2", "data-testid": "recycle-stopped", children: [_jsxs("strong", { className: "tai-status tai-status-warn", children: [_jsx(AlertTriangleIcon, {}), where] }), _jsx("p", { children: stopped.detail }), _jsx("p", { children: "The change is saved and every worker reloaded, but the workers after this point were not recycled and still run the old value, and this worker was not recycled. Restart them through your deployment\u2019s supervisor." })] }));
|
|
35
|
+
}
|
|
36
|
+
export function RecycleRollSection({ recycle, fresh, stopped, writerNote, }) {
|
|
37
|
+
if (recycle.length === 0 && stopped === null) {
|
|
38
|
+
return _jsx("p", { style: noteStyle, children: "No process recycle was needed." });
|
|
39
|
+
}
|
|
40
|
+
return (_jsxs("div", { className: "tai-stack", children: [recycle.length > 0 ? (_jsx("ul", { style: rowListStyle, "data-testid": "apply-recycle", children: recycle.map((entry) => {
|
|
41
|
+
const joined = fresh.find((life) => life.name === entry.name);
|
|
42
|
+
return (_jsxs("li", { className: "tai-row", children: [_jsx("span", { className: "tai-mono", children: entry.name }), _jsx(Badge, { variant: "neutral", children: entry.kind }), _jsx(Badge, { variant: statusVariant(entry.status), children: entry.status }), _jsx("span", { style: labelStyle, children: joined !== undefined
|
|
43
|
+
? `life ${String(entry.generation_before)} to ${String(joined.generation)}`
|
|
44
|
+
: `life ${String(entry.generation_before)}` }), entry.status === 'self-deferred' ? (_jsx("span", { style: labelStyle, children: writerNote })) : null, entry.detail !== null ? _jsx("span", { style: labelStyle, children: entry.detail }) : null] }, `${entry.name}-${entry.kind}-${String(entry.generation_before)}`));
|
|
45
|
+
}) })) : null, stopped !== null ? _jsx(StoppedPanel, { stopped: stopped }) : null] }));
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=recycle-roll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recycle-roll.js","sourceRoot":"","sources":["../../src/components/recycle-roll.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `Stepper` — the progress of a short multi-step flow: a named `<nav>` over an
|
|
3
|
+
* ordered list, one entry per step with a numbered (or marked) 24 px marker and
|
|
4
|
+
* its label. The `current` step carries `aria-current="step"`; every marker says
|
|
5
|
+
* its state in visually-hidden text, so a state is never told by colour alone.
|
|
6
|
+
*
|
|
7
|
+
* A `done` step is a button when `onStepSelect` is given (Tab reaches it,
|
|
8
|
+
* Enter/Space selects it); without it no step is interactive. The stepper holds
|
|
9
|
+
* no step content: the caller renders the current step's body.
|
|
10
|
+
*
|
|
11
|
+
* At the narrow breakpoint the list collapses to one line, "Step 2 of 3: Pick
|
|
12
|
+
* tools", with the other steps visually hidden (still in the list).
|
|
13
|
+
*/
|
|
14
|
+
import type { ReactNode } from 'react';
|
|
15
|
+
export type StepperStatus = 'done' | 'current' | 'upcoming' | 'error';
|
|
16
|
+
export interface StepperStep {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly label: string;
|
|
19
|
+
readonly status: StepperStatus;
|
|
20
|
+
}
|
|
21
|
+
export interface StepperProps {
|
|
22
|
+
readonly steps: readonly StepperStep[];
|
|
23
|
+
readonly 'aria-label': string;
|
|
24
|
+
/** Called with a `done` step's id; when omitted no step is interactive. */
|
|
25
|
+
readonly onStepSelect?: (id: string) => void;
|
|
26
|
+
}
|
|
27
|
+
export declare function Stepper({ steps, 'aria-label': label, onStepSelect }: StepperProps): ReactNode;
|
|
28
|
+
//# sourceMappingURL=stepper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../src/components/stepper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEtE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAqCD,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,YAAY,GAAG,SAAS,CA2C7F"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { AlertTriangleIcon, CheckIcon } from './icons';
|
|
3
|
+
const STATUS_TEXT = {
|
|
4
|
+
done: 'completed',
|
|
5
|
+
current: 'current step',
|
|
6
|
+
upcoming: 'not started',
|
|
7
|
+
error: 'failed',
|
|
8
|
+
};
|
|
9
|
+
const MARKER_CLASS = {
|
|
10
|
+
done: 'tai-stepper-marker tai-stepper-marker-done',
|
|
11
|
+
current: 'tai-stepper-marker tai-stepper-marker-current',
|
|
12
|
+
upcoming: 'tai-stepper-marker tai-stepper-marker-upcoming',
|
|
13
|
+
error: 'tai-stepper-marker tai-stepper-marker-error',
|
|
14
|
+
};
|
|
15
|
+
const STEP_CLASS = {
|
|
16
|
+
done: 'tai-stepper-step tai-stepper-step-done',
|
|
17
|
+
current: 'tai-stepper-step tai-stepper-step-current',
|
|
18
|
+
upcoming: 'tai-stepper-step tai-stepper-step-upcoming',
|
|
19
|
+
error: 'tai-stepper-step',
|
|
20
|
+
};
|
|
21
|
+
function Marker({ status, index }) {
|
|
22
|
+
return (_jsx("span", { className: MARKER_CLASS[status], "aria-hidden": "true", children: status === 'done' ? (_jsx(CheckIcon, {})) : status === 'error' ? (_jsx(AlertTriangleIcon, {})) : (String(index + 1)) }));
|
|
23
|
+
}
|
|
24
|
+
export function Stepper({ steps, 'aria-label': label, onStepSelect }) {
|
|
25
|
+
const currentIndex = steps.findIndex((step) => step.status === 'current');
|
|
26
|
+
return (_jsx("nav", { "aria-label": label, children: _jsx("ol", { className: "tai-stepper", children: steps.map((step, index) => {
|
|
27
|
+
const body = (_jsxs(_Fragment, { children: [_jsx(Marker, { status: step.status, index: index }), _jsxs("span", { className: "tai-stepper-label", children: [currentIndex === index ? (_jsx("span", { className: "tai-stepper-position", children: `Step ${String(index + 1)} of ${String(steps.length)}: ` })) : null, step.label] }), _jsx("span", { className: "tai-visually-hidden", children: `, ${STATUS_TEXT[step.status]}` })] }));
|
|
28
|
+
return (_jsx("li", { className: STEP_CLASS[step.status], "aria-current": step.status === 'current' ? 'step' : undefined, children: step.status === 'done' && onStepSelect !== undefined ? (_jsx("button", { type: "button", className: "tai-stepper-button", onClick: () => {
|
|
29
|
+
onStepSelect(step.id);
|
|
30
|
+
}, children: body })) : (_jsx("span", { className: "tai-stepper-button", children: body })) }, step.id));
|
|
31
|
+
}) }) }));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=stepper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper.js","sourceRoot":"","sources":["../../src/components/stepper.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAiBvD,MAAM,WAAW,GAAkC;IACjD,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,cAAc;IACvB,QAAQ,EAAE,aAAa;IACvB,KAAK,EAAE,QAAQ;CAChB,CAAC;AAEF,MAAM,YAAY,GAAkC;IAClD,IAAI,EAAE,4CAA4C;IAClD,OAAO,EAAE,+CAA+C;IACxD,QAAQ,EAAE,gDAAgD;IAC1D,KAAK,EAAE,6CAA6C;CACrD,CAAC;AAEF,MAAM,UAAU,GAAkC;IAChD,IAAI,EAAE,wCAAwC;IAC9C,OAAO,EAAE,2CAA2C;IACpD,QAAQ,EAAE,4CAA4C;IACtD,KAAK,EAAE,kBAAkB;CAC1B,CAAC;AAEF,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAA4C;IACzE,OAAO,CACL,eAAM,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,iBAAc,MAAM,YACtD,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CACnB,KAAC,SAAS,KAAG,CACd,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CACvB,KAAC,iBAAiB,KAAG,CACtB,CAAC,CAAC,CAAC,CACF,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAClB,GACI,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAgB;IAChF,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAC1E,OAAO,CACL,4BAAiB,KAAK,YACpB,aAAI,SAAS,EAAC,aAAa,YACxB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,IAAI,GAAG,CACX,8BACE,KAAC,MAAM,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,GAAI,EAC7C,gBAAM,SAAS,EAAC,mBAAmB,aAChC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,CACxB,eAAM,SAAS,EAAC,sBAAsB,YAAE,QAAQ,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAQ,CACzG,CAAC,CAAC,CAAC,IAAI,EACP,IAAI,CAAC,KAAK,IACN,EACP,eAAM,SAAS,EAAC,qBAAqB,YAAE,KAAK,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAQ,IAC7E,CACJ,CAAC;gBACF,OAAO,CACL,aAEE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,kBACpB,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAE3D,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CACtD,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,oBAAoB,EAC9B,OAAO,EAAE,GAAG,EAAE;4BACZ,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACxB,CAAC,YAEA,IAAI,GACE,CACV,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,oBAAoB,YAAE,IAAI,GAAQ,CACnD,IAhBI,IAAI,CAAC,EAAE,CAiBT,CACN,CAAC;YACJ,CAAC,CAAC,GACC,GACD,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -20,7 +20,8 @@ export interface SubjectTargetOption {
|
|
|
20
20
|
}
|
|
21
21
|
/** The message a partially-filled subject is refused with (all three fields or none). */
|
|
22
22
|
export declare const SUBJECT_INCOMPLETE_MESSAGE = "A subject needs a target, a kind, and a key.";
|
|
23
|
-
/** Map the conversation routes read to the target select's options
|
|
23
|
+
/** Map the conversation routes read to the target select's options: one option per
|
|
24
|
+
* distinct target, in first-seen order, since several routes may share a target. */
|
|
24
25
|
export declare function toSubjectTargetOptions(routes: readonly {
|
|
25
26
|
readonly target_kind: string;
|
|
26
27
|
readonly target_name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subject-section.d.ts","sourceRoot":"","sources":["../../src/components/subject-section.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAMjD,4FAA4F;AAC5F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,yFAAyF;AACzF,eAAO,MAAM,0BAA0B,iDAAiD,CAAC;AAEzF
|
|
1
|
+
{"version":3,"file":"subject-section.d.ts","sourceRoot":"","sources":["../../src/components/subject-section.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAMjD,4FAA4F;AAC5F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,yFAAyF;AACzF,eAAO,MAAM,0BAA0B,iDAAiD,CAAC;AAEzF;oFACoF;AACpF,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,GAChF,mBAAmB,EAAE,CASvB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAqB9E;AAED;iFACiF;AACjF,wBAAgB,gBAAgB;;;;;;;;;;;EAO/B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACvD,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,kDAAkD;IAClD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAED,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,cAAc,EACd,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,KAAK,EACL,aAAa,EACb,OAAO,EACP,iBAAiB,EACjB,qBAAqB,GACtB,EAAE,mBAAmB,GAAG,SAAS,CA4DjC"}
|
|
@@ -5,12 +5,17 @@ import { TextInput } from './inputs';
|
|
|
5
5
|
import { Select } from './select';
|
|
6
6
|
/** The message a partially-filled subject is refused with (all three fields or none). */
|
|
7
7
|
export const SUBJECT_INCOMPLETE_MESSAGE = 'A subject needs a target, a kind, and a key.';
|
|
8
|
-
/** Map the conversation routes read to the target select's options
|
|
8
|
+
/** Map the conversation routes read to the target select's options: one option per
|
|
9
|
+
* distinct target, in first-seen order, since several routes may share a target. */
|
|
9
10
|
export function toSubjectTargetOptions(routes) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const byValue = new Map();
|
|
12
|
+
for (const route of routes) {
|
|
13
|
+
const value = `${route.target_kind}:${route.target_name}`;
|
|
14
|
+
if (!byValue.has(value)) {
|
|
15
|
+
byValue.set(value, { value, label: `${route.target_kind} · ${route.target_name}` });
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return [...byValue.values()];
|
|
14
19
|
}
|
|
15
20
|
/**
|
|
16
21
|
* Build a {@link StateSubject} from the sub-form values: `null` when untouched (no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subject-section.js","sourceRoot":"","sources":["../../src/components/subject-section.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAkB,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQlC,yFAAyF;AACzF,MAAM,CAAC,MAAM,0BAA0B,GAAG,8CAA8C,CAAC;AAEzF
|
|
1
|
+
{"version":3,"file":"subject-section.js","sourceRoot":"","sources":["../../src/components/subject-section.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAkB,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQlC,yFAAyF;AACzF,MAAM,CAAC,MAAM,0BAA0B,GAAG,8CAA8C,CAAC;AAEzF;oFACoF;AACpF,MAAM,UAAU,sBAAsB,CACpC,MAAiF;IAEjF,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IACvD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,CAI5B;IACC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAC/E,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACtE,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;IAC5D,CAAC;IACD,uFAAuF;IACvF,wFAAwF;IACxF,6EAA6E;IAC7E,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE;YACP,WAAW,EAAE,UAAyC;YACtD,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;YACnB,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;SAClB;KACF,CAAC;AACJ,CAAC;AAED;iFACiF;AACjF,MAAM,UAAU,gBAAgB;IAC9B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3F,CAAC;AAqBD,MAAM,UAAU,cAAc,CAAC,EAC7B,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,cAAc,EACd,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,KAAK,EACL,aAAa,EACb,OAAO,EACP,iBAAiB,EACjB,qBAAqB,GACD;IACpB,OAAO,CACL,0BACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,uBAAuB,mBAClB,IAAI,EACnB,OAAO,EAAE,QAAQ,mCAGV,EACR,IAAI,CAAC,CAAC,CAAC,CACN,eACE,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,QAAQ;oBACvB,GAAG,EAAE,oBAAoB;oBACzB,SAAS,EAAE,oBAAoB;iBAChC,aAED,YAAG,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,YAAG,OAAO,GAAK,EAC5E,KAAC,KAAK,IAAC,KAAK,EAAC,QAAQ,YACnB,KAAC,MAAM,IACL,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,cAAc,gBAClB,gBAAgB,EAC3B,WAAW,EAAE,iBAAiB,EAC9B,OAAO,EAAE,aAAa,GACtB,GACI,EACR,KAAC,KAAK,IACJ,KAAK,EAAC,cAAc,EACpB,WAAW,EAAC,sDAAsD,YAElE,KAAC,SAAS,IACR,KAAK,EAAE,IAAI,EACX,WAAW,EAAC,aAAa,EACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gCAClB,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BACnC,CAAC,GACD,GACI,EACR,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,EAAC,WAAW,EAAE,qBAAqB,YAC3D,KAAC,SAAS,IACR,KAAK,EAAE,UAAU,EACjB,WAAW,EAAC,WAAW,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gCAClB,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAClC,CAAC,GACD,GACI,EACP,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAChB,YAAG,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,YACrE,KAAK,GACJ,CACL,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -147,11 +147,14 @@
|
|
|
147
147
|
/* -- Semantic ----------------------------------------------------------
|
|
148
148
|
The `-text` members are the ONLY ones legible as text, dots, or icons;
|
|
149
149
|
the `-fill` members are for fills and charts and carry `on-fill` ink
|
|
150
|
-
labels in both themes.
|
|
151
|
-
|
|
150
|
+
labels in both themes. A badge label is a `-text` member over its own
|
|
151
|
+
tint, and that tint can sit on a row that is tinted too (a hovered or
|
|
152
|
+
highlighted row, a diff row), so the values are set to clear 4.5:1 there:
|
|
153
|
+
`badge-contrast.test.tsx` computes every such stack in both themes. */
|
|
154
|
+
--tai-color-ok-text: #065f46;
|
|
152
155
|
--tai-dark-color-ok-text: #34d399;
|
|
153
156
|
--tai-color-err-text: #b91c1c;
|
|
154
|
-
--tai-dark-color-err-text: #
|
|
157
|
+
--tai-dark-color-err-text: #fca5a5;
|
|
155
158
|
--tai-color-warn-text: #92400e;
|
|
156
159
|
--tai-dark-color-warn-text: #fbbf24;
|
|
157
160
|
--tai-color-ok-fill: #10b981;
|
|
@@ -196,30 +199,22 @@
|
|
|
196
199
|
--tai-color-syntax-number: var(--tai-color-accent);
|
|
197
200
|
--tai-color-syntax-bool: var(--tai-color-warn-text);
|
|
198
201
|
|
|
199
|
-
/* --
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
--tai-color-
|
|
213
|
-
--tai-color-
|
|
214
|
-
--tai-color-
|
|
215
|
-
--tai-dark-color-danger: #dc2626;
|
|
216
|
-
--tai-color-danger-text: #ffffff;
|
|
217
|
-
--tai-dark-color-danger-text: #ffffff;
|
|
218
|
-
--tai-color-danger-hover: #7f1d1d;
|
|
219
|
-
--tai-dark-color-danger-hover: #b91c1c;
|
|
220
|
-
--tai-color-danger-surface: var(--tai-color-err-tint);
|
|
221
|
-
--tai-color-success: var(--tai-color-ok-text);
|
|
222
|
-
--tai-color-warning: var(--tai-color-warn-text);
|
|
202
|
+
/* -- Destructive emphasis ---------------------------------------------
|
|
203
|
+
A FILL for the destructive button only, never text: as text the dark
|
|
204
|
+
fill fails contrast on the dark grounds, so error text takes `err-text`.
|
|
205
|
+
It runs deeper than the accent on purpose: a destructive fill sharing the
|
|
206
|
+
crimson brand ramp reads as the primary action, so this is its own deep
|
|
207
|
+
red, clearly darker and less pink than the accent in BOTH themes, unlike
|
|
208
|
+
the light-fill dark-ink convention the accent follows. `on-destructive` is
|
|
209
|
+
the white label on that fill in both themes, and the hover is a shade
|
|
210
|
+
deeper still, so a destructive button is instantly told apart from a
|
|
211
|
+
primary one. */
|
|
212
|
+
--tai-color-destructive: #991b1b;
|
|
213
|
+
--tai-dark-color-destructive: #dc2626;
|
|
214
|
+
--tai-color-destructive-hover: #7f1d1d;
|
|
215
|
+
--tai-dark-color-destructive-hover: #b91c1c;
|
|
216
|
+
--tai-color-on-destructive: #ffffff;
|
|
217
|
+
--tai-dark-color-on-destructive: #ffffff;
|
|
223
218
|
|
|
224
219
|
/* -- Spacing (n x 4; there is deliberately no space-7) ------------------ */
|
|
225
220
|
--tai-space-1: 0.25rem; /* 4px */
|
|
@@ -272,11 +267,6 @@
|
|
|
272
267
|
--tai-dark-shadow-overlay-color: rgb(0 0 0 / 0.6);
|
|
273
268
|
--tai-shadow-lift: 0 12px 32px var(--tai-shadow-lift-color);
|
|
274
269
|
--tai-shadow-overlay: 0 24px 48px var(--tai-shadow-overlay-color);
|
|
275
|
-
/* Legacy slots, re-pointed at the new elevation pair. Both names are kept
|
|
276
|
-
and both changed MEANING: they were resting shadows (`0 1px 2px` /
|
|
277
|
-
`0 4px 12px`) and now alias the lift and overlay geometry. */
|
|
278
|
-
--tai-shadow-sm: var(--tai-shadow-lift);
|
|
279
|
-
--tai-shadow-md: var(--tai-shadow-overlay);
|
|
280
270
|
|
|
281
271
|
/* -- Stacking ------------------------------------------------------------
|
|
282
272
|
`popover` and `tooltip` sit ABOVE the modal layers on purpose. Both are
|
|
@@ -284,9 +274,9 @@
|
|
|
284
274
|
be opened from whatever layer is on top — so a listbox or a tip raised
|
|
285
275
|
from inside a dialog has to clear that dialog's scrim to be usable.
|
|
286
276
|
`dropdown` is the rung reserved for an in-flow menu surface — one that
|
|
287
|
-
stacks against the page rather than being portalled.
|
|
288
|
-
|
|
289
|
-
rung to sit on instead of inventing a number. */
|
|
277
|
+
stacks against the page rather than being portalled. `ActionMenu`'s list
|
|
278
|
+
sits on it, and it is part of the published scale so a plugin's own menu
|
|
279
|
+
has a rung to sit on instead of inventing a number. */
|
|
290
280
|
--tai-z-sticky: 10;
|
|
291
281
|
--tai-z-dropdown: 20;
|
|
292
282
|
--tai-z-overlay: 30;
|
|
@@ -335,9 +325,9 @@
|
|
|
335
325
|
--tai-color-scrim: var(--tai-dark-color-scrim);
|
|
336
326
|
--tai-color-prose-link: var(--tai-dark-color-prose-link);
|
|
337
327
|
--tai-color-prose-link-hover: var(--tai-dark-color-prose-link-hover);
|
|
338
|
-
--tai-color-
|
|
339
|
-
--tai-color-
|
|
340
|
-
--tai-color-
|
|
328
|
+
--tai-color-destructive: var(--tai-dark-color-destructive);
|
|
329
|
+
--tai-color-destructive-hover: var(--tai-dark-color-destructive-hover);
|
|
330
|
+
--tai-color-on-destructive: var(--tai-dark-color-on-destructive);
|
|
341
331
|
--tai-shadow-lift-color: var(--tai-dark-shadow-lift-color);
|
|
342
332
|
--tai-shadow-overlay-color: var(--tai-dark-shadow-overlay-color);
|
|
343
333
|
}
|
|
@@ -382,9 +372,9 @@
|
|
|
382
372
|
--tai-color-scrim: var(--tai-dark-color-scrim);
|
|
383
373
|
--tai-color-prose-link: var(--tai-dark-color-prose-link);
|
|
384
374
|
--tai-color-prose-link-hover: var(--tai-dark-color-prose-link-hover);
|
|
385
|
-
--tai-color-
|
|
386
|
-
--tai-color-
|
|
387
|
-
--tai-color-
|
|
375
|
+
--tai-color-destructive: var(--tai-dark-color-destructive);
|
|
376
|
+
--tai-color-destructive-hover: var(--tai-dark-color-destructive-hover);
|
|
377
|
+
--tai-color-on-destructive: var(--tai-dark-color-on-destructive);
|
|
388
378
|
--tai-shadow-lift-color: var(--tai-dark-shadow-lift-color);
|
|
389
379
|
--tai-shadow-overlay-color: var(--tai-dark-shadow-overlay-color);
|
|
390
380
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The documented CSS-variable token names — the Studio-plugin styling API. A
|
|
3
|
-
* snapshot test pins this list so the contract can't drift silently.
|
|
4
|
-
*
|
|
5
|
-
* grows additively.
|
|
3
|
+
* snapshot test pins this list so the contract can't drift silently. A rename
|
|
4
|
+
* or a removal bumps the SDK compatibility version; a new name does not.
|
|
6
5
|
*
|
|
7
6
|
* The `--tai-dark-*` half of each themed pair is deliberately NOT here. Those
|
|
8
7
|
* names are the theming mechanism's own storage — the two blocks in `tokens.css`
|
|
@@ -10,6 +9,6 @@
|
|
|
10
9
|
* them to that. A plugin styles against the name WITHOUT the `dark` segment and
|
|
11
10
|
* gets whichever half the viewer's theme resolves to.
|
|
12
11
|
*/
|
|
13
|
-
export declare const TOKEN_NAMES: readonly ["--tai-color-bg", "--tai-color-surface", "--tai-color-surface-raised", "--tai-color-surface-disabled", "--tai-color-code-bg", "--tai-color-border", "--tai-color-border-strong", "--tai-color-control-border", "--tai-color-border-disabled", "--tai-color-text", "--tai-color-heading", "--tai-color-text-muted", "--tai-color-text-disabled", "--tai-color-placeholder", "--tai-color-decor", "--tai-color-accent", "--tai-color-accent-hover", "--tai-color-accent-on-tint", "--tai-color-on-accent", "--tai-color-accent-tint", "--tai-color-ok-text", "--tai-color-err-text", "--tai-color-warn-text", "--tai-color-ok-fill", "--tai-color-err-fill", "--tai-color-warn-fill", "--tai-color-ok-tint", "--tai-color-err-tint", "--tai-color-warn-tint", "--tai-color-on-fill", "--tai-color-focus-ring", "--tai-color-scrim", "--tai-color-prose-link", "--tai-color-prose-link-hover", "--tai-color-syntax-key", "--tai-color-syntax-string", "--tai-color-syntax-number", "--tai-color-syntax-bool", "--tai-color-
|
|
12
|
+
export declare const TOKEN_NAMES: readonly ["--tai-color-bg", "--tai-color-surface", "--tai-color-surface-raised", "--tai-color-surface-disabled", "--tai-color-code-bg", "--tai-color-border", "--tai-color-border-strong", "--tai-color-control-border", "--tai-color-border-disabled", "--tai-color-text", "--tai-color-heading", "--tai-color-text-muted", "--tai-color-text-disabled", "--tai-color-placeholder", "--tai-color-decor", "--tai-color-accent", "--tai-color-accent-hover", "--tai-color-accent-on-tint", "--tai-color-on-accent", "--tai-color-accent-tint", "--tai-color-ok-text", "--tai-color-err-text", "--tai-color-warn-text", "--tai-color-ok-fill", "--tai-color-err-fill", "--tai-color-warn-fill", "--tai-color-ok-tint", "--tai-color-err-tint", "--tai-color-warn-tint", "--tai-color-on-fill", "--tai-color-focus-ring", "--tai-color-scrim", "--tai-color-prose-link", "--tai-color-prose-link-hover", "--tai-color-syntax-key", "--tai-color-syntax-string", "--tai-color-syntax-number", "--tai-color-syntax-bool", "--tai-color-destructive", "--tai-color-destructive-hover", "--tai-color-on-destructive", "--tai-space-1", "--tai-space-2", "--tai-space-3", "--tai-space-4", "--tai-space-5", "--tai-space-6", "--tai-space-8", "--tai-radius-sm", "--tai-radius-code", "--tai-radius-md", "--tai-radius-tile", "--tai-radius-lg", "--tai-radius-overlay", "--tai-radius-full", "--tai-font-sans", "--tai-font-mono", "--tai-text-display", "--tai-text-xl", "--tai-text-section", "--tai-text-lg", "--tai-text-md", "--tai-text-sm", "--tai-text-code", "--tai-text-xs", "--tai-control-height", "--tai-control-height-coarse", "--tai-motion-fast", "--tai-motion-base", "--tai-shadow-lift-color", "--tai-shadow-overlay-color", "--tai-shadow-lift", "--tai-shadow-overlay", "--tai-z-sticky", "--tai-z-dropdown", "--tai-z-overlay", "--tai-z-dialog", "--tai-z-popover", "--tai-z-tooltip"];
|
|
14
13
|
export type TokenName = (typeof TOKEN_NAMES)[number];
|
|
15
14
|
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/components/tokens.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/components/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,yyDAgFd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The documented CSS-variable token names — the Studio-plugin styling API. A
|
|
3
|
-
* snapshot test pins this list so the contract can't drift silently.
|
|
4
|
-
*
|
|
5
|
-
* grows additively.
|
|
3
|
+
* snapshot test pins this list so the contract can't drift silently. A rename
|
|
4
|
+
* or a removal bumps the SDK compatibility version; a new name does not.
|
|
6
5
|
*
|
|
7
6
|
* The `--tai-dark-*` half of each themed pair is deliberately NOT here. Those
|
|
8
7
|
* names are the theming mechanism's own storage — the two blocks in `tokens.css`
|
|
@@ -49,14 +48,9 @@ export const TOKEN_NAMES = [
|
|
|
49
48
|
'--tai-color-syntax-string',
|
|
50
49
|
'--tai-color-syntax-number',
|
|
51
50
|
'--tai-color-syntax-bool',
|
|
52
|
-
'--tai-color-
|
|
53
|
-
'--tai-color-
|
|
54
|
-
'--tai-color-
|
|
55
|
-
'--tai-color-danger-text',
|
|
56
|
-
'--tai-color-danger-hover',
|
|
57
|
-
'--tai-color-danger-surface',
|
|
58
|
-
'--tai-color-success',
|
|
59
|
-
'--tai-color-warning',
|
|
51
|
+
'--tai-color-destructive',
|
|
52
|
+
'--tai-color-destructive-hover',
|
|
53
|
+
'--tai-color-on-destructive',
|
|
60
54
|
'--tai-space-1',
|
|
61
55
|
'--tai-space-2',
|
|
62
56
|
'--tai-space-3',
|
|
@@ -89,8 +83,6 @@ export const TOKEN_NAMES = [
|
|
|
89
83
|
'--tai-shadow-overlay-color',
|
|
90
84
|
'--tai-shadow-lift',
|
|
91
85
|
'--tai-shadow-overlay',
|
|
92
|
-
'--tai-shadow-sm',
|
|
93
|
-
'--tai-shadow-md',
|
|
94
86
|
'--tai-z-sticky',
|
|
95
87
|
'--tai-z-dropdown',
|
|
96
88
|
'--tai-z-overlay',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/components/tokens.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/components/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,gBAAgB;IAChB,qBAAqB;IACrB,4BAA4B;IAC5B,8BAA8B;IAC9B,qBAAqB;IACrB,oBAAoB;IACpB,2BAA2B;IAC3B,4BAA4B;IAC5B,6BAA6B;IAC7B,kBAAkB;IAClB,qBAAqB;IACrB,wBAAwB;IACxB,2BAA2B;IAC3B,yBAAyB;IACzB,mBAAmB;IACnB,oBAAoB;IACpB,0BAA0B;IAC1B,4BAA4B;IAC5B,uBAAuB;IACvB,yBAAyB;IACzB,qBAAqB;IACrB,sBAAsB;IACtB,uBAAuB;IACvB,qBAAqB;IACrB,sBAAsB;IACtB,uBAAuB;IACvB,qBAAqB;IACrB,sBAAsB;IACtB,uBAAuB;IACvB,qBAAqB;IACrB,wBAAwB;IACxB,mBAAmB;IACnB,wBAAwB;IACxB,8BAA8B;IAC9B,wBAAwB;IACxB,2BAA2B;IAC3B,2BAA2B;IAC3B,yBAAyB;IACzB,yBAAyB;IACzB,+BAA+B;IAC/B,4BAA4B;IAC5B,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,sBAAsB;IACtB,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,eAAe;IACf,oBAAoB;IACpB,eAAe;IACf,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,sBAAsB;IACtB,6BAA6B;IAC7B,mBAAmB;IACnB,mBAAmB;IACnB,yBAAyB;IACzB,4BAA4B;IAC5B,mBAAmB;IACnB,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;CACT,CAAC"}
|