@tai42/studio-sdk 16.0.0 → 17.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/dist/components/code-block.js +1 -1
- package/dist/components/code-block.js.map +1 -1
- package/dist/components/confirm-dialog.js +1 -1
- package/dist/components/confirm-dialog.js.map +1 -1
- package/dist/components/copy-field.js +1 -1
- package/dist/components/copy-field.js.map +1 -1
- package/dist/components/date-range-picker.d.ts.map +1 -1
- package/dist/components/date-range-picker.js.map +1 -1
- package/dist/components/dialog.d.ts.map +1 -1
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/dirty-guard.d.ts.map +1 -1
- package/dist/components/dirty-guard.js +1 -1
- package/dist/components/dirty-guard.js.map +1 -1
- package/dist/components/explorer-body.d.ts +49 -0
- package/dist/components/explorer-body.d.ts.map +1 -0
- package/dist/components/explorer-body.js +67 -0
- package/dist/components/explorer-body.js.map +1 -0
- package/dist/components/explorer-page-size.d.ts +4 -0
- package/dist/components/explorer-page-size.d.ts.map +1 -0
- package/dist/components/explorer-page-size.js +36 -0
- package/dist/components/explorer-page-size.js.map +1 -0
- package/dist/components/explorer-tag-filter.d.ts +17 -0
- package/dist/components/explorer-tag-filter.d.ts.map +1 -0
- package/dist/components/explorer-tag-filter.js +29 -0
- package/dist/components/explorer-tag-filter.js.map +1 -0
- package/dist/components/explorer-tags.d.ts +22 -0
- package/dist/components/explorer-tags.d.ts.map +1 -0
- package/dist/components/explorer-tags.js +51 -0
- package/dist/components/explorer-tags.js.map +1 -0
- package/dist/components/explorer-view.d.ts +3 -17
- package/dist/components/explorer-view.d.ts.map +1 -1
- package/dist/components/explorer-view.js +53 -170
- package/dist/components/explorer-view.js.map +1 -1
- package/dist/components/extension-combo-builder.d.ts +1 -6
- package/dist/components/extension-combo-builder.d.ts.map +1 -1
- package/dist/components/extension-combo-builder.js +4 -79
- package/dist/components/extension-combo-builder.js.map +1 -1
- package/dist/components/extension-combo-parts.d.ts +44 -0
- package/dist/components/extension-combo-parts.d.ts.map +1 -0
- package/dist/components/extension-combo-parts.js +52 -0
- package/dist/components/extension-combo-parts.js.map +1 -0
- package/dist/components/field.d.ts +8 -0
- package/dist/components/field.d.ts.map +1 -1
- package/dist/components/field.js +0 -8
- package/dist/components/field.js.map +1 -1
- package/dist/components/fleet-report.d.ts +1 -1
- package/dist/components/fleet-report.d.ts.map +1 -1
- package/dist/components/fleet-report.js +51 -37
- package/dist/components/fleet-report.js.map +1 -1
- package/dist/components/folder-nav.d.ts.map +1 -1
- package/dist/components/folder-nav.js +1 -1
- package/dist/components/folder-nav.js.map +1 -1
- package/dist/components/form-dialog.d.ts.map +1 -1
- package/dist/components/form-dialog.js +1 -1
- package/dist/components/form-dialog.js.map +1 -1
- package/dist/components/icons/chrome-marks.d.ts +50 -0
- package/dist/components/icons/chrome-marks.d.ts.map +1 -0
- package/dist/components/icons/chrome-marks.js +51 -0
- package/dist/components/icons/chrome-marks.js.map +1 -0
- package/dist/components/icons/icon-frame.d.ts +29 -0
- package/dist/components/icons/icon-frame.d.ts.map +1 -0
- package/dist/components/icons/icon-frame.js +19 -0
- package/dist/components/icons/icon-frame.js.map +1 -0
- package/dist/components/icons/index.d.ts +40 -0
- package/dist/components/icons/index.d.ts.map +1 -0
- package/dist/components/icons/index.js +39 -0
- package/dist/components/icons/index.js.map +1 -0
- package/dist/components/icons/nav-map.d.ts +14 -0
- package/dist/components/icons/nav-map.d.ts.map +1 -0
- package/dist/components/icons/nav-map.js +28 -0
- package/dist/components/icons/nav-map.js.map +1 -0
- package/dist/components/icons/nav-marks.d.ts +44 -0
- package/dist/components/icons/nav-marks.d.ts.map +1 -0
- package/dist/components/icons/nav-marks.js +45 -0
- package/dist/components/icons/nav-marks.js.map +1 -0
- package/dist/components/icons/status-marks.d.ts +21 -0
- package/dist/components/icons/status-marks.d.ts.map +1 -0
- package/dist/components/icons/status-marks.js +22 -0
- package/dist/components/icons/status-marks.js.map +1 -0
- package/dist/components/icons/theme-marks.d.ts +9 -0
- package/dist/components/icons/theme-marks.d.ts.map +1 -0
- package/dist/components/icons/theme-marks.js +10 -0
- package/dist/components/icons/theme-marks.js.map +1 -0
- package/dist/components/inputs.js.map +1 -1
- package/dist/components/json-diff.d.ts.map +1 -1
- package/dist/components/json-diff.js +1 -3
- package/dist/components/json-diff.js.map +1 -1
- package/dist/components/json-tree-context.d.ts +13 -0
- package/dist/components/json-tree-context.d.ts.map +1 -0
- package/dist/components/json-tree-context.js +15 -0
- package/dist/components/json-tree-context.js.map +1 -0
- package/dist/components/json-tree-model.d.ts +56 -0
- package/dist/components/json-tree-model.d.ts.map +1 -0
- package/dist/components/json-tree-model.js +125 -0
- package/dist/components/json-tree-model.js.map +1 -0
- package/dist/components/json-tree-nodes.d.ts +35 -0
- package/dist/components/json-tree-nodes.d.ts.map +1 -0
- package/dist/components/json-tree-nodes.js +113 -0
- package/dist/components/json-tree-nodes.js.map +1 -0
- package/dist/components/json-tree.d.ts +20 -0
- package/dist/components/json-tree.d.ts.map +1 -1
- package/dist/components/json-tree.js +7 -315
- package/dist/components/json-tree.js.map +1 -1
- package/dist/components/json-value-format.d.ts +20 -0
- package/dist/components/json-value-format.d.ts.map +1 -0
- package/dist/components/json-value-format.js +63 -0
- package/dist/components/json-value-format.js.map +1 -0
- package/dist/components/markdown-blocks.d.ts +38 -0
- package/dist/components/markdown-blocks.d.ts.map +1 -0
- package/dist/components/markdown-blocks.js +168 -0
- package/dist/components/markdown-blocks.js.map +1 -0
- package/dist/components/markdown-inline.d.ts +24 -0
- package/dist/components/markdown-inline.d.ts.map +1 -0
- package/dist/components/markdown-inline.js +257 -0
- package/dist/components/markdown-inline.js.map +1 -0
- package/dist/components/markdown.d.ts +3 -52
- package/dist/components/markdown.d.ts.map +1 -1
- package/dist/components/markdown.js +4 -376
- package/dist/components/markdown.js.map +1 -1
- package/dist/components/observer-registry.d.ts +38 -0
- package/dist/components/observer-registry.d.ts.map +1 -0
- package/dist/components/observer-registry.js +131 -0
- package/dist/components/observer-registry.js.map +1 -0
- package/dist/components/overflow-measure.d.ts +38 -0
- package/dist/components/overflow-measure.d.ts.map +1 -0
- package/dist/components/overflow-measure.js +54 -0
- package/dist/components/overflow-measure.js.map +1 -0
- package/dist/components/page-fill.d.ts.map +1 -1
- package/dist/components/page-fill.js.map +1 -1
- package/dist/components/prose-regions.d.ts +81 -0
- package/dist/components/prose-regions.d.ts.map +1 -0
- package/dist/components/prose-regions.js +128 -0
- package/dist/components/prose-regions.js.map +1 -0
- package/dist/components/radio-group.d.ts.map +1 -1
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/scroll-region.d.ts +24 -0
- package/dist/components/scroll-region.d.ts.map +1 -1
- package/dist/components/scroll-region.js +3 -322
- package/dist/components/scroll-region.js.map +1 -1
- package/dist/components/tab-stop-parse.d.ts +53 -0
- package/dist/components/tab-stop-parse.d.ts.map +1 -0
- package/dist/components/tab-stop-parse.js +202 -0
- package/dist/components/tab-stop-parse.js.map +1 -0
- package/dist/components/table.d.ts +1 -1
- package/dist/components/table.d.ts.map +1 -1
- package/dist/components/tags.d.ts.map +1 -1
- package/dist/components/tags.js +1 -1
- package/dist/components/tags.js.map +1 -1
- package/dist/components/templated-text-field.d.ts +1 -1
- package/dist/components/templated-text-field.d.ts.map +1 -1
- package/dist/components/templated-text-field.js +10 -174
- package/dist/components/templated-text-field.js.map +1 -1
- package/dist/components/templated-text-kwargs-editor.d.ts +24 -0
- package/dist/components/templated-text-kwargs-editor.d.ts.map +1 -0
- package/dist/components/templated-text-kwargs-editor.js +48 -0
- package/dist/components/templated-text-kwargs-editor.js.map +1 -0
- package/dist/components/templated-text-kwargs.d.ts +37 -0
- package/dist/components/templated-text-kwargs.d.ts.map +1 -0
- package/dist/components/templated-text-kwargs.js +66 -0
- package/dist/components/templated-text-kwargs.js.map +1 -0
- package/dist/components/templated-text-source.d.ts +33 -0
- package/dist/components/templated-text-source.d.ts.map +1 -0
- package/dist/components/templated-text-source.js +53 -0
- package/dist/components/templated-text-source.js.map +1 -0
- package/dist/components/tool-picker-parts.d.ts +39 -0
- package/dist/components/tool-picker-parts.d.ts.map +1 -0
- package/dist/components/tool-picker-parts.js +87 -0
- package/dist/components/tool-picker-parts.js.map +1 -0
- package/dist/components/tool-picker.d.ts +1 -2
- package/dist/components/tool-picker.d.ts.map +1 -1
- package/dist/components/tool-picker.js +4 -66
- package/dist/components/tool-picker.js.map +1 -1
- package/dist/components/version-history-panel.d.ts.map +1 -1
- package/dist/components/version-history-panel.js +7 -34
- package/dist/components/version-history-panel.js.map +1 -1
- package/dist/components/version-history-rows.d.ts +48 -0
- package/dist/components/version-history-rows.d.ts.map +1 -0
- package/dist/components/version-history-rows.js +51 -0
- package/dist/components/version-history-rows.js.map +1 -0
- package/dist/components/view-toggle.d.ts.map +1 -1
- package/dist/components/view-toggle.js.map +1 -1
- package/dist/element-slot.d.ts +11 -0
- package/dist/element-slot.d.ts.map +1 -1
- package/dist/element-slot.js +0 -11
- package/dist/element-slot.js.map +1 -1
- package/dist/guards.d.ts +6 -0
- package/dist/guards.d.ts.map +1 -0
- package/dist/guards.js +8 -0
- package/dist/guards.js.map +1 -0
- package/dist/hooks/interactions-connection.d.ts +43 -0
- package/dist/hooks/interactions-connection.d.ts.map +1 -0
- package/dist/hooks/interactions-connection.js +171 -0
- package/dist/hooks/interactions-connection.js.map +1 -0
- package/dist/hooks/interactions-stream.d.ts +80 -0
- package/dist/hooks/interactions-stream.d.ts.map +1 -0
- package/dist/hooks/interactions-stream.js +233 -0
- package/dist/hooks/interactions-stream.js.map +1 -0
- package/dist/hooks/useApi.d.ts +2259 -2189
- package/dist/hooks/useApi.d.ts.map +1 -1
- package/dist/hooks/useApi.js +0 -11
- package/dist/hooks/useApi.js.map +1 -1
- package/dist/hooks/useAuth.d.ts +6 -0
- package/dist/hooks/useAuth.d.ts.map +1 -1
- package/dist/hooks/useAuth.js +0 -6
- package/dist/hooks/useAuth.js.map +1 -1
- package/dist/hooks/useCapabilities.d.ts +18 -2
- package/dist/hooks/useCapabilities.d.ts.map +1 -1
- package/dist/hooks/useCapabilities.js +1 -17
- package/dist/hooks/useCapabilities.js.map +1 -1
- package/dist/hooks/useSse.d.ts +34 -6
- package/dist/hooks/useSse.d.ts.map +1 -1
- package/dist/hooks/useSse.js +27 -471
- package/dist/hooks/useSse.js.map +1 -1
- package/dist/hooks/useSystemKinds.d.ts +1 -1
- package/dist/hooks/useSystemKinds.d.ts.map +1 -1
- package/dist/hooks/useSystemKinds.js +0 -18
- package/dist/hooks/useSystemKinds.js.map +1 -1
- package/dist/hooks/useTheme.d.ts +15 -0
- package/dist/hooks/useTheme.d.ts.map +1 -1
- package/dist/hooks/useTheme.js +0 -15
- package/dist/hooks/useTheme.js.map +1 -1
- package/dist/hooks/useToolDisplayNames.d.ts +0 -14
- package/dist/hooks/useToolDisplayNames.d.ts.map +1 -1
- package/dist/hooks/useToolDisplayNames.js +0 -14
- package/dist/hooks/useToolDisplayNames.js.map +1 -1
- package/dist/host.d.ts +3 -3
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +2 -9
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +103 -103
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -62
- package/dist/index.js.map +1 -1
- package/dist/navigation/app-link.d.ts +25 -0
- package/dist/navigation/app-link.d.ts.map +1 -0
- package/dist/navigation/app-link.js +33 -0
- package/dist/navigation/app-link.js.map +1 -0
- package/dist/navigation/context.d.ts +3 -20
- package/dist/navigation/context.d.ts.map +1 -1
- package/dist/navigation/context.js +7 -267
- package/dist/navigation/context.js.map +1 -1
- package/dist/navigation/entry-state.d.ts +23 -0
- package/dist/navigation/entry-state.d.ts.map +1 -0
- package/dist/navigation/entry-state.js +39 -0
- package/dist/navigation/entry-state.js.map +1 -0
- package/dist/navigation/guard-registry.d.ts +30 -0
- package/dist/navigation/guard-registry.d.ts.map +1 -0
- package/dist/navigation/guard-registry.js +46 -0
- package/dist/navigation/guard-registry.js.map +1 -0
- package/dist/navigation/guarded-navigation.d.ts +24 -0
- package/dist/navigation/guarded-navigation.d.ts.map +1 -0
- package/dist/navigation/guarded-navigation.js +102 -0
- package/dist/navigation/guarded-navigation.js.map +1 -0
- package/dist/navigation/index.d.ts +5 -4
- package/dist/navigation/index.d.ts.map +1 -1
- package/dist/navigation/index.js +2 -1
- package/dist/navigation/index.js.map +1 -1
- package/dist/navigation/types.d.ts +8 -11
- package/dist/navigation/types.d.ts.map +1 -1
- package/dist/navigation/use-back-forward-guard.d.ts +12 -0
- package/dist/navigation/use-back-forward-guard.d.ts.map +1 -0
- package/dist/navigation/use-back-forward-guard.js +75 -0
- package/dist/navigation/use-back-forward-guard.js.map +1 -0
- package/dist/navigation/use-search-commit.d.ts.map +1 -1
- package/dist/navigation/use-search-commit.js.map +1 -1
- package/dist/plugin/host-state.d.ts.map +1 -1
- package/dist/plugin/host-state.js.map +1 -1
- package/dist/plugin/registry.d.ts +6 -15
- package/dist/plugin/registry.d.ts.map +1 -1
- package/dist/plugin/registry.js +83 -75
- package/dist/plugin/registry.js.map +1 -1
- package/dist/schema-editor/SchemaEditor.d.ts.map +1 -1
- package/dist/schema-editor/SchemaEditor.js.map +1 -1
- package/dist/schema-editor/index.d.ts +3 -3
- package/dist/schema-editor/index.d.ts.map +1 -1
- package/dist/schema-editor/index.js +1 -6
- package/dist/schema-editor/index.js.map +1 -1
- package/dist/schema-form/SecretRefField.d.ts +18 -3
- package/dist/schema-form/SecretRefField.d.ts.map +1 -1
- package/dist/schema-form/SecretRefField.js +21 -26
- package/dist/schema-form/SecretRefField.js.map +1 -1
- package/dist/schema-form/classify.d.ts +1 -113
- package/dist/schema-form/classify.d.ts.map +1 -1
- package/dist/schema-form/classify.js +174 -246
- package/dist/schema-form/classify.js.map +1 -1
- package/dist/schema-form/context.d.ts +6 -0
- package/dist/schema-form/context.d.ts.map +1 -1
- package/dist/schema-form/context.js +0 -6
- package/dist/schema-form/context.js.map +1 -1
- package/dist/schema-form/default-value.d.ts.map +1 -1
- package/dist/schema-form/default-value.js +42 -19
- package/dist/schema-form/default-value.js.map +1 -1
- package/dist/schema-form/enum-field.d.ts +1 -1
- package/dist/schema-form/enum-field.d.ts.map +1 -1
- package/dist/schema-form/field-group.d.ts +6 -0
- package/dist/schema-form/field-group.d.ts.map +1 -1
- package/dist/schema-form/field-group.js +0 -6
- package/dist/schema-form/field-group.js.map +1 -1
- package/dist/schema-form/field-model.d.ts +121 -0
- package/dist/schema-form/field-model.d.ts.map +1 -0
- package/dist/schema-form/field-model.js +2 -0
- package/dist/schema-form/field-model.js.map +1 -0
- package/dist/schema-form/field-node.d.ts.map +1 -1
- package/dist/schema-form/field-node.js +25 -14
- package/dist/schema-form/field-node.js.map +1 -1
- package/dist/schema-form/index.d.ts +8 -8
- package/dist/schema-form/index.d.ts.map +1 -1
- package/dist/schema-form/index.js +3 -34
- package/dist/schema-form/index.js.map +1 -1
- package/dist/schema-form/json-field.d.ts +19 -0
- package/dist/schema-form/json-field.d.ts.map +1 -1
- package/dist/schema-form/json-field.js +0 -19
- package/dist/schema-form/json-field.js.map +1 -1
- package/dist/schema-form/media-field.d.ts +1 -1
- package/dist/schema-form/media-field.d.ts.map +1 -1
- package/dist/schema-form/media-field.js +49 -30
- package/dist/schema-form/media-field.js.map +1 -1
- package/dist/schema-form/record-field.d.ts +12 -0
- package/dist/schema-form/record-field.d.ts.map +1 -1
- package/dist/schema-form/record-field.js +1 -13
- package/dist/schema-form/record-field.js.map +1 -1
- package/dist/schema-form/string-annotations.d.ts +20 -0
- package/dist/schema-form/string-annotations.d.ts.map +1 -0
- package/dist/schema-form/string-annotations.js +105 -0
- package/dist/schema-form/string-annotations.js.map +1 -0
- package/dist/schema-form/string-field.d.ts +1 -1
- package/dist/schema-form/string-field.d.ts.map +1 -1
- package/dist/schema-form/string-field.js +1 -1
- package/dist/schema-form/string-field.js.map +1 -1
- package/dist/schema-form/union-field.d.ts +1 -1
- package/dist/schema-form/union-field.d.ts.map +1 -1
- package/dist/schema-form/union-field.js.map +1 -1
- package/dist/schema-form/union.d.ts +8 -1
- package/dist/schema-form/union.d.ts.map +1 -1
- package/dist/schema-form/union.js +0 -7
- package/dist/schema-form/union.js.map +1 -1
- package/dist/schema-form/validate.d.ts.map +1 -1
- package/dist/schema-form/validate.js +126 -105
- package/dist/schema-form/validate.js.map +1 -1
- package/dist/state-binding/AdapterMapping.d.ts.map +1 -1
- package/dist/state-binding/AdapterMapping.js +0 -0
- package/dist/state-binding/AdapterMapping.js.map +1 -1
- package/dist/state-binding/BindingJqField.d.ts.map +1 -1
- package/dist/state-binding/BindingJqField.js +2 -2
- package/dist/state-binding/BindingJqField.js.map +1 -1
- package/dist/state-binding/InputInjectionRow.d.ts.map +1 -1
- package/dist/state-binding/InputInjectionRow.js +3 -3
- package/dist/state-binding/InputInjectionRow.js.map +1 -1
- package/dist/state-binding/StateAttachRow.d.ts.map +1 -1
- package/dist/state-binding/StateAttachRow.js +57 -41
- package/dist/state-binding/StateAttachRow.js.map +1 -1
- package/dist/state-binding/StateBindingSection.d.ts.map +1 -1
- package/dist/state-binding/StateBindingSection.js.map +1 -1
- package/dist/state-binding/SubjectScopeFields.d.ts.map +1 -1
- package/dist/state-binding/SubjectScopeFields.js.map +1 -1
- package/dist/state-binding/UpdateRow.d.ts.map +1 -1
- package/dist/state-binding/UpdateRow.js +2 -2
- package/dist/state-binding/UpdateRow.js.map +1 -1
- package/dist/state-binding/adapter-mapping-row.d.ts +17 -0
- package/dist/state-binding/adapter-mapping-row.d.ts.map +1 -0
- package/dist/state-binding/adapter-mapping-row.js +87 -0
- package/dist/state-binding/adapter-mapping-row.js.map +1 -0
- package/dist/state-binding/index.d.ts +21 -21
- package/dist/state-binding/index.d.ts.map +1 -1
- package/dist/state-binding/index.js +9 -15
- package/dist/state-binding/index.js.map +1 -1
- package/dist/state-binding/templated-text-catalog.d.ts.map +1 -1
- package/dist/state-binding/templated-text-catalog.js.map +1 -1
- package/dist/state-binding/types.d.ts +2 -2
- package/dist/state-binding/types.d.ts.map +1 -1
- package/dist/structured-output/StructuredOutput.d.ts.map +1 -1
- package/dist/structured-output/StructuredOutput.js +1 -3
- package/dist/structured-output/StructuredOutput.js.map +1 -1
- package/package.json +2 -2
- package/src/components/code-block.tsx +1 -1
- package/src/components/confirm-dialog.tsx +1 -1
- package/src/components/copy-field.tsx +1 -1
- package/src/components/date-range-picker.tsx +1 -1
- package/src/components/dialog.tsx +1 -1
- package/src/components/dirty-guard.tsx +3 -3
- package/src/components/explorer-body.tsx +239 -0
- package/src/components/explorer-page-size.ts +39 -0
- package/src/components/explorer-tag-filter.tsx +80 -0
- package/src/components/explorer-tags.ts +64 -0
- package/src/components/explorer-view.tsx +115 -367
- package/src/components/extension-combo-builder.tsx +35 -153
- package/src/components/extension-combo-parts.tsx +236 -0
- package/src/components/field.tsx +1 -1
- package/src/components/fleet-report.tsx +98 -55
- package/src/components/folder-nav.tsx +2 -2
- package/src/components/form-dialog.tsx +2 -2
- package/src/components/icons/chrome-marks.tsx +195 -0
- package/src/components/icons/icon-frame.tsx +50 -0
- package/src/components/icons/index.ts +84 -0
- package/src/components/icons/nav-map.ts +55 -0
- package/src/components/icons/nav-marks.tsx +205 -0
- package/src/components/icons/status-marks.tsx +46 -0
- package/src/components/icons/theme-marks.tsx +33 -0
- package/src/components/inputs.tsx +1 -1
- package/src/components/json-diff.tsx +1 -4
- package/src/components/json-tree-context.ts +26 -0
- package/src/components/json-tree-model.ts +139 -0
- package/src/components/json-tree-nodes.tsx +224 -0
- package/src/components/json-tree.tsx +15 -434
- package/src/components/json-value-format.ts +64 -0
- package/src/components/markdown-blocks.ts +198 -0
- package/src/components/markdown-inline.tsx +365 -0
- package/src/components/markdown.tsx +6 -472
- package/src/components/observer-registry.ts +139 -0
- package/src/components/overflow-measure.ts +69 -0
- package/src/components/page-fill.tsx +1 -1
- package/src/components/prose-regions.ts +153 -0
- package/src/components/radio-group.tsx +1 -1
- package/src/components/scroll-region.tsx +22 -361
- package/src/components/tab-stop-parse.ts +217 -0
- package/src/components/table.tsx +1 -1
- package/src/components/tags.tsx +2 -2
- package/src/components/templated-text-field.tsx +39 -332
- package/src/components/templated-text-kwargs-editor.tsx +147 -0
- package/src/components/templated-text-kwargs.ts +92 -0
- package/src/components/templated-text-source.tsx +226 -0
- package/src/components/tool-picker-parts.tsx +184 -0
- package/src/components/tool-picker.tsx +22 -114
- package/src/components/version-history-panel.tsx +39 -143
- package/src/components/version-history-rows.tsx +220 -0
- package/src/components/view-toggle.tsx +1 -1
- package/src/element-slot.ts +1 -1
- package/src/guards.ts +7 -0
- package/src/hooks/interactions-connection.ts +227 -0
- package/src/hooks/interactions-stream.ts +274 -0
- package/src/hooks/useApi.ts +1 -1
- package/src/hooks/useAuth.ts +1 -1
- package/src/hooks/useCapabilities.ts +3 -3
- package/src/hooks/useSse.ts +51 -478
- package/src/hooks/useSystemKinds.tsx +2 -2
- package/src/hooks/useTheme.ts +1 -1
- package/src/hooks/useToolDisplayNames.tsx +2 -2
- package/src/host.ts +7 -7
- package/src/index.ts +292 -292
- package/src/navigation/app-link.tsx +70 -0
- package/src/navigation/context.tsx +12 -331
- package/src/navigation/entry-state.ts +42 -0
- package/src/navigation/guard-registry.ts +65 -0
- package/src/navigation/guarded-navigation.ts +147 -0
- package/src/navigation/index.ts +14 -14
- package/src/navigation/types.ts +8 -11
- package/src/navigation/use-back-forward-guard.ts +90 -0
- package/src/navigation/use-search-commit.ts +1 -1
- package/src/plugin/host-state.ts +1 -1
- package/src/plugin/registry.ts +111 -90
- package/src/schema-editor/SchemaEditor.tsx +1 -1
- package/src/schema-editor/index.ts +3 -3
- package/src/schema-form/SecretRefField.tsx +122 -72
- package/src/schema-form/classify.ts +245 -396
- package/src/schema-form/context.ts +1 -1
- package/src/schema-form/default-value.ts +48 -17
- package/src/schema-form/enum-field.tsx +1 -1
- package/src/schema-form/field-group.tsx +1 -1
- package/src/schema-form/field-model.ts +133 -0
- package/src/schema-form/field-node.tsx +95 -39
- package/src/schema-form/index.ts +10 -10
- package/src/schema-form/json-field.tsx +1 -1
- package/src/schema-form/media-field.tsx +136 -67
- package/src/schema-form/record-field.tsx +2 -2
- package/src/schema-form/string-annotations.ts +111 -0
- package/src/schema-form/string-field.tsx +2 -2
- package/src/schema-form/union-field.tsx +3 -2
- package/src/schema-form/union.ts +1 -1
- package/src/schema-form/validate.ts +185 -104
- package/src/state-binding/AdapterMapping.tsx +0 -0
- package/src/state-binding/BindingJqField.tsx +3 -3
- package/src/state-binding/InputInjectionRow.tsx +4 -4
- package/src/state-binding/StateAttachRow.tsx +229 -154
- package/src/state-binding/StateBindingSection.tsx +1 -1
- package/src/state-binding/SubjectScopeFields.tsx +1 -1
- package/src/state-binding/UpdateRow.tsx +3 -3
- package/src/state-binding/adapter-mapping-row.tsx +232 -0
- package/src/state-binding/index.ts +43 -43
- package/src/state-binding/templated-text-catalog.ts +0 -1
- package/src/state-binding/types.ts +2 -2
- package/src/structured-output/StructuredOutput.tsx +1 -4
- package/dist/components/icons.d.ts +0 -160
- package/dist/components/icons.d.ts.map +0 -1
- package/dist/components/icons.js +0 -160
- package/dist/components/icons.js.map +0 -1
- package/src/components/icons.tsx +0 -586
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* so a caller that has to measure or scroll a cell is not forced back to a raw
|
|
14
14
|
* `<td>` and out of the system.
|
|
15
15
|
*/
|
|
16
|
-
import type { HTMLAttributes,
|
|
16
|
+
import type { HTMLAttributes, ReactNode, Ref, TdHTMLAttributes, ThHTMLAttributes } from 'react';
|
|
17
17
|
export interface TableProps extends HTMLAttributes<HTMLTableElement> {
|
|
18
18
|
readonly children?: ReactNode;
|
|
19
19
|
/** A consumer ref for the `<table>` itself. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAEhG,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;CACtC;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,+BAMlE;AAED,qEAAqE;AACrE,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,uBAAuB,CAAC;IAChF,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,qDAAqD;IACrD,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC;CAC7C;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,+BAE9D;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,+BAE9D;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,mBAAmB,CAAC;IACxE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;CACzC;AAED,wBAAgB,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAEvD;AAED,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,OAAQ,SAAQ,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,kBAAkB;IACzF,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;CAC1C;AAED,wBAAgB,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAe,EAAE,KAAa,EAAE,GAAG,KAAK,EAAE,EAAE,OAAO,+BAMjF;AAED,MAAM,WAAW,OAAQ,SAAQ,gBAAgB,CAAC,oBAAoB,CAAC,EAAE,kBAAkB;IACzF,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;CAC1C;AAED,wBAAgB,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAe,EAAE,GAAG,KAAK,EAAE,EAAE,OAAO,+BAMlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/components/tags.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/components/tags.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAsB,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AASrE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,aAAa,GAAG,SAAS,CAW3D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,QAAgB,GACjB,EAAE,cAAc,GAAG,SAAS,CAiE5B"}
|
package/dist/components/tags.js
CHANGED
|
@@ -14,8 +14,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
14
14
|
*/
|
|
15
15
|
import { useState } from 'react';
|
|
16
16
|
import { CloseIcon } from './icons';
|
|
17
|
-
import { Button } from './primitives';
|
|
18
17
|
import { TextInput } from './inputs';
|
|
18
|
+
import { Button } from './primitives';
|
|
19
19
|
/** A tag and its remove control read as one unit, tighter than the row default. */
|
|
20
20
|
const tagGroupStyle = { gap: 'var(--tai-space-1)' };
|
|
21
21
|
/** Read-only chips for a list of tags. Renders nothing when there are none. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/components/tags.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/components/tags.tsx"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
* its kwargs, never converted or dropped. See `storageAbsent` /
|
|
25
25
|
* `storagePresenceLoading`.
|
|
26
26
|
*/
|
|
27
|
-
import { type ReactNode } from 'react';
|
|
28
27
|
import type { TemplatedText } from '@tai42/api-client';
|
|
28
|
+
import { type ReactNode } from 'react';
|
|
29
29
|
/** One stored template the id picker offers. */
|
|
30
30
|
export interface TemplatedTextTemplateOption {
|
|
31
31
|
readonly id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templated-text-field.d.ts","sourceRoot":"","sources":["../../src/components/templated-text-field.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"templated-text-field.d.ts","sourceRoot":"","sources":["../../src/components/templated-text-field.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAajD,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,2EAA2E;AAC3E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD,yEAAyE;IACzE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC5D,4CAA4C;IAC5C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,8DAA8D;IAC9D,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,qFAAqF;IACrF,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,SAAS,CAAC;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,0FAA0F;IAC1F,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,MAAM,CAIxE;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAW,EACX,KAAK,EACL,QAAgB,EAChB,SAAc,EACd,gBAAwB,EACxB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAqB,EACrB,sBAA8B,EAC9B,YAAY,EACZ,QAAgB,EAChB,WAAW,GACZ,EAAE,uBAAuB,GAAG,SAAS,CAiFrC"}
|
|
@@ -1,37 +1,9 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
2
|
-
/**
|
|
3
|
-
* `TemplatedTextField` — the ONE control that authors a {@link TemplatedText}
|
|
4
|
-
* value: an authored-text field that is either inline `content` (text written in
|
|
5
|
-
* place) or a stored template `id` (a template resource fetched and rendered at
|
|
6
|
-
* run time), with the render `kwargs` that apply in BOTH cases.
|
|
7
|
-
*
|
|
8
|
-
* The two sources are mutually exclusive by CONSTRUCTION: the mode toggle only ever
|
|
9
|
-
* writes `content` XOR `id`, so a value can never carry both. "Neither" is a `null`
|
|
10
|
-
* value, allowed only when the field is optional; a `required` field emits its
|
|
11
|
-
* empty source instead so the schema's non-empty guard (and the field error) refuse
|
|
12
|
-
* the save. The kwargs editor is shared across both modes.
|
|
13
|
-
*
|
|
14
|
-
* It seeds its editing state from `value` ONCE and drives itself thereafter,
|
|
15
|
-
* emitting a normalized value on every change (a caller resets it by remounting
|
|
16
|
-
* under a fresh `key`). The inline editor is a plain multiline textarea by default;
|
|
17
|
-
* a caller authoring jq or another rich field passes `renderInline` to supply its
|
|
18
|
-
* own editor. The stored-template list, its loading/error state, the verbatim
|
|
19
|
-
* server message for an id that no longer resolves, and whether storage is present
|
|
20
|
-
* are passed in by the caller — this control holds no data edge of its own.
|
|
21
|
-
*
|
|
22
|
-
* When storage is absent (a supported configuration in which stored templates
|
|
23
|
-
* cannot be fetched or resolved) the stored source is not offered: an inline or
|
|
24
|
-
* empty value edits inline; a value already carrying an `id` is shown read-only with
|
|
25
|
-
* its kwargs, never converted or dropped. See `storageAbsent` /
|
|
26
|
-
* `storagePresenceLoading`.
|
|
27
|
-
*/
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
28
2
|
import { useState } from 'react';
|
|
29
|
-
import { Button, ErrorState, Skeleton } from './primitives';
|
|
30
3
|
import { Field } from './field';
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import { CloseIcon } from './icons';
|
|
4
|
+
import { initialMode, objectToRows, templatedValueFrom, } from './templated-text-kwargs';
|
|
5
|
+
import { KwargsEditor, ReadOnlyKwargs } from './templated-text-kwargs-editor';
|
|
6
|
+
import { TemplatedTextSource } from './templated-text-source';
|
|
35
7
|
/** A short one-line rendering of a templated-text value, for read-only summaries. */
|
|
36
8
|
export function templatedTextSummary(value) {
|
|
37
9
|
if (value === null)
|
|
@@ -40,101 +12,13 @@ export function templatedTextSummary(value) {
|
|
|
40
12
|
return `template: ${value.id}`;
|
|
41
13
|
return value.content ?? '';
|
|
42
14
|
}
|
|
43
|
-
/** The row's canonical string form, matched against `value` to detect an untouched row. */
|
|
44
|
-
function stringifyRowValue(raw) {
|
|
45
|
-
return typeof raw === 'string' ? raw : JSON.stringify(raw);
|
|
46
|
-
}
|
|
47
|
-
/** Parse a cell as JSON when it can be (numbers/bools/objects), else keep the string. */
|
|
48
|
-
function parseCellValue(raw) {
|
|
49
|
-
const trimmed = raw.trim();
|
|
50
|
-
if (trimmed.length === 0)
|
|
51
|
-
return '';
|
|
52
|
-
try {
|
|
53
|
-
return JSON.parse(trimmed);
|
|
54
|
-
}
|
|
55
|
-
catch {
|
|
56
|
-
return raw;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/** Collapse the kwargs rows into an object, dropping rows with a blank key. */
|
|
60
|
-
function rowsToObject(rows) {
|
|
61
|
-
const out = {};
|
|
62
|
-
for (const row of rows) {
|
|
63
|
-
const key = row.key.trim();
|
|
64
|
-
if (key.length === 0)
|
|
65
|
-
continue;
|
|
66
|
-
// An untouched seeded row re-emits its stored value verbatim (no JSON-type coerce);
|
|
67
|
-
// an edited or added row is parsed from the cell text.
|
|
68
|
-
out[key] =
|
|
69
|
-
row.original !== undefined && stringifyRowValue(row.original) === row.value
|
|
70
|
-
? row.original
|
|
71
|
-
: parseCellValue(row.value);
|
|
72
|
-
}
|
|
73
|
-
return out;
|
|
74
|
-
}
|
|
75
|
-
/** Seed rows from a stored kwargs object (stringifying non-string values). */
|
|
76
|
-
function objectToRows(kwargs) {
|
|
77
|
-
if (kwargs === undefined)
|
|
78
|
-
return [];
|
|
79
|
-
return Object.entries(kwargs).map(([key, raw]) => ({
|
|
80
|
-
key,
|
|
81
|
-
value: stringifyRowValue(raw),
|
|
82
|
-
original: raw,
|
|
83
|
-
}));
|
|
84
|
-
}
|
|
85
|
-
/** The add/remove kwargs editor, revealed on demand and open when kwargs already exist. */
|
|
86
|
-
function KwargsEditor({ label, rows, disabled, onChange, }) {
|
|
87
|
-
const [open, setOpen] = useState(rows.length > 0);
|
|
88
|
-
const groupLabel = `${label} render parameters`;
|
|
89
|
-
if (!open) {
|
|
90
|
-
// Wrapped so the ghost button keeps its content width and stays left-aligned
|
|
91
|
-
// in the field's column, marking it as this field's own disclosure rather than
|
|
92
|
-
// a full-width control floating between two fields.
|
|
93
|
-
return (_jsx("div", { children: _jsx(Button, { type: "button", variant: "ghost", disabled: disabled, onClick: () => {
|
|
94
|
-
setOpen(true);
|
|
95
|
-
onChange([...rows, { key: '', value: '' }]);
|
|
96
|
-
}, children: "Add render parameters" }) }));
|
|
97
|
-
}
|
|
98
|
-
return (_jsxs("div", { role: "group", "aria-label": groupLabel, style: { display: 'flex', flexDirection: 'column', gap: 'var(--tai-space-2)' }, children: [_jsx("span", { style: { fontSize: 'var(--tai-text-sm)', color: 'var(--tai-color-text-muted)' }, children: "Render parameters" }), rows.map((row, index) => (_jsxs("div", { style: { display: 'flex', gap: 'var(--tai-space-2)', alignItems: 'center' }, children: [_jsx(TextInput, { "aria-label": `${groupLabel} key ${String(index + 1)}`, placeholder: "name", value: row.key, autoComplete: "off", disabled: disabled, onChange: (event) => {
|
|
99
|
-
const next = [...rows];
|
|
100
|
-
next[index] = { ...row, key: event.target.value };
|
|
101
|
-
onChange(next);
|
|
102
|
-
} }), _jsx(TextInput, { "aria-label": `${groupLabel} value ${String(index + 1)}`, placeholder: "value", value: row.value, autoComplete: "off", disabled: disabled, onChange: (event) => {
|
|
103
|
-
const next = [...rows];
|
|
104
|
-
next[index] = { ...row, value: event.target.value };
|
|
105
|
-
onChange(next);
|
|
106
|
-
} }), _jsx(Button, { type: "button", variant: "ghost", "aria-label": `Remove ${groupLabel} ${String(index + 1)}`, disabled: disabled, onClick: () => {
|
|
107
|
-
onChange(rows.filter((_, position) => position !== index));
|
|
108
|
-
}, children: _jsx(CloseIcon, { "aria-hidden": "true" }) })] }, index))), _jsx("div", { children: _jsx(Button, { type: "button", variant: "ghost", disabled: disabled, onClick: () => {
|
|
109
|
-
onChange([...rows, { key: '', value: '' }]);
|
|
110
|
-
}, children: "Add parameter" }) })] }));
|
|
111
|
-
}
|
|
112
|
-
/** The initial mode: stored when the seed carries an `id`, inline otherwise. */
|
|
113
|
-
function initialMode(value) {
|
|
114
|
-
return value?.id !== undefined ? 'stored' : 'inline';
|
|
115
|
-
}
|
|
116
15
|
export function TemplatedTextField({ label, value, onChange, description, error, required = false, templates = [], templatesLoading = false, templatesError, onTemplatesRetry, resolveError, storageAbsent = false, storagePresenceLoading = false, renderInline, disabled = false, placeholder, }) {
|
|
117
16
|
const [mode, setMode] = useState(() => initialMode(value));
|
|
118
17
|
const [inlineDraft, setInlineDraft] = useState(() => value?.content ?? '');
|
|
119
18
|
const [storedDraft, setStoredDraft] = useState(() => value?.id ?? '');
|
|
120
19
|
const [kwargsRows, setKwargsRows] = useState(() => objectToRows(value?.kwargs));
|
|
121
20
|
const emit = (nextMode, nextInline, nextStored, nextKwargs) => {
|
|
122
|
-
|
|
123
|
-
const kw = Object.keys(kwargs).length > 0 ? { kwargs } : {};
|
|
124
|
-
if (nextMode === 'stored') {
|
|
125
|
-
const id = nextStored.trim();
|
|
126
|
-
if (id === '') {
|
|
127
|
-
onChange(required ? { id: '', ...kw } : null);
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
onChange({ id, ...kw });
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
if (nextInline.trim() === '') {
|
|
134
|
-
onChange(required ? { content: '', ...kw } : null);
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
onChange({ content: nextInline, ...kw });
|
|
21
|
+
onChange(templatedValueFrom(nextMode, nextInline, nextStored, nextKwargs, required));
|
|
138
22
|
};
|
|
139
23
|
const changeMode = (next) => {
|
|
140
24
|
setMode(next);
|
|
@@ -152,53 +36,10 @@ export function TemplatedTextField({ label, value, onChange, description, error,
|
|
|
152
36
|
setKwargsRows(next);
|
|
153
37
|
emit(mode, inlineDraft, storedDraft, next);
|
|
154
38
|
};
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}));
|
|
159
|
-
// A stored id the catalog does not offer cannot be picked from the list; it is
|
|
160
|
-
// shown as an unresolved note rather than silently blanked.
|
|
161
|
-
const unresolvedId = mode === 'stored' &&
|
|
162
|
-
storedDraft.trim() !== '' &&
|
|
163
|
-
!templatesLoading &&
|
|
164
|
-
templatesError === undefined &&
|
|
165
|
-
!templates.some((template) => template.id === storedDraft.trim())
|
|
166
|
-
? storedDraft.trim()
|
|
167
|
-
: undefined;
|
|
168
|
-
// The inline editor, shared by the present-storage inline mode and the
|
|
169
|
-
// absent-storage inline-only rendering: the caller's rich editor when supplied,
|
|
170
|
-
// else a plain textarea.
|
|
171
|
-
const inlineEditor = renderInline !== undefined ? (renderInline({ label, value: inlineDraft, onChange: changeInline, error, hideLabel: true })) : (_jsx(Field, { label: label, hideLabel: true, error: error, children: _jsx(Textarea, { value: inlineDraft, placeholder: placeholder, disabled: disabled, onChange: (event) => {
|
|
172
|
-
changeInline(event.target.value);
|
|
173
|
-
} }) }));
|
|
174
|
-
// A stored `id` already authored on the value: with storage absent it is shown
|
|
175
|
-
// read-only rather than resolved, browsed, converted, or dropped.
|
|
176
|
-
const authoredStoredId = value?.id;
|
|
177
|
-
const showsReadOnlyStored = storageAbsent && authoredStoredId !== undefined;
|
|
178
|
-
// The source region. While presence is unknown a placeholder stands in, so the
|
|
179
|
-
// toggle is never shown and then removed. With storage absent the stored source
|
|
180
|
-
// cannot work and is not offered: an inline or empty value edits inline; a value
|
|
181
|
-
// carrying an `id` is shown read-only with an unavailability note. With storage
|
|
182
|
-
// present the full inline/stored toggle and picker render.
|
|
183
|
-
let source;
|
|
184
|
-
if (storagePresenceLoading) {
|
|
185
|
-
source = _jsx(Skeleton, { height: 36 });
|
|
186
|
-
}
|
|
187
|
-
else if (storageAbsent) {
|
|
188
|
-
source = showsReadOnlyStored ? (_jsxs(_Fragment, { children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 'var(--tai-space-1)' }, children: [_jsx("span", { style: { fontSize: 'var(--tai-text-sm)', color: 'var(--tai-color-text-muted)' }, children: "Stored template" }), _jsx("code", { style: { fontFamily: 'var(--tai-font-mono)', wordBreak: 'break-all' }, children: authoredStoredId })] }), _jsx("p", { style: {
|
|
189
|
-
margin: 0,
|
|
190
|
-
fontSize: 'var(--tai-text-sm)',
|
|
191
|
-
color: 'var(--tai-color-text-muted)',
|
|
192
|
-
}, children: "Stored templates are unavailable \u2014 this deployment has no storage backend." })] })) : (inlineEditor);
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
source = (_jsxs(_Fragment, { children: [_jsx(RadioGroup, { "aria-label": `${label} source`, variant: "segmented", value: mode, disabled: disabled, options: [
|
|
196
|
-
{ value: 'inline', label: 'Inline text' },
|
|
197
|
-
{ value: 'stored', label: 'Stored template' },
|
|
198
|
-
], onValueChange: (next) => {
|
|
199
|
-
changeMode(next);
|
|
200
|
-
} }), mode === 'inline' ? (inlineEditor) : templatesError !== undefined ? (_jsx(ErrorState, { message: templatesError, onRetry: onTemplatesRetry })) : templatesLoading ? (_jsx(Skeleton, { height: 36 })) : (_jsx(Field, { label: label, hideLabel: true, error: error, children: _jsx(Select, { placeholder: templates.length === 0 ? 'No templates available' : 'Select a template', value: storedDraft, disabled: disabled || templates.length === 0, options: templateOptions, onValueChange: changeStored }) })), unresolvedId !== undefined ? (_jsx("p", { role: "alert", style: { margin: 0, color: 'var(--tai-color-err-text)' }, children: resolveError ?? `The stored template "${unresolvedId}" is not available.` })) : null] }));
|
|
201
|
-
}
|
|
39
|
+
// A stored `id` already authored on the value is shown read-only when storage is
|
|
40
|
+
// absent — never resolved, browsed, converted, or dropped.
|
|
41
|
+
const showsReadOnlyStored = storageAbsent && value?.id !== undefined;
|
|
42
|
+
const source = (_jsx(TemplatedTextSource, { label: label, mode: mode, inlineDraft: inlineDraft, storedDraft: storedDraft, error: error, disabled: disabled, placeholder: placeholder, renderInline: renderInline, templates: templates, templatesLoading: templatesLoading, templatesError: templatesError, onTemplatesRetry: onTemplatesRetry, resolveError: resolveError, storageAbsent: storageAbsent, storagePresenceLoading: storagePresenceLoading, authoredStoredId: value?.id, onModeChange: changeMode, onInlineChange: changeInline, onStoredChange: changeStored }));
|
|
202
43
|
// ONE coherent group per field: the label + description form the group header, and
|
|
203
44
|
// the source region and the render-parameters disclosure sit under it — so the
|
|
204
45
|
// controls unambiguously belong to THIS field, read label → description → source →
|
|
@@ -207,11 +48,6 @@ export function TemplatedTextField({ label, value, onChange, description, error,
|
|
|
207
48
|
// visually-hidden `<label for>` (see `hideLabel`). The container-name redundancy
|
|
208
49
|
// `Field` accepts by design (a redundant container is audible, an unnamed group is
|
|
209
50
|
// silent).
|
|
210
|
-
|
|
211
|
-
// A read-only stored value shows its render parameters as read-only text — the values
|
|
212
|
-
// in normal weight, NOT the muted disabled inputs a reader could mistake for empty
|
|
213
|
-
// placeholders — matching the read-only treatment of the id above; every editable
|
|
214
|
-
// rendering keeps the full add/remove editor.
|
|
215
|
-
return (_jsxs(Field, { label: label, description: description, group: true, children: [source, showsReadOnlyStored ? (kwargsRows.length > 0 ? (_jsxs("div", { role: "group", "aria-label": `${label} render parameters`, style: { display: 'flex', flexDirection: 'column', gap: 'var(--tai-space-1)' }, children: [_jsx("span", { style: { fontSize: 'var(--tai-text-sm)', color: 'var(--tai-color-text-muted)' }, children: "Render parameters" }), kwargsRows.map((row) => (_jsxs("div", { style: { fontFamily: 'var(--tai-font-mono)', wordBreak: 'break-all' }, children: [_jsx("code", { children: row.key }), _jsx("span", { style: { color: 'var(--tai-color-text-muted)' }, children: ": " }), _jsx("code", { children: row.value })] }, row.key)))] })) : null) : (_jsx(KwargsEditor, { label: label, rows: kwargsRows, disabled: disabled, onChange: changeKwargs }))] }));
|
|
51
|
+
return (_jsxs(Field, { label: label, description: description, group: true, children: [source, showsReadOnlyStored ? (_jsx(ReadOnlyKwargs, { label: label, rows: kwargsRows })) : (_jsx(KwargsEditor, { label: label, rows: kwargsRows, disabled: disabled, onChange: changeKwargs }))] }));
|
|
216
52
|
}
|
|
217
53
|
//# sourceMappingURL=templated-text-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templated-text-field.js","sourceRoot":"","sources":["../../src/components/templated-text-field.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"templated-text-field.js","sourceRoot":"","sources":["../../src/components/templated-text-field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The render-parameters UI for `TemplatedTextField`: the add/remove editor
|
|
3
|
+
* (`KwargsEditor`) for editable values, and the read-only listing
|
|
4
|
+
* (`ReadOnlyKwargs`) shown beside a read-only stored id.
|
|
5
|
+
*/
|
|
6
|
+
import { type ReactNode } from 'react';
|
|
7
|
+
import type { KwargRow } from './templated-text-kwargs';
|
|
8
|
+
/** The add/remove kwargs editor, revealed on demand and open when kwargs already exist. */
|
|
9
|
+
export declare function KwargsEditor({ label, rows, disabled, onChange, }: {
|
|
10
|
+
readonly label: string;
|
|
11
|
+
readonly rows: readonly KwargRow[];
|
|
12
|
+
readonly disabled: boolean;
|
|
13
|
+
readonly onChange: (rows: KwargRow[]) => void;
|
|
14
|
+
}): ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* The render parameters of a read-only stored value, as read-only text — the
|
|
17
|
+
* values in normal weight, NOT the muted disabled inputs a reader could mistake
|
|
18
|
+
* for empty placeholders. Renders nothing when there are no kwargs.
|
|
19
|
+
*/
|
|
20
|
+
export declare function ReadOnlyKwargs({ label, rows, }: {
|
|
21
|
+
readonly label: string;
|
|
22
|
+
readonly rows: readonly KwargRow[];
|
|
23
|
+
}): ReactNode;
|
|
24
|
+
//# sourceMappingURL=templated-text-kwargs-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templated-text-kwargs-editor.d.ts","sourceRoot":"","sources":["../../src/components/templated-text-kwargs-editor.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAKjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;CAC/C,GAAG,SAAS,CA0FZ;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,IAAI,GACL,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAC;CACpC,GAAG,SAAS,CAoBZ"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* The render-parameters UI for `TemplatedTextField`: the add/remove editor
|
|
4
|
+
* (`KwargsEditor`) for editable values, and the read-only listing
|
|
5
|
+
* (`ReadOnlyKwargs`) shown beside a read-only stored id.
|
|
6
|
+
*/
|
|
7
|
+
import { useState } from 'react';
|
|
8
|
+
import { CloseIcon } from './icons';
|
|
9
|
+
import { TextInput } from './inputs';
|
|
10
|
+
import { Button } from './primitives';
|
|
11
|
+
/** The add/remove kwargs editor, revealed on demand and open when kwargs already exist. */
|
|
12
|
+
export function KwargsEditor({ label, rows, disabled, onChange, }) {
|
|
13
|
+
const [open, setOpen] = useState(rows.length > 0);
|
|
14
|
+
const groupLabel = `${label} render parameters`;
|
|
15
|
+
if (!open) {
|
|
16
|
+
// Wrapped so the ghost button keeps its content width and stays left-aligned
|
|
17
|
+
// in the field's column, marking it as this field's own disclosure rather than
|
|
18
|
+
// a full-width control floating between two fields.
|
|
19
|
+
return (_jsx("div", { children: _jsx(Button, { type: "button", variant: "ghost", disabled: disabled, onClick: () => {
|
|
20
|
+
setOpen(true);
|
|
21
|
+
onChange([...rows, { key: '', value: '' }]);
|
|
22
|
+
}, children: "Add render parameters" }) }));
|
|
23
|
+
}
|
|
24
|
+
return (_jsxs("div", { role: "group", "aria-label": groupLabel, style: { display: 'flex', flexDirection: 'column', gap: 'var(--tai-space-2)' }, children: [_jsx("span", { style: { fontSize: 'var(--tai-text-sm)', color: 'var(--tai-color-text-muted)' }, children: "Render parameters" }), rows.map((row, index) => (_jsxs("div", { style: { display: 'flex', gap: 'var(--tai-space-2)', alignItems: 'center' }, children: [_jsx(TextInput, { "aria-label": `${groupLabel} key ${String(index + 1)}`, placeholder: "name", value: row.key, autoComplete: "off", disabled: disabled, onChange: (event) => {
|
|
25
|
+
const next = [...rows];
|
|
26
|
+
next[index] = { ...row, key: event.target.value };
|
|
27
|
+
onChange(next);
|
|
28
|
+
} }), _jsx(TextInput, { "aria-label": `${groupLabel} value ${String(index + 1)}`, placeholder: "value", value: row.value, autoComplete: "off", disabled: disabled, onChange: (event) => {
|
|
29
|
+
const next = [...rows];
|
|
30
|
+
next[index] = { ...row, value: event.target.value };
|
|
31
|
+
onChange(next);
|
|
32
|
+
} }), _jsx(Button, { type: "button", variant: "ghost", "aria-label": `Remove ${groupLabel} ${String(index + 1)}`, disabled: disabled, onClick: () => {
|
|
33
|
+
onChange(rows.filter((_, position) => position !== index));
|
|
34
|
+
}, children: _jsx(CloseIcon, { "aria-hidden": "true" }) })] }, index))), _jsx("div", { children: _jsx(Button, { type: "button", variant: "ghost", disabled: disabled, onClick: () => {
|
|
35
|
+
onChange([...rows, { key: '', value: '' }]);
|
|
36
|
+
}, children: "Add parameter" }) })] }));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The render parameters of a read-only stored value, as read-only text — the
|
|
40
|
+
* values in normal weight, NOT the muted disabled inputs a reader could mistake
|
|
41
|
+
* for empty placeholders. Renders nothing when there are no kwargs.
|
|
42
|
+
*/
|
|
43
|
+
export function ReadOnlyKwargs({ label, rows, }) {
|
|
44
|
+
if (rows.length === 0)
|
|
45
|
+
return null;
|
|
46
|
+
return (_jsxs("div", { role: "group", "aria-label": `${label} render parameters`, style: { display: 'flex', flexDirection: 'column', gap: 'var(--tai-space-1)' }, children: [_jsx("span", { style: { fontSize: 'var(--tai-text-sm)', color: 'var(--tai-color-text-muted)' }, children: "Render parameters" }), rows.map((row) => (_jsxs("div", { style: { fontFamily: 'var(--tai-font-mono)', wordBreak: 'break-all' }, children: [_jsx("code", { children: row.key }), _jsx("span", { style: { color: 'var(--tai-color-text-muted)' }, children: ": " }), _jsx("code", { children: row.value })] }, row.key)))] }));
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=templated-text-kwargs-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templated-text-kwargs-editor.js","sourceRoot":"","sources":["../../src/components/templated-text-kwargs-editor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The render-kwargs model behind `TemplatedTextField`: the row shape, the
|
|
3
|
+
* round-trip between stored kwargs and editable rows, and the normalized
|
|
4
|
+
* `TemplatedText` value the field emits. Pure — no React.
|
|
5
|
+
*/
|
|
6
|
+
import type { TemplatedText } from '@tai42/api-client';
|
|
7
|
+
/** Whether the value's source is inline authored text or a stored template id. */
|
|
8
|
+
export type Mode = 'inline' | 'stored';
|
|
9
|
+
export interface KwargRow {
|
|
10
|
+
readonly key: string;
|
|
11
|
+
readonly value: string;
|
|
12
|
+
/**
|
|
13
|
+
* The stored value this row was seeded from, kept so an UNTOUCHED row re-emits it
|
|
14
|
+
* BYTE-FOR-BYTE: the row form cannot tell a stored string `"7"` from the number `7`,
|
|
15
|
+
* so re-parsing an untouched row would silently coerce the stored type. `undefined`
|
|
16
|
+
* for a row the author added.
|
|
17
|
+
*/
|
|
18
|
+
readonly original?: unknown;
|
|
19
|
+
}
|
|
20
|
+
/** The row's canonical string form, matched against `value` to detect an untouched row. */
|
|
21
|
+
export declare function stringifyRowValue(raw: unknown): string;
|
|
22
|
+
/** Parse a cell as JSON when it can be (numbers/bools/objects), else keep the string. */
|
|
23
|
+
export declare function parseCellValue(raw: string): unknown;
|
|
24
|
+
/** Collapse the kwargs rows into an object, dropping rows with a blank key. */
|
|
25
|
+
export declare function rowsToObject(rows: readonly KwargRow[]): Record<string, unknown>;
|
|
26
|
+
/** Seed rows from a stored kwargs object (stringifying non-string values). */
|
|
27
|
+
export declare function objectToRows(kwargs: Record<string, unknown> | undefined): KwargRow[];
|
|
28
|
+
/** The initial mode: stored when the seed carries an `id`, inline otherwise. */
|
|
29
|
+
export declare function initialMode(value: TemplatedText | null): Mode;
|
|
30
|
+
/**
|
|
31
|
+
* The normalized value for a given source/mode and kwargs. The two sources are
|
|
32
|
+
* mutually exclusive by construction (`content` XOR `id`); an empty source emits
|
|
33
|
+
* `null` unless `required`, in which case an empty source is emitted so the
|
|
34
|
+
* schema guard refuses the save.
|
|
35
|
+
*/
|
|
36
|
+
export declare function templatedValueFrom(mode: Mode, inline: string, stored: string, rows: readonly KwargRow[], required: boolean): TemplatedText | null;
|
|
37
|
+
//# sourceMappingURL=templated-text-kwargs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templated-text-kwargs.d.ts","sourceRoot":"","sources":["../../src/components/templated-text-kwargs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,kFAAkF;AAClF,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvC,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,2FAA2F;AAC3F,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEtD;AAED,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQnD;AAED,+EAA+E;AAC/E,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAa/E;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,QAAQ,EAAE,CAOpF;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,QAAQ,EAAE,OAAO,GAChB,aAAa,GAAG,IAAI,CAUtB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/** The row's canonical string form, matched against `value` to detect an untouched row. */
|
|
2
|
+
export function stringifyRowValue(raw) {
|
|
3
|
+
return typeof raw === 'string' ? raw : JSON.stringify(raw);
|
|
4
|
+
}
|
|
5
|
+
/** Parse a cell as JSON when it can be (numbers/bools/objects), else keep the string. */
|
|
6
|
+
export function parseCellValue(raw) {
|
|
7
|
+
const trimmed = raw.trim();
|
|
8
|
+
if (trimmed.length === 0)
|
|
9
|
+
return '';
|
|
10
|
+
try {
|
|
11
|
+
return JSON.parse(trimmed);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return raw;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/** Collapse the kwargs rows into an object, dropping rows with a blank key. */
|
|
18
|
+
export function rowsToObject(rows) {
|
|
19
|
+
const out = {};
|
|
20
|
+
for (const row of rows) {
|
|
21
|
+
const key = row.key.trim();
|
|
22
|
+
if (key.length === 0)
|
|
23
|
+
continue;
|
|
24
|
+
// An untouched seeded row re-emits its stored value verbatim (no JSON-type coerce);
|
|
25
|
+
// an edited or added row is parsed from the cell text.
|
|
26
|
+
out[key] =
|
|
27
|
+
row.original !== undefined && stringifyRowValue(row.original) === row.value
|
|
28
|
+
? row.original
|
|
29
|
+
: parseCellValue(row.value);
|
|
30
|
+
}
|
|
31
|
+
return out;
|
|
32
|
+
}
|
|
33
|
+
/** Seed rows from a stored kwargs object (stringifying non-string values). */
|
|
34
|
+
export function objectToRows(kwargs) {
|
|
35
|
+
if (kwargs === undefined)
|
|
36
|
+
return [];
|
|
37
|
+
return Object.entries(kwargs).map(([key, raw]) => ({
|
|
38
|
+
key,
|
|
39
|
+
value: stringifyRowValue(raw),
|
|
40
|
+
original: raw,
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
/** The initial mode: stored when the seed carries an `id`, inline otherwise. */
|
|
44
|
+
export function initialMode(value) {
|
|
45
|
+
return value?.id !== undefined ? 'stored' : 'inline';
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The normalized value for a given source/mode and kwargs. The two sources are
|
|
49
|
+
* mutually exclusive by construction (`content` XOR `id`); an empty source emits
|
|
50
|
+
* `null` unless `required`, in which case an empty source is emitted so the
|
|
51
|
+
* schema guard refuses the save.
|
|
52
|
+
*/
|
|
53
|
+
export function templatedValueFrom(mode, inline, stored, rows, required) {
|
|
54
|
+
const kwargs = rowsToObject(rows);
|
|
55
|
+
const kw = Object.keys(kwargs).length > 0 ? { kwargs } : {};
|
|
56
|
+
if (mode === 'stored') {
|
|
57
|
+
const id = stored.trim();
|
|
58
|
+
if (id === '')
|
|
59
|
+
return required ? { id: '', ...kw } : null;
|
|
60
|
+
return { id, ...kw };
|
|
61
|
+
}
|
|
62
|
+
if (inline.trim() === '')
|
|
63
|
+
return required ? { content: '', ...kw } : null;
|
|
64
|
+
return { content: inline, ...kw };
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=templated-text-kwargs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templated-text-kwargs.js","sourceRoot":"","sources":["../../src/components/templated-text-kwargs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The source region of `TemplatedTextField`: the inline/stored toggle and its
|
|
3
|
+
* editors while storage is present, a stand-in while presence is unknown, and the
|
|
4
|
+
* read-only stored reference (never converted, dropped, or blanked) when storage
|
|
5
|
+
* is absent.
|
|
6
|
+
*/
|
|
7
|
+
import type { ReactNode } from 'react';
|
|
8
|
+
import type { TemplatedTextInlineProps, TemplatedTextTemplateOption } from './templated-text-field';
|
|
9
|
+
import type { Mode } from './templated-text-kwargs';
|
|
10
|
+
export interface TemplatedTextSourceProps {
|
|
11
|
+
readonly label: string;
|
|
12
|
+
readonly mode: Mode;
|
|
13
|
+
readonly inlineDraft: string;
|
|
14
|
+
readonly storedDraft: string;
|
|
15
|
+
readonly error?: string;
|
|
16
|
+
readonly disabled: boolean;
|
|
17
|
+
readonly placeholder?: string;
|
|
18
|
+
readonly renderInline?: (props: TemplatedTextInlineProps) => ReactNode;
|
|
19
|
+
readonly templates: readonly TemplatedTextTemplateOption[];
|
|
20
|
+
readonly templatesLoading: boolean;
|
|
21
|
+
readonly templatesError?: string;
|
|
22
|
+
readonly onTemplatesRetry?: () => void;
|
|
23
|
+
readonly resolveError?: string;
|
|
24
|
+
readonly storageAbsent: boolean;
|
|
25
|
+
readonly storagePresenceLoading: boolean;
|
|
26
|
+
/** The `id` already authored on the value, shown read-only when storage is absent. */
|
|
27
|
+
readonly authoredStoredId?: string;
|
|
28
|
+
readonly onModeChange: (mode: Mode) => void;
|
|
29
|
+
readonly onInlineChange: (value: string) => void;
|
|
30
|
+
readonly onStoredChange: (stored: string) => void;
|
|
31
|
+
}
|
|
32
|
+
export declare function TemplatedTextSource({ label, mode, inlineDraft, storedDraft, error, disabled, placeholder, renderInline, templates, templatesLoading, templatesError, onTemplatesRetry, resolveError, storageAbsent, storagePresenceLoading, authoredStoredId, onModeChange, onInlineChange, onStoredChange, }: TemplatedTextSourceProps): ReactNode;
|
|
33
|
+
//# sourceMappingURL=templated-text-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templated-text-source.d.ts","sourceRoot":"","sources":["../../src/components/templated-text-source.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,OAAO,KAAK,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAsGpD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,SAAS,CAAC;IACvE,QAAQ,CAAC,SAAS,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,sFAAsF;IACtF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD;AAED,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,IAAI,EACJ,WAAW,EACX,WAAW,EACX,KAAK,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,GACf,EAAE,wBAAwB,GAAG,SAAS,CAkEtC"}
|