@flanksource/clicky-ui 0.3.35 → 0.3.37
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 +462 -16
- package/README.md +16 -0
- package/dist/ai.cjs +26 -5
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +23 -2
- package/dist/ai.js.map +1 -1
- package/dist/clicky.d.ts +1 -1
- package/dist/clicky.d.ts.map +1 -1
- package/dist/comments/CommentComposer.cjs +18 -5
- package/dist/comments/CommentComposer.cjs.map +1 -1
- package/dist/comments/CommentComposer.d.ts +5 -3
- package/dist/comments/CommentComposer.d.ts.map +1 -1
- package/dist/comments/CommentComposer.js +18 -5
- package/dist/comments/CommentComposer.js.map +1 -1
- package/dist/comments/CommentSidePanel.cjs +4 -1
- package/dist/comments/CommentSidePanel.cjs.map +1 -1
- package/dist/comments/CommentSidePanel.d.ts +2 -1
- package/dist/comments/CommentSidePanel.d.ts.map +1 -1
- package/dist/comments/CommentSidePanel.js +4 -1
- package/dist/comments/CommentSidePanel.js.map +1 -1
- package/dist/comments/CommentThread.cjs +2 -0
- package/dist/comments/CommentThread.cjs.map +1 -1
- package/dist/comments/CommentThread.d.ts +3 -2
- package/dist/comments/CommentThread.d.ts.map +1 -1
- package/dist/comments/CommentThread.js +2 -0
- package/dist/comments/CommentThread.js.map +1 -1
- package/dist/comments/comment-types.cjs.map +1 -1
- package/dist/comments/comment-types.d.ts +5 -1
- package/dist/comments/comment-types.d.ts.map +1 -1
- package/dist/comments/comment-types.js.map +1 -1
- package/dist/components/Combobox.cjs +1 -0
- package/dist/components/Combobox.cjs.map +1 -1
- package/dist/components/Combobox.d.ts.map +1 -1
- package/dist/components/Combobox.js +1 -0
- package/dist/components/Combobox.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.map +1 -1
- package/dist/components/ComboboxMenu.js +2 -1
- package/dist/components/ComboboxMenu.js.map +1 -1
- package/dist/components/ErrorWrapper.cjs +1 -1
- package/dist/components/ErrorWrapper.cjs.map +1 -1
- package/dist/components/ErrorWrapper.d.ts +2 -2
- package/dist/components/ErrorWrapper.d.ts.map +1 -1
- package/dist/components/ErrorWrapper.js +2 -2
- package/dist/components/ErrorWrapper.js.map +1 -1
- package/dist/components/FilterBar.cjs +588 -228
- package/dist/components/FilterBar.cjs.map +1 -1
- package/dist/components/FilterBar.d.ts +42 -3
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +586 -226
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/JsonSchemaForm.cjs +15 -6
- package/dist/components/JsonSchemaForm.cjs.map +1 -1
- package/dist/components/JsonSchemaForm.d.ts +1 -1
- package/dist/components/JsonSchemaForm.d.ts.map +1 -1
- package/dist/components/JsonSchemaForm.js +15 -6
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/MultiSelect.cjs.map +1 -1
- package/dist/components/MultiSelect.d.ts +6 -0
- package/dist/components/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect.js.map +1 -1
- package/dist/components/ScheduleEditor.cjs +184 -0
- package/dist/components/ScheduleEditor.cjs.map +1 -0
- package/dist/components/ScheduleEditor.d.ts +27 -0
- package/dist/components/ScheduleEditor.d.ts.map +1 -0
- package/dist/components/ScheduleEditor.js +184 -0
- package/dist/components/ScheduleEditor.js.map +1 -0
- package/dist/components/TimeRange.cjs +7 -4
- package/dist/components/TimeRange.cjs.map +1 -1
- package/dist/components/TimeRange.d.ts +6 -1
- package/dist/components/TimeRange.d.ts.map +1 -1
- package/dist/components/TimeRange.js +7 -4
- package/dist/components/TimeRange.js.map +1 -1
- package/dist/components/combobox-types.d.ts +6 -0
- package/dist/components/combobox-types.d.ts.map +1 -1
- package/dist/components/filter-bar-context.cjs +2 -1
- package/dist/components/filter-bar-context.cjs.map +1 -1
- package/dist/components/filter-bar-context.d.ts +1 -0
- package/dist/components/filter-bar-context.d.ts.map +1 -1
- package/dist/components/filter-bar-context.js +2 -1
- package/dist/components/filter-bar-context.js.map +1 -1
- package/dist/components/filter-bar-multi.cjs +7 -2
- package/dist/components/filter-bar-multi.cjs.map +1 -1
- package/dist/components/filter-bar-multi.d.ts.map +1 -1
- package/dist/components/filter-bar-multi.js +7 -2
- package/dist/components/filter-bar-multi.js.map +1 -1
- package/dist/components/filter-bar-utils.cjs +2 -2
- 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 +2 -2
- package/dist/components/filter-bar-utils.js.map +1 -1
- package/dist/components/jotai-bindings-core.cjs +14 -1
- 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 +14 -1
- package/dist/components/jotai-bindings-core.js.map +1 -1
- package/dist/components/json-schema-form-errors.cjs +5 -3
- package/dist/components/json-schema-form-errors.cjs.map +1 -1
- package/dist/components/json-schema-form-errors.d.ts +3 -1
- package/dist/components/json-schema-form-errors.d.ts.map +1 -1
- package/dist/components/json-schema-form-errors.js +5 -3
- package/dist/components/json-schema-form-errors.js.map +1 -1
- package/dist/components/json-schema-form-fields.cjs +19 -13
- 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 +20 -14
- package/dist/components/json-schema-form-fields.js.map +1 -1
- package/dist/components/json-schema-form-layout.cjs +2 -1
- package/dist/components/json-schema-form-layout.cjs.map +1 -1
- package/dist/components/json-schema-form-layout.d.ts.map +1 -1
- package/dist/components/json-schema-form-layout.js +2 -1
- package/dist/components/json-schema-form-layout.js.map +1 -1
- package/dist/components/json-schema-form-render.cjs +32 -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 +33 -2
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +13 -1
- package/dist/components/json-schema-form-resolve.cjs.map +1 -1
- package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
- package/dist/components/json-schema-form-resolve.js +13 -1
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-runtime-types.d.ts +18 -0
- package/dist/components/json-schema-form-runtime-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-table-array.cjs +1 -1
- package/dist/components/json-schema-form-table-array.cjs.map +1 -1
- package/dist/components/json-schema-form-table-array.js +1 -1
- package/dist/components/json-schema-form-table-array.js.map +1 -1
- package/dist/components/json-schema-form-template-menu.cjs +4 -0
- package/dist/components/json-schema-form-template-menu.cjs.map +1 -1
- package/dist/components/json-schema-form-template-menu.d.ts.map +1 -1
- package/dist/components/json-schema-form-template-menu.js +4 -0
- package/dist/components/json-schema-form-template-menu.js.map +1 -1
- package/dist/components/json-schema-form-template.cjs +5 -4
- package/dist/components/json-schema-form-template.cjs.map +1 -1
- package/dist/components/json-schema-form-template.d.ts +3 -1
- package/dist/components/json-schema-form-template.d.ts.map +1 -1
- package/dist/components/json-schema-form-template.js +5 -4
- package/dist/components/json-schema-form-template.js.map +1 -1
- package/dist/components/schedule-cron-model.cjs +68 -0
- package/dist/components/schedule-cron-model.cjs.map +1 -0
- package/dist/components/schedule-cron-model.d.ts +7 -0
- package/dist/components/schedule-cron-model.d.ts.map +1 -0
- package/dist/components/schedule-cron-model.js +68 -0
- package/dist/components/schedule-cron-model.js.map +1 -0
- package/dist/components/schedule-types.cjs +13 -0
- package/dist/components/schedule-types.cjs.map +1 -0
- package/dist/components/schedule-types.d.ts +8 -0
- package/dist/components/schedule-types.d.ts.map +1 -0
- package/dist/components/schedule-types.js +13 -0
- package/dist/components/schedule-types.js.map +1 -0
- package/dist/components/useComboboxLayout.cjs +2 -1
- package/dist/components/useComboboxLayout.cjs.map +1 -1
- package/dist/components/useComboboxLayout.d.ts.map +1 -1
- package/dist/components/useComboboxLayout.js +2 -1
- package/dist/components/useComboboxLayout.js.map +1 -1
- package/dist/components.cjs +11 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.ts +6 -2
- package/dist/components.d.ts.map +1 -1
- package/dist/components.js +12 -1
- package/dist/components.js.map +1 -1
- package/dist/data/Badge.cjs +9 -4
- package/dist/data/Badge.cjs.map +1 -1
- package/dist/data/Badge.d.ts.map +1 -1
- package/dist/data/Badge.js +9 -4
- package/dist/data/Badge.js.map +1 -1
- package/dist/data/Clicky.cjs +188 -19
- package/dist/data/Clicky.cjs.map +1 -1
- package/dist/data/Clicky.d.ts +48 -2
- package/dist/data/Clicky.d.ts.map +1 -1
- package/dist/data/Clicky.js +188 -19
- package/dist/data/Clicky.js.map +1 -1
- package/dist/data/CodeBlock.cjs +29 -3
- package/dist/data/CodeBlock.cjs.map +1 -1
- package/dist/data/CodeBlock.d.ts +12 -1
- package/dist/data/CodeBlock.d.ts.map +1 -1
- package/dist/data/CodeBlock.js +29 -3
- package/dist/data/CodeBlock.js.map +1 -1
- package/dist/data/DataTable.cjs +268 -392
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +18 -1
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.js +250 -374
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/DataTableMenuSections.cjs +263 -0
- package/dist/data/DataTableMenuSections.cjs.map +1 -0
- package/dist/data/DataTableMenuSections.d.ts +23 -0
- package/dist/data/DataTableMenuSections.d.ts.map +1 -0
- package/dist/data/DataTableMenuSections.js +263 -0
- package/dist/data/DataTableMenuSections.js.map +1 -0
- package/dist/data/DataTableOverflowCue.cjs +77 -0
- package/dist/data/DataTableOverflowCue.cjs.map +1 -0
- package/dist/data/DataTableOverflowCue.d.ts +4 -0
- package/dist/data/DataTableOverflowCue.d.ts.map +1 -0
- package/dist/data/DataTableOverflowCue.js +77 -0
- package/dist/data/DataTableOverflowCue.js.map +1 -0
- package/dist/data/DataTablePreferencesSheet.cjs +136 -0
- package/dist/data/DataTablePreferencesSheet.cjs.map +1 -0
- package/dist/data/DataTablePreferencesSheet.d.ts +23 -0
- package/dist/data/DataTablePreferencesSheet.d.ts.map +1 -0
- package/dist/data/DataTablePreferencesSheet.js +136 -0
- package/dist/data/DataTablePreferencesSheet.js.map +1 -0
- package/dist/data/ExecutionTree.cjs +4 -0
- package/dist/data/ExecutionTree.cjs.map +1 -1
- package/dist/data/ExecutionTree.d.ts +10 -1
- package/dist/data/ExecutionTree.d.ts.map +1 -1
- package/dist/data/ExecutionTree.js +4 -0
- package/dist/data/ExecutionTree.js.map +1 -1
- package/dist/data/GraphDiagram.cjs +201 -0
- package/dist/data/GraphDiagram.cjs.map +1 -0
- package/dist/data/GraphDiagram.d.ts +36 -0
- package/dist/data/GraphDiagram.d.ts.map +1 -0
- package/dist/data/GraphDiagram.js +201 -0
- package/dist/data/GraphDiagram.js.map +1 -0
- package/dist/data/JsonView.cjs +1 -1
- package/dist/data/JsonView.cjs.map +1 -1
- package/dist/data/JsonView.d.ts.map +1 -1
- package/dist/data/JsonView.js +1 -1
- package/dist/data/JsonView.js.map +1 -1
- package/dist/data/MarkdownEditor.model.d.ts +1 -1
- package/dist/data/MatrixTable.cjs +5 -4
- package/dist/data/MatrixTable.cjs.map +1 -1
- package/dist/data/MatrixTable.d.ts.map +1 -1
- package/dist/data/MatrixTable.js +5 -4
- package/dist/data/MatrixTable.js.map +1 -1
- package/dist/data/ObjectGraph.cjs +5 -2
- package/dist/data/ObjectGraph.cjs.map +1 -1
- package/dist/data/ObjectGraph.d.ts +8 -1
- package/dist/data/ObjectGraph.d.ts.map +1 -1
- package/dist/data/ObjectGraph.js +5 -2
- package/dist/data/ObjectGraph.js.map +1 -1
- package/dist/data/TaskExecDetails.cjs +31 -5
- package/dist/data/TaskExecDetails.cjs.map +1 -1
- package/dist/data/TaskExecDetails.d.ts +2 -1
- package/dist/data/TaskExecDetails.d.ts.map +1 -1
- package/dist/data/TaskExecDetails.js +31 -5
- package/dist/data/TaskExecDetails.js.map +1 -1
- package/dist/data/TaskHeaderExtras.cjs +35 -0
- package/dist/data/TaskHeaderExtras.cjs.map +1 -0
- package/dist/data/TaskHeaderExtras.d.ts +27 -0
- package/dist/data/TaskHeaderExtras.d.ts.map +1 -0
- package/dist/data/TaskHeaderExtras.js +35 -0
- package/dist/data/TaskHeaderExtras.js.map +1 -0
- package/dist/data/TaskManager.cjs +18 -6
- package/dist/data/TaskManager.cjs.map +1 -1
- package/dist/data/TaskManager.d.ts +13 -1
- package/dist/data/TaskManager.d.ts.map +1 -1
- package/dist/data/TaskManager.js +18 -6
- package/dist/data/TaskManager.js.map +1 -1
- package/dist/data/TaskProcessDetails.cjs +4 -1
- package/dist/data/TaskProcessDetails.cjs.map +1 -1
- package/dist/data/TaskProcessDetails.d.ts.map +1 -1
- package/dist/data/TaskProcessDetails.js +4 -1
- package/dist/data/TaskProcessDetails.js.map +1 -1
- package/dist/data/TaskProcessMetadata.cjs +50 -0
- package/dist/data/TaskProcessMetadata.cjs.map +1 -0
- package/dist/data/TaskProcessMetadata.d.ts +20 -0
- package/dist/data/TaskProcessMetadata.d.ts.map +1 -0
- package/dist/data/TaskProcessMetadata.js +50 -0
- package/dist/data/TaskProcessMetadata.js.map +1 -0
- package/dist/data/TaskProgress.cjs +30 -32
- package/dist/data/TaskProgress.cjs.map +1 -1
- package/dist/data/TaskProgress.d.ts +14 -1
- package/dist/data/TaskProgress.d.ts.map +1 -1
- package/dist/data/TaskProgress.js +30 -32
- package/dist/data/TaskProgress.js.map +1 -1
- package/dist/data/TaskSnapshot.cjs.map +1 -1
- package/dist/data/TaskSnapshot.d.ts +24 -1
- package/dist/data/TaskSnapshot.d.ts.map +1 -1
- package/dist/data/TaskSnapshot.js.map +1 -1
- package/dist/data/TaskStreamTabs.cjs +78 -0
- package/dist/data/TaskStreamTabs.cjs.map +1 -0
- package/dist/data/TaskStreamTabs.d.ts +35 -0
- package/dist/data/TaskStreamTabs.d.ts.map +1 -0
- package/dist/data/TaskStreamTabs.js +78 -0
- package/dist/data/TaskStreamTabs.js.map +1 -0
- package/dist/data/TreeNode.cjs +28 -1
- package/dist/data/TreeNode.cjs.map +1 -1
- package/dist/data/TreeNode.d.ts +13 -1
- package/dist/data/TreeNode.d.ts.map +1 -1
- package/dist/data/TreeNode.js +28 -1
- package/dist/data/TreeNode.js.map +1 -1
- package/dist/data/ai/ChatWindow.cjs +2 -2
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.js +2 -2
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindowManager.cjs +2 -2
- 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 -3
- package/dist/data/ai/ChatWindowManager.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/PromptBlocks.cjs +125 -0
- package/dist/data/ai/PromptRunEditor/PromptBlocks.cjs.map +1 -0
- package/dist/data/ai/PromptRunEditor/PromptBlocks.d.ts +24 -0
- package/dist/data/ai/PromptRunEditor/PromptBlocks.d.ts.map +1 -0
- package/dist/data/ai/PromptRunEditor/PromptBlocks.js +125 -0
- package/dist/data/ai/PromptRunEditor/PromptBlocks.js.map +1 -0
- package/dist/data/ai/PromptRunEditor/RecentRuntimes.cjs +69 -0
- package/dist/data/ai/PromptRunEditor/RecentRuntimes.cjs.map +1 -0
- package/dist/data/ai/PromptRunEditor/RecentRuntimes.d.ts +10 -0
- package/dist/data/ai/PromptRunEditor/RecentRuntimes.d.ts.map +1 -0
- package/dist/data/ai/PromptRunEditor/RecentRuntimes.js +69 -0
- package/dist/data/ai/PromptRunEditor/RecentRuntimes.js.map +1 -0
- package/dist/data/ai/PromptRunEditor/RuntimeRows.cjs +118 -0
- package/dist/data/ai/PromptRunEditor/RuntimeRows.cjs.map +1 -0
- package/dist/data/ai/PromptRunEditor/RuntimeRows.d.ts +16 -0
- package/dist/data/ai/PromptRunEditor/RuntimeRows.d.ts.map +1 -0
- package/dist/data/ai/PromptRunEditor/RuntimeRows.js +118 -0
- package/dist/data/ai/PromptRunEditor/RuntimeRows.js.map +1 -0
- package/dist/data/ai/PromptRunEditor/index.cjs +157 -253
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts +20 -8
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +158 -254
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.cjs +56 -0
- package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.d.ts +13 -1
- package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/model.js +57 -1
- package/dist/data/ai/PromptRunEditor/model.js.map +1 -1
- package/dist/data/ai/PromptRunEditor/runtimeActions.cjs +194 -0
- package/dist/data/ai/PromptRunEditor/runtimeActions.cjs.map +1 -0
- package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts +30 -0
- package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts.map +1 -0
- package/dist/data/ai/PromptRunEditor/runtimeActions.js +194 -0
- package/dist/data/ai/PromptRunEditor/runtimeActions.js.map +1 -0
- package/dist/data/ai/PromptRunEditor/yaml.cjs +47 -0
- package/dist/data/ai/PromptRunEditor/yaml.cjs.map +1 -0
- package/dist/data/ai/PromptRunEditor/yaml.d.ts +9 -0
- package/dist/data/ai/PromptRunEditor/yaml.d.ts.map +1 -0
- package/dist/data/ai/PromptRunEditor/yaml.js +47 -0
- package/dist/data/ai/PromptRunEditor/yaml.js.map +1 -0
- package/dist/data/ai/SessionChatComposer.cjs +72 -2
- package/dist/data/ai/SessionChatComposer.cjs.map +1 -1
- package/dist/data/ai/SessionChatComposer.d.ts +12 -1
- package/dist/data/ai/SessionChatComposer.d.ts.map +1 -1
- package/dist/data/ai/SessionChatComposer.js +73 -3
- package/dist/data/ai/SessionChatComposer.js.map +1 -1
- package/dist/data/ai/SessionInspector.approvals-model.cjs +9 -0
- package/dist/data/ai/SessionInspector.approvals-model.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.approvals-model.d.ts +17 -0
- package/dist/data/ai/SessionInspector.approvals-model.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.approvals-model.js +9 -0
- package/dist/data/ai/SessionInspector.approvals-model.js.map +1 -0
- package/dist/data/ai/SessionInspector.approvals.cjs +7 -11
- package/dist/data/ai/SessionInspector.approvals.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.approvals.d.ts +2 -10
- package/dist/data/ai/SessionInspector.approvals.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.approvals.js +4 -8
- package/dist/data/ai/SessionInspector.approvals.js.map +1 -1
- package/dist/data/ai/SessionInspector.cjs +219 -144
- package/dist/data/ai/SessionInspector.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.compact.cjs +91 -0
- package/dist/data/ai/SessionInspector.compact.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.compact.d.ts +19 -0
- package/dist/data/ai/SessionInspector.compact.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.compact.js +91 -0
- package/dist/data/ai/SessionInspector.compact.js.map +1 -0
- package/dist/data/ai/SessionInspector.d.ts +11 -3
- package/dist/data/ai/SessionInspector.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.cjs +48 -33
- package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.d.ts +6 -0
- package/dist/data/ai/SessionInspector.hierarchy.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.js +50 -35
- package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
- package/dist/data/ai/SessionInspector.js +222 -147
- package/dist/data/ai/SessionInspector.js.map +1 -1
- package/dist/data/ai/SessionInspector.panel-parts.cjs +0 -13
- package/dist/data/ai/SessionInspector.panel-parts.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.panel-parts.d.ts +4 -5
- package/dist/data/ai/SessionInspector.panel-parts.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.panel-parts.js +1 -14
- package/dist/data/ai/SessionInspector.panel-parts.js.map +1 -1
- package/dist/data/ai/SessionInspector.panel-values.cjs +18 -0
- package/dist/data/ai/SessionInspector.panel-values.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.panel-values.d.ts +13 -0
- package/dist/data/ai/SessionInspector.panel-values.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.panel-values.js +18 -0
- package/dist/data/ai/SessionInspector.panel-values.js.map +1 -0
- package/dist/data/ai/SessionInspector.panels.cjs +42 -26
- package/dist/data/ai/SessionInspector.panels.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.panels.js +17 -1
- package/dist/data/ai/SessionInspector.panels.js.map +1 -1
- package/dist/data/ai/SessionInspector.summary.cjs +25 -0
- package/dist/data/ai/SessionInspector.summary.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.summary.js +25 -0
- package/dist/data/ai/SessionInspector.summary.js.map +1 -1
- package/dist/data/ai/SessionInspector.tabs.cjs +34 -0
- package/dist/data/ai/SessionInspector.tabs.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.tabs.d.ts +8 -0
- package/dist/data/ai/SessionInspector.tabs.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.tabs.js +34 -0
- package/dist/data/ai/SessionInspector.tabs.js.map +1 -0
- package/dist/data/ai/SessionInspector.tabs.model.cjs +70 -0
- package/dist/data/ai/SessionInspector.tabs.model.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.tabs.model.d.ts +9 -0
- package/dist/data/ai/SessionInspector.tabs.model.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.tabs.model.js +70 -0
- package/dist/data/ai/SessionInspector.tabs.model.js.map +1 -0
- package/dist/data/ai/SessionViewer.cjs +16 -5
- package/dist/data/ai/SessionViewer.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.d.ts +3 -1
- package/dist/data/ai/SessionViewer.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.header.cjs +36 -1
- package/dist/data/ai/SessionViewer.header.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.header.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.header.js +36 -1
- package/dist/data/ai/SessionViewer.header.js.map +1 -1
- package/dist/data/ai/SessionViewer.input.cjs +1 -0
- package/dist/data/ai/SessionViewer.input.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.input.d.ts +1 -0
- package/dist/data/ai/SessionViewer.input.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.input.js +1 -0
- package/dist/data/ai/SessionViewer.input.js.map +1 -1
- package/dist/data/ai/SessionViewer.js +16 -5
- package/dist/data/ai/SessionViewer.js.map +1 -1
- package/dist/data/ai/SessionViewer.model.cjs +12 -0
- package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.model.d.ts +4 -0
- package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
- package/dist/data/ai/SessionViewer.model.js +12 -0
- package/dist/data/ai/SessionViewer.model.js.map +1 -1
- package/dist/data/ai/SessionViewer.rows.cjs +9 -5
- 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 +9 -5
- package/dist/data/ai/SessionViewer.rows.js.map +1 -1
- package/dist/data/ai/SessionViewer.tool-row.cjs +79 -72
- package/dist/data/ai/SessionViewer.tool-row.cjs.map +1 -1
- package/dist/data/ai/SessionViewer.tool-row.js +79 -72
- package/dist/data/ai/SessionViewer.tool-row.js.map +1 -1
- package/dist/data/ai/SessionViewer.unified.d.ts +4 -0
- package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
- package/dist/data/ai/SessionViewerMenu.cjs +2 -0
- package/dist/data/ai/SessionViewerMenu.cjs.map +1 -1
- package/dist/data/ai/SessionViewerMenu.d.ts +3 -1
- package/dist/data/ai/SessionViewerMenu.d.ts.map +1 -1
- package/dist/data/ai/SessionViewerMenu.js +2 -0
- package/dist/data/ai/SessionViewerMenu.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +5 -4
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +3 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +5 -4
- package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs +41 -31
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts +7 -0
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js +43 -33
- package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs +13 -171
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts +6 -2
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js +14 -172
- package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs +6 -2
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.js +7 -3
- package/dist/data/ai/SpecRuntimeEditor/PromptSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs +1 -29
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts +2 -3
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js +2 -30
- package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.cjs +9 -1
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts +3 -2
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.js +9 -1
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SectionTabs.cjs +62 -0
- package/dist/data/ai/SpecRuntimeEditor/SectionTabs.cjs.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/SectionTabs.d.ts +12 -0
- package/dist/data/ai/SpecRuntimeEditor/SectionTabs.d.ts.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/SectionTabs.js +62 -0
- package/dist/data/ai/SpecRuntimeEditor/SectionTabs.js.map +1 -0
- package/dist/data/ai/SpecRuntimeEditor/index.cjs +80 -51
- package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts +15 -5
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js +80 -51
- package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs +8 -3
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js +8 -3
- package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/permissions-model.cjs +20 -0
- package/dist/data/ai/SpecRuntimeEditor/permissions-model.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/permissions-model.d.ts +3 -1
- package/dist/data/ai/SpecRuntimeEditor/permissions-model.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/permissions-model.js +20 -0
- package/dist/data/ai/SpecRuntimeEditor/permissions-model.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/types.cjs +17 -4
- package/dist/data/ai/SpecRuntimeEditor/types.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/types.d.ts +16 -0
- package/dist/data/ai/SpecRuntimeEditor/types.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/types.js +18 -5
- package/dist/data/ai/SpecRuntimeEditor/types.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.cjs +10 -9
- package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/update.js +10 -9
- package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.cjs +6 -1
- package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.model.js +8 -3
- package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.sandbox-model.cjs +5 -13
- package/dist/data/ai/SpecRuntimeEditor.sandbox-model.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.sandbox-model.d.ts +0 -1
- package/dist/data/ai/SpecRuntimeEditor.sandbox-model.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor.sandbox-model.js +5 -13
- package/dist/data/ai/SpecRuntimeEditor.sandbox-model.js.map +1 -1
- package/dist/data/ai/chat-window-context.cjs +15 -1
- package/dist/data/ai/chat-window-context.cjs.map +1 -1
- package/dist/data/ai/chat-window-context.d.ts +1 -0
- package/dist/data/ai/chat-window-context.d.ts.map +1 -1
- package/dist/data/ai/chat-window-context.js +15 -1
- package/dist/data/ai/chat-window-context.js.map +1 -1
- package/dist/data/ai/index.d.ts +11 -5
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/runtime-profile.cjs +1 -71
- package/dist/data/ai/runtime-profile.cjs.map +1 -1
- package/dist/data/ai/runtime-profile.d.ts +12 -11
- package/dist/data/ai/runtime-profile.d.ts.map +1 -1
- package/dist/data/ai/runtime-profile.js +1 -71
- package/dist/data/ai/runtime-profile.js.map +1 -1
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.cjs +2 -2
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.cjs.map +1 -1
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.js +2 -2
- package/dist/data/ai/runtime-profiles/OrderedPresetSelect.js.map +1 -1
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.cjs +0 -8
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.cjs.map +1 -1
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.d.ts.map +1 -1
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.js +0 -8
- package/dist/data/ai/runtime-profiles/PresetSpecEditor.js.map +1 -1
- package/dist/data/ai/runtime-profiles/PresetWorkspace.cjs +12 -3
- package/dist/data/ai/runtime-profiles/PresetWorkspace.cjs.map +1 -1
- package/dist/data/ai/runtime-profiles/PresetWorkspace.d.ts +3 -2
- package/dist/data/ai/runtime-profiles/PresetWorkspace.d.ts.map +1 -1
- package/dist/data/ai/runtime-profiles/PresetWorkspace.js +12 -3
- package/dist/data/ai/runtime-profiles/PresetWorkspace.js.map +1 -1
- package/dist/data/ai/runtime-profiles/ProfilePresetChips.cjs +59 -0
- package/dist/data/ai/runtime-profiles/ProfilePresetChips.cjs.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfilePresetChips.d.ts +7 -0
- package/dist/data/ai/runtime-profiles/ProfilePresetChips.d.ts.map +1 -0
- package/dist/data/ai/runtime-profiles/ProfilePresetChips.js +59 -0
- package/dist/data/ai/runtime-profiles/ProfilePresetChips.js.map +1 -0
- package/dist/data/ai/runtime-profiles/ResolutionInspector.cjs.map +1 -1
- package/dist/data/ai/runtime-profiles/ResolutionInspector.d.ts +2 -2
- package/dist/data/ai/runtime-profiles/ResolutionInspector.d.ts.map +1 -1
- package/dist/data/ai/runtime-profiles/ResolutionInspector.js.map +1 -1
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.cjs +136 -150
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.cjs.map +1 -1
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.d.ts +2 -5
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.d.ts.map +1 -1
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.js +137 -151
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.js.map +1 -1
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.cjs +0 -15
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.cjs.map +1 -1
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.js +1 -16
- package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.js.map +1 -1
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.cjs +8 -62
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.cjs.map +1 -1
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.d.ts +1 -1
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.d.ts.map +1 -1
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.js +10 -64
- package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.js.map +1 -1
- package/dist/data/ai/runtime-profiles/index.d.ts +1 -1
- package/dist/data/ai/runtime-profiles/index.d.ts.map +1 -1
- package/dist/data/ai/runtime-profiles/types.d.ts +4 -2
- package/dist/data/ai/runtime-profiles/types.d.ts.map +1 -1
- package/dist/data/ai/runtime-profiles/use-resolution.cjs +33 -0
- package/dist/data/ai/runtime-profiles/use-resolution.cjs.map +1 -1
- package/dist/data/ai/runtime-profiles/use-resolution.d.ts +1 -0
- package/dist/data/ai/runtime-profiles/use-resolution.d.ts.map +1 -1
- package/dist/data/ai/runtime-profiles/use-resolution.js +33 -0
- package/dist/data/ai/runtime-profiles/use-resolution.js.map +1 -1
- package/dist/data/cells/TagList.cjs +5 -3
- package/dist/data/cells/TagList.cjs.map +1 -1
- package/dist/data/cells/TagList.d.ts.map +1 -1
- package/dist/data/cells/TagList.js +5 -3
- package/dist/data/cells/TagList.js.map +1 -1
- package/dist/data/chat/Chat.runtime.cjs +4 -6
- package/dist/data/chat/Chat.runtime.cjs.map +1 -1
- package/dist/data/chat/Chat.runtime.d.ts.map +1 -1
- package/dist/data/chat/Chat.runtime.js +4 -6
- package/dist/data/chat/Chat.runtime.js.map +1 -1
- package/dist/data/chat/ContextMeter.bar.cjs +150 -0
- package/dist/data/chat/ContextMeter.bar.cjs.map +1 -0
- package/dist/data/chat/ContextMeter.bar.d.ts +16 -0
- package/dist/data/chat/ContextMeter.bar.d.ts.map +1 -0
- package/dist/data/chat/ContextMeter.bar.js +150 -0
- package/dist/data/chat/ContextMeter.bar.js.map +1 -0
- package/dist/data/chat/ContextMeter.cjs +33 -58
- package/dist/data/chat/ContextMeter.cjs.map +1 -1
- package/dist/data/chat/ContextMeter.d.ts.map +1 -1
- package/dist/data/chat/ContextMeter.js +28 -53
- package/dist/data/chat/ContextMeter.js.map +1 -1
- package/dist/data/chat/ContextMeter.model.cjs +42 -0
- package/dist/data/chat/ContextMeter.model.cjs.map +1 -0
- package/dist/data/chat/ContextMeter.model.d.ts +2 -0
- package/dist/data/chat/ContextMeter.model.d.ts.map +1 -0
- package/dist/data/chat/ContextMeter.model.js +42 -0
- package/dist/data/chat/ContextMeter.model.js.map +1 -0
- package/dist/data/chat/ContextMeter.styles.cjs +21 -0
- package/dist/data/chat/ContextMeter.styles.cjs.map +1 -0
- package/dist/data/chat/ContextMeter.styles.d.ts +7 -0
- package/dist/data/chat/ContextMeter.styles.d.ts.map +1 -0
- package/dist/data/chat/ContextMeter.styles.js +21 -0
- package/dist/data/chat/ContextMeter.styles.js.map +1 -0
- package/dist/data/chat/Message.cjs +2 -29
- package/dist/data/chat/Message.cjs.map +1 -1
- package/dist/data/chat/Message.d.ts.map +1 -1
- package/dist/data/chat/Message.js +2 -29
- package/dist/data/chat/Message.js.map +1 -1
- package/dist/data/chat/MessageFilePart.cjs +36 -0
- package/dist/data/chat/MessageFilePart.cjs.map +1 -0
- package/dist/data/chat/MessageFilePart.d.ts +9 -0
- package/dist/data/chat/MessageFilePart.d.ts.map +1 -0
- package/dist/data/chat/MessageFilePart.js +36 -0
- package/dist/data/chat/MessageFilePart.js.map +1 -0
- package/dist/data/code-block-actions.cjs +4 -3
- package/dist/data/code-block-actions.cjs.map +1 -1
- package/dist/data/code-block-actions.d.ts +3 -1
- package/dist/data/code-block-actions.d.ts.map +1 -1
- package/dist/data/code-block-actions.js +4 -3
- package/dist/data/code-block-actions.js.map +1 -1
- package/dist/data/code-highlight.cjs +59 -9
- package/dist/data/code-highlight.cjs.map +1 -1
- package/dist/data/code-highlight.d.ts.map +1 -1
- package/dist/data/code-highlight.js +59 -9
- package/dist/data/code-highlight.js.map +1 -1
- package/dist/data/data-table-filter-values.cjs +68 -8
- package/dist/data/data-table-filter-values.cjs.map +1 -1
- package/dist/data/data-table-filter-values.d.ts +13 -4
- package/dist/data/data-table-filter-values.d.ts.map +1 -1
- package/dist/data/data-table-filter-values.js +68 -8
- package/dist/data/data-table-filter-values.js.map +1 -1
- package/dist/data/data-table-server-filters.cjs +52 -11
- package/dist/data/data-table-server-filters.cjs.map +1 -1
- package/dist/data/data-table-server-filters.d.ts.map +1 -1
- package/dist/data/data-table-server-filters.js +53 -12
- package/dist/data/data-table-server-filters.js.map +1 -1
- package/dist/data/data-table-utils.cjs +9 -0
- package/dist/data/data-table-utils.cjs.map +1 -1
- package/dist/data/data-table-utils.d.ts +2 -0
- package/dist/data/data-table-utils.d.ts.map +1 -1
- package/dist/data/data-table-utils.js +9 -0
- package/dist/data/data-table-utils.js.map +1 -1
- package/dist/data/dataTableMenuPosition.cjs +64 -0
- package/dist/data/dataTableMenuPosition.cjs.map +1 -0
- package/dist/data/dataTableMenuPosition.d.ts +32 -0
- package/dist/data/dataTableMenuPosition.d.ts.map +1 -0
- package/dist/data/dataTableMenuPosition.js +64 -0
- package/dist/data/dataTableMenuPosition.js.map +1 -0
- package/dist/data/diagnostics/FrameSourceWindow.cjs +7 -4
- package/dist/data/diagnostics/FrameSourceWindow.cjs.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.d.ts +8 -1
- package/dist/data/diagnostics/FrameSourceWindow.d.ts.map +1 -1
- package/dist/data/diagnostics/FrameSourceWindow.js +7 -4
- 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 -1
- 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/RenderedStackTrace.cjs +19 -11
- package/dist/data/diagnostics/RenderedStackTrace.cjs.map +1 -1
- package/dist/data/diagnostics/RenderedStackTrace.d.ts +13 -2
- package/dist/data/diagnostics/RenderedStackTrace.d.ts.map +1 -1
- package/dist/data/diagnostics/RenderedStackTrace.js +19 -11
- package/dist/data/diagnostics/RenderedStackTrace.js.map +1 -1
- package/dist/data/diagnostics/StackFrameRow.cjs +20 -6
- package/dist/data/diagnostics/StackFrameRow.cjs.map +1 -1
- package/dist/data/diagnostics/StackFrameRow.d.ts +11 -1
- package/dist/data/diagnostics/StackFrameRow.d.ts.map +1 -1
- package/dist/data/diagnostics/StackFrameRow.js +20 -6
- package/dist/data/diagnostics/StackFrameRow.js.map +1 -1
- package/dist/data/graph-layout.cjs +128 -0
- package/dist/data/graph-layout.cjs.map +1 -0
- package/dist/data/graph-layout.d.ts +64 -0
- package/dist/data/graph-layout.d.ts.map +1 -0
- package/dist/data/graph-layout.js +128 -0
- package/dist/data/graph-layout.js.map +1 -0
- package/dist/data/runtime/RuntimeBar.cjs +61 -26
- package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBar.context.cjs +8 -0
- package/dist/data/runtime/RuntimeBar.context.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBar.context.d.ts +2 -0
- package/dist/data/runtime/RuntimeBar.context.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.context.js +8 -0
- package/dist/data/runtime/RuntimeBar.context.js.map +1 -0
- package/dist/data/runtime/RuntimeBar.d.ts +11 -1
- package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.js +62 -27
- package/dist/data/runtime/RuntimeBar.js.map +1 -1
- package/dist/data/runtime/RuntimeBar.limits.cjs +34 -0
- package/dist/data/runtime/RuntimeBar.limits.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBar.limits.d.ts +14 -0
- package/dist/data/runtime/RuntimeBar.limits.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBar.limits.js +34 -0
- package/dist/data/runtime/RuntimeBar.limits.js.map +1 -0
- package/dist/data/runtime/RuntimeBarActions.cjs +74 -0
- package/dist/data/runtime/RuntimeBarActions.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBarActions.d.ts +39 -0
- package/dist/data/runtime/RuntimeBarActions.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBarActions.js +74 -0
- package/dist/data/runtime/RuntimeBarActions.js.map +1 -0
- package/dist/data/runtime/RuntimeBarCombo.cjs +99 -49
- package/dist/data/runtime/RuntimeBarCombo.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBarCombo.d.ts +8 -1
- package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBarCombo.js +100 -50
- package/dist/data/runtime/RuntimeBarCombo.js.map +1 -1
- package/dist/data/runtime/RuntimeBarLimits.cjs +262 -0
- package/dist/data/runtime/RuntimeBarLimits.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBarLimits.d.ts +17 -0
- package/dist/data/runtime/RuntimeBarLimits.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBarLimits.js +262 -0
- package/dist/data/runtime/RuntimeBarLimits.js.map +1 -0
- package/dist/data/runtime/RuntimeBarSegment.cjs +83 -0
- package/dist/data/runtime/RuntimeBarSegment.cjs.map +1 -0
- package/dist/data/runtime/RuntimeBarSegment.d.ts +22 -0
- package/dist/data/runtime/RuntimeBarSegment.d.ts.map +1 -0
- package/dist/data/runtime/RuntimeBarSegment.js +83 -0
- package/dist/data/runtime/RuntimeBarSegment.js.map +1 -0
- package/dist/data/runtime/RuntimeBarSegments.cjs +182 -187
- package/dist/data/runtime/RuntimeBarSegments.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBarSegments.d.ts +10 -1
- package/dist/data/runtime/RuntimeBarSegments.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBarSegments.js +183 -188
- package/dist/data/runtime/RuntimeBarSegments.js.map +1 -1
- package/dist/data/runtime/model-capabilities.cjs +6 -5
- package/dist/data/runtime/model-capabilities.cjs.map +1 -1
- package/dist/data/runtime/model-capabilities.d.ts +9 -2
- package/dist/data/runtime/model-capabilities.d.ts.map +1 -1
- package/dist/data/runtime/model-capabilities.js +6 -5
- package/dist/data/runtime/model-capabilities.js.map +1 -1
- package/dist/data/runtime/runtime-mode.cjs +11 -1
- package/dist/data/runtime/runtime-mode.cjs.map +1 -1
- package/dist/data/runtime/runtime-mode.d.ts +3 -0
- package/dist/data/runtime/runtime-mode.d.ts.map +1 -1
- package/dist/data/runtime/runtime-mode.js +13 -2
- package/dist/data/runtime/runtime-mode.js.map +1 -1
- package/dist/data/runtime/unspecified.cjs +16 -0
- package/dist/data/runtime/unspecified.cjs.map +1 -0
- package/dist/data/runtime/unspecified.d.ts +7 -0
- package/dist/data/runtime/unspecified.d.ts.map +1 -0
- package/dist/data/runtime/unspecified.js +16 -0
- package/dist/data/runtime/unspecified.js.map +1 -0
- package/dist/data/task-copy.cjs +19 -2
- package/dist/data/task-copy.cjs.map +1 -1
- package/dist/data/task-copy.d.ts.map +1 -1
- package/dist/data/task-copy.js +19 -2
- package/dist/data/task-copy.js.map +1 -1
- package/dist/data/task-metadata.cjs +36 -0
- package/dist/data/task-metadata.cjs.map +1 -0
- package/dist/data/task-metadata.d.ts +39 -0
- package/dist/data/task-metadata.d.ts.map +1 -0
- package/dist/data/task-metadata.js +36 -0
- package/dist/data/task-metadata.js.map +1 -0
- package/dist/data/task-streams.cjs +39 -0
- package/dist/data/task-streams.cjs.map +1 -0
- package/dist/data/task-streams.d.ts +60 -0
- package/dist/data/task-streams.d.ts.map +1 -0
- package/dist/data/task-streams.js +39 -0
- package/dist/data/task-streams.js.map +1 -0
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/data.cjs +709 -0
- package/dist/data.cjs.map +1 -1
- package/dist/data.d.ts +10 -3
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +710 -1
- package/dist/data.js.map +1 -1
- package/dist/expressions/playground/ExpressionPlayground.cjs +44 -16
- package/dist/expressions/playground/ExpressionPlayground.cjs.map +1 -1
- package/dist/expressions/playground/ExpressionPlayground.d.ts +23 -2
- package/dist/expressions/playground/ExpressionPlayground.d.ts.map +1 -1
- package/dist/expressions/playground/ExpressionPlayground.js +44 -16
- package/dist/expressions/playground/ExpressionPlayground.js.map +1 -1
- package/dist/expressions/playground/RunControls.cjs +8 -6
- package/dist/expressions/playground/RunControls.cjs.map +1 -1
- package/dist/expressions/playground/RunControls.d.ts +3 -1
- package/dist/expressions/playground/RunControls.d.ts.map +1 -1
- package/dist/expressions/playground/RunControls.js +8 -6
- package/dist/expressions/playground/RunControls.js.map +1 -1
- package/dist/expressions/playground/api.cjs.map +1 -1
- package/dist/expressions/playground/api.d.ts +24 -0
- package/dist/expressions/playground/api.d.ts.map +1 -1
- package/dist/expressions/playground/api.js.map +1 -1
- package/dist/expressions/playground/panels/ExpectationStrip.cjs +62 -0
- package/dist/expressions/playground/panels/ExpectationStrip.cjs.map +1 -0
- package/dist/expressions/playground/panels/ExpectationStrip.d.ts +18 -0
- package/dist/expressions/playground/panels/ExpectationStrip.d.ts.map +1 -0
- package/dist/expressions/playground/panels/ExpectationStrip.js +62 -0
- package/dist/expressions/playground/panels/ExpectationStrip.js.map +1 -0
- package/dist/expressions/playground/panels/GraphPanel.cjs +3 -2
- package/dist/expressions/playground/panels/GraphPanel.cjs.map +1 -1
- package/dist/expressions/playground/panels/GraphPanel.d.ts +2 -1
- package/dist/expressions/playground/panels/GraphPanel.d.ts.map +1 -1
- package/dist/expressions/playground/panels/GraphPanel.js +3 -2
- package/dist/expressions/playground/panels/GraphPanel.js.map +1 -1
- package/dist/expressions/playground/panels/ResultPanel.cjs +61 -36
- package/dist/expressions/playground/panels/ResultPanel.cjs.map +1 -1
- package/dist/expressions/playground/panels/ResultPanel.d.ts +18 -2
- package/dist/expressions/playground/panels/ResultPanel.d.ts.map +1 -1
- package/dist/expressions/playground/panels/ResultPanel.js +62 -37
- package/dist/expressions/playground/panels/ResultPanel.js.map +1 -1
- package/dist/expressions/playground/panels/ResultView.cjs +45 -0
- package/dist/expressions/playground/panels/ResultView.cjs.map +1 -0
- package/dist/expressions/playground/panels/ResultView.d.ts +17 -0
- package/dist/expressions/playground/panels/ResultView.d.ts.map +1 -0
- package/dist/expressions/playground/panels/ResultView.js +45 -0
- package/dist/expressions/playground/panels/ResultView.js.map +1 -0
- package/dist/expressions/playground/panels/SamplesPanel.cjs +165 -0
- package/dist/expressions/playground/panels/SamplesPanel.cjs.map +1 -0
- package/dist/expressions/playground/panels/SamplesPanel.d.ts +19 -0
- package/dist/expressions/playground/panels/SamplesPanel.d.ts.map +1 -0
- package/dist/expressions/playground/panels/SamplesPanel.js +165 -0
- package/dist/expressions/playground/panels/SamplesPanel.js.map +1 -0
- package/dist/expressions/playground/sampleOutcome.cjs +29 -0
- package/dist/expressions/playground/sampleOutcome.cjs.map +1 -0
- package/dist/expressions/playground/sampleOutcome.d.ts +20 -0
- package/dist/expressions/playground/sampleOutcome.d.ts.map +1 -0
- package/dist/expressions/playground/sampleOutcome.js +29 -0
- package/dist/expressions/playground/sampleOutcome.js.map +1 -0
- package/dist/expressions/playground/useEvaluator.cjs +39 -18
- package/dist/expressions/playground/useEvaluator.cjs.map +1 -1
- package/dist/expressions/playground/useEvaluator.d.ts +9 -2
- package/dist/expressions/playground/useEvaluator.d.ts.map +1 -1
- package/dist/expressions/playground/useEvaluator.js +39 -18
- package/dist/expressions/playground/useEvaluator.js.map +1 -1
- package/dist/expressions/playground/useSampleRuns.cjs +73 -0
- package/dist/expressions/playground/useSampleRuns.cjs.map +1 -0
- package/dist/expressions/playground/useSampleRuns.d.ts +34 -0
- package/dist/expressions/playground/useSampleRuns.d.ts.map +1 -0
- package/dist/expressions/playground/useSampleRuns.js +73 -0
- package/dist/expressions/playground/useSampleRuns.js.map +1 -0
- package/dist/expressions/playground.cjs +6 -0
- package/dist/expressions/playground.cjs.map +1 -1
- package/dist/expressions/playground.d.ts +6 -2
- package/dist/expressions/playground.d.ts.map +1 -1
- package/dist/expressions/playground.js +7 -1
- package/dist/expressions/playground.js.map +1 -1
- package/dist/hooks/theme-provider.cjs +5 -7
- package/dist/hooks/theme-provider.cjs.map +1 -1
- package/dist/hooks/theme-provider.d.ts.map +1 -1
- package/dist/hooks/theme-provider.js +6 -8
- package/dist/hooks/theme-provider.js.map +1 -1
- package/dist/hooks/use-container-width.cjs +31 -0
- package/dist/hooks/use-container-width.cjs.map +1 -0
- package/dist/hooks/use-container-width.d.ts +18 -0
- package/dist/hooks/use-container-width.d.ts.map +1 -0
- package/dist/hooks/use-container-width.js +31 -0
- package/dist/hooks/use-container-width.js.map +1 -0
- package/dist/hooks/use-log-tail.cjs +49 -66
- package/dist/hooks/use-log-tail.cjs.map +1 -1
- package/dist/hooks/use-log-tail.d.ts +38 -10
- package/dist/hooks/use-log-tail.d.ts.map +1 -1
- package/dist/hooks/use-log-tail.js +49 -66
- package/dist/hooks/use-log-tail.js.map +1 -1
- package/dist/hooks/use-media-query.cjs +41 -0
- package/dist/hooks/use-media-query.cjs.map +1 -0
- package/dist/hooks/use-media-query.d.ts +33 -0
- package/dist/hooks/use-media-query.d.ts.map +1 -0
- package/dist/hooks/use-media-query.js +41 -0
- package/dist/hooks/use-media-query.js.map +1 -0
- package/dist/hooks/use-task-run.cjs +18 -16
- package/dist/hooks/use-task-run.cjs.map +1 -1
- package/dist/hooks/use-task-run.d.ts.map +1 -1
- package/dist/hooks/use-task-run.js +19 -17
- package/dist/hooks/use-task-run.js.map +1 -1
- package/dist/hooks/use-theme.cjs +11 -9
- package/dist/hooks/use-theme.cjs.map +1 -1
- package/dist/hooks/use-theme.d.ts +1 -0
- package/dist/hooks/use-theme.d.ts.map +1 -1
- package/dist/hooks/use-theme.js +11 -9
- package/dist/hooks/use-theme.js.map +1 -1
- package/dist/hooks.cjs +6 -1
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.d.ts +3 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +7 -2
- package/dist/hooks.js.map +1 -1
- package/dist/icons/components/UiAccessProtected.cjs +15 -0
- package/dist/icons/components/UiAccessProtected.cjs.map +1 -0
- package/dist/icons/components/UiAccessProtected.d.ts +15 -0
- package/dist/icons/components/UiAccessProtected.d.ts.map +1 -0
- package/dist/icons/components/UiAccessProtected.js +15 -0
- package/dist/icons/components/UiAccessProtected.js.map +1 -0
- package/dist/icons/components/UiAccessPublic.cjs +23 -0
- package/dist/icons/components/UiAccessPublic.cjs.map +1 -0
- package/dist/icons/components/UiAccessPublic.d.ts +15 -0
- package/dist/icons/components/UiAccessPublic.d.ts.map +1 -0
- package/dist/icons/components/UiAccessPublic.js +23 -0
- package/dist/icons/components/UiAccessPublic.js.map +1 -0
- package/dist/icons/components/UiAddChangeset.cjs +29 -0
- package/dist/icons/components/UiAddChangeset.cjs.map +1 -0
- package/dist/icons/components/UiAddChangeset.d.ts +15 -0
- package/dist/icons/components/UiAddChangeset.d.ts.map +1 -0
- package/dist/icons/components/UiAddChangeset.js +29 -0
- package/dist/icons/components/UiAddChangeset.js.map +1 -0
- package/dist/icons/components/UiAggregate.cjs +21 -0
- package/dist/icons/components/UiAggregate.cjs.map +1 -0
- package/dist/icons/components/UiAggregate.d.ts +15 -0
- package/dist/icons/components/UiAggregate.d.ts.map +1 -0
- package/dist/icons/components/UiAggregate.js +21 -0
- package/dist/icons/components/UiAggregate.js.map +1 -0
- package/dist/icons/components/UiAlias.cjs +25 -0
- package/dist/icons/components/UiAlias.cjs.map +1 -0
- package/dist/icons/components/UiAlias.d.ts +15 -0
- package/dist/icons/components/UiAlias.d.ts.map +1 -0
- package/dist/icons/components/UiAlias.js +25 -0
- package/dist/icons/components/UiAlias.js.map +1 -0
- package/dist/icons/components/UiAnnotation.cjs +21 -0
- package/dist/icons/components/UiAnnotation.cjs.map +1 -0
- package/dist/icons/components/UiAnnotation.d.ts +15 -0
- package/dist/icons/components/UiAnnotation.d.ts.map +1 -0
- package/dist/icons/components/UiAnnotation.js +21 -0
- package/dist/icons/components/UiAnnotation.js.map +1 -0
- package/dist/icons/components/UiAopAroundAdvice.cjs +15 -0
- package/dist/icons/components/UiAopAroundAdvice.cjs.map +1 -0
- package/dist/icons/components/UiAopAroundAdvice.d.ts +9 -0
- package/dist/icons/components/UiAopAroundAdvice.d.ts.map +1 -0
- package/dist/icons/components/UiAopAroundAdvice.js +15 -0
- package/dist/icons/components/UiAopAroundAdvice.js.map +1 -0
- package/dist/icons/components/UiAopBeforeAdvice.cjs +15 -0
- package/dist/icons/components/UiAopBeforeAdvice.cjs.map +1 -0
- package/dist/icons/components/UiAopBeforeAdvice.d.ts +9 -0
- package/dist/icons/components/UiAopBeforeAdvice.d.ts.map +1 -0
- package/dist/icons/components/UiAopBeforeAdvice.js +15 -0
- package/dist/icons/components/UiAopBeforeAdvice.js.map +1 -0
- package/dist/icons/components/UiAopPointcut.cjs +13 -0
- package/dist/icons/components/UiAopPointcut.cjs.map +1 -0
- package/dist/icons/components/UiAopPointcut.d.ts +9 -0
- package/dist/icons/components/UiAopPointcut.d.ts.map +1 -0
- package/dist/icons/components/UiAopPointcut.js +13 -0
- package/dist/icons/components/UiAopPointcut.js.map +1 -0
- package/dist/icons/components/UiArtifact.cjs +31 -0
- package/dist/icons/components/UiArtifact.cjs.map +1 -0
- package/dist/icons/components/UiArtifact.d.ts +15 -0
- package/dist/icons/components/UiArtifact.d.ts.map +1 -0
- package/dist/icons/components/UiArtifact.js +31 -0
- package/dist/icons/components/UiArtifact.js.map +1 -0
- package/dist/icons/components/UiAttachDebugger.cjs +21 -0
- package/dist/icons/components/UiAttachDebugger.cjs.map +1 -0
- package/dist/icons/components/UiAttachDebugger.d.ts +15 -0
- package/dist/icons/components/UiAttachDebugger.d.ts.map +1 -0
- package/dist/icons/components/UiAttachDebugger.js +21 -0
- package/dist/icons/components/UiAttachDebugger.js.map +1 -0
- package/dist/icons/components/UiAttachToProcess.cjs +25 -0
- package/dist/icons/components/UiAttachToProcess.cjs.map +1 -0
- package/dist/icons/components/UiAttachToProcess.d.ts +15 -0
- package/dist/icons/components/UiAttachToProcess.d.ts.map +1 -0
- package/dist/icons/components/UiAttachToProcess.js +25 -0
- package/dist/icons/components/UiAttachToProcess.js.map +1 -0
- package/dist/icons/components/UiAuditLog.cjs +14 -0
- package/dist/icons/components/UiAuditLog.cjs.map +1 -0
- package/dist/icons/components/UiAuditLog.d.ts +9 -0
- package/dist/icons/components/UiAuditLog.d.ts.map +1 -0
- package/dist/icons/components/UiAuditLog.js +14 -0
- package/dist/icons/components/UiAuditLog.js.map +1 -0
- package/dist/icons/components/UiBlueKey.cjs +15 -0
- package/dist/icons/components/UiBlueKey.cjs.map +1 -0
- package/dist/icons/components/UiBlueKey.d.ts +15 -0
- package/dist/icons/components/UiBlueKey.d.ts.map +1 -0
- package/dist/icons/components/UiBlueKey.js +15 -0
- package/dist/icons/components/UiBlueKey.js.map +1 -0
- package/dist/icons/components/UiBoolean.cjs +15 -0
- package/dist/icons/components/UiBoolean.cjs.map +1 -0
- package/dist/icons/components/UiBoolean.d.ts +9 -0
- package/dist/icons/components/UiBoolean.d.ts.map +1 -0
- package/dist/icons/components/UiBoolean.js +15 -0
- package/dist/icons/components/UiBoolean.js.map +1 -0
- package/dist/icons/components/UiBreakpoint.cjs +10 -0
- package/dist/icons/components/UiBreakpoint.cjs.map +1 -0
- package/dist/icons/components/UiBreakpoint.d.ts +9 -0
- package/dist/icons/components/UiBreakpoint.d.ts.map +1 -0
- package/dist/icons/components/UiBreakpoint.js +10 -0
- package/dist/icons/components/UiBreakpoint.js.map +1 -0
- package/dist/icons/components/UiBreakpoint1.cjs +21 -0
- package/dist/icons/components/UiBreakpoint1.cjs.map +1 -0
- package/dist/icons/components/UiBreakpoint1.d.ts +15 -0
- package/dist/icons/components/UiBreakpoint1.d.ts.map +1 -0
- package/dist/icons/components/UiBreakpoint1.js +21 -0
- package/dist/icons/components/UiBreakpoint1.js.map +1 -0
- package/dist/icons/components/UiBreakpoint2.cjs +15 -0
- package/dist/icons/components/UiBreakpoint2.cjs.map +1 -0
- package/dist/icons/components/UiBreakpoint2.d.ts +15 -0
- package/dist/icons/components/UiBreakpoint2.d.ts.map +1 -0
- package/dist/icons/components/UiBreakpoint2.js +15 -0
- package/dist/icons/components/UiBreakpoint2.js.map +1 -0
- package/dist/icons/components/UiBreakpoint3.cjs +15 -0
- package/dist/icons/components/UiBreakpoint3.cjs.map +1 -0
- package/dist/icons/components/UiBreakpoint3.d.ts +15 -0
- package/dist/icons/components/UiBreakpoint3.d.ts.map +1 -0
- package/dist/icons/components/UiBreakpoint3.js +15 -0
- package/dist/icons/components/UiBreakpoint3.js.map +1 -0
- package/dist/icons/components/UiBreakpoint4.cjs +23 -0
- package/dist/icons/components/UiBreakpoint4.cjs.map +1 -0
- package/dist/icons/components/UiBreakpoint4.d.ts +15 -0
- package/dist/icons/components/UiBreakpoint4.d.ts.map +1 -0
- package/dist/icons/components/UiBreakpoint4.js +23 -0
- package/dist/icons/components/UiBreakpoint4.js.map +1 -0
- package/dist/icons/components/UiBreakpointDisabled.cjs +10 -0
- package/dist/icons/components/UiBreakpointDisabled.cjs.map +1 -0
- package/dist/icons/components/UiBreakpointDisabled.d.ts +9 -0
- package/dist/icons/components/UiBreakpointDisabled.d.ts.map +1 -0
- package/dist/icons/components/UiBreakpointDisabled.js +10 -0
- package/dist/icons/components/UiBreakpointDisabled.js.map +1 -0
- package/dist/icons/components/UiBreakpointField.cjs +13 -0
- package/dist/icons/components/UiBreakpointField.cjs.map +1 -0
- package/dist/icons/components/UiBreakpointField.d.ts +9 -0
- package/dist/icons/components/UiBreakpointField.d.ts.map +1 -0
- package/dist/icons/components/UiBreakpointField.js +13 -0
- package/dist/icons/components/UiBreakpointField.js.map +1 -0
- package/dist/icons/components/UiBreakpointMethod.cjs +10 -0
- package/dist/icons/components/UiBreakpointMethod.cjs.map +1 -0
- package/dist/icons/components/UiBreakpointMethod.d.ts +9 -0
- package/dist/icons/components/UiBreakpointMethod.d.ts.map +1 -0
- package/dist/icons/components/UiBreakpointMethod.js +10 -0
- package/dist/icons/components/UiBreakpointMethod.js.map +1 -0
- package/dist/icons/components/UiCache.cjs +15 -0
- package/dist/icons/components/UiCache.cjs.map +1 -0
- package/dist/icons/components/UiCache.d.ts +9 -0
- package/dist/icons/components/UiCache.d.ts.map +1 -0
- package/dist/icons/components/UiCache.js +15 -0
- package/dist/icons/components/UiCache.js.map +1 -0
- package/dist/icons/components/UiCheckConstraint.cjs +25 -0
- package/dist/icons/components/UiCheckConstraint.cjs.map +1 -0
- package/dist/icons/components/UiCheckConstraint.d.ts +15 -0
- package/dist/icons/components/UiCheckConstraint.d.ts.map +1 -0
- package/dist/icons/components/UiCheckConstraint.js +25 -0
- package/dist/icons/components/UiCheckConstraint.js.map +1 -0
- package/dist/icons/components/UiClass1.cjs +33 -0
- package/dist/icons/components/UiClass1.cjs.map +1 -0
- package/dist/icons/components/UiClass1.d.ts +15 -0
- package/dist/icons/components/UiClass1.d.ts.map +1 -0
- package/dist/icons/components/UiClass1.js +33 -0
- package/dist/icons/components/UiClass1.js.map +1 -0
- package/dist/icons/components/UiClass2.cjs +21 -0
- package/dist/icons/components/UiClass2.cjs.map +1 -0
- package/dist/icons/components/UiClass2.d.ts +15 -0
- package/dist/icons/components/UiClass2.d.ts.map +1 -0
- package/dist/icons/components/UiClass2.js +21 -0
- package/dist/icons/components/UiClass2.js.map +1 -0
- package/dist/icons/components/UiClass3.cjs +21 -0
- package/dist/icons/components/UiClass3.cjs.map +1 -0
- package/dist/icons/components/UiClass3.d.ts +15 -0
- package/dist/icons/components/UiClass3.d.ts.map +1 -0
- package/dist/icons/components/UiClass3.js +21 -0
- package/dist/icons/components/UiClass3.js.map +1 -0
- package/dist/icons/components/UiClass4.cjs +23 -0
- package/dist/icons/components/UiClass4.cjs.map +1 -0
- package/dist/icons/components/UiClass4.d.ts +15 -0
- package/dist/icons/components/UiClass4.d.ts.map +1 -0
- package/dist/icons/components/UiClass4.js +23 -0
- package/dist/icons/components/UiClass4.js.map +1 -0
- package/dist/icons/components/UiClass5.cjs +23 -0
- package/dist/icons/components/UiClass5.cjs.map +1 -0
- package/dist/icons/components/UiClass5.d.ts +15 -0
- package/dist/icons/components/UiClass5.d.ts.map +1 -0
- package/dist/icons/components/UiClass5.js +23 -0
- package/dist/icons/components/UiClass5.js.map +1 -0
- package/dist/icons/components/UiClass6.cjs +21 -0
- package/dist/icons/components/UiClass6.cjs.map +1 -0
- package/dist/icons/components/UiClass6.d.ts +15 -0
- package/dist/icons/components/UiClass6.d.ts.map +1 -0
- package/dist/icons/components/UiClass6.js +21 -0
- package/dist/icons/components/UiClass6.js.map +1 -0
- package/dist/icons/components/UiClass7.cjs +23 -0
- package/dist/icons/components/UiClass7.cjs.map +1 -0
- package/dist/icons/components/UiClass7.d.ts +15 -0
- package/dist/icons/components/UiClass7.d.ts.map +1 -0
- package/dist/icons/components/UiClass7.js +23 -0
- package/dist/icons/components/UiClass7.js.map +1 -0
- package/dist/icons/components/UiClearCash.cjs +23 -0
- package/dist/icons/components/UiClearCash.cjs.map +1 -0
- package/dist/icons/components/UiClearCash.d.ts +15 -0
- package/dist/icons/components/UiClearCash.d.ts.map +1 -0
- package/dist/icons/components/UiClearCash.js +23 -0
- package/dist/icons/components/UiClearCash.js.map +1 -0
- package/dist/icons/components/UiCollection.cjs +27 -0
- package/dist/icons/components/UiCollection.cjs.map +1 -0
- package/dist/icons/components/UiCollection.d.ts +15 -0
- package/dist/icons/components/UiCollection.d.ts.map +1 -0
- package/dist/icons/components/UiCollection.js +27 -0
- package/dist/icons/components/UiCollection.js.map +1 -0
- package/dist/icons/components/UiCollectionType.cjs +27 -0
- package/dist/icons/components/UiCollectionType.cjs.map +1 -0
- package/dist/icons/components/UiCollectionType.d.ts +15 -0
- package/dist/icons/components/UiCollectionType.d.ts.map +1 -0
- package/dist/icons/components/UiCollectionType.js +27 -0
- package/dist/icons/components/UiCollectionType.js.map +1 -0
- package/dist/icons/components/UiColumn.cjs +21 -0
- package/dist/icons/components/UiColumn.cjs.map +1 -0
- package/dist/icons/components/UiColumn.d.ts +15 -0
- package/dist/icons/components/UiColumn.d.ts.map +1 -0
- package/dist/icons/components/UiColumn.js +21 -0
- package/dist/icons/components/UiColumn.js.map +1 -0
- package/dist/icons/components/UiColumn1.cjs +26 -0
- package/dist/icons/components/UiColumn1.cjs.map +1 -0
- package/dist/icons/components/UiColumn1.d.ts +15 -0
- package/dist/icons/components/UiColumn1.d.ts.map +1 -0
- package/dist/icons/components/UiColumn1.js +26 -0
- package/dist/icons/components/UiColumn1.js.map +1 -0
- package/dist/icons/components/UiColumn2.cjs +28 -0
- package/dist/icons/components/UiColumn2.cjs.map +1 -0
- package/dist/icons/components/UiColumn2.d.ts +15 -0
- package/dist/icons/components/UiColumn2.d.ts.map +1 -0
- package/dist/icons/components/UiColumn2.js +28 -0
- package/dist/icons/components/UiColumn2.js.map +1 -0
- package/dist/icons/components/UiColumn3.cjs +26 -0
- package/dist/icons/components/UiColumn3.cjs.map +1 -0
- package/dist/icons/components/UiColumn3.d.ts +15 -0
- package/dist/icons/components/UiColumn3.d.ts.map +1 -0
- package/dist/icons/components/UiColumn3.js +26 -0
- package/dist/icons/components/UiColumn3.js.map +1 -0
- package/dist/icons/components/UiColumn4.cjs +26 -0
- package/dist/icons/components/UiColumn4.cjs.map +1 -0
- package/dist/icons/components/UiColumn4.d.ts +15 -0
- package/dist/icons/components/UiColumn4.d.ts.map +1 -0
- package/dist/icons/components/UiColumn4.js +26 -0
- package/dist/icons/components/UiColumn4.js.map +1 -0
- package/dist/icons/components/UiColumn5.cjs +21 -0
- package/dist/icons/components/UiColumn5.cjs.map +1 -0
- package/dist/icons/components/UiColumn5.d.ts +15 -0
- package/dist/icons/components/UiColumn5.d.ts.map +1 -0
- package/dist/icons/components/UiColumn5.js +21 -0
- package/dist/icons/components/UiColumn5.js.map +1 -0
- package/dist/icons/components/UiConfigMap.cjs +31 -0
- package/dist/icons/components/UiConfigMap.cjs.map +1 -0
- package/dist/icons/components/UiConfigMap.d.ts +15 -0
- package/dist/icons/components/UiConfigMap.d.ts.map +1 -0
- package/dist/icons/components/UiConfigMap.js +31 -0
- package/dist/icons/components/UiConfigMap.js.map +1 -0
- package/dist/icons/components/UiConnector.cjs +15 -0
- package/dist/icons/components/UiConnector.cjs.map +1 -0
- package/dist/icons/components/UiConnector.d.ts +15 -0
- package/dist/icons/components/UiConnector.d.ts.map +1 -0
- package/dist/icons/components/UiConnector.js +15 -0
- package/dist/icons/components/UiConnector.js.map +1 -0
- package/dist/icons/components/UiConstant1.cjs +23 -0
- package/dist/icons/components/UiConstant1.cjs.map +1 -0
- package/dist/icons/components/UiConstant1.d.ts +15 -0
- package/dist/icons/components/UiConstant1.d.ts.map +1 -0
- package/dist/icons/components/UiConstant1.js +23 -0
- package/dist/icons/components/UiConstant1.js.map +1 -0
- package/dist/icons/components/UiConverter.cjs +23 -0
- package/dist/icons/components/UiConverter.cjs.map +1 -0
- package/dist/icons/components/UiConverter.d.ts +15 -0
- package/dist/icons/components/UiConverter.d.ts.map +1 -0
- package/dist/icons/components/UiConverter.js +23 -0
- package/dist/icons/components/UiConverter.js.map +1 -0
- package/dist/icons/components/UiConverter1.cjs +23 -0
- package/dist/icons/components/UiConverter1.cjs.map +1 -0
- package/dist/icons/components/UiConverter1.d.ts +15 -0
- package/dist/icons/components/UiConverter1.d.ts.map +1 -0
- package/dist/icons/components/UiConverter1.js +23 -0
- package/dist/icons/components/UiConverter1.js.map +1 -0
- package/dist/icons/components/UiCreateConstraint.cjs +23 -0
- package/dist/icons/components/UiCreateConstraint.cjs.map +1 -0
- package/dist/icons/components/UiCreateConstraint.d.ts +15 -0
- package/dist/icons/components/UiCreateConstraint.d.ts.map +1 -0
- package/dist/icons/components/UiCreateConstraint.js +23 -0
- package/dist/icons/components/UiCreateConstraint.js.map +1 -0
- package/dist/icons/components/UiCustomResource.cjs +21 -0
- package/dist/icons/components/UiCustomResource.cjs.map +1 -0
- package/dist/icons/components/UiCustomResource.d.ts +15 -0
- package/dist/icons/components/UiCustomResource.d.ts.map +1 -0
- package/dist/icons/components/UiCustomResource.js +21 -0
- package/dist/icons/components/UiCustomResource.js.map +1 -0
- package/dist/icons/components/UiDataSchema.cjs +23 -0
- package/dist/icons/components/UiDataSchema.cjs.map +1 -0
- package/dist/icons/components/UiDataSchema.d.ts +15 -0
- package/dist/icons/components/UiDataSchema.d.ts.map +1 -0
- package/dist/icons/components/UiDataSchema.js +23 -0
- package/dist/icons/components/UiDataSchema.js.map +1 -0
- package/dist/icons/components/UiDataShare.cjs +21 -0
- package/dist/icons/components/UiDataShare.cjs.map +1 -0
- package/dist/icons/components/UiDataShare.d.ts +15 -0
- package/dist/icons/components/UiDataShare.d.ts.map +1 -0
- package/dist/icons/components/UiDataShare.js +21 -0
- package/dist/icons/components/UiDataShare.js.map +1 -0
- package/dist/icons/components/UiDatabaseEventStream.cjs +17 -0
- package/dist/icons/components/UiDatabaseEventStream.cjs.map +1 -0
- package/dist/icons/components/UiDatabaseEventStream.d.ts +9 -0
- package/dist/icons/components/UiDatabaseEventStream.d.ts.map +1 -0
- package/dist/icons/components/UiDatabaseEventStream.js +17 -0
- package/dist/icons/components/UiDatabaseEventStream.js.map +1 -0
- package/dist/icons/components/UiDatabaseLink.cjs +21 -0
- package/dist/icons/components/UiDatabaseLink.cjs.map +1 -0
- package/dist/icons/components/UiDatabaseLink.d.ts +15 -0
- package/dist/icons/components/UiDatabaseLink.d.ts.map +1 -0
- package/dist/icons/components/UiDatabaseLink.js +21 -0
- package/dist/icons/components/UiDatabaseLink.js.map +1 -0
- package/dist/icons/components/UiDebugDisabled.cjs +23 -0
- package/dist/icons/components/UiDebugDisabled.cjs.map +1 -0
- package/dist/icons/components/UiDebugDisabled.d.ts +15 -0
- package/dist/icons/components/UiDebugDisabled.d.ts.map +1 -0
- package/dist/icons/components/UiDebugDisabled.js +23 -0
- package/dist/icons/components/UiDebugDisabled.js.map +1 -0
- package/dist/icons/components/UiDebugSelection.cjs +31 -0
- package/dist/icons/components/UiDebugSelection.cjs.map +1 -0
- package/dist/icons/components/UiDebugSelection.d.ts +15 -0
- package/dist/icons/components/UiDebugSelection.d.ts.map +1 -0
- package/dist/icons/components/UiDebugSelection.js +31 -0
- package/dist/icons/components/UiDebugSelection.js.map +1 -0
- package/dist/icons/components/UiDeploy.cjs +23 -0
- package/dist/icons/components/UiDeploy.cjs.map +1 -0
- package/dist/icons/components/UiDeploy.d.ts +15 -0
- package/dist/icons/components/UiDeploy.d.ts.map +1 -0
- package/dist/icons/components/UiDeploy.js +23 -0
- package/dist/icons/components/UiDeploy.js.map +1 -0
- package/dist/icons/components/UiDetach.cjs +21 -0
- package/dist/icons/components/UiDetach.cjs.map +1 -0
- package/dist/icons/components/UiDetach.d.ts +15 -0
- package/dist/icons/components/UiDetach.d.ts.map +1 -0
- package/dist/icons/components/UiDetach.js +21 -0
- package/dist/icons/components/UiDetach.js.map +1 -0
- package/dist/icons/components/UiDiagramDiff.cjs +21 -0
- package/dist/icons/components/UiDiagramDiff.cjs.map +1 -0
- package/dist/icons/components/UiDiagramDiff.d.ts +15 -0
- package/dist/icons/components/UiDiagramDiff.d.ts.map +1 -0
- package/dist/icons/components/UiDiagramDiff.js +21 -0
- package/dist/icons/components/UiDiagramDiff.js.map +1 -0
- package/dist/icons/components/UiDumpThreads.cjs +23 -0
- package/dist/icons/components/UiDumpThreads.cjs.map +1 -0
- package/dist/icons/components/UiDumpThreads.d.ts +15 -0
- package/dist/icons/components/UiDumpThreads.d.ts.map +1 -0
- package/dist/icons/components/UiDumpThreads.js +23 -0
- package/dist/icons/components/UiDumpThreads.js.map +1 -0
- package/dist/icons/components/UiEditMode.cjs +41 -0
- package/dist/icons/components/UiEditMode.cjs.map +1 -0
- package/dist/icons/components/UiEditMode.d.ts +15 -0
- package/dist/icons/components/UiEditMode.d.ts.map +1 -0
- package/dist/icons/components/UiEditMode.js +41 -0
- package/dist/icons/components/UiEditMode.js.map +1 -0
- package/dist/icons/components/UiEvaluateExpression.cjs +33 -0
- package/dist/icons/components/UiEvaluateExpression.cjs.map +1 -0
- package/dist/icons/components/UiEvaluateExpression.d.ts +15 -0
- package/dist/icons/components/UiEvaluateExpression.d.ts.map +1 -0
- package/dist/icons/components/UiEvaluateExpression.js +33 -0
- package/dist/icons/components/UiEvaluateExpression.js.map +1 -0
- package/dist/icons/components/UiException.cjs +21 -0
- package/dist/icons/components/UiException.cjs.map +1 -0
- package/dist/icons/components/UiException.d.ts +15 -0
- package/dist/icons/components/UiException.d.ts.map +1 -0
- package/dist/icons/components/UiException.js +21 -0
- package/dist/icons/components/UiException.js.map +1 -0
- package/dist/icons/components/UiExceptionAnalyzerImportant.cjs +21 -0
- package/dist/icons/components/UiExceptionAnalyzerImportant.cjs.map +1 -0
- package/dist/icons/components/UiExceptionAnalyzerImportant.d.ts +15 -0
- package/dist/icons/components/UiExceptionAnalyzerImportant.d.ts.map +1 -0
- package/dist/icons/components/UiExceptionAnalyzerImportant.js +21 -0
- package/dist/icons/components/UiExceptionAnalyzerImportant.js.map +1 -0
- package/dist/icons/components/UiExcludedGenerated.cjs +35 -0
- package/dist/icons/components/UiExcludedGenerated.cjs.map +1 -0
- package/dist/icons/components/UiExcludedGenerated.d.ts +15 -0
- package/dist/icons/components/UiExcludedGenerated.d.ts.map +1 -0
- package/dist/icons/components/UiExcludedGenerated.js +35 -0
- package/dist/icons/components/UiExcludedGenerated.js.map +1 -0
- package/dist/icons/components/UiExtension.cjs +15 -0
- package/dist/icons/components/UiExtension.cjs.map +1 -0
- package/dist/icons/components/UiExtension.d.ts +15 -0
- package/dist/icons/components/UiExtension.d.ts.map +1 -0
- package/dist/icons/components/UiExtension.js +15 -0
- package/dist/icons/components/UiExtension.js.map +1 -0
- package/dist/icons/components/UiFailedInProgress.cjs +29 -0
- package/dist/icons/components/UiFailedInProgress.cjs.map +1 -0
- package/dist/icons/components/UiFailedInProgress.d.ts +15 -0
- package/dist/icons/components/UiFailedInProgress.d.ts.map +1 -0
- package/dist/icons/components/UiFailedInProgress.js +29 -0
- package/dist/icons/components/UiFailedInProgress.js.map +1 -0
- package/dist/icons/components/UiField.cjs +1 -1
- package/dist/icons/components/UiField.cjs.map +1 -1
- package/dist/icons/components/UiField.js +1 -1
- package/dist/icons/components/UiField.js.map +1 -1
- package/dist/icons/components/UiField1.cjs +21 -0
- package/dist/icons/components/UiField1.cjs.map +1 -0
- package/dist/icons/components/UiField1.d.ts +15 -0
- package/dist/icons/components/UiField1.d.ts.map +1 -0
- package/dist/icons/components/UiField1.js +21 -0
- package/dist/icons/components/UiField1.js.map +1 -0
- package/dist/icons/components/UiField2.cjs +21 -0
- package/dist/icons/components/UiField2.cjs.map +1 -0
- package/dist/icons/components/UiField2.d.ts +15 -0
- package/dist/icons/components/UiField2.d.ts.map +1 -0
- package/dist/icons/components/UiField2.js +21 -0
- package/dist/icons/components/UiField2.js.map +1 -0
- package/dist/icons/components/UiField3.cjs +21 -0
- package/dist/icons/components/UiField3.cjs.map +1 -0
- package/dist/icons/components/UiField3.d.ts +15 -0
- package/dist/icons/components/UiField3.d.ts.map +1 -0
- package/dist/icons/components/UiField3.js +21 -0
- package/dist/icons/components/UiField3.js.map +1 -0
- package/dist/icons/components/UiField4.cjs +21 -0
- package/dist/icons/components/UiField4.cjs.map +1 -0
- package/dist/icons/components/UiField4.d.ts +15 -0
- package/dist/icons/components/UiField4.d.ts.map +1 -0
- package/dist/icons/components/UiField4.js +21 -0
- package/dist/icons/components/UiField4.js.map +1 -0
- package/dist/icons/components/UiField5.cjs +21 -0
- package/dist/icons/components/UiField5.cjs.map +1 -0
- package/dist/icons/components/UiField5.d.ts +15 -0
- package/dist/icons/components/UiField5.d.ts.map +1 -0
- package/dist/icons/components/UiField5.js +21 -0
- package/dist/icons/components/UiField5.js.map +1 -0
- package/dist/icons/components/UiField6.cjs +21 -0
- package/dist/icons/components/UiField6.cjs.map +1 -0
- package/dist/icons/components/UiField6.d.ts +15 -0
- package/dist/icons/components/UiField6.d.ts.map +1 -0
- package/dist/icons/components/UiField6.js +21 -0
- package/dist/icons/components/UiField6.js.map +1 -0
- package/dist/icons/components/UiFieldProtected.cjs +10 -0
- package/dist/icons/components/UiFieldProtected.cjs.map +1 -0
- package/dist/icons/components/UiFieldProtected.d.ts +9 -0
- package/dist/icons/components/UiFieldProtected.d.ts.map +1 -0
- package/dist/icons/components/UiFieldProtected.js +10 -0
- package/dist/icons/components/UiFieldProtected.js.map +1 -0
- package/dist/icons/components/UiFieldReadAccess.cjs +13 -0
- package/dist/icons/components/UiFieldReadAccess.cjs.map +1 -0
- package/dist/icons/components/UiFieldReadAccess.d.ts +9 -0
- package/dist/icons/components/UiFieldReadAccess.d.ts.map +1 -0
- package/dist/icons/components/UiFieldReadAccess.js +13 -0
- package/dist/icons/components/UiFieldReadAccess.js.map +1 -0
- package/dist/icons/components/UiFieldType.cjs +14 -0
- package/dist/icons/components/UiFieldType.cjs.map +1 -0
- package/dist/icons/components/UiFieldType.d.ts +9 -0
- package/dist/icons/components/UiFieldType.d.ts.map +1 -0
- package/dist/icons/components/UiFieldType.js +14 -0
- package/dist/icons/components/UiFieldType.js.map +1 -0
- package/dist/icons/components/UiFieldWriteAccess.cjs +13 -0
- package/dist/icons/components/UiFieldWriteAccess.cjs.map +1 -0
- package/dist/icons/components/UiFieldWriteAccess.d.ts +9 -0
- package/dist/icons/components/UiFieldWriteAccess.d.ts.map +1 -0
- package/dist/icons/components/UiFieldWriteAccess.js +13 -0
- package/dist/icons/components/UiFieldWriteAccess.js.map +1 -0
- package/dist/icons/components/UiFileFormat.cjs +23 -0
- package/dist/icons/components/UiFileFormat.cjs.map +1 -0
- package/dist/icons/components/UiFileFormat.d.ts +15 -0
- package/dist/icons/components/UiFileFormat.d.ts.map +1 -0
- package/dist/icons/components/UiFileFormat.js +23 -0
- package/dist/icons/components/UiFileFormat.js.map +1 -0
- package/dist/icons/components/UiForeignServer.cjs +21 -0
- package/dist/icons/components/UiForeignServer.cjs.map +1 -0
- package/dist/icons/components/UiForeignServer.d.ts +15 -0
- package/dist/icons/components/UiForeignServer.d.ts.map +1 -0
- package/dist/icons/components/UiForeignServer.js +21 -0
- package/dist/icons/components/UiForeignServer.js.map +1 -0
- package/dist/icons/components/UiFreemarker.cjs +15 -0
- package/dist/icons/components/UiFreemarker.cjs.map +1 -0
- package/dist/icons/components/UiFreemarker.d.ts +15 -0
- package/dist/icons/components/UiFreemarker.d.ts.map +1 -0
- package/dist/icons/components/UiFreemarker.js +15 -0
- package/dist/icons/components/UiFreemarker.js.map +1 -0
- package/dist/icons/components/UiFunction1.cjs +25 -0
- package/dist/icons/components/UiFunction1.cjs.map +1 -0
- package/dist/icons/components/UiFunction1.d.ts +15 -0
- package/dist/icons/components/UiFunction1.d.ts.map +1 -0
- package/dist/icons/components/UiFunction1.js +25 -0
- package/dist/icons/components/UiFunction1.js.map +1 -0
- package/dist/icons/components/UiFunction2.cjs +27 -0
- package/dist/icons/components/UiFunction2.cjs.map +1 -0
- package/dist/icons/components/UiFunction2.d.ts +15 -0
- package/dist/icons/components/UiFunction2.d.ts.map +1 -0
- package/dist/icons/components/UiFunction2.js +27 -0
- package/dist/icons/components/UiFunction2.js.map +1 -0
- package/dist/icons/components/UiFunction3.cjs +31 -0
- package/dist/icons/components/UiFunction3.cjs.map +1 -0
- package/dist/icons/components/UiFunction3.d.ts +15 -0
- package/dist/icons/components/UiFunction3.d.ts.map +1 -0
- package/dist/icons/components/UiFunction3.js +31 -0
- package/dist/icons/components/UiFunction3.js.map +1 -0
- package/dist/icons/components/UiFunction4.cjs +21 -0
- package/dist/icons/components/UiFunction4.cjs.map +1 -0
- package/dist/icons/components/UiFunction4.d.ts +15 -0
- package/dist/icons/components/UiFunction4.d.ts.map +1 -0
- package/dist/icons/components/UiFunction4.js +21 -0
- package/dist/icons/components/UiFunction4.js.map +1 -0
- package/dist/icons/components/UiGreyKey.cjs +15 -0
- package/dist/icons/components/UiGreyKey.cjs.map +1 -0
- package/dist/icons/components/UiGreyKey.d.ts +15 -0
- package/dist/icons/components/UiGreyKey.d.ts.map +1 -0
- package/dist/icons/components/UiGreyKey.js +15 -0
- package/dist/icons/components/UiGreyKey.js.map +1 -0
- package/dist/icons/components/UiGroupByModuleGroup.cjs +29 -0
- package/dist/icons/components/UiGroupByModuleGroup.cjs.map +1 -0
- package/dist/icons/components/UiGroupByModuleGroup.d.ts +15 -0
- package/dist/icons/components/UiGroupByModuleGroup.d.ts.map +1 -0
- package/dist/icons/components/UiGroupByModuleGroup.js +29 -0
- package/dist/icons/components/UiGroupByModuleGroup.js.map +1 -0
- package/dist/icons/components/UiGroupByPackage.cjs +23 -0
- package/dist/icons/components/UiGroupByPackage.cjs.map +1 -0
- package/dist/icons/components/UiGroupByPackage.d.ts +15 -0
- package/dist/icons/components/UiGroupByPackage.d.ts.map +1 -0
- package/dist/icons/components/UiGroupByPackage.js +23 -0
- package/dist/icons/components/UiGroupByPackage.js.map +1 -0
- package/dist/icons/components/UiGroupByTestProduction.cjs +25 -0
- package/dist/icons/components/UiGroupByTestProduction.cjs.map +1 -0
- package/dist/icons/components/UiGroupByTestProduction.d.ts +15 -0
- package/dist/icons/components/UiGroupByTestProduction.d.ts.map +1 -0
- package/dist/icons/components/UiGroupByTestProduction.js +25 -0
- package/dist/icons/components/UiGroupByTestProduction.js.map +1 -0
- package/dist/icons/components/UiHibernate.cjs +25 -0
- package/dist/icons/components/UiHibernate.cjs.map +1 -0
- package/dist/icons/components/UiHibernate.d.ts +15 -0
- package/dist/icons/components/UiHibernate.d.ts.map +1 -0
- package/dist/icons/components/UiHibernate.js +25 -0
- package/dist/icons/components/UiHibernate.js.map +1 -0
- package/dist/icons/components/UiHibernateEvent.cjs +21 -0
- package/dist/icons/components/UiHibernateEvent.cjs.map +1 -0
- package/dist/icons/components/UiHibernateEvent.d.ts +15 -0
- package/dist/icons/components/UiHibernateEvent.d.ts.map +1 -0
- package/dist/icons/components/UiHibernateEvent.js +21 -0
- package/dist/icons/components/UiHibernateEvent.js.map +1 -0
- package/dist/icons/components/UiId.cjs +23 -0
- package/dist/icons/components/UiId.cjs.map +1 -0
- package/dist/icons/components/UiId.d.ts +15 -0
- package/dist/icons/components/UiId.d.ts.map +1 -0
- package/dist/icons/components/UiId.js +23 -0
- package/dist/icons/components/UiId.js.map +1 -0
- package/dist/icons/components/UiIndex.cjs +21 -0
- package/dist/icons/components/UiIndex.cjs.map +1 -0
- package/dist/icons/components/UiIndex.d.ts +15 -0
- package/dist/icons/components/UiIndex.d.ts.map +1 -0
- package/dist/icons/components/UiIndex.js +21 -0
- package/dist/icons/components/UiIndex.js.map +1 -0
- package/dist/icons/components/UiIndex1.cjs +28 -0
- package/dist/icons/components/UiIndex1.cjs.map +1 -0
- package/dist/icons/components/UiIndex1.d.ts +15 -0
- package/dist/icons/components/UiIndex1.d.ts.map +1 -0
- package/dist/icons/components/UiIndex1.js +28 -0
- package/dist/icons/components/UiIndex1.js.map +1 -0
- package/dist/icons/components/UiIndex2.cjs +26 -0
- package/dist/icons/components/UiIndex2.cjs.map +1 -0
- package/dist/icons/components/UiIndex2.d.ts +15 -0
- package/dist/icons/components/UiIndex2.d.ts.map +1 -0
- package/dist/icons/components/UiIndex2.js +26 -0
- package/dist/icons/components/UiIndex2.js.map +1 -0
- package/dist/icons/components/UiIndex3.cjs +21 -0
- package/dist/icons/components/UiIndex3.cjs.map +1 -0
- package/dist/icons/components/UiIndex3.d.ts +15 -0
- package/dist/icons/components/UiIndex3.d.ts.map +1 -0
- package/dist/icons/components/UiIndex3.js +21 -0
- package/dist/icons/components/UiIndex3.js.map +1 -0
- package/dist/icons/components/UiIndex4.cjs +21 -0
- package/dist/icons/components/UiIndex4.cjs.map +1 -0
- package/dist/icons/components/UiIndex4.d.ts +15 -0
- package/dist/icons/components/UiIndex4.d.ts.map +1 -0
- package/dist/icons/components/UiIndex4.js +21 -0
- package/dist/icons/components/UiIndex4.js.map +1 -0
- package/dist/icons/components/UiIndex5.cjs +23 -0
- package/dist/icons/components/UiIndex5.cjs.map +1 -0
- package/dist/icons/components/UiIndex5.d.ts +15 -0
- package/dist/icons/components/UiIndex5.d.ts.map +1 -0
- package/dist/icons/components/UiIndex5.js +23 -0
- package/dist/icons/components/UiIndex5.js.map +1 -0
- package/dist/icons/components/UiIndex6.cjs +23 -0
- package/dist/icons/components/UiIndex6.cjs.map +1 -0
- package/dist/icons/components/UiIndex6.d.ts +15 -0
- package/dist/icons/components/UiIndex6.d.ts.map +1 -0
- package/dist/icons/components/UiIndex6.js +23 -0
- package/dist/icons/components/UiIndex6.js.map +1 -0
- package/dist/icons/components/UiInspectionsGrammar.cjs +21 -0
- package/dist/icons/components/UiInspectionsGrammar.cjs.map +1 -0
- package/dist/icons/components/UiInspectionsGrammar.d.ts +15 -0
- package/dist/icons/components/UiInspectionsGrammar.d.ts.map +1 -0
- package/dist/icons/components/UiInspectionsGrammar.js +21 -0
- package/dist/icons/components/UiInspectionsGrammar.js.map +1 -0
- package/dist/icons/components/UiJpaAttribute.cjs +13 -0
- package/dist/icons/components/UiJpaAttribute.cjs.map +1 -0
- package/dist/icons/components/UiJpaAttribute.d.ts +9 -0
- package/dist/icons/components/UiJpaAttribute.d.ts.map +1 -0
- package/dist/icons/components/UiJpaAttribute.js +13 -0
- package/dist/icons/components/UiJpaAttribute.js.map +1 -0
- package/dist/icons/components/UiJpaId.cjs +15 -0
- package/dist/icons/components/UiJpaId.cjs.map +1 -0
- package/dist/icons/components/UiJpaId.d.ts +9 -0
- package/dist/icons/components/UiJpaId.d.ts.map +1 -0
- package/dist/icons/components/UiJpaId.js +15 -0
- package/dist/icons/components/UiJpaId.js.map +1 -0
- package/dist/icons/components/UiJpaRelationship.cjs +14 -0
- package/dist/icons/components/UiJpaRelationship.cjs.map +1 -0
- package/dist/icons/components/UiJpaRelationship.d.ts +9 -0
- package/dist/icons/components/UiJpaRelationship.d.ts.map +1 -0
- package/dist/icons/components/UiJpaRelationship.js +14 -0
- package/dist/icons/components/UiJpaRelationship.js.map +1 -0
- package/dist/icons/components/UiKillDataSourceProcess.cjs +21 -0
- package/dist/icons/components/UiKillDataSourceProcess.cjs.map +1 -0
- package/dist/icons/components/UiKillDataSourceProcess.d.ts +15 -0
- package/dist/icons/components/UiKillDataSourceProcess.d.ts.map +1 -0
- package/dist/icons/components/UiKillDataSourceProcess.js +21 -0
- package/dist/icons/components/UiKillDataSourceProcess.js.map +1 -0
- package/dist/icons/components/UiKubeConfigMap.cjs +18 -0
- package/dist/icons/components/UiKubeConfigMap.cjs.map +1 -0
- package/dist/icons/components/UiKubeConfigMap.d.ts +9 -0
- package/dist/icons/components/UiKubeConfigMap.d.ts.map +1 -0
- package/dist/icons/components/UiKubeConfigMap.js +18 -0
- package/dist/icons/components/UiKubeConfigMap.js.map +1 -0
- package/dist/icons/components/UiKubeDeployment.cjs +10 -0
- package/dist/icons/components/UiKubeDeployment.cjs.map +1 -0
- package/dist/icons/components/UiKubeDeployment.d.ts +9 -0
- package/dist/icons/components/UiKubeDeployment.d.ts.map +1 -0
- package/dist/icons/components/UiKubeDeployment.js +10 -0
- package/dist/icons/components/UiKubeDeployment.js.map +1 -0
- package/dist/icons/components/UiKubeJob.cjs +25 -0
- package/dist/icons/components/UiKubeJob.cjs.map +1 -0
- package/dist/icons/components/UiKubeJob.d.ts +9 -0
- package/dist/icons/components/UiKubeJob.d.ts.map +1 -0
- package/dist/icons/components/UiKubeJob.js +25 -0
- package/dist/icons/components/UiKubeJob.js.map +1 -0
- package/dist/icons/components/UiKubeNamespace.cjs +15 -0
- package/dist/icons/components/UiKubeNamespace.cjs.map +1 -0
- package/dist/icons/components/UiKubeNamespace.d.ts +9 -0
- package/dist/icons/components/UiKubeNamespace.d.ts.map +1 -0
- package/dist/icons/components/UiKubeNamespace.js +15 -0
- package/dist/icons/components/UiKubeNamespace.js.map +1 -0
- package/dist/icons/components/UiKubePod.cjs +13 -0
- package/dist/icons/components/UiKubePod.cjs.map +1 -0
- package/dist/icons/components/UiKubePod.d.ts +9 -0
- package/dist/icons/components/UiKubePod.d.ts.map +1 -0
- package/dist/icons/components/UiKubePod.js +13 -0
- package/dist/icons/components/UiKubePod.js.map +1 -0
- package/dist/icons/components/UiLangJava.cjs +14 -0
- package/dist/icons/components/UiLangJava.cjs.map +1 -0
- package/dist/icons/components/UiLangJava.d.ts +9 -0
- package/dist/icons/components/UiLangJava.d.ts.map +1 -0
- package/dist/icons/components/UiLangJava.js +14 -0
- package/dist/icons/components/UiLangJava.js.map +1 -0
- package/dist/icons/components/UiLangJavascript.cjs +14 -0
- package/dist/icons/components/UiLangJavascript.cjs.map +1 -0
- package/dist/icons/components/UiLangJavascript.d.ts +9 -0
- package/dist/icons/components/UiLangJavascript.d.ts.map +1 -0
- package/dist/icons/components/UiLangJavascript.js +14 -0
- package/dist/icons/components/UiLangJavascript.js.map +1 -0
- package/dist/icons/components/UiLangPython.cjs +13 -0
- package/dist/icons/components/UiLangPython.cjs.map +1 -0
- package/dist/icons/components/UiLangPython.d.ts +9 -0
- package/dist/icons/components/UiLangPython.d.ts.map +1 -0
- package/dist/icons/components/UiLangPython.js +13 -0
- package/dist/icons/components/UiLangPython.js.map +1 -0
- package/dist/icons/components/UiMaterializedLog.cjs +15 -0
- package/dist/icons/components/UiMaterializedLog.cjs.map +1 -0
- package/dist/icons/components/UiMaterializedLog.d.ts +15 -0
- package/dist/icons/components/UiMaterializedLog.d.ts.map +1 -0
- package/dist/icons/components/UiMaterializedLog.js +15 -0
- package/dist/icons/components/UiMaterializedLog.js.map +1 -0
- package/dist/icons/components/UiMemoryProfile.cjs +15 -0
- package/dist/icons/components/UiMemoryProfile.cjs.map +1 -0
- package/dist/icons/components/UiMemoryProfile.d.ts +9 -0
- package/dist/icons/components/UiMemoryProfile.d.ts.map +1 -0
- package/dist/icons/components/UiMemoryProfile.js +15 -0
- package/dist/icons/components/UiMemoryProfile.js.map +1 -0
- package/dist/icons/components/UiMessageQueue.cjs +13 -0
- package/dist/icons/components/UiMessageQueue.cjs.map +1 -0
- package/dist/icons/components/UiMessageQueue.d.ts +9 -0
- package/dist/icons/components/UiMessageQueue.d.ts.map +1 -0
- package/dist/icons/components/UiMessageQueue.js +13 -0
- package/dist/icons/components/UiMessageQueue.js.map +1 -0
- package/dist/icons/components/UiMessageQueue1.cjs +25 -0
- package/dist/icons/components/UiMessageQueue1.cjs.map +1 -0
- package/dist/icons/components/UiMessageQueue1.d.ts +15 -0
- package/dist/icons/components/UiMessageQueue1.d.ts.map +1 -0
- package/dist/icons/components/UiMessageQueue1.js +25 -0
- package/dist/icons/components/UiMessageQueue1.js.map +1 -0
- package/dist/icons/components/UiMethod1.cjs +27 -0
- package/dist/icons/components/UiMethod1.cjs.map +1 -0
- package/dist/icons/components/UiMethod1.d.ts +15 -0
- package/dist/icons/components/UiMethod1.d.ts.map +1 -0
- package/dist/icons/components/UiMethod1.js +27 -0
- package/dist/icons/components/UiMethod1.js.map +1 -0
- package/dist/icons/components/UiMethod10.cjs +25 -0
- package/dist/icons/components/UiMethod10.cjs.map +1 -0
- package/dist/icons/components/UiMethod10.d.ts +15 -0
- package/dist/icons/components/UiMethod10.d.ts.map +1 -0
- package/dist/icons/components/UiMethod10.js +25 -0
- package/dist/icons/components/UiMethod10.js.map +1 -0
- package/dist/icons/components/UiMethod11.cjs +21 -0
- package/dist/icons/components/UiMethod11.cjs.map +1 -0
- package/dist/icons/components/UiMethod11.d.ts +15 -0
- package/dist/icons/components/UiMethod11.d.ts.map +1 -0
- package/dist/icons/components/UiMethod11.js +21 -0
- package/dist/icons/components/UiMethod11.js.map +1 -0
- package/dist/icons/components/UiMethod2.cjs +25 -0
- package/dist/icons/components/UiMethod2.cjs.map +1 -0
- package/dist/icons/components/UiMethod2.d.ts +15 -0
- package/dist/icons/components/UiMethod2.d.ts.map +1 -0
- package/dist/icons/components/UiMethod2.js +25 -0
- package/dist/icons/components/UiMethod2.js.map +1 -0
- package/dist/icons/components/UiMethod3.cjs +23 -0
- package/dist/icons/components/UiMethod3.cjs.map +1 -0
- package/dist/icons/components/UiMethod3.d.ts +15 -0
- package/dist/icons/components/UiMethod3.d.ts.map +1 -0
- package/dist/icons/components/UiMethod3.js +23 -0
- package/dist/icons/components/UiMethod3.js.map +1 -0
- package/dist/icons/components/UiMethod4.cjs +25 -0
- package/dist/icons/components/UiMethod4.cjs.map +1 -0
- package/dist/icons/components/UiMethod4.d.ts +15 -0
- package/dist/icons/components/UiMethod4.d.ts.map +1 -0
- package/dist/icons/components/UiMethod4.js +25 -0
- package/dist/icons/components/UiMethod4.js.map +1 -0
- package/dist/icons/components/UiMethod5.cjs +25 -0
- package/dist/icons/components/UiMethod5.cjs.map +1 -0
- package/dist/icons/components/UiMethod5.d.ts +15 -0
- package/dist/icons/components/UiMethod5.d.ts.map +1 -0
- package/dist/icons/components/UiMethod5.js +25 -0
- package/dist/icons/components/UiMethod5.js.map +1 -0
- package/dist/icons/components/UiMethod6.cjs +21 -0
- package/dist/icons/components/UiMethod6.cjs.map +1 -0
- package/dist/icons/components/UiMethod6.d.ts +15 -0
- package/dist/icons/components/UiMethod6.d.ts.map +1 -0
- package/dist/icons/components/UiMethod6.js +21 -0
- package/dist/icons/components/UiMethod6.js.map +1 -0
- package/dist/icons/components/UiMethod7.cjs +23 -0
- package/dist/icons/components/UiMethod7.cjs.map +1 -0
- package/dist/icons/components/UiMethod7.d.ts +15 -0
- package/dist/icons/components/UiMethod7.d.ts.map +1 -0
- package/dist/icons/components/UiMethod7.js +23 -0
- package/dist/icons/components/UiMethod7.js.map +1 -0
- package/dist/icons/components/UiMethod8.cjs +23 -0
- package/dist/icons/components/UiMethod8.cjs.map +1 -0
- package/dist/icons/components/UiMethod8.d.ts +15 -0
- package/dist/icons/components/UiMethod8.d.ts.map +1 -0
- package/dist/icons/components/UiMethod8.js +23 -0
- package/dist/icons/components/UiMethod8.js.map +1 -0
- package/dist/icons/components/UiMethod9.cjs +25 -0
- package/dist/icons/components/UiMethod9.cjs.map +1 -0
- package/dist/icons/components/UiMethod9.d.ts +15 -0
- package/dist/icons/components/UiMethod9.d.ts.map +1 -0
- package/dist/icons/components/UiMethod9.js +25 -0
- package/dist/icons/components/UiMethod9.js.map +1 -0
- package/dist/icons/components/UiModels.cjs +25 -0
- package/dist/icons/components/UiModels.cjs.map +1 -0
- package/dist/icons/components/UiModels.d.ts +15 -0
- package/dist/icons/components/UiModels.d.ts.map +1 -0
- package/dist/icons/components/UiModels.js +25 -0
- package/dist/icons/components/UiModels.js.map +1 -0
- package/dist/icons/components/UiModule1.cjs +23 -0
- package/dist/icons/components/UiModule1.cjs.map +1 -0
- package/dist/icons/components/UiModule1.d.ts +15 -0
- package/dist/icons/components/UiModule1.d.ts.map +1 -0
- package/dist/icons/components/UiModule1.js +23 -0
- package/dist/icons/components/UiModule1.js.map +1 -0
- package/dist/icons/components/UiName.cjs +21 -0
- package/dist/icons/components/UiName.cjs.map +1 -0
- package/dist/icons/components/UiName.d.ts +15 -0
- package/dist/icons/components/UiName.d.ts.map +1 -0
- package/dist/icons/components/UiName.js +21 -0
- package/dist/icons/components/UiName.js.map +1 -0
- package/dist/icons/components/UiOpenBlock.cjs +23 -0
- package/dist/icons/components/UiOpenBlock.cjs.map +1 -0
- package/dist/icons/components/UiOpenBlock.d.ts +15 -0
- package/dist/icons/components/UiOpenBlock.d.ts.map +1 -0
- package/dist/icons/components/UiOpenBlock.js +23 -0
- package/dist/icons/components/UiOpenBlock.js.map +1 -0
- package/dist/icons/components/UiOperator1.cjs +21 -0
- package/dist/icons/components/UiOperator1.cjs.map +1 -0
- package/dist/icons/components/UiOperator1.d.ts +15 -0
- package/dist/icons/components/UiOperator1.d.ts.map +1 -0
- package/dist/icons/components/UiOperator1.js +21 -0
- package/dist/icons/components/UiOperator1.js.map +1 -0
- package/dist/icons/components/UiPartition.cjs +23 -0
- package/dist/icons/components/UiPartition.cjs.map +1 -0
- package/dist/icons/components/UiPartition.d.ts +15 -0
- package/dist/icons/components/UiPartition.d.ts.map +1 -0
- package/dist/icons/components/UiPartition.js +23 -0
- package/dist/icons/components/UiPartition.js.map +1 -0
- package/dist/icons/components/UiPending.cjs +21 -0
- package/dist/icons/components/UiPending.cjs.map +1 -0
- package/dist/icons/components/UiPending.d.ts +15 -0
- package/dist/icons/components/UiPending.d.ts.map +1 -0
- package/dist/icons/components/UiPending.js +21 -0
- package/dist/icons/components/UiPending.js.map +1 -0
- package/dist/icons/components/UiPercent.cjs +10 -0
- package/dist/icons/components/UiPercent.cjs.map +1 -0
- package/dist/icons/components/UiPercent.d.ts +9 -0
- package/dist/icons/components/UiPercent.d.ts.map +1 -0
- package/dist/icons/components/UiPercent.js +10 -0
- package/dist/icons/components/UiPercent.js.map +1 -0
- package/dist/icons/components/UiPluginModule.cjs +25 -0
- package/dist/icons/components/UiPluginModule.cjs.map +1 -0
- package/dist/icons/components/UiPluginModule.d.ts +15 -0
- package/dist/icons/components/UiPluginModule.d.ts.map +1 -0
- package/dist/icons/components/UiPluginModule.js +25 -0
- package/dist/icons/components/UiPluginModule.js.map +1 -0
- package/dist/icons/components/UiPluginV2.cjs +25 -0
- package/dist/icons/components/UiPluginV2.cjs.map +1 -0
- package/dist/icons/components/UiPluginV2.d.ts +15 -0
- package/dist/icons/components/UiPluginV2.d.ts.map +1 -0
- package/dist/icons/components/UiPluginV2.js +25 -0
- package/dist/icons/components/UiPluginV2.js.map +1 -0
- package/dist/icons/components/UiPointcut.cjs +21 -0
- package/dist/icons/components/UiPointcut.cjs.map +1 -0
- package/dist/icons/components/UiPointcut.d.ts +15 -0
- package/dist/icons/components/UiPointcut.d.ts.map +1 -0
- package/dist/icons/components/UiPointcut.js +21 -0
- package/dist/icons/components/UiPointcut.js.map +1 -0
- package/dist/icons/components/UiProcedure.cjs +21 -0
- package/dist/icons/components/UiProcedure.cjs.map +1 -0
- package/dist/icons/components/UiProcedure.d.ts +15 -0
- package/dist/icons/components/UiProcedure.d.ts.map +1 -0
- package/dist/icons/components/UiProcedure.js +21 -0
- package/dist/icons/components/UiProcedure.js.map +1 -0
- package/dist/icons/components/UiProfile.cjs +25 -0
- package/dist/icons/components/UiProfile.cjs.map +1 -0
- package/dist/icons/components/UiProfile.d.ts +15 -0
- package/dist/icons/components/UiProfile.d.ts.map +1 -0
- package/dist/icons/components/UiProfile.js +25 -0
- package/dist/icons/components/UiProfile.js.map +1 -0
- package/dist/icons/components/UiProfile1.cjs +21 -0
- package/dist/icons/components/UiProfile1.cjs.map +1 -0
- package/dist/icons/components/UiProfile1.d.ts +15 -0
- package/dist/icons/components/UiProfile1.d.ts.map +1 -0
- package/dist/icons/components/UiProfile1.js +21 -0
- package/dist/icons/components/UiProfile1.js.map +1 -0
- package/dist/icons/components/UiProfile2.cjs +25 -0
- package/dist/icons/components/UiProfile2.cjs.map +1 -0
- package/dist/icons/components/UiProfile2.d.ts +15 -0
- package/dist/icons/components/UiProfile2.d.ts.map +1 -0
- package/dist/icons/components/UiProfile2.js +25 -0
- package/dist/icons/components/UiProfile2.js.map +1 -0
- package/dist/icons/components/UiProfile3.cjs +33 -0
- package/dist/icons/components/UiProfile3.cjs.map +1 -0
- package/dist/icons/components/UiProfile3.d.ts +15 -0
- package/dist/icons/components/UiProfile3.d.ts.map +1 -0
- package/dist/icons/components/UiProfile3.js +33 -0
- package/dist/icons/components/UiProfile3.js.map +1 -0
- package/dist/icons/components/UiProfile4.cjs +25 -0
- package/dist/icons/components/UiProfile4.cjs.map +1 -0
- package/dist/icons/components/UiProfile4.d.ts +15 -0
- package/dist/icons/components/UiProfile4.d.ts.map +1 -0
- package/dist/icons/components/UiProfile4.js +25 -0
- package/dist/icons/components/UiProfile4.js.map +1 -0
- package/dist/icons/components/UiProfiler.cjs +13 -0
- package/dist/icons/components/UiProfiler.cjs.map +1 -0
- package/dist/icons/components/UiProfiler.d.ts +9 -0
- package/dist/icons/components/UiProfiler.d.ts.map +1 -0
- package/dist/icons/components/UiProfiler.js +13 -0
- package/dist/icons/components/UiProfiler.js.map +1 -0
- package/dist/icons/components/UiProfilerBackTrace.cjs +10 -0
- package/dist/icons/components/UiProfilerBackTrace.cjs.map +1 -0
- package/dist/icons/components/UiProfilerBackTrace.d.ts +9 -0
- package/dist/icons/components/UiProfilerBackTrace.d.ts.map +1 -0
- package/dist/icons/components/UiProfilerBackTrace.js +10 -0
- package/dist/icons/components/UiProfilerBackTrace.js.map +1 -0
- package/dist/icons/components/UiProfilerMergeCallees.cjs +10 -0
- package/dist/icons/components/UiProfilerMergeCallees.cjs.map +1 -0
- package/dist/icons/components/UiProfilerMergeCallees.d.ts +9 -0
- package/dist/icons/components/UiProfilerMergeCallees.d.ts.map +1 -0
- package/dist/icons/components/UiProfilerMergeCallees.js +10 -0
- package/dist/icons/components/UiProfilerMergeCallees.js.map +1 -0
- package/dist/icons/components/UiProjectStructure.cjs +23 -0
- package/dist/icons/components/UiProjectStructure.cjs.map +1 -0
- package/dist/icons/components/UiProjectStructure.d.ts +15 -0
- package/dist/icons/components/UiProjectStructure.d.ts.map +1 -0
- package/dist/icons/components/UiProjectStructure.js +23 -0
- package/dist/icons/components/UiProjectStructure.js.map +1 -0
- package/dist/icons/components/UiProjection.cjs +21 -0
- package/dist/icons/components/UiProjection.cjs.map +1 -0
- package/dist/icons/components/UiProjection.d.ts +15 -0
- package/dist/icons/components/UiProjection.d.ts.map +1 -0
- package/dist/icons/components/UiProjection.js +21 -0
- package/dist/icons/components/UiProjection.js.map +1 -0
- package/dist/icons/components/UiReadAccess.cjs +21 -0
- package/dist/icons/components/UiReadAccess.cjs.map +1 -0
- package/dist/icons/components/UiReadAccess.d.ts +15 -0
- package/dist/icons/components/UiReadAccess.d.ts.map +1 -0
- package/dist/icons/components/UiReadAccess.js +21 -0
- package/dist/icons/components/UiReadAccess.js.map +1 -0
- package/dist/icons/components/UiRecord1.cjs +21 -0
- package/dist/icons/components/UiRecord1.cjs.map +1 -0
- package/dist/icons/components/UiRecord1.d.ts +15 -0
- package/dist/icons/components/UiRecord1.d.ts.map +1 -0
- package/dist/icons/components/UiRecord1.js +21 -0
- package/dist/icons/components/UiRecord1.js.map +1 -0
- package/dist/icons/components/UiRegex.cjs +21 -0
- package/dist/icons/components/UiRegex.cjs.map +1 -0
- package/dist/icons/components/UiRegex.d.ts +15 -0
- package/dist/icons/components/UiRegex.d.ts.map +1 -0
- package/dist/icons/components/UiRegex.js +21 -0
- package/dist/icons/components/UiRegex.js.map +1 -0
- package/dist/icons/components/UiRelationship.cjs +23 -0
- package/dist/icons/components/UiRelationship.cjs.map +1 -0
- package/dist/icons/components/UiRelationship.d.ts +15 -0
- package/dist/icons/components/UiRelationship.d.ts.map +1 -0
- package/dist/icons/components/UiRelationship.js +23 -0
- package/dist/icons/components/UiRelationship.js.map +1 -0
- package/dist/icons/components/UiRelay.cjs +15 -0
- package/dist/icons/components/UiRelay.cjs.map +1 -0
- package/dist/icons/components/UiRelay.d.ts +15 -0
- package/dist/icons/components/UiRelay.d.ts.map +1 -0
- package/dist/icons/components/UiRelay.js +15 -0
- package/dist/icons/components/UiRelay.js.map +1 -0
- package/dist/icons/components/UiRole.cjs +25 -0
- package/dist/icons/components/UiRole.cjs.map +1 -0
- package/dist/icons/components/UiRole.d.ts +15 -0
- package/dist/icons/components/UiRole.d.ts.map +1 -0
- package/dist/icons/components/UiRole.js +25 -0
- package/dist/icons/components/UiRole.js.map +1 -0
- package/dist/icons/components/UiRollback.cjs +15 -0
- package/dist/icons/components/UiRollback.cjs.map +1 -0
- package/dist/icons/components/UiRollback.d.ts +15 -0
- package/dist/icons/components/UiRollback.d.ts.map +1 -0
- package/dist/icons/components/UiRollback.js +15 -0
- package/dist/icons/components/UiRollback.js.map +1 -0
- package/dist/icons/components/UiRoutine.cjs +21 -0
- package/dist/icons/components/UiRoutine.cjs.map +1 -0
- package/dist/icons/components/UiRoutine.d.ts +15 -0
- package/dist/icons/components/UiRoutine.d.ts.map +1 -0
- package/dist/icons/components/UiRoutine.js +21 -0
- package/dist/icons/components/UiRoutine.js.map +1 -0
- package/dist/icons/components/UiRun.cjs +15 -0
- package/dist/icons/components/UiRun.cjs.map +1 -0
- package/dist/icons/components/UiRun.d.ts +15 -0
- package/dist/icons/components/UiRun.d.ts.map +1 -0
- package/dist/icons/components/UiRun.js +15 -0
- package/dist/icons/components/UiRun.js.map +1 -0
- package/dist/icons/components/UiRun1.cjs +23 -0
- package/dist/icons/components/UiRun1.cjs.map +1 -0
- package/dist/icons/components/UiRun1.d.ts +15 -0
- package/dist/icons/components/UiRun1.d.ts.map +1 -0
- package/dist/icons/components/UiRun1.js +23 -0
- package/dist/icons/components/UiRun1.js.map +1 -0
- package/dist/icons/components/UiRun10.cjs +27 -0
- package/dist/icons/components/UiRun10.cjs.map +1 -0
- package/dist/icons/components/UiRun10.d.ts +15 -0
- package/dist/icons/components/UiRun10.d.ts.map +1 -0
- package/dist/icons/components/UiRun10.js +27 -0
- package/dist/icons/components/UiRun10.js.map +1 -0
- package/dist/icons/components/UiRun11.cjs +23 -0
- package/dist/icons/components/UiRun11.cjs.map +1 -0
- package/dist/icons/components/UiRun11.d.ts +15 -0
- package/dist/icons/components/UiRun11.d.ts.map +1 -0
- package/dist/icons/components/UiRun11.js +23 -0
- package/dist/icons/components/UiRun11.js.map +1 -0
- package/dist/icons/components/UiRun12.cjs +25 -0
- package/dist/icons/components/UiRun12.cjs.map +1 -0
- package/dist/icons/components/UiRun12.d.ts +15 -0
- package/dist/icons/components/UiRun12.d.ts.map +1 -0
- package/dist/icons/components/UiRun12.js +25 -0
- package/dist/icons/components/UiRun12.js.map +1 -0
- package/dist/icons/components/UiRun13.cjs +15 -0
- package/dist/icons/components/UiRun13.cjs.map +1 -0
- package/dist/icons/components/UiRun13.d.ts +15 -0
- package/dist/icons/components/UiRun13.d.ts.map +1 -0
- package/dist/icons/components/UiRun13.js +15 -0
- package/dist/icons/components/UiRun13.js.map +1 -0
- package/dist/icons/components/UiRun14.cjs +25 -0
- package/dist/icons/components/UiRun14.cjs.map +1 -0
- package/dist/icons/components/UiRun14.d.ts +15 -0
- package/dist/icons/components/UiRun14.d.ts.map +1 -0
- package/dist/icons/components/UiRun14.js +25 -0
- package/dist/icons/components/UiRun14.js.map +1 -0
- package/dist/icons/components/UiRun2.cjs +27 -0
- package/dist/icons/components/UiRun2.cjs.map +1 -0
- package/dist/icons/components/UiRun2.d.ts +15 -0
- package/dist/icons/components/UiRun2.d.ts.map +1 -0
- package/dist/icons/components/UiRun2.js +27 -0
- package/dist/icons/components/UiRun2.js.map +1 -0
- package/dist/icons/components/UiRun3.cjs +23 -0
- package/dist/icons/components/UiRun3.cjs.map +1 -0
- package/dist/icons/components/UiRun3.d.ts +15 -0
- package/dist/icons/components/UiRun3.d.ts.map +1 -0
- package/dist/icons/components/UiRun3.js +23 -0
- package/dist/icons/components/UiRun3.js.map +1 -0
- package/dist/icons/components/UiRun4.cjs +23 -0
- package/dist/icons/components/UiRun4.cjs.map +1 -0
- package/dist/icons/components/UiRun4.d.ts +15 -0
- package/dist/icons/components/UiRun4.d.ts.map +1 -0
- package/dist/icons/components/UiRun4.js +23 -0
- package/dist/icons/components/UiRun4.js.map +1 -0
- package/dist/icons/components/UiRun5.cjs +25 -0
- package/dist/icons/components/UiRun5.cjs.map +1 -0
- package/dist/icons/components/UiRun5.d.ts +15 -0
- package/dist/icons/components/UiRun5.d.ts.map +1 -0
- package/dist/icons/components/UiRun5.js +25 -0
- package/dist/icons/components/UiRun5.js.map +1 -0
- package/dist/icons/components/UiRun6.cjs +34 -0
- package/dist/icons/components/UiRun6.cjs.map +1 -0
- package/dist/icons/components/UiRun6.d.ts +15 -0
- package/dist/icons/components/UiRun6.d.ts.map +1 -0
- package/dist/icons/components/UiRun6.js +34 -0
- package/dist/icons/components/UiRun6.js.map +1 -0
- package/dist/icons/components/UiRun7.cjs +21 -0
- package/dist/icons/components/UiRun7.cjs.map +1 -0
- package/dist/icons/components/UiRun7.d.ts +15 -0
- package/dist/icons/components/UiRun7.d.ts.map +1 -0
- package/dist/icons/components/UiRun7.js +21 -0
- package/dist/icons/components/UiRun7.js.map +1 -0
- package/dist/icons/components/UiRun8.cjs +23 -0
- package/dist/icons/components/UiRun8.cjs.map +1 -0
- package/dist/icons/components/UiRun8.d.ts +15 -0
- package/dist/icons/components/UiRun8.d.ts.map +1 -0
- package/dist/icons/components/UiRun8.js +23 -0
- package/dist/icons/components/UiRun8.js.map +1 -0
- package/dist/icons/components/UiRun9.cjs +29 -0
- package/dist/icons/components/UiRun9.cjs.map +1 -0
- package/dist/icons/components/UiRun9.d.ts +15 -0
- package/dist/icons/components/UiRun9.d.ts.map +1 -0
- package/dist/icons/components/UiRun9.js +29 -0
- package/dist/icons/components/UiRun9.js.map +1 -0
- package/dist/icons/components/UiSecurityRole.cjs +15 -0
- package/dist/icons/components/UiSecurityRole.cjs.map +1 -0
- package/dist/icons/components/UiSecurityRole.d.ts +15 -0
- package/dist/icons/components/UiSecurityRole.d.ts.map +1 -0
- package/dist/icons/components/UiSecurityRole.js +15 -0
- package/dist/icons/components/UiSecurityRole.js.map +1 -0
- package/dist/icons/components/UiSequence.cjs +23 -0
- package/dist/icons/components/UiSequence.cjs.map +1 -0
- package/dist/icons/components/UiSequence.d.ts +15 -0
- package/dist/icons/components/UiSequence.d.ts.map +1 -0
- package/dist/icons/components/UiSequence.js +23 -0
- package/dist/icons/components/UiSequence.js.map +1 -0
- package/dist/icons/components/UiSequence1.cjs +31 -0
- package/dist/icons/components/UiSequence1.cjs.map +1 -0
- package/dist/icons/components/UiSequence1.d.ts +15 -0
- package/dist/icons/components/UiSequence1.d.ts.map +1 -0
- package/dist/icons/components/UiSequence1.js +31 -0
- package/dist/icons/components/UiSequence1.js.map +1 -0
- package/dist/icons/components/UiSequence2.cjs +29 -0
- package/dist/icons/components/UiSequence2.cjs.map +1 -0
- package/dist/icons/components/UiSequence2.d.ts +15 -0
- package/dist/icons/components/UiSequence2.d.ts.map +1 -0
- package/dist/icons/components/UiSequence2.js +29 -0
- package/dist/icons/components/UiSequence2.js.map +1 -0
- package/dist/icons/components/UiSequence3.cjs +23 -0
- package/dist/icons/components/UiSequence3.cjs.map +1 -0
- package/dist/icons/components/UiSequence3.d.ts +15 -0
- package/dist/icons/components/UiSequence3.d.ts.map +1 -0
- package/dist/icons/components/UiSequence3.js +23 -0
- package/dist/icons/components/UiSequence3.js.map +1 -0
- package/dist/icons/components/UiSequence4.cjs +23 -0
- package/dist/icons/components/UiSequence4.cjs.map +1 -0
- package/dist/icons/components/UiSequence4.d.ts +15 -0
- package/dist/icons/components/UiSequence4.d.ts.map +1 -0
- package/dist/icons/components/UiSequence4.js +23 -0
- package/dist/icons/components/UiSequence4.js.map +1 -0
- package/dist/icons/components/UiSetKey.cjs +29 -0
- package/dist/icons/components/UiSetKey.cjs.map +1 -0
- package/dist/icons/components/UiSetKey.d.ts +15 -0
- package/dist/icons/components/UiSetKey.d.ts.map +1 -0
- package/dist/icons/components/UiSetKey.js +29 -0
- package/dist/icons/components/UiSetKey.js.map +1 -0
- package/dist/icons/components/UiShortcutFilter.cjs +25 -0
- package/dist/icons/components/UiShortcutFilter.cjs.map +1 -0
- package/dist/icons/components/UiShortcutFilter.d.ts +15 -0
- package/dist/icons/components/UiShortcutFilter.d.ts.map +1 -0
- package/dist/icons/components/UiShortcutFilter.js +25 -0
- package/dist/icons/components/UiShortcutFilter.js.map +1 -0
- package/dist/icons/components/UiShowCurrentFrame.cjs +23 -0
- package/dist/icons/components/UiShowCurrentFrame.cjs.map +1 -0
- package/dist/icons/components/UiShowCurrentFrame.d.ts +15 -0
- package/dist/icons/components/UiShowCurrentFrame.d.ts.map +1 -0
- package/dist/icons/components/UiShowCurrentFrame.js +23 -0
- package/dist/icons/components/UiShowCurrentFrame.js.map +1 -0
- package/dist/icons/components/UiShowMembers.cjs +27 -0
- package/dist/icons/components/UiShowMembers.cjs.map +1 -0
- package/dist/icons/components/UiShowMembers.d.ts +15 -0
- package/dist/icons/components/UiShowMembers.d.ts.map +1 -0
- package/dist/icons/components/UiShowMembers.js +27 -0
- package/dist/icons/components/UiShowMembers.js.map +1 -0
- package/dist/icons/components/UiShowToImplement.cjs +27 -0
- package/dist/icons/components/UiShowToImplement.cjs.map +1 -0
- package/dist/icons/components/UiShowToImplement.d.ts +15 -0
- package/dist/icons/components/UiShowToImplement.d.ts.map +1 -0
- package/dist/icons/components/UiShowToImplement.js +27 -0
- package/dist/icons/components/UiShowToImplement.js.map +1 -0
- package/dist/icons/components/UiSortAlphabetically.cjs +23 -0
- package/dist/icons/components/UiSortAlphabetically.cjs.map +1 -0
- package/dist/icons/components/UiSortAlphabetically.d.ts +15 -0
- package/dist/icons/components/UiSortAlphabetically.d.ts.map +1 -0
- package/dist/icons/components/UiSortAlphabetically.js +23 -0
- package/dist/icons/components/UiSortAlphabetically.js.map +1 -0
- package/dist/icons/components/UiSortByType.cjs +23 -0
- package/dist/icons/components/UiSortByType.cjs.map +1 -0
- package/dist/icons/components/UiSortByType.d.ts +15 -0
- package/dist/icons/components/UiSortByType.d.ts.map +1 -0
- package/dist/icons/components/UiSortByType.js +23 -0
- package/dist/icons/components/UiSortByType.js.map +1 -0
- package/dist/icons/components/UiSortByUsage.cjs +21 -0
- package/dist/icons/components/UiSortByUsage.cjs.map +1 -0
- package/dist/icons/components/UiSortByUsage.d.ts +15 -0
- package/dist/icons/components/UiSortByUsage.d.ts.map +1 -0
- package/dist/icons/components/UiSortByUsage.js +21 -0
- package/dist/icons/components/UiSortByUsage.js.map +1 -0
- package/dist/icons/components/UiSortByVisibility.cjs +23 -0
- package/dist/icons/components/UiSortByVisibility.cjs.map +1 -0
- package/dist/icons/components/UiSortByVisibility.d.ts +15 -0
- package/dist/icons/components/UiSortByVisibility.d.ts.map +1 -0
- package/dist/icons/components/UiSortByVisibility.js +23 -0
- package/dist/icons/components/UiSortByVisibility.js.map +1 -0
- package/dist/icons/components/UiSpringBoot.cjs +29 -0
- package/dist/icons/components/UiSpringBoot.cjs.map +1 -0
- package/dist/icons/components/UiSpringBoot.d.ts +15 -0
- package/dist/icons/components/UiSpringBoot.d.ts.map +1 -0
- package/dist/icons/components/UiSpringBoot.js +29 -0
- package/dist/icons/components/UiSpringBoot.js.map +1 -0
- package/dist/icons/components/UiSqlColumn.cjs +1 -1
- package/dist/icons/components/UiSqlColumn.cjs.map +1 -1
- package/dist/icons/components/UiSqlColumn.js +1 -1
- package/dist/icons/components/UiSqlColumn.js.map +1 -1
- package/dist/icons/components/UiSqlConstraint.cjs +7 -2
- package/dist/icons/components/UiSqlConstraint.cjs.map +1 -1
- package/dist/icons/components/UiSqlConstraint.js +8 -3
- package/dist/icons/components/UiSqlConstraint.js.map +1 -1
- package/dist/icons/components/UiSqlDatabase.cjs +3 -4
- package/dist/icons/components/UiSqlDatabase.cjs.map +1 -1
- package/dist/icons/components/UiSqlDatabase.js +3 -4
- package/dist/icons/components/UiSqlDatabase.js.map +1 -1
- package/dist/icons/components/UiSqlForeignKey.cjs +4 -3
- package/dist/icons/components/UiSqlForeignKey.cjs.map +1 -1
- package/dist/icons/components/UiSqlForeignKey.js +4 -3
- package/dist/icons/components/UiSqlForeignKey.js.map +1 -1
- package/dist/icons/components/UiSqlFunction.cjs +3 -3
- package/dist/icons/components/UiSqlFunction.cjs.map +1 -1
- package/dist/icons/components/UiSqlFunction.js +3 -3
- package/dist/icons/components/UiSqlFunction.js.map +1 -1
- package/dist/icons/components/UiSqlIndex.cjs +3 -3
- package/dist/icons/components/UiSqlIndex.cjs.map +1 -1
- package/dist/icons/components/UiSqlIndex.js +3 -3
- package/dist/icons/components/UiSqlIndex.js.map +1 -1
- package/dist/icons/components/UiSqlPrimaryKey.cjs +3 -2
- package/dist/icons/components/UiSqlPrimaryKey.cjs.map +1 -1
- package/dist/icons/components/UiSqlPrimaryKey.js +3 -2
- package/dist/icons/components/UiSqlPrimaryKey.js.map +1 -1
- package/dist/icons/components/UiSqlQuery.cjs +10 -2
- package/dist/icons/components/UiSqlQuery.cjs.map +1 -1
- package/dist/icons/components/UiSqlQuery.js +11 -3
- package/dist/icons/components/UiSqlQuery.js.map +1 -1
- package/dist/icons/components/UiSqlSchema.cjs +6 -3
- package/dist/icons/components/UiSqlSchema.cjs.map +1 -1
- package/dist/icons/components/UiSqlSchema.js +6 -3
- package/dist/icons/components/UiSqlSchema.js.map +1 -1
- package/dist/icons/components/UiSqlSequence.cjs +4 -4
- package/dist/icons/components/UiSqlSequence.cjs.map +1 -1
- package/dist/icons/components/UiSqlSequence.js +4 -4
- package/dist/icons/components/UiSqlSequence.js.map +1 -1
- package/dist/icons/components/UiSqlStoredProc.cjs +3 -3
- package/dist/icons/components/UiSqlStoredProc.cjs.map +1 -1
- package/dist/icons/components/UiSqlStoredProc.js +3 -3
- package/dist/icons/components/UiSqlStoredProc.js.map +1 -1
- package/dist/icons/components/UiSqlTable.cjs +7 -2
- package/dist/icons/components/UiSqlTable.cjs.map +1 -1
- package/dist/icons/components/UiSqlTable.js +7 -2
- package/dist/icons/components/UiSqlTable.js.map +1 -1
- package/dist/icons/components/UiSqlTrigger.cjs +6 -2
- package/dist/icons/components/UiSqlTrigger.cjs.map +1 -1
- package/dist/icons/components/UiSqlTrigger.js +7 -3
- package/dist/icons/components/UiSqlTrigger.js.map +1 -1
- package/dist/icons/components/UiSqlView.cjs +4 -5
- package/dist/icons/components/UiSqlView.cjs.map +1 -1
- package/dist/icons/components/UiSqlView.js +4 -5
- package/dist/icons/components/UiSqlView.js.map +1 -1
- package/dist/icons/components/UiStackTrace.cjs +15 -0
- package/dist/icons/components/UiStackTrace.cjs.map +1 -0
- package/dist/icons/components/UiStackTrace.d.ts +9 -0
- package/dist/icons/components/UiStackTrace.d.ts.map +1 -0
- package/dist/icons/components/UiStackTrace.js +15 -0
- package/dist/icons/components/UiStackTrace.js.map +1 -0
- package/dist/icons/components/UiStartTimer.cjs +27 -0
- package/dist/icons/components/UiStartTimer.cjs.map +1 -0
- package/dist/icons/components/UiStartTimer.d.ts +15 -0
- package/dist/icons/components/UiStartTimer.d.ts.map +1 -0
- package/dist/icons/components/UiStartTimer.js +27 -0
- package/dist/icons/components/UiStartTimer.js.map +1 -0
- package/dist/icons/components/UiStatic.cjs +21 -0
- package/dist/icons/components/UiStatic.cjs.map +1 -0
- package/dist/icons/components/UiStatic.d.ts +15 -0
- package/dist/icons/components/UiStatic.d.ts.map +1 -0
- package/dist/icons/components/UiStatic.js +21 -0
- package/dist/icons/components/UiStatic.js.map +1 -0
- package/dist/icons/components/UiStep.cjs +21 -0
- package/dist/icons/components/UiStep.cjs.map +1 -0
- package/dist/icons/components/UiStep.d.ts +15 -0
- package/dist/icons/components/UiStep.d.ts.map +1 -0
- package/dist/icons/components/UiStep.js +21 -0
- package/dist/icons/components/UiStep.js.map +1 -0
- package/dist/icons/components/UiStep1.cjs +29 -0
- package/dist/icons/components/UiStep1.cjs.map +1 -0
- package/dist/icons/components/UiStep1.d.ts +15 -0
- package/dist/icons/components/UiStep1.d.ts.map +1 -0
- package/dist/icons/components/UiStep1.js +29 -0
- package/dist/icons/components/UiStep1.js.map +1 -0
- package/dist/icons/components/UiStep2.cjs +21 -0
- package/dist/icons/components/UiStep2.cjs.map +1 -0
- package/dist/icons/components/UiStep2.d.ts +15 -0
- package/dist/icons/components/UiStep2.d.ts.map +1 -0
- package/dist/icons/components/UiStep2.js +21 -0
- package/dist/icons/components/UiStep2.js.map +1 -0
- package/dist/icons/components/UiStep3.cjs +21 -0
- package/dist/icons/components/UiStep3.cjs.map +1 -0
- package/dist/icons/components/UiStep3.d.ts +15 -0
- package/dist/icons/components/UiStep3.d.ts.map +1 -0
- package/dist/icons/components/UiStep3.js +21 -0
- package/dist/icons/components/UiStep3.js.map +1 -0
- package/dist/icons/components/UiStep4.cjs +31 -0
- package/dist/icons/components/UiStep4.cjs.map +1 -0
- package/dist/icons/components/UiStep4.d.ts +15 -0
- package/dist/icons/components/UiStep4.d.ts.map +1 -0
- package/dist/icons/components/UiStep4.js +31 -0
- package/dist/icons/components/UiStep4.js.map +1 -0
- package/dist/icons/components/UiStep5.cjs +27 -0
- package/dist/icons/components/UiStep5.cjs.map +1 -0
- package/dist/icons/components/UiStep5.d.ts +15 -0
- package/dist/icons/components/UiStep5.d.ts.map +1 -0
- package/dist/icons/components/UiStep5.js +27 -0
- package/dist/icons/components/UiStep5.js.map +1 -0
- package/dist/icons/components/UiStep6.cjs +23 -0
- package/dist/icons/components/UiStep6.cjs.map +1 -0
- package/dist/icons/components/UiStep6.d.ts +15 -0
- package/dist/icons/components/UiStep6.d.ts.map +1 -0
- package/dist/icons/components/UiStep6.js +23 -0
- package/dist/icons/components/UiStep6.js.map +1 -0
- package/dist/icons/components/UiStep7.cjs +21 -0
- package/dist/icons/components/UiStep7.cjs.map +1 -0
- package/dist/icons/components/UiStep7.d.ts +15 -0
- package/dist/icons/components/UiStep7.d.ts.map +1 -0
- package/dist/icons/components/UiStep7.js +21 -0
- package/dist/icons/components/UiStep7.js.map +1 -0
- package/dist/icons/components/UiStep8.cjs +28 -0
- package/dist/icons/components/UiStep8.cjs.map +1 -0
- package/dist/icons/components/UiStep8.d.ts +15 -0
- package/dist/icons/components/UiStep8.d.ts.map +1 -0
- package/dist/icons/components/UiStep8.js +28 -0
- package/dist/icons/components/UiStep8.js.map +1 -0
- package/dist/icons/components/UiStep9.cjs +21 -0
- package/dist/icons/components/UiStep9.cjs.map +1 -0
- package/dist/icons/components/UiStep9.d.ts +15 -0
- package/dist/icons/components/UiStep9.d.ts.map +1 -0
- package/dist/icons/components/UiStep9.js +21 -0
- package/dist/icons/components/UiStep9.js.map +1 -0
- package/dist/icons/components/UiStream.cjs +23 -0
- package/dist/icons/components/UiStream.cjs.map +1 -0
- package/dist/icons/components/UiStream.d.ts +15 -0
- package/dist/icons/components/UiStream.d.ts.map +1 -0
- package/dist/icons/components/UiStream.js +23 -0
- package/dist/icons/components/UiStream.js.map +1 -0
- package/dist/icons/components/UiStreamKey.cjs +31 -0
- package/dist/icons/components/UiStreamKey.cjs.map +1 -0
- package/dist/icons/components/UiStreamKey.d.ts +15 -0
- package/dist/icons/components/UiStreamKey.d.ts.map +1 -0
- package/dist/icons/components/UiStreamKey.js +31 -0
- package/dist/icons/components/UiStreamKey.js.map +1 -0
- package/dist/icons/components/UiSubmitDB.cjs +15 -0
- package/dist/icons/components/UiSubmitDB.cjs.map +1 -0
- package/dist/icons/components/UiSubmitDB.d.ts +15 -0
- package/dist/icons/components/UiSubmitDB.d.ts.map +1 -0
- package/dist/icons/components/UiSubmitDB.js +15 -0
- package/dist/icons/components/UiSubmitDB.js.map +1 -0
- package/dist/icons/components/UiSubscription.cjs +21 -0
- package/dist/icons/components/UiSubscription.cjs.map +1 -0
- package/dist/icons/components/UiSubscription.d.ts +15 -0
- package/dist/icons/components/UiSubscription.d.ts.map +1 -0
- package/dist/icons/components/UiSubscription.js +21 -0
- package/dist/icons/components/UiSubscription.js.map +1 -0
- package/dist/icons/components/UiSymbol.cjs +25 -0
- package/dist/icons/components/UiSymbol.cjs.map +1 -0
- package/dist/icons/components/UiSymbol.d.ts +15 -0
- package/dist/icons/components/UiSymbol.d.ts.map +1 -0
- package/dist/icons/components/UiSymbol.js +25 -0
- package/dist/icons/components/UiSymbol.js.map +1 -0
- package/dist/icons/components/UiTable1.cjs +23 -0
- package/dist/icons/components/UiTable1.cjs.map +1 -0
- package/dist/icons/components/UiTable1.d.ts +15 -0
- package/dist/icons/components/UiTable1.d.ts.map +1 -0
- package/dist/icons/components/UiTable1.js +23 -0
- package/dist/icons/components/UiTable1.js.map +1 -0
- package/dist/icons/components/UiTable10.cjs +25 -0
- package/dist/icons/components/UiTable10.cjs.map +1 -0
- package/dist/icons/components/UiTable10.d.ts +15 -0
- package/dist/icons/components/UiTable10.d.ts.map +1 -0
- package/dist/icons/components/UiTable10.js +25 -0
- package/dist/icons/components/UiTable10.js.map +1 -0
- package/dist/icons/components/UiTable11.cjs +25 -0
- package/dist/icons/components/UiTable11.cjs.map +1 -0
- package/dist/icons/components/UiTable11.d.ts +15 -0
- package/dist/icons/components/UiTable11.d.ts.map +1 -0
- package/dist/icons/components/UiTable11.js +25 -0
- package/dist/icons/components/UiTable11.js.map +1 -0
- package/dist/icons/components/UiTable12.cjs +23 -0
- package/dist/icons/components/UiTable12.cjs.map +1 -0
- package/dist/icons/components/UiTable12.d.ts +15 -0
- package/dist/icons/components/UiTable12.d.ts.map +1 -0
- package/dist/icons/components/UiTable12.js +23 -0
- package/dist/icons/components/UiTable12.js.map +1 -0
- package/dist/icons/components/UiTable2.cjs +21 -0
- package/dist/icons/components/UiTable2.cjs.map +1 -0
- package/dist/icons/components/UiTable2.d.ts +15 -0
- package/dist/icons/components/UiTable2.d.ts.map +1 -0
- package/dist/icons/components/UiTable2.js +21 -0
- package/dist/icons/components/UiTable2.js.map +1 -0
- package/dist/icons/components/UiTable3.cjs +33 -0
- package/dist/icons/components/UiTable3.cjs.map +1 -0
- package/dist/icons/components/UiTable3.d.ts +15 -0
- package/dist/icons/components/UiTable3.d.ts.map +1 -0
- package/dist/icons/components/UiTable3.js +33 -0
- package/dist/icons/components/UiTable3.js.map +1 -0
- package/dist/icons/components/UiTable4.cjs +55 -0
- package/dist/icons/components/UiTable4.cjs.map +1 -0
- package/dist/icons/components/UiTable4.d.ts +15 -0
- package/dist/icons/components/UiTable4.d.ts.map +1 -0
- package/dist/icons/components/UiTable4.js +55 -0
- package/dist/icons/components/UiTable4.js.map +1 -0
- package/dist/icons/components/UiTable5.cjs +25 -0
- package/dist/icons/components/UiTable5.cjs.map +1 -0
- package/dist/icons/components/UiTable5.d.ts +15 -0
- package/dist/icons/components/UiTable5.d.ts.map +1 -0
- package/dist/icons/components/UiTable5.js +25 -0
- package/dist/icons/components/UiTable5.js.map +1 -0
- package/dist/icons/components/UiTable6.cjs +31 -0
- package/dist/icons/components/UiTable6.cjs.map +1 -0
- package/dist/icons/components/UiTable6.d.ts +15 -0
- package/dist/icons/components/UiTable6.d.ts.map +1 -0
- package/dist/icons/components/UiTable6.js +31 -0
- package/dist/icons/components/UiTable6.js.map +1 -0
- package/dist/icons/components/UiTable7.cjs +24 -0
- package/dist/icons/components/UiTable7.cjs.map +1 -0
- package/dist/icons/components/UiTable7.d.ts +15 -0
- package/dist/icons/components/UiTable7.d.ts.map +1 -0
- package/dist/icons/components/UiTable7.js +24 -0
- package/dist/icons/components/UiTable7.js.map +1 -0
- package/dist/icons/components/UiTable8.cjs +25 -0
- package/dist/icons/components/UiTable8.cjs.map +1 -0
- package/dist/icons/components/UiTable8.d.ts +15 -0
- package/dist/icons/components/UiTable8.d.ts.map +1 -0
- package/dist/icons/components/UiTable8.js +25 -0
- package/dist/icons/components/UiTable8.js.map +1 -0
- package/dist/icons/components/UiTable9.cjs +25 -0
- package/dist/icons/components/UiTable9.cjs.map +1 -0
- package/dist/icons/components/UiTable9.d.ts +15 -0
- package/dist/icons/components/UiTable9.d.ts.map +1 -0
- package/dist/icons/components/UiTable9.js +25 -0
- package/dist/icons/components/UiTable9.js.map +1 -0
- package/dist/icons/components/UiTemplate.cjs +21 -0
- package/dist/icons/components/UiTemplate.cjs.map +1 -0
- package/dist/icons/components/UiTemplate.d.ts +15 -0
- package/dist/icons/components/UiTemplate.d.ts.map +1 -0
- package/dist/icons/components/UiTemplate.js +21 -0
- package/dist/icons/components/UiTemplate.js.map +1 -0
- package/dist/icons/components/UiTest1.cjs +24 -0
- package/dist/icons/components/UiTest1.cjs.map +1 -0
- package/dist/icons/components/UiTest1.d.ts +15 -0
- package/dist/icons/components/UiTest1.d.ts.map +1 -0
- package/dist/icons/components/UiTest1.js +24 -0
- package/dist/icons/components/UiTest1.js.map +1 -0
- package/dist/icons/components/UiTest2.cjs +21 -0
- package/dist/icons/components/UiTest2.cjs.map +1 -0
- package/dist/icons/components/UiTest2.d.ts +15 -0
- package/dist/icons/components/UiTest2.d.ts.map +1 -0
- package/dist/icons/components/UiTest2.js +21 -0
- package/dist/icons/components/UiTest2.js.map +1 -0
- package/dist/icons/components/UiTest3.cjs +21 -0
- package/dist/icons/components/UiTest3.cjs.map +1 -0
- package/dist/icons/components/UiTest3.d.ts +15 -0
- package/dist/icons/components/UiTest3.d.ts.map +1 -0
- package/dist/icons/components/UiTest3.js +21 -0
- package/dist/icons/components/UiTest3.js.map +1 -0
- package/dist/icons/components/UiTest4.cjs +15 -0
- package/dist/icons/components/UiTest4.cjs.map +1 -0
- package/dist/icons/components/UiTest4.d.ts +15 -0
- package/dist/icons/components/UiTest4.d.ts.map +1 -0
- package/dist/icons/components/UiTest4.js +15 -0
- package/dist/icons/components/UiTest4.js.map +1 -0
- package/dist/icons/components/UiTest5.cjs +25 -0
- package/dist/icons/components/UiTest5.cjs.map +1 -0
- package/dist/icons/components/UiTest5.d.ts +15 -0
- package/dist/icons/components/UiTest5.d.ts.map +1 -0
- package/dist/icons/components/UiTest5.js +25 -0
- package/dist/icons/components/UiTest5.js.map +1 -0
- package/dist/icons/components/UiTest6.cjs +30 -0
- package/dist/icons/components/UiTest6.cjs.map +1 -0
- package/dist/icons/components/UiTest6.d.ts +15 -0
- package/dist/icons/components/UiTest6.d.ts.map +1 -0
- package/dist/icons/components/UiTest6.js +30 -0
- package/dist/icons/components/UiTest6.js.map +1 -0
- package/dist/icons/components/UiTest7.cjs +25 -0
- package/dist/icons/components/UiTest7.cjs.map +1 -0
- package/dist/icons/components/UiTest7.d.ts +15 -0
- package/dist/icons/components/UiTest7.d.ts.map +1 -0
- package/dist/icons/components/UiTest7.js +25 -0
- package/dist/icons/components/UiTest7.js.map +1 -0
- package/dist/icons/components/UiText.cjs +21 -0
- package/dist/icons/components/UiText.cjs.map +1 -0
- package/dist/icons/components/UiText.d.ts +15 -0
- package/dist/icons/components/UiText.d.ts.map +1 -0
- package/dist/icons/components/UiText.js +21 -0
- package/dist/icons/components/UiText.js.map +1 -0
- package/dist/icons/components/UiTransactionStart.cjs +31 -0
- package/dist/icons/components/UiTransactionStart.cjs.map +1 -0
- package/dist/icons/components/UiTransactionStart.d.ts +15 -0
- package/dist/icons/components/UiTransactionStart.d.ts.map +1 -0
- package/dist/icons/components/UiTransactionStart.js +31 -0
- package/dist/icons/components/UiTransactionStart.js.map +1 -0
- package/dist/icons/components/UiTypeScriptIndexSignature.cjs +29 -0
- package/dist/icons/components/UiTypeScriptIndexSignature.cjs.map +1 -0
- package/dist/icons/components/UiTypeScriptIndexSignature.d.ts +15 -0
- package/dist/icons/components/UiTypeScriptIndexSignature.d.ts.map +1 -0
- package/dist/icons/components/UiTypeScriptIndexSignature.js +29 -0
- package/dist/icons/components/UiTypeScriptIndexSignature.js.map +1 -0
- package/dist/icons/components/UiUndeploy.cjs +29 -0
- package/dist/icons/components/UiUndeploy.cjs.map +1 -0
- package/dist/icons/components/UiUndeploy.d.ts +15 -0
- package/dist/icons/components/UiUndeploy.d.ts.map +1 -0
- package/dist/icons/components/UiUndeploy.js +29 -0
- package/dist/icons/components/UiUndeploy.js.map +1 -0
- package/dist/icons/components/UiVariable1.cjs +29 -0
- package/dist/icons/components/UiVariable1.cjs.map +1 -0
- package/dist/icons/components/UiVariable1.d.ts +15 -0
- package/dist/icons/components/UiVariable1.d.ts.map +1 -0
- package/dist/icons/components/UiVariable1.js +29 -0
- package/dist/icons/components/UiVariable1.js.map +1 -0
- package/dist/icons/components/UiVariable2.cjs +21 -0
- package/dist/icons/components/UiVariable2.cjs.map +1 -0
- package/dist/icons/components/UiVariable2.d.ts +15 -0
- package/dist/icons/components/UiVariable2.d.ts.map +1 -0
- package/dist/icons/components/UiVariable2.js +21 -0
- package/dist/icons/components/UiVariable2.js.map +1 -0
- package/dist/icons/components/UiVariable3.cjs +25 -0
- package/dist/icons/components/UiVariable3.cjs.map +1 -0
- package/dist/icons/components/UiVariable3.d.ts +15 -0
- package/dist/icons/components/UiVariable3.d.ts.map +1 -0
- package/dist/icons/components/UiVariable3.js +25 -0
- package/dist/icons/components/UiVariable3.js.map +1 -0
- package/dist/icons/components/UiVariable4.cjs +31 -0
- package/dist/icons/components/UiVariable4.cjs.map +1 -0
- package/dist/icons/components/UiVariable4.d.ts +15 -0
- package/dist/icons/components/UiVariable4.d.ts.map +1 -0
- package/dist/icons/components/UiVariable4.js +31 -0
- package/dist/icons/components/UiVariable4.js.map +1 -0
- package/dist/icons/components/UiVariable5.cjs +21 -0
- package/dist/icons/components/UiVariable5.cjs.map +1 -0
- package/dist/icons/components/UiVariable5.d.ts +15 -0
- package/dist/icons/components/UiVariable5.d.ts.map +1 -0
- package/dist/icons/components/UiVariable5.js +21 -0
- package/dist/icons/components/UiVariable5.js.map +1 -0
- package/dist/icons/components/UiVariable6.cjs +21 -0
- package/dist/icons/components/UiVariable6.cjs.map +1 -0
- package/dist/icons/components/UiVariable6.d.ts +15 -0
- package/dist/icons/components/UiVariable6.d.ts.map +1 -0
- package/dist/icons/components/UiVariable6.js +21 -0
- package/dist/icons/components/UiVariable6.js.map +1 -0
- package/dist/icons/components/UiVirtualForeignKey.cjs +25 -0
- package/dist/icons/components/UiVirtualForeignKey.cjs.map +1 -0
- package/dist/icons/components/UiVirtualForeignKey.d.ts +15 -0
- package/dist/icons/components/UiVirtualForeignKey.d.ts.map +1 -0
- package/dist/icons/components/UiVirtualForeignKey.js +25 -0
- package/dist/icons/components/UiVirtualForeignKey.js.map +1 -0
- package/dist/icons/components/UiWebArtifact.cjs +47 -0
- package/dist/icons/components/UiWebArtifact.cjs.map +1 -0
- package/dist/icons/components/UiWebArtifact.d.ts +15 -0
- package/dist/icons/components/UiWebArtifact.d.ts.map +1 -0
- package/dist/icons/components/UiWebArtifact.js +47 -0
- package/dist/icons/components/UiWebArtifact.js.map +1 -0
- package/dist/icons/components/UiWebServiceClient.cjs +27 -0
- package/dist/icons/components/UiWebServiceClient.cjs.map +1 -0
- package/dist/icons/components/UiWebServiceClient.d.ts +15 -0
- package/dist/icons/components/UiWebServiceClient.d.ts.map +1 -0
- package/dist/icons/components/UiWebServiceClient.js +27 -0
- package/dist/icons/components/UiWebServiceClient.js.map +1 -0
- package/dist/icons/components/UiWriteAccess.cjs +21 -0
- package/dist/icons/components/UiWriteAccess.cjs.map +1 -0
- package/dist/icons/components/UiWriteAccess.d.ts +15 -0
- package/dist/icons/components/UiWriteAccess.d.ts.map +1 -0
- package/dist/icons/components/UiWriteAccess.js +21 -0
- package/dist/icons/components/UiWriteAccess.js.map +1 -0
- package/dist/icons/components/UiXpath.cjs +21 -0
- package/dist/icons/components/UiXpath.cjs.map +1 -0
- package/dist/icons/components/UiXpath.d.ts +15 -0
- package/dist/icons/components/UiXpath.d.ts.map +1 -0
- package/dist/icons/components/UiXpath.js +21 -0
- package/dist/icons/components/UiXpath.js.map +1 -0
- package/dist/icons/components/UiXpath1.cjs +21 -0
- package/dist/icons/components/UiXpath1.cjs.map +1 -0
- package/dist/icons/components/UiXpath1.d.ts +15 -0
- package/dist/icons/components/UiXpath1.d.ts.map +1 -0
- package/dist/icons/components/UiXpath1.js +21 -0
- package/dist/icons/components/UiXpath1.js.map +1 -0
- package/dist/icons/index.d.ts +447 -0
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/icons/programmingCatalog.cjs +418 -0
- package/dist/icons/programmingCatalog.cjs.map +1 -0
- package/dist/icons/programmingCatalog.d.ts +16 -0
- package/dist/icons/programmingCatalog.d.ts.map +1 -0
- package/dist/icons/programmingCatalog.js +418 -0
- package/dist/icons/programmingCatalog.js.map +1 -0
- package/dist/icons/registry.cjs +479 -1
- package/dist/icons/registry.cjs.map +1 -1
- package/dist/icons/registry.d.ts.map +1 -1
- package/dist/icons/registry.js +479 -1
- package/dist/icons/registry.js.map +1 -1
- package/dist/icons.cjs +686 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.js +687 -1
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +766 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +763 -4
- package/dist/index.js.map +1 -1
- package/dist/jotai.d.ts +1 -1
- package/dist/jotai.d.ts.map +1 -1
- package/dist/layout/AppShell.cjs +6 -0
- package/dist/layout/AppShell.cjs.map +1 -1
- package/dist/layout/AppShell.d.ts.map +1 -1
- package/dist/layout/AppShell.js +6 -0
- package/dist/layout/AppShell.js.map +1 -1
- package/dist/layout/Workspace.model.cjs +5 -0
- package/dist/layout/Workspace.model.cjs.map +1 -1
- package/dist/layout/Workspace.model.d.ts +2 -0
- package/dist/layout/Workspace.model.d.ts.map +1 -1
- package/dist/layout/Workspace.model.js +5 -0
- package/dist/layout/Workspace.model.js.map +1 -1
- package/dist/layout/Workspace.regions.cjs +2 -2
- package/dist/layout/Workspace.regions.cjs.map +1 -1
- package/dist/layout/Workspace.regions.d.ts.map +1 -1
- package/dist/layout/Workspace.regions.js +2 -2
- package/dist/layout/Workspace.regions.js.map +1 -1
- package/dist/lib/duration.cjs +67 -0
- package/dist/lib/duration.cjs.map +1 -0
- package/dist/lib/duration.d.ts +15 -0
- package/dist/lib/duration.d.ts.map +1 -0
- package/dist/lib/duration.js +67 -0
- package/dist/lib/duration.js.map +1 -0
- package/dist/lib/runtime-profile-model.cjs +1 -1
- package/dist/lib/runtime-profile-model.cjs.map +1 -1
- package/dist/lib/runtime-profile-model.d.ts.map +1 -1
- package/dist/lib/runtime-profile-model.js +1 -1
- package/dist/lib/runtime-profile-model.js.map +1 -1
- package/dist/lib/shell-command.cjs +17 -0
- package/dist/lib/shell-command.cjs.map +1 -0
- package/dist/lib/shell-command.d.ts +7 -0
- package/dist/lib/shell-command.d.ts.map +1 -0
- package/dist/lib/shell-command.js +17 -0
- package/dist/lib/shell-command.js.map +1 -0
- package/dist/lib/string.cjs +29 -4
- package/dist/lib/string.cjs.map +1 -1
- package/dist/lib/string.d.ts +3 -1
- package/dist/lib/string.d.ts.map +1 -1
- package/dist/lib/string.js +29 -4
- package/dist/lib/string.js.map +1 -1
- package/dist/monaco/MonacoEditor.cjs +7 -1
- package/dist/monaco/MonacoEditor.cjs.map +1 -1
- package/dist/monaco/MonacoEditor.d.ts.map +1 -1
- package/dist/monaco/MonacoEditor.js +7 -1
- package/dist/monaco/MonacoEditor.js.map +1 -1
- package/dist/overlay/ConfirmDialog.cjs +70 -0
- package/dist/overlay/ConfirmDialog.cjs.map +1 -0
- package/dist/overlay/ConfirmDialog.d.ts +40 -0
- package/dist/overlay/ConfirmDialog.d.ts.map +1 -0
- package/dist/overlay/ConfirmDialog.js +70 -0
- package/dist/overlay/ConfirmDialog.js.map +1 -0
- package/dist/overlay/Modal.cjs +2 -1
- package/dist/overlay/Modal.cjs.map +1 -1
- package/dist/overlay/Modal.d.ts.map +1 -1
- package/dist/overlay/Modal.js +2 -1
- package/dist/overlay/Modal.js.map +1 -1
- package/dist/overlay/confirmMemory.cjs +50 -0
- package/dist/overlay/confirmMemory.cjs.map +1 -0
- package/dist/overlay/confirmMemory.d.ts +8 -0
- package/dist/overlay/confirmMemory.d.ts.map +1 -0
- package/dist/overlay/confirmMemory.js +50 -0
- package/dist/overlay/confirmMemory.js.map +1 -0
- package/dist/overlay/useConfirm.cjs +45 -0
- package/dist/overlay/useConfirm.cjs.map +1 -0
- package/dist/overlay/useConfirm.d.ts +19 -0
- package/dist/overlay/useConfirm.d.ts.map +1 -0
- package/dist/overlay/useConfirm.js +45 -0
- package/dist/overlay/useConfirm.js.map +1 -0
- package/dist/profiles/cel/celEditor.cjs +44 -134
- package/dist/profiles/cel/celEditor.cjs.map +1 -1
- package/dist/profiles/cel/celEditor.d.ts +4 -3
- package/dist/profiles/cel/celEditor.d.ts.map +1 -1
- package/dist/profiles/cel/celEditor.js +45 -135
- package/dist/profiles/cel/celEditor.js.map +1 -1
- package/dist/profiles/cel/celEditorResults.cjs +133 -0
- package/dist/profiles/cel/celEditorResults.cjs.map +1 -0
- package/dist/profiles/cel/celEditorResults.d.ts +37 -0
- package/dist/profiles/cel/celEditorResults.d.ts.map +1 -0
- package/dist/profiles/cel/celEditorResults.js +133 -0
- package/dist/profiles/cel/celEditorResults.js.map +1 -0
- package/dist/profiles/cel/celExamples.cjs +134 -0
- package/dist/profiles/cel/celExamples.cjs.map +1 -0
- package/dist/profiles/cel/celExamples.d.ts +30 -0
- package/dist/profiles/cel/celExamples.d.ts.map +1 -0
- package/dist/profiles/cel/celExamples.js +134 -0
- package/dist/profiles/cel/celExamples.js.map +1 -0
- package/dist/profiles/cel/celExpression.cjs +16 -63
- package/dist/profiles/cel/celExpression.cjs.map +1 -1
- package/dist/profiles/cel/celExpression.d.ts +36 -21
- package/dist/profiles/cel/celExpression.d.ts.map +1 -1
- package/dist/profiles/cel/celExpression.js +16 -63
- package/dist/profiles/cel/celExpression.js.map +1 -1
- package/dist/profiles/cel/celPath.cjs +2 -1
- package/dist/profiles/cel/celPath.cjs.map +1 -1
- package/dist/profiles/cel/celPath.d.ts +3 -0
- package/dist/profiles/cel/celPath.d.ts.map +1 -1
- package/dist/profiles/cel/celPath.js +2 -1
- package/dist/profiles/cel/celPath.js.map +1 -1
- package/dist/profiles/cel/index.d.ts +1 -0
- package/dist/profiles/cel/index.d.ts.map +1 -1
- package/dist/profiles/connections/catalogTree.cjs +4 -4
- package/dist/profiles/connections/catalogTree.cjs.map +1 -1
- package/dist/profiles/connections/catalogTree.js +4 -4
- package/dist/profiles/connections/catalogTree.js.map +1 -1
- package/dist/profiles/editor/profileEditor.cjs +106 -79
- package/dist/profiles/editor/profileEditor.cjs.map +1 -1
- package/dist/profiles/editor/profileEditor.d.ts +2 -2
- package/dist/profiles/editor/profileEditor.d.ts.map +1 -1
- package/dist/profiles/editor/profileEditor.js +110 -83
- package/dist/profiles/editor/profileEditor.js.map +1 -1
- package/dist/profiles/editor/profileEditorModel.cjs +3 -2
- package/dist/profiles/editor/profileEditorModel.cjs.map +1 -1
- package/dist/profiles/editor/profileEditorModel.d.ts.map +1 -1
- package/dist/profiles/editor/profileEditorModel.js +4 -3
- package/dist/profiles/editor/profileEditorModel.js.map +1 -1
- package/dist/profiles/editor/profileEditorRail.cjs +85 -28
- package/dist/profiles/editor/profileEditorRail.cjs.map +1 -1
- package/dist/profiles/editor/profileEditorRail.d.ts +5 -2
- package/dist/profiles/editor/profileEditorRail.d.ts.map +1 -1
- package/dist/profiles/editor/profileEditorRail.js +85 -28
- package/dist/profiles/editor/profileEditorRail.js.map +1 -1
- package/dist/profiles/editor/profileParameterEditor.cjs +228 -0
- package/dist/profiles/editor/profileParameterEditor.cjs.map +1 -0
- package/dist/profiles/editor/profileParameterEditor.d.ts +12 -0
- package/dist/profiles/editor/profileParameterEditor.d.ts.map +1 -0
- package/dist/profiles/editor/profileParameterEditor.js +228 -0
- package/dist/profiles/editor/profileParameterEditor.js.map +1 -0
- package/dist/profiles/editor/profileYaml.cjs +1 -1
- package/dist/profiles/editor/profileYaml.cjs.map +1 -1
- package/dist/profiles/editor/profileYaml.js +2 -2
- package/dist/profiles/editor/profileYaml.js.map +1 -1
- package/dist/profiles/editor/testSchema.d.ts.map +1 -1
- package/dist/profiles/fields/profileFieldControls.cjs +26 -13
- package/dist/profiles/fields/profileFieldControls.cjs.map +1 -1
- package/dist/profiles/fields/profileFieldControls.d.ts +3 -6
- package/dist/profiles/fields/profileFieldControls.d.ts.map +1 -1
- package/dist/profiles/fields/profileFieldControls.js +26 -13
- package/dist/profiles/fields/profileFieldControls.js.map +1 -1
- package/dist/profiles/fields/profileFieldEditor.cjs +0 -1
- package/dist/profiles/fields/profileFieldEditor.cjs.map +1 -1
- package/dist/profiles/fields/profileFieldEditor.d.ts.map +1 -1
- package/dist/profiles/fields/profileFieldEditor.js +0 -1
- package/dist/profiles/fields/profileFieldEditor.js.map +1 -1
- package/dist/profiles/fields/profileFieldList.cjs +229 -12
- package/dist/profiles/fields/profileFieldList.cjs.map +1 -1
- package/dist/profiles/fields/profileFieldList.d.ts +10 -0
- package/dist/profiles/fields/profileFieldList.d.ts.map +1 -1
- package/dist/profiles/fields/profileFieldList.js +230 -13
- package/dist/profiles/fields/profileFieldList.js.map +1 -1
- package/dist/profiles/processor/processorPipeline.cjs +126 -78
- package/dist/profiles/processor/processorPipeline.cjs.map +1 -1
- package/dist/profiles/processor/processorPipeline.d.ts +6 -1
- package/dist/profiles/processor/processorPipeline.d.ts.map +1 -1
- package/dist/profiles/processor/processorPipeline.js +126 -78
- package/dist/profiles/processor/processorPipeline.js.map +1 -1
- package/dist/profiles.cjs +4 -1
- package/dist/profiles.cjs.map +1 -1
- package/dist/profiles.js +5 -2
- package/dist/profiles.js.map +1 -1
- package/dist/rpc/CommandOutput.cjs +29 -1
- package/dist/rpc/CommandOutput.cjs.map +1 -1
- package/dist/rpc/CommandOutput.d.ts +10 -2
- package/dist/rpc/CommandOutput.d.ts.map +1 -1
- package/dist/rpc/CommandOutput.js +29 -1
- package/dist/rpc/CommandOutput.js.map +1 -1
- package/dist/rpc/EndpointList.cjs.map +1 -1
- package/dist/rpc/EndpointList.d.ts +7 -1
- package/dist/rpc/EndpointList.d.ts.map +1 -1
- package/dist/rpc/EndpointList.js.map +1 -1
- package/dist/rpc/FilterFormFields.cjs +25 -4
- package/dist/rpc/FilterFormFields.cjs.map +1 -1
- package/dist/rpc/FilterFormFields.d.ts.map +1 -1
- package/dist/rpc/FilterFormFields.js +25 -4
- package/dist/rpc/FilterFormFields.js.map +1 -1
- package/dist/rpc/OperationCatalog.cjs +201 -91
- package/dist/rpc/OperationCatalog.cjs.map +1 -1
- package/dist/rpc/OperationCatalog.d.ts +71 -2
- package/dist/rpc/OperationCatalog.d.ts.map +1 -1
- package/dist/rpc/OperationCatalog.js +202 -92
- package/dist/rpc/OperationCatalog.js.map +1 -1
- package/dist/rpc/OperationCatalogFollowStatus.cjs +61 -0
- package/dist/rpc/OperationCatalogFollowStatus.cjs.map +1 -0
- package/dist/rpc/OperationCatalogFollowStatus.d.ts +20 -0
- package/dist/rpc/OperationCatalogFollowStatus.d.ts.map +1 -0
- package/dist/rpc/OperationCatalogFollowStatus.js +61 -0
- package/dist/rpc/OperationCatalogFollowStatus.js.map +1 -0
- package/dist/rpc/OperationPicker.cjs +45 -0
- package/dist/rpc/OperationPicker.cjs.map +1 -0
- package/dist/rpc/OperationPicker.d.ts +11 -0
- package/dist/rpc/OperationPicker.d.ts.map +1 -0
- package/dist/rpc/OperationPicker.js +45 -0
- package/dist/rpc/OperationPicker.js.map +1 -0
- package/dist/rpc/OperationResultView.cjs +16 -2
- package/dist/rpc/OperationResultView.cjs.map +1 -1
- package/dist/rpc/OperationResultView.d.ts +25 -2
- package/dist/rpc/OperationResultView.d.ts.map +1 -1
- package/dist/rpc/OperationResultView.js +16 -2
- package/dist/rpc/OperationResultView.js.map +1 -1
- package/dist/rpc/OperationScheduleDialog.cjs +207 -0
- package/dist/rpc/OperationScheduleDialog.cjs.map +1 -0
- package/dist/rpc/OperationScheduleDialog.d.ts +13 -0
- package/dist/rpc/OperationScheduleDialog.d.ts.map +1 -0
- package/dist/rpc/OperationScheduleDialog.js +207 -0
- package/dist/rpc/OperationScheduleDialog.js.map +1 -0
- package/dist/rpc/OperationSchedules.cjs +216 -0
- package/dist/rpc/OperationSchedules.cjs.map +1 -0
- package/dist/rpc/OperationSchedules.d.ts +3 -0
- package/dist/rpc/OperationSchedules.d.ts.map +1 -0
- package/dist/rpc/OperationSchedules.js +216 -0
- package/dist/rpc/OperationSchedules.js.map +1 -0
- package/dist/rpc/SessionHeader.cjs +149 -0
- package/dist/rpc/SessionHeader.cjs.map +1 -0
- package/dist/rpc/SessionHeader.d.ts +37 -0
- package/dist/rpc/SessionHeader.d.ts.map +1 -0
- package/dist/rpc/SessionHeader.js +149 -0
- package/dist/rpc/SessionHeader.js.map +1 -0
- package/dist/rpc/SessionHeaderControls.cjs +161 -0
- package/dist/rpc/SessionHeaderControls.cjs.map +1 -0
- package/dist/rpc/SessionHeaderControls.d.ts +25 -0
- package/dist/rpc/SessionHeaderControls.d.ts.map +1 -0
- package/dist/rpc/SessionHeaderControls.js +161 -0
- package/dist/rpc/SessionHeaderControls.js.map +1 -0
- package/dist/rpc/SessionsCatalog.cjs +64 -0
- package/dist/rpc/SessionsCatalog.cjs.map +1 -0
- package/dist/rpc/SessionsCatalog.d.ts +37 -0
- package/dist/rpc/SessionsCatalog.d.ts.map +1 -0
- package/dist/rpc/SessionsCatalog.js +64 -0
- package/dist/rpc/SessionsCatalog.js.map +1 -0
- package/dist/rpc/executionPages.cjs +3 -0
- package/dist/rpc/executionPages.cjs.map +1 -1
- package/dist/rpc/executionPages.d.ts +13 -0
- package/dist/rpc/executionPages.d.ts.map +1 -1
- package/dist/rpc/executionPages.js +3 -0
- package/dist/rpc/executionPages.js.map +1 -1
- package/dist/rpc/formMetadata.cjs +56 -5
- package/dist/rpc/formMetadata.cjs.map +1 -1
- package/dist/rpc/formMetadata.d.ts +1 -0
- package/dist/rpc/formMetadata.d.ts.map +1 -1
- package/dist/rpc/formMetadata.js +57 -6
- package/dist/rpc/formMetadata.js.map +1 -1
- package/dist/rpc/operation-cli-command.cjs +43 -0
- package/dist/rpc/operation-cli-command.cjs.map +1 -0
- package/dist/rpc/operation-cli-command.d.ts +4 -0
- package/dist/rpc/operation-cli-command.d.ts.map +1 -0
- package/dist/rpc/operation-cli-command.js +43 -0
- package/dist/rpc/operation-cli-command.js.map +1 -0
- package/dist/rpc/operation-schedule-model.cjs +56 -0
- package/dist/rpc/operation-schedule-model.cjs.map +1 -0
- package/dist/rpc/operation-schedule-model.d.ts +11 -0
- package/dist/rpc/operation-schedule-model.d.ts.map +1 -0
- package/dist/rpc/operation-schedule-model.js +56 -0
- package/dist/rpc/operation-schedule-model.js.map +1 -0
- package/dist/rpc/operation-schedule-types.d.ts +31 -0
- package/dist/rpc/operation-schedule-types.d.ts.map +1 -0
- package/dist/rpc/operationCatalogFilterState.cjs +34 -0
- package/dist/rpc/operationCatalogFilterState.cjs.map +1 -0
- package/dist/rpc/operationCatalogFilterState.d.ts +44 -0
- package/dist/rpc/operationCatalogFilterState.d.ts.map +1 -0
- package/dist/rpc/operationCatalogFilterState.js +34 -0
- package/dist/rpc/operationCatalogFilterState.js.map +1 -0
- package/dist/rpc/operationCatalogFollow.cjs +93 -0
- package/dist/rpc/operationCatalogFollow.cjs.map +1 -0
- package/dist/rpc/operationCatalogFollow.d.ts +85 -0
- package/dist/rpc/operationCatalogFollow.d.ts.map +1 -0
- package/dist/rpc/operationCatalogFollow.js +93 -0
- package/dist/rpc/operationCatalogFollow.js.map +1 -0
- package/dist/rpc/operationCatalogUrl.cjs +19 -4
- package/dist/rpc/operationCatalogUrl.cjs.map +1 -1
- package/dist/rpc/operationCatalogUrl.d.ts +2 -2
- package/dist/rpc/operationCatalogUrl.d.ts.map +1 -1
- package/dist/rpc/operationCatalogUrl.js +19 -4
- package/dist/rpc/operationCatalogUrl.js.map +1 -1
- package/dist/rpc/router.cjs +6 -2
- package/dist/rpc/router.cjs.map +1 -1
- package/dist/rpc/router.d.ts.map +1 -1
- package/dist/rpc/router.js +6 -2
- package/dist/rpc/router.js.map +1 -1
- package/dist/rpc/session-story.fixtures.d.ts +13 -0
- package/dist/rpc/session-story.fixtures.d.ts.map +1 -0
- package/dist/rpc/sessionHeaderModel.cjs +54 -0
- package/dist/rpc/sessionHeaderModel.cjs.map +1 -0
- package/dist/rpc/sessionHeaderModel.d.ts +39 -0
- package/dist/rpc/sessionHeaderModel.d.ts.map +1 -0
- package/dist/rpc/sessionHeaderModel.js +54 -0
- package/dist/rpc/sessionHeaderModel.js.map +1 -0
- package/dist/rpc/sessionTypes.cjs +108 -0
- package/dist/rpc/sessionTypes.cjs.map +1 -0
- package/dist/rpc/sessionTypes.d.ts +99 -0
- package/dist/rpc/sessionTypes.d.ts.map +1 -0
- package/dist/rpc/sessionTypes.js +108 -0
- package/dist/rpc/sessionTypes.js.map +1 -0
- package/dist/rpc/types.cjs.map +1 -1
- package/dist/rpc/types.d.ts +17 -3
- package/dist/rpc/types.d.ts.map +1 -1
- package/dist/rpc/types.js.map +1 -1
- package/dist/rpc/useOperationCatalogFollow.cjs +37 -0
- package/dist/rpc/useOperationCatalogFollow.cjs.map +1 -0
- package/dist/rpc/useOperationCatalogFollow.d.ts +37 -0
- package/dist/rpc/useOperationCatalogFollow.d.ts.map +1 -0
- package/dist/rpc/useOperationCatalogFollow.js +37 -0
- package/dist/rpc/useOperationCatalogFollow.js.map +1 -0
- package/dist/rpc/useOperationPages.cjs +13 -6
- package/dist/rpc/useOperationPages.cjs.map +1 -1
- package/dist/rpc/useOperationPages.d.ts +10 -6
- package/dist/rpc/useOperationPages.d.ts.map +1 -1
- package/dist/rpc/useOperationPages.js +13 -6
- package/dist/rpc/useOperationPages.js.map +1 -1
- package/dist/rpc/useSession.cjs +86 -0
- package/dist/rpc/useSession.cjs.map +1 -0
- package/dist/rpc/useSession.d.ts +37 -0
- package/dist/rpc/useSession.d.ts.map +1 -0
- package/dist/rpc/useSession.js +86 -0
- package/dist/rpc/useSession.js.map +1 -0
- package/dist/rpc.cjs +37 -0
- package/dist/rpc.cjs.map +1 -1
- package/dist/rpc.d.ts +11 -0
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +31 -0
- package/dist/rpc.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils.cjs +3 -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 +3 -0
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/data/ai/SpecRuntimeEditor/PresetCards.d.ts +0 -8
- package/dist/data/ai/SpecRuntimeEditor/PresetCards.d.ts.map +0 -1
- package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.cjs +0 -35
- package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.cjs.map +0 -1
- package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.d.ts +0 -5
- package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.d.ts.map +0 -1
- package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.js +0 -35
- package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.js.map +0 -1
- package/dist/data/ai/SpecRuntimeEditor/presets.cjs +0 -207
- package/dist/data/ai/SpecRuntimeEditor/presets.cjs.map +0 -1
- package/dist/data/ai/SpecRuntimeEditor/presets.d.ts +0 -34
- package/dist/data/ai/SpecRuntimeEditor/presets.d.ts.map +0 -1
- package/dist/data/ai/SpecRuntimeEditor/presets.js +0 -207
- package/dist/data/ai/SpecRuntimeEditor/presets.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-log-tail.js","sources":["../../src/hooks/use-log-tail.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\n// use-log-tail is the clicky-ui client for a *follow* session: the server opens\n// a live source for a query profile and streams rows out of it until someone\n// closes it. It is shaped like use-task-run — SSE-first, polling only when\n// EventSource is missing — but the resource underneath is far less forgiving. A\n// follow session holds a websocket to Loki, or a log stream to a kubelet, for as\n// long as it exists, and the server caps how many may run at once\n// (ErrMaxSessions, surfaced as HTTP 409). A session that is left behind is\n// therefore not untidy, it is a slot the next reader cannot have, which is why\n// stopping is a DELETE the hook issues on every exit path including unmount.\n//\n// The second thing this stream does differently is replay. Each SSE frame\n// carries an `id:`, so a reconnecting EventSource sends Last-Event-ID and the\n// server resumes from that sequence — re-delivering frames the client may\n// already hold. Sequences are the server's, not a client index: they do not\n// start at 1 and they do not reset, so the accumulator dedupes against the\n// highest sequence it has applied rather than against a position in an array.\n\nexport type LogSessionState =\n | \"starting\"\n | \"running\"\n | \"completed\"\n | \"failed\"\n | \"stopped\"\n | \"interrupted\";\n\n/** SessionInfo as returned by POST /profile/{name}/sessions and the `done` frame. */\nexport interface LogSessionInfo {\n id: string;\n profile: string;\n kind: string;\n state: LogSessionState;\n params?: Record<string, unknown>;\n error?: string;\n eventCount: number;\n startedAt: string;\n stoppedAt?: string;\n}\n\n/**\n * One `event:` frame. It carries either a single `row` or a batch under `rows`\n * — never both — plus an `error` when the source failed mid-stream without the\n * session itself ending.\n */\nexport interface LogTailEvent {\n sessionId: string;\n sequence: number;\n time?: string;\n row?: Record<string, unknown>;\n rows?: Record<string, unknown>[];\n error?: string;\n}\n\n/**\n * Where a failure came from, because the three are not interchangeable to a\n * reader: `start` means the session never existed (409 is the cap), `stream`\n * means the session is alive but something in it went wrong, and `session`\n * means the server ended it.\n */\nexport interface LogTailError {\n scope: \"start\" | \"stream\" | \"session\";\n message: string;\n /** HTTP status when a request produced the failure. 409 is the session cap. */\n httpStatus?: number;\n}\n\n/** Renderable transport/session state. The terminal values are the server's own. */\nexport type LogTailStatus =\n | \"idle\"\n | \"starting\"\n | \"streaming\"\n | \"polling\"\n | \"connection lost — retrying\"\n | \"completed\"\n | \"failed\"\n | \"stopped\"\n | \"interrupted\";\n\nconst TERMINAL: ReadonlySet<string> = new Set([\"completed\", \"failed\", \"stopped\", \"interrupted\"]);\n\nexport function isTerminalSessionState(state: LogSessionState | undefined): boolean {\n return state !== undefined && TERMINAL.has(state);\n}\n\nexport interface LogTailBuffer {\n /** Rows in arrival order, oldest first — the order this surface tails in. */\n rows: Record<string, unknown>[];\n /** Highest sequence applied, or null before the first frame. Never assumed to start at 1. */\n lastSequence: number | null;\n /** Rows evicted by the cap. Kept so the UI can say so instead of quietly shortening history. */\n dropped: number;\n}\n\nexport const emptyLogTailBuffer: LogTailBuffer = { rows: [], lastSequence: null, dropped: 0 };\n\n/**\n * Renders profile parameters as the tail of a session request's query string,\n * `\"\"` when there are none, and each entry already `&`-prefixed so it appends\n * to a query that always begins with `?follow=true`.\n *\n * Keys are sorted so two callers passing the same parameters in a different\n * order produce the same string — the effect that opens the session depends on\n * it, and an unstable spelling would tear down a live tail and start a new one\n * on a render that changed nothing.\n *\n * A null or undefined value is omitted rather than sent as the text \"null\": the\n * server reads every query key as a supplied parameter, so spelling an absent\n * one out states a filter the caller did not ask for.\n */\nexport function encodeTailParams(params: Record<string, unknown> | undefined): string {\n if (!params) return \"\";\n const query = new URLSearchParams();\n for (const key of Object.keys(params).sort()) {\n const value = params[key];\n if (value === undefined || value === null) continue;\n query.append(key, String(value));\n }\n const encoded = query.toString();\n return encoded === \"\" ? \"\" : `&${encoded}`;\n}\n\n/**\n * Applies one frame to the buffer, dropping anything at or below the highest\n * sequence already seen. A watermark is enough — and cheaper than remembering\n * every id — because SSE is ordered within a connection and the only source of\n * duplicates is a reconnect, whose replay starts at Last-Event-ID and so can\n * only re-deliver frames the buffer has already passed.\n *\n * Returns the buffer unchanged when the frame adds nothing, so React can bail\n * out of the render.\n */\nexport function appendTailEvent(\n buffer: LogTailBuffer,\n event: LogTailEvent,\n maxRows: number,\n): LogTailBuffer {\n if (buffer.lastSequence !== null && event.sequence <= buffer.lastSequence) return buffer;\n const incoming = event.rows ?? (event.row ? [event.row] : []);\n if (incoming.length === 0) return { ...buffer, lastSequence: event.sequence };\n\n const merged = buffer.rows.concat(incoming);\n const overflow = Math.max(0, merged.length - Math.max(1, maxRows));\n return {\n rows: overflow > 0 ? merged.slice(overflow) : merged,\n lastSequence: event.sequence,\n dropped: buffer.dropped + overflow,\n };\n}\n\nexport interface UseLogTailOptions {\n /** Query profile to follow, e.g. \"k8s-pod-logs\". */\n profile: string;\n /** Profile parameters, sent as the session request's query string. */\n params?: Record<string, unknown> | undefined;\n /** Base path of the session API, e.g. \"/api/v1\". */\n basePath?: string | undefined;\n /** Start/stop is the caller's: flipping this to false DELETEs the session. */\n following?: boolean | undefined;\n /** Rows kept in memory; older ones are evicted and counted in `droppedRows`. */\n maxRows?: number | undefined;\n /** Poll interval (ms) for the fallback transport. */\n pollMs?: number | undefined;\n /** Force polling even when EventSource exists (mainly tests). */\n forcePoll?: boolean | undefined;\n}\n\nexport interface UseLogTailResult {\n /** Accumulated rows, oldest first. */\n rows: Record<string, unknown>[];\n status: LogTailStatus;\n error: LogTailError | null;\n sessionId: string | null;\n /** True while the caller wants rows and the session has not reached a terminal state. */\n following: boolean;\n /** Rows the cap evicted; non-zero means the tail no longer holds the whole run. */\n droppedRows: number;\n /** Highest sequence applied — the resume point a reconnect would ask for. */\n lastSequence: number | null;\n /** Latest SessionInfo the server sent, for eventCount / startedAt / state. */\n session: LogSessionInfo | null;\n}\n\nconst DEFAULT_BASE = \"/api/v1\";\nconst DEFAULT_POLL_MS = 1_000;\nconst DEFAULT_MAX_ROWS = 5_000;\n\nfunction hasEventSource(): boolean {\n return typeof globalThis !== \"undefined\" && typeof globalThis.EventSource !== \"undefined\";\n}\n\n/** DELETE the session. Exported because a caller that owns the id (a saved tail,\n * a beforeunload handler) has to be able to release it without the hook. */\nexport async function stopLogSession(basePath: string, id: string): Promise<void> {\n const res = await fetch(`${basePath}/sessions/${encodeURIComponent(id)}`, {\n method: \"DELETE\",\n keepalive: true,\n });\n if (!res.ok) {\n throw new Error((await res.text()) || `stopping session ${id} failed with HTTP ${res.status}`);\n }\n}\n\nexport function useLogTail(options: UseLogTailOptions): UseLogTailResult {\n const {\n profile,\n params,\n basePath = DEFAULT_BASE,\n following: wantFollow = false,\n maxRows = DEFAULT_MAX_ROWS,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n\n const [buffer, setBuffer] = useState<LogTailBuffer>(emptyLogTailBuffer);\n const [status, setStatus] = useState<LogTailStatus>(\"idle\");\n const [error, setError] = useState<LogTailError | null>(null);\n const [session, setSession] = useState<LogSessionInfo | null>(null);\n\n // The cap is read when a frame lands rather than closed over, so changing how\n // much history to keep never tears down a live session to do it.\n const maxRowsRef = useRef(maxRows);\n maxRowsRef.current = maxRows;\n\n // Profile parameters travel in the query string because that is where the\n // session endpoint reads them from: it builds its params by walking\n // r.URL.Query() and never looks at the body, so a posted body is a filter the\n // server silently ignores — the tail would run the profile's defaults while\n // the reader believed they were following what they had filtered to.\n //\n // Serialized here rather than in the effect so it is also the effect's\n // dependency: two renders with equal parameters must not restart the session.\n const paramsQuery = encodeTailParams(params);\n\n useEffect(() => {\n if (!wantFollow) return;\n\n // Each start is a distinct server session replaying from its own first\n // sequence, so the previous run's rows cannot be continued — carrying them\n // over would interleave two unrelated sequence spaces in one list.\n setBuffer(emptyLogTailBuffer);\n setError(null);\n setSession(null);\n setStatus(\"starting\");\n\n let cancelled = false;\n let source: EventSource | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n let liveSessionId: string | null = null;\n let ended = false;\n\n const apply = (event: LogTailEvent) => {\n setBuffer((prev) => appendTailEvent(prev, event, maxRowsRef.current));\n // An event-level error does not end the session, so it is reported beside\n // the rows rather than in place of them.\n if (event.error) setError({ scope: \"stream\", message: event.error });\n };\n\n // Unlike the task stream this does not skip what it cannot parse: a tail\n // that silently discards frames is indistinguishable from a quiet log\n // source, which is the one thing a reader must never be left guessing at.\n const readFrame = (label: string, e: MessageEvent): unknown => {\n try {\n return JSON.parse(e.data as string);\n } catch (cause) {\n setError({ scope: \"stream\", message: `unparseable ${label} frame: ${String(cause)}` });\n return undefined;\n }\n };\n\n const settle = (info: LogSessionInfo) => {\n setSession(info);\n if (!isTerminalSessionState(info.state)) return;\n ended = true;\n setStatus(info.state as LogTailStatus);\n if (info.state === \"failed\") {\n setError({\n scope: \"session\",\n message: info.error || `session ${info.id} failed without reporting a reason`,\n });\n }\n };\n\n const subscribe = (id: string) => {\n const es = new EventSource(`${basePath}/sessions/${encodeURIComponent(id)}/events`);\n source = es;\n setStatus(\"streaming\");\n es.addEventListener(\"event\", (e) => {\n const frame = readFrame(\"event\", e as MessageEvent);\n if (frame) apply(frame as LogTailEvent);\n });\n es.addEventListener(\"done\", (e) => {\n const info = readFrame(\"done\", e as MessageEvent);\n if (info) settle(info as LogSessionInfo);\n es.close();\n });\n // A dropped connection is not a failure: EventSource reconnects with\n // Last-Event-ID and the server replays. It is reported through `status`\n // only, so a blip never leaves a sticky error the reader has to dismiss —\n // and never after the session ended, where it would overwrite the reason\n // it ended with a reconnect that is not going to happen.\n es.onerror = () => {\n if (!ended) setStatus(\"connection lost — retrying\");\n };\n };\n\n // The polling transport asks for the same replay the SSE reconnect gets:\n // `after` is Last-Event-ID by another name.\n const poll = (id: string) => {\n let after: number | null = null;\n const tick = async () => {\n try {\n const query = after === null ? \"\" : `?after=${after}`;\n const res = await fetch(\n `${basePath}/sessions/${encodeURIComponent(id)}/events${query}`,\n { headers: { Accept: \"application/json\" } },\n );\n if (!res.ok) {\n // A refused request is the session answering that it is gone or\n // broken; retrying it forever would render as an empty tail.\n ended = true;\n setStatus(\"failed\");\n setError({\n scope: \"session\",\n httpStatus: res.status,\n message: `reading events for session ${id} failed with HTTP ${res.status}: ${\n (await res.text()).trim() || \"no detail\"\n }`,\n });\n return;\n }\n for (const event of (await res.json()) as LogTailEvent[]) {\n apply(event);\n if (after === null || event.sequence > after) after = event.sequence;\n }\n setStatus(\"polling\");\n } catch {\n setStatus(\"connection lost — retrying\");\n }\n if (!cancelled) timer = setTimeout(tick, pollMs);\n };\n void tick();\n };\n\n // Releasing can run while the component is already gone, so a failure here\n // cannot be raised into state — but it is the failure that costs everyone\n // else a session slot, so it is never swallowed either.\n const release = (id: string) =>\n stopLogSession(basePath, id).catch((cause: unknown) => {\n console.error(`[useLogTail] could not stop follow session ${id}`, cause);\n });\n\n const start = async () => {\n let info: LogSessionInfo;\n try {\n const res = await fetch(\n `${basePath}/profile/${encodeURIComponent(profile)}/sessions?follow=true${paramsQuery}`,\n { method: \"POST\", headers: { Accept: \"application/json\" } },\n );\n if (!res.ok) {\n const detail = (await res.text()).trim() || \"no detail\";\n setStatus(\"failed\");\n setError({\n scope: \"start\",\n httpStatus: res.status,\n message:\n res.status === 409\n ? `the server is already running as many follow sessions as it allows (HTTP 409): ${detail}`\n : `could not start a follow session for ${profile} (HTTP ${res.status}): ${detail}`,\n });\n return;\n }\n info = (await res.json()) as LogSessionInfo;\n } catch (cause) {\n setStatus(\"failed\");\n setError({\n scope: \"start\",\n message: `could not reach ${basePath} to start a follow session for ${profile}: ${String(cause)}`,\n });\n return;\n }\n\n if (cancelled) {\n // The caller stopped following while the POST was in flight. The session\n // exists on the server regardless, so it still has to be released.\n void release(info.id);\n return;\n }\n liveSessionId = info.id;\n setSession(info);\n if (forcePoll || !hasEventSource()) poll(info.id);\n else subscribe(info.id);\n };\n\n void start();\n // A session left running is not untidy, it is a slot the next reader cannot\n // have — so it is released on every exit path, unmount included.\n return () => {\n cancelled = true;\n if (timer) clearTimeout(timer);\n source?.close();\n if (liveSessionId && !ended) void release(liveSessionId);\n };\n }, [profile, paramsQuery, basePath, wantFollow, pollMs, forcePoll]);\n\n // Stopping returns the surface to idle, but a session that ended on its own\n // keeps its terminal status so the reason it ended stays on screen.\n useEffect(() => {\n if (!wantFollow) setStatus((prev) => (TERMINAL.has(prev) ? prev : \"idle\"));\n }, [wantFollow]);\n\n return {\n rows: buffer.rows,\n status,\n error,\n sessionId: session?.id ?? null,\n following: wantFollow && !TERMINAL.has(status),\n droppedRows: buffer.dropped,\n lastSequence: buffer.lastSequence,\n session,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-log-tail.js","sources":["../../src/hooks/use-log-tail.ts"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\nimport type { ClickyRow } from \"../data/Clicky\";\nimport { isSessionState, isSessionTerminal, type SessionState } from \"../rpc/sessionTypes\";\n\n// use-log-tail is the clicky-ui client for a *follow* session: the server opens\n// a live source for a query profile and streams rows out of it until someone\n// closes it. The resource underneath is unforgiving. A follow session holds a\n// websocket to Loki, or a log stream to a kubelet, for as long as it exists,\n// and the server caps how many may run at once (ErrMaxSessions, surfaced as\n// HTTP 409). The server owns that slot's release: a view session ends shortly\n// after its last subscriber disconnects, so every exit path — unmount and a\n// parameter change included — only has to abort the start request and close\n// the EventSource.\n//\n// Events travel over SSE only. The events route serves SSE (or ndjson on\n// request) and resumes through Last-Event-ID; there is no JSON-array polling\n// shape to fall back to, so a browser without EventSource fails loudly.\n//\n// Each SSE frame carries an `id:`, so a reconnecting EventSource sends\n// Last-Event-ID and the server resumes from that sequence — re-delivering\n// frames the client may already hold. Sequences are the server's, not a client\n// index: they do not start at 1 and they do not reset, so the accumulator\n// dedupes against the highest sequence it has applied rather than against a\n// position in an array.\n\n/** The sessions API's state, under the name this hook has always exported. */\nexport type LogSessionState = SessionState;\n\n/** SessionInfo as returned by POST /profile/{name}/sessions and the `done` frame. */\nexport interface LogSessionInfo {\n id: string;\n profile: string;\n kind: string;\n state: LogSessionState;\n params?: Record<string, unknown>;\n error?: string;\n eventCount: number;\n startedAt: string;\n stoppedAt?: string;\n}\n\n/**\n * One `event:` frame. It carries either a single `row` or a batch under `rows`\n * — never both — plus an `error` when the source failed mid-stream without the\n * session itself ending.\n *\n * `clickyRow` is the presented row — `{cells, detail?}`, built by the exact\n * function that fills in `node.rows[n]` of the list's own\n * `application/json+clicky` document — riding next to the raw `row` on a\n * trace/follow session's per-row events. A plain log tail (or a top-session\n * snapshot event) never sets it; only a reader that reconciles rows against a\n * presented table, i.e. OperationCatalog's follow mode, depends on it.\n */\nexport interface LogTailEvent {\n sessionId: string;\n sequence: number;\n time?: string;\n row?: Record<string, unknown>;\n rows?: Record<string, unknown>[];\n /** The presented ClickyRow for `row`, when the profile sends one. */\n clickyRow?: ClickyRow;\n error?: string;\n}\n\n/**\n * Where a failure came from, because the three are not interchangeable to a\n * reader: `start` means the session never existed (409 is the cap), `stream`\n * means the session is alive but something in it went wrong, and `session`\n * means the server ended it.\n */\nexport interface LogTailError {\n scope: \"start\" | \"stream\" | \"session\";\n message: string;\n /** HTTP status when a request produced the failure. 409 is the session cap. */\n httpStatus?: number;\n}\n\n/** Renderable transport/session state. The terminal values are the server's own. */\nexport type LogTailStatus =\n | \"idle\"\n | \"starting\"\n | \"streaming\"\n | \"connection lost — retrying\"\n | \"completed\"\n | \"failed\"\n | \"stopped\"\n | \"interrupted\";\n\n/**\n * `stopping` is a stop in flight: the source may still flush rows, so the tail\n * keeps reading until the done frame.\n */\nexport function isTerminalSessionState(state: LogSessionState | undefined): boolean {\n return state !== undefined && isSessionTerminal(state);\n}\n\nfunction isTerminalTailStatus(status: LogTailStatus): boolean {\n return isSessionState(status) && isSessionTerminal(status);\n}\n\nexport interface LogTailBuffer {\n /** Rows in arrival order, oldest first — the order this surface tails in. */\n rows: Record<string, unknown>[];\n /**\n * Each entry's presented ClickyRow, index-aligned with `rows` (same length,\n * same order) — `undefined` where the event carried none. Additive: a plain\n * log tail never reads this and `rows` itself is unchanged, so existing\n * `useLogTail` consumers keep working exactly as before.\n */\n clickyRows: (ClickyRow | undefined)[];\n /** Highest sequence applied, or null before the first frame. Never assumed to start at 1. */\n lastSequence: number | null;\n /** Rows evicted by the cap. Kept so the UI can say so instead of quietly shortening history. */\n dropped: number;\n}\n\nexport const emptyLogTailBuffer: LogTailBuffer = {\n rows: [],\n clickyRows: [],\n lastSequence: null,\n dropped: 0,\n};\n\n/**\n * Renders profile parameters as the tail of a session request's query string,\n * `\"\"` when there are none, and each entry already `&`-prefixed so it appends\n * to a query that always begins with `?follow=true`.\n *\n * Keys are sorted so two callers passing the same parameters in a different\n * order produce the same string — the effect that opens the session depends on\n * it, and an unstable spelling would tear down a live tail and start a new one\n * on a render that changed nothing.\n *\n * A null or undefined value is omitted rather than sent as the text \"null\": the\n * server reads every query key as a supplied parameter, so spelling an absent\n * one out states a filter the caller did not ask for.\n */\nexport function encodeTailParams(params: Record<string, unknown> | undefined): string {\n if (!params) return \"\";\n const query = new URLSearchParams();\n for (const key of Object.keys(params).sort()) {\n const value = params[key];\n if (value === undefined || value === null) continue;\n query.append(key, String(value));\n }\n const encoded = query.toString();\n return encoded === \"\" ? \"\" : `&${encoded}`;\n}\n\n/**\n * Applies one frame to the buffer, dropping anything at or below the highest\n * sequence already seen. A watermark is enough — and cheaper than remembering\n * every id — because SSE is ordered within a connection and the only source of\n * duplicates is a reconnect, whose replay starts at Last-Event-ID and so can\n * only re-deliver frames the buffer has already passed.\n *\n * Returns the buffer unchanged when the frame adds nothing, so React can bail\n * out of the render.\n */\nexport function appendTailEvent(\n buffer: LogTailBuffer,\n event: LogTailEvent,\n maxRows: number,\n): LogTailBuffer {\n if (buffer.lastSequence !== null && event.sequence <= buffer.lastSequence) return buffer;\n const incoming = event.rows ?? (event.row ? [event.row] : []);\n if (incoming.length === 0) return { ...buffer, lastSequence: event.sequence };\n\n // A batched `rows` frame has no per-item clickyRow equivalent — only the\n // single-`row` shape trace/follow sessions use ever carries one — so a\n // batch pads with `undefined` to stay index-aligned with `rows`.\n const incomingClickyRows: (ClickyRow | undefined)[] = event.rows\n ? event.rows.map(() => undefined)\n : [event.clickyRow];\n\n const merged = buffer.rows.concat(incoming);\n const mergedClickyRows = buffer.clickyRows.concat(incomingClickyRows);\n const overflow = Math.max(0, merged.length - Math.max(1, maxRows));\n return {\n rows: overflow > 0 ? merged.slice(overflow) : merged,\n clickyRows: overflow > 0 ? mergedClickyRows.slice(overflow) : mergedClickyRows,\n lastSequence: event.sequence,\n dropped: buffer.dropped + overflow,\n };\n}\n\nexport interface UseLogTailOptions {\n /** Query profile to follow, e.g. \"k8s-pod-logs\". */\n profile: string;\n /** Profile parameters, sent as the session request's query string. */\n params?: Record<string, unknown> | undefined;\n /** Base path of the session API, e.g. \"/api/v1\". */\n basePath?: string | undefined;\n /** Start/stop is the caller's: flipping this to false closes the stream; the server reaps the unsubscribed session. */\n following?: boolean | undefined;\n /** Rows kept in memory; older ones are evicted and counted in `droppedRows`. */\n maxRows?: number | undefined;\n /**\n * Called once per applied `event` frame, in sequence order, before the frame\n * reaches the buffer — so a reducer sees every row even after `maxRows` starts\n * evicting. A replayed sequence is not delivered again, and `done` frames are\n * never delivered. The latest callback is always used; changing its identity\n * does not restart the session. A throw is reported as a `stream` error.\n */\n onEvent?: ((event: LogTailEvent) => void) | undefined;\n}\n\nexport interface UseLogTailResult {\n /** Accumulated rows, oldest first. */\n rows: Record<string, unknown>[];\n /** Each row's presented ClickyRow, index-aligned with `rows`; `undefined`\n * where the event carried none (a plain log tail, or a top-session\n * snapshot event). */\n clickyRows: (ClickyRow | undefined)[];\n status: LogTailStatus;\n error: LogTailError | null;\n sessionId: string | null;\n /** True while the caller wants rows and the session has not reached a terminal state. */\n following: boolean;\n /** Rows the cap evicted; non-zero means the tail no longer holds the whole run. */\n droppedRows: number;\n /** Highest sequence applied — the resume point a reconnect would ask for. */\n lastSequence: number | null;\n /** Latest SessionInfo the server sent, for eventCount / startedAt / state. */\n session: LogSessionInfo | null;\n}\n\nconst DEFAULT_BASE = \"/api/v1\";\nconst DEFAULT_MAX_ROWS = 5_000;\n\nfunction hasEventSource(): boolean {\n return typeof globalThis !== \"undefined\" && typeof globalThis.EventSource !== \"undefined\";\n}\n\nexport function useLogTail(options: UseLogTailOptions): UseLogTailResult {\n const {\n profile,\n params,\n basePath = DEFAULT_BASE,\n following: wantFollow = false,\n maxRows = DEFAULT_MAX_ROWS,\n onEvent,\n } = options;\n\n const [buffer, setBuffer] = useState<LogTailBuffer>(emptyLogTailBuffer);\n const [status, setStatus] = useState<LogTailStatus>(\"idle\");\n const [error, setError] = useState<LogTailError | null>(null);\n const [session, setSession] = useState<LogSessionInfo | null>(null);\n\n // The cap is read when a frame lands rather than closed over, so changing how\n // much history to keep never tears down a live session to do it.\n const maxRowsRef = useRef(maxRows);\n maxRowsRef.current = maxRows;\n const onEventRef = useRef(onEvent);\n onEventRef.current = onEvent;\n\n // Profile parameters travel in the query string because that is where the\n // session endpoint reads them from: it builds its params by walking\n // r.URL.Query() and never looks at the body, so a posted body is a filter the\n // server silently ignores — the tail would run the profile's defaults while\n // the reader believed they were following what they had filtered to.\n //\n // Serialized here rather than in the effect so it is also the effect's\n // dependency: two renders with equal parameters must not restart the session.\n const paramsQuery = encodeTailParams(params);\n\n useEffect(() => {\n if (!wantFollow) return;\n\n // Each start is a distinct server session replaying from its own first\n // sequence, so the previous run's rows cannot be continued — carrying them\n // over would interleave two unrelated sequence spaces in one list.\n setBuffer(emptyLogTailBuffer);\n setError(null);\n setSession(null);\n\n // Checked before the session exists: a session nobody can subscribe to\n // would hold a server slot until the reaper noticed.\n if (!hasEventSource()) {\n setStatus(\"failed\");\n setError({\n scope: \"start\",\n message: `cannot follow ${profile}: this browser has no EventSource, and session events are served only as SSE`,\n });\n return;\n }\n setStatus(\"starting\");\n\n let cancelled = false;\n const aborter = new AbortController();\n let source: EventSource | undefined;\n let ended = false;\n // onEvent's own watermark, tracked here rather than read from the buffer:\n // the buffer only dedupes inside a state updater, which React may run twice,\n // so a callback there would double-count. Same rule as appendTailEvent.\n let delivered: number | null = null;\n\n const deliver = (event: LogTailEvent) => {\n if (delivered !== null && event.sequence <= delivered) return;\n delivered = event.sequence;\n try {\n onEventRef.current?.(event);\n } catch (cause) {\n setError({ scope: \"stream\", message: `onEvent threw on sequence ${event.sequence}: ${String(cause)}` });\n }\n };\n\n const apply = (event: LogTailEvent) => {\n // An event-level error does not end the session, so it is reported beside\n // the rows rather than in place of them. Set before delivery so a reducer\n // that throws on the same frame is the error left standing.\n if (event.error) setError({ scope: \"stream\", message: event.error });\n deliver(event);\n setBuffer((prev) => appendTailEvent(prev, event, maxRowsRef.current));\n };\n\n // Unlike the task stream this does not skip what it cannot parse: a tail\n // that silently discards frames is indistinguishable from a quiet log\n // source, which is the one thing a reader must never be left guessing at.\n const readFrame = (label: string, e: MessageEvent): unknown => {\n try {\n return JSON.parse(e.data as string);\n } catch (cause) {\n setError({ scope: \"stream\", message: `unparseable ${label} frame: ${String(cause)}` });\n return undefined;\n }\n };\n\n const settle = (info: LogSessionInfo) => {\n setSession(info);\n if (!isTerminalSessionState(info.state)) return;\n ended = true;\n setStatus(info.state as LogTailStatus);\n if (info.state === \"failed\") {\n setError({\n scope: \"session\",\n message: info.error || `session ${info.id} failed without reporting a reason`,\n });\n }\n };\n\n const subscribe = (id: string) => {\n const es = new EventSource(`${basePath}/sessions/${encodeURIComponent(id)}/events`);\n source = es;\n setStatus(\"streaming\");\n es.addEventListener(\"event\", (e) => {\n const frame = readFrame(\"event\", e as MessageEvent);\n if (frame) apply(frame as LogTailEvent);\n });\n es.addEventListener(\"done\", (e) => {\n const info = readFrame(\"done\", e as MessageEvent);\n if (info) settle(info as LogSessionInfo);\n es.close();\n });\n // A dropped connection is not a failure: EventSource reconnects with\n // Last-Event-ID and the server replays. It is reported through `status`\n // only, so a blip never leaves a sticky error the reader has to dismiss —\n // and never after the session ended, where it would overwrite the reason\n // it ended with a reconnect that is not going to happen.\n es.onerror = () => {\n if (!ended) setStatus(\"connection lost — retrying\");\n };\n };\n\n const start = async () => {\n let info: LogSessionInfo;\n try {\n const res = await fetch(\n `${basePath}/profile/${encodeURIComponent(profile)}/sessions?follow=true${paramsQuery}`,\n { method: \"POST\", headers: { Accept: \"application/json\" }, signal: aborter.signal },\n );\n if (cancelled) return;\n if (!res.ok) {\n const detail = (await res.text()).trim() || \"no detail\";\n setStatus(\"failed\");\n setError({\n scope: \"start\",\n httpStatus: res.status,\n message:\n res.status === 409\n ? `the server is already running as many follow sessions as it allows (HTTP 409): ${detail}`\n : `could not start a follow session for ${profile} (HTTP ${res.status}): ${detail}`,\n });\n return;\n }\n info = (await res.json()) as LogSessionInfo;\n } catch (cause) {\n // Our own abort on unmount or a parameter change: nothing is left to report to.\n if (cancelled) return;\n setStatus(\"failed\");\n setError({\n scope: \"start\",\n message: `could not reach ${basePath} to start a follow session for ${profile}: ${String(cause)}`,\n });\n return;\n }\n\n // The caller stopped following while the POST was in flight. If the\n // session was created, nothing ever subscribes, so the server ends it.\n if (cancelled) return;\n setSession(info);\n subscribe(info.id);\n };\n\n void start();\n // Aborting the start and closing the stream is the whole release: a view\n // session without a subscriber ends server-side.\n return () => {\n cancelled = true;\n aborter.abort();\n source?.close();\n };\n }, [profile, paramsQuery, basePath, wantFollow]);\n\n // Stopping returns the surface to idle, but a session that ended on its own\n // keeps its terminal status so the reason it ended stays on screen.\n useEffect(() => {\n if (!wantFollow) setStatus((prev) => (isTerminalTailStatus(prev) ? prev : \"idle\"));\n }, [wantFollow]);\n\n return {\n rows: buffer.rows,\n clickyRows: buffer.clickyRows,\n status,\n error,\n sessionId: session?.id ?? null,\n following: wantFollow && !isTerminalTailStatus(status),\n droppedRows: buffer.dropped,\n lastSequence: buffer.lastSequence,\n session,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const react = require("react");
|
|
4
|
+
function mediaMatches(query) {
|
|
5
|
+
const media = queryList(query);
|
|
6
|
+
return media ? media.matches : false;
|
|
7
|
+
}
|
|
8
|
+
function onMediaChange(query, onChange) {
|
|
9
|
+
var _a;
|
|
10
|
+
const media = queryList(query);
|
|
11
|
+
if (!media) return () => {
|
|
12
|
+
};
|
|
13
|
+
const listener = () => onChange(media.matches);
|
|
14
|
+
if (media.addEventListener) {
|
|
15
|
+
media.addEventListener("change", listener);
|
|
16
|
+
return () => media.removeEventListener("change", listener);
|
|
17
|
+
}
|
|
18
|
+
(_a = media.addListener) == null ? void 0 : _a.call(media, listener);
|
|
19
|
+
return () => {
|
|
20
|
+
var _a2;
|
|
21
|
+
return (_a2 = media.removeListener) == null ? void 0 : _a2.call(media, listener);
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function useMediaQuery(query) {
|
|
25
|
+
const [matches, setMatches] = react.useState(() => mediaMatches(query));
|
|
26
|
+
react.useEffect(() => {
|
|
27
|
+
setMatches(mediaMatches(query));
|
|
28
|
+
return onMediaChange(query, setMatches);
|
|
29
|
+
}, [query]);
|
|
30
|
+
return matches;
|
|
31
|
+
}
|
|
32
|
+
function queryList(query) {
|
|
33
|
+
if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return window.matchMedia(query);
|
|
37
|
+
}
|
|
38
|
+
exports.mediaMatches = mediaMatches;
|
|
39
|
+
exports.onMediaChange = onMediaChange;
|
|
40
|
+
exports.useMediaQuery = useMediaQuery;
|
|
41
|
+
//# sourceMappingURL=use-media-query.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-media-query.cjs","sources":["../../src/hooks/use-media-query.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\n/**\n * One place that asks the environment a media question, for every component in\n * this library that needs one.\n *\n * `window.matchMedia` is not universally present. jsdom does not implement it\n * at all, which matters more than it sounds: this library's own suite installs\n * a stub in `src/test/setup.ts`, so an unguarded call passes here and then\n * throws `window.matchMedia is not a function` in every CONSUMER's test file\n * that happens to render the component. That failure names the consumer's test,\n * not the component, so it reads as their regression rather than ours. It is\n * also absent during SSR, where there is no window at all.\n *\n * The rule these helpers encode: a media query that cannot be asked answers\n * FALSE. Every query in this library is phrased so false is the safe default —\n * not a narrow viewport, not reduced motion, not a dark colour scheme — so a\n * component in an environment that cannot answer renders the ordinary desktop,\n * full-motion, light case rather than failing.\n */\n\n/** Whether the environment matches `query` right now. False when it cannot be asked. */\nexport function mediaMatches(query: string): boolean {\n const media = queryList(query);\n return media ? media.matches : false;\n}\n\n/**\n * Calls `onChange` whenever `query` starts or stops matching, and returns an\n * unsubscribe.\n *\n * The unsubscribe is always callable, including where matchMedia is missing:\n * callers invoke it from a React cleanup, which runs whether or not the\n * subscribe did anything, so returning nothing would turn an absent API into a\n * crash on unmount.\n */\nexport function onMediaChange(\n query: string,\n onChange: (matches: boolean) => void,\n): () => void {\n const media = queryList(query);\n if (!media) return () => {};\n\n const listener = () => onChange(media.matches);\n // addEventListener is the modern form; addListener is deprecated but is all\n // Safari before 14 has, and dropping it would silently stop theme switching\n // there rather than fail visibly.\n if (media.addEventListener) {\n media.addEventListener(\"change\", listener);\n return () => media.removeEventListener(\"change\", listener);\n }\n media.addListener?.(listener);\n return () => media.removeListener?.(listener);\n}\n\n/** `mediaMatches` as a hook: re-renders when the answer changes. */\nexport function useMediaQuery(query: string): boolean {\n const [matches, setMatches] = useState(() => mediaMatches(query));\n\n useEffect(() => {\n // Re-read on subscribe: the query may have changed, or the environment may\n // have moved between the initial render and this effect.\n setMatches(mediaMatches(query));\n return onMediaChange(query, setMatches);\n }, [query]);\n\n return matches;\n}\n\nfunction queryList(query: string): MediaQueryList | null {\n if (typeof window === \"undefined\" || typeof window.matchMedia !== \"function\") {\n return null;\n }\n return window.matchMedia(query);\n}\n"],"names":["_a","useState","useEffect"],"mappings":";;;AAsBO,SAAS,aAAa,OAAwB;AACnD,QAAM,QAAQ,UAAU,KAAK;AAC7B,SAAO,QAAQ,MAAM,UAAU;AACjC;AAWO,SAAS,cACd,OACA,UACY;;AACZ,QAAM,QAAQ,UAAU,KAAK;AAC7B,MAAI,CAAC,MAAO,QAAO,MAAM;AAAA,EAAC;AAE1B,QAAM,WAAW,MAAM,SAAS,MAAM,OAAO;AAI7C,MAAI,MAAM,kBAAkB;AAC1B,UAAM,iBAAiB,UAAU,QAAQ;AACzC,WAAO,MAAM,MAAM,oBAAoB,UAAU,QAAQ;AAAA,EAC3D;AACA,cAAM,gBAAN,+BAAoB;AACpB,SAAO,MAAA;;AAAM,YAAAA,MAAA,MAAM,mBAAN,gBAAAA,IAAA,YAAuB;AAAA;AACtC;AAGO,SAAS,cAAc,OAAwB;AACpD,QAAM,CAAC,SAAS,UAAU,IAAIC,MAAAA,SAAS,MAAM,aAAa,KAAK,CAAC;AAEhEC,QAAAA,UAAU,MAAM;AAGd,eAAW,aAAa,KAAK,CAAC;AAC9B,WAAO,cAAc,OAAO,UAAU;AAAA,EACxC,GAAG,CAAC,KAAK,CAAC;AAEV,SAAO;AACT;AAEA,SAAS,UAAU,OAAsC;AACvD,MAAI,OAAO,WAAW,eAAe,OAAO,OAAO,eAAe,YAAY;AAC5E,WAAO;AAAA,EACT;AACA,SAAO,OAAO,WAAW,KAAK;AAChC;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One place that asks the environment a media question, for every component in
|
|
3
|
+
* this library that needs one.
|
|
4
|
+
*
|
|
5
|
+
* `window.matchMedia` is not universally present. jsdom does not implement it
|
|
6
|
+
* at all, which matters more than it sounds: this library's own suite installs
|
|
7
|
+
* a stub in `src/test/setup.ts`, so an unguarded call passes here and then
|
|
8
|
+
* throws `window.matchMedia is not a function` in every CONSUMER's test file
|
|
9
|
+
* that happens to render the component. That failure names the consumer's test,
|
|
10
|
+
* not the component, so it reads as their regression rather than ours. It is
|
|
11
|
+
* also absent during SSR, where there is no window at all.
|
|
12
|
+
*
|
|
13
|
+
* The rule these helpers encode: a media query that cannot be asked answers
|
|
14
|
+
* FALSE. Every query in this library is phrased so false is the safe default —
|
|
15
|
+
* not a narrow viewport, not reduced motion, not a dark colour scheme — so a
|
|
16
|
+
* component in an environment that cannot answer renders the ordinary desktop,
|
|
17
|
+
* full-motion, light case rather than failing.
|
|
18
|
+
*/
|
|
19
|
+
/** Whether the environment matches `query` right now. False when it cannot be asked. */
|
|
20
|
+
export declare function mediaMatches(query: string): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Calls `onChange` whenever `query` starts or stops matching, and returns an
|
|
23
|
+
* unsubscribe.
|
|
24
|
+
*
|
|
25
|
+
* The unsubscribe is always callable, including where matchMedia is missing:
|
|
26
|
+
* callers invoke it from a React cleanup, which runs whether or not the
|
|
27
|
+
* subscribe did anything, so returning nothing would turn an absent API into a
|
|
28
|
+
* crash on unmount.
|
|
29
|
+
*/
|
|
30
|
+
export declare function onMediaChange(query: string, onChange: (matches: boolean) => void): () => void;
|
|
31
|
+
/** `mediaMatches` as a hook: re-renders when the answer changes. */
|
|
32
|
+
export declare function useMediaQuery(query: string): boolean;
|
|
33
|
+
//# sourceMappingURL=use-media-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-media-query.d.ts","sourceRoot":"","sources":["../../src/hooks/use-media-query.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,wFAAwF;AACxF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACnC,MAAM,IAAI,CAcZ;AAED,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAWpD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useState, useEffect } from "react";
|
|
2
|
+
function mediaMatches(query) {
|
|
3
|
+
const media = queryList(query);
|
|
4
|
+
return media ? media.matches : false;
|
|
5
|
+
}
|
|
6
|
+
function onMediaChange(query, onChange) {
|
|
7
|
+
var _a;
|
|
8
|
+
const media = queryList(query);
|
|
9
|
+
if (!media) return () => {
|
|
10
|
+
};
|
|
11
|
+
const listener = () => onChange(media.matches);
|
|
12
|
+
if (media.addEventListener) {
|
|
13
|
+
media.addEventListener("change", listener);
|
|
14
|
+
return () => media.removeEventListener("change", listener);
|
|
15
|
+
}
|
|
16
|
+
(_a = media.addListener) == null ? void 0 : _a.call(media, listener);
|
|
17
|
+
return () => {
|
|
18
|
+
var _a2;
|
|
19
|
+
return (_a2 = media.removeListener) == null ? void 0 : _a2.call(media, listener);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function useMediaQuery(query) {
|
|
23
|
+
const [matches, setMatches] = useState(() => mediaMatches(query));
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
setMatches(mediaMatches(query));
|
|
26
|
+
return onMediaChange(query, setMatches);
|
|
27
|
+
}, [query]);
|
|
28
|
+
return matches;
|
|
29
|
+
}
|
|
30
|
+
function queryList(query) {
|
|
31
|
+
if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return window.matchMedia(query);
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
mediaMatches,
|
|
38
|
+
onMediaChange,
|
|
39
|
+
useMediaQuery
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=use-media-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-media-query.js","sources":["../../src/hooks/use-media-query.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\n/**\n * One place that asks the environment a media question, for every component in\n * this library that needs one.\n *\n * `window.matchMedia` is not universally present. jsdom does not implement it\n * at all, which matters more than it sounds: this library's own suite installs\n * a stub in `src/test/setup.ts`, so an unguarded call passes here and then\n * throws `window.matchMedia is not a function` in every CONSUMER's test file\n * that happens to render the component. That failure names the consumer's test,\n * not the component, so it reads as their regression rather than ours. It is\n * also absent during SSR, where there is no window at all.\n *\n * The rule these helpers encode: a media query that cannot be asked answers\n * FALSE. Every query in this library is phrased so false is the safe default —\n * not a narrow viewport, not reduced motion, not a dark colour scheme — so a\n * component in an environment that cannot answer renders the ordinary desktop,\n * full-motion, light case rather than failing.\n */\n\n/** Whether the environment matches `query` right now. False when it cannot be asked. */\nexport function mediaMatches(query: string): boolean {\n const media = queryList(query);\n return media ? media.matches : false;\n}\n\n/**\n * Calls `onChange` whenever `query` starts or stops matching, and returns an\n * unsubscribe.\n *\n * The unsubscribe is always callable, including where matchMedia is missing:\n * callers invoke it from a React cleanup, which runs whether or not the\n * subscribe did anything, so returning nothing would turn an absent API into a\n * crash on unmount.\n */\nexport function onMediaChange(\n query: string,\n onChange: (matches: boolean) => void,\n): () => void {\n const media = queryList(query);\n if (!media) return () => {};\n\n const listener = () => onChange(media.matches);\n // addEventListener is the modern form; addListener is deprecated but is all\n // Safari before 14 has, and dropping it would silently stop theme switching\n // there rather than fail visibly.\n if (media.addEventListener) {\n media.addEventListener(\"change\", listener);\n return () => media.removeEventListener(\"change\", listener);\n }\n media.addListener?.(listener);\n return () => media.removeListener?.(listener);\n}\n\n/** `mediaMatches` as a hook: re-renders when the answer changes. */\nexport function useMediaQuery(query: string): boolean {\n const [matches, setMatches] = useState(() => mediaMatches(query));\n\n useEffect(() => {\n // Re-read on subscribe: the query may have changed, or the environment may\n // have moved between the initial render and this effect.\n setMatches(mediaMatches(query));\n return onMediaChange(query, setMatches);\n }, [query]);\n\n return matches;\n}\n\nfunction queryList(query: string): MediaQueryList | null {\n if (typeof window === \"undefined\" || typeof window.matchMedia !== \"function\") {\n return null;\n }\n return window.matchMedia(query);\n}\n"],"names":["_a"],"mappings":";AAsBO,SAAS,aAAa,OAAwB;AACnD,QAAM,QAAQ,UAAU,KAAK;AAC7B,SAAO,QAAQ,MAAM,UAAU;AACjC;AAWO,SAAS,cACd,OACA,UACY;;AACZ,QAAM,QAAQ,UAAU,KAAK;AAC7B,MAAI,CAAC,MAAO,QAAO,MAAM;AAAA,EAAC;AAE1B,QAAM,WAAW,MAAM,SAAS,MAAM,OAAO;AAI7C,MAAI,MAAM,kBAAkB;AAC1B,UAAM,iBAAiB,UAAU,QAAQ;AACzC,WAAO,MAAM,MAAM,oBAAoB,UAAU,QAAQ;AAAA,EAC3D;AACA,cAAM,gBAAN,+BAAoB;AACpB,SAAO,MAAA;;AAAM,YAAAA,MAAA,MAAM,mBAAN,gBAAAA,IAAA,YAAuB;AAAA;AACtC;AAGO,SAAS,cAAc,OAAwB;AACpD,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,MAAM,aAAa,KAAK,CAAC;AAEhE,YAAU,MAAM;AAGd,eAAW,aAAa,KAAK,CAAC;AAC9B,WAAO,cAAc,OAAO,UAAU;AAAA,EACxC,GAAG,CAAC,KAAK,CAAC;AAEV,SAAO;AACT;AAEA,SAAS,UAAU,OAAsC;AACvD,MAAI,OAAO,WAAW,eAAe,OAAO,OAAO,eAAe,YAAY;AAC5E,WAAO;AAAA,EACT;AACA,SAAO,OAAO,WAAW,KAAK;AAChC;"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const react = require("react");
|
|
4
4
|
const TaskSnapshot = require("../data/TaskSnapshot.cjs");
|
|
5
|
+
const taskStreams = require("../data/task-streams.cjs");
|
|
5
6
|
const taskQueryKeys = require("../data/task-query-keys.cjs");
|
|
6
7
|
const DEFAULT_BASE = "/api/v1";
|
|
7
8
|
const DEFAULT_POLL_MS = 2e3;
|
|
@@ -22,18 +23,24 @@ function useTaskRun(options = {}) {
|
|
|
22
23
|
forcePoll = false
|
|
23
24
|
} = options;
|
|
24
25
|
const runIdsKey = ((ids == null ? void 0 : ids.filter(Boolean)) ?? (id ? [id] : [])).join(",");
|
|
26
|
+
const subscriptionKey = JSON.stringify([runIdsKey, kind ?? "", basePath, enabled]);
|
|
27
|
+
const [stateKey, setStateKey] = react.useState(subscriptionKey);
|
|
25
28
|
const [byId, setById] = react.useState({});
|
|
29
|
+
const [streamsById, setStreamsById] = react.useState({});
|
|
26
30
|
const [status, setStatus] = react.useState("idle");
|
|
27
31
|
const [isComplete, setIsComplete] = react.useState(false);
|
|
28
32
|
react.useEffect(() => {
|
|
29
33
|
const runIds = runIdsKey ? runIdsKey.split(",") : [];
|
|
34
|
+
setStateKey(subscriptionKey);
|
|
30
35
|
if (!enabled || runIds.length === 0 && !kind) {
|
|
31
36
|
setById({});
|
|
37
|
+
setStreamsById({});
|
|
32
38
|
setStatus("idle");
|
|
33
39
|
setIsComplete(false);
|
|
34
40
|
return;
|
|
35
41
|
}
|
|
36
42
|
setById({});
|
|
43
|
+
setStreamsById({});
|
|
37
44
|
setIsComplete(false);
|
|
38
45
|
const params = new URLSearchParams();
|
|
39
46
|
if (runIds.length > 0) params.set("tasks", runIdsKey);
|
|
@@ -47,20 +54,10 @@ function useTaskRun(options = {}) {
|
|
|
47
54
|
});
|
|
48
55
|
};
|
|
49
56
|
const mergeOutput = (delta) => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const truncatedField = delta.stream === "stdout" ? "stdoutTruncated" : "stderrTruncated";
|
|
55
|
-
return {
|
|
56
|
-
...prev,
|
|
57
|
-
[delta.id]: {
|
|
58
|
-
...snapshot,
|
|
59
|
-
[delta.stream]: value,
|
|
60
|
-
[truncatedField]: delta.truncated ?? snapshot[truncatedField]
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
});
|
|
57
|
+
setStreamsById((prev) => ({
|
|
58
|
+
...prev,
|
|
59
|
+
[delta.id]: taskStreams.applyTaskOutputDelta(prev[delta.id] ?? taskStreams.emptyTaskStreams, delta)
|
|
60
|
+
}));
|
|
64
61
|
};
|
|
65
62
|
if (forcePoll || !hasEventSource()) {
|
|
66
63
|
let stopped = false;
|
|
@@ -120,8 +117,13 @@ function useTaskRun(options = {}) {
|
|
|
120
117
|
});
|
|
121
118
|
es.onerror = () => setStatus("connection lost — retrying");
|
|
122
119
|
return () => es.close();
|
|
123
|
-
}, [runIdsKey, kind, basePath, enabled, pollMs, forcePoll]);
|
|
124
|
-
|
|
120
|
+
}, [subscriptionKey, runIdsKey, kind, basePath, enabled, pollMs, forcePoll]);
|
|
121
|
+
const current = stateKey === subscriptionKey;
|
|
122
|
+
const snapshots = react.useMemo(
|
|
123
|
+
() => current ? Object.values(byId).map((snapshot) => taskStreams.withTaskStreams(snapshot, streamsById[snapshot.id])) : [],
|
|
124
|
+
[current, byId, streamsById]
|
|
125
|
+
);
|
|
126
|
+
return { snapshots, status: current ? status : "idle", isComplete: current && isComplete };
|
|
125
127
|
}
|
|
126
128
|
function useTaskRuns(options = {}) {
|
|
127
129
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-task-run.cjs","sources":["../../src/hooks/use-task-run.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport {\n allGroupsTerminal,\n type TaskRunMeta,\n type TaskSnapshot,\n} from \"../data/TaskSnapshot\";\nimport { taskQueryKeys } from \"../data/task-query-keys\";\n\n// use-task-run / use-task-runs are the generic clicky-ui task clients. They are\n// SSE-first: they subscribe to clicky's SSEHandler (event: task / event: done)\n// and fall back to polling the JSON endpoints only when EventSource is\n// unavailable. They speak only TaskSnapshot / TaskRunMeta — no app concepts.\n\nexport interface TaskTransportOptions {\n /** Base path of the clicky task API, e.g. \"/api/v1\". */\n basePath?: string | undefined;\n /** Disable the subscription entirely (e.g. before an id is known). */\n enabled?: boolean | undefined;\n /** Poll interval (ms) for the fallback / runs listing. */\n pollMs?: number | undefined;\n /** Force the polling transport even when EventSource exists (mainly tests). */\n forcePoll?: boolean | undefined;\n}\n\nconst DEFAULT_BASE = \"/api/v1\";\nconst DEFAULT_POLL_MS = 2_000;\n\nfunction streamUrl(base: string, query: string): string {\n return `${base}/tasks/stream${query ? `?${query}` : \"\"}`;\n}\n\nfunction hasEventSource(): boolean {\n return typeof globalThis !== \"undefined\" && typeof globalThis.EventSource !== \"undefined\";\n}\n\nexport interface UseTaskRunResult {\n snapshots: TaskSnapshot[];\n status: string;\n isComplete: boolean;\n}\n\nexport interface UseTaskRunOptions extends TaskTransportOptions {\n /** Stable run id to follow (drill-down). Mutually exclusive with ids/kind. */\n id?: string | undefined;\n /** Stable run ids to follow together. Mutually exclusive with id/kind. */\n ids?: string[] | undefined;\n /** Follow every run of a kind. */\n kind?: string | undefined;\n}\n\n// useTaskRun follows one or more runs (by id) or a kind, SSE-first. It accumulates the\n// latest snapshot per task/group id and reports completion once every group is\n// terminal.\nexport function useTaskRun(options: UseTaskRunOptions = {}): UseTaskRunResult {\n const {\n id,\n ids,\n kind,\n basePath = DEFAULT_BASE,\n enabled = true,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n const runIdsKey = (ids?.filter(Boolean) ?? (id ? [id] : [])).join(\",\");\n\n const [byId, setById] = useState<Record<string, TaskSnapshot>>({});\n const [status, setStatus] = useState(\"idle\");\n const [isComplete, setIsComplete] = useState(false);\n\n useEffect(() => {\n const runIds = runIdsKey ? runIdsKey.split(\",\") : [];\n if (!enabled || (runIds.length === 0 && !kind)) {\n setById({});\n setStatus(\"idle\");\n setIsComplete(false);\n return;\n }\n setById({});\n setIsComplete(false);\n\n const params = new URLSearchParams();\n if (runIds.length > 0) params.set(\"tasks\", runIdsKey);\n if (kind) params.set(\"kind\", kind);\n const query = params.toString();\n\n const merge = (incoming: TaskSnapshot[]) => {\n setById((prev) => {\n const next = { ...prev };\n for (const snap of incoming) next[snap.type === \"group\" ? `group:${snap.groupId ?? snap.id}` : snap.id] = snap;\n return next;\n });\n };\n\n const mergeOutput = (delta: {\n id: string;\n stream: \"stdout\" | \"stderr\";\n data: string;\n reset?: boolean;\n truncated?: boolean;\n }) => {\n setById((prev) => {\n const snapshot = prev[delta.id];\n if (!snapshot) return prev;\n const value = delta.reset ? delta.data : `${snapshot[delta.stream] ?? \"\"}${delta.data}`;\n const truncatedField = delta.stream === \"stdout\" ? \"stdoutTruncated\" : \"stderrTruncated\";\n return {\n ...prev,\n [delta.id]: {\n ...snapshot,\n [delta.stream]: value,\n [truncatedField]: delta.truncated ?? snapshot[truncatedField],\n },\n };\n });\n };\n\n // Polling fallback transport.\n if (forcePoll || !hasEventSource()) {\n let stopped = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const tick = async () => {\n try {\n const responses = await Promise.all(runIds.map((runId) => fetch(\n `${basePath}/tasks/${encodeURIComponent(runId)}`,\n { headers: { Accept: \"application/json\" } },\n )));\n if (responses.some((response) => !response.ok)) throw new Error(\"Task request failed\");\n if (responses.every((response) => response.ok)) {\n const snaps = (await Promise.all(responses.map(\n async (response) => (await response.json()) as TaskSnapshot[],\n ))).flat();\n if (stopped) return;\n merge(snaps);\n setStatus(\"polling\");\n if (allGroupsTerminal(snaps)) {\n setIsComplete(true);\n return; // stop polling\n }\n }\n } catch {\n if (!stopped) setStatus(\"connection lost — retrying\");\n }\n if (!stopped) timer = setTimeout(tick, pollMs);\n };\n void tick();\n return () => {\n stopped = true;\n if (timer) clearTimeout(timer);\n };\n }\n\n // SSE transport (default).\n const es = new EventSource(streamUrl(basePath, query));\n setStatus(\"connecting\");\n es.onopen = () => setStatus(\"connected\");\n es.addEventListener(\"task\", (e) => {\n try {\n merge([JSON.parse((e as MessageEvent).data) as TaskSnapshot]);\n setStatus(\"connected\");\n } catch {\n setStatus(\"invalid task stream data\");\n }\n });\n es.addEventListener(\"output\", (e) => {\n try {\n mergeOutput(JSON.parse((e as MessageEvent).data) as Parameters<typeof mergeOutput>[0]);\n } catch {\n setStatus(\"invalid task output data\");\n }\n });\n es.addEventListener(\"done\", () => {\n setStatus(\"complete\");\n setIsComplete(true);\n es.close();\n });\n es.onerror = () => setStatus(\"connection lost — retrying\");\n return () => es.close();\n }, [runIdsKey, kind, basePath, enabled, pollMs, forcePoll]);\n\n return { snapshots: Object.values(byId), status, isComplete };\n}\n\nexport interface UseTaskRunsOptions extends TaskTransportOptions {\n kind?: string | undefined;\n status?: string | undefined;\n /** Label equality filters (k=v). */\n labels?: Record<string, string> | undefined;\n}\n\n/** The identity of the listing request that produced a given `runs` array. */\nexport type TaskRunsKey = ReturnType<typeof taskQueryKeys.runs>;\n\nexport interface UseTaskRunsResult {\n runs: TaskRunMeta[];\n status: string;\n /**\n * Query key of the request that actually produced `runs`, or null before the\n * first frame arrives. Changing `kind`/`status`/`labels` re-subscribes but\n * keeps the previous listing on screen until the new transport delivers, so\n * this key lags `taskQueryKeys.runs(options)` during that window. A consumer\n * mirroring `runs` into a cache must compare the two and skip the write while\n * they differ, or it publishes rows that do not match the requested filters.\n */\n runsKey: TaskRunsKey | null;\n}\n\n// useTaskRuns lists all runs (TaskRunMeta) for the manager view. It is SSE-first:\n// it subscribes to clicky's runs stream (event: runs carrying the full listing)\n// and falls back to polling the JSON runs endpoint only when EventSource is\n// unavailable or forced off. The listing has no completion terminal of its own —\n// a manager view stays subscribed to observe new and changing runs.\nexport function useTaskRuns(options: UseTaskRunsOptions = {}): UseTaskRunsResult {\n const {\n kind,\n status: statusFilter,\n labels,\n basePath = DEFAULT_BASE,\n enabled = true,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n\n // Runs are stored together with the key of the request that delivered them, so\n // a stale listing can never be mistaken for the current filters' result.\n const [received, setReceived] = useState<{\n key: TaskRunsKey | null;\n runs: TaskRunMeta[];\n }>({ key: null, runs: [] });\n const [status, setStatus] = useState(\"idle\");\n\n useEffect(() => {\n if (!enabled) return;\n\n const params = new URLSearchParams();\n if (kind) params.set(\"kind\", kind);\n if (statusFilter) params.set(\"status\", statusFilter);\n for (const [k, v] of Object.entries(labels ?? {})) params.append(\"label\", `${k}=${v}`);\n const query = params.toString();\n const requestKey = taskQueryKeys.runs({ basePath, kind, status: statusFilter, labels });\n const receive = (next: TaskRunMeta[]) => setReceived({ key: requestKey, runs: next });\n\n // Polling fallback transport.\n if (forcePoll || !hasEventSource()) {\n let stopped = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const tick = async () => {\n try {\n const res = await fetch(`${basePath}/tasks${query ? `?${query}` : \"\"}`, {\n headers: { Accept: \"application/json\" },\n });\n if (!res.ok) throw new Error(`Task listing failed with ${res.status}`);\n if (res.ok) {\n const next = (await res.json()) as TaskRunMeta[];\n if (stopped) return;\n receive(next);\n setStatus(\"polling\");\n }\n } catch {\n if (!stopped) setStatus(\"connection lost — retrying\");\n }\n if (!stopped) timer = setTimeout(tick, pollMs);\n };\n void tick();\n return () => {\n stopped = true;\n if (timer) clearTimeout(timer);\n };\n }\n\n // SSE transport (default).\n const es = new EventSource(`${basePath}/tasks/runs/stream${query ? `?${query}` : \"\"}`);\n setStatus(\"connecting\");\n es.onopen = () => setStatus(\"connected\");\n es.addEventListener(\"runs\", (e) => {\n try {\n receive(JSON.parse((e as MessageEvent).data) as TaskRunMeta[]);\n setStatus(\"connected\");\n } catch {\n setStatus(\"invalid task listing data\");\n }\n });\n es.onerror = () => setStatus(\"connection lost — retrying\");\n return () => es.close();\n }, [kind, statusFilter, JSON.stringify(labels ?? {}), basePath, enabled, pollMs, forcePoll]);\n\n return { runs: received.runs, status, runsKey: received.key };\n}\n"],"names":["useState","useEffect","allGroupsTerminal","taskQueryKeys"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-task-run.cjs","sources":["../../src/hooks/use-task-run.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport {\n allGroupsTerminal,\n type TaskRunMeta,\n type TaskSnapshot,\n} from \"../data/TaskSnapshot\";\nimport {\n applyTaskOutputDelta,\n emptyTaskStreams,\n type TaskOutputDelta,\n type TaskStreams,\n withTaskStreams,\n} from \"../data/task-streams\";\nimport { taskQueryKeys } from \"../data/task-query-keys\";\n\n// use-task-run / use-task-runs are the generic clicky-ui task clients. They are\n// SSE-first: they subscribe to clicky's SSEHandler (event: task / event: done)\n// and fall back to polling the JSON endpoints only when EventSource is\n// unavailable. They speak only TaskSnapshot / TaskRunMeta — no app concepts.\n\nexport interface TaskTransportOptions {\n /** Base path of the clicky task API, e.g. \"/api/v1\". */\n basePath?: string | undefined;\n /** Disable the subscription entirely (e.g. before an id is known). */\n enabled?: boolean | undefined;\n /** Poll interval (ms) for the fallback / runs listing. */\n pollMs?: number | undefined;\n /** Force the polling transport even when EventSource exists (mainly tests). */\n forcePoll?: boolean | undefined;\n}\n\nconst DEFAULT_BASE = \"/api/v1\";\nconst DEFAULT_POLL_MS = 2_000;\n\nfunction streamUrl(base: string, query: string): string {\n return `${base}/tasks/stream${query ? `?${query}` : \"\"}`;\n}\n\nfunction hasEventSource(): boolean {\n return typeof globalThis !== \"undefined\" && typeof globalThis.EventSource !== \"undefined\";\n}\n\nexport interface UseTaskRunResult {\n snapshots: TaskSnapshot[];\n status: string;\n isComplete: boolean;\n}\n\nexport interface UseTaskRunOptions extends TaskTransportOptions {\n /** Stable run id to follow (drill-down). Mutually exclusive with ids/kind. */\n id?: string | undefined;\n /** Stable run ids to follow together. Mutually exclusive with id/kind. */\n ids?: string[] | undefined;\n /** Follow every run of a kind. */\n kind?: string | undefined;\n}\n\n// useTaskRun follows one or more runs (by id) or a kind, SSE-first. It accumulates the\n// latest snapshot per task/group id and reports completion once every group is\n// terminal.\nexport function useTaskRun(options: UseTaskRunOptions = {}): UseTaskRunResult {\n const {\n id,\n ids,\n kind,\n basePath = DEFAULT_BASE,\n enabled = true,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n const runIdsKey = (ids?.filter(Boolean) ?? (id ? [id] : [])).join(\",\");\n // State is reset in an effect, so the first render after the subscription\n // changes still holds the previous run's snapshots and completion; stateKey\n // hides them until the reset lands.\n const subscriptionKey = JSON.stringify([runIdsKey, kind ?? \"\", basePath, enabled]);\n const [stateKey, setStateKey] = useState(subscriptionKey);\n\n const [byId, setById] = useState<Record<string, TaskSnapshot>>({});\n // Streams are held beside the snapshots, never inside them: a task frame\n // replaces its snapshot wholesale and would take the accumulated output with\n // it. See ../data/task-streams.\n const [streamsById, setStreamsById] = useState<Record<string, TaskStreams>>({});\n const [status, setStatus] = useState(\"idle\");\n const [isComplete, setIsComplete] = useState(false);\n\n useEffect(() => {\n const runIds = runIdsKey ? runIdsKey.split(\",\") : [];\n setStateKey(subscriptionKey);\n if (!enabled || (runIds.length === 0 && !kind)) {\n setById({});\n setStreamsById({});\n setStatus(\"idle\");\n setIsComplete(false);\n return;\n }\n setById({});\n setStreamsById({});\n setIsComplete(false);\n\n const params = new URLSearchParams();\n if (runIds.length > 0) params.set(\"tasks\", runIdsKey);\n if (kind) params.set(\"kind\", kind);\n const query = params.toString();\n\n const merge = (incoming: TaskSnapshot[]) => {\n setById((prev) => {\n const next = { ...prev };\n for (const snap of incoming) next[snap.type === \"group\" ? `group:${snap.groupId ?? snap.id}` : snap.id] = snap;\n return next;\n });\n };\n\n // Deltas are applied whether or not the task frame has landed yet: the\n // stream is keyed by task id on its own, so output that arrives first is\n // held rather than dropped.\n const mergeOutput = (delta: TaskOutputDelta) => {\n setStreamsById((prev) => ({\n ...prev,\n [delta.id]: applyTaskOutputDelta(prev[delta.id] ?? emptyTaskStreams, delta),\n }));\n };\n\n // Polling fallback transport.\n if (forcePoll || !hasEventSource()) {\n let stopped = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const tick = async () => {\n try {\n const responses = await Promise.all(runIds.map((runId) => fetch(\n `${basePath}/tasks/${encodeURIComponent(runId)}`,\n { headers: { Accept: \"application/json\" } },\n )));\n if (responses.some((response) => !response.ok)) throw new Error(\"Task request failed\");\n if (responses.every((response) => response.ok)) {\n const snaps = (await Promise.all(responses.map(\n async (response) => (await response.json()) as TaskSnapshot[],\n ))).flat();\n if (stopped) return;\n merge(snaps);\n setStatus(\"polling\");\n if (allGroupsTerminal(snaps)) {\n setIsComplete(true);\n return; // stop polling\n }\n }\n } catch {\n if (!stopped) setStatus(\"connection lost — retrying\");\n }\n if (!stopped) timer = setTimeout(tick, pollMs);\n };\n void tick();\n return () => {\n stopped = true;\n if (timer) clearTimeout(timer);\n };\n }\n\n // SSE transport (default).\n const es = new EventSource(streamUrl(basePath, query));\n setStatus(\"connecting\");\n es.onopen = () => setStatus(\"connected\");\n es.addEventListener(\"task\", (e) => {\n try {\n merge([JSON.parse((e as MessageEvent).data) as TaskSnapshot]);\n setStatus(\"connected\");\n } catch {\n setStatus(\"invalid task stream data\");\n }\n });\n es.addEventListener(\"output\", (e) => {\n try {\n mergeOutput(JSON.parse((e as MessageEvent).data) as TaskOutputDelta);\n } catch {\n setStatus(\"invalid task output data\");\n }\n });\n es.addEventListener(\"done\", () => {\n setStatus(\"complete\");\n setIsComplete(true);\n es.close();\n });\n es.onerror = () => setStatus(\"connection lost — retrying\");\n return () => es.close();\n }, [subscriptionKey, runIdsKey, kind, basePath, enabled, pollMs, forcePoll]);\n\n const current = stateKey === subscriptionKey;\n // The streams are merged back in only here, at the boundary. The polling\n // fallback never populates them — its JSON snapshots already carry the full\n // output — so this is a no-op on that transport.\n const snapshots = useMemo(\n () => current\n ? Object.values(byId).map((snapshot) => withTaskStreams(snapshot, streamsById[snapshot.id]))\n : [],\n [current, byId, streamsById],\n );\n\n return { snapshots, status: current ? status : \"idle\", isComplete: current && isComplete };\n}\n\nexport interface UseTaskRunsOptions extends TaskTransportOptions {\n kind?: string | undefined;\n status?: string | undefined;\n /** Label equality filters (k=v). */\n labels?: Record<string, string> | undefined;\n}\n\n/** The identity of the listing request that produced a given `runs` array. */\nexport type TaskRunsKey = ReturnType<typeof taskQueryKeys.runs>;\n\nexport interface UseTaskRunsResult {\n runs: TaskRunMeta[];\n status: string;\n /**\n * Query key of the request that actually produced `runs`, or null before the\n * first frame arrives. Changing `kind`/`status`/`labels` re-subscribes but\n * keeps the previous listing on screen until the new transport delivers, so\n * this key lags `taskQueryKeys.runs(options)` during that window. A consumer\n * mirroring `runs` into a cache must compare the two and skip the write while\n * they differ, or it publishes rows that do not match the requested filters.\n */\n runsKey: TaskRunsKey | null;\n}\n\n// useTaskRuns lists all runs (TaskRunMeta) for the manager view. It is SSE-first:\n// it subscribes to clicky's runs stream (event: runs carrying the full listing)\n// and falls back to polling the JSON runs endpoint only when EventSource is\n// unavailable or forced off. The listing has no completion terminal of its own —\n// a manager view stays subscribed to observe new and changing runs.\nexport function useTaskRuns(options: UseTaskRunsOptions = {}): UseTaskRunsResult {\n const {\n kind,\n status: statusFilter,\n labels,\n basePath = DEFAULT_BASE,\n enabled = true,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n\n // Runs are stored together with the key of the request that delivered them, so\n // a stale listing can never be mistaken for the current filters' result.\n const [received, setReceived] = useState<{\n key: TaskRunsKey | null;\n runs: TaskRunMeta[];\n }>({ key: null, runs: [] });\n const [status, setStatus] = useState(\"idle\");\n\n useEffect(() => {\n if (!enabled) return;\n\n const params = new URLSearchParams();\n if (kind) params.set(\"kind\", kind);\n if (statusFilter) params.set(\"status\", statusFilter);\n for (const [k, v] of Object.entries(labels ?? {})) params.append(\"label\", `${k}=${v}`);\n const query = params.toString();\n const requestKey = taskQueryKeys.runs({ basePath, kind, status: statusFilter, labels });\n const receive = (next: TaskRunMeta[]) => setReceived({ key: requestKey, runs: next });\n\n // Polling fallback transport.\n if (forcePoll || !hasEventSource()) {\n let stopped = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const tick = async () => {\n try {\n const res = await fetch(`${basePath}/tasks${query ? `?${query}` : \"\"}`, {\n headers: { Accept: \"application/json\" },\n });\n if (!res.ok) throw new Error(`Task listing failed with ${res.status}`);\n if (res.ok) {\n const next = (await res.json()) as TaskRunMeta[];\n if (stopped) return;\n receive(next);\n setStatus(\"polling\");\n }\n } catch {\n if (!stopped) setStatus(\"connection lost — retrying\");\n }\n if (!stopped) timer = setTimeout(tick, pollMs);\n };\n void tick();\n return () => {\n stopped = true;\n if (timer) clearTimeout(timer);\n };\n }\n\n // SSE transport (default).\n const es = new EventSource(`${basePath}/tasks/runs/stream${query ? `?${query}` : \"\"}`);\n setStatus(\"connecting\");\n es.onopen = () => setStatus(\"connected\");\n es.addEventListener(\"runs\", (e) => {\n try {\n receive(JSON.parse((e as MessageEvent).data) as TaskRunMeta[]);\n setStatus(\"connected\");\n } catch {\n setStatus(\"invalid task listing data\");\n }\n });\n es.onerror = () => setStatus(\"connection lost — retrying\");\n return () => es.close();\n }, [kind, statusFilter, JSON.stringify(labels ?? {}), basePath, enabled, pollMs, forcePoll]);\n\n return { runs: received.runs, status, runsKey: received.key };\n}\n"],"names":["useState","useEffect","applyTaskOutputDelta","emptyTaskStreams","allGroupsTerminal","useMemo","withTaskStreams","taskQueryKeys"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-task-run.d.ts","sourceRoot":"","sources":["../../src/hooks/use-task-run.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-task-run.d.ts","sourceRoot":"","sources":["../../src/hooks/use-task-run.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAOxD,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AAaD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D,8EAA8E;IAC9E,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAKD,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,gBAAgB,CAyI5E;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;CAC7C;AAED,8EAA8E;AAC9E,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CAC7B;AAOD,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,iBAAiB,CA2E/E"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { useState, useEffect } from "react";
|
|
1
|
+
import { useState, useEffect, useMemo } from "react";
|
|
2
2
|
import { allGroupsTerminal } from "../data/TaskSnapshot.js";
|
|
3
|
+
import { withTaskStreams, applyTaskOutputDelta, emptyTaskStreams } from "../data/task-streams.js";
|
|
3
4
|
import { taskQueryKeys } from "../data/task-query-keys.js";
|
|
4
5
|
const DEFAULT_BASE = "/api/v1";
|
|
5
6
|
const DEFAULT_POLL_MS = 2e3;
|
|
@@ -20,18 +21,24 @@ function useTaskRun(options = {}) {
|
|
|
20
21
|
forcePoll = false
|
|
21
22
|
} = options;
|
|
22
23
|
const runIdsKey = ((ids == null ? void 0 : ids.filter(Boolean)) ?? (id ? [id] : [])).join(",");
|
|
24
|
+
const subscriptionKey = JSON.stringify([runIdsKey, kind ?? "", basePath, enabled]);
|
|
25
|
+
const [stateKey, setStateKey] = useState(subscriptionKey);
|
|
23
26
|
const [byId, setById] = useState({});
|
|
27
|
+
const [streamsById, setStreamsById] = useState({});
|
|
24
28
|
const [status, setStatus] = useState("idle");
|
|
25
29
|
const [isComplete, setIsComplete] = useState(false);
|
|
26
30
|
useEffect(() => {
|
|
27
31
|
const runIds = runIdsKey ? runIdsKey.split(",") : [];
|
|
32
|
+
setStateKey(subscriptionKey);
|
|
28
33
|
if (!enabled || runIds.length === 0 && !kind) {
|
|
29
34
|
setById({});
|
|
35
|
+
setStreamsById({});
|
|
30
36
|
setStatus("idle");
|
|
31
37
|
setIsComplete(false);
|
|
32
38
|
return;
|
|
33
39
|
}
|
|
34
40
|
setById({});
|
|
41
|
+
setStreamsById({});
|
|
35
42
|
setIsComplete(false);
|
|
36
43
|
const params = new URLSearchParams();
|
|
37
44
|
if (runIds.length > 0) params.set("tasks", runIdsKey);
|
|
@@ -45,20 +52,10 @@ function useTaskRun(options = {}) {
|
|
|
45
52
|
});
|
|
46
53
|
};
|
|
47
54
|
const mergeOutput = (delta) => {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const truncatedField = delta.stream === "stdout" ? "stdoutTruncated" : "stderrTruncated";
|
|
53
|
-
return {
|
|
54
|
-
...prev,
|
|
55
|
-
[delta.id]: {
|
|
56
|
-
...snapshot,
|
|
57
|
-
[delta.stream]: value,
|
|
58
|
-
[truncatedField]: delta.truncated ?? snapshot[truncatedField]
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
});
|
|
55
|
+
setStreamsById((prev) => ({
|
|
56
|
+
...prev,
|
|
57
|
+
[delta.id]: applyTaskOutputDelta(prev[delta.id] ?? emptyTaskStreams, delta)
|
|
58
|
+
}));
|
|
62
59
|
};
|
|
63
60
|
if (forcePoll || !hasEventSource()) {
|
|
64
61
|
let stopped = false;
|
|
@@ -118,8 +115,13 @@ function useTaskRun(options = {}) {
|
|
|
118
115
|
});
|
|
119
116
|
es.onerror = () => setStatus("connection lost — retrying");
|
|
120
117
|
return () => es.close();
|
|
121
|
-
}, [runIdsKey, kind, basePath, enabled, pollMs, forcePoll]);
|
|
122
|
-
|
|
118
|
+
}, [subscriptionKey, runIdsKey, kind, basePath, enabled, pollMs, forcePoll]);
|
|
119
|
+
const current = stateKey === subscriptionKey;
|
|
120
|
+
const snapshots = useMemo(
|
|
121
|
+
() => current ? Object.values(byId).map((snapshot) => withTaskStreams(snapshot, streamsById[snapshot.id])) : [],
|
|
122
|
+
[current, byId, streamsById]
|
|
123
|
+
);
|
|
124
|
+
return { snapshots, status: current ? status : "idle", isComplete: current && isComplete };
|
|
123
125
|
}
|
|
124
126
|
function useTaskRuns(options = {}) {
|
|
125
127
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-task-run.js","sources":["../../src/hooks/use-task-run.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport {\n allGroupsTerminal,\n type TaskRunMeta,\n type TaskSnapshot,\n} from \"../data/TaskSnapshot\";\nimport { taskQueryKeys } from \"../data/task-query-keys\";\n\n// use-task-run / use-task-runs are the generic clicky-ui task clients. They are\n// SSE-first: they subscribe to clicky's SSEHandler (event: task / event: done)\n// and fall back to polling the JSON endpoints only when EventSource is\n// unavailable. They speak only TaskSnapshot / TaskRunMeta — no app concepts.\n\nexport interface TaskTransportOptions {\n /** Base path of the clicky task API, e.g. \"/api/v1\". */\n basePath?: string | undefined;\n /** Disable the subscription entirely (e.g. before an id is known). */\n enabled?: boolean | undefined;\n /** Poll interval (ms) for the fallback / runs listing. */\n pollMs?: number | undefined;\n /** Force the polling transport even when EventSource exists (mainly tests). */\n forcePoll?: boolean | undefined;\n}\n\nconst DEFAULT_BASE = \"/api/v1\";\nconst DEFAULT_POLL_MS = 2_000;\n\nfunction streamUrl(base: string, query: string): string {\n return `${base}/tasks/stream${query ? `?${query}` : \"\"}`;\n}\n\nfunction hasEventSource(): boolean {\n return typeof globalThis !== \"undefined\" && typeof globalThis.EventSource !== \"undefined\";\n}\n\nexport interface UseTaskRunResult {\n snapshots: TaskSnapshot[];\n status: string;\n isComplete: boolean;\n}\n\nexport interface UseTaskRunOptions extends TaskTransportOptions {\n /** Stable run id to follow (drill-down). Mutually exclusive with ids/kind. */\n id?: string | undefined;\n /** Stable run ids to follow together. Mutually exclusive with id/kind. */\n ids?: string[] | undefined;\n /** Follow every run of a kind. */\n kind?: string | undefined;\n}\n\n// useTaskRun follows one or more runs (by id) or a kind, SSE-first. It accumulates the\n// latest snapshot per task/group id and reports completion once every group is\n// terminal.\nexport function useTaskRun(options: UseTaskRunOptions = {}): UseTaskRunResult {\n const {\n id,\n ids,\n kind,\n basePath = DEFAULT_BASE,\n enabled = true,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n const runIdsKey = (ids?.filter(Boolean) ?? (id ? [id] : [])).join(\",\");\n\n const [byId, setById] = useState<Record<string, TaskSnapshot>>({});\n const [status, setStatus] = useState(\"idle\");\n const [isComplete, setIsComplete] = useState(false);\n\n useEffect(() => {\n const runIds = runIdsKey ? runIdsKey.split(\",\") : [];\n if (!enabled || (runIds.length === 0 && !kind)) {\n setById({});\n setStatus(\"idle\");\n setIsComplete(false);\n return;\n }\n setById({});\n setIsComplete(false);\n\n const params = new URLSearchParams();\n if (runIds.length > 0) params.set(\"tasks\", runIdsKey);\n if (kind) params.set(\"kind\", kind);\n const query = params.toString();\n\n const merge = (incoming: TaskSnapshot[]) => {\n setById((prev) => {\n const next = { ...prev };\n for (const snap of incoming) next[snap.type === \"group\" ? `group:${snap.groupId ?? snap.id}` : snap.id] = snap;\n return next;\n });\n };\n\n const mergeOutput = (delta: {\n id: string;\n stream: \"stdout\" | \"stderr\";\n data: string;\n reset?: boolean;\n truncated?: boolean;\n }) => {\n setById((prev) => {\n const snapshot = prev[delta.id];\n if (!snapshot) return prev;\n const value = delta.reset ? delta.data : `${snapshot[delta.stream] ?? \"\"}${delta.data}`;\n const truncatedField = delta.stream === \"stdout\" ? \"stdoutTruncated\" : \"stderrTruncated\";\n return {\n ...prev,\n [delta.id]: {\n ...snapshot,\n [delta.stream]: value,\n [truncatedField]: delta.truncated ?? snapshot[truncatedField],\n },\n };\n });\n };\n\n // Polling fallback transport.\n if (forcePoll || !hasEventSource()) {\n let stopped = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const tick = async () => {\n try {\n const responses = await Promise.all(runIds.map((runId) => fetch(\n `${basePath}/tasks/${encodeURIComponent(runId)}`,\n { headers: { Accept: \"application/json\" } },\n )));\n if (responses.some((response) => !response.ok)) throw new Error(\"Task request failed\");\n if (responses.every((response) => response.ok)) {\n const snaps = (await Promise.all(responses.map(\n async (response) => (await response.json()) as TaskSnapshot[],\n ))).flat();\n if (stopped) return;\n merge(snaps);\n setStatus(\"polling\");\n if (allGroupsTerminal(snaps)) {\n setIsComplete(true);\n return; // stop polling\n }\n }\n } catch {\n if (!stopped) setStatus(\"connection lost — retrying\");\n }\n if (!stopped) timer = setTimeout(tick, pollMs);\n };\n void tick();\n return () => {\n stopped = true;\n if (timer) clearTimeout(timer);\n };\n }\n\n // SSE transport (default).\n const es = new EventSource(streamUrl(basePath, query));\n setStatus(\"connecting\");\n es.onopen = () => setStatus(\"connected\");\n es.addEventListener(\"task\", (e) => {\n try {\n merge([JSON.parse((e as MessageEvent).data) as TaskSnapshot]);\n setStatus(\"connected\");\n } catch {\n setStatus(\"invalid task stream data\");\n }\n });\n es.addEventListener(\"output\", (e) => {\n try {\n mergeOutput(JSON.parse((e as MessageEvent).data) as Parameters<typeof mergeOutput>[0]);\n } catch {\n setStatus(\"invalid task output data\");\n }\n });\n es.addEventListener(\"done\", () => {\n setStatus(\"complete\");\n setIsComplete(true);\n es.close();\n });\n es.onerror = () => setStatus(\"connection lost — retrying\");\n return () => es.close();\n }, [runIdsKey, kind, basePath, enabled, pollMs, forcePoll]);\n\n return { snapshots: Object.values(byId), status, isComplete };\n}\n\nexport interface UseTaskRunsOptions extends TaskTransportOptions {\n kind?: string | undefined;\n status?: string | undefined;\n /** Label equality filters (k=v). */\n labels?: Record<string, string> | undefined;\n}\n\n/** The identity of the listing request that produced a given `runs` array. */\nexport type TaskRunsKey = ReturnType<typeof taskQueryKeys.runs>;\n\nexport interface UseTaskRunsResult {\n runs: TaskRunMeta[];\n status: string;\n /**\n * Query key of the request that actually produced `runs`, or null before the\n * first frame arrives. Changing `kind`/`status`/`labels` re-subscribes but\n * keeps the previous listing on screen until the new transport delivers, so\n * this key lags `taskQueryKeys.runs(options)` during that window. A consumer\n * mirroring `runs` into a cache must compare the two and skip the write while\n * they differ, or it publishes rows that do not match the requested filters.\n */\n runsKey: TaskRunsKey | null;\n}\n\n// useTaskRuns lists all runs (TaskRunMeta) for the manager view. It is SSE-first:\n// it subscribes to clicky's runs stream (event: runs carrying the full listing)\n// and falls back to polling the JSON runs endpoint only when EventSource is\n// unavailable or forced off. The listing has no completion terminal of its own —\n// a manager view stays subscribed to observe new and changing runs.\nexport function useTaskRuns(options: UseTaskRunsOptions = {}): UseTaskRunsResult {\n const {\n kind,\n status: statusFilter,\n labels,\n basePath = DEFAULT_BASE,\n enabled = true,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n\n // Runs are stored together with the key of the request that delivered them, so\n // a stale listing can never be mistaken for the current filters' result.\n const [received, setReceived] = useState<{\n key: TaskRunsKey | null;\n runs: TaskRunMeta[];\n }>({ key: null, runs: [] });\n const [status, setStatus] = useState(\"idle\");\n\n useEffect(() => {\n if (!enabled) return;\n\n const params = new URLSearchParams();\n if (kind) params.set(\"kind\", kind);\n if (statusFilter) params.set(\"status\", statusFilter);\n for (const [k, v] of Object.entries(labels ?? {})) params.append(\"label\", `${k}=${v}`);\n const query = params.toString();\n const requestKey = taskQueryKeys.runs({ basePath, kind, status: statusFilter, labels });\n const receive = (next: TaskRunMeta[]) => setReceived({ key: requestKey, runs: next });\n\n // Polling fallback transport.\n if (forcePoll || !hasEventSource()) {\n let stopped = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const tick = async () => {\n try {\n const res = await fetch(`${basePath}/tasks${query ? `?${query}` : \"\"}`, {\n headers: { Accept: \"application/json\" },\n });\n if (!res.ok) throw new Error(`Task listing failed with ${res.status}`);\n if (res.ok) {\n const next = (await res.json()) as TaskRunMeta[];\n if (stopped) return;\n receive(next);\n setStatus(\"polling\");\n }\n } catch {\n if (!stopped) setStatus(\"connection lost — retrying\");\n }\n if (!stopped) timer = setTimeout(tick, pollMs);\n };\n void tick();\n return () => {\n stopped = true;\n if (timer) clearTimeout(timer);\n };\n }\n\n // SSE transport (default).\n const es = new EventSource(`${basePath}/tasks/runs/stream${query ? `?${query}` : \"\"}`);\n setStatus(\"connecting\");\n es.onopen = () => setStatus(\"connected\");\n es.addEventListener(\"runs\", (e) => {\n try {\n receive(JSON.parse((e as MessageEvent).data) as TaskRunMeta[]);\n setStatus(\"connected\");\n } catch {\n setStatus(\"invalid task listing data\");\n }\n });\n es.onerror = () => setStatus(\"connection lost — retrying\");\n return () => es.close();\n }, [kind, statusFilter, JSON.stringify(labels ?? {}), basePath, enabled, pollMs, forcePoll]);\n\n return { runs: received.runs, status, runsKey: received.key };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-task-run.js","sources":["../../src/hooks/use-task-run.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport {\n allGroupsTerminal,\n type TaskRunMeta,\n type TaskSnapshot,\n} from \"../data/TaskSnapshot\";\nimport {\n applyTaskOutputDelta,\n emptyTaskStreams,\n type TaskOutputDelta,\n type TaskStreams,\n withTaskStreams,\n} from \"../data/task-streams\";\nimport { taskQueryKeys } from \"../data/task-query-keys\";\n\n// use-task-run / use-task-runs are the generic clicky-ui task clients. They are\n// SSE-first: they subscribe to clicky's SSEHandler (event: task / event: done)\n// and fall back to polling the JSON endpoints only when EventSource is\n// unavailable. They speak only TaskSnapshot / TaskRunMeta — no app concepts.\n\nexport interface TaskTransportOptions {\n /** Base path of the clicky task API, e.g. \"/api/v1\". */\n basePath?: string | undefined;\n /** Disable the subscription entirely (e.g. before an id is known). */\n enabled?: boolean | undefined;\n /** Poll interval (ms) for the fallback / runs listing. */\n pollMs?: number | undefined;\n /** Force the polling transport even when EventSource exists (mainly tests). */\n forcePoll?: boolean | undefined;\n}\n\nconst DEFAULT_BASE = \"/api/v1\";\nconst DEFAULT_POLL_MS = 2_000;\n\nfunction streamUrl(base: string, query: string): string {\n return `${base}/tasks/stream${query ? `?${query}` : \"\"}`;\n}\n\nfunction hasEventSource(): boolean {\n return typeof globalThis !== \"undefined\" && typeof globalThis.EventSource !== \"undefined\";\n}\n\nexport interface UseTaskRunResult {\n snapshots: TaskSnapshot[];\n status: string;\n isComplete: boolean;\n}\n\nexport interface UseTaskRunOptions extends TaskTransportOptions {\n /** Stable run id to follow (drill-down). Mutually exclusive with ids/kind. */\n id?: string | undefined;\n /** Stable run ids to follow together. Mutually exclusive with id/kind. */\n ids?: string[] | undefined;\n /** Follow every run of a kind. */\n kind?: string | undefined;\n}\n\n// useTaskRun follows one or more runs (by id) or a kind, SSE-first. It accumulates the\n// latest snapshot per task/group id and reports completion once every group is\n// terminal.\nexport function useTaskRun(options: UseTaskRunOptions = {}): UseTaskRunResult {\n const {\n id,\n ids,\n kind,\n basePath = DEFAULT_BASE,\n enabled = true,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n const runIdsKey = (ids?.filter(Boolean) ?? (id ? [id] : [])).join(\",\");\n // State is reset in an effect, so the first render after the subscription\n // changes still holds the previous run's snapshots and completion; stateKey\n // hides them until the reset lands.\n const subscriptionKey = JSON.stringify([runIdsKey, kind ?? \"\", basePath, enabled]);\n const [stateKey, setStateKey] = useState(subscriptionKey);\n\n const [byId, setById] = useState<Record<string, TaskSnapshot>>({});\n // Streams are held beside the snapshots, never inside them: a task frame\n // replaces its snapshot wholesale and would take the accumulated output with\n // it. See ../data/task-streams.\n const [streamsById, setStreamsById] = useState<Record<string, TaskStreams>>({});\n const [status, setStatus] = useState(\"idle\");\n const [isComplete, setIsComplete] = useState(false);\n\n useEffect(() => {\n const runIds = runIdsKey ? runIdsKey.split(\",\") : [];\n setStateKey(subscriptionKey);\n if (!enabled || (runIds.length === 0 && !kind)) {\n setById({});\n setStreamsById({});\n setStatus(\"idle\");\n setIsComplete(false);\n return;\n }\n setById({});\n setStreamsById({});\n setIsComplete(false);\n\n const params = new URLSearchParams();\n if (runIds.length > 0) params.set(\"tasks\", runIdsKey);\n if (kind) params.set(\"kind\", kind);\n const query = params.toString();\n\n const merge = (incoming: TaskSnapshot[]) => {\n setById((prev) => {\n const next = { ...prev };\n for (const snap of incoming) next[snap.type === \"group\" ? `group:${snap.groupId ?? snap.id}` : snap.id] = snap;\n return next;\n });\n };\n\n // Deltas are applied whether or not the task frame has landed yet: the\n // stream is keyed by task id on its own, so output that arrives first is\n // held rather than dropped.\n const mergeOutput = (delta: TaskOutputDelta) => {\n setStreamsById((prev) => ({\n ...prev,\n [delta.id]: applyTaskOutputDelta(prev[delta.id] ?? emptyTaskStreams, delta),\n }));\n };\n\n // Polling fallback transport.\n if (forcePoll || !hasEventSource()) {\n let stopped = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const tick = async () => {\n try {\n const responses = await Promise.all(runIds.map((runId) => fetch(\n `${basePath}/tasks/${encodeURIComponent(runId)}`,\n { headers: { Accept: \"application/json\" } },\n )));\n if (responses.some((response) => !response.ok)) throw new Error(\"Task request failed\");\n if (responses.every((response) => response.ok)) {\n const snaps = (await Promise.all(responses.map(\n async (response) => (await response.json()) as TaskSnapshot[],\n ))).flat();\n if (stopped) return;\n merge(snaps);\n setStatus(\"polling\");\n if (allGroupsTerminal(snaps)) {\n setIsComplete(true);\n return; // stop polling\n }\n }\n } catch {\n if (!stopped) setStatus(\"connection lost — retrying\");\n }\n if (!stopped) timer = setTimeout(tick, pollMs);\n };\n void tick();\n return () => {\n stopped = true;\n if (timer) clearTimeout(timer);\n };\n }\n\n // SSE transport (default).\n const es = new EventSource(streamUrl(basePath, query));\n setStatus(\"connecting\");\n es.onopen = () => setStatus(\"connected\");\n es.addEventListener(\"task\", (e) => {\n try {\n merge([JSON.parse((e as MessageEvent).data) as TaskSnapshot]);\n setStatus(\"connected\");\n } catch {\n setStatus(\"invalid task stream data\");\n }\n });\n es.addEventListener(\"output\", (e) => {\n try {\n mergeOutput(JSON.parse((e as MessageEvent).data) as TaskOutputDelta);\n } catch {\n setStatus(\"invalid task output data\");\n }\n });\n es.addEventListener(\"done\", () => {\n setStatus(\"complete\");\n setIsComplete(true);\n es.close();\n });\n es.onerror = () => setStatus(\"connection lost — retrying\");\n return () => es.close();\n }, [subscriptionKey, runIdsKey, kind, basePath, enabled, pollMs, forcePoll]);\n\n const current = stateKey === subscriptionKey;\n // The streams are merged back in only here, at the boundary. The polling\n // fallback never populates them — its JSON snapshots already carry the full\n // output — so this is a no-op on that transport.\n const snapshots = useMemo(\n () => current\n ? Object.values(byId).map((snapshot) => withTaskStreams(snapshot, streamsById[snapshot.id]))\n : [],\n [current, byId, streamsById],\n );\n\n return { snapshots, status: current ? status : \"idle\", isComplete: current && isComplete };\n}\n\nexport interface UseTaskRunsOptions extends TaskTransportOptions {\n kind?: string | undefined;\n status?: string | undefined;\n /** Label equality filters (k=v). */\n labels?: Record<string, string> | undefined;\n}\n\n/** The identity of the listing request that produced a given `runs` array. */\nexport type TaskRunsKey = ReturnType<typeof taskQueryKeys.runs>;\n\nexport interface UseTaskRunsResult {\n runs: TaskRunMeta[];\n status: string;\n /**\n * Query key of the request that actually produced `runs`, or null before the\n * first frame arrives. Changing `kind`/`status`/`labels` re-subscribes but\n * keeps the previous listing on screen until the new transport delivers, so\n * this key lags `taskQueryKeys.runs(options)` during that window. A consumer\n * mirroring `runs` into a cache must compare the two and skip the write while\n * they differ, or it publishes rows that do not match the requested filters.\n */\n runsKey: TaskRunsKey | null;\n}\n\n// useTaskRuns lists all runs (TaskRunMeta) for the manager view. It is SSE-first:\n// it subscribes to clicky's runs stream (event: runs carrying the full listing)\n// and falls back to polling the JSON runs endpoint only when EventSource is\n// unavailable or forced off. The listing has no completion terminal of its own —\n// a manager view stays subscribed to observe new and changing runs.\nexport function useTaskRuns(options: UseTaskRunsOptions = {}): UseTaskRunsResult {\n const {\n kind,\n status: statusFilter,\n labels,\n basePath = DEFAULT_BASE,\n enabled = true,\n pollMs = DEFAULT_POLL_MS,\n forcePoll = false,\n } = options;\n\n // Runs are stored together with the key of the request that delivered them, so\n // a stale listing can never be mistaken for the current filters' result.\n const [received, setReceived] = useState<{\n key: TaskRunsKey | null;\n runs: TaskRunMeta[];\n }>({ key: null, runs: [] });\n const [status, setStatus] = useState(\"idle\");\n\n useEffect(() => {\n if (!enabled) return;\n\n const params = new URLSearchParams();\n if (kind) params.set(\"kind\", kind);\n if (statusFilter) params.set(\"status\", statusFilter);\n for (const [k, v] of Object.entries(labels ?? {})) params.append(\"label\", `${k}=${v}`);\n const query = params.toString();\n const requestKey = taskQueryKeys.runs({ basePath, kind, status: statusFilter, labels });\n const receive = (next: TaskRunMeta[]) => setReceived({ key: requestKey, runs: next });\n\n // Polling fallback transport.\n if (forcePoll || !hasEventSource()) {\n let stopped = false;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const tick = async () => {\n try {\n const res = await fetch(`${basePath}/tasks${query ? `?${query}` : \"\"}`, {\n headers: { Accept: \"application/json\" },\n });\n if (!res.ok) throw new Error(`Task listing failed with ${res.status}`);\n if (res.ok) {\n const next = (await res.json()) as TaskRunMeta[];\n if (stopped) return;\n receive(next);\n setStatus(\"polling\");\n }\n } catch {\n if (!stopped) setStatus(\"connection lost — retrying\");\n }\n if (!stopped) timer = setTimeout(tick, pollMs);\n };\n void tick();\n return () => {\n stopped = true;\n if (timer) clearTimeout(timer);\n };\n }\n\n // SSE transport (default).\n const es = new EventSource(`${basePath}/tasks/runs/stream${query ? `?${query}` : \"\"}`);\n setStatus(\"connecting\");\n es.onopen = () => setStatus(\"connected\");\n es.addEventListener(\"runs\", (e) => {\n try {\n receive(JSON.parse((e as MessageEvent).data) as TaskRunMeta[]);\n setStatus(\"connected\");\n } catch {\n setStatus(\"invalid task listing data\");\n }\n });\n es.onerror = () => setStatus(\"connection lost — retrying\");\n return () => es.close();\n }, [kind, statusFilter, JSON.stringify(labels ?? {}), basePath, enabled, pollMs, forcePoll]);\n\n return { runs: received.runs, status, runsKey: received.key };\n}\n"],"names":[],"mappings":"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"}
|
package/dist/hooks/use-theme.cjs
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const react = require("react");
|
|
4
|
+
const useMediaQuery = require("./use-media-query.cjs");
|
|
5
|
+
const PREFERS_DARK_QUERY = "(prefers-color-scheme: dark)";
|
|
4
6
|
const THEME_STORAGE_KEY = "clicky-ui-theme";
|
|
5
7
|
const DATA_ATTR = "data-theme";
|
|
6
8
|
const ThemeContext = react.createContext(null);
|
|
7
9
|
function prefersDark() {
|
|
8
|
-
|
|
9
|
-
return window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
10
|
+
return useMediaQuery.mediaMatches(PREFERS_DARK_QUERY);
|
|
10
11
|
}
|
|
11
12
|
function readStoredTheme() {
|
|
12
13
|
if (typeof window === "undefined") return "system";
|
|
@@ -34,18 +35,19 @@ function useResolvedTheme(override) {
|
|
|
34
35
|
const [systemResolved, setSystemResolved] = react.useState(
|
|
35
36
|
() => prefersDark() ? "dark" : "light"
|
|
36
37
|
);
|
|
37
|
-
react.useEffect(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
react.useEffect(
|
|
39
|
+
() => useMediaQuery.onMediaChange(
|
|
40
|
+
PREFERS_DARK_QUERY,
|
|
41
|
+
(dark) => setSystemResolved(dark ? "dark" : "light")
|
|
42
|
+
),
|
|
43
|
+
[]
|
|
44
|
+
);
|
|
44
45
|
if (override && override !== "system") return override;
|
|
45
46
|
if (override === "system") return systemResolved;
|
|
46
47
|
if (ctx) return ctx.resolvedTheme;
|
|
47
48
|
return systemResolved;
|
|
48
49
|
}
|
|
50
|
+
exports.PREFERS_DARK_QUERY = PREFERS_DARK_QUERY;
|
|
49
51
|
exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY;
|
|
50
52
|
exports.ThemeContext = ThemeContext;
|
|
51
53
|
exports.applyTheme = applyTheme;
|