@flanksource/clicky-ui 0.3.17 → 0.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai.cjs +12 -6
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +10 -4
- package/dist/ai.js.map +1 -1
- package/dist/chat.cjs +36 -0
- package/dist/chat.cjs.map +1 -1
- package/dist/chat.js +37 -1
- package/dist/chat.js.map +1 -1
- package/dist/components/Combobox.cjs +122 -153
- package/dist/components/Combobox.cjs.map +1 -1
- package/dist/components/Combobox.d.ts.map +1 -1
- package/dist/components/Combobox.js +124 -155
- package/dist/components/Combobox.js.map +1 -1
- package/dist/components/ComboboxControl.cjs +145 -0
- package/dist/components/ComboboxControl.cjs.map +1 -0
- package/dist/components/ComboboxControl.d.ts +37 -0
- package/dist/components/ComboboxControl.d.ts.map +1 -0
- package/dist/components/ComboboxControl.js +145 -0
- package/dist/components/ComboboxControl.js.map +1 -0
- package/dist/components/ComboboxMenu.cjs +35 -14
- package/dist/components/ComboboxMenu.cjs.map +1 -1
- package/dist/components/ComboboxMenu.d.ts.map +1 -1
- package/dist/components/ComboboxMenu.js +35 -14
- package/dist/components/ComboboxMenu.js.map +1 -1
- package/dist/components/ComboboxTags.cjs +40 -0
- package/dist/components/ComboboxTags.cjs.map +1 -0
- package/dist/components/ComboboxTags.d.ts +8 -0
- package/dist/components/ComboboxTags.d.ts.map +1 -0
- package/dist/components/ComboboxTags.js +40 -0
- package/dist/components/ComboboxTags.js.map +1 -0
- package/dist/components/EndpointSelector.model.cjs +96 -0
- package/dist/components/EndpointSelector.model.cjs.map +1 -0
- package/dist/components/EndpointSelector.model.d.ts +2 -0
- package/dist/components/EndpointSelector.model.d.ts.map +1 -1
- package/dist/components/EndpointSelector.model.js +96 -0
- package/dist/components/EndpointSelector.model.js.map +1 -0
- package/dist/components/ErrorWrapper.cjs +168 -0
- package/dist/components/ErrorWrapper.cjs.map +1 -0
- package/dist/components/ErrorWrapper.d.ts +19 -0
- package/dist/components/ErrorWrapper.d.ts.map +1 -0
- package/dist/components/ErrorWrapper.js +168 -0
- package/dist/components/ErrorWrapper.js.map +1 -0
- package/dist/components/FilterBar.cjs +116 -4
- package/dist/components/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar.d.ts +37 -2
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +116 -4
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/JSONPathField.cjs +112 -0
- package/dist/components/JSONPathField.cjs.map +1 -0
- package/dist/components/JSONPathField.d.ts +36 -0
- package/dist/components/JSONPathField.d.ts.map +1 -0
- package/dist/components/JSONPathField.js +112 -0
- package/dist/components/JSONPathField.js.map +1 -0
- package/dist/components/JSONPathPlayground.cjs +225 -0
- package/dist/components/JSONPathPlayground.cjs.map +1 -0
- package/dist/components/JSONPathPlayground.d.ts +59 -0
- package/dist/components/JSONPathPlayground.d.ts.map +1 -0
- package/dist/components/JSONPathPlayground.js +225 -0
- package/dist/components/JSONPathPlayground.js.map +1 -0
- package/dist/components/JsonSchemaForm.cjs +8 -4
- package/dist/components/JsonSchemaForm.cjs.map +1 -1
- package/dist/components/JsonSchemaForm.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm.js +8 -4
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/OnePasswordSelector.cjs +178 -0
- package/dist/components/OnePasswordSelector.cjs.map +1 -0
- package/dist/components/OnePasswordSelector.d.ts +8 -0
- package/dist/components/OnePasswordSelector.d.ts.map +1 -0
- package/dist/components/OnePasswordSelector.js +178 -0
- package/dist/components/OnePasswordSelector.js.map +1 -0
- package/dist/components/OnePasswordSelector.model.cjs +31 -0
- package/dist/components/OnePasswordSelector.model.cjs.map +1 -0
- package/dist/components/OnePasswordSelector.model.d.ts +27 -0
- package/dist/components/OnePasswordSelector.model.d.ts.map +1 -0
- package/dist/components/OnePasswordSelector.model.js +31 -0
- package/dist/components/OnePasswordSelector.model.js.map +1 -0
- package/dist/components/SecretFormField.cjs +142 -0
- package/dist/components/SecretFormField.cjs.map +1 -0
- package/dist/components/SecretFormField.d.ts +9 -0
- package/dist/components/SecretFormField.d.ts.map +1 -0
- package/dist/components/SecretFormField.js +142 -0
- package/dist/components/SecretFormField.js.map +1 -0
- package/dist/components/SecretKeySelector.cjs +20 -14
- package/dist/components/SecretKeySelector.cjs.map +1 -1
- package/dist/components/SecretKeySelector.d.ts +4 -1
- package/dist/components/SecretKeySelector.d.ts.map +1 -1
- package/dist/components/SecretKeySelector.js +20 -14
- package/dist/components/SecretKeySelector.js.map +1 -1
- package/dist/components/TreePickerField.cjs +71 -27
- package/dist/components/TreePickerField.cjs.map +1 -1
- package/dist/components/TreePickerField.d.ts +31 -2
- package/dist/components/TreePickerField.d.ts.map +1 -1
- package/dist/components/TreePickerField.js +72 -28
- package/dist/components/TreePickerField.js.map +1 -1
- package/dist/components/TriStateToggle.cjs +53 -0
- package/dist/components/TriStateToggle.cjs.map +1 -0
- package/dist/components/TriStateToggle.d.ts +27 -0
- package/dist/components/TriStateToggle.d.ts.map +1 -0
- package/dist/components/TriStateToggle.js +53 -0
- package/dist/components/TriStateToggle.js.map +1 -0
- package/dist/components/combobox-types.d.ts +25 -1
- package/dist/components/combobox-types.d.ts.map +1 -1
- package/dist/components/combobox-utils.cjs +26 -0
- package/dist/components/combobox-utils.cjs.map +1 -1
- package/dist/components/combobox-utils.d.ts +10 -0
- package/dist/components/combobox-utils.d.ts.map +1 -1
- package/dist/components/combobox-utils.js +26 -0
- package/dist/components/combobox-utils.js.map +1 -1
- package/dist/components/filter-bar-utils.cjs +12 -0
- package/dist/components/filter-bar-utils.cjs.map +1 -1
- package/dist/components/filter-bar-utils.d.ts.map +1 -1
- package/dist/components/filter-bar-utils.js +12 -0
- package/dist/components/filter-bar-utils.js.map +1 -1
- package/dist/components/jotai-bindings-core.cjs.map +1 -1
- package/dist/components/jotai-bindings-core.d.ts +4 -1
- package/dist/components/jotai-bindings-core.d.ts.map +1 -1
- package/dist/components/jotai-bindings-core.js.map +1 -1
- package/dist/components/json-schema-form-accordion-array.cjs +290 -0
- package/dist/components/json-schema-form-accordion-array.cjs.map +1 -0
- package/dist/components/json-schema-form-accordion-array.d.ts +7 -0
- package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -0
- package/dist/components/json-schema-form-accordion-array.js +290 -0
- package/dist/components/json-schema-form-accordion-array.js.map +1 -0
- package/dist/components/json-schema-form-array.cjs +99 -110
- package/dist/components/json-schema-form-array.cjs.map +1 -1
- package/dist/components/json-schema-form-array.d.ts +1 -1
- package/dist/components/json-schema-form-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-array.js +98 -109
- package/dist/components/json-schema-form-array.js.map +1 -1
- package/dist/components/json-schema-form-error-display.cjs +4 -2
- package/dist/components/json-schema-form-error-display.cjs.map +1 -1
- package/dist/components/json-schema-form-error-display.d.ts +4 -2
- package/dist/components/json-schema-form-error-display.d.ts.map +1 -1
- package/dist/components/json-schema-form-error-display.js +4 -2
- package/dist/components/json-schema-form-error-display.js.map +1 -1
- package/dist/components/json-schema-form-extensions.cjs +10 -0
- package/dist/components/json-schema-form-extensions.cjs.map +1 -0
- package/dist/components/json-schema-form-extensions.d.ts +8 -0
- package/dist/components/json-schema-form-extensions.d.ts.map +1 -0
- package/dist/components/json-schema-form-extensions.js +10 -0
- package/dist/components/json-schema-form-extensions.js.map +1 -0
- package/dist/components/json-schema-form-fields.cjs +25 -101
- package/dist/components/json-schema-form-fields.cjs.map +1 -1
- package/dist/components/json-schema-form-fields.d.ts +1 -32
- package/dist/components/json-schema-form-fields.d.ts.map +1 -1
- package/dist/components/json-schema-form-fields.js +28 -104
- package/dist/components/json-schema-form-fields.js.map +1 -1
- package/dist/components/json-schema-form-item-summary.cjs +131 -0
- package/dist/components/json-schema-form-item-summary.cjs.map +1 -0
- package/dist/components/json-schema-form-item-summary.d.ts +13 -0
- package/dist/components/json-schema-form-item-summary.d.ts.map +1 -0
- package/dist/components/json-schema-form-item-summary.js +131 -0
- package/dist/components/json-schema-form-item-summary.js.map +1 -0
- package/dist/components/json-schema-form-layout.cjs +156 -0
- package/dist/components/json-schema-form-layout.cjs.map +1 -0
- package/dist/components/json-schema-form-layout.d.ts +43 -0
- package/dist/components/json-schema-form-layout.d.ts.map +1 -0
- package/dist/components/json-schema-form-layout.js +156 -0
- package/dist/components/json-schema-form-layout.js.map +1 -0
- package/dist/components/json-schema-form-lookup-tree.cjs +149 -0
- package/dist/components/json-schema-form-lookup-tree.cjs.map +1 -0
- package/dist/components/json-schema-form-lookup-tree.d.ts +22 -0
- package/dist/components/json-schema-form-lookup-tree.d.ts.map +1 -0
- package/dist/components/json-schema-form-lookup-tree.js +149 -0
- package/dist/components/json-schema-form-lookup-tree.js.map +1 -0
- package/dist/components/json-schema-form-object.cjs +11 -4
- 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 +11 -4
- package/dist/components/json-schema-form-object.js.map +1 -1
- package/dist/components/json-schema-form-render.cjs +53 -29
- 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 +53 -29
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +62 -13
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts +1 -0
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +62 -13
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-table-array.cjs +123 -0
- package/dist/components/json-schema-form-table-array.cjs.map +1 -0
- package/dist/components/json-schema-form-table-array.d.ts +7 -0
- package/dist/components/json-schema-form-table-array.d.ts.map +1 -0
- package/dist/components/json-schema-form-table-array.js +123 -0
- package/dist/components/json-schema-form-table-array.js.map +1 -0
- package/dist/components/json-schema-form-tone.cjs +34 -0
- package/dist/components/json-schema-form-tone.cjs.map +1 -0
- package/dist/components/json-schema-form-tone.d.ts +8 -0
- package/dist/components/json-schema-form-tone.d.ts.map +1 -0
- package/dist/components/json-schema-form-tone.js +34 -0
- package/dist/components/json-schema-form-tone.js.map +1 -0
- package/dist/components/json-schema-form-types.d.ts +88 -10
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.cjs +47 -4
- package/dist/components/json-schema-form-utils.cjs.map +1 -1
- package/dist/components/json-schema-form-utils.d.ts +19 -4
- package/dist/components/json-schema-form-utils.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.js +47 -4
- package/dist/components/json-schema-form-utils.js.map +1 -1
- package/dist/components/jsonPathTree.cjs +189 -0
- package/dist/components/jsonPathTree.cjs.map +1 -0
- package/dist/components/jsonPathTree.d.ts +92 -0
- package/dist/components/jsonPathTree.d.ts.map +1 -0
- package/dist/components/jsonPathTree.js +189 -0
- package/dist/components/jsonPathTree.js.map +1 -0
- package/dist/components/secret-form-extension.cjs +30 -0
- package/dist/components/secret-form-extension.cjs.map +1 -0
- package/dist/components/secret-form-extension.d.ts +23 -0
- package/dist/components/secret-form-extension.d.ts.map +1 -0
- package/dist/components/secret-form-extension.js +30 -0
- package/dist/components/secret-form-extension.js.map +1 -0
- package/dist/components/tri-state.cjs +8 -0
- package/dist/components/tri-state.cjs.map +1 -0
- package/dist/components/tri-state.d.ts +5 -0
- package/dist/components/tri-state.d.ts.map +1 -0
- package/dist/components/tri-state.js +8 -0
- package/dist/components/tri-state.js.map +1 -0
- package/dist/components/useComboboxLayout.cjs +59 -0
- package/dist/components/useComboboxLayout.cjs.map +1 -0
- package/dist/components/useComboboxLayout.d.ts +5 -0
- package/dist/components/useComboboxLayout.d.ts.map +1 -0
- package/dist/components/useComboboxLayout.js +59 -0
- package/dist/components/useComboboxLayout.js.map +1 -0
- package/dist/components.cjs +37 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +20 -4
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +38 -1
- package/dist/components.js.map +1 -1
- package/dist/data/Clicky.cjs +51 -2
- package/dist/data/Clicky.cjs.map +1 -1
- package/dist/data/Clicky.d.ts +10 -1
- package/dist/data/Clicky.d.ts.map +1 -1
- package/dist/data/Clicky.js +51 -2
- package/dist/data/Clicky.js.map +1 -1
- package/dist/data/DataTable.cjs +185 -53
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +63 -3
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.js +185 -53
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/LogsTable.cjs +10 -1
- package/dist/data/LogsTable.cjs.map +1 -1
- package/dist/data/LogsTable.d.ts +3 -1
- package/dist/data/LogsTable.d.ts.map +1 -1
- package/dist/data/LogsTable.js +10 -1
- package/dist/data/LogsTable.js.map +1 -1
- package/dist/data/TaskExecDetails.cjs +40 -0
- package/dist/data/TaskExecDetails.cjs.map +1 -0
- package/dist/data/TaskExecDetails.d.ts +5 -0
- package/dist/data/TaskExecDetails.d.ts.map +1 -0
- package/dist/data/TaskExecDetails.js +40 -0
- package/dist/data/TaskExecDetails.js.map +1 -0
- package/dist/data/TaskManager.cjs +99 -14
- package/dist/data/TaskManager.cjs.map +1 -1
- package/dist/data/TaskManager.d.ts.map +1 -1
- package/dist/data/TaskManager.js +100 -15
- package/dist/data/TaskManager.js.map +1 -1
- package/dist/data/TaskProgress.cjs +59 -14
- package/dist/data/TaskProgress.cjs.map +1 -1
- package/dist/data/TaskProgress.d.ts +2 -1
- package/dist/data/TaskProgress.d.ts.map +1 -1
- package/dist/data/TaskProgress.js +59 -14
- package/dist/data/TaskProgress.js.map +1 -1
- package/dist/data/TaskSnapshot.cjs.map +1 -1
- package/dist/data/TaskSnapshot.d.ts +12 -1
- package/dist/data/TaskSnapshot.d.ts.map +1 -1
- package/dist/data/TaskSnapshot.js.map +1 -1
- package/dist/data/TreeNode.cjs +3 -0
- package/dist/data/TreeNode.cjs.map +1 -1
- package/dist/data/TreeNode.d.ts.map +1 -1
- package/dist/data/TreeNode.js +3 -0
- package/dist/data/TreeNode.js.map +1 -1
- package/dist/data/ai/AdvancedChatConfig.cjs +289 -0
- package/dist/data/ai/AdvancedChatConfig.cjs.map +1 -0
- package/dist/data/ai/AdvancedChatConfig.d.ts +21 -0
- package/dist/data/ai/AdvancedChatConfig.d.ts.map +1 -0
- package/dist/data/ai/AdvancedChatConfig.js +289 -0
- package/dist/data/ai/AdvancedChatConfig.js.map +1 -0
- package/dist/data/ai/AdvancedCostsPanel.cjs +120 -0
- package/dist/data/ai/AdvancedCostsPanel.cjs.map +1 -0
- package/dist/data/ai/AdvancedCostsPanel.d.ts +16 -0
- package/dist/data/ai/AdvancedCostsPanel.d.ts.map +1 -0
- package/dist/data/ai/AdvancedCostsPanel.js +120 -0
- package/dist/data/ai/AdvancedCostsPanel.js.map +1 -0
- package/dist/data/ai/ChatWindow.catalogs.cjs +74 -0
- package/dist/data/ai/ChatWindow.catalogs.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.catalogs.d.ts +16 -0
- package/dist/data/ai/ChatWindow.catalogs.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.catalogs.js +74 -0
- package/dist/data/ai/ChatWindow.catalogs.js.map +1 -0
- package/dist/data/ai/ChatWindow.cjs +78 -100
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts +1 -1
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +80 -102
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindow.preferences.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.preferences.d.ts +2 -4
- package/dist/data/ai/ChatWindow.preferences.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.preferences.js.map +1 -1
- package/dist/data/ai/ChatWindow.runtime.cjs +120 -0
- package/dist/data/ai/ChatWindow.runtime.cjs.map +1 -0
- package/dist/data/ai/ChatWindow.runtime.d.ts +20 -0
- package/dist/data/ai/ChatWindow.runtime.d.ts.map +1 -0
- package/dist/data/ai/ChatWindow.runtime.js +120 -0
- package/dist/data/ai/ChatWindow.runtime.js.map +1 -0
- package/dist/data/ai/ChatWindow.thread.cjs +1 -1
- package/dist/data/ai/ChatWindow.thread.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.thread.js +1 -1
- package/dist/data/ai/ChatWindow.thread.js.map +1 -1
- package/dist/data/ai/ChatWindow.tool-catalog.cjs +20 -0
- package/dist/data/ai/ChatWindow.tool-catalog.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.tool-catalog.d.ts +17 -1
- package/dist/data/ai/ChatWindow.tool-catalog.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.tool-catalog.js +20 -0
- package/dist/data/ai/ChatWindow.tool-catalog.js.map +1 -1
- package/dist/data/ai/ChatWindow.types.d.ts +13 -5
- package/dist/data/ai/ChatWindow.types.d.ts.map +1 -1
- package/dist/data/ai/ChatWindowManager.cjs +3 -1
- package/dist/data/ai/ChatWindowManager.cjs.map +1 -1
- package/dist/data/ai/ChatWindowManager.d.ts.map +1 -1
- package/dist/data/ai/ChatWindowManager.js +3 -1
- package/dist/data/ai/ChatWindowManager.js.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.cjs +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.d.ts +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.d.ts.map +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.js +1 -1
- package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.cjs +2 -2
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +2 -2
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/RuntimeModePicker.cjs +1 -1
- package/dist/data/ai/RuntimeModePicker.cjs.map +1 -1
- package/dist/data/ai/RuntimeModePicker.d.ts +1 -1
- package/dist/data/ai/RuntimeModePicker.d.ts.map +1 -1
- package/dist/data/ai/RuntimeModePicker.js +1 -1
- package/dist/data/ai/RuntimeModePicker.js.map +1 -1
- package/dist/data/ai/SessionInspector.files.cjs +26 -43
- package/dist/data/ai/SessionInspector.files.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.files.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.files.js +26 -43
- package/dist/data/ai/SessionInspector.files.js.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
- package/dist/data/ai/SessionInspector.model.cjs +1 -1
- package/dist/data/ai/SessionInspector.model.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.model.js +1 -1
- package/dist/data/ai/SessionInspector.model.js.map +1 -1
- package/dist/data/ai/SessionViewer.rows.cjs +4 -16
- package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.rows.js +4 -16
- package/dist/data/ai/SessionViewer.rows.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +12 -3
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +12 -3
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/fields.js +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts +2 -2
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
- package/dist/data/ai/ThreadPicker.cjs +65 -3
- package/dist/data/ai/ThreadPicker.cjs.map +1 -1
- package/dist/data/ai/ThreadPicker.d.ts +11 -5
- package/dist/data/ai/ThreadPicker.d.ts.map +1 -1
- package/dist/data/ai/ThreadPicker.js +65 -3
- package/dist/data/ai/ThreadPicker.js.map +1 -1
- package/dist/data/ai/ToolPreferences.cjs +65 -685
- package/dist/data/ai/ToolPreferences.cjs.map +1 -1
- package/dist/data/ai/ToolPreferences.d.ts +15 -17
- package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
- package/dist/data/ai/ToolPreferences.js +64 -683
- package/dist/data/ai/ToolPreferences.js.map +1 -1
- package/dist/data/ai/ToolPreferences.model.cjs +148 -0
- package/dist/data/ai/ToolPreferences.model.cjs.map +1 -0
- package/dist/data/ai/ToolPreferences.model.d.ts +31 -0
- package/dist/data/ai/ToolPreferences.model.d.ts.map +1 -0
- package/dist/data/ai/ToolPreferences.model.js +148 -0
- package/dist/data/ai/ToolPreferences.model.js.map +1 -0
- package/dist/data/ai/ToolPreferencesList.cjs +270 -0
- package/dist/data/ai/ToolPreferencesList.cjs.map +1 -0
- package/dist/data/ai/ToolPreferencesList.d.ts +18 -0
- package/dist/data/ai/ToolPreferencesList.d.ts.map +1 -0
- package/dist/data/ai/ToolPreferencesList.js +270 -0
- package/dist/data/ai/ToolPreferencesList.js.map +1 -0
- package/dist/data/ai/agent-action-icons.cjs.map +1 -1
- package/dist/data/ai/agent-action-icons.js.map +1 -1
- package/dist/data/ai/chat-window-context.cjs +4 -1
- package/dist/data/ai/chat-window-context.cjs.map +1 -1
- package/dist/data/ai/chat-window-context.d.ts +7 -0
- package/dist/data/ai/chat-window-context.d.ts.map +1 -1
- package/dist/data/ai/chat-window-context.js +4 -1
- package/dist/data/ai/chat-window-context.js.map +1 -1
- package/dist/data/ai/index.d.ts +6 -3
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/session-tones.cjs +67 -0
- package/dist/data/ai/session-tones.cjs.map +1 -0
- package/dist/data/ai/session-tones.d.ts +34 -0
- package/dist/data/ai/session-tones.d.ts.map +1 -0
- package/dist/data/ai/session-tones.js +67 -0
- package/dist/data/ai/session-tones.js.map +1 -0
- package/dist/data/ai/thread-costs.cjs +39 -0
- package/dist/data/ai/thread-costs.cjs.map +1 -0
- package/dist/data/ai/thread-costs.d.ts +62 -0
- package/dist/data/ai/thread-costs.d.ts.map +1 -0
- package/dist/data/ai/thread-costs.js +39 -0
- package/dist/data/ai/thread-costs.js.map +1 -0
- package/dist/data/cells/CellFilterActions.cjs +68 -0
- package/dist/data/cells/CellFilterActions.cjs.map +1 -0
- package/dist/data/cells/CellFilterActions.d.ts +15 -0
- package/dist/data/cells/CellFilterActions.d.ts.map +1 -0
- package/dist/data/cells/CellFilterActions.js +68 -0
- package/dist/data/cells/CellFilterActions.js.map +1 -0
- package/dist/data/chat/Chat.cjs +156 -113
- package/dist/data/chat/Chat.cjs.map +1 -1
- package/dist/data/chat/Chat.d.ts +24 -7
- package/dist/data/chat/Chat.d.ts.map +1 -1
- package/dist/data/chat/Chat.fixtures.cjs +48 -3
- package/dist/data/chat/Chat.fixtures.cjs.map +1 -1
- package/dist/data/chat/Chat.fixtures.d.ts +1 -1
- package/dist/data/chat/Chat.fixtures.d.ts.map +1 -1
- package/dist/data/chat/Chat.fixtures.js +48 -3
- package/dist/data/chat/Chat.fixtures.js.map +1 -1
- package/dist/data/chat/Chat.js +160 -117
- package/dist/data/chat/Chat.js.map +1 -1
- package/dist/data/chat/Chat.runtime.cjs +63 -0
- package/dist/data/chat/Chat.runtime.cjs.map +1 -0
- package/dist/data/chat/Chat.runtime.d.ts +16 -0
- package/dist/data/chat/Chat.runtime.d.ts.map +1 -0
- package/dist/data/chat/Chat.runtime.js +63 -0
- package/dist/data/chat/Chat.runtime.js.map +1 -0
- package/dist/data/chat/ChatRuntimeToolbar.cjs +62 -0
- package/dist/data/chat/ChatRuntimeToolbar.cjs.map +1 -0
- package/dist/data/chat/ChatRuntimeToolbar.d.ts +14 -0
- package/dist/data/chat/ChatRuntimeToolbar.d.ts.map +1 -0
- package/dist/data/chat/ChatRuntimeToolbar.js +62 -0
- package/dist/data/chat/ChatRuntimeToolbar.js.map +1 -0
- package/dist/data/chat/ToolCall.cjs +86 -24
- package/dist/data/chat/ToolCall.cjs.map +1 -1
- package/dist/data/chat/ToolCall.d.ts +12 -5
- package/dist/data/chat/ToolCall.d.ts.map +1 -1
- package/dist/data/chat/ToolCall.js +86 -24
- package/dist/data/chat/ToolCall.js.map +1 -1
- package/dist/data/chat/approval.cjs +49 -6
- package/dist/data/chat/approval.cjs.map +1 -1
- package/dist/data/chat/approval.d.ts +11 -4
- package/dist/data/chat/approval.d.ts.map +1 -1
- package/dist/data/chat/approval.js +49 -6
- package/dist/data/chat/approval.js.map +1 -1
- package/dist/data/chat/index.d.ts +5 -3
- package/dist/data/chat/index.d.ts.map +1 -1
- package/dist/data/chat/tool-render/ToolArgs.cjs +50 -0
- package/dist/data/chat/tool-render/ToolArgs.cjs.map +1 -0
- package/dist/data/chat/tool-render/ToolArgs.d.ts +7 -0
- package/dist/data/chat/tool-render/ToolArgs.d.ts.map +1 -0
- package/dist/data/chat/tool-render/ToolArgs.js +50 -0
- package/dist/data/chat/tool-render/ToolArgs.js.map +1 -0
- package/dist/data/chat/tool-render/ToolParams.cjs +155 -0
- package/dist/data/chat/tool-render/ToolParams.cjs.map +1 -0
- package/dist/data/chat/tool-render/ToolParams.d.ts +20 -0
- package/dist/data/chat/tool-render/ToolParams.d.ts.map +1 -0
- package/dist/data/chat/tool-render/ToolParams.js +155 -0
- package/dist/data/chat/tool-render/ToolParams.js.map +1 -0
- package/dist/data/chat/tool-render/ToolValue.cjs +140 -0
- package/dist/data/chat/tool-render/ToolValue.cjs.map +1 -0
- package/dist/data/chat/tool-render/ToolValue.d.ts +16 -0
- package/dist/data/chat/tool-render/ToolValue.d.ts.map +1 -0
- package/dist/data/chat/tool-render/ToolValue.js +140 -0
- package/dist/data/chat/tool-render/ToolValue.js.map +1 -0
- package/dist/data/chat/tool-render/adapter.cjs +48 -0
- package/dist/data/chat/tool-render/adapter.cjs.map +1 -0
- package/dist/data/chat/tool-render/adapter.d.ts +57 -0
- package/dist/data/chat/tool-render/adapter.d.ts.map +1 -0
- package/dist/data/chat/tool-render/adapter.js +48 -0
- package/dist/data/chat/tool-render/adapter.js.map +1 -0
- package/dist/data/chat/tool-render/context.cjs +16 -0
- package/dist/data/chat/tool-render/context.cjs.map +1 -0
- package/dist/data/chat/tool-render/context.d.ts +6 -0
- package/dist/data/chat/tool-render/context.d.ts.map +1 -0
- package/dist/data/chat/tool-render/context.js +16 -0
- package/dist/data/chat/tool-render/context.js.map +1 -0
- package/dist/data/chat/tool-render/defaults.cjs +45 -0
- package/dist/data/chat/tool-render/defaults.cjs.map +1 -0
- package/dist/data/chat/tool-render/defaults.d.ts +11 -0
- package/dist/data/chat/tool-render/defaults.d.ts.map +1 -0
- package/dist/data/chat/tool-render/defaults.js +45 -0
- package/dist/data/chat/tool-render/defaults.js.map +1 -0
- package/dist/data/chat/tool-render/index.d.ts +13 -0
- package/dist/data/chat/tool-render/index.d.ts.map +1 -0
- package/dist/data/chat/tool-render/known-tool-views.cjs +208 -0
- package/dist/data/chat/tool-render/known-tool-views.cjs.map +1 -0
- package/dist/data/chat/tool-render/known-tool-views.d.ts +10 -0
- package/dist/data/chat/tool-render/known-tool-views.d.ts.map +1 -0
- package/dist/data/chat/tool-render/known-tool-views.js +208 -0
- package/dist/data/chat/tool-render/known-tool-views.js.map +1 -0
- package/dist/data/chat/tool-render/known-tools.cjs +58 -0
- package/dist/data/chat/tool-render/known-tools.cjs.map +1 -0
- package/dist/data/chat/tool-render/known-tools.d.ts +4 -0
- package/dist/data/chat/tool-render/known-tools.d.ts.map +1 -0
- package/dist/data/chat/tool-render/known-tools.js +58 -0
- package/dist/data/chat/tool-render/known-tools.js.map +1 -0
- package/dist/data/chat/tool-render/normalize.cjs +42 -0
- package/dist/data/chat/tool-render/normalize.cjs.map +1 -0
- package/dist/data/chat/tool-render/normalize.d.ts +13 -0
- package/dist/data/chat/tool-render/normalize.d.ts.map +1 -0
- package/dist/data/chat/tool-render/normalize.js +42 -0
- package/dist/data/chat/tool-render/normalize.js.map +1 -0
- package/dist/data/chat/tool-render/registry.cjs +14 -0
- package/dist/data/chat/tool-render/registry.cjs.map +1 -0
- package/dist/data/chat/tool-render/registry.d.ts +7 -0
- package/dist/data/chat/tool-render/registry.d.ts.map +1 -0
- package/dist/data/chat/tool-render/registry.js +14 -0
- package/dist/data/chat/tool-render/registry.js.map +1 -0
- package/dist/data/chat/tool-render/schema.cjs +57 -0
- package/dist/data/chat/tool-render/schema.cjs.map +1 -0
- package/dist/data/chat/tool-render/schema.d.ts +28 -0
- package/dist/data/chat/tool-render/schema.d.ts.map +1 -0
- package/dist/data/chat/tool-render/schema.js +57 -0
- package/dist/data/chat/tool-render/schema.js.map +1 -0
- package/dist/data/chat/tool-render/shape.cjs +94 -0
- package/dist/data/chat/tool-render/shape.cjs.map +1 -0
- package/dist/data/chat/tool-render/shape.d.ts +39 -0
- package/dist/data/chat/tool-render/shape.d.ts.map +1 -0
- package/dist/data/chat/tool-render/shape.js +94 -0
- package/dist/data/chat/tool-render/shape.js.map +1 -0
- package/dist/data/chat/tool-render/summary.cjs +34 -0
- package/dist/data/chat/tool-render/summary.cjs.map +1 -0
- package/dist/data/chat/tool-render/summary.d.ts +8 -0
- package/dist/data/chat/tool-render/summary.d.ts.map +1 -0
- package/dist/data/chat/tool-render/summary.js +34 -0
- package/dist/data/chat/tool-render/summary.js.map +1 -0
- package/dist/data/chat/types.cjs.map +1 -1
- package/dist/data/chat/types.d.ts +7 -0
- package/dist/data/chat/types.d.ts.map +1 -1
- package/dist/data/chat/types.js.map +1 -1
- package/dist/data/chat/usage-snapshot.cjs +17 -0
- package/dist/data/chat/usage-snapshot.cjs.map +1 -0
- package/dist/data/chat/usage-snapshot.d.ts +21 -0
- package/dist/data/chat/usage-snapshot.d.ts.map +1 -0
- package/dist/data/chat/usage-snapshot.js +17 -0
- package/dist/data/chat/usage-snapshot.js.map +1 -0
- package/dist/data/data-table-filter-values.cjs +103 -0
- package/dist/data/data-table-filter-values.cjs.map +1 -0
- package/dist/data/data-table-filter-values.d.ts +34 -0
- package/dist/data/data-table-filter-values.d.ts.map +1 -0
- package/dist/data/data-table-filter-values.js +103 -0
- package/dist/data/data-table-filter-values.js.map +1 -0
- package/dist/data/data-table-server-filters.cjs +165 -0
- package/dist/data/data-table-server-filters.cjs.map +1 -0
- package/dist/data/data-table-server-filters.d.ts +128 -0
- package/dist/data/data-table-server-filters.d.ts.map +1 -0
- package/dist/data/data-table-server-filters.js +165 -0
- package/dist/data/data-table-server-filters.js.map +1 -0
- package/dist/data/query-browser/QueryBrowser.cjs +204 -155
- package/dist/data/query-browser/QueryBrowser.cjs.map +1 -1
- package/dist/data/query-browser/QueryBrowser.d.ts +2 -41
- package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
- package/dist/data/query-browser/QueryBrowser.editor.cjs +88 -0
- package/dist/data/query-browser/QueryBrowser.editor.cjs.map +1 -0
- package/dist/data/query-browser/QueryBrowser.editor.d.ts +12 -0
- package/dist/data/query-browser/QueryBrowser.editor.d.ts.map +1 -0
- package/dist/data/query-browser/QueryBrowser.editor.js +88 -0
- package/dist/data/query-browser/QueryBrowser.editor.js.map +1 -0
- package/dist/data/query-browser/QueryBrowser.js +205 -156
- package/dist/data/query-browser/QueryBrowser.js.map +1 -1
- package/dist/data/query-browser/QueryBrowser.types.cjs +11 -0
- package/dist/data/query-browser/QueryBrowser.types.cjs.map +1 -0
- package/dist/data/query-browser/QueryBrowser.types.d.ts +92 -0
- package/dist/data/query-browser/QueryBrowser.types.d.ts.map +1 -0
- package/dist/data/query-browser/QueryBrowser.types.js +11 -0
- package/dist/data/query-browser/QueryBrowser.types.js.map +1 -0
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.cjs +56 -0
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.cjs.map +1 -0
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts +5 -0
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts.map +1 -0
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.js +56 -0
- package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.js.map +1 -0
- package/dist/data/query-browser/QueryBrowserResults.cjs +80 -0
- package/dist/data/query-browser/QueryBrowserResults.cjs.map +1 -0
- package/dist/data/query-browser/QueryBrowserResults.d.ts +16 -0
- package/dist/data/query-browser/QueryBrowserResults.d.ts.map +1 -0
- package/dist/data/query-browser/QueryBrowserResults.js +80 -0
- package/dist/data/query-browser/QueryBrowserResults.js.map +1 -0
- package/dist/data/query-browser/index.d.ts +2 -1
- package/dist/data/query-browser/index.d.ts.map +1 -1
- package/dist/data/runtime/ProviderStatusPanel.cjs +187 -0
- package/dist/data/runtime/ProviderStatusPanel.cjs.map +1 -0
- package/dist/data/runtime/ProviderStatusPanel.d.ts +10 -0
- package/dist/data/runtime/ProviderStatusPanel.d.ts.map +1 -0
- package/dist/data/runtime/ProviderStatusPanel.js +187 -0
- package/dist/data/runtime/ProviderStatusPanel.js.map +1 -0
- package/dist/data/runtime/RuntimeBar.cjs +147 -0
- package/dist/data/runtime/RuntimeBar.cjs.map +1 -0
- package/dist/data/{ai → runtime}/RuntimeBar.d.ts +8 -6
- package/dist/data/runtime/RuntimeBar.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.js +147 -0
- package/dist/data/runtime/RuntimeBar.js.map +1 -0
- package/dist/data/runtime/RuntimeBar.model.cjs.map +1 -0
- package/dist/data/{ai → runtime}/RuntimeBar.model.d.ts +2 -2
- package/dist/data/runtime/RuntimeBar.model.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.model.js.map +1 -0
- package/dist/data/{ai → runtime}/RuntimeBarCombo.cjs +25 -30
- package/dist/data/runtime/RuntimeBarCombo.cjs.map +1 -0
- package/dist/data/{ai → runtime}/RuntimeBarCombo.d.ts +4 -3
- package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -0
- package/dist/data/{ai → runtime}/RuntimeBarCombo.js +25 -30
- package/dist/data/runtime/RuntimeBarCombo.js.map +1 -0
- package/dist/data/{ai/RuntimeBar.cjs → runtime/RuntimeBarSegments.cjs} +54 -120
- package/dist/data/runtime/RuntimeBarSegments.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBarSegments.d.ts +25 -0
- package/dist/data/runtime/RuntimeBarSegments.d.ts.map +1 -0
- package/dist/data/{ai/RuntimeBar.js → runtime/RuntimeBarSegments.js} +58 -124
- package/dist/data/runtime/RuntimeBarSegments.js.map +1 -0
- package/dist/data/runtime/availability.cjs +11 -0
- package/dist/data/runtime/availability.cjs.map +1 -0
- package/dist/data/runtime/availability.d.ts +6 -0
- package/dist/data/runtime/availability.d.ts.map +1 -0
- package/dist/data/runtime/availability.js +11 -0
- package/dist/data/runtime/availability.js.map +1 -0
- package/dist/data/runtime/model-capabilities.cjs.map +1 -0
- package/dist/data/runtime/model-capabilities.d.ts.map +1 -0
- package/dist/data/runtime/model-capabilities.js.map +1 -0
- package/dist/data/runtime/provider-status.cjs +106 -0
- package/dist/data/runtime/provider-status.cjs.map +1 -0
- package/dist/data/runtime/provider-status.d.ts +24 -0
- package/dist/data/runtime/provider-status.d.ts.map +1 -0
- package/dist/data/runtime/provider-status.js +106 -0
- package/dist/data/runtime/provider-status.js.map +1 -0
- package/dist/data/{ai → runtime}/runtime-mode.cjs +119 -27
- package/dist/data/runtime/runtime-mode.cjs.map +1 -0
- package/dist/data/{ai → runtime}/runtime-mode.d.ts +7 -1
- package/dist/data/runtime/runtime-mode.d.ts.map +1 -0
- package/dist/data/{ai → runtime}/runtime-mode.js +120 -28
- package/dist/data/runtime/runtime-mode.js.map +1 -0
- package/dist/data/task-exec-details.cjs +9 -0
- package/dist/data/task-exec-details.cjs.map +1 -0
- package/dist/data/task-exec-details.d.ts +3 -0
- package/dist/data/task-exec-details.d.ts.map +1 -0
- package/dist/data/task-exec-details.js +9 -0
- package/dist/data/task-exec-details.js.map +1 -0
- package/dist/data/task-query-keys.cjs +26 -0
- package/dist/data/task-query-keys.cjs.map +1 -0
- package/dist/data/task-query-keys.d.ts +27 -0
- package/dist/data/task-query-keys.d.ts.map +1 -0
- package/dist/data/task-query-keys.js +26 -0
- package/dist/data/task-query-keys.js.map +1 -0
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +18 -0
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +6 -2
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +18 -0
- package/dist/data.js.map +1 -1
- package/dist/hooks/use-hotkey.cjs +6 -1
- package/dist/hooks/use-hotkey.cjs.map +1 -1
- package/dist/hooks/use-hotkey.d.ts.map +1 -1
- package/dist/hooks/use-hotkey.js +6 -1
- package/dist/hooks/use-hotkey.js.map +1 -1
- package/dist/hooks/use-task-run.cjs +7 -4
- package/dist/hooks/use-task-run.cjs.map +1 -1
- package/dist/hooks/use-task-run.d.ts +12 -0
- package/dist/hooks/use-task-run.d.ts.map +1 -1
- package/dist/hooks/use-task-run.js +7 -4
- package/dist/hooks/use-task-run.js.map +1 -1
- package/dist/icons/index.d.ts +1 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/registry.cjs +692 -0
- package/dist/icons/registry.cjs.map +1 -0
- package/dist/icons/registry.d.ts +21 -0
- package/dist/icons/registry.d.ts.map +1 -0
- package/dist/icons/registry.js +692 -0
- package/dist/icons/registry.js.map +1 -0
- package/dist/icons.cjs +3 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +4 -1
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +65 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +67 -2
- package/dist/index.js.map +1 -1
- package/dist/layout/AppShell.cjs +92 -56
- package/dist/layout/AppShell.cjs.map +1 -1
- package/dist/layout/AppShell.d.ts +49 -1
- package/dist/layout/AppShell.d.ts.map +1 -1
- package/dist/layout/AppShell.js +92 -56
- package/dist/layout/AppShell.js.map +1 -1
- package/dist/layout/AppShell.nav.cjs +144 -19
- package/dist/layout/AppShell.nav.cjs.map +1 -1
- package/dist/layout/AppShell.nav.d.ts +6 -1
- package/dist/layout/AppShell.nav.d.ts.map +1 -1
- package/dist/layout/AppShell.nav.js +144 -19
- package/dist/layout/AppShell.nav.js.map +1 -1
- package/dist/layout/SplitPane.cjs +23 -7
- package/dist/layout/SplitPane.cjs.map +1 -1
- package/dist/layout/SplitPane.d.ts +3 -1
- package/dist/layout/SplitPane.d.ts.map +1 -1
- package/dist/layout/SplitPane.js +23 -7
- package/dist/layout/SplitPane.js.map +1 -1
- package/dist/lib/format.cjs +86 -4
- package/dist/lib/format.cjs.map +1 -1
- package/dist/lib/format.d.ts +69 -0
- package/dist/lib/format.d.ts.map +1 -1
- package/dist/lib/format.js +86 -4
- package/dist/lib/format.js.map +1 -1
- package/dist/lib/path-tree.cjs +69 -0
- package/dist/lib/path-tree.cjs.map +1 -0
- package/dist/lib/path-tree.d.ts +54 -0
- package/dist/lib/path-tree.d.ts.map +1 -0
- package/dist/lib/path-tree.js +69 -0
- package/dist/lib/path-tree.js.map +1 -0
- package/dist/monaco.d.ts +1 -0
- package/dist/monaco.d.ts.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.cjs +13 -7
- package/dist/overlay/DropdownMenuSubmenu.cjs.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -1
- package/dist/overlay/DropdownMenuSubmenu.js +13 -7
- package/dist/overlay/DropdownMenuSubmenu.js.map +1 -1
- package/dist/overlay/Tour.cjs +173 -0
- package/dist/overlay/Tour.cjs.map +1 -0
- package/dist/overlay/Tour.d.ts +61 -0
- package/dist/overlay/Tour.d.ts.map +1 -0
- package/dist/overlay/Tour.js +173 -0
- package/dist/overlay/Tour.js.map +1 -0
- package/dist/overlay/TourCard.cjs +108 -0
- package/dist/overlay/TourCard.cjs.map +1 -0
- package/dist/overlay/TourCard.d.ts +23 -0
- package/dist/overlay/TourCard.d.ts.map +1 -0
- package/dist/overlay/TourCard.js +108 -0
- package/dist/overlay/TourCard.js.map +1 -0
- package/dist/overlay/TourProvider.cjs +160 -0
- package/dist/overlay/TourProvider.cjs.map +1 -0
- package/dist/overlay/TourProvider.d.ts +31 -0
- package/dist/overlay/TourProvider.d.ts.map +1 -0
- package/dist/overlay/TourProvider.js +160 -0
- package/dist/overlay/TourProvider.js.map +1 -0
- package/dist/overlay/TourSpotlight.cjs +47 -0
- package/dist/overlay/TourSpotlight.cjs.map +1 -0
- package/dist/overlay/TourSpotlight.d.ts +12 -0
- package/dist/overlay/TourSpotlight.d.ts.map +1 -0
- package/dist/overlay/TourSpotlight.js +47 -0
- package/dist/overlay/TourSpotlight.js.map +1 -0
- package/dist/overlay/modalStack.cjs +18 -4
- package/dist/overlay/modalStack.cjs.map +1 -1
- package/dist/overlay/modalStack.d.ts +10 -2
- package/dist/overlay/modalStack.d.ts.map +1 -1
- package/dist/overlay/modalStack.js +19 -5
- package/dist/overlay/modalStack.js.map +1 -1
- package/dist/overlay/tour-anchor.cjs +114 -0
- package/dist/overlay/tour-anchor.cjs.map +1 -0
- package/dist/overlay/tour-anchor.d.ts +30 -0
- package/dist/overlay/tour-anchor.d.ts.map +1 -0
- package/dist/overlay/tour-anchor.js +114 -0
- package/dist/overlay/tour-anchor.js.map +1 -0
- package/dist/overlay/tour-context.cjs +12 -0
- package/dist/overlay/tour-context.cjs.map +1 -0
- package/dist/overlay/tour-context.d.ts +40 -0
- package/dist/overlay/tour-context.d.ts.map +1 -0
- package/dist/overlay/tour-context.js +12 -0
- package/dist/overlay/tour-context.js.map +1 -0
- package/dist/overlay/tour-geometry.cjs +65 -0
- package/dist/overlay/tour-geometry.cjs.map +1 -0
- package/dist/overlay/tour-geometry.d.ts +47 -0
- package/dist/overlay/tour-geometry.d.ts.map +1 -0
- package/dist/overlay/tour-geometry.js +65 -0
- package/dist/overlay/tour-geometry.js.map +1 -0
- package/dist/overlay/tour-model.cjs +79 -0
- package/dist/overlay/tour-model.cjs.map +1 -0
- package/dist/overlay/tour-model.d.ts +29 -0
- package/dist/overlay/tour-model.d.ts.map +1 -0
- package/dist/overlay/tour-model.js +79 -0
- package/dist/overlay/tour-model.js.map +1 -0
- package/dist/overlay/tour-progress.cjs +54 -0
- package/dist/overlay/tour-progress.cjs.map +1 -0
- package/dist/overlay/tour-progress.d.ts +40 -0
- package/dist/overlay/tour-progress.d.ts.map +1 -0
- package/dist/overlay/tour-progress.js +54 -0
- package/dist/overlay/tour-progress.js.map +1 -0
- package/dist/overlay/tour-types.d.ts +144 -0
- package/dist/overlay/tour-types.d.ts.map +1 -0
- package/dist/overlay/use-tour-anchor.cjs +43 -0
- package/dist/overlay/use-tour-anchor.cjs.map +1 -0
- package/dist/overlay/use-tour-anchor.d.ts +23 -0
- package/dist/overlay/use-tour-anchor.d.ts.map +1 -0
- package/dist/overlay/use-tour-anchor.js +43 -0
- package/dist/overlay/use-tour-anchor.js.map +1 -0
- package/dist/overlay/use-tour-rect.cjs +33 -0
- package/dist/overlay/use-tour-rect.cjs.map +1 -0
- package/dist/overlay/use-tour-rect.d.ts +12 -0
- package/dist/overlay/use-tour-rect.d.ts.map +1 -0
- package/dist/overlay/use-tour-rect.js +33 -0
- package/dist/overlay/use-tour-rect.js.map +1 -0
- package/dist/overlay/use-tour-step.cjs +66 -0
- package/dist/overlay/use-tour-step.cjs.map +1 -0
- package/dist/overlay/use-tour-step.d.ts +45 -0
- package/dist/overlay/use-tour-step.d.ts.map +1 -0
- package/dist/overlay/use-tour-step.js +66 -0
- package/dist/overlay/use-tour-step.js.map +1 -0
- package/dist/overlay/zIndex.cjs +8 -0
- package/dist/overlay/zIndex.cjs.map +1 -1
- package/dist/overlay/zIndex.d.ts +8 -0
- package/dist/overlay/zIndex.d.ts.map +1 -1
- package/dist/overlay/zIndex.js +8 -0
- package/dist/overlay/zIndex.js.map +1 -1
- package/dist/rpc/CommandOutput.cjs +8 -0
- package/dist/rpc/CommandOutput.cjs.map +1 -1
- package/dist/rpc/CommandOutput.d.ts +4 -1
- package/dist/rpc/CommandOutput.d.ts.map +1 -1
- package/dist/rpc/CommandOutput.js +8 -0
- package/dist/rpc/CommandOutput.js.map +1 -1
- package/dist/rpc/EntityExplorerApp.cjs +10 -16
- package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
- package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
- package/dist/rpc/EntityExplorerApp.js +10 -16
- package/dist/rpc/EntityExplorerApp.js.map +1 -1
- package/dist/rpc/FilterForm.cjs +20 -0
- package/dist/rpc/FilterForm.cjs.map +1 -1
- package/dist/rpc/FilterForm.js +20 -0
- package/dist/rpc/FilterForm.js.map +1 -1
- package/dist/rpc/OperationActionBar.cjs +1 -1
- package/dist/rpc/OperationActionBar.cjs.map +1 -1
- package/dist/rpc/OperationActionBar.js +1 -1
- package/dist/rpc/OperationActionBar.js.map +1 -1
- package/dist/rpc/OperationCatalog.cjs +83 -7
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +84 -8
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationResultView.cjs +2 -0
- package/dist/rpc/OperationResultView.cjs.map +1 -1
- package/dist/rpc/OperationResultView.d.ts +6 -0
- package/dist/rpc/OperationResultView.d.ts.map +1 -1
- package/dist/rpc/OperationResultView.js +2 -0
- package/dist/rpc/OperationResultView.js.map +1 -1
- package/dist/rpc/SchemaActionForm.cjs +2 -21
- package/dist/rpc/SchemaActionForm.cjs.map +1 -1
- package/dist/rpc/SchemaActionForm.d.ts.map +1 -1
- package/dist/rpc/SchemaActionForm.js +3 -22
- package/dist/rpc/SchemaActionForm.js.map +1 -1
- package/dist/rpc/apiClient.cjs +16 -2
- package/dist/rpc/apiClient.cjs.map +1 -1
- package/dist/rpc/apiClient.d.ts.map +1 -1
- package/dist/rpc/apiClient.js +16 -2
- package/dist/rpc/apiClient.js.map +1 -1
- package/dist/rpc/formMetadata.cjs +123 -49
- package/dist/rpc/formMetadata.cjs.map +1 -1
- package/dist/rpc/formMetadata.d.ts +14 -6
- package/dist/rpc/formMetadata.d.ts.map +1 -1
- package/dist/rpc/formMetadata.js +121 -47
- package/dist/rpc/formMetadata.js.map +1 -1
- package/dist/rpc/operationFilterSearch.cjs +23 -0
- package/dist/rpc/operationFilterSearch.cjs.map +1 -0
- package/dist/rpc/operationFilterSearch.d.ts +22 -0
- package/dist/rpc/operationFilterSearch.d.ts.map +1 -0
- package/dist/rpc/operationFilterSearch.js +23 -0
- package/dist/rpc/operationFilterSearch.js.map +1 -0
- package/dist/rpc/operationLookupFetcher.cjs +28 -0
- package/dist/rpc/operationLookupFetcher.cjs.map +1 -0
- package/dist/rpc/operationLookupFetcher.d.ts +17 -0
- package/dist/rpc/operationLookupFetcher.d.ts.map +1 -0
- package/dist/rpc/operationLookupFetcher.js +28 -0
- package/dist/rpc/operationLookupFetcher.js.map +1 -0
- package/dist/rpc/surfaceNav.cjs +77 -0
- package/dist/rpc/surfaceNav.cjs.map +1 -0
- package/dist/rpc/surfaceNav.d.ts +19 -0
- package/dist/rpc/surfaceNav.d.ts.map +1 -0
- package/dist/rpc/surfaceNav.js +77 -0
- package/dist/rpc/surfaceNav.js.map +1 -0
- package/dist/rpc/types.cjs.map +1 -1
- package/dist/rpc/types.d.ts +21 -2
- package/dist/rpc/types.d.ts.map +1 -1
- package/dist/rpc/types.js.map +1 -1
- package/dist/rpc.cjs +2 -0
- package/dist/rpc.cjs.map +1 -1
- package/dist/rpc.d.ts +1 -0
- 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 +1 -1
- package/dist/utils.cjs +8 -0
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +2 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +10 -2
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/data/ai/RuntimeBar.cjs.map +0 -1
- package/dist/data/ai/RuntimeBar.d.ts.map +0 -1
- package/dist/data/ai/RuntimeBar.js.map +0 -1
- package/dist/data/ai/RuntimeBar.model.cjs.map +0 -1
- package/dist/data/ai/RuntimeBar.model.d.ts.map +0 -1
- package/dist/data/ai/RuntimeBar.model.js.map +0 -1
- package/dist/data/ai/RuntimeBarCombo.cjs.map +0 -1
- package/dist/data/ai/RuntimeBarCombo.d.ts.map +0 -1
- package/dist/data/ai/RuntimeBarCombo.js.map +0 -1
- package/dist/data/ai/model-capabilities.cjs.map +0 -1
- package/dist/data/ai/model-capabilities.d.ts.map +0 -1
- package/dist/data/ai/model-capabilities.js.map +0 -1
- package/dist/data/ai/runtime-mode.cjs.map +0 -1
- package/dist/data/ai/runtime-mode.d.ts.map +0 -1
- package/dist/data/ai/runtime-mode.js.map +0 -1
- /package/dist/data/{ai → runtime}/RuntimeBar.model.cjs +0 -0
- /package/dist/data/{ai → runtime}/RuntimeBar.model.js +0 -0
- /package/dist/data/{ai → runtime}/model-capabilities.cjs +0 -0
- /package/dist/data/{ai → runtime}/model-capabilities.d.ts +0 -0
- /package/dist/data/{ai → runtime}/model-capabilities.js +0 -0
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useRef, useEffect } from "react";
|
|
3
|
+
import { cn } from "../lib/utils.js";
|
|
4
|
+
import { Icon, LabelIcon } from "../data/Icon.js";
|
|
5
|
+
import { appendInstancePath } from "./json-schema-form-errors.js";
|
|
6
|
+
import { resolveItemSpec, emptyItemsCopy, noItemsLabel, itemCountLabel, itemSummaryFor, addItemLabel } from "./json-schema-form-item-summary.js";
|
|
7
|
+
import { labelSizeClass, controlHeightClass } from "./json-schema-form-size.js";
|
|
8
|
+
import { TONE_GLYPH_CLASS } from "./json-schema-form-tone.js";
|
|
9
|
+
import { fieldInputId, setIndex, removeIndex, duplicateIndex, moveItem, seedFromSchema } from "./json-schema-form-utils.js";
|
|
10
|
+
import { UiChevronDown } from "../icons/components/UiChevronDown.js";
|
|
11
|
+
import { UiChevronRight } from "../icons/components/UiChevronRight.js";
|
|
12
|
+
import { UiAsterisk } from "../icons/components/UiAsterisk.js";
|
|
13
|
+
import { UiChevronUp } from "../icons/components/UiChevronUp.js";
|
|
14
|
+
import { UiCopy } from "../icons/components/UiCopy.js";
|
|
15
|
+
import { UiTrash } from "../icons/components/UiTrash.js";
|
|
16
|
+
import { UiAdd } from "../icons/components/UiAdd.js";
|
|
17
|
+
function AccordionArray({
|
|
18
|
+
field,
|
|
19
|
+
ctx,
|
|
20
|
+
readOnly
|
|
21
|
+
}) {
|
|
22
|
+
const items = Array.isArray(field.value) ? field.value : [];
|
|
23
|
+
const itemSchema = field.itemSchema ?? { type: "object" };
|
|
24
|
+
const spec = field.itemSpec ?? resolveItemSpec(field.schema, itemSchema);
|
|
25
|
+
const emptyCopy = emptyItemsCopy(spec, field.schema);
|
|
26
|
+
const childCtx = {
|
|
27
|
+
...ctx,
|
|
28
|
+
readOnly,
|
|
29
|
+
depth: ctx.depth + 1,
|
|
30
|
+
...field.helpDisplay ? { layout: { ...ctx.layout, help: field.helpDisplay } } : {}
|
|
31
|
+
};
|
|
32
|
+
const [expanded, setExpanded] = useState(null);
|
|
33
|
+
const rowRefs = useRef([]);
|
|
34
|
+
const addRef = useRef(null);
|
|
35
|
+
const pendingFocus = useRef(null);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
const pending = pendingFocus.current;
|
|
39
|
+
if (!pending) return;
|
|
40
|
+
pendingFocus.current = null;
|
|
41
|
+
if (pending.kind === "add") {
|
|
42
|
+
(_a = addRef.current) == null ? void 0 : _a.focus();
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const row = rowRefs.current[pending.index];
|
|
46
|
+
if (pending.kind === "row") {
|
|
47
|
+
row == null ? void 0 : row.focus();
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const panel = document.getElementById(panelId(pending.index));
|
|
51
|
+
const input = panel == null ? void 0 : panel.querySelector("[data-jsf-input]");
|
|
52
|
+
(_b = input ?? row) == null ? void 0 : _b.focus();
|
|
53
|
+
});
|
|
54
|
+
function panelId(index) {
|
|
55
|
+
return `${fieldInputId(appendInstancePath(ctx.instancePath, index), ctx.idPrefix)}-panel`;
|
|
56
|
+
}
|
|
57
|
+
function headerId(index) {
|
|
58
|
+
return `${fieldInputId(appendInstancePath(ctx.instancePath, index), ctx.idPrefix)}-header`;
|
|
59
|
+
}
|
|
60
|
+
function commit(next) {
|
|
61
|
+
field.onChange(next);
|
|
62
|
+
}
|
|
63
|
+
function add() {
|
|
64
|
+
pendingFocus.current = { kind: "panel", index: items.length };
|
|
65
|
+
setExpanded(items.length);
|
|
66
|
+
commit([...items, seedFromSchema(itemSchema)]);
|
|
67
|
+
}
|
|
68
|
+
function remove(index) {
|
|
69
|
+
setExpanded((open) => open === index ? null : open !== null && open > index ? open - 1 : open);
|
|
70
|
+
pendingFocus.current = items.length === 1 ? { kind: "add", index: 0 } : { kind: "row", index: Math.max(index - 1, 0) };
|
|
71
|
+
commit(removeIndex(items, index));
|
|
72
|
+
}
|
|
73
|
+
function duplicate(index) {
|
|
74
|
+
setExpanded((open) => open !== null && open > index ? open + 1 : open);
|
|
75
|
+
pendingFocus.current = { kind: "row", index: index + 1 };
|
|
76
|
+
commit(duplicateIndex(items, index));
|
|
77
|
+
}
|
|
78
|
+
function move(index, to) {
|
|
79
|
+
setExpanded((open) => open === index ? to : open === to ? index : open);
|
|
80
|
+
pendingFocus.current = { kind: "row", index: to };
|
|
81
|
+
commit(moveItem(items, index, to));
|
|
82
|
+
}
|
|
83
|
+
function handleKeyDown(e, index) {
|
|
84
|
+
const stops = rowRefs.current.length;
|
|
85
|
+
const focusAt = (i) => {
|
|
86
|
+
var _a;
|
|
87
|
+
e.preventDefault();
|
|
88
|
+
(_a = i >= stops ? addRef.current : rowRefs.current[i]) == null ? void 0 : _a.focus();
|
|
89
|
+
};
|
|
90
|
+
if (e.key === "ArrowDown") focusAt(Math.min(index + 1, stops));
|
|
91
|
+
else if (e.key === "ArrowUp" && index > 0) focusAt(index - 1);
|
|
92
|
+
else if (e.key === "Home") focusAt(0);
|
|
93
|
+
else if (e.key === "End") focusAt(stops);
|
|
94
|
+
}
|
|
95
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
96
|
+
/* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", labelSizeClass[ctx.size]), children: items.length === 0 ? noItemsLabel(spec) : itemCountLabel(spec, items.length) }),
|
|
97
|
+
/* @__PURE__ */ jsxs("div", { className: "divide-y divide-border rounded-lg border border-border", children: [
|
|
98
|
+
items.map((item, i) => {
|
|
99
|
+
var _a, _b;
|
|
100
|
+
const open = expanded === i;
|
|
101
|
+
const summary = ((_a = field.itemSummary) == null ? void 0 : _a.call(field, { item, index: i })) ?? itemSummaryFor({ item, index: i, spec, itemSchema });
|
|
102
|
+
return /* @__PURE__ */ jsxs("div", { className: "group", children: [
|
|
103
|
+
/* @__PURE__ */ jsxs(
|
|
104
|
+
"div",
|
|
105
|
+
{
|
|
106
|
+
className: cn(
|
|
107
|
+
"flex w-full items-center gap-2 px-3 py-2 hover:bg-accent/40",
|
|
108
|
+
open && "bg-accent/30"
|
|
109
|
+
),
|
|
110
|
+
children: [
|
|
111
|
+
/* @__PURE__ */ jsxs(
|
|
112
|
+
"button",
|
|
113
|
+
{
|
|
114
|
+
type: "button",
|
|
115
|
+
id: headerId(i),
|
|
116
|
+
"aria-expanded": open,
|
|
117
|
+
"aria-controls": panelId(i),
|
|
118
|
+
ref: (el) => {
|
|
119
|
+
rowRefs.current[i] = el;
|
|
120
|
+
},
|
|
121
|
+
onKeyDown: (e) => handleKeyDown(e, i),
|
|
122
|
+
onClick: () => setExpanded(open ? null : i),
|
|
123
|
+
className: "flex min-w-0 flex-1 items-center gap-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
124
|
+
children: [
|
|
125
|
+
/* @__PURE__ */ jsx(
|
|
126
|
+
Icon,
|
|
127
|
+
{
|
|
128
|
+
icon: open ? UiChevronDown : UiChevronRight,
|
|
129
|
+
className: "shrink-0 text-sm text-muted-foreground"
|
|
130
|
+
}
|
|
131
|
+
),
|
|
132
|
+
/* @__PURE__ */ jsx(ItemGlyph, { glyph: summary.glyph }),
|
|
133
|
+
/* @__PURE__ */ jsx("span", { className: "shrink-0 text-sm font-medium", children: summary.title }),
|
|
134
|
+
/* @__PURE__ */ jsx(ItemBadge, { badge: summary.badge }),
|
|
135
|
+
summary.flagged && /* @__PURE__ */ jsx(RequiredMark, {}),
|
|
136
|
+
summary.summary && /* @__PURE__ */ jsx("code", { className: "truncate font-mono text-xs text-muted-foreground", children: summary.summary })
|
|
137
|
+
]
|
|
138
|
+
}
|
|
139
|
+
),
|
|
140
|
+
!readOnly && /* @__PURE__ */ jsx(
|
|
141
|
+
ItemRowActions,
|
|
142
|
+
{
|
|
143
|
+
index: i,
|
|
144
|
+
title: summary.title,
|
|
145
|
+
size: ctx.size,
|
|
146
|
+
...i > 0 ? { onUp: () => move(i, i - 1) } : {},
|
|
147
|
+
...i < items.length - 1 ? { onDown: () => move(i, i + 1) } : {},
|
|
148
|
+
onDuplicate: () => duplicate(i),
|
|
149
|
+
onRemove: () => remove(i)
|
|
150
|
+
}
|
|
151
|
+
)
|
|
152
|
+
]
|
|
153
|
+
}
|
|
154
|
+
),
|
|
155
|
+
open && /* @__PURE__ */ jsx(
|
|
156
|
+
"div",
|
|
157
|
+
{
|
|
158
|
+
id: panelId(i),
|
|
159
|
+
role: "region",
|
|
160
|
+
"aria-labelledby": headerId(i),
|
|
161
|
+
className: "border-t border-border bg-muted/20 p-3",
|
|
162
|
+
children: ((_b = ctx.render.renderFieldNodes(
|
|
163
|
+
{
|
|
164
|
+
key: `${field.key}[${i}]`,
|
|
165
|
+
prop: itemSchema,
|
|
166
|
+
required: false,
|
|
167
|
+
value: item,
|
|
168
|
+
onChange: (next) => commit(setIndex(items, i, next)),
|
|
169
|
+
instancePath: appendInstancePath(ctx.instancePath, i)
|
|
170
|
+
},
|
|
171
|
+
childCtx
|
|
172
|
+
)) == null ? void 0 : _b.value) ?? null
|
|
173
|
+
}
|
|
174
|
+
)
|
|
175
|
+
] }, i);
|
|
176
|
+
}),
|
|
177
|
+
!readOnly && /* @__PURE__ */ jsx(
|
|
178
|
+
AddItemRow,
|
|
179
|
+
{
|
|
180
|
+
buttonRef: addRef,
|
|
181
|
+
label: addItemLabel(spec),
|
|
182
|
+
empty: items.length === 0,
|
|
183
|
+
onAdd: add,
|
|
184
|
+
onKeyDown: (e) => handleKeyDown(e, items.length),
|
|
185
|
+
...emptyCopy ? { copy: emptyCopy } : {}
|
|
186
|
+
}
|
|
187
|
+
)
|
|
188
|
+
] })
|
|
189
|
+
] });
|
|
190
|
+
}
|
|
191
|
+
function AddItemRow({
|
|
192
|
+
label,
|
|
193
|
+
copy,
|
|
194
|
+
empty,
|
|
195
|
+
onAdd,
|
|
196
|
+
onKeyDown,
|
|
197
|
+
buttonRef
|
|
198
|
+
}) {
|
|
199
|
+
return /* @__PURE__ */ jsxs(
|
|
200
|
+
"button",
|
|
201
|
+
{
|
|
202
|
+
type: "button",
|
|
203
|
+
ref: (el) => {
|
|
204
|
+
buttonRef.current = el;
|
|
205
|
+
},
|
|
206
|
+
onClick: onAdd,
|
|
207
|
+
onKeyDown,
|
|
208
|
+
className: cn(
|
|
209
|
+
"group/add flex w-full items-center gap-2 px-3 py-2 text-left text-muted-foreground hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",
|
|
210
|
+
empty && "items-start py-5"
|
|
211
|
+
),
|
|
212
|
+
children: [
|
|
213
|
+
/* @__PURE__ */ jsx(Icon, { icon: UiChevronRight, className: "shrink-0 text-sm opacity-0" }),
|
|
214
|
+
/* @__PURE__ */ jsx("span", { className: "inline-flex size-6 shrink-0 items-center justify-center rounded-md border border-dashed border-border text-foreground/60 group-hover/add:border-primary group-hover/add:text-primary", children: /* @__PURE__ */ jsx(Icon, { icon: UiAdd, className: "text-[13px]" }) }),
|
|
215
|
+
/* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-col gap-0.5", children: [
|
|
216
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground", children: label }),
|
|
217
|
+
copy && /* @__PURE__ */ jsx("span", { className: cn("text-xs", empty ? "max-w-xl leading-snug" : "truncate"), children: copy })
|
|
218
|
+
] })
|
|
219
|
+
]
|
|
220
|
+
}
|
|
221
|
+
);
|
|
222
|
+
}
|
|
223
|
+
function ItemGlyph({ glyph }) {
|
|
224
|
+
if (!glyph) return null;
|
|
225
|
+
return /* @__PURE__ */ jsx(
|
|
226
|
+
"span",
|
|
227
|
+
{
|
|
228
|
+
title: glyph.label,
|
|
229
|
+
className: cn(
|
|
230
|
+
"inline-flex size-6 shrink-0 items-center justify-center rounded-md ring-1 ring-inset",
|
|
231
|
+
TONE_GLYPH_CLASS[glyph.tone]
|
|
232
|
+
),
|
|
233
|
+
children: glyph.icon != null && /* @__PURE__ */ jsx(LabelIcon, { icon: glyph.icon, className: "text-[13px]" })
|
|
234
|
+
}
|
|
235
|
+
);
|
|
236
|
+
}
|
|
237
|
+
function ItemBadge({ badge }) {
|
|
238
|
+
if (!badge) return null;
|
|
239
|
+
return /* @__PURE__ */ jsxs("span", { className: "inline-flex shrink-0 items-center gap-1 rounded-full border border-border px-2 py-0.5 text-[11px] text-muted-foreground", children: [
|
|
240
|
+
badge.icon != null && /* @__PURE__ */ jsx(LabelIcon, { icon: badge.icon, className: "text-[13px]" }),
|
|
241
|
+
badge.label
|
|
242
|
+
] });
|
|
243
|
+
}
|
|
244
|
+
function RequiredMark() {
|
|
245
|
+
return /* @__PURE__ */ jsx("span", { title: "Required", className: "inline-flex shrink-0 items-center text-destructive", children: /* @__PURE__ */ jsx(Icon, { icon: UiAsterisk, className: "text-[11px]" }) });
|
|
246
|
+
}
|
|
247
|
+
function ItemRowActions({
|
|
248
|
+
index,
|
|
249
|
+
title,
|
|
250
|
+
size,
|
|
251
|
+
onUp,
|
|
252
|
+
onDown,
|
|
253
|
+
onDuplicate,
|
|
254
|
+
onRemove
|
|
255
|
+
}) {
|
|
256
|
+
const action = cn(
|
|
257
|
+
"inline-flex aspect-square items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-30",
|
|
258
|
+
controlHeightClass[size]
|
|
259
|
+
);
|
|
260
|
+
return /* @__PURE__ */ jsxs("div", { className: "ml-auto flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity focus-within:opacity-100 group-hover:opacity-100", children: [
|
|
261
|
+
/* @__PURE__ */ jsx("button", { type: "button", "aria-label": `Move ${title} up`, disabled: !onUp, className: action, onClick: onUp, children: /* @__PURE__ */ jsx(Icon, { icon: UiChevronUp, className: "text-sm" }) }),
|
|
262
|
+
/* @__PURE__ */ jsx(
|
|
263
|
+
"button",
|
|
264
|
+
{
|
|
265
|
+
type: "button",
|
|
266
|
+
"aria-label": `Move ${title} down`,
|
|
267
|
+
disabled: !onDown,
|
|
268
|
+
className: action,
|
|
269
|
+
onClick: onDown,
|
|
270
|
+
children: /* @__PURE__ */ jsx(Icon, { icon: UiChevronDown, className: "text-sm" })
|
|
271
|
+
}
|
|
272
|
+
),
|
|
273
|
+
/* @__PURE__ */ jsx("button", { type: "button", "aria-label": `Duplicate ${title}`, className: action, onClick: onDuplicate, children: /* @__PURE__ */ jsx(Icon, { icon: UiCopy, className: "text-sm" }) }),
|
|
274
|
+
/* @__PURE__ */ jsx(
|
|
275
|
+
"button",
|
|
276
|
+
{
|
|
277
|
+
type: "button",
|
|
278
|
+
"aria-label": `Remove ${title}`,
|
|
279
|
+
className: cn(action, "hover:bg-destructive/10 hover:text-destructive"),
|
|
280
|
+
onClick: onRemove,
|
|
281
|
+
"data-item-index": index,
|
|
282
|
+
children: /* @__PURE__ */ jsx(Icon, { icon: UiTrash, className: "text-sm" })
|
|
283
|
+
}
|
|
284
|
+
)
|
|
285
|
+
] });
|
|
286
|
+
}
|
|
287
|
+
export {
|
|
288
|
+
AccordionArray
|
|
289
|
+
};
|
|
290
|
+
//# sourceMappingURL=json-schema-form-accordion-array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema-form-accordion-array.js","sources":["../../src/components/json-schema-form-accordion-array.tsx"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n type KeyboardEvent,\n type MutableRefObject,\n} from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Icon, LabelIcon } from \"../data/Icon\";\nimport {\n UiAdd,\n UiAsterisk,\n UiChevronDown,\n UiChevronRight,\n UiChevronUp,\n UiCopy,\n UiTrash,\n} from \"../icons\";\nimport { appendInstancePath } from \"./json-schema-form-errors\";\nimport {\n addItemLabel,\n emptyItemsCopy,\n itemCountLabel,\n itemSummaryFor,\n noItemsLabel,\n resolveItemSpec,\n} from \"./json-schema-form-item-summary\";\nimport { controlHeightClass, labelSizeClass, type FormSize } from \"./json-schema-form-size\";\nimport { TONE_GLYPH_CLASS } from \"./json-schema-form-tone\";\nimport {\n duplicateIndex,\n fieldInputId,\n moveItem,\n removeIndex,\n seedFromSchema,\n setIndex,\n} from \"./json-schema-form-utils\";\nimport type {\n ArrayItemSummary,\n FieldControl,\n RenderContext,\n} from \"./json-schema-form-types\";\n\n// AccordionArray renders an object-item array as a list of one-line summary\n// rows, expanding one at a time into the item's own sub-form. It exists because\n// a ten-property item stacked in full costs ~700px of screen each, and a list of\n// them says nothing about which item is which.\n//\n// \"Add\" is the list's own last row rather than a button beside it: the\n// affordance sits exactly where the next item will appear, and at zero items\n// that same row IS the empty state — one control, no separate screen.\nexport function AccordionArray({\n field,\n ctx,\n readOnly,\n}: {\n field: FieldControl;\n ctx: RenderContext;\n readOnly: boolean;\n}) {\n const items = Array.isArray(field.value) ? field.value : [];\n const itemSchema = field.itemSchema ?? { type: \"object\" };\n const spec = field.itemSpec ?? resolveItemSpec(field.schema, itemSchema);\n const emptyCopy = emptyItemsCopy(spec, field.schema);\n // The array's help mode governs its whole subtree. Without this the fields\n // inside an expanded row keep the form-level default, so an accordion that\n // resolved to \"hover\" would still stack a two-line paragraph under every\n // control — the exact height the summary rows exist to reclaim.\n const childCtx: RenderContext = {\n ...ctx,\n readOnly,\n depth: ctx.depth + 1,\n ...(field.helpDisplay\n ? { layout: { ...ctx.layout, help: field.helpDisplay } }\n : {}),\n };\n\n // Which row is open is transient view state, like the form's field filter —\n // it is deliberately local and never persisted. The INDEX is the key, not the\n // item: every keystroke replaces the item object (setIndex returns a fresh\n // one), so any identity-based map would die on the first character typed.\n // That makes it the mutators' job to keep this pointing at the same row.\n const [expanded, setExpanded] = useState<number | null>(null);\n const rowRefs = useRef<Array<HTMLButtonElement | null>>([]);\n const addRef = useRef<HTMLButtonElement | null>(null);\n const pendingFocus = useRef<{ kind: \"panel\" | \"row\" | \"add\"; index: number } | null>(null);\n\n useEffect(() => {\n const pending = pendingFocus.current;\n if (!pending) return;\n pendingFocus.current = null;\n if (pending.kind === \"add\") {\n addRef.current?.focus();\n return;\n }\n const row = rowRefs.current[pending.index];\n if (pending.kind === \"row\") {\n row?.focus();\n return;\n }\n // Land in the new item's first editable control, so adding an item leaves\n // the caret where the author is about to type.\n const panel = document.getElementById(panelId(pending.index));\n const input = panel?.querySelector<HTMLElement>(\"[data-jsf-input]\");\n (input ?? row)?.focus();\n });\n\n function panelId(index: number): string {\n return `${fieldInputId(appendInstancePath(ctx.instancePath, index), ctx.idPrefix)}-panel`;\n }\n function headerId(index: number): string {\n return `${fieldInputId(appendInstancePath(ctx.instancePath, index), ctx.idPrefix)}-header`;\n }\n\n function commit(next: unknown[]) {\n field.onChange(next);\n }\n\n function add() {\n pendingFocus.current = { kind: \"panel\", index: items.length };\n setExpanded(items.length);\n commit([...items, seedFromSchema(itemSchema)]);\n }\n\n function remove(index: number) {\n setExpanded((open) => (open === index ? null : open !== null && open > index ? open - 1 : open));\n pendingFocus.current =\n items.length === 1 ? { kind: \"add\", index: 0 } : { kind: \"row\", index: Math.max(index - 1, 0) };\n commit(removeIndex(items, index));\n }\n\n function duplicate(index: number) {\n setExpanded((open) => (open !== null && open > index ? open + 1 : open));\n pendingFocus.current = { kind: \"row\", index: index + 1 };\n commit(duplicateIndex(items, index));\n }\n\n function move(index: number, to: number) {\n // Follow the item, not the slot — otherwise moving an open row silently\n // expands whichever row took its place.\n setExpanded((open) => (open === index ? to : open === to ? index : open));\n pendingFocus.current = { kind: \"row\", index: to };\n commit(moveItem(items, index, to));\n }\n\n // Roving focus across the headers, with the add row as the final stop.\n function handleKeyDown(e: KeyboardEvent<HTMLButtonElement>, index: number) {\n const stops = rowRefs.current.length;\n const focusAt = (i: number) => {\n e.preventDefault();\n (i >= stops ? addRef.current : rowRefs.current[i])?.focus();\n };\n if (e.key === \"ArrowDown\") focusAt(Math.min(index + 1, stops));\n else if (e.key === \"ArrowUp\" && index > 0) focusAt(index - 1);\n else if (e.key === \"Home\") focusAt(0);\n else if (e.key === \"End\") focusAt(stops);\n }\n\n return (\n <div className=\"flex flex-col gap-2\">\n <p className={cn(\"text-muted-foreground\", labelSizeClass[ctx.size])}>\n {items.length === 0 ? noItemsLabel(spec) : itemCountLabel(spec, items.length)}\n </p>\n <div className=\"divide-y divide-border rounded-lg border border-border\">\n {items.map((item, i) => {\n const open = expanded === i;\n const summary =\n field.itemSummary?.({ item, index: i }) ??\n itemSummaryFor({ item, index: i, spec, itemSchema });\n return (\n <div key={i} className=\"group\">\n {/* The row is a plain element, NOT a button: the actions beside it\n are buttons, and nesting interactive content is invalid DOM\n with undefined click targeting. Only the disclosure toggles. */}\n <div\n className={cn(\n \"flex w-full items-center gap-2 px-3 py-2 hover:bg-accent/40\",\n open && \"bg-accent/30\",\n )}\n >\n <button\n type=\"button\"\n id={headerId(i)}\n aria-expanded={open}\n aria-controls={panelId(i)}\n ref={(el) => {\n rowRefs.current[i] = el;\n }}\n onKeyDown={(e) => handleKeyDown(e, i)}\n onClick={() => setExpanded(open ? null : i)}\n className=\"flex min-w-0 flex-1 items-center gap-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n >\n <Icon\n icon={open ? UiChevronDown : UiChevronRight}\n className=\"shrink-0 text-sm text-muted-foreground\"\n />\n <ItemGlyph glyph={summary.glyph} />\n <span className=\"shrink-0 text-sm font-medium\">{summary.title}</span>\n <ItemBadge badge={summary.badge} />\n {summary.flagged && <RequiredMark />}\n {summary.summary && (\n <code className=\"truncate font-mono text-xs text-muted-foreground\">\n {summary.summary}\n </code>\n )}\n </button>\n {!readOnly && (\n <ItemRowActions\n index={i}\n title={summary.title}\n size={ctx.size}\n {...(i > 0 ? { onUp: () => move(i, i - 1) } : {})}\n {...(i < items.length - 1 ? { onDown: () => move(i, i + 1) } : {})}\n onDuplicate={() => duplicate(i)}\n onRemove={() => remove(i)}\n />\n )}\n </div>\n {open && (\n <div\n id={panelId(i)}\n role=\"region\"\n aria-labelledby={headerId(i)}\n className=\"border-t border-border bg-muted/20 p-3\"\n >\n {/* Recurse through the shared pipeline so consumer pre/post\n extensions still apply to the item and its properties. */}\n {ctx.render.renderFieldNodes(\n {\n key: `${field.key}[${i}]`,\n prop: itemSchema,\n required: false,\n value: item,\n onChange: (next) => commit(setIndex(items, i, next)),\n instancePath: appendInstancePath(ctx.instancePath, i),\n },\n childCtx,\n )?.value ?? null}\n </div>\n )}\n </div>\n );\n })}\n {!readOnly && (\n <AddItemRow\n buttonRef={addRef}\n label={addItemLabel(spec)}\n empty={items.length === 0}\n onAdd={add}\n onKeyDown={(e) => handleKeyDown(e, items.length)}\n {...(emptyCopy ? { copy: emptyCopy } : {})}\n />\n )}\n </div>\n </div>\n );\n}\n\n// AddItemRow is the list's own final row. At zero items it grows to carry the\n// schema's explanation of what an item is — so the empty state is the same\n// control the author will use, not a separate screen they have to leave.\nfunction AddItemRow({\n label,\n copy,\n empty,\n onAdd,\n onKeyDown,\n buttonRef,\n}: {\n label: string;\n copy?: string;\n empty: boolean;\n onAdd: () => void;\n onKeyDown: (e: KeyboardEvent<HTMLButtonElement>) => void;\n buttonRef: MutableRefObject<HTMLButtonElement | null>;\n}) {\n return (\n <button\n type=\"button\"\n ref={(el) => {\n buttonRef.current = el;\n }}\n onClick={onAdd}\n onKeyDown={onKeyDown}\n className={cn(\n \"group/add flex w-full items-center gap-2 px-3 py-2 text-left text-muted-foreground hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring\",\n empty && \"items-start py-5\",\n )}\n >\n {/* Holds the chevron column, so this row lines up with the ones above it. */}\n <Icon icon={UiChevronRight} className=\"shrink-0 text-sm opacity-0\" />\n <span className=\"inline-flex size-6 shrink-0 items-center justify-center rounded-md border border-dashed border-border text-foreground/60 group-hover/add:border-primary group-hover/add:text-primary\">\n <Icon icon={UiAdd} className=\"text-[13px]\" />\n </span>\n <span className=\"flex min-w-0 flex-col gap-0.5\">\n <span className=\"text-sm font-medium text-foreground\">{label}</span>\n {copy && (\n <span className={cn(\"text-xs\", empty ? \"max-w-xl leading-snug\" : \"truncate\")}>{copy}</span>\n )}\n </span>\n </button>\n );\n}\n\nfunction ItemGlyph({ glyph }: { glyph?: ArrayItemSummary[\"glyph\"] }) {\n if (!glyph) return null;\n return (\n <span\n title={glyph.label}\n className={cn(\n \"inline-flex size-6 shrink-0 items-center justify-center rounded-md ring-1 ring-inset\",\n TONE_GLYPH_CLASS[glyph.tone],\n )}\n >\n {glyph.icon != null && <LabelIcon icon={glyph.icon} className=\"text-[13px]\" />}\n </span>\n );\n}\n\nfunction ItemBadge({ badge }: { badge?: ArrayItemSummary[\"badge\"] }) {\n if (!badge) return null;\n return (\n <span className=\"inline-flex shrink-0 items-center gap-1 rounded-full border border-border px-2 py-0.5 text-[11px] text-muted-foreground\">\n {badge.icon != null && <LabelIcon icon={badge.icon} className=\"text-[13px]\" />}\n {badge.label}\n </span>\n );\n}\n\nfunction RequiredMark() {\n return (\n <span title=\"Required\" className=\"inline-flex shrink-0 items-center text-destructive\">\n <Icon icon={UiAsterisk} className=\"text-[11px]\" />\n </span>\n );\n}\n\nfunction ItemRowActions({\n index,\n title,\n size,\n onUp,\n onDown,\n onDuplicate,\n onRemove,\n}: {\n index: number;\n title: string;\n size: FormSize;\n onUp?: () => void;\n onDown?: () => void;\n onDuplicate: () => void;\n onRemove: () => void;\n}) {\n // Hidden until the row is hovered or something inside it takes focus, so a\n // long list is not a wall of permanently dim icons — but keyboard users see\n // them the moment they arrive.\n const action = cn(\n \"inline-flex aspect-square items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-30\",\n controlHeightClass[size],\n );\n return (\n <div className=\"ml-auto flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity focus-within:opacity-100 group-hover:opacity-100\">\n <button type=\"button\" aria-label={`Move ${title} up`} disabled={!onUp} className={action} onClick={onUp}>\n <Icon icon={UiChevronUp} className=\"text-sm\" />\n </button>\n <button\n type=\"button\"\n aria-label={`Move ${title} down`}\n disabled={!onDown}\n className={action}\n onClick={onDown}\n >\n <Icon icon={UiChevronDown} className=\"text-sm\" />\n </button>\n <button type=\"button\" aria-label={`Duplicate ${title}`} className={action} onClick={onDuplicate}>\n <Icon icon={UiCopy} className=\"text-sm\" />\n </button>\n <button\n type=\"button\"\n aria-label={`Remove ${title}`}\n className={cn(action, \"hover:bg-destructive/10 hover:text-destructive\")}\n onClick={onRemove}\n data-item-index={index}\n >\n <Icon icon={UiTrash} className=\"text-sm\" />\n </button>\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -7,67 +7,101 @@ const Icon = require("../data/Icon.cjs");
|
|
|
7
7
|
const FilterPill = require("../data/FilterPill.cjs");
|
|
8
8
|
const button = require("./button.cjs");
|
|
9
9
|
const jsonSchemaFormSize = require("./json-schema-form-size.cjs");
|
|
10
|
+
const jsonSchemaFormAccordionArray = require("./json-schema-form-accordion-array.cjs");
|
|
10
11
|
const jsonSchemaFormResolve = require("./json-schema-form-resolve.cjs");
|
|
11
12
|
const jsonSchemaFormErrors = require("./json-schema-form-errors.cjs");
|
|
13
|
+
const jsonSchemaFormTableArray = require("./json-schema-form-table-array.cjs");
|
|
12
14
|
const jsonSchemaFormUtils = require("./json-schema-form-utils.cjs");
|
|
13
15
|
const UiAdd = require("../icons/components/UiAdd.cjs");
|
|
14
16
|
const UiClose = require("../icons/components/UiClose.cjs");
|
|
15
|
-
const UiTrash = require("../icons/components/UiTrash.cjs");
|
|
16
17
|
const UiChevronUp = require("../icons/components/UiChevronUp.cjs");
|
|
17
18
|
const UiChevronDown = require("../icons/components/UiChevronDown.cjs");
|
|
18
|
-
|
|
19
|
+
const UiTrash = require("../icons/components/UiTrash.cjs");
|
|
20
|
+
function ArrayControl({
|
|
21
|
+
field,
|
|
22
|
+
fieldId,
|
|
23
|
+
ctx
|
|
24
|
+
}) {
|
|
19
25
|
const readOnly = ctx.readOnly || field.readOnly === true;
|
|
20
26
|
if (field.arrayDisplay === "filter-pills" && enumItemOptions(field).length > 0) {
|
|
21
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
27
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
28
|
+
FilterPillArray,
|
|
29
|
+
{
|
|
30
|
+
field,
|
|
31
|
+
fieldId,
|
|
32
|
+
readOnly,
|
|
33
|
+
size: ctx.size
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
if (field.arrayDisplay === "accordion" && jsonSchemaFormUtils.hasObjectItemProperties(field.itemSchema)) {
|
|
38
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsonSchemaFormAccordionArray.AccordionArray, { field, ctx, readOnly });
|
|
22
39
|
}
|
|
23
40
|
if (jsonSchemaFormResolve.isScalarStringItems(field.itemSchema)) {
|
|
24
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
42
|
+
TagArray,
|
|
43
|
+
{
|
|
44
|
+
field,
|
|
45
|
+
fieldId,
|
|
46
|
+
readOnly,
|
|
47
|
+
size: ctx.size
|
|
48
|
+
}
|
|
49
|
+
);
|
|
25
50
|
}
|
|
26
|
-
if (field.layout === "table" && hasObjectItemProperties(field.itemSchema)) {
|
|
27
|
-
return /* @__PURE__ */ jsxRuntime.jsx(TableArray, { field, ctx, readOnly });
|
|
51
|
+
if (field.layout === "table" && jsonSchemaFormUtils.hasObjectItemProperties(field.itemSchema)) {
|
|
52
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsonSchemaFormTableArray.TableArray, { field, ctx, readOnly });
|
|
28
53
|
}
|
|
29
54
|
const items = Array.isArray(field.value) ? field.value : [];
|
|
30
55
|
const itemSchema = field.itemSchema ?? { type: "string" };
|
|
31
56
|
const childCtx = { ...ctx, readOnly, depth: ctx.depth + 1 };
|
|
32
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
57
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
58
|
+
"div",
|
|
59
|
+
{
|
|
60
|
+
className: utils.cn(
|
|
61
|
+
"flex flex-col rounded-md border border-input p-2",
|
|
62
|
+
jsonSchemaFormSize.fieldInnerGapClass[ctx.size]
|
|
63
|
+
),
|
|
64
|
+
children: [
|
|
65
|
+
items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_auto] items-start gap-2", children: [
|
|
66
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: ctx.render.renderFieldRow(
|
|
67
|
+
{
|
|
68
|
+
key: `${field.key}[${i}]`,
|
|
69
|
+
prop: itemSchema,
|
|
70
|
+
required: false,
|
|
71
|
+
value: item,
|
|
72
|
+
onChange: (next) => field.onChange(jsonSchemaFormUtils.setIndex(items, i, next)),
|
|
73
|
+
instancePath: jsonSchemaFormErrors.appendInstancePath(ctx.instancePath, i)
|
|
74
|
+
},
|
|
75
|
+
childCtx,
|
|
76
|
+
{ labelOverride: `Item ${i + 1}` }
|
|
77
|
+
) }),
|
|
78
|
+
!readOnly && /* @__PURE__ */ jsxRuntime.jsx(
|
|
79
|
+
ItemControls,
|
|
80
|
+
{
|
|
81
|
+
onUp: i > 0 ? () => field.onChange(jsonSchemaFormUtils.moveItem(items, i, i - 1)) : void 0,
|
|
82
|
+
onDown: i < items.length - 1 ? () => field.onChange(jsonSchemaFormUtils.moveItem(items, i, i + 1)) : void 0,
|
|
83
|
+
onRemove: () => field.onChange(jsonSchemaFormUtils.removeIndex(items, i)),
|
|
84
|
+
index: i,
|
|
85
|
+
size: ctx.size
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
] }, i)),
|
|
89
|
+
!readOnly && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
90
|
+
button.Button,
|
|
91
|
+
{
|
|
92
|
+
type: "button",
|
|
93
|
+
variant: "outline",
|
|
94
|
+
className: utils.cn("gap-1.5", jsonSchemaFormSize.inputSizeClass[ctx.size]),
|
|
95
|
+
onClick: () => field.onChange([...items, jsonSchemaFormUtils.seedFromSchema(itemSchema)]),
|
|
96
|
+
children: [
|
|
97
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiAdd.UiAdd, className: "text-sm" }),
|
|
98
|
+
"Add item"
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
)
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
);
|
|
71
105
|
}
|
|
72
106
|
function enumItemOptions(field) {
|
|
73
107
|
var _a;
|
|
@@ -90,9 +124,13 @@ function FilterPillArray({
|
|
|
90
124
|
}) {
|
|
91
125
|
const options = enumItemOptions(field);
|
|
92
126
|
const validValues = new Set(options.map((option) => option.value));
|
|
93
|
-
const explicitValues = toStringArray(field.value).filter(
|
|
127
|
+
const explicitValues = toStringArray(field.value).filter(
|
|
128
|
+
(value) => validValues.has(value)
|
|
129
|
+
);
|
|
94
130
|
const implicitAll = explicitValues.length === 0;
|
|
95
|
-
const selected = new Set(
|
|
131
|
+
const selected = new Set(
|
|
132
|
+
implicitAll ? options.map((option) => option.value) : explicitValues
|
|
133
|
+
);
|
|
96
134
|
function commit(nextSelected) {
|
|
97
135
|
const next = options.map((option) => option.value).filter((value) => nextSelected.has(value));
|
|
98
136
|
field.onChange(next.length === options.length ? [] : next);
|
|
@@ -132,67 +170,6 @@ function FilterPillArray({
|
|
|
132
170
|
}
|
|
133
171
|
);
|
|
134
172
|
}
|
|
135
|
-
function hasObjectItemProperties(items) {
|
|
136
|
-
return !!items && !!items.properties && Object.keys(items.properties).length > 0;
|
|
137
|
-
}
|
|
138
|
-
function TableArray({ field, ctx, readOnly }) {
|
|
139
|
-
const items = Array.isArray(field.value) ? field.value : [];
|
|
140
|
-
const itemSchema = field.itemSchema ?? { type: "object" };
|
|
141
|
-
const columns = Object.entries(itemSchema.properties ?? {});
|
|
142
|
-
const childCtx = { ...ctx, readOnly, depth: ctx.depth + 1 };
|
|
143
|
-
function cell(item, rowIndex, col, prop) {
|
|
144
|
-
const obj = jsonSchemaFormUtils.isPlainObject(item) ? item : {};
|
|
145
|
-
const nodes = ctx.render.renderFieldNodes(
|
|
146
|
-
{
|
|
147
|
-
key: `${field.key}[${rowIndex}].${col}`,
|
|
148
|
-
prop,
|
|
149
|
-
required: false,
|
|
150
|
-
value: obj[col],
|
|
151
|
-
onChange: (next) => field.onChange(jsonSchemaFormUtils.setIndex(items, rowIndex, { ...obj, [col]: next })),
|
|
152
|
-
instancePath: jsonSchemaFormErrors.appendInstancePath(jsonSchemaFormErrors.appendInstancePath(ctx.instancePath, rowIndex), col)
|
|
153
|
-
},
|
|
154
|
-
childCtx
|
|
155
|
-
);
|
|
156
|
-
return (nodes == null ? void 0 : nodes.value) ?? null;
|
|
157
|
-
}
|
|
158
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "overflow-x-auto rounded-md border border-input", children: [
|
|
159
|
-
/* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
|
|
160
|
-
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b border-input bg-muted/40 text-left", children: [
|
|
161
|
-
columns.map(([col, prop]) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-2 py-1 text-xs font-medium text-muted-foreground", children: typeof prop.title === "string" && prop.title ? prop.title : col }, col)),
|
|
162
|
-
!readOnly && /* @__PURE__ */ jsxRuntime.jsx("th", { className: "w-10 px-2 py-1" })
|
|
163
|
-
] }) }),
|
|
164
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b border-input last:border-b-0 align-top", children: [
|
|
165
|
-
columns.map(([col, prop]) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-2 py-1", children: cell(item, i, col, prop) }, col)),
|
|
166
|
-
!readOnly && /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-2 py-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
167
|
-
"button",
|
|
168
|
-
{
|
|
169
|
-
type: "button",
|
|
170
|
-
"aria-label": `Remove item ${i + 1}`,
|
|
171
|
-
className: utils.cn(
|
|
172
|
-
"inline-flex aspect-square items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground",
|
|
173
|
-
jsonSchemaFormSize.controlHeightClass[ctx.size]
|
|
174
|
-
),
|
|
175
|
-
onClick: () => field.onChange(jsonSchemaFormUtils.removeIndex(items, i)),
|
|
176
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiTrash.UiTrash, className: "text-sm" })
|
|
177
|
-
}
|
|
178
|
-
) })
|
|
179
|
-
] }, i)) })
|
|
180
|
-
] }),
|
|
181
|
-
!readOnly && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
182
|
-
button.Button,
|
|
183
|
-
{
|
|
184
|
-
type: "button",
|
|
185
|
-
variant: "outline",
|
|
186
|
-
className: utils.cn("gap-1.5", jsonSchemaFormSize.inputSizeClass[ctx.size]),
|
|
187
|
-
onClick: () => field.onChange([...items, jsonSchemaFormUtils.seedFromSchema(itemSchema)]),
|
|
188
|
-
children: [
|
|
189
|
-
/* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiAdd.UiAdd, className: "text-sm" }),
|
|
190
|
-
"Add item"
|
|
191
|
-
]
|
|
192
|
-
}
|
|
193
|
-
) })
|
|
194
|
-
] });
|
|
195
|
-
}
|
|
196
173
|
function ItemControls({
|
|
197
174
|
onUp,
|
|
198
175
|
onDown,
|
|
@@ -227,7 +204,16 @@ function ItemControls({
|
|
|
227
204
|
children: /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiChevronDown.UiChevronDown, className: "text-sm" })
|
|
228
205
|
}
|
|
229
206
|
),
|
|
230
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
207
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
208
|
+
"button",
|
|
209
|
+
{
|
|
210
|
+
type: "button",
|
|
211
|
+
"aria-label": `Remove item ${index + 1}`,
|
|
212
|
+
className: actionClassName,
|
|
213
|
+
onClick: onRemove,
|
|
214
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiTrash.UiTrash, className: "text-sm" })
|
|
215
|
+
}
|
|
216
|
+
)
|
|
231
217
|
] });
|
|
232
218
|
}
|
|
233
219
|
function TagArray({
|
|
@@ -287,7 +273,10 @@ function TagArray({
|
|
|
287
273
|
{
|
|
288
274
|
id: fieldId,
|
|
289
275
|
"data-jsf-input": true,
|
|
290
|
-
className: utils.cn(
|
|
276
|
+
className: utils.cn(
|
|
277
|
+
"min-w-32 flex-1 bg-transparent px-1 py-1 outline-none",
|
|
278
|
+
jsonSchemaFormSize.labelSizeClass[size]
|
|
279
|
+
),
|
|
291
280
|
placeholder: tags.length === 0 ? jsonSchemaFormUtils.defaultPlaceholder(field.schema) : "",
|
|
292
281
|
onKeyDown: handleKeyDown,
|
|
293
282
|
onBlur: (e) => commit(e.currentTarget.value, e.currentTarget)
|