@mastra/playground-ui 65.0.0-alpha.8 → 65.0.0-alpha.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{code-block-CAV4Flrx.cjs → code-block-BSJzgBt1.cjs} +2 -2
- package/dist/{code-block-CAV4Flrx.cjs.map → code-block-BSJzgBt1.cjs.map} +1 -1
- package/dist/{code-block-BB-5HSl3.js → code-block-JWCkGm3Q.js} +2 -2
- package/dist/{code-block-BB-5HSl3.js.map → code-block-JWCkGm3Q.js.map} +1 -1
- package/dist/{code-editor-CbyCb7CW.cjs → code-editor-4ukTuvqG.cjs} +18 -2
- package/dist/code-editor-4ukTuvqG.cjs.map +1 -0
- package/dist/{code-editor-DOv4jc-0.js → code-editor-8qu58Npy.js} +18 -2
- package/dist/code-editor-8qu58Npy.js.map +1 -0
- package/dist/{combobox-BCoCVZHs.js → combobox-Cff50hgT.js} +37 -49
- package/dist/combobox-Cff50hgT.js.map +1 -0
- package/dist/{combobox-DbZAWh8q.cjs → combobox-RlGW9Erz.cjs} +37 -49
- package/dist/combobox-RlGW9Erz.cjs.map +1 -0
- package/dist/components/BillingIllustration.cjs.js +524 -1
- package/dist/components/BillingIllustration.cjs.js.map +1 -1
- package/dist/components/BillingIllustration.es.js +524 -1
- package/dist/components/BillingIllustration.es.js.map +1 -1
- package/dist/components/CodeBlock.cjs.js +1 -1
- package/dist/components/CodeBlock.es.js +1 -1
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.es.js +1 -1
- package/dist/components/Combobox.cjs.js +1 -1
- package/dist/components/Combobox.es.js +1 -1
- package/dist/components/DataList.es.js +5 -5
- package/dist/components/DateTimePicker.cjs.js +1 -1
- package/dist/components/DateTimePicker.es.js +1 -1
- package/dist/components/DateTimeRangePicker.cjs.js +1 -1
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +7 -843
- package/dist/components/FilterBar.cjs.js.map +1 -1
- package/dist/components/FilterBar.es.js +4 -841
- package/dist/components/FilterBar.es.js.map +1 -1
- package/dist/components/FormFieldBlocks.cjs.js +1 -1
- package/dist/components/FormFieldBlocks.es.js +1 -1
- package/dist/components/JSONSchemaForm.cjs.js +1 -1
- package/dist/components/JSONSchemaForm.es.js +1 -1
- package/dist/components/LogsDataList.es.js +2 -2
- package/dist/components/MarkdownRenderer.cjs.js +1 -1
- package/dist/components/MarkdownRenderer.es.js +1 -1
- package/dist/components/PageLayout.cjs.js +3 -56
- package/dist/components/PageLayout.cjs.js.map +1 -1
- package/dist/components/PageLayout.es.js +1 -58
- package/dist/components/PageLayout.es.js.map +1 -1
- package/dist/components/PropertyFilter.cjs.js +1 -1
- package/dist/components/PropertyFilter.es.js +1 -1
- package/dist/components/RuleBuilder.cjs.js +1 -1
- package/dist/components/RuleBuilder.es.js +1 -1
- package/dist/components/SavedViews.es.js +1 -1
- package/dist/components/Section.cjs.js +1 -1
- package/dist/components/Section.es.js +1 -1
- package/dist/components/Select.cjs.js +2 -1
- package/dist/components/Select.cjs.js.map +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +1 -1
- package/dist/components/SideDialog.es.js +1 -1
- package/dist/components/Sidebar.cjs.js +1 -1
- package/dist/components/Sidebar.es.js +1 -1
- package/dist/components/Workflow.cjs.js +3 -3
- package/dist/components/Workflow.es.js +3 -3
- package/dist/components/ai/activity.cjs.js +1 -1
- package/dist/components/ai/activity.es.js +1 -1
- package/dist/components/ai/plan.cjs.js +1 -1
- package/dist/components/ai/plan.es.js +1 -1
- package/dist/components/ai/tool-approval.cjs.js +1 -1
- package/dist/components/ai/tool-approval.es.js +1 -1
- package/dist/components/ai/tool-call.cjs.js +1 -1
- package/dist/components/ai/tool-call.es.js +1 -1
- package/dist/{data-list-aFlt9Du-.js → data-list-CD_lls8O.js} +3 -3
- package/dist/{data-list-aFlt9Du-.js.map → data-list-CD_lls8O.js.map} +1 -1
- package/dist/{data-list-skeleton-bNfITSHs.js → data-list-skeleton-CiilOVAl.js} +3 -3
- package/dist/{data-list-skeleton-bNfITSHs.js.map → data-list-skeleton-CiilOVAl.js.map} +1 -1
- package/dist/{data-list-spacer-BFAQT_lQ.js → data-list-spacer-DpXJrZe1.js} +2 -2
- package/dist/{data-list-spacer-BFAQT_lQ.js.map → data-list-spacer-DpXJrZe1.js.map} +1 -1
- package/dist/{data-list-top-T-mtdIUp.js → data-list-top-Cu4C2Z07.js} +2 -2
- package/dist/{data-list-top-T-mtdIUp.js.map → data-list-top-Cu4C2Z07.js.map} +1 -1
- package/dist/{date-time-range-picker-CcnDMZJu.js → date-time-range-picker-BB6ivHR-.js} +2 -2
- package/dist/{date-time-range-picker-CcnDMZJu.js.map → date-time-range-picker-BB6ivHR-.js.map} +1 -1
- package/dist/{date-time-range-picker-CXGab8Nj.cjs → date-time-range-picker-ExPgeHV_.cjs} +2 -2
- package/dist/{date-time-range-picker-CXGab8Nj.cjs.map → date-time-range-picker-ExPgeHV_.cjs.map} +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
- package/dist/domains/chat/messages/dataset-save-action.cjs.js +3 -2
- package/dist/domains/chat/messages/dataset-save-action.cjs.js.map +1 -1
- package/dist/domains/chat/messages/dataset-save-action.es.js +3 -2
- package/dist/domains/chat/messages/dataset-save-action.es.js.map +1 -1
- package/dist/domains/chat/messages/message-row.cjs.js +1 -1
- package/dist/domains/chat/messages/message-row.es.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
- package/dist/domains/chat/messages/skill-message.cjs.js +1 -1
- package/dist/domains/chat/messages/skill-message.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/agent-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js +2 -2
- package/dist/domains/chat/tools/badges/tool-badge.es.js +2 -2
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +2 -1
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +2 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
- package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
- package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card.es.js +1 -1
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +326 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +322 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.cjs.js +79 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.es.js +75 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.cjs.js +25 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.es.js +21 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.cjs.js +22 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.es.js +18 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js +54 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js +50 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.cjs.js +21 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.es.js +17 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/field-errors.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +180 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +176 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.cjs.js +57 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.es.js +45 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-types.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.cjs.js +17 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.es.js +13 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.es.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog.cjs.js +10 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog.cjs.js.map +1 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog.d.ts +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog.es.js +2 -0
- package/dist/domains/datasets/components/add-dataset-item-dialog.es.js.map +1 -0
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +2 -2
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +2 -2
- package/dist/domains/datasets/components.cjs.js +2 -0
- package/dist/domains/datasets/components.cjs.js.map +1 -1
- package/dist/domains/datasets/components.es.js +1 -0
- package/dist/domains/datasets/components.es.js.map +1 -1
- package/dist/domains/datasets.cjs.js +2 -0
- package/dist/domains/datasets.cjs.js.map +1 -1
- package/dist/domains/datasets.es.js +1 -0
- package/dist/domains/datasets.es.js.map +1 -1
- package/dist/domains/logs/components/logs-list-view.es.js +2 -2
- package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js.map +1 -1
- package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js.map +1 -1
- package/dist/domains/logs/hooks/use-logs-url-state.cjs.js.map +1 -1
- package/dist/domains/logs/hooks/use-logs-url-state.es.js.map +1 -1
- package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
- package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
- package/dist/domains/metrics/drilldown.cjs.js +1 -1
- package/dist/domains/metrics/drilldown.es.js +1 -1
- package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
- package/dist/domains/metrics/metrics-filters.es.js +1 -1
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +4 -3
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js.map +1 -1
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +4 -3
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js.map +1 -1
- package/dist/domains/observability/components/trace-as-item-dialog.cjs.js +31 -36
- package/dist/domains/observability/components/trace-as-item-dialog.cjs.js.map +1 -1
- package/dist/domains/observability/components/trace-as-item-dialog.es.js +31 -36
- package/dist/domains/observability/components/trace-as-item-dialog.es.js.map +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.cjs.js +1 -0
- package/dist/domains/scores/components/score-as-item-dialog.cjs.js.map +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.es.js +1 -0
- package/dist/domains/scores/components/score-as-item-dialog.es.js.map +1 -1
- package/dist/domains/scores/components/span-scoring.cjs.js +1 -1
- package/dist/domains/scores/components/span-scoring.es.js +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js +2 -0
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.es.js +2 -0
- package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +1 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js +1 -1
- package/dist/domains/traces/components/trace-data-panel.cjs.js +2 -0
- package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel.es.js +2 -0
- package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-error-cell.es.js +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
- package/dist/domains/traces/components/trace-time-range-chip.es.js +3 -3
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +117 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +94 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.cjs.js +20 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.es.js +16 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.cjs.js +39 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.es.js +35 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-menu.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.cjs.js +16 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.es.js +12 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-columns-provider.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js +56 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js +40 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +78 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +72 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.cjs.js +52 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.es.js +48 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-layout.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js +70 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js +66 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list-provider.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js +58 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js +54 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-list.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js +145 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js +141 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +151 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +147 -0
- package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-discovery.cjs.js +14 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-discovery.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-discovery.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-discovery.es.js +10 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-discovery.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +86 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +81 -0
- package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer.cjs.js +42 -0
- package/dist/domains/traces/components/traces-explorer.cjs.js.map +1 -0
- package/dist/domains/traces/components/traces-explorer.d.ts +2 -0
- package/dist/domains/traces/components/traces-explorer.es.js +25 -0
- package/dist/domains/traces/components/traces-explorer.es.js.map +1 -0
- package/dist/domains/traces/components/traces-list-view.es.js +4 -4
- package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -1
- package/dist/domains/traces/hooks/use-traces-list-source.cjs.js +2 -1
- package/dist/domains/traces/hooks/use-traces-list-source.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-traces-list-source.es.js +3 -2
- package/dist/domains/traces/hooks/use-traces-list-source.es.js.map +1 -1
- package/dist/domains/traces/hooks.cjs.js +0 -4
- package/dist/domains/traces/hooks.cjs.js.map +1 -1
- package/dist/domains/traces/hooks.es.js +0 -2
- package/dist/domains/traces/hooks.es.js.map +1 -1
- package/dist/domains/traces/trace-filters.cjs.js +1 -1
- package/dist/domains/traces/trace-filters.es.js +1 -1
- package/dist/domains/traces/trace-query-filters.cjs.js +2 -1
- package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -1
- package/dist/domains/traces/trace-query-filters.es.js +1 -1
- package/dist/domains/traces.cjs.js +2 -5
- package/dist/domains/traces.cjs.js.map +1 -1
- package/dist/domains/traces.es.js +1 -3
- package/dist/domains/traces.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
- package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
- package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +1 -1
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +1 -1
- package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
- package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
- package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +2 -2
- package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +2 -2
- package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
- package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
- package/dist/ee/signals/components/entity-index-list.es.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +2 -2
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
- package/dist/filter-bar-C6NdZctn.cjs +849 -0
- package/dist/filter-bar-C6NdZctn.cjs.map +1 -0
- package/dist/filter-bar-DW0fD4bu.js +842 -0
- package/dist/filter-bar-DW0fD4bu.js.map +1 -0
- package/dist/{filter-bar-chip-C9CXOudu.js → filter-bar-chip-DM73lTpx.js} +2 -2
- package/dist/{filter-bar-chip-C9CXOudu.js.map → filter-bar-chip-DM73lTpx.js.map} +1 -1
- package/dist/layout/tabbed-container.cjs.js +1 -1
- package/dist/layout/tabbed-container.es.js +2 -2
- package/dist/lib/form/components/select-field.cjs.js +1 -1
- package/dist/lib/form/components/select-field.es.js +1 -1
- package/dist/{logs-data-list-Db5dBRmc.js → logs-data-list-VEEruqHO.js} +3 -3
- package/dist/{logs-data-list-Db5dBRmc.js.map → logs-data-list-VEEruqHO.js.map} +1 -1
- package/dist/{markdown-renderer-CQ_pSSO7.cjs → markdown-renderer-73CdjgS4.cjs} +2 -2
- package/dist/{markdown-renderer-CQ_pSSO7.cjs.map → markdown-renderer-73CdjgS4.cjs.map} +1 -1
- package/dist/{markdown-renderer-DEoJ5aBR.js → markdown-renderer-Qv9-1YIp.js} +2 -2
- package/dist/{markdown-renderer-DEoJ5aBR.js.map → markdown-renderer-Qv9-1YIp.js.map} +1 -1
- package/dist/new/settings.cjs.js +3 -2
- package/dist/new/settings.cjs.js.map +1 -1
- package/dist/new/settings.es.js +2 -1
- package/dist/new/settings.es.js.map +1 -1
- package/dist/page-layout-D1AXJJrp.cjs +61 -0
- package/dist/page-layout-D1AXJJrp.cjs.map +1 -0
- package/dist/page-layout-DCMg_kJB.js +59 -0
- package/dist/page-layout-DCMg_kJB.js.map +1 -0
- package/dist/{plan-TYss51JK.cjs → plan-DBvoFFHO.cjs} +2 -2
- package/dist/{plan-TYss51JK.cjs.map → plan-DBvoFFHO.cjs.map} +1 -1
- package/dist/{plan-B6td0b8h.js → plan-TBs5kj_X.js} +2 -2
- package/dist/{plan-B6td0b8h.js.map → plan-TBs5kj_X.js.map} +1 -1
- package/dist/{reasoning-activity-I5-HcGou.cjs → reasoning-activity-BrZbS7pa.cjs} +2 -2
- package/dist/{reasoning-activity-I5-HcGou.cjs.map → reasoning-activity-BrZbS7pa.cjs.map} +1 -1
- package/dist/{reasoning-activity-Dz2hk9pU.js → reasoning-activity-CyMhxRL2.js} +2 -2
- package/dist/{reasoning-activity-Dz2hk9pU.js.map → reasoning-activity-CyMhxRL2.js.map} +1 -1
- package/dist/{section-D0hKTVXt.js → section-eRs4NnCC.js} +3 -2
- package/dist/{section-D0hKTVXt.js.map → section-eRs4NnCC.js.map} +1 -1
- package/dist/{section-CctlZIXp.cjs → section-skBYREaR.cjs} +4 -3
- package/dist/{section-CctlZIXp.cjs.map → section-skBYREaR.cjs.map} +1 -1
- package/dist/{select-A3AFKLd9.cjs → select-BqHt-fOI.cjs} +12 -1
- package/dist/select-BqHt-fOI.cjs.map +1 -0
- package/dist/{select-7rYaECQf.js → select-CCpQUIEg.js} +13 -3
- package/dist/select-CCpQUIEg.js.map +1 -0
- package/dist/settings-container-D6LsO77E.js +42 -0
- package/dist/settings-container-D6LsO77E.js.map +1 -0
- package/dist/settings-container-umHxLp1a.cjs +45 -0
- package/dist/settings-container-umHxLp1a.cjs.map +1 -0
- package/dist/{settings-row-yuQjwWTl.js → settings-row-BHtjEfPr.js} +4 -41
- package/dist/settings-row-BHtjEfPr.js.map +1 -0
- package/dist/{settings-row-m_4gDCwS.cjs → settings-row-Ds-PVocx.cjs} +2 -41
- package/dist/settings-row-Ds-PVocx.cjs.map +1 -0
- package/dist/{side-dialog-C-XvsAm_.cjs → side-dialog-B7a4dasE.cjs} +3 -3
- package/dist/{side-dialog-C-XvsAm_.cjs.map → side-dialog-B7a4dasE.cjs.map} +1 -1
- package/dist/{side-dialog-cUpWIkKq.js → side-dialog-DVea8YTO.js} +3 -3
- package/dist/{side-dialog-cUpWIkKq.js.map → side-dialog-DVea8YTO.js.map} +1 -1
- package/dist/{span-payload-primitives-n5uf4hOk.cjs → span-payload-primitives-CE124T1P.cjs} +2 -2
- package/dist/{span-payload-primitives-n5uf4hOk.cjs.map → span-payload-primitives-CE124T1P.cjs.map} +1 -1
- package/dist/{span-payload-primitives-CaT3DT8h.js → span-payload-primitives-v0iS2w26.js} +2 -2
- package/dist/{span-payload-primitives-CaT3DT8h.js.map → span-payload-primitives-v0iS2w26.js.map} +1 -1
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.d.ts +28 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/build-add-item-payload.d.ts +26 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/collapsible-settings-row.d.ts +14 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/dataset-field-errors.d.ts +8 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/dataset-picker.d.ts +11 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/field-errors.d.ts +10 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/index.d.ts +2 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.d.ts +11 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/trajectory-types.d.ts +50 -0
- package/dist/src/domains/datasets/components/add-dataset-item-dialog/use-target-agent-tools.d.ts +7 -0
- package/dist/src/domains/datasets/components/index.d.ts +1 -0
- package/dist/src/domains/logs/hooks/use-logs-filter-persistence.d.ts +2 -3
- package/dist/src/domains/logs/hooks/use-logs-url-state.d.ts +1 -1
- package/dist/src/domains/memory/components/flame-graph-data.d.ts +1 -1
- package/dist/src/domains/observability/components/trace-as-item-dialog.d.ts +3 -5
- package/dist/src/domains/traces/components/traces-explorer/index.d.ts +27 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-actions.d.ts +113 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-auto-refresh.d.ts +1 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-columns-menu.d.ts +1 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-columns-provider.d.ts +9 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +112 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-filter-bar.d.ts +24 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-layout.d.ts +14 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-list-provider.d.ts +13 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-list.d.ts +1 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-panel.d.ts +16 -0
- package/dist/src/domains/traces/components/traces-explorer/traces-explorer-root.d.ts +21 -0
- package/dist/src/domains/traces/components/traces-explorer/use-traces-discovery.d.ts +15 -0
- package/dist/src/domains/traces/components/traces-explorer/use-traces-filter-bar.d.ts +15 -0
- package/dist/src/domains/traces/hooks/index.d.ts +1 -2
- package/dist/src/domains/traces/trace-query-filters.d.ts +2 -0
- package/dist/src/domains/workflows/context/use-persisted-workflow-run.d.ts +5 -5
- package/dist/src/ds/components/BillingIllustration/art/credits-art.d.ts +2 -0
- package/dist/src/ds/components/BillingIllustration/art/plan-art.d.ts +5 -0
- package/dist/src/ds/components/BillingIllustration/billing-illustration.d.ts +1 -1
- package/dist/src/ds/components/CodeEditor/code-editor.d.ts +4 -0
- package/dist/src/ds/components/Combobox/combobox-parts.d.ts +1 -1
- package/dist/src/ds/components/Select/select.d.ts +5 -1
- package/dist/style.css +76 -4
- package/dist/{time-picker-CyvG-fwX.cjs → time-picker-BGtAkRRp.cjs} +2 -2
- package/dist/{time-picker-CyvG-fwX.cjs.map → time-picker-BGtAkRRp.cjs.map} +1 -1
- package/dist/{time-picker-Bzdboi4W.js → time-picker-D1VsACkg.js} +2 -2
- package/dist/{time-picker-Bzdboi4W.js.map → time-picker-D1VsACkg.js.map} +1 -1
- package/dist/{tool-approval-meJYp8az.js → tool-approval-CW6YjYlc.js} +2 -2
- package/dist/{tool-approval-meJYp8az.js.map → tool-approval-CW6YjYlc.js.map} +1 -1
- package/dist/{tool-approval-tRkskd9l.cjs → tool-approval-DNw_9w1C.cjs} +2 -2
- package/dist/{tool-approval-tRkskd9l.cjs.map → tool-approval-DNw_9w1C.cjs.map} +1 -1
- package/dist/{tool-call-arguments-D4D9tT7-.cjs → tool-call-arguments-BdHtc5O4.cjs} +2 -2
- package/dist/{tool-call-arguments-D4D9tT7-.cjs.map → tool-call-arguments-BdHtc5O4.cjs.map} +1 -1
- package/dist/{tool-call-arguments-CyKLhuQC.js → tool-call-arguments-CByjFWnk.js} +2 -2
- package/dist/{tool-call-arguments-CyKLhuQC.js.map → tool-call-arguments-CByjFWnk.js.map} +1 -1
- package/dist/{tool-card-D9jh-XXM.cjs → tool-card-DULALXIR.cjs} +2 -2
- package/dist/{tool-card-D9jh-XXM.cjs.map → tool-card-DULALXIR.cjs.map} +1 -1
- package/dist/{tool-card-B7s_wQuV.js → tool-card-DyZaGWgD.js} +2 -2
- package/dist/{tool-card-B7s_wQuV.js.map → tool-card-DyZaGWgD.js.map} +1 -1
- package/dist/{trace-filters-tC2TkI42.cjs → trace-filters-BtyiQq7Y.cjs} +9 -5
- package/dist/trace-filters-BtyiQq7Y.cjs.map +1 -0
- package/dist/{trace-filters-D1Cs5f24.js → trace-filters-DXW-RdDz.js} +10 -7
- package/dist/trace-filters-DXW-RdDz.js.map +1 -0
- package/dist/{traces-data-list-SpVFLEy8.js → traces-data-list-DgmSuEKb.js} +4 -4
- package/dist/{traces-data-list-SpVFLEy8.js.map → traces-data-list-DgmSuEKb.js.map} +1 -1
- package/dist/{use-workflow-graph-runtime-B0k2hrMc.cjs → use-workflow-graph-runtime-CWgTtW-I.cjs} +2 -2
- package/dist/{use-workflow-graph-runtime-B0k2hrMc.cjs.map → use-workflow-graph-runtime-CWgTtW-I.cjs.map} +1 -1
- package/dist/{use-workflow-graph-runtime-DiiAs2oN.js → use-workflow-graph-runtime-vYcO5MFZ.js} +2 -2
- package/dist/{use-workflow-graph-runtime-DiiAs2oN.js.map → use-workflow-graph-runtime-vYcO5MFZ.js.map} +1 -1
- package/dist/{workflow-code-dialog-content-yV6Lecry.cjs → workflow-code-dialog-content-BeB3jC3z.cjs} +2 -2
- package/dist/{workflow-code-dialog-content-yV6Lecry.cjs.map → workflow-code-dialog-content-BeB3jC3z.cjs.map} +1 -1
- package/dist/{workflow-code-dialog-content-lRHRkDdW.js → workflow-code-dialog-content-BpWrCzH0.js} +2 -2
- package/dist/{workflow-code-dialog-content-lRHRkDdW.js.map → workflow-code-dialog-content-BpWrCzH0.js.map} +1 -1
- package/dist/{workflow-data-edge-view-DadIXKjI.cjs → workflow-data-edge-view-CYsZxUHx.cjs} +2 -2
- package/dist/{workflow-data-edge-view-DadIXKjI.cjs.map → workflow-data-edge-view-CYsZxUHx.cjs.map} +1 -1
- package/dist/{workflow-data-edge-view-BcLEbr1i.js → workflow-data-edge-view-Cqbhavjw.js} +2 -2
- package/dist/{workflow-data-edge-view-BcLEbr1i.js.map → workflow-data-edge-view-Cqbhavjw.js.map} +1 -1
- package/dist/{workflow-edge-data-button-AwaLTE7H.js → workflow-edge-data-button-BPUmnY9J.js} +2 -2
- package/dist/{workflow-edge-data-button-AwaLTE7H.js.map → workflow-edge-data-button-BPUmnY9J.js.map} +1 -1
- package/dist/{workflow-edge-data-button-B4_tt1pL.cjs → workflow-edge-data-button-DinmgZoJ.cjs} +2 -2
- package/dist/{workflow-edge-data-button-B4_tt1pL.cjs.map → workflow-edge-data-button-DinmgZoJ.cjs.map} +1 -1
- package/package.json +7 -7
- package/dist/code-editor-CbyCb7CW.cjs.map +0 -1
- package/dist/code-editor-DOv4jc-0.js.map +0 -1
- package/dist/combobox-BCoCVZHs.js.map +0 -1
- package/dist/combobox-DbZAWh8q.cjs.map +0 -1
- package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js +0 -52
- package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js.map +0 -1
- package/dist/domains/traces/hooks/use-trace-filter-persistence.d.ts +0 -2
- package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js +0 -48
- package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js.map +0 -1
- package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +0 -373
- package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +0 -1
- package/dist/domains/traces/hooks/use-trace-url-state.d.ts +0 -2
- package/dist/domains/traces/hooks/use-trace-url-state.es.js +0 -369
- package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +0 -1
- package/dist/select-7rYaECQf.js.map +0 -1
- package/dist/select-A3AFKLd9.cjs.map +0 -1
- package/dist/settings-row-m_4gDCwS.cjs.map +0 -1
- package/dist/settings-row-yuQjwWTl.js.map +0 -1
- package/dist/src/domains/traces/hooks/use-trace-filter-persistence.d.ts +0 -22
- package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +0 -83
- package/dist/trace-filters-D1Cs5f24.js.map +0 -1
- package/dist/trace-filters-tC2TkI42.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.es.js","sources":["../../src/ds/new/settings/settings-header.tsx","../../src/ds/new/settings/settings-layout.tsx"],"sourcesContent":["import { createContext, useContext, useId } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nconst SettingsTitleIdContext = createContext<string | undefined>(undefined);\n\nexport function SettingsGroup({ className, ...props }: ComponentProps<'section'>) {\n const titleId = useId();\n\n return (\n <SettingsTitleIdContext.Provider value={titleId}>\n <section\n aria-labelledby={titleId}\n className={cn('flex min-w-0 scroll-mt-4 flex-col gap-2', className)}\n {...props}\n />\n </SettingsTitleIdContext.Provider>\n );\n}\n\nexport function SettingsHeader({\n action,\n children,\n className,\n ...props\n}: ComponentProps<'header'> & { action?: ReactNode }) {\n return (\n <header\n className={cn('flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4', className)}\n {...props}\n >\n <div className=\"flex min-w-0 flex-col gap-1\">{children}</div>\n {action != null && <div className=\"shrink-0\">{action}</div>}\n </header>\n );\n}\n\nexport function SettingsTitle({\n accessory,\n className,\n ...props\n}: Omit<ComponentProps<'h2'>, 'id'> & { accessory?: ReactNode }) {\n const titleId = useContext(SettingsTitleIdContext);\n\n return (\n <div className=\"flex min-w-0 flex-wrap items-center gap-2\">\n <Txt as=\"h2\" id={titleId} variant=\"subheading\" tone=\"ink\" className={className} {...props} />\n {accessory}\n </div>\n );\n}\n\nexport function SettingsDescription({ className, ...props }: ComponentProps<'p'>) {\n return <Txt as=\"p\" variant=\"caption\" tone=\"muted\" className={className} {...props} />;\n}\n","import type { ReactNode } from 'react';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface SettingsLayoutProps {\n title?: ReactNode;\n titleAccessory?: ReactNode;\n description?: ReactNode;\n action?: ReactNode;\n inset?: boolean;\n variant?: 'default' | 'header';\n children: ReactNode;\n}\n\nexport function SettingsLayout({\n title,\n titleAccessory,\n description,\n action,\n inset = false,\n variant,\n children,\n}: SettingsLayoutProps) {\n if (title === undefined || title === null) {\n return variant === 'header' ? (\n children\n ) : (\n <div data-slot=\"settings-layout-content\" className=\"mx-auto w-full max-w-5xl min-w-0 overflow-x-hidden px-4 py-5\">\n <div className=\"min-w-0 space-y-8\">{children}</div>\n </div>\n );\n }\n\n return (\n <>\n <div\n data-slot=\"settings-page-header\"\n className=\"mx-auto w-full max-w-5xl min-w-0 overflow-x-clip px-4 pt-5 pb-0 sm:pt-6\"\n >\n <div className={cn('flex min-w-0 flex-wrap items-start justify-between gap-4', inset && 'pl-4')}>\n <div className=\"grid min-w-0 gap-2\">\n <div className=\"flex min-w-0 items-center gap-2\">\n <Txt as=\"h1\" variant=\"heading\" tone=\"muted\" className=\"min-w-0 truncate font-body tracking-normal\">\n {title}\n </Txt>\n {titleAccessory !== undefined && titleAccessory !== null ? (\n <div className=\"shrink-0\">{titleAccessory}</div>\n ) : null}\n </div>\n {description !== undefined && description !== null ? (\n <Txt as=\"p\" variant=\"body\" tone=\"muted\" className=\"m-0 wrap-break-word\">\n {description}\n </Txt>\n ) : null}\n </div>\n {action ? <div className=\"shrink-0\">{action}</div> : null}\n </div>\n </div>\n {variant === 'header' ? (\n children\n ) : (\n <div\n data-slot=\"settings-layout-content\"\n className=\"mx-auto w-full max-w-5xl min-w-0 overflow-x-hidden px-4 py-5\"\n >\n <div className=\"min-w-0 space-y-6\">{children}</div>\n </div>\n )}\n </>\n );\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settings.es.js","sources":["../../src/ds/new/settings/settings-header.tsx","../../src/ds/new/settings/settings-layout.tsx"],"sourcesContent":["import { createContext, useContext, useId } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nconst SettingsTitleIdContext = createContext<string | undefined>(undefined);\n\nexport function SettingsGroup({ className, ...props }: ComponentProps<'section'>) {\n const titleId = useId();\n\n return (\n <SettingsTitleIdContext.Provider value={titleId}>\n <section\n aria-labelledby={titleId}\n className={cn('flex min-w-0 scroll-mt-4 flex-col gap-2', className)}\n {...props}\n />\n </SettingsTitleIdContext.Provider>\n );\n}\n\nexport function SettingsHeader({\n action,\n children,\n className,\n ...props\n}: ComponentProps<'header'> & { action?: ReactNode }) {\n return (\n <header\n className={cn('flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between sm:gap-4', className)}\n {...props}\n >\n <div className=\"flex min-w-0 flex-col gap-1\">{children}</div>\n {action != null && <div className=\"shrink-0\">{action}</div>}\n </header>\n );\n}\n\nexport function SettingsTitle({\n accessory,\n className,\n ...props\n}: Omit<ComponentProps<'h2'>, 'id'> & { accessory?: ReactNode }) {\n const titleId = useContext(SettingsTitleIdContext);\n\n return (\n <div className=\"flex min-w-0 flex-wrap items-center gap-2\">\n <Txt as=\"h2\" id={titleId} variant=\"subheading\" tone=\"ink\" className={className} {...props} />\n {accessory}\n </div>\n );\n}\n\nexport function SettingsDescription({ className, ...props }: ComponentProps<'p'>) {\n return <Txt as=\"p\" variant=\"caption\" tone=\"muted\" className={className} {...props} />;\n}\n","import type { ReactNode } from 'react';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport interface SettingsLayoutProps {\n title?: ReactNode;\n titleAccessory?: ReactNode;\n description?: ReactNode;\n action?: ReactNode;\n inset?: boolean;\n variant?: 'default' | 'header';\n children: ReactNode;\n}\n\nexport function SettingsLayout({\n title,\n titleAccessory,\n description,\n action,\n inset = false,\n variant,\n children,\n}: SettingsLayoutProps) {\n if (title === undefined || title === null) {\n return variant === 'header' ? (\n children\n ) : (\n <div data-slot=\"settings-layout-content\" className=\"mx-auto w-full max-w-5xl min-w-0 overflow-x-hidden px-4 py-5\">\n <div className=\"min-w-0 space-y-8\">{children}</div>\n </div>\n );\n }\n\n return (\n <>\n <div\n data-slot=\"settings-page-header\"\n className=\"mx-auto w-full max-w-5xl min-w-0 overflow-x-clip px-4 pt-5 pb-0 sm:pt-6\"\n >\n <div className={cn('flex min-w-0 flex-wrap items-start justify-between gap-4', inset && 'pl-4')}>\n <div className=\"grid min-w-0 gap-2\">\n <div className=\"flex min-w-0 items-center gap-2\">\n <Txt as=\"h1\" variant=\"heading\" tone=\"muted\" className=\"min-w-0 truncate font-body tracking-normal\">\n {title}\n </Txt>\n {titleAccessory !== undefined && titleAccessory !== null ? (\n <div className=\"shrink-0\">{titleAccessory}</div>\n ) : null}\n </div>\n {description !== undefined && description !== null ? (\n <Txt as=\"p\" variant=\"body\" tone=\"muted\" className=\"m-0 wrap-break-word\">\n {description}\n </Txt>\n ) : null}\n </div>\n {action ? <div className=\"shrink-0\">{action}</div> : null}\n </div>\n </div>\n {variant === 'header' ? (\n children\n ) : (\n <div\n data-slot=\"settings-layout-content\"\n className=\"mx-auto w-full max-w-5xl min-w-0 overflow-x-hidden px-4 py-5\"\n >\n <div className=\"min-w-0 space-y-6\">{children}</div>\n </div>\n )}\n </>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
const Header = require('./Header-C3uFM7_w.cjs');
|
|
5
|
+
const scrollArea = require('./scroll-area-CAY0DNQj.cjs');
|
|
6
|
+
const utils_cn = require('./cn-DlOJCxrS.cjs');
|
|
7
|
+
|
|
8
|
+
function PageLayout({
|
|
9
|
+
children,
|
|
10
|
+
breadcrumbs,
|
|
11
|
+
headerActions,
|
|
12
|
+
actionRow,
|
|
13
|
+
header,
|
|
14
|
+
variant = "container",
|
|
15
|
+
mask = false
|
|
16
|
+
}) {
|
|
17
|
+
const headerSlot = header ? /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "page-layout-header", className: utils_cn.cn(variant === "fit" && "p-4"), children: header }) : null;
|
|
18
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "page-layout", className: "flex h-full min-h-0 flex-col", children: [
|
|
19
|
+
(breadcrumbs || headerActions) && /* @__PURE__ */ jsxRuntime.jsxs(Header.Header, { className: "min-h-header-default shrink-0 gap-2 overflow-hidden px-2", children: [
|
|
20
|
+
breadcrumbs,
|
|
21
|
+
headerActions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-auto flex shrink-0 items-center gap-2 overflow-hidden", children: headerActions })
|
|
22
|
+
] }),
|
|
23
|
+
actionRow && /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "page-layout-action-row", className: "flex shrink-0 flex-col gap-2 px-4 pt-4", children: actionRow }),
|
|
24
|
+
/* @__PURE__ */ jsxRuntime.jsx("main", { className: "flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollArea, { mask, className: "min-h-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
25
|
+
scrollArea.ScrollAreaViewport,
|
|
26
|
+
{
|
|
27
|
+
className: utils_cn.cn(variant === "container" && "p-4"),
|
|
28
|
+
contentClassName: utils_cn.cn(
|
|
29
|
+
variant === "container" && "h-full min-h-min",
|
|
30
|
+
variant === "narrow" && "grid min-h-full grid-cols-1",
|
|
31
|
+
// `fit` hands the remaining body height to its child (panels, graphs, tables that own their scroll).
|
|
32
|
+
variant === "fit" && (header ? "grid h-full grid-cols-1 grid-rows-[auto_minmax(0,1fr)]" : "grid h-full grid-cols-1 grid-rows-1")
|
|
33
|
+
),
|
|
34
|
+
children: variant === "narrow" ? (
|
|
35
|
+
// Horizontal gutter is the variant's contract; keep px/py explicit rather than the `p-4` shorthand.
|
|
36
|
+
// eslint-disable-next-line tailwindcss/enforces-shorthand
|
|
37
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
38
|
+
"div",
|
|
39
|
+
{
|
|
40
|
+
"data-slot": "page-layout-container",
|
|
41
|
+
className: utils_cn.cn(
|
|
42
|
+
"mx-auto grid min-h-full w-full max-w-5xl grid-cols-1 p-4",
|
|
43
|
+
header ? "grid-rows-[auto_1fr]" : "grid-rows-[1fr]"
|
|
44
|
+
),
|
|
45
|
+
children: [
|
|
46
|
+
headerSlot,
|
|
47
|
+
children
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
)
|
|
51
|
+
) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
52
|
+
headerSlot,
|
|
53
|
+
children
|
|
54
|
+
] })
|
|
55
|
+
}
|
|
56
|
+
) }) })
|
|
57
|
+
] });
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
exports.PageLayout = PageLayout;
|
|
61
|
+
//# sourceMappingURL=page-layout-D1AXJJrp.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-layout-D1AXJJrp.cjs","sources":["../src/ds/components/PageLayout/page-layout.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Header } from '../Header';\nimport { ScrollArea, ScrollAreaViewport } from '../ScrollArea';\nimport type { ScrollAreaMask } from '../ScrollArea';\nimport { cn } from '@/lib/utils';\n\nexport interface PageLayoutProps {\n children: ReactNode;\n /** Left side of the page header row. */\n breadcrumbs?: ReactNode;\n /** Right side of the page header row. */\n headerActions?: ReactNode;\n /** Controls pinned between the header and the scrollable body (search, filters, toggles…). */\n actionRow?: ReactNode;\n /** Page-level header (e.g. `PageHeader`) rendered inside the body container, above children. */\n header?: ReactNode;\n /**\n * `container` pads the body (default); `narrow` centers the body in a max-width column;\n * `fit` lets the body fill the page edge to edge.\n */\n variant?: 'container' | 'fit' | 'narrow';\n /**\n * Fade the body's scrolled edges, using the same values as `ScrollArea`'s `mask`. Off by default.\n * `{ y: true }` fades the top and bottom; `{ bottom: '3rem' }` sets one side's depth.\n * A fade covers whatever sits at that edge, so leave it off for `fit` bodies that hold tables with sticky headers.\n */\n mask?: ScrollAreaMask;\n}\n\nexport function PageLayout({\n children,\n breadcrumbs,\n headerActions,\n actionRow,\n header,\n variant = 'container',\n mask = false,\n}: PageLayoutProps) {\n const headerSlot = header ? (\n <div data-slot=\"page-layout-header\" className={cn(variant === 'fit' && 'p-4')}>\n {header}\n </div>\n ) : null;\n\n return (\n <div data-slot=\"page-layout\" className=\"flex h-full min-h-0 flex-col\">\n {(breadcrumbs || headerActions) && (\n <Header className=\"min-h-header-default shrink-0 gap-2 overflow-hidden px-2\">\n {breadcrumbs}\n {headerActions && (\n <div className=\"ml-auto flex shrink-0 items-center gap-2 overflow-hidden\">{headerActions}</div>\n )}\n </Header>\n )}\n {actionRow && (\n <div data-slot=\"page-layout-action-row\" className=\"flex shrink-0 flex-col gap-2 px-4 pt-4\">\n {actionRow}\n </div>\n )}\n <main className=\"flex min-h-0 flex-1 flex-col\">\n <ScrollArea mask={mask} className=\"min-h-0 flex-1\">\n <ScrollAreaViewport\n className={cn(variant === 'container' && 'p-4')}\n contentClassName={cn(\n variant === 'container' && 'h-full min-h-min',\n variant === 'narrow' && 'grid min-h-full grid-cols-1',\n // `fit` hands the remaining body height to its child (panels, graphs, tables that own their scroll).\n variant === 'fit' &&\n (header\n ? 'grid h-full grid-cols-1 grid-rows-[auto_minmax(0,1fr)]'\n : 'grid h-full grid-cols-1 grid-rows-1'),\n )}\n >\n {variant === 'narrow' ? (\n // Horizontal gutter is the variant's contract; keep px/py explicit rather than the `p-4` shorthand.\n // eslint-disable-next-line tailwindcss/enforces-shorthand\n <div\n data-slot=\"page-layout-container\"\n className={cn(\n 'mx-auto grid min-h-full w-full max-w-5xl grid-cols-1 p-4',\n header ? 'grid-rows-[auto_1fr]' : 'grid-rows-[1fr]',\n )}\n >\n {headerSlot}\n {children}\n </div>\n ) : (\n <>\n {headerSlot}\n {children}\n </>\n )}\n </ScrollAreaViewport>\n </ScrollArea>\n </main>\n </div>\n );\n}\n"],"names":["jsx","cn","jsxs","Header","ScrollArea","ScrollAreaViewport","Fragment"],"mappings":";;;;;;;AA6BO,SAAS,UAAA,CAAW;AAAA,EACzB,QAAA;AAAA,EACA,WAAA;AAAA,EACA,aAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,GAAU,WAAA;AAAA,EACV,IAAA,GAAO;AACT,CAAA,EAAoB;AAClB,EAAA,MAAM,UAAA,GAAa,MAAA,mBACjBA,cAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,oBAAA,EAAqB,SAAA,EAAWC,WAAA,CAAG,OAAA,KAAY,KAAA,IAAS,KAAK,CAAA,EACzE,kBACH,CAAA,GACE,IAAA;AAEJ,EAAA,uBACEC,eAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,aAAA,EAAc,WAAU,8BAAA,EACnC,QAAA,EAAA;AAAA,IAAA,CAAA,WAAA,IAAe,aAAA,qBACfA,eAAA,CAACC,aAAA,EAAA,EAAO,SAAA,EAAU,0DAAA,EACf,QAAA,EAAA;AAAA,MAAA,WAAA;AAAA,MACA,aAAA,oBACCH,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4DAA4D,QAAA,EAAA,aAAA,EAAc;AAAA,KAAA,EAE7F,CAAA;AAAA,IAED,6BACCA,cAAA,CAAC,KAAA,EAAA,EAAI,aAAU,wBAAA,EAAyB,SAAA,EAAU,0CAC/C,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,oBAEFA,cAAA,CAAC,UAAK,SAAA,EAAU,8BAAA,EACd,yCAACI,qBAAA,EAAA,EAAW,IAAA,EAAY,WAAU,gBAAA,EAChC,QAAA,kBAAAJ,cAAA;AAAA,MAACK,6BAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAWJ,WAAA,CAAG,OAAA,KAAY,WAAA,IAAe,KAAK,CAAA;AAAA,QAC9C,gBAAA,EAAkBA,WAAA;AAAA,UAChB,YAAY,WAAA,IAAe,kBAAA;AAAA,UAC3B,YAAY,QAAA,IAAY,6BAAA;AAAA;AAAA,UAExB,OAAA,KAAY,KAAA,KACT,MAAA,GACG,wDAAA,GACA,qCAAA;AAAA,SACR;AAAA,QAEC,QAAA,EAAA,OAAA,KAAY,QAAA;AAAA;AAAA;AAAA,0BAGXC,eAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,WAAA,EAAU,uBAAA;AAAA,cACV,SAAA,EAAWD,WAAA;AAAA,gBACT,0DAAA;AAAA,gBACA,SAAS,sBAAA,GAAyB;AAAA,eACpC;AAAA,cAEC,QAAA,EAAA;AAAA,gBAAA,UAAA;AAAA,gBACA;AAAA;AAAA;AAAA;AACH,4BAEAC,eAAA,CAAAI,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,UAAA,UAAA;AAAA,UACA;AAAA,SAAA,EACH;AAAA;AAAA,OAGN,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { H as Header } from './Header-BuYxu_sl.js';
|
|
3
|
+
import { S as ScrollArea, a as ScrollAreaViewport } from './scroll-area-MaMqo4l8.js';
|
|
4
|
+
import { c as cn } from './cn-CQUhN5Jx.js';
|
|
5
|
+
|
|
6
|
+
function PageLayout({
|
|
7
|
+
children,
|
|
8
|
+
breadcrumbs,
|
|
9
|
+
headerActions,
|
|
10
|
+
actionRow,
|
|
11
|
+
header,
|
|
12
|
+
variant = "container",
|
|
13
|
+
mask = false
|
|
14
|
+
}) {
|
|
15
|
+
const headerSlot = header ? /* @__PURE__ */ jsx("div", { "data-slot": "page-layout-header", className: cn(variant === "fit" && "p-4"), children: header }) : null;
|
|
16
|
+
return /* @__PURE__ */ jsxs("div", { "data-slot": "page-layout", className: "flex h-full min-h-0 flex-col", children: [
|
|
17
|
+
(breadcrumbs || headerActions) && /* @__PURE__ */ jsxs(Header, { className: "min-h-header-default shrink-0 gap-2 overflow-hidden px-2", children: [
|
|
18
|
+
breadcrumbs,
|
|
19
|
+
headerActions && /* @__PURE__ */ jsx("div", { className: "ml-auto flex shrink-0 items-center gap-2 overflow-hidden", children: headerActions })
|
|
20
|
+
] }),
|
|
21
|
+
actionRow && /* @__PURE__ */ jsx("div", { "data-slot": "page-layout-action-row", className: "flex shrink-0 flex-col gap-2 px-4 pt-4", children: actionRow }),
|
|
22
|
+
/* @__PURE__ */ jsx("main", { className: "flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ jsx(ScrollArea, { mask, className: "min-h-0 flex-1", children: /* @__PURE__ */ jsx(
|
|
23
|
+
ScrollAreaViewport,
|
|
24
|
+
{
|
|
25
|
+
className: cn(variant === "container" && "p-4"),
|
|
26
|
+
contentClassName: cn(
|
|
27
|
+
variant === "container" && "h-full min-h-min",
|
|
28
|
+
variant === "narrow" && "grid min-h-full grid-cols-1",
|
|
29
|
+
// `fit` hands the remaining body height to its child (panels, graphs, tables that own their scroll).
|
|
30
|
+
variant === "fit" && (header ? "grid h-full grid-cols-1 grid-rows-[auto_minmax(0,1fr)]" : "grid h-full grid-cols-1 grid-rows-1")
|
|
31
|
+
),
|
|
32
|
+
children: variant === "narrow" ? (
|
|
33
|
+
// Horizontal gutter is the variant's contract; keep px/py explicit rather than the `p-4` shorthand.
|
|
34
|
+
// eslint-disable-next-line tailwindcss/enforces-shorthand
|
|
35
|
+
/* @__PURE__ */ jsxs(
|
|
36
|
+
"div",
|
|
37
|
+
{
|
|
38
|
+
"data-slot": "page-layout-container",
|
|
39
|
+
className: cn(
|
|
40
|
+
"mx-auto grid min-h-full w-full max-w-5xl grid-cols-1 p-4",
|
|
41
|
+
header ? "grid-rows-[auto_1fr]" : "grid-rows-[1fr]"
|
|
42
|
+
),
|
|
43
|
+
children: [
|
|
44
|
+
headerSlot,
|
|
45
|
+
children
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
50
|
+
headerSlot,
|
|
51
|
+
children
|
|
52
|
+
] })
|
|
53
|
+
}
|
|
54
|
+
) }) })
|
|
55
|
+
] });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { PageLayout as P };
|
|
59
|
+
//# sourceMappingURL=page-layout-DCMg_kJB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-layout-DCMg_kJB.js","sources":["../src/ds/components/PageLayout/page-layout.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { Header } from '../Header';\nimport { ScrollArea, ScrollAreaViewport } from '../ScrollArea';\nimport type { ScrollAreaMask } from '../ScrollArea';\nimport { cn } from '@/lib/utils';\n\nexport interface PageLayoutProps {\n children: ReactNode;\n /** Left side of the page header row. */\n breadcrumbs?: ReactNode;\n /** Right side of the page header row. */\n headerActions?: ReactNode;\n /** Controls pinned between the header and the scrollable body (search, filters, toggles…). */\n actionRow?: ReactNode;\n /** Page-level header (e.g. `PageHeader`) rendered inside the body container, above children. */\n header?: ReactNode;\n /**\n * `container` pads the body (default); `narrow` centers the body in a max-width column;\n * `fit` lets the body fill the page edge to edge.\n */\n variant?: 'container' | 'fit' | 'narrow';\n /**\n * Fade the body's scrolled edges, using the same values as `ScrollArea`'s `mask`. Off by default.\n * `{ y: true }` fades the top and bottom; `{ bottom: '3rem' }` sets one side's depth.\n * A fade covers whatever sits at that edge, so leave it off for `fit` bodies that hold tables with sticky headers.\n */\n mask?: ScrollAreaMask;\n}\n\nexport function PageLayout({\n children,\n breadcrumbs,\n headerActions,\n actionRow,\n header,\n variant = 'container',\n mask = false,\n}: PageLayoutProps) {\n const headerSlot = header ? (\n <div data-slot=\"page-layout-header\" className={cn(variant === 'fit' && 'p-4')}>\n {header}\n </div>\n ) : null;\n\n return (\n <div data-slot=\"page-layout\" className=\"flex h-full min-h-0 flex-col\">\n {(breadcrumbs || headerActions) && (\n <Header className=\"min-h-header-default shrink-0 gap-2 overflow-hidden px-2\">\n {breadcrumbs}\n {headerActions && (\n <div className=\"ml-auto flex shrink-0 items-center gap-2 overflow-hidden\">{headerActions}</div>\n )}\n </Header>\n )}\n {actionRow && (\n <div data-slot=\"page-layout-action-row\" className=\"flex shrink-0 flex-col gap-2 px-4 pt-4\">\n {actionRow}\n </div>\n )}\n <main className=\"flex min-h-0 flex-1 flex-col\">\n <ScrollArea mask={mask} className=\"min-h-0 flex-1\">\n <ScrollAreaViewport\n className={cn(variant === 'container' && 'p-4')}\n contentClassName={cn(\n variant === 'container' && 'h-full min-h-min',\n variant === 'narrow' && 'grid min-h-full grid-cols-1',\n // `fit` hands the remaining body height to its child (panels, graphs, tables that own their scroll).\n variant === 'fit' &&\n (header\n ? 'grid h-full grid-cols-1 grid-rows-[auto_minmax(0,1fr)]'\n : 'grid h-full grid-cols-1 grid-rows-1'),\n )}\n >\n {variant === 'narrow' ? (\n // Horizontal gutter is the variant's contract; keep px/py explicit rather than the `p-4` shorthand.\n // eslint-disable-next-line tailwindcss/enforces-shorthand\n <div\n data-slot=\"page-layout-container\"\n className={cn(\n 'mx-auto grid min-h-full w-full max-w-5xl grid-cols-1 p-4',\n header ? 'grid-rows-[auto_1fr]' : 'grid-rows-[1fr]',\n )}\n >\n {headerSlot}\n {children}\n </div>\n ) : (\n <>\n {headerSlot}\n {children}\n </>\n )}\n </ScrollAreaViewport>\n </ScrollArea>\n </main>\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;AA6BO,SAAS,UAAA,CAAW;AAAA,EACzB,QAAA;AAAA,EACA,WAAA;AAAA,EACA,aAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,GAAU,WAAA;AAAA,EACV,IAAA,GAAO;AACT,CAAA,EAAoB;AAClB,EAAA,MAAM,UAAA,GAAa,MAAA,mBACjB,GAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,oBAAA,EAAqB,SAAA,EAAW,EAAA,CAAG,OAAA,KAAY,KAAA,IAAS,KAAK,CAAA,EACzE,kBACH,CAAA,GACE,IAAA;AAEJ,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,aAAA,EAAc,WAAU,8BAAA,EACnC,QAAA,EAAA;AAAA,IAAA,CAAA,WAAA,IAAe,aAAA,qBACf,IAAA,CAAC,MAAA,EAAA,EAAO,SAAA,EAAU,0DAAA,EACf,QAAA,EAAA;AAAA,MAAA,WAAA;AAAA,MACA,aAAA,oBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4DAA4D,QAAA,EAAA,aAAA,EAAc;AAAA,KAAA,EAE7F,CAAA;AAAA,IAED,6BACC,GAAA,CAAC,KAAA,EAAA,EAAI,aAAU,wBAAA,EAAyB,SAAA,EAAU,0CAC/C,QAAA,EAAA,SAAA,EACH,CAAA;AAAA,oBAEF,GAAA,CAAC,UAAK,SAAA,EAAU,8BAAA,EACd,8BAAC,UAAA,EAAA,EAAW,IAAA,EAAY,WAAU,gBAAA,EAChC,QAAA,kBAAA,GAAA;AAAA,MAAC,kBAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA,CAAG,OAAA,KAAY,WAAA,IAAe,KAAK,CAAA;AAAA,QAC9C,gBAAA,EAAkB,EAAA;AAAA,UAChB,YAAY,WAAA,IAAe,kBAAA;AAAA,UAC3B,YAAY,QAAA,IAAY,6BAAA;AAAA;AAAA,UAExB,OAAA,KAAY,KAAA,KACT,MAAA,GACG,wDAAA,GACA,qCAAA;AAAA,SACR;AAAA,QAEC,QAAA,EAAA,OAAA,KAAY,QAAA;AAAA;AAAA;AAAA,0BAGX,IAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,WAAA,EAAU,uBAAA;AAAA,cACV,SAAA,EAAW,EAAA;AAAA,gBACT,0DAAA;AAAA,gBACA,SAAS,sBAAA,GAAyB;AAAA,eACpC;AAAA,cAEC,QAAA,EAAA;AAAA,gBAAA,UAAA;AAAA,gBACA;AAAA;AAAA;AAAA;AACH,4BAEA,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,UAAA,UAAA;AAAA,UACA;AAAA,SAAA,EACH;AAAA;AAAA,OAGN,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -7,7 +7,7 @@ const Badge = require('./Badge-63UxysBA.cjs');
|
|
|
7
7
|
const Button = require('./Button-C4I05uT4.cjs');
|
|
8
8
|
const collapsibleBox = require('./collapsible-box-CzU0OwJx.cjs');
|
|
9
9
|
const useCollapsibleBox = require('./use-collapsible-box-BI80L4h_.cjs');
|
|
10
|
-
const markdownRenderer = require('./markdown-renderer-
|
|
10
|
+
const markdownRenderer = require('./markdown-renderer-73CdjgS4.cjs');
|
|
11
11
|
const Txt = require('./Txt-CIS2G5Jx.cjs');
|
|
12
12
|
const icons_Icon = require('./icons/Icon.cjs.js');
|
|
13
13
|
const hooks_useCopyToClipboard = require('./hooks/use-copy-to-clipboard.cjs.js');
|
|
@@ -159,4 +159,4 @@ exports.PlanMain = PlanMain;
|
|
|
159
159
|
exports.PlanPath = PlanPath;
|
|
160
160
|
exports.PlanStatus = PlanStatus;
|
|
161
161
|
exports.PlanTitle = PlanTitle;
|
|
162
|
-
//# sourceMappingURL=plan-
|
|
162
|
+
//# sourceMappingURL=plan-DBvoFFHO.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-TYss51JK.cjs","sources":["../src/ds/components/ai/plan/plan.tsx"],"sourcesContent":["import { CheckIcon, ClipboardList, CopyIcon, Maximize2, Minimize2 } from 'lucide-react';\nimport { createContext, useContext } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Badge } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { CollapsibleBox, DEFAULT_COLLAPSED_HEIGHT, useCollapsibleBox } from '@/ds/components/CollapsibleBox';\nimport type { CollapsibleBoxState } from '@/ds/components/CollapsibleBox';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\nimport { cn } from '@/lib/utils';\n\nconst PlanContext = createContext<CollapsibleBoxState | null>(null);\n\nconst usePlanContext = () => {\n const context = useContext(PlanContext);\n\n if (!context) {\n throw new Error('Plan compound components must be rendered inside <Plan>.');\n }\n\n return context;\n};\n\nexport interface PlanProps extends ComponentProps<'div'> {\n collapsedHeight?: number;\n}\n\nexport function Plan({ children, collapsedHeight = DEFAULT_COLLAPSED_HEIGHT, className, ...props }: PlanProps) {\n const contextValue = useCollapsibleBox({ collapsedHeight });\n\n return (\n <PlanContext.Provider value={contextValue}>\n <div data-slot=\"plan\" className={cn('w-full overflow-hidden rounded-xl bg-card', className)} {...props}>\n {children}\n </div>\n </PlanContext.Provider>\n );\n}\n\nexport type PlanHeaderProps = ComponentProps<'div'>;\n\nexport function PlanHeader({ children, className, ...props }: PlanHeaderProps) {\n return (\n <div\n data-slot=\"plan-header\"\n className={cn('flex min-h-10 items-center justify-between gap-3 px-4 pt-3', className)}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport type PlanLabelProps = ComponentProps<'div'>;\n\nexport function PlanLabel({ children = 'Plan', className, ...props }: PlanLabelProps) {\n return (\n <div data-slot=\"plan-label\" className={cn('flex min-w-0 items-center gap-2', className)} {...props}>\n <Icon size=\"xs\" className=\"text-muted-foreground\">\n <ClipboardList />\n </Icon>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n {children}\n </Txt>\n </div>\n );\n}\n\nexport type PlanHeaderActionsProps = ComponentProps<'div'>;\n\nexport function PlanHeaderActions({ children, className, ...props }: PlanHeaderActionsProps) {\n return (\n <div data-slot=\"plan-header-actions\" className={cn('flex shrink-0 items-center gap-1', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport type PlanStatusProps = Omit<ComponentProps<typeof Badge>, 'icon' | 'indicator' | 'size'>;\n\nexport function PlanStatus({ children, variant = 'neutral', ...props }: PlanStatusProps) {\n return (\n <Badge {...props} variant={variant} size=\"xs\" indicator=\"dot\">\n {children}\n </Badge>\n );\n}\n\nexport interface PlanCopyButtonProps extends Omit<\n ComponentProps<typeof Button>,\n 'aria-label' | 'children' | 'onClick' | 'size' | 'tooltip' | 'type' | 'variant'\n> {\n content: string;\n}\n\nexport function PlanCopyButton({ content, ...props }: PlanCopyButtonProps) {\n const { isCopied, handleCopy } = useCopyToClipboard({\n text: content,\n copiedDuration: 1500,\n showToast: false,\n });\n\n return (\n <Button\n {...props}\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n tooltip=\"Copy plan\"\n aria-label=\"Copy plan\"\n onClick={handleCopy}\n >\n {isCopied ? <CheckIcon /> : <CopyIcon />}\n </Button>\n );\n}\n\nexport type PlanBodyProps = ComponentProps<'div'>;\n\nexport function PlanBody({ children, className, ...props }: PlanBodyProps) {\n return (\n <div data-slot=\"plan-body\" className={cn('px-5 pt-4 pb-5', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport type PlanIntroProps = ComponentProps<'div'>;\n\nexport function PlanIntro({ children, className, ...props }: PlanIntroProps) {\n return (\n <div data-slot=\"plan-intro\" className={cn('mb-5 space-y-1', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport interface PlanTitleProps extends Omit<ComponentProps<typeof Txt<'h3'>>, 'as' | 'children' | 'variant'> {\n children: ReactNode;\n}\n\nexport function PlanTitle({ children, className, ...props }: PlanTitleProps) {\n return (\n <Txt {...props} as=\"h3\" variant=\"heading\" tone=\"ink\" className={className}>\n {children}\n </Txt>\n );\n}\n\nexport interface PlanPathProps extends Omit<\n ComponentProps<typeof Txt<'p'>>,\n 'as' | 'children' | 'font' | 'title' | 'variant'\n> {\n children: string;\n}\n\nconst getFileName = (path: string) => {\n const segments = path.split(/[\\\\/]/).filter(Boolean);\n return segments[segments.length - 1] ?? path;\n};\n\nexport function PlanPath({ children, className, ...props }: PlanPathProps) {\n return (\n <Txt\n {...props}\n as=\"p\"\n variant=\"meta\"\n tone=\"muted\"\n font=\"mono\"\n title={children}\n className={cn('max-w-full truncate overflow-hidden', className)}\n >\n {getFileName(children)}\n </Txt>\n );\n}\n\nexport type PlanMainProps = ComponentProps<'div'>;\n\nexport function PlanMain({ children, className, ...props }: PlanMainProps) {\n return (\n <div data-slot=\"plan-main\" className={cn('relative', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport interface PlanContentProps extends Omit<ComponentProps<'div'>, 'children'> {\n children: string;\n}\n\nexport function PlanContent({ children, ...props }: PlanContentProps) {\n const state = usePlanContext();\n\n return (\n <CollapsibleBox data-slot=\"plan-content\" state={state} {...props}>\n <div className=\"[&_code]:bg-muted [&_h1]:text-title [&_h2]:text-heading [&_h3]:text-subheading [&_p]:text-body\">\n <MarkdownRenderer className=\"text-foreground\">{children}</MarkdownRenderer>\n </div>\n </CollapsibleBox>\n );\n}\n\nexport interface PlanFileProps extends Omit<ComponentProps<'div'>, 'children'> {\n children: string;\n}\n\nexport function PlanFile({ children, className, ...props }: PlanFileProps) {\n return (\n <div data-slot=\"plan-file\" className={className} {...props}>\n <Txt as=\"p\" variant=\"meta\" tone=\"muted\" className=\"mb-2\">\n Plan file\n </Txt>\n <Txt as=\"p\" variant=\"caption\" tone=\"ink\" font=\"mono\" className=\"break-all\">\n {children}\n </Txt>\n </div>\n );\n}\n\nexport type PlanControlsProps = ComponentProps<'div'>;\n\nexport function PlanControls({ children, className, ...props }: PlanControlsProps) {\n const hasActions = Boolean(children);\n\n return (\n <div\n data-slot=\"plan-controls\"\n className={cn('relative z-10 mt-4 flex justify-center empty:hidden', className)}\n {...props}\n >\n {hasActions ? (\n <div className=\"grid w-full max-w-sm grid-cols-[1fr_auto_1fr] items-center gap-2 px-10\">{children}</div>\n ) : (\n <PlanExpandButton />\n )}\n </div>\n );\n}\n\nexport type PlanActionGroupProps = ComponentProps<'div'>;\n\nexport function PlanActionGroup({ children, className, ...props }: PlanActionGroupProps) {\n return (\n <div data-slot=\"plan-action-group\" className={cn('flex justify-start gap-2 empty:hidden', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport type PlanExpandButtonProps = Omit<\n ComponentProps<typeof Button>,\n 'aria-label' | 'children' | 'onClick' | 'size' | 'type'\n>;\n\nexport function PlanExpandButton({ className, variant = 'default', ...props }: PlanExpandButtonProps) {\n const { isExpanded, isClipped, toggleExpanded } = usePlanContext();\n\n // Nothing to expand: the collapsed card already shows the whole plan.\n if (!isClipped && !isExpanded) return null;\n\n return (\n <Button\n {...props}\n className={cn('shrink-0 whitespace-nowrap', className)}\n type=\"button\"\n variant={variant}\n size=\"sm\"\n aria-label={isExpanded ? 'Collapse plan' : 'Expand plan'}\n onClick={toggleExpanded}\n icon={isExpanded ? <Minimize2 /> : <Maximize2 />}\n >\n {isExpanded ? 'Collapse plan' : 'Expand plan'}\n </Button>\n );\n}\n"],"names":["createContext","useContext","DEFAULT_COLLAPSED_HEIGHT","useCollapsibleBox","cn","jsx","jsxs","Icon","ClipboardList","Txt","Badge","useCopyToClipboard","Button","CheckIcon","CopyIcon","CollapsibleBox","MarkdownRenderer","Minimize2","Maximize2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan-DBvoFFHO.cjs","sources":["../src/ds/components/ai/plan/plan.tsx"],"sourcesContent":["import { CheckIcon, ClipboardList, CopyIcon, Maximize2, Minimize2 } from 'lucide-react';\nimport { createContext, useContext } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Badge } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { CollapsibleBox, DEFAULT_COLLAPSED_HEIGHT, useCollapsibleBox } from '@/ds/components/CollapsibleBox';\nimport type { CollapsibleBoxState } from '@/ds/components/CollapsibleBox';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\nimport { cn } from '@/lib/utils';\n\nconst PlanContext = createContext<CollapsibleBoxState | null>(null);\n\nconst usePlanContext = () => {\n const context = useContext(PlanContext);\n\n if (!context) {\n throw new Error('Plan compound components must be rendered inside <Plan>.');\n }\n\n return context;\n};\n\nexport interface PlanProps extends ComponentProps<'div'> {\n collapsedHeight?: number;\n}\n\nexport function Plan({ children, collapsedHeight = DEFAULT_COLLAPSED_HEIGHT, className, ...props }: PlanProps) {\n const contextValue = useCollapsibleBox({ collapsedHeight });\n\n return (\n <PlanContext.Provider value={contextValue}>\n <div data-slot=\"plan\" className={cn('w-full overflow-hidden rounded-xl bg-card', className)} {...props}>\n {children}\n </div>\n </PlanContext.Provider>\n );\n}\n\nexport type PlanHeaderProps = ComponentProps<'div'>;\n\nexport function PlanHeader({ children, className, ...props }: PlanHeaderProps) {\n return (\n <div\n data-slot=\"plan-header\"\n className={cn('flex min-h-10 items-center justify-between gap-3 px-4 pt-3', className)}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport type PlanLabelProps = ComponentProps<'div'>;\n\nexport function PlanLabel({ children = 'Plan', className, ...props }: PlanLabelProps) {\n return (\n <div data-slot=\"plan-label\" className={cn('flex min-w-0 items-center gap-2', className)} {...props}>\n <Icon size=\"xs\" className=\"text-muted-foreground\">\n <ClipboardList />\n </Icon>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n {children}\n </Txt>\n </div>\n );\n}\n\nexport type PlanHeaderActionsProps = ComponentProps<'div'>;\n\nexport function PlanHeaderActions({ children, className, ...props }: PlanHeaderActionsProps) {\n return (\n <div data-slot=\"plan-header-actions\" className={cn('flex shrink-0 items-center gap-1', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport type PlanStatusProps = Omit<ComponentProps<typeof Badge>, 'icon' | 'indicator' | 'size'>;\n\nexport function PlanStatus({ children, variant = 'neutral', ...props }: PlanStatusProps) {\n return (\n <Badge {...props} variant={variant} size=\"xs\" indicator=\"dot\">\n {children}\n </Badge>\n );\n}\n\nexport interface PlanCopyButtonProps extends Omit<\n ComponentProps<typeof Button>,\n 'aria-label' | 'children' | 'onClick' | 'size' | 'tooltip' | 'type' | 'variant'\n> {\n content: string;\n}\n\nexport function PlanCopyButton({ content, ...props }: PlanCopyButtonProps) {\n const { isCopied, handleCopy } = useCopyToClipboard({\n text: content,\n copiedDuration: 1500,\n showToast: false,\n });\n\n return (\n <Button\n {...props}\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n tooltip=\"Copy plan\"\n aria-label=\"Copy plan\"\n onClick={handleCopy}\n >\n {isCopied ? <CheckIcon /> : <CopyIcon />}\n </Button>\n );\n}\n\nexport type PlanBodyProps = ComponentProps<'div'>;\n\nexport function PlanBody({ children, className, ...props }: PlanBodyProps) {\n return (\n <div data-slot=\"plan-body\" className={cn('px-5 pt-4 pb-5', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport type PlanIntroProps = ComponentProps<'div'>;\n\nexport function PlanIntro({ children, className, ...props }: PlanIntroProps) {\n return (\n <div data-slot=\"plan-intro\" className={cn('mb-5 space-y-1', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport interface PlanTitleProps extends Omit<ComponentProps<typeof Txt<'h3'>>, 'as' | 'children' | 'variant'> {\n children: ReactNode;\n}\n\nexport function PlanTitle({ children, className, ...props }: PlanTitleProps) {\n return (\n <Txt {...props} as=\"h3\" variant=\"heading\" tone=\"ink\" className={className}>\n {children}\n </Txt>\n );\n}\n\nexport interface PlanPathProps extends Omit<\n ComponentProps<typeof Txt<'p'>>,\n 'as' | 'children' | 'font' | 'title' | 'variant'\n> {\n children: string;\n}\n\nconst getFileName = (path: string) => {\n const segments = path.split(/[\\\\/]/).filter(Boolean);\n return segments[segments.length - 1] ?? path;\n};\n\nexport function PlanPath({ children, className, ...props }: PlanPathProps) {\n return (\n <Txt\n {...props}\n as=\"p\"\n variant=\"meta\"\n tone=\"muted\"\n font=\"mono\"\n title={children}\n className={cn('max-w-full truncate overflow-hidden', className)}\n >\n {getFileName(children)}\n </Txt>\n );\n}\n\nexport type PlanMainProps = ComponentProps<'div'>;\n\nexport function PlanMain({ children, className, ...props }: PlanMainProps) {\n return (\n <div data-slot=\"plan-main\" className={cn('relative', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport interface PlanContentProps extends Omit<ComponentProps<'div'>, 'children'> {\n children: string;\n}\n\nexport function PlanContent({ children, ...props }: PlanContentProps) {\n const state = usePlanContext();\n\n return (\n <CollapsibleBox data-slot=\"plan-content\" state={state} {...props}>\n <div className=\"[&_code]:bg-muted [&_h1]:text-title [&_h2]:text-heading [&_h3]:text-subheading [&_p]:text-body\">\n <MarkdownRenderer className=\"text-foreground\">{children}</MarkdownRenderer>\n </div>\n </CollapsibleBox>\n );\n}\n\nexport interface PlanFileProps extends Omit<ComponentProps<'div'>, 'children'> {\n children: string;\n}\n\nexport function PlanFile({ children, className, ...props }: PlanFileProps) {\n return (\n <div data-slot=\"plan-file\" className={className} {...props}>\n <Txt as=\"p\" variant=\"meta\" tone=\"muted\" className=\"mb-2\">\n Plan file\n </Txt>\n <Txt as=\"p\" variant=\"caption\" tone=\"ink\" font=\"mono\" className=\"break-all\">\n {children}\n </Txt>\n </div>\n );\n}\n\nexport type PlanControlsProps = ComponentProps<'div'>;\n\nexport function PlanControls({ children, className, ...props }: PlanControlsProps) {\n const hasActions = Boolean(children);\n\n return (\n <div\n data-slot=\"plan-controls\"\n className={cn('relative z-10 mt-4 flex justify-center empty:hidden', className)}\n {...props}\n >\n {hasActions ? (\n <div className=\"grid w-full max-w-sm grid-cols-[1fr_auto_1fr] items-center gap-2 px-10\">{children}</div>\n ) : (\n <PlanExpandButton />\n )}\n </div>\n );\n}\n\nexport type PlanActionGroupProps = ComponentProps<'div'>;\n\nexport function PlanActionGroup({ children, className, ...props }: PlanActionGroupProps) {\n return (\n <div data-slot=\"plan-action-group\" className={cn('flex justify-start gap-2 empty:hidden', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport type PlanExpandButtonProps = Omit<\n ComponentProps<typeof Button>,\n 'aria-label' | 'children' | 'onClick' | 'size' | 'type'\n>;\n\nexport function PlanExpandButton({ className, variant = 'default', ...props }: PlanExpandButtonProps) {\n const { isExpanded, isClipped, toggleExpanded } = usePlanContext();\n\n // Nothing to expand: the collapsed card already shows the whole plan.\n if (!isClipped && !isExpanded) return null;\n\n return (\n <Button\n {...props}\n className={cn('shrink-0 whitespace-nowrap', className)}\n type=\"button\"\n variant={variant}\n size=\"sm\"\n aria-label={isExpanded ? 'Collapse plan' : 'Expand plan'}\n onClick={toggleExpanded}\n icon={isExpanded ? <Minimize2 /> : <Maximize2 />}\n >\n {isExpanded ? 'Collapse plan' : 'Expand plan'}\n </Button>\n );\n}\n"],"names":["createContext","useContext","DEFAULT_COLLAPSED_HEIGHT","useCollapsibleBox","cn","jsx","jsxs","Icon","ClipboardList","Txt","Badge","useCopyToClipboard","Button","CheckIcon","CopyIcon","CollapsibleBox","MarkdownRenderer","Minimize2","Maximize2"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { B as Badge } from './Badge-CHGARUEW.js';
|
|
|
5
5
|
import { B as Button } from './Button-D8a5EWJ5.js';
|
|
6
6
|
import { C as CollapsibleBox } from './collapsible-box-DotFa3hr.js';
|
|
7
7
|
import { u as useCollapsibleBox, D as DEFAULT_COLLAPSED_HEIGHT } from './use-collapsible-box-B0t2_SvP.js';
|
|
8
|
-
import { M as MarkdownRenderer } from './markdown-renderer-
|
|
8
|
+
import { M as MarkdownRenderer } from './markdown-renderer-Qv9-1YIp.js';
|
|
9
9
|
import { T as Txt } from './Txt-BtIGLRk1.js';
|
|
10
10
|
import { Icon } from './icons/Icon.es.js';
|
|
11
11
|
import { useCopyToClipboard } from './hooks/use-copy-to-clipboard.es.js';
|
|
@@ -142,4 +142,4 @@ function PlanExpandButton({ className, variant = "default", ...props }) {
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
export { Plan as P, PlanActionGroup as a, PlanBody as b, PlanContent as c, PlanControls as d, PlanCopyButton as e, PlanExpandButton as f, PlanFile as g, PlanHeader as h, PlanHeaderActions as i, PlanIntro as j, PlanLabel as k, PlanMain as l, PlanPath as m, PlanStatus as n, PlanTitle as o };
|
|
145
|
-
//# sourceMappingURL=plan-
|
|
145
|
+
//# sourceMappingURL=plan-TBs5kj_X.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-B6td0b8h.js","sources":["../src/ds/components/ai/plan/plan.tsx"],"sourcesContent":["import { CheckIcon, ClipboardList, CopyIcon, Maximize2, Minimize2 } from 'lucide-react';\nimport { createContext, useContext } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Badge } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { CollapsibleBox, DEFAULT_COLLAPSED_HEIGHT, useCollapsibleBox } from '@/ds/components/CollapsibleBox';\nimport type { CollapsibleBoxState } from '@/ds/components/CollapsibleBox';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\nimport { cn } from '@/lib/utils';\n\nconst PlanContext = createContext<CollapsibleBoxState | null>(null);\n\nconst usePlanContext = () => {\n const context = useContext(PlanContext);\n\n if (!context) {\n throw new Error('Plan compound components must be rendered inside <Plan>.');\n }\n\n return context;\n};\n\nexport interface PlanProps extends ComponentProps<'div'> {\n collapsedHeight?: number;\n}\n\nexport function Plan({ children, collapsedHeight = DEFAULT_COLLAPSED_HEIGHT, className, ...props }: PlanProps) {\n const contextValue = useCollapsibleBox({ collapsedHeight });\n\n return (\n <PlanContext.Provider value={contextValue}>\n <div data-slot=\"plan\" className={cn('w-full overflow-hidden rounded-xl bg-card', className)} {...props}>\n {children}\n </div>\n </PlanContext.Provider>\n );\n}\n\nexport type PlanHeaderProps = ComponentProps<'div'>;\n\nexport function PlanHeader({ children, className, ...props }: PlanHeaderProps) {\n return (\n <div\n data-slot=\"plan-header\"\n className={cn('flex min-h-10 items-center justify-between gap-3 px-4 pt-3', className)}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport type PlanLabelProps = ComponentProps<'div'>;\n\nexport function PlanLabel({ children = 'Plan', className, ...props }: PlanLabelProps) {\n return (\n <div data-slot=\"plan-label\" className={cn('flex min-w-0 items-center gap-2', className)} {...props}>\n <Icon size=\"xs\" className=\"text-muted-foreground\">\n <ClipboardList />\n </Icon>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n {children}\n </Txt>\n </div>\n );\n}\n\nexport type PlanHeaderActionsProps = ComponentProps<'div'>;\n\nexport function PlanHeaderActions({ children, className, ...props }: PlanHeaderActionsProps) {\n return (\n <div data-slot=\"plan-header-actions\" className={cn('flex shrink-0 items-center gap-1', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport type PlanStatusProps = Omit<ComponentProps<typeof Badge>, 'icon' | 'indicator' | 'size'>;\n\nexport function PlanStatus({ children, variant = 'neutral', ...props }: PlanStatusProps) {\n return (\n <Badge {...props} variant={variant} size=\"xs\" indicator=\"dot\">\n {children}\n </Badge>\n );\n}\n\nexport interface PlanCopyButtonProps extends Omit<\n ComponentProps<typeof Button>,\n 'aria-label' | 'children' | 'onClick' | 'size' | 'tooltip' | 'type' | 'variant'\n> {\n content: string;\n}\n\nexport function PlanCopyButton({ content, ...props }: PlanCopyButtonProps) {\n const { isCopied, handleCopy } = useCopyToClipboard({\n text: content,\n copiedDuration: 1500,\n showToast: false,\n });\n\n return (\n <Button\n {...props}\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n tooltip=\"Copy plan\"\n aria-label=\"Copy plan\"\n onClick={handleCopy}\n >\n {isCopied ? <CheckIcon /> : <CopyIcon />}\n </Button>\n );\n}\n\nexport type PlanBodyProps = ComponentProps<'div'>;\n\nexport function PlanBody({ children, className, ...props }: PlanBodyProps) {\n return (\n <div data-slot=\"plan-body\" className={cn('px-5 pt-4 pb-5', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport type PlanIntroProps = ComponentProps<'div'>;\n\nexport function PlanIntro({ children, className, ...props }: PlanIntroProps) {\n return (\n <div data-slot=\"plan-intro\" className={cn('mb-5 space-y-1', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport interface PlanTitleProps extends Omit<ComponentProps<typeof Txt<'h3'>>, 'as' | 'children' | 'variant'> {\n children: ReactNode;\n}\n\nexport function PlanTitle({ children, className, ...props }: PlanTitleProps) {\n return (\n <Txt {...props} as=\"h3\" variant=\"heading\" tone=\"ink\" className={className}>\n {children}\n </Txt>\n );\n}\n\nexport interface PlanPathProps extends Omit<\n ComponentProps<typeof Txt<'p'>>,\n 'as' | 'children' | 'font' | 'title' | 'variant'\n> {\n children: string;\n}\n\nconst getFileName = (path: string) => {\n const segments = path.split(/[\\\\/]/).filter(Boolean);\n return segments[segments.length - 1] ?? path;\n};\n\nexport function PlanPath({ children, className, ...props }: PlanPathProps) {\n return (\n <Txt\n {...props}\n as=\"p\"\n variant=\"meta\"\n tone=\"muted\"\n font=\"mono\"\n title={children}\n className={cn('max-w-full truncate overflow-hidden', className)}\n >\n {getFileName(children)}\n </Txt>\n );\n}\n\nexport type PlanMainProps = ComponentProps<'div'>;\n\nexport function PlanMain({ children, className, ...props }: PlanMainProps) {\n return (\n <div data-slot=\"plan-main\" className={cn('relative', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport interface PlanContentProps extends Omit<ComponentProps<'div'>, 'children'> {\n children: string;\n}\n\nexport function PlanContent({ children, ...props }: PlanContentProps) {\n const state = usePlanContext();\n\n return (\n <CollapsibleBox data-slot=\"plan-content\" state={state} {...props}>\n <div className=\"[&_code]:bg-muted [&_h1]:text-title [&_h2]:text-heading [&_h3]:text-subheading [&_p]:text-body\">\n <MarkdownRenderer className=\"text-foreground\">{children}</MarkdownRenderer>\n </div>\n </CollapsibleBox>\n );\n}\n\nexport interface PlanFileProps extends Omit<ComponentProps<'div'>, 'children'> {\n children: string;\n}\n\nexport function PlanFile({ children, className, ...props }: PlanFileProps) {\n return (\n <div data-slot=\"plan-file\" className={className} {...props}>\n <Txt as=\"p\" variant=\"meta\" tone=\"muted\" className=\"mb-2\">\n Plan file\n </Txt>\n <Txt as=\"p\" variant=\"caption\" tone=\"ink\" font=\"mono\" className=\"break-all\">\n {children}\n </Txt>\n </div>\n );\n}\n\nexport type PlanControlsProps = ComponentProps<'div'>;\n\nexport function PlanControls({ children, className, ...props }: PlanControlsProps) {\n const hasActions = Boolean(children);\n\n return (\n <div\n data-slot=\"plan-controls\"\n className={cn('relative z-10 mt-4 flex justify-center empty:hidden', className)}\n {...props}\n >\n {hasActions ? (\n <div className=\"grid w-full max-w-sm grid-cols-[1fr_auto_1fr] items-center gap-2 px-10\">{children}</div>\n ) : (\n <PlanExpandButton />\n )}\n </div>\n );\n}\n\nexport type PlanActionGroupProps = ComponentProps<'div'>;\n\nexport function PlanActionGroup({ children, className, ...props }: PlanActionGroupProps) {\n return (\n <div data-slot=\"plan-action-group\" className={cn('flex justify-start gap-2 empty:hidden', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport type PlanExpandButtonProps = Omit<\n ComponentProps<typeof Button>,\n 'aria-label' | 'children' | 'onClick' | 'size' | 'type'\n>;\n\nexport function PlanExpandButton({ className, variant = 'default', ...props }: PlanExpandButtonProps) {\n const { isExpanded, isClipped, toggleExpanded } = usePlanContext();\n\n // Nothing to expand: the collapsed card already shows the whole plan.\n if (!isClipped && !isExpanded) return null;\n\n return (\n <Button\n {...props}\n className={cn('shrink-0 whitespace-nowrap', className)}\n type=\"button\"\n variant={variant}\n size=\"sm\"\n aria-label={isExpanded ? 'Collapse plan' : 'Expand plan'}\n onClick={toggleExpanded}\n icon={isExpanded ? <Minimize2 /> : <Maximize2 />}\n >\n {isExpanded ? 'Collapse plan' : 'Expand plan'}\n </Button>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan-TBs5kj_X.js","sources":["../src/ds/components/ai/plan/plan.tsx"],"sourcesContent":["import { CheckIcon, ClipboardList, CopyIcon, Maximize2, Minimize2 } from 'lucide-react';\nimport { createContext, useContext } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { Badge } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { CollapsibleBox, DEFAULT_COLLAPSED_HEIGHT, useCollapsibleBox } from '@/ds/components/CollapsibleBox';\nimport type { CollapsibleBoxState } from '@/ds/components/CollapsibleBox';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons/Icon';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\nimport { cn } from '@/lib/utils';\n\nconst PlanContext = createContext<CollapsibleBoxState | null>(null);\n\nconst usePlanContext = () => {\n const context = useContext(PlanContext);\n\n if (!context) {\n throw new Error('Plan compound components must be rendered inside <Plan>.');\n }\n\n return context;\n};\n\nexport interface PlanProps extends ComponentProps<'div'> {\n collapsedHeight?: number;\n}\n\nexport function Plan({ children, collapsedHeight = DEFAULT_COLLAPSED_HEIGHT, className, ...props }: PlanProps) {\n const contextValue = useCollapsibleBox({ collapsedHeight });\n\n return (\n <PlanContext.Provider value={contextValue}>\n <div data-slot=\"plan\" className={cn('w-full overflow-hidden rounded-xl bg-card', className)} {...props}>\n {children}\n </div>\n </PlanContext.Provider>\n );\n}\n\nexport type PlanHeaderProps = ComponentProps<'div'>;\n\nexport function PlanHeader({ children, className, ...props }: PlanHeaderProps) {\n return (\n <div\n data-slot=\"plan-header\"\n className={cn('flex min-h-10 items-center justify-between gap-3 px-4 pt-3', className)}\n {...props}\n >\n {children}\n </div>\n );\n}\n\nexport type PlanLabelProps = ComponentProps<'div'>;\n\nexport function PlanLabel({ children = 'Plan', className, ...props }: PlanLabelProps) {\n return (\n <div data-slot=\"plan-label\" className={cn('flex min-w-0 items-center gap-2', className)} {...props}>\n <Icon size=\"xs\" className=\"text-muted-foreground\">\n <ClipboardList />\n </Icon>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n {children}\n </Txt>\n </div>\n );\n}\n\nexport type PlanHeaderActionsProps = ComponentProps<'div'>;\n\nexport function PlanHeaderActions({ children, className, ...props }: PlanHeaderActionsProps) {\n return (\n <div data-slot=\"plan-header-actions\" className={cn('flex shrink-0 items-center gap-1', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport type PlanStatusProps = Omit<ComponentProps<typeof Badge>, 'icon' | 'indicator' | 'size'>;\n\nexport function PlanStatus({ children, variant = 'neutral', ...props }: PlanStatusProps) {\n return (\n <Badge {...props} variant={variant} size=\"xs\" indicator=\"dot\">\n {children}\n </Badge>\n );\n}\n\nexport interface PlanCopyButtonProps extends Omit<\n ComponentProps<typeof Button>,\n 'aria-label' | 'children' | 'onClick' | 'size' | 'tooltip' | 'type' | 'variant'\n> {\n content: string;\n}\n\nexport function PlanCopyButton({ content, ...props }: PlanCopyButtonProps) {\n const { isCopied, handleCopy } = useCopyToClipboard({\n text: content,\n copiedDuration: 1500,\n showToast: false,\n });\n\n return (\n <Button\n {...props}\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n tooltip=\"Copy plan\"\n aria-label=\"Copy plan\"\n onClick={handleCopy}\n >\n {isCopied ? <CheckIcon /> : <CopyIcon />}\n </Button>\n );\n}\n\nexport type PlanBodyProps = ComponentProps<'div'>;\n\nexport function PlanBody({ children, className, ...props }: PlanBodyProps) {\n return (\n <div data-slot=\"plan-body\" className={cn('px-5 pt-4 pb-5', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport type PlanIntroProps = ComponentProps<'div'>;\n\nexport function PlanIntro({ children, className, ...props }: PlanIntroProps) {\n return (\n <div data-slot=\"plan-intro\" className={cn('mb-5 space-y-1', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport interface PlanTitleProps extends Omit<ComponentProps<typeof Txt<'h3'>>, 'as' | 'children' | 'variant'> {\n children: ReactNode;\n}\n\nexport function PlanTitle({ children, className, ...props }: PlanTitleProps) {\n return (\n <Txt {...props} as=\"h3\" variant=\"heading\" tone=\"ink\" className={className}>\n {children}\n </Txt>\n );\n}\n\nexport interface PlanPathProps extends Omit<\n ComponentProps<typeof Txt<'p'>>,\n 'as' | 'children' | 'font' | 'title' | 'variant'\n> {\n children: string;\n}\n\nconst getFileName = (path: string) => {\n const segments = path.split(/[\\\\/]/).filter(Boolean);\n return segments[segments.length - 1] ?? path;\n};\n\nexport function PlanPath({ children, className, ...props }: PlanPathProps) {\n return (\n <Txt\n {...props}\n as=\"p\"\n variant=\"meta\"\n tone=\"muted\"\n font=\"mono\"\n title={children}\n className={cn('max-w-full truncate overflow-hidden', className)}\n >\n {getFileName(children)}\n </Txt>\n );\n}\n\nexport type PlanMainProps = ComponentProps<'div'>;\n\nexport function PlanMain({ children, className, ...props }: PlanMainProps) {\n return (\n <div data-slot=\"plan-main\" className={cn('relative', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport interface PlanContentProps extends Omit<ComponentProps<'div'>, 'children'> {\n children: string;\n}\n\nexport function PlanContent({ children, ...props }: PlanContentProps) {\n const state = usePlanContext();\n\n return (\n <CollapsibleBox data-slot=\"plan-content\" state={state} {...props}>\n <div className=\"[&_code]:bg-muted [&_h1]:text-title [&_h2]:text-heading [&_h3]:text-subheading [&_p]:text-body\">\n <MarkdownRenderer className=\"text-foreground\">{children}</MarkdownRenderer>\n </div>\n </CollapsibleBox>\n );\n}\n\nexport interface PlanFileProps extends Omit<ComponentProps<'div'>, 'children'> {\n children: string;\n}\n\nexport function PlanFile({ children, className, ...props }: PlanFileProps) {\n return (\n <div data-slot=\"plan-file\" className={className} {...props}>\n <Txt as=\"p\" variant=\"meta\" tone=\"muted\" className=\"mb-2\">\n Plan file\n </Txt>\n <Txt as=\"p\" variant=\"caption\" tone=\"ink\" font=\"mono\" className=\"break-all\">\n {children}\n </Txt>\n </div>\n );\n}\n\nexport type PlanControlsProps = ComponentProps<'div'>;\n\nexport function PlanControls({ children, className, ...props }: PlanControlsProps) {\n const hasActions = Boolean(children);\n\n return (\n <div\n data-slot=\"plan-controls\"\n className={cn('relative z-10 mt-4 flex justify-center empty:hidden', className)}\n {...props}\n >\n {hasActions ? (\n <div className=\"grid w-full max-w-sm grid-cols-[1fr_auto_1fr] items-center gap-2 px-10\">{children}</div>\n ) : (\n <PlanExpandButton />\n )}\n </div>\n );\n}\n\nexport type PlanActionGroupProps = ComponentProps<'div'>;\n\nexport function PlanActionGroup({ children, className, ...props }: PlanActionGroupProps) {\n return (\n <div data-slot=\"plan-action-group\" className={cn('flex justify-start gap-2 empty:hidden', className)} {...props}>\n {children}\n </div>\n );\n}\n\nexport type PlanExpandButtonProps = Omit<\n ComponentProps<typeof Button>,\n 'aria-label' | 'children' | 'onClick' | 'size' | 'type'\n>;\n\nexport function PlanExpandButton({ className, variant = 'default', ...props }: PlanExpandButtonProps) {\n const { isExpanded, isClipped, toggleExpanded } = usePlanContext();\n\n // Nothing to expand: the collapsed card already shows the whole plan.\n if (!isClipped && !isExpanded) return null;\n\n return (\n <Button\n {...props}\n className={cn('shrink-0 whitespace-nowrap', className)}\n type=\"button\"\n variant={variant}\n size=\"sm\"\n aria-label={isExpanded ? 'Collapse plan' : 'Expand plan'}\n onClick={toggleExpanded}\n icon={isExpanded ? <Minimize2 /> : <Maximize2 />}\n >\n {isExpanded ? 'Collapse plan' : 'Expand plan'}\n </Button>\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ const jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
const lucideReact = require('lucide-react');
|
|
5
5
|
const activity = require('./activity-D3iI9pYN.cjs');
|
|
6
6
|
const reasoningVisibility = require('./reasoning-visibility-DXho4jGC.cjs');
|
|
7
|
-
const markdownRenderer = require('./markdown-renderer-
|
|
7
|
+
const markdownRenderer = require('./markdown-renderer-73CdjgS4.cjs');
|
|
8
8
|
|
|
9
9
|
function ReasoningActivity({ defaultOpen = true, ...content }) {
|
|
10
10
|
if (!reasoningVisibility.hasVisibleReasoning(content)) return null;
|
|
@@ -31,4 +31,4 @@ function ReasoningActivity({ defaultOpen = true, ...content }) {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
exports.ReasoningActivity = ReasoningActivity;
|
|
34
|
-
//# sourceMappingURL=reasoning-activity-
|
|
34
|
+
//# sourceMappingURL=reasoning-activity-BrZbS7pa.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-activity-
|
|
1
|
+
{"version":3,"file":"reasoning-activity-BrZbS7pa.cjs","sources":["../src/ds/components/ai/activity/presets/reasoning-activity.tsx"],"sourcesContent":["import { Brain } from 'lucide-react';\nimport { ActivityItem } from '../activity';\nimport { hasVisibleReasoning } from './reasoning-visibility';\nimport type { ReasoningContent } from './reasoning-visibility';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\n\nexport interface ReasoningActivityProps extends ReasoningContent {\n defaultOpen?: boolean;\n}\n\nexport function ReasoningActivity({ defaultOpen = true, ...content }: ReasoningActivityProps) {\n if (!hasVisibleReasoning(content)) return null;\n\n const { text, redacted, streaming } = content;\n const body = redacted ? 'Reasoning was redacted by the provider.' : text;\n\n return (\n <ActivityItem\n icon={<Brain aria-hidden />}\n label=\"Reasoning\"\n status={streaming ? 'running' : 'idle'}\n defaultOpen={defaultOpen}\n aria-label=\"Reasoning\"\n >\n {body.trim().length > 0 && (\n <MarkdownRenderer\n className=\"text-caption text-muted-foreground [&_p]:my-0.5\"\n streaming={streaming && !redacted}\n >\n {body}\n </MarkdownRenderer>\n )}\n </ActivityItem>\n );\n}\n"],"names":["hasVisibleReasoning","jsx","ActivityItem","Brain","MarkdownRenderer"],"mappings":";;;;;;;;AAUO,SAAS,kBAAkB,EAAE,WAAA,GAAc,IAAA,EAAM,GAAG,SAAQ,EAA2B;AAC5F,EAAA,IAAI,CAACA,uCAAA,CAAoB,OAAO,CAAA,EAAG,OAAO,IAAA;AAE1C,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,SAAA,EAAU,GAAI,OAAA;AACtC,EAAA,MAAM,IAAA,GAAO,WAAW,yCAAA,GAA4C,IAAA;AAEpE,EAAA,uBACEC,cAAA;AAAA,IAACC,qBAAA;AAAA,IAAA;AAAA,MACC,IAAA,kBAAMD,cAAA,CAACE,iBAAA,EAAA,EAAM,aAAA,EAAW,IAAA,EAAC,CAAA;AAAA,MACzB,KAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ,YAAY,SAAA,GAAY,MAAA;AAAA,MAChC,WAAA;AAAA,MACA,YAAA,EAAW,WAAA;AAAA,MAEV,QAAA,EAAA,IAAA,CAAK,IAAA,EAAK,CAAE,MAAA,GAAS,CAAA,oBACpBF,cAAA;AAAA,QAACG,iCAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,iDAAA;AAAA,UACV,SAAA,EAAW,aAAa,CAAC,QAAA;AAAA,UAExB,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,GAEJ;AAEJ;;;;"}
|
|
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { Brain } from 'lucide-react';
|
|
3
3
|
import { g as ActivityItem } from './activity-B7c_nQMn.js';
|
|
4
4
|
import { h as hasVisibleReasoning } from './reasoning-visibility-B9rA0AIj.js';
|
|
5
|
-
import { M as MarkdownRenderer } from './markdown-renderer-
|
|
5
|
+
import { M as MarkdownRenderer } from './markdown-renderer-Qv9-1YIp.js';
|
|
6
6
|
|
|
7
7
|
function ReasoningActivity({ defaultOpen = true, ...content }) {
|
|
8
8
|
if (!hasVisibleReasoning(content)) return null;
|
|
@@ -29,4 +29,4 @@ function ReasoningActivity({ defaultOpen = true, ...content }) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export { ReasoningActivity as R };
|
|
32
|
-
//# sourceMappingURL=reasoning-activity-
|
|
32
|
+
//# sourceMappingURL=reasoning-activity-CyMhxRL2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-activity-
|
|
1
|
+
{"version":3,"file":"reasoning-activity-CyMhxRL2.js","sources":["../src/ds/components/ai/activity/presets/reasoning-activity.tsx"],"sourcesContent":["import { Brain } from 'lucide-react';\nimport { ActivityItem } from '../activity';\nimport { hasVisibleReasoning } from './reasoning-visibility';\nimport type { ReasoningContent } from './reasoning-visibility';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\n\nexport interface ReasoningActivityProps extends ReasoningContent {\n defaultOpen?: boolean;\n}\n\nexport function ReasoningActivity({ defaultOpen = true, ...content }: ReasoningActivityProps) {\n if (!hasVisibleReasoning(content)) return null;\n\n const { text, redacted, streaming } = content;\n const body = redacted ? 'Reasoning was redacted by the provider.' : text;\n\n return (\n <ActivityItem\n icon={<Brain aria-hidden />}\n label=\"Reasoning\"\n status={streaming ? 'running' : 'idle'}\n defaultOpen={defaultOpen}\n aria-label=\"Reasoning\"\n >\n {body.trim().length > 0 && (\n <MarkdownRenderer\n className=\"text-caption text-muted-foreground [&_p]:my-0.5\"\n streaming={streaming && !redacted}\n >\n {body}\n </MarkdownRenderer>\n )}\n </ActivityItem>\n );\n}\n"],"names":[],"mappings":";;;;;;AAUO,SAAS,kBAAkB,EAAE,WAAA,GAAc,IAAA,EAAM,GAAG,SAAQ,EAA2B;AAC5F,EAAA,IAAI,CAAC,mBAAA,CAAoB,OAAO,CAAA,EAAG,OAAO,IAAA;AAE1C,EAAA,MAAM,EAAE,IAAA,EAAM,QAAA,EAAU,SAAA,EAAU,GAAI,OAAA;AACtC,EAAA,MAAM,IAAA,GAAO,WAAW,yCAAA,GAA4C,IAAA;AAEpE,EAAA,uBACE,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,IAAA,kBAAM,GAAA,CAAC,KAAA,EAAA,EAAM,aAAA,EAAW,IAAA,EAAC,CAAA;AAAA,MACzB,KAAA,EAAM,WAAA;AAAA,MACN,MAAA,EAAQ,YAAY,SAAA,GAAY,MAAA;AAAA,MAChC,WAAA;AAAA,MACA,YAAA,EAAW,WAAA;AAAA,MAEV,QAAA,EAAA,IAAA,CAAK,IAAA,EAAK,CAAE,MAAA,GAAS,CAAA,oBACpB,GAAA;AAAA,QAAC,gBAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,iDAAA;AAAA,UACV,SAAA,EAAW,aAAa,CAAC,QAAA;AAAA,UAExB,QAAA,EAAA;AAAA;AAAA;AACH;AAAA,GAEJ;AAEJ;;;;"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { a as SettingsContainerLayout } from './settings-container-D6LsO77E.js';
|
|
3
3
|
import { T as Txt } from './Txt-BtIGLRk1.js';
|
|
4
4
|
import { c as cn } from './cn-CQUhN5Jx.js';
|
|
5
|
+
import { b as SettingsRowLayout } from './settings-row-BHtjEfPr.js';
|
|
5
6
|
|
|
6
7
|
function SectionContent(props) {
|
|
7
8
|
return /* @__PURE__ */ jsx(SettingsContainerLayout, { ...props, layout: "section" });
|
|
@@ -110,4 +111,4 @@ Section.DestructiveRow = SectionDestructiveRow;
|
|
|
110
111
|
Section.Divider = SectionDivider;
|
|
111
112
|
|
|
112
113
|
export { Section as S, SectionRoot as a, SubSectionRoot as b };
|
|
113
|
-
//# sourceMappingURL=section-
|
|
114
|
+
//# sourceMappingURL=section-eRs4NnCC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-D0hKTVXt.js","sources":["../src/ds/components/Section/section-content.tsx","../src/ds/components/Section/section-description.tsx","../src/ds/components/Section/section-divider.tsx","../src/ds/components/Section/section-header.tsx","../src/ds/components/Section/section-header-text.tsx","../src/ds/components/Section/section-heading.tsx","../src/ds/components/Section/section-root.tsx","../src/ds/components/Section/section-row.tsx","../src/ds/components/Section/section.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { SettingsContainerLayout } from '@/ds/new/settings/settings-container';\n\nexport type SectionContentProps = ComponentProps<'div'>;\n\nexport function SectionContent(props: SectionContentProps) {\n return <SettingsContainerLayout {...props} layout=\"section\" />;\n}\n","import type { ComponentProps } from 'react';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport type SectionDescriptionProps = ComponentProps<'p'>;\n\nexport function SectionDescription({ className, ...props }: SectionDescriptionProps) {\n return (\n <Txt\n variant=\"caption\"\n tone=\"muted\"\n data-slot=\"section-description\"\n className={cn('max-w-[62ch] text-pretty', className)}\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionDividerProps = ComponentProps<'div'>;\n\nexport function SectionDivider({ className, ...props }: SectionDividerProps) {\n return <div role=\"separator\" aria-orientation=\"horizontal\" className={cn('h-px bg-border', className)} {...props} />;\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionHeaderProps = ComponentProps<'header'> & {\n inset?: boolean;\n};\n\nexport function SectionHeader({ children, className, inset = false, ...props }: SectionHeaderProps) {\n return (\n <header\n data-slot=\"section-header\"\n className={cn(\n 'group-data-[variant=default]/section:grid group-data-[variant=default]/section:grid-cols-[1fr_auto] group-data-[variant=default]/section:items-center',\n 'group-data-[variant=flat]/section:flex group-data-[variant=flat]/section:min-w-0 group-data-[variant=flat]/section:flex-col group-data-[variant=flat]/section:gap-3 group-data-[variant=flat]/section:pb-3 sm:group-data-[variant=flat]/section:flex-row sm:group-data-[variant=flat]/section:items-start sm:group-data-[variant=flat]/section:justify-between sm:group-data-[variant=flat]/section:gap-4',\n 'group-data-[variant=factory]/section:flex group-data-[variant=factory]/section:min-w-0 group-data-[variant=factory]/section:flex-col group-data-[variant=factory]/section:gap-2 sm:group-data-[variant=factory]/section:flex-row sm:group-data-[variant=factory]/section:items-start sm:group-data-[variant=factory]/section:justify-between sm:group-data-[variant=factory]/section:gap-4',\n inset && 'px-4',\n className,\n )}\n {...props}\n >\n {children}\n </header>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionHeaderTextProps = ComponentProps<'div'>;\n\nexport function SectionHeaderText({ className, ...props }: SectionHeaderTextProps) {\n return <div data-slot=\"section-header-text\" className={cn('flex min-w-0 flex-col gap-1.5', className)} {...props} />;\n}\n","import type { ComponentProps, ElementType } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionHeadingProps = ComponentProps<'h2'> & {\n headingLevel?: 'h2' | 'h3' | 'h4';\n};\n\nexport function SectionHeading({ headingLevel = 'h2', children, className, ...props }: SectionHeadingProps) {\n const HeadingTag: ElementType = headingLevel;\n\n return (\n <HeadingTag\n data-slot=\"section-heading\"\n className={cn(\n 'group-data-[variant=default]/section:flex group-data-[variant=default]/section:items-center group-data-[variant=default]/section:gap-2 group-data-[variant=default]/section:text-subheading group-data-[variant=default]/section:text-muted-foreground group-data-[variant=default]/section:[&>svg]:size-[1.2em] group-data-[variant=default]/section:[&>svg]:opacity-50',\n 'group-data-[variant=flat]/section:text-subheading group-data-[variant=flat]/section:text-balance group-data-[variant=flat]/section:text-foreground',\n 'group-data-[variant=factory]/section:text-subheading group-data-[variant=factory]/section:text-balance group-data-[variant=factory]/section:text-foreground',\n className,\n )}\n {...props}\n >\n {children}\n </HeadingTag>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionVariant = 'default' | 'flat' | 'factory';\n\nexport type SectionRootProps = ComponentProps<'section'> & {\n variant?: SectionVariant;\n};\n\nexport function SectionRoot({ variant = 'default', children, className, ...props }: SectionRootProps) {\n return (\n <section\n data-slot=\"section\"\n data-variant={variant}\n className={cn(\n 'group/section',\n variant === 'default' && 'grid gap-3',\n variant === 'flat' && 'w-full min-w-0',\n variant === 'factory' && 'flex w-full min-w-0 flex-col gap-2',\n className,\n )}\n {...props}\n >\n {children}\n </section>\n );\n}\n\nexport function SubSectionRoot({ children, className, ...props }: ComponentProps<'section'>) {\n return (\n <section className={cn('grid gap-2', className)} {...props}>\n {children}\n </section>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SettingsRowLayout } from '@/ds/new/settings/settings-row';\nimport type { SettingsRowProps } from '@/ds/new/settings/settings-row';\n\nexport type SectionRowProps = Omit<SettingsRowProps, 'tone' | 'viewOnly'>;\nexport type SectionViewOnlyRowProps = SectionRowProps & { children: ReactNode };\nexport type SectionDestructiveRowProps = SectionRowProps & { children: ReactNode };\n\n/** @deprecated Use SettingsRow from @mastra/playground-ui/new/settings for settings pages. */\nexport function SectionRow(props: SectionRowProps) {\n return <SettingsRowLayout {...props} layout=\"section\" />;\n}\n\n/** @deprecated Use SettingsRow with viewOnly from @mastra/playground-ui/new/settings. */\nexport function SectionViewOnlyRow(props: SectionViewOnlyRowProps) {\n return <SettingsRowLayout {...props} layout=\"section\" viewOnly />;\n}\n\n/** @deprecated Use SettingsRow with tone=\"destructive\" from @mastra/playground-ui/new/settings. */\nexport function SectionDestructiveRow(props: SectionDestructiveRowProps) {\n return <SettingsRowLayout {...props} layout=\"section\" tone=\"destructive\" />;\n}\n","import { SectionContent } from './section-content';\nimport { SectionDescription } from './section-description';\nimport { SectionDivider } from './section-divider';\nimport { SectionHeader } from './section-header';\nimport { SectionHeaderText } from './section-header-text';\nimport { SectionHeading } from './section-heading';\nimport { SectionRoot } from './section-root';\nimport type { SectionRootProps } from './section-root';\nimport { SectionDestructiveRow, SectionRow, SectionViewOnlyRow } from './section-row';\n\nexport { type SectionContentProps } from './section-content';\nexport { type SectionDescriptionProps } from './section-description';\nexport { type SectionDividerProps } from './section-divider';\nexport { type SectionHeaderProps } from './section-header';\nexport { type SectionHeaderTextProps } from './section-header-text';\nexport { type SectionHeadingProps } from './section-heading';\nexport { type SectionRootProps as SectionProps, type SectionVariant } from './section-root';\nexport { type SectionDestructiveRowProps, type SectionRowProps, type SectionViewOnlyRowProps } from './section-row';\n\nexport function Section(props: SectionRootProps) {\n return <SectionRoot {...props} />;\n}\n\nSection.Header = SectionHeader;\nSection.HeaderText = SectionHeaderText;\nSection.Heading = SectionHeading;\nSection.Description = SectionDescription;\nSection.Content = SectionContent;\nSection.Row = SectionRow;\nSection.ViewOnlyRow = SectionViewOnlyRow;\nSection.DestructiveRow = SectionDestructiveRow;\nSection.Divider = SectionDivider;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"section-eRs4NnCC.js","sources":["../src/ds/components/Section/section-content.tsx","../src/ds/components/Section/section-description.tsx","../src/ds/components/Section/section-divider.tsx","../src/ds/components/Section/section-header.tsx","../src/ds/components/Section/section-header-text.tsx","../src/ds/components/Section/section-heading.tsx","../src/ds/components/Section/section-root.tsx","../src/ds/components/Section/section-row.tsx","../src/ds/components/Section/section.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { SettingsContainerLayout } from '@/ds/new/settings/settings-container';\n\nexport type SectionContentProps = ComponentProps<'div'>;\n\nexport function SectionContent(props: SectionContentProps) {\n return <SettingsContainerLayout {...props} layout=\"section\" />;\n}\n","import type { ComponentProps } from 'react';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport type SectionDescriptionProps = ComponentProps<'p'>;\n\nexport function SectionDescription({ className, ...props }: SectionDescriptionProps) {\n return (\n <Txt\n variant=\"caption\"\n tone=\"muted\"\n data-slot=\"section-description\"\n className={cn('max-w-[62ch] text-pretty', className)}\n {...props}\n />\n );\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionDividerProps = ComponentProps<'div'>;\n\nexport function SectionDivider({ className, ...props }: SectionDividerProps) {\n return <div role=\"separator\" aria-orientation=\"horizontal\" className={cn('h-px bg-border', className)} {...props} />;\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionHeaderProps = ComponentProps<'header'> & {\n inset?: boolean;\n};\n\nexport function SectionHeader({ children, className, inset = false, ...props }: SectionHeaderProps) {\n return (\n <header\n data-slot=\"section-header\"\n className={cn(\n 'group-data-[variant=default]/section:grid group-data-[variant=default]/section:grid-cols-[1fr_auto] group-data-[variant=default]/section:items-center',\n 'group-data-[variant=flat]/section:flex group-data-[variant=flat]/section:min-w-0 group-data-[variant=flat]/section:flex-col group-data-[variant=flat]/section:gap-3 group-data-[variant=flat]/section:pb-3 sm:group-data-[variant=flat]/section:flex-row sm:group-data-[variant=flat]/section:items-start sm:group-data-[variant=flat]/section:justify-between sm:group-data-[variant=flat]/section:gap-4',\n 'group-data-[variant=factory]/section:flex group-data-[variant=factory]/section:min-w-0 group-data-[variant=factory]/section:flex-col group-data-[variant=factory]/section:gap-2 sm:group-data-[variant=factory]/section:flex-row sm:group-data-[variant=factory]/section:items-start sm:group-data-[variant=factory]/section:justify-between sm:group-data-[variant=factory]/section:gap-4',\n inset && 'px-4',\n className,\n )}\n {...props}\n >\n {children}\n </header>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionHeaderTextProps = ComponentProps<'div'>;\n\nexport function SectionHeaderText({ className, ...props }: SectionHeaderTextProps) {\n return <div data-slot=\"section-header-text\" className={cn('flex min-w-0 flex-col gap-1.5', className)} {...props} />;\n}\n","import type { ComponentProps, ElementType } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionHeadingProps = ComponentProps<'h2'> & {\n headingLevel?: 'h2' | 'h3' | 'h4';\n};\n\nexport function SectionHeading({ headingLevel = 'h2', children, className, ...props }: SectionHeadingProps) {\n const HeadingTag: ElementType = headingLevel;\n\n return (\n <HeadingTag\n data-slot=\"section-heading\"\n className={cn(\n 'group-data-[variant=default]/section:flex group-data-[variant=default]/section:items-center group-data-[variant=default]/section:gap-2 group-data-[variant=default]/section:text-subheading group-data-[variant=default]/section:text-muted-foreground group-data-[variant=default]/section:[&>svg]:size-[1.2em] group-data-[variant=default]/section:[&>svg]:opacity-50',\n 'group-data-[variant=flat]/section:text-subheading group-data-[variant=flat]/section:text-balance group-data-[variant=flat]/section:text-foreground',\n 'group-data-[variant=factory]/section:text-subheading group-data-[variant=factory]/section:text-balance group-data-[variant=factory]/section:text-foreground',\n className,\n )}\n {...props}\n >\n {children}\n </HeadingTag>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type SectionVariant = 'default' | 'flat' | 'factory';\n\nexport type SectionRootProps = ComponentProps<'section'> & {\n variant?: SectionVariant;\n};\n\nexport function SectionRoot({ variant = 'default', children, className, ...props }: SectionRootProps) {\n return (\n <section\n data-slot=\"section\"\n data-variant={variant}\n className={cn(\n 'group/section',\n variant === 'default' && 'grid gap-3',\n variant === 'flat' && 'w-full min-w-0',\n variant === 'factory' && 'flex w-full min-w-0 flex-col gap-2',\n className,\n )}\n {...props}\n >\n {children}\n </section>\n );\n}\n\nexport function SubSectionRoot({ children, className, ...props }: ComponentProps<'section'>) {\n return (\n <section className={cn('grid gap-2', className)} {...props}>\n {children}\n </section>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SettingsRowLayout } from '@/ds/new/settings/settings-row';\nimport type { SettingsRowProps } from '@/ds/new/settings/settings-row';\n\nexport type SectionRowProps = Omit<SettingsRowProps, 'tone' | 'viewOnly'>;\nexport type SectionViewOnlyRowProps = SectionRowProps & { children: ReactNode };\nexport type SectionDestructiveRowProps = SectionRowProps & { children: ReactNode };\n\n/** @deprecated Use SettingsRow from @mastra/playground-ui/new/settings for settings pages. */\nexport function SectionRow(props: SectionRowProps) {\n return <SettingsRowLayout {...props} layout=\"section\" />;\n}\n\n/** @deprecated Use SettingsRow with viewOnly from @mastra/playground-ui/new/settings. */\nexport function SectionViewOnlyRow(props: SectionViewOnlyRowProps) {\n return <SettingsRowLayout {...props} layout=\"section\" viewOnly />;\n}\n\n/** @deprecated Use SettingsRow with tone=\"destructive\" from @mastra/playground-ui/new/settings. */\nexport function SectionDestructiveRow(props: SectionDestructiveRowProps) {\n return <SettingsRowLayout {...props} layout=\"section\" tone=\"destructive\" />;\n}\n","import { SectionContent } from './section-content';\nimport { SectionDescription } from './section-description';\nimport { SectionDivider } from './section-divider';\nimport { SectionHeader } from './section-header';\nimport { SectionHeaderText } from './section-header-text';\nimport { SectionHeading } from './section-heading';\nimport { SectionRoot } from './section-root';\nimport type { SectionRootProps } from './section-root';\nimport { SectionDestructiveRow, SectionRow, SectionViewOnlyRow } from './section-row';\n\nexport { type SectionContentProps } from './section-content';\nexport { type SectionDescriptionProps } from './section-description';\nexport { type SectionDividerProps } from './section-divider';\nexport { type SectionHeaderProps } from './section-header';\nexport { type SectionHeaderTextProps } from './section-header-text';\nexport { type SectionHeadingProps } from './section-heading';\nexport { type SectionRootProps as SectionProps, type SectionVariant } from './section-root';\nexport { type SectionDestructiveRowProps, type SectionRowProps, type SectionViewOnlyRowProps } from './section-row';\n\nexport function Section(props: SectionRootProps) {\n return <SectionRoot {...props} />;\n}\n\nSection.Header = SectionHeader;\nSection.HeaderText = SectionHeaderText;\nSection.Heading = SectionHeading;\nSection.Description = SectionDescription;\nSection.Content = SectionContent;\nSection.Row = SectionRow;\nSection.ViewOnlyRow = SectionViewOnlyRow;\nSection.DestructiveRow = SectionDestructiveRow;\nSection.Divider = SectionDivider;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
const
|
|
4
|
+
const settingsContainer = require('./settings-container-umHxLp1a.cjs');
|
|
5
5
|
const Txt = require('./Txt-CIS2G5Jx.cjs');
|
|
6
6
|
const utils_cn = require('./cn-DlOJCxrS.cjs');
|
|
7
|
+
const settingsRow = require('./settings-row-Ds-PVocx.cjs');
|
|
7
8
|
|
|
8
9
|
function SectionContent(props) {
|
|
9
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
10
|
+
return /* @__PURE__ */ jsxRuntime.jsx(settingsContainer.SettingsContainerLayout, { ...props, layout: "section" });
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
function SectionDescription({ className, ...props }) {
|
|
@@ -114,4 +115,4 @@ Section.Divider = SectionDivider;
|
|
|
114
115
|
exports.Section = Section;
|
|
115
116
|
exports.SectionRoot = SectionRoot;
|
|
116
117
|
exports.SubSectionRoot = SubSectionRoot;
|
|
117
|
-
//# sourceMappingURL=section-
|
|
118
|
+
//# sourceMappingURL=section-skBYREaR.cjs.map
|