@flanksource/clicky-ui 0.3.21 → 0.3.23
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/NOTICE.md +14 -0
- package/README.md +8 -1
- package/dist/ai.cjs +10 -0
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +10 -0
- package/dist/ai.js.map +1 -1
- package/dist/comments/MentionTextarea.cjs +1 -1
- package/dist/comments/MentionTextarea.cjs.map +1 -1
- package/dist/comments/MentionTextarea.js +1 -1
- package/dist/comments/MentionTextarea.js.map +1 -1
- package/dist/components/AccordionList.cjs +320 -0
- package/dist/components/AccordionList.cjs.map +1 -0
- package/dist/components/AccordionList.d.ts +93 -0
- package/dist/components/AccordionList.d.ts.map +1 -0
- package/dist/components/AccordionList.js +320 -0
- package/dist/components/AccordionList.js.map +1 -0
- package/dist/components/Combobox.cjs +41 -3
- package/dist/components/Combobox.cjs.map +1 -1
- package/dist/components/Combobox.d.ts.map +1 -1
- package/dist/components/Combobox.js +42 -4
- package/dist/components/Combobox.js.map +1 -1
- package/dist/components/ComboboxControl.cjs +6 -0
- package/dist/components/ComboboxControl.cjs.map +1 -1
- package/dist/components/ComboboxControl.d.ts +7 -3
- package/dist/components/ComboboxControl.d.ts.map +1 -1
- package/dist/components/ComboboxControl.js +6 -0
- package/dist/components/ComboboxControl.js.map +1 -1
- package/dist/components/ComboboxMenu.cjs +2 -1
- package/dist/components/ComboboxMenu.cjs.map +1 -1
- package/dist/components/ComboboxMenu.d.ts +3 -1
- package/dist/components/ComboboxMenu.d.ts.map +1 -1
- package/dist/components/ComboboxMenu.js +2 -1
- package/dist/components/ComboboxMenu.js.map +1 -1
- package/dist/components/ComboboxTags.cjs +42 -11
- package/dist/components/ComboboxTags.cjs.map +1 -1
- package/dist/components/ComboboxTags.d.ts +5 -2
- package/dist/components/ComboboxTags.d.ts.map +1 -1
- package/dist/components/ComboboxTags.js +42 -11
- package/dist/components/ComboboxTags.js.map +1 -1
- package/dist/components/ConnectionLoggingPolicy.cjs +268 -0
- package/dist/components/ConnectionLoggingPolicy.cjs.map +1 -0
- package/dist/components/ConnectionLoggingPolicy.d.ts +3 -0
- package/dist/components/ConnectionLoggingPolicy.d.ts.map +1 -0
- package/dist/components/ConnectionLoggingPolicy.js +268 -0
- package/dist/components/ConnectionLoggingPolicy.js.map +1 -0
- package/dist/components/ConnectionLoggingPolicy.model.cjs +52 -0
- package/dist/components/ConnectionLoggingPolicy.model.cjs.map +1 -0
- package/dist/components/ConnectionLoggingPolicy.model.d.ts +35 -0
- package/dist/components/ConnectionLoggingPolicy.model.d.ts.map +1 -0
- package/dist/components/ConnectionLoggingPolicy.model.js +52 -0
- package/dist/components/ConnectionLoggingPolicy.model.js.map +1 -0
- package/dist/components/CountryFlag.cjs +55 -0
- package/dist/components/CountryFlag.cjs.map +1 -0
- package/dist/components/CountryFlag.d.ts +8 -0
- package/dist/components/CountryFlag.d.ts.map +1 -0
- package/dist/components/CountryFlag.js +38 -0
- package/dist/components/CountryFlag.js.map +1 -0
- package/dist/components/CountryPicker.cjs +35 -0
- package/dist/components/CountryPicker.cjs.map +1 -0
- package/dist/components/CountryPicker.d.ts +4 -0
- package/dist/components/CountryPicker.d.ts.map +1 -0
- package/dist/components/CountryPicker.js +35 -0
- package/dist/components/CountryPicker.js.map +1 -0
- package/dist/components/DaemonSetIcon.cjs +20 -0
- package/dist/components/DaemonSetIcon.cjs.map +1 -0
- package/dist/components/DaemonSetIcon.d.ts +8 -0
- package/dist/components/DaemonSetIcon.d.ts.map +1 -0
- package/dist/components/DaemonSetIcon.js +20 -0
- package/dist/components/DaemonSetIcon.js.map +1 -0
- package/dist/components/DateField.cjs.map +1 -1
- package/dist/components/DateField.d.ts +11 -3
- package/dist/components/DateField.d.ts.map +1 -1
- package/dist/components/DateField.js.map +1 -1
- package/dist/components/DatePicker.cjs +6 -1
- package/dist/components/DatePicker.cjs.map +1 -1
- package/dist/components/DatePicker.d.ts +11 -3
- package/dist/components/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker.js +6 -1
- package/dist/components/DatePicker.js.map +1 -1
- package/dist/components/EndpointSelector.cjs +29 -8
- package/dist/components/EndpointSelector.cjs.map +1 -1
- package/dist/components/EndpointSelector.d.ts +1 -1
- package/dist/components/EndpointSelector.d.ts.map +1 -1
- package/dist/components/EndpointSelector.js +29 -8
- package/dist/components/EndpointSelector.js.map +1 -1
- package/dist/components/EndpointSelector.model.cjs.map +1 -1
- package/dist/components/EndpointSelector.model.d.ts +5 -0
- package/dist/components/EndpointSelector.model.d.ts.map +1 -1
- package/dist/components/EndpointSelector.model.js.map +1 -1
- package/dist/components/FilterBar.cjs +43 -19
- package/dist/components/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar.d.ts +21 -1
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +41 -17
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/InputField.cjs +14 -2
- package/dist/components/InputField.cjs.map +1 -1
- package/dist/components/InputField.d.ts +6 -0
- package/dist/components/InputField.d.ts.map +1 -1
- package/dist/components/InputField.js +14 -2
- package/dist/components/InputField.js.map +1 -1
- package/dist/components/ItemActions.cjs +87 -0
- package/dist/components/ItemActions.cjs.map +1 -0
- package/dist/components/ItemActions.d.ts +33 -0
- package/dist/components/ItemActions.d.ts.map +1 -0
- package/dist/components/ItemActions.js +87 -0
- package/dist/components/ItemActions.js.map +1 -0
- package/dist/components/JsonSchemaForm.cjs +1 -1
- package/dist/components/JsonSchemaForm.cjs.map +1 -1
- package/dist/components/JsonSchemaForm.js +1 -1
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/MdxEditorCallout.cjs +108 -0
- package/dist/components/MdxEditorCallout.cjs.map +1 -0
- package/dist/components/MdxEditorCallout.d.ts +27 -0
- package/dist/components/MdxEditorCallout.d.ts.map +1 -0
- package/dist/components/MdxEditorCallout.js +108 -0
- package/dist/components/MdxEditorCallout.js.map +1 -0
- package/dist/components/MdxEditorField.cjs.map +1 -1
- package/dist/components/MdxEditorField.d.ts +1 -1
- package/dist/components/MdxEditorField.d.ts.map +1 -1
- package/dist/components/MdxEditorField.js.map +1 -1
- package/dist/components/MdxEditorToolbar.cjs +10 -2
- package/dist/components/MdxEditorToolbar.cjs.map +1 -1
- package/dist/components/MdxEditorToolbar.d.ts.map +1 -1
- package/dist/components/MdxEditorToolbar.js +10 -2
- package/dist/components/MdxEditorToolbar.js.map +1 -1
- package/dist/components/MultiSelect.cjs +3 -1
- package/dist/components/MultiSelect.cjs.map +1 -1
- package/dist/components/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect.js +3 -1
- package/dist/components/MultiSelect.js.map +1 -1
- package/dist/components/NamespacePicker.cjs +1 -0
- package/dist/components/NamespacePicker.cjs.map +1 -1
- package/dist/components/NamespacePicker.d.ts.map +1 -1
- package/dist/components/NamespacePicker.js +1 -0
- package/dist/components/NamespacePicker.js.map +1 -1
- package/dist/components/SplitButton.cjs +3 -2
- package/dist/components/SplitButton.cjs.map +1 -1
- package/dist/components/SplitButton.d.ts +6 -1
- package/dist/components/SplitButton.d.ts.map +1 -1
- package/dist/components/SplitButton.js +3 -2
- package/dist/components/SplitButton.js.map +1 -1
- package/dist/components/WorkloadPicker.cjs +117 -31
- package/dist/components/WorkloadPicker.cjs.map +1 -1
- package/dist/components/WorkloadPicker.d.ts +29 -5
- package/dist/components/WorkloadPicker.d.ts.map +1 -1
- package/dist/components/WorkloadPicker.js +119 -33
- package/dist/components/WorkloadPicker.js.map +1 -1
- package/dist/components/button-variants.d.ts +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/combobox-types.d.ts +13 -0
- package/dist/components/combobox-types.d.ts.map +1 -1
- package/dist/components/combobox-utils.cjs +16 -0
- package/dist/components/combobox-utils.cjs.map +1 -1
- package/dist/components/combobox-utils.d.ts +1 -0
- package/dist/components/combobox-utils.d.ts.map +1 -1
- package/dist/components/combobox-utils.js +16 -0
- package/dist/components/combobox-utils.js.map +1 -1
- package/dist/components/country-options.cjs +34 -0
- package/dist/components/country-options.cjs.map +1 -0
- package/dist/components/country-options.d.ts +8 -0
- package/dist/components/country-options.d.ts.map +1 -0
- package/dist/components/country-options.js +34 -0
- package/dist/components/country-options.js.map +1 -0
- package/dist/components/filter-bar-multi.cjs +1 -1
- package/dist/components/filter-bar-multi.cjs.map +1 -1
- package/dist/components/filter-bar-multi.js +1 -1
- package/dist/components/filter-bar-multi.js.map +1 -1
- package/dist/components/filter-bar-utils.cjs +14 -2
- package/dist/components/filter-bar-utils.cjs.map +1 -1
- package/dist/components/filter-bar-utils.d.ts +2 -1
- package/dist/components/filter-bar-utils.d.ts.map +1 -1
- package/dist/components/filter-bar-utils.js +14 -2
- package/dist/components/filter-bar-utils.js.map +1 -1
- package/dist/components/jotai-bindings-core.cjs +11 -0
- package/dist/components/jotai-bindings-core.cjs.map +1 -1
- package/dist/components/jotai-bindings-core.d.ts +3 -2
- package/dist/components/jotai-bindings-core.d.ts.map +1 -1
- package/dist/components/jotai-bindings-core.js +11 -0
- package/dist/components/jotai-bindings-core.js.map +1 -1
- package/dist/components/json-schema-form-accordion-array.cjs +54 -190
- package/dist/components/json-schema-form-accordion-array.cjs.map +1 -1
- package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-accordion-array.js +59 -195
- package/dist/components/json-schema-form-accordion-array.js.map +1 -1
- package/dist/components/json-schema-form-array.cjs +46 -146
- package/dist/components/json-schema-form-array.cjs.map +1 -1
- package/dist/components/json-schema-form-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-array.js +47 -147
- package/dist/components/json-schema-form-array.js.map +1 -1
- package/dist/components/json-schema-form-cards-array.cjs +9 -7
- package/dist/components/json-schema-form-cards-array.cjs.map +1 -1
- package/dist/components/json-schema-form-cards-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-cards-array.js +11 -9
- package/dist/components/json-schema-form-cards-array.js.map +1 -1
- package/dist/components/json-schema-form-error-display.js +1 -1
- package/dist/components/json-schema-form-errors.cjs +17 -4
- package/dist/components/json-schema-form-errors.cjs.map +1 -1
- package/dist/components/json-schema-form-errors.d.ts +1 -0
- package/dist/components/json-schema-form-errors.d.ts.map +1 -1
- package/dist/components/json-schema-form-errors.js +16 -3
- package/dist/components/json-schema-form-errors.js.map +1 -1
- package/dist/components/json-schema-form-fields.cjs +18 -2
- package/dist/components/json-schema-form-fields.cjs.map +1 -1
- package/dist/components/json-schema-form-fields.d.ts.map +1 -1
- package/dist/components/json-schema-form-fields.js +18 -2
- package/dist/components/json-schema-form-fields.js.map +1 -1
- package/dist/components/json-schema-form-item-row.cjs +17 -46
- package/dist/components/json-schema-form-item-row.cjs.map +1 -1
- package/dist/components/json-schema-form-item-row.d.ts +3 -10
- package/dist/components/json-schema-form-item-row.d.ts.map +1 -1
- package/dist/components/json-schema-form-item-row.js +18 -47
- package/dist/components/json-schema-form-item-row.js.map +1 -1
- package/dist/components/json-schema-form-item-summary.cjs +18 -4
- package/dist/components/json-schema-form-item-summary.cjs.map +1 -1
- package/dist/components/json-schema-form-item-summary.d.ts +2 -1
- package/dist/components/json-schema-form-item-summary.d.ts.map +1 -1
- package/dist/components/json-schema-form-item-summary.js +15 -1
- package/dist/components/json-schema-form-item-summary.js.map +1 -1
- package/dist/components/json-schema-form-lookup-tree.cjs +2 -5
- package/dist/components/json-schema-form-lookup-tree.cjs.map +1 -1
- package/dist/components/json-schema-form-lookup-tree.d.ts.map +1 -1
- package/dist/components/json-schema-form-lookup-tree.js +2 -5
- package/dist/components/json-schema-form-lookup-tree.js.map +1 -1
- package/dist/components/json-schema-form-object.cjs +3 -2
- package/dist/components/json-schema-form-object.cjs.map +1 -1
- package/dist/components/json-schema-form-object.d.ts.map +1 -1
- package/dist/components/json-schema-form-object.js +2 -1
- package/dist/components/json-schema-form-object.js.map +1 -1
- package/dist/components/json-schema-form-render.cjs +4 -1
- package/dist/components/json-schema-form-render.cjs.map +1 -1
- package/dist/components/json-schema-form-render.d.ts.map +1 -1
- package/dist/components/json-schema-form-render.js +5 -2
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +21 -13
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts +2 -2
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +16 -8
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-table-array.cjs +4 -3
- package/dist/components/json-schema-form-table-array.cjs.map +1 -1
- package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-table-array.js +2 -1
- package/dist/components/json-schema-form-table-array.js.map +1 -1
- package/dist/components/json-schema-form-tags-combobox.cjs +55 -0
- package/dist/components/json-schema-form-tags-combobox.cjs.map +1 -0
- package/dist/components/json-schema-form-tags-combobox.d.ts +17 -0
- package/dist/components/json-schema-form-tags-combobox.d.ts.map +1 -0
- package/dist/components/json-schema-form-tags-combobox.js +55 -0
- package/dist/components/json-schema-form-tags-combobox.js.map +1 -0
- package/dist/components/json-schema-form-types.d.ts +8 -1
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.cjs +5 -28
- package/dist/components/json-schema-form-utils.cjs.map +1 -1
- package/dist/components/json-schema-form-utils.d.ts +1 -5
- package/dist/components/json-schema-form-utils.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.js +5 -28
- package/dist/components/json-schema-form-utils.js.map +1 -1
- package/dist/components/jsonPathTree.cjs +10 -3
- package/dist/components/jsonPathTree.cjs.map +1 -1
- package/dist/components/jsonPathTree.d.ts +17 -0
- package/dist/components/jsonPathTree.d.ts.map +1 -1
- package/dist/components/jsonPathTree.js +10 -3
- package/dist/components/jsonPathTree.js.map +1 -1
- package/dist/components/mdx-editor-callout-model.cjs +26 -0
- package/dist/components/mdx-editor-callout-model.cjs.map +1 -0
- package/dist/components/mdx-editor-callout-model.d.ts +14 -0
- package/dist/components/mdx-editor-callout-model.d.ts.map +1 -0
- package/dist/components/mdx-editor-callout-model.js +26 -0
- package/dist/components/mdx-editor-callout-model.js.map +1 -0
- package/dist/components/mdx-editor-callout.cjs +39 -0
- package/dist/components/mdx-editor-callout.cjs.map +1 -0
- package/dist/components/mdx-editor-callout.d.ts +27 -0
- package/dist/components/mdx-editor-callout.d.ts.map +1 -0
- package/dist/components/mdx-editor-callout.js +39 -0
- package/dist/components/mdx-editor-callout.js.map +1 -0
- package/dist/components/mdx-editor-field-plugins.cjs +14 -0
- package/dist/components/mdx-editor-field-plugins.cjs.map +1 -1
- package/dist/components/mdx-editor-field-plugins.d.ts.map +1 -1
- package/dist/components/mdx-editor-field-plugins.js +14 -0
- package/dist/components/mdx-editor-field-plugins.js.map +1 -1
- package/dist/components/mdx-editor-jsx-attributes.cjs +23 -0
- package/dist/components/mdx-editor-jsx-attributes.cjs.map +1 -0
- package/dist/components/mdx-editor-jsx-attributes.d.ts +29 -0
- package/dist/components/mdx-editor-jsx-attributes.d.ts.map +1 -0
- package/dist/components/mdx-editor-jsx-attributes.js +23 -0
- package/dist/components/mdx-editor-jsx-attributes.js.map +1 -0
- package/dist/components/mdx-editor-options.d.ts +79 -0
- package/dist/components/mdx-editor-options.d.ts.map +1 -1
- package/dist/components/workload-picker-utils.cjs +17 -4
- package/dist/components/workload-picker-utils.cjs.map +1 -1
- package/dist/components/workload-picker-utils.d.ts +3 -1
- package/dist/components/workload-picker-utils.d.ts.map +1 -1
- package/dist/components/workload-picker-utils.js +18 -5
- package/dist/components/workload-picker-utils.js.map +1 -1
- package/dist/components.cjs +24 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +12 -3
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +24 -0
- package/dist/components.js.map +1 -1
- package/dist/data/Callout.cjs +48 -0
- package/dist/data/Callout.cjs.map +1 -0
- package/dist/data/Callout.d.ts +58 -0
- package/dist/data/Callout.d.ts.map +1 -0
- package/dist/data/Callout.js +48 -0
- package/dist/data/Callout.js.map +1 -0
- package/dist/data/Clicky.cjs +311 -249
- package/dist/data/Clicky.cjs.map +1 -1
- package/dist/data/Clicky.d.ts +37 -2
- package/dist/data/Clicky.d.ts.map +1 -1
- package/dist/data/Clicky.js +314 -252
- package/dist/data/Clicky.js.map +1 -1
- package/dist/data/CodeDiff.cjs +3 -18
- package/dist/data/CodeDiff.cjs.map +1 -1
- package/dist/data/CodeDiff.d.ts.map +1 -1
- package/dist/data/CodeDiff.js +3 -18
- package/dist/data/CodeDiff.js.map +1 -1
- package/dist/data/DataTable.cjs +420 -172
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +57 -4
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.grouping.cjs +26 -0
- package/dist/data/DataTable.grouping.cjs.map +1 -1
- package/dist/data/DataTable.grouping.d.ts +49 -1
- package/dist/data/DataTable.grouping.d.ts.map +1 -1
- package/dist/data/DataTable.grouping.js +26 -0
- package/dist/data/DataTable.grouping.js.map +1 -1
- package/dist/data/DataTable.js +423 -175
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/DataTableGroupingControls.cjs +84 -0
- package/dist/data/DataTableGroupingControls.cjs.map +1 -0
- package/dist/data/DataTableGroupingControls.d.ts +17 -0
- package/dist/data/DataTableGroupingControls.d.ts.map +1 -0
- package/dist/data/DataTableGroupingControls.js +84 -0
- package/dist/data/DataTableGroupingControls.js.map +1 -0
- package/dist/data/HighlightedTokens.cjs +21 -0
- package/dist/data/HighlightedTokens.cjs.map +1 -0
- package/dist/data/HighlightedTokens.d.ts +6 -0
- package/dist/data/HighlightedTokens.d.ts.map +1 -0
- package/dist/data/HighlightedTokens.js +21 -0
- package/dist/data/HighlightedTokens.js.map +1 -0
- package/dist/data/Markdown.cjs +31 -2
- package/dist/data/Markdown.cjs.map +1 -1
- package/dist/data/Markdown.d.ts +10 -1
- package/dist/data/Markdown.d.ts.map +1 -1
- package/dist/data/Markdown.js +31 -2
- package/dist/data/Markdown.js.map +1 -1
- package/dist/data/MarkdownEditor.cjs +1 -1
- package/dist/data/MarkdownEditor.cjs.map +1 -1
- package/dist/data/MarkdownEditor.js +1 -1
- package/dist/data/MarkdownEditor.js.map +1 -1
- package/dist/data/ObjectGraph.cjs +108 -23
- package/dist/data/ObjectGraph.cjs.map +1 -1
- package/dist/data/ObjectGraph.d.ts +28 -22
- package/dist/data/ObjectGraph.d.ts.map +1 -1
- package/dist/data/ObjectGraph.js +109 -24
- package/dist/data/ObjectGraph.js.map +1 -1
- package/dist/data/PromptBanner.cjs +1 -1
- package/dist/data/PromptBanner.cjs.map +1 -1
- package/dist/data/PromptBanner.js +1 -1
- package/dist/data/PromptBanner.js.map +1 -1
- package/dist/data/Tree.cjs +39 -35
- package/dist/data/Tree.cjs.map +1 -1
- package/dist/data/Tree.d.ts +7 -1
- package/dist/data/Tree.d.ts.map +1 -1
- package/dist/data/Tree.js +39 -35
- package/dist/data/Tree.js.map +1 -1
- package/dist/data/ai/ChatButton.cjs +26 -0
- package/dist/data/ai/ChatButton.cjs.map +1 -0
- package/dist/data/ai/ChatButton.d.ts +5 -0
- package/dist/data/ai/ChatButton.d.ts.map +1 -0
- package/dist/data/ai/ChatButton.js +26 -0
- package/dist/data/ai/ChatButton.js.map +1 -0
- package/dist/data/ai/ChatFab.cjs +11 -6
- package/dist/data/ai/ChatFab.cjs.map +1 -1
- package/dist/data/ai/ChatFab.d.ts +5 -3
- package/dist/data/ai/ChatFab.d.ts.map +1 -1
- package/dist/data/ai/ChatFab.js +11 -6
- package/dist/data/ai/ChatFab.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.cjs +16 -4
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts +7 -2
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +16 -4
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/SandboxConnectionsSection.cjs +71 -0
- package/dist/data/ai/SandboxConnectionsSection.cjs.map +1 -0
- package/dist/data/ai/SandboxConnectionsSection.d.ts +8 -0
- package/dist/data/ai/SandboxConnectionsSection.d.ts.map +1 -0
- package/dist/data/ai/SandboxConnectionsSection.js +71 -0
- package/dist/data/ai/SandboxConnectionsSection.js.map +1 -0
- package/dist/data/ai/SandboxCreateWizard.cjs +288 -0
- package/dist/data/ai/SandboxCreateWizard.cjs.map +1 -0
- package/dist/data/ai/SandboxCreateWizard.d.ts +11 -0
- package/dist/data/ai/SandboxCreateWizard.d.ts.map +1 -0
- package/dist/data/ai/SandboxCreateWizard.js +288 -0
- package/dist/data/ai/SandboxCreateWizard.js.map +1 -0
- package/dist/data/ai/SandboxCreateWizard.model.cjs +77 -0
- package/dist/data/ai/SandboxCreateWizard.model.cjs.map +1 -0
- package/dist/data/ai/SandboxCreateWizard.model.d.ts +32 -0
- package/dist/data/ai/SandboxCreateWizard.model.d.ts.map +1 -0
- package/dist/data/ai/SandboxCreateWizard.model.js +77 -0
- package/dist/data/ai/SandboxCreateWizard.model.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +6 -6
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +6 -6
- package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs +11 -8
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js +11 -8
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs +247 -0
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts +12 -0
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js +247 -0
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/fields.cjs +31 -22
- package/dist/data/ai/SpecRuntimeEditor/fields.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/fields.d.ts +6 -4
- package/dist/data/ai/SpecRuntimeEditor/fields.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/fields.js +32 -23
- package/dist/data/ai/SpecRuntimeEditor/fields.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs +15 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts +8 -3
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js +15 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/types.cjs +11 -0
- package/dist/data/ai/SpecRuntimeEditor/types.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/types.d.ts +53 -1
- package/dist/data/ai/SpecRuntimeEditor/types.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/types.js +11 -0
- package/dist/data/ai/SpecRuntimeEditor/types.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.cjs +23 -0
- package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts +23 -1
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.js +23 -0
- package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.cjs +28 -0
- package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts +35 -0
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.js +28 -0
- package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
- package/dist/data/ai/index.d.ts +6 -2
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/sandbox-kind-meta.cjs +16 -0
- package/dist/data/ai/sandbox-kind-meta.cjs.map +1 -0
- package/dist/data/ai/sandbox-kind-meta.d.ts +8 -0
- package/dist/data/ai/sandbox-kind-meta.d.ts.map +1 -0
- package/dist/data/ai/sandbox-kind-meta.js +16 -0
- package/dist/data/ai/sandbox-kind-meta.js.map +1 -0
- package/dist/data/badge-variants.d.ts +1 -1
- package/dist/data/cache-browser/CacheTree.cjs +1 -1
- package/dist/data/cache-browser/CacheTree.cjs.map +1 -1
- package/dist/data/cache-browser/CacheTree.js +1 -1
- package/dist/data/cache-browser/CacheTree.js.map +1 -1
- package/dist/data/callout-tones.cjs +95 -0
- package/dist/data/callout-tones.cjs.map +1 -0
- package/dist/data/callout-tones.d.ts +32 -0
- package/dist/data/callout-tones.d.ts.map +1 -0
- package/dist/data/callout-tones.js +95 -0
- package/dist/data/callout-tones.js.map +1 -0
- package/dist/data/chat/PromptInput.cjs +1 -1
- package/dist/data/chat/PromptInput.cjs.map +1 -1
- package/dist/data/chat/PromptInput.js +1 -1
- package/dist/data/chat/PromptInput.js.map +1 -1
- package/dist/data/clicky-export/ClickyExportDialog.cjs +145 -0
- package/dist/data/clicky-export/ClickyExportDialog.cjs.map +1 -0
- package/dist/data/clicky-export/ClickyExportDialog.d.ts +43 -0
- package/dist/data/clicky-export/ClickyExportDialog.d.ts.map +1 -0
- package/dist/data/clicky-export/ClickyExportDialog.js +145 -0
- package/dist/data/clicky-export/ClickyExportDialog.js.map +1 -0
- package/dist/data/clicky-export/index.d.ts +3 -0
- package/dist/data/clicky-export/index.d.ts.map +1 -0
- package/dist/data/clicky-export/useClickyExport.cjs +44 -0
- package/dist/data/clicky-export/useClickyExport.cjs.map +1 -0
- package/dist/data/clicky-export/useClickyExport.d.ts +30 -0
- package/dist/data/clicky-export/useClickyExport.d.ts.map +1 -0
- package/dist/data/clicky-export/useClickyExport.js +44 -0
- package/dist/data/clicky-export/useClickyExport.js.map +1 -0
- package/dist/data/code-highlight.cjs +0 -6
- package/dist/data/code-highlight.cjs.map +1 -1
- package/dist/data/code-highlight.d.ts +4 -3
- package/dist/data/code-highlight.d.ts.map +1 -1
- package/dist/data/code-highlight.js +1 -7
- package/dist/data/code-highlight.js.map +1 -1
- package/dist/data/data-table-server-filters.cjs +15 -2
- package/dist/data/data-table-server-filters.cjs.map +1 -1
- package/dist/data/data-table-server-filters.d.ts +12 -1
- package/dist/data/data-table-server-filters.d.ts.map +1 -1
- package/dist/data/data-table-server-filters.js +15 -2
- package/dist/data/data-table-server-filters.js.map +1 -1
- package/dist/data/diagnostics/DiagnosticsDetailPanel.cjs +6 -2
- package/dist/data/diagnostics/DiagnosticsDetailPanel.cjs.map +1 -1
- package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts +8 -1
- package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts.map +1 -1
- package/dist/data/diagnostics/DiagnosticsDetailPanel.js +6 -2
- package/dist/data/diagnostics/DiagnosticsDetailPanel.js.map +1 -1
- package/dist/data/diagnostics/ErrorDetails.cjs +58 -12
- package/dist/data/diagnostics/ErrorDetails.cjs.map +1 -1
- package/dist/data/diagnostics/ErrorDetails.d.ts +5 -2
- package/dist/data/diagnostics/ErrorDetails.d.ts.map +1 -1
- package/dist/data/diagnostics/ErrorDetails.js +58 -12
- package/dist/data/diagnostics/ErrorDetails.js.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.cjs +54 -24
- package/dist/data/diagnostics/FrameSourceWindow.cjs.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.d.ts +2 -1
- package/dist/data/diagnostics/FrameSourceWindow.d.ts.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.js +54 -24
- package/dist/data/diagnostics/FrameSourceWindow.js.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.utils.cjs.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.utils.d.ts +3 -0
- package/dist/data/diagnostics/FrameSourceWindow.utils.d.ts.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.utils.js.map +1 -1
- package/dist/data/diagnostics/JvmStackTrace.cjs +14 -30
- package/dist/data/diagnostics/JvmStackTrace.cjs.map +1 -1
- package/dist/data/diagnostics/JvmStackTrace.d.ts +6 -9
- package/dist/data/diagnostics/JvmStackTrace.d.ts.map +1 -1
- package/dist/data/diagnostics/JvmStackTrace.js +15 -31
- package/dist/data/diagnostics/JvmStackTrace.js.map +1 -1
- package/dist/data/diagnostics/RenderedStackTrace.cjs +14 -144
- package/dist/data/diagnostics/RenderedStackTrace.cjs.map +1 -1
- package/dist/data/diagnostics/RenderedStackTrace.d.ts +6 -6
- package/dist/data/diagnostics/RenderedStackTrace.d.ts.map +1 -1
- package/dist/data/diagnostics/RenderedStackTrace.js +15 -145
- package/dist/data/diagnostics/RenderedStackTrace.js.map +1 -1
- package/dist/data/diagnostics/StackFrameRow.cjs +65 -0
- package/dist/data/diagnostics/StackFrameRow.cjs.map +1 -0
- package/dist/data/diagnostics/StackFrameRow.d.ts +13 -0
- package/dist/data/diagnostics/StackFrameRow.d.ts.map +1 -0
- package/dist/data/diagnostics/StackFrameRow.js +65 -0
- package/dist/data/diagnostics/StackFrameRow.js.map +1 -0
- package/dist/data/diagnostics/ThreadCard.cjs +9 -2
- package/dist/data/diagnostics/ThreadCard.cjs.map +1 -1
- package/dist/data/diagnostics/ThreadCard.d.ts +3 -1
- package/dist/data/diagnostics/ThreadCard.d.ts.map +1 -1
- package/dist/data/diagnostics/ThreadCard.js +9 -2
- package/dist/data/diagnostics/ThreadCard.js.map +1 -1
- package/dist/data/diagnostics/error-diagnostics.cjs +17 -2
- package/dist/data/diagnostics/error-diagnostics.cjs.map +1 -1
- package/dist/data/diagnostics/error-diagnostics.d.ts +5 -0
- package/dist/data/diagnostics/error-diagnostics.d.ts.map +1 -1
- package/dist/data/diagnostics/error-diagnostics.js +17 -2
- package/dist/data/diagnostics/error-diagnostics.js.map +1 -1
- package/dist/data/diagnostics/frame-heuristics.cjs +26 -0
- package/dist/data/diagnostics/frame-heuristics.cjs.map +1 -0
- package/dist/data/diagnostics/frame-heuristics.d.ts +5 -0
- package/dist/data/diagnostics/frame-heuristics.d.ts.map +1 -0
- package/dist/data/diagnostics/frame-heuristics.js +26 -0
- package/dist/data/diagnostics/frame-heuristics.js.map +1 -0
- package/dist/data/diagnostics/jvm-stacktrace.cjs +5 -7
- package/dist/data/diagnostics/jvm-stacktrace.cjs.map +1 -1
- package/dist/data/diagnostics/jvm-stacktrace.d.ts.map +1 -1
- package/dist/data/diagnostics/jvm-stacktrace.js +5 -7
- package/dist/data/diagnostics/jvm-stacktrace.js.map +1 -1
- package/dist/data/diagnostics/stacktrace-parse.cjs +4 -9
- package/dist/data/diagnostics/stacktrace-parse.cjs.map +1 -1
- package/dist/data/diagnostics/stacktrace-parse.d.ts.map +1 -1
- package/dist/data/diagnostics/stacktrace-parse.js +4 -9
- package/dist/data/diagnostics/stacktrace-parse.js.map +1 -1
- package/dist/data/logs-normalize.cjs +18 -3
- package/dist/data/logs-normalize.cjs.map +1 -1
- package/dist/data/logs-normalize.d.ts +17 -0
- package/dist/data/logs-normalize.d.ts.map +1 -1
- package/dist/data/logs-normalize.js +18 -3
- package/dist/data/logs-normalize.js.map +1 -1
- package/dist/data/object-graph-nodes.cjs +24 -0
- package/dist/data/object-graph-nodes.cjs.map +1 -0
- package/dist/data/object-graph-nodes.d.ts +34 -0
- package/dist/data/object-graph-nodes.d.ts.map +1 -0
- package/dist/data/object-graph-nodes.js +24 -0
- package/dist/data/object-graph-nodes.js.map +1 -0
- package/dist/data/query-browser/QueryBrowser.cjs +52 -32
- package/dist/data/query-browser/QueryBrowser.cjs.map +1 -1
- package/dist/data/query-browser/QueryBrowser.d.ts +1 -1
- package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowser.js +53 -33
- package/dist/data/query-browser/QueryBrowser.js.map +1 -1
- package/dist/data/query-browser/QueryBrowser.types.cjs.map +1 -1
- package/dist/data/query-browser/QueryBrowser.types.d.ts +12 -0
- package/dist/data/query-browser/QueryBrowser.types.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowser.types.js.map +1 -1
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.cjs +58 -10
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.cjs.map +1 -1
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.js +58 -10
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.js.map +1 -1
- package/dist/data/query-browser/QueryBrowserResults.cjs +4 -4
- package/dist/data/query-browser/QueryBrowserResults.cjs.map +1 -1
- package/dist/data/query-browser/QueryBrowserResults.d.ts +4 -2
- package/dist/data/query-browser/QueryBrowserResults.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowserResults.js +4 -4
- package/dist/data/query-browser/QueryBrowserResults.js.map +1 -1
- package/dist/data/query-info/QueryInfoDialog.cjs +106 -0
- package/dist/data/query-info/QueryInfoDialog.cjs.map +1 -0
- package/dist/data/query-info/QueryInfoDialog.d.ts +16 -0
- package/dist/data/query-info/QueryInfoDialog.d.ts.map +1 -0
- package/dist/data/query-info/QueryInfoDialog.js +106 -0
- package/dist/data/query-info/QueryInfoDialog.js.map +1 -0
- package/dist/data/query-info/index.d.ts +4 -0
- package/dist/data/query-info/index.d.ts.map +1 -0
- package/dist/data/query-info/queryInfo.cjs +42 -0
- package/dist/data/query-info/queryInfo.cjs.map +1 -0
- package/dist/data/query-info/queryInfo.d.ts +45 -0
- package/dist/data/query-info/queryInfo.d.ts.map +1 -0
- package/dist/data/query-info/queryInfo.js +42 -0
- package/dist/data/query-info/queryInfo.js.map +1 -0
- package/dist/data/query-info/useQueryInfo.cjs +48 -0
- package/dist/data/query-info/useQueryInfo.cjs.map +1 -0
- package/dist/data/query-info/useQueryInfo.d.ts +26 -0
- package/dist/data/query-info/useQueryInfo.d.ts.map +1 -0
- package/dist/data/query-info/useQueryInfo.js +48 -0
- package/dist/data/query-info/useQueryInfo.js.map +1 -0
- package/dist/data/use-infinite-rows.cjs +20 -0
- package/dist/data/use-infinite-rows.cjs.map +1 -0
- package/dist/data/use-infinite-rows.d.ts +20 -0
- package/dist/data/use-infinite-rows.d.ts.map +1 -0
- package/dist/data/use-infinite-rows.js +20 -0
- package/dist/data/use-infinite-rows.js.map +1 -0
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +51 -1
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +11 -4
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +52 -2
- package/dist/data.js.map +1 -1
- package/dist/hooks/use-log-tail.cjs +213 -0
- package/dist/hooks/use-log-tail.cjs.map +1 -0
- package/dist/hooks/use-log-tail.d.ts +112 -0
- package/dist/hooks/use-log-tail.d.ts.map +1 -0
- package/dist/hooks/use-log-tail.js +213 -0
- package/dist/hooks/use-log-tail.js.map +1 -0
- package/dist/hooks.cjs +10 -0
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.d.ts +2 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +10 -0
- package/dist/hooks.js.map +1 -1
- package/dist/icons/components/UiArrowsCounterClockwise.cjs +15 -0
- package/dist/icons/components/UiArrowsCounterClockwise.cjs.map +1 -0
- package/dist/icons/components/UiArrowsCounterClockwise.d.ts +15 -0
- package/dist/icons/components/UiArrowsCounterClockwise.d.ts.map +1 -0
- package/dist/icons/components/UiArrowsCounterClockwise.js +15 -0
- package/dist/icons/components/UiArrowsCounterClockwise.js.map +1 -0
- package/dist/icons/components/UiClipboardText.cjs +15 -0
- package/dist/icons/components/UiClipboardText.cjs.map +1 -0
- package/dist/icons/components/UiClipboardText.d.ts +15 -0
- package/dist/icons/components/UiClipboardText.d.ts.map +1 -0
- package/dist/icons/components/UiClipboardText.js +15 -0
- package/dist/icons/components/UiClipboardText.js.map +1 -0
- package/dist/icons/components/UiIdentificationCard.cjs +15 -0
- package/dist/icons/components/UiIdentificationCard.cjs.map +1 -0
- package/dist/icons/components/UiIdentificationCard.d.ts +15 -0
- package/dist/icons/components/UiIdentificationCard.d.ts.map +1 -0
- package/dist/icons/components/UiIdentificationCard.js +15 -0
- package/dist/icons/components/UiIdentificationCard.js.map +1 -0
- package/dist/icons/components/UiLockKey.cjs +15 -0
- package/dist/icons/components/UiLockKey.cjs.map +1 -0
- package/dist/icons/components/UiLockKey.d.ts +15 -0
- package/dist/icons/components/UiLockKey.d.ts.map +1 -0
- package/dist/icons/components/UiLockKey.js +15 -0
- package/dist/icons/components/UiLockKey.js.map +1 -0
- package/dist/icons/components/UiSteps.cjs +15 -0
- package/dist/icons/components/UiSteps.cjs.map +1 -0
- package/dist/icons/components/UiSteps.d.ts +15 -0
- package/dist/icons/components/UiSteps.d.ts.map +1 -0
- package/dist/icons/components/UiSteps.js +15 -0
- package/dist/icons/components/UiSteps.js.map +1 -0
- package/dist/icons/components/UiUserGear.cjs +15 -0
- package/dist/icons/components/UiUserGear.cjs.map +1 -0
- package/dist/icons/components/UiUserGear.d.ts +15 -0
- package/dist/icons/components/UiUserGear.d.ts.map +1 -0
- package/dist/icons/components/UiUserGear.js +15 -0
- package/dist/icons/components/UiUserGear.js.map +1 -0
- package/dist/icons/components/UiUsersFour.cjs +15 -0
- package/dist/icons/components/UiUsersFour.cjs.map +1 -0
- package/dist/icons/components/UiUsersFour.d.ts +15 -0
- package/dist/icons/components/UiUsersFour.d.ts.map +1 -0
- package/dist/icons/components/UiUsersFour.js +15 -0
- package/dist/icons/components/UiUsersFour.js.map +1 -0
- package/dist/icons/index.d.ts +14 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/registry.cjs +15 -1
- package/dist/icons/registry.cjs.map +1 -1
- package/dist/icons/registry.d.ts.map +1 -1
- package/dist/icons/registry.js +15 -1
- package/dist/icons/registry.js.map +1 -1
- package/dist/icons.cjs +21 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +21 -0
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +93 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +94 -2
- package/dist/index.js.map +1 -1
- package/dist/jotai.d.ts +1 -1
- package/dist/jotai.d.ts.map +1 -1
- package/dist/lib/collections.cjs +31 -0
- package/dist/lib/collections.cjs.map +1 -0
- package/dist/lib/collections.d.ts +6 -0
- package/dist/lib/collections.d.ts.map +1 -0
- package/dist/lib/collections.js +31 -0
- package/dist/lib/collections.js.map +1 -0
- package/dist/mdx-editor.cjs +12 -0
- package/dist/mdx-editor.cjs.map +1 -1
- package/dist/mdx-editor.css +1 -1
- package/dist/mdx-editor.d.ts +4 -1
- package/dist/mdx-editor.d.ts.map +1 -1
- package/dist/mdx-editor.js +13 -1
- package/dist/mdx-editor.js.map +1 -1
- package/dist/overlay/CommandPalette.cjs +1 -1
- package/dist/overlay/CommandPalette.cjs.map +1 -1
- package/dist/overlay/CommandPalette.js +1 -1
- package/dist/overlay/CommandPalette.js.map +1 -1
- package/dist/profiles/cel/celEditor.cjs +395 -0
- package/dist/profiles/cel/celEditor.cjs.map +1 -0
- package/dist/profiles/cel/celEditor.d.ts +51 -0
- package/dist/profiles/cel/celEditor.d.ts.map +1 -0
- package/dist/profiles/cel/celEditor.js +395 -0
- package/dist/profiles/cel/celEditor.js.map +1 -0
- package/dist/profiles/cel/celEditorExtension.cjs +15 -0
- package/dist/profiles/cel/celEditorExtension.cjs.map +1 -0
- package/dist/profiles/cel/celEditorExtension.d.ts +5 -0
- package/dist/profiles/cel/celEditorExtension.d.ts.map +1 -0
- package/dist/profiles/cel/celEditorExtension.js +15 -0
- package/dist/profiles/cel/celEditorExtension.js.map +1 -0
- package/dist/profiles/cel/celExpression.cjs +174 -0
- package/dist/profiles/cel/celExpression.cjs.map +1 -0
- package/dist/profiles/cel/celExpression.d.ts +138 -0
- package/dist/profiles/cel/celExpression.d.ts.map +1 -0
- package/dist/profiles/cel/celExpression.js +174 -0
- package/dist/profiles/cel/celExpression.js.map +1 -0
- package/dist/profiles/cel/celPath.cjs +47 -0
- package/dist/profiles/cel/celPath.cjs.map +1 -0
- package/dist/profiles/cel/celPath.d.ts +31 -0
- package/dist/profiles/cel/celPath.d.ts.map +1 -0
- package/dist/profiles/cel/celPath.js +47 -0
- package/dist/profiles/cel/celPath.js.map +1 -0
- package/dist/profiles/cel/index.d.ts +5 -0
- package/dist/profiles/cel/index.d.ts.map +1 -0
- package/dist/profiles/connections/catalogTree.cjs +133 -0
- package/dist/profiles/connections/catalogTree.cjs.map +1 -0
- package/dist/profiles/connections/catalogTree.d.ts.map +1 -0
- package/dist/profiles/connections/catalogTree.js +133 -0
- package/dist/profiles/connections/catalogTree.js.map +1 -0
- package/dist/profiles/connections/connectionBrowserModel.cjs +191 -0
- package/dist/profiles/connections/connectionBrowserModel.cjs.map +1 -0
- package/dist/profiles/connections/connectionBrowserModel.d.ts +177 -0
- package/dist/profiles/connections/connectionBrowserModel.d.ts.map +1 -0
- package/dist/profiles/connections/connectionBrowserModel.js +191 -0
- package/dist/profiles/connections/connectionBrowserModel.js.map +1 -0
- package/dist/profiles/connections/connectionQueryWorkspace.cjs +196 -0
- package/dist/profiles/connections/connectionQueryWorkspace.cjs.map +1 -0
- package/dist/profiles/connections/connectionQueryWorkspace.d.ts +63 -0
- package/dist/profiles/connections/connectionQueryWorkspace.d.ts.map +1 -0
- package/dist/profiles/connections/connectionQueryWorkspace.js +196 -0
- package/dist/profiles/connections/connectionQueryWorkspace.js.map +1 -0
- package/dist/profiles/connections/connectionQueryWorkspaceModel.cjs +28 -0
- package/dist/profiles/connections/connectionQueryWorkspaceModel.cjs.map +1 -0
- package/dist/profiles/connections/connectionQueryWorkspaceModel.d.ts +38 -0
- package/dist/profiles/connections/connectionQueryWorkspaceModel.d.ts.map +1 -0
- package/dist/profiles/connections/connectionQueryWorkspaceModel.js +28 -0
- package/dist/profiles/connections/connectionQueryWorkspaceModel.js.map +1 -0
- package/dist/profiles/connections/index.d.ts +5 -0
- package/dist/profiles/connections/index.d.ts.map +1 -0
- package/dist/profiles/editor/index.d.ts +12 -0
- package/dist/profiles/editor/index.d.ts.map +1 -0
- package/dist/profiles/editor/profileBuilder.cjs +65 -0
- package/dist/profiles/editor/profileBuilder.cjs.map +1 -0
- package/dist/profiles/editor/profileBuilder.d.ts.map +1 -0
- package/dist/profiles/editor/profileBuilder.js +65 -0
- package/dist/profiles/editor/profileBuilder.js.map +1 -0
- package/dist/profiles/editor/profileBuilderExtension.cjs.map +1 -0
- package/dist/profiles/editor/profileBuilderExtension.d.ts +5 -0
- package/dist/profiles/editor/profileBuilderExtension.d.ts.map +1 -0
- package/dist/profiles/editor/profileBuilderExtension.js.map +1 -0
- package/dist/profiles/editor/profileBuilderModel.cjs +44 -0
- package/dist/profiles/editor/profileBuilderModel.cjs.map +1 -0
- package/dist/profiles/editor/profileBuilderModel.d.ts +4 -0
- package/dist/profiles/editor/profileBuilderModel.d.ts.map +1 -0
- package/dist/profiles/editor/profileBuilderModel.js +44 -0
- package/dist/profiles/editor/profileBuilderModel.js.map +1 -0
- package/dist/profiles/editor/profileBuilderWorkspace.cjs +333 -0
- package/dist/profiles/editor/profileBuilderWorkspace.cjs.map +1 -0
- package/dist/profiles/editor/profileBuilderWorkspace.d.ts +21 -0
- package/dist/profiles/editor/profileBuilderWorkspace.d.ts.map +1 -0
- package/dist/profiles/editor/profileBuilderWorkspace.js +333 -0
- package/dist/profiles/editor/profileBuilderWorkspace.js.map +1 -0
- package/dist/profiles/editor/profileEditor.cjs +471 -0
- package/dist/profiles/editor/profileEditor.cjs.map +1 -0
- package/dist/profiles/editor/profileEditor.d.ts +20 -0
- package/dist/profiles/editor/profileEditor.d.ts.map +1 -0
- package/dist/profiles/editor/profileEditor.js +471 -0
- package/dist/profiles/editor/profileEditor.js.map +1 -0
- package/dist/profiles/editor/profileEditorModel.cjs +206 -0
- package/dist/profiles/editor/profileEditorModel.cjs.map +1 -0
- package/dist/profiles/editor/profileEditorModel.d.ts +76 -0
- package/dist/profiles/editor/profileEditorModel.d.ts.map +1 -0
- package/dist/profiles/editor/profileEditorModel.js +206 -0
- package/dist/profiles/editor/profileEditorModel.js.map +1 -0
- package/dist/profiles/editor/profileEditorPreview.cjs.map +1 -0
- package/dist/profiles/editor/profileEditorPreview.d.ts +12 -0
- package/dist/profiles/editor/profileEditorPreview.d.ts.map +1 -0
- package/dist/profiles/editor/profileEditorPreview.js.map +1 -0
- package/dist/profiles/editor/profileEditorRail.cjs.map +1 -0
- package/dist/profiles/editor/profileEditorRail.d.ts.map +1 -0
- package/dist/profiles/editor/profileEditorRail.js.map +1 -0
- package/dist/profiles/editor/profileEditorRaw.cjs +118 -0
- package/dist/profiles/editor/profileEditorRaw.cjs.map +1 -0
- package/dist/profiles/editor/profileEditorRaw.d.ts +7 -0
- package/dist/profiles/editor/profileEditorRaw.d.ts.map +1 -0
- package/dist/profiles/editor/profileEditorRaw.js +118 -0
- package/dist/profiles/editor/profileEditorRaw.js.map +1 -0
- package/dist/profiles/editor/profileEditorRoutes.cjs.map +1 -0
- package/dist/profiles/editor/profileEditorRoutes.d.ts.map +1 -0
- package/dist/profiles/editor/profileEditorRoutes.js.map +1 -0
- package/dist/profiles/editor/profileEditorSections.cjs +247 -0
- package/dist/profiles/editor/profileEditorSections.cjs.map +1 -0
- package/dist/profiles/editor/profileEditorSections.d.ts +26 -0
- package/dist/profiles/editor/profileEditorSections.d.ts.map +1 -0
- package/dist/profiles/editor/profileEditorSections.js +247 -0
- package/dist/profiles/editor/profileEditorSections.js.map +1 -0
- package/dist/profiles/editor/profileYaml.cjs +19 -0
- package/dist/profiles/editor/profileYaml.cjs.map +1 -0
- package/dist/profiles/editor/profileYaml.d.ts +4 -0
- package/dist/profiles/editor/profileYaml.d.ts.map +1 -0
- package/dist/profiles/editor/profileYaml.js +19 -0
- package/dist/profiles/editor/profileYaml.js.map +1 -0
- package/dist/profiles/editor/testSchema.d.ts +3 -0
- package/dist/profiles/editor/testSchema.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esFieldValues.cjs +57 -0
- package/dist/profiles/elasticsearch/esFieldValues.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esFieldValues.d.ts +45 -0
- package/dist/profiles/elasticsearch/esFieldValues.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esFieldValues.js +57 -0
- package/dist/profiles/elasticsearch/esFieldValues.js.map +1 -0
- package/dist/profiles/elasticsearch/esParamMappingModel.cjs +301 -0
- package/dist/profiles/elasticsearch/esParamMappingModel.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esParamMappingModel.d.ts +37 -0
- package/dist/profiles/elasticsearch/esParamMappingModel.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esParamMappingModel.js +301 -0
- package/dist/profiles/elasticsearch/esParamMappingModel.js.map +1 -0
- package/dist/profiles/elasticsearch/esParamMappingPill.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esParamMappingPill.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esParamMappingPill.js.map +1 -0
- package/dist/profiles/elasticsearch/esParamOperandExtension.cjs +75 -0
- package/dist/profiles/elasticsearch/esParamOperandExtension.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts +11 -0
- package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esParamOperandExtension.js +75 -0
- package/dist/profiles/elasticsearch/esParamOperandExtension.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryBuilder.cjs +249 -0
- package/dist/profiles/elasticsearch/esQueryBuilder.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryBuilder.d.ts +35 -0
- package/dist/profiles/elasticsearch/esQueryBuilder.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryBuilder.js +249 -0
- package/dist/profiles/elasticsearch/esQueryBuilder.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryBuilderExtension.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryBuilderExtension.d.ts +5 -0
- package/dist/profiles/elasticsearch/esQueryBuilderExtension.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryBuilderExtension.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryBuilderForm.cjs +59 -0
- package/dist/profiles/elasticsearch/esQueryBuilderForm.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryBuilderForm.d.ts +25 -0
- package/dist/profiles/elasticsearch/esQueryBuilderForm.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryBuilderForm.js +59 -0
- package/dist/profiles/elasticsearch/esQueryBuilderForm.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryBuilderModel.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryBuilderModel.d.ts +110 -0
- package/dist/profiles/elasticsearch/esQueryBuilderModel.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryBuilderModel.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryClauseGroup.cjs +144 -0
- package/dist/profiles/elasticsearch/esQueryClauseGroup.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryClauseGroup.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryClauseGroup.js +144 -0
- package/dist/profiles/elasticsearch/esQueryClauseGroup.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryCompile.cjs +48 -0
- package/dist/profiles/elasticsearch/esQueryCompile.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryCompile.d.ts +40 -0
- package/dist/profiles/elasticsearch/esQueryCompile.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryCompile.js +48 -0
- package/dist/profiles/elasticsearch/esQueryCompile.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryConditionRow.cjs +168 -0
- package/dist/profiles/elasticsearch/esQueryConditionRow.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts +37 -0
- package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryConditionRow.js +168 -0
- package/dist/profiles/elasticsearch/esQueryConditionRow.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryGroupModel.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryGroupModel.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryGroupModel.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOccur.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOccur.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOccur.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOperandEditors.cjs +279 -0
- package/dist/profiles/elasticsearch/esQueryOperandEditors.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts +24 -0
- package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOperandEditors.js +279 -0
- package/dist/profiles/elasticsearch/esQueryOperandEditors.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOperandModel.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOperandModel.d.ts +17 -0
- package/dist/profiles/elasticsearch/esQueryOperandModel.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOperandModel.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOperators.cjs +166 -0
- package/dist/profiles/elasticsearch/esQueryOperators.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOperators.d.ts +84 -0
- package/dist/profiles/elasticsearch/esQueryOperators.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOperators.js +166 -0
- package/dist/profiles/elasticsearch/esQueryOperators.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOutputEditor.cjs +138 -0
- package/dist/profiles/elasticsearch/esQueryOutputEditor.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts +7 -0
- package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOutputEditor.js +138 -0
- package/dist/profiles/elasticsearch/esQueryOutputEditor.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOutputModel.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOutputModel.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryOutputModel.js.map +1 -0
- package/dist/profiles/elasticsearch/esQueryPreview.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQueryPreview.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQueryPreview.js.map +1 -0
- package/dist/profiles/elasticsearch/esQuerySortEditor.cjs +143 -0
- package/dist/profiles/elasticsearch/esQuerySortEditor.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQuerySortEditor.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQuerySortEditor.js +143 -0
- package/dist/profiles/elasticsearch/esQuerySortEditor.js.map +1 -0
- package/dist/profiles/elasticsearch/esQuerySortModel.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esQuerySortModel.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esQuerySortModel.js.map +1 -0
- package/dist/profiles/elasticsearch/esValueCombobox.cjs +86 -0
- package/dist/profiles/elasticsearch/esValueCombobox.cjs.map +1 -0
- package/dist/profiles/elasticsearch/esValueCombobox.d.ts.map +1 -0
- package/dist/profiles/elasticsearch/esValueCombobox.js +86 -0
- package/dist/profiles/elasticsearch/esValueCombobox.js.map +1 -0
- package/dist/profiles/elasticsearch/index.d.ts +23 -0
- package/dist/profiles/elasticsearch/index.d.ts.map +1 -0
- package/dist/profiles/fields/index.d.ts +9 -0
- package/dist/profiles/fields/index.d.ts.map +1 -0
- package/dist/profiles/fields/profileColumnModel.cjs.map +1 -0
- package/dist/profiles/fields/profileColumnModel.d.ts +8 -0
- package/dist/profiles/fields/profileColumnModel.d.ts.map +1 -0
- package/dist/profiles/fields/profileColumnModel.js.map +1 -0
- package/dist/profiles/fields/profileColumnPicker.cjs +68 -0
- package/dist/profiles/fields/profileColumnPicker.cjs.map +1 -0
- package/dist/profiles/fields/profileColumnPicker.d.ts +11 -0
- package/dist/profiles/fields/profileColumnPicker.d.ts.map +1 -0
- package/dist/profiles/fields/profileColumnPicker.js +68 -0
- package/dist/profiles/fields/profileColumnPicker.js.map +1 -0
- package/dist/profiles/fields/profileFieldControls.cjs +50 -0
- package/dist/profiles/fields/profileFieldControls.cjs.map +1 -0
- package/dist/profiles/fields/profileFieldControls.d.ts +37 -0
- package/dist/profiles/fields/profileFieldControls.d.ts.map +1 -0
- package/dist/profiles/fields/profileFieldControls.js +50 -0
- package/dist/profiles/fields/profileFieldControls.js.map +1 -0
- package/dist/profiles/fields/profileFieldEditor.cjs +198 -0
- package/dist/profiles/fields/profileFieldEditor.cjs.map +1 -0
- package/dist/profiles/fields/profileFieldEditor.d.ts +34 -0
- package/dist/profiles/fields/profileFieldEditor.d.ts.map +1 -0
- package/dist/profiles/fields/profileFieldEditor.js +198 -0
- package/dist/profiles/fields/profileFieldEditor.js.map +1 -0
- package/dist/profiles/fields/profileFieldFilterEditor.cjs +122 -0
- package/dist/profiles/fields/profileFieldFilterEditor.cjs.map +1 -0
- package/dist/profiles/fields/profileFieldFilterEditor.d.ts +16 -0
- package/dist/profiles/fields/profileFieldFilterEditor.d.ts.map +1 -0
- package/dist/profiles/fields/profileFieldFilterEditor.js +122 -0
- package/dist/profiles/fields/profileFieldFilterEditor.js.map +1 -0
- package/dist/profiles/fields/profileFieldIcons.cjs +102 -0
- package/dist/profiles/fields/profileFieldIcons.cjs.map +1 -0
- package/dist/profiles/fields/profileFieldIcons.d.ts +10 -0
- package/dist/profiles/fields/profileFieldIcons.d.ts.map +1 -0
- package/dist/profiles/fields/profileFieldIcons.js +102 -0
- package/dist/profiles/fields/profileFieldIcons.js.map +1 -0
- package/dist/profiles/fields/profileFieldList.cjs +215 -0
- package/dist/profiles/fields/profileFieldList.cjs.map +1 -0
- package/dist/profiles/fields/profileFieldList.d.ts +24 -0
- package/dist/profiles/fields/profileFieldList.d.ts.map +1 -0
- package/dist/profiles/fields/profileFieldList.js +215 -0
- package/dist/profiles/fields/profileFieldList.js.map +1 -0
- package/dist/profiles/fields/profileFieldManager.cjs +103 -0
- package/dist/profiles/fields/profileFieldManager.cjs.map +1 -0
- package/dist/profiles/fields/profileFieldManager.d.ts.map +1 -0
- package/dist/profiles/fields/profileFieldManager.js +103 -0
- package/dist/profiles/fields/profileFieldManager.js.map +1 -0
- package/dist/profiles/fields/profileFieldState.cjs +136 -0
- package/dist/profiles/fields/profileFieldState.cjs.map +1 -0
- package/dist/profiles/fields/profileFieldState.d.ts +41 -0
- package/dist/profiles/fields/profileFieldState.d.ts.map +1 -0
- package/dist/profiles/fields/profileFieldState.js +136 -0
- package/dist/profiles/fields/profileFieldState.js.map +1 -0
- package/dist/profiles/fields/profileFieldTypes.cjs.map +1 -0
- package/dist/profiles/fields/profileFieldTypes.d.ts +8 -0
- package/dist/profiles/fields/profileFieldTypes.d.ts.map +1 -0
- package/dist/profiles/fields/profileFieldTypes.js.map +1 -0
- package/dist/profiles/fields/profileParamModel.cjs.map +1 -0
- package/dist/profiles/fields/profileParamModel.d.ts +3 -0
- package/dist/profiles/fields/profileParamModel.d.ts.map +1 -0
- package/dist/profiles/fields/profileParamModel.js.map +1 -0
- package/dist/profiles/processor/index.d.ts +6 -0
- package/dist/profiles/processor/index.d.ts.map +1 -0
- package/dist/profiles/processor/processorConfig.cjs +185 -0
- package/dist/profiles/processor/processorConfig.cjs.map +1 -0
- package/dist/profiles/processor/processorConfig.d.ts +34 -0
- package/dist/profiles/processor/processorConfig.d.ts.map +1 -0
- package/dist/profiles/processor/processorConfig.js +185 -0
- package/dist/profiles/processor/processorConfig.js.map +1 -0
- package/dist/profiles/processor/processorPipeline.cjs +300 -0
- package/dist/profiles/processor/processorPipeline.cjs.map +1 -0
- package/dist/profiles/processor/processorPipeline.d.ts +11 -0
- package/dist/profiles/processor/processorPipeline.d.ts.map +1 -0
- package/dist/profiles/processor/processorPipeline.js +300 -0
- package/dist/profiles/processor/processorPipeline.js.map +1 -0
- package/dist/profiles/processor/processorPipelineEditor.cjs +330 -0
- package/dist/profiles/processor/processorPipelineEditor.cjs.map +1 -0
- package/dist/profiles/processor/processorPipelineEditor.d.ts +16 -0
- package/dist/profiles/processor/processorPipelineEditor.d.ts.map +1 -0
- package/dist/profiles/processor/processorPipelineEditor.js +330 -0
- package/dist/profiles/processor/processorPipelineEditor.js.map +1 -0
- package/dist/profiles/processor/processorPipelineExtension.cjs +28 -0
- package/dist/profiles/processor/processorPipelineExtension.cjs.map +1 -0
- package/dist/profiles/processor/processorPipelineExtension.d.ts +5 -0
- package/dist/profiles/processor/processorPipelineExtension.d.ts.map +1 -0
- package/dist/profiles/processor/processorPipelineExtension.js +28 -0
- package/dist/profiles/processor/processorPipelineExtension.js.map +1 -0
- package/dist/profiles/processor/processorPreview.cjs +55 -0
- package/dist/profiles/processor/processorPreview.cjs.map +1 -0
- package/dist/profiles/processor/processorPreview.d.ts +20 -0
- package/dist/profiles/processor/processorPreview.d.ts.map +1 -0
- package/dist/profiles/processor/processorPreview.js +55 -0
- package/dist/profiles/processor/processorPreview.js.map +1 -0
- package/dist/profiles/processor/processorPreviewTable.cjs +103 -0
- package/dist/profiles/processor/processorPreviewTable.cjs.map +1 -0
- package/dist/profiles/processor/processorPreviewTable.d.ts +6 -0
- package/dist/profiles/processor/processorPreviewTable.d.ts.map +1 -0
- package/dist/profiles/processor/processorPreviewTable.js +103 -0
- package/dist/profiles/processor/processorPreviewTable.js.map +1 -0
- package/dist/profiles/processor/processorSampleParams.cjs +38 -0
- package/dist/profiles/processor/processorSampleParams.cjs.map +1 -0
- package/dist/profiles/processor/processorSampleParams.d.ts +6 -0
- package/dist/profiles/processor/processorSampleParams.d.ts.map +1 -0
- package/dist/profiles/processor/processorSampleParams.js +38 -0
- package/dist/profiles/processor/processorSampleParams.js.map +1 -0
- package/dist/profiles/profileApi.cjs +16 -0
- package/dist/profiles/profileApi.cjs.map +1 -1
- package/dist/profiles/profileApi.d.ts +36 -3
- package/dist/profiles/profileApi.d.ts.map +1 -1
- package/dist/profiles/profileApi.js +16 -0
- package/dist/profiles/profileApi.js.map +1 -1
- package/dist/profiles/query/index.d.ts +9 -0
- package/dist/profiles/query/index.d.ts.map +1 -0
- package/dist/profiles/query/jsonPathSample.cjs +75 -0
- package/dist/profiles/query/jsonPathSample.cjs.map +1 -0
- package/dist/profiles/query/jsonPathSample.d.ts +27 -0
- package/dist/profiles/query/jsonPathSample.d.ts.map +1 -0
- package/dist/profiles/query/jsonPathSample.js +75 -0
- package/dist/profiles/query/jsonPathSample.js.map +1 -0
- package/dist/profiles/query/jsonPathSampleRow.cjs.map +1 -0
- package/dist/profiles/query/jsonPathSampleRow.d.ts.map +1 -0
- package/dist/profiles/query/jsonPathSampleRow.js.map +1 -0
- package/dist/profiles/query/kubernetesWorkloadTarget.cjs +43 -0
- package/dist/profiles/query/kubernetesWorkloadTarget.cjs.map +1 -0
- package/dist/profiles/query/kubernetesWorkloadTarget.d.ts +3 -0
- package/dist/profiles/query/kubernetesWorkloadTarget.d.ts.map +1 -0
- package/dist/profiles/query/kubernetesWorkloadTarget.js +43 -0
- package/dist/profiles/query/kubernetesWorkloadTarget.js.map +1 -0
- package/dist/profiles/query/kubernetesWorkloadTargetPicker.cjs +53 -0
- package/dist/profiles/query/kubernetesWorkloadTargetPicker.cjs.map +1 -0
- package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts +12 -0
- package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts.map +1 -0
- package/dist/profiles/query/kubernetesWorkloadTargetPicker.js +53 -0
- package/dist/profiles/query/kubernetesWorkloadTargetPicker.js.map +1 -0
- package/dist/profiles/query/profileSamplePayload.cjs.map +1 -0
- package/dist/profiles/query/profileSamplePayload.d.ts +13 -0
- package/dist/profiles/query/profileSamplePayload.d.ts.map +1 -0
- package/dist/profiles/query/profileSamplePayload.js.map +1 -0
- package/dist/profiles/query/prometheusResults.cjs +60 -0
- package/dist/profiles/query/prometheusResults.cjs.map +1 -0
- package/dist/profiles/query/prometheusResults.d.ts +7 -0
- package/dist/profiles/query/prometheusResults.d.ts.map +1 -0
- package/dist/profiles/query/prometheusResults.js +60 -0
- package/dist/profiles/query/prometheusResults.js.map +1 -0
- package/dist/profiles/query/queryRowLimits.cjs +82 -0
- package/dist/profiles/query/queryRowLimits.cjs.map +1 -0
- package/dist/profiles/query/queryRowLimits.d.ts +9 -0
- package/dist/profiles/query/queryRowLimits.d.ts.map +1 -0
- package/dist/profiles/query/queryRowLimits.js +82 -0
- package/dist/profiles/query/queryRowLimits.js.map +1 -0
- package/dist/profiles/query/queryRowLimitsModel.cjs.map +1 -0
- package/dist/profiles/query/queryRowLimitsModel.d.ts +9 -0
- package/dist/profiles/query/queryRowLimitsModel.d.ts.map +1 -0
- package/dist/profiles/query/queryRowLimitsModel.js.map +1 -0
- package/dist/profiles/query/queryTargetPicker.cjs +42 -0
- package/dist/profiles/query/queryTargetPicker.cjs.map +1 -0
- package/dist/profiles/query/queryTargetPicker.d.ts +8 -0
- package/dist/profiles/query/queryTargetPicker.d.ts.map +1 -0
- package/dist/profiles/query/queryTargetPicker.js +42 -0
- package/dist/profiles/query/queryTargetPicker.js.map +1 -0
- package/dist/profiles/wizard/index.d.ts +6 -0
- package/dist/profiles/wizard/index.d.ts.map +1 -0
- package/dist/profiles/wizard/profileWizard.cjs +257 -0
- package/dist/profiles/wizard/profileWizard.cjs.map +1 -0
- package/dist/profiles/wizard/profileWizard.d.ts +12 -0
- package/dist/profiles/wizard/profileWizard.d.ts.map +1 -0
- package/dist/profiles/wizard/profileWizard.js +257 -0
- package/dist/profiles/wizard/profileWizard.js.map +1 -0
- package/dist/profiles/wizard/profileWizardHelp.cjs.map +1 -0
- package/dist/profiles/wizard/profileWizardHelp.d.ts.map +1 -0
- package/dist/profiles/wizard/profileWizardHelp.js.map +1 -0
- package/dist/profiles/wizard/profileWizardModel.cjs +204 -0
- package/dist/profiles/wizard/profileWizardModel.cjs.map +1 -0
- package/dist/profiles/wizard/profileWizardModel.d.ts +266 -0
- package/dist/profiles/wizard/profileWizardModel.d.ts.map +1 -0
- package/dist/profiles/wizard/profileWizardModel.js +204 -0
- package/dist/profiles/wizard/profileWizardModel.js.map +1 -0
- package/dist/profiles/wizard/profileWizardQueryStep.cjs +215 -0
- package/dist/profiles/wizard/profileWizardQueryStep.cjs.map +1 -0
- package/dist/profiles/wizard/profileWizardQueryStep.d.ts.map +1 -0
- package/dist/profiles/wizard/profileWizardQueryStep.js +215 -0
- package/dist/profiles/wizard/profileWizardQueryStep.js.map +1 -0
- package/dist/profiles/wizard/profileWizardSteps.cjs +214 -0
- package/dist/profiles/wizard/profileWizardSteps.cjs.map +1 -0
- package/dist/profiles/wizard/profileWizardSteps.d.ts.map +1 -0
- package/dist/profiles/wizard/profileWizardSteps.js +214 -0
- package/dist/profiles/wizard/profileWizardSteps.js.map +1 -0
- package/dist/profiles.cjs +237 -178
- package/dist/profiles.cjs.map +1 -1
- package/dist/profiles.d.ts +8 -55
- package/dist/profiles.d.ts.map +1 -1
- package/dist/profiles.js +117 -58
- package/dist/profiles.js.map +1 -1
- package/dist/rpc/ChatLayer.cjs +27 -0
- package/dist/rpc/ChatLayer.cjs.map +1 -0
- package/dist/rpc/ChatLayer.d.ts +11 -0
- package/dist/rpc/ChatLayer.d.ts.map +1 -0
- package/dist/rpc/ChatLayer.js +27 -0
- package/dist/rpc/ChatLayer.js.map +1 -0
- package/dist/rpc/CommandForm.cjs +9 -19
- package/dist/rpc/CommandForm.cjs.map +1 -1
- package/dist/rpc/CommandForm.d.ts +8 -2
- package/dist/rpc/CommandForm.d.ts.map +1 -1
- package/dist/rpc/CommandForm.js +10 -20
- package/dist/rpc/CommandForm.js.map +1 -1
- package/dist/rpc/CommandOutput.cjs +29 -4
- package/dist/rpc/CommandOutput.cjs.map +1 -1
- package/dist/rpc/CommandOutput.d.ts +6 -2
- package/dist/rpc/CommandOutput.d.ts.map +1 -1
- package/dist/rpc/CommandOutput.js +29 -4
- package/dist/rpc/CommandOutput.js.map +1 -1
- package/dist/rpc/EndpointList.cjs +1 -1
- package/dist/rpc/EndpointList.cjs.map +1 -1
- package/dist/rpc/EndpointList.js +1 -1
- package/dist/rpc/EndpointList.js.map +1 -1
- package/dist/rpc/EntityExplorerApp.cjs +4 -1
- package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
- package/dist/rpc/EntityExplorerApp.d.ts +3 -1
- package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
- package/dist/rpc/EntityExplorerApp.js +4 -1
- package/dist/rpc/EntityExplorerApp.js.map +1 -1
- package/dist/rpc/FilterForm.cjs +66 -80
- package/dist/rpc/FilterForm.cjs.map +1 -1
- package/dist/rpc/FilterForm.d.ts.map +1 -1
- package/dist/rpc/FilterForm.js +68 -82
- package/dist/rpc/FilterForm.js.map +1 -1
- package/dist/rpc/InlineError.cjs +19 -2
- package/dist/rpc/InlineError.cjs.map +1 -1
- package/dist/rpc/InlineError.d.ts +5 -1
- package/dist/rpc/InlineError.d.ts.map +1 -1
- package/dist/rpc/InlineError.js +19 -2
- package/dist/rpc/InlineError.js.map +1 -1
- package/dist/rpc/OperationActionDialog.cjs +3 -3
- package/dist/rpc/OperationActionDialog.cjs.map +1 -1
- package/dist/rpc/OperationActionDialog.js +3 -3
- package/dist/rpc/OperationActionDialog.js.map +1 -1
- package/dist/rpc/OperationCatalog.cjs +96 -100
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +98 -102
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationCommandPage.cjs +26 -14
- package/dist/rpc/OperationCommandPage.cjs.map +1 -1
- package/dist/rpc/OperationCommandPage.d.ts.map +1 -1
- package/dist/rpc/OperationCommandPage.js +28 -16
- package/dist/rpc/OperationCommandPage.js.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.cjs +25 -13
- package/dist/rpc/OperationEntityContextPicker.cjs.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -1
- package/dist/rpc/OperationEntityContextPicker.js +26 -14
- package/dist/rpc/OperationEntityContextPicker.js.map +1 -1
- package/dist/rpc/OperationEntityPage.cjs +2 -8
- package/dist/rpc/OperationEntityPage.cjs.map +1 -1
- package/dist/rpc/OperationEntityPage.d.ts.map +1 -1
- package/dist/rpc/OperationEntityPage.js +2 -8
- package/dist/rpc/OperationEntityPage.js.map +1 -1
- package/dist/rpc/OperationResultView.cjs +13 -2
- package/dist/rpc/OperationResultView.cjs.map +1 -1
- package/dist/rpc/OperationResultView.d.ts +34 -2
- package/dist/rpc/OperationResultView.d.ts.map +1 -1
- package/dist/rpc/OperationResultView.js +13 -2
- package/dist/rpc/OperationResultView.js.map +1 -1
- package/dist/rpc/apiClient.cjs +28 -4
- package/dist/rpc/apiClient.cjs.map +1 -1
- package/dist/rpc/apiClient.d.ts +19 -9
- package/dist/rpc/apiClient.d.ts.map +1 -1
- package/dist/rpc/apiClient.js +29 -5
- package/dist/rpc/apiClient.js.map +1 -1
- package/dist/rpc/cursorStale.cjs +35 -0
- package/dist/rpc/cursorStale.cjs.map +1 -0
- package/dist/rpc/cursorStale.d.ts +23 -0
- package/dist/rpc/cursorStale.d.ts.map +1 -0
- package/dist/rpc/cursorStale.js +35 -0
- package/dist/rpc/cursorStale.js.map +1 -0
- package/dist/rpc/executionPages.cjs +94 -0
- package/dist/rpc/executionPages.cjs.map +1 -0
- package/dist/rpc/executionPages.d.ts +18 -0
- package/dist/rpc/executionPages.d.ts.map +1 -0
- package/dist/rpc/executionPages.js +94 -0
- package/dist/rpc/executionPages.js.map +1 -0
- package/dist/rpc/filterShapes.cjs +17 -0
- package/dist/rpc/filterShapes.cjs.map +1 -0
- package/dist/rpc/filterShapes.d.ts +22 -0
- package/dist/rpc/filterShapes.d.ts.map +1 -0
- package/dist/rpc/filterShapes.js +17 -0
- package/dist/rpc/filterShapes.js.map +1 -0
- package/dist/rpc/formMetadata.cjs +228 -57
- package/dist/rpc/formMetadata.cjs.map +1 -1
- package/dist/rpc/formMetadata.d.ts +19 -2
- package/dist/rpc/formMetadata.d.ts.map +1 -1
- package/dist/rpc/formMetadata.js +230 -59
- package/dist/rpc/formMetadata.js.map +1 -1
- package/dist/rpc/operationErrorDiagnostics.cjs +100 -0
- package/dist/rpc/operationErrorDiagnostics.cjs.map +1 -0
- package/dist/rpc/operationErrorDiagnostics.d.ts +4 -0
- package/dist/rpc/operationErrorDiagnostics.d.ts.map +1 -0
- package/dist/rpc/operationErrorDiagnostics.js +100 -0
- package/dist/rpc/operationErrorDiagnostics.js.map +1 -0
- package/dist/rpc/operationFilterSearch.cjs +1 -1
- package/dist/rpc/operationFilterSearch.cjs.map +1 -1
- package/dist/rpc/operationFilterSearch.js +2 -2
- package/dist/rpc/operationFilterSearch.js.map +1 -1
- package/dist/rpc/rpc-story.fixtures.d.ts.map +1 -1
- package/dist/rpc/types.cjs.map +1 -1
- package/dist/rpc/types.d.ts +55 -3
- package/dist/rpc/types.d.ts.map +1 -1
- package/dist/rpc/types.js.map +1 -1
- package/dist/rpc/useOperationPages.cjs +111 -0
- package/dist/rpc/useOperationPages.cjs.map +1 -0
- package/dist/rpc/useOperationPages.d.ts +46 -0
- package/dist/rpc/useOperationPages.d.ts.map +1 -0
- package/dist/rpc/useOperationPages.js +111 -0
- package/dist/rpc/useOperationPages.js.map +1 -0
- package/dist/rpc/useOperations.cjs +7 -4
- package/dist/rpc/useOperations.cjs.map +1 -1
- package/dist/rpc/useOperations.d.ts +4 -4
- package/dist/rpc/useOperations.d.ts.map +1 -1
- package/dist/rpc/useOperations.js +7 -4
- package/dist/rpc/useOperations.js.map +1 -1
- package/dist/rpc.cjs +2 -0
- package/dist/rpc.cjs.map +1 -1
- package/dist/rpc.d.ts +3 -2
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -0
- package/dist/rpc.js.map +1 -1
- package/dist/styles.css +2 -2
- package/dist/tailwind-preset.cjs +6 -3
- package/dist/tailwind-preset.cjs.map +1 -1
- package/dist/tailwind-preset.d.ts.map +1 -1
- package/dist/tailwind-preset.js +6 -3
- package/dist/tailwind-preset.js.map +1 -1
- package/dist/utils.cjs +6 -0
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +6 -0
- package/dist/utils.js.map +1 -1
- package/package.json +6 -5
- package/dist/profiles/catalogTree.cjs +0 -133
- package/dist/profiles/catalogTree.cjs.map +0 -1
- package/dist/profiles/catalogTree.d.ts.map +0 -1
- package/dist/profiles/catalogTree.js +0 -133
- package/dist/profiles/catalogTree.js.map +0 -1
- package/dist/profiles/connectionBrowserModel.cjs +0 -185
- package/dist/profiles/connectionBrowserModel.cjs.map +0 -1
- package/dist/profiles/connectionBrowserModel.d.ts +0 -169
- package/dist/profiles/connectionBrowserModel.d.ts.map +0 -1
- package/dist/profiles/connectionBrowserModel.js +0 -185
- package/dist/profiles/connectionBrowserModel.js.map +0 -1
- package/dist/profiles/connectionQueryWorkspace.cjs +0 -185
- package/dist/profiles/connectionQueryWorkspace.cjs.map +0 -1
- package/dist/profiles/connectionQueryWorkspace.d.ts +0 -63
- package/dist/profiles/connectionQueryWorkspace.d.ts.map +0 -1
- package/dist/profiles/connectionQueryWorkspace.js +0 -185
- package/dist/profiles/connectionQueryWorkspace.js.map +0 -1
- package/dist/profiles/connectionQueryWorkspaceModel.cjs +0 -28
- package/dist/profiles/connectionQueryWorkspaceModel.cjs.map +0 -1
- package/dist/profiles/connectionQueryWorkspaceModel.d.ts +0 -38
- package/dist/profiles/connectionQueryWorkspaceModel.d.ts.map +0 -1
- package/dist/profiles/connectionQueryWorkspaceModel.js +0 -28
- package/dist/profiles/connectionQueryWorkspaceModel.js.map +0 -1
- package/dist/profiles/esFieldValues.cjs +0 -64
- package/dist/profiles/esFieldValues.cjs.map +0 -1
- package/dist/profiles/esFieldValues.d.ts +0 -48
- package/dist/profiles/esFieldValues.d.ts.map +0 -1
- package/dist/profiles/esFieldValues.js +0 -64
- package/dist/profiles/esFieldValues.js.map +0 -1
- package/dist/profiles/esParamMappingModel.cjs +0 -301
- package/dist/profiles/esParamMappingModel.cjs.map +0 -1
- package/dist/profiles/esParamMappingModel.d.ts +0 -37
- package/dist/profiles/esParamMappingModel.d.ts.map +0 -1
- package/dist/profiles/esParamMappingModel.js +0 -301
- package/dist/profiles/esParamMappingModel.js.map +0 -1
- package/dist/profiles/esParamMappingPill.cjs.map +0 -1
- package/dist/profiles/esParamMappingPill.d.ts.map +0 -1
- package/dist/profiles/esParamMappingPill.js.map +0 -1
- package/dist/profiles/esParamOperandExtension.cjs +0 -75
- package/dist/profiles/esParamOperandExtension.cjs.map +0 -1
- package/dist/profiles/esParamOperandExtension.d.ts +0 -11
- package/dist/profiles/esParamOperandExtension.d.ts.map +0 -1
- package/dist/profiles/esParamOperandExtension.js +0 -75
- package/dist/profiles/esParamOperandExtension.js.map +0 -1
- package/dist/profiles/esQueryBuilder.cjs +0 -205
- package/dist/profiles/esQueryBuilder.cjs.map +0 -1
- package/dist/profiles/esQueryBuilder.d.ts +0 -35
- package/dist/profiles/esQueryBuilder.d.ts.map +0 -1
- package/dist/profiles/esQueryBuilder.js +0 -205
- package/dist/profiles/esQueryBuilder.js.map +0 -1
- package/dist/profiles/esQueryBuilderExtension.cjs.map +0 -1
- package/dist/profiles/esQueryBuilderExtension.d.ts +0 -5
- package/dist/profiles/esQueryBuilderExtension.d.ts.map +0 -1
- package/dist/profiles/esQueryBuilderExtension.js.map +0 -1
- package/dist/profiles/esQueryBuilderForm.cjs +0 -26
- package/dist/profiles/esQueryBuilderForm.cjs.map +0 -1
- package/dist/profiles/esQueryBuilderForm.d.ts +0 -18
- package/dist/profiles/esQueryBuilderForm.d.ts.map +0 -1
- package/dist/profiles/esQueryBuilderForm.js +0 -26
- package/dist/profiles/esQueryBuilderForm.js.map +0 -1
- package/dist/profiles/esQueryBuilderModel.cjs.map +0 -1
- package/dist/profiles/esQueryBuilderModel.d.ts +0 -108
- package/dist/profiles/esQueryBuilderModel.d.ts.map +0 -1
- package/dist/profiles/esQueryBuilderModel.js.map +0 -1
- package/dist/profiles/esQueryClauseGroup.cjs +0 -144
- package/dist/profiles/esQueryClauseGroup.cjs.map +0 -1
- package/dist/profiles/esQueryClauseGroup.d.ts.map +0 -1
- package/dist/profiles/esQueryClauseGroup.js +0 -144
- package/dist/profiles/esQueryClauseGroup.js.map +0 -1
- package/dist/profiles/esQueryCompile.cjs +0 -47
- package/dist/profiles/esQueryCompile.cjs.map +0 -1
- package/dist/profiles/esQueryCompile.d.ts +0 -39
- package/dist/profiles/esQueryCompile.d.ts.map +0 -1
- package/dist/profiles/esQueryCompile.js +0 -47
- package/dist/profiles/esQueryCompile.js.map +0 -1
- package/dist/profiles/esQueryConditionRow.cjs +0 -168
- package/dist/profiles/esQueryConditionRow.cjs.map +0 -1
- package/dist/profiles/esQueryConditionRow.d.ts +0 -37
- package/dist/profiles/esQueryConditionRow.d.ts.map +0 -1
- package/dist/profiles/esQueryConditionRow.js +0 -168
- package/dist/profiles/esQueryConditionRow.js.map +0 -1
- package/dist/profiles/esQueryGroupModel.cjs.map +0 -1
- package/dist/profiles/esQueryGroupModel.d.ts.map +0 -1
- package/dist/profiles/esQueryGroupModel.js.map +0 -1
- package/dist/profiles/esQueryOccur.cjs.map +0 -1
- package/dist/profiles/esQueryOccur.d.ts.map +0 -1
- package/dist/profiles/esQueryOccur.js.map +0 -1
- package/dist/profiles/esQueryOperandEditors.cjs +0 -279
- package/dist/profiles/esQueryOperandEditors.cjs.map +0 -1
- package/dist/profiles/esQueryOperandEditors.d.ts +0 -24
- package/dist/profiles/esQueryOperandEditors.d.ts.map +0 -1
- package/dist/profiles/esQueryOperandEditors.js +0 -279
- package/dist/profiles/esQueryOperandEditors.js.map +0 -1
- package/dist/profiles/esQueryOperandModel.cjs.map +0 -1
- package/dist/profiles/esQueryOperandModel.d.ts +0 -17
- package/dist/profiles/esQueryOperandModel.d.ts.map +0 -1
- package/dist/profiles/esQueryOperandModel.js.map +0 -1
- package/dist/profiles/esQueryOperators.cjs +0 -165
- package/dist/profiles/esQueryOperators.cjs.map +0 -1
- package/dist/profiles/esQueryOperators.d.ts +0 -83
- package/dist/profiles/esQueryOperators.d.ts.map +0 -1
- package/dist/profiles/esQueryOperators.js +0 -165
- package/dist/profiles/esQueryOperators.js.map +0 -1
- package/dist/profiles/esQueryOutputEditor.cjs +0 -138
- package/dist/profiles/esQueryOutputEditor.cjs.map +0 -1
- package/dist/profiles/esQueryOutputEditor.d.ts +0 -7
- package/dist/profiles/esQueryOutputEditor.d.ts.map +0 -1
- package/dist/profiles/esQueryOutputEditor.js +0 -138
- package/dist/profiles/esQueryOutputEditor.js.map +0 -1
- package/dist/profiles/esQueryOutputModel.cjs.map +0 -1
- package/dist/profiles/esQueryOutputModel.d.ts.map +0 -1
- package/dist/profiles/esQueryOutputModel.js.map +0 -1
- package/dist/profiles/esQueryPreview.cjs.map +0 -1
- package/dist/profiles/esQueryPreview.d.ts.map +0 -1
- package/dist/profiles/esQueryPreview.js.map +0 -1
- package/dist/profiles/esQuerySortEditor.cjs +0 -143
- package/dist/profiles/esQuerySortEditor.cjs.map +0 -1
- package/dist/profiles/esQuerySortEditor.d.ts.map +0 -1
- package/dist/profiles/esQuerySortEditor.js +0 -143
- package/dist/profiles/esQuerySortEditor.js.map +0 -1
- package/dist/profiles/esQuerySortModel.cjs.map +0 -1
- package/dist/profiles/esQuerySortModel.d.ts.map +0 -1
- package/dist/profiles/esQuerySortModel.js.map +0 -1
- package/dist/profiles/esValueCombobox.cjs +0 -86
- package/dist/profiles/esValueCombobox.cjs.map +0 -1
- package/dist/profiles/esValueCombobox.d.ts.map +0 -1
- package/dist/profiles/esValueCombobox.js +0 -86
- package/dist/profiles/esValueCombobox.js.map +0 -1
- package/dist/profiles/jsonPathSample.cjs +0 -75
- package/dist/profiles/jsonPathSample.cjs.map +0 -1
- package/dist/profiles/jsonPathSample.d.ts +0 -27
- package/dist/profiles/jsonPathSample.d.ts.map +0 -1
- package/dist/profiles/jsonPathSample.js +0 -75
- package/dist/profiles/jsonPathSample.js.map +0 -1
- package/dist/profiles/jsonPathSampleRow.cjs.map +0 -1
- package/dist/profiles/jsonPathSampleRow.d.ts.map +0 -1
- package/dist/profiles/jsonPathSampleRow.js.map +0 -1
- package/dist/profiles/profileBuilder.cjs +0 -65
- package/dist/profiles/profileBuilder.cjs.map +0 -1
- package/dist/profiles/profileBuilder.d.ts.map +0 -1
- package/dist/profiles/profileBuilder.js +0 -65
- package/dist/profiles/profileBuilder.js.map +0 -1
- package/dist/profiles/profileBuilderExtension.cjs.map +0 -1
- package/dist/profiles/profileBuilderExtension.d.ts +0 -5
- package/dist/profiles/profileBuilderExtension.d.ts.map +0 -1
- package/dist/profiles/profileBuilderExtension.js.map +0 -1
- package/dist/profiles/profileBuilderWorkspace.cjs +0 -368
- package/dist/profiles/profileBuilderWorkspace.cjs.map +0 -1
- package/dist/profiles/profileBuilderWorkspace.d.ts +0 -21
- package/dist/profiles/profileBuilderWorkspace.d.ts.map +0 -1
- package/dist/profiles/profileBuilderWorkspace.js +0 -368
- package/dist/profiles/profileBuilderWorkspace.js.map +0 -1
- package/dist/profiles/profileColumnModel.cjs.map +0 -1
- package/dist/profiles/profileColumnModel.d.ts +0 -8
- package/dist/profiles/profileColumnModel.d.ts.map +0 -1
- package/dist/profiles/profileColumnModel.js.map +0 -1
- package/dist/profiles/profileColumnPicker.cjs +0 -68
- package/dist/profiles/profileColumnPicker.cjs.map +0 -1
- package/dist/profiles/profileColumnPicker.d.ts +0 -11
- package/dist/profiles/profileColumnPicker.d.ts.map +0 -1
- package/dist/profiles/profileColumnPicker.js +0 -68
- package/dist/profiles/profileColumnPicker.js.map +0 -1
- package/dist/profiles/profileEditor.cjs +0 -386
- package/dist/profiles/profileEditor.cjs.map +0 -1
- package/dist/profiles/profileEditor.d.ts +0 -19
- package/dist/profiles/profileEditor.d.ts.map +0 -1
- package/dist/profiles/profileEditor.js +0 -386
- package/dist/profiles/profileEditor.js.map +0 -1
- package/dist/profiles/profileEditorModel.cjs +0 -181
- package/dist/profiles/profileEditorModel.cjs.map +0 -1
- package/dist/profiles/profileEditorModel.d.ts +0 -74
- package/dist/profiles/profileEditorModel.d.ts.map +0 -1
- package/dist/profiles/profileEditorModel.js +0 -181
- package/dist/profiles/profileEditorModel.js.map +0 -1
- package/dist/profiles/profileEditorPreview.cjs.map +0 -1
- package/dist/profiles/profileEditorPreview.d.ts +0 -12
- package/dist/profiles/profileEditorPreview.d.ts.map +0 -1
- package/dist/profiles/profileEditorPreview.js.map +0 -1
- package/dist/profiles/profileEditorRail.cjs.map +0 -1
- package/dist/profiles/profileEditorRail.d.ts.map +0 -1
- package/dist/profiles/profileEditorRail.js.map +0 -1
- package/dist/profiles/profileEditorRaw.cjs +0 -118
- package/dist/profiles/profileEditorRaw.cjs.map +0 -1
- package/dist/profiles/profileEditorRaw.d.ts +0 -7
- package/dist/profiles/profileEditorRaw.d.ts.map +0 -1
- package/dist/profiles/profileEditorRaw.js +0 -118
- package/dist/profiles/profileEditorRaw.js.map +0 -1
- package/dist/profiles/profileEditorRoutes.cjs.map +0 -1
- package/dist/profiles/profileEditorRoutes.d.ts.map +0 -1
- package/dist/profiles/profileEditorRoutes.js.map +0 -1
- package/dist/profiles/profileEditorSections.cjs +0 -213
- package/dist/profiles/profileEditorSections.cjs.map +0 -1
- package/dist/profiles/profileEditorSections.d.ts +0 -23
- package/dist/profiles/profileEditorSections.d.ts.map +0 -1
- package/dist/profiles/profileEditorSections.js +0 -213
- package/dist/profiles/profileEditorSections.js.map +0 -1
- package/dist/profiles/profileFieldEditor.cjs +0 -200
- package/dist/profiles/profileFieldEditor.cjs.map +0 -1
- package/dist/profiles/profileFieldEditor.d.ts +0 -34
- package/dist/profiles/profileFieldEditor.d.ts.map +0 -1
- package/dist/profiles/profileFieldEditor.js +0 -200
- package/dist/profiles/profileFieldEditor.js.map +0 -1
- package/dist/profiles/profileFieldGrid.cjs +0 -250
- package/dist/profiles/profileFieldGrid.cjs.map +0 -1
- package/dist/profiles/profileFieldGrid.d.ts +0 -20
- package/dist/profiles/profileFieldGrid.d.ts.map +0 -1
- package/dist/profiles/profileFieldGrid.js +0 -250
- package/dist/profiles/profileFieldGrid.js.map +0 -1
- package/dist/profiles/profileFieldManager.cjs +0 -103
- package/dist/profiles/profileFieldManager.cjs.map +0 -1
- package/dist/profiles/profileFieldManager.d.ts.map +0 -1
- package/dist/profiles/profileFieldManager.js +0 -103
- package/dist/profiles/profileFieldManager.js.map +0 -1
- package/dist/profiles/profileFieldState.cjs +0 -136
- package/dist/profiles/profileFieldState.cjs.map +0 -1
- package/dist/profiles/profileFieldState.d.ts +0 -41
- package/dist/profiles/profileFieldState.d.ts.map +0 -1
- package/dist/profiles/profileFieldState.js +0 -136
- package/dist/profiles/profileFieldState.js.map +0 -1
- package/dist/profiles/profileFieldTypes.cjs.map +0 -1
- package/dist/profiles/profileFieldTypes.d.ts +0 -8
- package/dist/profiles/profileFieldTypes.d.ts.map +0 -1
- package/dist/profiles/profileFieldTypes.js.map +0 -1
- package/dist/profiles/profileParamModel.cjs.map +0 -1
- package/dist/profiles/profileParamModel.d.ts +0 -3
- package/dist/profiles/profileParamModel.d.ts.map +0 -1
- package/dist/profiles/profileParamModel.js.map +0 -1
- package/dist/profiles/profileSamplePayload.cjs.map +0 -1
- package/dist/profiles/profileSamplePayload.d.ts +0 -13
- package/dist/profiles/profileSamplePayload.d.ts.map +0 -1
- package/dist/profiles/profileSamplePayload.js.map +0 -1
- package/dist/profiles/profileWizard.cjs +0 -257
- package/dist/profiles/profileWizard.cjs.map +0 -1
- package/dist/profiles/profileWizard.d.ts +0 -12
- package/dist/profiles/profileWizard.d.ts.map +0 -1
- package/dist/profiles/profileWizard.js +0 -257
- package/dist/profiles/profileWizard.js.map +0 -1
- package/dist/profiles/profileWizardHelp.cjs.map +0 -1
- package/dist/profiles/profileWizardHelp.d.ts.map +0 -1
- package/dist/profiles/profileWizardHelp.js.map +0 -1
- package/dist/profiles/profileWizardModel.cjs +0 -198
- package/dist/profiles/profileWizardModel.cjs.map +0 -1
- package/dist/profiles/profileWizardModel.d.ts +0 -255
- package/dist/profiles/profileWizardModel.d.ts.map +0 -1
- package/dist/profiles/profileWizardModel.js +0 -198
- package/dist/profiles/profileWizardModel.js.map +0 -1
- package/dist/profiles/profileWizardQueryStep.cjs +0 -215
- package/dist/profiles/profileWizardQueryStep.cjs.map +0 -1
- package/dist/profiles/profileWizardQueryStep.d.ts.map +0 -1
- package/dist/profiles/profileWizardQueryStep.js +0 -215
- package/dist/profiles/profileWizardQueryStep.js.map +0 -1
- package/dist/profiles/profileWizardSteps.cjs +0 -214
- package/dist/profiles/profileWizardSteps.cjs.map +0 -1
- package/dist/profiles/profileWizardSteps.d.ts.map +0 -1
- package/dist/profiles/profileWizardSteps.js +0 -214
- package/dist/profiles/profileWizardSteps.js.map +0 -1
- package/dist/profiles/profileYaml.cjs +0 -19
- package/dist/profiles/profileYaml.cjs.map +0 -1
- package/dist/profiles/profileYaml.d.ts +0 -4
- package/dist/profiles/profileYaml.d.ts.map +0 -1
- package/dist/profiles/profileYaml.js +0 -19
- package/dist/profiles/profileYaml.js.map +0 -1
- package/dist/profiles/prometheusResults.cjs +0 -60
- package/dist/profiles/prometheusResults.cjs.map +0 -1
- package/dist/profiles/prometheusResults.d.ts +0 -7
- package/dist/profiles/prometheusResults.d.ts.map +0 -1
- package/dist/profiles/prometheusResults.js +0 -60
- package/dist/profiles/prometheusResults.js.map +0 -1
- package/dist/profiles/queryRowLimits.cjs +0 -82
- package/dist/profiles/queryRowLimits.cjs.map +0 -1
- package/dist/profiles/queryRowLimits.d.ts +0 -9
- package/dist/profiles/queryRowLimits.d.ts.map +0 -1
- package/dist/profiles/queryRowLimits.js +0 -82
- package/dist/profiles/queryRowLimits.js.map +0 -1
- package/dist/profiles/queryRowLimitsModel.cjs.map +0 -1
- package/dist/profiles/queryRowLimitsModel.d.ts +0 -9
- package/dist/profiles/queryRowLimitsModel.d.ts.map +0 -1
- package/dist/profiles/queryRowLimitsModel.js.map +0 -1
- package/dist/profiles/queryTargetPicker.cjs +0 -42
- package/dist/profiles/queryTargetPicker.cjs.map +0 -1
- package/dist/profiles/queryTargetPicker.d.ts +0 -8
- package/dist/profiles/queryTargetPicker.d.ts.map +0 -1
- package/dist/profiles/queryTargetPicker.js +0 -42
- package/dist/profiles/queryTargetPicker.js.map +0 -1
- package/dist/profiles/testSchema.d.ts +0 -3
- package/dist/profiles/testSchema.d.ts.map +0 -1
- /package/dist/profiles/{catalogTree.d.ts → connections/catalogTree.d.ts} +0 -0
- /package/dist/profiles/{profileBuilder.d.ts → editor/profileBuilder.d.ts} +0 -0
- /package/dist/profiles/{profileBuilderExtension.cjs → editor/profileBuilderExtension.cjs} +0 -0
- /package/dist/profiles/{profileBuilderExtension.js → editor/profileBuilderExtension.js} +0 -0
- /package/dist/profiles/{profileEditorPreview.cjs → editor/profileEditorPreview.cjs} +0 -0
- /package/dist/profiles/{profileEditorPreview.js → editor/profileEditorPreview.js} +0 -0
- /package/dist/profiles/{profileEditorRail.cjs → editor/profileEditorRail.cjs} +0 -0
- /package/dist/profiles/{profileEditorRail.d.ts → editor/profileEditorRail.d.ts} +0 -0
- /package/dist/profiles/{profileEditorRail.js → editor/profileEditorRail.js} +0 -0
- /package/dist/profiles/{profileEditorRoutes.cjs → editor/profileEditorRoutes.cjs} +0 -0
- /package/dist/profiles/{profileEditorRoutes.d.ts → editor/profileEditorRoutes.d.ts} +0 -0
- /package/dist/profiles/{profileEditorRoutes.js → editor/profileEditorRoutes.js} +0 -0
- /package/dist/profiles/{esParamMappingPill.cjs → elasticsearch/esParamMappingPill.cjs} +0 -0
- /package/dist/profiles/{esParamMappingPill.d.ts → elasticsearch/esParamMappingPill.d.ts} +0 -0
- /package/dist/profiles/{esParamMappingPill.js → elasticsearch/esParamMappingPill.js} +0 -0
- /package/dist/profiles/{esQueryBuilderExtension.cjs → elasticsearch/esQueryBuilderExtension.cjs} +0 -0
- /package/dist/profiles/{esQueryBuilderExtension.js → elasticsearch/esQueryBuilderExtension.js} +0 -0
- /package/dist/profiles/{esQueryBuilderModel.cjs → elasticsearch/esQueryBuilderModel.cjs} +0 -0
- /package/dist/profiles/{esQueryBuilderModel.js → elasticsearch/esQueryBuilderModel.js} +0 -0
- /package/dist/profiles/{esQueryClauseGroup.d.ts → elasticsearch/esQueryClauseGroup.d.ts} +0 -0
- /package/dist/profiles/{esQueryGroupModel.cjs → elasticsearch/esQueryGroupModel.cjs} +0 -0
- /package/dist/profiles/{esQueryGroupModel.d.ts → elasticsearch/esQueryGroupModel.d.ts} +0 -0
- /package/dist/profiles/{esQueryGroupModel.js → elasticsearch/esQueryGroupModel.js} +0 -0
- /package/dist/profiles/{esQueryOccur.cjs → elasticsearch/esQueryOccur.cjs} +0 -0
- /package/dist/profiles/{esQueryOccur.d.ts → elasticsearch/esQueryOccur.d.ts} +0 -0
- /package/dist/profiles/{esQueryOccur.js → elasticsearch/esQueryOccur.js} +0 -0
- /package/dist/profiles/{esQueryOperandModel.cjs → elasticsearch/esQueryOperandModel.cjs} +0 -0
- /package/dist/profiles/{esQueryOperandModel.js → elasticsearch/esQueryOperandModel.js} +0 -0
- /package/dist/profiles/{esQueryOutputModel.cjs → elasticsearch/esQueryOutputModel.cjs} +0 -0
- /package/dist/profiles/{esQueryOutputModel.d.ts → elasticsearch/esQueryOutputModel.d.ts} +0 -0
- /package/dist/profiles/{esQueryOutputModel.js → elasticsearch/esQueryOutputModel.js} +0 -0
- /package/dist/profiles/{esQueryPreview.cjs → elasticsearch/esQueryPreview.cjs} +0 -0
- /package/dist/profiles/{esQueryPreview.d.ts → elasticsearch/esQueryPreview.d.ts} +0 -0
- /package/dist/profiles/{esQueryPreview.js → elasticsearch/esQueryPreview.js} +0 -0
- /package/dist/profiles/{esQuerySortEditor.d.ts → elasticsearch/esQuerySortEditor.d.ts} +0 -0
- /package/dist/profiles/{esQuerySortModel.cjs → elasticsearch/esQuerySortModel.cjs} +0 -0
- /package/dist/profiles/{esQuerySortModel.d.ts → elasticsearch/esQuerySortModel.d.ts} +0 -0
- /package/dist/profiles/{esQuerySortModel.js → elasticsearch/esQuerySortModel.js} +0 -0
- /package/dist/profiles/{esValueCombobox.d.ts → elasticsearch/esValueCombobox.d.ts} +0 -0
- /package/dist/profiles/{profileColumnModel.cjs → fields/profileColumnModel.cjs} +0 -0
- /package/dist/profiles/{profileColumnModel.js → fields/profileColumnModel.js} +0 -0
- /package/dist/profiles/{profileFieldManager.d.ts → fields/profileFieldManager.d.ts} +0 -0
- /package/dist/profiles/{profileFieldTypes.cjs → fields/profileFieldTypes.cjs} +0 -0
- /package/dist/profiles/{profileFieldTypes.js → fields/profileFieldTypes.js} +0 -0
- /package/dist/profiles/{profileParamModel.cjs → fields/profileParamModel.cjs} +0 -0
- /package/dist/profiles/{profileParamModel.js → fields/profileParamModel.js} +0 -0
- /package/dist/profiles/{jsonPathSampleRow.cjs → query/jsonPathSampleRow.cjs} +0 -0
- /package/dist/profiles/{jsonPathSampleRow.d.ts → query/jsonPathSampleRow.d.ts} +0 -0
- /package/dist/profiles/{jsonPathSampleRow.js → query/jsonPathSampleRow.js} +0 -0
- /package/dist/profiles/{profileSamplePayload.cjs → query/profileSamplePayload.cjs} +0 -0
- /package/dist/profiles/{profileSamplePayload.js → query/profileSamplePayload.js} +0 -0
- /package/dist/profiles/{queryRowLimitsModel.cjs → query/queryRowLimitsModel.cjs} +0 -0
- /package/dist/profiles/{queryRowLimitsModel.js → query/queryRowLimitsModel.js} +0 -0
- /package/dist/profiles/{profileWizardHelp.cjs → wizard/profileWizardHelp.cjs} +0 -0
- /package/dist/profiles/{profileWizardHelp.d.ts → wizard/profileWizardHelp.d.ts} +0 -0
- /package/dist/profiles/{profileWizardHelp.js → wizard/profileWizardHelp.js} +0 -0
- /package/dist/profiles/{profileWizardQueryStep.d.ts → wizard/profileWizardQueryStep.d.ts} +0 -0
- /package/dist/profiles/{profileWizardSteps.d.ts → wizard/profileWizardSteps.d.ts} +0 -0
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsonSchemaFormResolve = require("./json-schema-form-resolve.cjs");
|
|
4
|
+
const collections = require("../lib/collections.cjs");
|
|
4
5
|
const jsonSchemaFormUtils = require("./json-schema-form-utils.cjs");
|
|
5
6
|
function appendInstancePath(base, token) {
|
|
6
7
|
const escaped = String(token).replaceAll("~", "~0").replaceAll("/", "~1");
|
|
7
8
|
return `${base}/${escaped}`;
|
|
8
9
|
}
|
|
10
|
+
function errorCountUnderInstancePath(errors, instancePath) {
|
|
11
|
+
return errors.filter(
|
|
12
|
+
(error) => error.instancePath === instancePath || error.instancePath.startsWith(`${instancePath}/`)
|
|
13
|
+
).length;
|
|
14
|
+
}
|
|
9
15
|
function errorsAtInstancePath(errors, instancePath) {
|
|
10
16
|
return errors.filter((error) => error.instancePath === instancePath);
|
|
11
17
|
}
|
|
@@ -78,7 +84,7 @@ function collectControlPaths(field, instancePath, paths, options) {
|
|
|
78
84
|
if (field.kind === "object") {
|
|
79
85
|
collectObjectPaths(
|
|
80
86
|
field.schema,
|
|
81
|
-
|
|
87
|
+
collections.isPlainObject(field.value) ? field.value : {},
|
|
82
88
|
instancePath,
|
|
83
89
|
paths,
|
|
84
90
|
options
|
|
@@ -94,7 +100,8 @@ function collectControlPaths(field, instancePath, paths, options) {
|
|
|
94
100
|
}
|
|
95
101
|
}
|
|
96
102
|
function collectArrayPaths(field, instancePath, paths, options) {
|
|
97
|
-
if (field.arrayDisplay === "filter-pills"
|
|
103
|
+
if (field.arrayDisplay === "filter-pills") return;
|
|
104
|
+
if (field.arrayDisplay !== "stacked" && (hasEnumItems(field) || jsonSchemaFormResolve.scalarItemsType(field.itemSchema))) {
|
|
98
105
|
return;
|
|
99
106
|
}
|
|
100
107
|
const itemSchema = field.itemSchema ?? { type: "string" };
|
|
@@ -104,7 +111,7 @@ function collectArrayPaths(field, instancePath, paths, options) {
|
|
|
104
111
|
if (table) {
|
|
105
112
|
collectObjectPaths(
|
|
106
113
|
itemSchema,
|
|
107
|
-
|
|
114
|
+
collections.isPlainObject(item) ? item : {},
|
|
108
115
|
itemPath,
|
|
109
116
|
paths,
|
|
110
117
|
options
|
|
@@ -127,8 +134,13 @@ function collectArrayPaths(field, instancePath, paths, options) {
|
|
|
127
134
|
);
|
|
128
135
|
}
|
|
129
136
|
}
|
|
137
|
+
function hasEnumItems(field) {
|
|
138
|
+
var _a;
|
|
139
|
+
if (field.options && field.options.length > 0) return true;
|
|
140
|
+
return Array.isArray((_a = field.itemSchema) == null ? void 0 : _a.enum) && field.itemSchema.enum.length > 0;
|
|
141
|
+
}
|
|
130
142
|
function collectMapPaths(field, instancePath, paths, options) {
|
|
131
|
-
const value =
|
|
143
|
+
const value = collections.isPlainObject(field.value) ? field.value : {};
|
|
132
144
|
const known = field.knownProperties ?? {};
|
|
133
145
|
const keys = [
|
|
134
146
|
...Object.keys(known),
|
|
@@ -164,6 +176,7 @@ function mapValueSchema(field, key) {
|
|
|
164
176
|
return field.valueSchema ?? { type: "string" };
|
|
165
177
|
}
|
|
166
178
|
exports.appendInstancePath = appendInstancePath;
|
|
179
|
+
exports.errorCountUnderInstancePath = errorCountUnderInstancePath;
|
|
167
180
|
exports.errorsAtInstancePath = errorsAtInstancePath;
|
|
168
181
|
exports.unmatchedFormErrors = unmatchedFormErrors;
|
|
169
182
|
//# sourceMappingURL=json-schema-form-errors.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema-form-errors.cjs","sources":["../../src/components/json-schema-form-errors.ts"],"sourcesContent":["import {\n effectiveProperties,\n isScalarStringItems,\n resolveControl,\n} from \"./json-schema-form-resolve\";\nimport { isPlainObject, matchesFieldFilter } from \"./json-schema-form-utils\";\nimport type { JsonSchemaFormError } from \"./json-schema-form-error-types\";\nimport type {\n FieldControl,\n JsonSchemaObject,\n JsonSchemaProperty,\n PreExtension,\n} from \"./json-schema-form-types\";\n\nexport function appendInstancePath(\n base: string,\n token: string | number\n): string {\n const escaped = String(token).replaceAll(\"~\", \"~0\").replaceAll(\"/\", \"~1\");\n return `${base}/${escaped}`;\n}\n\nexport function errorsAtInstancePath(\n errors: JsonSchemaFormError[],\n instancePath: string\n): JsonSchemaFormError[] {\n return errors.filter((error) => error.instancePath === instancePath);\n}\n\nexport function unmatchedFormErrors({\n schema,\n value,\n errors,\n hiddenKeys,\n hideReadOnlyFields,\n fieldFilter,\n pre,\n}: {\n schema: JsonSchemaObject;\n value: Record<string, unknown>;\n errors: JsonSchemaFormError[];\n hiddenKeys?: string[];\n hideReadOnlyFields: boolean;\n fieldFilter?: string;\n pre: PreExtension[];\n}): JsonSchemaFormError[] {\n const rendered = new Set<string>();\n collectObjectPaths(schema, value, \"\", rendered, {\n hiddenKeys: new Set(hiddenKeys ?? []),\n hideReadOnlyFields,\n pre,\n rootValue: value,\n root: true,\n ...(fieldFilter ? { fieldFilter } : {}),\n });\n return errors.filter((error) => !rendered.has(error.instancePath));\n}\n\ninterface CollectOptions {\n hiddenKeys: Set<string>;\n hideReadOnlyFields: boolean;\n fieldFilter?: string;\n pre: PreExtension[];\n rootValue: Record<string, unknown>;\n root: boolean;\n}\n\nfunction collectObjectPaths(\n schema: JsonSchemaObject,\n value: Record<string, unknown>,\n basePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n const { properties, required } = effectiveProperties(schema, value);\n const discriminator =\n options.root && typeof schema[\"x-discriminator\"] === \"string\"\n ? schema[\"x-discriminator\"]\n : undefined;\n const pickerPhase =\n discriminator != null &&\n (value[discriminator] == null || value[discriminator] === \"\");\n\n for (const [key, prop] of Object.entries(properties)) {\n if (options.root && options.hiddenKeys.has(key)) continue;\n if (\n options.root &&\n options.fieldFilter &&\n !matchesFieldFilter(key, prop, options.fieldFilter)\n ) {\n continue;\n }\n if (\n discriminator &&\n (pickerPhase ? key !== discriminator : key === discriminator)\n ) {\n continue;\n }\n\n const field = applyPreExtensions(\n resolveControl({\n key,\n prop,\n required: required.includes(key),\n value: value[key],\n onChange: () => {},\n }),\n prop,\n value[key],\n options.rootValue,\n options.pre\n );\n if (!field || (options.hideReadOnlyFields && field.readOnly)) continue;\n\n const path = appendInstancePath(basePath, key);\n paths.add(path);\n collectControlPaths(field, path, paths, { ...options, root: false });\n }\n}\n\nfunction applyPreExtensions(\n initial: FieldControl,\n prop: JsonSchemaProperty,\n value: unknown,\n rootValue: Record<string, unknown>,\n extensions: PreExtension[]\n): FieldControl | null {\n let field: FieldControl | null = initial;\n for (const extension of extensions) {\n if (!field) return null;\n field = extension(field, {\n key: field.key,\n prop,\n value,\n rootValue,\n });\n }\n return field;\n}\n\nfunction collectControlPaths(\n field: FieldControl,\n instancePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n if (field.kind === \"object\") {\n collectObjectPaths(\n field.schema as JsonSchemaObject,\n isPlainObject(field.value) ? field.value : {},\n instancePath,\n paths,\n options\n );\n return;\n }\n if (field.kind === \"array\") {\n collectArrayPaths(field, instancePath, paths, options);\n return;\n }\n if (field.kind === \"string-map\") {\n collectMapPaths(field, instancePath, paths, options);\n }\n}\n\nfunction collectArrayPaths(\n field: FieldControl,\n instancePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n if (\n field.arrayDisplay === \"filter-pills\" ||\n isScalarStringItems(field.itemSchema)\n ) {\n return;\n }\n\n const itemSchema = field.itemSchema ?? { type: \"string\" };\n const table =\n field.layout === \"table\" &&\n itemSchema.properties != null &&\n Object.keys(itemSchema.properties).length > 0;\n for (const [index, item] of (Array.isArray(field.value)\n ? field.value\n : []\n ).entries()) {\n const itemPath = appendInstancePath(instancePath, index);\n if (table) {\n collectObjectPaths(\n itemSchema as JsonSchemaObject,\n isPlainObject(item) ? item : {},\n itemPath,\n paths,\n options\n );\n continue;\n }\n paths.add(itemPath);\n collectControlPaths(\n resolveControl({\n key: `${field.key}[${index}]`,\n prop: itemSchema,\n required: false,\n value: item,\n onChange: () => {},\n }),\n itemPath,\n paths,\n options\n );\n }\n}\n\nfunction collectMapPaths(\n field: FieldControl,\n instancePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n const value = isPlainObject(field.value) ? field.value : {};\n const known = field.knownProperties ?? {};\n const keys = [\n ...Object.keys(known),\n ...Object.keys(value).filter((key) => !(key in known)),\n ];\n for (const key of keys) {\n const schema = known[key] ?? mapValueSchema(field, key);\n const path = appendInstancePath(instancePath, key);\n paths.add(path);\n collectControlPaths(\n resolveControl({\n key,\n prop: schema,\n required: false,\n value: value[key],\n onChange: () => {},\n }),\n path,\n paths,\n options\n );\n }\n}\n\nfunction mapValueSchema(field: FieldControl, key: string): JsonSchemaProperty {\n for (const entry of field.valuePatternSchemas ?? []) {\n try {\n if (new RegExp(entry.pattern).test(key)) return entry.schema;\n } catch {\n continue;\n }\n }\n return field.valueSchema ?? { type: \"string\" };\n}\n"],"names":["effectiveProperties","matchesFieldFilter","resolveControl","isPlainObject","isScalarStringItems"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"json-schema-form-errors.cjs","sources":["../../src/components/json-schema-form-errors.ts"],"sourcesContent":["import {\n effectiveProperties,\n resolveControl,\n scalarItemsType,\n} from \"./json-schema-form-resolve\";\nimport { isPlainObject } from \"../lib/collections\";\nimport { matchesFieldFilter } from \"./json-schema-form-utils\";\nimport type { JsonSchemaFormError } from \"./json-schema-form-error-types\";\nimport type {\n FieldControl,\n JsonSchemaObject,\n JsonSchemaProperty,\n PreExtension,\n} from \"./json-schema-form-types\";\n\nexport function appendInstancePath(\n base: string,\n token: string | number\n): string {\n const escaped = String(token).replaceAll(\"~\", \"~0\").replaceAll(\"/\", \"~1\");\n return `${base}/${escaped}`;\n}\n\n// How many errors sit at or below a subtree. A collapsed container (an\n// accordion row) renders none of the controls that would show them, so it\n// reports the count on its own header instead.\nexport function errorCountUnderInstancePath(\n errors: JsonSchemaFormError[],\n instancePath: string\n): number {\n return errors.filter(\n (error) =>\n error.instancePath === instancePath ||\n error.instancePath.startsWith(`${instancePath}/`)\n ).length;\n}\n\nexport function errorsAtInstancePath(\n errors: JsonSchemaFormError[],\n instancePath: string\n): JsonSchemaFormError[] {\n return errors.filter((error) => error.instancePath === instancePath);\n}\n\nexport function unmatchedFormErrors({\n schema,\n value,\n errors,\n hiddenKeys,\n hideReadOnlyFields,\n fieldFilter,\n pre,\n}: {\n schema: JsonSchemaObject;\n value: Record<string, unknown>;\n errors: JsonSchemaFormError[];\n hiddenKeys?: string[];\n hideReadOnlyFields: boolean;\n fieldFilter?: string;\n pre: PreExtension[];\n}): JsonSchemaFormError[] {\n const rendered = new Set<string>();\n collectObjectPaths(schema, value, \"\", rendered, {\n hiddenKeys: new Set(hiddenKeys ?? []),\n hideReadOnlyFields,\n pre,\n rootValue: value,\n root: true,\n ...(fieldFilter ? { fieldFilter } : {}),\n });\n return errors.filter((error) => !rendered.has(error.instancePath));\n}\n\ninterface CollectOptions {\n hiddenKeys: Set<string>;\n hideReadOnlyFields: boolean;\n fieldFilter?: string;\n pre: PreExtension[];\n rootValue: Record<string, unknown>;\n root: boolean;\n}\n\nfunction collectObjectPaths(\n schema: JsonSchemaObject,\n value: Record<string, unknown>,\n basePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n const { properties, required } = effectiveProperties(schema, value);\n const discriminator =\n options.root && typeof schema[\"x-discriminator\"] === \"string\"\n ? schema[\"x-discriminator\"]\n : undefined;\n const pickerPhase =\n discriminator != null &&\n (value[discriminator] == null || value[discriminator] === \"\");\n\n for (const [key, prop] of Object.entries(properties)) {\n if (options.root && options.hiddenKeys.has(key)) continue;\n if (\n options.root &&\n options.fieldFilter &&\n !matchesFieldFilter(key, prop, options.fieldFilter)\n ) {\n continue;\n }\n if (\n discriminator &&\n (pickerPhase ? key !== discriminator : key === discriminator)\n ) {\n continue;\n }\n\n const field = applyPreExtensions(\n resolveControl({\n key,\n prop,\n required: required.includes(key),\n value: value[key],\n onChange: () => {},\n }),\n prop,\n value[key],\n options.rootValue,\n options.pre\n );\n if (!field || (options.hideReadOnlyFields && field.readOnly)) continue;\n\n const path = appendInstancePath(basePath, key);\n paths.add(path);\n collectControlPaths(field, path, paths, { ...options, root: false });\n }\n}\n\nfunction applyPreExtensions(\n initial: FieldControl,\n prop: JsonSchemaProperty,\n value: unknown,\n rootValue: Record<string, unknown>,\n extensions: PreExtension[]\n): FieldControl | null {\n let field: FieldControl | null = initial;\n for (const extension of extensions) {\n if (!field) return null;\n field = extension(field, {\n key: field.key,\n prop,\n value,\n rootValue,\n });\n }\n return field;\n}\n\nfunction collectControlPaths(\n field: FieldControl,\n instancePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n if (field.kind === \"object\") {\n collectObjectPaths(\n field.schema as JsonSchemaObject,\n isPlainObject(field.value) ? field.value : {},\n instancePath,\n paths,\n options\n );\n return;\n }\n if (field.kind === \"array\") {\n collectArrayPaths(field, instancePath, paths, options);\n return;\n }\n if (field.kind === \"string-map\") {\n collectMapPaths(field, instancePath, paths, options);\n }\n}\n\nfunction collectArrayPaths(\n field: FieldControl,\n instancePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n // Mirrors ArrayControl's branch order: a flat list of values (pills, choices\n // or scalars) is ONE control, with no per-item field to hang a message on, so\n // its item paths stay unmatched and the error surfaces in the form summary\n // instead of pointing at nothing.\n if (field.arrayDisplay === \"filter-pills\") return;\n if (\n field.arrayDisplay !== \"stacked\" &&\n (hasEnumItems(field) || scalarItemsType(field.itemSchema))\n ) {\n return;\n }\n\n const itemSchema = field.itemSchema ?? { type: \"string\" };\n const table =\n field.layout === \"table\" &&\n itemSchema.properties != null &&\n Object.keys(itemSchema.properties).length > 0;\n for (const [index, item] of (Array.isArray(field.value)\n ? field.value\n : []\n ).entries()) {\n const itemPath = appendInstancePath(instancePath, index);\n if (table) {\n collectObjectPaths(\n itemSchema as JsonSchemaObject,\n isPlainObject(item) ? item : {},\n itemPath,\n paths,\n options\n );\n continue;\n }\n paths.add(itemPath);\n collectControlPaths(\n resolveControl({\n key: `${field.key}[${index}]`,\n prop: itemSchema,\n required: false,\n value: item,\n onChange: () => {},\n }),\n itemPath,\n paths,\n options\n );\n }\n}\n\n// Mirrors ArrayControl's tags branch: resolved options win over the raw item\n// enum, since a pre-extension may have supplied them.\nfunction hasEnumItems(field: FieldControl): boolean {\n if (field.options && field.options.length > 0) return true;\n return Array.isArray(field.itemSchema?.enum) && field.itemSchema.enum.length > 0;\n}\n\nfunction collectMapPaths(\n field: FieldControl,\n instancePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n const value = isPlainObject(field.value) ? field.value : {};\n const known = field.knownProperties ?? {};\n const keys = [\n ...Object.keys(known),\n ...Object.keys(value).filter((key) => !(key in known)),\n ];\n for (const key of keys) {\n const schema = known[key] ?? mapValueSchema(field, key);\n const path = appendInstancePath(instancePath, key);\n paths.add(path);\n collectControlPaths(\n resolveControl({\n key,\n prop: schema,\n required: false,\n value: value[key],\n onChange: () => {},\n }),\n path,\n paths,\n options\n );\n }\n}\n\nfunction mapValueSchema(field: FieldControl, key: string): JsonSchemaProperty {\n for (const entry of field.valuePatternSchemas ?? []) {\n try {\n if (new RegExp(entry.pattern).test(key)) return entry.schema;\n } catch {\n continue;\n }\n }\n return field.valueSchema ?? { type: \"string\" };\n}\n"],"names":["effectiveProperties","matchesFieldFilter","resolveControl","isPlainObject","scalarItemsType"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { JsonSchemaFormError } from './json-schema-form-error-types';
|
|
2
2
|
import { JsonSchemaObject, PreExtension } from './json-schema-form-types';
|
|
3
3
|
export declare function appendInstancePath(base: string, token: string | number): string;
|
|
4
|
+
export declare function errorCountUnderInstancePath(errors: JsonSchemaFormError[], instancePath: string): number;
|
|
4
5
|
export declare function errorsAtInstancePath(errors: JsonSchemaFormError[], instancePath: string): JsonSchemaFormError[];
|
|
5
6
|
export declare function unmatchedFormErrors({ schema, value, errors, hiddenKeys, hideReadOnlyFields, fieldFilter, pre, }: {
|
|
6
7
|
schema: JsonSchemaObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema-form-errors.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"json-schema-form-errors.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-errors.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAEV,gBAAgB,EAEhB,YAAY,EACb,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,MAAM,CAGR;AAKD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,YAAY,EAAE,MAAM,GACnB,MAAM,CAMR;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,YAAY,EAAE,MAAM,GACnB,mBAAmB,EAAE,CAEvB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,KAAK,EACL,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,GAAG,GACJ,EAAE;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,YAAY,EAAE,CAAC;CACrB,GAAG,mBAAmB,EAAE,CAWxB"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import { effectiveProperties, resolveControl,
|
|
2
|
-
import {
|
|
1
|
+
import { effectiveProperties, resolveControl, scalarItemsType } from "./json-schema-form-resolve.js";
|
|
2
|
+
import { isPlainObject } from "../lib/collections.js";
|
|
3
|
+
import { matchesFieldFilter } from "./json-schema-form-utils.js";
|
|
3
4
|
function appendInstancePath(base, token) {
|
|
4
5
|
const escaped = String(token).replaceAll("~", "~0").replaceAll("/", "~1");
|
|
5
6
|
return `${base}/${escaped}`;
|
|
6
7
|
}
|
|
8
|
+
function errorCountUnderInstancePath(errors, instancePath) {
|
|
9
|
+
return errors.filter(
|
|
10
|
+
(error) => error.instancePath === instancePath || error.instancePath.startsWith(`${instancePath}/`)
|
|
11
|
+
).length;
|
|
12
|
+
}
|
|
7
13
|
function errorsAtInstancePath(errors, instancePath) {
|
|
8
14
|
return errors.filter((error) => error.instancePath === instancePath);
|
|
9
15
|
}
|
|
@@ -92,7 +98,8 @@ function collectControlPaths(field, instancePath, paths, options) {
|
|
|
92
98
|
}
|
|
93
99
|
}
|
|
94
100
|
function collectArrayPaths(field, instancePath, paths, options) {
|
|
95
|
-
if (field.arrayDisplay === "filter-pills"
|
|
101
|
+
if (field.arrayDisplay === "filter-pills") return;
|
|
102
|
+
if (field.arrayDisplay !== "stacked" && (hasEnumItems(field) || scalarItemsType(field.itemSchema))) {
|
|
96
103
|
return;
|
|
97
104
|
}
|
|
98
105
|
const itemSchema = field.itemSchema ?? { type: "string" };
|
|
@@ -125,6 +132,11 @@ function collectArrayPaths(field, instancePath, paths, options) {
|
|
|
125
132
|
);
|
|
126
133
|
}
|
|
127
134
|
}
|
|
135
|
+
function hasEnumItems(field) {
|
|
136
|
+
var _a;
|
|
137
|
+
if (field.options && field.options.length > 0) return true;
|
|
138
|
+
return Array.isArray((_a = field.itemSchema) == null ? void 0 : _a.enum) && field.itemSchema.enum.length > 0;
|
|
139
|
+
}
|
|
128
140
|
function collectMapPaths(field, instancePath, paths, options) {
|
|
129
141
|
const value = isPlainObject(field.value) ? field.value : {};
|
|
130
142
|
const known = field.knownProperties ?? {};
|
|
@@ -163,6 +175,7 @@ function mapValueSchema(field, key) {
|
|
|
163
175
|
}
|
|
164
176
|
export {
|
|
165
177
|
appendInstancePath,
|
|
178
|
+
errorCountUnderInstancePath,
|
|
166
179
|
errorsAtInstancePath,
|
|
167
180
|
unmatchedFormErrors
|
|
168
181
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema-form-errors.js","sources":["../../src/components/json-schema-form-errors.ts"],"sourcesContent":["import {\n effectiveProperties,\n isScalarStringItems,\n resolveControl,\n} from \"./json-schema-form-resolve\";\nimport { isPlainObject, matchesFieldFilter } from \"./json-schema-form-utils\";\nimport type { JsonSchemaFormError } from \"./json-schema-form-error-types\";\nimport type {\n FieldControl,\n JsonSchemaObject,\n JsonSchemaProperty,\n PreExtension,\n} from \"./json-schema-form-types\";\n\nexport function appendInstancePath(\n base: string,\n token: string | number\n): string {\n const escaped = String(token).replaceAll(\"~\", \"~0\").replaceAll(\"/\", \"~1\");\n return `${base}/${escaped}`;\n}\n\nexport function errorsAtInstancePath(\n errors: JsonSchemaFormError[],\n instancePath: string\n): JsonSchemaFormError[] {\n return errors.filter((error) => error.instancePath === instancePath);\n}\n\nexport function unmatchedFormErrors({\n schema,\n value,\n errors,\n hiddenKeys,\n hideReadOnlyFields,\n fieldFilter,\n pre,\n}: {\n schema: JsonSchemaObject;\n value: Record<string, unknown>;\n errors: JsonSchemaFormError[];\n hiddenKeys?: string[];\n hideReadOnlyFields: boolean;\n fieldFilter?: string;\n pre: PreExtension[];\n}): JsonSchemaFormError[] {\n const rendered = new Set<string>();\n collectObjectPaths(schema, value, \"\", rendered, {\n hiddenKeys: new Set(hiddenKeys ?? []),\n hideReadOnlyFields,\n pre,\n rootValue: value,\n root: true,\n ...(fieldFilter ? { fieldFilter } : {}),\n });\n return errors.filter((error) => !rendered.has(error.instancePath));\n}\n\ninterface CollectOptions {\n hiddenKeys: Set<string>;\n hideReadOnlyFields: boolean;\n fieldFilter?: string;\n pre: PreExtension[];\n rootValue: Record<string, unknown>;\n root: boolean;\n}\n\nfunction collectObjectPaths(\n schema: JsonSchemaObject,\n value: Record<string, unknown>,\n basePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n const { properties, required } = effectiveProperties(schema, value);\n const discriminator =\n options.root && typeof schema[\"x-discriminator\"] === \"string\"\n ? schema[\"x-discriminator\"]\n : undefined;\n const pickerPhase =\n discriminator != null &&\n (value[discriminator] == null || value[discriminator] === \"\");\n\n for (const [key, prop] of Object.entries(properties)) {\n if (options.root && options.hiddenKeys.has(key)) continue;\n if (\n options.root &&\n options.fieldFilter &&\n !matchesFieldFilter(key, prop, options.fieldFilter)\n ) {\n continue;\n }\n if (\n discriminator &&\n (pickerPhase ? key !== discriminator : key === discriminator)\n ) {\n continue;\n }\n\n const field = applyPreExtensions(\n resolveControl({\n key,\n prop,\n required: required.includes(key),\n value: value[key],\n onChange: () => {},\n }),\n prop,\n value[key],\n options.rootValue,\n options.pre\n );\n if (!field || (options.hideReadOnlyFields && field.readOnly)) continue;\n\n const path = appendInstancePath(basePath, key);\n paths.add(path);\n collectControlPaths(field, path, paths, { ...options, root: false });\n }\n}\n\nfunction applyPreExtensions(\n initial: FieldControl,\n prop: JsonSchemaProperty,\n value: unknown,\n rootValue: Record<string, unknown>,\n extensions: PreExtension[]\n): FieldControl | null {\n let field: FieldControl | null = initial;\n for (const extension of extensions) {\n if (!field) return null;\n field = extension(field, {\n key: field.key,\n prop,\n value,\n rootValue,\n });\n }\n return field;\n}\n\nfunction collectControlPaths(\n field: FieldControl,\n instancePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n if (field.kind === \"object\") {\n collectObjectPaths(\n field.schema as JsonSchemaObject,\n isPlainObject(field.value) ? field.value : {},\n instancePath,\n paths,\n options\n );\n return;\n }\n if (field.kind === \"array\") {\n collectArrayPaths(field, instancePath, paths, options);\n return;\n }\n if (field.kind === \"string-map\") {\n collectMapPaths(field, instancePath, paths, options);\n }\n}\n\nfunction collectArrayPaths(\n field: FieldControl,\n instancePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n if (\n field.arrayDisplay === \"filter-pills\" ||\n isScalarStringItems(field.itemSchema)\n ) {\n return;\n }\n\n const itemSchema = field.itemSchema ?? { type: \"string\" };\n const table =\n field.layout === \"table\" &&\n itemSchema.properties != null &&\n Object.keys(itemSchema.properties).length > 0;\n for (const [index, item] of (Array.isArray(field.value)\n ? field.value\n : []\n ).entries()) {\n const itemPath = appendInstancePath(instancePath, index);\n if (table) {\n collectObjectPaths(\n itemSchema as JsonSchemaObject,\n isPlainObject(item) ? item : {},\n itemPath,\n paths,\n options\n );\n continue;\n }\n paths.add(itemPath);\n collectControlPaths(\n resolveControl({\n key: `${field.key}[${index}]`,\n prop: itemSchema,\n required: false,\n value: item,\n onChange: () => {},\n }),\n itemPath,\n paths,\n options\n );\n }\n}\n\nfunction collectMapPaths(\n field: FieldControl,\n instancePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n const value = isPlainObject(field.value) ? field.value : {};\n const known = field.knownProperties ?? {};\n const keys = [\n ...Object.keys(known),\n ...Object.keys(value).filter((key) => !(key in known)),\n ];\n for (const key of keys) {\n const schema = known[key] ?? mapValueSchema(field, key);\n const path = appendInstancePath(instancePath, key);\n paths.add(path);\n collectControlPaths(\n resolveControl({\n key,\n prop: schema,\n required: false,\n value: value[key],\n onChange: () => {},\n }),\n path,\n paths,\n options\n );\n }\n}\n\nfunction mapValueSchema(field: FieldControl, key: string): JsonSchemaProperty {\n for (const entry of field.valuePatternSchemas ?? []) {\n try {\n if (new RegExp(entry.pattern).test(key)) return entry.schema;\n } catch {\n continue;\n }\n }\n return field.valueSchema ?? { type: \"string\" };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"json-schema-form-errors.js","sources":["../../src/components/json-schema-form-errors.ts"],"sourcesContent":["import {\n effectiveProperties,\n resolveControl,\n scalarItemsType,\n} from \"./json-schema-form-resolve\";\nimport { isPlainObject } from \"../lib/collections\";\nimport { matchesFieldFilter } from \"./json-schema-form-utils\";\nimport type { JsonSchemaFormError } from \"./json-schema-form-error-types\";\nimport type {\n FieldControl,\n JsonSchemaObject,\n JsonSchemaProperty,\n PreExtension,\n} from \"./json-schema-form-types\";\n\nexport function appendInstancePath(\n base: string,\n token: string | number\n): string {\n const escaped = String(token).replaceAll(\"~\", \"~0\").replaceAll(\"/\", \"~1\");\n return `${base}/${escaped}`;\n}\n\n// How many errors sit at or below a subtree. A collapsed container (an\n// accordion row) renders none of the controls that would show them, so it\n// reports the count on its own header instead.\nexport function errorCountUnderInstancePath(\n errors: JsonSchemaFormError[],\n instancePath: string\n): number {\n return errors.filter(\n (error) =>\n error.instancePath === instancePath ||\n error.instancePath.startsWith(`${instancePath}/`)\n ).length;\n}\n\nexport function errorsAtInstancePath(\n errors: JsonSchemaFormError[],\n instancePath: string\n): JsonSchemaFormError[] {\n return errors.filter((error) => error.instancePath === instancePath);\n}\n\nexport function unmatchedFormErrors({\n schema,\n value,\n errors,\n hiddenKeys,\n hideReadOnlyFields,\n fieldFilter,\n pre,\n}: {\n schema: JsonSchemaObject;\n value: Record<string, unknown>;\n errors: JsonSchemaFormError[];\n hiddenKeys?: string[];\n hideReadOnlyFields: boolean;\n fieldFilter?: string;\n pre: PreExtension[];\n}): JsonSchemaFormError[] {\n const rendered = new Set<string>();\n collectObjectPaths(schema, value, \"\", rendered, {\n hiddenKeys: new Set(hiddenKeys ?? []),\n hideReadOnlyFields,\n pre,\n rootValue: value,\n root: true,\n ...(fieldFilter ? { fieldFilter } : {}),\n });\n return errors.filter((error) => !rendered.has(error.instancePath));\n}\n\ninterface CollectOptions {\n hiddenKeys: Set<string>;\n hideReadOnlyFields: boolean;\n fieldFilter?: string;\n pre: PreExtension[];\n rootValue: Record<string, unknown>;\n root: boolean;\n}\n\nfunction collectObjectPaths(\n schema: JsonSchemaObject,\n value: Record<string, unknown>,\n basePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n const { properties, required } = effectiveProperties(schema, value);\n const discriminator =\n options.root && typeof schema[\"x-discriminator\"] === \"string\"\n ? schema[\"x-discriminator\"]\n : undefined;\n const pickerPhase =\n discriminator != null &&\n (value[discriminator] == null || value[discriminator] === \"\");\n\n for (const [key, prop] of Object.entries(properties)) {\n if (options.root && options.hiddenKeys.has(key)) continue;\n if (\n options.root &&\n options.fieldFilter &&\n !matchesFieldFilter(key, prop, options.fieldFilter)\n ) {\n continue;\n }\n if (\n discriminator &&\n (pickerPhase ? key !== discriminator : key === discriminator)\n ) {\n continue;\n }\n\n const field = applyPreExtensions(\n resolveControl({\n key,\n prop,\n required: required.includes(key),\n value: value[key],\n onChange: () => {},\n }),\n prop,\n value[key],\n options.rootValue,\n options.pre\n );\n if (!field || (options.hideReadOnlyFields && field.readOnly)) continue;\n\n const path = appendInstancePath(basePath, key);\n paths.add(path);\n collectControlPaths(field, path, paths, { ...options, root: false });\n }\n}\n\nfunction applyPreExtensions(\n initial: FieldControl,\n prop: JsonSchemaProperty,\n value: unknown,\n rootValue: Record<string, unknown>,\n extensions: PreExtension[]\n): FieldControl | null {\n let field: FieldControl | null = initial;\n for (const extension of extensions) {\n if (!field) return null;\n field = extension(field, {\n key: field.key,\n prop,\n value,\n rootValue,\n });\n }\n return field;\n}\n\nfunction collectControlPaths(\n field: FieldControl,\n instancePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n if (field.kind === \"object\") {\n collectObjectPaths(\n field.schema as JsonSchemaObject,\n isPlainObject(field.value) ? field.value : {},\n instancePath,\n paths,\n options\n );\n return;\n }\n if (field.kind === \"array\") {\n collectArrayPaths(field, instancePath, paths, options);\n return;\n }\n if (field.kind === \"string-map\") {\n collectMapPaths(field, instancePath, paths, options);\n }\n}\n\nfunction collectArrayPaths(\n field: FieldControl,\n instancePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n // Mirrors ArrayControl's branch order: a flat list of values (pills, choices\n // or scalars) is ONE control, with no per-item field to hang a message on, so\n // its item paths stay unmatched and the error surfaces in the form summary\n // instead of pointing at nothing.\n if (field.arrayDisplay === \"filter-pills\") return;\n if (\n field.arrayDisplay !== \"stacked\" &&\n (hasEnumItems(field) || scalarItemsType(field.itemSchema))\n ) {\n return;\n }\n\n const itemSchema = field.itemSchema ?? { type: \"string\" };\n const table =\n field.layout === \"table\" &&\n itemSchema.properties != null &&\n Object.keys(itemSchema.properties).length > 0;\n for (const [index, item] of (Array.isArray(field.value)\n ? field.value\n : []\n ).entries()) {\n const itemPath = appendInstancePath(instancePath, index);\n if (table) {\n collectObjectPaths(\n itemSchema as JsonSchemaObject,\n isPlainObject(item) ? item : {},\n itemPath,\n paths,\n options\n );\n continue;\n }\n paths.add(itemPath);\n collectControlPaths(\n resolveControl({\n key: `${field.key}[${index}]`,\n prop: itemSchema,\n required: false,\n value: item,\n onChange: () => {},\n }),\n itemPath,\n paths,\n options\n );\n }\n}\n\n// Mirrors ArrayControl's tags branch: resolved options win over the raw item\n// enum, since a pre-extension may have supplied them.\nfunction hasEnumItems(field: FieldControl): boolean {\n if (field.options && field.options.length > 0) return true;\n return Array.isArray(field.itemSchema?.enum) && field.itemSchema.enum.length > 0;\n}\n\nfunction collectMapPaths(\n field: FieldControl,\n instancePath: string,\n paths: Set<string>,\n options: CollectOptions\n) {\n const value = isPlainObject(field.value) ? field.value : {};\n const known = field.knownProperties ?? {};\n const keys = [\n ...Object.keys(known),\n ...Object.keys(value).filter((key) => !(key in known)),\n ];\n for (const key of keys) {\n const schema = known[key] ?? mapValueSchema(field, key);\n const path = appendInstancePath(instancePath, key);\n paths.add(path);\n collectControlPaths(\n resolveControl({\n key,\n prop: schema,\n required: false,\n value: value[key],\n onChange: () => {},\n }),\n path,\n paths,\n options\n );\n }\n}\n\nfunction mapValueSchema(field: FieldControl, key: string): JsonSchemaProperty {\n for (const entry of field.valuePatternSchemas ?? []) {\n try {\n if (new RegExp(entry.pattern).test(key)) return entry.schema;\n } catch {\n continue;\n }\n }\n return field.valueSchema ?? { type: \"string\" };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,11 @@ const react = require("react");
|
|
|
5
5
|
const utils = require("../lib/utils.cjs");
|
|
6
6
|
const timestampFormat = require("../data/cells/timestamp-format.cjs");
|
|
7
7
|
const Combobox = require("./Combobox.cjs");
|
|
8
|
-
const
|
|
8
|
+
const DateField = require("./DateField.cjs");
|
|
9
9
|
const SegmentedControl = require("./SegmentedControl.cjs");
|
|
10
10
|
const jsonSchemaFormGrid = require("./json-schema-form-grid.cjs");
|
|
11
11
|
const jsonSchemaFormLookupTree = require("./json-schema-form-lookup-tree.cjs");
|
|
12
|
+
const jsonSchemaFormTagsCombobox = require("./json-schema-form-tags-combobox.cjs");
|
|
12
13
|
const formLookupContext = require("./form-lookup-context.cjs");
|
|
13
14
|
const jsonSchemaFormUtils = require("./json-schema-form-utils.cjs");
|
|
14
15
|
const jsonSchemaFormSize = require("./json-schema-form-size.cjs");
|
|
@@ -178,8 +179,9 @@ function DateControl({
|
|
|
178
179
|
);
|
|
179
180
|
}
|
|
180
181
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
181
|
-
|
|
182
|
+
DateField.DateField,
|
|
182
183
|
{
|
|
184
|
+
mode: field.dateFormat === "date-time" ? "datetime" : "date",
|
|
183
185
|
id: fieldId,
|
|
184
186
|
"aria-label": field.label,
|
|
185
187
|
"data-jsf-input": true,
|
|
@@ -330,6 +332,20 @@ function LookupControl({
|
|
|
330
332
|
}
|
|
331
333
|
);
|
|
332
334
|
}
|
|
335
|
+
if (descriptor == null ? void 0 : descriptor.multi) {
|
|
336
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
337
|
+
jsonSchemaFormTagsCombobox.TagsComboboxControl,
|
|
338
|
+
{
|
|
339
|
+
field,
|
|
340
|
+
fieldId,
|
|
341
|
+
readOnly,
|
|
342
|
+
size,
|
|
343
|
+
options,
|
|
344
|
+
loading,
|
|
345
|
+
...fetcher ? { onSearch } : {}
|
|
346
|
+
}
|
|
347
|
+
);
|
|
348
|
+
}
|
|
333
349
|
if (!descriptor || !fetcher) {
|
|
334
350
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
335
351
|
Combobox.Combobox,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema-form-fields.cjs","sources":["../../src/components/json-schema-form-fields.tsx"],"sourcesContent":["import { lazy, Suspense, useCallback, useEffect, useRef, useState, type ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { formatDateTimeRelative } from \"../data/cells/timestamp-format\";\nimport { Combobox } from \"./Combobox\";\nimport { DateTimePicker } from \"./DateTimePicker\";\nimport { SegmentedControl, type SegmentedSize } from \"./SegmentedControl\";\nimport { GridControl } from \"./json-schema-form-grid\";\nimport { LookupTreeControl } from \"./json-schema-form-lookup-tree\";\nimport { resolveLookupScope, useLookupFetcher } from \"./form-lookup-context\";\nimport type { FieldControl, FieldOption } from \"./json-schema-form-types\";\nimport {\n comboboxAriaProps,\n defaultPlaceholder,\n fieldAriaProps,\n inputClass,\n toText,\n withSyntheticValue,\n} from \"./json-schema-form-utils\";\nimport {\n controlHeightClass,\n labelSizeClass,\n type FormSize,\n} from \"./json-schema-form-size\";\n\nconst LazyMdxEditorField = lazy(async () => {\n const mod = await import(\"./MdxEditorField\");\n return { default: mod.MdxEditorField };\n});\n\n// ReadOnlyValue renders a `readOnly` field's current value as static text — no\n// input, no border, just the value (date/date-time formatted human-readably).\n// An empty value shows an em-dash. Carries the same id + data-jsf-input as the\n// editable controls so layout and queries stay uniform.\nexport function ReadOnlyValue({ field, fieldId, size }: { field: FieldControl; fieldId: string; size: FormSize }) {\n const text = toText(field.value);\n const secret = field.schema.format === \"password\";\n const display = secret && text ? \"••••••••\" : field.kind === \"date\" && text ? formatDateTimeRelative(text) : text;\n return (\n <span\n id={fieldId}\n data-jsf-input\n data-jsf-readonly\n className={cn(\"flex items-center text-foreground\", controlHeightClass[size], labelSizeClass[size])}\n title={secret ? undefined : text || undefined}\n >\n {display || <span className=\"text-muted-foreground\">—</span>}\n </span>\n );\n}\n\n// FieldAdornmentWrapper positions a field's leading/trailing in-field adornments\n// (FieldControl.prefix at the left edge, FieldControl.suffix at the right). The\n// container is tagged data-jsf-control so an adornment can locate its sibling\n// input[data-jsf-input] (e.g. for caret-aware insertion). With neither adornment\n// it renders the input bare, so unadorned fields are byte-for-byte unchanged.\nfunction FieldAdornmentWrapper({\n prefix,\n suffix,\n children,\n}: {\n prefix?: ReactNode;\n suffix?: ReactNode;\n children: ReactNode;\n}) {\n if (!prefix && !suffix) return <>{children}</>;\n return (\n <div data-jsf-control className=\"relative\">\n {prefix && <div className=\"absolute inset-y-0 left-1.5 flex items-center\">{prefix}</div>}\n {children}\n {suffix && <div className=\"absolute inset-y-0 right-1.5 flex items-center\">{suffix}</div>}\n </div>\n );\n}\n\nexport function StringControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n return (\n <FieldAdornmentWrapper prefix={field.prefix} suffix={field.suffix}>\n <input\n id={fieldId}\n // format:\"password\" masks secret material (API keys, client secrets);\n // autoComplete new-password stops browsers from offering saved logins.\n type={field.schema.format === \"password\" ? \"password\" : \"text\"}\n autoComplete={field.schema.format === \"password\" ? \"new-password\" : undefined}\n data-jsf-input\n {...fieldAriaProps(field, fieldId)}\n className={cn(inputClass(size), field.prefix && \"pl-8\", field.suffix && \"pr-8\", field.inputClassName)}\n value={toText(field.value)}\n disabled={readOnly}\n placeholder={defaultPlaceholder(field.schema)}\n onChange={(e) => field.onChange(e.target.value)}\n />\n </FieldAdornmentWrapper>\n );\n}\n\nexport function NumberControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n // A bounded number can opt into a single-thumb progress slider.\n if (field.schema[\"x-number-display\"] === \"slider\" && typeof field.schema.maximum === \"number\") {\n return <NumberSliderControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n }\n // Default type=\"text\" (not number) so non-numeric values a consumer permits —\n // e.g. template tokens — are not silently dropped by the browser. A schema that\n // declares `multipleOf` opts into a real `<input type=\"number\">` (native step,\n // spin buttons, min/max), matching a hand-built numeric field.\n const coerce = field.coerceNumber !== false;\n const step = typeof field.schema.multipleOf === \"number\" ? field.schema.multipleOf : undefined;\n const native = step !== undefined;\n // A static unit (e.g. \"%\") rides the right edge of the input as a display-only\n // suffix; a consumer-set `suffix` (e.g. an insert-snippet button) wins if both\n // are present (number insert triggers mount on the left as `prefix`).\n const suffix = field.suffix ?? (field.unit ? (\n <span className=\"pointer-events-none select-none text-muted-foreground\">{field.unit}</span>\n ) : undefined);\n return (\n <FieldAdornmentWrapper prefix={field.prefix} suffix={suffix}>\n <input\n id={fieldId}\n type={native ? \"number\" : \"text\"}\n inputMode=\"decimal\"\n {...(native\n ? {\n step,\n ...(typeof field.schema.minimum === \"number\" ? { min: field.schema.minimum } : {}),\n ...(typeof field.schema.maximum === \"number\" ? { max: field.schema.maximum } : {}),\n }\n : {})}\n data-jsf-input\n {...fieldAriaProps(field, fieldId)}\n className={cn(inputClass(size), field.prefix && \"pl-8\", suffix && \"pr-8\", field.inputClassName)}\n value={toText(field.value)}\n disabled={readOnly}\n placeholder={defaultPlaceholder(field.schema)}\n onChange={(e) => {\n const raw = e.target.value;\n // Coerce mid-typing ONLY when the parse round-trips to the same text\n // (e.g. \"100\", \"33.5\") — so an in-progress decimal like \"33.\" or a\n // trailing-zero \"33.30\" keeps its raw text instead of collapsing to a\n // number and stranding the caret. Non-numeric tokens fall through to\n // the raw string. Blur finalizes any still-uncoerced numeric text.\n if (coerce && raw.trim() !== \"\" && String(Number(raw)) === raw.trim()) {\n field.onChange(Number(raw));\n } else {\n field.onChange(raw);\n }\n }}\n onBlur={(e) => {\n const raw = e.target.value;\n if (coerce && raw.trim() !== \"\" && Number.isFinite(Number(raw))) {\n field.onChange(Number(raw));\n }\n }}\n />\n </FieldAdornmentWrapper>\n );\n}\n\n// A single-thumb range input styled with a progress-filled track. The input sits\n// above the track/fill divs; only its thumb is painted.\nconst SLIDER_INPUT_CLASS =\n \"absolute inset-0 h-6 w-full cursor-pointer appearance-none bg-transparent focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&::-webkit-slider-runnable-track]:h-1 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:size-3.5 [&::-webkit-slider-thumb]:-mt-[5px] [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border [&::-webkit-slider-thumb]:border-background/80 [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:shadow-sm [&::-moz-range-track]:h-1 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-moz-range-thumb]:size-3.5 [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:bg-primary [&::-moz-range-thumb]:shadow-sm\";\n\n// NumberSliderControl renders a bounded number (`x-number-display: \"slider\"`) as\n// a single-thumb slider whose fill grows with the value, with the live value\n// shown to the right.\nexport function NumberSliderControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n const min = typeof field.schema.minimum === \"number\" ? field.schema.minimum : 0;\n const max = typeof field.schema.maximum === \"number\" ? field.schema.maximum : 100;\n const step = typeof field.schema.multipleOf === \"number\" ? field.schema.multipleOf : 1;\n const raw = typeof field.value === \"number\" ? field.value : Number(toText(field.value));\n const hasValue = Number.isFinite(raw);\n const value = hasValue ? Math.min(max, Math.max(min, raw)) : min;\n const percent = max > min ? ((value - min) / (max - min)) * 100 : 0;\n return (\n <div className=\"flex items-center gap-3\">\n <div className=\"relative h-6 min-w-0 flex-1\">\n <div className=\"absolute inset-x-0 top-1/2 h-1 -translate-y-1/2 rounded-full bg-border\" />\n <div\n className=\"absolute left-0 top-1/2 h-1 -translate-y-1/2 rounded-full bg-primary/70\"\n style={{ width: `${percent}%` }}\n />\n <input\n id={fieldId}\n data-jsf-input\n type=\"range\"\n aria-label={field.label}\n {...fieldAriaProps(field, fieldId)}\n min={min}\n max={max}\n step={step}\n value={value}\n disabled={readOnly}\n className={cn(SLIDER_INPUT_CLASS, field.inputClassName)}\n onChange={(event) => field.onChange(Number(event.target.value))}\n />\n </div>\n <span className={cn(\"w-16 shrink-0 text-right tabular-nums\", labelSizeClass[size])}>\n {hasValue ? value.toLocaleString() : \"—\"}\n </span>\n </div>\n );\n}\n\n// DateControl edits a `format: date`/`date-time` string. Read-only, it shows the\n// human-readable absolute + relative form (e.g. \"Apr 15, 2026, 12:00 PM (2h\n// ago)\"); editable, a DateTimePicker. The raw string is committed unchanged so a\n// consumer-permitted template token in the field is preserved.\nexport function DateControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n const text = toText(field.value);\n if (readOnly) {\n return (\n <div\n id={fieldId}\n data-jsf-input\n className={cn(\"flex items-center text-foreground\", controlHeightClass[size], labelSizeClass[size])}\n title={text || undefined}\n >\n {text ? formatDateTimeRelative(text) : <span className=\"text-muted-foreground\">—</span>}\n </div>\n );\n }\n return (\n <DateTimePicker\n id={fieldId}\n aria-label={field.label}\n data-jsf-input\n {...fieldAriaProps(field, fieldId)}\n inputClassName={cn(inputClass(size), field.prefix && \"pl-8\", field.suffix ? \"pr-14\" : \"pr-8\")}\n value={text}\n onChange={(next) => field.onChange(next)}\n placeholder={defaultPlaceholder(field.schema)}\n prefix={field.prefix}\n suffix={field.suffix}\n />\n );\n}\n\nexport function BooleanControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n // Only render a checkbox when the value is genuinely boolean (or unset).\n // A non-boolean value (e.g. a token a consumer left in place) renders as text\n // so it is preserved and editable.\n if (typeof field.value === \"boolean\" || field.value === undefined || field.value === null) {\n return (\n <div className={cn(\"flex items-center\", controlHeightClass[size])}>\n <input\n id={fieldId}\n type=\"checkbox\"\n className=\"h-4 w-4 accent-primary\"\n {...fieldAriaProps(field, fieldId)}\n checked={field.value === true}\n disabled={readOnly}\n onChange={(e) => field.onChange(e.target.checked)}\n />\n </div>\n );\n }\n return <StringControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n}\n\nexport function EnumControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n const value = toText(field.value);\n const options = withSyntheticValue(field.options ?? [], value);\n if (field.display === \"grid\") {\n return <GridControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n }\n if (field.display === \"radio\") {\n return (\n <RadioGroupControl field={field} fieldId={fieldId} readOnly={readOnly} options={options} value={value} size={size} />\n );\n }\n if (field.display === \"segmented\") {\n return (\n <SegmentedEnumControl field={field} fieldId={fieldId} readOnly={readOnly} options={options} value={value} size={size} />\n );\n }\n return (\n <Combobox\n id={fieldId}\n options={options}\n value={value}\n disabled={readOnly}\n size={size}\n allowCustomValue={field.allowCustomValue ?? false}\n onChange={(v) => field.onChange(v)}\n prefix={field.prefix}\n suffix={field.suffix}\n {...comboboxAriaProps(field, fieldId)}\n {...(field.inputClassName ? { className: field.inputClassName } : {})}\n {...(defaultPlaceholder(field.schema) ? { placeholder: defaultPlaceholder(field.schema) } : {})}\n />\n );\n}\n\n// The FormSize scale is wider than SegmentedControl's; map the extremes down.\nconst SEGMENTED_SIZE: Record<FormSize, SegmentedSize> = {\n xs: \"sm\",\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n xl: \"lg\",\n};\n\n// SegmentedEnumControl renders an enum (x-enum-display: \"segmented\") with the\n// shared SegmentedControl. Icons come from x-enum-icons, descriptions from\n// x-enum-descriptions (which promote it to the large card layout). The wrapper\n// carries the field id + data-jsf-input so the JSF field contract holds.\nfunction SegmentedEnumControl({\n field,\n fieldId,\n readOnly,\n options,\n value,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n options: FieldOption[];\n value: string;\n size: FormSize;\n}) {\n const hasDescription = options.some((opt) => opt.description);\n const segSize: SegmentedSize = hasDescription ? \"lg\" : SEGMENTED_SIZE[size];\n return (\n <div id={fieldId} data-jsf-input className={cn(field.inputClassName)}>\n <SegmentedControl\n aria-label={field.label}\n value={value}\n onChange={(next) => field.onChange(next)}\n size={segSize}\n wrap\n options={options.map((opt) => ({\n id: opt.value,\n label: opt.label,\n // x-enum-icons resolves to a runtime name string; SegmentedControl\n // renders that via <Icon name>. Non-string (pre-extension) icons are\n // dropped here since the segmented option type only takes name/component.\n ...(typeof opt.icon === \"string\" ? { icon: opt.icon } : {}),\n ...(opt.description ? { description: opt.description } : {}),\n ...(readOnly ? { disabled: true } : {}),\n }))}\n />\n </div>\n );\n}\n\n// LookupControl is the async entity-reference picker for an `x-clicky-lookup`\n// field. It wraps Combobox and fetches options lazily through the form's\n// LookupFetcher (from context): the head set loads when the menu opens and the\n// (debounced) typed query drives server-side search. Single-select keeps\n// allowCustomValue on so a value outside the option set still commits (e.g. an\n// inline DSN). When no fetcher is wired it degrades to a free-text combobox.\nexport function LookupControl({\n field,\n fieldId,\n readOnly,\n size,\n rootValue,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n rootValue?: Record<string, unknown>;\n}) {\n const fetcher = useLookupFetcher();\n const descriptor = field.lookup;\n const value = toText(field.value);\n const [options, setOptions] = useState<FieldOption[]>([]);\n const [loading, setLoading] = useState(false);\n\n // rootValue is read through a ref so onSearch stays referentially stable: a new\n // onSearch each render would retrigger Combobox's search effect on every\n // setOptions, looping. The scopeKey effect below re-fetches when scope changes.\n const rootRef = useRef(rootValue);\n rootRef.current = rootValue;\n\n const onSearch = useCallback(\n (query: string) => {\n if (!descriptor || !fetcher) return;\n setLoading(true);\n const root = rootRef.current;\n fetcher({ descriptor, query, ...(root ? { rootValue: root } : {}) })\n .then((next) => setOptions(next))\n .catch(() => setOptions([]))\n .finally(() => setLoading(false));\n },\n [descriptor, fetcher],\n );\n\n // Re-fetch the head set when the scope (a sibling field, e.g. provider type)\n // changes so the out-of-scope set is replaced rather than shown stale.\n const scopeKey = descriptor ? JSON.stringify(resolveLookupScope(descriptor, rootValue)) : \"\";\n useEffect(() => {\n if (descriptor && fetcher) onSearch(\"\");\n else setOptions([]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [scopeKey, onSearch]);\n\n // A descriptor that declares a hierarchy browses its options as a tree rather\n // than scrolling one flat list. It owns the multi-value case too, since the\n // committed value is then an array rather than a single string.\n if (descriptor?.hierarchy) {\n return (\n <LookupTreeControl\n field={field}\n fieldId={fieldId}\n readOnly={readOnly}\n size={size}\n options={options}\n loading={loading}\n hierarchy={descriptor.hierarchy}\n />\n );\n }\n\n if (!descriptor || !fetcher) {\n return (\n <Combobox\n id={fieldId}\n options={withSyntheticValue([], value)}\n value={value}\n disabled={readOnly}\n size={size}\n allowCustomValue\n onChange={(v) => field.onChange(v)}\n {...comboboxAriaProps(field, fieldId)}\n {...(defaultPlaceholder(field.schema) ? { placeholder: defaultPlaceholder(field.schema) } : {})}\n />\n );\n }\n\n return (\n <Combobox\n id={fieldId}\n options={withSyntheticValue(options, value)}\n value={value}\n disabled={readOnly}\n size={size}\n loading={loading}\n allowCustomValue={field.allowCustomValue ?? false}\n onSearch={onSearch}\n onChange={(v) => field.onChange(v)}\n {...comboboxAriaProps(field, fieldId)}\n {...(defaultPlaceholder(field.schema) ? { placeholder: defaultPlaceholder(field.schema) } : {})}\n />\n );\n}\n\n// RadioGroupControl renders a small fixed enum as a segmented radio-button group\n// instead of a dropdown. It shares EnumControl's option list (any out-of-enum\n// value is already prepended, so a token still shows). One `radiogroup` role +\n// native radios keep it keyboard-navigable; the visible chip is a styled label.\nfunction RadioGroupControl({\n field,\n fieldId,\n readOnly,\n options,\n value,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n options: FieldOption[];\n value: string;\n size: FormSize;\n}) {\n return (\n <div\n role=\"radiogroup\"\n aria-label={field.label}\n id={fieldId}\n data-jsf-input\n className={cn(\n \"inline-flex flex-wrap items-center gap-1 rounded-md border border-input bg-background p-0.5\",\n field.inputClassName,\n )}\n >\n {options.map((opt) => {\n const checked = opt.value === value;\n return (\n <label\n key={opt.value}\n className={cn(\n \"inline-flex cursor-pointer select-none items-center rounded px-2.5 py-1\",\n labelSizeClass[size],\n checked\n ? \"bg-primary text-primary-foreground\"\n : \"text-muted-foreground hover:bg-accent hover:text-foreground\",\n readOnly && \"cursor-not-allowed opacity-60\",\n )}\n >\n <input\n type=\"radio\"\n name={fieldId}\n className=\"sr-only\"\n value={opt.value}\n checked={checked}\n disabled={readOnly}\n onChange={() => field.onChange(opt.value)}\n />\n {opt.label}\n </label>\n );\n })}\n </div>\n );\n}\n\n// TextareaControl edits a long-form string in a multi-line box. Read-only, it\n// shows the value with line breaks preserved; editable, a resizable <textarea>.\n// The raw string is committed unchanged so a consumer-permitted template token\n// survives.\nexport function TextareaControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n const text = toText(field.value);\n if (readOnly) {\n return (\n <span\n id={fieldId}\n data-jsf-input\n data-jsf-readonly\n className={cn(\"block whitespace-pre-wrap break-words text-foreground\", labelSizeClass[size])}\n title={text || undefined}\n >\n {text || <span className=\"text-muted-foreground\">—</span>}\n </span>\n );\n }\n return (\n <FieldAdornmentWrapper prefix={field.prefix} suffix={field.suffix}>\n <textarea\n id={fieldId}\n data-jsf-input\n {...fieldAriaProps(field, fieldId)}\n rows={4}\n className={cn(\n inputClass(size),\n \"h-auto min-h-[5rem] resize-y\",\n field.prefix && \"pl-8\",\n field.suffix && \"pr-8\",\n field.inputClassName,\n )}\n value={text}\n disabled={readOnly}\n placeholder={defaultPlaceholder(field.schema)}\n onChange={(e) => field.onChange(e.target.value)}\n />\n </FieldAdornmentWrapper>\n );\n}\n\nexport function MarkdownControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n const fallback = (\n <textarea\n id={fieldId}\n data-jsf-input\n {...fieldAriaProps(field, fieldId)}\n rows={6}\n className={cn(inputClass(size), \"h-auto resize-y font-mono\", field.prefix && \"pl-8\", field.suffix && \"pr-8\")}\n value={toText(field.value)}\n disabled={readOnly}\n placeholder={defaultPlaceholder(field.schema)}\n onChange={(e) => field.onChange(e.target.value)}\n />\n );\n\n return (\n <Suspense fallback={fallback}>\n <LazyMdxEditorField\n id={fieldId}\n value={toText(field.value)}\n readOnly={readOnly}\n size={size}\n placeholder={defaultPlaceholder(field.schema)}\n onChange={(next) => field.onChange(next)}\n {...field.markdownOptions}\n />\n </Suspense>\n );\n}\n\n// DisplayControl renders a static, non-editable presentation element:\n// Label/Title (heading), Message (info text), Line (divider), or Blank/Filler\n// (spacer). It never collects a value; the heading/text source is the field's\n// title (label) and, for \"text\", its description. Rendered identically in the\n// form and the read-only Viewer.\nexport function DisplayControl({ field, size }: { field: FieldControl; size: FormSize }) {\n const variant = field.displayVariant ?? \"text\";\n if (variant === \"divider\") {\n return <hr data-jsf-input className=\"my-1 w-full border-t border-border\" />;\n }\n if (variant === \"spacer\") {\n return <div data-jsf-input aria-hidden className=\"h-2\" />;\n }\n if (variant === \"heading\") {\n return (\n <div\n data-jsf-input\n className={cn(\"border-b border-border pb-1 font-semibold text-foreground\", labelSizeClass[size])}\n >\n {field.label}\n </div>\n );\n }\n const text = field.description ?? toText(field.value) ?? field.label;\n return (\n <p data-jsf-input className={cn(\"text-muted-foreground\", labelSizeClass[size])}>\n {text || field.label}\n </p>\n );\n}\n\n// LinkControl renders a read-only external hyperlink. The\n// href is field.href, falling back to the value when it is an absolute URL; with\n// neither it degrades to a plain read-only value.\nexport function LinkControl({ field, fieldId, size }: { field: FieldControl; fieldId: string; size: FormSize }) {\n const text = toText(field.value);\n const href = field.href ?? (/^https?:\\/\\//i.test(text) ? text : undefined);\n if (!href) {\n return <ReadOnlyValue field={field} fieldId={fieldId} size={size} />;\n }\n return (\n <a\n id={fieldId}\n data-jsf-input\n href={href}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n className={cn(\"inline-flex items-center text-primary underline underline-offset-2\", controlHeightClass[size], labelSizeClass[size])}\n >\n {text || field.label || href}\n </a>\n );\n}\n\n// HMR probe\n// HMR probe 2\n"],"names":["lazy","toText","formatDateTimeRelative","jsx","cn","controlHeightClass","labelSizeClass","jsxs","fieldAriaProps","inputClass","defaultPlaceholder","DateTimePicker","withSyntheticValue","GridControl","Combobox","comboboxAriaProps","SegmentedControl","useLookupFetcher","useState","useRef","useCallback","resolveLookupScope","useEffect","LookupTreeControl","Suspense"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"json-schema-form-fields.cjs","sources":["../../src/components/json-schema-form-fields.tsx"],"sourcesContent":["import { lazy, Suspense, useCallback, useEffect, useRef, useState, type ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { formatDateTimeRelative } from \"../data/cells/timestamp-format\";\nimport { Combobox } from \"./Combobox\";\nimport { DateField } from \"./DateField\";\nimport { SegmentedControl, type SegmentedSize } from \"./SegmentedControl\";\nimport { GridControl } from \"./json-schema-form-grid\";\nimport { LookupTreeControl } from \"./json-schema-form-lookup-tree\";\nimport { TagsComboboxControl } from \"./json-schema-form-tags-combobox\";\nimport { resolveLookupScope, useLookupFetcher } from \"./form-lookup-context\";\nimport type { FieldControl, FieldOption } from \"./json-schema-form-types\";\nimport {\n comboboxAriaProps,\n defaultPlaceholder,\n fieldAriaProps,\n inputClass,\n toText,\n withSyntheticValue,\n} from \"./json-schema-form-utils\";\nimport {\n controlHeightClass,\n labelSizeClass,\n type FormSize,\n} from \"./json-schema-form-size\";\n\nconst LazyMdxEditorField = lazy(async () => {\n const mod = await import(\"./MdxEditorField\");\n return { default: mod.MdxEditorField };\n});\n\n// ReadOnlyValue renders a `readOnly` field's current value as static text — no\n// input, no border, just the value (date/date-time formatted human-readably).\n// An empty value shows an em-dash. Carries the same id + data-jsf-input as the\n// editable controls so layout and queries stay uniform.\nexport function ReadOnlyValue({ field, fieldId, size }: { field: FieldControl; fieldId: string; size: FormSize }) {\n const text = toText(field.value);\n const secret = field.schema.format === \"password\";\n const display = secret && text ? \"••••••••\" : field.kind === \"date\" && text ? formatDateTimeRelative(text) : text;\n return (\n <span\n id={fieldId}\n data-jsf-input\n data-jsf-readonly\n className={cn(\"flex items-center text-foreground\", controlHeightClass[size], labelSizeClass[size])}\n title={secret ? undefined : text || undefined}\n >\n {display || <span className=\"text-muted-foreground\">—</span>}\n </span>\n );\n}\n\n// FieldAdornmentWrapper positions a field's leading/trailing in-field adornments\n// (FieldControl.prefix at the left edge, FieldControl.suffix at the right). The\n// container is tagged data-jsf-control so an adornment can locate its sibling\n// input[data-jsf-input] (e.g. for caret-aware insertion). With neither adornment\n// it renders the input bare, so unadorned fields are byte-for-byte unchanged.\nfunction FieldAdornmentWrapper({\n prefix,\n suffix,\n children,\n}: {\n prefix?: ReactNode;\n suffix?: ReactNode;\n children: ReactNode;\n}) {\n if (!prefix && !suffix) return <>{children}</>;\n return (\n <div data-jsf-control className=\"relative\">\n {prefix && <div className=\"absolute inset-y-0 left-1.5 flex items-center\">{prefix}</div>}\n {children}\n {suffix && <div className=\"absolute inset-y-0 right-1.5 flex items-center\">{suffix}</div>}\n </div>\n );\n}\n\nexport function StringControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n return (\n <FieldAdornmentWrapper prefix={field.prefix} suffix={field.suffix}>\n <input\n id={fieldId}\n // format:\"password\" masks secret material (API keys, client secrets);\n // autoComplete new-password stops browsers from offering saved logins.\n type={field.schema.format === \"password\" ? \"password\" : \"text\"}\n autoComplete={field.schema.format === \"password\" ? \"new-password\" : undefined}\n data-jsf-input\n {...fieldAriaProps(field, fieldId)}\n className={cn(inputClass(size), field.prefix && \"pl-8\", field.suffix && \"pr-8\", field.inputClassName)}\n value={toText(field.value)}\n disabled={readOnly}\n placeholder={defaultPlaceholder(field.schema)}\n onChange={(e) => field.onChange(e.target.value)}\n />\n </FieldAdornmentWrapper>\n );\n}\n\nexport function NumberControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n // A bounded number can opt into a single-thumb progress slider.\n if (field.schema[\"x-number-display\"] === \"slider\" && typeof field.schema.maximum === \"number\") {\n return <NumberSliderControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n }\n // Default type=\"text\" (not number) so non-numeric values a consumer permits —\n // e.g. template tokens — are not silently dropped by the browser. A schema that\n // declares `multipleOf` opts into a real `<input type=\"number\">` (native step,\n // spin buttons, min/max), matching a hand-built numeric field.\n const coerce = field.coerceNumber !== false;\n const step = typeof field.schema.multipleOf === \"number\" ? field.schema.multipleOf : undefined;\n const native = step !== undefined;\n // A static unit (e.g. \"%\") rides the right edge of the input as a display-only\n // suffix; a consumer-set `suffix` (e.g. an insert-snippet button) wins if both\n // are present (number insert triggers mount on the left as `prefix`).\n const suffix = field.suffix ?? (field.unit ? (\n <span className=\"pointer-events-none select-none text-muted-foreground\">{field.unit}</span>\n ) : undefined);\n return (\n <FieldAdornmentWrapper prefix={field.prefix} suffix={suffix}>\n <input\n id={fieldId}\n type={native ? \"number\" : \"text\"}\n inputMode=\"decimal\"\n {...(native\n ? {\n step,\n ...(typeof field.schema.minimum === \"number\" ? { min: field.schema.minimum } : {}),\n ...(typeof field.schema.maximum === \"number\" ? { max: field.schema.maximum } : {}),\n }\n : {})}\n data-jsf-input\n {...fieldAriaProps(field, fieldId)}\n className={cn(inputClass(size), field.prefix && \"pl-8\", suffix && \"pr-8\", field.inputClassName)}\n value={toText(field.value)}\n disabled={readOnly}\n placeholder={defaultPlaceholder(field.schema)}\n onChange={(e) => {\n const raw = e.target.value;\n // Coerce mid-typing ONLY when the parse round-trips to the same text\n // (e.g. \"100\", \"33.5\") — so an in-progress decimal like \"33.\" or a\n // trailing-zero \"33.30\" keeps its raw text instead of collapsing to a\n // number and stranding the caret. Non-numeric tokens fall through to\n // the raw string. Blur finalizes any still-uncoerced numeric text.\n if (coerce && raw.trim() !== \"\" && String(Number(raw)) === raw.trim()) {\n field.onChange(Number(raw));\n } else {\n field.onChange(raw);\n }\n }}\n onBlur={(e) => {\n const raw = e.target.value;\n if (coerce && raw.trim() !== \"\" && Number.isFinite(Number(raw))) {\n field.onChange(Number(raw));\n }\n }}\n />\n </FieldAdornmentWrapper>\n );\n}\n\n// A single-thumb range input styled with a progress-filled track. The input sits\n// above the track/fill divs; only its thumb is painted.\nconst SLIDER_INPUT_CLASS =\n \"absolute inset-0 h-6 w-full cursor-pointer appearance-none bg-transparent focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&::-webkit-slider-runnable-track]:h-1 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-transparent [&::-webkit-slider-thumb]:size-3.5 [&::-webkit-slider-thumb]:-mt-[5px] [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border [&::-webkit-slider-thumb]:border-background/80 [&::-webkit-slider-thumb]:bg-primary [&::-webkit-slider-thumb]:shadow-sm [&::-moz-range-track]:h-1 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-transparent [&::-moz-range-thumb]:size-3.5 [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0 [&::-moz-range-thumb]:bg-primary [&::-moz-range-thumb]:shadow-sm\";\n\n// NumberSliderControl renders a bounded number (`x-number-display: \"slider\"`) as\n// a single-thumb slider whose fill grows with the value, with the live value\n// shown to the right.\nexport function NumberSliderControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n const min = typeof field.schema.minimum === \"number\" ? field.schema.minimum : 0;\n const max = typeof field.schema.maximum === \"number\" ? field.schema.maximum : 100;\n const step = typeof field.schema.multipleOf === \"number\" ? field.schema.multipleOf : 1;\n const raw = typeof field.value === \"number\" ? field.value : Number(toText(field.value));\n const hasValue = Number.isFinite(raw);\n const value = hasValue ? Math.min(max, Math.max(min, raw)) : min;\n const percent = max > min ? ((value - min) / (max - min)) * 100 : 0;\n return (\n <div className=\"flex items-center gap-3\">\n <div className=\"relative h-6 min-w-0 flex-1\">\n <div className=\"absolute inset-x-0 top-1/2 h-1 -translate-y-1/2 rounded-full bg-border\" />\n <div\n className=\"absolute left-0 top-1/2 h-1 -translate-y-1/2 rounded-full bg-primary/70\"\n style={{ width: `${percent}%` }}\n />\n <input\n id={fieldId}\n data-jsf-input\n type=\"range\"\n aria-label={field.label}\n {...fieldAriaProps(field, fieldId)}\n min={min}\n max={max}\n step={step}\n value={value}\n disabled={readOnly}\n className={cn(SLIDER_INPUT_CLASS, field.inputClassName)}\n onChange={(event) => field.onChange(Number(event.target.value))}\n />\n </div>\n <span className={cn(\"w-16 shrink-0 text-right tabular-nums\", labelSizeClass[size])}>\n {hasValue ? value.toLocaleString() : \"—\"}\n </span>\n </div>\n );\n}\n\n// DateControl edits a `format: date`/`date-time` string. Read-only, it shows the\n// human-readable absolute + relative form (e.g. \"Apr 15, 2026, 12:00 PM (2h\n// ago)\"); editable, a DateField in the schema's date or datetime mode. The raw\n// string is committed unchanged so a\n// consumer-permitted template token in the field is preserved.\nexport function DateControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n const text = toText(field.value);\n if (readOnly) {\n return (\n <div\n id={fieldId}\n data-jsf-input\n className={cn(\"flex items-center text-foreground\", controlHeightClass[size], labelSizeClass[size])}\n title={text || undefined}\n >\n {text ? formatDateTimeRelative(text) : <span className=\"text-muted-foreground\">—</span>}\n </div>\n );\n }\n return (\n <DateField\n mode={field.dateFormat === \"date-time\" ? \"datetime\" : \"date\"}\n id={fieldId}\n aria-label={field.label}\n data-jsf-input\n {...fieldAriaProps(field, fieldId)}\n inputClassName={cn(inputClass(size), field.prefix && \"pl-8\", field.suffix ? \"pr-14\" : \"pr-8\")}\n value={text}\n onChange={(next) => field.onChange(next)}\n placeholder={defaultPlaceholder(field.schema)}\n prefix={field.prefix}\n suffix={field.suffix}\n />\n );\n}\n\nexport function BooleanControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n // Only render a checkbox when the value is genuinely boolean (or unset).\n // A non-boolean value (e.g. a token a consumer left in place) renders as text\n // so it is preserved and editable.\n if (typeof field.value === \"boolean\" || field.value === undefined || field.value === null) {\n return (\n <div className={cn(\"flex items-center\", controlHeightClass[size])}>\n <input\n id={fieldId}\n type=\"checkbox\"\n className=\"h-4 w-4 accent-primary\"\n {...fieldAriaProps(field, fieldId)}\n checked={field.value === true}\n disabled={readOnly}\n onChange={(e) => field.onChange(e.target.checked)}\n />\n </div>\n );\n }\n return <StringControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n}\n\nexport function EnumControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n const value = toText(field.value);\n const options = withSyntheticValue(field.options ?? [], value);\n if (field.display === \"grid\") {\n return <GridControl field={field} fieldId={fieldId} readOnly={readOnly} size={size} />;\n }\n if (field.display === \"radio\") {\n return (\n <RadioGroupControl field={field} fieldId={fieldId} readOnly={readOnly} options={options} value={value} size={size} />\n );\n }\n if (field.display === \"segmented\") {\n return (\n <SegmentedEnumControl field={field} fieldId={fieldId} readOnly={readOnly} options={options} value={value} size={size} />\n );\n }\n return (\n <Combobox\n id={fieldId}\n options={options}\n value={value}\n disabled={readOnly}\n size={size}\n allowCustomValue={field.allowCustomValue ?? false}\n onChange={(v) => field.onChange(v)}\n prefix={field.prefix}\n suffix={field.suffix}\n {...comboboxAriaProps(field, fieldId)}\n {...(field.inputClassName ? { className: field.inputClassName } : {})}\n {...(defaultPlaceholder(field.schema) ? { placeholder: defaultPlaceholder(field.schema) } : {})}\n />\n );\n}\n\n// The FormSize scale is wider than SegmentedControl's; map the extremes down.\nconst SEGMENTED_SIZE: Record<FormSize, SegmentedSize> = {\n xs: \"sm\",\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n xl: \"lg\",\n};\n\n// SegmentedEnumControl renders an enum (x-enum-display: \"segmented\") with the\n// shared SegmentedControl. Icons come from x-enum-icons, descriptions from\n// x-enum-descriptions (which promote it to the large card layout). The wrapper\n// carries the field id + data-jsf-input so the JSF field contract holds.\nfunction SegmentedEnumControl({\n field,\n fieldId,\n readOnly,\n options,\n value,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n options: FieldOption[];\n value: string;\n size: FormSize;\n}) {\n const hasDescription = options.some((opt) => opt.description);\n const segSize: SegmentedSize = hasDescription ? \"lg\" : SEGMENTED_SIZE[size];\n return (\n <div id={fieldId} data-jsf-input className={cn(field.inputClassName)}>\n <SegmentedControl\n aria-label={field.label}\n value={value}\n onChange={(next) => field.onChange(next)}\n size={segSize}\n wrap\n options={options.map((opt) => ({\n id: opt.value,\n label: opt.label,\n // x-enum-icons resolves to a runtime name string; SegmentedControl\n // renders that via <Icon name>. Non-string (pre-extension) icons are\n // dropped here since the segmented option type only takes name/component.\n ...(typeof opt.icon === \"string\" ? { icon: opt.icon } : {}),\n ...(opt.description ? { description: opt.description } : {}),\n ...(readOnly ? { disabled: true } : {}),\n }))}\n />\n </div>\n );\n}\n\n// LookupControl is the async entity-reference picker for an `x-clicky-lookup`\n// field. It wraps Combobox and fetches options lazily through the form's\n// LookupFetcher (from context): the head set loads when the menu opens and the\n// (debounced) typed query drives server-side search. Single-select keeps\n// allowCustomValue on so a value outside the option set still commits (e.g. an\n// inline DSN). When no fetcher is wired it degrades to a free-text combobox.\nexport function LookupControl({\n field,\n fieldId,\n readOnly,\n size,\n rootValue,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n rootValue?: Record<string, unknown>;\n}) {\n const fetcher = useLookupFetcher();\n const descriptor = field.lookup;\n const value = toText(field.value);\n const [options, setOptions] = useState<FieldOption[]>([]);\n const [loading, setLoading] = useState(false);\n\n // rootValue is read through a ref so onSearch stays referentially stable: a new\n // onSearch each render would retrigger Combobox's search effect on every\n // setOptions, looping. The scopeKey effect below re-fetches when scope changes.\n const rootRef = useRef(rootValue);\n rootRef.current = rootValue;\n\n const onSearch = useCallback(\n (query: string) => {\n if (!descriptor || !fetcher) return;\n setLoading(true);\n const root = rootRef.current;\n fetcher({ descriptor, query, ...(root ? { rootValue: root } : {}) })\n .then((next) => setOptions(next))\n .catch(() => setOptions([]))\n .finally(() => setLoading(false));\n },\n [descriptor, fetcher],\n );\n\n // Re-fetch the head set when the scope (a sibling field, e.g. provider type)\n // changes so the out-of-scope set is replaced rather than shown stale.\n const scopeKey = descriptor ? JSON.stringify(resolveLookupScope(descriptor, rootValue)) : \"\";\n useEffect(() => {\n if (descriptor && fetcher) onSearch(\"\");\n else setOptions([]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [scopeKey, onSearch]);\n\n // A descriptor that declares a hierarchy browses its options as a tree rather\n // than scrolling one flat list. It owns the multi-value case too, since the\n // committed value is then an array rather than a single string.\n if (descriptor?.hierarchy) {\n return (\n <LookupTreeControl\n field={field}\n fieldId={fieldId}\n readOnly={readOnly}\n size={size}\n options={options}\n loading={loading}\n hierarchy={descriptor.hierarchy}\n />\n );\n }\n\n // A multi lookup commits an ARRAY, so it takes the tags picker rather than the\n // single-value combobox below — which would render the array as an empty box\n // and then overwrite it with a bare string. Without a fetcher the same control\n // renders the already-committed values with an empty option set.\n if (descriptor?.multi) {\n return (\n <TagsComboboxControl\n field={field}\n fieldId={fieldId}\n readOnly={readOnly}\n size={size}\n options={options}\n loading={loading}\n {...(fetcher ? { onSearch } : {})}\n />\n );\n }\n\n if (!descriptor || !fetcher) {\n return (\n <Combobox\n id={fieldId}\n options={withSyntheticValue([], value)}\n value={value}\n disabled={readOnly}\n size={size}\n allowCustomValue\n onChange={(v) => field.onChange(v)}\n {...comboboxAriaProps(field, fieldId)}\n {...(defaultPlaceholder(field.schema) ? { placeholder: defaultPlaceholder(field.schema) } : {})}\n />\n );\n }\n\n return (\n <Combobox\n id={fieldId}\n options={withSyntheticValue(options, value)}\n value={value}\n disabled={readOnly}\n size={size}\n loading={loading}\n allowCustomValue={field.allowCustomValue ?? false}\n onSearch={onSearch}\n onChange={(v) => field.onChange(v)}\n {...comboboxAriaProps(field, fieldId)}\n {...(defaultPlaceholder(field.schema) ? { placeholder: defaultPlaceholder(field.schema) } : {})}\n />\n );\n}\n\n// RadioGroupControl renders a small fixed enum as a segmented radio-button group\n// instead of a dropdown. It shares EnumControl's option list (any out-of-enum\n// value is already prepended, so a token still shows). One `radiogroup` role +\n// native radios keep it keyboard-navigable; the visible chip is a styled label.\nfunction RadioGroupControl({\n field,\n fieldId,\n readOnly,\n options,\n value,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n options: FieldOption[];\n value: string;\n size: FormSize;\n}) {\n return (\n <div\n role=\"radiogroup\"\n aria-label={field.label}\n id={fieldId}\n data-jsf-input\n className={cn(\n \"inline-flex flex-wrap items-center gap-1 rounded-md border border-input bg-background p-0.5\",\n field.inputClassName,\n )}\n >\n {options.map((opt) => {\n const checked = opt.value === value;\n return (\n <label\n key={opt.value}\n className={cn(\n \"inline-flex cursor-pointer select-none items-center rounded px-2.5 py-1\",\n labelSizeClass[size],\n checked\n ? \"bg-primary text-primary-foreground\"\n : \"text-muted-foreground hover:bg-accent hover:text-foreground\",\n readOnly && \"cursor-not-allowed opacity-60\",\n )}\n >\n <input\n type=\"radio\"\n name={fieldId}\n className=\"sr-only\"\n value={opt.value}\n checked={checked}\n disabled={readOnly}\n onChange={() => field.onChange(opt.value)}\n />\n {opt.label}\n </label>\n );\n })}\n </div>\n );\n}\n\n// TextareaControl edits a long-form string in a multi-line box. Read-only, it\n// shows the value with line breaks preserved; editable, a resizable <textarea>.\n// The raw string is committed unchanged so a consumer-permitted template token\n// survives.\nexport function TextareaControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n const text = toText(field.value);\n if (readOnly) {\n return (\n <span\n id={fieldId}\n data-jsf-input\n data-jsf-readonly\n className={cn(\"block whitespace-pre-wrap break-words text-foreground\", labelSizeClass[size])}\n title={text || undefined}\n >\n {text || <span className=\"text-muted-foreground\">—</span>}\n </span>\n );\n }\n return (\n <FieldAdornmentWrapper prefix={field.prefix} suffix={field.suffix}>\n <textarea\n id={fieldId}\n data-jsf-input\n {...fieldAriaProps(field, fieldId)}\n rows={4}\n className={cn(\n inputClass(size),\n \"h-auto min-h-[5rem] resize-y\",\n field.prefix && \"pl-8\",\n field.suffix && \"pr-8\",\n field.inputClassName,\n )}\n value={text}\n disabled={readOnly}\n placeholder={defaultPlaceholder(field.schema)}\n onChange={(e) => field.onChange(e.target.value)}\n />\n </FieldAdornmentWrapper>\n );\n}\n\nexport function MarkdownControl({\n field,\n fieldId,\n readOnly,\n size,\n}: {\n field: FieldControl;\n fieldId: string;\n readOnly: boolean;\n size: FormSize;\n}) {\n const fallback = (\n <textarea\n id={fieldId}\n data-jsf-input\n {...fieldAriaProps(field, fieldId)}\n rows={6}\n className={cn(inputClass(size), \"h-auto resize-y font-mono\", field.prefix && \"pl-8\", field.suffix && \"pr-8\")}\n value={toText(field.value)}\n disabled={readOnly}\n placeholder={defaultPlaceholder(field.schema)}\n onChange={(e) => field.onChange(e.target.value)}\n />\n );\n\n return (\n <Suspense fallback={fallback}>\n <LazyMdxEditorField\n id={fieldId}\n value={toText(field.value)}\n readOnly={readOnly}\n size={size}\n placeholder={defaultPlaceholder(field.schema)}\n onChange={(next) => field.onChange(next)}\n {...field.markdownOptions}\n />\n </Suspense>\n );\n}\n\n// DisplayControl renders a static, non-editable presentation element:\n// Label/Title (heading), Message (info text), Line (divider), or Blank/Filler\n// (spacer). It never collects a value; the heading/text source is the field's\n// title (label) and, for \"text\", its description. Rendered identically in the\n// form and the read-only Viewer.\nexport function DisplayControl({ field, size }: { field: FieldControl; size: FormSize }) {\n const variant = field.displayVariant ?? \"text\";\n if (variant === \"divider\") {\n return <hr data-jsf-input className=\"my-1 w-full border-t border-border\" />;\n }\n if (variant === \"spacer\") {\n return <div data-jsf-input aria-hidden className=\"h-2\" />;\n }\n if (variant === \"heading\") {\n return (\n <div\n data-jsf-input\n className={cn(\"border-b border-border pb-1 font-semibold text-foreground\", labelSizeClass[size])}\n >\n {field.label}\n </div>\n );\n }\n const text = field.description ?? toText(field.value) ?? field.label;\n return (\n <p data-jsf-input className={cn(\"text-muted-foreground\", labelSizeClass[size])}>\n {text || field.label}\n </p>\n );\n}\n\n// LinkControl renders a read-only external hyperlink. The\n// href is field.href, falling back to the value when it is an absolute URL; with\n// neither it degrades to a plain read-only value.\nexport function LinkControl({ field, fieldId, size }: { field: FieldControl; fieldId: string; size: FormSize }) {\n const text = toText(field.value);\n const href = field.href ?? (/^https?:\\/\\//i.test(text) ? text : undefined);\n if (!href) {\n return <ReadOnlyValue field={field} fieldId={fieldId} size={size} />;\n }\n return (\n <a\n id={fieldId}\n data-jsf-input\n href={href}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n className={cn(\"inline-flex items-center text-primary underline underline-offset-2\", controlHeightClass[size], labelSizeClass[size])}\n >\n {text || field.label || href}\n </a>\n );\n}\n\n// HMR probe\n// HMR probe 2\n"],"names":["lazy","toText","formatDateTimeRelative","jsx","cn","controlHeightClass","labelSizeClass","jsxs","fieldAriaProps","inputClass","defaultPlaceholder","DateField","withSyntheticValue","GridControl","Combobox","comboboxAriaProps","SegmentedControl","useLookupFetcher","useState","useRef","useCallback","resolveLookupScope","useEffect","LookupTreeControl","TagsComboboxControl","Suspense"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema-form-fields.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-fields.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"json-schema-form-fields.d.ts","sourceRoot":"","sources":["../../src/components/json-schema-form-fields.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,11 @@ import { Suspense, useState, useRef, useCallback, useEffect, lazy } from "react"
|
|
|
3
3
|
import { cn } from "../lib/utils.js";
|
|
4
4
|
import { formatDateTimeRelative } from "../data/cells/timestamp-format.js";
|
|
5
5
|
import { Combobox } from "./Combobox.js";
|
|
6
|
-
import {
|
|
6
|
+
import { DateField } from "./DateField.js";
|
|
7
7
|
import { SegmentedControl } from "./SegmentedControl.js";
|
|
8
8
|
import { GridControl } from "./json-schema-form-grid.js";
|
|
9
9
|
import { LookupTreeControl } from "./json-schema-form-lookup-tree.js";
|
|
10
|
+
import { TagsComboboxControl } from "./json-schema-form-tags-combobox.js";
|
|
10
11
|
import { useLookupFetcher, resolveLookupScope } from "./form-lookup-context.js";
|
|
11
12
|
import { toText, defaultPlaceholder, inputClass, fieldAriaProps, comboboxAriaProps, withSyntheticValue } from "./json-schema-form-utils.js";
|
|
12
13
|
import { labelSizeClass, controlHeightClass } from "./json-schema-form-size.js";
|
|
@@ -176,8 +177,9 @@ function DateControl({
|
|
|
176
177
|
);
|
|
177
178
|
}
|
|
178
179
|
return /* @__PURE__ */ jsx(
|
|
179
|
-
|
|
180
|
+
DateField,
|
|
180
181
|
{
|
|
182
|
+
mode: field.dateFormat === "date-time" ? "datetime" : "date",
|
|
181
183
|
id: fieldId,
|
|
182
184
|
"aria-label": field.label,
|
|
183
185
|
"data-jsf-input": true,
|
|
@@ -328,6 +330,20 @@ function LookupControl({
|
|
|
328
330
|
}
|
|
329
331
|
);
|
|
330
332
|
}
|
|
333
|
+
if (descriptor == null ? void 0 : descriptor.multi) {
|
|
334
|
+
return /* @__PURE__ */ jsx(
|
|
335
|
+
TagsComboboxControl,
|
|
336
|
+
{
|
|
337
|
+
field,
|
|
338
|
+
fieldId,
|
|
339
|
+
readOnly,
|
|
340
|
+
size,
|
|
341
|
+
options,
|
|
342
|
+
loading,
|
|
343
|
+
...fetcher ? { onSearch } : {}
|
|
344
|
+
}
|
|
345
|
+
);
|
|
346
|
+
}
|
|
331
347
|
if (!descriptor || !fetcher) {
|
|
332
348
|
return /* @__PURE__ */ jsx(
|
|
333
349
|
Combobox,
|