@flanksource/clicky-ui 0.3.33 → 0.3.35
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/README.md +4 -0
- package/dist/ai.cjs +3 -0
- package/dist/ai.cjs.map +1 -1
- package/dist/ai.js +3 -0
- package/dist/ai.js.map +1 -1
- package/dist/comments/CommentCard.cjs +9 -8
- package/dist/comments/CommentCard.cjs.map +1 -1
- package/dist/comments/CommentCard.d.ts +1 -1
- package/dist/comments/CommentCard.d.ts.map +1 -1
- package/dist/comments/CommentCard.js +2 -1
- package/dist/comments/CommentCard.js.map +1 -1
- package/dist/comments/CommentCardParts.cjs +2 -1
- package/dist/comments/CommentCardParts.cjs.map +1 -1
- package/dist/comments/CommentCardParts.d.ts.map +1 -1
- package/dist/comments/CommentCardParts.js +2 -1
- package/dist/comments/CommentCardParts.js.map +1 -1
- package/dist/comments/CommentProvider.d.ts +1 -1
- package/dist/comments/CommentSidePanel.cjs +3 -2
- package/dist/comments/CommentSidePanel.cjs.map +1 -1
- package/dist/comments/CommentSidePanel.d.ts.map +1 -1
- package/dist/comments/CommentSidePanel.js +2 -1
- package/dist/comments/CommentSidePanel.js.map +1 -1
- package/dist/comments/CommentThread.d.ts +1 -1
- package/dist/comments/CommentThreadList.d.ts +1 -1
- package/dist/comments/MentionTextarea.d.ts +1 -1
- package/dist/comments/comment-context.d.ts +4 -4
- package/dist/comments/comment-fixtures.d.ts +1 -1
- package/dist/comments/comment-types.d.ts +1 -1
- package/dist/comments/comment-utils.cjs +0 -27
- package/dist/comments/comment-utils.cjs.map +1 -1
- package/dist/comments/comment-utils.d.ts +1 -7
- package/dist/comments/comment-utils.d.ts.map +1 -1
- package/dist/comments/comment-utils.js +0 -27
- package/dist/comments/comment-utils.js.map +1 -1
- package/dist/comments.cjs +4 -3
- package/dist/comments.cjs.map +1 -1
- package/dist/comments.d.ts +1 -0
- package/dist/comments.d.ts.map +1 -1
- package/dist/comments.js +2 -1
- package/dist/comments.js.map +1 -1
- package/dist/components/AccordionList.d.ts +1 -1
- package/dist/components/ComboboxControl.d.ts +1 -1
- package/dist/components/ComboboxMenu.d.ts +2 -2
- package/dist/components/ComboboxTags.cjs +41 -11
- package/dist/components/ComboboxTags.cjs.map +1 -1
- package/dist/components/ComboboxTags.d.ts +6 -0
- package/dist/components/ComboboxTags.d.ts.map +1 -1
- package/dist/components/ComboboxTags.js +41 -11
- package/dist/components/ComboboxTags.js.map +1 -1
- package/dist/components/DateField.d.ts +3 -3
- package/dist/components/DatePicker.d.ts +3 -3
- package/dist/components/DateTimePicker.d.ts +3 -3
- package/dist/components/ErrorWrapper.d.ts +2 -2
- package/dist/components/Field.d.ts +1 -1
- package/dist/components/FilterBar.d.ts +1 -1
- package/dist/components/FormLookupProvider.d.ts +1 -1
- package/dist/components/FormatOptionsDropdown.d.ts +1 -1
- package/dist/components/IconButton.d.ts +3 -3
- package/dist/components/InputField.d.ts +2 -2
- package/dist/components/ItemActions.d.ts +1 -1
- package/dist/components/JsonSchemaForm.cjs +17 -36
- 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 +17 -36
- package/dist/components/JsonSchemaForm.js.map +1 -1
- package/dist/components/ListMenu.d.ts +1 -1
- package/dist/components/MultiSelect.d.ts +1 -1
- package/dist/components/RangeSlider.cjs +15 -1
- package/dist/components/RangeSlider.cjs.map +1 -1
- package/dist/components/RangeSlider.d.ts.map +1 -1
- package/dist/components/RangeSlider.js +15 -1
- package/dist/components/RangeSlider.js.map +1 -1
- package/dist/components/SearchInput.d.ts +1 -1
- package/dist/components/SegmentedControl.d.ts +1 -1
- package/dist/components/SplitButton.d.ts +1 -1
- package/dist/components/Switch.d.ts +1 -1
- package/dist/components/TreePickerField.cjs +11 -2
- package/dist/components/TreePickerField.cjs.map +1 -1
- package/dist/components/TreePickerField.d.ts +13 -4
- package/dist/components/TreePickerField.d.ts.map +1 -1
- package/dist/components/TreePickerField.js +11 -2
- package/dist/components/TreePickerField.js.map +1 -1
- package/dist/components/UnitStepControls.d.ts +1 -1
- package/dist/components/button.d.ts +3 -3
- package/dist/components/combobox-types.d.ts +1 -1
- package/dist/components/density-switcher.d.ts +1 -1
- package/dist/components/filter-bar-context.d.ts +1 -1
- package/dist/components/filter-bar-field-utils.d.ts +2 -2
- package/dist/components/form-lookup-context.d.ts +1 -1
- package/dist/components/icon-menu-picker.d.ts +1 -1
- package/dist/components/json-schema-form-accordion-array.cjs +44 -21
- package/dist/components/json-schema-form-accordion-array.cjs.map +1 -1
- package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-accordion-array.js +47 -24
- package/dist/components/json-schema-form-accordion-array.js.map +1 -1
- package/dist/components/json-schema-form-array.cjs +53 -30
- package/dist/components/json-schema-form-array.cjs.map +1 -1
- package/dist/components/json-schema-form-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-array.js +54 -31
- package/dist/components/json-schema-form-array.js.map +1 -1
- package/dist/components/json-schema-form-cards-array.cjs +32 -22
- package/dist/components/json-schema-form-cards-array.cjs.map +1 -1
- package/dist/components/json-schema-form-cards-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-cards-array.js +33 -23
- package/dist/components/json-schema-form-cards-array.js.map +1 -1
- package/dist/components/json-schema-form-collection-layouts.fixtures.d.ts +44 -0
- package/dist/components/json-schema-form-collection-layouts.fixtures.d.ts.map +1 -0
- package/dist/components/json-schema-form-discriminator.d.ts +1 -1
- package/dist/components/json-schema-form-errors.cjs +5 -1
- package/dist/components/json-schema-form-errors.cjs.map +1 -1
- package/dist/components/json-schema-form-errors.d.ts +2 -1
- package/dist/components/json-schema-form-errors.d.ts.map +1 -1
- package/dist/components/json-schema-form-errors.js +6 -2
- package/dist/components/json-schema-form-errors.js.map +1 -1
- package/dist/components/json-schema-form-extensions.d.ts +1 -1
- package/dist/components/json-schema-form-filter-input.cjs +50 -0
- package/dist/components/json-schema-form-filter-input.cjs.map +1 -0
- package/dist/components/json-schema-form-filter-input.d.ts +5 -0
- package/dist/components/json-schema-form-filter-input.d.ts.map +1 -0
- package/dist/components/json-schema-form-filter-input.js +50 -0
- package/dist/components/json-schema-form-filter-input.js.map +1 -0
- package/dist/components/json-schema-form-filter.cjs +49 -0
- package/dist/components/json-schema-form-filter.cjs.map +1 -0
- package/dist/components/json-schema-form-filter.d.ts +8 -0
- package/dist/components/json-schema-form-filter.d.ts.map +1 -0
- package/dist/components/json-schema-form-filter.js +49 -0
- package/dist/components/json-schema-form-filter.js.map +1 -0
- package/dist/components/json-schema-form-layout.cjs +84 -17
- package/dist/components/json-schema-form-layout.cjs.map +1 -1
- package/dist/components/json-schema-form-layout.d.ts +1 -1
- package/dist/components/json-schema-form-layout.d.ts.map +1 -1
- package/dist/components/json-schema-form-layout.js +84 -17
- package/dist/components/json-schema-form-layout.js.map +1 -1
- package/dist/components/json-schema-form-list-array.cjs +16 -5
- package/dist/components/json-schema-form-list-array.cjs.map +1 -1
- package/dist/components/json-schema-form-list-array.d.ts +2 -1
- package/dist/components/json-schema-form-list-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-list-array.js +16 -5
- package/dist/components/json-schema-form-list-array.js.map +1 -1
- package/dist/components/json-schema-form-object.cjs +239 -85
- package/dist/components/json-schema-form-object.cjs.map +1 -1
- package/dist/components/json-schema-form-object.d.ts +2 -2
- package/dist/components/json-schema-form-object.d.ts.map +1 -1
- package/dist/components/json-schema-form-object.js +241 -87
- package/dist/components/json-schema-form-object.js.map +1 -1
- package/dist/components/json-schema-form-preferences.cjs +1 -1
- package/dist/components/json-schema-form-preferences.cjs.map +1 -1
- package/dist/components/json-schema-form-preferences.d.ts +1 -1
- package/dist/components/json-schema-form-preferences.d.ts.map +1 -1
- package/dist/components/json-schema-form-preferences.js +1 -1
- package/dist/components/json-schema-form-preferences.js.map +1 -1
- package/dist/components/json-schema-form-properties-errors.fixtures.d.ts +14 -0
- package/dist/components/json-schema-form-properties-errors.fixtures.d.ts.map +1 -0
- package/dist/components/json-schema-form-properties-size.cjs +19 -0
- package/dist/components/json-schema-form-properties-size.cjs.map +1 -0
- package/dist/components/json-schema-form-properties-size.d.ts +4 -0
- package/dist/components/json-schema-form-properties-size.d.ts.map +1 -0
- package/dist/components/json-schema-form-properties-size.js +19 -0
- package/dist/components/json-schema-form-properties-size.js.map +1 -0
- package/dist/components/json-schema-form-properties.cjs +305 -0
- package/dist/components/json-schema-form-properties.cjs.map +1 -0
- package/dist/components/json-schema-form-properties.d.ts +20 -0
- package/dist/components/json-schema-form-properties.d.ts.map +1 -0
- package/dist/components/json-schema-form-properties.fixtures.d.ts +157 -0
- package/dist/components/json-schema-form-properties.fixtures.d.ts.map +1 -0
- package/dist/components/json-schema-form-properties.js +305 -0
- package/dist/components/json-schema-form-properties.js.map +1 -0
- package/dist/components/json-schema-form-property-actions-context.cjs +6 -0
- package/dist/components/json-schema-form-property-actions-context.cjs.map +1 -0
- package/dist/components/json-schema-form-property-actions-context.d.ts +2 -0
- package/dist/components/json-schema-form-property-actions-context.d.ts.map +1 -0
- package/dist/components/json-schema-form-property-actions-context.js +6 -0
- package/dist/components/json-schema-form-property-actions-context.js.map +1 -0
- package/dist/components/json-schema-form-property-collection.cjs +31 -0
- package/dist/components/json-schema-form-property-collection.cjs.map +1 -0
- package/dist/components/json-schema-form-property-collection.d.ts +6 -0
- package/dist/components/json-schema-form-property-collection.d.ts.map +1 -0
- package/dist/components/json-schema-form-property-collection.js +31 -0
- package/dist/components/json-schema-form-property-collection.js.map +1 -0
- package/dist/components/json-schema-form-property-draft.cjs +45 -0
- package/dist/components/json-schema-form-property-draft.cjs.map +1 -0
- package/dist/components/json-schema-form-property-draft.d.ts +8 -0
- package/dist/components/json-schema-form-property-draft.d.ts.map +1 -0
- package/dist/components/json-schema-form-property-draft.js +45 -0
- package/dist/components/json-schema-form-property-draft.js.map +1 -0
- package/dist/components/json-schema-form-property-preview.cjs +68 -0
- package/dist/components/json-schema-form-property-preview.cjs.map +1 -0
- package/dist/components/json-schema-form-property-preview.d.ts +7 -0
- package/dist/components/json-schema-form-property-preview.d.ts.map +1 -0
- package/dist/components/json-schema-form-property-preview.js +68 -0
- package/dist/components/json-schema-form-property-preview.js.map +1 -0
- package/dist/components/json-schema-form-property-selection.cjs +89 -0
- package/dist/components/json-schema-form-property-selection.cjs.map +1 -0
- package/dist/components/json-schema-form-property-selection.d.ts +6 -0
- package/dist/components/json-schema-form-property-selection.d.ts.map +1 -0
- package/dist/components/json-schema-form-property-selection.js +89 -0
- package/dist/components/json-schema-form-property-selection.js.map +1 -0
- package/dist/components/json-schema-form-render.cjs +41 -4
- package/dist/components/json-schema-form-render.cjs.map +1 -1
- package/dist/components/json-schema-form-render.d.ts +1 -1
- package/dist/components/json-schema-form-render.d.ts.map +1 -1
- package/dist/components/json-schema-form-render.js +42 -5
- package/dist/components/json-schema-form-render.js.map +1 -1
- package/dist/components/json-schema-form-resolve.cjs +2 -0
- 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 +2 -0
- package/dist/components/json-schema-form-resolve.js.map +1 -1
- package/dist/components/json-schema-form-runtime-types.d.ts +222 -0
- package/dist/components/json-schema-form-runtime-types.d.ts.map +1 -0
- package/dist/components/json-schema-form-table-array.cjs +82 -51
- package/dist/components/json-schema-form-table-array.cjs.map +1 -1
- package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
- package/dist/components/json-schema-form-table-array.js +84 -53
- package/dist/components/json-schema-form-table-array.js.map +1 -1
- package/dist/components/json-schema-form-template-menu.d.ts +1 -1
- package/dist/components/json-schema-form-template.d.ts +1 -1
- package/dist/components/json-schema-form-types.d.ts +7 -179
- package/dist/components/json-schema-form-types.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.cjs +10 -9
- package/dist/components/json-schema-form-utils.cjs.map +1 -1
- package/dist/components/json-schema-form-utils.d.ts +11 -1
- package/dist/components/json-schema-form-utils.d.ts.map +1 -1
- package/dist/components/json-schema-form-utils.js +10 -9
- package/dist/components/json-schema-form-utils.js.map +1 -1
- package/dist/components/loading.d.ts +4 -4
- package/dist/components/mdx-editor-callout.d.ts +1 -1
- package/dist/components/mdx-editor-options.d.ts +1 -1
- package/dist/components/select.d.ts +3 -3
- package/dist/components/theme-switcher.d.ts +1 -1
- package/dist/components/use-list-menu-selection.d.ts +1 -1
- package/dist/components/useComboboxLayout.d.ts +1 -1
- package/dist/components/workload-picker-utils.d.ts +1 -1
- package/dist/data/Avatar.d.ts +1 -1
- package/dist/data/AvatarBadge.d.ts +1 -1
- package/dist/data/Badge.d.ts +1 -1
- package/dist/data/Callout.d.ts +1 -1
- package/dist/data/DataTable.cjs +575 -435
- package/dist/data/DataTable.cjs.map +1 -1
- package/dist/data/DataTable.d.ts +21 -13
- package/dist/data/DataTable.d.ts.map +1 -1
- package/dist/data/DataTable.grouping.d.ts +1 -1
- package/dist/data/DataTable.js +575 -435
- package/dist/data/DataTable.js.map +1 -1
- package/dist/data/ExecutionTree.d.ts +1 -1
- package/dist/data/FilterPill.d.ts +1 -1
- package/dist/data/FixtureEditor/RawFenceEditor.d.ts +1 -1
- package/dist/data/FixtureEditor/types.d.ts +1 -1
- package/dist/data/Gauge.d.ts +1 -1
- package/dist/data/GaugeHoverCard.d.ts +1 -1
- package/dist/data/Icon.d.ts +1 -1
- package/dist/data/KeyValueList.d.ts +1 -1
- package/dist/data/MarkdownEditor.d.ts +1 -1
- package/dist/data/MatrixTable.d.ts +1 -1
- package/dist/data/ObjectGraph.d.ts +1 -1
- package/dist/data/ProgressBars.d.ts +1 -1
- package/dist/data/Properties.cjs +86 -35
- package/dist/data/Properties.cjs.map +1 -1
- package/dist/data/Properties.d.ts +2 -2
- package/dist/data/Properties.d.ts.map +1 -1
- package/dist/data/Properties.js +87 -36
- package/dist/data/Properties.js.map +1 -1
- package/dist/data/RadialGauge.d.ts +1 -1
- package/dist/data/SchemaViewer.d.ts +1 -1
- package/dist/data/SortableHeader.d.ts +1 -1
- package/dist/data/StatStrip.d.ts +1 -1
- package/dist/data/StatusBreakdown.d.ts +1 -1
- package/dist/data/TabButton.d.ts +1 -1
- package/dist/data/TaskManager.cjs +9 -17
- package/dist/data/TaskManager.cjs.map +1 -1
- package/dist/data/TaskManager.d.ts.map +1 -1
- package/dist/data/TaskManager.js +9 -17
- package/dist/data/TaskManager.js.map +1 -1
- package/dist/data/TaskManagerButton.cjs +17 -34
- package/dist/data/TaskManagerButton.cjs.map +1 -1
- package/dist/data/TaskManagerButton.d.ts.map +1 -1
- package/dist/data/TaskManagerButton.js +18 -35
- package/dist/data/TaskManagerButton.js.map +1 -1
- package/dist/data/TaskProcessDetails.cjs +5 -26
- package/dist/data/TaskProcessDetails.cjs.map +1 -1
- package/dist/data/TaskProcessDetails.d.ts +2 -1
- package/dist/data/TaskProcessDetails.d.ts.map +1 -1
- package/dist/data/TaskProcessDetails.js +5 -26
- package/dist/data/TaskProcessDetails.js.map +1 -1
- package/dist/data/TaskProgress.cjs +24 -15
- package/dist/data/TaskProgress.cjs.map +1 -1
- package/dist/data/TaskProgress.d.ts +2 -1
- package/dist/data/TaskProgress.d.ts.map +1 -1
- package/dist/data/TaskProgress.js +24 -15
- package/dist/data/TaskProgress.js.map +1 -1
- package/dist/data/TaskResourceReadings.cjs +42 -0
- package/dist/data/TaskResourceReadings.cjs.map +1 -0
- package/dist/data/TaskResourceReadings.d.ts +6 -0
- package/dist/data/TaskResourceReadings.d.ts.map +1 -0
- package/dist/data/TaskResourceReadings.js +42 -0
- package/dist/data/TaskResourceReadings.js.map +1 -0
- package/dist/data/TaskSnapshot.cjs.map +1 -1
- package/dist/data/TaskSnapshot.d.ts +14 -1
- package/dist/data/TaskSnapshot.d.ts.map +1 -1
- package/dist/data/TaskSnapshot.js.map +1 -1
- package/dist/data/Timeline.d.ts +1 -1
- package/dist/data/Tree.d.ts +1 -1
- package/dist/data/TreeGroupHeader.d.ts +1 -1
- package/dist/data/TreeNode.d.ts +1 -1
- package/dist/data/Version.d.ts +3 -3
- package/dist/data/ai/ChatWindow.cjs +22 -12
- package/dist/data/ai/ChatWindow.cjs.map +1 -1
- package/dist/data/ai/ChatWindow.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.js +22 -12
- package/dist/data/ai/ChatWindow.js.map +1 -1
- package/dist/data/ai/ChatWindow.test-utils.d.ts +4 -2
- package/dist/data/ai/ChatWindow.test-utils.d.ts.map +1 -1
- package/dist/data/ai/ChatWindow.types.d.ts +1 -1
- package/dist/data/ai/ChatWindowManager.cjs +2 -0
- package/dist/data/ai/ChatWindowManager.cjs.map +1 -1
- package/dist/data/ai/ChatWindowManager.d.ts +1 -1
- package/dist/data/ai/ChatWindowManager.d.ts.map +1 -1
- package/dist/data/ai/ChatWindowManager.js +2 -0
- package/dist/data/ai/ChatWindowManager.js.map +1 -1
- package/dist/data/ai/PolicyTree.d.ts +1 -1
- package/dist/data/ai/PromptCatalog/PromptPageHeader.d.ts +1 -1
- package/dist/data/ai/PromptCatalog/types.d.ts +1 -1
- package/dist/data/ai/PromptRunEditor/index.cjs +4 -0
- package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.d.ts +5 -2
- package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
- package/dist/data/ai/PromptRunEditor/index.js +4 -0
- package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
- package/dist/data/ai/SessionChatComposer.d.ts +1 -1
- package/dist/data/ai/SessionInspector.approvals.cjs +147 -0
- package/dist/data/ai/SessionInspector.approvals.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.approvals.d.ts +21 -0
- package/dist/data/ai/SessionInspector.approvals.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.approvals.js +147 -0
- package/dist/data/ai/SessionInspector.approvals.js.map +1 -0
- package/dist/data/ai/SessionInspector.cjs +21 -8
- package/dist/data/ai/SessionInspector.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.d.ts +6 -2
- package/dist/data/ai/SessionInspector.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.hierarchy.d.ts +1 -1
- package/dist/data/ai/SessionInspector.js +21 -8
- package/dist/data/ai/SessionInspector.js.map +1 -1
- package/dist/data/ai/SessionInspector.panel-parts.cjs +47 -0
- package/dist/data/ai/SessionInspector.panel-parts.cjs.map +1 -0
- package/dist/data/ai/SessionInspector.panel-parts.d.ts +20 -0
- package/dist/data/ai/SessionInspector.panel-parts.d.ts.map +1 -0
- package/dist/data/ai/SessionInspector.panel-parts.js +47 -0
- package/dist/data/ai/SessionInspector.panel-parts.js.map +1 -0
- package/dist/data/ai/SessionInspector.panels.cjs +40 -99
- package/dist/data/ai/SessionInspector.panels.cjs.map +1 -1
- package/dist/data/ai/SessionInspector.panels.d.ts +3 -1
- package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -1
- package/dist/data/ai/SessionInspector.panels.js +12 -71
- package/dist/data/ai/SessionInspector.panels.js.map +1 -1
- package/dist/data/ai/SessionViewer.d.ts +1 -1
- package/dist/data/ai/SessionViewer.rows.d.ts +1 -1
- package/dist/data/ai/SessionViewer.tool-details.d.ts +1 -1
- package/dist/data/ai/SessionViewer.unified.d.ts +23 -0
- package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/Footer.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/Rail.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs +3 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts +3 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.js +3 -1
- package/dist/data/ai/SpecRuntimeEditor/VerifySection.js.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/fields.d.ts +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs +3 -1
- package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts +5 -2
- package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js +3 -1
- package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
- package/dist/data/ai/chat-window-context.cjs +1 -0
- package/dist/data/ai/chat-window-context.cjs.map +1 -1
- package/dist/data/ai/chat-window-context.d.ts +13 -5
- package/dist/data/ai/chat-window-context.d.ts.map +1 -1
- package/dist/data/ai/chat-window-context.js +1 -0
- package/dist/data/ai/chat-window-context.js.map +1 -1
- package/dist/data/ai/index.d.ts +2 -1
- package/dist/data/ai/index.d.ts.map +1 -1
- package/dist/data/ai/use-session-scroll.d.ts +1 -1
- package/dist/data/badge-variants.d.ts +2 -2
- package/dist/data/cache-browser/adapter.d.ts +1 -1
- package/dist/data/cells/CellFilterActions.d.ts +1 -1
- package/dist/data/cells/EntityCell.d.ts +1 -1
- package/dist/data/cells/tag-utils.d.ts +1 -1
- package/dist/data/chat/Chat.cjs +42 -46
- package/dist/data/chat/Chat.cjs.map +1 -1
- package/dist/data/chat/Chat.d.ts +16 -5
- package/dist/data/chat/Chat.d.ts.map +1 -1
- package/dist/data/chat/Chat.js +43 -47
- package/dist/data/chat/Chat.js.map +1 -1
- package/dist/data/chat/ModelSelector.d.ts +1 -1
- package/dist/data/chat/PromptInput.cjs +13 -0
- package/dist/data/chat/PromptInput.cjs.map +1 -1
- package/dist/data/chat/PromptInput.d.ts +8 -2
- package/dist/data/chat/PromptInput.d.ts.map +1 -1
- package/dist/data/chat/PromptInput.js +14 -1
- package/dist/data/chat/PromptInput.js.map +1 -1
- package/dist/data/chat/tool-render/ToolArgs.d.ts +1 -1
- package/dist/data/chat/tool-render/ToolParams.d.ts +1 -1
- package/dist/data/chat/tool-render/ToolValue.d.ts +1 -1
- package/dist/data/chat/tool-render/adapter.d.ts +1 -1
- package/dist/data/chat/tool-render/context.d.ts +1 -1
- package/dist/data/chat/tool-render/defaults.d.ts +1 -1
- package/dist/data/chat/tool-render/known-tool-views.d.ts +1 -1
- package/dist/data/chat/tool-render/summary.d.ts +1 -1
- package/dist/data/chat/types.d.ts +1 -1
- package/dist/data/clicky-export/useClickyExport.d.ts +1 -1
- package/dist/data/data-table-server-filters.d.ts +1 -1
- package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts +1 -1
- package/dist/data/diagnostics/ErrorDetails.d.ts +1 -1
- package/dist/data/diagnostics/StackFrameRow.d.ts +1 -1
- package/dist/data/git/GitChangeList.d.ts +1 -1
- package/dist/data/icon-fallback.d.ts +1 -1
- package/dist/data/properties-context.cjs +6 -0
- package/dist/data/properties-context.cjs.map +1 -0
- package/dist/data/properties-context.d.ts +7 -0
- package/dist/data/properties-context.d.ts.map +1 -0
- package/dist/data/properties-context.js +6 -0
- package/dist/data/properties-context.js.map +1 -0
- package/dist/data/query-browser/QueryBrowser.types.d.ts +1 -1
- package/dist/data/runtime/RuntimeBar.cjs +7 -3
- package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
- package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
- package/dist/data/runtime/RuntimeBar.js +7 -3
- package/dist/data/runtime/RuntimeBar.js.map +1 -1
- package/dist/data/task-copy.cjs +1 -1
- package/dist/data/task-copy.cjs.map +1 -1
- package/dist/data/task-copy.js +1 -1
- package/dist/data/task-copy.js.map +1 -1
- package/dist/data/task-resource-summary.cjs +30 -0
- package/dist/data/task-resource-summary.cjs.map +1 -0
- package/dist/data/task-resource-summary.d.ts +15 -0
- package/dist/data/task-resource-summary.d.ts.map +1 -0
- package/dist/data/task-resource-summary.js +30 -0
- package/dist/data/task-resource-summary.js.map +1 -0
- package/dist/data/task-status.cjs +8 -2
- package/dist/data/task-status.cjs.map +1 -1
- package/dist/data/task-status.d.ts +3 -0
- package/dist/data/task-status.d.ts.map +1 -1
- package/dist/data/task-status.js +8 -2
- package/dist/data/task-status.js.map +1 -1
- package/dist/data/task-work-progress.cjs +24 -0
- package/dist/data/task-work-progress.cjs.map +1 -0
- package/dist/data/task-work-progress.d.ts +21 -0
- package/dist/data/task-work-progress.d.ts.map +1 -0
- package/dist/data/task-work-progress.js +24 -0
- package/dist/data/task-work-progress.js.map +1 -0
- package/dist/data/test-runner/TestRunner.d.ts +1 -1
- package/dist/data/test-runner/adapter.d.ts +1 -1
- package/dist/data/test-runner/context.d.ts +1 -1
- package/dist/data/use-data-table-virtual.cjs +73 -0
- package/dist/data/use-data-table-virtual.cjs.map +1 -0
- package/dist/data/use-data-table-virtual.d.ts +40 -0
- package/dist/data/use-data-table-virtual.d.ts.map +1 -0
- package/dist/data/use-data-table-virtual.js +73 -0
- package/dist/data/use-data-table-virtual.js.map +1 -0
- package/dist/data/verification/VerificationResults.d.ts +1 -1
- package/dist/data/version-info.cjs +3 -3
- package/dist/data/version-info.js +3 -3
- package/dist/expressions/lang/attributes.cjs +56 -0
- package/dist/expressions/lang/attributes.cjs.map +1 -0
- package/dist/expressions/lang/attributes.d.ts +22 -0
- package/dist/expressions/lang/attributes.d.ts.map +1 -0
- package/dist/expressions/lang/attributes.js +56 -0
- package/dist/expressions/lang/attributes.js.map +1 -0
- package/dist/expressions/lang/completion.cjs +164 -0
- package/dist/expressions/lang/completion.cjs.map +1 -0
- package/dist/expressions/lang/completion.d.ts +29 -0
- package/dist/expressions/lang/completion.d.ts.map +1 -0
- package/dist/expressions/lang/completion.js +164 -0
- package/dist/expressions/lang/completion.js.map +1 -0
- package/dist/expressions/lang/environment.cjs +115 -0
- package/dist/expressions/lang/environment.cjs.map +1 -0
- package/dist/expressions/lang/environment.d.ts +54 -0
- package/dist/expressions/lang/environment.d.ts.map +1 -0
- package/dist/expressions/lang/environment.js +115 -0
- package/dist/expressions/lang/environment.js.map +1 -0
- package/dist/expressions/lang/generated/conformance.json.d.ts +4962 -0
- package/dist/expressions/lang/generated/index.cjs +18 -0
- package/dist/expressions/lang/generated/index.cjs.map +1 -0
- package/dist/expressions/lang/generated/index.d.ts +9 -0
- package/dist/expressions/lang/generated/index.d.ts.map +1 -0
- package/dist/expressions/lang/generated/index.js +18 -0
- package/dist/expressions/lang/generated/index.js.map +1 -0
- package/dist/expressions/lang/generated/languages.json.cjs +18 -0
- package/dist/expressions/lang/generated/languages.json.cjs.map +1 -0
- package/dist/expressions/lang/generated/languages.json.d.ts +2305 -0
- package/dist/expressions/lang/generated/languages.json.js +18 -0
- package/dist/expressions/lang/generated/languages.json.js.map +1 -0
- package/dist/expressions/lang/generated/spec.json.cjs +12 -0
- package/dist/expressions/lang/generated/spec.json.cjs.map +1 -0
- package/dist/expressions/lang/generated/spec.json.d.ts +6260 -0
- package/dist/expressions/lang/generated/spec.json.js +12 -0
- package/dist/expressions/lang/generated/spec.json.js.map +1 -0
- package/dist/expressions/lang/hover.cjs +106 -0
- package/dist/expressions/lang/hover.cjs.map +1 -0
- package/dist/expressions/lang/hover.d.ts +54 -0
- package/dist/expressions/lang/hover.d.ts.map +1 -0
- package/dist/expressions/lang/hover.js +106 -0
- package/dist/expressions/lang/hover.js.map +1 -0
- package/dist/expressions/lang/index.cjs +87 -0
- package/dist/expressions/lang/index.cjs.map +1 -0
- package/dist/expressions/lang/index.d.ts +65 -0
- package/dist/expressions/lang/index.d.ts.map +1 -0
- package/dist/expressions/lang/index.js +90 -0
- package/dist/expressions/lang/index.js.map +1 -0
- package/dist/expressions/lang/merge.cjs +52 -0
- package/dist/expressions/lang/merge.cjs.map +1 -0
- package/dist/expressions/lang/merge.d.ts +12 -0
- package/dist/expressions/lang/merge.d.ts.map +1 -0
- package/dist/expressions/lang/merge.js +52 -0
- package/dist/expressions/lang/merge.js.map +1 -0
- package/dist/expressions/lang/prefix.cjs +91 -0
- package/dist/expressions/lang/prefix.cjs.map +1 -0
- package/dist/expressions/lang/prefix.d.ts +36 -0
- package/dist/expressions/lang/prefix.d.ts.map +1 -0
- package/dist/expressions/lang/prefix.js +91 -0
- package/dist/expressions/lang/prefix.js.map +1 -0
- package/dist/expressions/lang/spec.d.ts +13 -0
- package/dist/expressions/lang/spec.d.ts.map +1 -0
- package/dist/expressions/lang/theme.cjs +97 -0
- package/dist/expressions/lang/theme.cjs.map +1 -0
- package/dist/expressions/lang/theme.d.ts +6 -0
- package/dist/expressions/lang/theme.d.ts.map +1 -0
- package/dist/expressions/lang/theme.js +97 -0
- package/dist/expressions/lang/theme.js.map +1 -0
- package/dist/expressions/lang/types.d.ts +81 -0
- package/dist/expressions/lang/types.d.ts.map +1 -0
- package/dist/expressions/playground/ExpressionPlayground.cjs +308 -0
- package/dist/expressions/playground/ExpressionPlayground.cjs.map +1 -0
- package/dist/expressions/playground/ExpressionPlayground.d.ts +42 -0
- package/dist/expressions/playground/ExpressionPlayground.d.ts.map +1 -0
- package/dist/expressions/playground/ExpressionPlayground.js +291 -0
- package/dist/expressions/playground/ExpressionPlayground.js.map +1 -0
- package/dist/expressions/playground/RunControls.cjs +51 -0
- package/dist/expressions/playground/RunControls.cjs.map +1 -0
- package/dist/expressions/playground/RunControls.d.ts +7 -0
- package/dist/expressions/playground/RunControls.d.ts.map +1 -0
- package/dist/expressions/playground/RunControls.js +51 -0
- package/dist/expressions/playground/RunControls.js.map +1 -0
- package/dist/expressions/playground/VerticalSplit.cjs +109 -0
- package/dist/expressions/playground/VerticalSplit.cjs.map +1 -0
- package/dist/expressions/playground/VerticalSplit.d.ts +23 -0
- package/dist/expressions/playground/VerticalSplit.d.ts.map +1 -0
- package/dist/expressions/playground/VerticalSplit.js +109 -0
- package/dist/expressions/playground/VerticalSplit.js.map +1 -0
- package/dist/expressions/playground/api.cjs +49 -0
- package/dist/expressions/playground/api.cjs.map +1 -0
- package/dist/expressions/playground/api.d.ts +53 -0
- package/dist/expressions/playground/api.d.ts.map +1 -0
- package/dist/expressions/playground/api.js +49 -0
- package/dist/expressions/playground/api.js.map +1 -0
- package/dist/expressions/playground/languages.cjs +88 -0
- package/dist/expressions/playground/languages.cjs.map +1 -0
- package/dist/expressions/playground/languages.d.ts +43 -0
- package/dist/expressions/playground/languages.d.ts.map +1 -0
- package/dist/expressions/playground/languages.js +88 -0
- package/dist/expressions/playground/languages.js.map +1 -0
- package/dist/expressions/playground/panels/GraphPanel.cjs +72 -0
- package/dist/expressions/playground/panels/GraphPanel.cjs.map +1 -0
- package/dist/expressions/playground/panels/GraphPanel.d.ts +19 -0
- package/dist/expressions/playground/panels/GraphPanel.d.ts.map +1 -0
- package/dist/expressions/playground/panels/GraphPanel.js +72 -0
- package/dist/expressions/playground/panels/GraphPanel.js.map +1 -0
- package/dist/expressions/playground/panels/ResultPanel.cjs +82 -0
- package/dist/expressions/playground/panels/ResultPanel.cjs.map +1 -0
- package/dist/expressions/playground/panels/ResultPanel.d.ts +11 -0
- package/dist/expressions/playground/panels/ResultPanel.d.ts.map +1 -0
- package/dist/expressions/playground/panels/ResultPanel.js +82 -0
- package/dist/expressions/playground/panels/ResultPanel.js.map +1 -0
- package/dist/expressions/playground/panels/SpecPanel.cjs +76 -0
- package/dist/expressions/playground/panels/SpecPanel.cjs.map +1 -0
- package/dist/expressions/playground/panels/SpecPanel.d.ts +18 -0
- package/dist/expressions/playground/panels/SpecPanel.d.ts.map +1 -0
- package/dist/expressions/playground/panels/SpecPanel.js +76 -0
- package/dist/expressions/playground/panels/SpecPanel.js.map +1 -0
- package/dist/expressions/playground/panels/TokensPanel.cjs +89 -0
- package/dist/expressions/playground/panels/TokensPanel.cjs.map +1 -0
- package/dist/expressions/playground/panels/TokensPanel.d.ts +15 -0
- package/dist/expressions/playground/panels/TokensPanel.d.ts.map +1 -0
- package/dist/expressions/playground/panels/TokensPanel.js +72 -0
- package/dist/expressions/playground/panels/TokensPanel.js.map +1 -0
- package/dist/expressions/playground/panels/graphNodes.cjs +35 -0
- package/dist/expressions/playground/panels/graphNodes.cjs.map +1 -0
- package/dist/expressions/playground/panels/graphNodes.d.ts +19 -0
- package/dist/expressions/playground/panels/graphNodes.d.ts.map +1 -0
- package/dist/expressions/playground/panels/graphNodes.js +35 -0
- package/dist/expressions/playground/panels/graphNodes.js.map +1 -0
- package/dist/expressions/playground/runAction.cjs +12 -0
- package/dist/expressions/playground/runAction.cjs.map +1 -0
- package/dist/expressions/playground/runAction.d.ts +15 -0
- package/dist/expressions/playground/runAction.d.ts.map +1 -0
- package/dist/expressions/playground/runAction.js +12 -0
- package/dist/expressions/playground/runAction.js.map +1 -0
- package/dist/expressions/playground/runShortcut.cjs +9 -0
- package/dist/expressions/playground/runShortcut.cjs.map +1 -0
- package/dist/expressions/playground/runShortcut.d.ts +2 -0
- package/dist/expressions/playground/runShortcut.d.ts.map +1 -0
- package/dist/expressions/playground/runShortcut.js +9 -0
- package/dist/expressions/playground/runShortcut.js.map +1 -0
- package/dist/expressions/playground/useEditorTheme.cjs +40 -0
- package/dist/expressions/playground/useEditorTheme.cjs.map +1 -0
- package/dist/expressions/playground/useEditorTheme.d.ts +16 -0
- package/dist/expressions/playground/useEditorTheme.d.ts.map +1 -0
- package/dist/expressions/playground/useEditorTheme.js +23 -0
- package/dist/expressions/playground/useEditorTheme.js.map +1 -0
- package/dist/expressions/playground/useEvaluator.cjs +72 -0
- package/dist/expressions/playground/useEvaluator.cjs.map +1 -0
- package/dist/expressions/playground/useEvaluator.d.ts +25 -0
- package/dist/expressions/playground/useEvaluator.d.ts.map +1 -0
- package/dist/expressions/playground/useEvaluator.js +72 -0
- package/dist/expressions/playground/useEvaluator.js.map +1 -0
- package/dist/expressions/playground/useParsedInput.cjs +22 -0
- package/dist/expressions/playground/useParsedInput.cjs.map +1 -0
- package/dist/expressions/playground/useParsedInput.d.ts +20 -0
- package/dist/expressions/playground/useParsedInput.d.ts.map +1 -0
- package/dist/expressions/playground/useParsedInput.js +22 -0
- package/dist/expressions/playground/useParsedInput.js.map +1 -0
- package/dist/expressions/playground/verticalSplitModel.cjs +11 -0
- package/dist/expressions/playground/verticalSplitModel.cjs.map +1 -0
- package/dist/expressions/playground/verticalSplitModel.d.ts +3 -0
- package/dist/expressions/playground/verticalSplitModel.d.ts.map +1 -0
- package/dist/expressions/playground/verticalSplitModel.js +11 -0
- package/dist/expressions/playground/verticalSplitModel.js.map +1 -0
- package/dist/expressions/playground.cjs +18 -0
- package/dist/expressions/playground.cjs.map +1 -0
- package/dist/expressions/playground.d.ts +18 -0
- package/dist/expressions/playground.d.ts.map +1 -0
- package/dist/expressions/playground.js +18 -0
- package/dist/expressions/playground.js.map +1 -0
- package/dist/expressions.cjs +28 -0
- package/dist/expressions.cjs.map +1 -0
- package/dist/expressions.d.ts +10 -0
- package/dist/expressions.d.ts.map +1 -0
- package/dist/expressions.js +28 -0
- package/dist/expressions.js.map +1 -0
- package/dist/hooks/density-provider.d.ts +1 -1
- package/dist/hooks/theme-provider.d.ts +1 -1
- package/dist/hooks/use-density.d.ts +1 -1
- package/dist/hooks/use-resource-clock.cjs +14 -0
- package/dist/hooks/use-resource-clock.cjs.map +1 -0
- package/dist/hooks/use-resource-clock.d.ts +2 -0
- package/dist/hooks/use-resource-clock.d.ts.map +1 -0
- package/dist/hooks/use-resource-clock.js +14 -0
- package/dist/hooks/use-resource-clock.js.map +1 -0
- package/dist/hooks/use-task-run.cjs +12 -3
- 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 +12 -3
- package/dist/hooks/use-task-run.js.map +1 -1
- package/dist/hooks/use-theme.d.ts +1 -1
- package/dist/icons/registry.d.ts +1 -1
- package/dist/icons/types.d.ts +1 -1
- package/dist/index.cjs +4 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/layout/AppShell.d.ts +1 -1
- package/dist/layout/AppShell.nav.drag.d.ts +1 -1
- package/dist/layout/AppSidebar.d.ts +1 -1
- package/dist/layout/Panel.d.ts +1 -1
- package/dist/layout/PanelFrame.d.ts +1 -1
- package/dist/layout/Section.d.ts +1 -1
- package/dist/layout/SplitPane.d.ts +1 -1
- package/dist/layout/Tabs.d.ts +1 -1
- package/dist/layout/Workspace.d.ts +1 -1
- package/dist/layout/Workspace.model.d.ts +1 -1
- package/dist/lib/combobox-values.d.ts +1 -1
- package/dist/lib/comment-stage.cjs +31 -0
- package/dist/lib/comment-stage.cjs.map +1 -0
- package/dist/lib/comment-stage.d.ts +8 -0
- package/dist/lib/comment-stage.d.ts.map +1 -0
- package/dist/lib/comment-stage.js +31 -0
- package/dist/lib/comment-stage.js.map +1 -0
- package/dist/monaco/MonacoEditor.cjs +3 -3
- package/dist/monaco/MonacoEditor.cjs.map +1 -1
- package/dist/monaco/MonacoEditor.js +2 -2
- package/dist/monaco/MonacoEditor.js.map +1 -1
- package/dist/monaco/types.d.ts +1 -1
- package/dist/monaco/use-monaco-worker.d.ts +1 -1
- package/dist/overlay/CellActions.d.ts +1 -1
- package/dist/overlay/CommandPalette.d.ts +2 -2
- package/dist/overlay/CommandPalette.model.d.ts +1 -1
- package/dist/overlay/CommandPaletteList.d.ts +1 -1
- package/dist/overlay/DropdownMenu.d.ts +1 -1
- package/dist/overlay/HoverCard.d.ts +1 -1
- package/dist/overlay/Modal.d.ts +2 -2
- package/dist/overlay/Toast.d.ts +1 -1
- package/dist/overlay/TourCard.d.ts +1 -1
- package/dist/overlay/TourProvider.d.ts +1 -1
- package/dist/overlay/dropdownMenuContext.d.ts +1 -1
- package/dist/overlay/toast-context.d.ts +2 -2
- package/dist/overlay/tour-context.d.ts +1 -1
- package/dist/overlay/tour-types.d.ts +1 -1
- package/dist/profiles/connections/connectionBrowserModel.d.ts +1 -1
- package/dist/profiles/connections/connectionQueryWorkspace.d.ts +1 -1
- package/dist/profiles/editor/profileBuilder.d.ts +1 -1
- package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts +1 -1
- package/dist/profiles/fields/profileFieldControls.d.ts +1 -1
- package/dist/profiles/fields/profileFieldIcons.d.ts +1 -1
- package/dist/profiles/fields/profileFieldState.d.ts +1 -1
- package/dist/profiles/query/jsonPathSample.d.ts +1 -1
- package/dist/profiles/query/jsonPathSampleRow.d.ts +1 -1
- package/dist/profiles/query/prometheusResults.d.ts +2 -2
- package/dist/rpc/EndpointList.d.ts +1 -1
- package/dist/rpc/EntityExplorerApp.d.ts +1 -1
- package/dist/rpc/OperationCatalog.d.ts +1 -1
- package/dist/rpc/OperationEntityContextPicker.d.ts +1 -1
- package/dist/rpc/OperationEntityPage.d.ts +1 -1
- package/dist/rpc/OperationResultView.d.ts +1 -1
- package/dist/rpc/RouterProvider.d.ts +1 -1
- package/dist/rpc/SchemaActionForm.d.ts +1 -1
- package/dist/rpc/formMetadata.d.ts +1 -1
- package/dist/rpc/router.d.ts +1 -1
- package/dist/rpc/rpc-story.fixtures.d.ts +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils.cjs +4 -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 +4 -0
- package/dist/utils.js.map +1 -1
- package/package.json +21 -2
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const react = require("react");
|
|
5
|
+
const Combobox = require("../../components/Combobox.cjs");
|
|
6
|
+
const Tabs = require("../../layout/Tabs.cjs");
|
|
7
|
+
const MonacoEditor = require("../../monaco/MonacoEditor.cjs");
|
|
8
|
+
const monacoEditor = require("monaco-editor");
|
|
9
|
+
const index$1 = require("../lang/index.cjs");
|
|
10
|
+
const api = require("./api.cjs");
|
|
11
|
+
const languages = require("./languages.cjs");
|
|
12
|
+
const GraphPanel = require("./panels/GraphPanel.cjs");
|
|
13
|
+
const ResultPanel = require("./panels/ResultPanel.cjs");
|
|
14
|
+
const SpecPanel = require("./panels/SpecPanel.cjs");
|
|
15
|
+
const TokensPanel = require("./panels/TokensPanel.cjs");
|
|
16
|
+
const RunControls = require("./RunControls.cjs");
|
|
17
|
+
const runAction = require("./runAction.cjs");
|
|
18
|
+
const useEditorTheme = require("./useEditorTheme.cjs");
|
|
19
|
+
const useEvaluator = require("./useEvaluator.cjs");
|
|
20
|
+
const useParsedInput = require("./useParsedInput.cjs");
|
|
21
|
+
const VerticalSplit = require("./VerticalSplit.cjs");
|
|
22
|
+
const verticalSplitModel = require("./verticalSplitModel.cjs");
|
|
23
|
+
const merge = require("../lang/merge.cjs");
|
|
24
|
+
const index = require("../lang/generated/index.cjs");
|
|
25
|
+
function _interopNamespaceDefault(e) {
|
|
26
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
27
|
+
if (e) {
|
|
28
|
+
for (const k in e) {
|
|
29
|
+
if (k !== "default") {
|
|
30
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
31
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: () => e[k]
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
n.default = e;
|
|
39
|
+
return Object.freeze(n);
|
|
40
|
+
}
|
|
41
|
+
const monacoEditor__namespace = /* @__PURE__ */ _interopNamespaceDefault(monacoEditor);
|
|
42
|
+
const SOURCE_MODEL_PATH = "inmemory://expressions/source";
|
|
43
|
+
const INPUT_MODEL_PATH = "inmemory://expressions/input.yaml";
|
|
44
|
+
const EMPTY_STATE = { language: "cel", source: "", input: "" };
|
|
45
|
+
function ExpressionPlayground({
|
|
46
|
+
apiBase = api.DEFAULT_API_BASE,
|
|
47
|
+
languages: offered = languages.LANGUAGES,
|
|
48
|
+
examples,
|
|
49
|
+
value,
|
|
50
|
+
onChange,
|
|
51
|
+
defaultValue,
|
|
52
|
+
className
|
|
53
|
+
}) {
|
|
54
|
+
const [uncontrolled, setUncontrolled] = react.useState(
|
|
55
|
+
() => {
|
|
56
|
+
var _a;
|
|
57
|
+
return defaultValue ?? { ...EMPTY_STATE, language: ((_a = offered[0]) == null ? void 0 : _a.id) ?? "cel" };
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
const state = value ?? uncontrolled;
|
|
61
|
+
const update = react.useCallback(
|
|
62
|
+
(patch) => {
|
|
63
|
+
const next = { ...state, ...patch };
|
|
64
|
+
if (!value) setUncontrolled(next);
|
|
65
|
+
onChange == null ? void 0 : onChange(next);
|
|
66
|
+
},
|
|
67
|
+
[state, value, onChange]
|
|
68
|
+
);
|
|
69
|
+
const language = react.useMemo(
|
|
70
|
+
() => languages.languageById(state.language, offered),
|
|
71
|
+
[state.language, offered]
|
|
72
|
+
);
|
|
73
|
+
const [outputTab, setOutputTab] = react.useState("result");
|
|
74
|
+
const evaluator = useEvaluator.useEvaluator(apiBase, {
|
|
75
|
+
language: language.evalLanguage,
|
|
76
|
+
source: state.source,
|
|
77
|
+
input: state.input
|
|
78
|
+
});
|
|
79
|
+
const parsedInput = useParsedInput.useParsedInput(state.input);
|
|
80
|
+
const environmentRef = react.useRef(void 0);
|
|
81
|
+
environmentRef.current = parsedInput.value;
|
|
82
|
+
const [served, setServed] = react.useState();
|
|
83
|
+
const servedRef = react.useRef(void 0);
|
|
84
|
+
servedRef.current = served;
|
|
85
|
+
const activeSpec = react.useMemo(() => merge.mergeSpec(index.spec, served), [served]);
|
|
86
|
+
const [fetched, setFetched] = react.useState();
|
|
87
|
+
const available = examples ?? fetched ?? [];
|
|
88
|
+
const forLanguage = available.filter(
|
|
89
|
+
(example) => example.language === language.evalLanguage
|
|
90
|
+
);
|
|
91
|
+
const registered = react.useRef(null);
|
|
92
|
+
const registerLanguages = react.useCallback((monaco) => {
|
|
93
|
+
const current = servedRef.current;
|
|
94
|
+
registered.current = index$1.registerGomplateLanguages(monaco, {
|
|
95
|
+
environment: () => environmentRef.current,
|
|
96
|
+
...current ? { spec: current } : {}
|
|
97
|
+
});
|
|
98
|
+
}, []);
|
|
99
|
+
react.useEffect(() => {
|
|
100
|
+
const controller = new AbortController();
|
|
101
|
+
void api.fetchSpec(apiBase, controller.signal).then((next) => {
|
|
102
|
+
if (!controller.signal.aborted) setServed(next);
|
|
103
|
+
});
|
|
104
|
+
return () => controller.abort();
|
|
105
|
+
}, [apiBase]);
|
|
106
|
+
react.useEffect(() => {
|
|
107
|
+
var _a;
|
|
108
|
+
if (served) (_a = registered.current) == null ? void 0 : _a.setSpec(served);
|
|
109
|
+
}, [served]);
|
|
110
|
+
react.useEffect(() => {
|
|
111
|
+
if (examples) return;
|
|
112
|
+
const controller = new AbortController();
|
|
113
|
+
void api.fetchExamples(apiBase, controller.signal).then((next) => {
|
|
114
|
+
if (!controller.signal.aborted && next) setFetched(next);
|
|
115
|
+
});
|
|
116
|
+
return () => controller.abort();
|
|
117
|
+
}, [apiBase, examples]);
|
|
118
|
+
useMarkers(evaluator.response);
|
|
119
|
+
const applyTheme = useEditorTheme.useEditorTheme();
|
|
120
|
+
react.useEffect(() => {
|
|
121
|
+
if (outputTab === "spec" && !language.catalogue) setOutputTab("result");
|
|
122
|
+
}, [language.catalogue, outputTab]);
|
|
123
|
+
const runRef = react.useRef(evaluator.run);
|
|
124
|
+
runRef.current = evaluator.run;
|
|
125
|
+
const sourceEditor = react.useRef(
|
|
126
|
+
null
|
|
127
|
+
);
|
|
128
|
+
const onEditorMount = react.useCallback(
|
|
129
|
+
(editor, monaco) => {
|
|
130
|
+
var _a;
|
|
131
|
+
applyTheme();
|
|
132
|
+
runAction.registerRunAction(editor, monaco, () => runRef.current());
|
|
133
|
+
if (((_a = editor.getModel()) == null ? void 0 : _a.uri.toString()) === SOURCE_MODEL_PATH)
|
|
134
|
+
sourceEditor.current = editor;
|
|
135
|
+
},
|
|
136
|
+
[applyTheme]
|
|
137
|
+
);
|
|
138
|
+
const insertExpression = react.useCallback((expression) => {
|
|
139
|
+
const editor = sourceEditor.current;
|
|
140
|
+
const selection = editor == null ? void 0 : editor.getSelection();
|
|
141
|
+
if (!editor || !selection) return;
|
|
142
|
+
editor.executeEdits("object-graph", [
|
|
143
|
+
{ range: selection, text: expression, forceMoveMarkers: true }
|
|
144
|
+
]);
|
|
145
|
+
editor.focus();
|
|
146
|
+
}, []);
|
|
147
|
+
const catalogue = language.catalogue ? activeSpec[language.catalogue].functions : [];
|
|
148
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `flex h-full min-h-0 ${className ?? ""}`, children: [
|
|
149
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-h-0 w-1/2 flex-col border-r border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
150
|
+
VerticalSplit.VerticalSplit,
|
|
151
|
+
{
|
|
152
|
+
storageKey: "expressions:editor-split",
|
|
153
|
+
defaultTopHeight: verticalSplitModel.rowsToPaneHeight(language.editorRows),
|
|
154
|
+
top: /* @__PURE__ */ jsxRuntime.jsx(
|
|
155
|
+
EditorPane,
|
|
156
|
+
{
|
|
157
|
+
label: "Expression",
|
|
158
|
+
actions: /* @__PURE__ */ jsxRuntime.jsx(RunControls.RunControls, { evaluator }),
|
|
159
|
+
hint: forLanguage.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
160
|
+
Combobox.Combobox,
|
|
161
|
+
{
|
|
162
|
+
options: forLanguage.map((example) => ({
|
|
163
|
+
value: example.name,
|
|
164
|
+
label: example.name
|
|
165
|
+
})),
|
|
166
|
+
value: "",
|
|
167
|
+
allowCustomValue: false,
|
|
168
|
+
placeholder: "Load an example…",
|
|
169
|
+
ariaLabel: "Load an example",
|
|
170
|
+
className: "w-56",
|
|
171
|
+
onChange: (name) => {
|
|
172
|
+
const example = forLanguage.find(
|
|
173
|
+
(candidate) => candidate.name === name
|
|
174
|
+
);
|
|
175
|
+
if (example)
|
|
176
|
+
update({
|
|
177
|
+
source: example.source,
|
|
178
|
+
input: example.input
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
) : void 0,
|
|
183
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
184
|
+
MonacoEditor.MonacoEditor,
|
|
185
|
+
{
|
|
186
|
+
value: state.source,
|
|
187
|
+
onChange: (source) => update({ source: source ?? "" }),
|
|
188
|
+
language: language.editorLanguage,
|
|
189
|
+
path: SOURCE_MODEL_PATH,
|
|
190
|
+
height: "100%",
|
|
191
|
+
beforeMount: registerLanguages,
|
|
192
|
+
onMount: onEditorMount
|
|
193
|
+
}
|
|
194
|
+
)
|
|
195
|
+
}
|
|
196
|
+
),
|
|
197
|
+
bottom: /* @__PURE__ */ jsxRuntime.jsx(
|
|
198
|
+
EditorPane,
|
|
199
|
+
{
|
|
200
|
+
label: "Input",
|
|
201
|
+
hint: /* @__PURE__ */ jsxRuntime.jsx(
|
|
202
|
+
"span",
|
|
203
|
+
{
|
|
204
|
+
className: `truncate text-[11px] ${parsedInput.error ? "text-destructive" : "text-muted-foreground/70"}`,
|
|
205
|
+
title: parsedInput.error ?? void 0,
|
|
206
|
+
children: parsedInput.error ?? "YAML or JSON"
|
|
207
|
+
}
|
|
208
|
+
),
|
|
209
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
210
|
+
MonacoEditor.MonacoEditor,
|
|
211
|
+
{
|
|
212
|
+
value: state.input,
|
|
213
|
+
onChange: (input) => update({ input: input ?? "" }),
|
|
214
|
+
language: "yaml",
|
|
215
|
+
path: INPUT_MODEL_PATH,
|
|
216
|
+
height: "100%",
|
|
217
|
+
onMount: onEditorMount
|
|
218
|
+
}
|
|
219
|
+
)
|
|
220
|
+
}
|
|
221
|
+
)
|
|
222
|
+
}
|
|
223
|
+
) }),
|
|
224
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-0 w-1/2 flex-col", children: [
|
|
225
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-b border-border px-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
226
|
+
Tabs.Tabs,
|
|
227
|
+
{
|
|
228
|
+
tabs: [
|
|
229
|
+
{ id: "result", label: "Result" },
|
|
230
|
+
{ id: "graph", label: "Object graph" },
|
|
231
|
+
{ id: "tokens", label: "Tokens" },
|
|
232
|
+
...language.catalogue ? [{ id: "spec", label: "Functions", count: catalogue.length }] : []
|
|
233
|
+
],
|
|
234
|
+
value: outputTab,
|
|
235
|
+
onChange: setOutputTab
|
|
236
|
+
}
|
|
237
|
+
) }),
|
|
238
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-h-0 flex-1", children: [
|
|
239
|
+
outputTab === "result" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
240
|
+
ResultPanel.ResultPanel,
|
|
241
|
+
{
|
|
242
|
+
response: evaluator.response,
|
|
243
|
+
pending: evaluator.pending,
|
|
244
|
+
stale: evaluator.stale,
|
|
245
|
+
onRun: evaluator.run
|
|
246
|
+
}
|
|
247
|
+
) : null,
|
|
248
|
+
outputTab === "graph" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
249
|
+
GraphPanel.GraphPanel,
|
|
250
|
+
{
|
|
251
|
+
document: parsedInput.value,
|
|
252
|
+
languageId: language.editorLanguage,
|
|
253
|
+
onInsert: insertExpression
|
|
254
|
+
}
|
|
255
|
+
) : null,
|
|
256
|
+
outputTab === "tokens" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
257
|
+
TokensPanel.TokensPanel,
|
|
258
|
+
{
|
|
259
|
+
source: state.source,
|
|
260
|
+
languageId: language.editorLanguage
|
|
261
|
+
}
|
|
262
|
+
) : null,
|
|
263
|
+
outputTab === "spec" && language.catalogue ? /* @__PURE__ */ jsxRuntime.jsx(SpecPanel.SpecPanel, { flavour: language.catalogue, spec: activeSpec }) : null
|
|
264
|
+
] })
|
|
265
|
+
] })
|
|
266
|
+
] });
|
|
267
|
+
}
|
|
268
|
+
function EditorPane({
|
|
269
|
+
label,
|
|
270
|
+
hint,
|
|
271
|
+
actions,
|
|
272
|
+
children
|
|
273
|
+
}) {
|
|
274
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "flex h-full min-h-0 flex-col bg-background", children: [
|
|
275
|
+
/* @__PURE__ */ jsxRuntime.jsxs("header", { className: "flex h-[33px] shrink-0 items-center justify-between gap-2 px-4 py-2", children: [
|
|
276
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-baseline gap-2", children: [
|
|
277
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xs font-medium uppercase tracking-wide text-muted-foreground", children: label }),
|
|
278
|
+
hint
|
|
279
|
+
] }),
|
|
280
|
+
actions
|
|
281
|
+
] }),
|
|
282
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 [&_[data-slot=monaco-editor]]:h-full [&_[data-slot=monaco-editor]]:rounded-none [&_[data-slot=monaco-editor]]:border-0 [&_[data-slot=monaco-editor]]:border-t", children })
|
|
283
|
+
] });
|
|
284
|
+
}
|
|
285
|
+
function useMarkers(response) {
|
|
286
|
+
react.useEffect(() => {
|
|
287
|
+
const model = monacoEditor__namespace.editor.getModels().find((candidate) => candidate.uri.toString() === SOURCE_MODEL_PATH);
|
|
288
|
+
if (!model) return;
|
|
289
|
+
const error = response == null ? void 0 : response.error;
|
|
290
|
+
if (!(error == null ? void 0 : error.line)) {
|
|
291
|
+
monacoEditor__namespace.editor.setModelMarkers(model, "expressions", []);
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
const column = error.column ?? 1;
|
|
295
|
+
monacoEditor__namespace.editor.setModelMarkers(model, "expressions", [
|
|
296
|
+
{
|
|
297
|
+
severity: monacoEditor__namespace.MarkerSeverity.Error,
|
|
298
|
+
message: error.message,
|
|
299
|
+
startLineNumber: error.line,
|
|
300
|
+
startColumn: column,
|
|
301
|
+
endLineNumber: error.line,
|
|
302
|
+
endColumn: column + 1
|
|
303
|
+
}
|
|
304
|
+
]);
|
|
305
|
+
}, [response]);
|
|
306
|
+
}
|
|
307
|
+
exports.ExpressionPlayground = ExpressionPlayground;
|
|
308
|
+
//# sourceMappingURL=ExpressionPlayground.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpressionPlayground.cjs","sources":["../../../src/expressions/playground/ExpressionPlayground.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { Combobox } from \"../../components/Combobox\";\nimport { Tabs } from \"../../layout/Tabs\";\nimport { MonacoEditor } from \"../../monaco/MonacoEditor\";\nimport type { Monaco } from \"@monaco-editor/react\";\nimport * as monacoEditor from \"monaco-editor\";\n\nimport {\n mergeSpec,\n registerGomplateLanguages,\n spec as packagedSpec,\n} from \"../lang/index.ts\";\nimport type { GomplateSpec, RegisteredLanguages } from \"../lang/index.ts\";\nimport { DEFAULT_API_BASE, fetchExamples, fetchSpec } from \"./api.ts\";\nimport type { EvalResponse, Example } from \"./api.ts\";\nimport { LANGUAGES, languageById } from \"./languages.ts\";\nimport type { PlaygroundLanguage } from \"./languages.ts\";\nimport { GraphPanel } from \"./panels/GraphPanel.tsx\";\nimport { ResultPanel } from \"./panels/ResultPanel.tsx\";\nimport { SpecPanel } from \"./panels/SpecPanel.tsx\";\nimport { TokensPanel } from \"./panels/TokensPanel.tsx\";\nimport { RunControls } from \"./RunControls.tsx\";\nimport { registerRunAction } from \"./runAction.ts\";\nimport { useEditorTheme } from \"./useEditorTheme.ts\";\nimport { useEvaluator } from \"./useEvaluator.ts\";\nimport { useParsedInput } from \"./useParsedInput.ts\";\nimport { VerticalSplit } from \"./VerticalSplit.tsx\";\nimport { rowsToPaneHeight } from \"./verticalSplitModel\";\n\n/** What the author is editing. Hosts persist this wherever suits them. */\nexport interface PlaygroundState {\n language: string;\n source: string;\n input: string;\n}\n\nexport interface ExpressionPlaygroundProps {\n /**\n * Where the host mounted the playground API. Defaults to `/api`; a host\n * serving it behind a prefix passes that instead.\n */\n apiBase?: string;\n /** Languages offered. Defaults to everything gomplate evaluates. */\n languages?: PlaygroundLanguage[];\n /**\n * Samples to offer. Fetched from the server when omitted, so a host that\n * configured `Options.Examples` needs no prop at all.\n */\n examples?: Example[];\n /** Controlled state. Pair with `onChange`. */\n value?: PlaygroundState;\n onChange?: (state: PlaygroundState) => void;\n /** Starting state when uncontrolled. */\n defaultValue?: PlaygroundState;\n className?: string;\n}\n\nconst SOURCE_MODEL_PATH = \"inmemory://expressions/source\";\nconst INPUT_MODEL_PATH = \"inmemory://expressions/input.yaml\";\n\nconst EMPTY_STATE: PlaygroundState = { language: \"cel\", source: \"\", input: \"\" };\n\n/**\n * An editor for one expression, the document it runs against, and its result.\n *\n * Deliberately shell-less: it renders the editors and the output panels and\n * nothing around them, so a host frames it with its own navigation. gomplate's\n * playground wraps it in an AppShell with a language rail; an app embedding it\n * in a drawer wraps it in nothing at all.\n *\n * Highlighting, completion and hover come from the catalogue the *server*\n * reports, so a host's own functions are first-class here without this\n * component knowing anything about them.\n */\nexport function ExpressionPlayground({\n apiBase = DEFAULT_API_BASE,\n languages: offered = LANGUAGES,\n examples,\n value,\n onChange,\n defaultValue,\n className,\n}: ExpressionPlaygroundProps) {\n const [uncontrolled, setUncontrolled] = useState<PlaygroundState>(\n () => defaultValue ?? { ...EMPTY_STATE, language: offered[0]?.id ?? \"cel\" },\n );\n const state = value ?? uncontrolled;\n\n const update = useCallback(\n (patch: Partial<PlaygroundState>) => {\n const next = { ...state, ...patch };\n if (!value) setUncontrolled(next);\n onChange?.(next);\n },\n [state, value, onChange],\n );\n\n const language = useMemo(\n () => languageById(state.language, offered),\n [state.language, offered],\n );\n const [outputTab, setOutputTab] = useState(\"result\");\n\n const evaluator = useEvaluator(apiBase, {\n language: language.evalLanguage,\n source: state.source,\n input: state.input,\n });\n\n // Completion reads the document through a ref: languages are registered once,\n // before the first editor mounts, while the input keeps being edited after.\n const parsedInput = useParsedInput(state.input);\n const environmentRef = useRef<unknown>(undefined);\n environmentRef.current = parsedInput.value;\n\n const [served, setServed] = useState<GomplateSpec>();\n const servedRef = useRef<GomplateSpec>(undefined);\n servedRef.current = served;\n const activeSpec = useMemo(() => mergeSpec(packagedSpec, served), [served]);\n\n const [fetched, setFetched] = useState<Example[]>();\n const available = examples ?? fetched ?? [];\n const forLanguage = available.filter(\n (example) => example.language === language.evalLanguage,\n );\n\n // Registration must happen before the first model is created, or Monaco\n // resolves the language id to plaintext and never revisits it. Which of the\n // two lands first is a race -- Monaco loads slowly, the fetch returns fast --\n // so both paths apply the catalogue.\n const registered = useRef<RegisteredLanguages | null>(null);\n const registerLanguages = useCallback((monaco: Monaco) => {\n const current = servedRef.current;\n registered.current = registerGomplateLanguages(monaco, {\n environment: () => environmentRef.current,\n ...(current ? { spec: current } : {}),\n });\n }, []);\n\n useEffect(() => {\n const controller = new AbortController();\n void fetchSpec(apiBase, controller.signal).then((next) => {\n if (!controller.signal.aborted) setServed(next);\n });\n return () => controller.abort();\n }, [apiBase]);\n\n useEffect(() => {\n if (served) registered.current?.setSpec(served);\n }, [served]);\n\n useEffect(() => {\n if (examples) return;\n const controller = new AbortController();\n void fetchExamples(apiBase, controller.signal).then((next) => {\n if (!controller.signal.aborted && next) setFetched(next);\n });\n return () => controller.abort();\n }, [apiBase, examples]);\n\n useMarkers(evaluator.response);\n const applyTheme = useEditorTheme();\n\n useEffect(() => {\n if (outputTab === \"spec\" && !language.catalogue) setOutputTab(\"result\");\n }, [language.catalogue, outputTab]);\n\n // The Monaco action is registered once per editor, so it has to reach the\n // current `run` through a ref rather than capturing it.\n const runRef = useRef(evaluator.run);\n runRef.current = evaluator.run;\n const sourceEditor = useRef<Parameters<typeof registerRunAction>[0] | null>(\n null,\n );\n const onEditorMount = useCallback(\n (editor: Parameters<typeof registerRunAction>[0], monaco: Monaco) => {\n applyTheme();\n registerRunAction(editor, monaco, () => runRef.current());\n if (editor.getModel()?.uri.toString() === SOURCE_MODEL_PATH)\n sourceEditor.current = editor;\n },\n [applyTheme],\n );\n\n /** Writes a path from the object graph where the author last left the caret. */\n const insertExpression = useCallback((expression: string) => {\n const editor = sourceEditor.current;\n const selection = editor?.getSelection();\n if (!editor || !selection) return;\n editor.executeEdits(\"object-graph\", [\n { range: selection, text: expression, forceMoveMarkers: true },\n ]);\n editor.focus();\n }, []);\n\n const catalogue = language.catalogue\n ? activeSpec[language.catalogue].functions\n : [];\n\n return (\n <div className={`flex h-full min-h-0 ${className ?? \"\"}`}>\n <div className=\"flex min-h-0 w-1/2 flex-col border-r border-border\">\n <VerticalSplit\n storageKey=\"expressions:editor-split\"\n defaultTopHeight={rowsToPaneHeight(language.editorRows)}\n top={\n <EditorPane\n label=\"Expression\"\n actions={<RunControls evaluator={evaluator} />}\n hint={\n forLanguage.length > 0 ? (\n <Combobox\n options={forLanguage.map((example) => ({\n value: example.name,\n label: example.name,\n }))}\n value=\"\"\n allowCustomValue={false}\n placeholder=\"Load an example…\"\n ariaLabel=\"Load an example\"\n className=\"w-56\"\n onChange={(name) => {\n const example = forLanguage.find(\n (candidate) => candidate.name === name,\n );\n if (example)\n update({\n source: example.source,\n input: example.input,\n });\n }}\n />\n ) : undefined\n }\n >\n <MonacoEditor\n value={state.source}\n onChange={(source) => update({ source: source ?? \"\" })}\n language={language.editorLanguage}\n path={SOURCE_MODEL_PATH}\n height=\"100%\"\n beforeMount={registerLanguages}\n onMount={onEditorMount}\n />\n </EditorPane>\n }\n bottom={\n <EditorPane\n label=\"Input\"\n hint={\n <span\n className={`truncate text-[11px] ${\n parsedInput.error\n ? \"text-destructive\"\n : \"text-muted-foreground/70\"\n }`}\n title={parsedInput.error ?? undefined}\n >\n {parsedInput.error ?? \"YAML or JSON\"}\n </span>\n }\n >\n <MonacoEditor\n value={state.input}\n onChange={(input) => update({ input: input ?? \"\" })}\n language=\"yaml\"\n path={INPUT_MODEL_PATH}\n height=\"100%\"\n onMount={onEditorMount}\n />\n </EditorPane>\n }\n />\n </div>\n\n <div className=\"flex min-h-0 w-1/2 flex-col\">\n <div className=\"border-b border-border px-4\">\n <Tabs\n tabs={[\n { id: \"result\", label: \"Result\" },\n { id: \"graph\", label: \"Object graph\" },\n { id: \"tokens\", label: \"Tokens\" },\n ...(language.catalogue\n ? [{ id: \"spec\", label: \"Functions\", count: catalogue.length }]\n : []),\n ]}\n value={outputTab}\n onChange={setOutputTab}\n />\n </div>\n\n <div className=\"min-h-0 flex-1\">\n {outputTab === \"result\" ? (\n <ResultPanel\n response={evaluator.response}\n pending={evaluator.pending}\n stale={evaluator.stale}\n onRun={evaluator.run}\n />\n ) : null}\n {outputTab === \"graph\" ? (\n <GraphPanel\n document={parsedInput.value}\n languageId={language.editorLanguage}\n onInsert={insertExpression}\n />\n ) : null}\n {outputTab === \"tokens\" ? (\n <TokensPanel\n source={state.source}\n languageId={language.editorLanguage}\n />\n ) : null}\n {outputTab === \"spec\" && language.catalogue ? (\n <SpecPanel flavour={language.catalogue} spec={activeSpec} />\n ) : null}\n </div>\n </div>\n </div>\n );\n}\n\nfunction EditorPane({\n label,\n hint,\n actions,\n children,\n}: {\n label: string;\n hint?: React.ReactNode;\n actions?: React.ReactNode;\n children: React.ReactNode;\n}) {\n return (\n <section className=\"flex h-full min-h-0 flex-col bg-background\">\n <header className=\"flex h-[33px] shrink-0 items-center justify-between gap-2 px-4 py-2\">\n <div className=\"flex items-baseline gap-2\">\n <h2 className=\"text-xs font-medium uppercase tracking-wide text-muted-foreground\">\n {label}\n </h2>\n {hint}\n </div>\n {actions}\n </header>\n <div className=\"min-h-0 flex-1 [&_[data-slot=monaco-editor]]:h-full [&_[data-slot=monaco-editor]]:rounded-none [&_[data-slot=monaco-editor]]:border-0 [&_[data-slot=monaco-editor]]:border-t\">\n {children}\n </div>\n </section>\n );\n}\n\n/**\n * Mirrors a compile error onto the editor as a marker, so the position the\n * server reported is visible where the mistake is rather than only in the\n * result panel.\n */\nfunction useMarkers(response: EvalResponse | null) {\n useEffect(() => {\n const model = monacoEditor.editor\n .getModels()\n .find((candidate) => candidate.uri.toString() === SOURCE_MODEL_PATH);\n if (!model) return;\n\n const error = response?.error;\n if (!error?.line) {\n monacoEditor.editor.setModelMarkers(model, \"expressions\", []);\n return;\n }\n\n const column = error.column ?? 1;\n monacoEditor.editor.setModelMarkers(model, \"expressions\", [\n {\n severity: monacoEditor.MarkerSeverity.Error,\n message: error.message,\n startLineNumber: error.line,\n startColumn: column,\n endLineNumber: error.line,\n endColumn: column + 1,\n },\n ]);\n }, [response]);\n}\n"],"names":["DEFAULT_API_BASE","LANGUAGES","useState","useCallback","useMemo","languageById","useEvaluator","useParsedInput","useRef","mergeSpec","packagedSpec","registerGomplateLanguages","useEffect","fetchSpec","fetchExamples","useEditorTheme","registerRunAction","jsx","VerticalSplit","rowsToPaneHeight","RunControls","Combobox","MonacoEditor","jsxs","Tabs","ResultPanel","GraphPanel","TokensPanel","SpecPanel","monacoEditor"],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Example } from './api.ts';
|
|
2
|
+
import { PlaygroundLanguage } from './languages.ts';
|
|
3
|
+
/** What the author is editing. Hosts persist this wherever suits them. */
|
|
4
|
+
export interface PlaygroundState {
|
|
5
|
+
language: string;
|
|
6
|
+
source: string;
|
|
7
|
+
input: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ExpressionPlaygroundProps {
|
|
10
|
+
/**
|
|
11
|
+
* Where the host mounted the playground API. Defaults to `/api`; a host
|
|
12
|
+
* serving it behind a prefix passes that instead.
|
|
13
|
+
*/
|
|
14
|
+
apiBase?: string;
|
|
15
|
+
/** Languages offered. Defaults to everything gomplate evaluates. */
|
|
16
|
+
languages?: PlaygroundLanguage[];
|
|
17
|
+
/**
|
|
18
|
+
* Samples to offer. Fetched from the server when omitted, so a host that
|
|
19
|
+
* configured `Options.Examples` needs no prop at all.
|
|
20
|
+
*/
|
|
21
|
+
examples?: Example[];
|
|
22
|
+
/** Controlled state. Pair with `onChange`. */
|
|
23
|
+
value?: PlaygroundState;
|
|
24
|
+
onChange?: (state: PlaygroundState) => void;
|
|
25
|
+
/** Starting state when uncontrolled. */
|
|
26
|
+
defaultValue?: PlaygroundState;
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* An editor for one expression, the document it runs against, and its result.
|
|
31
|
+
*
|
|
32
|
+
* Deliberately shell-less: it renders the editors and the output panels and
|
|
33
|
+
* nothing around them, so a host frames it with its own navigation. gomplate's
|
|
34
|
+
* playground wraps it in an AppShell with a language rail; an app embedding it
|
|
35
|
+
* in a drawer wraps it in nothing at all.
|
|
36
|
+
*
|
|
37
|
+
* Highlighting, completion and hover come from the catalogue the *server*
|
|
38
|
+
* reports, so a host's own functions are first-class here without this
|
|
39
|
+
* component knowing anything about them.
|
|
40
|
+
*/
|
|
41
|
+
export declare function ExpressionPlayground({ apiBase, languages: offered, examples, value, onChange, defaultValue, className, }: ExpressionPlaygroundProps): import("react").JSX.Element;
|
|
42
|
+
//# sourceMappingURL=ExpressionPlayground.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpressionPlayground.d.ts","sourceRoot":"","sources":["../../../src/expressions/playground/ExpressionPlayground.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAazD,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5C,wCAAwC;IACxC,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,OAA0B,EAC1B,SAAS,EAAE,OAAmB,EAC9B,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,EAAE,yBAAyB,+BA8O3B"}
|