@mastra/playground-ui 60.0.0-alpha.0 → 60.0.0-alpha.2
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/ErrorBoundary-CTN7Nxd7.cjs +183 -0
- package/dist/ErrorBoundary-CTN7Nxd7.cjs.map +1 -0
- package/dist/ErrorBoundary-CiKNMCFG.js +162 -0
- package/dist/ErrorBoundary-CiKNMCFG.js.map +1 -0
- package/dist/alert-dialog-C21QCl3B.js +107 -0
- package/dist/alert-dialog-C21QCl3B.js.map +1 -0
- package/dist/alert-dialog-Ohr1b6-O.cjs +128 -0
- package/dist/alert-dialog-Ohr1b6-O.cjs.map +1 -0
- package/dist/{code-diff-Hao35skN.js → code-diff-BgmXIX2v.js} +2 -2
- package/dist/{code-diff-Hao35skN.js.map → code-diff-BgmXIX2v.js.map} +1 -1
- package/dist/{code-diff-CG8veSa-.cjs → code-diff-yR3Gan2m.cjs} +2 -2
- package/dist/{code-diff-CG8veSa-.cjs.map → code-diff-yR3Gan2m.cjs.map} +1 -1
- package/dist/{code-editor-LgrhXmOy.cjs → code-editor-BYGlHRhb.cjs} +2 -2
- package/dist/{code-editor-LgrhXmOy.cjs.map → code-editor-BYGlHRhb.cjs.map} +1 -1
- package/dist/{code-editor-BTxx6wLT.js → code-editor-DMNGyqvg.js} +3 -3
- package/dist/{code-editor-BTxx6wLT.js.map → code-editor-DMNGyqvg.js.map} +1 -1
- package/dist/{combobox-D_kmwSKS.js → combobox-BOVQDVmX.js} +3 -2
- package/dist/{combobox-D_kmwSKS.js.map → combobox-BOVQDVmX.js.map} +1 -1
- package/dist/{combobox-B19HJqE-.cjs → combobox-DqDTf4r9.cjs} +4 -3
- package/dist/{combobox-B19HJqE-.cjs.map → combobox-DqDTf4r9.cjs.map} +1 -1
- package/dist/{command-DhiJvyMM.js → command-DRbgHO90.js} +2 -2
- package/dist/{command-DhiJvyMM.js.map → command-DRbgHO90.js.map} +1 -1
- package/dist/components/AlertDialog.cjs.js +2 -122
- package/dist/components/AlertDialog.cjs.js.map +1 -1
- package/dist/components/AlertDialog.es.js +1 -106
- package/dist/components/AlertDialog.es.js.map +1 -1
- package/dist/components/CodeDiff.cjs.js +1 -1
- package/dist/components/CodeDiff.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/Command.es.js +1 -1
- package/dist/components/CommandPalette.es.js +1 -1
- package/dist/components/Comment.cjs.js +3 -2
- package/dist/components/Comment.cjs.js.map +1 -1
- package/dist/components/Comment.es.js +2 -1
- package/dist/components/Comment.es.js.map +1 -1
- package/dist/components/DataCodeSection.cjs.js +1 -1
- package/dist/components/DataCodeSection.es.js +1 -1
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- 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/Dialog.cjs.js +3 -179
- package/dist/components/Dialog.cjs.js.map +1 -1
- package/dist/components/Dialog.es.js +2 -183
- package/dist/components/Dialog.es.js.map +1 -1
- package/dist/components/EntityHeader.cjs.js +3 -15
- package/dist/components/EntityHeader.cjs.js.map +1 -1
- package/dist/components/EntityHeader.es.js +1 -17
- package/dist/components/EntityHeader.es.js.map +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +8 -7
- package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +2 -1
- package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
- package/dist/components/ErrorBoundary.cjs.js +2 -177
- package/dist/components/ErrorBoundary.cjs.js.map +1 -1
- package/dist/components/ErrorBoundary.es.js +1 -161
- package/dist/components/ErrorBoundary.es.js.map +1 -1
- package/dist/components/FormFieldBlocks.cjs.js +8 -52
- package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
- package/dist/components/FormFieldBlocks.es.js +8 -52
- package/dist/components/FormFieldBlocks.es.js.map +1 -1
- package/dist/components/JSONSchemaForm.cjs.js +2 -2
- package/dist/components/JSONSchemaForm.es.js +2 -2
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +0 -2
- package/dist/components/LogsDataList.cjs.js.map +1 -1
- package/dist/components/LogsDataList.es.js +0 -2
- package/dist/components/LogsDataList.es.js.map +1 -1
- package/dist/components/MainSidebar.cjs.js +11 -125
- package/dist/components/MainSidebar.cjs.js.map +1 -1
- package/dist/components/MainSidebar.es.js +1 -120
- package/dist/components/MainSidebar.es.js.map +1 -1
- package/dist/components/PropertyFilter.cjs.js +1 -1
- package/dist/components/PropertyFilter.es.js +1 -1
- package/dist/components/RelativeTimestamp.cjs.js +3 -112
- package/dist/components/RelativeTimestamp.cjs.js.map +1 -1
- package/dist/components/RelativeTimestamp.es.js +1 -114
- package/dist/components/RelativeTimestamp.es.js.map +1 -1
- package/dist/components/SideDialog.cjs.js +2 -288
- package/dist/components/SideDialog.cjs.js.map +1 -1
- package/dist/components/SideDialog.es.js +1 -273
- package/dist/components/SideDialog.es.js.map +1 -1
- package/dist/components/Text.cjs.js +4 -22
- package/dist/components/Text.cjs.js.map +1 -1
- package/dist/components/Text.es.js +2 -24
- package/dist/components/Text.es.js.map +1 -1
- package/dist/components/ThemeProvider.cjs.js +1 -1
- package/dist/components/ThemeProvider.es.js +1 -1
- package/dist/components/ThemeToggle.cjs.js +1 -1
- package/dist/components/ThemeToggle.es.js +1 -1
- package/dist/components/ThreadList.cjs.js +8 -74
- package/dist/components/ThreadList.cjs.js.map +1 -1
- package/dist/components/ThreadList.es.js +1 -71
- package/dist/components/ThreadList.es.js.map +1 -1
- package/dist/components/Workflow.cjs.js +37 -1183
- package/dist/components/Workflow.cjs.js.map +1 -1
- package/dist/components/Workflow.es.js +9 -1159
- package/dist/components/Workflow.es.js.map +1 -1
- package/dist/components/ai/tool-call.cjs.js +4 -4
- package/dist/components/ai/tool-call.cjs.js.map +1 -1
- package/dist/components/ai/tool-call.es.js +6 -6
- package/dist/components/ai/tool-call.es.js.map +1 -1
- package/dist/custom-auto-form-field-Brfb-0Te.cjs +111 -0
- package/dist/custom-auto-form-field-Brfb-0Te.cjs.map +1 -0
- package/dist/custom-auto-form-field-yEMBGXu-.js +107 -0
- package/dist/custom-auto-form-field-yEMBGXu-.js.map +1 -0
- package/dist/{data-code-section-C9z94ytx.cjs → data-code-section-CxEMQMUi.cjs} +2 -2
- package/dist/{data-code-section-C9z94ytx.cjs.map → data-code-section-CxEMQMUi.cjs.map} +1 -1
- package/dist/{data-code-section-BKrCkj90.js → data-code-section-aexzJIaJ.js} +3 -3
- package/dist/{data-code-section-BKrCkj90.js.map → data-code-section-aexzJIaJ.js.map} +1 -1
- package/dist/{data-panel-C_BqhzeL.cjs → data-panel-Bq23Kt2W.cjs} +2 -2
- package/dist/{data-panel-C_BqhzeL.cjs.map → data-panel-Bq23Kt2W.cjs.map} +1 -1
- package/dist/{data-panel-BWgExbHs.js → data-panel-D5ruDXyN.js} +2 -2
- package/dist/{data-panel-BWgExbHs.js.map → data-panel-D5ruDXyN.js.map} +1 -1
- package/dist/{date-time-range-picker-Bnviv7s-.js → date-time-range-picker-D2OD8zbg.js} +3 -2
- package/dist/{date-time-range-picker-Bnviv7s-.js.map → date-time-range-picker-D2OD8zbg.js.map} +1 -1
- package/dist/{date-time-range-picker-sT5qAW-_.cjs → date-time-range-picker-DRKmikCe.cjs} +4 -3
- package/dist/{date-time-range-picker-sT5qAW-_.cjs.map → date-time-range-picker-DRKmikCe.cjs.map} +1 -1
- package/dist/{dialog-Dtfe1ylw.js → dialog-Cv6zdm5E.js} +2 -2
- package/dist/{dialog-Dtfe1ylw.js.map → dialog-Cv6zdm5E.js.map} +1 -1
- package/dist/dialog-action-B4qYw6Om.js +183 -0
- package/dist/dialog-action-B4qYw6Om.js.map +1 -0
- package/dist/dialog-action-PjKpfAWl.cjs +185 -0
- package/dist/dialog-action-PjKpfAWl.cjs.map +1 -0
- package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.es.js +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 +2 -2
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
- package/dist/domains/chat/tools/tool-card-kind.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card-kind.es.js +1 -1
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +261 -0
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js.map +1 -0
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.d.ts +2 -0
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +257 -0
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js.map +1 -0
- package/dist/domains/datasets/components.cjs.js +10 -0
- package/dist/domains/datasets/components.cjs.js.map +1 -0
- package/dist/domains/datasets/components.d.ts +2 -0
- package/dist/domains/datasets/components.es.js +2 -0
- package/dist/domains/datasets/components.es.js.map +1 -0
- package/dist/domains/datasets/hooks/use-dataset-mutations.cjs.js +157 -0
- package/dist/domains/datasets/hooks/use-dataset-mutations.cjs.js.map +1 -0
- package/dist/domains/datasets/hooks/use-dataset-mutations.d.ts +2 -0
- package/dist/domains/datasets/hooks/use-dataset-mutations.es.js +153 -0
- package/dist/domains/datasets/hooks/use-dataset-mutations.es.js.map +1 -0
- package/dist/domains/datasets/hooks/use-datasets.cjs.js +55 -0
- package/dist/domains/datasets/hooks/use-datasets.cjs.js.map +1 -0
- package/dist/domains/datasets/hooks/use-datasets.d.ts +2 -0
- package/dist/domains/datasets/hooks/use-datasets.es.js +49 -0
- package/dist/domains/datasets/hooks/use-datasets.es.js.map +1 -0
- package/dist/domains/datasets/hooks.cjs.js +14 -0
- package/dist/domains/datasets/hooks.cjs.js.map +1 -0
- package/dist/domains/datasets/hooks.d.ts +2 -0
- package/dist/domains/datasets/hooks.es.js +3 -0
- package/dist/domains/datasets/hooks.es.js.map +1 -0
- package/dist/domains/datasets.cjs.js +16 -0
- package/dist/domains/datasets.cjs.js.map +1 -0
- package/dist/domains/datasets.d.ts +2 -0
- package/dist/domains/datasets.es.js +4 -0
- package/dist/domains/datasets.es.js.map +1 -0
- package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
- package/dist/domains/logs/components/log-data-panel.es.js +1 -1
- package/dist/domains/memory/components/observation-detail-view.cjs.js +1 -1
- package/dist/domains/memory/components/observation-detail-view.es.js +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/observability/context/tracing-settings-context.cjs.js +28 -0
- package/dist/domains/observability/context/tracing-settings-context.cjs.js.map +1 -0
- package/dist/domains/observability/context/tracing-settings-context.d.ts +2 -0
- package/dist/domains/observability/context/tracing-settings-context.es.js +22 -0
- package/dist/domains/observability/context/tracing-settings-context.es.js.map +1 -0
- package/dist/domains/observability/hooks/use-tracing-settings-state.cjs.js +38 -0
- package/dist/domains/observability/hooks/use-tracing-settings-state.cjs.js.map +1 -0
- package/dist/domains/observability/hooks/use-tracing-settings-state.d.ts +2 -0
- package/dist/domains/observability/hooks/use-tracing-settings-state.es.js +34 -0
- package/dist/domains/observability/hooks/use-tracing-settings-state.es.js.map +1 -0
- package/dist/domains/request-context/components/request-context-label.cjs.js +39 -0
- package/dist/domains/request-context/components/request-context-label.cjs.js.map +1 -0
- package/dist/domains/request-context/components/request-context-label.d.ts +2 -0
- package/dist/domains/request-context/components/request-context-label.es.js +35 -0
- package/dist/domains/request-context/components/request-context-label.es.js.map +1 -0
- package/dist/domains/request-context/components/request-context-schema-form.cjs.js +53 -0
- package/dist/domains/request-context/components/request-context-schema-form.cjs.js.map +1 -0
- package/dist/domains/request-context/components/request-context-schema-form.d.ts +2 -0
- package/dist/domains/request-context/components/request-context-schema-form.es.js +49 -0
- package/dist/domains/request-context/components/request-context-schema-form.es.js.map +1 -0
- package/dist/domains/scores/components/score-as-item-dialog.cjs.js +43 -0
- package/dist/domains/scores/components/score-as-item-dialog.cjs.js.map +1 -0
- package/dist/domains/scores/components/score-as-item-dialog.d.ts +2 -0
- package/dist/domains/scores/components/score-as-item-dialog.es.js +39 -0
- package/dist/domains/scores/components/score-as-item-dialog.es.js.map +1 -0
- package/dist/domains/scores/components/score-data-panel.cjs.js +165 -0
- package/dist/domains/scores/components/score-data-panel.cjs.js.map +1 -0
- package/dist/domains/scores/components/score-data-panel.d.ts +2 -0
- package/dist/domains/scores/components/score-data-panel.es.js +161 -0
- package/dist/domains/scores/components/score-data-panel.es.js.map +1 -0
- package/dist/domains/scores/components/span-scoring.cjs.js +105 -0
- package/dist/domains/scores/components/span-scoring.cjs.js.map +1 -0
- package/dist/domains/scores/components/span-scoring.d.ts +2 -0
- package/dist/domains/scores/components/span-scoring.es.js +101 -0
- package/dist/domains/scores/components/span-scoring.es.js.map +1 -0
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +114 -0
- package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -0
- package/dist/domains/scores/components/trace-scores-tab.d.ts +2 -0
- package/dist/domains/scores/components/trace-scores-tab.es.js +110 -0
- package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -0
- package/dist/domains/scores/components.cjs.js +16 -0
- package/dist/domains/scores/components.cjs.js.map +1 -0
- package/dist/domains/scores/components.d.ts +2 -0
- package/dist/domains/scores/components.es.js +5 -0
- package/dist/domains/scores/components.es.js.map +1 -0
- package/dist/domains/scores/hooks/use-scorers.cjs.js +96 -0
- package/dist/domains/scores/hooks/use-scorers.cjs.js.map +1 -0
- package/dist/domains/scores/hooks/use-scorers.d.ts +2 -0
- package/dist/domains/scores/hooks/use-scorers.es.js +89 -0
- package/dist/domains/scores/hooks/use-scorers.es.js.map +1 -0
- package/dist/domains/scores/hooks/use-trace-span-scores.cjs.js +30 -0
- package/dist/domains/scores/hooks/use-trace-span-scores.cjs.js.map +1 -0
- package/dist/domains/scores/hooks/use-trace-span-scores.d.ts +2 -0
- package/dist/domains/scores/hooks/use-trace-span-scores.es.js +25 -0
- package/dist/domains/scores/hooks/use-trace-span-scores.es.js.map +1 -0
- package/dist/domains/scores/hooks/use-trigger-scorer.cjs.js +22 -0
- package/dist/domains/scores/hooks/use-trigger-scorer.cjs.js.map +1 -0
- package/dist/domains/scores/hooks/use-trigger-scorer.d.ts +2 -0
- package/dist/domains/scores/hooks/use-trigger-scorer.es.js +18 -0
- package/dist/domains/scores/hooks/use-trigger-scorer.es.js.map +1 -0
- package/dist/domains/scores/hooks.cjs.js +18 -0
- package/dist/domains/scores/hooks.cjs.js.map +1 -0
- package/dist/domains/scores/hooks.d.ts +2 -0
- package/dist/domains/scores/hooks.es.js +4 -0
- package/dist/domains/scores/hooks.es.js.map +1 -0
- package/dist/domains/scores.cjs.js +26 -0
- package/dist/domains/scores.cjs.js.map +1 -0
- package/dist/domains/scores.d.ts +2 -0
- package/dist/domains/scores.es.js +8 -0
- package/dist/domains/scores.es.js.map +1 -0
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
- package/dist/domains/traces/components/span-data-panel-view.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 +1 -1
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
- 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 +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +3 -3
- 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/span-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/span-summary-description.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
- package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js +3 -3
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +2 -2
- package/dist/domains/traces/components/trace-data-panel-view.es.js +2 -2
- package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
- package/dist/domains/traces/components/trace-id-button.es.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
- package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.es.js +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +0 -2
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +0 -2
- package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-combobox.cjs.js +66 -0
- package/dist/domains/workflows/components/workflow-combobox.cjs.js.map +1 -0
- package/dist/domains/workflows/components/workflow-combobox.d.ts +2 -0
- package/dist/domains/workflows/components/workflow-combobox.es.js +62 -0
- package/dist/domains/workflows/components/workflow-combobox.es.js.map +1 -0
- package/dist/domains/workflows/components/workflow-entity-header.cjs.js +48 -0
- package/dist/domains/workflows/components/workflow-entity-header.cjs.js.map +1 -0
- package/dist/domains/workflows/components/workflow-entity-header.d.ts +2 -0
- package/dist/domains/workflows/components/workflow-entity-header.es.js +44 -0
- package/dist/domains/workflows/components/workflow-entity-header.es.js.map +1 -0
- package/dist/domains/workflows/components/workflow-information.cjs.js +185 -0
- package/dist/domains/workflows/components/workflow-information.cjs.js.map +1 -0
- package/dist/domains/workflows/components/workflow-information.d.ts +2 -0
- package/dist/domains/workflows/components/workflow-information.es.js +181 -0
- package/dist/domains/workflows/components/workflow-information.es.js.map +1 -0
- package/dist/domains/workflows/components/workflow-layout.cjs.js +99 -0
- package/dist/domains/workflows/components/workflow-layout.cjs.js.map +1 -0
- package/dist/domains/workflows/components/workflow-layout.d.ts +2 -0
- package/dist/domains/workflows/components/workflow-layout.es.js +93 -0
- package/dist/domains/workflows/components/workflow-layout.es.js.map +1 -0
- package/dist/domains/workflows/components/workflow-request-context-dialog.cjs.js +53 -0
- package/dist/domains/workflows/components/workflow-request-context-dialog.cjs.js.map +1 -0
- package/dist/domains/workflows/components/workflow-request-context-dialog.d.ts +2 -0
- package/dist/domains/workflows/components/workflow-request-context-dialog.es.js +49 -0
- package/dist/domains/workflows/components/workflow-request-context-dialog.es.js.map +1 -0
- package/dist/domains/workflows/components/workflow-run-options-dialog.cjs.js +46 -0
- package/dist/domains/workflows/components/workflow-run-options-dialog.cjs.js.map +1 -0
- package/dist/domains/workflows/components/workflow-run-options-dialog.d.ts +2 -0
- package/dist/domains/workflows/components/workflow-run-options-dialog.es.js +42 -0
- package/dist/domains/workflows/components/workflow-run-options-dialog.es.js.map +1 -0
- package/dist/domains/workflows/components/workflow-run-status-icon.cjs.js +40 -0
- package/dist/domains/workflows/components/workflow-run-status-icon.cjs.js.map +1 -0
- package/dist/domains/workflows/components/workflow-run-status-icon.d.ts +2 -0
- package/dist/domains/workflows/components/workflow-run-status-icon.es.js +36 -0
- package/dist/domains/workflows/components/workflow-run-status-icon.es.js.map +1 -0
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js +49 -0
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js.map +1 -0
- package/dist/domains/workflows/components/workflow-step-detail.d.ts +2 -0
- package/dist/domains/workflows/components/workflow-step-detail.es.js +45 -0
- package/dist/domains/workflows/components/workflow-step-detail.es.js.map +1 -0
- package/dist/domains/workflows/components/workflow-tracing-run-options.cjs.js +75 -0
- package/dist/domains/workflows/components/workflow-tracing-run-options.cjs.js.map +1 -0
- package/dist/domains/workflows/components/workflow-tracing-run-options.d.ts +2 -0
- package/dist/domains/workflows/components/workflow-tracing-run-options.es.js +71 -0
- package/dist/domains/workflows/components/workflow-tracing-run-options.es.js.map +1 -0
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +33 -0
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js.map +1 -0
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.d.ts +2 -0
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +29 -0
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js.map +1 -0
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +248 -0
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js.map +1 -0
- package/dist/domains/workflows/components/workflows-list/workflows-list.d.ts +2 -0
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +244 -0
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js.map +1 -0
- package/dist/domains/workflows/components/workflows-list/workflows-sort.cjs.js +17 -0
- package/dist/domains/workflows/components/workflows-list/workflows-sort.cjs.js.map +1 -0
- package/dist/domains/workflows/components/workflows-list/workflows-sort.d.ts +2 -0
- package/dist/domains/workflows/components/workflows-list/workflows-sort.es.js +13 -0
- package/dist/domains/workflows/components/workflows-list/workflows-sort.es.js.map +1 -0
- package/dist/domains/workflows/context/use-current-run.cjs.js +34 -0
- package/dist/domains/workflows/context/use-current-run.cjs.js.map +1 -0
- package/dist/domains/workflows/context/use-current-run.d.ts +2 -0
- package/dist/domains/workflows/context/use-current-run.es.js +30 -0
- package/dist/domains/workflows/context/use-current-run.es.js.map +1 -0
- package/dist/domains/workflows/context/use-local-run.cjs.js +30 -0
- package/dist/domains/workflows/context/use-local-run.cjs.js.map +1 -0
- package/dist/domains/workflows/context/use-local-run.d.ts +2 -0
- package/dist/domains/workflows/context/use-local-run.es.js +26 -0
- package/dist/domains/workflows/context/use-local-run.es.js.map +1 -0
- package/dist/domains/workflows/context/use-persisted-workflow-run.cjs.js +21 -0
- package/dist/domains/workflows/context/use-persisted-workflow-run.cjs.js.map +1 -0
- package/dist/domains/workflows/context/use-persisted-workflow-run.d.ts +2 -0
- package/dist/domains/workflows/context/use-persisted-workflow-run.es.js +17 -0
- package/dist/domains/workflows/context/use-persisted-workflow-run.es.js.map +1 -0
- package/dist/domains/workflows/context/use-stream-for-run.cjs.js +43 -0
- package/dist/domains/workflows/context/use-stream-for-run.cjs.js.map +1 -0
- package/dist/domains/workflows/context/use-stream-for-run.d.ts +2 -0
- package/dist/domains/workflows/context/use-stream-for-run.es.js +39 -0
- package/dist/domains/workflows/context/use-stream-for-run.es.js.map +1 -0
- package/dist/domains/workflows/context/use-workflow-selected-step.cjs.js +13 -0
- package/dist/domains/workflows/context/use-workflow-selected-step.cjs.js.map +1 -0
- package/dist/domains/workflows/context/use-workflow-selected-step.d.ts +2 -0
- package/dist/domains/workflows/context/use-workflow-selected-step.es.js +9 -0
- package/dist/domains/workflows/context/use-workflow-selected-step.es.js.map +1 -0
- package/dist/domains/workflows/context/workflow-run-context.cjs.js +10 -0
- package/dist/domains/workflows/context/workflow-run-context.cjs.js.map +1 -0
- package/dist/domains/workflows/context/workflow-run-context.d.ts +2 -0
- package/dist/domains/workflows/context/workflow-run-context.es.js +6 -0
- package/dist/domains/workflows/context/workflow-run-context.es.js.map +1 -0
- package/dist/domains/workflows/context/workflow-run-provider.cjs.js +202 -0
- package/dist/domains/workflows/context/workflow-run-provider.cjs.js.map +1 -0
- package/dist/domains/workflows/context/workflow-run-provider.d.ts +2 -0
- package/dist/domains/workflows/context/workflow-run-provider.es.js +198 -0
- package/dist/domains/workflows/context/workflow-run-provider.es.js.map +1 -0
- package/dist/domains/workflows/context/workflow-selected-step-context-value.cjs.js +15 -0
- package/dist/domains/workflows/context/workflow-selected-step-context-value.cjs.js.map +1 -0
- package/dist/domains/workflows/context/workflow-selected-step-context-value.d.ts +2 -0
- package/dist/domains/workflows/context/workflow-selected-step-context-value.es.js +11 -0
- package/dist/domains/workflows/context/workflow-selected-step-context-value.es.js.map +1 -0
- package/dist/domains/workflows/context/workflow-selected-step-context.cjs.js +20 -0
- package/dist/domains/workflows/context/workflow-selected-step-context.cjs.js.map +1 -0
- package/dist/domains/workflows/context/workflow-selected-step-context.d.ts +2 -0
- package/dist/domains/workflows/context/workflow-selected-step-context.es.js +16 -0
- package/dist/domains/workflows/context/workflow-selected-step-context.es.js.map +1 -0
- package/dist/domains/workflows/context/workflow-step-detail-context.cjs.js +18 -0
- package/dist/domains/workflows/context/workflow-step-detail-context.cjs.js.map +1 -0
- package/dist/domains/workflows/context/workflow-step-detail-context.d.ts +2 -0
- package/dist/domains/workflows/context/workflow-step-detail-context.es.js +13 -0
- package/dist/domains/workflows/context/workflow-step-detail-context.es.js.map +1 -0
- package/dist/domains/workflows/context/workflow-step-detail-provider.cjs.js +60 -0
- package/dist/domains/workflows/context/workflow-step-detail-provider.cjs.js.map +1 -0
- package/dist/domains/workflows/context/workflow-step-detail-provider.d.ts +2 -0
- package/dist/domains/workflows/context/workflow-step-detail-provider.es.js +56 -0
- package/dist/domains/workflows/context/workflow-step-detail-provider.es.js.map +1 -0
- package/dist/domains/workflows/context/workflow-step-timing.cjs.js +56 -0
- package/dist/domains/workflows/context/workflow-step-timing.cjs.js.map +1 -0
- package/dist/domains/workflows/context/workflow-step-timing.d.ts +2 -0
- package/dist/domains/workflows/context/workflow-step-timing.es.js +50 -0
- package/dist/domains/workflows/context/workflow-step-timing.es.js.map +1 -0
- package/dist/domains/workflows/hooks/use-workflow-runs.cjs.js +81 -0
- package/dist/domains/workflows/hooks/use-workflow-runs.cjs.js.map +1 -0
- package/dist/domains/workflows/hooks/use-workflow-runs.d.ts +2 -0
- package/dist/domains/workflows/hooks/use-workflow-runs.es.js +71 -0
- package/dist/domains/workflows/hooks/use-workflow-runs.es.js.map +1 -0
- package/dist/domains/workflows/hooks/use-workflow.cjs.js +21 -0
- package/dist/domains/workflows/hooks/use-workflow.cjs.js.map +1 -0
- package/dist/domains/workflows/hooks/use-workflow.d.ts +2 -0
- package/dist/domains/workflows/hooks/use-workflow.es.js +17 -0
- package/dist/domains/workflows/hooks/use-workflow.es.js.map +1 -0
- package/dist/domains/workflows/hooks/use-workflows-run-counts.cjs.js +33 -0
- package/dist/domains/workflows/hooks/use-workflows-run-counts.cjs.js.map +1 -0
- package/dist/domains/workflows/hooks/use-workflows-run-counts.d.ts +2 -0
- package/dist/domains/workflows/hooks/use-workflows-run-counts.es.js +26 -0
- package/dist/domains/workflows/hooks/use-workflows-run-counts.es.js.map +1 -0
- package/dist/domains/workflows/hooks/use-workflows.cjs.js +22 -0
- package/dist/domains/workflows/hooks/use-workflows.cjs.js.map +1 -0
- package/dist/domains/workflows/hooks/use-workflows.d.ts +2 -0
- package/dist/domains/workflows/hooks/use-workflows.es.js +18 -0
- package/dist/domains/workflows/hooks/use-workflows.es.js.map +1 -0
- package/dist/domains/workflows/hooks.cjs.js +25 -0
- package/dist/domains/workflows/hooks.cjs.js.map +1 -0
- package/dist/domains/workflows/hooks.d.ts +2 -0
- package/dist/domains/workflows/hooks.es.js +5 -0
- package/dist/domains/workflows/hooks.es.js.map +1 -0
- package/dist/domains/workflows/runs/workflow-run-details.cjs.js +69 -0
- package/dist/domains/workflows/runs/workflow-run-details.cjs.js.map +1 -0
- package/dist/domains/workflows/runs/workflow-run-details.d.ts +2 -0
- package/dist/domains/workflows/runs/workflow-run-details.es.js +65 -0
- package/dist/domains/workflows/runs/workflow-run-details.es.js.map +1 -0
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js +149 -0
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js.map +1 -0
- package/dist/domains/workflows/runs/workflow-run-list.d.ts +2 -0
- package/dist/domains/workflows/runs/workflow-run-list.es.js +145 -0
- package/dist/domains/workflows/runs/workflow-run-list.es.js.map +1 -0
- package/dist/domains/workflows/utils/nested-workflows.cjs.js +64 -0
- package/dist/domains/workflows/utils/nested-workflows.cjs.js.map +1 -0
- package/dist/domains/workflows/utils/nested-workflows.d.ts +2 -0
- package/dist/domains/workflows/utils/nested-workflows.es.js +58 -0
- package/dist/domains/workflows/utils/nested-workflows.es.js.map +1 -0
- package/dist/domains/workflows/utils.cjs.js +118 -0
- package/dist/domains/workflows/utils.cjs.js.map +1 -0
- package/dist/domains/workflows/utils.d.ts +2 -0
- package/dist/domains/workflows/utils.es.js +107 -0
- package/dist/domains/workflows/utils.es.js.map +1 -0
- package/dist/domains/workflows/workflow/data/use-workflow-data.cjs.js +38 -0
- package/dist/domains/workflows/workflow/data/use-workflow-data.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/data/use-workflow-data.d.ts +2 -0
- package/dist/domains/workflows/workflow/data/use-workflow-data.es.js +33 -0
- package/dist/domains/workflows/workflow/data/use-workflow-data.es.js.map +1 -0
- package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +26 -0
- package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/data/workflow-data-button.d.ts +2 -0
- package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +22 -0
- package/dist/domains/workflows/workflow/data/workflow-data-button.es.js.map +1 -0
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +74 -0
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.d.ts +2 -0
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +70 -0
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js.map +1 -0
- package/dist/domains/workflows/workflow/data/workflow-edge-data-groups.cjs.js +31 -0
- package/dist/domains/workflows/workflow/data/workflow-edge-data-groups.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/data/workflow-edge-data-groups.d.ts +2 -0
- package/dist/domains/workflows/workflow/data/workflow-edge-data-groups.es.js +27 -0
- package/dist/domains/workflows/workflow/data/workflow-edge-data-groups.es.js.map +1 -0
- package/dist/domains/workflows/workflow/input/processor-input.cjs.js +60 -0
- package/dist/domains/workflows/workflow/input/processor-input.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/input/processor-input.d.ts +2 -0
- package/dist/domains/workflows/workflow/input/processor-input.es.js +52 -0
- package/dist/domains/workflows/workflow/input/processor-input.es.js.map +1 -0
- package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +38 -0
- package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/input/workflow-json-input.d.ts +2 -0
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +34 -0
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js.map +1 -0
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +113 -0
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/input/workflow-processor-input.d.ts +2 -0
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +109 -0
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js.map +1 -0
- package/dist/domains/workflows/workflow/use-workflow-graph-nodes.cjs.js +48 -0
- package/dist/domains/workflows/workflow/use-workflow-graph-nodes.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/use-workflow-graph-nodes.d.ts +2 -0
- package/dist/domains/workflows/workflow/use-workflow-graph-nodes.es.js +44 -0
- package/dist/domains/workflows/workflow/use-workflow-graph-nodes.es.js.map +1 -0
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +21 -0
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.d.ts +2 -0
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +13 -0
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js.map +1 -0
- package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js +164 -0
- package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/use-workflow-trigger.d.ts +2 -0
- package/dist/domains/workflows/workflow/use-workflow-trigger.es.js +156 -0
- package/dist/domains/workflows/workflow/use-workflow-trigger.es.js.map +1 -0
- package/dist/domains/workflows/workflow/utils.cjs.js +649 -0
- package/dist/domains/workflows/workflow/utils.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/utils.d.ts +2 -0
- package/dist/domains/workflows/workflow/utils.es.js +636 -0
- package/dist/domains/workflows/workflow/utils.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +14 -0
- package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-body-graph.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-body-graph.es.js +6 -0
- package/dist/domains/workflows/workflow/workflow-body-graph.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-boundary-data.cjs.js +19 -0
- package/dist/domains/workflows/workflow/workflow-boundary-data.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-boundary-data.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-boundary-data.es.js +15 -0
- package/dist/domains/workflows/workflow/workflow-boundary-data.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +36 -0
- package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-cancel-button.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +32 -0
- package/dist/domains/workflows/workflow/workflow-cancel-button.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-card.cjs.js +29 -0
- package/dist/domains/workflows/workflow/workflow-card.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-card.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-card.es.js +25 -0
- package/dist/domains/workflows/workflow/workflow-card.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +23 -0
- package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-data-edge.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js +19 -0
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +31 -0
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +27 -0
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +35 -0
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +31 -0
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +44 -0
- package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-graph-boundary.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +40 -0
- package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-graph-groups.cjs.js +45 -0
- package/dist/domains/workflows/workflow/workflow-graph-groups.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-graph-groups.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-graph-groups.es.js +40 -0
- package/dist/domains/workflows/workflow/workflow-graph-groups.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +35 -0
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-graph-inner.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +31 -0
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js +44 -0
- package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-graph-layout.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-graph-layout.es.js +40 -0
- package/dist/domains/workflows/workflow/workflow-graph-layout.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +19 -0
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-graph-node.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +11 -0
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-graph.cjs.js +25 -0
- package/dist/domains/workflows/workflow/workflow-graph.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-graph.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-graph.es.js +21 -0
- package/dist/domains/workflows/workflow/workflow-graph.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +233 -0
- package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-input-data.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-input-data.es.js +229 -0
- package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.cjs.js +68 -0
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.es.js +64 -0
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-iteration-scopes.cjs.js +19 -0
- package/dist/domains/workflows/workflow/workflow-iteration-scopes.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-iteration-scopes.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-iteration-scopes.es.js +15 -0
- package/dist/domains/workflows/workflow/workflow-iteration-scopes.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +30 -0
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +26 -0
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +20 -0
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-nested-graph.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +12 -0
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-node-kind.cjs.js +25 -0
- package/dist/domains/workflows/workflow/workflow-node-kind.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-node-kind.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-node-kind.es.js +21 -0
- package/dist/domains/workflows/workflow/workflow-node-kind.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +64 -0
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-run-data.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +60 -0
- package/dist/domains/workflows/workflow/workflow-run-data.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +20 -0
- package/dist/domains/workflows/workflow/workflow-run-error.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-run-error.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-run-error.es.js +16 -0
- package/dist/domains/workflows/workflow/workflow-run-error.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-run-errors.cjs.js +32 -0
- package/dist/domains/workflows/workflow/workflow-run-errors.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-run-errors.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-run-errors.es.js +28 -0
- package/dist/domains/workflows/workflow/workflow-run-errors.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +82 -0
- package/dist/domains/workflows/workflow/workflow-run-header.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-run-header.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-run-header.es.js +77 -0
- package/dist/domains/workflows/workflow/workflow-run-header.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-run-options.cjs.js +13 -0
- package/dist/domains/workflows/workflow/workflow-run-options.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-run-options.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-run-options.es.js +9 -0
- package/dist/domains/workflows/workflow/workflow-run-options.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-status.cjs.js +37 -0
- package/dist/domains/workflows/workflow/workflow-status.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-status.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-status.es.js +33 -0
- package/dist/domains/workflows/workflow/workflow-status.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +245 -0
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-step-action-bar.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +241 -0
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-step-node-utils.cjs.js +138 -0
- package/dist/domains/workflows/workflow/workflow-step-node-utils.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-step-node-utils.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js +131 -0
- package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-steps-status.cjs.js +52 -0
- package/dist/domains/workflows/workflow/workflow-steps-status.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-steps-status.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-steps-status.es.js +48 -0
- package/dist/domains/workflows/workflow/workflow-steps-status.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-suspended-overlay.cjs.js +38 -0
- package/dist/domains/workflows/workflow/workflow-suspended-overlay.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-suspended-overlay.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-suspended-overlay.es.js +34 -0
- package/dist/domains/workflows/workflow/workflow-suspended-overlay.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +169 -0
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-suspended-steps.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +165 -0
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +312 -0
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-time-travel-form.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +308 -0
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +145 -0
- package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-timeline-row.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +141 -0
- package/dist/domains/workflows/workflow/workflow-timeline-row.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-timeline-utils.cjs.js +43 -0
- package/dist/domains/workflows/workflow/workflow-timeline-utils.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-timeline-utils.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-timeline-utils.es.js +39 -0
- package/dist/domains/workflows/workflow/workflow-timeline-utils.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +116 -0
- package/dist/domains/workflows/workflow/workflow-timeline.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-timeline.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-timeline.es.js +112 -0
- package/dist/domains/workflows/workflow/workflow-timeline.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +63 -0
- package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-trigger-form.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +59 -0
- package/dist/domains/workflows/workflow/workflow-trigger-form.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +27 -0
- package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-trigger-header.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +23 -0
- package/dist/domains/workflows/workflow/workflow-trigger-header.es.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +203 -0
- package/dist/domains/workflows/workflow/workflow-trigger.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow/workflow-trigger.d.ts +2 -0
- package/dist/domains/workflows/workflow/workflow-trigger.es.js +199 -0
- package/dist/domains/workflows/workflow/workflow-trigger.es.js.map +1 -0
- package/dist/domains/workflows.cjs.js +65 -0
- package/dist/domains/workflows.cjs.js.map +1 -0
- package/dist/domains/workflows.d.ts +2 -0
- package/dist/domains/workflows.es.js +20 -0
- package/dist/domains/workflows.es.js.map +1 -0
- package/dist/ee/signals/components/entity-index-list.cjs.js +0 -2
- package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +0 -2
- package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +1 -2
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +1 -2
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +10 -9
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +4 -3
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
- package/dist/entity-header-9qzr-3xQ.js +18 -0
- package/dist/entity-header-9qzr-3xQ.js.map +1 -0
- package/dist/entity-header-DEjkHoqj.cjs +20 -0
- package/dist/entity-header-DEjkHoqj.cjs.map +1 -0
- package/dist/{field-error-id-V_WejsRL.cjs → field-block-BG5E7u9v.cjs} +1 -4
- package/dist/field-block-BG5E7u9v.cjs.map +1 -0
- package/dist/{field-error-id-DD7OARLU.js → field-block-BRLwud-v.js} +2 -4
- package/dist/field-block-BRLwud-v.js.map +1 -0
- package/dist/field-error-id-B3Z2Zu5y.cjs +6 -0
- package/dist/field-error-id-B3Z2Zu5y.cjs.map +1 -0
- package/dist/field-error-id-D3yg1nBh.js +4 -0
- package/dist/field-error-id-D3yg1nBh.js.map +1 -0
- package/dist/get-short-id-B8WUdKmM.cjs +9 -0
- package/dist/get-short-id-B8WUdKmM.cjs.map +1 -0
- package/dist/get-short-id-CFIGZkLd.js +7 -0
- package/dist/get-short-id-CFIGZkLd.js.map +1 -0
- package/dist/hooks/use-time-diff.cjs.js +22 -0
- package/dist/hooks/use-time-diff.cjs.js.map +1 -0
- package/dist/hooks/use-time-diff.d.ts +2 -0
- package/dist/hooks/use-time-diff.es.js +18 -0
- package/dist/hooks/use-time-diff.es.js.map +1 -0
- package/dist/layout/tabbed-container.cjs.js +2 -2
- package/dist/layout/tabbed-container.es.js +2 -2
- package/dist/lib/form/auto-form.cjs.js +68 -0
- package/dist/lib/form/auto-form.cjs.js.map +1 -0
- package/dist/lib/form/auto-form.d.ts +2 -0
- package/dist/lib/form/auto-form.es.js +63 -0
- package/dist/lib/form/auto-form.es.js.map +1 -0
- package/dist/lib/form/components/array-element-wrapper.cjs.js +99 -0
- package/dist/lib/form/components/array-element-wrapper.cjs.js.map +1 -0
- package/dist/lib/form/components/array-element-wrapper.d.ts +2 -0
- package/dist/lib/form/components/array-element-wrapper.es.js +95 -0
- package/dist/lib/form/components/array-element-wrapper.es.js.map +1 -0
- package/dist/lib/form/components/array-wrapper.cjs.js +45 -0
- package/dist/lib/form/components/array-wrapper.cjs.js.map +1 -0
- package/dist/lib/form/components/array-wrapper.d.ts +2 -0
- package/dist/lib/form/components/array-wrapper.es.js +41 -0
- package/dist/lib/form/components/array-wrapper.es.js.map +1 -0
- package/dist/lib/form/components/boolean-field.cjs.js +31 -0
- package/dist/lib/form/components/boolean-field.cjs.js.map +1 -0
- package/dist/lib/form/components/boolean-field.d.ts +2 -0
- package/dist/lib/form/components/boolean-field.es.js +27 -0
- package/dist/lib/form/components/boolean-field.es.js.map +1 -0
- package/dist/lib/form/components/custom-array-field.cjs.js +15 -0
- package/dist/lib/form/components/custom-array-field.cjs.js.map +1 -0
- package/dist/lib/form/components/custom-array-field.d.ts +2 -0
- package/dist/lib/form/components/custom-array-field.es.js +7 -0
- package/dist/lib/form/components/custom-array-field.es.js.map +1 -0
- package/dist/lib/form/components/custom-auto-form-field.cjs.js +16 -0
- package/dist/lib/form/components/custom-auto-form-field.cjs.js.map +1 -0
- package/dist/lib/form/components/custom-auto-form-field.d.ts +2 -0
- package/dist/lib/form/components/custom-auto-form-field.es.js +8 -0
- package/dist/lib/form/components/custom-auto-form-field.es.js.map +1 -0
- package/dist/lib/form/components/custom-object-field.cjs.js +14 -0
- package/dist/lib/form/components/custom-object-field.cjs.js.map +1 -0
- package/dist/lib/form/components/custom-object-field.d.ts +2 -0
- package/dist/lib/form/components/custom-object-field.es.js +6 -0
- package/dist/lib/form/components/custom-object-field.es.js.map +1 -0
- package/dist/lib/form/components/date-field.cjs.js +62 -0
- package/dist/lib/form/components/date-field.cjs.js.map +1 -0
- package/dist/lib/form/components/date-field.d.ts +2 -0
- package/dist/lib/form/components/date-field.es.js +58 -0
- package/dist/lib/form/components/date-field.es.js.map +1 -0
- package/dist/lib/form/components/discriminated-union-field.cjs.js +67 -0
- package/dist/lib/form/components/discriminated-union-field.cjs.js.map +1 -0
- package/dist/lib/form/components/discriminated-union-field.d.ts +2 -0
- package/dist/lib/form/components/discriminated-union-field.es.js +63 -0
- package/dist/lib/form/components/discriminated-union-field.es.js.map +1 -0
- package/dist/lib/form/components/error-message.cjs.js +11 -0
- package/dist/lib/form/components/error-message.cjs.js.map +1 -0
- package/dist/lib/form/components/error-message.d.ts +2 -0
- package/dist/lib/form/components/error-message.es.js +7 -0
- package/dist/lib/form/components/error-message.es.js.map +1 -0
- package/dist/lib/form/components/field-wrapper.cjs.js +21 -0
- package/dist/lib/form/components/field-wrapper.cjs.js.map +1 -0
- package/dist/lib/form/components/field-wrapper.d.ts +2 -0
- package/dist/lib/form/components/field-wrapper.es.js +17 -0
- package/dist/lib/form/components/field-wrapper.es.js.map +1 -0
- package/dist/lib/form/components/form-submit-row.cjs.js +50 -0
- package/dist/lib/form/components/form-submit-row.cjs.js.map +1 -0
- package/dist/lib/form/components/form-submit-row.d.ts +2 -0
- package/dist/lib/form/components/form-submit-row.es.js +46 -0
- package/dist/lib/form/components/form-submit-row.es.js.map +1 -0
- package/dist/lib/form/components/form.cjs.js +13 -0
- package/dist/lib/form/components/form.cjs.js.map +1 -0
- package/dist/lib/form/components/form.d.ts +2 -0
- package/dist/lib/form/components/form.es.js +9 -0
- package/dist/lib/form/components/form.es.js.map +1 -0
- package/dist/lib/form/components/number-field.cjs.js +39 -0
- package/dist/lib/form/components/number-field.cjs.js.map +1 -0
- package/dist/lib/form/components/number-field.d.ts +2 -0
- package/dist/lib/form/components/number-field.es.js +35 -0
- package/dist/lib/form/components/number-field.es.js.map +1 -0
- package/dist/lib/form/components/object-wrapper.cjs.js +41 -0
- package/dist/lib/form/components/object-wrapper.cjs.js.map +1 -0
- package/dist/lib/form/components/object-wrapper.d.ts +2 -0
- package/dist/lib/form/components/object-wrapper.es.js +37 -0
- package/dist/lib/form/components/object-wrapper.es.js.map +1 -0
- package/dist/lib/form/components/record-field.cjs.js +110 -0
- package/dist/lib/form/components/record-field.cjs.js.map +1 -0
- package/dist/lib/form/components/record-field.d.ts +2 -0
- package/dist/lib/form/components/record-field.es.js +87 -0
- package/dist/lib/form/components/record-field.es.js.map +1 -0
- package/dist/lib/form/components/select-field.cjs.js +48 -0
- package/dist/lib/form/components/select-field.cjs.js.map +1 -0
- package/dist/lib/form/components/select-field.d.ts +2 -0
- package/dist/lib/form/components/select-field.es.js +44 -0
- package/dist/lib/form/components/select-field.es.js.map +1 -0
- package/dist/lib/form/components/string-field.cjs.js +25 -0
- package/dist/lib/form/components/string-field.cjs.js.map +1 -0
- package/dist/lib/form/components/string-field.d.ts +2 -0
- package/dist/lib/form/components/string-field.es.js +21 -0
- package/dist/lib/form/components/string-field.es.js.map +1 -0
- package/dist/lib/form/components/submit-button.cjs.js +11 -0
- package/dist/lib/form/components/submit-button.cjs.js.map +1 -0
- package/dist/lib/form/components/submit-button.d.ts +2 -0
- package/dist/lib/form/components/submit-button.es.js +7 -0
- package/dist/lib/form/components/submit-button.es.js.map +1 -0
- package/dist/lib/form/components/union-field.cjs.js +20 -0
- package/dist/lib/form/components/union-field.cjs.js.map +1 -0
- package/dist/lib/form/components/union-field.d.ts +2 -0
- package/dist/lib/form/components/union-field.es.js +16 -0
- package/dist/lib/form/components/union-field.es.js.map +1 -0
- package/dist/lib/form/custom-auto-form.cjs.js +84 -0
- package/dist/lib/form/custom-auto-form.cjs.js.map +1 -0
- package/dist/lib/form/custom-auto-form.d.ts +2 -0
- package/dist/lib/form/custom-auto-form.es.js +80 -0
- package/dist/lib/form/custom-auto-form.es.js.map +1 -0
- package/dist/lib/form/dynamic-form.cjs.js +124 -0
- package/dist/lib/form/dynamic-form.cjs.js.map +1 -0
- package/dist/lib/form/dynamic-form.d.ts +2 -0
- package/dist/lib/form/dynamic-form.es.js +120 -0
- package/dist/lib/form/dynamic-form.es.js.map +1 -0
- package/dist/lib/form/field-context.cjs.js +16 -0
- package/dist/lib/form/field-context.cjs.js.map +1 -0
- package/dist/lib/form/field-context.d.ts +2 -0
- package/dist/lib/form/field-context.es.js +9 -0
- package/dist/lib/form/field-context.es.js.map +1 -0
- package/dist/lib/form/is-empty-zod-object.cjs.js +20 -0
- package/dist/lib/form/is-empty-zod-object.cjs.js.map +1 -0
- package/dist/lib/form/is-empty-zod-object.d.ts +2 -0
- package/dist/lib/form/is-empty-zod-object.es.js +16 -0
- package/dist/lib/form/is-empty-zod-object.es.js.map +1 -0
- package/dist/lib/form/json-schema-to-zod-runtime.cjs.js +130 -0
- package/dist/lib/form/json-schema-to-zod-runtime.cjs.js.map +1 -0
- package/dist/lib/form/json-schema-to-zod-runtime.d.ts +2 -0
- package/dist/lib/form/json-schema-to-zod-runtime.es.js +126 -0
- package/dist/lib/form/json-schema-to-zod-runtime.es.js.map +1 -0
- package/dist/lib/form/types.cjs.js +3 -0
- package/dist/lib/form/types.cjs.js.map +1 -0
- package/dist/lib/form/types.d.ts +1 -0
- package/dist/lib/form/types.es.js +2 -0
- package/dist/lib/form/types.es.js.map +1 -0
- package/dist/lib/form/use-section-disclosure.cjs.js +20 -0
- package/dist/lib/form/use-section-disclosure.cjs.js.map +1 -0
- package/dist/lib/form/use-section-disclosure.d.ts +2 -0
- package/dist/lib/form/use-section-disclosure.es.js +16 -0
- package/dist/lib/form/use-section-disclosure.es.js.map +1 -0
- package/dist/lib/form/utils.cjs.js +16 -0
- package/dist/lib/form/utils.cjs.js.map +1 -0
- package/dist/lib/form/utils.d.ts +2 -0
- package/dist/lib/form/utils.es.js +11 -0
- package/dist/lib/form/utils.es.js.map +1 -0
- package/dist/lib/form/zod-provider/compat.cjs.js +147 -0
- package/dist/lib/form/zod-provider/compat.cjs.js.map +1 -0
- package/dist/lib/form/zod-provider/compat.d.ts +2 -0
- package/dist/lib/form/zod-provider/compat.es.js +125 -0
- package/dist/lib/form/zod-provider/compat.es.js.map +1 -0
- package/dist/lib/form/zod-provider/default-values.cjs.js +52 -0
- package/dist/lib/form/zod-provider/default-values.cjs.js.map +1 -0
- package/dist/lib/form/zod-provider/default-values.d.ts +2 -0
- package/dist/lib/form/zod-provider/default-values.es.js +47 -0
- package/dist/lib/form/zod-provider/default-values.es.js.map +1 -0
- package/dist/lib/form/zod-provider/field-type-inference.cjs.js +61 -0
- package/dist/lib/form/zod-provider/field-type-inference.cjs.js.map +1 -0
- package/dist/lib/form/zod-provider/field-type-inference.d.ts +2 -0
- package/dist/lib/form/zod-provider/field-type-inference.es.js +57 -0
- package/dist/lib/form/zod-provider/field-type-inference.es.js.map +1 -0
- package/dist/lib/form/zod-provider.cjs.js +186 -0
- package/dist/lib/form/zod-provider.cjs.js.map +1 -0
- package/dist/lib/form/zod-provider.d.ts +2 -0
- package/dist/lib/form/zod-provider.es.js +181 -0
- package/dist/lib/form/zod-provider.es.js.map +1 -0
- package/dist/lib/framework.cjs.js +67 -0
- package/dist/lib/framework.cjs.js.map +1 -0
- package/dist/lib/framework.d.ts +2 -0
- package/dist/lib/framework.es.js +62 -0
- package/dist/lib/framework.es.js.map +1 -0
- package/dist/{list-search-D1FD8FCL.js → list-search-O3LYX7Bs.js} +2 -2
- package/dist/{list-search-D1FD8FCL.js.map → list-search-O3LYX7Bs.js.map} +1 -1
- package/dist/{list-search-CsYQX8qR.cjs → list-search-hOQI7qF_.cjs} +2 -2
- package/dist/{list-search-CsYQX8qR.cjs.map → list-search-hOQI7qF_.cjs.map} +1 -1
- package/dist/{main-sidebar-link-active-C9QPj3D6.js → main-sidebar-BEXzGkDX.js} +118 -6
- package/dist/main-sidebar-BEXzGkDX.js.map +1 -0
- package/dist/{main-sidebar-link-active-UEuukSeT.cjs → main-sidebar-jbUd9Rz8.cjs} +117 -4
- package/dist/main-sidebar-jbUd9Rz8.cjs.map +1 -0
- package/dist/new/sidebar.cjs.js +32 -32
- package/dist/new/sidebar.cjs.js.map +1 -1
- package/dist/new/sidebar.es.js +2 -2
- package/dist/relative-timestamp-CHNqhmkb.cjs +117 -0
- package/dist/relative-timestamp-CHNqhmkb.cjs.map +1 -0
- package/dist/relative-timestamp-DjbfpeDB.js +115 -0
- package/dist/relative-timestamp-DjbfpeDB.js.map +1 -0
- package/dist/{search-field-block-Dj2KJyjQ.js → search-field-block-C23HLYQi.js} +3 -2
- package/dist/{search-field-block-Dj2KJyjQ.js.map → search-field-block-C23HLYQi.js.map} +1 -1
- package/dist/{search-field-block-K_e_S9WY.cjs → search-field-block-CD02RlL6.cjs} +9 -8
- package/dist/{search-field-block-K_e_S9WY.cjs.map → search-field-block-CD02RlL6.cjs.map} +1 -1
- package/dist/{select-field-block-CaGjpIKM.cjs → select-field-block-5D-FkGZ4.cjs} +9 -8
- package/dist/{select-field-block-CaGjpIKM.cjs.map → select-field-block-5D-FkGZ4.cjs.map} +1 -1
- package/dist/{select-field-block-BF8v698d.js → select-field-block-BCXRKd3l.js} +3 -2
- package/dist/{select-field-block-BF8v698d.js.map → select-field-block-BCXRKd3l.js.map} +1 -1
- package/dist/side-dialog-04Wcn9Od.cjs +294 -0
- package/dist/side-dialog-04Wcn9Od.cjs.map +1 -0
- package/dist/side-dialog-CaVRcSpc.js +274 -0
- package/dist/side-dialog-CaVRcSpc.js.map +1 -0
- package/dist/{span-payload-primitives-Dmzm3mb2.js → span-payload-primitives-D731l90l.js} +3 -3
- package/dist/{span-payload-primitives-Dmzm3mb2.js.map → span-payload-primitives-D731l90l.js.map} +1 -1
- package/dist/{span-payload-primitives-Dq8WqqNm.cjs → span-payload-primitives-DA7vASer.cjs} +3 -3
- package/dist/{span-payload-primitives-Dq8WqqNm.cjs.map → span-payload-primitives-DA7vASer.cjs.map} +1 -1
- package/dist/src/domains/datasets/components/index.d.ts +1 -0
- package/dist/src/domains/datasets/components/save-as-dataset-item-dialog.d.ts +21 -0
- package/dist/src/domains/datasets/hooks/index.d.ts +2 -0
- package/dist/src/domains/datasets/hooks/use-dataset-mutations.d.ts +337 -0
- package/dist/src/domains/datasets/hooks/use-datasets.d.ts +889 -0
- package/dist/src/domains/datasets/index.d.ts +2 -0
- package/dist/src/domains/observability/context/tracing-settings-context.d.ts +19 -0
- package/dist/src/domains/observability/hooks/use-tracing-settings-state.d.ts +11 -0
- package/dist/src/domains/request-context/components/request-context-label.d.ts +8 -0
- package/dist/src/domains/request-context/components/request-context-schema-form.d.ts +18 -0
- package/dist/src/domains/scores/components/index.d.ts +4 -0
- package/dist/src/domains/scores/components/score-as-item-dialog.d.ts +12 -0
- package/dist/src/domains/scores/components/score-data-panel.d.ts +10 -0
- package/dist/src/domains/scores/components/span-scoring.d.ts +11 -0
- package/dist/src/domains/scores/components/trace-scores-tab.d.ts +10 -0
- package/dist/src/domains/scores/hooks/index.d.ts +3 -0
- package/dist/src/domains/scores/hooks/use-scorers.d.ts +256 -0
- package/dist/src/domains/scores/hooks/use-trace-span-scores.d.ts +73 -0
- package/dist/src/domains/scores/hooks/use-trigger-scorer.d.ts +11 -0
- package/dist/src/domains/scores/index.d.ts +2 -0
- package/dist/src/domains/traces/components/trace-data-panel-view.stories.d.ts +1 -1
- package/dist/src/domains/traces/hooks/use-trace-spans.d.ts +12 -12
- package/dist/src/domains/workflows/components/workflow-combobox.d.ts +16 -0
- package/dist/src/domains/workflows/components/workflow-entity-header.d.ts +5 -0
- package/dist/src/domains/workflows/components/workflow-information.d.ts +9 -0
- package/dist/src/domains/workflows/components/workflow-layout.d.ts +12 -0
- package/dist/src/domains/workflows/components/workflow-request-context-dialog.d.ts +6 -0
- package/dist/src/domains/workflows/components/workflow-run-options-dialog.d.ts +5 -0
- package/dist/src/domains/workflows/components/workflow-run-status-icon.d.ts +5 -0
- package/dist/src/domains/workflows/components/workflow-step-detail.d.ts +3 -0
- package/dist/src/domains/workflows/components/workflow-tracing-run-options.d.ts +14 -0
- package/dist/src/domains/workflows/components/workflows-list/no-workflows-info.d.ts +1 -0
- package/dist/src/domains/workflows/components/workflows-list/workflows-list.d.ts +12 -0
- package/dist/src/domains/workflows/components/workflows-list/workflows-sort.d.ts +12 -0
- package/dist/src/domains/workflows/context/use-current-run.d.ts +17 -0
- package/dist/src/domains/workflows/context/use-local-run.d.ts +11 -0
- package/dist/src/domains/workflows/context/use-persisted-workflow-run.d.ts +107 -0
- package/dist/src/domains/workflows/context/use-stream-for-run.d.ts +17 -0
- package/dist/src/domains/workflows/context/use-workflow-selected-step.d.ts +1 -0
- package/dist/src/domains/workflows/context/workflow-run-context.d.ts +103 -0
- package/dist/src/domains/workflows/context/workflow-run-provider.d.ts +10 -0
- package/dist/src/domains/workflows/context/workflow-selected-step-context-value.d.ts +8 -0
- package/dist/src/domains/workflows/context/workflow-selected-step-context.d.ts +4 -0
- package/dist/src/domains/workflows/context/workflow-step-detail-context.d.ts +43 -0
- package/dist/src/domains/workflows/context/workflow-step-detail-provider.d.ts +4 -0
- package/dist/src/domains/workflows/context/workflow-step-timing.d.ts +25 -0
- package/dist/src/domains/workflows/hooks/index.d.ts +4 -0
- package/dist/src/domains/workflows/hooks/use-workflow-runs.d.ts +546 -0
- package/dist/src/domains/workflows/hooks/use-workflow.d.ts +1 -0
- package/dist/src/domains/workflows/hooks/use-workflows-run-counts.d.ts +22 -0
- package/dist/src/domains/workflows/hooks/use-workflows.d.ts +6 -0
- package/dist/src/domains/workflows/index.d.ts +16 -0
- package/dist/src/domains/workflows/runs/workflow-run-details.d.ts +8 -0
- package/dist/src/domains/workflows/runs/workflow-run-list.d.ts +6 -0
- package/dist/src/domains/workflows/utils/nested-workflows.d.ts +49 -0
- package/dist/src/domains/workflows/utils.d.ts +48 -0
- package/dist/src/domains/workflows/workflow/data/use-workflow-data.d.ts +8 -0
- package/dist/src/domains/workflows/workflow/data/workflow-data-button.d.ts +4 -0
- package/dist/src/domains/workflows/workflow/data/workflow-data-inspector.d.ts +4 -0
- package/dist/src/domains/workflows/workflow/data/workflow-edge-data-groups.d.ts +2 -0
- package/dist/src/domains/workflows/workflow/input/processor-input.d.ts +549 -0
- package/dist/src/domains/workflows/workflow/input/workflow-json-input.d.ts +9 -0
- package/dist/src/domains/workflows/workflow/input/workflow-processor-input.d.ts +8 -0
- package/dist/src/domains/workflows/workflow/use-workflow-graph-nodes.d.ts +8 -0
- package/dist/src/domains/workflows/workflow/use-workflow-graph-runtime.d.ts +55 -0
- package/dist/src/domains/workflows/workflow/use-workflow-trigger.d.ts +22 -0
- package/dist/src/domains/workflows/workflow/utils.d.ts +102 -0
- package/dist/src/domains/workflows/workflow/workflow-body-graph.d.ts +7 -0
- package/dist/src/domains/workflows/workflow/workflow-boundary-data.d.ts +5 -0
- package/dist/src/domains/workflows/workflow/workflow-cancel-button.d.ts +8 -0
- package/dist/src/domains/workflows/workflow/workflow-card.d.ts +6 -0
- package/dist/src/domains/workflows/workflow/workflow-data-edge.d.ts +6 -0
- package/dist/src/domains/workflows/workflow/workflow-debug-mode-switch.d.ts +1 -0
- package/dist/src/domains/workflows/workflow/workflow-debug-step-controls.d.ts +8 -0
- package/dist/src/domains/workflows/workflow/workflow-graph-boundary.d.ts +6 -0
- package/dist/src/domains/workflows/workflow/workflow-graph-groups.d.ts +8 -0
- package/dist/src/domains/workflows/workflow/workflow-graph-inner.d.ts +6 -0
- package/dist/src/domains/workflows/workflow/workflow-graph-layout.d.ts +5 -0
- package/dist/src/domains/workflows/workflow/workflow-graph-node.d.ts +8 -0
- package/dist/src/domains/workflows/workflow/workflow-graph.d.ts +8 -0
- package/dist/src/domains/workflows/workflow/workflow-input-data.d.ts +23 -0
- package/dist/src/domains/workflows/workflow/workflow-input-type-toggle.d.ts +9 -0
- package/dist/src/domains/workflows/workflow/workflow-iteration-scopes.d.ts +4 -0
- package/dist/src/domains/workflows/workflow/workflow-map-config-dialog.d.ts +5 -0
- package/dist/src/domains/workflows/workflow/workflow-nested-graph.d.ts +9 -0
- package/dist/src/domains/workflows/workflow/workflow-node-kind.d.ts +3 -0
- package/dist/src/domains/workflows/workflow/workflow-run-data.d.ts +5 -0
- package/dist/src/domains/workflows/workflow/workflow-run-error.d.ts +5 -0
- package/dist/src/domains/workflows/workflow/workflow-run-errors.d.ts +1 -0
- package/dist/src/domains/workflows/workflow/workflow-run-header.d.ts +12 -0
- package/dist/src/domains/workflows/workflow/workflow-run-options.d.ts +1 -0
- package/dist/src/domains/workflows/workflow/workflow-status.d.ts +13 -0
- package/dist/src/domains/workflows/workflow/workflow-step-action-bar.d.ts +14 -0
- package/dist/src/domains/workflows/workflow/workflow-step-node-utils.d.ts +53 -0
- package/dist/src/domains/workflows/workflow/workflow-steps-status.d.ts +20 -0
- package/dist/src/domains/workflows/workflow/workflow-suspended-overlay.d.ts +6 -0
- package/dist/src/domains/workflows/workflow/workflow-suspended-steps.d.ts +14 -0
- package/dist/src/domains/workflows/workflow/workflow-time-travel-form.d.ts +10 -0
- package/dist/src/domains/workflows/workflow/workflow-timeline-row.d.ts +11 -0
- package/dist/src/domains/workflows/workflow/workflow-timeline-utils.d.ts +15 -0
- package/dist/src/domains/workflows/workflow/workflow-timeline.d.ts +1 -0
- package/dist/src/domains/workflows/workflow/workflow-trigger-form.d.ts +16 -0
- package/dist/src/domains/workflows/workflow/workflow-trigger-header.d.ts +5 -0
- package/dist/src/domains/workflows/workflow/workflow-trigger.d.ts +14 -0
- package/dist/src/ds/components/DataList/ScoresDataList/scores-data-list.d.ts +1 -1
- package/dist/src/ds/components/DataList/TracesDataList/traces-data-list.d.ts +1 -1
- package/dist/src/ds/components/DataList/data-list-row-link.d.ts +1 -1
- package/dist/src/ds/components/DataList/data-list-top-cell.d.ts +1 -1
- package/dist/src/ds/components/DataList/data-list.d.ts +2 -2
- package/dist/src/ds/components/ErrorBoundary/ErrorBoundary.d.ts +1 -1
- package/dist/src/ds/components/LogsDataList/logs-data-list.d.ts +2 -2
- package/dist/src/ds/components/ai/tool-call/tool-call.d.ts +3 -1
- package/dist/src/ds/components/ai/tool-call/tool-presentation.d.ts +6 -0
- package/dist/src/ds/new/settings/settings-layout.d.ts +1 -1
- package/dist/src/hooks/stories/state/use-time-diff.stories.d.ts +17 -0
- package/dist/src/hooks/use-time-diff.d.ts +6 -0
- package/dist/src/lib/form/auto-form.d.ts +13 -0
- package/dist/src/lib/form/components/array-element-wrapper.d.ts +2 -0
- package/dist/src/lib/form/components/array-wrapper.d.ts +2 -0
- package/dist/src/lib/form/components/boolean-field.d.ts +3 -0
- package/dist/src/lib/form/components/custom-array-field.d.ts +6 -0
- package/dist/src/lib/form/components/custom-auto-form-field.d.ts +6 -0
- package/dist/src/lib/form/components/custom-object-field.d.ts +6 -0
- package/dist/src/lib/form/components/date-field.d.ts +3 -0
- package/dist/src/lib/form/components/discriminated-union-field.d.ts +2 -0
- package/dist/src/lib/form/components/error-message.d.ts +4 -0
- package/dist/src/lib/form/components/field-wrapper.d.ts +3 -0
- package/dist/src/lib/form/components/form-submit-row.d.ts +14 -0
- package/dist/src/lib/form/components/form.d.ts +2 -0
- package/dist/src/lib/form/components/number-field.d.ts +3 -0
- package/dist/src/lib/form/components/object-wrapper.d.ts +2 -0
- package/dist/src/lib/form/components/record-field.d.ts +3 -0
- package/dist/src/lib/form/components/select-field.d.ts +3 -0
- package/dist/src/lib/form/components/string-field.d.ts +3 -0
- package/dist/src/lib/form/components/submit-button.d.ts +4 -0
- package/dist/src/lib/form/components/union-field.d.ts +2 -0
- package/dist/src/lib/form/custom-auto-form.d.ts +2 -0
- package/dist/src/lib/form/dynamic-form.d.ts +20 -0
- package/dist/src/lib/form/field-context.d.ts +5 -0
- package/dist/src/lib/form/index.d.ts +4 -0
- package/dist/src/lib/form/is-empty-zod-object.d.ts +1 -0
- package/dist/src/lib/form/json-schema-to-zod-runtime.d.ts +24 -0
- package/dist/src/lib/form/types.d.ts +4 -0
- package/dist/src/lib/form/use-section-disclosure.d.ts +5 -0
- package/dist/src/lib/form/utils.d.ts +3 -0
- package/dist/src/lib/form/zod-provider/compat.d.ts +111 -0
- package/dist/src/lib/form/zod-provider/default-values.d.ts +2 -0
- package/dist/src/lib/form/zod-provider/field-type-inference.d.ts +2 -0
- package/dist/src/lib/form/zod-provider/index.d.ts +11 -0
- package/dist/src/lib/framework.d.ts +54 -0
- package/dist/style.css +309 -3
- package/dist/text-and-icon-DCLdeWsT.js +20 -0
- package/dist/text-and-icon-DCLdeWsT.js.map +1 -0
- package/dist/text-and-icon-DQu30tMc.cjs +22 -0
- package/dist/text-and-icon-DQu30tMc.cjs.map +1 -0
- package/dist/{text-field-block-CRh8sRXP.cjs → text-field-block-BCOCO1W2.cjs} +9 -8
- package/dist/{text-field-block-CRh8sRXP.cjs.map → text-field-block-BCOCO1W2.cjs.map} +1 -1
- package/dist/{text-field-block-BYPiO9h4.js → text-field-block-yNMK8lM0.js} +3 -2
- package/dist/{text-field-block-BYPiO9h4.js.map → text-field-block-yNMK8lM0.js.map} +1 -1
- package/dist/textarea-field-block-CQOWTloR.js +52 -0
- package/dist/textarea-field-block-CQOWTloR.js.map +1 -0
- package/dist/textarea-field-block-DlV3zmOi.cjs +54 -0
- package/dist/textarea-field-block-DlV3zmOi.cjs.map +1 -0
- package/dist/{theme-provider-CQKmlkHX.js → theme-provider-BbMYMtxP.js} +3 -3
- package/dist/theme-provider-BbMYMtxP.js.map +1 -0
- package/dist/{theme-provider-aO5-jZVp.cjs → theme-provider-DDGNiyY_.cjs} +2 -2
- package/dist/theme-provider-DDGNiyY_.cjs.map +1 -0
- package/dist/thread-list-CwwoVFRi.cjs +79 -0
- package/dist/thread-list-CwwoVFRi.cjs.map +1 -0
- package/dist/thread-list-DAVEf0g7.js +72 -0
- package/dist/thread-list-DAVEf0g7.js.map +1 -0
- package/dist/{tool-call-CIeNEYpK.js → tool-call-0No2_hQU.js} +7 -4
- package/dist/tool-call-0No2_hQU.js.map +1 -0
- package/dist/{tool-call-CnEm3eE0.cjs → tool-call-CMN0T4o7.cjs} +6 -3
- package/dist/tool-call-CMN0T4o7.cjs.map +1 -0
- package/dist/{tool-presentation-D-smNbXC.js → tool-presentation-C7aizVF5.js} +3 -2
- package/dist/tool-presentation-C7aizVF5.js.map +1 -0
- package/dist/{tool-presentation-BGWx2mEc.cjs → tool-presentation-CupoLbdM.cjs} +3 -2
- package/dist/tool-presentation-CupoLbdM.cjs.map +1 -0
- package/dist/types-1cBe2TOn.cjs +8 -0
- package/dist/types-1cBe2TOn.cjs.map +1 -0
- package/dist/types-CvneO3z0.js +5 -0
- package/dist/types-CvneO3z0.js.map +1 -0
- package/dist/workflow-canvas-inset-23mBz2N6.js +12 -0
- package/dist/workflow-canvas-inset-23mBz2N6.js.map +1 -0
- package/dist/workflow-canvas-inset-CMasaX9u.cjs +15 -0
- package/dist/workflow-canvas-inset-CMasaX9u.cjs.map +1 -0
- package/dist/workflow-code-dialog-content-BirYxjKN.cjs +54 -0
- package/dist/workflow-code-dialog-content-BirYxjKN.cjs.map +1 -0
- package/dist/workflow-code-dialog-content-_RDac9Dg.js +52 -0
- package/dist/workflow-code-dialog-content-_RDac9Dg.js.map +1 -0
- package/dist/workflow-condition-card-ByvSwtXl.js +886 -0
- package/dist/workflow-condition-card-ByvSwtXl.js.map +1 -0
- package/dist/workflow-condition-card-DTHht6Q5.cjs +901 -0
- package/dist/workflow-condition-card-DTHht6Q5.cjs.map +1 -0
- package/dist/workflow-data-edge-view-C-0DMM8K.js +75 -0
- package/dist/workflow-data-edge-view-C-0DMM8K.js.map +1 -0
- package/dist/workflow-data-edge-view-Db0_VLlU.cjs +77 -0
- package/dist/workflow-data-edge-view-Db0_VLlU.cjs.map +1 -0
- package/dist/workflow-debug-controls-Bykm-_87.js +57 -0
- package/dist/workflow-debug-controls-Bykm-_87.js.map +1 -0
- package/dist/workflow-debug-controls-Cy3QXgVR.cjs +59 -0
- package/dist/workflow-debug-controls-Cy3QXgVR.cjs.map +1 -0
- package/dist/workflow-edge-data-button-D50Uq0EA.js +52 -0
- package/dist/workflow-edge-data-button-D50Uq0EA.js.map +1 -0
- package/dist/workflow-edge-data-button-DW6nxxNz.cjs +54 -0
- package/dist/workflow-edge-data-button-DW6nxxNz.cjs.map +1 -0
- package/dist/workflow-graph-placeholder-DHPA04Oz.cjs +22 -0
- package/dist/workflow-graph-placeholder-DHPA04Oz.cjs.map +1 -0
- package/dist/workflow-graph-placeholder-I4TzvbtB.js +20 -0
- package/dist/workflow-graph-placeholder-I4TzvbtB.js.map +1 -0
- package/dist/workflow-layout.css +9 -0
- package/dist/workflow-nested-graph-C_H2PZWK.js +297 -0
- package/dist/workflow-nested-graph-C_H2PZWK.js.map +1 -0
- package/dist/workflow-nested-graph-CwvsbqsP.cjs +302 -0
- package/dist/workflow-nested-graph-CwvsbqsP.cjs.map +1 -0
- package/dist/workflow-step-action-BrtrLzIl.js +49 -0
- package/dist/workflow-step-action-BrtrLzIl.js.map +1 -0
- package/dist/workflow-step-action-D4Jh8rG3.cjs +52 -0
- package/dist/workflow-step-action-D4Jh8rG3.cjs.map +1 -0
- package/package.json +17 -19
- package/dist/field-error-id-DD7OARLU.js.map +0 -1
- package/dist/field-error-id-V_WejsRL.cjs.map +0 -1
- package/dist/main-sidebar-link-active-C9QPj3D6.js.map +0 -1
- package/dist/main-sidebar-link-active-UEuukSeT.cjs.map +0 -1
- package/dist/src/store/playground-store.d.ts +0 -18
- package/dist/src/test/highlight-api.d.ts +0 -30
- package/dist/src/test/msw-server.d.ts +0 -1
- package/dist/src/test/vitest-setup.d.ts +0 -1
- package/dist/store/playground-store.cjs.js +0 -21
- package/dist/store/playground-store.cjs.js.map +0 -1
- package/dist/store/playground-store.d.ts +0 -2
- package/dist/store/playground-store.es.js +0 -17
- package/dist/store/playground-store.es.js.map +0 -1
- package/dist/theme-provider-CQKmlkHX.js.map +0 -1
- package/dist/theme-provider-aO5-jZVp.cjs.map +0 -1
- package/dist/tool-call-CIeNEYpK.js.map +0 -1
- package/dist/tool-call-CnEm3eE0.cjs.map +0 -1
- package/dist/tool-presentation-BGWx2mEc.cjs.map +0 -1
- package/dist/tool-presentation-D-smNbXC.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main-sidebar-link-active-C9QPj3D6.js","sources":["../src/ds/components/MainSidebar/main-sidebar-context.ts","../src/ds/components/MainSidebar/main-sidebar-mobile-trigger.tsx","../src/ds/components/MainSidebar/main-sidebar-nav.tsx","../src/ds/components/MainSidebar/main-sidebar-nav-label.tsx","../src/ds/components/MainSidebar/main-sidebar-nav-item-classes.ts","../src/ds/components/MainSidebar/main-sidebar-nav-link.tsx","../src/ds/components/MainSidebar/main-sidebar-nav-list.tsx","../src/ds/components/MainSidebar/main-sidebar-nav-section.tsx","../src/ds/components/MainSidebar/main-sidebar-nav-separator.tsx","../src/ds/components/MainSidebar/main-sidebar-root.tsx","../src/ds/components/MainSidebar/main-sidebar-trigger.tsx","../src/ds/components/MainSidebar/main-sidebar-provider.tsx","../src/ds/components/MainSidebar/main-sidebar-link-active.ts"],"sourcesContent":["import React from 'react';\nimport type { LinkComponent } from '@/ds/types/link-component';\n\nexport type SidebarState = 'default' | 'collapsed';\n\ntype MainSidebarContextValue = {\n state: SidebarState;\n desktopState: SidebarState;\n width: number;\n minWidth: number;\n maxWidth: number;\n collapseBelow: number;\n collapsedWidth: number;\n isMobile: boolean;\n openMobile: boolean;\n mobileTriggerRef: React.RefObject<HTMLButtonElement | null>;\n setOpenMobile: (open: boolean) => void;\n setMobileDrawerPresent: (present: boolean) => void;\n toggleSidebar: () => void;\n setWidth: (width: number) => void;\n collapse: () => void;\n expand: () => void;\n commit: () => void;\n setGestureActive: (active: boolean) => void;\n LinkComponent?: LinkComponent;\n};\n\n// Split: drawer open-state lives in its own context so navigation rows\n// do not re-render when the mobile drawer toggles.\nexport type MobileDrawerContextValue = {\n openMobile: boolean;\n mobileTriggerRef: React.RefObject<HTMLButtonElement | null>;\n setOpenMobile: (open: boolean) => void;\n setMobileDrawerPresent: (present: boolean) => void;\n};\n\nexport type MainSidebarStateContextValue = Omit<\n MainSidebarContextValue,\n 'openMobile' | 'mobileTriggerRef' | 'setOpenMobile' | 'setMobileDrawerPresent'\n>;\n\nexport const MainSidebarContext = React.createContext<MainSidebarStateContextValue | null>(null);\nexport const MobileDrawerContext = React.createContext<MobileDrawerContextValue | null>(null);\n\n/** Reads sidebar state and actions without subscribing to mobile drawer state. */\nexport function useMaybeSidebarState(): MainSidebarStateContextValue | null {\n return React.useContext(MainSidebarContext);\n}\n\nexport function useMainSidebar(): MainSidebarContextValue {\n const ctx = React.useContext(MainSidebarContext);\n const drawer = React.useContext(MobileDrawerContext);\n if (!ctx || !drawer) {\n throw new Error('useMainSidebar must be used within a MainSidebarProvider.');\n }\n return { ...ctx, ...drawer };\n}\n\nexport function useMaybeSidebar(): MainSidebarContextValue | null {\n const ctx = React.useContext(MainSidebarContext);\n const drawer = React.useContext(MobileDrawerContext);\n if (!ctx || !drawer) return null;\n return { ...ctx, ...drawer };\n}\n\n/** Reads only mobile drawer state. Cheap — no re-renders on sidebar resize. */\nexport function useMobileDrawer(): MobileDrawerContextValue {\n const drawer = React.useContext(MobileDrawerContext);\n if (!drawer) throw new Error('useMobileDrawer must be used within a MainSidebarProvider.');\n return drawer;\n}\n","import { MenuIcon } from 'lucide-react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useMainSidebar } from './main-sidebar-context';\nimport { quietTextHover } from '@/ds/primitives/typography';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarMobileTriggerProps = ComponentPropsWithoutRef<'button'> & {\n icon?: React.ReactNode;\n};\n\nexport function MainSidebarMobileTrigger({\n className,\n icon,\n 'aria-label': ariaLabel = 'Open navigation menu',\n onClick,\n ...props\n}: MainSidebarMobileTriggerProps) {\n const { isMobile, mobileTriggerRef, setOpenMobile } = useMainSidebar();\n return (\n <button\n ref={mobileTriggerRef}\n type=\"button\"\n aria-label={ariaLabel}\n aria-hidden={!isMobile}\n tabIndex={isMobile ? 0 : -1}\n data-mobile-only\n {...props}\n onClick={event => {\n onClick?.(event);\n if (!event.defaultPrevented) setOpenMobile(true);\n }}\n className={cn(\n 'inline-flex size-10 items-center justify-center rounded-md',\n // compound selector, not `in-*` — its `:where()` ties with a consumer's later `.inline-flex`\n \"[[data-sidebar-mobile='false']_&]:hidden\",\n \"[[data-sidebar-mobile-present='true']_&]:invisible\",\n quietTextHover,\n 'hover:bg-fill-subtle',\n 'focus-visible:ring-1 focus-visible:ring-accent1 focus-visible:outline-hidden',\n className,\n )}\n >\n {icon ?? <MenuIcon className=\"size-5\" />}\n </button>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarNavProps = ComponentPropsWithoutRef<'nav'>;\n\nexport function MainSidebarNav({\n 'aria-label': ariaLabel = 'Main',\n children,\n className,\n ...props\n}: MainSidebarNavProps) {\n return (\n <nav aria-label={ariaLabel} className={cn('flex min-h-0 flex-1 flex-col', className)} {...props}>\n <ScrollArea className=\"min-h-0 flex-1\" viewPortClassName=\"px-0.5\">\n {children}\n </ScrollArea>\n </nav>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport type { SidebarState } from './main-sidebar-context';\nimport { useMaybeSidebarState } from './main-sidebar-context';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarNavLabelProps = ComponentPropsWithoutRef<'span'> & {\n /** Override sidebar state. Defaults to context, then `'default'`. */\n state?: SidebarState;\n};\n\n/**\n * Label slot for `MainSidebar.NavLink` rows.\n *\n * Auto-hides via `VisuallyHidden` when the sidebar is collapsed (icon-only row),\n * so screen readers still announce the label without it leaking outside the\n * 28px collapsed item. Handles single-line truncation when expanded.\n *\n * Required for custom `render` and legacy `asChild` consumers — the default\n * `link={...}` path wraps the name internally, but custom elements bring their\n * own children, so the label needs to opt into the collapse-aware rendering.\n */\nexport function MainSidebarNavLabel({ children, className, state: stateProp, ...rest }: MainSidebarNavLabelProps) {\n const ctx = useMaybeSidebarState();\n const state: SidebarState = stateProp ?? ctx?.state ?? 'default';\n if (state === 'collapsed') {\n return <VisuallyHidden>{children}</VisuallyHidden>;\n }\n return (\n <span {...rest} className={cn('min-w-0 flex-1 truncate text-left', className)}>\n {children}\n </span>\n );\n}\n","import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport { controlHeight } from '@/ds/primitives/control-size';\nimport { surfaceStateLayerStyle } from '@/ds/primitives/raised-surface';\nimport { controlStateColorTransition, focusRing } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\n// A nav row is a control: same rhythm as a button or a field, from the same rungs, so a\n// sidebar row and a toolbar button in the same app are never 2px apart. A nav label is a\n// label at every row height, so only the box grows — 12px reads too small for a primary\n// navigation target, and 400 weight makes the label recede below its icon.\nconst navItemVariants = cva('flex min-w-0 cursor-pointer items-center rounded-lg text-label whitespace-nowrap', {\n variants: {\n size: {\n sm: controlHeight.sm,\n md: controlHeight.md,\n lg: controlHeight.lg,\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\ntype NavItemVariantProps = VariantProps<typeof navItemVariants>;\n\nexport type MainSidebarNavItemSize = NonNullable<NavItemVariantProps['size']>;\n\ntype NavRowSurfaceOptions = {\n isActive?: boolean;\n isFeatured?: boolean;\n};\n\ntype NavItemLayoutOptions = {\n isCollapsed?: boolean;\n level?: number;\n size?: MainSidebarNavItemSize;\n};\n\ntype ItemStyleOptions = NavRowSurfaceOptions & NavItemLayoutOptions;\n\nconst nestedExpandedItemClasses = (level: number) => {\n if (level <= 0) return 'gap-2 py-1 px-3';\n if (level === 1) return `gap-2 py-1 pr-3 pl-8 ${controlHeight.md}`;\n if (level === 2) return `gap-2 py-1 pr-3 pl-10 ${controlHeight.md}`;\n return `gap-2 py-1 pr-3 pl-12 ${controlHeight.md}`;\n};\n\n// Two neutral tones, never more: a row is either quiet (`muted-foreground`) or\n// current (`foreground`). Icons inherit that colour — lucide strokes with\n// `currentColor` — so there is nothing to restate per state.\nconst idleSurface = cn('rounded-lg text-muted-foreground hover:text-foreground', surfaceStateLayerStyle);\n\nconst activeSurface = 'bg-fill text-foreground';\n\nconst featuredSurface = cn(\n 'my-2 border border-accent1/30 bg-accent1Dark text-accent1 hover:bg-accent1Darker hover:text-accent1',\n 'dark:border-transparent dark:bg-accent1 dark:text-black dark:hover:bg-accent1/90 dark:hover:text-black',\n '[&_svg]:text-accent1 dark:[&_svg]:text-black/75 [&:hover_svg]:text-accent1 dark:[&:hover_svg]:text-black',\n);\n\nexport const navRowSurfaceClasses = ({ isActive, isFeatured }: NavRowSurfaceOptions) =>\n cn(idleSurface, isActive && activeSurface, isFeatured && featuredSurface);\n\nexport const navItemLayoutClasses = ({ isCollapsed, level = 0, size }: NavItemLayoutOptions) =>\n cn(\n navItemVariants({ size }),\n 'w-full justify-start',\n controlStateColorTransition,\n '[&_svg]:size-4 [&_svg]:shrink-0',\n focusRing.visible,\n !isCollapsed && nestedExpandedItemClasses(level),\n isCollapsed && 'gap-0 px-[13.5px] py-0',\n );\n\nexport const navItemClasses = ({ isActive, isCollapsed, isFeatured, level, size }: ItemStyleOptions = {}) =>\n cn(navItemLayoutClasses({ isCollapsed, level, size }), navRowSurfaceClasses({ isActive, isFeatured }));\n","import React from 'react';\nimport type { ComponentProps } from 'react';\nimport type { SidebarState } from './main-sidebar-context';\nimport { useMaybeSidebarState } from './main-sidebar-context';\nimport { navItemClasses, navItemLayoutClasses, navRowSurfaceClasses } from './main-sidebar-nav-item-classes';\nimport type { MainSidebarNavItemSize } from './main-sidebar-nav-item-classes';\nimport { MainSidebarNavLabel } from './main-sidebar-nav-label';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nexport type NavLink = {\n name: string;\n url: string;\n icon?: React.ReactNode;\n children?: NavLink[];\n isActive?: boolean;\n variant?: 'default' | 'featured';\n tooltipMsg?: string;\n /** @deprecated Prefer nested `children`; accepted for callers still rendering manual sublinks. */\n indent?: boolean;\n};\n\nexport type MainSidebarNavLinkProps = Omit<ComponentProps<'li'>, 'children'> & {\n link?: NavLink;\n isActive?: boolean;\n state?: SidebarState;\n children?: React.ReactNode;\n size?: MainSidebarNavItemSize;\n render?: React.ReactElement<SlottedNavChildProps>;\n action?: React.ReactNode;\n LinkComponent?: LinkComponent;\n level?: number;\n subItems?: React.ReactNode;\n /**\n * When true, render `children` as the interactive element.\n * Use for `<button>` items or custom router Links. Item classes are forwarded\n * to the slotted element. `link.url` and `LinkComponent` are ignored; other\n * `link` presentation fields still apply when supplied.\n *\n * @deprecated Prefer typed render composition for new APIs; this legacy\n * slotted prop will be migrated separately.\n */\n asChild?: boolean;\n};\n\ntype SlottedNavChildProps = {\n className?: string;\n 'aria-current'?: 'page';\n};\n\nexport function MainSidebarNavLink({\n link,\n state: stateProp,\n children,\n isActive,\n size,\n render,\n action,\n className,\n LinkComponent: LinkProp,\n level: levelProp,\n subItems,\n asChild = false,\n ...props\n}: MainSidebarNavLinkProps) {\n if (render && asChild) {\n throw new Error('MainSidebarNavLink accepts either `render` or `asChild`, not both.');\n }\n\n const ctx = useMaybeSidebarState();\n const state: SidebarState = stateProp ?? ctx?.state ?? 'default';\n const Link: LinkComponent = LinkProp ?? ctx?.LinkComponent ?? 'a';\n const isCollapsed = state === 'collapsed';\n const isFeatured = link?.variant === 'featured';\n const level = levelProp ?? (link?.indent ? 1 : 0);\n const rowAction = isCollapsed ? undefined : action;\n\n const itemClassName = rowAction\n ? cn(navItemLayoutClasses({ level, size }), 'flex-1 pr-1')\n : navItemClasses({ isActive, isCollapsed, isFeatured, level, size });\n\n return (\n <li {...props} className={cn('relative flex min-w-0 flex-col', className)}>\n <NavRowBody action={rowAction} surfaceClassName={navRowSurfaceClasses({ isActive, isFeatured })}>\n <NavRowTooltip label={navTooltipLabel(link, isCollapsed)}>\n {navInteractiveRow({ render, asChild, children, link, state, Link, isActive, className: itemClassName })}\n </NavRowTooltip>\n </NavRowBody>\n {!isCollapsed && subItems}\n </li>\n );\n}\n\nfunction navInteractiveRow({\n render,\n asChild,\n children,\n link,\n state,\n Link,\n isActive,\n className,\n}: {\n render?: React.ReactElement<SlottedNavChildProps>;\n asChild: boolean;\n children?: React.ReactNode;\n link?: NavLink;\n state: SidebarState;\n Link: LinkComponent;\n isActive?: boolean;\n className: string;\n}) {\n // The current row is announced, not merely tinted: its fill is the only thing that says\n // \"you are here\", and a fill says nothing to a screen reader.\n const current = isActive ? ('page' as const) : undefined;\n if (render) {\n return React.cloneElement(render, { className: cn(className, render.props.className), 'aria-current': current });\n }\n\n if (asChild) {\n if (!React.isValidElement<SlottedNavChildProps>(children)) {\n throw new Error(\n 'MainSidebarNavLink requires a valid React element child when `asChild` is true so it can apply `SlottedNavChildProps` and merge `itemClassName`.',\n );\n }\n\n return React.cloneElement(children, {\n className: cn(className, children.props.className),\n 'aria-current': current,\n });\n }\n\n if (!link) return children;\n\n const externalParams = /^(https?:)?\\/\\//.test(link.url) ? { target: '_blank', rel: 'noreferrer' } : {};\n\n return (\n <Link href={link.url} {...externalParams} aria-current={current} className={className}>\n {link.icon}\n <MainSidebarNavLabel state={state}>{link.name}</MainSidebarNavLabel>\n {children}\n </Link>\n );\n}\n\nfunction navTooltipLabel(link: NavLink | undefined, isCollapsed: boolean) {\n if (!link) return undefined;\n if (link.tooltipMsg) return isCollapsed ? `${link.name} | ${link.tooltipMsg}` : link.tooltipMsg;\n return isCollapsed ? link.name : undefined;\n}\n\nfunction NavRowTooltip({ label, children }: { label?: string; children: React.ReactNode }) {\n if (!React.isValidElement(children)) return children;\n\n return (\n <Tooltip disabled={!label}>\n <TooltipTrigger render={children} />\n {label ? (\n <TooltipContent side=\"right\" align=\"center\" sideOffset={16}>\n {label}\n </TooltipContent>\n ) : null}\n </Tooltip>\n );\n}\n\nfunction NavRowBody({\n action,\n surfaceClassName,\n children,\n}: {\n action?: React.ReactNode;\n surfaceClassName: string;\n children: React.ReactNode;\n}) {\n if (!action) return children;\n\n return (\n <div className={cn('flex min-w-0 items-center pr-1', surfaceClassName)}>\n {children}\n {action}\n </div>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarNavListProps = ComponentPropsWithoutRef<'ul'>;\n\nexport function MainSidebarNavList({ className, children, ...props }: MainSidebarNavListProps) {\n return (\n <ul className={cn('grid grid-cols-[minmax(0,1fr)] content-center items-start gap-0.5', className)} {...props}>\n {children}\n </ul>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport type { NavLink } from './main-sidebar-nav-link';\nimport { cn } from '@/lib/utils';\n\nexport type NavSection = {\n key: string;\n title?: string;\n href?: string;\n links: NavLink[];\n separator?: boolean;\n isHeaderActive?: boolean;\n};\n\nexport type MainSidebarNavSectionProps = ComponentPropsWithoutRef<'section'>;\n\nexport function MainSidebarNavSection({ className, children, ...props }: MainSidebarNavSectionProps) {\n return (\n <section className={cn('relative grid grid-cols-[minmax(0,1fr)] content-center items-start', className)} {...props}>\n {children}\n </section>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarNavSeparatorProps = ComponentPropsWithoutRef<'div'>;\n\nexport function MainSidebarNavSeparator({ className, ...props }: MainSidebarNavSeparatorProps) {\n return (\n <div\n role=\"separator\"\n aria-orientation=\"horizontal\"\n className={cn(\n 'relative min-h-5',\n '[&:after]:absolute [&:after]:inset-x-3 [&:after]:top-1/2 [&:after]:block [&:after]:h-0 [&:after]:border-t [&:after]:border-border [&:after]:content-[\"\"]',\n className,\n )}\n {...props}\n />\n );\n}\n","import { MenuIcon } from 'lucide-react';\nimport { useCallback, useEffect, useRef } from 'react';\nimport type { KeyboardEvent as ReactKeyboardEvent, PointerEvent as ReactPointerEvent } from 'react';\nimport { useMainSidebar } from './main-sidebar-context';\nimport { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerTitle } from '@/ds/components/Drawer';\nimport { overlaySurfaceStyle, surfaceGroupStateLayerStyle } from '@/ds/primitives/raised-surface';\nimport { ResizeHandleIndicator } from '@/ds/primitives/resize-handle-indicator';\nimport { quietTextHoverInGroup } from '@/ds/primitives/typography';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarRootProps = {\n children: React.ReactNode;\n className?: string;\n mobileMode?: 'drawer' | 'takeover';\n};\n\nconst KEYBOARD_STEP = 10;\nconst DRAG_THRESHOLD = 5;\n\nexport function MainSidebarRoot({ children, className, mobileMode = 'drawer' }: MainSidebarRootProps) {\n const {\n state,\n width,\n minWidth,\n maxWidth,\n collapseBelow,\n collapsedWidth,\n isMobile,\n openMobile,\n mobileTriggerRef,\n setOpenMobile,\n setMobileDrawerPresent,\n setWidth,\n collapse,\n expand,\n commit,\n toggleSidebar,\n setGestureActive,\n } = useMainSidebar();\n const isCollapsed = state === 'collapsed';\n const isHidden = isCollapsed && collapsedWidth === 0;\n\n const draggedRef = useRef(false);\n const dragCleanupRef = useRef<(() => void) | null>(null);\n\n useEffect(() => {\n return () => {\n dragCleanupRef.current?.();\n dragCleanupRef.current = null;\n };\n }, []);\n\n const onPointerDown = useCallback(\n (event: ReactPointerEvent<HTMLDivElement>) => {\n if (event.button !== 0) return;\n event.preventDefault();\n\n draggedRef.current = false;\n setGestureActive(true);\n\n const startX = event.clientX;\n const handle = event.currentTarget;\n const pointerId = event.pointerId;\n\n try {\n handle.setPointerCapture(pointerId);\n } catch {\n // The pointer may have ended before capture.\n }\n\n const sidebarEl = handle.parentElement;\n const sidebarLeft = sidebarEl ? sidebarEl.getBoundingClientRect().left : 0;\n\n const prevCursor = document.body.style.cursor;\n const prevUserSelect = document.body.style.userSelect;\n\n const onMove = (ev: PointerEvent) => {\n if (ev.pointerId !== pointerId) return;\n const dx = ev.clientX - startX;\n if (!draggedRef.current) {\n if (Math.abs(dx) <= DRAG_THRESHOLD) return;\n draggedRef.current = true;\n document.body.style.cursor = 'col-resize';\n document.body.style.userSelect = 'none';\n }\n\n const cursorWidth = ev.clientX - sidebarLeft;\n\n if (collapseBelow > 0 && cursorWidth < collapseBelow) {\n collapse();\n return;\n }\n expand();\n setWidth(cursorWidth);\n };\n const cleanup = (ev?: PointerEvent) => {\n if (ev && ev.pointerId !== pointerId) return;\n window.removeEventListener('pointermove', onMove);\n window.removeEventListener('pointerup', cleanup);\n window.removeEventListener('pointercancel', cleanup);\n document.body.style.cursor = prevCursor;\n document.body.style.userSelect = prevUserSelect;\n setGestureActive(false);\n commit();\n dragCleanupRef.current = null;\n };\n dragCleanupRef.current = () => cleanup();\n window.addEventListener('pointermove', onMove);\n window.addEventListener('pointerup', cleanup);\n window.addEventListener('pointercancel', cleanup);\n },\n [collapseBelow, setWidth, expand, collapse, commit, setGestureActive],\n );\n\n const onClick = useCallback(() => {\n if (draggedRef.current) {\n draggedRef.current = false;\n return;\n }\n toggleSidebar();\n }, [toggleSidebar]);\n\n const onKeyDown = useCallback(\n (event: ReactKeyboardEvent<HTMLDivElement>) => {\n switch (event.key) {\n case 'Enter':\n case ' ': {\n event.preventDefault();\n toggleSidebar();\n return;\n }\n case 'ArrowLeft': {\n event.preventDefault();\n if (isCollapsed) return;\n setWidth(width - KEYBOARD_STEP);\n commit();\n return;\n }\n case 'ArrowRight': {\n event.preventDefault();\n if (isCollapsed) {\n expand();\n commit();\n return;\n }\n setWidth(width + KEYBOARD_STEP);\n commit();\n return;\n }\n case 'Home': {\n event.preventDefault();\n expand();\n setWidth(minWidth);\n commit();\n return;\n }\n case 'End': {\n event.preventDefault();\n expand();\n setWidth(maxWidth);\n commit();\n return;\n }\n }\n },\n [isCollapsed, width, minWidth, maxWidth, setWidth, expand, commit, toggleSidebar],\n );\n\n // Client-side routers preventDefault but should still close the drawer.\n const closeOnAnchor = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (!(event.target instanceof Element)) return;\n const anchor = event.target.closest<HTMLAnchorElement>('a');\n if (!anchor || !anchor.hasAttribute('href')) return;\n\n if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;\n\n if (anchor.target === '_blank' || anchor.hasAttribute('download')) return;\n setOpenMobile(false);\n },\n [setOpenMobile],\n );\n\n if (isMobile) {\n return (\n <Drawer\n side=\"left\"\n open={openMobile}\n onOpenChange={setOpenMobile}\n onOpenChangeComplete={open => {\n if (!open) setMobileDrawerPresent(false);\n }}\n >\n <DrawerContent\n data-mobile-mode={mobileMode}\n finalFocus={mobileTriggerRef}\n showCloseButton={mobileMode === 'drawer'}\n className={cn(\n 'border-0 bg-sidebar text-foreground',\n mobileMode === 'takeover'\n ? 'w-[calc(100%-3.5rem)] max-w-none overflow-visible rounded-l-none rounded-r-3xl pt-[env(safe-area-inset-top)] pb-[env(safe-area-inset-bottom)]'\n : 'w-3/4 max-w-(--sidebar-width-mobile) overflow-hidden rounded-none',\n className,\n )}\n >\n {mobileMode === 'takeover' ? (\n <DrawerClose asChild>\n <button\n type=\"button\"\n aria-label=\"Close\"\n className=\"group absolute top-2 -right-12 z-10 inline-flex size-11 touch-manipulation items-center justify-center transition-opacity duration-fast group-data-[ending-style]/popup:opacity-0 focus-visible:outline-hidden motion-reduce:duration-0\"\n >\n <span\n className={cn(\n overlaySurfaceStyle,\n quietTextHoverInGroup,\n surfaceGroupStateLayerStyle,\n 'inline-flex size-9 items-center justify-center rounded-full backdrop-blur-sm group-focus-visible:ring-1 group-focus-visible:ring-accent1',\n )}\n >\n <MenuIcon className=\"size-4\" />\n </span>\n </button>\n </DrawerClose>\n ) : null}\n <VisuallyHidden asChild>\n <DrawerTitle>Navigation</DrawerTitle>\n </VisuallyHidden>\n <VisuallyHidden asChild>\n <DrawerDescription>Primary site navigation drawer</DrawerDescription>\n </VisuallyHidden>\n <div\n onClick={closeOnAnchor}\n className={cn(\n 'flex h-full min-h-0 flex-col overflow-hidden py-2',\n mobileMode === 'takeover' ? 'px-4' : 'px-3',\n )}\n >\n {children}\n </div>\n </DrawerContent>\n </Drawer>\n );\n }\n\n const currentWidth = isCollapsed ? collapsedWidth : width;\n return (\n <div\n className={cn(\n 'sidebar-layout group/sidebar t-resize relative min-h-0 shrink-0 self-stretch bg-sidebar text-foreground',\n 'w-(--sidebar-width)',\n 'in-data-[sidebar-gesture=active]:transition-none',\n className,\n\n isHidden && 'border-r-0 border-transparent',\n )}\n >\n <div\n className={cn(\n 'flex h-full min-h-0 flex-col overflow-hidden',\n 'transition-opacity duration-200 motion-reduce:transition-none',\n 'px-2',\n isHidden && 'pointer-events-none px-0 opacity-0',\n )}\n >\n {children}\n </div>\n\n <div\n role=\"separator\"\n aria-orientation=\"vertical\"\n\n aria-valuenow={isCollapsed ? undefined : currentWidth}\n aria-valuemin={isCollapsed ? undefined : minWidth}\n aria-valuemax={isCollapsed ? undefined : maxWidth}\n aria-valuetext={isCollapsed ? 'collapsed' : `${currentWidth} pixels`}\n aria-label={`Resize sidebar. Arrow keys to resize, Enter to ${isCollapsed ? 'expand' : 'collapse'}.`}\n tabIndex={0}\n onPointerDown={onPointerDown}\n onClick={onClick}\n onKeyDown={onKeyDown}\n className={cn(\n 'group absolute top-0 -right-1 z-10 h-full w-2 cursor-col-resize touch-none',\n 'flex items-center justify-center',\n 'focus-visible:outline-hidden',\n )}\n >\n <ResizeHandleIndicator\n className={cn(\n 'via-foreground/30 group-hover:opacity-100',\n 'group-focus-visible:via-accent1 group-focus-visible:opacity-100',\n 'in-data-[sidebar-gesture=active]:via-foreground/45 in-data-[sidebar-gesture=active]:opacity-100',\n )}\n />\n </div>\n </div>\n );\n}\n","import { PanelRightIcon } from 'lucide-react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useMainSidebar } from './main-sidebar-context';\nimport { Kbd } from '@/ds/components/Kbd';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { focusRing } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarTriggerProps = ComponentPropsWithoutRef<'button'>;\n\nexport function MainSidebarTrigger({ className, onClick, ...props }: MainSidebarTriggerProps) {\n const { desktopState, toggleSidebar } = useMainSidebar();\n const isCollapsed = desktopState === 'collapsed';\n\n return (\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n type=\"button\"\n aria-label=\"Toggle sidebar\"\n aria-expanded={!isCollapsed}\n {...props}\n onClick={event => {\n onClick?.(event);\n if (!event.defaultPrevented) toggleSidebar();\n }}\n className={cn(\n 'flex items-center justify-center rounded-md text-muted-foreground',\n 'size-7',\n isCollapsed ? 'mx-auto' : 'ml-auto',\n 'hover:bg-fill-subtle hover:text-foreground',\n 'transition-colors duration-normal ease-out-custom motion-reduce:transition-none',\n focusRing.visible,\n '[&_svg]:size-4 [&_svg]:text-muted-foreground [&_svg]:transition-transform [&_svg]:duration-slow [&_svg]:ease-out-custom motion-reduce:[&_svg]:transition-none [&:hover_svg]:text-foreground',\n className,\n )}\n >\n <PanelRightIcon\n className={cn({\n 'rotate-180': isCollapsed,\n })}\n />\n </button>\n }\n />\n\n <TooltipContent>\n <span className=\"inline-flex items-center gap-1.5\">\n Toggle Sidebar\n <Kbd size=\"xs\" className=\"bg-muted text-muted-foreground\">\n [\n </Kbd>\n </span>\n </TooltipContent>\n </Tooltip>\n );\n}\n","import React from 'react';\nimport type { CSSProperties } from 'react';\nimport {\n MainSidebarContext,\n MobileDrawerContext,\n type MobileDrawerContextValue,\n type SidebarState,\n} from './main-sidebar-context';\nimport type { LinkComponent } from '@/ds/types/link-component';\n\nconst SIDEBAR_STATE_KEY = 'sidebar:state';\nconst SIDEBAR_WIDTH_KEY = 'sidebar:width';\n\nconst SIDEBAR_WIDTH_VAR = '--sidebar-width';\n\ntype InitialSidebarState = {\n state: SidebarState;\n width: number;\n};\n\ntype SidebarScopeStyle = CSSProperties & {\n '--sidebar-width': string;\n '--sidebar-width-mobile': string;\n};\n\nexport type MainSidebarProviderProps = {\n children: React.ReactNode;\n /** Initial state before localStorage hydrates. Defaults to `'default'`. */\n defaultState?: SidebarState;\n /** Default expanded width in px. Defaults to `240`. */\n defaultWidth?: number;\n /** Minimum draggable width in px. Defaults to `200`. */\n minWidth?: number;\n /** Maximum draggable width in px. Defaults to `480`. */\n maxWidth?: number;\n /** Drag below this value snaps the sidebar closed. Defaults to `minWidth` (snap to collapsed when dragged below the expanded minimum). Pass `0` to disable snap. */\n collapseBelow?: number;\n /** Width in px when collapsed. Defaults to `64`. Set to `0` for fully hidden. */\n collapsedWidth?: number;\n /** Disable the global ⌘B / Ctrl+B toggle shortcut. Defaults to `true` so browser shortcuts are preserved. */\n disableKeyboardShortcut?: boolean;\n /** Scope-key for localStorage. Allows multiple independent sidebars per app. */\n storageKey?: string;\n /** Mobile breakpoint in px (max-width). Below this, sidebar renders as a drawer. Defaults to `1024`. */\n mobileBreakpoint?: number;\n /** Drawer max-width on mobile in px. Actual width is `min(75vw, mobileWidth)`. Defaults to `360`. */\n mobileWidth?: number;\n /** Default LinkComponent injected into NavLink/NavHeader. Falls back to plain `<a>` if omitted. */\n LinkComponent?: LinkComponent;\n};\n\nconst clamp = (v: number, lo: number, hi: number) => Math.min(hi, Math.max(lo, v));\n\nconst useIsoLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n\nexport function MainSidebarProvider({\n children,\n defaultState = 'default',\n defaultWidth = 240,\n minWidth = 200,\n maxWidth = 480,\n collapseBelow,\n collapsedWidth = 64,\n disableKeyboardShortcut = true,\n storageKey,\n mobileBreakpoint = 1024,\n mobileWidth = 360,\n LinkComponent,\n}: MainSidebarProviderProps) {\n // Normalize props so bad inputs (defaultWidth < minWidth, min > max, etc.) never produce a broken layout.\n const safeMin = Math.max(0, Math.min(minWidth, maxWidth));\n const safeMax = Math.max(safeMin, maxWidth);\n const safeCollapsed = Math.max(0, Math.min(collapsedWidth, safeMax));\n const safeDefault = clamp(defaultWidth, safeMin, safeMax);\n // Default snap-zone = minWidth: dragging below the expanded min snaps to collapsed,\n // since below min the sidebar cannot render its expanded layout anyway.\n // Pass `collapseBelow={0}` to disable snap.\n const safeCollapseBelow = collapseBelow ?? safeMin;\n\n const stateStorageKey = storageKey ? `${storageKey}:${SIDEBAR_STATE_KEY}` : SIDEBAR_STATE_KEY;\n const widthStorageKey = storageKey ? `${storageKey}:${SIDEBAR_WIDTH_KEY}` : SIDEBAR_WIDTH_KEY;\n\n // Hydrate synchronously from localStorage so first paint is already at the correct width.\n // Falls back to clamped defaults during SSR or when storage is unavailable.\n const readInitial = (): InitialSidebarState => {\n if (typeof window === 'undefined') return { state: defaultState, width: safeDefault };\n try {\n let nextState: SidebarState = defaultState;\n let nextWidth = safeDefault;\n const storedState = window.localStorage.getItem(stateStorageKey);\n if (storedState === 'collapsed' || storedState === 'default') nextState = storedState;\n const storedWidth = window.localStorage.getItem(widthStorageKey);\n if (storedWidth !== null) {\n const parsed = Number(storedWidth);\n if (Number.isFinite(parsed)) nextWidth = clamp(parsed, safeMin, safeMax);\n }\n return { state: nextState, width: nextWidth };\n } catch {\n return { state: defaultState, width: safeDefault };\n }\n };\n const initialRef = React.useRef<InitialSidebarState | null>(null);\n if (initialRef.current === null) initialRef.current = readInitial();\n const initial = initialRef.current;\n\n const [state, setState] = React.useState<SidebarState>(initial.state);\n const [width, setWidthState] = React.useState<number>(initial.width);\n const [isMobile, setIsMobile] = React.useState(false);\n const [openMobile, setOpenMobileState] = React.useState(false);\n const [mobileDrawerPresent, setMobileDrawerPresent] = React.useState(false);\n const openMobileRef = React.useRef(false);\n const mobileTriggerRef = React.useRef<HTMLButtonElement | null>(null);\n const widthRef = React.useRef<number>(initial.width);\n const stateRef = React.useRef<SidebarState>(initial.state);\n stateRef.current = state;\n\n const scopeRef = React.useRef<HTMLDivElement | null>(null);\n\n // Watch viewport for mobile breakpoint.\n React.useEffect(() => {\n if (typeof window === 'undefined') return;\n const mq = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);\n const update = () => setIsMobile(mq.matches);\n update();\n mq.addEventListener('change', update);\n return () => mq.removeEventListener('change', update);\n }, [mobileBreakpoint]);\n\n const setOpenMobile = React.useCallback((open: boolean) => {\n openMobileRef.current = open;\n if (open) setMobileDrawerPresent(true);\n setOpenMobileState(open);\n }, []);\n\n // Close mobile drawer when crossing back to desktop.\n React.useEffect(() => {\n if (!isMobile && openMobile) {\n setOpenMobile(false);\n setMobileDrawerPresent(false);\n }\n }, [isMobile, openMobile, setOpenMobile]);\n\n const writeCssVar = React.useCallback((px: number) => {\n const el = scopeRef.current;\n if (el) el.style.setProperty(SIDEBAR_WIDTH_VAR, `${px}px`);\n }, []);\n\n // Keep the CSS var in sync with collapsed state transitions.\n useIsoLayoutEffect(() => {\n writeCssVar(state === 'collapsed' ? safeCollapsed : widthRef.current);\n }, [state, safeCollapsed, writeCssVar]);\n\n const persistState = React.useCallback(\n (next: SidebarState) => {\n try {\n window.localStorage.setItem(stateStorageKey, next);\n } catch {}\n },\n [stateStorageKey],\n );\n\n const toggleSidebar = React.useCallback(() => {\n if (isMobile) {\n setOpenMobile(!openMobileRef.current);\n return;\n }\n setState(prev => {\n const next = prev === 'default' ? 'collapsed' : 'default';\n // Sync ref so a synchronous follow-up `commit()` (e.g. keyboard handler)\n // persists the new state instead of the stale render-time value.\n stateRef.current = next;\n persistState(next);\n return next;\n });\n }, [isMobile, persistState, setOpenMobile]);\n\n const setWidth = React.useCallback(\n (next: number) => {\n const clamped = clamp(next, safeMin, safeMax);\n widthRef.current = clamped;\n writeCssVar(clamped);\n },\n [safeMin, safeMax, writeCssVar],\n );\n\n const collapse = React.useCallback(() => {\n stateRef.current = 'collapsed';\n persistState('collapsed');\n setState('collapsed');\n }, [persistState]);\n const expand = React.useCallback(() => {\n stateRef.current = 'default';\n persistState('default');\n setState('default');\n }, [persistState]);\n\n const commit = React.useCallback(() => {\n setWidthState(widthRef.current);\n try {\n window.localStorage.setItem(stateStorageKey, stateRef.current);\n window.localStorage.setItem(widthStorageKey, String(widthRef.current));\n } catch {}\n }, [stateStorageKey, widthStorageKey]);\n\n const setGestureActive = React.useCallback((active: boolean) => {\n const el = scopeRef.current;\n if (!el) return;\n if (active) el.setAttribute('data-sidebar-gesture', 'active');\n else el.removeAttribute('data-sidebar-gesture');\n }, []);\n\n // Global ⌘B / Ctrl+B toggle. Skip when typing.\n React.useEffect(() => {\n if (disableKeyboardShortcut) return;\n const onKeyDown = (ev: KeyboardEvent) => {\n // `code` is layout-independent — works on non-Latin keyboards.\n if (ev.code !== 'KeyB') return;\n if (!(ev.metaKey || ev.ctrlKey)) return;\n if (ev.altKey || ev.shiftKey) return;\n if (ev.target instanceof HTMLElement) {\n const tag = ev.target.tagName;\n if (tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT') return;\n if (ev.target.isContentEditable) return;\n }\n ev.preventDefault();\n toggleSidebar();\n };\n window.addEventListener('keydown', onKeyDown);\n return () => window.removeEventListener('keydown', onKeyDown);\n }, [disableKeyboardShortcut, toggleSidebar]);\n\n const effectiveState: SidebarState = isMobile ? 'default' : state;\n\n const contextValue = React.useMemo(\n () => ({\n state: effectiveState,\n desktopState: state,\n width,\n minWidth: safeMin,\n maxWidth: safeMax,\n collapseBelow: safeCollapseBelow,\n collapsedWidth: safeCollapsed,\n isMobile,\n toggleSidebar,\n setWidth,\n collapse,\n expand,\n commit,\n setGestureActive,\n LinkComponent,\n }),\n [\n effectiveState,\n state,\n width,\n safeMin,\n safeMax,\n safeCollapseBelow,\n safeCollapsed,\n isMobile,\n toggleSidebar,\n setWidth,\n collapse,\n expand,\n commit,\n setGestureActive,\n LinkComponent,\n ],\n );\n\n const drawerValue = React.useMemo<MobileDrawerContextValue>(\n () => ({ openMobile, mobileTriggerRef, setOpenMobile, setMobileDrawerPresent }),\n [openMobile, setOpenMobile],\n );\n\n // CSS var owned exclusively by writeCssVar (single source of truth).\n // SSR seeds the initial value here; post-mount writeCssVar takes over.\n const scopeStyle: SidebarScopeStyle = {\n [SIDEBAR_WIDTH_VAR]: `${initial.state === 'collapsed' ? safeCollapsed : initial.width}px`,\n '--sidebar-width-mobile': `${mobileWidth}px`,\n display: 'contents',\n };\n\n return (\n <div\n ref={scopeRef}\n data-sidebar-scope\n data-sidebar-state={state}\n data-sidebar-mobile={isMobile ? 'true' : 'false'}\n data-sidebar-mobile-present={mobileDrawerPresent ? 'true' : 'false'}\n style={scopeStyle}\n suppressHydrationWarning\n >\n <MainSidebarContext.Provider value={contextValue}>\n <MobileDrawerContext.Provider value={drawerValue}>{children}</MobileDrawerContext.Provider>\n </MainSidebarContext.Provider>\n </div>\n );\n}\n","import type { NavLink } from './main-sidebar-nav-link';\n\n/**\n * Strict active-path match with sibling-exclusion.\n * - `pathname === link.url` or starts with `link.url + '/'`\n * - Not active if any sibling link has a longer matching url (prevents `/a` lighting while `/a/b` matches).\n */\nexport function getIsLinkActive(link: NavLink, pathname: string, siblings: NavLink[] = []): boolean {\n const matches = (url: string) => pathname === url || pathname.startsWith(url + '/');\n const flattenLinks = (links: NavLink[]): NavLink[] =>\n links.flatMap(item => [item, ...flattenLinks(item.children ?? [])]);\n\n if (!matches(link.url)) return false;\n const competingLinks = [...flattenLinks(link.children ?? []), ...flattenLinks(siblings)];\n return !competingLinks.some(\n other => other.url !== link.url && other.url.length > link.url.length && matches(other.url),\n );\n}\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;AAyCO,MAAM,kBAAA,GAAqBA,cAAA,CAAM,aAAA,CAAmD,IAAI,CAAA;AACxF,MAAM,mBAAA,GAAsBA,cAAA,CAAM,aAAA,CAA+C,IAAI,CAAA;AAGrF,SAAS,oBAAA,GAA4D;AAC1E,EAAA,OAAOA,cAAA,CAAM,WAAW,kBAAkB,CAAA;AAC5C;AAEO,SAAS,cAAA,GAA0C;AACxD,EAAA,MAAM,GAAA,GAAMA,cAAA,CAAM,UAAA,CAAW,kBAAkB,CAAA;AAC/C,EAAA,MAAM,MAAA,GAASA,cAAA,CAAM,UAAA,CAAW,mBAAmB,CAAA;AACnD,EAAA,IAAI,CAAC,GAAA,IAAO,CAAC,MAAA,EAAQ;AACnB,IAAA,MAAM,IAAI,MAAM,2DAA2D,CAAA;AAAA,EAC7E;AACA,EAAA,OAAO,EAAE,GAAG,GAAA,EAAK,GAAG,MAAA,EAAO;AAC7B;AAEO,SAAS,eAAA,GAAkD;AAChE,EAAA,MAAM,GAAA,GAAMA,cAAA,CAAM,UAAA,CAAW,kBAAkB,CAAA;AAC/C,EAAA,MAAM,MAAA,GAASA,cAAA,CAAM,UAAA,CAAW,mBAAmB,CAAA;AACnD,EAAA,IAAI,CAAC,GAAA,IAAO,CAAC,MAAA,EAAQ,OAAO,IAAA;AAC5B,EAAA,OAAO,EAAE,GAAG,GAAA,EAAK,GAAG,MAAA,EAAO;AAC7B;AAGO,SAAS,eAAA,GAA4C;AAC1D,EAAA,MAAM,MAAA,GAASA,cAAA,CAAM,UAAA,CAAW,mBAAmB,CAAA;AACnD,EAAA,IAAI,CAAC,MAAA,EAAQ,MAAM,IAAI,MAAM,4DAA4D,CAAA;AACzF,EAAA,OAAO,MAAA;AACT;;AC5DO,SAAS,wBAAA,CAAyB;AAAA,EACvC,SAAA;AAAA,EACA,IAAA;AAAA,EACA,cAAc,SAAA,GAAY,sBAAA;AAAA,EAC1B,OAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAkC;AAChC,EAAA,MAAM,EAAE,QAAA,EAAU,gBAAA,EAAkB,aAAA,KAAkB,cAAA,EAAe;AACrE,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,gBAAA;AAAA,MACL,IAAA,EAAK,QAAA;AAAA,MACL,YAAA,EAAY,SAAA;AAAA,MACZ,eAAa,CAAC,QAAA;AAAA,MACd,QAAA,EAAU,WAAW,CAAA,GAAI,EAAA;AAAA,MACzB,kBAAA,EAAgB,IAAA;AAAA,MACf,GAAG,KAAA;AAAA,MACJ,SAAS,CAAA,KAAA,KAAS;AAChB,QAAA,OAAA,GAAU,KAAK,CAAA;AACf,QAAA,IAAI,CAAC,KAAA,CAAM,gBAAA,EAAkB,aAAA,CAAc,IAAI,CAAA;AAAA,MACjD,CAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,4DAAA;AAAA;AAAA,QAEA,0CAAA;AAAA,QACA,oDAAA;AAAA,QACA,cAAA;AAAA,QACA,sBAAA;AAAA,QACA,8EAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA,IAAA,oBAAQ,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA,GACxC;AAEJ;;ACvCO,SAAS,cAAA,CAAe;AAAA,EAC7B,cAAc,SAAA,GAAY,MAAA;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,2BACG,KAAA,EAAA,EAAI,YAAA,EAAY,WAAW,SAAA,EAAW,EAAA,CAAG,gCAAgC,SAAS,CAAA,EAAI,GAAG,KAAA,EACxF,8BAAC,UAAA,EAAA,EAAW,SAAA,EAAU,kBAAiB,iBAAA,EAAkB,QAAA,EACtD,UACH,CAAA,EACF,CAAA;AAEJ;;ACGO,SAAS,mBAAA,CAAoB,EAAE,QAAA,EAAU,SAAA,EAAW,OAAO,SAAA,EAAW,GAAG,MAAK,EAA6B;AAChH,EAAA,MAAM,MAAM,oBAAA,EAAqB;AACjC,EAAA,MAAM,KAAA,GAAsB,SAAA,IAAa,GAAA,EAAK,KAAA,IAAS,SAAA;AACvD,EAAA,IAAI,UAAU,WAAA,EAAa;AACzB,IAAA,uBAAO,GAAA,CAAC,kBAAgB,QAAA,EAAS,CAAA;AAAA,EACnC;AACA,EAAA,uBACE,GAAA,CAAC,UAAM,GAAG,IAAA,EAAM,WAAW,EAAA,CAAG,mCAAA,EAAqC,SAAS,CAAA,EACzE,QAAA,EACH,CAAA;AAEJ;;ACtBA,MAAM,eAAA,GAAkB,IAAI,kFAAA,EAAoF;AAAA,EAC9G,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,IAAI,aAAA,CAAc,EAAA;AAAA,MAClB,IAAI,aAAA,CAAc,EAAA;AAAA,MAClB,IAAI,aAAA,CAAc;AAAA;AACpB,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAmBD,MAAM,yBAAA,GAA4B,CAAC,KAAA,KAAkB;AACnD,EAAA,IAAI,KAAA,IAAS,GAAG,OAAO,iBAAA;AACvB,EAAA,IAAI,KAAA,KAAU,CAAA,EAAG,OAAO,CAAA,qBAAA,EAAwB,cAAc,EAAE,CAAA,CAAA;AAChE,EAAA,IAAI,KAAA,KAAU,CAAA,EAAG,OAAO,CAAA,sBAAA,EAAyB,cAAc,EAAE,CAAA,CAAA;AACjE,EAAA,OAAO,CAAA,sBAAA,EAAyB,cAAc,EAAE,CAAA,CAAA;AAClD,CAAA;AAKA,MAAM,WAAA,GAAc,EAAA,CAAG,wDAAA,EAA0D,sBAAsB,CAAA;AAEvG,MAAM,aAAA,GAAgB,yBAAA;AAEtB,MAAM,eAAA,GAAkB,EAAA;AAAA,EACtB,qGAAA;AAAA,EACA,wGAAA;AAAA,EACA;AACF,CAAA;AAEO,MAAM,oBAAA,GAAuB,CAAC,EAAE,QAAA,EAAU,UAAA,EAAW,KAC1D,EAAA,CAAG,WAAA,EAAa,QAAA,IAAY,aAAA,EAAe,UAAA,IAAc,eAAe,CAAA;AAEnE,MAAM,uBAAuB,CAAC,EAAE,aAAa,KAAA,GAAQ,CAAA,EAAG,MAAK,KAClE,EAAA;AAAA,EACE,eAAA,CAAgB,EAAE,IAAA,EAAM,CAAA;AAAA,EACxB,sBAAA;AAAA,EACA,2BAAA;AAAA,EACA,iCAAA;AAAA,EACA,SAAA,CAAU,OAAA;AAAA,EACV,CAAC,WAAA,IAAe,yBAAA,CAA0B,KAAK,CAAA;AAAA,EAC/C,WAAA,IAAe;AACjB,CAAA;AAEK,MAAM,cAAA,GAAiB,CAAC,EAAE,QAAA,EAAU,WAAA,EAAa,YAAY,KAAA,EAAO,IAAA,EAAK,GAAsB,EAAC,KACrG,EAAA,CAAG,qBAAqB,EAAE,WAAA,EAAa,KAAA,EAAO,IAAA,EAAM,CAAA,EAAG,qBAAqB,EAAE,QAAA,EAAU,UAAA,EAAY,CAAC;;ACzBhG,SAAS,kBAAA,CAAmB;AAAA,EACjC,IAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,QAAA;AAAA,EACf,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,OAAA,GAAU,KAAA;AAAA,EACV,GAAG;AACL,CAAA,EAA4B;AAC1B,EAAA,IAAI,UAAU,OAAA,EAAS;AACrB,IAAA,MAAM,IAAI,MAAM,oEAAoE,CAAA;AAAA,EACtF;AAEA,EAAA,MAAM,MAAM,oBAAA,EAAqB;AACjC,EAAA,MAAM,KAAA,GAAsB,SAAA,IAAa,GAAA,EAAK,KAAA,IAAS,SAAA;AACvD,EAAA,MAAM,IAAA,GAAsB,QAAA,IAAY,GAAA,EAAK,aAAA,IAAiB,GAAA;AAC9D,EAAA,MAAM,cAAc,KAAA,KAAU,WAAA;AAC9B,EAAA,MAAM,UAAA,GAAa,MAAM,OAAA,KAAY,UAAA;AACrC,EAAA,MAAM,KAAA,GAAQ,SAAA,KAAc,IAAA,EAAM,MAAA,GAAS,CAAA,GAAI,CAAA,CAAA;AAC/C,EAAA,MAAM,SAAA,GAAY,cAAc,MAAA,GAAY,MAAA;AAE5C,EAAA,MAAM,gBAAgB,SAAA,GAClB,EAAA,CAAG,qBAAqB,EAAE,KAAA,EAAO,MAAM,CAAA,EAAG,aAAa,CAAA,GACvD,eAAe,EAAE,QAAA,EAAU,aAAa,UAAA,EAAY,KAAA,EAAO,MAAM,CAAA;AAErE,EAAA,uBACE,IAAA,CAAC,QAAI,GAAG,KAAA,EAAO,WAAW,EAAA,CAAG,gCAAA,EAAkC,SAAS,CAAA,EACtE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,MAAA,EAAQ,SAAA,EAAW,gBAAA,EAAkB,oBAAA,CAAqB,EAAE,QAAA,EAAU,UAAA,EAAY,CAAA,EAC5F,QAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,OAAO,eAAA,CAAgB,IAAA,EAAM,WAAW,CAAA,EACpD,QAAA,EAAA,iBAAA,CAAkB,EAAE,MAAA,EAAQ,OAAA,EAAS,QAAA,EAAU,IAAA,EAAM,KAAA,EAAO,IAAA,EAAM,QAAA,EAAU,SAAA,EAAW,aAAA,EAAe,GACzG,CAAA,EACF,CAAA;AAAA,IACC,CAAC,WAAA,IAAe;AAAA,GAAA,EACnB,CAAA;AAEJ;AAEA,SAAS,iBAAA,CAAkB;AAAA,EACzB,MAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EASG;AAGD,EAAA,MAAM,OAAA,GAAU,WAAY,MAAA,GAAmB,MAAA;AAC/C,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,OAAOA,cAAA,CAAM,YAAA,CAAa,MAAA,EAAQ,EAAE,SAAA,EAAW,EAAA,CAAG,SAAA,EAAW,MAAA,CAAO,KAAA,CAAM,SAAS,CAAA,EAAG,cAAA,EAAgB,SAAS,CAAA;AAAA,EACjH;AAEA,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,IAAI,CAACA,cAAA,CAAM,cAAA,CAAqC,QAAQ,CAAA,EAAG;AACzD,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA,IACF;AAEA,IAAA,OAAOA,cAAA,CAAM,aAAa,QAAA,EAAU;AAAA,MAClC,SAAA,EAAW,EAAA,CAAG,SAAA,EAAW,QAAA,CAAS,MAAM,SAAS,CAAA;AAAA,MACjD,cAAA,EAAgB;AAAA,KACjB,CAAA;AAAA,EACH;AAEA,EAAA,IAAI,CAAC,MAAM,OAAO,QAAA;AAElB,EAAA,MAAM,cAAA,GAAiB,iBAAA,CAAkB,IAAA,CAAK,IAAA,CAAK,GAAG,CAAA,GAAI,EAAE,MAAA,EAAQ,QAAA,EAAU,GAAA,EAAK,YAAA,EAAa,GAAI,EAAC;AAErG,EAAA,uBACE,IAAA,CAAC,QAAK,IAAA,EAAM,IAAA,CAAK,KAAM,GAAG,cAAA,EAAgB,cAAA,EAAc,OAAA,EAAS,SAAA,EAC9D,QAAA,EAAA;AAAA,IAAA,IAAA,CAAK,IAAA;AAAA,oBACN,GAAA,CAAC,mBAAA,EAAA,EAAoB,KAAA,EAAe,QAAA,EAAA,IAAA,CAAK,IAAA,EAAK,CAAA;AAAA,IAC7C;AAAA,GAAA,EACH,CAAA;AAEJ;AAEA,SAAS,eAAA,CAAgB,MAA2B,WAAA,EAAsB;AACxE,EAAA,IAAI,CAAC,MAAM,OAAO,MAAA;AAClB,EAAA,IAAI,IAAA,CAAK,UAAA,EAAY,OAAO,WAAA,GAAc,CAAA,EAAG,IAAA,CAAK,IAAI,CAAA,GAAA,EAAM,IAAA,CAAK,UAAU,CAAA,CAAA,GAAK,IAAA,CAAK,UAAA;AACrF,EAAA,OAAO,WAAA,GAAc,KAAK,IAAA,GAAO,MAAA;AACnC;AAEA,SAAS,aAAA,CAAc,EAAE,KAAA,EAAO,QAAA,EAAS,EAAkD;AACzF,EAAA,IAAI,CAACA,cAAA,CAAM,cAAA,CAAe,QAAQ,GAAG,OAAO,QAAA;AAE5C,EAAA,uBACE,IAAA,CAAC,OAAA,EAAA,EAAQ,QAAA,EAAU,CAAC,KAAA,EAClB,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,QAAQ,QAAA,EAAU,CAAA;AAAA,IACjC,KAAA,mBACC,GAAA,CAAC,cAAA,EAAA,EAAe,IAAA,EAAK,OAAA,EAAQ,OAAM,QAAA,EAAS,UAAA,EAAY,EAAA,EACrD,QAAA,EAAA,KAAA,EACH,CAAA,GACE;AAAA,GAAA,EACN,CAAA;AAEJ;AAEA,SAAS,UAAA,CAAW;AAAA,EAClB,MAAA;AAAA,EACA,gBAAA;AAAA,EACA;AACF,CAAA,EAIG;AACD,EAAA,IAAI,CAAC,QAAQ,OAAO,QAAA;AAEpB,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,gCAAA,EAAkC,gBAAgB,CAAA,EAClE,QAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA;AAAA,GAAA,EACH,CAAA;AAEJ;;ACnLO,SAAS,mBAAmB,EAAE,SAAA,EAAW,QAAA,EAAU,GAAG,OAAM,EAA4B;AAC7F,EAAA,uBACE,GAAA,CAAC,QAAG,SAAA,EAAW,EAAA,CAAG,qEAAqE,SAAS,CAAA,EAAI,GAAG,KAAA,EACpG,QAAA,EACH,CAAA;AAEJ;;ACIO,SAAS,sBAAsB,EAAE,SAAA,EAAW,QAAA,EAAU,GAAG,OAAM,EAA+B;AACnG,EAAA,uBACE,GAAA,CAAC,aAAQ,SAAA,EAAW,EAAA,CAAG,sEAAsE,SAAS,CAAA,EAAI,GAAG,KAAA,EAC1G,QAAA,EACH,CAAA;AAEJ;;AChBO,SAAS,uBAAA,CAAwB,EAAE,SAAA,EAAW,GAAG,OAAM,EAAiC;AAC7F,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,WAAA;AAAA,MACL,kBAAA,EAAiB,YAAA;AAAA,MACjB,SAAA,EAAW,EAAA;AAAA,QACT,kBAAA;AAAA,QACA,0JAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;;ACDA,MAAM,aAAA,GAAgB,EAAA;AACtB,MAAM,cAAA,GAAiB,CAAA;AAEhB,SAAS,gBAAgB,EAAE,QAAA,EAAU,SAAA,EAAW,UAAA,GAAa,UAAS,EAAyB;AACpG,EAAA,MAAM;AAAA,IACJ,KAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,aAAA;AAAA,IACA,cAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,sBAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,MACE,cAAA,EAAe;AACnB,EAAA,MAAM,cAAc,KAAA,KAAU,WAAA;AAC9B,EAAA,MAAM,QAAA,GAAW,eAAe,cAAA,KAAmB,CAAA;AAEnD,EAAA,MAAM,UAAA,GAAa,OAAO,KAAK,CAAA;AAC/B,EAAA,MAAM,cAAA,GAAiB,OAA4B,IAAI,CAAA;AAEvD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,OAAO,MAAM;AACX,MAAA,cAAA,CAAe,OAAA,IAAU;AACzB,MAAA,cAAA,CAAe,OAAA,GAAU,IAAA;AAAA,IAC3B,CAAA;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,aAAA,GAAgB,WAAA;AAAA,IACpB,CAAC,KAAA,KAA6C;AAC5C,MAAA,IAAI,KAAA,CAAM,WAAW,CAAA,EAAG;AACxB,MAAA,KAAA,CAAM,cAAA,EAAe;AAErB,MAAA,UAAA,CAAW,OAAA,GAAU,KAAA;AACrB,MAAA,gBAAA,CAAiB,IAAI,CAAA;AAErB,MAAA,MAAM,SAAS,KAAA,CAAM,OAAA;AACrB,MAAA,MAAM,SAAS,KAAA,CAAM,aAAA;AACrB,MAAA,MAAM,YAAY,KAAA,CAAM,SAAA;AAExB,MAAA,IAAI;AACF,QAAA,MAAA,CAAO,kBAAkB,SAAS,CAAA;AAAA,MACpC,CAAA,CAAA,MAAQ;AAAA,MAER;AAEA,MAAA,MAAM,YAAY,MAAA,CAAO,aAAA;AACzB,MAAA,MAAM,WAAA,GAAc,SAAA,GAAY,SAAA,CAAU,qBAAA,GAAwB,IAAA,GAAO,CAAA;AAEzE,MAAA,MAAM,UAAA,GAAa,QAAA,CAAS,IAAA,CAAK,KAAA,CAAM,MAAA;AACvC,MAAA,MAAM,cAAA,GAAiB,QAAA,CAAS,IAAA,CAAK,KAAA,CAAM,UAAA;AAE3C,MAAA,MAAM,MAAA,GAAS,CAAC,EAAA,KAAqB;AACnC,QAAA,IAAI,EAAA,CAAG,cAAc,SAAA,EAAW;AAChC,QAAA,MAAM,EAAA,GAAK,GAAG,OAAA,GAAU,MAAA;AACxB,QAAA,IAAI,CAAC,WAAW,OAAA,EAAS;AACvB,UAAA,IAAI,IAAA,CAAK,GAAA,CAAI,EAAE,CAAA,IAAK,cAAA,EAAgB;AACpC,UAAA,UAAA,CAAW,OAAA,GAAU,IAAA;AACrB,UAAA,QAAA,CAAS,IAAA,CAAK,MAAM,MAAA,GAAS,YAAA;AAC7B,UAAA,QAAA,CAAS,IAAA,CAAK,MAAM,UAAA,GAAa,MAAA;AAAA,QACnC;AAEA,QAAA,MAAM,WAAA,GAAc,GAAG,OAAA,GAAU,WAAA;AAEjC,QAAA,IAAI,aAAA,GAAgB,CAAA,IAAK,WAAA,GAAc,aAAA,EAAe;AACpD,UAAA,QAAA,EAAS;AACT,UAAA;AAAA,QACF;AACA,QAAA,MAAA,EAAO;AACP,QAAA,QAAA,CAAS,WAAW,CAAA;AAAA,MACtB,CAAA;AACA,MAAA,MAAM,OAAA,GAAU,CAAC,EAAA,KAAsB;AACrC,QAAA,IAAI,EAAA,IAAM,EAAA,CAAG,SAAA,KAAc,SAAA,EAAW;AACtC,QAAA,MAAA,CAAO,mBAAA,CAAoB,eAAe,MAAM,CAAA;AAChD,QAAA,MAAA,CAAO,mBAAA,CAAoB,aAAa,OAAO,CAAA;AAC/C,QAAA,MAAA,CAAO,mBAAA,CAAoB,iBAAiB,OAAO,CAAA;AACnD,QAAA,QAAA,CAAS,IAAA,CAAK,MAAM,MAAA,GAAS,UAAA;AAC7B,QAAA,QAAA,CAAS,IAAA,CAAK,MAAM,UAAA,GAAa,cAAA;AACjC,QAAA,gBAAA,CAAiB,KAAK,CAAA;AACtB,QAAA,MAAA,EAAO;AACP,QAAA,cAAA,CAAe,OAAA,GAAU,IAAA;AAAA,MAC3B,CAAA;AACA,MAAA,cAAA,CAAe,OAAA,GAAU,MAAM,OAAA,EAAQ;AACvC,MAAA,MAAA,CAAO,gBAAA,CAAiB,eAAe,MAAM,CAAA;AAC7C,MAAA,MAAA,CAAO,gBAAA,CAAiB,aAAa,OAAO,CAAA;AAC5C,MAAA,MAAA,CAAO,gBAAA,CAAiB,iBAAiB,OAAO,CAAA;AAAA,IAClD,CAAA;AAAA,IACA,CAAC,aAAA,EAAe,QAAA,EAAU,MAAA,EAAQ,QAAA,EAAU,QAAQ,gBAAgB;AAAA,GACtE;AAEA,EAAA,MAAM,OAAA,GAAU,YAAY,MAAM;AAChC,IAAA,IAAI,WAAW,OAAA,EAAS;AACtB,MAAA,UAAA,CAAW,OAAA,GAAU,KAAA;AACrB,MAAA;AAAA,IACF;AACA,IAAA,aAAA,EAAc;AAAA,EAChB,CAAA,EAAG,CAAC,aAAa,CAAC,CAAA;AAElB,EAAA,MAAM,SAAA,GAAY,WAAA;AAAA,IAChB,CAAC,KAAA,KAA8C;AAC7C,MAAA,QAAQ,MAAM,GAAA;AAAK,QACjB,KAAK,OAAA;AAAA,QACL,KAAK,GAAA,EAAK;AACR,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,aAAA,EAAc;AACd,UAAA;AAAA,QACF;AAAA,QACA,KAAK,WAAA,EAAa;AAChB,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,IAAI,WAAA,EAAa;AACjB,UAAA,QAAA,CAAS,QAAQ,aAAa,CAAA;AAC9B,UAAA,MAAA,EAAO;AACP,UAAA;AAAA,QACF;AAAA,QACA,KAAK,YAAA,EAAc;AACjB,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,IAAI,WAAA,EAAa;AACf,YAAA,MAAA,EAAO;AACP,YAAA,MAAA,EAAO;AACP,YAAA;AAAA,UACF;AACA,UAAA,QAAA,CAAS,QAAQ,aAAa,CAAA;AAC9B,UAAA,MAAA,EAAO;AACP,UAAA;AAAA,QACF;AAAA,QACA,KAAK,MAAA,EAAQ;AACX,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,MAAA,EAAO;AACP,UAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,UAAA,MAAA,EAAO;AACP,UAAA;AAAA,QACF;AAAA,QACA,KAAK,KAAA,EAAO;AACV,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,MAAA,EAAO;AACP,UAAA,QAAA,CAAS,QAAQ,CAAA;AACjB,UAAA,MAAA,EAAO;AACP,UAAA;AAAA,QACF;AAAA;AACF,IACF,CAAA;AAAA,IACA,CAAC,aAAa,KAAA,EAAO,QAAA,EAAU,UAAU,QAAA,EAAU,MAAA,EAAQ,QAAQ,aAAa;AAAA,GAClF;AAGA,EAAA,MAAM,aAAA,GAAgB,WAAA;AAAA,IACpB,CAAC,KAAA,KAA4C;AAC3C,MAAA,IAAI,EAAE,KAAA,CAAM,MAAA,YAAkB,OAAA,CAAA,EAAU;AACxC,MAAA,MAAM,MAAA,GAAS,KAAA,CAAM,MAAA,CAAO,OAAA,CAA2B,GAAG,CAAA;AAC1D,MAAA,IAAI,CAAC,MAAA,IAAU,CAAC,MAAA,CAAO,YAAA,CAAa,MAAM,CAAA,EAAG;AAE7C,MAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,IAAK,KAAA,CAAM,OAAA,IAAW,MAAM,OAAA,IAAW,KAAA,CAAM,QAAA,IAAY,KAAA,CAAM,MAAA,EAAQ;AAE5F,MAAA,IAAI,OAAO,MAAA,KAAW,QAAA,IAAY,MAAA,CAAO,YAAA,CAAa,UAAU,CAAA,EAAG;AACnE,MAAA,aAAA,CAAc,KAAK,CAAA;AAAA,IACrB,CAAA;AAAA,IACA,CAAC,aAAa;AAAA,GAChB;AAEA,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,uBACE,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,MAAA;AAAA,QACL,IAAA,EAAM,UAAA;AAAA,QACN,YAAA,EAAc,aAAA;AAAA,QACd,sBAAsB,CAAA,IAAA,KAAQ;AAC5B,UAAA,IAAI,CAAC,IAAA,EAAM,sBAAA,CAAuB,KAAK,CAAA;AAAA,QACzC,CAAA;AAAA,QAEA,QAAA,kBAAA,IAAA;AAAA,UAAC,aAAA;AAAA,UAAA;AAAA,YACC,kBAAA,EAAkB,UAAA;AAAA,YAClB,UAAA,EAAY,gBAAA;AAAA,YACZ,iBAAiB,UAAA,KAAe,QAAA;AAAA,YAChC,SAAA,EAAW,EAAA;AAAA,cACT,qCAAA;AAAA,cACA,UAAA,KAAe,aACX,+IAAA,GACA,mEAAA;AAAA,cACJ;AAAA,aACF;AAAA,YAEC,QAAA,EAAA;AAAA,cAAA,UAAA,KAAe,UAAA,mBACd,GAAA,CAAC,WAAA,EAAA,EAAY,OAAA,EAAO,IAAA,EAClB,QAAA,kBAAA,GAAA;AAAA,gBAAC,QAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAK,QAAA;AAAA,kBACL,YAAA,EAAW,OAAA;AAAA,kBACX,SAAA,EAAU,yOAAA;AAAA,kBAEV,QAAA,kBAAA,GAAA;AAAA,oBAAC,MAAA;AAAA,oBAAA;AAAA,sBACC,SAAA,EAAW,EAAA;AAAA,wBACT,mBAAA;AAAA,wBACA,qBAAA;AAAA,wBACA,2BAAA;AAAA,wBACA;AAAA,uBACF;AAAA,sBAEA,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA;AAC/B;AAAA,iBAEJ,CAAA,GACE,IAAA;AAAA,kCACH,cAAA,EAAA,EAAe,OAAA,EAAO,MACrB,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,wBAAU,CAAA,EACzB,CAAA;AAAA,kCACC,cAAA,EAAA,EAAe,OAAA,EAAO,MACrB,QAAA,kBAAA,GAAA,CAAC,iBAAA,EAAA,EAAkB,4CAA8B,CAAA,EACnD,CAAA;AAAA,8BACA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,OAAA,EAAS,aAAA;AAAA,kBACT,SAAA,EAAW,EAAA;AAAA,oBACT,mDAAA;AAAA,oBACA,UAAA,KAAe,aAAa,MAAA,GAAS;AAAA,mBACvC;AAAA,kBAEC;AAAA;AAAA;AACH;AAAA;AAAA;AACF;AAAA,KACF;AAAA,EAEJ;AAEA,EAAA,MAAM,YAAA,GAAe,cAAc,cAAA,GAAiB,KAAA;AACpD,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,yGAAA;AAAA,QACA,qBAAA;AAAA,QACA,kDAAA;AAAA,QACA,SAAA;AAAA,QAEA,QAAA,IAAY;AAAA,OACd;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,EAAA;AAAA,cACT,8CAAA;AAAA,cACA,+DAAA;AAAA,cACA,MAAA;AAAA,cACA,QAAA,IAAY;AAAA,aACd;AAAA,YAEC;AAAA;AAAA,SACH;AAAA,wBAEA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,WAAA;AAAA,YACL,kBAAA,EAAiB,UAAA;AAAA,YAEjB,eAAA,EAAe,cAAc,MAAA,GAAY,YAAA;AAAA,YACzC,eAAA,EAAe,cAAc,MAAA,GAAY,QAAA;AAAA,YACzC,eAAA,EAAe,cAAc,MAAA,GAAY,QAAA;AAAA,YACzC,gBAAA,EAAgB,WAAA,GAAc,WAAA,GAAc,CAAA,EAAG,YAAY,CAAA,OAAA,CAAA;AAAA,YAC3D,YAAA,EAAY,CAAA,+CAAA,EAAkD,WAAA,GAAc,QAAA,GAAW,UAAU,CAAA,CAAA,CAAA;AAAA,YACjG,QAAA,EAAU,CAAA;AAAA,YACV,aAAA;AAAA,YACA,OAAA;AAAA,YACA,SAAA;AAAA,YACA,SAAA,EAAW,EAAA;AAAA,cACT,4EAAA;AAAA,cACA,kCAAA;AAAA,cACA;AAAA,aACF;AAAA,YAEA,QAAA,kBAAA,GAAA;AAAA,cAAC,qBAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAW,EAAA;AAAA,kBACT,2CAAA;AAAA,kBACA,iEAAA;AAAA,kBACA;AAAA;AACF;AAAA;AACF;AAAA;AACF;AAAA;AAAA,GACF;AAEJ;;AChSO,SAAS,mBAAmB,EAAE,SAAA,EAAW,OAAA,EAAS,GAAG,OAAM,EAA4B;AAC5F,EAAA,MAAM,EAAE,YAAA,EAAc,aAAA,EAAc,GAAI,cAAA,EAAe;AACvD,EAAA,MAAM,cAAc,YAAA,KAAiB,WAAA;AAErC,EAAA,4BACG,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACC,MAAA,kBACE,GAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,YAAA,EAAW,gBAAA;AAAA,YACX,iBAAe,CAAC,WAAA;AAAA,YACf,GAAG,KAAA;AAAA,YACJ,SAAS,CAAA,KAAA,KAAS;AAChB,cAAA,OAAA,GAAU,KAAK,CAAA;AACf,cAAA,IAAI,CAAC,KAAA,CAAM,gBAAA,EAAkB,aAAA,EAAc;AAAA,YAC7C,CAAA;AAAA,YACA,SAAA,EAAW,EAAA;AAAA,cACT,mEAAA;AAAA,cACA,QAAA;AAAA,cACA,cAAc,SAAA,GAAY,SAAA;AAAA,cAC1B,4CAAA;AAAA,cACA,iFAAA;AAAA,cACA,SAAA,CAAU,OAAA;AAAA,cACV,6LAAA;AAAA,cACA;AAAA,aACF;AAAA,YAEA,QAAA,kBAAA,GAAA;AAAA,cAAC,cAAA;AAAA,cAAA;AAAA,gBACC,WAAW,EAAA,CAAG;AAAA,kBACZ,YAAA,EAAc;AAAA,iBACf;AAAA;AAAA;AACH;AAAA;AACF;AAAA,KAEJ;AAAA,oBAEA,GAAA,CAAC,cAAA,EAAA,EACC,QAAA,kBAAA,IAAA,CAAC,MAAA,EAAA,EAAK,WAAU,kCAAA,EAAmC,QAAA,EAAA;AAAA,MAAA,gBAAA;AAAA,0BAEhD,GAAA,EAAA,EAAI,IAAA,EAAK,IAAA,EAAK,SAAA,EAAU,kCAAiC,QAAA,EAAA,GAAA,EAE1D;AAAA,KAAA,EACF,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;AC/CA,MAAM,iBAAA,GAAoB,eAAA;AAC1B,MAAM,iBAAA,GAAoB,eAAA;AAE1B,MAAM,iBAAA,GAAoB,iBAAA;AAsC1B,MAAM,KAAA,GAAQ,CAAC,CAAA,EAAW,EAAA,EAAY,EAAA,KAAe,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,IAAA,CAAK,GAAA,CAAI,EAAA,EAAI,CAAC,CAAC,CAAA;AAEjF,MAAM,qBAAqB,OAAO,MAAA,KAAW,WAAA,GAAcA,cAAA,CAAM,kBAAkBA,cAAA,CAAM,SAAA;AAElF,SAAS,mBAAA,CAAoB;AAAA,EAClC,QAAA;AAAA,EACA,YAAA,GAAe,SAAA;AAAA,EACf,YAAA,GAAe,GAAA;AAAA,EACf,QAAA,GAAW,GAAA;AAAA,EACX,QAAA,GAAW,GAAA;AAAA,EACX,aAAA;AAAA,EACA,cAAA,GAAiB,EAAA;AAAA,EACjB,uBAAA,GAA0B,IAAA;AAAA,EAC1B,UAAA;AAAA,EACA,gBAAA,GAAmB,IAAA;AAAA,EACnB,WAAA,GAAc,GAAA;AAAA,EACd;AACF,CAAA,EAA6B;AAE3B,EAAA,MAAM,OAAA,GAAU,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,GAAA,CAAI,QAAA,EAAU,QAAQ,CAAC,CAAA;AACxD,EAAA,MAAM,OAAA,GAAU,IAAA,CAAK,GAAA,CAAI,OAAA,EAAS,QAAQ,CAAA;AAC1C,EAAA,MAAM,aAAA,GAAgB,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,GAAA,CAAI,cAAA,EAAgB,OAAO,CAAC,CAAA;AACnE,EAAA,MAAM,WAAA,GAAc,KAAA,CAAM,YAAA,EAAc,OAAA,EAAS,OAAO,CAAA;AAIxD,EAAA,MAAM,oBAAoB,aAAA,IAAiB,OAAA;AAE3C,EAAA,MAAM,kBAAkB,UAAA,GAAa,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,iBAAiB,CAAA,CAAA,GAAK,iBAAA;AAC5E,EAAA,MAAM,kBAAkB,UAAA,GAAa,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,iBAAiB,CAAA,CAAA,GAAK,iBAAA;AAI5E,EAAA,MAAM,cAAc,MAA2B;AAC7C,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa,OAAO,EAAE,KAAA,EAAO,YAAA,EAAc,OAAO,WAAA,EAAY;AACpF,IAAA,IAAI;AACF,MAAA,IAAI,SAAA,GAA0B,YAAA;AAC9B,MAAA,IAAI,SAAA,GAAY,WAAA;AAChB,MAAA,MAAM,WAAA,GAAc,MAAA,CAAO,YAAA,CAAa,OAAA,CAAQ,eAAe,CAAA;AAC/D,MAAA,IAAI,WAAA,KAAgB,WAAA,IAAe,WAAA,KAAgB,SAAA,EAAW,SAAA,GAAY,WAAA;AAC1E,MAAA,MAAM,WAAA,GAAc,MAAA,CAAO,YAAA,CAAa,OAAA,CAAQ,eAAe,CAAA;AAC/D,MAAA,IAAI,gBAAgB,IAAA,EAAM;AACxB,QAAA,MAAM,MAAA,GAAS,OAAO,WAAW,CAAA;AACjC,QAAA,IAAI,MAAA,CAAO,SAAS,MAAM,CAAA,cAAe,KAAA,CAAM,MAAA,EAAQ,SAAS,OAAO,CAAA;AAAA,MACzE;AACA,MAAA,OAAO,EAAE,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,SAAA,EAAU;AAAA,IAC9C,CAAA,CAAA,MAAQ;AACN,MAAA,OAAO,EAAE,KAAA,EAAO,YAAA,EAAc,KAAA,EAAO,WAAA,EAAY;AAAA,IACnD;AAAA,EACF,CAAA;AACA,EAAA,MAAM,UAAA,GAAaA,cAAA,CAAM,MAAA,CAAmC,IAAI,CAAA;AAChE,EAAA,IAAI,UAAA,CAAW,OAAA,KAAY,IAAA,EAAM,UAAA,CAAW,UAAU,WAAA,EAAY;AAClE,EAAA,MAAM,UAAU,UAAA,CAAW,OAAA;AAE3B,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,IAAIA,cAAA,CAAM,QAAA,CAAuB,QAAQ,KAAK,CAAA;AACpE,EAAA,MAAM,CAAC,KAAA,EAAO,aAAa,IAAIA,cAAA,CAAM,QAAA,CAAiB,QAAQ,KAAK,CAAA;AACnE,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIA,cAAA,CAAM,SAAS,KAAK,CAAA;AACpD,EAAA,MAAM,CAAC,UAAA,EAAY,kBAAkB,CAAA,GAAIA,cAAA,CAAM,SAAS,KAAK,CAAA;AAC7D,EAAA,MAAM,CAAC,mBAAA,EAAqB,sBAAsB,CAAA,GAAIA,cAAA,CAAM,SAAS,KAAK,CAAA;AAC1E,EAAA,MAAM,aAAA,GAAgBA,cAAA,CAAM,MAAA,CAAO,KAAK,CAAA;AACxC,EAAA,MAAM,gBAAA,GAAmBA,cAAA,CAAM,MAAA,CAAiC,IAAI,CAAA;AACpE,EAAA,MAAM,QAAA,GAAWA,cAAA,CAAM,MAAA,CAAe,OAAA,CAAQ,KAAK,CAAA;AACnD,EAAA,MAAM,QAAA,GAAWA,cAAA,CAAM,MAAA,CAAqB,OAAA,CAAQ,KAAK,CAAA;AACzD,EAAA,QAAA,CAAS,OAAA,GAAU,KAAA;AAEnB,EAAA,MAAM,QAAA,GAAWA,cAAA,CAAM,MAAA,CAA8B,IAAI,CAAA;AAGzD,EAAAA,cAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AACnC,IAAA,MAAM,KAAK,MAAA,CAAO,UAAA,CAAW,CAAA,YAAA,EAAe,gBAAA,GAAmB,CAAC,CAAA,GAAA,CAAK,CAAA;AACrE,IAAA,MAAM,MAAA,GAAS,MAAM,WAAA,CAAY,EAAA,CAAG,OAAO,CAAA;AAC3C,IAAA,MAAA,EAAO;AACP,IAAA,EAAA,CAAG,gBAAA,CAAiB,UAAU,MAAM,CAAA;AACpC,IAAA,OAAO,MAAM,EAAA,CAAG,mBAAA,CAAoB,QAAA,EAAU,MAAM,CAAA;AAAA,EACtD,CAAA,EAAG,CAAC,gBAAgB,CAAC,CAAA;AAErB,EAAA,MAAM,aAAA,GAAgBA,cAAA,CAAM,WAAA,CAAY,CAAC,IAAA,KAAkB;AACzD,IAAA,aAAA,CAAc,OAAA,GAAU,IAAA;AACxB,IAAA,IAAI,IAAA,yBAA6B,IAAI,CAAA;AACrC,IAAA,kBAAA,CAAmB,IAAI,CAAA;AAAA,EACzB,CAAA,EAAG,EAAE,CAAA;AAGL,EAAAA,cAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,CAAC,YAAY,UAAA,EAAY;AAC3B,MAAA,aAAA,CAAc,KAAK,CAAA;AACnB,MAAA,sBAAA,CAAuB,KAAK,CAAA;AAAA,IAC9B;AAAA,EACF,CAAA,EAAG,CAAC,QAAA,EAAU,UAAA,EAAY,aAAa,CAAC,CAAA;AAExC,EAAA,MAAM,WAAA,GAAcA,cAAA,CAAM,WAAA,CAAY,CAAC,EAAA,KAAe;AACpD,IAAA,MAAM,KAAK,QAAA,CAAS,OAAA;AACpB,IAAA,IAAI,IAAI,EAAA,CAAG,KAAA,CAAM,YAAY,iBAAA,EAAmB,CAAA,EAAG,EAAE,CAAA,EAAA,CAAI,CAAA;AAAA,EAC3D,CAAA,EAAG,EAAE,CAAA;AAGL,EAAA,kBAAA,CAAmB,MAAM;AACvB,IAAA,WAAA,CAAY,KAAA,KAAU,WAAA,GAAc,aAAA,GAAgB,QAAA,CAAS,OAAO,CAAA;AAAA,EACtE,CAAA,EAAG,CAAC,KAAA,EAAO,aAAA,EAAe,WAAW,CAAC,CAAA;AAEtC,EAAA,MAAM,eAAeA,cAAA,CAAM,WAAA;AAAA,IACzB,CAAC,IAAA,KAAuB;AACtB,MAAA,IAAI;AACF,QAAA,MAAA,CAAO,YAAA,CAAa,OAAA,CAAQ,eAAA,EAAiB,IAAI,CAAA;AAAA,MACnD,CAAA,CAAA,MAAQ;AAAA,MAAC;AAAA,IACX,CAAA;AAAA,IACA,CAAC,eAAe;AAAA,GAClB;AAEA,EAAA,MAAM,aAAA,GAAgBA,cAAA,CAAM,WAAA,CAAY,MAAM;AAC5C,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,aAAA,CAAc,CAAC,cAAc,OAAO,CAAA;AACpC,MAAA;AAAA,IACF;AACA,IAAA,QAAA,CAAS,CAAA,IAAA,KAAQ;AACf,MAAA,MAAM,IAAA,GAAO,IAAA,KAAS,SAAA,GAAY,WAAA,GAAc,SAAA;AAGhD,MAAA,QAAA,CAAS,OAAA,GAAU,IAAA;AACnB,MAAA,YAAA,CAAa,IAAI,CAAA;AACjB,MAAA,OAAO,IAAA;AAAA,IACT,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,QAAA,EAAU,YAAA,EAAc,aAAa,CAAC,CAAA;AAE1C,EAAA,MAAM,WAAWA,cAAA,CAAM,WAAA;AAAA,IACrB,CAAC,IAAA,KAAiB;AAChB,MAAA,MAAM,OAAA,GAAU,KAAA,CAAM,IAAA,EAAM,OAAA,EAAS,OAAO,CAAA;AAC5C,MAAA,QAAA,CAAS,OAAA,GAAU,OAAA;AACnB,MAAA,WAAA,CAAY,OAAO,CAAA;AAAA,IACrB,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,OAAA,EAAS,WAAW;AAAA,GAChC;AAEA,EAAA,MAAM,QAAA,GAAWA,cAAA,CAAM,WAAA,CAAY,MAAM;AACvC,IAAA,QAAA,CAAS,OAAA,GAAU,WAAA;AACnB,IAAA,YAAA,CAAa,WAAW,CAAA;AACxB,IAAA,QAAA,CAAS,WAAW,CAAA;AAAA,EACtB,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AACjB,EAAA,MAAM,MAAA,GAASA,cAAA,CAAM,WAAA,CAAY,MAAM;AACrC,IAAA,QAAA,CAAS,OAAA,GAAU,SAAA;AACnB,IAAA,YAAA,CAAa,SAAS,CAAA;AACtB,IAAA,QAAA,CAAS,SAAS,CAAA;AAAA,EACpB,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAEjB,EAAA,MAAM,MAAA,GAASA,cAAA,CAAM,WAAA,CAAY,MAAM;AACrC,IAAA,aAAA,CAAc,SAAS,OAAO,CAAA;AAC9B,IAAA,IAAI;AACF,MAAA,MAAA,CAAO,YAAA,CAAa,OAAA,CAAQ,eAAA,EAAiB,QAAA,CAAS,OAAO,CAAA;AAC7D,MAAA,MAAA,CAAO,aAAa,OAAA,CAAQ,eAAA,EAAiB,MAAA,CAAO,QAAA,CAAS,OAAO,CAAC,CAAA;AAAA,IACvE,CAAA,CAAA,MAAQ;AAAA,IAAC;AAAA,EACX,CAAA,EAAG,CAAC,eAAA,EAAiB,eAAe,CAAC,CAAA;AAErC,EAAA,MAAM,gBAAA,GAAmBA,cAAA,CAAM,WAAA,CAAY,CAAC,MAAA,KAAoB;AAC9D,IAAA,MAAM,KAAK,QAAA,CAAS,OAAA;AACpB,IAAA,IAAI,CAAC,EAAA,EAAI;AACT,IAAA,IAAI,MAAA,EAAQ,EAAA,CAAG,YAAA,CAAa,sBAAA,EAAwB,QAAQ,CAAA;AAAA,SACvD,EAAA,CAAG,gBAAgB,sBAAsB,CAAA;AAAA,EAChD,CAAA,EAAG,EAAE,CAAA;AAGL,EAAAA,cAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,uBAAA,EAAyB;AAC7B,IAAA,MAAM,SAAA,GAAY,CAAC,EAAA,KAAsB;AAEvC,MAAA,IAAI,EAAA,CAAG,SAAS,MAAA,EAAQ;AACxB,MAAA,IAAI,EAAE,EAAA,CAAG,OAAA,IAAW,EAAA,CAAG,OAAA,CAAA,EAAU;AACjC,MAAA,IAAI,EAAA,CAAG,MAAA,IAAU,EAAA,CAAG,QAAA,EAAU;AAC9B,MAAA,IAAI,EAAA,CAAG,kBAAkB,WAAA,EAAa;AACpC,QAAA,MAAM,GAAA,GAAM,GAAG,MAAA,CAAO,OAAA;AACtB,QAAA,IAAI,GAAA,KAAQ,OAAA,IAAW,GAAA,KAAQ,UAAA,IAAc,QAAQ,QAAA,EAAU;AAC/D,QAAA,IAAI,EAAA,CAAG,OAAO,iBAAA,EAAmB;AAAA,MACnC;AACA,MAAA,EAAA,CAAG,cAAA,EAAe;AAClB,MAAA,aAAA,EAAc;AAAA,IAChB,CAAA;AACA,IAAA,MAAA,CAAO,gBAAA,CAAiB,WAAW,SAAS,CAAA;AAC5C,IAAA,OAAO,MAAM,MAAA,CAAO,mBAAA,CAAoB,SAAA,EAAW,SAAS,CAAA;AAAA,EAC9D,CAAA,EAAG,CAAC,uBAAA,EAAyB,aAAa,CAAC,CAAA;AAE3C,EAAA,MAAM,cAAA,GAA+B,WAAW,SAAA,GAAY,KAAA;AAE5D,EAAA,MAAM,eAAeA,cAAA,CAAM,OAAA;AAAA,IACzB,OAAO;AAAA,MACL,KAAA,EAAO,cAAA;AAAA,MACP,YAAA,EAAc,KAAA;AAAA,MACd,KAAA;AAAA,MACA,QAAA,EAAU,OAAA;AAAA,MACV,QAAA,EAAU,OAAA;AAAA,MACV,aAAA,EAAe,iBAAA;AAAA,MACf,cAAA,EAAgB,aAAA;AAAA,MAChB,QAAA;AAAA,MACA,aAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,gBAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA;AAAA,MACE,cAAA;AAAA,MACA,KAAA;AAAA,MACA,KAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,iBAAA;AAAA,MACA,aAAA;AAAA,MACA,QAAA;AAAA,MACA,aAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,gBAAA;AAAA,MACA;AAAA;AACF,GACF;AAEA,EAAA,MAAM,cAAcA,cAAA,CAAM,OAAA;AAAA,IACxB,OAAO,EAAE,UAAA,EAAY,gBAAA,EAAkB,eAAe,sBAAA,EAAuB,CAAA;AAAA,IAC7E,CAAC,YAAY,aAAa;AAAA,GAC5B;AAIA,EAAA,MAAM,UAAA,GAAgC;AAAA,IACpC,CAAC,iBAAiB,GAAG,CAAA,EAAG,QAAQ,KAAA,KAAU,WAAA,GAAc,aAAA,GAAgB,OAAA,CAAQ,KAAK,CAAA,EAAA,CAAA;AAAA,IACrF,wBAAA,EAA0B,GAAG,WAAW,CAAA,EAAA,CAAA;AAAA,IACxC,OAAA,EAAS;AAAA,GACX;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,QAAA;AAAA,MACL,oBAAA,EAAkB,IAAA;AAAA,MAClB,oBAAA,EAAoB,KAAA;AAAA,MACpB,qBAAA,EAAqB,WAAW,MAAA,GAAS,OAAA;AAAA,MACzC,6BAAA,EAA6B,sBAAsB,MAAA,GAAS,OAAA;AAAA,MAC5D,KAAA,EAAO,UAAA;AAAA,MACP,wBAAA,EAAwB,IAAA;AAAA,MAExB,QAAA,kBAAA,GAAA,CAAC,kBAAA,CAAmB,QAAA,EAAnB,EAA4B,KAAA,EAAO,YAAA,EAClC,QAAA,kBAAA,GAAA,CAAC,mBAAA,CAAoB,QAAA,EAApB,EAA6B,KAAA,EAAO,WAAA,EAAc,UAAS,CAAA,EAC9D;AAAA;AAAA,GACF;AAEJ;;ACnSO,SAAS,eAAA,CAAgB,IAAA,EAAe,QAAA,EAAkB,QAAA,GAAsB,EAAC,EAAY;AAClG,EAAA,MAAM,OAAA,GAAU,CAAC,GAAA,KAAgB,QAAA,KAAa,OAAO,QAAA,CAAS,UAAA,CAAW,MAAM,GAAG,CAAA;AAClF,EAAA,MAAM,YAAA,GAAe,CAAC,KAAA,KACpB,KAAA,CAAM,QAAQ,CAAA,IAAA,KAAQ,CAAC,IAAA,EAAM,GAAG,aAAa,IAAA,CAAK,QAAA,IAAY,EAAE,CAAC,CAAC,CAAA;AAEpE,EAAA,IAAI,CAAC,OAAA,CAAQ,IAAA,CAAK,GAAG,GAAG,OAAO,KAAA;AAC/B,EAAA,MAAM,cAAA,GAAiB,CAAC,GAAG,YAAA,CAAa,IAAA,CAAK,QAAA,IAAY,EAAE,CAAA,EAAG,GAAG,YAAA,CAAa,QAAQ,CAAC,CAAA;AACvF,EAAA,OAAO,CAAC,cAAA,CAAe,IAAA;AAAA,IACrB,CAAA,KAAA,KAAS,KAAA,CAAM,GAAA,KAAQ,IAAA,CAAK,GAAA,IAAO,KAAA,CAAM,GAAA,CAAI,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,MAAA,IAAU,OAAA,CAAQ,MAAM,GAAG;AAAA,GAC5F;AACF;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main-sidebar-link-active-UEuukSeT.cjs","sources":["../src/ds/components/MainSidebar/main-sidebar-context.ts","../src/ds/components/MainSidebar/main-sidebar-mobile-trigger.tsx","../src/ds/components/MainSidebar/main-sidebar-nav.tsx","../src/ds/components/MainSidebar/main-sidebar-nav-label.tsx","../src/ds/components/MainSidebar/main-sidebar-nav-item-classes.ts","../src/ds/components/MainSidebar/main-sidebar-nav-link.tsx","../src/ds/components/MainSidebar/main-sidebar-nav-list.tsx","../src/ds/components/MainSidebar/main-sidebar-nav-section.tsx","../src/ds/components/MainSidebar/main-sidebar-nav-separator.tsx","../src/ds/components/MainSidebar/main-sidebar-root.tsx","../src/ds/components/MainSidebar/main-sidebar-trigger.tsx","../src/ds/components/MainSidebar/main-sidebar-provider.tsx","../src/ds/components/MainSidebar/main-sidebar-link-active.ts"],"sourcesContent":["import React from 'react';\nimport type { LinkComponent } from '@/ds/types/link-component';\n\nexport type SidebarState = 'default' | 'collapsed';\n\ntype MainSidebarContextValue = {\n state: SidebarState;\n desktopState: SidebarState;\n width: number;\n minWidth: number;\n maxWidth: number;\n collapseBelow: number;\n collapsedWidth: number;\n isMobile: boolean;\n openMobile: boolean;\n mobileTriggerRef: React.RefObject<HTMLButtonElement | null>;\n setOpenMobile: (open: boolean) => void;\n setMobileDrawerPresent: (present: boolean) => void;\n toggleSidebar: () => void;\n setWidth: (width: number) => void;\n collapse: () => void;\n expand: () => void;\n commit: () => void;\n setGestureActive: (active: boolean) => void;\n LinkComponent?: LinkComponent;\n};\n\n// Split: drawer open-state lives in its own context so navigation rows\n// do not re-render when the mobile drawer toggles.\nexport type MobileDrawerContextValue = {\n openMobile: boolean;\n mobileTriggerRef: React.RefObject<HTMLButtonElement | null>;\n setOpenMobile: (open: boolean) => void;\n setMobileDrawerPresent: (present: boolean) => void;\n};\n\nexport type MainSidebarStateContextValue = Omit<\n MainSidebarContextValue,\n 'openMobile' | 'mobileTriggerRef' | 'setOpenMobile' | 'setMobileDrawerPresent'\n>;\n\nexport const MainSidebarContext = React.createContext<MainSidebarStateContextValue | null>(null);\nexport const MobileDrawerContext = React.createContext<MobileDrawerContextValue | null>(null);\n\n/** Reads sidebar state and actions without subscribing to mobile drawer state. */\nexport function useMaybeSidebarState(): MainSidebarStateContextValue | null {\n return React.useContext(MainSidebarContext);\n}\n\nexport function useMainSidebar(): MainSidebarContextValue {\n const ctx = React.useContext(MainSidebarContext);\n const drawer = React.useContext(MobileDrawerContext);\n if (!ctx || !drawer) {\n throw new Error('useMainSidebar must be used within a MainSidebarProvider.');\n }\n return { ...ctx, ...drawer };\n}\n\nexport function useMaybeSidebar(): MainSidebarContextValue | null {\n const ctx = React.useContext(MainSidebarContext);\n const drawer = React.useContext(MobileDrawerContext);\n if (!ctx || !drawer) return null;\n return { ...ctx, ...drawer };\n}\n\n/** Reads only mobile drawer state. Cheap — no re-renders on sidebar resize. */\nexport function useMobileDrawer(): MobileDrawerContextValue {\n const drawer = React.useContext(MobileDrawerContext);\n if (!drawer) throw new Error('useMobileDrawer must be used within a MainSidebarProvider.');\n return drawer;\n}\n","import { MenuIcon } from 'lucide-react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useMainSidebar } from './main-sidebar-context';\nimport { quietTextHover } from '@/ds/primitives/typography';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarMobileTriggerProps = ComponentPropsWithoutRef<'button'> & {\n icon?: React.ReactNode;\n};\n\nexport function MainSidebarMobileTrigger({\n className,\n icon,\n 'aria-label': ariaLabel = 'Open navigation menu',\n onClick,\n ...props\n}: MainSidebarMobileTriggerProps) {\n const { isMobile, mobileTriggerRef, setOpenMobile } = useMainSidebar();\n return (\n <button\n ref={mobileTriggerRef}\n type=\"button\"\n aria-label={ariaLabel}\n aria-hidden={!isMobile}\n tabIndex={isMobile ? 0 : -1}\n data-mobile-only\n {...props}\n onClick={event => {\n onClick?.(event);\n if (!event.defaultPrevented) setOpenMobile(true);\n }}\n className={cn(\n 'inline-flex size-10 items-center justify-center rounded-md',\n // compound selector, not `in-*` — its `:where()` ties with a consumer's later `.inline-flex`\n \"[[data-sidebar-mobile='false']_&]:hidden\",\n \"[[data-sidebar-mobile-present='true']_&]:invisible\",\n quietTextHover,\n 'hover:bg-fill-subtle',\n 'focus-visible:ring-1 focus-visible:ring-accent1 focus-visible:outline-hidden',\n className,\n )}\n >\n {icon ?? <MenuIcon className=\"size-5\" />}\n </button>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarNavProps = ComponentPropsWithoutRef<'nav'>;\n\nexport function MainSidebarNav({\n 'aria-label': ariaLabel = 'Main',\n children,\n className,\n ...props\n}: MainSidebarNavProps) {\n return (\n <nav aria-label={ariaLabel} className={cn('flex min-h-0 flex-1 flex-col', className)} {...props}>\n <ScrollArea className=\"min-h-0 flex-1\" viewPortClassName=\"px-0.5\">\n {children}\n </ScrollArea>\n </nav>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport type { SidebarState } from './main-sidebar-context';\nimport { useMaybeSidebarState } from './main-sidebar-context';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarNavLabelProps = ComponentPropsWithoutRef<'span'> & {\n /** Override sidebar state. Defaults to context, then `'default'`. */\n state?: SidebarState;\n};\n\n/**\n * Label slot for `MainSidebar.NavLink` rows.\n *\n * Auto-hides via `VisuallyHidden` when the sidebar is collapsed (icon-only row),\n * so screen readers still announce the label without it leaking outside the\n * 28px collapsed item. Handles single-line truncation when expanded.\n *\n * Required for custom `render` and legacy `asChild` consumers — the default\n * `link={...}` path wraps the name internally, but custom elements bring their\n * own children, so the label needs to opt into the collapse-aware rendering.\n */\nexport function MainSidebarNavLabel({ children, className, state: stateProp, ...rest }: MainSidebarNavLabelProps) {\n const ctx = useMaybeSidebarState();\n const state: SidebarState = stateProp ?? ctx?.state ?? 'default';\n if (state === 'collapsed') {\n return <VisuallyHidden>{children}</VisuallyHidden>;\n }\n return (\n <span {...rest} className={cn('min-w-0 flex-1 truncate text-left', className)}>\n {children}\n </span>\n );\n}\n","import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport { controlHeight } from '@/ds/primitives/control-size';\nimport { surfaceStateLayerStyle } from '@/ds/primitives/raised-surface';\nimport { controlStateColorTransition, focusRing } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\n// A nav row is a control: same rhythm as a button or a field, from the same rungs, so a\n// sidebar row and a toolbar button in the same app are never 2px apart. A nav label is a\n// label at every row height, so only the box grows — 12px reads too small for a primary\n// navigation target, and 400 weight makes the label recede below its icon.\nconst navItemVariants = cva('flex min-w-0 cursor-pointer items-center rounded-lg text-label whitespace-nowrap', {\n variants: {\n size: {\n sm: controlHeight.sm,\n md: controlHeight.md,\n lg: controlHeight.lg,\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\ntype NavItemVariantProps = VariantProps<typeof navItemVariants>;\n\nexport type MainSidebarNavItemSize = NonNullable<NavItemVariantProps['size']>;\n\ntype NavRowSurfaceOptions = {\n isActive?: boolean;\n isFeatured?: boolean;\n};\n\ntype NavItemLayoutOptions = {\n isCollapsed?: boolean;\n level?: number;\n size?: MainSidebarNavItemSize;\n};\n\ntype ItemStyleOptions = NavRowSurfaceOptions & NavItemLayoutOptions;\n\nconst nestedExpandedItemClasses = (level: number) => {\n if (level <= 0) return 'gap-2 py-1 px-3';\n if (level === 1) return `gap-2 py-1 pr-3 pl-8 ${controlHeight.md}`;\n if (level === 2) return `gap-2 py-1 pr-3 pl-10 ${controlHeight.md}`;\n return `gap-2 py-1 pr-3 pl-12 ${controlHeight.md}`;\n};\n\n// Two neutral tones, never more: a row is either quiet (`muted-foreground`) or\n// current (`foreground`). Icons inherit that colour — lucide strokes with\n// `currentColor` — so there is nothing to restate per state.\nconst idleSurface = cn('rounded-lg text-muted-foreground hover:text-foreground', surfaceStateLayerStyle);\n\nconst activeSurface = 'bg-fill text-foreground';\n\nconst featuredSurface = cn(\n 'my-2 border border-accent1/30 bg-accent1Dark text-accent1 hover:bg-accent1Darker hover:text-accent1',\n 'dark:border-transparent dark:bg-accent1 dark:text-black dark:hover:bg-accent1/90 dark:hover:text-black',\n '[&_svg]:text-accent1 dark:[&_svg]:text-black/75 [&:hover_svg]:text-accent1 dark:[&:hover_svg]:text-black',\n);\n\nexport const navRowSurfaceClasses = ({ isActive, isFeatured }: NavRowSurfaceOptions) =>\n cn(idleSurface, isActive && activeSurface, isFeatured && featuredSurface);\n\nexport const navItemLayoutClasses = ({ isCollapsed, level = 0, size }: NavItemLayoutOptions) =>\n cn(\n navItemVariants({ size }),\n 'w-full justify-start',\n controlStateColorTransition,\n '[&_svg]:size-4 [&_svg]:shrink-0',\n focusRing.visible,\n !isCollapsed && nestedExpandedItemClasses(level),\n isCollapsed && 'gap-0 px-[13.5px] py-0',\n );\n\nexport const navItemClasses = ({ isActive, isCollapsed, isFeatured, level, size }: ItemStyleOptions = {}) =>\n cn(navItemLayoutClasses({ isCollapsed, level, size }), navRowSurfaceClasses({ isActive, isFeatured }));\n","import React from 'react';\nimport type { ComponentProps } from 'react';\nimport type { SidebarState } from './main-sidebar-context';\nimport { useMaybeSidebarState } from './main-sidebar-context';\nimport { navItemClasses, navItemLayoutClasses, navRowSurfaceClasses } from './main-sidebar-nav-item-classes';\nimport type { MainSidebarNavItemSize } from './main-sidebar-nav-item-classes';\nimport { MainSidebarNavLabel } from './main-sidebar-nav-label';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\nexport type NavLink = {\n name: string;\n url: string;\n icon?: React.ReactNode;\n children?: NavLink[];\n isActive?: boolean;\n variant?: 'default' | 'featured';\n tooltipMsg?: string;\n /** @deprecated Prefer nested `children`; accepted for callers still rendering manual sublinks. */\n indent?: boolean;\n};\n\nexport type MainSidebarNavLinkProps = Omit<ComponentProps<'li'>, 'children'> & {\n link?: NavLink;\n isActive?: boolean;\n state?: SidebarState;\n children?: React.ReactNode;\n size?: MainSidebarNavItemSize;\n render?: React.ReactElement<SlottedNavChildProps>;\n action?: React.ReactNode;\n LinkComponent?: LinkComponent;\n level?: number;\n subItems?: React.ReactNode;\n /**\n * When true, render `children` as the interactive element.\n * Use for `<button>` items or custom router Links. Item classes are forwarded\n * to the slotted element. `link.url` and `LinkComponent` are ignored; other\n * `link` presentation fields still apply when supplied.\n *\n * @deprecated Prefer typed render composition for new APIs; this legacy\n * slotted prop will be migrated separately.\n */\n asChild?: boolean;\n};\n\ntype SlottedNavChildProps = {\n className?: string;\n 'aria-current'?: 'page';\n};\n\nexport function MainSidebarNavLink({\n link,\n state: stateProp,\n children,\n isActive,\n size,\n render,\n action,\n className,\n LinkComponent: LinkProp,\n level: levelProp,\n subItems,\n asChild = false,\n ...props\n}: MainSidebarNavLinkProps) {\n if (render && asChild) {\n throw new Error('MainSidebarNavLink accepts either `render` or `asChild`, not both.');\n }\n\n const ctx = useMaybeSidebarState();\n const state: SidebarState = stateProp ?? ctx?.state ?? 'default';\n const Link: LinkComponent = LinkProp ?? ctx?.LinkComponent ?? 'a';\n const isCollapsed = state === 'collapsed';\n const isFeatured = link?.variant === 'featured';\n const level = levelProp ?? (link?.indent ? 1 : 0);\n const rowAction = isCollapsed ? undefined : action;\n\n const itemClassName = rowAction\n ? cn(navItemLayoutClasses({ level, size }), 'flex-1 pr-1')\n : navItemClasses({ isActive, isCollapsed, isFeatured, level, size });\n\n return (\n <li {...props} className={cn('relative flex min-w-0 flex-col', className)}>\n <NavRowBody action={rowAction} surfaceClassName={navRowSurfaceClasses({ isActive, isFeatured })}>\n <NavRowTooltip label={navTooltipLabel(link, isCollapsed)}>\n {navInteractiveRow({ render, asChild, children, link, state, Link, isActive, className: itemClassName })}\n </NavRowTooltip>\n </NavRowBody>\n {!isCollapsed && subItems}\n </li>\n );\n}\n\nfunction navInteractiveRow({\n render,\n asChild,\n children,\n link,\n state,\n Link,\n isActive,\n className,\n}: {\n render?: React.ReactElement<SlottedNavChildProps>;\n asChild: boolean;\n children?: React.ReactNode;\n link?: NavLink;\n state: SidebarState;\n Link: LinkComponent;\n isActive?: boolean;\n className: string;\n}) {\n // The current row is announced, not merely tinted: its fill is the only thing that says\n // \"you are here\", and a fill says nothing to a screen reader.\n const current = isActive ? ('page' as const) : undefined;\n if (render) {\n return React.cloneElement(render, { className: cn(className, render.props.className), 'aria-current': current });\n }\n\n if (asChild) {\n if (!React.isValidElement<SlottedNavChildProps>(children)) {\n throw new Error(\n 'MainSidebarNavLink requires a valid React element child when `asChild` is true so it can apply `SlottedNavChildProps` and merge `itemClassName`.',\n );\n }\n\n return React.cloneElement(children, {\n className: cn(className, children.props.className),\n 'aria-current': current,\n });\n }\n\n if (!link) return children;\n\n const externalParams = /^(https?:)?\\/\\//.test(link.url) ? { target: '_blank', rel: 'noreferrer' } : {};\n\n return (\n <Link href={link.url} {...externalParams} aria-current={current} className={className}>\n {link.icon}\n <MainSidebarNavLabel state={state}>{link.name}</MainSidebarNavLabel>\n {children}\n </Link>\n );\n}\n\nfunction navTooltipLabel(link: NavLink | undefined, isCollapsed: boolean) {\n if (!link) return undefined;\n if (link.tooltipMsg) return isCollapsed ? `${link.name} | ${link.tooltipMsg}` : link.tooltipMsg;\n return isCollapsed ? link.name : undefined;\n}\n\nfunction NavRowTooltip({ label, children }: { label?: string; children: React.ReactNode }) {\n if (!React.isValidElement(children)) return children;\n\n return (\n <Tooltip disabled={!label}>\n <TooltipTrigger render={children} />\n {label ? (\n <TooltipContent side=\"right\" align=\"center\" sideOffset={16}>\n {label}\n </TooltipContent>\n ) : null}\n </Tooltip>\n );\n}\n\nfunction NavRowBody({\n action,\n surfaceClassName,\n children,\n}: {\n action?: React.ReactNode;\n surfaceClassName: string;\n children: React.ReactNode;\n}) {\n if (!action) return children;\n\n return (\n <div className={cn('flex min-w-0 items-center pr-1', surfaceClassName)}>\n {children}\n {action}\n </div>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarNavListProps = ComponentPropsWithoutRef<'ul'>;\n\nexport function MainSidebarNavList({ className, children, ...props }: MainSidebarNavListProps) {\n return (\n <ul className={cn('grid grid-cols-[minmax(0,1fr)] content-center items-start gap-0.5', className)} {...props}>\n {children}\n </ul>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport type { NavLink } from './main-sidebar-nav-link';\nimport { cn } from '@/lib/utils';\n\nexport type NavSection = {\n key: string;\n title?: string;\n href?: string;\n links: NavLink[];\n separator?: boolean;\n isHeaderActive?: boolean;\n};\n\nexport type MainSidebarNavSectionProps = ComponentPropsWithoutRef<'section'>;\n\nexport function MainSidebarNavSection({ className, children, ...props }: MainSidebarNavSectionProps) {\n return (\n <section className={cn('relative grid grid-cols-[minmax(0,1fr)] content-center items-start', className)} {...props}>\n {children}\n </section>\n );\n}\n","import type { ComponentPropsWithoutRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarNavSeparatorProps = ComponentPropsWithoutRef<'div'>;\n\nexport function MainSidebarNavSeparator({ className, ...props }: MainSidebarNavSeparatorProps) {\n return (\n <div\n role=\"separator\"\n aria-orientation=\"horizontal\"\n className={cn(\n 'relative min-h-5',\n '[&:after]:absolute [&:after]:inset-x-3 [&:after]:top-1/2 [&:after]:block [&:after]:h-0 [&:after]:border-t [&:after]:border-border [&:after]:content-[\"\"]',\n className,\n )}\n {...props}\n />\n );\n}\n","import { MenuIcon } from 'lucide-react';\nimport { useCallback, useEffect, useRef } from 'react';\nimport type { KeyboardEvent as ReactKeyboardEvent, PointerEvent as ReactPointerEvent } from 'react';\nimport { useMainSidebar } from './main-sidebar-context';\nimport { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerTitle } from '@/ds/components/Drawer';\nimport { overlaySurfaceStyle, surfaceGroupStateLayerStyle } from '@/ds/primitives/raised-surface';\nimport { ResizeHandleIndicator } from '@/ds/primitives/resize-handle-indicator';\nimport { quietTextHoverInGroup } from '@/ds/primitives/typography';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarRootProps = {\n children: React.ReactNode;\n className?: string;\n mobileMode?: 'drawer' | 'takeover';\n};\n\nconst KEYBOARD_STEP = 10;\nconst DRAG_THRESHOLD = 5;\n\nexport function MainSidebarRoot({ children, className, mobileMode = 'drawer' }: MainSidebarRootProps) {\n const {\n state,\n width,\n minWidth,\n maxWidth,\n collapseBelow,\n collapsedWidth,\n isMobile,\n openMobile,\n mobileTriggerRef,\n setOpenMobile,\n setMobileDrawerPresent,\n setWidth,\n collapse,\n expand,\n commit,\n toggleSidebar,\n setGestureActive,\n } = useMainSidebar();\n const isCollapsed = state === 'collapsed';\n const isHidden = isCollapsed && collapsedWidth === 0;\n\n const draggedRef = useRef(false);\n const dragCleanupRef = useRef<(() => void) | null>(null);\n\n useEffect(() => {\n return () => {\n dragCleanupRef.current?.();\n dragCleanupRef.current = null;\n };\n }, []);\n\n const onPointerDown = useCallback(\n (event: ReactPointerEvent<HTMLDivElement>) => {\n if (event.button !== 0) return;\n event.preventDefault();\n\n draggedRef.current = false;\n setGestureActive(true);\n\n const startX = event.clientX;\n const handle = event.currentTarget;\n const pointerId = event.pointerId;\n\n try {\n handle.setPointerCapture(pointerId);\n } catch {\n // The pointer may have ended before capture.\n }\n\n const sidebarEl = handle.parentElement;\n const sidebarLeft = sidebarEl ? sidebarEl.getBoundingClientRect().left : 0;\n\n const prevCursor = document.body.style.cursor;\n const prevUserSelect = document.body.style.userSelect;\n\n const onMove = (ev: PointerEvent) => {\n if (ev.pointerId !== pointerId) return;\n const dx = ev.clientX - startX;\n if (!draggedRef.current) {\n if (Math.abs(dx) <= DRAG_THRESHOLD) return;\n draggedRef.current = true;\n document.body.style.cursor = 'col-resize';\n document.body.style.userSelect = 'none';\n }\n\n const cursorWidth = ev.clientX - sidebarLeft;\n\n if (collapseBelow > 0 && cursorWidth < collapseBelow) {\n collapse();\n return;\n }\n expand();\n setWidth(cursorWidth);\n };\n const cleanup = (ev?: PointerEvent) => {\n if (ev && ev.pointerId !== pointerId) return;\n window.removeEventListener('pointermove', onMove);\n window.removeEventListener('pointerup', cleanup);\n window.removeEventListener('pointercancel', cleanup);\n document.body.style.cursor = prevCursor;\n document.body.style.userSelect = prevUserSelect;\n setGestureActive(false);\n commit();\n dragCleanupRef.current = null;\n };\n dragCleanupRef.current = () => cleanup();\n window.addEventListener('pointermove', onMove);\n window.addEventListener('pointerup', cleanup);\n window.addEventListener('pointercancel', cleanup);\n },\n [collapseBelow, setWidth, expand, collapse, commit, setGestureActive],\n );\n\n const onClick = useCallback(() => {\n if (draggedRef.current) {\n draggedRef.current = false;\n return;\n }\n toggleSidebar();\n }, [toggleSidebar]);\n\n const onKeyDown = useCallback(\n (event: ReactKeyboardEvent<HTMLDivElement>) => {\n switch (event.key) {\n case 'Enter':\n case ' ': {\n event.preventDefault();\n toggleSidebar();\n return;\n }\n case 'ArrowLeft': {\n event.preventDefault();\n if (isCollapsed) return;\n setWidth(width - KEYBOARD_STEP);\n commit();\n return;\n }\n case 'ArrowRight': {\n event.preventDefault();\n if (isCollapsed) {\n expand();\n commit();\n return;\n }\n setWidth(width + KEYBOARD_STEP);\n commit();\n return;\n }\n case 'Home': {\n event.preventDefault();\n expand();\n setWidth(minWidth);\n commit();\n return;\n }\n case 'End': {\n event.preventDefault();\n expand();\n setWidth(maxWidth);\n commit();\n return;\n }\n }\n },\n [isCollapsed, width, minWidth, maxWidth, setWidth, expand, commit, toggleSidebar],\n );\n\n // Client-side routers preventDefault but should still close the drawer.\n const closeOnAnchor = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (!(event.target instanceof Element)) return;\n const anchor = event.target.closest<HTMLAnchorElement>('a');\n if (!anchor || !anchor.hasAttribute('href')) return;\n\n if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;\n\n if (anchor.target === '_blank' || anchor.hasAttribute('download')) return;\n setOpenMobile(false);\n },\n [setOpenMobile],\n );\n\n if (isMobile) {\n return (\n <Drawer\n side=\"left\"\n open={openMobile}\n onOpenChange={setOpenMobile}\n onOpenChangeComplete={open => {\n if (!open) setMobileDrawerPresent(false);\n }}\n >\n <DrawerContent\n data-mobile-mode={mobileMode}\n finalFocus={mobileTriggerRef}\n showCloseButton={mobileMode === 'drawer'}\n className={cn(\n 'border-0 bg-sidebar text-foreground',\n mobileMode === 'takeover'\n ? 'w-[calc(100%-3.5rem)] max-w-none overflow-visible rounded-l-none rounded-r-3xl pt-[env(safe-area-inset-top)] pb-[env(safe-area-inset-bottom)]'\n : 'w-3/4 max-w-(--sidebar-width-mobile) overflow-hidden rounded-none',\n className,\n )}\n >\n {mobileMode === 'takeover' ? (\n <DrawerClose asChild>\n <button\n type=\"button\"\n aria-label=\"Close\"\n className=\"group absolute top-2 -right-12 z-10 inline-flex size-11 touch-manipulation items-center justify-center transition-opacity duration-fast group-data-[ending-style]/popup:opacity-0 focus-visible:outline-hidden motion-reduce:duration-0\"\n >\n <span\n className={cn(\n overlaySurfaceStyle,\n quietTextHoverInGroup,\n surfaceGroupStateLayerStyle,\n 'inline-flex size-9 items-center justify-center rounded-full backdrop-blur-sm group-focus-visible:ring-1 group-focus-visible:ring-accent1',\n )}\n >\n <MenuIcon className=\"size-4\" />\n </span>\n </button>\n </DrawerClose>\n ) : null}\n <VisuallyHidden asChild>\n <DrawerTitle>Navigation</DrawerTitle>\n </VisuallyHidden>\n <VisuallyHidden asChild>\n <DrawerDescription>Primary site navigation drawer</DrawerDescription>\n </VisuallyHidden>\n <div\n onClick={closeOnAnchor}\n className={cn(\n 'flex h-full min-h-0 flex-col overflow-hidden py-2',\n mobileMode === 'takeover' ? 'px-4' : 'px-3',\n )}\n >\n {children}\n </div>\n </DrawerContent>\n </Drawer>\n );\n }\n\n const currentWidth = isCollapsed ? collapsedWidth : width;\n return (\n <div\n className={cn(\n 'sidebar-layout group/sidebar t-resize relative min-h-0 shrink-0 self-stretch bg-sidebar text-foreground',\n 'w-(--sidebar-width)',\n 'in-data-[sidebar-gesture=active]:transition-none',\n className,\n\n isHidden && 'border-r-0 border-transparent',\n )}\n >\n <div\n className={cn(\n 'flex h-full min-h-0 flex-col overflow-hidden',\n 'transition-opacity duration-200 motion-reduce:transition-none',\n 'px-2',\n isHidden && 'pointer-events-none px-0 opacity-0',\n )}\n >\n {children}\n </div>\n\n <div\n role=\"separator\"\n aria-orientation=\"vertical\"\n\n aria-valuenow={isCollapsed ? undefined : currentWidth}\n aria-valuemin={isCollapsed ? undefined : minWidth}\n aria-valuemax={isCollapsed ? undefined : maxWidth}\n aria-valuetext={isCollapsed ? 'collapsed' : `${currentWidth} pixels`}\n aria-label={`Resize sidebar. Arrow keys to resize, Enter to ${isCollapsed ? 'expand' : 'collapse'}.`}\n tabIndex={0}\n onPointerDown={onPointerDown}\n onClick={onClick}\n onKeyDown={onKeyDown}\n className={cn(\n 'group absolute top-0 -right-1 z-10 h-full w-2 cursor-col-resize touch-none',\n 'flex items-center justify-center',\n 'focus-visible:outline-hidden',\n )}\n >\n <ResizeHandleIndicator\n className={cn(\n 'via-foreground/30 group-hover:opacity-100',\n 'group-focus-visible:via-accent1 group-focus-visible:opacity-100',\n 'in-data-[sidebar-gesture=active]:via-foreground/45 in-data-[sidebar-gesture=active]:opacity-100',\n )}\n />\n </div>\n </div>\n );\n}\n","import { PanelRightIcon } from 'lucide-react';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport { useMainSidebar } from './main-sidebar-context';\nimport { Kbd } from '@/ds/components/Kbd';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { focusRing } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type MainSidebarTriggerProps = ComponentPropsWithoutRef<'button'>;\n\nexport function MainSidebarTrigger({ className, onClick, ...props }: MainSidebarTriggerProps) {\n const { desktopState, toggleSidebar } = useMainSidebar();\n const isCollapsed = desktopState === 'collapsed';\n\n return (\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n type=\"button\"\n aria-label=\"Toggle sidebar\"\n aria-expanded={!isCollapsed}\n {...props}\n onClick={event => {\n onClick?.(event);\n if (!event.defaultPrevented) toggleSidebar();\n }}\n className={cn(\n 'flex items-center justify-center rounded-md text-muted-foreground',\n 'size-7',\n isCollapsed ? 'mx-auto' : 'ml-auto',\n 'hover:bg-fill-subtle hover:text-foreground',\n 'transition-colors duration-normal ease-out-custom motion-reduce:transition-none',\n focusRing.visible,\n '[&_svg]:size-4 [&_svg]:text-muted-foreground [&_svg]:transition-transform [&_svg]:duration-slow [&_svg]:ease-out-custom motion-reduce:[&_svg]:transition-none [&:hover_svg]:text-foreground',\n className,\n )}\n >\n <PanelRightIcon\n className={cn({\n 'rotate-180': isCollapsed,\n })}\n />\n </button>\n }\n />\n\n <TooltipContent>\n <span className=\"inline-flex items-center gap-1.5\">\n Toggle Sidebar\n <Kbd size=\"xs\" className=\"bg-muted text-muted-foreground\">\n [\n </Kbd>\n </span>\n </TooltipContent>\n </Tooltip>\n );\n}\n","import React from 'react';\nimport type { CSSProperties } from 'react';\nimport {\n MainSidebarContext,\n MobileDrawerContext,\n type MobileDrawerContextValue,\n type SidebarState,\n} from './main-sidebar-context';\nimport type { LinkComponent } from '@/ds/types/link-component';\n\nconst SIDEBAR_STATE_KEY = 'sidebar:state';\nconst SIDEBAR_WIDTH_KEY = 'sidebar:width';\n\nconst SIDEBAR_WIDTH_VAR = '--sidebar-width';\n\ntype InitialSidebarState = {\n state: SidebarState;\n width: number;\n};\n\ntype SidebarScopeStyle = CSSProperties & {\n '--sidebar-width': string;\n '--sidebar-width-mobile': string;\n};\n\nexport type MainSidebarProviderProps = {\n children: React.ReactNode;\n /** Initial state before localStorage hydrates. Defaults to `'default'`. */\n defaultState?: SidebarState;\n /** Default expanded width in px. Defaults to `240`. */\n defaultWidth?: number;\n /** Minimum draggable width in px. Defaults to `200`. */\n minWidth?: number;\n /** Maximum draggable width in px. Defaults to `480`. */\n maxWidth?: number;\n /** Drag below this value snaps the sidebar closed. Defaults to `minWidth` (snap to collapsed when dragged below the expanded minimum). Pass `0` to disable snap. */\n collapseBelow?: number;\n /** Width in px when collapsed. Defaults to `64`. Set to `0` for fully hidden. */\n collapsedWidth?: number;\n /** Disable the global ⌘B / Ctrl+B toggle shortcut. Defaults to `true` so browser shortcuts are preserved. */\n disableKeyboardShortcut?: boolean;\n /** Scope-key for localStorage. Allows multiple independent sidebars per app. */\n storageKey?: string;\n /** Mobile breakpoint in px (max-width). Below this, sidebar renders as a drawer. Defaults to `1024`. */\n mobileBreakpoint?: number;\n /** Drawer max-width on mobile in px. Actual width is `min(75vw, mobileWidth)`. Defaults to `360`. */\n mobileWidth?: number;\n /** Default LinkComponent injected into NavLink/NavHeader. Falls back to plain `<a>` if omitted. */\n LinkComponent?: LinkComponent;\n};\n\nconst clamp = (v: number, lo: number, hi: number) => Math.min(hi, Math.max(lo, v));\n\nconst useIsoLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\n\nexport function MainSidebarProvider({\n children,\n defaultState = 'default',\n defaultWidth = 240,\n minWidth = 200,\n maxWidth = 480,\n collapseBelow,\n collapsedWidth = 64,\n disableKeyboardShortcut = true,\n storageKey,\n mobileBreakpoint = 1024,\n mobileWidth = 360,\n LinkComponent,\n}: MainSidebarProviderProps) {\n // Normalize props so bad inputs (defaultWidth < minWidth, min > max, etc.) never produce a broken layout.\n const safeMin = Math.max(0, Math.min(minWidth, maxWidth));\n const safeMax = Math.max(safeMin, maxWidth);\n const safeCollapsed = Math.max(0, Math.min(collapsedWidth, safeMax));\n const safeDefault = clamp(defaultWidth, safeMin, safeMax);\n // Default snap-zone = minWidth: dragging below the expanded min snaps to collapsed,\n // since below min the sidebar cannot render its expanded layout anyway.\n // Pass `collapseBelow={0}` to disable snap.\n const safeCollapseBelow = collapseBelow ?? safeMin;\n\n const stateStorageKey = storageKey ? `${storageKey}:${SIDEBAR_STATE_KEY}` : SIDEBAR_STATE_KEY;\n const widthStorageKey = storageKey ? `${storageKey}:${SIDEBAR_WIDTH_KEY}` : SIDEBAR_WIDTH_KEY;\n\n // Hydrate synchronously from localStorage so first paint is already at the correct width.\n // Falls back to clamped defaults during SSR or when storage is unavailable.\n const readInitial = (): InitialSidebarState => {\n if (typeof window === 'undefined') return { state: defaultState, width: safeDefault };\n try {\n let nextState: SidebarState = defaultState;\n let nextWidth = safeDefault;\n const storedState = window.localStorage.getItem(stateStorageKey);\n if (storedState === 'collapsed' || storedState === 'default') nextState = storedState;\n const storedWidth = window.localStorage.getItem(widthStorageKey);\n if (storedWidth !== null) {\n const parsed = Number(storedWidth);\n if (Number.isFinite(parsed)) nextWidth = clamp(parsed, safeMin, safeMax);\n }\n return { state: nextState, width: nextWidth };\n } catch {\n return { state: defaultState, width: safeDefault };\n }\n };\n const initialRef = React.useRef<InitialSidebarState | null>(null);\n if (initialRef.current === null) initialRef.current = readInitial();\n const initial = initialRef.current;\n\n const [state, setState] = React.useState<SidebarState>(initial.state);\n const [width, setWidthState] = React.useState<number>(initial.width);\n const [isMobile, setIsMobile] = React.useState(false);\n const [openMobile, setOpenMobileState] = React.useState(false);\n const [mobileDrawerPresent, setMobileDrawerPresent] = React.useState(false);\n const openMobileRef = React.useRef(false);\n const mobileTriggerRef = React.useRef<HTMLButtonElement | null>(null);\n const widthRef = React.useRef<number>(initial.width);\n const stateRef = React.useRef<SidebarState>(initial.state);\n stateRef.current = state;\n\n const scopeRef = React.useRef<HTMLDivElement | null>(null);\n\n // Watch viewport for mobile breakpoint.\n React.useEffect(() => {\n if (typeof window === 'undefined') return;\n const mq = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);\n const update = () => setIsMobile(mq.matches);\n update();\n mq.addEventListener('change', update);\n return () => mq.removeEventListener('change', update);\n }, [mobileBreakpoint]);\n\n const setOpenMobile = React.useCallback((open: boolean) => {\n openMobileRef.current = open;\n if (open) setMobileDrawerPresent(true);\n setOpenMobileState(open);\n }, []);\n\n // Close mobile drawer when crossing back to desktop.\n React.useEffect(() => {\n if (!isMobile && openMobile) {\n setOpenMobile(false);\n setMobileDrawerPresent(false);\n }\n }, [isMobile, openMobile, setOpenMobile]);\n\n const writeCssVar = React.useCallback((px: number) => {\n const el = scopeRef.current;\n if (el) el.style.setProperty(SIDEBAR_WIDTH_VAR, `${px}px`);\n }, []);\n\n // Keep the CSS var in sync with collapsed state transitions.\n useIsoLayoutEffect(() => {\n writeCssVar(state === 'collapsed' ? safeCollapsed : widthRef.current);\n }, [state, safeCollapsed, writeCssVar]);\n\n const persistState = React.useCallback(\n (next: SidebarState) => {\n try {\n window.localStorage.setItem(stateStorageKey, next);\n } catch {}\n },\n [stateStorageKey],\n );\n\n const toggleSidebar = React.useCallback(() => {\n if (isMobile) {\n setOpenMobile(!openMobileRef.current);\n return;\n }\n setState(prev => {\n const next = prev === 'default' ? 'collapsed' : 'default';\n // Sync ref so a synchronous follow-up `commit()` (e.g. keyboard handler)\n // persists the new state instead of the stale render-time value.\n stateRef.current = next;\n persistState(next);\n return next;\n });\n }, [isMobile, persistState, setOpenMobile]);\n\n const setWidth = React.useCallback(\n (next: number) => {\n const clamped = clamp(next, safeMin, safeMax);\n widthRef.current = clamped;\n writeCssVar(clamped);\n },\n [safeMin, safeMax, writeCssVar],\n );\n\n const collapse = React.useCallback(() => {\n stateRef.current = 'collapsed';\n persistState('collapsed');\n setState('collapsed');\n }, [persistState]);\n const expand = React.useCallback(() => {\n stateRef.current = 'default';\n persistState('default');\n setState('default');\n }, [persistState]);\n\n const commit = React.useCallback(() => {\n setWidthState(widthRef.current);\n try {\n window.localStorage.setItem(stateStorageKey, stateRef.current);\n window.localStorage.setItem(widthStorageKey, String(widthRef.current));\n } catch {}\n }, [stateStorageKey, widthStorageKey]);\n\n const setGestureActive = React.useCallback((active: boolean) => {\n const el = scopeRef.current;\n if (!el) return;\n if (active) el.setAttribute('data-sidebar-gesture', 'active');\n else el.removeAttribute('data-sidebar-gesture');\n }, []);\n\n // Global ⌘B / Ctrl+B toggle. Skip when typing.\n React.useEffect(() => {\n if (disableKeyboardShortcut) return;\n const onKeyDown = (ev: KeyboardEvent) => {\n // `code` is layout-independent — works on non-Latin keyboards.\n if (ev.code !== 'KeyB') return;\n if (!(ev.metaKey || ev.ctrlKey)) return;\n if (ev.altKey || ev.shiftKey) return;\n if (ev.target instanceof HTMLElement) {\n const tag = ev.target.tagName;\n if (tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT') return;\n if (ev.target.isContentEditable) return;\n }\n ev.preventDefault();\n toggleSidebar();\n };\n window.addEventListener('keydown', onKeyDown);\n return () => window.removeEventListener('keydown', onKeyDown);\n }, [disableKeyboardShortcut, toggleSidebar]);\n\n const effectiveState: SidebarState = isMobile ? 'default' : state;\n\n const contextValue = React.useMemo(\n () => ({\n state: effectiveState,\n desktopState: state,\n width,\n minWidth: safeMin,\n maxWidth: safeMax,\n collapseBelow: safeCollapseBelow,\n collapsedWidth: safeCollapsed,\n isMobile,\n toggleSidebar,\n setWidth,\n collapse,\n expand,\n commit,\n setGestureActive,\n LinkComponent,\n }),\n [\n effectiveState,\n state,\n width,\n safeMin,\n safeMax,\n safeCollapseBelow,\n safeCollapsed,\n isMobile,\n toggleSidebar,\n setWidth,\n collapse,\n expand,\n commit,\n setGestureActive,\n LinkComponent,\n ],\n );\n\n const drawerValue = React.useMemo<MobileDrawerContextValue>(\n () => ({ openMobile, mobileTriggerRef, setOpenMobile, setMobileDrawerPresent }),\n [openMobile, setOpenMobile],\n );\n\n // CSS var owned exclusively by writeCssVar (single source of truth).\n // SSR seeds the initial value here; post-mount writeCssVar takes over.\n const scopeStyle: SidebarScopeStyle = {\n [SIDEBAR_WIDTH_VAR]: `${initial.state === 'collapsed' ? safeCollapsed : initial.width}px`,\n '--sidebar-width-mobile': `${mobileWidth}px`,\n display: 'contents',\n };\n\n return (\n <div\n ref={scopeRef}\n data-sidebar-scope\n data-sidebar-state={state}\n data-sidebar-mobile={isMobile ? 'true' : 'false'}\n data-sidebar-mobile-present={mobileDrawerPresent ? 'true' : 'false'}\n style={scopeStyle}\n suppressHydrationWarning\n >\n <MainSidebarContext.Provider value={contextValue}>\n <MobileDrawerContext.Provider value={drawerValue}>{children}</MobileDrawerContext.Provider>\n </MainSidebarContext.Provider>\n </div>\n );\n}\n","import type { NavLink } from './main-sidebar-nav-link';\n\n/**\n * Strict active-path match with sibling-exclusion.\n * - `pathname === link.url` or starts with `link.url + '/'`\n * - Not active if any sibling link has a longer matching url (prevents `/a` lighting while `/a/b` matches).\n */\nexport function getIsLinkActive(link: NavLink, pathname: string, siblings: NavLink[] = []): boolean {\n const matches = (url: string) => pathname === url || pathname.startsWith(url + '/');\n const flattenLinks = (links: NavLink[]): NavLink[] =>\n links.flatMap(item => [item, ...flattenLinks(item.children ?? [])]);\n\n if (!matches(link.url)) return false;\n const competingLinks = [...flattenLinks(link.children ?? []), ...flattenLinks(siblings)];\n return !competingLinks.some(\n other => other.url !== link.url && other.url.length > link.url.length && matches(other.url),\n );\n}\n"],"names":["jsx","cn","quietTextHover","MenuIcon","ScrollArea","VisuallyHidden","cva","controlHeight","surfaceStateLayerStyle","controlStateColorTransition","focusRing","jsxs","Tooltip","TooltipTrigger","TooltipContent","useRef","useEffect","useCallback","Drawer","DrawerContent","DrawerClose","overlaySurfaceStyle","quietTextHoverInGroup","surfaceGroupStateLayerStyle","DrawerTitle","DrawerDescription","ResizeHandleIndicator","PanelRightIcon","Kbd"],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
interface PlaygroundStore {
|
|
2
|
-
requestContext: Record<string, any>;
|
|
3
|
-
setRequestContext: (requestContext: Record<string, any>) => void;
|
|
4
|
-
}
|
|
5
|
-
export declare const usePlaygroundStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<PlaygroundStore>, "setState" | "persist"> & {
|
|
6
|
-
setState(partial: PlaygroundStore | Partial<PlaygroundStore> | ((state: PlaygroundStore) => PlaygroundStore | Partial<PlaygroundStore>), replace?: false | undefined): unknown;
|
|
7
|
-
setState(state: PlaygroundStore | ((state: PlaygroundStore) => PlaygroundStore), replace: true): unknown;
|
|
8
|
-
persist: {
|
|
9
|
-
setOptions: (options: Partial<import('zustand/middleware').PersistOptions<PlaygroundStore, PlaygroundStore, unknown>>) => void;
|
|
10
|
-
clearStorage: () => void;
|
|
11
|
-
rehydrate: () => Promise<void> | void;
|
|
12
|
-
hasHydrated: () => boolean;
|
|
13
|
-
onHydrate: (fn: (state: PlaygroundStore) => void) => () => void;
|
|
14
|
-
onFinishHydration: (fn: (state: PlaygroundStore) => void) => () => void;
|
|
15
|
-
getOptions: () => Partial<import('zustand/middleware').PersistOptions<PlaygroundStore, PlaygroundStore, unknown>>;
|
|
16
|
-
};
|
|
17
|
-
}>;
|
|
18
|
-
export {};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { vi } from 'vitest';
|
|
2
|
-
/**
|
|
3
|
-
* Minimal fakes for the CSS Custom Highlight API, which jsdom does not implement.
|
|
4
|
-
* Install with `installHighlightApi()` in `beforeEach` and undo with the returned
|
|
5
|
-
* `restore` in `afterEach`.
|
|
6
|
-
*/
|
|
7
|
-
export interface FakeStaticRange {
|
|
8
|
-
startContainer: Node;
|
|
9
|
-
startOffset: number;
|
|
10
|
-
endContainer: Node;
|
|
11
|
-
endOffset: number;
|
|
12
|
-
}
|
|
13
|
-
export declare class FakeHighlight {
|
|
14
|
-
readonly ranges: FakeStaticRange[];
|
|
15
|
-
constructor(...ranges: FakeStaticRange[]);
|
|
16
|
-
}
|
|
17
|
-
export interface HighlightApiHarness {
|
|
18
|
-
highlights: {
|
|
19
|
-
set: ReturnType<typeof vi.fn>;
|
|
20
|
-
delete: ReturnType<typeof vi.fn>;
|
|
21
|
-
};
|
|
22
|
-
/** The text covered by the most recent registration under `name` (the direct one by default). */
|
|
23
|
-
highlightedText: (name?: string) => string[] | undefined;
|
|
24
|
-
/** The elements owning that text. */
|
|
25
|
-
highlightedIn: (name?: string) => (HTMLElement | null)[];
|
|
26
|
-
/** How many times `name` was registered — one per scan of the surface. */
|
|
27
|
-
registrationCount: (name?: string) => number;
|
|
28
|
-
restore: () => void;
|
|
29
|
-
}
|
|
30
|
-
export declare function installHighlightApi(): HighlightApiHarness;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const server: import('msw/node').SetupServer;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
-
|
|
5
|
-
const zustand = require('zustand');
|
|
6
|
-
const middleware = require('zustand/middleware');
|
|
7
|
-
|
|
8
|
-
const usePlaygroundStore = zustand.create()(
|
|
9
|
-
middleware.persist(
|
|
10
|
-
(set) => ({
|
|
11
|
-
requestContext: {},
|
|
12
|
-
setRequestContext: (requestContext) => set({ requestContext })
|
|
13
|
-
}),
|
|
14
|
-
{
|
|
15
|
-
name: "mastra-playground-store"
|
|
16
|
-
}
|
|
17
|
-
)
|
|
18
|
-
);
|
|
19
|
-
|
|
20
|
-
exports.usePlaygroundStore = usePlaygroundStore;
|
|
21
|
-
//# sourceMappingURL=playground-store.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"playground-store.cjs.js","sources":["../../src/store/playground-store.ts"],"sourcesContent":["import { create } from 'zustand';\nimport { persist } from 'zustand/middleware';\n\ninterface PlaygroundStore {\n requestContext: Record<string, any>;\n setRequestContext: (requestContext: Record<string, any>) => void;\n}\n\nexport const usePlaygroundStore = create<PlaygroundStore>()(\n persist(\n set => ({\n requestContext: {},\n setRequestContext: requestContext => set({ requestContext }),\n }),\n {\n name: 'mastra-playground-store',\n },\n ),\n);\n"],"names":["create","persist"],"mappings":";;;;;;;AAQO,MAAM,qBAAqBA,cAAA,EAAwB;AAAA,EACxDC,kBAAA;AAAA,IACE,CAAA,GAAA,MAAQ;AAAA,MACN,gBAAgB,EAAC;AAAA,MACjB,iBAAA,EAAmB,CAAA,cAAA,KAAkB,GAAA,CAAI,EAAE,gBAAgB;AAAA,KAC7D,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM;AAAA;AACR;AAEJ;;;;"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { create } from 'zustand';
|
|
2
|
-
import { persist } from 'zustand/middleware';
|
|
3
|
-
|
|
4
|
-
const usePlaygroundStore = create()(
|
|
5
|
-
persist(
|
|
6
|
-
(set) => ({
|
|
7
|
-
requestContext: {},
|
|
8
|
-
setRequestContext: (requestContext) => set({ requestContext })
|
|
9
|
-
}),
|
|
10
|
-
{
|
|
11
|
-
name: "mastra-playground-store"
|
|
12
|
-
}
|
|
13
|
-
)
|
|
14
|
-
);
|
|
15
|
-
|
|
16
|
-
export { usePlaygroundStore };
|
|
17
|
-
//# sourceMappingURL=playground-store.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"playground-store.es.js","sources":["../../src/store/playground-store.ts"],"sourcesContent":["import { create } from 'zustand';\nimport { persist } from 'zustand/middleware';\n\ninterface PlaygroundStore {\n requestContext: Record<string, any>;\n setRequestContext: (requestContext: Record<string, any>) => void;\n}\n\nexport const usePlaygroundStore = create<PlaygroundStore>()(\n persist(\n set => ({\n requestContext: {},\n setRequestContext: requestContext => set({ requestContext }),\n }),\n {\n name: 'mastra-playground-store',\n },\n ),\n);\n"],"names":[],"mappings":";;;AAQO,MAAM,qBAAqB,MAAA,EAAwB;AAAA,EACxD,OAAA;AAAA,IACE,CAAA,GAAA,MAAQ;AAAA,MACN,gBAAgB,EAAC;AAAA,MACjB,iBAAA,EAAmB,CAAA,cAAA,KAAkB,GAAA,CAAI,EAAE,gBAAgB;AAAA,KAC7D,CAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM;AAAA;AACR;AAEJ;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theme-provider-CQKmlkHX.js","sources":["../src/ds/components/ThemeProvider/storage-adapter.ts","../src/ds/components/ThemeProvider/theme-context.ts","../src/ds/components/ThemeProvider/theme-provider.tsx"],"sourcesContent":["import type { Theme } from './theme-context';\n\nconst DEFAULT_KEY = 'mastra-theme';\nconst LEGACY_ZUSTAND_KEY = 'mastra-playground-store';\n\nexport interface ThemeStorageAdapter {\n get(): Theme | null;\n set(value: Theme): void;\n subscribe(listener: (next: Theme | null) => void): () => void;\n}\n\nconst isTheme = (value: unknown): value is Theme => value === 'dark' || value === 'light' || value === 'system';\n\nconst readLegacyZustand = (storage: Storage): Theme | undefined => {\n try {\n const raw = storage.getItem(LEGACY_ZUSTAND_KEY);\n if (!raw) return undefined;\n const parsed = JSON.parse(raw) as { state?: { theme?: unknown } };\n const theme = parsed?.state?.theme;\n return isTheme(theme) ? theme : undefined;\n } catch {\n return undefined;\n }\n};\n\nexport const createLocalStorageAdapter = (key: string = DEFAULT_KEY): ThemeStorageAdapter => ({\n get() {\n if (typeof window === 'undefined') return null;\n try {\n const raw = window.localStorage.getItem(key);\n if (isTheme(raw)) return raw;\n const migrated = readLegacyZustand(window.localStorage);\n if (migrated) {\n window.localStorage.setItem(key, migrated);\n return migrated;\n }\n return null;\n } catch {\n return null;\n }\n },\n set(value) {\n if (typeof window === 'undefined') return;\n try {\n window.localStorage.setItem(key, value);\n } catch {\n // private mode / quota — silent\n }\n },\n subscribe(listener) {\n if (typeof window === 'undefined') return () => {};\n const handler = (event: StorageEvent) => {\n if (event.key !== key) return;\n if (event.newValue === null) {\n listener(null);\n return;\n }\n if (isTheme(event.newValue)) listener(event.newValue);\n };\n window.addEventListener('storage', handler);\n return () => window.removeEventListener('storage', handler);\n },\n});\n","import { createContext } from 'react';\n\nexport type Theme = 'dark' | 'light' | 'system';\nexport type ResolvedTheme = 'dark' | 'light';\n\nexport interface ThemeContextValue {\n theme: Theme;\n resolvedTheme: ResolvedTheme;\n systemTheme: ResolvedTheme;\n setTheme: (theme: Theme) => void;\n}\n\nexport const ThemeContext = createContext<ThemeContextValue | null>(null);\n","import { useContext, useEffect, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from 'react';\n\nimport { createLocalStorageAdapter } from './storage-adapter';\nimport { ThemeContext } from './theme-context';\nimport type { ResolvedTheme, Theme, ThemeContextValue } from './theme-context';\n\nexport interface ThemeProviderProps {\n children: React.ReactNode;\n defaultTheme?: Theme;\n storageKey?: string;\n target?: HTMLElement;\n}\n\nconst SYSTEM_QUERY = '(prefers-color-scheme: dark)';\n\nconst useIsomorphicLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;\n\nconst getSystemTheme = (): ResolvedTheme => {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return 'dark';\n return window.matchMedia(SYSTEM_QUERY).matches ? 'dark' : 'light';\n};\n\nconst subscribeSystemTheme = (callback: () => void): (() => void) => {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return () => {};\n const query = window.matchMedia(SYSTEM_QUERY);\n query.addEventListener('change', callback);\n return () => query.removeEventListener('change', callback);\n};\n\nconst applyThemeClass = (target: HTMLElement, resolved: ResolvedTheme) => {\n target.classList.remove(resolved === 'dark' ? 'light' : 'dark');\n target.classList.add(resolved);\n};\n\nexport const ThemeProvider = ({ children, defaultTheme = 'system', storageKey, target }: ThemeProviderProps) => {\n const adapter = useMemo(() => createLocalStorageAdapter(storageKey), [storageKey]);\n const previousTargetRef = useRef<HTMLElement | null>(null);\n\n const [theme, setThemeState] = useState<Theme>(() => adapter.get() ?? defaultTheme);\n const systemTheme = useSyncExternalStore(subscribeSystemTheme, getSystemTheme, () => 'dark' as const);\n\n useEffect(() => adapter.subscribe(next => setThemeState(next ?? defaultTheme)), [adapter, defaultTheme]);\n\n const resolvedTheme: ResolvedTheme = theme === 'system' ? systemTheme : theme;\n\n useIsomorphicLayoutEffect(() => {\n const el = target ?? (typeof window === 'undefined' ? null : window.document.documentElement);\n if (previousTargetRef.current && previousTargetRef.current !== el) {\n previousTargetRef.current.classList.remove('dark', 'light');\n }\n if (el) applyThemeClass(el, resolvedTheme);\n previousTargetRef.current = el;\n }, [resolvedTheme, target]);\n\n const value = useMemo<ThemeContextValue>(\n () => ({\n theme,\n resolvedTheme,\n systemTheme,\n setTheme: next => {\n setThemeState(next);\n adapter.set(next);\n },\n }),\n [theme, resolvedTheme, systemTheme, adapter],\n );\n\n return <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>;\n};\n\nconst noop = () => {};\n\nexport const useTheme = (): ThemeContextValue => {\n const ctx = useContext(ThemeContext);\n const systemTheme = useSyncExternalStore(subscribeSystemTheme, getSystemTheme, () => 'dark' as const);\n return useMemo<ThemeContextValue>(\n () => ctx ?? { theme: 'system', resolvedTheme: systemTheme, systemTheme, setTheme: noop },\n [ctx, systemTheme],\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theme-provider-aO5-jZVp.cjs","sources":["../src/ds/components/ThemeProvider/storage-adapter.ts","../src/ds/components/ThemeProvider/theme-context.ts","../src/ds/components/ThemeProvider/theme-provider.tsx"],"sourcesContent":["import type { Theme } from './theme-context';\n\nconst DEFAULT_KEY = 'mastra-theme';\nconst LEGACY_ZUSTAND_KEY = 'mastra-playground-store';\n\nexport interface ThemeStorageAdapter {\n get(): Theme | null;\n set(value: Theme): void;\n subscribe(listener: (next: Theme | null) => void): () => void;\n}\n\nconst isTheme = (value: unknown): value is Theme => value === 'dark' || value === 'light' || value === 'system';\n\nconst readLegacyZustand = (storage: Storage): Theme | undefined => {\n try {\n const raw = storage.getItem(LEGACY_ZUSTAND_KEY);\n if (!raw) return undefined;\n const parsed = JSON.parse(raw) as { state?: { theme?: unknown } };\n const theme = parsed?.state?.theme;\n return isTheme(theme) ? theme : undefined;\n } catch {\n return undefined;\n }\n};\n\nexport const createLocalStorageAdapter = (key: string = DEFAULT_KEY): ThemeStorageAdapter => ({\n get() {\n if (typeof window === 'undefined') return null;\n try {\n const raw = window.localStorage.getItem(key);\n if (isTheme(raw)) return raw;\n const migrated = readLegacyZustand(window.localStorage);\n if (migrated) {\n window.localStorage.setItem(key, migrated);\n return migrated;\n }\n return null;\n } catch {\n return null;\n }\n },\n set(value) {\n if (typeof window === 'undefined') return;\n try {\n window.localStorage.setItem(key, value);\n } catch {\n // private mode / quota — silent\n }\n },\n subscribe(listener) {\n if (typeof window === 'undefined') return () => {};\n const handler = (event: StorageEvent) => {\n if (event.key !== key) return;\n if (event.newValue === null) {\n listener(null);\n return;\n }\n if (isTheme(event.newValue)) listener(event.newValue);\n };\n window.addEventListener('storage', handler);\n return () => window.removeEventListener('storage', handler);\n },\n});\n","import { createContext } from 'react';\n\nexport type Theme = 'dark' | 'light' | 'system';\nexport type ResolvedTheme = 'dark' | 'light';\n\nexport interface ThemeContextValue {\n theme: Theme;\n resolvedTheme: ResolvedTheme;\n systemTheme: ResolvedTheme;\n setTheme: (theme: Theme) => void;\n}\n\nexport const ThemeContext = createContext<ThemeContextValue | null>(null);\n","import { useContext, useEffect, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from 'react';\n\nimport { createLocalStorageAdapter } from './storage-adapter';\nimport { ThemeContext } from './theme-context';\nimport type { ResolvedTheme, Theme, ThemeContextValue } from './theme-context';\n\nexport interface ThemeProviderProps {\n children: React.ReactNode;\n defaultTheme?: Theme;\n storageKey?: string;\n target?: HTMLElement;\n}\n\nconst SYSTEM_QUERY = '(prefers-color-scheme: dark)';\n\nconst useIsomorphicLayoutEffect = typeof window === 'undefined' ? useEffect : useLayoutEffect;\n\nconst getSystemTheme = (): ResolvedTheme => {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return 'dark';\n return window.matchMedia(SYSTEM_QUERY).matches ? 'dark' : 'light';\n};\n\nconst subscribeSystemTheme = (callback: () => void): (() => void) => {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return () => {};\n const query = window.matchMedia(SYSTEM_QUERY);\n query.addEventListener('change', callback);\n return () => query.removeEventListener('change', callback);\n};\n\nconst applyThemeClass = (target: HTMLElement, resolved: ResolvedTheme) => {\n target.classList.remove(resolved === 'dark' ? 'light' : 'dark');\n target.classList.add(resolved);\n};\n\nexport const ThemeProvider = ({ children, defaultTheme = 'system', storageKey, target }: ThemeProviderProps) => {\n const adapter = useMemo(() => createLocalStorageAdapter(storageKey), [storageKey]);\n const previousTargetRef = useRef<HTMLElement | null>(null);\n\n const [theme, setThemeState] = useState<Theme>(() => adapter.get() ?? defaultTheme);\n const systemTheme = useSyncExternalStore(subscribeSystemTheme, getSystemTheme, () => 'dark' as const);\n\n useEffect(() => adapter.subscribe(next => setThemeState(next ?? defaultTheme)), [adapter, defaultTheme]);\n\n const resolvedTheme: ResolvedTheme = theme === 'system' ? systemTheme : theme;\n\n useIsomorphicLayoutEffect(() => {\n const el = target ?? (typeof window === 'undefined' ? null : window.document.documentElement);\n if (previousTargetRef.current && previousTargetRef.current !== el) {\n previousTargetRef.current.classList.remove('dark', 'light');\n }\n if (el) applyThemeClass(el, resolvedTheme);\n previousTargetRef.current = el;\n }, [resolvedTheme, target]);\n\n const value = useMemo<ThemeContextValue>(\n () => ({\n theme,\n resolvedTheme,\n systemTheme,\n setTheme: next => {\n setThemeState(next);\n adapter.set(next);\n },\n }),\n [theme, resolvedTheme, systemTheme, adapter],\n );\n\n return <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>;\n};\n\nconst noop = () => {};\n\nexport const useTheme = (): ThemeContextValue => {\n const ctx = useContext(ThemeContext);\n const systemTheme = useSyncExternalStore(subscribeSystemTheme, getSystemTheme, () => 'dark' as const);\n return useMemo<ThemeContextValue>(\n () => ctx ?? { theme: 'system', resolvedTheme: systemTheme, systemTheme, setTheme: noop },\n [ctx, systemTheme],\n );\n};\n"],"names":["createContext","useEffect","useLayoutEffect","useMemo","useRef","useState","useSyncExternalStore","jsx","useContext"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-call-CIeNEYpK.js","sources":["../src/ds/components/ai/tool-call/tool-call.tsx"],"sourcesContent":["import { ChevronRight, X } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport { createContext, useContext, useId, useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useArriving } from '@/ds/components/Arrival';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { Shimmer } from '@/ds/components/Shimmer';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\ntype ToolCallStatus = 'idle' | 'running' | 'error';\n\ninterface ToolCallContextValue {\n open: boolean;\n status: ToolCallStatus;\n}\n\nconst ToolCallContext = createContext<ToolCallContextValue | undefined>(undefined);\n\n// Stryker disable next-line ArrowFunction: the default callback is intentionally behaviorless.\nconst noopOpenChange = () => {};\n\nfunction useToolCall() {\n const context = useContext(ToolCallContext);\n if (!context) throw new Error('ToolCall compounds must be rendered within ToolCall');\n return context;\n}\n\nexport interface ToolCallProps extends Omit<\n ComponentProps<typeof Collapsible>,\n 'defaultOpen' | 'onOpenChange' | 'open'\n> {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n status?: ToolCallStatus;\n}\n\nexport function ToolCall({\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange = noopOpenChange,\n status = 'idle',\n className,\n children,\n ...props\n}: ToolCallProps) {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const open = controlledOpen ?? uncontrolledOpen;\n const statusId = useId();\n\n const handleOpenChange = (nextOpen: boolean) => {\n if (controlledOpen === undefined) setUncontrolledOpen(nextOpen);\n onOpenChange(nextOpen);\n };\n\n return (\n <ToolCallContext.Provider value={{ open, status }}>\n <Collapsible\n open={open}\n onOpenChange={handleOpenChange}\n className={cn('max-w-full min-w-0', className)}\n role=\"group\"\n aria-busy={status === 'running'}\n aria-invalid={status === 'error' || undefined}\n aria-describedby={status === 'idle' ? undefined : statusId}\n data-status={status}\n {...props}\n >\n {children}\n {status !== 'idle' && (\n <span id={statusId} className=\"sr-only\">\n {status === 'running' ? 'Tool call running' : 'Tool call failed'}\n </span>\n )}\n </Collapsible>\n </ToolCallContext.Provider>\n );\n}\n\nexport const ToolCallTrigger = ({ className, ...props }: ComponentProps<typeof CollapsibleTrigger>) => (\n <CollapsibleTrigger\n className={cn(\n 'group/row w-full cursor-pointer rounded-md text-left transition-colors hover:bg-fill focus-visible:ring-1 focus-visible:ring-accent1 focus-visible:outline-hidden motion-reduce:transition-none',\n className,\n )}\n {...props}\n />\n);\n\nexport const ToolCallHeader = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { status } = useToolCall();\n\n return (\n <Shimmer\n active={status === 'running'}\n className={cn('flex w-full min-w-0 items-center gap-2 px-1.5 py-1', className)}\n {...props}\n >\n {children}\n </Shimmer>\n );\n};\n\nexport const ToolCallIcon = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex size-4 shrink-0 items-center justify-center', className)} {...props} />\n);\n\nexport const ToolCallLabel = ({ className, ...props }: ComponentProps<typeof Txt>) => (\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" className={cn('max-w-[55%] shrink-0 truncate', className)} {...props} />\n);\n\nexport const ToolCallDetail = ({ className, ...props }: ComponentProps<typeof Txt>) => {\n const arriving = useArriving();\n\n return (\n <Txt\n as=\"span\"\n variant=\"meta\"\n tone=\"muted\"\n font=\"mono\"\n className={cn('min-w-0 truncate', arriving, className)}\n {...props}\n />\n );\n};\n\nexport const ToolCallSummary = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex min-w-0 items-center gap-1', className)} {...props} />\n);\n\nexport interface ToolCallSpacerProps extends ComponentProps<'span'> {\n rule?: boolean;\n}\n\nexport const ToolCallSpacer = ({ rule, className, ...props }: ToolCallSpacerProps) => (\n <span\n aria-hidden\n className={cn('min-w-2 flex-1', rule && 'h-px bg-border mask-r-from-[calc(100%-min(100%,160px))]', className)}\n {...props}\n />\n);\n\nexport const ToolCallTrailing = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex shrink-0 items-center', className)} {...props} />\n);\n\nexport const ToolCallDisclosure = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { open } = useToolCall();\n\n return (\n <span className={cn('flex size-4 shrink-0 items-center justify-center', className)} {...props}>\n <span\n aria-hidden\n className={cn(\n 'flex shrink-0 items-center text-muted-foreground opacity-0 transition duration-150 motion-reduce:transition-none',\n 'group-hover/row:opacity-100 group-focus-visible/row:opacity-100',\n open && 'rotate-90 opacity-100',\n )}\n >\n {children ?? <ChevronRight size={13} />}\n </span>\n </span>\n );\n};\n\nexport interface ToolCallPresentedHeaderProps extends Omit<ComponentProps<typeof ToolCallHeader>, 'children'> {\n /** Rendered ahead of the icon, e.g. a timestamp. */\n leading?: ReactNode;\n icon: LucideIcon;\n label: string;\n detail?: string;\n disclosure?: boolean;\n}\n\n/** The canonical header of a presented tool call: icon, label, detail, failure mark, chevron. */\nexport const ToolCallPresentedHeader = ({\n leading,\n icon: Icon,\n label,\n detail,\n disclosure = true,\n ...props\n}: ToolCallPresentedHeaderProps) => {\n const { status } = useToolCall();\n\n return (\n <ToolCallHeader {...props}>\n {leading}\n <ToolCallIcon>\n <Icon\n size={14}\n strokeWidth={1.75}\n aria-hidden\n className={status === 'error' ? 'text-error/80' : 'text-placeholder'}\n />\n </ToolCallIcon>\n <ToolCallLabel>{label}</ToolCallLabel>\n {detail && <ToolCallDetail>{detail}</ToolCallDetail>}\n <ToolCallSpacer />\n {status === 'error' && (\n <ToolCallTrailing>\n <X size={13} role=\"img\" aria-label=\"Failed\" className=\"shrink-0 text-error\" />\n </ToolCallTrailing>\n )}\n {disclosure && <ToolCallDisclosure />}\n </ToolCallHeader>\n );\n};\n\nexport const ToolCallContent = ({ className, children, ...props }: ComponentProps<typeof CollapsibleContent>) => (\n <CollapsibleContent className=\"max-w-full min-w-0\" {...props}>\n <div\n className={cn(\n \"relative ml-[14px] flex max-w-full min-w-0 flex-col gap-1.5 py-1.5 pr-1 pl-4 before:absolute before:inset-y-0 before:left-0 before:w-px before:bg-border before:mask-b-from-[calc(100%-min(40%,80px))] before:content-['']\",\n className,\n )}\n >\n {children}\n </div>\n </CollapsibleContent>\n);\n\nexport interface ToolCallMonoProps extends ComponentProps<'pre'> {\n copyText: string;\n}\n\n/** Monospace body block of an expanded call — arguments, command, output — with a hover copy. */\nexport const ToolCallMono = ({ copyText, className, children, ...props }: ToolCallMonoProps) => (\n <div className=\"group/block relative max-w-full min-w-0\">\n <pre\n className={cn(\n 'm-0 max-h-60 max-w-full overflow-auto rounded-md bg-fill px-3 py-2 font-mono text-caption break-words whitespace-pre-wrap',\n className,\n )}\n {...props}\n >\n {children}\n </pre>\n <CopyButton\n content={copyText}\n size=\"sm\"\n variant=\"ghost\"\n className=\"absolute top-1 right-1 opacity-0 transition-opacity group-hover/block:opacity-100 focus-visible:opacity-100\"\n />\n </div>\n);\n\n/** A shell command as the body shows it: `$` in the margin, the copy takes the command alone. */\nexport const ToolCallCommand = ({ command }: { command: string }) => (\n <ToolCallMono copyText={command} className=\"text-foreground\">\n <span className=\"text-muted-foreground select-none\">$ </span>\n {command}\n </ToolCallMono>\n);\n\nexport type { ToolCallStatus };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tool-call-CnEm3eE0.cjs","sources":["../src/ds/components/ai/tool-call/tool-call.tsx"],"sourcesContent":["import { ChevronRight, X } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport { createContext, useContext, useId, useState } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useArriving } from '@/ds/components/Arrival';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { Shimmer } from '@/ds/components/Shimmer';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\ntype ToolCallStatus = 'idle' | 'running' | 'error';\n\ninterface ToolCallContextValue {\n open: boolean;\n status: ToolCallStatus;\n}\n\nconst ToolCallContext = createContext<ToolCallContextValue | undefined>(undefined);\n\n// Stryker disable next-line ArrowFunction: the default callback is intentionally behaviorless.\nconst noopOpenChange = () => {};\n\nfunction useToolCall() {\n const context = useContext(ToolCallContext);\n if (!context) throw new Error('ToolCall compounds must be rendered within ToolCall');\n return context;\n}\n\nexport interface ToolCallProps extends Omit<\n ComponentProps<typeof Collapsible>,\n 'defaultOpen' | 'onOpenChange' | 'open'\n> {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n status?: ToolCallStatus;\n}\n\nexport function ToolCall({\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange = noopOpenChange,\n status = 'idle',\n className,\n children,\n ...props\n}: ToolCallProps) {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n const open = controlledOpen ?? uncontrolledOpen;\n const statusId = useId();\n\n const handleOpenChange = (nextOpen: boolean) => {\n if (controlledOpen === undefined) setUncontrolledOpen(nextOpen);\n onOpenChange(nextOpen);\n };\n\n return (\n <ToolCallContext.Provider value={{ open, status }}>\n <Collapsible\n open={open}\n onOpenChange={handleOpenChange}\n className={cn('max-w-full min-w-0', className)}\n role=\"group\"\n aria-busy={status === 'running'}\n aria-invalid={status === 'error' || undefined}\n aria-describedby={status === 'idle' ? undefined : statusId}\n data-status={status}\n {...props}\n >\n {children}\n {status !== 'idle' && (\n <span id={statusId} className=\"sr-only\">\n {status === 'running' ? 'Tool call running' : 'Tool call failed'}\n </span>\n )}\n </Collapsible>\n </ToolCallContext.Provider>\n );\n}\n\nexport const ToolCallTrigger = ({ className, ...props }: ComponentProps<typeof CollapsibleTrigger>) => (\n <CollapsibleTrigger\n className={cn(\n 'group/row w-full cursor-pointer rounded-md text-left transition-colors hover:bg-fill focus-visible:ring-1 focus-visible:ring-accent1 focus-visible:outline-hidden motion-reduce:transition-none',\n className,\n )}\n {...props}\n />\n);\n\nexport const ToolCallHeader = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { status } = useToolCall();\n\n return (\n <Shimmer\n active={status === 'running'}\n className={cn('flex w-full min-w-0 items-center gap-2 px-1.5 py-1', className)}\n {...props}\n >\n {children}\n </Shimmer>\n );\n};\n\nexport const ToolCallIcon = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex size-4 shrink-0 items-center justify-center', className)} {...props} />\n);\n\nexport const ToolCallLabel = ({ className, ...props }: ComponentProps<typeof Txt>) => (\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" className={cn('max-w-[55%] shrink-0 truncate', className)} {...props} />\n);\n\nexport const ToolCallDetail = ({ className, ...props }: ComponentProps<typeof Txt>) => {\n const arriving = useArriving();\n\n return (\n <Txt\n as=\"span\"\n variant=\"meta\"\n tone=\"muted\"\n font=\"mono\"\n className={cn('min-w-0 truncate', arriving, className)}\n {...props}\n />\n );\n};\n\nexport const ToolCallSummary = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex min-w-0 items-center gap-1', className)} {...props} />\n);\n\nexport interface ToolCallSpacerProps extends ComponentProps<'span'> {\n rule?: boolean;\n}\n\nexport const ToolCallSpacer = ({ rule, className, ...props }: ToolCallSpacerProps) => (\n <span\n aria-hidden\n className={cn('min-w-2 flex-1', rule && 'h-px bg-border mask-r-from-[calc(100%-min(100%,160px))]', className)}\n {...props}\n />\n);\n\nexport const ToolCallTrailing = ({ className, ...props }: ComponentProps<'span'>) => (\n <span className={cn('flex shrink-0 items-center', className)} {...props} />\n);\n\nexport const ToolCallDisclosure = ({ className, children, ...props }: ComponentProps<'span'>) => {\n const { open } = useToolCall();\n\n return (\n <span className={cn('flex size-4 shrink-0 items-center justify-center', className)} {...props}>\n <span\n aria-hidden\n className={cn(\n 'flex shrink-0 items-center text-muted-foreground opacity-0 transition duration-150 motion-reduce:transition-none',\n 'group-hover/row:opacity-100 group-focus-visible/row:opacity-100',\n open && 'rotate-90 opacity-100',\n )}\n >\n {children ?? <ChevronRight size={13} />}\n </span>\n </span>\n );\n};\n\nexport interface ToolCallPresentedHeaderProps extends Omit<ComponentProps<typeof ToolCallHeader>, 'children'> {\n /** Rendered ahead of the icon, e.g. a timestamp. */\n leading?: ReactNode;\n icon: LucideIcon;\n label: string;\n detail?: string;\n disclosure?: boolean;\n}\n\n/** The canonical header of a presented tool call: icon, label, detail, failure mark, chevron. */\nexport const ToolCallPresentedHeader = ({\n leading,\n icon: Icon,\n label,\n detail,\n disclosure = true,\n ...props\n}: ToolCallPresentedHeaderProps) => {\n const { status } = useToolCall();\n\n return (\n <ToolCallHeader {...props}>\n {leading}\n <ToolCallIcon>\n <Icon\n size={14}\n strokeWidth={1.75}\n aria-hidden\n className={status === 'error' ? 'text-error/80' : 'text-placeholder'}\n />\n </ToolCallIcon>\n <ToolCallLabel>{label}</ToolCallLabel>\n {detail && <ToolCallDetail>{detail}</ToolCallDetail>}\n <ToolCallSpacer />\n {status === 'error' && (\n <ToolCallTrailing>\n <X size={13} role=\"img\" aria-label=\"Failed\" className=\"shrink-0 text-error\" />\n </ToolCallTrailing>\n )}\n {disclosure && <ToolCallDisclosure />}\n </ToolCallHeader>\n );\n};\n\nexport const ToolCallContent = ({ className, children, ...props }: ComponentProps<typeof CollapsibleContent>) => (\n <CollapsibleContent className=\"max-w-full min-w-0\" {...props}>\n <div\n className={cn(\n \"relative ml-[14px] flex max-w-full min-w-0 flex-col gap-1.5 py-1.5 pr-1 pl-4 before:absolute before:inset-y-0 before:left-0 before:w-px before:bg-border before:mask-b-from-[calc(100%-min(40%,80px))] before:content-['']\",\n className,\n )}\n >\n {children}\n </div>\n </CollapsibleContent>\n);\n\nexport interface ToolCallMonoProps extends ComponentProps<'pre'> {\n copyText: string;\n}\n\n/** Monospace body block of an expanded call — arguments, command, output — with a hover copy. */\nexport const ToolCallMono = ({ copyText, className, children, ...props }: ToolCallMonoProps) => (\n <div className=\"group/block relative max-w-full min-w-0\">\n <pre\n className={cn(\n 'm-0 max-h-60 max-w-full overflow-auto rounded-md bg-fill px-3 py-2 font-mono text-caption break-words whitespace-pre-wrap',\n className,\n )}\n {...props}\n >\n {children}\n </pre>\n <CopyButton\n content={copyText}\n size=\"sm\"\n variant=\"ghost\"\n className=\"absolute top-1 right-1 opacity-0 transition-opacity group-hover/block:opacity-100 focus-visible:opacity-100\"\n />\n </div>\n);\n\n/** A shell command as the body shows it: `$` in the margin, the copy takes the command alone. */\nexport const ToolCallCommand = ({ command }: { command: string }) => (\n <ToolCallMono copyText={command} className=\"text-foreground\">\n <span className=\"text-muted-foreground select-none\">$ </span>\n {command}\n </ToolCallMono>\n);\n\nexport type { ToolCallStatus };\n"],"names":["createContext","useContext","useState","useId","jsx","jsxs","Collapsible","cn","CollapsibleTrigger","Shimmer","Txt","useArriving","ChevronRight","X","CollapsibleContent","CopyButton"],"mappings":";;;;;;;;;;;;AAkBA,MAAM,eAAA,GAAkBA,oBAAgD,MAAS,CAAA;AAGjF,MAAM,iBAAiB,MAAM;AAAC,CAAA;AAE9B,SAAS,WAAA,GAAc;AACrB,EAAA,MAAM,OAAA,GAAUC,iBAAW,eAAe,CAAA;AAC1C,EAAA,IAAI,CAAC,OAAA,EAAS,MAAM,IAAI,MAAM,qDAAqD,CAAA;AACnF,EAAA,OAAO,OAAA;AACT;AAYO,SAAS,QAAA,CAAS;AAAA,EACvB,IAAA,EAAM,cAAA;AAAA,EACN,WAAA,GAAc,KAAA;AAAA,EACd,YAAA,GAAe,cAAA;AAAA,EACf,MAAA,GAAS,MAAA;AAAA,EACT,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAkB;AAChB,EAAA,MAAM,CAAC,gBAAA,EAAkB,mBAAmB,CAAA,GAAIC,eAAS,WAAW,CAAA;AACpE,EAAA,MAAM,OAAO,cAAA,IAAkB,gBAAA;AAC/B,EAAA,MAAM,WAAWC,WAAA,EAAM;AAEvB,EAAA,MAAM,gBAAA,GAAmB,CAAC,QAAA,KAAsB;AAC9C,IAAA,IAAI,cAAA,KAAmB,MAAA,EAAW,mBAAA,CAAoB,QAAQ,CAAA;AAC9D,IAAA,YAAA,CAAa,QAAQ,CAAA;AAAA,EACvB,CAAA;AAEA,EAAA,uBACEC,cAAA,CAAC,gBAAgB,QAAA,EAAhB,EAAyB,OAAO,EAAE,IAAA,EAAM,QAAO,EAC9C,QAAA,kBAAAC,eAAA;AAAA,IAACC,uBAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,YAAA,EAAc,gBAAA;AAAA,MACd,SAAA,EAAWC,WAAA,CAAG,oBAAA,EAAsB,SAAS,CAAA;AAAA,MAC7C,IAAA,EAAK,OAAA;AAAA,MACL,aAAW,MAAA,KAAW,SAAA;AAAA,MACtB,cAAA,EAAc,WAAW,OAAA,IAAW,MAAA;AAAA,MACpC,kBAAA,EAAkB,MAAA,KAAW,MAAA,GAAS,MAAA,GAAY,QAAA;AAAA,MAClD,aAAA,EAAa,MAAA;AAAA,MACZ,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,MAAA,KAAW,MAAA,oBACVH,cAAA,CAAC,MAAA,EAAA,EAAK,EAAA,EAAI,QAAA,EAAU,SAAA,EAAU,SAAA,EAC3B,QAAA,EAAA,MAAA,KAAW,SAAA,GAAY,mBAAA,GAAsB,kBAAA,EAChD;AAAA;AAAA;AAAA,GAEJ,EACF,CAAA;AAEJ;AAEO,MAAM,kBAAkB,CAAC,EAAE,SAAA,EAAW,GAAG,OAAM,qBACpDA,cAAA;AAAA,EAACI,8BAAA;AAAA,EAAA;AAAA,IACC,SAAA,EAAWD,WAAA;AAAA,MACT,iMAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN;AAGK,MAAM,iBAAiB,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,OAAM,KAA8B;AAC3F,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,WAAA,EAAY;AAE/B,EAAA,uBACEH,cAAA;AAAA,IAACK,eAAA;AAAA,IAAA;AAAA,MACC,QAAQ,MAAA,KAAW,SAAA;AAAA,MACnB,SAAA,EAAWF,WAAA,CAAG,oDAAA,EAAsD,SAAS,CAAA;AAAA,MAC5E,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;AAEO,MAAM,YAAA,GAAe,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,qBACjDH,cAAA,CAAC,MAAA,EAAA,EAAK,WAAWG,WAAA,CAAG,kDAAA,EAAoD,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO;AAG1F,MAAM,aAAA,GAAgB,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,oCACjDG,OAAA,EAAA,EAAI,EAAA,EAAG,QAAO,OAAA,EAAQ,SAAA,EAAU,MAAK,OAAA,EAAQ,SAAA,EAAWH,YAAG,+BAAA,EAAiC,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO;AAG/G,MAAM,iBAAiB,CAAC,EAAE,SAAA,EAAW,GAAG,OAAM,KAAkC;AACrF,EAAA,MAAM,WAAWI,sBAAA,EAAY;AAE7B,EAAA,uBACEP,cAAA;AAAA,IAACM,OAAA;AAAA,IAAA;AAAA,MACC,EAAA,EAAG,MAAA;AAAA,MACH,OAAA,EAAQ,MAAA;AAAA,MACR,IAAA,EAAK,OAAA;AAAA,MACL,IAAA,EAAK,MAAA;AAAA,MACL,SAAA,EAAWH,WAAA,CAAG,kBAAA,EAAoB,QAAA,EAAU,SAAS,CAAA;AAAA,MACpD,GAAG;AAAA;AAAA,GACN;AAEJ;AAEO,MAAM,eAAA,GAAkB,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,qBACpDH,cAAA,CAAC,MAAA,EAAA,EAAK,WAAWG,WAAA,CAAG,iCAAA,EAAmC,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO;AAOzE,MAAM,iBAAiB,CAAC,EAAE,MAAM,SAAA,EAAW,GAAG,OAAM,qBACzDH,cAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,aAAA,EAAW,IAAA;AAAA,IACX,SAAA,EAAWG,WAAA,CAAG,gBAAA,EAAkB,IAAA,IAAQ,2DAA2D,SAAS,CAAA;AAAA,IAC3G,GAAG;AAAA;AACN;AAGK,MAAM,gBAAA,GAAmB,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,EAAM,qBACrDH,cAAA,CAAC,MAAA,EAAA,EAAK,WAAWG,WAAA,CAAG,4BAAA,EAA8B,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO;AAGpE,MAAM,qBAAqB,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,OAAM,KAA8B;AAC/F,EAAA,MAAM,EAAE,IAAA,EAAK,GAAI,WAAA,EAAY;AAE7B,EAAA,uBACEH,cAAA,CAAC,UAAK,SAAA,EAAWG,WAAA,CAAG,oDAAoD,SAAS,CAAA,EAAI,GAAG,KAAA,EACtF,QAAA,kBAAAH,cAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,aAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAWG,WAAA;AAAA,QACT,kHAAA;AAAA,QACA,iEAAA;AAAA,QACA,IAAA,IAAQ;AAAA,OACV;AAAA,MAEC,QAAA,EAAA,QAAA,oBAAYH,cAAA,CAACQ,wBAAA,EAAA,EAAa,IAAA,EAAM,EAAA,EAAI;AAAA;AAAA,GACvC,EACF,CAAA;AAEJ;AAYO,MAAM,0BAA0B,CAAC;AAAA,EACtC,OAAA;AAAA,EACA,IAAA,EAAM,IAAA;AAAA,EACN,KAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,GAAG;AACL,CAAA,KAAoC;AAClC,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,WAAA,EAAY;AAE/B,EAAA,uBACEP,eAAA,CAAC,cAAA,EAAA,EAAgB,GAAG,KAAA,EACjB,QAAA,EAAA;AAAA,IAAA,OAAA;AAAA,mCACA,YAAA,EAAA,EACC,QAAA,kBAAAD,cAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,EAAA;AAAA,QACN,WAAA,EAAa,IAAA;AAAA,QACb,aAAA,EAAW,IAAA;AAAA,QACX,SAAA,EAAW,MAAA,KAAW,OAAA,GAAU,eAAA,GAAkB;AAAA;AAAA,KACpD,EACF,CAAA;AAAA,oBACAA,cAAA,CAAC,iBAAe,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IACrB,MAAA,oBAAUA,cAAA,CAAC,cAAA,EAAA,EAAgB,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,mCAClC,cAAA,EAAA,EAAe,CAAA;AAAA,IACf,MAAA,KAAW,OAAA,oBACVA,cAAA,CAAC,gBAAA,EAAA,EACC,yCAACS,aAAA,EAAA,EAAE,IAAA,EAAM,EAAA,EAAI,IAAA,EAAK,KAAA,EAAM,YAAA,EAAW,QAAA,EAAS,SAAA,EAAU,uBAAsB,CAAA,EAC9E,CAAA;AAAA,IAED,UAAA,mCAAe,kBAAA,EAAA,EAAmB;AAAA,GAAA,EACrC,CAAA;AAEJ;AAEO,MAAM,eAAA,GAAkB,CAAC,EAAE,SAAA,EAAW,QAAA,EAAU,GAAG,KAAA,EAAM,qBAC9DT,cAAA,CAACU,8BAAA,EAAA,EAAmB,SAAA,EAAU,oBAAA,EAAsB,GAAG,KAAA,EACrD,QAAA,kBAAAV,cAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,SAAA,EAAWG,WAAA;AAAA,MACT,4NAAA;AAAA,MACA;AAAA,KACF;AAAA,IAEC;AAAA;AACH,CAAA,EACF;AAQK,MAAM,YAAA,GAAe,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,QAAA,EAAU,GAAG,KAAA,EAAM,qBACrEF,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yCAAA,EACb,QAAA,EAAA;AAAA,kBAAAD,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWG,WAAA;AAAA,QACT,2HAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAAA,kBACAH,cAAA;AAAA,IAACW,qBAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,QAAA;AAAA,MACT,IAAA,EAAK,IAAA;AAAA,MACL,OAAA,EAAQ,OAAA;AAAA,MACR,SAAA,EAAU;AAAA;AAAA;AACZ,CAAA,EACF;AAIK,MAAM,eAAA,GAAkB,CAAC,EAAE,OAAA,EAAQ,qCACvC,YAAA,EAAA,EAAa,QAAA,EAAU,OAAA,EAAS,SAAA,EAAU,iBAAA,EACzC,QAAA,EAAA;AAAA,kBAAAX,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mCAAA,EAAoC,QAAA,EAAA,IAAA,EAAE,CAAA;AAAA,EACrD;AAAA,CAAA,EACH;;;;;;;;;;;;;;;;;"}
|