@tai42/studio-sdk 0.2.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/LICENSE +202 -0
- package/NOTICE +15 -0
- package/README.md +318 -0
- package/SECURITY.md +51 -0
- package/dist/components/badge.d.ts +13 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/badge.js +14 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/checkbox.d.ts +24 -0
- package/dist/components/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox.js +31 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/code-block.d.ts +7 -0
- package/dist/components/code-block.d.ts.map +1 -0
- package/dist/components/code-block.js +23 -0
- package/dist/components/code-block.js.map +1 -0
- package/dist/components/completion-input.d.ts +31 -0
- package/dist/components/completion-input.d.ts.map +1 -0
- package/dist/components/completion-input.js +61 -0
- package/dist/components/completion-input.js.map +1 -0
- package/dist/components/components.css +2212 -0
- package/dist/components/confirm-dialog.d.ts +40 -0
- package/dist/components/confirm-dialog.d.ts.map +1 -0
- package/dist/components/confirm-dialog.js +11 -0
- package/dist/components/confirm-dialog.js.map +1 -0
- package/dist/components/control-styles.d.ts +12 -0
- package/dist/components/control-styles.d.ts.map +1 -0
- package/dist/components/control-styles.js +14 -0
- package/dist/components/control-styles.js.map +1 -0
- package/dist/components/copy-field.d.ts +8 -0
- package/dist/components/copy-field.d.ts.map +1 -0
- package/dist/components/copy-field.js +106 -0
- package/dist/components/copy-field.js.map +1 -0
- package/dist/components/dialog.d.ts +21 -0
- package/dist/components/dialog.d.ts.map +1 -0
- package/dist/components/dialog.js +25 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/drawer.d.ts +22 -0
- package/dist/components/drawer.d.ts.map +1 -0
- package/dist/components/drawer.js +32 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/error-boundary.d.ts +33 -0
- package/dist/components/error-boundary.d.ts.map +1 -0
- package/dist/components/error-boundary.js +36 -0
- package/dist/components/error-boundary.js.map +1 -0
- package/dist/components/extension-combo-builder.d.ts +70 -0
- package/dist/components/extension-combo-builder.d.ts.map +1 -0
- package/dist/components/extension-combo-builder.js +154 -0
- package/dist/components/extension-combo-builder.js.map +1 -0
- package/dist/components/extension-grouping.d.ts +65 -0
- package/dist/components/extension-grouping.d.ts.map +1 -0
- package/dist/components/extension-grouping.js +78 -0
- package/dist/components/extension-grouping.js.map +1 -0
- package/dist/components/extension-picker.d.ts +35 -0
- package/dist/components/extension-picker.d.ts.map +1 -0
- package/dist/components/extension-picker.js +31 -0
- package/dist/components/extension-picker.js.map +1 -0
- package/dist/components/external-link.d.ts +19 -0
- package/dist/components/external-link.d.ts.map +1 -0
- package/dist/components/external-link.js +12 -0
- package/dist/components/external-link.js.map +1 -0
- package/dist/components/field.d.ts +64 -0
- package/dist/components/field.d.ts.map +1 -0
- package/dist/components/field.js +56 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/fleet-report.d.ts +39 -0
- package/dist/components/fleet-report.d.ts.map +1 -0
- package/dist/components/fleet-report.js +50 -0
- package/dist/components/fleet-report.js.map +1 -0
- package/dist/components/fonts.css +22 -0
- package/dist/components/icons.d.ts +142 -0
- package/dist/components/icons.d.ts.map +1 -0
- package/dist/components/icons.js +139 -0
- package/dist/components/icons.js.map +1 -0
- package/dist/components/inputs.d.ts +52 -0
- package/dist/components/inputs.d.ts.map +1 -0
- package/dist/components/inputs.js +35 -0
- package/dist/components/inputs.js.map +1 -0
- package/dist/components/json-diff.d.ts +40 -0
- package/dist/components/json-diff.d.ts.map +1 -0
- package/dist/components/json-diff.js +119 -0
- package/dist/components/json-diff.js.map +1 -0
- package/dist/components/json-tree.d.ts +8 -0
- package/dist/components/json-tree.d.ts.map +1 -0
- package/dist/components/json-tree.js +70 -0
- package/dist/components/json-tree.js.map +1 -0
- package/dist/components/modal-focus.d.ts +15 -0
- package/dist/components/modal-focus.d.ts.map +1 -0
- package/dist/components/modal-focus.js +136 -0
- package/dist/components/modal-focus.js.map +1 -0
- package/dist/components/page-header.d.ts +56 -0
- package/dist/components/page-header.d.ts.map +1 -0
- package/dist/components/page-header.js +24 -0
- package/dist/components/page-header.js.map +1 -0
- package/dist/components/primitives.d.ts +186 -0
- package/dist/components/primitives.d.ts.map +1 -0
- package/dist/components/primitives.js +204 -0
- package/dist/components/primitives.js.map +1 -0
- package/dist/components/progress-bar.d.ts +29 -0
- package/dist/components/progress-bar.d.ts.map +1 -0
- package/dist/components/progress-bar.js +48 -0
- package/dist/components/progress-bar.js.map +1 -0
- package/dist/components/radio-group.d.ts +37 -0
- package/dist/components/radio-group.d.ts.map +1 -0
- package/dist/components/radio-group.js +56 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/reveal-input.d.ts +13 -0
- package/dist/components/reveal-input.d.ts.map +1 -0
- package/dist/components/reveal-input.js +31 -0
- package/dist/components/reveal-input.js.map +1 -0
- package/dist/components/scroll-region.d.ts +85 -0
- package/dist/components/scroll-region.d.ts.map +1 -0
- package/dist/components/scroll-region.js +574 -0
- package/dist/components/scroll-region.js.map +1 -0
- package/dist/components/select.d.ts +53 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/select.js +33 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/table.d.ts +59 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/table.js +20 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +15 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tabs.js +13 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/tags.d.ts +46 -0
- package/dist/components/tags.d.ts.map +1 -0
- package/dist/components/tags.js +68 -0
- package/dist/components/tags.js.map +1 -0
- package/dist/components/tokens.css +392 -0
- package/dist/components/tokens.d.ts +15 -0
- package/dist/components/tokens.d.ts.map +1 -0
- package/dist/components/tokens.js +101 -0
- package/dist/components/tokens.js.map +1 -0
- package/dist/components/tool-picker.d.ts +24 -0
- package/dist/components/tool-picker.d.ts.map +1 -0
- package/dist/components/tool-picker.js +97 -0
- package/dist/components/tool-picker.js.map +1 -0
- package/dist/components/tooltip.d.ts +17 -0
- package/dist/components/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip.js +18 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/version-history-panel.d.ts +71 -0
- package/dist/components/version-history-panel.d.ts.map +1 -0
- package/dist/components/version-history-panel.js +148 -0
- package/dist/components/version-history-panel.js.map +1 -0
- package/dist/download.d.ts +7 -0
- package/dist/download.d.ts.map +1 -0
- package/dist/download.js +18 -0
- package/dist/download.js.map +1 -0
- package/dist/element-slot.d.ts +4 -0
- package/dist/element-slot.d.ts.map +1 -0
- package/dist/element-slot.js +20 -0
- package/dist/element-slot.js.map +1 -0
- package/dist/elicitation/ElicitationForm.d.ts +34 -0
- package/dist/elicitation/ElicitationForm.d.ts.map +1 -0
- package/dist/elicitation/ElicitationForm.js +24 -0
- package/dist/elicitation/ElicitationForm.js.map +1 -0
- package/dist/errors.d.ts +9 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +15 -0
- package/dist/errors.js.map +1 -0
- package/dist/extension-combos.d.ts +13 -0
- package/dist/extension-combos.d.ts.map +1 -0
- package/dist/extension-combos.js +9 -0
- package/dist/extension-combos.js.map +1 -0
- package/dist/hooks/useApi.d.ts +1222 -0
- package/dist/hooks/useApi.d.ts.map +1 -0
- package/dist/hooks/useApi.js +22 -0
- package/dist/hooks/useApi.js.map +1 -0
- package/dist/hooks/useAuth.d.ts +13 -0
- package/dist/hooks/useAuth.d.ts.map +1 -0
- package/dist/hooks/useAuth.js +53 -0
- package/dist/hooks/useAuth.js.map +1 -0
- package/dist/hooks/useBreakpoint.d.ts +10 -0
- package/dist/hooks/useBreakpoint.d.ts.map +1 -0
- package/dist/hooks/useBreakpoint.js +66 -0
- package/dist/hooks/useBreakpoint.js.map +1 -0
- package/dist/hooks/useCapabilities.d.ts +88 -0
- package/dist/hooks/useCapabilities.d.ts.map +1 -0
- package/dist/hooks/useCapabilities.js +203 -0
- package/dist/hooks/useCapabilities.js.map +1 -0
- package/dist/hooks/useSse.d.ts +13 -0
- package/dist/hooks/useSse.d.ts.map +1 -0
- package/dist/hooks/useSse.js +298 -0
- package/dist/hooks/useSse.js.map +1 -0
- package/dist/hooks/useTheme.d.ts +20 -0
- package/dist/hooks/useTheme.d.ts.map +1 -0
- package/dist/hooks/useTheme.js +97 -0
- package/dist/hooks/useTheme.js.map +1 -0
- package/dist/hooks/useUnauthorized.d.ts +3 -0
- package/dist/hooks/useUnauthorized.d.ts.map +1 -0
- package/dist/hooks/useUnauthorized.js +18 -0
- package/dist/hooks/useUnauthorized.js.map +1 -0
- package/dist/host.d.ts +11 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +10 -0
- package/dist/host.js.map +1 -0
- package/dist/index.d.ts +118 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +91 -0
- package/dist/index.js.map +1 -0
- package/dist/navigation/context.d.ts +25 -0
- package/dist/navigation/context.d.ts.map +1 -0
- package/dist/navigation/context.js +45 -0
- package/dist/navigation/context.js.map +1 -0
- package/dist/navigation/index.d.ts +4 -0
- package/dist/navigation/index.d.ts.map +1 -0
- package/dist/navigation/index.js +2 -0
- package/dist/navigation/index.js.map +1 -0
- package/dist/navigation/types.d.ts +97 -0
- package/dist/navigation/types.d.ts.map +1 -0
- package/dist/navigation/types.js +16 -0
- package/dist/navigation/types.js.map +1 -0
- package/dist/plugin/host-state.d.ts +45 -0
- package/dist/plugin/host-state.d.ts.map +1 -0
- package/dist/plugin/host-state.js +62 -0
- package/dist/plugin/host-state.js.map +1 -0
- package/dist/plugin/registry.d.ts +35 -0
- package/dist/plugin/registry.d.ts.map +1 -0
- package/dist/plugin/registry.js +129 -0
- package/dist/plugin/registry.js.map +1 -0
- package/dist/plugin/types.d.ts +165 -0
- package/dist/plugin/types.d.ts.map +1 -0
- package/dist/plugin/types.js +2 -0
- package/dist/plugin/types.js.map +1 -0
- package/dist/plugin/version.d.ts +34 -0
- package/dist/plugin/version.d.ts.map +1 -0
- package/dist/plugin/version.js +37 -0
- package/dist/plugin/version.js.map +1 -0
- package/dist/query-keys.d.ts +31 -0
- package/dist/query-keys.d.ts.map +1 -0
- package/dist/query-keys.js +31 -0
- package/dist/query-keys.js.map +1 -0
- package/dist/schema-editor/SchemaEditor.d.ts +43 -0
- package/dist/schema-editor/SchemaEditor.d.ts.map +1 -0
- package/dist/schema-editor/SchemaEditor.js +106 -0
- package/dist/schema-editor/SchemaEditor.js.map +1 -0
- package/dist/schema-editor/index.d.ts +10 -0
- package/dist/schema-editor/index.d.ts.map +1 -0
- package/dist/schema-editor/index.js +8 -0
- package/dist/schema-editor/index.js.map +1 -0
- package/dist/schema-editor/lint.d.ts +37 -0
- package/dist/schema-editor/lint.d.ts.map +1 -0
- package/dist/schema-editor/lint.js +49 -0
- package/dist/schema-editor/lint.js.map +1 -0
- package/dist/schema-form/SchemaForm.d.ts +70 -0
- package/dist/schema-form/SchemaForm.d.ts.map +1 -0
- package/dist/schema-form/SchemaForm.js +13 -0
- package/dist/schema-form/SchemaForm.js.map +1 -0
- package/dist/schema-form/array-field.d.ts +20 -0
- package/dist/schema-form/array-field.d.ts.map +1 -0
- package/dist/schema-form/array-field.js +39 -0
- package/dist/schema-form/array-field.js.map +1 -0
- package/dist/schema-form/classify.d.ts +87 -0
- package/dist/schema-form/classify.d.ts.map +1 -0
- package/dist/schema-form/classify.js +199 -0
- package/dist/schema-form/classify.js.map +1 -0
- package/dist/schema-form/context.d.ts +4 -0
- package/dist/schema-form/context.d.ts.map +1 -0
- package/dist/schema-form/context.js +14 -0
- package/dist/schema-form/context.js.map +1 -0
- package/dist/schema-form/default-value.d.ts +8 -0
- package/dist/schema-form/default-value.d.ts.map +1 -0
- package/dist/schema-form/default-value.js +64 -0
- package/dist/schema-form/default-value.js.map +1 -0
- package/dist/schema-form/enum-field.d.ts +19 -0
- package/dist/schema-form/enum-field.d.ts.map +1 -0
- package/dist/schema-form/enum-field.js +26 -0
- package/dist/schema-form/enum-field.js.map +1 -0
- package/dist/schema-form/field-group.d.ts +9 -0
- package/dist/schema-form/field-group.d.ts.map +1 -0
- package/dist/schema-form/field-group.js +32 -0
- package/dist/schema-form/field-group.js.map +1 -0
- package/dist/schema-form/field-node.d.ts +24 -0
- package/dist/schema-form/field-node.d.ts.map +1 -0
- package/dist/schema-form/field-node.js +51 -0
- package/dist/schema-form/field-node.js.map +1 -0
- package/dist/schema-form/index.d.ts +13 -0
- package/dist/schema-form/index.d.ts.map +1 -0
- package/dist/schema-form/index.js +11 -0
- package/dist/schema-form/index.js.map +1 -0
- package/dist/schema-form/media-field.d.ts +24 -0
- package/dist/schema-form/media-field.d.ts.map +1 -0
- package/dist/schema-form/media-field.js +169 -0
- package/dist/schema-form/media-field.js.map +1 -0
- package/dist/schema-form/media.d.ts +40 -0
- package/dist/schema-form/media.d.ts.map +1 -0
- package/dist/schema-form/media.js +65 -0
- package/dist/schema-form/media.js.map +1 -0
- package/dist/schema-form/object-fields.d.ts +20 -0
- package/dist/schema-form/object-fields.d.ts.map +1 -0
- package/dist/schema-form/object-fields.js +24 -0
- package/dist/schema-form/object-fields.js.map +1 -0
- package/dist/schema-form/resolve.d.ts +41 -0
- package/dist/schema-form/resolve.d.ts.map +1 -0
- package/dist/schema-form/resolve.js +102 -0
- package/dist/schema-form/resolve.js.map +1 -0
- package/dist/schema-form/string-field.d.ts +20 -0
- package/dist/schema-form/string-field.d.ts.map +1 -0
- package/dist/schema-form/string-field.js +68 -0
- package/dist/schema-form/string-field.js.map +1 -0
- package/dist/schema-form/styles.d.ts +18 -0
- package/dist/schema-form/styles.d.ts.map +1 -0
- package/dist/schema-form/styles.js +18 -0
- package/dist/schema-form/styles.js.map +1 -0
- package/dist/schema-form/types.d.ts +67 -0
- package/dist/schema-form/types.d.ts.map +1 -0
- package/dist/schema-form/types.js +10 -0
- package/dist/schema-form/types.js.map +1 -0
- package/dist/schema-form/union-field.d.ts +24 -0
- package/dist/schema-form/union-field.d.ts.map +1 -0
- package/dist/schema-form/union-field.js +55 -0
- package/dist/schema-form/union-field.js.map +1 -0
- package/dist/schema-form/union.d.ts +4 -0
- package/dist/schema-form/union.d.ts.map +1 -0
- package/dist/schema-form/union.js +68 -0
- package/dist/schema-form/union.js.map +1 -0
- package/dist/schema-form/unsupported-notice.d.ts +18 -0
- package/dist/schema-form/unsupported-notice.d.ts.map +1 -0
- package/dist/schema-form/unsupported-notice.js +8 -0
- package/dist/schema-form/unsupported-notice.js.map +1 -0
- package/dist/schema-form/validate.d.ts +18 -0
- package/dist/schema-form/validate.d.ts.map +1 -0
- package/dist/schema-form/validate.js +162 -0
- package/dist/schema-form/validate.js.map +1 -0
- package/dist/structured-output/StructuredOutput.d.ts +27 -0
- package/dist/structured-output/StructuredOutput.d.ts.map +1 -0
- package/dist/structured-output/StructuredOutput.js +41 -0
- package/dist/structured-output/StructuredOutput.js.map +1 -0
- package/dist/testing.d.ts +80 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +207 -0
- package/dist/testing.js.map +1 -0
- package/package.json +101 -0
- package/src/components/badge.tsx +31 -0
- package/src/components/checkbox.tsx +93 -0
- package/src/components/code-block.tsx +37 -0
- package/src/components/completion-input.tsx +137 -0
- package/src/components/components.css +2212 -0
- package/src/components/confirm-dialog.tsx +77 -0
- package/src/components/control-styles.ts +14 -0
- package/src/components/copy-field.tsx +178 -0
- package/src/components/dialog.tsx +76 -0
- package/src/components/drawer.tsx +83 -0
- package/src/components/error-boundary.tsx +56 -0
- package/src/components/extension-combo-builder.tsx +305 -0
- package/src/components/extension-grouping.ts +116 -0
- package/src/components/extension-picker.tsx +97 -0
- package/src/components/external-link.tsx +40 -0
- package/src/components/field.tsx +169 -0
- package/src/components/fleet-report.tsx +136 -0
- package/src/components/fonts.css +22 -0
- package/src/components/icons.tsx +504 -0
- package/src/components/inputs.tsx +125 -0
- package/src/components/json-diff.tsx +192 -0
- package/src/components/json-tree.tsx +129 -0
- package/src/components/modal-focus.ts +150 -0
- package/src/components/page-header.tsx +107 -0
- package/src/components/primitives.tsx +489 -0
- package/src/components/progress-bar.tsx +100 -0
- package/src/components/radio-group.tsx +160 -0
- package/src/components/reveal-input.tsx +87 -0
- package/src/components/scroll-region.tsx +703 -0
- package/src/components/select.tsx +149 -0
- package/src/components/table.tsx +94 -0
- package/src/components/tabs.tsx +51 -0
- package/src/components/tags.tsx +137 -0
- package/src/components/tokens.css +392 -0
- package/src/components/tokens.ts +102 -0
- package/src/components/tool-picker.tsx +175 -0
- package/src/components/tooltip.tsx +46 -0
- package/src/components/version-history-panel.tsx +407 -0
- package/src/css.d.ts +2 -0
- package/src/download.ts +17 -0
- package/src/element-slot.ts +22 -0
- package/src/elicitation/ElicitationForm.tsx +87 -0
- package/src/errors.ts +12 -0
- package/src/extension-combos.ts +18 -0
- package/src/hooks/useApi.ts +27 -0
- package/src/hooks/useAuth.ts +67 -0
- package/src/hooks/useBreakpoint.ts +78 -0
- package/src/hooks/useCapabilities.ts +242 -0
- package/src/hooks/useSse.ts +314 -0
- package/src/hooks/useTheme.ts +133 -0
- package/src/hooks/useUnauthorized.ts +20 -0
- package/src/host.ts +15 -0
- package/src/index.ts +267 -0
- package/src/navigation/context.tsx +90 -0
- package/src/navigation/index.ts +9 -0
- package/src/navigation/types.ts +90 -0
- package/src/plugin/host-state.ts +93 -0
- package/src/plugin/registry.ts +174 -0
- package/src/plugin/types.ts +178 -0
- package/src/plugin/version.ts +44 -0
- package/src/query-keys.ts +34 -0
- package/src/schema-editor/SchemaEditor.tsx +186 -0
- package/src/schema-editor/index.ts +9 -0
- package/src/schema-editor/lint.ts +70 -0
- package/src/schema-form/SchemaForm.tsx +107 -0
- package/src/schema-form/array-field.tsx +110 -0
- package/src/schema-form/classify.ts +302 -0
- package/src/schema-form/context.ts +17 -0
- package/src/schema-form/default-value.ts +65 -0
- package/src/schema-form/enum-field.tsx +65 -0
- package/src/schema-form/field-group.tsx +71 -0
- package/src/schema-form/field-node.tsx +161 -0
- package/src/schema-form/index.ts +12 -0
- package/src/schema-form/media-field.tsx +281 -0
- package/src/schema-form/media.ts +69 -0
- package/src/schema-form/object-fields.tsx +74 -0
- package/src/schema-form/resolve.ts +114 -0
- package/src/schema-form/string-field.tsx +161 -0
- package/src/schema-form/styles.ts +20 -0
- package/src/schema-form/types.ts +71 -0
- package/src/schema-form/union-field.tsx +122 -0
- package/src/schema-form/union.ts +78 -0
- package/src/schema-form/unsupported-notice.tsx +39 -0
- package/src/schema-form/validate.ts +183 -0
- package/src/structured-output/StructuredOutput.tsx +81 -0
- package/src/testing.ts +235 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { AlertTriangleIcon, PendingIcon, XCircleIcon } from './icons';
|
|
3
|
+
/** Human labels for the per-origin non-applied outcomes. */
|
|
4
|
+
const OUTCOME_LABEL = {
|
|
5
|
+
failed: 'apply failed',
|
|
6
|
+
missing: 'alive but did not acknowledge in time',
|
|
7
|
+
departed: 'left mid-broadcast',
|
|
8
|
+
timed_out: 'acknowledged but did not finish applying',
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* How each outcome reads as a status. `failed` is a definite negative — the apply
|
|
12
|
+
* raised. `departed` is a warning — the worker is gone, so nothing will converge it.
|
|
13
|
+
* `missing` and `timed_out` are both UNRESOLVED (never acknowledged / acknowledged
|
|
14
|
+
* but never finished), so they read as pending rather than as an outright failure.
|
|
15
|
+
*/
|
|
16
|
+
const OUTCOME_STATUS = {
|
|
17
|
+
failed: { tone: 'tai-status-err', Icon: XCircleIcon },
|
|
18
|
+
missing: { tone: 'tai-status-pending', Icon: PendingIcon },
|
|
19
|
+
departed: { tone: 'tai-status-warn', Icon: AlertTriangleIcon },
|
|
20
|
+
timed_out: { tone: 'tai-status-pending', Icon: PendingIcon },
|
|
21
|
+
};
|
|
22
|
+
export function FleetReport({ summary, action = 'save' }) {
|
|
23
|
+
if (summary === null || summary.status === 'converged')
|
|
24
|
+
return null;
|
|
25
|
+
if (summary.status === 'unreachable') {
|
|
26
|
+
return (_jsxs("div", { role: "alert", className: "tai-error-state tai-stack tai-stack-2", children: [_jsxs("strong", { className: "tai-status tai-status-err", children: [_jsx(XCircleIcon, {}), action === 'reload'
|
|
27
|
+
? 'The worker fleet was not reached'
|
|
28
|
+
: 'Change saved, but the worker fleet was not reached'] }), _jsx("p", { children: action === 'reload'
|
|
29
|
+
? 'The worker bus was unreachable, so other workers may still be running the old config. Re-run the reload once the bus is back.'
|
|
30
|
+
: 'The worker bus was unreachable, so other workers may still be running the old config. Re-run the reload from the System page once the bus is back.' }), summary.error !== null ? (_jsx("p", { className: "tai-code-block tai-code-block-wrap", children: summary.error })) : null] }));
|
|
31
|
+
}
|
|
32
|
+
// degraded — the bus was reached but named origins did not converge. That is a
|
|
33
|
+
// warning, not a failure, so it takes the warning surface: a warn-toned
|
|
34
|
+
// headline inside an error-toned panel would state two different severities.
|
|
35
|
+
//
|
|
36
|
+
// A count and its noun agree. `worker(s)` is machine output at the one moment
|
|
37
|
+
// an operator is being told something went wrong, and a single unconverged
|
|
38
|
+
// worker is the commonest degraded fleet there is.
|
|
39
|
+
const count = summary.failures.length;
|
|
40
|
+
const workers = `${String(count)} worker${count === 1 ? '' : 's'}`;
|
|
41
|
+
return (_jsxs("div", { role: "alert", className: "tai-warn-state tai-stack tai-stack-2", children: [_jsxs("strong", { className: "tai-status tai-status-warn", children: [_jsx(AlertTriangleIcon, {}), action === 'reload'
|
|
42
|
+
? `${workers} did not converge`
|
|
43
|
+
: `Change saved, but ${workers} did not converge`] }), _jsx("p", { children: `${count === 1 ? 'This worker' : 'These workers'} may still be running the old config — ` +
|
|
44
|
+
(action === 'reload' ? 're-run the reload' : 'reload the fleet from the System page') +
|
|
45
|
+
` to converge ${count === 1 ? 'it' : 'them'}.` }), _jsx("ul", { className: "tai-stack tai-stack-2", children: summary.failures.map((failure) => {
|
|
46
|
+
const { tone, Icon } = OUTCOME_STATUS[failure.outcome];
|
|
47
|
+
return (_jsxs("li", { className: "tai-row", children: [_jsx("span", { className: "tai-mono", children: failure.origin }), _jsxs("span", { className: `tai-status ${tone}`, children: [_jsx(Icon, {}), OUTCOME_LABEL[failure.outcome]] }), failure.message !== null ? (_jsx("span", { className: "tai-muted", children: failure.message })) : null] }, failure.origin));
|
|
48
|
+
}) })] }));
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=fleet-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-report.js","sourceRoot":"","sources":["../../src/components/fleet-report.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* The two webfonts the design system is drawn in, self-hosted so no request ever
|
|
3
|
+
* leaves the deployment (`font-src 'self'`): Inter Variable for the interface and
|
|
4
|
+
* Geist Mono Variable for the machine voice — identifiers, timestamps, code, and
|
|
5
|
+
* the uppercase label style.
|
|
6
|
+
*
|
|
7
|
+
* This is a separate stylesheet so a HOST app loads the faces exactly once. A
|
|
8
|
+
* plugin never imports it; it inherits the families through `--tai-font-sans` and
|
|
9
|
+
* `--tai-font-mono`.
|
|
10
|
+
*
|
|
11
|
+
* BUNDLER-RESOLVED ENTRY POINT. The two lines below are BARE PACKAGE specifiers,
|
|
12
|
+
* not URLs: only a bundler (or anything else applying Node resolution to CSS)
|
|
13
|
+
* turns them into the `@font-face` blocks and the hashed `.woff2` assets. Linked
|
|
14
|
+
* straight into a page — `<link href=".../@tai42/studio-sdk/dist/components/
|
|
15
|
+
* fonts.css">` — a browser resolves them against the stylesheet's own URL, both
|
|
16
|
+
* requests 404, and the page silently falls back to the platform font with
|
|
17
|
+
* nothing failing anywhere. So `@tai42/studio-sdk/fonts.css` is for a build that
|
|
18
|
+
* resolves package specifiers; `tokens.css` and `components.css`, which carry no
|
|
19
|
+
* `@import` at all, are the two subpaths a page may link directly.
|
|
20
|
+
*/
|
|
21
|
+
@import '@fontsource-variable/inter';
|
|
22
|
+
@import '@fontsource-variable/geist-mono';
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The design system's icon set — the ONLY sanctioned source of iconography in
|
|
3
|
+
* Studio (Unicode glyphs as icons are banned).
|
|
4
|
+
*
|
|
5
|
+
* Every mark is hand-authored inline SVG on a 24-unit grid with ~2 units of
|
|
6
|
+
* optical padding, drawn stroke-only in `currentColor` at a uniform 1.6 stroke.
|
|
7
|
+
* Because the paint is `currentColor` an icon inherits the ink of whatever it
|
|
8
|
+
* sits in — a token color at FULL opacity, never a dimmed one; to mute an icon,
|
|
9
|
+
* mute the surrounding text color, never the icon's alpha.
|
|
10
|
+
*
|
|
11
|
+
* Sizing is owned by the `tai-icon` class (16 px square, no shrink), which every
|
|
12
|
+
* icon applies unconditionally. A caller-supplied `className` is APPENDED to it,
|
|
13
|
+
* the way every other design-system primitive treats the prop — an inline `<svg>`
|
|
14
|
+
* with a `viewBox` and no width/height has no intrinsic size, so a `className`
|
|
15
|
+
* that replaced `tai-icon` would not make the mark slightly wrong, it would blow
|
|
16
|
+
* it up to the replaced-element default.
|
|
17
|
+
*
|
|
18
|
+
* Icons are decorative by default (`aria-hidden="true"`): they accompany a text
|
|
19
|
+
* label or sit inside a control that carries its own accessible name. An icon
|
|
20
|
+
* that is the ONLY carrier of meaning is given a name by the caller —
|
|
21
|
+
* `<AlertTriangleIcon aria-label="Warning" />` — and NAMING IT IS ENOUGH: the
|
|
22
|
+
* frame derives the other two attributes from the name, so `aria-hidden` is
|
|
23
|
+
* dropped and `role="img"` supplied. A name and `aria-hidden` can therefore
|
|
24
|
+
* never ship together by omission. Both derived attributes are still
|
|
25
|
+
* overridable through the prop spread, and the older explicit three-prop form
|
|
26
|
+
* (`aria-hidden={false} role="img" aria-label="…"`) keeps working unchanged.
|
|
27
|
+
*
|
|
28
|
+
* {@link NAV_ICONS} is PUBLISHED SURFACE: the canonical route-token → icon
|
|
29
|
+
* mapping, exported so a navigation surface renders the agreed mark for a route
|
|
30
|
+
* instead of choosing one. Studio's own shell renders its nav as text and reads
|
|
31
|
+
* none of it; the map is exhaustive over {@link RouteToken} regardless, so a new
|
|
32
|
+
* route fails the build here until it has a mark.
|
|
33
|
+
*/
|
|
34
|
+
import type { ReactElement, SVGProps } from 'react';
|
|
35
|
+
import type { RouteToken } from '../navigation/types';
|
|
36
|
+
/**
|
|
37
|
+
* Props of every icon: the full SVG surface, so `style`, events and ARIA pass
|
|
38
|
+
* through. `className` is APPENDED to the `tai-icon` sizing class rather than
|
|
39
|
+
* replacing it — the same merge every other design-system primitive does.
|
|
40
|
+
*/
|
|
41
|
+
export type IconProps = SVGProps<SVGSVGElement>;
|
|
42
|
+
/** The shape every exported icon satisfies. */
|
|
43
|
+
export type IconComponent = (props: IconProps) => ReactElement;
|
|
44
|
+
/** Observability: a dial gauge — arc, base and needle. */
|
|
45
|
+
export declare const DashboardIcon: IconComponent;
|
|
46
|
+
/** Tools: an open-ended spanner over its handle. */
|
|
47
|
+
export declare const ToolsIcon: IconComponent;
|
|
48
|
+
/** Agents: a bot — antenna, panel head with eyes and mouth, side ports. */
|
|
49
|
+
export declare const AgentsIcon: IconComponent;
|
|
50
|
+
/** Presets: three sliders, each with its knob at a different stop. */
|
|
51
|
+
export declare const PresetsIcon: IconComponent;
|
|
52
|
+
/** Extensions: a jigsaw piece — knob above, socket to the right. */
|
|
53
|
+
export declare const ExtensionsIcon: IconComponent;
|
|
54
|
+
/** Templates: a stack of two sheets, the front one offset. */
|
|
55
|
+
export declare const TemplatesIcon: IconComponent;
|
|
56
|
+
/** Connectors: a two-pin power plug on its lead. */
|
|
57
|
+
export declare const ConnectorsIcon: IconComponent;
|
|
58
|
+
/** Hooks: a webhook fan-out — one source branching to two subscribers. */
|
|
59
|
+
export declare const HooksIcon: IconComponent;
|
|
60
|
+
/** Storage: a database cylinder with two shelves. */
|
|
61
|
+
export declare const StorageIcon: IconComponent;
|
|
62
|
+
/** Scheduling: a calendar grid with its binding posts. */
|
|
63
|
+
export declare const SchedulingIcon: IconComponent;
|
|
64
|
+
/** Interactions: two overlapping speech bubbles — a conversation. */
|
|
65
|
+
export declare const InteractionsIcon: IconComponent;
|
|
66
|
+
/** Notifications: a bell with its clapper. */
|
|
67
|
+
export declare const NotificationsIcon: IconComponent;
|
|
68
|
+
/** Marketplace: a shopping bag. */
|
|
69
|
+
export declare const MarketplaceIcon: IconComponent;
|
|
70
|
+
/** Manifest: a document with a folded corner and its entries. */
|
|
71
|
+
export declare const ManifestIcon: IconComponent;
|
|
72
|
+
/** Settings: an eight-tooth cog around its bore. */
|
|
73
|
+
export declare const SettingsIcon: IconComponent;
|
|
74
|
+
/** System: a processor die with its pins. */
|
|
75
|
+
export declare const SystemIcon: IconComponent;
|
|
76
|
+
/** A magnifier. */
|
|
77
|
+
export declare const SearchIcon: IconComponent;
|
|
78
|
+
/** Sign out: a door with an outbound arrow. */
|
|
79
|
+
export declare const SignOutIcon: IconComponent;
|
|
80
|
+
/** The three-bar menu / drawer toggle. */
|
|
81
|
+
export declare const MenuIcon: IconComponent;
|
|
82
|
+
/** Dismiss. */
|
|
83
|
+
export declare const CloseIcon: IconComponent;
|
|
84
|
+
/** A funnel. */
|
|
85
|
+
export declare const FilterIcon: IconComponent;
|
|
86
|
+
/** Back / previous. */
|
|
87
|
+
export declare const ArrowLeftIcon: IconComponent;
|
|
88
|
+
/** Move the item one place earlier in an ordered list. */
|
|
89
|
+
export declare const ArrowUpIcon: IconComponent;
|
|
90
|
+
/** Move the item one place later in an ordered list. */
|
|
91
|
+
export declare const ArrowDownIcon: IconComponent;
|
|
92
|
+
/** Expand / collapse affordance. */
|
|
93
|
+
export declare const ChevronDownIcon: IconComponent;
|
|
94
|
+
/** Disclosure / breadcrumb separator. */
|
|
95
|
+
export declare const ChevronRightIcon: IconComponent;
|
|
96
|
+
/** A bare tick, for selection and confirmation. */
|
|
97
|
+
export declare const CheckIcon: IconComponent;
|
|
98
|
+
/** A bare dash, for a partial selection — the tick's mixed-state counterpart. */
|
|
99
|
+
export declare const MinusIcon: IconComponent;
|
|
100
|
+
/** Copy to clipboard: a sheet duplicated behind another. */
|
|
101
|
+
export declare const CopyIcon: IconComponent;
|
|
102
|
+
/** Opens in a new tab / leaves the app. */
|
|
103
|
+
export declare const ExternalLinkIcon: IconComponent;
|
|
104
|
+
/** Ascending sort: an up arrow beside narrow-to-wide rows. */
|
|
105
|
+
export declare const SortAscIcon: IconComponent;
|
|
106
|
+
/** Descending sort: a down arrow beside wide-to-narrow rows. */
|
|
107
|
+
export declare const SortDescIcon: IconComponent;
|
|
108
|
+
/** Light theme. */
|
|
109
|
+
export declare const SunIcon: IconComponent;
|
|
110
|
+
/** Dark theme. */
|
|
111
|
+
export declare const MoonIcon: IconComponent;
|
|
112
|
+
/** Follow the operating system. */
|
|
113
|
+
export declare const MonitorIcon: IconComponent;
|
|
114
|
+
/** Reveal a masked value. */
|
|
115
|
+
export declare const EyeIcon: IconComponent;
|
|
116
|
+
/** Mask a revealed value. */
|
|
117
|
+
export declare const EyeOffIcon: IconComponent;
|
|
118
|
+
/** Success. */
|
|
119
|
+
export declare const CheckCircleIcon: IconComponent;
|
|
120
|
+
/** Warning. */
|
|
121
|
+
export declare const AlertTriangleIcon: IconComponent;
|
|
122
|
+
/** Failure. */
|
|
123
|
+
export declare const XCircleIcon: IconComponent;
|
|
124
|
+
/**
|
|
125
|
+
* Pending / running / queued — a clock hand inside a dashed ring.
|
|
126
|
+
*
|
|
127
|
+
* The dash period has to TILE the circumference or the ring closes on a seam.
|
|
128
|
+
* At r = 9 the circumference is 2π·9 = 56.5487. A 3.2/3.2 array (period 6.4)
|
|
129
|
+
* fits 8.84 times, so the ring shut with a 2.15 gap instead of 3.2 — and with
|
|
130
|
+
* the inherited round linecap eating 1.6 at each end that seam rendered ~0.37 px
|
|
131
|
+
* wide at 16 px, reading as joined while every other gap read as a gap. Eight
|
|
132
|
+
* whole periods divide it exactly: 56.5487 / 8 = 7.0686, halved for the dash and
|
|
133
|
+
* the gap = 3.5343 each, giving 16 even segments and no seam.
|
|
134
|
+
*/
|
|
135
|
+
export declare const PendingIcon: IconComponent;
|
|
136
|
+
/**
|
|
137
|
+
* The canonical mark for every navigable route token. `login` is excluded: it is
|
|
138
|
+
* not a destination the navigation surfaces list. Keyed by the token type, so
|
|
139
|
+
* adding a route to {@link RouteToken} fails the build here until it gets a mark.
|
|
140
|
+
*/
|
|
141
|
+
export declare const NAV_ICONS: Readonly<Record<Exclude<RouteToken, 'login'>, IconComponent>>;
|
|
142
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/components/icons.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* The shared frame every mark is drawn in. Defaults are declared BEFORE the prop
|
|
4
|
+
* spread so a caller can override any of them, while `className` is destructured
|
|
5
|
+
* out of the spread so the caller's class is merged with `tai-icon` instead of
|
|
6
|
+
* replacing it.
|
|
7
|
+
*
|
|
8
|
+
* The accessibility defaults are DERIVED from whether the caller gave the icon a
|
|
9
|
+
* name rather than fixed. A hard-coded `aria-hidden="true"` is not self-serving:
|
|
10
|
+
* it makes `<Icon aria-label="Warning" />` — the form a caller naturally reaches
|
|
11
|
+
* for — a named-but-hidden element, which exposes nothing and fails nowhere. So
|
|
12
|
+
* `aria-hidden` is emitted only for an icon with NO accessible name, and an icon
|
|
13
|
+
* that has one is given the `role="img"` that makes the name reachable.
|
|
14
|
+
*/
|
|
15
|
+
function Icon({ className, children, ...props }) {
|
|
16
|
+
const named = props['aria-label'] !== undefined || props['aria-labelledby'] !== undefined;
|
|
17
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": named ? undefined : 'true', role: named ? 'img' : undefined, className: className === undefined ? 'tai-icon' : `tai-icon ${className}`, ...props, children: children }));
|
|
18
|
+
}
|
|
19
|
+
// -- Navigation marks (one per Studio route) ---------------------------------
|
|
20
|
+
/** Observability: a dial gauge — arc, base and needle. */
|
|
21
|
+
export const DashboardIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M3 17.5a9 9 0 0 1 18 0" }), _jsx("path", { d: "M3 17.5h18" }), _jsx("path", { d: "M12 17.5 16.4 11.9" })] }));
|
|
22
|
+
/** Tools: an open-ended spanner over its handle. */
|
|
23
|
+
export const ToolsIcon = (props) => (_jsx(Icon, { ...props, children: _jsx("path", { d: "M14.6 6.2a1 1 0 0 0 0 1.5l1.7 1.7a1 1 0 0 0 1.5 0l3.2-3.2a5.9 5.9 0 0 1-7.4 7.4l-6.8 6.8a2.1 2.1 0 0 1-3-3l6.8-6.8a5.9 5.9 0 0 1 7.4-7.4z" }) }));
|
|
24
|
+
/** Agents: a bot — antenna, panel head with eyes and mouth, side ports. */
|
|
25
|
+
export const AgentsIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M12 4.6V7.4" }), _jsx("circle", { cx: "12", cy: "3.2", r: "1.4" }), _jsx("rect", { x: "4.4", y: "7.4", width: "15.2", height: "12.4", rx: "3" }), _jsx("path", { d: "M2.6 12.6v2.8" }), _jsx("path", { d: "M21.4 12.6v2.8" }), _jsx("path", { d: "M9.2 11.6v1.8" }), _jsx("path", { d: "M14.8 11.6v1.8" }), _jsx("path", { d: "M9.6 16.6h4.8" })] }));
|
|
26
|
+
/** Presets: three sliders, each with its knob at a different stop. */
|
|
27
|
+
export const PresetsIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M3 6.8h6.5" }), _jsx("path", { d: "M13.5 6.8H21" }), _jsx("circle", { cx: "11.5", cy: "6.8", r: "2" }), _jsx("path", { d: "M3 12h10.5" }), _jsx("path", { d: "M17.5 12H21" }), _jsx("circle", { cx: "15.5", cy: "12", r: "2" }), _jsx("path", { d: "M3 17.2h4.5" }), _jsx("path", { d: "M11.5 17.2H21" }), _jsx("circle", { cx: "9.5", cy: "17.2", r: "2" })] }));
|
|
28
|
+
/** Extensions: a jigsaw piece — knob above, socket to the right. */
|
|
29
|
+
export const ExtensionsIcon = (props) => (_jsx(Icon, { ...props, children: _jsx("path", { d: "M9.5 6.5a2.2 2.2 0 0 1 4.4 0v.7h4.3a1.3 1.3 0 0 1 1.3 1.3v3.4H18a2.2 2.2 0 0 0 0 4.4h1.5v2.8a1.3 1.3 0 0 1-1.3 1.3H5.8a1.3 1.3 0 0 1-1.3-1.3V8.5a1.3 1.3 0 0 1 1.3-1.3h3.7z" }) }));
|
|
30
|
+
/** Templates: a stack of two sheets, the front one offset. */
|
|
31
|
+
export const TemplatesIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M8 8V5a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-3" }), _jsx("rect", { x: "3", y: "8", width: "13", height: "13", rx: "2" })] }));
|
|
32
|
+
/** Connectors: a two-pin power plug on its lead. */
|
|
33
|
+
export const ConnectorsIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M9 3v5" }), _jsx("path", { d: "M15 3v5" }), _jsx("path", { d: "M6.5 8h11v3.5a5.5 5.5 0 0 1-11 0z" }), _jsx("path", { d: "M12 17v4" })] }));
|
|
34
|
+
/** Hooks: a webhook fan-out — one source branching to two subscribers. */
|
|
35
|
+
export const HooksIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("circle", { cx: "12", cy: "5.8", r: "2.6" }), _jsx("circle", { cx: "5.4", cy: "18.2", r: "2.6" }), _jsx("circle", { cx: "18.6", cy: "18.2", r: "2.6" }), _jsx("path", { d: "M10.7 8.1 6.7 15.9" }), _jsx("path", { d: "M13.3 8.1 17.3 15.9" }), _jsx("path", { d: "M8 18.2h8" })] }));
|
|
36
|
+
/** Storage: a database cylinder with two shelves. */
|
|
37
|
+
export const StorageIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("ellipse", { cx: "12", cy: "6", rx: "7.5", ry: "3" }), _jsx("path", { d: "M4.5 6v12c0 1.66 3.36 3 7.5 3s7.5-1.34 7.5-3V6" }), _jsx("path", { d: "M4.5 12c0 1.66 3.36 3 7.5 3s7.5-1.34 7.5-3" })] }));
|
|
38
|
+
/** Scheduling: a calendar grid with its binding posts. */
|
|
39
|
+
export const SchedulingIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("rect", { x: "3", y: "5", width: "18", height: "16", rx: "2" }), _jsx("path", { d: "M3 10h18" }), _jsx("path", { d: "M8 3v4" }), _jsx("path", { d: "M16 3v4" }), _jsx("path", { d: "M7.6 14h.01" }), _jsx("path", { d: "M12 14h.01" }), _jsx("path", { d: "M16.4 14h.01" }), _jsx("path", { d: "M7.6 17.6h.01" }), _jsx("path", { d: "M12 17.6h.01" })] }));
|
|
40
|
+
/** Interactions: two overlapping speech bubbles — a conversation. */
|
|
41
|
+
export const InteractionsIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M4.5 3h7a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H8l-3 3v-3h-.5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z" }), _jsx("path", { d: "M12.5 9h7a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H19v3l-3-3h-3.5a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2z" })] }));
|
|
42
|
+
/** Notifications: a bell with its clapper. */
|
|
43
|
+
export const NotificationsIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M18 8.5a6 6 0 0 0-12 0c0 6-2.5 7.5-2.5 7.5h17S18 14.5 18 8.5z" }), _jsx("path", { d: "M13.7 19a2 2 0 0 1-3.4 0" })] }));
|
|
44
|
+
/** Marketplace: a shopping bag. */
|
|
45
|
+
export const MarketplaceIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M4.6 8h14.8l-1 12.1a1 1 0 0 1-1 .9H6.6a1 1 0 0 1-1-.9L4.6 8z" }), _jsx("path", { d: "M8.5 11V6.6a3.5 3.5 0 0 1 7 0V11" })] }));
|
|
46
|
+
/** Manifest: a document with a folded corner and its entries. */
|
|
47
|
+
export const ManifestIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M13.5 3H6.5A1.5 1.5 0 0 0 5 4.5v15A1.5 1.5 0 0 0 6.5 21h11a1.5 1.5 0 0 0 1.5-1.5V8.5z" }), _jsx("path", { d: "M13.5 3v5.5H19" }), _jsx("path", { d: "M8.5 12.5h7" }), _jsx("path", { d: "M8.5 16.5h7" }), _jsx("path", { d: "M8.5 8.5h2" })] }));
|
|
48
|
+
/** Settings: an eight-tooth cog around its bore. */
|
|
49
|
+
export const SettingsIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M9.5 5.9 10.3 3.2 13.7 3.2 14.5 5.9 17 4.5 19.5 7 18.1 9.5 20.8 10.3 20.8 13.7 18.1 14.5 19.5 17 17 19.5 14.5 18.1 13.7 20.8 10.3 20.8 9.5 18.1 7 19.5 4.5 17 5.9 14.5 3.2 13.7 3.2 10.3 5.9 9.5 4.5 7 7 4.5Z" }), _jsx("circle", { cx: "12", cy: "12", r: "3.2" })] }));
|
|
50
|
+
/** System: a processor die with its pins. */
|
|
51
|
+
export const SystemIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("rect", { x: "6.5", y: "6.5", width: "11", height: "11", rx: "1.6" }), _jsx("rect", { x: "9.8", y: "9.8", width: "4.4", height: "4.4", rx: "1" }), _jsx("path", { d: "M9.5 3v3.5" }), _jsx("path", { d: "M14.5 3v3.5" }), _jsx("path", { d: "M9.5 17.5V21" }), _jsx("path", { d: "M14.5 17.5V21" }), _jsx("path", { d: "M3 9.5h3.5" }), _jsx("path", { d: "M3 14.5h3.5" }), _jsx("path", { d: "M17.5 9.5H21" }), _jsx("path", { d: "M17.5 14.5H21" })] }));
|
|
52
|
+
// -- Chrome ------------------------------------------------------------------
|
|
53
|
+
/** A magnifier. */
|
|
54
|
+
export const SearchIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("circle", { cx: "10.5", cy: "10.5", r: "6.5" }), _jsx("path", { d: "M15.3 15.3 20.5 20.5" })] }));
|
|
55
|
+
/** Sign out: a door with an outbound arrow. */
|
|
56
|
+
export const SignOutIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M9.5 20.5H5.5A1.5 1.5 0 0 1 4 19V5a1.5 1.5 0 0 1 1.5-1.5h4" }), _jsx("path", { d: "M15.5 16.5 20 12l-4.5-4.5" }), _jsx("path", { d: "M20 12H9.5" })] }));
|
|
57
|
+
/** The three-bar menu / drawer toggle. */
|
|
58
|
+
export const MenuIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M3.5 6.5h17" }), _jsx("path", { d: "M3.5 12h17" }), _jsx("path", { d: "M3.5 17.5h17" })] }));
|
|
59
|
+
/** Dismiss. */
|
|
60
|
+
export const CloseIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M5.5 5.5 18.5 18.5" }), _jsx("path", { d: "M18.5 5.5 5.5 18.5" })] }));
|
|
61
|
+
/** A funnel. */
|
|
62
|
+
export const FilterIcon = (props) => (_jsx(Icon, { ...props, children: _jsx("path", { d: "M3.5 5h17l-6.6 7.8V19l-3.8 2v-8.2z" }) }));
|
|
63
|
+
/** Back / previous. */
|
|
64
|
+
export const ArrowLeftIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M20 12H4.5" }), _jsx("path", { d: "M11 5 4 12l7 7" })] }));
|
|
65
|
+
/** Move the item one place earlier in an ordered list. */
|
|
66
|
+
export const ArrowUpIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M12 20V4.5" }), _jsx("path", { d: "M5 11 12 4l7 7" })] }));
|
|
67
|
+
/** Move the item one place later in an ordered list. */
|
|
68
|
+
export const ArrowDownIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M12 4v15.5" }), _jsx("path", { d: "M5 13 12 20l7-7" })] }));
|
|
69
|
+
/** Expand / collapse affordance. */
|
|
70
|
+
export const ChevronDownIcon = (props) => (_jsx(Icon, { ...props, children: _jsx("path", { d: "M5.5 9 12 15.5 18.5 9" }) }));
|
|
71
|
+
/** Disclosure / breadcrumb separator. */
|
|
72
|
+
export const ChevronRightIcon = (props) => (_jsx(Icon, { ...props, children: _jsx("path", { d: "M9 5.5 15.5 12 9 18.5" }) }));
|
|
73
|
+
/** A bare tick, for selection and confirmation. */
|
|
74
|
+
export const CheckIcon = (props) => (_jsx(Icon, { ...props, children: _jsx("path", { d: "M4.5 12.5 9.5 17.5 19.5 6.5" }) }));
|
|
75
|
+
/** A bare dash, for a partial selection — the tick's mixed-state counterpart. */
|
|
76
|
+
export const MinusIcon = (props) => (_jsx(Icon, { ...props, children: _jsx("path", { d: "M5.5 12h13" }) }));
|
|
77
|
+
/** Copy to clipboard: a sheet duplicated behind another. */
|
|
78
|
+
export const CopyIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("rect", { x: "8.5", y: "8.5", width: "12", height: "12", rx: "2" }), _jsx("path", { d: "M15.5 5.5V5A1.5 1.5 0 0 0 14 3.5H5A1.5 1.5 0 0 0 3.5 5v9A1.5 1.5 0 0 0 5 15.5h.5" })] }));
|
|
79
|
+
/** Opens in a new tab / leaves the app. */
|
|
80
|
+
export const ExternalLinkIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M13.5 4.5h6v6" }), _jsx("path", { d: "M19.5 4.5 11 13" }), _jsx("path", { d: "M18 14v4.5A1.5 1.5 0 0 1 16.5 20h-11A1.5 1.5 0 0 1 4 18.5v-11A1.5 1.5 0 0 1 5.5 6H10" })] }));
|
|
81
|
+
/** Ascending sort: an up arrow beside narrow-to-wide rows. */
|
|
82
|
+
export const SortAscIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M6.5 20V5" }), _jsx("path", { d: "M3.5 8.5 6.5 5l3 3.5" }), _jsx("path", { d: "M12.5 7h3" }), _jsx("path", { d: "M12.5 12h5.5" }), _jsx("path", { d: "M12.5 17h8" })] }));
|
|
83
|
+
/** Descending sort: a down arrow beside wide-to-narrow rows. */
|
|
84
|
+
export const SortDescIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M6.5 4v15" }), _jsx("path", { d: "M3.5 15.5 6.5 19l3-3.5" }), _jsx("path", { d: "M12.5 7h8" }), _jsx("path", { d: "M12.5 12h5.5" }), _jsx("path", { d: "M12.5 17h3" })] }));
|
|
85
|
+
// -- Theme trio (one mark per option of the light / dark / system control) ----
|
|
86
|
+
/** Light theme. */
|
|
87
|
+
export const SunIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "4.2" }), _jsx("path", { d: "M12 2.6v2.4" }), _jsx("path", { d: "M12 19v2.4" }), _jsx("path", { d: "M2.6 12H5" }), _jsx("path", { d: "M19 12h2.4" }), _jsx("path", { d: "M5.3 5.3 7 7" }), _jsx("path", { d: "M17 17 18.7 18.7" }), _jsx("path", { d: "M18.7 5.3 17 7" }), _jsx("path", { d: "M7 17 5.3 18.7" })] }));
|
|
88
|
+
/** Dark theme. */
|
|
89
|
+
export const MoonIcon = (props) => (_jsx(Icon, { ...props, children: _jsx("path", { d: "M20.5 14.3A9 9 0 0 1 9.7 3.5a9 9 0 1 0 10.8 10.8z" }) }));
|
|
90
|
+
/** Follow the operating system. */
|
|
91
|
+
export const MonitorIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("rect", { x: "3", y: "4", width: "18", height: "12.5", rx: "2" }), _jsx("path", { d: "M8 21h8" }), _jsx("path", { d: "M12 16.5V21" })] }));
|
|
92
|
+
/** Reveal a masked value. */
|
|
93
|
+
export const EyeIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M2 12s3.8-7 10-7 10 7 10 7-3.8 7-10 7-10-7-10-7z" }), _jsx("circle", { cx: "12", cy: "12", r: "3.2" })] }));
|
|
94
|
+
/** Mask a revealed value. */
|
|
95
|
+
export const EyeOffIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M17.9 17.9A9.9 9.9 0 0 1 12 19.8c-6.2 0-10-7-10-7a18.3 18.3 0 0 1 4.6-5.4" }), _jsx("path", { d: "M9.9 4.4A9.1 9.1 0 0 1 12 4.2c6.2 0 10 7 10 7a18.4 18.4 0 0 1-2.1 3.1" }), _jsx("path", { d: "M14.1 14.1a3.2 3.2 0 1 1-4.4-4.4" }), _jsx("path", { d: "M2.6 2.6 21.4 21.4" })] }));
|
|
96
|
+
// -- Status marks ------------------------------------------------------------
|
|
97
|
+
/** Success. */
|
|
98
|
+
export const CheckCircleIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "9" }), _jsx("path", { d: "M8 12.3 10.9 15.2 16 9.5" })] }));
|
|
99
|
+
/** Warning. */
|
|
100
|
+
export const AlertTriangleIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("path", { d: "M10.6 3.9 2.7 17.9a1.6 1.6 0 0 0 1.4 2.4h15.8a1.6 1.6 0 0 0 1.4-2.4L13.4 3.9a1.6 1.6 0 0 0-2.8 0z" }), _jsx("path", { d: "M12 9.6v4" }), _jsx("path", { d: "M12 16.9h.01" })] }));
|
|
101
|
+
/** Failure. */
|
|
102
|
+
export const XCircleIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "9" }), _jsx("path", { d: "M15 9 9 15" }), _jsx("path", { d: "M9 9 15 15" })] }));
|
|
103
|
+
/**
|
|
104
|
+
* Pending / running / queued — a clock hand inside a dashed ring.
|
|
105
|
+
*
|
|
106
|
+
* The dash period has to TILE the circumference or the ring closes on a seam.
|
|
107
|
+
* At r = 9 the circumference is 2π·9 = 56.5487. A 3.2/3.2 array (period 6.4)
|
|
108
|
+
* fits 8.84 times, so the ring shut with a 2.15 gap instead of 3.2 — and with
|
|
109
|
+
* the inherited round linecap eating 1.6 at each end that seam rendered ~0.37 px
|
|
110
|
+
* wide at 16 px, reading as joined while every other gap read as a gap. Eight
|
|
111
|
+
* whole periods divide it exactly: 56.5487 / 8 = 7.0686, halved for the dash and
|
|
112
|
+
* the gap = 3.5343 each, giving 16 even segments and no seam.
|
|
113
|
+
*/
|
|
114
|
+
export const PendingIcon = (props) => (_jsxs(Icon, { ...props, children: [_jsx("circle", { cx: "12", cy: "12", r: "9", strokeDasharray: "3.5343 3.5343" }), _jsx("path", { d: "M12 7.5V12l3 2" })] }));
|
|
115
|
+
// -- Route mapping -----------------------------------------------------------
|
|
116
|
+
/**
|
|
117
|
+
* The canonical mark for every navigable route token. `login` is excluded: it is
|
|
118
|
+
* not a destination the navigation surfaces list. Keyed by the token type, so
|
|
119
|
+
* adding a route to {@link RouteToken} fails the build here until it gets a mark.
|
|
120
|
+
*/
|
|
121
|
+
export const NAV_ICONS = {
|
|
122
|
+
observability: DashboardIcon,
|
|
123
|
+
tools: ToolsIcon,
|
|
124
|
+
agents: AgentsIcon,
|
|
125
|
+
presets: PresetsIcon,
|
|
126
|
+
extensions: ExtensionsIcon,
|
|
127
|
+
templates: TemplatesIcon,
|
|
128
|
+
connectors: ConnectorsIcon,
|
|
129
|
+
hooks: HooksIcon,
|
|
130
|
+
storage: StorageIcon,
|
|
131
|
+
scheduling: SchedulingIcon,
|
|
132
|
+
interactions: InteractionsIcon,
|
|
133
|
+
notifications: NotificationsIcon,
|
|
134
|
+
marketplace: MarketplaceIcon,
|
|
135
|
+
manifest: ManifestIcon,
|
|
136
|
+
settings: SettingsIcon,
|
|
137
|
+
system: SystemIcon,
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/components/icons.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text-like form controls: `TextInput`, `Textarea`, `NumberInput`. Each is a
|
|
3
|
+
* thin wrapper over the native element wearing the shared control class, and
|
|
4
|
+
* each auto-wires to an enclosing `Field` (id + `aria-describedby` +
|
|
5
|
+
* `aria-invalid`) via `useFieldControl`.
|
|
6
|
+
*
|
|
7
|
+
* The wiring is composed with the caller's own attributes rather than spread
|
|
8
|
+
* before them, because a plain spread let one caller prop silently delete part of
|
|
9
|
+
* it — see {@link wireToField}.
|
|
10
|
+
*
|
|
11
|
+
* A consumer `ref` is FORWARDED to the native control by that same spread, so a
|
|
12
|
+
* caller that has to focus or measure its own input is not pushed out of the
|
|
13
|
+
* design system to get at the element.
|
|
14
|
+
*
|
|
15
|
+
* WHERE A CALLER'S `aria-label` GOES, stated once for the whole SDK because the
|
|
16
|
+
* two families answer differently and only one of them said so:
|
|
17
|
+
*
|
|
18
|
+
* - NATIVE-ATTRIBUTE PASS-THROUGH — `TextInput`, `Textarea`, `NumberInput`,
|
|
19
|
+
* `RevealInput`, `TagsInput`. Their props ARE the native element's attributes,
|
|
20
|
+
* so a caller's `aria-label` reaches the element and WINS over the `Field`'s
|
|
21
|
+
* `<label for>`, exactly as it does in plain HTML. Nothing intercepts it,
|
|
22
|
+
* because an explicit prop is a decision (see {@link wireToField}) — a `Field`
|
|
23
|
+
* that hosts two controls needs the second one nameable.
|
|
24
|
+
* - NAMED PROP WITH A DOCUMENTED FALLBACK — `Select` and `Checkbox`. Their
|
|
25
|
+
* `aria-label` is a prop the component reads, and they DROP it when a `Field`
|
|
26
|
+
* or an inline `label` already names the control from visible text. Their own
|
|
27
|
+
* docblocks state that, and it is the behaviour their call sites depend on.
|
|
28
|
+
*
|
|
29
|
+
* The rule that binds BOTH families, and the reason the pass-through one is not a
|
|
30
|
+
* hole: whatever name reaches the control must CONTAIN the `Field`'s visible
|
|
31
|
+
* label (WCAG 2.5.3, Label in Name) — "Fixed kwargs" wrapping a control named
|
|
32
|
+
* "Fixed kwargs JSON" is fine, a control named "Add a tag" under a label reading
|
|
33
|
+
* "Tags" is not, because a voice-control user can only say what they can see.
|
|
34
|
+
* `components/field-group.test.ts` asserts that containment across every call
|
|
35
|
+
* site in the repository. It is deliberately NOT a "the Field always wins" rule:
|
|
36
|
+
* that would delete the per-row disambiguation `ScopesMapper.tsx` gives each of
|
|
37
|
+
* its route inputs, where several identical fields sit in one form and only the
|
|
38
|
+
* caller knows which scope a row belongs to.
|
|
39
|
+
*/
|
|
40
|
+
import type { InputHTMLAttributes, Ref, TextareaHTMLAttributes } from 'react';
|
|
41
|
+
/** A consumer ref for the native control; the prop spread forwards it. */
|
|
42
|
+
interface ControlRefProps<T> {
|
|
43
|
+
readonly ref?: Ref<T>;
|
|
44
|
+
}
|
|
45
|
+
export type TextInputProps = InputHTMLAttributes<HTMLInputElement> & ControlRefProps<HTMLInputElement>;
|
|
46
|
+
export declare function TextInput({ className, type, ...props }: TextInputProps): import("react").JSX.Element;
|
|
47
|
+
export type TextareaProps = TextareaHTMLAttributes<HTMLTextAreaElement> & ControlRefProps<HTMLTextAreaElement>;
|
|
48
|
+
export declare function Textarea({ className, rows, ...props }: TextareaProps): import("react").JSX.Element;
|
|
49
|
+
export type NumberInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> & ControlRefProps<HTMLInputElement>;
|
|
50
|
+
export declare function NumberInput({ className, ...props }: NumberInputProps): import("react").JSX.Element;
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=inputs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/components/inputs.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,EAAkB,mBAAmB,EAAE,GAAG,EAAE,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAqC9F,0EAA0E;AAC1E,UAAU,eAAe,CAAC,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,GAChE,eAAe,CAAC,gBAAgB,CAAC,CAAC;AAEpC,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,IAAa,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAU/E;AAED,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAAC,mBAAmB,CAAC,GACrE,eAAe,CAAC,mBAAmB,CAAC,CAAC;AAEvC,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAUxE;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,GAChF,eAAe,CAAC,gBAAgB,CAAC,CAAC;AAEpC,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAUpE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { controlClassName, INPUT_CLASS, TEXTAREA_CLASS } from './control-styles';
|
|
3
|
+
import { useFieldControl } from './field';
|
|
4
|
+
/**
|
|
5
|
+
* The enclosing `Field`'s wiring composed with the caller's own attributes, to be
|
|
6
|
+
* written after the caller's prop spread.
|
|
7
|
+
*
|
|
8
|
+
* `id` and `aria-invalid` are the caller's where the caller states them — an
|
|
9
|
+
* explicit prop is a decision, and a Field that hosts more than one control has
|
|
10
|
+
* to be able to give the second one an id of its own. `aria-describedby` is
|
|
11
|
+
* different: it is a LIST, both sides own entries in it legitimately, and the
|
|
12
|
+
* plain spread order made a caller's hint silently delete the field's description
|
|
13
|
+
* and error IDREFs. So the two lists are CONCATENATED, caller's first.
|
|
14
|
+
*/
|
|
15
|
+
function wireToField(field, own) {
|
|
16
|
+
const describedBy = [own['aria-describedby'], field['aria-describedby']].filter((id) => id !== undefined);
|
|
17
|
+
return {
|
|
18
|
+
id: own.id ?? field.id,
|
|
19
|
+
'aria-describedby': describedBy.length > 0 ? describedBy.join(' ') : undefined,
|
|
20
|
+
'aria-invalid': own['aria-invalid'] ?? field['aria-invalid'],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function TextInput({ className, type = 'text', ...props }) {
|
|
24
|
+
const field = useFieldControl();
|
|
25
|
+
return (_jsx("input", { ...props, ...wireToField(field, props), type: type, className: controlClassName(INPUT_CLASS, className) }));
|
|
26
|
+
}
|
|
27
|
+
export function Textarea({ className, rows = 4, ...props }) {
|
|
28
|
+
const field = useFieldControl();
|
|
29
|
+
return (_jsx("textarea", { ...props, ...wireToField(field, props), rows: rows, className: controlClassName(TEXTAREA_CLASS, className) }));
|
|
30
|
+
}
|
|
31
|
+
export function NumberInput({ className, ...props }) {
|
|
32
|
+
const field = useFieldControl();
|
|
33
|
+
return (_jsx("input", { ...props, ...wireToField(field, props), type: "number", className: controlClassName(INPUT_CLASS, className) }));
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=inputs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/components/inputs.tsx"],"names":[],"mappings":";AAyCA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,eAAe,EAA0B,MAAM,SAAS,CAAC;AASlE;;;;;;;;;;GAUG;AACH,SAAS,WAAW,CAClB,KAAwB,EACxB,GAA8C;IAE9C,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAC7E,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,KAAK,SAAS,CACvC,CAAC;IACF,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE;QACtB,kBAAkB,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9E,cAAc,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC;KAC7D,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,EAAkB;IAC9E,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,OAAO,CACL,mBACM,KAAK,KACL,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAC7B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,GACnD,CACH,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,KAAK,EAAiB;IACvE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,OAAO,CACL,sBACM,KAAK,KACL,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAC7B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,GACtD,CACH,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAoB;IACnE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,OAAO,CACL,mBACM,KAAK,KACL,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAC7B,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,GACnD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `JsonDiff` — a GENERIC, kind-agnostic structural diff of two JSON values,
|
|
3
|
+
* hand-rolled (no diff library). It recursively walks OBJECT keys and emits one row
|
|
4
|
+
* per leaf difference: a key present only on one side is `added`/`removed`, a key
|
|
5
|
+
* whose value differs is `changed`.
|
|
6
|
+
*
|
|
7
|
+
* ARRAYS ARE LEAVES: an unequal array (by deep compare) emits exactly ONE `changed`
|
|
8
|
+
* row at the array's path carrying both whole array values — there are no per-index
|
|
9
|
+
* rows and no LCS alignment. A container object whose descendants differ emits rows
|
|
10
|
+
* only for the differing leaves, never for the container itself.
|
|
11
|
+
*
|
|
12
|
+
* Rendered as a table: the dotted `path` (e.g. `fixed_kwargs.city`) as code, the
|
|
13
|
+
* kind as a Badge (removed → danger, added → success, changed → neutral), and the
|
|
14
|
+
* before/after values as a `JsonTree` for objects/arrays or escaped text for
|
|
15
|
+
* scalars. Every value renders as React TEXT, so payload markup is escaped and this
|
|
16
|
+
* is never an HTML sink.
|
|
17
|
+
*
|
|
18
|
+
* Each row also carries its `tai-diff-*` tint, but the tint only REINFORCES the
|
|
19
|
+
* kind — the Badge spells the kind out in words, so a row is never identified by
|
|
20
|
+
* color alone.
|
|
21
|
+
*/
|
|
22
|
+
import { type ReactNode } from 'react';
|
|
23
|
+
/** One leaf difference between the two JSON values. */
|
|
24
|
+
export interface JsonDiffRow {
|
|
25
|
+
/** The dotted path to the differing key, e.g. `fixed_kwargs.city` (`''` = root). */
|
|
26
|
+
readonly path: string;
|
|
27
|
+
readonly kind: 'added' | 'removed' | 'changed';
|
|
28
|
+
/** The value on the LEFT side — set for `removed` and `changed` rows. */
|
|
29
|
+
readonly before?: unknown;
|
|
30
|
+
/** The value on the RIGHT side — set for `added` and `changed` rows. */
|
|
31
|
+
readonly after?: unknown;
|
|
32
|
+
}
|
|
33
|
+
/** The pure structural diff — every leaf difference between `before` and `after`. */
|
|
34
|
+
export declare function diffJson(before: unknown, after: unknown): JsonDiffRow[];
|
|
35
|
+
export interface JsonDiffProps {
|
|
36
|
+
readonly before: unknown;
|
|
37
|
+
readonly after: unknown;
|
|
38
|
+
}
|
|
39
|
+
export declare function JsonDiff({ before, after }: JsonDiffProps): ReactNode;
|
|
40
|
+
//# sourceMappingURL=json-diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-diff.d.ts","sourceRoot":"","sources":["../../src/components/json-diff.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/C,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAuDD,qFAAqF;AACrF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE,CAIvE;AAyCD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,aAAa,GAAG,SAAS,CAiDpE"}
|