@mastra/playground-ui 60.0.0-alpha.8 → 60.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -1
- package/dist/Badge-H8K5WrXg.cjs +162 -0
- package/dist/Badge-H8K5WrXg.cjs.map +1 -0
- package/dist/Badge-Q_pCeeGW.js +160 -0
- package/dist/Badge-Q_pCeeGW.js.map +1 -0
- package/dist/Button-BnmR2HRc.cjs +208 -0
- package/dist/Button-BnmR2HRc.cjs.map +1 -0
- package/dist/Button-C6eUqcPI.js +204 -0
- package/dist/Button-C6eUqcPI.js.map +1 -0
- package/dist/Card-BQsKHkyB.cjs +101 -0
- package/dist/Card-BQsKHkyB.cjs.map +1 -0
- package/dist/Card-DVy0QS4m.js +74 -0
- package/dist/Card-DVy0QS4m.js.map +1 -0
- package/dist/CodeDiff.css +14 -0
- package/dist/CommandPalette.css +16 -12
- package/dist/EmptyState-CJ5KC4Db.cjs +49 -0
- package/dist/EmptyState-CJ5KC4Db.cjs.map +1 -0
- package/dist/EmptyState-CynkaZd1.js +47 -0
- package/dist/EmptyState-CynkaZd1.js.map +1 -0
- package/dist/ErrorBoundary-Bb2R5IMR.js +162 -0
- package/dist/ErrorBoundary-Bb2R5IMR.js.map +1 -0
- package/dist/ErrorBoundary-CKrwONAU.cjs +183 -0
- package/dist/ErrorBoundary-CKrwONAU.cjs.map +1 -0
- package/dist/Notice-CEBwitdf.cjs +92 -0
- package/dist/Notice-CEBwitdf.cjs.map +1 -0
- package/dist/Notice-Ce3r5x-7.js +90 -0
- package/dist/Notice-Ce3r5x-7.js.map +1 -0
- package/dist/ProductBadge.css +3 -0
- package/dist/ProductIcon-BtyRYlaH.js +40 -0
- package/dist/ProductIcon-BtyRYlaH.js.map +1 -0
- package/dist/ProductIcon-hkExeSRM.cjs +42 -0
- package/dist/ProductIcon-hkExeSRM.cjs.map +1 -0
- package/dist/PullRequestIcon.css +2 -2
- package/dist/TokenBudget.css +2 -6
- package/dist/activity-8egTNbaI.cjs +241 -0
- package/dist/activity-8egTNbaI.cjs.map +1 -0
- package/dist/activity-Duth8KP_.js +226 -0
- package/dist/activity-Duth8KP_.js.map +1 -0
- package/dist/activity.css +3 -3
- package/dist/alert-dialog-BcOSIOSW.cjs +55 -0
- package/dist/alert-dialog-BcOSIOSW.cjs.map +1 -0
- package/dist/alert-dialog-D1UYVW__.js +53 -0
- package/dist/alert-dialog-D1UYVW__.js.map +1 -0
- package/dist/ansi-Cq_bKF5J.js +11 -0
- package/dist/ansi-Cq_bKF5J.js.map +1 -0
- package/dist/ansi-fAtbeDQN.cjs +14 -0
- package/dist/ansi-fAtbeDQN.cjs.map +1 -0
- package/dist/ask-user-Crg1O-o6.js +206 -0
- package/dist/ask-user-Crg1O-o6.js.map +1 -0
- package/dist/ask-user-DJXmLJzy.cjs +216 -0
- package/dist/ask-user-DJXmLJzy.cjs.map +1 -0
- package/dist/buttons-group.css +4 -14
- package/dist/code-block-C7A4Hv96.cjs +88 -0
- package/dist/code-block-C7A4Hv96.cjs.map +1 -0
- package/dist/code-block-C_pvalBv.js +86 -0
- package/dist/code-block-C_pvalBv.js.map +1 -0
- package/dist/code-editor-BXchPl_F.cjs +495 -0
- package/dist/code-editor-BXchPl_F.cjs.map +1 -0
- package/dist/code-editor-Cltwid7c.js +487 -0
- package/dist/code-editor-Cltwid7c.js.map +1 -0
- package/dist/collapsible-BNUn4644.js +57 -0
- package/dist/collapsible-BNUn4644.js.map +1 -0
- package/dist/collapsible-jfzzU7Gp.cjs +61 -0
- package/dist/collapsible-jfzzU7Gp.cjs.map +1 -0
- package/dist/combobox-B_C0cNid.js +191 -0
- package/dist/combobox-B_C0cNid.js.map +1 -0
- package/dist/combobox-rKV-Lksj.cjs +212 -0
- package/dist/combobox-rKV-Lksj.cjs.map +1 -0
- package/dist/combobox-styles-C4Kq1NFV.cjs +97 -0
- package/dist/combobox-styles-C4Kq1NFV.cjs.map +1 -0
- package/dist/combobox-styles-CLxC7VLA.js +93 -0
- package/dist/combobox-styles-CLxC7VLA.js.map +1 -0
- package/dist/command-C6JnofUJ.js +185 -0
- package/dist/command-C6JnofUJ.js.map +1 -0
- package/dist/command-CpXMoss8.cjs +214 -0
- package/dist/command-CpXMoss8.cjs.map +1 -0
- package/dist/comment-DKWkzdMj.js +202 -0
- package/dist/comment-DKWkzdMj.js.map +1 -0
- package/dist/comment-DWY6D0pZ.cjs +214 -0
- package/dist/comment-DWY6D0pZ.cjs.map +1 -0
- package/dist/components/AlertDialog.cjs.js +1 -1
- package/dist/components/AlertDialog.es.js +1 -1
- package/dist/components/Badge.cjs.js +1 -1
- package/dist/components/Badge.es.js +1 -1
- package/dist/components/Button.cjs.js +3 -12
- package/dist/components/Button.cjs.js.map +1 -1
- package/dist/components/Button.es.js +3 -12
- package/dist/components/Button.es.js.map +1 -1
- package/dist/components/Card.cjs.js +1 -1
- package/dist/components/Card.es.js +1 -1
- package/dist/components/ChatShell.cjs.js +1 -1
- package/dist/components/ChatShell.es.js +1 -1
- package/dist/components/ClampedText.cjs.js +1 -1
- package/dist/components/ClampedText.es.js +1 -1
- package/dist/components/CodeBlock.cjs.js +1 -1
- package/dist/components/CodeBlock.es.js +1 -1
- package/dist/components/CodeDiff.cjs.js +49 -3
- package/dist/components/CodeDiff.cjs.js.map +1 -1
- package/dist/components/CodeDiff.es.js +51 -1
- package/dist/components/CodeDiff.es.js.map +1 -1
- package/dist/components/CodeEditor.cjs.js +1 -1
- package/dist/components/CodeEditor.es.js +1 -1
- package/dist/components/Collapsible.cjs.js +1 -1
- package/dist/components/Collapsible.es.js +1 -1
- package/dist/components/Combobox.cjs.js +2 -2
- package/dist/components/Combobox.es.js +2 -2
- package/dist/components/Command.cjs.js +1 -1
- package/dist/components/Command.es.js +1 -1
- package/dist/components/CommandPalette.cjs.js +39 -15
- package/dist/components/CommandPalette.cjs.js.map +1 -1
- package/dist/components/CommandPalette.es.js +39 -15
- package/dist/components/CommandPalette.es.js.map +1 -1
- package/dist/components/Comment.cjs.js +6 -5
- package/dist/components/Comment.cjs.js.map +1 -1
- package/dist/components/Comment.es.js +7 -6
- package/dist/components/Comment.es.js.map +1 -1
- package/dist/components/Composer.cjs.js +4 -4
- package/dist/components/Composer.cjs.js.map +1 -1
- package/dist/components/Composer.es.js +4 -4
- package/dist/components/Composer.es.js.map +1 -1
- package/dist/components/CopyButton.cjs.js +1 -1
- package/dist/components/CopyButton.es.js +1 -1
- package/dist/components/DataCodeSection.cjs.js +1 -1
- package/dist/components/DataCodeSection.es.js +1 -1
- package/dist/components/DataDetailsPanel.cjs.js +5 -10
- package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
- package/dist/components/DataDetailsPanel.es.js +5 -10
- package/dist/components/DataDetailsPanel.es.js.map +1 -1
- package/dist/components/DataKeysAndValues.cjs.js +1 -1
- package/dist/components/DataKeysAndValues.es.js +1 -1
- package/dist/components/DataList.cjs.js +31 -8
- package/dist/components/DataList.cjs.js.map +1 -1
- package/dist/components/DataList.es.js +31 -8
- package/dist/components/DataList.es.js.map +1 -1
- package/dist/components/DataPanel.cjs.js +1 -1
- package/dist/components/DataPanel.es.js +1 -1
- package/dist/components/DateRangeTimeline.cjs.js +5 -3
- package/dist/components/DateRangeTimeline.cjs.js.map +1 -1
- package/dist/components/DateRangeTimeline.es.js +5 -3
- package/dist/components/DateRangeTimeline.es.js.map +1 -1
- package/dist/components/DateTimePicker.cjs.js +3 -3
- package/dist/components/DateTimePicker.es.js +3 -3
- package/dist/components/DateTimeRangePicker.cjs.js +1 -1
- package/dist/components/DateTimeRangePicker.es.js +1 -1
- package/dist/components/Dialog.cjs.js +2 -2
- package/dist/components/Dialog.es.js +2 -2
- package/dist/components/DisabledFeatureButton.cjs.js +1 -1
- package/dist/components/DisabledFeatureButton.es.js +1 -1
- package/dist/components/Drawer.cjs.js +1 -1
- package/dist/components/Drawer.es.js +1 -1
- package/dist/components/EmptyState.cjs.js +1 -1
- package/dist/components/EmptyState.es.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.cjs.js +11 -10
- package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +11 -10
- package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
- package/dist/components/ErrorBoundary.cjs.js +1 -1
- package/dist/components/ErrorBoundary.es.js +1 -1
- package/dist/components/FileDropBackdrop.cjs.js +1 -1
- package/dist/components/FileDropBackdrop.es.js +1 -1
- package/dist/components/FilterBar.cjs.js +8 -8
- package/dist/components/FilterBar.cjs.js.map +1 -1
- package/dist/components/FilterBar.es.js +9 -9
- package/dist/components/FilterBar.es.js.map +1 -1
- package/dist/components/FormFieldBlocks.cjs.js +5 -5
- package/dist/components/FormFieldBlocks.es.js +5 -5
- package/dist/components/HorizontalBars.cjs.js +1 -1
- package/dist/components/HorizontalBars.es.js +1 -1
- package/dist/components/InputGroup.cjs.js +1 -1
- package/dist/components/InputGroup.es.js +1 -1
- package/dist/components/JSONSchemaForm.cjs.js +3 -3
- package/dist/components/JSONSchemaForm.es.js +3 -3
- package/dist/components/KeyValueList.cjs.js +2 -1
- package/dist/components/KeyValueList.cjs.js.map +1 -1
- package/dist/components/KeyValueList.es.js +2 -1
- package/dist/components/KeyValueList.es.js.map +1 -1
- package/dist/components/ListSearch.cjs.js +1 -1
- package/dist/components/ListSearch.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +2 -4
- package/dist/components/LogsDataList.cjs.js.map +1 -1
- package/dist/components/LogsDataList.es.js +2 -4
- package/dist/components/LogsDataList.es.js.map +1 -1
- package/dist/components/MainHeader.cjs.js +22 -20
- package/dist/components/MainHeader.cjs.js.map +1 -1
- package/dist/components/MainHeader.es.js +22 -20
- package/dist/components/MainHeader.es.js.map +1 -1
- package/dist/components/MainSidebar.cjs.js +125 -11
- package/dist/components/MainSidebar.cjs.js.map +1 -1
- package/dist/components/MainSidebar.es.js +120 -1
- package/dist/components/MainSidebar.es.js.map +1 -1
- package/dist/components/MarkdownRenderer.cjs.js +1 -1
- package/dist/components/MarkdownRenderer.es.js +1 -1
- package/dist/components/Message.cjs.js +2 -2
- package/dist/components/Message.es.js +3 -3
- package/dist/components/MessageScroller.cjs.js +1 -1
- package/dist/components/MessageScroller.es.js +2 -2
- package/dist/components/MetricsCard.cjs.js +1 -1
- package/dist/components/MetricsCard.es.js +1 -1
- package/dist/components/MetricsKpiCard.cjs.js +1 -1
- package/dist/components/MetricsKpiCard.es.js +1 -1
- package/dist/components/MetricsLineChart.cjs.js +2 -2
- package/dist/components/MetricsLineChart.es.js +2 -2
- package/dist/components/MetricsStackedBarChart.cjs.js +1 -1
- package/dist/components/MetricsStackedBarChart.es.js +1 -1
- package/dist/components/Notice.cjs.js +1 -1
- package/dist/components/Notice.es.js +1 -1
- package/dist/components/PageHeader.cjs.js +1 -1
- package/dist/components/PageHeader.es.js +1 -1
- package/dist/components/PageLayout.cjs.js +2 -2
- package/dist/components/PageLayout.cjs.js.map +1 -1
- package/dist/components/PageLayout.es.js +2 -2
- package/dist/components/PageLayout.es.js.map +1 -1
- package/dist/components/PrevNextNav.cjs.js +1 -1
- package/dist/components/PrevNextNav.es.js +1 -1
- package/dist/components/ProductAvatar.cjs.js +28 -0
- package/dist/components/ProductAvatar.cjs.js.map +1 -0
- package/dist/components/ProductAvatar.d.ts +2 -0
- package/dist/components/ProductAvatar.es.js +24 -0
- package/dist/components/ProductAvatar.es.js.map +1 -0
- package/dist/components/ProductBadge.cjs.js +25 -0
- package/dist/components/ProductBadge.cjs.js.map +1 -0
- package/dist/components/ProductBadge.d.ts +2 -0
- package/dist/components/ProductBadge.es.js +21 -0
- package/dist/components/ProductBadge.es.js.map +1 -0
- package/dist/components/PropertyFilter.cjs.js +5 -4
- package/dist/components/PropertyFilter.cjs.js.map +1 -1
- package/dist/components/PropertyFilter.es.js +6 -5
- package/dist/components/PropertyFilter.es.js.map +1 -1
- package/dist/components/PullRequestIcon.cjs.js +2 -2
- package/dist/components/PullRequestIcon.cjs.js.map +1 -1
- package/dist/components/PullRequestIcon.es.js +2 -2
- package/dist/components/PullRequestIcon.es.js.map +1 -1
- package/dist/components/RelativeTimestamp.cjs.js +1 -1
- package/dist/components/RelativeTimestamp.es.js +1 -1
- package/dist/components/RuleBuilder.cjs.js +5 -4
- package/dist/components/RuleBuilder.cjs.js.map +1 -1
- package/dist/components/RuleBuilder.es.js +5 -4
- package/dist/components/RuleBuilder.es.js.map +1 -1
- package/dist/components/SankeyChart.cjs.js +3 -6
- package/dist/components/SankeyChart.cjs.js.map +1 -1
- package/dist/components/SankeyChart.es.js +1 -2
- package/dist/components/SankeyChart.es.js.map +1 -1
- package/dist/components/ScatterPlotChart.cjs.js +4 -3
- package/dist/components/ScatterPlotChart.cjs.js.map +1 -1
- package/dist/components/ScatterPlotChart.es.js +4 -3
- package/dist/components/ScatterPlotChart.es.js.map +1 -1
- package/dist/components/ScrollArea.cjs.js +2 -1
- package/dist/components/ScrollArea.cjs.js.map +1 -1
- package/dist/components/ScrollArea.es.js +1 -1
- package/dist/components/Section.cjs.js +1 -1
- package/dist/components/Section.es.js +1 -1
- package/dist/components/SectionCard.cjs.js +14 -25
- package/dist/components/SectionCard.cjs.js.map +1 -1
- package/dist/components/SectionCard.es.js +14 -25
- package/dist/components/SectionCard.es.js.map +1 -1
- package/dist/components/Select.cjs.js +1 -1
- package/dist/components/Select.es.js +1 -1
- package/dist/components/SideDialog.cjs.js +1 -1
- package/dist/components/SideDialog.es.js +1 -1
- package/dist/components/Slider.cjs.js +1 -1
- package/dist/components/Slider.es.js +1 -1
- package/dist/components/StatusIndicators.cjs.js +12 -23
- package/dist/components/StatusIndicators.cjs.js.map +1 -1
- package/dist/components/StatusIndicators.es.js +12 -23
- package/dist/components/StatusIndicators.es.js.map +1 -1
- package/dist/components/Steps.cjs.js +17 -33
- package/dist/components/Steps.cjs.js.map +1 -1
- package/dist/components/Steps.es.js +17 -33
- package/dist/components/Steps.es.js.map +1 -1
- package/dist/components/Switch.cjs.js +1 -1
- package/dist/components/Switch.es.js +1 -1
- package/dist/components/Table.cjs.js +3 -2
- package/dist/components/Table.cjs.js.map +1 -1
- package/dist/components/Table.es.js +3 -2
- package/dist/components/Table.es.js.map +1 -1
- package/dist/components/Tabs.cjs.js +3 -3
- package/dist/components/Tabs.es.js +3 -3
- package/dist/components/Text.cjs.js +1 -1
- package/dist/components/Text.es.js +1 -1
- package/dist/components/ThreadList.cjs.js +1 -1
- package/dist/components/ThreadList.es.js +1 -1
- package/dist/components/ThreadRail.cjs.js +440 -6
- package/dist/components/ThreadRail.cjs.js.map +1 -1
- package/dist/components/ThreadRail.es.js +418 -3
- package/dist/components/ThreadRail.es.js.map +1 -1
- package/dist/components/TokenBudget.cjs.js +4 -3
- package/dist/components/TokenBudget.cjs.js.map +1 -1
- package/dist/components/TokenBudget.es.js +4 -3
- package/dist/components/TokenBudget.es.js.map +1 -1
- package/dist/components/Tree.cjs.js +2 -2
- package/dist/components/Tree.cjs.js.map +1 -1
- package/dist/components/Tree.es.js +2 -2
- package/dist/components/Tree.es.js.map +1 -1
- package/dist/components/Truncate.cjs.js +1 -1
- package/dist/components/Truncate.es.js +1 -1
- package/dist/components/Workflow.cjs.js +6 -6
- package/dist/components/Workflow.es.js +6 -6
- package/dist/components/ai/activity.cjs.js +31 -0
- package/dist/components/ai/activity.cjs.js.map +1 -0
- package/dist/components/ai/activity.d.ts +2 -0
- package/dist/components/ai/activity.es.js +6 -0
- package/dist/components/ai/activity.es.js.map +1 -0
- package/dist/components/ai/ask-user.cjs.js +1 -1
- package/dist/components/ai/ask-user.es.js +1 -1
- package/dist/components/ai/plan.cjs.js +1 -1
- package/dist/components/ai/plan.es.js +1 -1
- package/dist/components/ai/task-list.cjs.js +17 -19
- package/dist/components/ai/task-list.cjs.js.map +1 -1
- package/dist/components/ai/task-list.es.js +17 -19
- package/dist/components/ai/task-list.es.js.map +1 -1
- package/dist/components/ai/tool-approval.cjs.js +1 -1
- package/dist/components/ai/tool-approval.es.js +1 -1
- package/dist/components/ai/tool-call.cjs.js +15 -23
- package/dist/components/ai/tool-call.cjs.js.map +1 -1
- package/dist/components/ai/tool-call.es.js +6 -4
- package/dist/components/ai/tool-call.es.js.map +1 -1
- package/dist/components/ai/transcript-divider.cjs.js +18 -0
- package/dist/components/ai/transcript-divider.cjs.js.map +1 -0
- package/dist/components/ai/transcript-divider.d.ts +2 -0
- package/dist/components/ai/transcript-divider.es.js +14 -0
- package/dist/components/ai/transcript-divider.es.js.map +1 -0
- package/dist/composer-DyoM0j2m.cjs +156 -0
- package/dist/composer-DyoM0j2m.cjs.map +1 -0
- package/dist/composer-eMyX1lBH.js +148 -0
- package/dist/composer-eMyX1lBH.js.map +1 -0
- package/dist/composer.css +8 -8
- package/dist/copy-button-C6nXDjBz.cjs +38 -0
- package/dist/copy-button-C6nXDjBz.cjs.map +1 -0
- package/dist/copy-button-DbmsTUum.js +36 -0
- package/dist/copy-button-DbmsTUum.js.map +1 -0
- package/dist/data-code-section-Bd2Xnckz.js +188 -0
- package/dist/data-code-section-Bd2Xnckz.js.map +1 -0
- package/dist/data-code-section-D5b6_jcB.cjs +190 -0
- package/dist/data-code-section-D5b6_jcB.cjs.map +1 -0
- package/dist/data-keys-and-values-DiRlIt-N.js +107 -0
- package/dist/data-keys-and-values-DiRlIt-N.js.map +1 -0
- package/dist/data-keys-and-values-DnpdW8zx.cjs +109 -0
- package/dist/data-keys-and-values-DnpdW8zx.cjs.map +1 -0
- package/dist/data-list-D8bACyyK.cjs +126 -0
- package/dist/data-list-D8bACyyK.cjs.map +1 -0
- package/dist/data-list-DL_oFE4j.js +122 -0
- package/dist/data-list-DL_oFE4j.js.map +1 -0
- package/dist/data-list-skeleton-BXPfL0s7.cjs +38 -0
- package/dist/data-list-skeleton-BXPfL0s7.cjs.map +1 -0
- package/dist/data-list-skeleton-Bk9LI0J0.js +36 -0
- package/dist/data-list-skeleton-Bk9LI0J0.js.map +1 -0
- package/dist/data-list-spacer-CE6-4ZQq.js +202 -0
- package/dist/data-list-spacer-CE6-4ZQq.js.map +1 -0
- package/dist/data-list-spacer-_bFe0e2u.cjs +211 -0
- package/dist/data-list-spacer-_bFe0e2u.cjs.map +1 -0
- package/dist/data-list-top-C-pLBax7.cjs +381 -0
- package/dist/data-list-top-C-pLBax7.cjs.map +1 -0
- package/dist/data-list-top-DheFgb0M.js +356 -0
- package/dist/data-list-top-DheFgb0M.js.map +1 -0
- package/dist/data-panel-42fdcagQ.js +251 -0
- package/dist/data-panel-42fdcagQ.js.map +1 -0
- package/dist/data-panel-CjvoI_lx.cjs +271 -0
- package/dist/data-panel-CjvoI_lx.cjs.map +1 -0
- package/dist/date-time-range-picker-BORAuIJM.cjs +181 -0
- package/dist/date-time-range-picker-BORAuIJM.cjs.map +1 -0
- package/dist/date-time-range-picker-C-pSI1u1.js +179 -0
- package/dist/date-time-range-picker-C-pSI1u1.js.map +1 -0
- package/dist/dialog-DYpOpj9s.cjs +215 -0
- package/dist/dialog-DYpOpj9s.cjs.map +1 -0
- package/dist/dialog-action-B3AHq7mU.cjs +189 -0
- package/dist/dialog-action-B3AHq7mU.cjs.map +1 -0
- package/dist/dialog-action-BGmDoI5T.js +187 -0
- package/dist/dialog-action-BGmDoI5T.js.map +1 -0
- package/dist/dialog-cKzR2TXI.js +178 -0
- package/dist/dialog-cKzR2TXI.js.map +1 -0
- package/dist/dialog.css +29 -53
- package/dist/domains/auth/components/permission-denied.cjs.js +1 -1
- package/dist/domains/auth/components/permission-denied.es.js +1 -1
- package/dist/domains/auth/components/session-expired.cjs.js +2 -2
- package/dist/domains/auth/components/session-expired.es.js +2 -2
- package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +14 -29
- package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js.map +1 -1
- package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +14 -29
- package/dist/domains/chat/attachments/attachment-preview-dialog.es.js.map +1 -1
- package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +1 -1
- package/dist/domains/chat/attachments/composer-attachment-list.es.js +1 -1
- package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
- package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
- package/dist/domains/chat/components/badge-wrapper.cjs.js +9 -15
- package/dist/domains/chat/components/badge-wrapper.cjs.js.map +1 -1
- package/dist/domains/chat/components/badge-wrapper.es.js +9 -15
- package/dist/domains/chat/components/badge-wrapper.es.js.map +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +4 -4
- package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js.map +1 -1
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +4 -4
- package/dist/domains/chat/components/network-choice-metadata-dialog.es.js.map +1 -1
- package/dist/domains/chat/context/dataset-save-context-value.cjs.js +14 -0
- package/dist/domains/chat/context/dataset-save-context-value.cjs.js.map +1 -0
- package/dist/domains/chat/context/dataset-save-context-value.d.ts +2 -0
- package/dist/domains/chat/context/dataset-save-context-value.es.js +9 -0
- package/dist/domains/chat/context/dataset-save-context-value.es.js.map +1 -0
- package/dist/domains/chat/context/dataset-save-context.cjs.js +2 -7
- package/dist/domains/chat/context/dataset-save-context.cjs.js.map +1 -1
- package/dist/domains/chat/context/dataset-save-context.es.js +2 -6
- package/dist/domains/chat/context/dataset-save-context.es.js.map +1 -1
- package/dist/domains/chat/messages/assistant-message-actions.cjs.js +3 -3
- package/dist/domains/chat/messages/assistant-message-actions.es.js +3 -3
- package/dist/domains/chat/messages/dataset-save-action.cjs.js +14 -23
- package/dist/domains/chat/messages/dataset-save-action.cjs.js.map +1 -1
- package/dist/domains/chat/messages/dataset-save-action.es.js +12 -21
- package/dist/domains/chat/messages/dataset-save-action.es.js.map +1 -1
- package/dist/domains/chat/messages/message-row.cjs.js +25 -8
- package/dist/domains/chat/messages/message-row.cjs.js.map +1 -1
- package/dist/domains/chat/messages/message-row.es.js +25 -8
- package/dist/domains/chat/messages/message-row.es.js.map +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js +2 -3
- package/dist/domains/chat/messages/notification-signal-notice.cjs.js.map +1 -1
- package/dist/domains/chat/messages/notification-signal-notice.es.js +2 -3
- package/dist/domains/chat/messages/notification-signal-notice.es.js.map +1 -1
- package/dist/domains/chat/messages/reasoning-content.cjs.js +8 -5
- package/dist/domains/chat/messages/reasoning-content.cjs.js.map +1 -1
- package/dist/domains/chat/messages/reasoning-content.es.js +8 -5
- package/dist/domains/chat/messages/reasoning-content.es.js.map +1 -1
- package/dist/domains/chat/messages/renderers/message-text.cjs.js +3 -3
- package/dist/domains/chat/messages/renderers/message-text.es.js +3 -3
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +2 -2
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js.map +1 -1
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +2 -2
- package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js.map +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
- package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
- package/dist/domains/chat/messages/renderers/user-text-part-renderer.cjs.js +6 -0
- package/dist/domains/chat/messages/renderers/user-text-part-renderer.cjs.js.map +1 -1
- package/dist/domains/chat/messages/renderers/user-text-part-renderer.es.js +6 -0
- package/dist/domains/chat/messages/renderers/user-text-part-renderer.es.js.map +1 -1
- package/dist/domains/chat/messages/signal-badge.cjs.js +5 -8
- package/dist/domains/chat/messages/signal-badge.cjs.js.map +1 -1
- package/dist/domains/chat/messages/signal-badge.es.js +5 -8
- package/dist/domains/chat/messages/signal-badge.es.js.map +1 -1
- package/dist/domains/chat/messages/skill-activation.cjs.js +29 -0
- package/dist/domains/chat/messages/skill-activation.cjs.js.map +1 -0
- package/dist/domains/chat/messages/skill-activation.d.ts +2 -0
- package/dist/domains/chat/messages/skill-activation.es.js +25 -0
- package/dist/domains/chat/messages/skill-activation.es.js.map +1 -0
- package/dist/domains/chat/messages/skill-message.cjs.js +33 -0
- package/dist/domains/chat/messages/skill-message.cjs.js.map +1 -0
- package/dist/domains/chat/messages/skill-message.d.ts +2 -0
- package/dist/domains/chat/messages/skill-message.es.js +29 -0
- package/dist/domains/chat/messages/skill-message.es.js.map +1 -0
- package/dist/domains/chat/messages/system-reminder-badge.cjs.js +10 -22
- package/dist/domains/chat/messages/system-reminder-badge.cjs.js.map +1 -1
- package/dist/domains/chat/messages/system-reminder-badge.es.js +12 -24
- package/dist/domains/chat/messages/system-reminder-badge.es.js.map +1 -1
- package/dist/domains/chat/messages/tripwire-notice.cjs.js +4 -4
- package/dist/domains/chat/messages/tripwire-notice.cjs.js.map +1 -1
- package/dist/domains/chat/messages/tripwire-notice.es.js +4 -4
- package/dist/domains/chat/messages/tripwire-notice.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.cjs.js +5 -4
- package/dist/domains/chat/tools/badges/agent-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/agent-badge.es.js +5 -4
- package/dist/domains/chat/tools/badges/agent-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
- package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
- package/dist/domains/chat/tools/badges/awaits-tool-approval.cjs.js +10 -0
- package/dist/domains/chat/tools/badges/awaits-tool-approval.cjs.js.map +1 -0
- package/dist/domains/chat/tools/badges/awaits-tool-approval.d.ts +2 -0
- package/dist/domains/chat/tools/badges/awaits-tool-approval.es.js +6 -0
- package/dist/domains/chat/tools/badges/awaits-tool-approval.es.js.map +1 -0
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +4 -4
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +4 -4
- package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +5 -5
- package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js +5 -5
- package/dist/domains/chat/tools/badges/code-mode-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +66 -120
- package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js +68 -122
- package/dist/domains/chat/tools/badges/file-tree-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +128 -493
- package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +131 -496
- package/dist/domains/chat/tools/badges/observation-marker-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +70 -0
- package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js.map +1 -0
- package/dist/domains/chat/tools/badges/observation-marker-details.d.ts +2 -0
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js +64 -0
- package/dist/domains/chat/tools/badges/observation-marker-details.es.js.map +1 -0
- package/dist/domains/chat/tools/badges/observation-marker-format.cjs.js +29 -0
- package/dist/domains/chat/tools/badges/observation-marker-format.cjs.js.map +1 -0
- package/dist/domains/chat/tools/badges/observation-marker-format.d.ts +2 -0
- package/dist/domains/chat/tools/badges/observation-marker-format.es.js +22 -0
- package/dist/domains/chat/tools/badges/observation-marker-format.es.js.map +1 -0
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +6 -20
- package/dist/domains/chat/tools/badges/observation-renderer.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/observation-renderer.es.js +6 -20
- package/dist/domains/chat/tools/badges/observation-renderer.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +89 -163
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +91 -165
- package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +16 -17
- package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +16 -17
- package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js +15 -11
- package/dist/domains/chat/tools/badges/tool-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/tool-badge.es.js +14 -10
- package/dist/domains/chat/tools/badges/tool-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +13 -11
- package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
- package/dist/domains/chat/tools/badges/workflow-badge.es.js +12 -10
- package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
- package/dist/domains/chat/tools/badges/workspace-data-parts.cjs.js +28 -0
- package/dist/domains/chat/tools/badges/workspace-data-parts.cjs.js.map +1 -0
- package/dist/domains/chat/tools/badges/workspace-data-parts.d.ts +2 -0
- package/dist/domains/chat/tools/badges/workspace-data-parts.es.js +22 -0
- package/dist/domains/chat/tools/badges/workspace-data-parts.es.js.map +1 -0
- package/dist/domains/chat/tools/badges/workspace-link.cjs.js +25 -0
- package/dist/domains/chat/tools/badges/workspace-link.cjs.js.map +1 -0
- package/dist/domains/chat/tools/badges/workspace-link.d.ts +2 -0
- package/dist/domains/chat/tools/badges/workspace-link.es.js +21 -0
- package/dist/domains/chat/tools/badges/workspace-link.es.js.map +1 -0
- package/dist/domains/chat/tools/submit-plan-tool.cjs.js +123 -35
- package/dist/domains/chat/tools/submit-plan-tool.cjs.js.map +1 -1
- package/dist/domains/chat/tools/submit-plan-tool.es.js +124 -36
- package/dist/domains/chat/tools/submit-plan-tool.es.js.map +1 -1
- package/dist/domains/chat/tools/tool-card-kind.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
- package/dist/domains/chat/tools/tool-card-kind.es.js +1 -1
- package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
- package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
- package/dist/domains/chat/tools/tool-card.es.js +1 -1
- package/dist/domains/chat.cjs.js +2 -1
- package/dist/domains/chat.cjs.js.map +1 -1
- package/dist/domains/chat.es.js +2 -1
- package/dist/domains/chat.es.js.map +1 -1
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +5 -5
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +5 -5
- package/dist/domains/logs/components/log-data-panel.cjs.js +7 -6
- package/dist/domains/logs/components/log-data-panel.cjs.js.map +1 -1
- package/dist/domains/logs/components/log-data-panel.es.js +7 -6
- package/dist/domains/logs/components/log-data-panel.es.js.map +1 -1
- package/dist/domains/logs/components/logs-error-content.cjs.js +1 -1
- package/dist/domains/logs/components/logs-error-content.es.js +1 -1
- package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
- package/dist/domains/logs/components/logs-list-view.es.js +2 -2
- package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
- package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
- package/dist/domains/logs/components/no-logs-info.cjs.js +2 -2
- package/dist/domains/logs/components/no-logs-info.es.js +2 -2
- package/dist/domains/memory/components/flame-graph.cjs.js +13 -21
- package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
- package/dist/domains/memory/components/flame-graph.es.js +13 -21
- package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
- package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
- package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
- package/dist/domains/memory/components/observation-detail-view.cjs.js +27 -53
- package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
- package/dist/domains/memory/components/observation-detail-view.es.js +27 -53
- package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
- package/dist/domains/memory/components/thread-context-progress.cjs.js +1 -1
- package/dist/domains/memory/components/thread-context-progress.es.js +1 -1
- package/dist/domains/memory/lib/observation-priority.cjs.js +40 -0
- package/dist/domains/memory/lib/observation-priority.cjs.js.map +1 -0
- package/dist/domains/memory/lib/observation-priority.d.ts +2 -0
- package/dist/domains/memory/lib/observation-priority.es.js +35 -0
- package/dist/domains/memory/lib/observation-priority.es.js.map +1 -0
- package/dist/domains/metrics/components/bar-list.cjs.js +26 -9
- package/dist/domains/metrics/components/bar-list.cjs.js.map +1 -1
- package/dist/domains/metrics/components/bar-list.es.js +26 -9
- package/dist/domains/metrics/components/bar-list.es.js.map +1 -1
- package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
- package/dist/domains/metrics/components/card-action-buttons.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/metrics/components/kpi-card-view.cjs.js +1 -1
- package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
- package/dist/domains/metrics/components/latency-card-view.cjs.js +6 -6
- package/dist/domains/metrics/components/latency-card-view.es.js +6 -6
- package/dist/domains/metrics/components/memory-card-view.cjs.js +5 -5
- package/dist/domains/metrics/components/memory-card-view.es.js +5 -5
- package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
- package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
- package/dist/domains/metrics/components/scores-card-view.cjs.js +6 -6
- package/dist/domains/metrics/components/scores-card-view.es.js +6 -6
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +5 -5
- package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +5 -5
- package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +6 -6
- package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +6 -6
- package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +5 -5
- package/dist/domains/metrics/components/traces-volume-card-view.es.js +5 -5
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +7 -6
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js.map +1 -1
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +7 -6
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js.map +1 -1
- package/dist/domains/observability/components/trace-as-item-dialog.cjs.js +1 -1
- package/dist/domains/observability/components/trace-as-item-dialog.es.js +1 -1
- package/dist/domains/request-context/components/request-context-label.cjs.js +1 -5
- package/dist/domains/request-context/components/request-context-label.cjs.js.map +1 -1
- package/dist/domains/request-context/components/request-context-label.es.js +2 -6
- package/dist/domains/request-context/components/request-context-label.es.js.map +1 -1
- package/dist/domains/review/components/review-status-badge.cjs.js +3 -3
- package/dist/domains/review/components/review-status-badge.cjs.js.map +1 -1
- package/dist/domains/review/components/review-status-badge.es.js +3 -3
- package/dist/domains/review/components/review-status-badge.es.js.map +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.cjs.js +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.es.js +1 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js +5 -5
- package/dist/domains/scores/components/score-data-panel.cjs.js.map +1 -1
- package/dist/domains/scores/components/score-data-panel.es.js +5 -5
- package/dist/domains/scores/components/score-data-panel.es.js.map +1 -1
- package/dist/domains/scores/components/span-scoring.cjs.js +5 -5
- package/dist/domains/scores/components/span-scoring.es.js +5 -5
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +9 -9
- package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +9 -9
- package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
- package/dist/domains/traces/components/feedback-thread.cjs.js +4 -4
- package/dist/domains/traces/components/feedback-thread.es.js +4 -4
- package/dist/domains/traces/components/format-trace-thread-messages.cjs.js +69 -4
- package/dist/domains/traces/components/format-trace-thread-messages.cjs.js.map +1 -1
- package/dist/domains/traces/components/format-trace-thread-messages.es.js +69 -4
- package/dist/domains/traces/components/format-trace-thread-messages.es.js.map +1 -1
- package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
- package/dist/domains/traces/components/no-traces-info.es.js +1 -1
- package/dist/domains/traces/components/shared.cjs.js +11 -11
- package/dist/domains/traces/components/shared.cjs.js.map +1 -1
- package/dist/domains/traces/components/shared.es.js +11 -11
- package/dist/domains/traces/components/shared.es.js.map +1 -1
- package/dist/domains/traces/components/span-data-panel-view.cjs.js +7 -7
- package/dist/domains/traces/components/span-data-panel-view.es.js +7 -7
- package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
- package/dist/domains/traces/components/span-details-view.es.js +1 -1
- package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +6 -6
- package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +6 -6
- package/dist/domains/traces/components/span-payload/span-output-renderers.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +4 -4
- package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +4 -4
- package/dist/domains/traces/components/span-payload/span-payload-messages.es.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +3 -3
- package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +2 -2
- package/dist/domains/traces/components/span-payload/span-payload-section.es.js +2 -2
- 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 +5 -5
- package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +5 -5
- package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js.map +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/span-timeline-row.cjs.js +3 -2
- package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-timeline-row.es.js +3 -2
- package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
- package/dist/domains/traces/components/span-timing-hover-card.cjs.js +1 -1
- package/dist/domains/traces/components/span-timing-hover-card.es.js +1 -1
- package/dist/domains/traces/components/span-token-usage.cjs.js +9 -8
- package/dist/domains/traces/components/span-token-usage.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-token-usage.es.js +9 -8
- package/dist/domains/traces/components/span-token-usage.es.js.map +1 -1
- package/dist/domains/traces/components/span-type-legend.cjs.js +2 -2
- package/dist/domains/traces/components/span-type-legend.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-type-legend.es.js +2 -2
- package/dist/domains/traces/components/span-type-legend.es.js.map +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-list.cjs.js +10 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +10 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +6 -6
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +6 -6
- package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +1 -1
- package/dist/domains/traces/components/thread-trace.cjs.js +0 -2
- package/dist/domains/traces/components/thread-trace.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-trace.es.js +0 -2
- package/dist/domains/traces/components/thread-trace.es.js.map +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js +5 -16
- package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-view-by-trace.es.js +5 -16
- package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
- package/dist/domains/traces/components/thread-view-skeleton.cjs.js +2 -2
- package/dist/domains/traces/components/thread-view-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/thread-view-skeleton.es.js +2 -2
- package/dist/domains/traces/components/thread-view-skeleton.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.cjs.js +5 -3
- package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.es.js +5 -3
- package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.cjs.js +9 -7
- package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-columns-menu.es.js +10 -8
- package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +6 -6
- package/dist/domains/traces/components/trace-data-panel-view.es.js +6 -6
- package/dist/domains/traces/components/trace-data-panel.cjs.js +3 -4
- package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel.es.js +3 -4
- package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
- 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-messages-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-messages-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-span-panel.cjs.js +5 -5
- package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-panel.es.js +5 -5
- package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
- package/dist/domains/traces/components/trace-status-value.cjs.js +2 -2
- package/dist/domains/traces/components/trace-status-value.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-status-value.es.js +2 -2
- package/dist/domains/traces/components/trace-status-value.es.js.map +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-thread-item-view.cjs.js +2 -2
- package/dist/domains/traces/components/trace-thread-item-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-thread-item-view.es.js +2 -2
- package/dist/domains/traces/components/trace-thread-item-view.es.js.map +1 -1
- package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
- package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
- package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
- package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
- package/dist/domains/traces/components/traces-error-content.cjs.js +1 -1
- package/dist/domains/traces/components/traces-error-content.es.js +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
- package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +5 -4
- package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.es.js +5 -4
- package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -3
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -3
- package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
- package/dist/domains/traces/trace-filters.cjs.js +30 -31
- package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
- package/dist/domains/traces/trace-filters.es.js +31 -32
- package/dist/domains/traces/trace-filters.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
- package/dist/domains/workflows/components/workflow-entity-header.cjs.js +4 -2
- package/dist/domains/workflows/components/workflow-entity-header.cjs.js.map +1 -1
- package/dist/domains/workflows/components/workflow-entity-header.es.js +4 -2
- package/dist/domains/workflows/components/workflow-entity-header.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-information.cjs.js +4 -5
- package/dist/domains/workflows/components/workflow-information.cjs.js.map +1 -1
- package/dist/domains/workflows/components/workflow-information.es.js +4 -5
- package/dist/domains/workflows/components/workflow-information.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-layout.cjs.js +1 -1
- package/dist/domains/workflows/components/workflow-layout.cjs.js.map +1 -1
- package/dist/domains/workflows/components/workflow-layout.es.js +1 -1
- package/dist/domains/workflows/components/workflow-layout.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-run-status-icon.cjs.js +9 -7
- package/dist/domains/workflows/components/workflow-run-status-icon.cjs.js.map +1 -1
- package/dist/domains/workflows/components/workflow-run-status-icon.es.js +9 -7
- package/dist/domains/workflows/components/workflow-run-status-icon.es.js.map +1 -1
- package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
- package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +2 -2
- package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +2 -2
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +30 -19
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js.map +1 -1
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +30 -19
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js.map +1 -1
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js +9 -8
- package/dist/domains/workflows/runs/workflow-run-list.cjs.js.map +1 -1
- package/dist/domains/workflows/runs/workflow-run-list.es.js +9 -8
- package/dist/domains/workflows/runs/workflow-run-list.es.js.map +1 -1
- package/dist/domains/workflows/utils/nested-workflows.cjs.js +1 -1
- package/dist/domains/workflows/utils/nested-workflows.cjs.js.map +1 -1
- package/dist/domains/workflows/utils/nested-workflows.es.js +1 -1
- package/dist/domains/workflows/utils/nested-workflows.es.js.map +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +5 -5
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +5 -5
- package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js.map +1 -1
- package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +2 -2
- package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +2 -2
- package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +3 -3
- package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +3 -3
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
- package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
- package/dist/domains/workflows/workflow/utils.cjs.js +1 -1
- package/dist/domains/workflows/workflow/utils.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/utils.es.js +1 -1
- package/dist/domains/workflows/workflow/utils.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js +3 -2
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js +3 -2
- package/dist/domains/workflows/workflow/workflow-debug-mode-switch.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +8 -7
- package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +8 -7
- package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +2 -3
- package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-input-data.es.js +2 -3
- package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-input-type-toggle.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +8 -11
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +8 -11
- package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +4 -3
- package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +4 -3
- package/dist/domains/workflows/workflow/workflow-nested-graph.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +5 -5
- package/dist/domains/workflows/workflow/workflow-run-data.es.js +5 -5
- package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +25 -12
- package/dist/domains/workflows/workflow/workflow-run-header.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-run-header.es.js +25 -12
- package/dist/domains/workflows/workflow/workflow-run-header.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-status.cjs.js +10 -7
- package/dist/domains/workflows/workflow/workflow-status.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-status.es.js +10 -7
- package/dist/domains/workflows/workflow/workflow-status.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +36 -55
- package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +36 -55
- package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +5 -5
- package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +5 -5
- package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +4 -4
- package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +4 -4
- package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +25 -21
- package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +25 -21
- package/dist/domains/workflows/workflow/workflow-timeline-row.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +4 -3
- package/dist/domains/workflows/workflow/workflow-timeline.cjs.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-timeline.es.js +4 -3
- package/dist/domains/workflows/workflow/workflow-timeline.es.js.map +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +2 -2
- package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +2 -2
- package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
- package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
- package/dist/domains/workflows/workflow-status-tone.cjs.js +35 -0
- package/dist/domains/workflows/workflow-status-tone.cjs.js.map +1 -0
- package/dist/domains/workflows/workflow-status-tone.d.ts +2 -0
- package/dist/domains/workflows/workflow-status-tone.es.js +29 -0
- package/dist/domains/workflows/workflow-status-tone.es.js.map +1 -0
- package/dist/drawer-DXf50w71.js +327 -0
- package/dist/drawer-DXf50w71.js.map +1 -0
- package/dist/drawer-d81cZiSV.cjs +365 -0
- package/dist/drawer-d81cZiSV.cjs.map +1 -0
- package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +6 -5
- package/dist/ee/signals/components/entity-index-compact-grid.cjs.js.map +1 -1
- package/dist/ee/signals/components/entity-index-compact-grid.es.js +6 -5
- package/dist/ee/signals/components/entity-index-compact-grid.es.js.map +1 -1
- package/dist/ee/signals/components/entity-index-list.cjs.js +3 -5
- package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +3 -5
- package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
- package/dist/ee/signals/components/signals-empty-state.cjs.js +46 -48
- package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -1
- package/dist/ee/signals/components/signals-empty-state.es.js +47 -49
- package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +5 -6
- 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 +5 -6
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
- package/dist/ee/signals/examples-pager.cjs.js +3 -2
- package/dist/ee/signals/examples-pager.cjs.js.map +1 -1
- package/dist/ee/signals/examples-pager.es.js +3 -2
- package/dist/ee/signals/examples-pager.es.js.map +1 -1
- package/dist/ee/signals/flow-card.cjs.js +10 -5
- package/dist/ee/signals/flow-card.cjs.js.map +1 -1
- package/dist/ee/signals/flow-card.es.js +11 -6
- package/dist/ee/signals/flow-card.es.js.map +1 -1
- package/dist/ee/signals/lifeline-point.cjs.js +7 -2
- package/dist/ee/signals/lifeline-point.cjs.js.map +1 -1
- package/dist/ee/signals/lifeline-point.es.js +7 -2
- package/dist/ee/signals/lifeline-point.es.js.map +1 -1
- package/dist/ee/signals/lifeline-row.cjs.js +10 -13
- package/dist/ee/signals/lifeline-row.cjs.js.map +1 -1
- package/dist/ee/signals/lifeline-row.es.js +10 -13
- package/dist/ee/signals/lifeline-row.es.js.map +1 -1
- package/dist/ee/signals/noise-detail-panel.cjs.js +21 -12
- package/dist/ee/signals/noise-detail-panel.cjs.js.map +1 -1
- package/dist/ee/signals/noise-detail-panel.es.js +21 -12
- package/dist/ee/signals/noise-detail-panel.es.js.map +1 -1
- package/dist/ee/signals/sankey-signals.cjs.js +5 -4
- package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
- package/dist/ee/signals/sankey-signals.es.js +5 -4
- package/dist/ee/signals/sankey-signals.es.js.map +1 -1
- package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +10 -21
- 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 +10 -21
- package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js +12 -11
- package/dist/ee/signals/settings/trace-signal-settings.cjs.js.map +1 -1
- package/dist/ee/signals/settings/trace-signal-settings.es.js +12 -11
- package/dist/ee/signals/settings/trace-signal-settings.es.js.map +1 -1
- package/dist/ee/signals/signal-colors.cjs.js +36 -32
- package/dist/ee/signals/signal-colors.cjs.js.map +1 -1
- package/dist/ee/signals/signal-colors.es.js +34 -31
- package/dist/ee/signals/signal-colors.es.js.map +1 -1
- package/dist/ee/signals/signal-delta-column.cjs.js +11 -8
- package/dist/ee/signals/signal-delta-column.cjs.js.map +1 -1
- package/dist/ee/signals/signal-delta-column.es.js +12 -9
- package/dist/ee/signals/signal-delta-column.es.js.map +1 -1
- package/dist/ee/signals/signal-lifelines.cjs.js +4 -5
- package/dist/ee/signals/signal-lifelines.cjs.js.map +1 -1
- package/dist/ee/signals/signal-lifelines.es.js +5 -6
- package/dist/ee/signals/signal-lifelines.es.js.map +1 -1
- package/dist/ee/signals/signals-error-state.cjs.js +5 -4
- package/dist/ee/signals/signals-error-state.cjs.js.map +1 -1
- package/dist/ee/signals/signals-error-state.es.js +5 -4
- package/dist/ee/signals/signals-error-state.es.js.map +1 -1
- package/dist/ee/signals/snapshot-timeline.cjs.js +12 -7
- package/dist/ee/signals/snapshot-timeline.cjs.js.map +1 -1
- package/dist/ee/signals/snapshot-timeline.es.js +12 -7
- package/dist/ee/signals/snapshot-timeline.es.js.map +1 -1
- package/dist/ee/signals/sortable-signal-headers.cjs.js +1 -2
- package/dist/ee/signals/sortable-signal-headers.cjs.js.map +1 -1
- package/dist/ee/signals/sortable-signal-headers.es.js +2 -3
- package/dist/ee/signals/sortable-signal-headers.es.js.map +1 -1
- package/dist/ee/signals/theme-compare-sparkline.cjs.js +1 -1
- package/dist/ee/signals/theme-compare-sparkline.cjs.js.map +1 -1
- package/dist/ee/signals/theme-compare-sparkline.es.js +1 -1
- package/dist/ee/signals/theme-compare-sparkline.es.js.map +1 -1
- package/dist/ee/signals/theme-compare.cjs.js +24 -5
- package/dist/ee/signals/theme-compare.cjs.js.map +1 -1
- package/dist/ee/signals/theme-compare.es.js +24 -5
- package/dist/ee/signals/theme-compare.es.js.map +1 -1
- package/dist/ee/signals/theme-detail-panel.cjs.js +39 -30
- package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -1
- package/dist/ee/signals/theme-detail-panel.es.js +40 -31
- package/dist/ee/signals/theme-detail-panel.es.js.map +1 -1
- package/dist/ee/signals/theme-filter-banner.cjs.js +9 -7
- package/dist/ee/signals/theme-filter-banner.cjs.js.map +1 -1
- package/dist/ee/signals/theme-filter-banner.es.js +10 -8
- package/dist/ee/signals/theme-filter-banner.es.js.map +1 -1
- package/dist/ee/signals/theme-lifelines.cjs.js +2 -1
- package/dist/ee/signals/theme-lifelines.cjs.js.map +1 -1
- package/dist/ee/signals/theme-lifelines.es.js +2 -1
- package/dist/ee/signals/theme-lifelines.es.js.map +1 -1
- package/dist/ee/signals/theme-trend-chart.cjs.js +5 -5
- package/dist/ee/signals/theme-trend-chart.cjs.js.map +1 -1
- package/dist/ee/signals/theme-trend-chart.es.js +5 -5
- package/dist/ee/signals/theme-trend-chart.es.js.map +1 -1
- package/dist/ee/signals/trace-insight-view.cjs.js +29 -16
- package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
- package/dist/ee/signals/trace-insight-view.es.js +29 -16
- package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js +7 -4
- package/dist/ee/signals/trace-intelligence-explainer.cjs.js.map +1 -1
- package/dist/ee/signals/trace-intelligence-explainer.es.js +8 -5
- package/dist/ee/signals/trace-intelligence-explainer.es.js.map +1 -1
- package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
- package/dist/ee/signals/view-mode-tab.es.js +1 -1
- package/dist/ee/signals.cjs.js +3 -2
- package/dist/ee/signals.cjs.js.map +1 -1
- package/dist/ee/signals.es.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
- package/dist/ee/topics/utils.cjs.js +3 -10
- package/dist/ee/topics/utils.cjs.js.map +1 -1
- package/dist/ee/topics/utils.es.js +3 -10
- package/dist/ee/topics/utils.es.js.map +1 -1
- package/dist/field-block-BIDi9Bvc.cjs +88 -0
- package/dist/field-block-BIDi9Bvc.cjs.map +1 -0
- package/dist/field-block-DpejZ6U6.js +86 -0
- package/dist/field-block-DpejZ6U6.js.map +1 -0
- package/dist/field-block-error-msg-B6-wnlAz.cjs +26 -0
- package/dist/field-block-error-msg-B6-wnlAz.cjs.map +1 -0
- package/dist/field-block-error-msg-edlaudVx.js +24 -0
- package/dist/field-block-error-msg-edlaudVx.js.map +1 -0
- package/dist/filter-bar-chip-BNPOrSrD.js +1211 -0
- package/dist/filter-bar-chip-BNPOrSrD.js.map +1 -0
- package/dist/filter-bar-chip-D4CSm9KP.cjs +1233 -0
- package/dist/filter-bar-chip-D4CSm9KP.cjs.map +1 -0
- package/dist/filter-bar-chip.css +1 -6
- package/dist/horizontal-bars-BSRESJsp.js +158 -0
- package/dist/horizontal-bars-BSRESJsp.js.map +1 -0
- package/dist/horizontal-bars-DRD7JkHL.cjs +160 -0
- package/dist/horizontal-bars-DRD7JkHL.cjs.map +1 -0
- package/dist/input-group-B8bnoDrA.js +196 -0
- package/dist/input-group-B8bnoDrA.js.map +1 -0
- package/dist/input-group-I8YVM_Ps.cjs +222 -0
- package/dist/input-group-I8YVM_Ps.cjs.map +1 -0
- package/dist/layout/tabbed-container.cjs.js +8 -7
- package/dist/layout/tabbed-container.cjs.js.map +1 -1
- package/dist/layout/tabbed-container.es.js +8 -7
- package/dist/layout/tabbed-container.es.js.map +1 -1
- package/dist/lib/form/components/array-element-wrapper.cjs.js +5 -4
- package/dist/lib/form/components/array-element-wrapper.cjs.js.map +1 -1
- package/dist/lib/form/components/array-element-wrapper.es.js +5 -4
- package/dist/lib/form/components/array-element-wrapper.es.js.map +1 -1
- package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/array-wrapper.es.js +1 -1
- package/dist/lib/form/components/boolean-field.cjs.js +1 -1
- package/dist/lib/form/components/boolean-field.es.js +1 -1
- package/dist/lib/form/components/date-field.cjs.js +3 -3
- package/dist/lib/form/components/date-field.cjs.js.map +1 -1
- package/dist/lib/form/components/date-field.es.js +3 -3
- package/dist/lib/form/components/date-field.es.js.map +1 -1
- package/dist/lib/form/components/error-message.cjs.js +1 -1
- package/dist/lib/form/components/error-message.es.js +1 -1
- package/dist/lib/form/components/field-wrapper.cjs.js +1 -1
- package/dist/lib/form/components/field-wrapper.es.js +1 -1
- package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
- package/dist/lib/form/components/form-submit-row.es.js +1 -1
- package/dist/lib/form/components/number-field.cjs.js +1 -1
- package/dist/lib/form/components/number-field.cjs.js.map +1 -1
- package/dist/lib/form/components/number-field.es.js +1 -1
- package/dist/lib/form/components/number-field.es.js.map +1 -1
- package/dist/lib/form/components/object-wrapper.cjs.js +3 -2
- package/dist/lib/form/components/object-wrapper.cjs.js.map +1 -1
- package/dist/lib/form/components/object-wrapper.es.js +3 -2
- package/dist/lib/form/components/object-wrapper.es.js.map +1 -1
- package/dist/lib/form/components/record-field.cjs.js +1 -1
- package/dist/lib/form/components/record-field.es.js +1 -1
- package/dist/lib/form/components/select-field.cjs.js +2 -2
- package/dist/lib/form/components/select-field.cjs.js.map +1 -1
- package/dist/lib/form/components/select-field.es.js +2 -2
- package/dist/lib/form/components/select-field.es.js.map +1 -1
- package/dist/lib/form/components/submit-button.cjs.js +1 -1
- package/dist/lib/form/components/submit-button.es.js +1 -1
- package/dist/lib/framework.cjs.js.map +1 -1
- package/dist/lib/framework.es.js.map +1 -1
- package/dist/list-search-9l8IEdxZ.js +69 -0
- package/dist/list-search-9l8IEdxZ.js.map +1 -0
- package/dist/list-search-DXb7HFX8.cjs +71 -0
- package/dist/list-search-DXb7HFX8.cjs.map +1 -0
- package/dist/logs-data-list-C77r2FOj.js +82 -0
- package/dist/logs-data-list-C77r2FOj.js.map +1 -0
- package/dist/logs-data-list-CEFyG1Xb.cjs +84 -0
- package/dist/logs-data-list-CEFyG1Xb.cjs.map +1 -0
- package/dist/main-sidebar-link-active-1_ktyA8Q.js +777 -0
- package/dist/main-sidebar-link-active-1_ktyA8Q.js.map +1 -0
- package/dist/main-sidebar-link-active-BNko0jHZ.cjs +794 -0
- package/dist/main-sidebar-link-active-BNko0jHZ.cjs.map +1 -0
- package/dist/markdown-renderer-Bl0V7FCo.js +407 -0
- package/dist/markdown-renderer-Bl0V7FCo.js.map +1 -0
- package/dist/markdown-renderer-CSwjfPaf.cjs +409 -0
- package/dist/markdown-renderer-CSwjfPaf.cjs.map +1 -0
- package/dist/markdown-renderer.css +3 -3
- package/dist/merge-refs-BLbKe138.cjs +20 -0
- package/dist/merge-refs-BLbKe138.cjs.map +1 -0
- package/dist/merge-refs-DA1xt2OQ.js +18 -0
- package/dist/merge-refs-DA1xt2OQ.js.map +1 -0
- package/dist/message-C1c5oZE7.cjs +67 -0
- package/dist/message-C1c5oZE7.cjs.map +1 -0
- package/dist/message-C7hocqft.js +63 -0
- package/dist/message-C7hocqft.js.map +1 -0
- package/dist/message-copy-button-ClJBX9qx.cjs +11 -0
- package/dist/message-copy-button-ClJBX9qx.cjs.map +1 -0
- package/dist/message-copy-button-DP3U-xA-.js +9 -0
- package/dist/message-copy-button-DP3U-xA-.js.map +1 -0
- package/dist/message-preview-4Fmotm9o.cjs +14 -0
- package/dist/message-preview-4Fmotm9o.cjs.map +1 -0
- package/dist/message-preview-BnmthmiK.js +11 -0
- package/dist/message-preview-BnmthmiK.js.map +1 -0
- package/dist/message-scroller-CiFr8MwT.js +825 -0
- package/dist/message-scroller-CiFr8MwT.js.map +1 -0
- package/dist/message-scroller-E05PLPmT.cjs +851 -0
- package/dist/message-scroller-E05PLPmT.cjs.map +1 -0
- package/dist/message-scroller-context-BF1Qo4vC.js +23 -0
- package/dist/message-scroller-context-BF1Qo4vC.js.map +1 -0
- package/dist/message-scroller-hooks-BEeE1WE6.js +46 -0
- package/dist/message-scroller-hooks-BEeE1WE6.js.map +1 -0
- package/dist/metrics-card-CloSmyRQ.js +94 -0
- package/dist/metrics-card-CloSmyRQ.js.map +1 -0
- package/dist/metrics-card-HmQJHDNa.cjs +96 -0
- package/dist/metrics-card-HmQJHDNa.cjs.map +1 -0
- package/dist/metrics-kpi-card-CW24YjZp.cjs +107 -0
- package/dist/metrics-kpi-card-CW24YjZp.cjs.map +1 -0
- package/dist/metrics-kpi-card-DLDT28IB.js +105 -0
- package/dist/metrics-kpi-card-DLDT28IB.js.map +1 -0
- package/dist/metrics-line-chart-C3UMBQ38.js +102 -0
- package/dist/metrics-line-chart-C3UMBQ38.js.map +1 -0
- package/dist/metrics-line-chart-CjJxBbM-.cjs +104 -0
- package/dist/metrics-line-chart-CjJxBbM-.cjs.map +1 -0
- package/dist/metrics-line-chart-tooltip-DiXCgpik.cjs +54 -0
- package/dist/metrics-line-chart-tooltip-DiXCgpik.cjs.map +1 -0
- package/dist/metrics-line-chart-tooltip-mZXPH1yH.js +51 -0
- package/dist/metrics-line-chart-tooltip-mZXPH1yH.js.map +1 -0
- package/dist/new/layout/app-shell.cjs.js +3 -2
- package/dist/new/layout/app-shell.cjs.js.map +1 -1
- package/dist/new/layout/app-shell.es.js +3 -2
- package/dist/new/layout/app-shell.es.js.map +1 -1
- package/dist/new/layout/page-header.cjs.js +1 -1
- package/dist/new/layout/page-header.es.js +1 -1
- package/dist/new/settings.cjs.js +1 -1
- package/dist/new/settings.es.js +1 -1
- package/dist/new/sidebar.cjs.js +129 -74
- package/dist/new/sidebar.cjs.js.map +1 -1
- package/dist/new/sidebar.es.js +103 -48
- package/dist/new/sidebar.es.js.map +1 -1
- package/dist/notification-activity-B1_2BPe_.js +72 -0
- package/dist/notification-activity-B1_2BPe_.js.map +1 -0
- package/dist/notification-activity-BAn2fhYd.cjs +74 -0
- package/dist/notification-activity-BAn2fhYd.cjs.map +1 -0
- package/dist/page-header-C1WiOrTE.cjs +142 -0
- package/dist/page-header-C1WiOrTE.cjs.map +1 -0
- package/dist/page-header-DIS8V2TK.js +140 -0
- package/dist/page-header-DIS8V2TK.js.map +1 -0
- package/dist/page-header.css +19 -0
- package/dist/plan-DJfH1c_u.js +189 -0
- package/dist/plan-DJfH1c_u.js.map +1 -0
- package/dist/plan-ZKAT5frg.cjs +206 -0
- package/dist/plan-ZKAT5frg.cjs.map +1 -0
- package/dist/primitives/form-element.cjs.js +6 -5
- package/dist/primitives/form-element.cjs.js.map +1 -1
- package/dist/primitives/form-element.es.js +6 -6
- package/dist/primitives/form-element.es.js.map +1 -1
- package/dist/primitives/menu-item.cjs.js +3 -3
- package/dist/primitives/menu-item.cjs.js.map +1 -1
- package/dist/primitives/menu-item.es.js +3 -3
- package/dist/primitives/menu-item.es.js.map +1 -1
- package/dist/primitives/raised-surface.cjs.js +3 -3
- package/dist/primitives/raised-surface.cjs.js.map +1 -1
- package/dist/primitives/raised-surface.es.js +3 -3
- package/dist/primitives/raised-surface.es.js.map +1 -1
- package/dist/primitives/selection-control.cjs.js +2 -2
- package/dist/primitives/selection-control.cjs.js.map +1 -1
- package/dist/primitives/selection-control.es.js +3 -3
- package/dist/primitives/selection-control.es.js.map +1 -1
- package/dist/primitives/transitions.cjs.js +6 -8
- package/dist/primitives/transitions.cjs.js.map +1 -1
- package/dist/primitives/transitions.es.js +5 -9
- package/dist/primitives/transitions.es.js.map +1 -1
- package/dist/primitives/trigger-button.cjs.js +1 -1
- package/dist/primitives/trigger-button.es.js +1 -1
- package/dist/product-identity-CAQoXS5p.cjs +31 -0
- package/dist/product-identity-CAQoXS5p.cjs.map +1 -0
- package/dist/product-identity-DwNTealD.js +27 -0
- package/dist/product-identity-DwNTealD.js.map +1 -0
- package/dist/property-filter-applied-D0F0BYMY.cjs +341 -0
- package/dist/property-filter-applied-D0F0BYMY.cjs.map +1 -0
- package/dist/property-filter-applied-k0TOa9hf.js +337 -0
- package/dist/property-filter-applied-k0TOa9hf.js.map +1 -0
- package/dist/reasoning-activity-CO0Ab1Za.cjs +34 -0
- package/dist/reasoning-activity-CO0Ab1Za.cjs.map +1 -0
- package/dist/reasoning-activity-D3oCzL58.js +32 -0
- package/dist/reasoning-activity-D3oCzL58.js.map +1 -0
- package/dist/reasoning-visibility-B9rA0AIj.js +6 -0
- package/dist/reasoning-visibility-B9rA0AIj.js.map +1 -0
- package/dist/reasoning-visibility-DXho4jGC.cjs +8 -0
- package/dist/reasoning-visibility-DXho4jGC.cjs.map +1 -0
- package/dist/relative-timestamp-D-IvjsVb.cjs +120 -0
- package/dist/relative-timestamp-D-IvjsVb.cjs.map +1 -0
- package/dist/relative-timestamp-wERh5vUE.js +118 -0
- package/dist/relative-timestamp-wERh5vUE.js.map +1 -0
- package/dist/resize/panel-drawer.cjs.js +1 -1
- package/dist/resize/panel-drawer.es.js +1 -1
- package/dist/resize/panel-icon-button.cjs.js +1 -1
- package/dist/resize/panel-icon-button.cjs.js.map +1 -1
- package/dist/resize/panel-icon-button.es.js +1 -1
- package/dist/resize/panel-icon-button.es.js.map +1 -1
- package/dist/resize/separator.cjs.js +3 -3
- package/dist/resize/separator.cjs.js.map +1 -1
- package/dist/resize/separator.es.js +3 -3
- package/dist/resize/separator.es.js.map +1 -1
- package/dist/sankey-chart-D-xMiO2u.js +938 -0
- package/dist/sankey-chart-D-xMiO2u.js.map +1 -0
- package/dist/sankey-chart-S7iF7d0E.cjs +950 -0
- package/dist/sankey-chart-S7iF7d0E.cjs.map +1 -0
- package/dist/scroll-area-CEuf7Omb.cjs +264 -0
- package/dist/scroll-area-CEuf7Omb.cjs.map +1 -0
- package/dist/scroll-area-Ds-fJn5M.js +241 -0
- package/dist/scroll-area-Ds-fJn5M.js.map +1 -0
- package/dist/search-field-block-B1eqMV8x.cjs +127 -0
- package/dist/search-field-block-B1eqMV8x.cjs.map +1 -0
- package/dist/search-field-block-Cj9lJsYi.js +125 -0
- package/dist/search-field-block-Cj9lJsYi.js.map +1 -0
- package/dist/section-B5g_0tUo.js +113 -0
- package/dist/section-B5g_0tUo.js.map +1 -0
- package/dist/section-Bbp-NIR9.cjs +117 -0
- package/dist/section-Bbp-NIR9.cjs.map +1 -0
- package/dist/select-C0ZGSJYa.cjs +164 -0
- package/dist/select-C0ZGSJYa.cjs.map +1 -0
- package/dist/select-ch8imm15.js +138 -0
- package/dist/select-ch8imm15.js.map +1 -0
- package/dist/select-field-block-Dy_N3tWv.cjs +61 -0
- package/dist/select-field-block-Dy_N3tWv.cjs.map +1 -0
- package/dist/select-field-block-_ZUzUs7l.js +59 -0
- package/dist/select-field-block-_ZUzUs7l.js.map +1 -0
- package/dist/settings-row-2hq9Ww8Z.js +124 -0
- package/dist/settings-row-2hq9Ww8Z.js.map +1 -0
- package/dist/settings-row-BMRADph-.cjs +129 -0
- package/dist/settings-row-BMRADph-.cjs.map +1 -0
- package/dist/shimmer.css +1 -1
- package/dist/side-dialog-7P9aEC4v.cjs +294 -0
- package/dist/side-dialog-7P9aEC4v.cjs.map +1 -0
- package/dist/side-dialog-D2O3Y7GB.js +274 -0
- package/dist/side-dialog-D2O3Y7GB.js.map +1 -0
- package/dist/sidebar.css +7 -0
- package/dist/signal-activity-1REUU8T_.js +44 -0
- package/dist/signal-activity-1REUU8T_.js.map +1 -0
- package/dist/signal-activity-4OJb4kp6.cjs +46 -0
- package/dist/signal-activity-4OJb4kp6.cjs.map +1 -0
- package/dist/slider-D9dd_fVN.js +95 -0
- package/dist/slider-D9dd_fVN.js.map +1 -0
- package/dist/slider-T_BIZUV0.cjs +97 -0
- package/dist/slider-T_BIZUV0.cjs.map +1 -0
- package/dist/span-payload-primitives-CEflnpwW.js +70 -0
- package/dist/span-payload-primitives-CEflnpwW.js.map +1 -0
- package/dist/span-payload-primitives-CbXrqcs-.cjs +77 -0
- package/dist/span-payload-primitives-CbXrqcs-.cjs.map +1 -0
- package/dist/src/domains/capabilities/hooks/use-observability-capabilities.d.ts +1 -0
- package/dist/src/domains/chat/components/badge-wrapper.d.ts +3 -3
- package/dist/src/domains/chat/context/dataset-save-context-value.d.ts +12 -0
- package/dist/src/domains/chat/context/dataset-save-context.d.ts +3 -12
- package/dist/src/domains/chat/index.d.ts +2 -0
- package/dist/src/domains/chat/messages/reasoning-content.d.ts +2 -2
- package/dist/src/domains/chat/messages/skill-activation.d.ts +8 -0
- package/dist/src/domains/chat/messages/skill-message.d.ts +4 -0
- package/dist/src/domains/chat/tools/badges/agent-badge-wrapper.d.ts +2 -2
- package/dist/src/domains/chat/tools/badges/agent-badge.d.ts +2 -4
- package/dist/src/domains/chat/tools/badges/awaits-tool-approval.d.ts +4 -0
- package/dist/src/domains/chat/tools/badges/file-tree-badge.d.ts +4 -2
- package/dist/src/domains/chat/tools/badges/observation-marker-badge.d.ts +4 -13
- package/dist/src/domains/chat/tools/badges/observation-marker-details.d.ts +22 -0
- package/dist/src/domains/chat/tools/badges/observation-marker-format.d.ts +4 -0
- package/dist/src/domains/chat/tools/badges/sandbox-execution-badge.d.ts +4 -2
- package/dist/src/domains/chat/tools/badges/tool-badge.d.ts +2 -2
- package/dist/src/domains/chat/tools/badges/workspace-data-parts.d.ts +20 -0
- package/dist/src/domains/chat/tools/badges/workspace-link.d.ts +7 -0
- package/dist/src/domains/chat/tools/submit-plan-tool.d.ts +2 -1
- package/dist/src/domains/chat/tools/tool-card-kind.d.ts +2 -2
- package/dist/src/domains/memory/lib/observation-priority.d.ts +33 -0
- package/dist/src/domains/traces/components/thread-trace/index.d.ts +0 -4
- package/dist/src/domains/traces/components/trace-data-panel-view.stories.d.ts +1 -1
- package/dist/src/domains/workflows/components/workflow-layout.d.ts +1 -1
- package/dist/src/domains/workflows/utils/nested-workflows.d.ts +3 -3
- package/dist/src/domains/workflows/workflow-status-tone.d.ts +16 -0
- package/dist/src/ds/components/AlertDialog/alert-dialog.d.ts +15 -42
- package/dist/src/ds/components/Badge/Badge.d.ts +71 -21
- package/dist/src/ds/components/Badge/badge.stories.d.ts +10 -4
- package/dist/src/ds/components/CodeDiff/code-diff.d.ts +13 -3
- package/dist/src/ds/components/CodeDiff/code-diff.stories.d.ts +3 -0
- package/dist/src/ds/components/Combobox/combobox-styles.d.ts +1 -1
- package/dist/src/ds/components/Command/command.d.ts +3 -2
- package/dist/src/ds/components/DataList/data-list-root.d.ts +1 -1
- package/dist/src/ds/components/DataList/shared.d.ts +3 -3
- package/dist/src/ds/components/Dialog/dialog-action.d.ts +13 -2
- package/dist/src/ds/components/Dialog/dialog-confirmation.stories.d.ts +63 -0
- package/dist/src/ds/components/Dialog/dialog-context.d.ts +0 -2
- package/dist/src/ds/components/Dialog/dialog-shell.d.ts +3 -0
- package/dist/src/ds/components/Dialog/dialog.d.ts +20 -26
- package/dist/src/ds/components/Dialog/dialog.stories.d.ts +49 -7
- package/dist/src/ds/components/Dialog/index.d.ts +1 -1
- package/dist/src/ds/components/Entity/entity.stories.d.ts +0 -1
- package/dist/src/ds/components/ProductAvatar/ProductAvatar.d.ts +6 -0
- package/dist/src/ds/components/ProductAvatar/ProductIcon.d.ts +4 -0
- package/dist/src/ds/components/ProductAvatar/index.d.ts +3 -0
- package/dist/src/ds/components/ProductAvatar/product-avatar.stories.d.ts +19 -0
- package/dist/src/ds/components/ProductAvatar/product-identity.d.ts +11 -0
- package/dist/src/ds/components/ProductAvatar/products.stories.d.ts +7 -0
- package/dist/src/ds/components/ProductBadge/ProductBadge.d.ts +6 -0
- package/dist/src/ds/components/ProductBadge/index.d.ts +2 -0
- package/dist/src/ds/components/ProductBadge/product-badge.stories.d.ts +18 -0
- package/dist/src/ds/components/SankeyChart/index.d.ts +1 -1
- package/dist/src/ds/components/SankeyChart/sankey-chart.d.ts +3 -1
- package/dist/src/ds/components/SankeyChart/sankey-chart.stories.d.ts +1 -0
- package/dist/src/ds/components/SankeyChart/sankey-context.d.ts +3 -3
- package/dist/src/ds/components/SankeyChart/sankeyColor.d.ts +2 -6
- package/dist/src/ds/components/ScrollArea/scroll-area.d.ts +24 -44
- package/dist/src/ds/components/ScrollArea/scroll-area.stories.d.ts +1 -0
- package/dist/src/ds/components/Tabs/tabs-list.d.ts +1 -1
- package/dist/src/ds/components/ThreadList/thread-list.d.ts +3 -1
- package/dist/src/ds/components/ThreadList/thread-list.stories.d.ts +1 -0
- package/dist/src/ds/components/TokenBudget/tones.d.ts +3 -3
- package/dist/src/ds/components/Workflow/cards/workflow-card-badge-utils.d.ts +14 -14
- package/dist/src/ds/components/ai/activity/activity.d.ts +53 -0
- package/dist/src/ds/components/ai/activity/activity.stories.d.ts +337 -0
- package/dist/src/ds/components/ai/activity/index.d.ts +5 -0
- package/dist/src/ds/components/ai/activity/presets/message-preview.d.ts +2 -0
- package/dist/src/ds/components/ai/activity/presets/notification-activity.d.ts +16 -0
- package/dist/src/ds/components/ai/activity/presets/presets.stories.d.ts +40 -0
- package/dist/src/ds/components/ai/activity/presets/reasoning-activity.d.ts +5 -0
- package/dist/src/ds/components/ai/activity/presets/reasoning-activity.stories.d.ts +22 -0
- package/dist/src/ds/components/ai/activity/presets/reasoning-visibility.d.ts +6 -0
- package/dist/src/ds/components/ai/activity/presets/signal-activity.d.ts +9 -0
- package/dist/src/ds/components/ai/plan/plan.d.ts +2 -2
- package/dist/src/ds/components/ai/tool-call/index.d.ts +1 -1
- package/dist/src/ds/components/ai/tool-call/tool-call-arguments.d.ts +3 -6
- package/dist/src/ds/components/ai/tool-call/tool-call-group.d.ts +2 -2
- package/dist/src/ds/components/ai/tool-call/tool-call-mono.d.ts +10 -0
- package/dist/src/ds/components/ai/tool-call/tool-call-presentation.stories.d.ts +4 -4
- package/dist/src/ds/components/ai/tool-call/tool-presentation.d.ts +9 -1
- package/dist/src/ds/components/ai/transcript-divider/index.d.ts +2 -0
- package/dist/src/ds/components/ai/transcript-divider/stories/transcript-divider.stories.d.ts +25 -0
- package/dist/src/ds/components/ai/transcript-divider/transcript-divider.d.ts +5 -0
- package/dist/src/ds/new/layout/page-header/page-header-eyebrow.d.ts +3 -0
- package/dist/src/ds/new/layout/page-header/page-header-root.d.ts +2 -7
- package/dist/src/ds/new/layout/page-header/page-header.d.ts +3 -0
- package/dist/src/ds/new/layout/page-header/page-header.stories.d.ts +4 -2
- package/dist/src/ds/new/sidebar/sidebar-new-header.d.ts +6 -3
- package/dist/src/ds/new/sidebar/sidebar-new-root.d.ts +2 -1
- package/dist/src/ds/new/sidebar/sidebar-new.stories.d.ts +1 -0
- package/dist/src/ds/primitives/form-element.d.ts +3 -2
- package/dist/src/ds/primitives/transitions.d.ts +3 -6
- package/dist/src/ds/tokens/color-foundations.stories.d.ts +20 -4
- package/dist/src/ds/tokens/colors.d.ts +279 -49
- package/dist/src/ds/tokens/foundations-layout.d.ts +0 -1
- package/dist/src/ds/tokens/shadows.d.ts +0 -1
- package/dist/src/ee/signals/lifeline-row.d.ts +1 -2
- package/dist/src/ee/signals/signal-colors.d.ts +3 -7
- package/dist/src/ee/signals/theme-trend-chart.d.ts +2 -2
- package/dist/src/lib/colors.d.ts +11 -5
- package/dist/src/lib/framework.d.ts +4 -1
- package/dist/src/lib/merge-refs.d.ts +2 -0
- package/dist/style.css +1376 -2092
- package/dist/switch-88fWFfVz.js +104 -0
- package/dist/switch-88fWFfVz.js.map +1 -0
- package/dist/switch-Swt75_Sb.cjs +125 -0
- package/dist/switch-Swt75_Sb.cjs.map +1 -0
- package/dist/tabbed-container.css +1 -1
- package/dist/tabs-content-DQNRMjup.cjs +37 -0
- package/dist/tabs-content-DQNRMjup.cjs.map +1 -0
- package/dist/tabs-content-h2qqD8t-.js +35 -0
- package/dist/tabs-content-h2qqD8t-.js.map +1 -0
- package/dist/tabs-root-4vL8SHCO.js +315 -0
- package/dist/tabs-root-4vL8SHCO.js.map +1 -0
- package/dist/tabs-root-BqC8X_h6.cjs +318 -0
- package/dist/tabs-root-BqC8X_h6.cjs.map +1 -0
- package/dist/tabs-root.css +1 -1
- package/dist/tabs-tab-7e2as-AV.js +103 -0
- package/dist/tabs-tab-7e2as-AV.js.map +1 -0
- package/dist/tabs-tab-lm4xyjtD.cjs +107 -0
- package/dist/tabs-tab-lm4xyjtD.cjs.map +1 -0
- package/dist/text-and-icon-4eVhfmbb.cjs +25 -0
- package/dist/text-and-icon-4eVhfmbb.cjs.map +1 -0
- package/dist/text-and-icon-CuBm-Wjm.js +23 -0
- package/dist/text-and-icon-CuBm-Wjm.js.map +1 -0
- package/dist/text-field-block-DJsOk8dJ.js +56 -0
- package/dist/text-field-block-DJsOk8dJ.js.map +1 -0
- package/dist/text-field-block-DYOWjPgO.cjs +58 -0
- package/dist/text-field-block-DYOWjPgO.cjs.map +1 -0
- package/dist/textarea-field-block-C5fPL2Hn.cjs +54 -0
- package/dist/textarea-field-block-C5fPL2Hn.cjs.map +1 -0
- package/dist/textarea-field-block-DqTd31gF.js +52 -0
- package/dist/textarea-field-block-DqTd31gF.js.map +1 -0
- package/dist/thread-list-DGI6M6if.js +74 -0
- package/dist/thread-list-DGI6M6if.js.map +1 -0
- package/dist/thread-list-DwASH1Vl.cjs +81 -0
- package/dist/thread-list-DwASH1Vl.cjs.map +1 -0
- package/dist/time-picker-C0DCPWpR.cjs +78 -0
- package/dist/time-picker-C0DCPWpR.cjs.map +1 -0
- package/dist/time-picker-CfZbLgMm.js +76 -0
- package/dist/time-picker-CfZbLgMm.js.map +1 -0
- package/dist/toast.css +23 -28
- package/dist/tokens.cjs.js +291 -62
- package/dist/tokens.cjs.js.map +1 -1
- package/dist/tokens.es.js +291 -62
- package/dist/tokens.es.js.map +1 -1
- package/dist/tones-BRAQR5Yb.cjs +19 -0
- package/dist/tones-BRAQR5Yb.cjs.map +1 -0
- package/dist/tones-DVtXIMPY.js +16 -0
- package/dist/tones-DVtXIMPY.js.map +1 -0
- package/dist/tool-approval-BAER9nxR.cjs +80 -0
- package/dist/tool-approval-BAER9nxR.cjs.map +1 -0
- package/dist/tool-approval-xZvYiuBP.js +77 -0
- package/dist/tool-approval-xZvYiuBP.js.map +1 -0
- package/dist/tool-call-arguments-D7PMJ6vj.js +74 -0
- package/dist/tool-call-arguments-D7PMJ6vj.js.map +1 -0
- package/dist/tool-call-arguments-ynBfg2dY.cjs +77 -0
- package/dist/tool-call-arguments-ynBfg2dY.cjs.map +1 -0
- package/dist/tool-call-group-9Dtupqev.cjs +64 -0
- package/dist/tool-call-group-9Dtupqev.cjs.map +1 -0
- package/dist/tool-call-group-DJX7eUYY.js +62 -0
- package/dist/tool-call-group-DJX7eUYY.js.map +1 -0
- package/dist/tool-call-mono-DFSfVZ6E.cjs +36 -0
- package/dist/tool-call-mono-DFSfVZ6E.cjs.map +1 -0
- package/dist/tool-call-mono-gKG9Ek1m.js +33 -0
- package/dist/tool-call-mono-gKG9Ek1m.js.map +1 -0
- package/dist/tool-call-output-DEoCE_Xn.js +18 -0
- package/dist/tool-call-output-DEoCE_Xn.js.map +1 -0
- package/dist/tool-call-output-Dl4sVfCy.cjs +20 -0
- package/dist/tool-call-output-Dl4sVfCy.cjs.map +1 -0
- package/dist/tool-card-BA1YcDoS.js +417 -0
- package/dist/tool-card-BA1YcDoS.js.map +1 -0
- package/dist/tool-card-DRqhTx-u.cjs +422 -0
- package/dist/tool-card-DRqhTx-u.cjs.map +1 -0
- package/dist/tool-presentation-BXAo24Ir.js +100 -0
- package/dist/tool-presentation-BXAo24Ir.js.map +1 -0
- package/dist/tool-presentation-WLS6d1ws.cjs +107 -0
- package/dist/tool-presentation-WLS6d1ws.cjs.map +1 -0
- package/dist/traces-data-list-CU93pUfj.cjs +98 -0
- package/dist/traces-data-list-CU93pUfj.cjs.map +1 -0
- package/dist/traces-data-list-DaedGcID.js +96 -0
- package/dist/traces-data-list-DaedGcID.js.map +1 -0
- package/dist/use-text-highlight.css +6 -6
- package/dist/use-workflow-graph-runtime-D0ODPlNB.cjs +302 -0
- package/dist/use-workflow-graph-runtime-D0ODPlNB.cjs.map +1 -0
- package/dist/use-workflow-graph-runtime-XL5zreeR.js +297 -0
- package/dist/use-workflow-graph-runtime-XL5zreeR.js.map +1 -0
- package/dist/utils/colors.cjs.js +30 -14
- package/dist/utils/colors.cjs.js.map +1 -1
- package/dist/utils/colors.es.js +25 -12
- package/dist/utils/colors.es.js.map +1 -1
- package/dist/workflow-code-dialog-content-Iz2Omi1P.js +52 -0
- package/dist/workflow-code-dialog-content-Iz2Omi1P.js.map +1 -0
- package/dist/workflow-code-dialog-content-vLneZlMd.cjs +54 -0
- package/dist/workflow-code-dialog-content-vLneZlMd.cjs.map +1 -0
- package/dist/workflow-condition-card-B0Va5Amx.js +894 -0
- package/dist/workflow-condition-card-B0Va5Amx.js.map +1 -0
- package/dist/workflow-condition-card-CfjhZb0m.cjs +909 -0
- package/dist/workflow-condition-card-CfjhZb0m.cjs.map +1 -0
- package/dist/workflow-data-edge-view-DXeWURnc.cjs +77 -0
- package/dist/workflow-data-edge-view-DXeWURnc.cjs.map +1 -0
- package/dist/workflow-data-edge-view-o7akvbpB.js +75 -0
- package/dist/workflow-data-edge-view-o7akvbpB.js.map +1 -0
- package/dist/workflow-debug-controls-Bcb4vcek.cjs +60 -0
- package/dist/workflow-debug-controls-Bcb4vcek.cjs.map +1 -0
- package/dist/workflow-debug-controls-DULCFa4s.js +58 -0
- package/dist/workflow-debug-controls-DULCFa4s.js.map +1 -0
- package/dist/workflow-edge-data-button-BuZzeN2n.js +52 -0
- package/dist/workflow-edge-data-button-BuZzeN2n.js.map +1 -0
- package/dist/workflow-edge-data-button-CX-eSbSB.cjs +54 -0
- package/dist/workflow-edge-data-button-CX-eSbSB.cjs.map +1 -0
- package/dist/workflow-step-action-Cf_XmOwj.js +49 -0
- package/dist/workflow-step-action-Cf_XmOwj.js.map +1 -0
- package/dist/workflow-step-action-JMkWtObA.cjs +52 -0
- package/dist/workflow-step-action-JMkWtObA.cjs.map +1 -0
- package/package.json +11 -10
- package/theme/colors.css +367 -88
- package/theme/data-viz.css +77 -49
- package/theme/status.css +240 -84
- package/theme/surfaces.css +12 -13
- package/theme.css +3 -31
- package/dist/Badge-Bzn8Z-_I.js +0 -123
- package/dist/Badge-Bzn8Z-_I.js.map +0 -1
- package/dist/Badge-DFNxcz-r.cjs +0 -125
- package/dist/Badge-DFNxcz-r.cjs.map +0 -1
- package/dist/Button-BY9qlu8K.js +0 -200
- package/dist/Button-BY9qlu8K.js.map +0 -1
- package/dist/Button-CIwF6NHM.cjs +0 -204
- package/dist/Button-CIwF6NHM.cjs.map +0 -1
- package/dist/Card-BbwF20OW.cjs +0 -101
- package/dist/Card-BbwF20OW.cjs.map +0 -1
- package/dist/Card-DmT57Pve.js +0 -74
- package/dist/Card-DmT57Pve.js.map +0 -1
- package/dist/EmptyState-BOAT0jz8.cjs +0 -48
- package/dist/EmptyState-BOAT0jz8.cjs.map +0 -1
- package/dist/EmptyState-CkuPLncF.js +0 -46
- package/dist/EmptyState-CkuPLncF.js.map +0 -1
- package/dist/ErrorBoundary-B1D06D4e.cjs +0 -183
- package/dist/ErrorBoundary-B1D06D4e.cjs.map +0 -1
- package/dist/ErrorBoundary-D0kDb8Hn.js +0 -162
- package/dist/ErrorBoundary-D0kDb8Hn.js.map +0 -1
- package/dist/Notice-BiV6N8--.cjs +0 -91
- package/dist/Notice-BiV6N8--.cjs.map +0 -1
- package/dist/Notice-BmoN4qOw.js +0 -89
- package/dist/Notice-BmoN4qOw.js.map +0 -1
- package/dist/alert-dialog-izDBJ9YK.js +0 -107
- package/dist/alert-dialog-izDBJ9YK.js.map +0 -1
- package/dist/alert-dialog-mki13KEg.cjs +0 -128
- package/dist/alert-dialog-mki13KEg.cjs.map +0 -1
- package/dist/ask-user-CHG9S-yu.js +0 -206
- package/dist/ask-user-CHG9S-yu.js.map +0 -1
- package/dist/ask-user-CcFc15CY.cjs +0 -216
- package/dist/ask-user-CcFc15CY.cjs.map +0 -1
- package/dist/chat-notification-DtN7obXx.js +0 -107
- package/dist/chat-notification-DtN7obXx.js.map +0 -1
- package/dist/chat-notification-_JPCcwQQ.cjs +0 -111
- package/dist/chat-notification-_JPCcwQQ.cjs.map +0 -1
- package/dist/chat-signal-BE07bB83.cjs +0 -42
- package/dist/chat-signal-BE07bB83.cjs.map +0 -1
- package/dist/chat-signal-CQBY0aLn.js +0 -40
- package/dist/chat-signal-CQBY0aLn.js.map +0 -1
- package/dist/code-block-C6-5zM_o.cjs +0 -88
- package/dist/code-block-C6-5zM_o.cjs.map +0 -1
- package/dist/code-block-D-skg1p_.js +0 -86
- package/dist/code-block-D-skg1p_.js.map +0 -1
- package/dist/code-diff-BgmXIX2v.js +0 -145
- package/dist/code-diff-BgmXIX2v.js.map +0 -1
- package/dist/code-diff-yR3Gan2m.cjs +0 -147
- package/dist/code-diff-yR3Gan2m.cjs.map +0 -1
- package/dist/code-editor-By2dTBXC.cjs +0 -495
- package/dist/code-editor-By2dTBXC.cjs.map +0 -1
- package/dist/code-editor-F12uuTDl.js +0 -487
- package/dist/code-editor-F12uuTDl.js.map +0 -1
- package/dist/collapsible-BFSJouuI.cjs +0 -61
- package/dist/collapsible-BFSJouuI.cjs.map +0 -1
- package/dist/collapsible-DhhP5p1j.js +0 -57
- package/dist/collapsible-DhhP5p1j.js.map +0 -1
- package/dist/combobox-Bel2EaKX.js +0 -191
- package/dist/combobox-Bel2EaKX.js.map +0 -1
- package/dist/combobox-CJBXDMDk.cjs +0 -212
- package/dist/combobox-CJBXDMDk.cjs.map +0 -1
- package/dist/combobox-styles-BIiOaOkk.cjs +0 -97
- package/dist/combobox-styles-BIiOaOkk.cjs.map +0 -1
- package/dist/combobox-styles-DQ8EVIcc.js +0 -93
- package/dist/combobox-styles-DQ8EVIcc.js.map +0 -1
- package/dist/command-Cxdxr3on.js +0 -182
- package/dist/command-Cxdxr3on.js.map +0 -1
- package/dist/command-DCZJIsbf.cjs +0 -211
- package/dist/command-DCZJIsbf.cjs.map +0 -1
- package/dist/comment-C2XwbnAP.cjs +0 -214
- package/dist/comment-C2XwbnAP.cjs.map +0 -1
- package/dist/comment-DivGawYy.js +0 -202
- package/dist/comment-DivGawYy.js.map +0 -1
- package/dist/components/ai/chat-event.cjs.js +0 -42
- package/dist/components/ai/chat-event.cjs.js.map +0 -1
- package/dist/components/ai/chat-event.d.ts +0 -2
- package/dist/components/ai/chat-event.es.js +0 -36
- package/dist/components/ai/chat-event.es.js.map +0 -1
- package/dist/composer-B_Err196.cjs +0 -156
- package/dist/composer-B_Err196.cjs.map +0 -1
- package/dist/composer-DJGAoBcn.js +0 -148
- package/dist/composer-DJGAoBcn.js.map +0 -1
- package/dist/copy-button-1PyYnSGS.cjs +0 -38
- package/dist/copy-button-1PyYnSGS.cjs.map +0 -1
- package/dist/copy-button-u3gk4RoJ.js +0 -36
- package/dist/copy-button-u3gk4RoJ.js.map +0 -1
- package/dist/data-code-section-DJYrPSas.cjs +0 -201
- package/dist/data-code-section-DJYrPSas.cjs.map +0 -1
- package/dist/data-code-section-kJ4tC12g.js +0 -199
- package/dist/data-code-section-kJ4tC12g.js.map +0 -1
- package/dist/data-keys-and-values-OR8KkBEc.cjs +0 -109
- package/dist/data-keys-and-values-OR8KkBEc.cjs.map +0 -1
- package/dist/data-keys-and-values-uWBaTX6Y.js +0 -107
- package/dist/data-keys-and-values-uWBaTX6Y.js.map +0 -1
- package/dist/data-list-DEKEzLzK.cjs +0 -125
- package/dist/data-list-DEKEzLzK.cjs.map +0 -1
- package/dist/data-list-skeleton-COqiIiMk.js +0 -36
- package/dist/data-list-skeleton-COqiIiMk.js.map +0 -1
- package/dist/data-list-skeleton-xdEctGVs.cjs +0 -38
- package/dist/data-list-skeleton-xdEctGVs.cjs.map +0 -1
- package/dist/data-list-spacer-CcY4Md1u.js +0 -200
- package/dist/data-list-spacer-CcY4Md1u.js.map +0 -1
- package/dist/data-list-spacer-Duvki6d9.cjs +0 -209
- package/dist/data-list-spacer-Duvki6d9.cjs.map +0 -1
- package/dist/data-list-top-C3SvVMNH.js +0 -357
- package/dist/data-list-top-C3SvVMNH.js.map +0 -1
- package/dist/data-list-top-CbWpkCBc.cjs +0 -382
- package/dist/data-list-top-CbWpkCBc.cjs.map +0 -1
- package/dist/data-list-u1TC5cbd.js +0 -121
- package/dist/data-list-u1TC5cbd.js.map +0 -1
- package/dist/data-panel-D2kZv9vY.cjs +0 -270
- package/dist/data-panel-D2kZv9vY.cjs.map +0 -1
- package/dist/data-panel-DzzwYYxO.js +0 -250
- package/dist/data-panel-DzzwYYxO.js.map +0 -1
- package/dist/date-time-range-picker-B3L39JoT.cjs +0 -180
- package/dist/date-time-range-picker-B3L39JoT.cjs.map +0 -1
- package/dist/date-time-range-picker-CVAK6Nas.js +0 -178
- package/dist/date-time-range-picker-CVAK6Nas.js.map +0 -1
- package/dist/dialog-75R05iBY.cjs +0 -29
- package/dist/dialog-75R05iBY.cjs.map +0 -1
- package/dist/dialog-BpW3qHc1.js +0 -8
- package/dist/dialog-BpW3qHc1.js.map +0 -1
- package/dist/dialog-CDg8uu4t.cjs +0 -280
- package/dist/dialog-CDg8uu4t.cjs.map +0 -1
- package/dist/dialog-CZBP5xw9.js +0 -246
- package/dist/dialog-CZBP5xw9.js.map +0 -1
- package/dist/dialog-action-BmUMDvL5.cjs +0 -185
- package/dist/dialog-action-BmUMDvL5.cjs.map +0 -1
- package/dist/dialog-action-DF5s1_r9.js +0 -183
- package/dist/dialog-action-DF5s1_r9.js.map +0 -1
- package/dist/domains/chat/messages/notification-signal-notice-variant.cjs.js +0 -19
- package/dist/domains/chat/messages/notification-signal-notice-variant.cjs.js.map +0 -1
- package/dist/domains/chat/messages/notification-signal-notice-variant.d.ts +0 -2
- package/dist/domains/chat/messages/notification-signal-notice-variant.es.js +0 -15
- package/dist/domains/chat/messages/notification-signal-notice-variant.es.js.map +0 -1
- package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js +0 -25
- package/dist/domains/chat/messages/reasoning-streaming-line.cjs.js.map +0 -1
- package/dist/domains/chat/messages/reasoning-streaming-line.d.ts +0 -2
- package/dist/domains/chat/messages/reasoning-streaming-line.es.js +0 -21
- package/dist/domains/chat/messages/reasoning-streaming-line.es.js.map +0 -1
- package/dist/domains/chat/messages/reasoning.cjs.js +0 -27
- package/dist/domains/chat/messages/reasoning.cjs.js.map +0 -1
- package/dist/domains/chat/messages/reasoning.d.ts +0 -2
- package/dist/domains/chat/messages/reasoning.es.js +0 -23
- package/dist/domains/chat/messages/reasoning.es.js.map +0 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-rail.cjs.js +0 -35
- package/dist/domains/traces/components/thread-trace/thread-trace-rail.cjs.js.map +0 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-rail.d.ts +0 -2
- package/dist/domains/traces/components/thread-trace/thread-trace-rail.es.js +0 -31
- package/dist/domains/traces/components/thread-trace/thread-trace-rail.es.js.map +0 -1
- package/dist/domains/traces/hooks/use-thread-rail-turns.cjs.js +0 -26
- package/dist/domains/traces/hooks/use-thread-rail-turns.cjs.js.map +0 -1
- package/dist/domains/traces/hooks/use-thread-rail-turns.d.ts +0 -2
- package/dist/domains/traces/hooks/use-thread-rail-turns.es.js +0 -21
- package/dist/domains/traces/hooks/use-thread-rail-turns.es.js.map +0 -1
- package/dist/drawer-C1VyTeuX.js +0 -327
- package/dist/drawer-C1VyTeuX.js.map +0 -1
- package/dist/drawer-tUWEluOi.cjs +0 -365
- package/dist/drawer-tUWEluOi.cjs.map +0 -1
- package/dist/field-block-BG5E7u9v.cjs +0 -87
- package/dist/field-block-BG5E7u9v.cjs.map +0 -1
- package/dist/field-block-BRLwud-v.js +0 -85
- package/dist/field-block-BRLwud-v.js.map +0 -1
- package/dist/field-block-error-msg-Y0fi0HUC.js +0 -22
- package/dist/field-block-error-msg-Y0fi0HUC.js.map +0 -1
- package/dist/field-block-error-msg-oudJz2Hx.cjs +0 -24
- package/dist/field-block-error-msg-oudJz2Hx.cjs.map +0 -1
- package/dist/filter-bar-chip-BgrXebUP.cjs +0 -1233
- package/dist/filter-bar-chip-BgrXebUP.cjs.map +0 -1
- package/dist/filter-bar-chip-Dp-MJ5gB.js +0 -1211
- package/dist/filter-bar-chip-Dp-MJ5gB.js.map +0 -1
- package/dist/horizontal-bars-43dr_F8j.cjs +0 -141
- package/dist/horizontal-bars-43dr_F8j.cjs.map +0 -1
- package/dist/horizontal-bars-DsTY4Y1M.js +0 -139
- package/dist/horizontal-bars-DsTY4Y1M.js.map +0 -1
- package/dist/input-group-CMFu6PUv.js +0 -196
- package/dist/input-group-CMFu6PUv.js.map +0 -1
- package/dist/input-group-mWZK0Lpw.cjs +0 -222
- package/dist/input-group-mWZK0Lpw.cjs.map +0 -1
- package/dist/list-search-BXoac6o3.js +0 -69
- package/dist/list-search-BXoac6o3.js.map +0 -1
- package/dist/list-search-Cuv2Y2J_.cjs +0 -71
- package/dist/list-search-Cuv2Y2J_.cjs.map +0 -1
- package/dist/logs-data-list-CHKSTiQb.js +0 -81
- package/dist/logs-data-list-CHKSTiQb.js.map +0 -1
- package/dist/logs-data-list-D-_gGvS8.cjs +0 -83
- package/dist/logs-data-list-D-_gGvS8.cjs.map +0 -1
- package/dist/main-sidebar-CIiWGCgI.js +0 -898
- package/dist/main-sidebar-CIiWGCgI.js.map +0 -1
- package/dist/main-sidebar-CV19jNRC.cjs +0 -916
- package/dist/main-sidebar-CV19jNRC.cjs.map +0 -1
- package/dist/markdown-renderer-DLehCdpz.cjs +0 -409
- package/dist/markdown-renderer-DLehCdpz.cjs.map +0 -1
- package/dist/markdown-renderer-DdD4LqK4.js +0 -407
- package/dist/markdown-renderer-DdD4LqK4.js.map +0 -1
- package/dist/message-D9b33Pf_.cjs +0 -66
- package/dist/message-D9b33Pf_.cjs.map +0 -1
- package/dist/message-DRb9nopu.js +0 -62
- package/dist/message-DRb9nopu.js.map +0 -1
- package/dist/message-copy-button-B7wrqavw.cjs +0 -11
- package/dist/message-copy-button-B7wrqavw.cjs.map +0 -1
- package/dist/message-copy-button-DyrD6I3O.js +0 -9
- package/dist/message-copy-button-DyrD6I3O.js.map +0 -1
- package/dist/message-scroller-c22pIucB.cjs +0 -860
- package/dist/message-scroller-c22pIucB.cjs.map +0 -1
- package/dist/message-scroller-context-DFynTlSh.js +0 -23
- package/dist/message-scroller-context-DFynTlSh.js.map +0 -1
- package/dist/message-scroller-hooks-BLilySMj.js +0 -46
- package/dist/message-scroller-hooks-BLilySMj.js.map +0 -1
- package/dist/message-scroller-v1kQVq2v.js +0 -834
- package/dist/message-scroller-v1kQVq2v.js.map +0 -1
- package/dist/metrics-card-C2RTi5Ew.js +0 -93
- package/dist/metrics-card-C2RTi5Ew.js.map +0 -1
- package/dist/metrics-card-DzcVJTAN.cjs +0 -95
- package/dist/metrics-card-DzcVJTAN.cjs.map +0 -1
- package/dist/metrics-kpi-card-BVCuXeDa.js +0 -94
- package/dist/metrics-kpi-card-BVCuXeDa.js.map +0 -1
- package/dist/metrics-kpi-card-DoIeHfv6.cjs +0 -96
- package/dist/metrics-kpi-card-DoIeHfv6.cjs.map +0 -1
- package/dist/metrics-line-chart-CwvP8dUo.js +0 -102
- package/dist/metrics-line-chart-CwvP8dUo.js.map +0 -1
- package/dist/metrics-line-chart-kz8QgD9q.cjs +0 -104
- package/dist/metrics-line-chart-kz8QgD9q.cjs.map +0 -1
- package/dist/metrics-line-chart-tooltip-Bp7Giyp9.js +0 -50
- package/dist/metrics-line-chart-tooltip-Bp7Giyp9.js.map +0 -1
- package/dist/metrics-line-chart-tooltip-Dp34Hg6w.cjs +0 -53
- package/dist/metrics-line-chart-tooltip-Dp34Hg6w.cjs.map +0 -1
- package/dist/page-header-BGyZw13s.js +0 -115
- package/dist/page-header-BGyZw13s.js.map +0 -1
- package/dist/page-header-CqvBk1wE.cjs +0 -117
- package/dist/page-header-CqvBk1wE.cjs.map +0 -1
- package/dist/plan--c77t-qX.cjs +0 -206
- package/dist/plan--c77t-qX.cjs.map +0 -1
- package/dist/plan-fhKsQQAW.js +0 -189
- package/dist/plan-fhKsQQAW.js.map +0 -1
- package/dist/property-filter-applied-D9ic9S7S.js +0 -337
- package/dist/property-filter-applied-D9ic9S7S.js.map +0 -1
- package/dist/property-filter-applied-FrNNM2Aa.cjs +0 -341
- package/dist/property-filter-applied-FrNNM2Aa.cjs.map +0 -1
- package/dist/relative-timestamp-BqGyFlxW.cjs +0 -120
- package/dist/relative-timestamp-BqGyFlxW.cjs.map +0 -1
- package/dist/relative-timestamp-DXBeY2hD.js +0 -118
- package/dist/relative-timestamp-DXBeY2hD.js.map +0 -1
- package/dist/sankey-chart-C1e0nRc3.cjs +0 -926
- package/dist/sankey-chart-C1e0nRc3.cjs.map +0 -1
- package/dist/sankey-chart-jvMXKzud.js +0 -916
- package/dist/sankey-chart-jvMXKzud.js.map +0 -1
- package/dist/sankeyColor-BoMbAWtq.js +0 -48
- package/dist/sankeyColor-BoMbAWtq.js.map +0 -1
- package/dist/sankeyColor-DHE7ggh8.cjs +0 -53
- package/dist/sankeyColor-DHE7ggh8.cjs.map +0 -1
- package/dist/scroll-area-BzOyuS8Y.cjs +0 -249
- package/dist/scroll-area-BzOyuS8Y.cjs.map +0 -1
- package/dist/scroll-area-DyTZoISq.js +0 -227
- package/dist/scroll-area-DyTZoISq.js.map +0 -1
- package/dist/search-field-block-Bcgo08Vu.cjs +0 -127
- package/dist/search-field-block-Bcgo08Vu.cjs.map +0 -1
- package/dist/search-field-block-ClMMuCq0.js +0 -125
- package/dist/search-field-block-ClMMuCq0.js.map +0 -1
- package/dist/section-9Aqb0bt8.js +0 -110
- package/dist/section-9Aqb0bt8.js.map +0 -1
- package/dist/section-DkqPjf8E.cjs +0 -114
- package/dist/section-DkqPjf8E.cjs.map +0 -1
- package/dist/select-B_xxIbdq.js +0 -138
- package/dist/select-B_xxIbdq.js.map +0 -1
- package/dist/select-C2IbXjKQ.cjs +0 -164
- package/dist/select-C2IbXjKQ.cjs.map +0 -1
- package/dist/select-field-block-Bkt0eE15.js +0 -59
- package/dist/select-field-block-Bkt0eE15.js.map +0 -1
- package/dist/select-field-block-X1b2lzJ-.cjs +0 -61
- package/dist/select-field-block-X1b2lzJ-.cjs.map +0 -1
- package/dist/settings-row-DYEDiq6R.js +0 -117
- package/dist/settings-row-DYEDiq6R.js.map +0 -1
- package/dist/settings-row-DrVBY0qS.cjs +0 -122
- package/dist/settings-row-DrVBY0qS.cjs.map +0 -1
- package/dist/side-dialog-2JVgN0vs.cjs +0 -294
- package/dist/side-dialog-2JVgN0vs.cjs.map +0 -1
- package/dist/side-dialog-BCREZ1dF.js +0 -274
- package/dist/side-dialog-BCREZ1dF.js.map +0 -1
- package/dist/signals-empty-state.css +0 -54
- package/dist/slider-C-Fda4HC.cjs +0 -97
- package/dist/slider-C-Fda4HC.cjs.map +0 -1
- package/dist/slider-MM3K0Pyv.js +0 -95
- package/dist/slider-MM3K0Pyv.js.map +0 -1
- package/dist/span-payload-primitives-CDE-brSn.js +0 -68
- package/dist/span-payload-primitives-CDE-brSn.js.map +0 -1
- package/dist/span-payload-primitives-CcRvL12M.cjs +0 -75
- package/dist/span-payload-primitives-CcRvL12M.cjs.map +0 -1
- package/dist/src/domains/chat/messages/notification-signal-notice-variant.d.ts +0 -1
- package/dist/src/domains/chat/messages/reasoning-streaming-line.d.ts +0 -4
- package/dist/src/domains/chat/messages/reasoning.d.ts +0 -8
- package/dist/src/domains/chat/stories/reasoning.stories.d.ts +0 -21
- package/dist/src/domains/chat/stories/signals.stories.d.ts +0 -17
- package/dist/src/domains/chat/stories/system-reminders.stories.d.ts +0 -15
- package/dist/src/domains/traces/components/thread-trace/thread-trace-rail.d.ts +0 -9
- package/dist/src/domains/traces/hooks/use-thread-rail-turns.d.ts +0 -8
- package/dist/src/ds/components/Dialog/dialog-new-variant.stories.d.ts +0 -64
- package/dist/src/ds/components/ai/chat-event/chat-event-preview.d.ts +0 -1
- package/dist/src/ds/components/ai/chat-event/chat-event.d.ts +0 -14
- package/dist/src/ds/components/ai/chat-event/chat-notification.d.ts +0 -17
- package/dist/src/ds/components/ai/chat-event/chat-signal.d.ts +0 -9
- package/dist/src/ds/components/ai/chat-event/chat-skill.d.ts +0 -7
- package/dist/src/ds/components/ai/chat-event/chat-time-gap.d.ts +0 -3
- package/dist/src/ds/components/ai/chat-event/index.d.ts +0 -7
- package/dist/src/ds/components/ai/chat-event/notification-variant.d.ts +0 -2
- package/dist/src/ds/components/ai/chat-event/stories/notification.stories.d.ts +0 -59
- package/dist/src/ds/components/ai/chat-event/stories/signal.stories.d.ts +0 -46
- package/dist/src/ds/components/ai/chat-event/stories/skill.stories.d.ts +0 -29
- package/dist/src/ds/components/ai/chat-event/stories/time-gap.stories.d.ts +0 -16
- package/dist/src/ds/components/ai/tool-call/tool-call.d.ts +0 -47
- package/dist/src/ds/components/ai/tool-call/tool-call.stories.d.ts +0 -9
- package/dist/src/lib/as-child.d.ts +0 -22
- package/dist/switch-6125Oajw.cjs +0 -124
- package/dist/switch-6125Oajw.cjs.map +0 -1
- package/dist/switch-CE9jTpUG.js +0 -103
- package/dist/switch-CE9jTpUG.js.map +0 -1
- package/dist/tabs-content-C3x4OoZ_.js +0 -35
- package/dist/tabs-content-C3x4OoZ_.js.map +0 -1
- package/dist/tabs-content-DKELc1lK.cjs +0 -37
- package/dist/tabs-content-DKELc1lK.cjs.map +0 -1
- package/dist/tabs-root-5s72GhmI.cjs +0 -315
- package/dist/tabs-root-5s72GhmI.cjs.map +0 -1
- package/dist/tabs-root-Dh-McKbO.js +0 -312
- package/dist/tabs-root-Dh-McKbO.js.map +0 -1
- package/dist/tabs-tab-BDdO7sWN.js +0 -103
- package/dist/tabs-tab-BDdO7sWN.js.map +0 -1
- package/dist/tabs-tab-BzurlE52.cjs +0 -107
- package/dist/tabs-tab-BzurlE52.cjs.map +0 -1
- package/dist/text-and-icon-BcHVl157.cjs +0 -21
- package/dist/text-and-icon-BcHVl157.cjs.map +0 -1
- package/dist/text-and-icon-wzPA3yr_.js +0 -19
- package/dist/text-and-icon-wzPA3yr_.js.map +0 -1
- package/dist/text-field-block-BCOCO1W2.cjs +0 -58
- package/dist/text-field-block-BCOCO1W2.cjs.map +0 -1
- package/dist/text-field-block-yNMK8lM0.js +0 -56
- package/dist/text-field-block-yNMK8lM0.js.map +0 -1
- package/dist/textarea-field-block-CQOWTloR.js +0 -52
- package/dist/textarea-field-block-CQOWTloR.js.map +0 -1
- package/dist/textarea-field-block-DlV3zmOi.cjs +0 -54
- package/dist/textarea-field-block-DlV3zmOi.cjs.map +0 -1
- package/dist/thread-list-D7x7cggy.js +0 -72
- package/dist/thread-list-D7x7cggy.js.map +0 -1
- package/dist/thread-list-RfLw5JAn.cjs +0 -79
- package/dist/thread-list-RfLw5JAn.cjs.map +0 -1
- package/dist/thread-rail-BVpfkSyT.cjs +0 -343
- package/dist/thread-rail-BVpfkSyT.cjs.map +0 -1
- package/dist/thread-rail-DV89nFnn.js +0 -322
- package/dist/thread-rail-DV89nFnn.js.map +0 -1
- package/dist/thread-rail-turns-Co78M03v.cjs +0 -100
- package/dist/thread-rail-turns-Co78M03v.cjs.map +0 -1
- package/dist/thread-rail-turns-DmOL1kzt.js +0 -96
- package/dist/thread-rail-turns-DmOL1kzt.js.map +0 -1
- package/dist/time-picker-CkP8lNtI.js +0 -76
- package/dist/time-picker-CkP8lNtI.js.map +0 -1
- package/dist/time-picker-WCUzLJ-U.cjs +0 -78
- package/dist/time-picker-WCUzLJ-U.cjs.map +0 -1
- package/dist/tones-BGChDydJ.cjs +0 -19
- package/dist/tones-BGChDydJ.cjs.map +0 -1
- package/dist/tones-CzIKDKD-.js +0 -16
- package/dist/tones-CzIKDKD-.js.map +0 -1
- package/dist/tool-approval-D4_2Gc8e.cjs +0 -69
- package/dist/tool-approval-D4_2Gc8e.cjs.map +0 -1
- package/dist/tool-approval-gmDi8ZMB.js +0 -66
- package/dist/tool-approval-gmDi8ZMB.js.map +0 -1
- package/dist/tool-call-B0BQizdj.js +0 -185
- package/dist/tool-call-B0BQizdj.js.map +0 -1
- package/dist/tool-call-DELhfAdn.cjs +0 -200
- package/dist/tool-call-DELhfAdn.cjs.map +0 -1
- package/dist/tool-call-group-BfKO02wG.js +0 -62
- package/dist/tool-call-group-BfKO02wG.js.map +0 -1
- package/dist/tool-call-group-vZw3eZ_G.cjs +0 -64
- package/dist/tool-call-group-vZw3eZ_G.cjs.map +0 -1
- package/dist/tool-call-output-BFkL6RFA.cjs +0 -101
- package/dist/tool-call-output-BFkL6RFA.cjs.map +0 -1
- package/dist/tool-call-output-ChJk9-Za.js +0 -95
- package/dist/tool-call-output-ChJk9-Za.js.map +0 -1
- package/dist/tool-card-CBDOgK2M.cjs +0 -430
- package/dist/tool-card-CBDOgK2M.cjs.map +0 -1
- package/dist/tool-card-LAvGC99j.js +0 -425
- package/dist/tool-card-LAvGC99j.js.map +0 -1
- package/dist/tool-presentation-C7aizVF5.js +0 -90
- package/dist/tool-presentation-C7aizVF5.js.map +0 -1
- package/dist/tool-presentation-CupoLbdM.cjs +0 -95
- package/dist/tool-presentation-CupoLbdM.cjs.map +0 -1
- package/dist/traces-data-list-DjYZ6I61.js +0 -95
- package/dist/traces-data-list-DjYZ6I61.js.map +0 -1
- package/dist/traces-data-list-wzaZ6SKO.cjs +0 -97
- package/dist/traces-data-list-wzaZ6SKO.cjs.map +0 -1
- package/dist/use-workflow-graph-runtime-Bb0Hogzq.js +0 -297
- package/dist/use-workflow-graph-runtime-Bb0Hogzq.js.map +0 -1
- package/dist/use-workflow-graph-runtime-BsBMVYQ7.cjs +0 -302
- package/dist/use-workflow-graph-runtime-BsBMVYQ7.cjs.map +0 -1
- package/dist/workflow-code-dialog-content-BcT4gT_3.js +0 -52
- package/dist/workflow-code-dialog-content-BcT4gT_3.js.map +0 -1
- package/dist/workflow-code-dialog-content-Bw7nXZzf.cjs +0 -54
- package/dist/workflow-code-dialog-content-Bw7nXZzf.cjs.map +0 -1
- package/dist/workflow-condition-card-BMgzF6ef.cjs +0 -901
- package/dist/workflow-condition-card-BMgzF6ef.cjs.map +0 -1
- package/dist/workflow-condition-card-Ch_oHojN.js +0 -886
- package/dist/workflow-condition-card-Ch_oHojN.js.map +0 -1
- package/dist/workflow-data-edge-view-BgzJznv3.cjs +0 -77
- package/dist/workflow-data-edge-view-BgzJznv3.cjs.map +0 -1
- package/dist/workflow-data-edge-view-BhmhXi0X.js +0 -75
- package/dist/workflow-data-edge-view-BhmhXi0X.js.map +0 -1
- package/dist/workflow-debug-controls-CyeClKLl.cjs +0 -59
- package/dist/workflow-debug-controls-CyeClKLl.cjs.map +0 -1
- package/dist/workflow-debug-controls-DTG9uMPM.js +0 -57
- package/dist/workflow-debug-controls-DTG9uMPM.js.map +0 -1
- package/dist/workflow-edge-data-button-CfGM-0WO.cjs +0 -54
- package/dist/workflow-edge-data-button-CfGM-0WO.cjs.map +0 -1
- package/dist/workflow-edge-data-button-DAm2Y2eu.js +0 -52
- package/dist/workflow-edge-data-button-DAm2Y2eu.js.map +0 -1
- package/dist/workflow-step-action-CXafz2Ie.cjs +0 -52
- package/dist/workflow-step-action-CXafz2Ie.cjs.map +0 -1
- package/dist/workflow-step-action-DQaryuQe.js +0 -49
- package/dist/workflow-step-action-DQaryuQe.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter-bar-chip-Dp-MJ5gB.js","sources":["../src/ds/components/FilterBar/filter-bar-tree.ts","../src/ds/components/FilterBar/filter-bar-context.tsx","../src/ds/components/FilterBar/filter-bar-option-list.tsx","../src/ds/components/FilterBar/match-query.ts","../src/ds/components/FilterBar/use-value-suggestions.ts","../src/ds/components/FilterBar/use-value-step.ts","../src/ds/components/FilterBar/filter-bar-chip.tsx"],"sourcesContent":["import type { FilterBarExpression, FilterBarGroup, FilterBarItem, FilterBarLogic, FilterBarNode } from './types';\nimport { isFilterBarGroup } from './types';\n\nexport type FilterBarValueInput = FilterBarItem[] | FilterBarExpression;\n\nexport const ROOT_GROUP_ID = 'root';\n\nexport const normalize = (value: FilterBarValueInput): FilterBarExpression =>\n Array.isArray(value) ? { logic: 'and', nodes: value } : value;\n\n/** Hands back the shape the consumer gave us: flat arrays only ever contain items. */\nexport const denormalize = (expr: FilterBarExpression, flat: boolean): FilterBarValueInput =>\n flat ? expr.nodes.filter((node): node is FilterBarItem => !isFilterBarGroup(node)) : expr;\n\nexport type FlatEntry = { item: FilterBarItem; groupId?: string };\n\n/**\n * Items in document order (pre-order, depth-first), each tagged with the group it lives\n * in. A group's leaves sit where its advanced chip sits in the bar, so arrow navigation\n * walks the bar left to right.\n */\nexport const flattenItems = (expr: FilterBarExpression): FlatEntry[] => {\n const out: FlatEntry[] = [];\n const walk = (nodes: FilterBarNode[], groupId: string | undefined) => {\n for (const node of nodes) {\n if (isFilterBarGroup(node)) walk(node.nodes, node.id);\n else out.push(groupId ? { item: node, groupId } : { item: node });\n }\n };\n walk(expr.nodes, undefined);\n return out;\n};\n\nconst findGroupIn = (nodes: FilterBarNode[], groupId: string): FilterBarGroup | undefined => {\n for (const node of nodes) {\n if (!isFilterBarGroup(node)) continue;\n if (node.id === groupId) return node;\n const nested = findGroupIn(node.nodes, groupId);\n if (nested) return nested;\n }\n return undefined;\n};\n\nexport const findGroup = (expr: FilterBarExpression, groupId: string): FilterBarGroup | undefined =>\n findGroupIn(expr.nodes, groupId);\n\nexport const findItem = (expr: FilterBarExpression, itemId: string): FlatEntry | undefined =>\n flattenItems(expr).find(entry => entry.item.id === itemId);\n\n/** Nesting level of a group: root-level groups are at depth 1; `0` when not found. */\nexport const groupDepth = (expr: FilterBarExpression, groupId: string): number => {\n const walk = (nodes: FilterBarNode[], depth: number): number => {\n for (const node of nodes) {\n if (!isFilterBarGroup(node)) continue;\n if (node.id === groupId) return depth;\n const nested = walk(node.nodes, depth + 1);\n if (nested) return nested;\n }\n return 0;\n };\n return walk(expr.nodes, 1);\n};\n\n/** Number of leaf conditions under a group, at any depth. */\nexport const countLeaves = (group: FilterBarGroup): number =>\n group.nodes.reduce((sum, node) => sum + (isFilterBarGroup(node) ? countLeaves(node) : 1), 0);\n\n/** Ids of a group and every node below it. */\nexport const collectIds = (group: FilterBarGroup): string[] => [\n group.id,\n ...group.nodes.flatMap(node => (isFilterBarGroup(node) ? collectIds(node) : [node.id])),\n];\n\nconst mapGroup = (\n nodes: FilterBarNode[],\n groupId: string,\n fn: (group: FilterBarGroup) => FilterBarGroup,\n): FilterBarNode[] =>\n nodes.map(node => {\n if (!isFilterBarGroup(node)) return node;\n return node.id === groupId ? fn(node) : { ...node, nodes: mapGroup(node.nodes, groupId, fn) };\n });\n\nconst mapItems = (nodes: FilterBarNode[], fn: (item: FilterBarItem) => FilterBarItem): FilterBarNode[] =>\n nodes.map(node => (isFilterBarGroup(node) ? { ...node, nodes: mapItems(node.nodes, fn) } : fn(node)));\n\nconst filterNodes = (nodes: FilterBarNode[], keep: (node: FilterBarNode) => boolean): FilterBarNode[] =>\n nodes.filter(keep).map(node => (isFilterBarGroup(node) ? { ...node, nodes: filterNodes(node.nodes, keep) } : node));\n\nexport const updateItem = (\n expr: FilterBarExpression,\n itemId: string,\n patch: Partial<Omit<FilterBarItem, 'id'>>,\n): FilterBarExpression => ({\n ...expr,\n nodes: mapItems(expr.nodes, item => (item.id === itemId ? { ...item, ...patch } : item)),\n});\n\n/** Removes an item or a group by id at any depth. Groups left empty are kept (see `pruneEmptyGroups`). */\nexport const removeNode = (expr: FilterBarExpression, id: string): FilterBarExpression => ({\n ...expr,\n nodes: filterNodes(expr.nodes, node => node.id !== id),\n});\n\nexport const removeNodes = (expr: FilterBarExpression, ids: Iterable<string>): FilterBarExpression => {\n const drop = new Set(ids);\n return { ...expr, nodes: filterNodes(expr.nodes, node => !drop.has(node.id)) };\n};\n\nconst pruneNodes = (nodes: FilterBarNode[]): FilterBarNode[] =>\n nodes.flatMap((node): FilterBarNode[] => {\n if (!isFilterBarGroup(node)) return [node];\n const pruned = pruneNodes(node.nodes);\n return pruned.length === 0 ? [] : [{ ...node, nodes: pruned }];\n });\n\n/** Drops every group with no leaf left, bottom-up. */\nexport const pruneEmptyGroups = (expr: FilterBarExpression): FilterBarExpression => ({\n ...expr,\n nodes: pruneNodes(expr.nodes),\n});\n\nexport const insertItem = (\n expr: FilterBarExpression,\n groupId: string | undefined,\n item: FilterBarItem,\n): FilterBarExpression => {\n if (!groupId || groupId === ROOT_GROUP_ID) return { ...expr, nodes: [...expr.nodes, item] };\n return { ...expr, nodes: mapGroup(expr.nodes, groupId, group => ({ ...group, nodes: [...group.nodes, item] })) };\n};\n\nexport const setGroupLogic = (\n expr: FilterBarExpression,\n groupId: string,\n logic: FilterBarLogic,\n): FilterBarExpression => {\n if (groupId === ROOT_GROUP_ID) return { ...expr, logic };\n return { ...expr, nodes: mapGroup(expr.nodes, groupId, group => ({ ...group, logic })) };\n};\n\n/** Appends a group to the root, or inside `parentId`. */\nexport const createGroup = (\n expr: FilterBarExpression,\n parentId: string | undefined,\n group: FilterBarGroup,\n): FilterBarExpression => {\n if (!parentId || parentId === ROOT_GROUP_ID) return { ...expr, nodes: [...expr.nodes, group] };\n return { ...expr, nodes: mapGroup(expr.nodes, parentId, parent => ({ ...parent, nodes: [...parent.nodes, group] })) };\n};\n\n/** Drops removable items at any depth and every group that ends up empty; pinned items stay. */\nexport const clearRemovable = (expr: FilterBarExpression, pinned: ReadonlySet<string>): FilterBarExpression =>\n pruneEmptyGroups({\n ...expr,\n nodes: filterNodes(expr.nodes, node => isFilterBarGroup(node) || pinned.has(node.id)),\n });\n","/* eslint-disable react-refresh/only-export-components */\nimport { createContext, useCallback, useContext, useMemo, useRef, useState } from 'react';\nimport type { ReactNode } from 'react';\nimport {\n clearRemovable,\n collectIds,\n createGroup,\n denormalize,\n findGroup,\n flattenItems,\n groupDepth,\n insertItem,\n normalize,\n pruneEmptyGroups,\n removeNode,\n setGroupLogic,\n updateItem as updateTreeItem,\n} from './filter-bar-tree';\nimport type { FilterBarValueInput } from './filter-bar-tree';\nimport { isFilterBarGroup } from './types';\nimport type {\n DraftStage,\n FilterBarCommit,\n FilterBarDraft,\n FilterBarExpression,\n FilterBarField,\n FilterBarGroup,\n FilterBarItem,\n FilterBarLogic,\n FilterBarNode,\n FilterBarOperator,\n FilterBarSegment,\n FilterBarValue,\n} from './types';\n\ntype SegmentKey = `${string}:${FilterBarSegment}`;\n\nconst SEGMENTS_LEFT_TO_RIGHT: FilterBarSegment[] = ['field', 'operator', 'value', 'remove'];\nconst SEGMENTS_RIGHT_TO_LEFT: FilterBarSegment[] = [...SEGMENTS_LEFT_TO_RIGHT].reverse();\n\n/** Default nesting bound for advanced-filter groups (root-level group = depth 1). */\nexport const DEFAULT_MAX_GROUP_DEPTH = 3;\n\n/**\n * Marks a focus scope: the bar and each open advanced-filter popover. Arrow navigation\n * never crosses scopes, so ←/→ inside a popover cannot land back in the bar.\n */\nexport const FILTER_BAR_SCOPE_ATTR = 'data-filter-bar-scope';\n\nconst scopeOf = (el: Element | null | undefined) => el?.closest(`[${FILTER_BAR_SCOPE_ATTR}]`) ?? null;\n\nconst stageOf = (draft: FilterBarDraft | null): DraftStage => {\n if (!draft) return 'none';\n return draft.operatorId ? 'operator' : 'field';\n};\n\nexport type FilterBarContextValue = {\n fields: FilterBarField[];\n operators: FilterBarOperator[];\n /** Every rendered item in visual order (groups flattened), including leaving ones. */\n items: FilterBarItem[];\n /** The rendered tree, including the pending commit and leaving nodes. */\n expression: FilterBarExpression;\n /** False when the consumer passed a flat `FilterBarItem[]`: no groups are offered. */\n groupsEnabled: boolean;\n /** Deepest allowed group nesting (root-level group = 1). */\n maxDepth: number;\n /** Filter under construction in the input, once a field is picked; `null` otherwise. */\n draft: FilterBarDraft | null;\n /** Progress or reset the draft. Its id is assigned on first field pick and kept afterwards. */\n setDraft: (next: Omit<FilterBarDraft, 'id' | 'from' | 'groupId'> | null) => void;\n /** Append an item for the draft, reusing its id so the draft chip becomes the item's chip. */\n commitDraft: (next: Required<Omit<FilterBarDraft, 'id' | 'from' | 'groupId'>>, value: FilterBarValue) => void;\n /** The draft that just became an item, until its chip has glinted or the bar moves on. */\n lastCommit: FilterBarCommit | null;\n settleCommit: () => void;\n updateItem: (id: string, patch: Partial<Omit<FilterBarItem, 'id'>>) => void;\n /** Removes a leaf. Its group stays, even empty, until the popover closes (see `setOpenGroup`). */\n removeItem: (id: string) => void;\n /** Ids of removed items and groups still rendered while their chip plays its exit animation. */\n leaving: ReadonlySet<string>;\n /** Called by a leaving chip once its exit animation has finished (or when nothing animates). */\n settleRemove: (id: string) => void;\n /** Removes every removable item (chips rendered with `removable={false}` stay) and every group left empty. */\n clear: () => void;\n /** Whether at least one item can be removed, i.e. whether Clear has anything to do. */\n hasRemovableItems: boolean;\n /** Called by chips so `clear` and the Clear button know which items are pinned. */\n registerNonRemovable: (itemId: string, nonRemovable: boolean) => void;\n /** Appends an empty group to the root (`undefined`) or inside `parentId`, and points the input at it. */\n addGroup: (parentId: string | undefined, logic: FilterBarLogic) => string;\n /** Removes a group and everything below it. */\n removeGroup: (groupId: string) => void;\n setLogic: (groupId: string, logic: FilterBarLogic) => void;\n /** Nesting level of a group (root-level = 1); 0 when unknown. */\n getGroupDepth: (groupId: string) => number;\n /** Root group whose advanced-filter popover is open. */\n openGroupId: string | null;\n /** Open a root group's popover, or close it with `null` (empty groups are pruned on close). */\n setOpenGroup: (groupId: string | null) => void;\n /** Group the input commits into; `undefined` = root. */\n inputTarget: string | undefined;\n /** Point the input at a group (or back at the root with `undefined`) and focus it. */\n openGroupInput: (groupId: string | undefined) => void;\n getField: (fieldId: string) => FilterBarField | undefined;\n getOperator: (operatorId: string) => FilterBarOperator | undefined;\n /** Operators allowed for a field (`field.operators` or every root operator). */\n getFieldOperators: (field: FilterBarField) => FilterBarOperator[];\n registerSegment: (itemId: string, segment: FilterBarSegment, el: HTMLElement | null) => void;\n registerInput: (el: HTMLInputElement | null) => void;\n /**\n * Focus a segment of the nearest editable chip starting at `fromIndex` and\n * walking in `direction` (read-only chips register no segments and are skipped).\n * Never leaves the focus scope of the currently focused element. Returns false if\n * nothing was focused.\n */\n focusChip: (fromIndex: number, direction: -1 | 1, segment: FilterBarSegment) => boolean;\n focusInput: () => void;\n /** Called by chips to move focus after a removal. */\n focusAfterRemove: (removedIndex: number) => void;\n announce: (message: string) => void;\n announcement: string;\n ariaLabel: string;\n};\n\nconst FilterBarContext = createContext<FilterBarContextValue | null>(null);\n\nexport function useFilterBarContext(): FilterBarContextValue {\n const ctx = useContext(FilterBarContext);\n if (!ctx) throw new Error('FilterBar compound components must be rendered inside <FilterBar>.');\n return ctx;\n}\n\nlet idCounter = 0;\nexport function createFilterId(): string {\n if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') return crypto.randomUUID();\n idCounter += 1;\n return `filter-${idCounter}`;\n}\n\nexport function emptyValueFor(operator: FilterBarOperator | undefined): string | string[] {\n return operator?.arity === 'many' ? [] : '';\n}\n\nexport type FilterBarProviderProps = {\n fields: FilterBarField[];\n operators: FilterBarOperator[];\n value: FilterBarValueInput;\n /** Receives the same shape as `value` (method syntax so flat-only handlers stay assignable). */\n onValueChange(value: FilterBarValueInput): void;\n /** Derives ids for root-level items only; items inside groups always get a random id\n * because a group may hold several conditions on the same field. */\n createItemId?: (fieldId: string) => string;\n /** Deepest allowed group nesting (root-level group = 1). Defaults to 3. */\n maxDepth?: number;\n ariaLabel: string;\n children: ReactNode;\n};\n\nconst idsOf = (nodes: FilterBarNode[], out = new Set<string>()): Set<string> => {\n for (const node of nodes) {\n out.add(node.id);\n if (isFilterBarGroup(node)) idsOf(node.nodes, out);\n }\n return out;\n};\n\n/**\n * The previously rendered tree with the consumer's new `value` folded in: nodes still\n * present take their new version (in their old position), leaving nodes stay where they\n * were, and nodes the consumer added are appended. Once nothing is leaving the result is\n * exactly `next`, so consumer reorders are only deferred, never lost.\n */\nconst mergeNodes = (prev: FilterBarNode[], next: FilterBarNode[], leaving: ReadonlySet<string>): FilterBarNode[] => {\n const nextById = new Map(next.map(node => [node.id, node]));\n const seen = new Set<string>();\n const out: FilterBarNode[] = [];\n for (const old of prev) {\n const fresh = nextById.get(old.id);\n if (fresh) {\n seen.add(old.id);\n out.push(\n isFilterBarGroup(fresh) && isFilterBarGroup(old)\n ? { ...fresh, nodes: mergeNodes(old.nodes, fresh.nodes, leaving) }\n : fresh,\n );\n } else if (leaving.has(old.id)) {\n out.push(old);\n }\n }\n for (const node of next) if (!seen.has(node.id)) out.push(node);\n return out;\n};\n\nexport function FilterBarProvider({\n fields,\n operators,\n value,\n onValueChange,\n createItemId,\n maxDepth = DEFAULT_MAX_GROUP_DEPTH,\n ariaLabel,\n children,\n}: FilterBarProviderProps) {\n const segments = useRef(new Map<SegmentKey, HTMLElement>());\n const inputRef = useRef<HTMLInputElement | null>(null);\n const flat = Array.isArray(value);\n const expression = useMemo(() => normalize(value), [value]);\n const exprRef = useRef(expression);\n exprRef.current = expression;\n const [announcement, setAnnouncement] = useState('');\n const [nonRemovableIds, setNonRemovableIds] = useState<ReadonlySet<string>>(() => new Set());\n const [inputTarget, setInputTarget] = useState<string | undefined>(undefined);\n const [openGroupId, setOpenGroupId] = useState<string | null>(null);\n\n const emit = useCallback(\n (next: FilterBarExpression) => onValueChange(denormalize(next, flat)),\n [onValueChange, flat],\n );\n\n const getField = useCallback((fieldId: string) => fields.find(f => f.id === fieldId), [fields]);\n const getOperator = useCallback((operatorId: string) => operators.find(o => o.id === operatorId), [operators]);\n const getFieldOperators = useCallback(\n (field: FilterBarField) => {\n if (!field.operators) return operators;\n const allowed = new Set(field.operators);\n return operators.filter(o => allowed.has(o.id));\n },\n [operators],\n );\n\n const announce = useCallback((message: string) => setAnnouncement(message), []);\n\n const [draft, setDraftState] = useState<FilterBarDraft | null>(null);\n const draftRef = useRef(draft);\n draftRef.current = draft;\n const [lastCommit, setLastCommit] = useState<FilterBarCommit | null>(null);\n const settleCommit = useCallback(() => setLastCommit(prev => (prev ? { ...prev, glint: false } : null)), []);\n // Removed nodes stay rendered at their old position until their chip has animated out.\n const [leavingIds, setLeavingIds] = useState<ReadonlySet<string>>(() => new Set());\n const settleRemove = useCallback((id: string) => {\n setLeavingIds(prev => {\n if (!prev.has(id)) return prev;\n const next = new Set(prev);\n next.delete(id);\n return next;\n });\n }, []);\n const markLeaving = useCallback((ids: Iterable<string>) => {\n const list = [...ids];\n if (list.length === 0) return;\n setLeavingIds(prev => new Set([...prev, ...list]));\n }, []);\n\n // Until the consumer reflects the commit in `value`, the committed item is ours to show;\n // nodes on their way out keep their place in the previously rendered tree.\n const renderedTreeRef = useRef<FilterBarNode[]>(expression.nodes);\n const { rendered, items, leaving, rootGroupOf } = useMemo(() => {\n const present = idsOf(expression.nodes);\n let rendered: FilterBarExpression =\n leavingIds.size === 0\n ? expression\n : { ...expression, nodes: mergeNodes(renderedTreeRef.current, expression.nodes, leavingIds) };\n if (lastCommit && !present.has(lastCommit.item.id)) {\n rendered = insertItem(rendered, lastCommit.groupId, lastCommit.item);\n }\n renderedTreeRef.current = rendered.nodes;\n const shown = idsOf(rendered.nodes);\n const leaving = new Set([...leavingIds].filter(id => shown.has(id) && !present.has(id)));\n // Each leaf's root-level group: arrow navigation lands on that group's advanced chip\n // when the leaf itself is unmounted (closed popover).\n const rootGroupOf = new Map<string, string>();\n for (const node of rendered.nodes) {\n if (isFilterBarGroup(node))\n for (const { item } of flattenItems({ logic: 'and', nodes: [node] })) rootGroupOf.set(item.id, node.id);\n }\n return { rendered, items: flattenItems(rendered).map(e => e.item), leaving, rootGroupOf };\n }, [expression, lastCommit, leavingIds]);\n\n // The draft chip is keyed by the id the committed item will carry, so React keeps the same\n // element through the commit. Consumers who derive ids themselves supply `createItemId` so\n // the id we hand back in `onValueChange` is the one they'll hand back in `value`.\n const newItemId = useCallback(\n (fieldId: string) => (createItemId && inputTarget === undefined ? createItemId(fieldId) : createFilterId()),\n [createItemId, inputTarget],\n );\n\n const setDraft = useCallback(\n (next: Omit<FilterBarDraft, 'id' | 'from' | 'groupId'> | null) => {\n setLastCommit(null);\n setDraftState(prev =>\n next\n ? {\n ...next,\n id: prev?.fieldId === next.fieldId ? prev.id : newItemId(next.fieldId),\n from: stageOf(prev),\n groupId: inputTarget,\n }\n : null,\n );\n },\n [newItemId, inputTarget],\n );\n\n const commitDraft = useCallback(\n ({ fieldId, operatorId }: Required<Omit<FilterBarDraft, 'id' | 'from' | 'groupId'>>, value: FilterBarValue) => {\n // Operators without a value commit straight from the operator step, before a draft exists.\n const id = draftRef.current?.id ?? newItemId(fieldId);\n const groupId = draftRef.current?.groupId ?? inputTarget;\n const item = { id, fieldId, operatorId, value };\n emit(insertItem(exprRef.current, groupId, item));\n setLastCommit({ item, from: stageOf(draftRef.current), glint: true, groupId });\n setDraftState(null);\n announce('Filter added');\n },\n [emit, announce, newItemId, inputTarget],\n );\n\n const updateItem = useCallback(\n (id: string, patch: Partial<Omit<FilterBarItem, 'id'>>) => {\n emit(updateTreeItem(exprRef.current, id, patch));\n },\n [emit],\n );\n\n const removeItem = useCallback(\n (id: string) => {\n markLeaving([id]);\n emit(removeNode(exprRef.current, id));\n setLastCommit(null);\n announce('Filter removed');\n },\n [emit, announce, markLeaving],\n );\n\n const releaseInputTarget = useCallback((gone: ReadonlySet<string>) => {\n setInputTarget(prev => (prev && gone.has(prev) ? undefined : prev));\n }, []);\n\n const removeGroup = useCallback(\n (groupId: string) => {\n const expr = exprRef.current;\n const group = findGroup(expr, groupId);\n const gone = new Set(group ? collectIds(group) : [groupId]);\n markLeaving(gone);\n emit(removeNode(expr, groupId));\n setLastCommit(null);\n setDraftState(null);\n releaseInputTarget(gone);\n setOpenGroupId(prev => (prev === groupId ? null : prev));\n announce('Advanced filter removed');\n },\n [emit, announce, markLeaving, releaseInputTarget],\n );\n\n const addGroup = useCallback(\n (parentId: string | undefined, logic: FilterBarLogic) => {\n const group: FilterBarGroup = { id: createFilterId(), kind: 'group', logic, nodes: [] };\n emit(createGroup(exprRef.current, parentId, group));\n setLastCommit(null);\n setDraftState(null);\n setInputTarget(group.id);\n announce(parentId ? 'Nested group added' : 'Advanced filter added');\n return group.id;\n },\n [emit, announce],\n );\n\n const setLogic = useCallback(\n (groupId: string, logic: FilterBarLogic) => {\n emit(setGroupLogic(exprRef.current, groupId, logic));\n announce(`Conditions joined with ${logic}`);\n },\n [emit, announce],\n );\n\n const getGroupDepth = useCallback((groupId: string) => groupDepth(exprRef.current, groupId), []);\n\n const setOpenGroup = useCallback(\n (groupId: string | null) => {\n setOpenGroupId(groupId);\n if (groupId !== null) return;\n // Closing the editor: whatever was left empty goes away, and the input returns to the bar.\n const expr = exprRef.current;\n const pruned = pruneEmptyGroups(expr);\n const kept = idsOf(pruned.nodes);\n const gone = new Set([...idsOf(expr.nodes)].filter(id => !kept.has(id)));\n if (gone.size > 0) {\n markLeaving(gone);\n emit(pruned);\n }\n setDraftState(null);\n setInputTarget(undefined);\n },\n [emit, markLeaving],\n );\n\n const focusInput = useCallback(() => {\n inputRef.current?.focus();\n }, []);\n\n const openGroupInput = useCallback(\n (groupId: string | undefined) => {\n setInputTarget(groupId);\n setDraftState(null);\n // The input for a group mounts with the next render and focuses itself.\n if (groupId === undefined) focusInput();\n },\n [focusInput],\n );\n\n const clear = useCallback(() => {\n const expr = exprRef.current;\n const next = clearRemovable(expr, nonRemovableIds);\n const kept = idsOf(next.nodes);\n const gone = new Set([...idsOf(expr.nodes)].filter(id => !kept.has(id)));\n markLeaving(gone);\n emit(next);\n setLastCommit(null);\n setDraftState(null);\n setInputTarget(undefined);\n setOpenGroupId(null);\n announce('All filters removed');\n }, [emit, announce, nonRemovableIds, markLeaving]);\n\n const hasRemovableItems = flattenItems(expression).some(({ item }) => !nonRemovableIds.has(item.id));\n\n const registerNonRemovable = useCallback((itemId: string, nonRemovable: boolean) => {\n setNonRemovableIds(prev => {\n if (prev.has(itemId) === nonRemovable) return prev;\n const next = new Set(prev);\n if (nonRemovable) next.add(itemId);\n else next.delete(itemId);\n return next;\n });\n }, []);\n\n const registerSegment = useCallback((itemId: string, segment: FilterBarSegment, el: HTMLElement | null) => {\n const key: SegmentKey = `${itemId}:${segment}`;\n if (el) segments.current.set(key, el);\n else segments.current.delete(key);\n }, []);\n\n const registerInput = useCallback((el: HTMLInputElement | null) => {\n // An unmounting input must not clear the ref if another input already took over.\n if (el) inputRef.current = el;\n else if (!inputRef.current?.isConnected) inputRef.current = null;\n }, []);\n\n // Chip indices refer to the rendered list (which may still hold leaving chips), not `value`.\n const renderedRef = useRef(items);\n renderedRef.current = items;\n\n const rootGroupRef = useRef(rootGroupOf);\n rootGroupRef.current = rootGroupOf;\n\n const focusChip = useCallback((fromIndex: number, direction: -1 | 1, segment: FilterBarSegment) => {\n const items = renderedRef.current;\n const rootGroupOf = rootGroupRef.current;\n // Stay within the scope of the focused element, or (after a mouse click, which does not\n // move focus) of the chip we navigate away from. Unknown scope: any chip qualifies.\n const origin = items[fromIndex - direction];\n const originEl = origin\n ? [...SEGMENTS_LEFT_TO_RIGHT].map(s => segments.current.get(`${origin.id}:${s}`)).find(Boolean)\n : null;\n const scope =\n scopeOf(typeof document === 'undefined' ? null : document.activeElement) ?? scopeOf(originEl) ?? undefined;\n // Custom chips may register only some segments (e.g. just `value`): when the\n // requested one is missing, land on the chip's outermost segment on the side\n // we arrive from.\n const fallbacks: FilterBarSegment[] = direction === -1 ? SEGMENTS_RIGHT_TO_LEFT : SEGMENTS_LEFT_TO_RIGHT;\n for (let i = fromIndex; i >= 0 && i < items.length; i += direction) {\n const item = items[i];\n if (!item) break;\n // A leaf inside a closed popover has no segments: land on its advanced chip instead.\n const ownerIds = [item.id, rootGroupOf.get(item.id)].filter((id): id is string => id !== undefined);\n for (const ownerId of ownerIds) {\n for (const candidate of [segment, ...fallbacks]) {\n const el = segments.current.get(`${ownerId}:${candidate}`);\n if (el && (scope === undefined || scopeOf(el) === scope)) {\n el.focus();\n return true;\n }\n }\n }\n }\n return false;\n }, []);\n\n const focusAfterRemove = useCallback(\n (removedIndex: number) => {\n // Called synchronously after `removeItem`, before React re-renders: the rendered list\n // still holds the removed chip and every neighbour's DOM node is still mounted.\n // Leaving neighbours register no segments, so they are skipped over.\n if (focusChip(removedIndex + 1, 1, 'value') || focusChip(removedIndex - 1, -1, 'value')) return;\n focusInput();\n },\n [focusChip, focusInput],\n );\n\n const ctx = useMemo<FilterBarContextValue>(\n () => ({\n fields,\n operators,\n items,\n expression: rendered,\n groupsEnabled: !flat,\n maxDepth,\n draft,\n setDraft,\n commitDraft,\n lastCommit,\n settleCommit,\n updateItem,\n removeItem,\n leaving,\n settleRemove,\n clear,\n hasRemovableItems,\n registerNonRemovable,\n addGroup,\n removeGroup,\n setLogic,\n getGroupDepth,\n openGroupId,\n setOpenGroup,\n inputTarget,\n openGroupInput,\n getField,\n getOperator,\n getFieldOperators,\n registerSegment,\n registerInput,\n focusChip,\n focusInput,\n focusAfterRemove,\n announce,\n announcement,\n ariaLabel,\n }),\n [\n fields,\n operators,\n items,\n rendered,\n flat,\n maxDepth,\n draft,\n setDraft,\n commitDraft,\n lastCommit,\n settleCommit,\n updateItem,\n removeItem,\n leaving,\n settleRemove,\n clear,\n hasRemovableItems,\n registerNonRemovable,\n addGroup,\n removeGroup,\n setLogic,\n getGroupDepth,\n openGroupId,\n setOpenGroup,\n inputTarget,\n openGroupInput,\n getField,\n getOperator,\n getFieldOperators,\n registerSegment,\n registerInput,\n focusChip,\n focusInput,\n focusAfterRemove,\n announce,\n announcement,\n ariaLabel,\n ],\n );\n\n return <FilterBarContext.Provider value={ctx}>{children}</FilterBarContext.Provider>;\n}\n","import { CheckIcon } from 'lucide-react';\nimport { forwardRef } from 'react';\nimport type { ReactNode } from 'react';\nimport type { FilterBarOption } from './types';\nimport { ComboboxPrimitive, comboboxStyles } from '@/ds/components/Combobox';\nimport { Spinner } from '@/ds/components/Spinner/spinner';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { cn } from '@/lib/utils';\n\nexport type FilterBarOptionListProps<T> = {\n getKey: (option: T) => string;\n renderOption: (option: T) => ReactNode;\n /** Explicit check mark, used where Base UI's selection state is not the source of truth (multi-value step). */\n isSelected?: (option: T) => boolean;\n isLoading?: boolean;\n error?: unknown;\n emptyText?: string;\n 'aria-label': string;\n 'aria-multiselectable'?: boolean;\n};\n\n/** Default value row: the option's leading node (avatar, swatch…) followed by its label. */\nexport function FilterBarOptionLabel({ option }: { option: FilterBarOption }) {\n return (\n <>\n {option.start}\n <span className=\"min-w-0 truncate\">{option.label ?? option.value}</span>\n </>\n );\n}\n\nconst FluidItem = forwardRef<HTMLDivElement, ComboboxPrimitive.Item.Props>((props, ref) => (\n <ComboboxPrimitive.Item ref={useFluidMenuItemRef(ref)} {...props} />\n));\nFluidItem.displayName = 'FilterBarOptionItem';\n\n/**\n * List/status/empty rows for a `ComboboxPrimitive.Root`, laid out like the DS\n * `Combobox` popup (fluid hover highlight, scroller around the list). Items come\n * from the root's `items`; highlight and keyboard navigation are owned by Base UI.\n */\nexport function FilterBarOptionList<T>({\n getKey,\n renderOption,\n isSelected,\n isLoading,\n error,\n emptyText = 'No results.',\n 'aria-label': ariaLabel,\n 'aria-multiselectable': multiselectable,\n}: FilterBarOptionListProps<T>) {\n const idle = !isLoading && error === undefined;\n const menu = useFluidMenu<HTMLDivElement>();\n return (\n <>\n {isLoading && (\n <ComboboxPrimitive.Status className={comboboxStyles.empty}>\n <Spinner size=\"sm\" />\n <span>Loading…</span>\n </ComboboxPrimitive.Status>\n )}\n {!isLoading && error !== undefined && (\n <ComboboxPrimitive.Status className={comboboxStyles.empty}>Couldn't load values.</ComboboxPrimitive.Status>\n )}\n <ComboboxPrimitive.Empty className={comboboxStyles.empty}>{idle ? emptyText : null}</ComboboxPrimitive.Empty>\n <div\n className={cn(\n comboboxStyles.listScroller,\n 'max-h-[min(var(--spacing-dropdown),60dvh)]',\n menu.containerClassName,\n )}\n {...menu.getContainerProps({})}\n >\n <FluidMenuItems menu={menu}>\n <ComboboxPrimitive.List\n aria-label={ariaLabel}\n aria-multiselectable={multiselectable}\n className={comboboxStyles.list}\n >\n {(option: T) => {\n const selected = isSelected?.(option) ?? false;\n return (\n <FluidItem\n key={getKey(option)}\n value={option}\n data-selected={selected || undefined}\n className={cn(comboboxStyles.item, 'min-w-0')}\n >\n <span className=\"flex min-w-0 flex-1 items-center gap-1.5 truncate\">{renderOption(option)}</span>\n <span className={comboboxStyles.itemRightSlot}>\n <span className={comboboxStyles.checkContainer}>\n {isSelected ? (\n selected && <CheckIcon className={comboboxStyles.checkIcon} />\n ) : (\n <ComboboxPrimitive.ItemIndicator>\n <CheckIcon className={comboboxStyles.checkIcon} />\n </ComboboxPrimitive.ItemIndicator>\n )}\n </span>\n </span>\n </FluidItem>\n );\n }}\n </ComboboxPrimitive.List>\n </FluidMenuItems>\n </div>\n </>\n );\n}\n","/** Every whitespace-separated term of `query` must appear in `text` (case-insensitive). */\nexport function matchesQuery(text: string, query: string): boolean {\n const terms = query.toLowerCase().split(/\\s+/).filter(Boolean);\n if (terms.length === 0) return true;\n const haystack = text.toLowerCase();\n return terms.every(term => haystack.includes(term));\n}\n\n/** Base UI `filter` for `ComboboxPrimitive.Root`, matching on the item label. */\nexport function matchesQueryFilter<T>(item: T, query: string, itemToString?: (item: T) => string): boolean {\n return matchesQuery(itemToString ? itemToString(item) : String(item), query);\n}\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport { matchesQuery } from './match-query';\nimport type { FilterBarField, FilterBarOption } from './types';\n\nconst DEBOUNCE_MS = 150;\n\nconst BOOLEAN_OPTIONS: FilterBarOption[] = [\n { value: 'true', label: 'True' },\n { value: 'false', label: 'False' },\n];\n\n/** The field's suggestions, defaulting to True/False for boolean fields. */\nexport const getFieldSuggestions = (field: FilterBarField | undefined) =>\n field?.suggestions ?? (field?.type === 'boolean' ? BOOLEAN_OPTIONS : undefined);\n\nexport type UseValueSuggestionsOptions = {\n field: FilterBarField | undefined;\n operatorId: string;\n query: string;\n /** Resolver only runs while true (the value editor is open). */\n enabled: boolean;\n};\n\nexport type UseValueSuggestionsResult = {\n options: FilterBarOption[];\n isLoading: boolean;\n error: unknown;\n /** True when the field has any suggestions (static or lazy). */\n hasSuggestions: boolean;\n};\n\n/**\n * Value suggestions for a field. Static lists are filtered locally. Lazy\n * resolvers run only while `enabled`, are debounced on `query`, receive an\n * AbortSignal, and only the latest response is applied.\n */\nexport function useValueSuggestions({\n field,\n operatorId,\n query,\n enabled,\n}: UseValueSuggestionsOptions): UseValueSuggestionsResult {\n const suggestions = getFieldSuggestions(field);\n const resolver = typeof suggestions === 'function' ? suggestions : undefined;\n const staticOptions = Array.isArray(suggestions) ? suggestions : undefined;\n\n const [remote, setRemote] = useState<FilterBarOption[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<unknown>(undefined);\n const requestId = useRef(0);\n // Consumers typically define the resolver inline; a new identity must not refire (and abort) the request.\n const resolverRef = useRef(resolver);\n resolverRef.current = resolver;\n const hasResolver = Boolean(resolver);\n\n useEffect(() => {\n if (!hasResolver || !enabled) {\n setRemote([]);\n setIsLoading(false);\n setError(undefined);\n return;\n }\n\n const id = ++requestId.current;\n const controller = new AbortController();\n setIsLoading(true);\n\n const timer = setTimeout(() => {\n Promise.resolve()\n .then(() => resolverRef.current?.({ query, operatorId, signal: controller.signal }) ?? [])\n .then(result => {\n if (id !== requestId.current) return;\n setRemote(result);\n setError(undefined);\n setIsLoading(false);\n })\n .catch(err => {\n if (id !== requestId.current || controller.signal.aborted) return;\n setError(err);\n setIsLoading(false);\n });\n }, DEBOUNCE_MS);\n\n return () => {\n clearTimeout(timer);\n controller.abort();\n };\n }, [hasResolver, enabled, query, operatorId]);\n\n const options = useMemo(() => {\n if (staticOptions) return staticOptions.filter(o => matchesQuery(o.label ?? o.value, query));\n return remote;\n }, [staticOptions, remote, query]);\n\n return {\n options,\n isLoading: Boolean(resolver) && isLoading,\n error,\n hasSuggestions: Boolean(suggestions),\n };\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport type { KeyboardEvent } from 'react';\nimport type { FilterBarField, FilterBarOperator, FilterBarOption, FilterBarValue } from './types';\nimport { parseFieldValue } from './types';\nimport { useValueSuggestions } from './use-value-suggestions';\n\nexport type UseValueStepOptions = {\n field: FilterBarField | undefined;\n operator: FilterBarOperator | undefined;\n query: string;\n enabled: boolean;\n initialValue?: FilterBarValue;\n onCommit: (value: FilterBarValue) => void;\n};\n\nconst toStrings = (value: FilterBarValue | undefined): string[] => (Array.isArray(value) ? value.map(String) : []);\n\n/**\n * Shared value-editing logic for the typeahead value step and the chip value\n * editor. Single arity: picking an option (or Enter on free text) commits.\n * Many arity: Enter/click toggles the highlighted option; Ctrl/Meta+Enter (or\n * `commitSelection`) commits the selection. List navigation itself is owned by\n * the surrounding `ComboboxPrimitive.Root`.\n */\nexport function useValueStep({ field, operator, query, enabled, initialValue, onCommit }: UseValueStepOptions) {\n const isMany = operator?.arity === 'many';\n // Selection is tracked as option strings; values are parsed to the field type on commit.\n const [selected, setSelected] = useState<string[]>(() => toStrings(initialValue));\n const initialValueRef = useRef(initialValue);\n initialValueRef.current = initialValue;\n\n // The editor stays mounted across opens: re-seed from the current value each time it opens.\n useEffect(() => {\n setSelected(enabled ? toStrings(initialValueRef.current) : []);\n }, [enabled]);\n\n const suggestions = useValueSuggestions({ field, operatorId: operator?.id ?? '', query, enabled });\n const type = field?.type;\n const allowFreeText = !field?.strict && type !== 'boolean';\n\n const toggle = useCallback((value: string) => {\n setSelected(current => (current.includes(value) ? current.filter(v => v !== value) : [...current, value]));\n }, []);\n\n const commit = useCallback(\n (values: string | string[]) =>\n onCommit(Array.isArray(values) ? values.map(v => parseFieldValue(type, v)) : parseFieldValue(type, values)),\n [onCommit, type],\n );\n\n const handleSelect = useCallback(\n (option: FilterBarOption) => {\n if (isMany) toggle(option.value);\n else commit(option.value);\n },\n [isMany, toggle, commit],\n );\n\n const commitSelection = useCallback(() => {\n if (selected.length === 0) return false;\n commit(selected);\n return true;\n }, [selected, commit]);\n\n const canCommitFreeText = useCallback(\n (text: string) => allowFreeText && text.length > 0 && (type !== 'number' || Number.isFinite(Number(text))),\n [allowFreeText, type],\n );\n\n const commitFreeText = useCallback(() => {\n const text = query.trim();\n if (!canCommitFreeText(text)) return false;\n commit(isMany ? (selected.includes(text) ? selected : [...selected, text]) : text);\n return true;\n }, [canCommitFreeText, query, isMany, selected, commit]);\n\n /**\n * Enter handling that Base UI does not cover: Ctrl/Meta+Enter commits a\n * multi-selection; plain Enter with nothing highlighted commits free text.\n * Returns `true` when the event was consumed.\n */\n const handleKeyDown = useCallback(\n (event: KeyboardEvent, highlighted: FilterBarOption | null): boolean => {\n if (event.key !== 'Enter') return false;\n if (isMany && (event.ctrlKey || event.metaKey)) {\n event.preventDefault();\n return commitSelection() || commitFreeText();\n }\n if (highlighted === null) {\n event.preventDefault();\n return commitFreeText();\n }\n return false;\n },\n [isMany, commitSelection, commitFreeText],\n );\n\n return {\n isMany,\n selected,\n toggle,\n options: suggestions.options,\n isLoading: suggestions.isLoading,\n error: suggestions.error,\n hasSuggestions: suggestions.hasSuggestions,\n allowFreeText,\n /** True when the current query can be committed as free text (non-empty, numeric when the field is a number). */\n canCommitQuery: canCommitFreeText(query.trim()),\n handleSelect,\n handleKeyDown,\n commitSelection,\n commitFreeText,\n };\n}\n","/* eslint-disable react-refresh/only-export-components */\nimport type { BaseUIEvent } from '@base-ui/react/types';\nimport { LockIcon, PencilIcon, SearchIcon, XIcon } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport type { AnimationEvent, CSSProperties, ComponentProps, KeyboardEvent, MouseEvent, ReactNode } from 'react';\nimport { emptyValueFor, useFilterBarContext } from './filter-bar-context';\nimport { FilterBarOptionLabel, FilterBarOptionList } from './filter-bar-option-list';\nimport { matchesQueryFilter } from './match-query';\nimport type {\n DraftStage,\n FilterBarField,\n FilterBarFieldType,\n FilterBarItem,\n FilterBarOperator,\n FilterBarOption,\n FilterBarScalar,\n FilterBarSegment,\n FilterBarValue,\n} from './types';\nimport { useValueStep } from './use-value-step';\nimport { getFieldSuggestions } from './use-value-suggestions';\nimport { Button } from '@/ds/components/Button/Button';\nimport { ComboboxPrimitive, comboboxStyles } from '@/ds/components/Combobox';\nimport { Kbd } from '@/ds/components/Kbd/kbd';\nimport { controlHeight } from '@/ds/primitives/control-size';\nimport type { ControlSize } from '@/ds/primitives/control-size';\nimport { FLOATING_POSITION_METHOD } from '@/ds/primitives/floating';\nimport { inputSurfaceAndFocusWithinStyle } from '@/ds/primitives/form-element';\nimport './filter-bar-chip.css';\nimport { MENU_SIDE_OFFSET } from '@/ds/primitives/menu-item';\nimport { usePortalContainer } from '@/ds/primitives/portal-container';\nimport { useIsApplePlatform } from '@/hooks/use-keyboard-shortcut-label';\nimport { cn } from '@/lib/utils';\n\n// `filter-bar-segment` carries the left-to-right entrance (see filter-bar-chip.css).\n// No `first:`/`last:` rounding here: a segment is not reliably the first or last child.\n// Base UI interleaves a hidden input after every combobox and wraps an open trigger in\n// focus guards, so the rounded end would silently drop the moment a popup opened and the\n// segment's own state fill — the one state a chip has — would paint square corners\n// straight through the chip's pill edge. The chip clips instead (see `chipClass`).\nexport const segmentClass = cn(\n 'filter-bar-segment flex max-w-48 min-w-0 items-center gap-1 overflow-hidden px-2 text-label whitespace-nowrap outline-none',\n);\n\n// A filter bar is a dense row: it sits above a list, carries many chips at once, and never\n// competes with the page's own controls. Chip and typeahead pill read this one rung so they\n// stay the same height by construction rather than by two call sites agreeing.\nexport const FILTER_BAR_CONTROL_SIZE: ControlSize = 'sm';\n\n// Typed out of ComboboxRoot but honoured at runtime; keepHighlight stops Base UI re-lighting row 0 when the pointer reaches a row's text.\nexport const alwaysHighlightProps = { autoHighlight: 'always', keepHighlight: true } as unknown as {\n autoHighlight: boolean;\n};\n\n// A chip is a field whose value is edited in place, so it wears the field material rather than a\n// fill rung: on a light canvas a `bg-fill` chip read as a grey slab beside the white typeahead\n// pill it belongs to. The segments layer their own state over that card, which is why the chip\n// keeps `divide-border` for the internal seams and takes its outer edge from the material's rim.\n// `overflow-hidden` is what gives every segment its end cap: the chip is the only node that\n// knows where the pill ends, and it keeps knowing it while a framework injects children.\nexport const chipClass = cn(\n 'filter-bar-chip relative flex max-w-full items-stretch divide-x divide-border overflow-hidden rounded-full',\n inputSurfaceAndFocusWithinStyle,\n controlHeight[FILTER_BAR_CONTROL_SIZE],\n);\n\nexport const editableSegmentClass = cn(\n segmentClass,\n 'cursor-pointer hover:bg-fill-subtle hover:text-foreground',\n 'focus-visible:bg-fill-hover focus-visible:text-foreground data-[popup-open]:bg-fill-hover data-[popup-open]:text-foreground',\n);\n\n/** Field label with its optional leading icon — used by chips, the draft chip and field option lists. */\nexport function FilterBarFieldLabel({ field, label }: { field: FilterBarField | undefined; label?: string }) {\n const Icon = field?.icon;\n return (\n <>\n {Icon && <Icon className=\"size-[1.1em] shrink-0\" aria-hidden />}\n <span className=\"truncate\">{label ?? field?.label}</span>\n </>\n );\n}\n\n/** Inline style carrying a field's accent onto its field segment (text + icon). */\nexport const fieldSegmentAccentStyle = (field: FilterBarField | undefined) =>\n field?.color ? { color: field.color } : undefined;\n\n/** Segments a chip already showed before its latest step, given how far its draft had got. */\nconst settledSegments = (from: DraftStage, operatorImplied: boolean): number => {\n if (from === 'none') return 0;\n if (from === 'field' || operatorImplied) return 1;\n return 2;\n};\n\nexport const formatValue = (value: FilterBarValue, field: FilterBarField | undefined): string => {\n const suggestions = getFieldSuggestions(field);\n const options = Array.isArray(suggestions) ? suggestions : undefined;\n const label = (v: FilterBarScalar) => options?.find(o => o.value === String(v))?.label ?? String(v);\n return Array.isArray(value) ? value.map(label).join(', ') : label(value);\n};\n\ntype ChipContext = {\n item: FilterBarItem;\n index: number;\n field: FilterBarField | undefined;\n operator: FilterBarOperator | undefined;\n openSegment: FilterBarSegment | null;\n setOpenSegment: (segment: FilterBarSegment | null) => void;\n readOnly: boolean;\n /** Filter still being built in the input: segments are inert labels. */\n draft: boolean;\n /** Filter already removed from the value, playing its exit: segments are inert labels. */\n leaving: boolean;\n /** The field allows a single operator, so the operator segment is not shown. */\n operatorImplied: boolean;\n};\n\nconst ChipContext = createContext<ChipContext | null>(null);\nconst useChip = () => {\n const chip = useContext(ChipContext);\n if (!chip) throw new Error('FilterBarChip segments must be rendered inside <FilterBarChip>.');\n return chip;\n};\n\nexport type FilterBarChipProps = {\n item: FilterBarItem;\n /** Locked chip: plain labels, no editors, no remove button. */\n readOnly?: boolean;\n /** `false` keeps the chip editable but drops the remove button and ignores Backspace/Delete. */\n removable?: boolean;\n /**\n * Render the filter being built in the input (see `FilterBarContextValue.draft`): only\n * the picked segments show, as inert labels. Keyed by the draft id, the same element\n * carries on as the editable chip once the value is committed.\n */\n draft?: boolean;\n className?: string;\n /** Custom segment composition; defaults to Field · Operator · Value · Remove. */\n children?: ReactNode;\n};\n\nfunction isInsidePopup(target: EventTarget | null) {\n return target instanceof Element && Boolean(target.closest('[data-slot=\"filter-bar-editor\"]'));\n}\n\nexport function FilterBarChip({\n item,\n readOnly = false,\n removable = true,\n draft = false,\n className,\n children,\n}: FilterBarChipProps) {\n const ctx = useFilterBarContext();\n const [openSegment, setOpenSegment] = useState<FilterBarSegment | null>(null);\n const field = ctx.getField(item.fieldId);\n const operator = ctx.getOperator(item.operatorId);\n const index = ctx.items.findIndex(i => i.id === item.id);\n const rootRef = useRef<HTMLDivElement>(null);\n const leaving = ctx.leaving.has(item.id);\n\n const pinned = !draft && (readOnly || !removable);\n const { registerNonRemovable, settleRemove } = ctx;\n useEffect(() => {\n registerNonRemovable(item.id, pinned);\n return () => registerNonRemovable(item.id, false);\n }, [registerNonRemovable, item.id, pinned]);\n\n // A leaving chip is released once its exit animation has finished. With nothing to\n // animate (no `interpolate-size`, reduced motion, jsdom) it is released straight away.\n useEffect(() => {\n const root = rootRef.current;\n if (!leaving || !root) return;\n const animations = typeof root.getAnimations === 'function' ? root.getAnimations({ subtree: true }) : [];\n if (animations.length === 0) {\n settleRemove(item.id);\n return;\n }\n let cancelled = false;\n Promise.all(animations.map(animation => animation.finished))\n .then(() => {\n if (!cancelled) settleRemove(item.id);\n })\n // Animations cancelled by an unmount reject `finished`; nothing left to settle.\n .catch(() => {});\n return () => {\n cancelled = true;\n };\n }, [leaving, item.id, settleRemove]);\n\n const operatorImplied = field ? ctx.getFieldOperators(field).length === 1 : false;\n const label = [\n field?.label ?? item.fieldId,\n operatorImplied ? '' : (operator?.label ?? item.operatorId),\n draft ? '' : formatValue(item.value, field),\n ]\n .filter(Boolean)\n .join(' ');\n\n // The provider records where each draft step (and the final commit) started from, so\n // the entrance stagger resumes after the segments already on screen and the chip\n // glints once when it lands as a filter (see filter-bar-chip.css).\n const commit = !draft && ctx.lastCommit?.item.id === item.id ? ctx.lastCommit : null;\n const from = draft ? (ctx.draft?.from ?? 'none') : (commit?.from ?? 'none');\n const settled = settledSegments(from, operatorImplied);\n const shine = commit?.glint ?? false;\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (readOnly || draft || leaving || isInsidePopup(event.target)) return;\n const segments = Array.from(rootRef.current?.querySelectorAll<HTMLElement>('[data-filter-bar-segment]') ?? []);\n const current = segments.findIndex(el => el === event.target);\n\n switch (event.key) {\n case 'ArrowRight': {\n event.preventDefault();\n const next = segments[current + 1];\n if (next) next.focus();\n else if (!ctx.focusChip(index + 1, 1, 'field')) ctx.focusInput();\n return;\n }\n case 'ArrowLeft': {\n event.preventDefault();\n const prev = segments[current - 1];\n if (prev) prev.focus();\n else ctx.focusChip(index - 1, -1, 'remove');\n return;\n }\n case 'Delete':\n case 'Backspace':\n if (!removable) return;\n event.preventDefault();\n ctx.removeItem(item.id);\n ctx.focusAfterRemove(index);\n return;\n default:\n }\n },\n [readOnly, draft, leaving, removable, ctx, index, item.id],\n );\n\n const chipValue = useMemo<ChipContext>(\n () => ({ item, index, field, operator, openSegment, setOpenSegment, readOnly, draft, leaving, operatorImplied }),\n [item, index, field, operator, openSegment, readOnly, draft, leaving, operatorImplied],\n );\n const content = children ?? (\n <>\n <FilterBarChipField />\n <FilterBarChipOperator />\n <FilterBarChipValue />\n {removable && <FilterBarChipRemove />}\n </>\n );\n return (\n <ChipContext.Provider value={chipValue}>\n <div\n ref={rootRef}\n role=\"group\"\n aria-label={label}\n // The input already announces the draft's progress through its placeholder.\n aria-hidden={draft || leaving || undefined}\n data-slot=\"filter-bar-chip\"\n data-draft={draft || undefined}\n data-readonly={readOnly || undefined}\n data-leaving={leaving || undefined}\n data-shine={(shine && !leaving) || undefined}\n className={cn(chipClass, leaving && 'pointer-events-none', className)}\n style={\n {\n '--filter-bar-segments-settled': settled,\n '--filter-bar-chip-shine': field?.color ?? 'currentColor',\n } as CSSProperties\n }\n onKeyDown={handleKeyDown}\n onClick={(event: MouseEvent) => event.stopPropagation()}\n onAnimationEnd={(event: AnimationEvent) => {\n if (event.animationName === 'filter-bar-chip-shine') ctx.settleCommit();\n }}\n >\n {readOnly && (\n <span\n className={cn(segmentClass, 'pr-0 text-muted-foreground [--filter-bar-segment-padding:0.5rem_0]')}\n title=\"This filter is locked\"\n >\n <LockIcon className=\"size-[1.1em]\" />\n </span>\n )}\n {content}\n </div>\n </ChipContext.Provider>\n );\n}\n\ntype SegmentComboboxProps<T> = {\n segment: Exclude<FilterBarSegment, 'remove'>;\n label: string;\n ariaLabel: string;\n items: readonly T[];\n itemToString: (item: T) => string;\n /** `null` when `items` are already filtered. */\n filter: null | ((item: T, query: string, itemToString?: (item: T) => string) => boolean);\n /** Current selection, surfaced through Base UI's `ItemIndicator`. */\n value?: T | null;\n query: string;\n onQueryChange: (query: string) => void;\n onSelect: (item: T) => void;\n onOpen?: () => void;\n /** Popup content: typically a `SegmentSearchInput` followed by a `FilterBarOptionList`. */\n children: ReactNode;\n};\n\n// Highlighted item of the enclosing SegmentCombobox, for popup inputs that route Enter.\nconst SegmentPopupContext = createContext<{ highlighted: unknown }>({ highlighted: null });\n\ntype SegmentSearchInputProps<T> = {\n placeholder: string;\n /** Leading icon. Defaults to a search glass; free-text editing uses a pencil. */\n icon?: LucideIcon;\n inputMode?: ComponentProps<'input'>['inputMode'];\n onKeyDown?: (event: BaseUIEvent<KeyboardEvent<HTMLInputElement>>, highlighted: T | null) => void;\n};\n\n/** The search/free-text input at the top of a segment popup. */\nfunction SegmentSearchInput<T>({\n placeholder,\n icon: Icon = SearchIcon,\n inputMode,\n onKeyDown,\n}: SegmentSearchInputProps<T>) {\n const { highlighted } = useContext(SegmentPopupContext);\n return (\n <div className={comboboxStyles.searchContainer}>\n <Icon className={comboboxStyles.searchIcon} />\n <ComboboxPrimitive.Input\n className={comboboxStyles.searchInput}\n placeholder={placeholder}\n inputMode={inputMode}\n onKeyDown={event => onKeyDown?.(event, highlighted as T | null)}\n />\n </div>\n );\n}\n\n/**\n * A chip segment: a button trigger that opens an option popup. The editor\n * owning the segment supplies items, filtering, selection routing and the\n * popup content.\n */\nfunction SegmentCombobox<T>({\n segment,\n label,\n ariaLabel,\n items,\n itemToString,\n filter,\n value = null,\n query,\n onQueryChange,\n onSelect,\n onOpen,\n children,\n}: SegmentComboboxProps<T>) {\n const ctx = useFilterBarContext();\n const chip = useChip();\n const container = usePortalContainer();\n const open = chip.openSegment === segment;\n const [highlighted, setHighlighted] = useState<T | null>(null);\n\n const isField = segment === 'field';\n const content = isField ? (\n <FilterBarFieldLabel field={chip.field} label={label} />\n ) : (\n <span className=\"truncate\">{label}</span>\n );\n\n if (chip.readOnly || chip.draft || chip.leaving) {\n return (\n <span\n className={cn(segmentClass, isField && 'text-foreground')}\n style={isField ? fieldSegmentAccentStyle(chip.field) : undefined}\n title={label}\n >\n {content}\n </span>\n );\n }\n\n return (\n <ComboboxPrimitive.Root<T>\n items={items}\n itemToStringLabel={itemToString}\n filter={filter}\n value={value}\n onValueChange={(item, details) => {\n // The editor decides what a pick means (and when to close); Base UI must not keep it.\n details.cancel();\n if (item !== null) onSelect(item);\n }}\n inputValue={query}\n onInputValueChange={(next, details) => {\n if (details.reason === 'input-change') onQueryChange(next);\n }}\n onItemHighlighted={item => setHighlighted(item ?? null)}\n open={open}\n onOpenChange={next => {\n if (next) onOpen?.();\n else onQueryChange('');\n chip.setOpenSegment(next ? segment : null);\n }}\n {...alwaysHighlightProps}\n modal={false}\n >\n <ComboboxPrimitive.Trigger\n ref={el => ctx.registerSegment(chip.item.id, segment, el)}\n render={\n <button\n type=\"button\"\n data-filter-bar-segment=\"\"\n tabIndex={segment === 'value' ? 0 : -1}\n aria-label={`${ariaLabel}: ${label}`}\n title={label}\n className={cn(editableSegmentClass, isField && 'text-foreground')}\n style={isField ? fieldSegmentAccentStyle(chip.field) : undefined}\n />\n }\n >\n {content}\n </ComboboxPrimitive.Trigger>\n <ComboboxPrimitive.Portal container={container}>\n <ComboboxPrimitive.Positioner\n align=\"start\"\n sideOffset={MENU_SIDE_OFFSET}\n positionMethod={FLOATING_POSITION_METHOD}\n className={comboboxStyles.positioner}\n >\n <ComboboxPrimitive.Popup className={cn(comboboxStyles.popup, 'min-w-44')} data-slot=\"filter-bar-editor\">\n <SegmentPopupContext.Provider value={{ highlighted }}>{children}</SegmentPopupContext.Provider>\n </ComboboxPrimitive.Popup>\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n </ComboboxPrimitive.Root>\n );\n}\n\nconst fieldLabel = (field: FilterBarField) => field.label;\nconst operatorLabel = (operator: FilterBarOperator) => operator.label;\nconst optionLabel = (option: FilterBarOption) => option.label ?? option.value;\n\nfunction FieldEditor() {\n const ctx = useFilterBarContext();\n const chip = useChip();\n const [query, setQuery] = useState('');\n\n const onSelect = useCallback(\n (field: FilterBarField) => {\n const allowed = ctx.getFieldOperators(field);\n const nextOperator = allowed.find(o => o.id === chip.item.operatorId) ?? allowed[0];\n const arityChanged = nextOperator?.arity !== chip.operator?.arity;\n ctx.updateItem(chip.item.id, {\n fieldId: field.id,\n operatorId: nextOperator?.id ?? chip.item.operatorId,\n value: arityChanged || field.id !== chip.item.fieldId ? emptyValueFor(nextOperator) : chip.item.value,\n });\n chip.setOpenSegment(null);\n },\n [ctx, chip],\n );\n\n return (\n <SegmentCombobox<FilterBarField>\n segment=\"field\"\n ariaLabel=\"Field\"\n label={chip.field?.label ?? chip.item.fieldId}\n items={ctx.fields}\n itemToString={fieldLabel}\n filter={matchesQueryFilter}\n value={chip.field}\n query={query}\n onQueryChange={setQuery}\n onSelect={onSelect}\n >\n <SegmentSearchInput placeholder=\"Change field…\" />\n <FilterBarOptionList<FilterBarField>\n aria-label=\"Fields\"\n getKey={f => f.id}\n renderOption={f => <FilterBarFieldLabel field={f} />}\n emptyText=\"No matching field.\"\n />\n </SegmentCombobox>\n );\n}\n\nfunction OperatorEditor() {\n const ctx = useFilterBarContext();\n const chip = useChip();\n const [query, setQuery] = useState('');\n const options = useMemo(() => (chip.field ? ctx.getFieldOperators(chip.field) : ctx.operators), [ctx, chip.field]);\n\n const onSelect = useCallback(\n (operator: FilterBarOperator) => {\n const arityChanged = (operator.arity ?? 'one') !== (chip.operator?.arity ?? 'one');\n ctx.updateItem(chip.item.id, {\n operatorId: operator.id,\n value: arityChanged ? emptyValueFor(operator) : chip.item.value,\n });\n chip.setOpenSegment(null);\n },\n [ctx, chip],\n );\n\n return (\n <SegmentCombobox<FilterBarOperator>\n segment=\"operator\"\n ariaLabel=\"Operator\"\n label={chip.operator?.label ?? chip.item.operatorId}\n items={options}\n itemToString={operatorLabel}\n filter={matchesQueryFilter}\n value={chip.operator}\n query={query}\n onQueryChange={setQuery}\n onSelect={onSelect}\n >\n <SegmentSearchInput placeholder=\"Change operator…\" />\n <FilterBarOptionList<FilterBarOperator>\n aria-label=\"Operators\"\n getKey={o => o.id}\n renderOption={o => o.label}\n emptyText=\"No matching operator.\"\n />\n </SegmentCombobox>\n );\n}\n\nfunction ValueEditor() {\n const ctx = useFilterBarContext();\n const chip = useChip();\n const open = chip.openSegment === 'value';\n const [query, setQuery] = useState('');\n\n const close = useCallback(() => chip.setOpenSegment(null), [chip]);\n const onCommit = useCallback(\n (value: FilterBarValue) => {\n ctx.updateItem(chip.item.id, { value });\n close();\n },\n [ctx, chip.item.id, close],\n );\n\n const step = useValueStep({\n field: chip.field,\n operator: chip.operator,\n query,\n enabled: open,\n initialValue: chip.item.value,\n onCommit,\n });\n\n const ValueInput = VALUE_INPUTS[chip.field?.type ?? 'text'];\n\n return (\n <SegmentCombobox<FilterBarOption>\n segment=\"value\"\n ariaLabel=\"Value\"\n label={formatValue(chip.item.value, chip.field) || '…'}\n items={step.options}\n itemToString={optionLabel}\n filter={null}\n query={query}\n onQueryChange={setQuery}\n onSelect={step.handleSelect}\n // Prefill free-text values only; with suggestions, the current value is shown as checked instead.\n onOpen={() =>\n setQuery(!Array.isArray(chip.item.value) && !chip.field?.suggestions ? String(chip.item.value) : '')\n }\n >\n <ValueInput step={step} onCancel={close} />\n </SegmentCombobox>\n );\n}\n\ntype ValueInputProps = {\n step: ReturnType<typeof useValueStep>;\n onCancel: () => void;\n};\n\n/** Suggestion list + multi-select footer, shared by every value input. */\nfunction ValueOptions({ step, onCancel }: ValueInputProps) {\n const chip = useChip();\n const modEnterLabel = useIsApplePlatform() ? '⌘↵' : 'Ctrl ↵';\n return (\n <>\n {step.hasSuggestions && (\n <FilterBarOptionList<FilterBarOption>\n aria-label=\"Values\"\n aria-multiselectable={step.isMany || undefined}\n getKey={o => o.value}\n renderOption={option => <FilterBarOptionLabel option={option} />}\n isSelected={o => (step.isMany ? step.selected.includes(o.value) : String(chip.item.value) === o.value)}\n isLoading={step.isLoading}\n error={step.error}\n emptyText={step.allowFreeText ? 'No suggestions — press Enter to use your text.' : 'No matching value.'}\n />\n )}\n {step.isMany && (\n <div className=\"flex items-center justify-end gap-1 border-t border-border p-1\">\n <Button size=\"sm\" variant=\"ghost\" onClick={onCancel}>\n Cancel\n </Button>\n <Button size=\"sm\" variant=\"default\" onClick={() => step.commitSelection() || step.commitFreeText()}>\n Done\n <Kbd size=\"xs\">{modEnterLabel}</Kbd>\n </Button>\n </div>\n )}\n </>\n );\n}\n\n/** Free-text (optionally suggestion-backed) value input; text and number share it. */\nfunction FreeTextValueInput({\n step,\n onCancel,\n inputMode,\n noun,\n}: ValueInputProps & { inputMode?: ComponentProps<'input'>['inputMode']; noun: string }) {\n return (\n <>\n <SegmentSearchInput<FilterBarOption>\n icon={step.hasSuggestions ? SearchIcon : PencilIcon}\n inputMode={inputMode}\n placeholder={\n step.hasSuggestions\n ? step.allowFreeText\n ? `Search or type a ${noun}…`\n : `Search ${noun}s…`\n : `Type a ${noun}…`\n }\n onKeyDown={(event, highlighted) => {\n const highlightedOption = step.hasSuggestions ? highlighted : null;\n const handled = step.handleKeyDown(event, highlightedOption);\n // Base UI closes on Enter when nothing is highlighted; a rejected free-text value must keep the editor open.\n if (handled || (event.key === 'Enter' && highlightedOption === null)) event.preventBaseUIHandler();\n }}\n />\n <ValueOptions step={step} onCancel={onCancel} />\n </>\n );\n}\n\nfunction TextValueInput(props: ValueInputProps) {\n return <FreeTextValueInput {...props} noun=\"value\" />;\n}\n\nfunction NumberValueInput(props: ValueInputProps) {\n return <FreeTextValueInput {...props} inputMode=\"decimal\" noun=\"number\" />;\n}\n\n/** Select-like: no search input, just the True/False (or custom) options. */\nfunction BooleanValueInput(props: ValueInputProps) {\n return <ValueOptions {...props} />;\n}\n\nconst VALUE_INPUTS: Record<FilterBarFieldType, (props: ValueInputProps) => ReactNode> = {\n text: TextValueInput,\n number: NumberValueInput,\n boolean: BooleanValueInput,\n};\n\nexport function FilterBarChipField() {\n return <FieldEditor />;\n}\n\nexport function FilterBarChipOperator() {\n const chip = useChip();\n if (chip.operatorImplied) return null;\n if (chip.draft && !chip.operator) return null;\n return <OperatorEditor />;\n}\n\nexport function FilterBarChipValue() {\n const chip = useChip();\n if (chip.draft || (chip.operator?.arity ?? 'one') === 'none') return null;\n return <ValueEditor />;\n}\n\nexport function FilterBarChipRemove() {\n const ctx = useFilterBarContext();\n const chip = useChip();\n if (chip.readOnly || chip.draft) return null;\n const removeClass = cn(editableSegmentClass, 'px-1.5 text-muted-foreground [--filter-bar-segment-padding:0.375rem]');\n if (chip.leaving) {\n // Keep the × on screen so it folds away with the other segments.\n return (\n <span className={removeClass}>\n <XIcon className=\"size-[1.1em]\" />\n </span>\n );\n }\n const label = `Remove ${chip.field?.label ?? chip.item.fieldId} filter`;\n return (\n <button\n type=\"button\"\n data-filter-bar-segment=\"\"\n tabIndex={-1}\n aria-label={label}\n title={label}\n ref={el => ctx.registerSegment(chip.item.id, 'remove', el)}\n className={removeClass}\n onClick={() => {\n ctx.removeItem(chip.item.id);\n ctx.focusAfterRemove(chip.index);\n }}\n >\n <XIcon className=\"size-[1.1em]\" />\n </button>\n );\n}\n\nFilterBarChip.Field = FilterBarChipField;\nFilterBarChip.Operator = FilterBarChipOperator;\nFilterBarChip.Value = FilterBarChipValue;\nFilterBarChip.Remove = FilterBarChipRemove;\n"],"names":["rendered","leaving","rootGroupOf","value","updateItem","updateTreeItem","items","ComboboxPrimitive"],"mappings":";;;;;;;;;;;;;;;;;;AAKO,MAAM,aAAA,GAAgB,MAAA;AAEtB,MAAM,SAAA,GAAY,CAAC,KAAA,KACxB,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAI,EAAE,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAM,GAAI,KAAA;AAGnD,MAAM,WAAA,GAAc,CAAC,IAAA,EAA2B,IAAA,KACrD,OAAO,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,CAAC,IAAA,KAAgC,CAAC,gBAAA,CAAiB,IAAI,CAAC,CAAA,GAAI,IAAA;AAShF,MAAM,YAAA,GAAe,CAAC,IAAA,KAA2C;AACtE,EAAA,MAAM,MAAmB,EAAC;AAC1B,EAAA,MAAM,IAAA,GAAO,CAAC,KAAA,EAAwB,OAAA,KAAgC;AACpE,IAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,MAAA,IAAI,iBAAiB,IAAI,CAAA,OAAQ,IAAA,CAAK,KAAA,EAAO,KAAK,EAAE,CAAA;AAAA,WAC/C,GAAA,CAAI,IAAA,CAAK,OAAA,GAAU,EAAE,IAAA,EAAM,IAAA,EAAM,OAAA,EAAQ,GAAI,EAAE,IAAA,EAAM,IAAA,EAAM,CAAA;AAAA,IAClE;AAAA,EACF,CAAA;AACA,EAAA,IAAA,CAAK,IAAA,CAAK,OAAO,MAAS,CAAA;AAC1B,EAAA,OAAO,GAAA;AACT,CAAA;AAEA,MAAM,WAAA,GAAc,CAAC,KAAA,EAAwB,OAAA,KAAgD;AAC3F,EAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,IAAA,IAAI,CAAC,gBAAA,CAAiB,IAAI,CAAA,EAAG;AAC7B,IAAA,IAAI,IAAA,CAAK,EAAA,KAAO,OAAA,EAAS,OAAO,IAAA;AAChC,IAAA,MAAM,MAAA,GAAS,WAAA,CAAY,IAAA,CAAK,KAAA,EAAO,OAAO,CAAA;AAC9C,IAAA,IAAI,QAAQ,OAAO,MAAA;AAAA,EACrB;AACA,EAAA,OAAO,MAAA;AACT,CAAA;AAEO,MAAM,YAAY,CAAC,IAAA,EAA2B,YACnD,WAAA,CAAY,IAAA,CAAK,OAAO,OAAO;AAM1B,MAAM,UAAA,GAAa,CAAC,IAAA,EAA2B,OAAA,KAA4B;AAChF,EAAA,MAAM,IAAA,GAAO,CAAC,KAAA,EAAwB,KAAA,KAA0B;AAC9D,IAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,MAAA,IAAI,CAAC,gBAAA,CAAiB,IAAI,CAAA,EAAG;AAC7B,MAAA,IAAI,IAAA,CAAK,EAAA,KAAO,OAAA,EAAS,OAAO,KAAA;AAChC,MAAA,MAAM,MAAA,GAAS,IAAA,CAAK,IAAA,CAAK,KAAA,EAAO,QAAQ,CAAC,CAAA;AACzC,MAAA,IAAI,QAAQ,OAAO,MAAA;AAAA,IACrB;AACA,IAAA,OAAO,CAAA;AAAA,EACT,CAAA;AACA,EAAA,OAAO,IAAA,CAAK,IAAA,CAAK,KAAA,EAAO,CAAC,CAAA;AAC3B,CAAA;AAGO,MAAM,cAAc,CAAC,KAAA,KAC1B,KAAA,CAAM,KAAA,CAAM,OAAO,CAAC,GAAA,EAAK,IAAA,KAAS,GAAA,IAAO,iBAAiB,IAAI,CAAA,GAAI,YAAY,IAAI,CAAA,GAAI,IAAI,CAAC;AAGtF,MAAM,UAAA,GAAa,CAAC,KAAA,KAAoC;AAAA,EAC7D,KAAA,CAAM,EAAA;AAAA,EACN,GAAG,KAAA,CAAM,KAAA,CAAM,OAAA,CAAQ,UAAS,gBAAA,CAAiB,IAAI,CAAA,GAAI,UAAA,CAAW,IAAI,CAAA,GAAI,CAAC,IAAA,CAAK,EAAE,CAAE;AACxF,CAAA;AAEA,MAAM,WAAW,CACf,KAAA,EACA,SACA,EAAA,KAEA,KAAA,CAAM,IAAI,CAAA,IAAA,KAAQ;AAChB,EAAA,IAAI,CAAC,gBAAA,CAAiB,IAAI,CAAA,EAAG,OAAO,IAAA;AACpC,EAAA,OAAO,IAAA,CAAK,EAAA,KAAO,OAAA,GAAU,EAAA,CAAG,IAAI,CAAA,GAAI,EAAE,GAAG,IAAA,EAAM,OAAO,QAAA,CAAS,IAAA,CAAK,KAAA,EAAO,OAAA,EAAS,EAAE,CAAA,EAAE;AAC9F,CAAC,CAAA;AAEH,MAAM,QAAA,GAAW,CAAC,KAAA,EAAwB,EAAA,KACxC,MAAM,GAAA,CAAI,CAAA,IAAA,KAAS,gBAAA,CAAiB,IAAI,CAAA,GAAI,EAAE,GAAG,IAAA,EAAM,KAAA,EAAO,SAAS,IAAA,CAAK,KAAA,EAAO,EAAE,CAAA,EAAE,GAAI,EAAA,CAAG,IAAI,CAAE,CAAA;AAEtG,MAAM,WAAA,GAAc,CAAC,KAAA,EAAwB,IAAA,KAC3C,MAAM,MAAA,CAAO,IAAI,CAAA,CAAE,GAAA,CAAI,CAAA,IAAA,KAAS,gBAAA,CAAiB,IAAI,CAAA,GAAI,EAAE,GAAG,IAAA,EAAM,KAAA,EAAO,WAAA,CAAY,KAAK,KAAA,EAAO,IAAI,CAAA,EAAE,GAAI,IAAK,CAAA;AAE7G,MAAM,UAAA,GAAa,CACxB,IAAA,EACA,MAAA,EACA,KAAA,MACyB;AAAA,EACzB,GAAG,IAAA;AAAA,EACH,KAAA,EAAO,QAAA,CAAS,IAAA,CAAK,KAAA,EAAO,UAAS,IAAA,CAAK,EAAA,KAAO,MAAA,GAAS,EAAE,GAAG,IAAA,EAAM,GAAG,KAAA,KAAU,IAAK;AACzF,CAAA,CAAA;AAGO,MAAM,UAAA,GAAa,CAAC,IAAA,EAA2B,EAAA,MAAqC;AAAA,EACzF,GAAG,IAAA;AAAA,EACH,OAAO,WAAA,CAAY,IAAA,CAAK,OAAO,CAAA,IAAA,KAAQ,IAAA,CAAK,OAAO,EAAE;AACvD,CAAA,CAAA;AAOA,MAAM,aAAa,CAAC,KAAA,KAClB,KAAA,CAAM,OAAA,CAAQ,CAAC,IAAA,KAA0B;AACvC,EAAA,IAAI,CAAC,gBAAA,CAAiB,IAAI,CAAA,EAAG,OAAO,CAAC,IAAI,CAAA;AACzC,EAAA,MAAM,MAAA,GAAS,UAAA,CAAW,IAAA,CAAK,KAAK,CAAA;AACpC,EAAA,OAAO,MAAA,CAAO,MAAA,KAAW,CAAA,GAAI,EAAC,GAAI,CAAC,EAAE,GAAG,IAAA,EAAM,KAAA,EAAO,MAAA,EAAQ,CAAA;AAC/D,CAAC,CAAA;AAGI,MAAM,gBAAA,GAAmB,CAAC,IAAA,MAAoD;AAAA,EACnF,GAAG,IAAA;AAAA,EACH,KAAA,EAAO,UAAA,CAAW,IAAA,CAAK,KAAK;AAC9B,CAAA,CAAA;AAEO,MAAM,UAAA,GAAa,CACxB,IAAA,EACA,OAAA,EACA,IAAA,KACwB;AACxB,EAAA,IAAI,CAAC,OAAA,IAAW,OAAA,KAAY,aAAA,SAAsB,EAAE,GAAG,IAAA,EAAM,KAAA,EAAO,CAAC,GAAG,IAAA,CAAK,KAAA,EAAO,IAAI,CAAA,EAAE;AAC1F,EAAA,OAAO,EAAE,GAAG,IAAA,EAAM,KAAA,EAAO,SAAS,IAAA,CAAK,KAAA,EAAO,SAAS,CAAA,KAAA,MAAU,EAAE,GAAG,KAAA,EAAO,KAAA,EAAO,CAAC,GAAG,KAAA,CAAM,OAAO,IAAI,CAAA,GAAI,CAAA,EAAE;AACjH,CAAA;AAEO,MAAM,aAAA,GAAgB,CAC3B,IAAA,EACA,OAAA,EACA,KAAA,KACwB;AACxB,EAAA,IAAI,YAAY,aAAA,EAAe,OAAO,EAAE,GAAG,MAAM,KAAA,EAAM;AACvD,EAAA,OAAO,EAAE,GAAG,IAAA,EAAM,KAAA,EAAO,SAAS,IAAA,CAAK,KAAA,EAAO,OAAA,EAAS,CAAA,KAAA,MAAU,EAAE,GAAG,KAAA,EAAO,KAAA,GAAQ,CAAA,EAAE;AACzF,CAAA;AAGO,MAAM,WAAA,GAAc,CACzB,IAAA,EACA,QAAA,EACA,KAAA,KACwB;AACxB,EAAA,IAAI,CAAC,QAAA,IAAY,QAAA,KAAa,aAAA,SAAsB,EAAE,GAAG,IAAA,EAAM,KAAA,EAAO,CAAC,GAAG,IAAA,CAAK,KAAA,EAAO,KAAK,CAAA,EAAE;AAC7F,EAAA,OAAO,EAAE,GAAG,IAAA,EAAM,KAAA,EAAO,SAAS,IAAA,CAAK,KAAA,EAAO,UAAU,CAAA,MAAA,MAAW,EAAE,GAAG,MAAA,EAAQ,KAAA,EAAO,CAAC,GAAG,MAAA,CAAO,OAAO,KAAK,CAAA,GAAI,CAAA,EAAE;AACtH,CAAA;AAGO,MAAM,cAAA,GAAiB,CAAC,IAAA,EAA2B,MAAA,KACxD,gBAAA,CAAiB;AAAA,EACf,GAAG,IAAA;AAAA,EACH,KAAA,EAAO,WAAA,CAAY,IAAA,CAAK,KAAA,EAAO,CAAA,IAAA,KAAQ,gBAAA,CAAiB,IAAI,CAAA,IAAK,MAAA,CAAO,GAAA,CAAI,IAAA,CAAK,EAAE,CAAC;AACtF,CAAC,CAAA;;ACtHH,MAAM,sBAAA,GAA6C,CAAC,OAAA,EAAS,UAAA,EAAY,SAAS,QAAQ,CAAA;AAC1F,MAAM,sBAAA,GAA6C,CAAC,GAAG,sBAAsB,EAAE,OAAA,EAAQ;AAGhF,MAAM,uBAAA,GAA0B,CAAA;AAMhC,MAAM,qBAAA,GAAwB;AAErC,MAAM,OAAA,GAAU,CAAC,EAAA,KAAmC,EAAA,EAAI,QAAQ,CAAA,CAAA,EAAI,qBAAqB,GAAG,CAAA,IAAK,IAAA;AAEjG,MAAM,OAAA,GAAU,CAAC,KAAA,KAA6C;AAC5D,EAAA,IAAI,CAAC,OAAO,OAAO,MAAA;AACnB,EAAA,OAAO,KAAA,CAAM,aAAa,UAAA,GAAa,OAAA;AACzC,CAAA;AAuEA,MAAM,gBAAA,GAAmB,cAA4C,IAAI,CAAA;AAElE,SAAS,mBAAA,GAA6C;AAC3D,EAAA,MAAM,GAAA,GAAM,WAAW,gBAAgB,CAAA;AACvC,EAAA,IAAI,CAAC,GAAA,EAAK,MAAM,IAAI,MAAM,oEAAoE,CAAA;AAC9F,EAAA,OAAO,GAAA;AACT;AAEA,IAAI,SAAA,GAAY,CAAA;AACT,SAAS,cAAA,GAAyB;AACvC,EAAA,IAAI,OAAO,WAAW,WAAA,IAAe,OAAO,OAAO,UAAA,KAAe,UAAA,EAAY,OAAO,MAAA,CAAO,UAAA,EAAW;AACvG,EAAA,SAAA,IAAa,CAAA;AACb,EAAA,OAAO,UAAU,SAAS,CAAA,CAAA;AAC5B;AAEO,SAAS,cAAc,QAAA,EAA4D;AACxF,EAAA,OAAO,QAAA,EAAU,KAAA,KAAU,MAAA,GAAS,EAAC,GAAI,EAAA;AAC3C;AAiBA,MAAM,QAAQ,CAAC,KAAA,EAAwB,GAAA,mBAAM,IAAI,KAAY,KAAmB;AAC9E,EAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,IAAA,GAAA,CAAI,GAAA,CAAI,KAAK,EAAE,CAAA;AACf,IAAA,IAAI,iBAAiB,IAAI,CAAA,EAAG,KAAA,CAAM,IAAA,CAAK,OAAO,GAAG,CAAA;AAAA,EACnD;AACA,EAAA,OAAO,GAAA;AACT,CAAA;AAQA,MAAM,UAAA,GAAa,CAAC,IAAA,EAAuB,IAAA,EAAuB,OAAA,KAAkD;AAClH,EAAA,MAAM,QAAA,GAAW,IAAI,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,CAAA,IAAA,KAAQ,CAAC,IAAA,CAAK,EAAA,EAAI,IAAI,CAAC,CAAC,CAAA;AAC1D,EAAA,MAAM,IAAA,uBAAW,GAAA,EAAY;AAC7B,EAAA,MAAM,MAAuB,EAAC;AAC9B,EAAA,KAAA,MAAW,OAAO,IAAA,EAAM;AACtB,IAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,GAAA,CAAI,GAAA,CAAI,EAAE,CAAA;AACjC,IAAA,IAAI,KAAA,EAAO;AACT,MAAA,IAAA,CAAK,GAAA,CAAI,IAAI,EAAE,CAAA;AACf,MAAA,GAAA,CAAI,IAAA;AAAA,QACF,iBAAiB,KAAK,CAAA,IAAK,gBAAA,CAAiB,GAAG,IAC3C,EAAE,GAAG,KAAA,EAAO,KAAA,EAAO,WAAW,GAAA,CAAI,KAAA,EAAO,MAAM,KAAA,EAAO,OAAO,GAAE,GAC/D;AAAA,OACN;AAAA,IACF,CAAA,MAAA,IAAW,OAAA,CAAQ,GAAA,CAAI,GAAA,CAAI,EAAE,CAAA,EAAG;AAC9B,MAAA,GAAA,CAAI,KAAK,GAAG,CAAA;AAAA,IACd;AAAA,EACF;AACA,EAAA,KAAA,MAAW,IAAA,IAAQ,IAAA,EAAM,IAAI,CAAC,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,EAAE,CAAA,EAAG,GAAA,CAAI,IAAA,CAAK,IAAI,CAAA;AAC9D,EAAA,OAAO,GAAA;AACT,CAAA;AAEO,SAAS,iBAAA,CAAkB;AAAA,EAChC,MAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA,GAAW,uBAAA;AAAA,EACX,SAAA;AAAA,EACA;AACF,CAAA,EAA2B;AACzB,EAAA,MAAM,QAAA,GAAW,MAAA,iBAAO,IAAI,GAAA,EAA8B,CAAA;AAC1D,EAAA,MAAM,QAAA,GAAW,OAAgC,IAAI,CAAA;AACrD,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA;AAChC,EAAA,MAAM,UAAA,GAAa,QAAQ,MAAM,SAAA,CAAU,KAAK,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAC1D,EAAA,MAAM,OAAA,GAAU,OAAO,UAAU,CAAA;AACjC,EAAA,OAAA,CAAQ,OAAA,GAAU,UAAA;AAClB,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAAS,EAAE,CAAA;AACnD,EAAA,MAAM,CAAC,iBAAiB,kBAAkB,CAAA,GAAI,SAA8B,sBAAM,IAAI,KAAK,CAAA;AAC3F,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAA6B,MAAS,CAAA;AAC5E,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAwB,IAAI,CAAA;AAElE,EAAA,MAAM,IAAA,GAAO,WAAA;AAAA,IACX,CAAC,IAAA,KAA8B,aAAA,CAAc,WAAA,CAAY,IAAA,EAAM,IAAI,CAAC,CAAA;AAAA,IACpE,CAAC,eAAe,IAAI;AAAA,GACtB;AAEA,EAAA,MAAM,QAAA,GAAW,WAAA,CAAY,CAAC,OAAA,KAAoB,MAAA,CAAO,IAAA,CAAK,CAAA,CAAA,KAAK,CAAA,CAAE,EAAA,KAAO,OAAO,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAC9F,EAAA,MAAM,WAAA,GAAc,WAAA,CAAY,CAAC,UAAA,KAAuB,SAAA,CAAU,IAAA,CAAK,CAAA,CAAA,KAAK,CAAA,CAAE,EAAA,KAAO,UAAU,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAC7G,EAAA,MAAM,iBAAA,GAAoB,WAAA;AAAA,IACxB,CAAC,KAAA,KAA0B;AACzB,MAAA,IAAI,CAAC,KAAA,CAAM,SAAA,EAAW,OAAO,SAAA;AAC7B,MAAA,MAAM,OAAA,GAAU,IAAI,GAAA,CAAI,KAAA,CAAM,SAAS,CAAA;AACvC,MAAA,OAAO,UAAU,MAAA,CAAO,CAAA,CAAA,KAAK,QAAQ,GAAA,CAAI,CAAA,CAAE,EAAE,CAAC,CAAA;AAAA,IAChD,CAAA;AAAA,IACA,CAAC,SAAS;AAAA,GACZ;AAEA,EAAA,MAAM,QAAA,GAAW,YAAY,CAAC,OAAA,KAAoB,gBAAgB,OAAO,CAAA,EAAG,EAAE,CAAA;AAE9E,EAAA,MAAM,CAAC,KAAA,EAAO,aAAa,CAAA,GAAI,SAAgC,IAAI,CAAA;AACnE,EAAA,MAAM,QAAA,GAAW,OAAO,KAAK,CAAA;AAC7B,EAAA,QAAA,CAAS,OAAA,GAAU,KAAA;AACnB,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAiC,IAAI,CAAA;AACzE,EAAA,MAAM,YAAA,GAAe,WAAA,CAAY,MAAM,aAAA,CAAc,UAAS,IAAA,GAAO,EAAE,GAAG,IAAA,EAAM,OAAO,KAAA,EAAM,GAAI,IAAK,CAAA,EAAG,EAAE,CAAA;AAE3G,EAAA,MAAM,CAAC,YAAY,aAAa,CAAA,GAAI,SAA8B,sBAAM,IAAI,KAAK,CAAA;AACjF,EAAA,MAAM,YAAA,GAAe,WAAA,CAAY,CAAC,EAAA,KAAe;AAC/C,IAAA,aAAA,CAAc,CAAA,IAAA,KAAQ;AACpB,MAAA,IAAI,CAAC,IAAA,CAAK,GAAA,CAAI,EAAE,GAAG,OAAO,IAAA;AAC1B,MAAA,MAAM,IAAA,GAAO,IAAI,GAAA,CAAI,IAAI,CAAA;AACzB,MAAA,IAAA,CAAK,OAAO,EAAE,CAAA;AACd,MAAA,OAAO,IAAA;AAAA,IACT,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,WAAA,GAAc,WAAA,CAAY,CAAC,GAAA,KAA0B;AACzD,IAAA,MAAM,IAAA,GAAO,CAAC,GAAG,GAAG,CAAA;AACpB,IAAA,IAAI,IAAA,CAAK,WAAW,CAAA,EAAG;AACvB,IAAA,aAAA,CAAc,CAAA,IAAA,yBAAY,GAAA,CAAI,CAAC,GAAG,IAAA,EAAM,GAAG,IAAI,CAAC,CAAC,CAAA;AAAA,EACnD,CAAA,EAAG,EAAE,CAAA;AAIL,EAAA,MAAM,eAAA,GAAkB,MAAA,CAAwB,UAAA,CAAW,KAAK,CAAA;AAChE,EAAA,MAAM,EAAE,QAAA,EAAU,KAAA,EAAO,SAAS,WAAA,EAAY,GAAI,QAAQ,MAAM;AAC9D,IAAA,MAAM,OAAA,GAAU,KAAA,CAAM,UAAA,CAAW,KAAK,CAAA;AACtC,IAAA,IAAIA,SAAAA,GACF,UAAA,CAAW,IAAA,KAAS,CAAA,GAChB,aACA,EAAE,GAAG,UAAA,EAAY,KAAA,EAAO,WAAW,eAAA,CAAgB,OAAA,EAAS,UAAA,CAAW,KAAA,EAAO,UAAU,CAAA,EAAE;AAChG,IAAA,IAAI,cAAc,CAAC,OAAA,CAAQ,IAAI,UAAA,CAAW,IAAA,CAAK,EAAE,CAAA,EAAG;AAClD,MAAAA,YAAW,UAAA,CAAWA,SAAAA,EAAU,UAAA,CAAW,OAAA,EAAS,WAAW,IAAI,CAAA;AAAA,IACrE;AACA,IAAA,eAAA,CAAgB,UAAUA,SAAAA,CAAS,KAAA;AACnC,IAAA,MAAM,KAAA,GAAQ,KAAA,CAAMA,SAAAA,CAAS,KAAK,CAAA;AAClC,IAAA,MAAMC,WAAU,IAAI,GAAA,CAAI,CAAC,GAAG,UAAU,EAAE,MAAA,CAAO,CAAA,EAAA,KAAM,KAAA,CAAM,GAAA,CAAI,EAAE,CAAA,IAAK,CAAC,QAAQ,GAAA,CAAI,EAAE,CAAC,CAAC,CAAA;AAGvF,IAAA,MAAMC,YAAAA,uBAAkB,GAAA,EAAoB;AAC5C,IAAA,KAAA,MAAW,IAAA,IAAQF,UAAS,KAAA,EAAO;AACjC,MAAA,IAAI,iBAAiB,IAAI,CAAA;AACvB,QAAA,KAAA,MAAW,EAAE,IAAA,EAAK,IAAK,aAAa,EAAgB,KAAA,EAAO,CAAC,IAAI,CAAA,EAAG,GAAGE,YAAAA,CAAY,IAAI,IAAA,CAAK,EAAA,EAAI,KAAK,EAAE,CAAA;AAAA,IAC1G;AACA,IAAA,OAAO,EAAE,QAAA,EAAAF,SAAAA,EAAU,KAAA,EAAO,aAAaA,SAAQ,CAAA,CAAE,GAAA,CAAI,CAAA,CAAA,KAAK,EAAE,IAAI,CAAA,EAAG,OAAA,EAAAC,QAAAA,EAAS,aAAAC,YAAAA,EAAY;AAAA,EAC1F,CAAA,EAAG,CAAC,UAAA,EAAY,UAAA,EAAY,UAAU,CAAC,CAAA;AAKvC,EAAA,MAAM,SAAA,GAAY,WAAA;AAAA,IAChB,CAAC,YAAqB,YAAA,IAAgB,WAAA,KAAgB,SAAY,YAAA,CAAa,OAAO,IAAI,cAAA,EAAe;AAAA,IACzG,CAAC,cAAc,WAAW;AAAA,GAC5B;AAEA,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAAC,IAAA,KAAiE;AAChE,MAAA,aAAA,CAAc,IAAI,CAAA;AAClB,MAAA,aAAA;AAAA,QAAc,UACZ,IAAA,GACI;AAAA,UACE,GAAG,IAAA;AAAA,UACH,EAAA,EAAI,MAAM,OAAA,KAAY,IAAA,CAAK,UAAU,IAAA,CAAK,EAAA,GAAK,SAAA,CAAU,IAAA,CAAK,OAAO,CAAA;AAAA,UACrE,IAAA,EAAM,QAAQ,IAAI,CAAA;AAAA,UAClB,OAAA,EAAS;AAAA,SACX,GACA;AAAA,OACN;AAAA,IACF,CAAA;AAAA,IACA,CAAC,WAAW,WAAW;AAAA,GACzB;AAEA,EAAA,MAAM,WAAA,GAAc,WAAA;AAAA,IAClB,CAAC,EAAE,OAAA,EAAS,UAAA,IAAyEC,MAAAA,KAA0B;AAE7G,MAAA,MAAM,EAAA,GAAK,QAAA,CAAS,OAAA,EAAS,EAAA,IAAM,UAAU,OAAO,CAAA;AACpD,MAAA,MAAM,OAAA,GAAU,QAAA,CAAS,OAAA,EAAS,OAAA,IAAW,WAAA;AAC7C,MAAA,MAAM,OAAO,EAAE,EAAA,EAAI,OAAA,EAAS,UAAA,EAAY,OAAAA,MAAAA,EAAM;AAC9C,MAAA,IAAA,CAAK,UAAA,CAAW,OAAA,CAAQ,OAAA,EAAS,OAAA,EAAS,IAAI,CAAC,CAAA;AAC/C,MAAA,aAAA,CAAc,EAAE,IAAA,EAAM,IAAA,EAAM,OAAA,CAAQ,QAAA,CAAS,OAAO,CAAA,EAAG,KAAA,EAAO,IAAA,EAAM,OAAA,EAAS,CAAA;AAC7E,MAAA,aAAA,CAAc,IAAI,CAAA;AAClB,MAAA,QAAA,CAAS,cAAc,CAAA;AAAA,IACzB,CAAA;AAAA,IACA,CAAC,IAAA,EAAM,QAAA,EAAU,SAAA,EAAW,WAAW;AAAA,GACzC;AAEA,EAAA,MAAMC,YAAA,GAAa,WAAA;AAAA,IACjB,CAAC,IAAY,KAAA,KAA8C;AACzD,MAAA,IAAA,CAAKC,UAAA,CAAe,OAAA,CAAQ,OAAA,EAAS,EAAA,EAAI,KAAK,CAAC,CAAA;AAAA,IACjD,CAAA;AAAA,IACA,CAAC,IAAI;AAAA,GACP;AAEA,EAAA,MAAM,UAAA,GAAa,WAAA;AAAA,IACjB,CAAC,EAAA,KAAe;AACd,MAAA,WAAA,CAAY,CAAC,EAAE,CAAC,CAAA;AAChB,MAAA,IAAA,CAAK,UAAA,CAAW,OAAA,CAAQ,OAAA,EAAS,EAAE,CAAC,CAAA;AACpC,MAAA,aAAA,CAAc,IAAI,CAAA;AAClB,MAAA,QAAA,CAAS,gBAAgB,CAAA;AAAA,IAC3B,CAAA;AAAA,IACA,CAAC,IAAA,EAAM,QAAA,EAAU,WAAW;AAAA,GAC9B;AAEA,EAAA,MAAM,kBAAA,GAAqB,WAAA,CAAY,CAAC,IAAA,KAA8B;AACpE,IAAA,cAAA,CAAe,UAAS,IAAA,IAAQ,IAAA,CAAK,IAAI,IAAI,CAAA,GAAI,SAAY,IAAK,CAAA;AAAA,EACpE,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,WAAA,GAAc,WAAA;AAAA,IAClB,CAAC,OAAA,KAAoB;AACnB,MAAA,MAAM,OAAO,OAAA,CAAQ,OAAA;AACrB,MAAA,MAAM,KAAA,GAAQ,SAAA,CAAU,IAAA,EAAM,OAAO,CAAA;AACrC,MAAA,MAAM,IAAA,GAAO,IAAI,GAAA,CAAI,KAAA,GAAQ,WAAW,KAAK,CAAA,GAAI,CAAC,OAAO,CAAC,CAAA;AAC1D,MAAA,WAAA,CAAY,IAAI,CAAA;AAChB,MAAA,IAAA,CAAK,UAAA,CAAW,IAAA,EAAM,OAAO,CAAC,CAAA;AAC9B,MAAA,aAAA,CAAc,IAAI,CAAA;AAClB,MAAA,aAAA,CAAc,IAAI,CAAA;AAClB,MAAA,kBAAA,CAAmB,IAAI,CAAA;AACvB,MAAA,cAAA,CAAe,CAAA,IAAA,KAAS,IAAA,KAAS,OAAA,GAAU,IAAA,GAAO,IAAK,CAAA;AACvD,MAAA,QAAA,CAAS,yBAAyB,CAAA;AAAA,IACpC,CAAA;AAAA,IACA,CAAC,IAAA,EAAM,QAAA,EAAU,WAAA,EAAa,kBAAkB;AAAA,GAClD;AAEA,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAAC,UAA8B,KAAA,KAA0B;AACvD,MAAA,MAAM,KAAA,GAAwB,EAAE,EAAA,EAAI,cAAA,EAAe,EAAG,MAAM,OAAA,EAAS,KAAA,EAAO,KAAA,EAAO,EAAC,EAAE;AACtF,MAAA,IAAA,CAAK,WAAA,CAAY,OAAA,CAAQ,OAAA,EAAS,QAAA,EAAU,KAAK,CAAC,CAAA;AAClD,MAAA,aAAA,CAAc,IAAI,CAAA;AAClB,MAAA,aAAA,CAAc,IAAI,CAAA;AAClB,MAAA,cAAA,CAAe,MAAM,EAAE,CAAA;AACvB,MAAA,QAAA,CAAS,QAAA,GAAW,uBAAuB,uBAAuB,CAAA;AAClE,MAAA,OAAO,KAAA,CAAM,EAAA;AAAA,IACf,CAAA;AAAA,IACA,CAAC,MAAM,QAAQ;AAAA,GACjB;AAEA,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAAC,SAAiB,KAAA,KAA0B;AAC1C,MAAA,IAAA,CAAK,aAAA,CAAc,OAAA,CAAQ,OAAA,EAAS,OAAA,EAAS,KAAK,CAAC,CAAA;AACnD,MAAA,QAAA,CAAS,CAAA,uBAAA,EAA0B,KAAK,CAAA,CAAE,CAAA;AAAA,IAC5C,CAAA;AAAA,IACA,CAAC,MAAM,QAAQ;AAAA,GACjB;AAEA,EAAA,MAAM,aAAA,GAAgB,WAAA,CAAY,CAAC,OAAA,KAAoB,UAAA,CAAW,QAAQ,OAAA,EAAS,OAAO,CAAA,EAAG,EAAE,CAAA;AAE/F,EAAA,MAAM,YAAA,GAAe,WAAA;AAAA,IACnB,CAAC,OAAA,KAA2B;AAC1B,MAAA,cAAA,CAAe,OAAO,CAAA;AACtB,MAAA,IAAI,YAAY,IAAA,EAAM;AAEtB,MAAA,MAAM,OAAO,OAAA,CAAQ,OAAA;AACrB,MAAA,MAAM,MAAA,GAAS,iBAAiB,IAAI,CAAA;AACpC,MAAA,MAAM,IAAA,GAAO,KAAA,CAAM,MAAA,CAAO,KAAK,CAAA;AAC/B,MAAA,MAAM,OAAO,IAAI,GAAA,CAAI,CAAC,GAAG,MAAM,IAAA,CAAK,KAAK,CAAC,CAAA,CAAE,OAAO,CAAA,EAAA,KAAM,CAAC,KAAK,GAAA,CAAI,EAAE,CAAC,CAAC,CAAA;AACvE,MAAA,IAAI,IAAA,CAAK,OAAO,CAAA,EAAG;AACjB,QAAA,WAAA,CAAY,IAAI,CAAA;AAChB,QAAA,IAAA,CAAK,MAAM,CAAA;AAAA,MACb;AACA,MAAA,aAAA,CAAc,IAAI,CAAA;AAClB,MAAA,cAAA,CAAe,MAAS,CAAA;AAAA,IAC1B,CAAA;AAAA,IACA,CAAC,MAAM,WAAW;AAAA,GACpB;AAEA,EAAA,MAAM,UAAA,GAAa,YAAY,MAAM;AACnC,IAAA,QAAA,CAAS,SAAS,KAAA,EAAM;AAAA,EAC1B,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,cAAA,GAAiB,WAAA;AAAA,IACrB,CAAC,OAAA,KAAgC;AAC/B,MAAA,cAAA,CAAe,OAAO,CAAA;AACtB,MAAA,aAAA,CAAc,IAAI,CAAA;AAElB,MAAA,IAAI,OAAA,KAAY,QAAW,UAAA,EAAW;AAAA,IACxC,CAAA;AAAA,IACA,CAAC,UAAU;AAAA,GACb;AAEA,EAAA,MAAM,KAAA,GAAQ,YAAY,MAAM;AAC9B,IAAA,MAAM,OAAO,OAAA,CAAQ,OAAA;AACrB,IAAA,MAAM,IAAA,GAAO,cAAA,CAAe,IAAA,EAAM,eAAe,CAAA;AACjD,IAAA,MAAM,IAAA,GAAO,KAAA,CAAM,IAAA,CAAK,KAAK,CAAA;AAC7B,IAAA,MAAM,OAAO,IAAI,GAAA,CAAI,CAAC,GAAG,MAAM,IAAA,CAAK,KAAK,CAAC,CAAA,CAAE,OAAO,CAAA,EAAA,KAAM,CAAC,KAAK,GAAA,CAAI,EAAE,CAAC,CAAC,CAAA;AACvE,IAAA,WAAA,CAAY,IAAI,CAAA;AAChB,IAAA,IAAA,CAAK,IAAI,CAAA;AACT,IAAA,aAAA,CAAc,IAAI,CAAA;AAClB,IAAA,aAAA,CAAc,IAAI,CAAA;AAClB,IAAA,cAAA,CAAe,MAAS,CAAA;AACxB,IAAA,cAAA,CAAe,IAAI,CAAA;AACnB,IAAA,QAAA,CAAS,qBAAqB,CAAA;AAAA,EAChC,GAAG,CAAC,IAAA,EAAM,QAAA,EAAU,eAAA,EAAiB,WAAW,CAAC,CAAA;AAEjD,EAAA,MAAM,iBAAA,GAAoB,YAAA,CAAa,UAAU,CAAA,CAAE,KAAK,CAAC,EAAE,IAAA,EAAK,KAAM,CAAC,eAAA,CAAgB,GAAA,CAAI,IAAA,CAAK,EAAE,CAAC,CAAA;AAEnG,EAAA,MAAM,oBAAA,GAAuB,WAAA,CAAY,CAAC,MAAA,EAAgB,YAAA,KAA0B;AAClF,IAAA,kBAAA,CAAmB,CAAA,IAAA,KAAQ;AACzB,MAAA,IAAI,IAAA,CAAK,GAAA,CAAI,MAAM,CAAA,KAAM,cAAc,OAAO,IAAA;AAC9C,MAAA,MAAM,IAAA,GAAO,IAAI,GAAA,CAAI,IAAI,CAAA;AACzB,MAAA,IAAI,YAAA,EAAc,IAAA,CAAK,GAAA,CAAI,MAAM,CAAA;AAAA,WAC5B,IAAA,CAAK,OAAO,MAAM,CAAA;AACvB,MAAA,OAAO,IAAA;AAAA,IACT,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,eAAA,GAAkB,WAAA,CAAY,CAAC,MAAA,EAAgB,SAA2B,EAAA,KAA2B;AACzG,IAAA,MAAM,GAAA,GAAkB,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA;AAC5C,IAAA,IAAI,EAAA,EAAI,QAAA,CAAS,OAAA,CAAQ,GAAA,CAAI,KAAK,EAAE,CAAA;AAAA,SAC/B,QAAA,CAAS,OAAA,CAAQ,MAAA,CAAO,GAAG,CAAA;AAAA,EAClC,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,aAAA,GAAgB,WAAA,CAAY,CAAC,EAAA,KAAgC;AAEjE,IAAA,IAAI,EAAA,WAAa,OAAA,GAAU,EAAA;AAAA,SAAA,IAClB,CAAC,QAAA,CAAS,OAAA,EAAS,WAAA,WAAsB,OAAA,GAAU,IAAA;AAAA,EAC9D,CAAA,EAAG,EAAE,CAAA;AAGL,EAAA,MAAM,WAAA,GAAc,OAAO,KAAK,CAAA;AAChC,EAAA,WAAA,CAAY,OAAA,GAAU,KAAA;AAEtB,EAAA,MAAM,YAAA,GAAe,OAAO,WAAW,CAAA;AACvC,EAAA,YAAA,CAAa,OAAA,GAAU,WAAA;AAEvB,EAAA,MAAM,SAAA,GAAY,WAAA,CAAY,CAAC,SAAA,EAAmB,WAAmB,OAAA,KAA8B;AACjG,IAAA,MAAMC,SAAQ,WAAA,CAAY,OAAA;AAC1B,IAAA,MAAMJ,eAAc,YAAA,CAAa,OAAA;AAGjC,IAAA,MAAM,MAAA,GAASI,MAAAA,CAAM,SAAA,GAAY,SAAS,CAAA;AAC1C,IAAA,MAAM,QAAA,GAAW,SACb,CAAC,GAAG,sBAAsB,CAAA,CAAE,GAAA,CAAI,OAAK,QAAA,CAAS,OAAA,CAAQ,IAAI,CAAA,EAAG,MAAA,CAAO,EAAE,CAAA,CAAA,EAAI,CAAC,EAAE,CAAC,CAAA,CAAE,IAAA,CAAK,OAAO,CAAA,GAC5F,IAAA;AACJ,IAAA,MAAM,KAAA,GACJ,OAAA,CAAQ,OAAO,QAAA,KAAa,WAAA,GAAc,IAAA,GAAO,QAAA,CAAS,aAAa,CAAA,IAAK,OAAA,CAAQ,QAAQ,CAAA,IAAK,MAAA;AAInG,IAAA,MAAM,SAAA,GAAgC,SAAA,KAAc,EAAA,GAAK,sBAAA,GAAyB,sBAAA;AAClF,IAAA,KAAA,IAAS,CAAA,GAAI,WAAW,CAAA,IAAK,CAAA,IAAK,IAAIA,MAAAA,CAAM,MAAA,EAAQ,KAAK,SAAA,EAAW;AAClE,MAAA,MAAM,IAAA,GAAOA,OAAM,CAAC,CAAA;AACpB,MAAA,IAAI,CAAC,IAAA,EAAM;AAEX,MAAA,MAAM,QAAA,GAAW,CAAC,IAAA,CAAK,EAAA,EAAIJ,aAAY,GAAA,CAAI,IAAA,CAAK,EAAE,CAAC,CAAA,CAAE,MAAA,CAAO,CAAC,EAAA,KAAqB,OAAO,MAAS,CAAA;AAClG,MAAA,KAAA,MAAW,WAAW,QAAA,EAAU;AAC9B,QAAA,KAAA,MAAW,SAAA,IAAa,CAAC,OAAA,EAAS,GAAG,SAAS,CAAA,EAAG;AAC/C,UAAA,MAAM,EAAA,GAAK,SAAS,OAAA,CAAQ,GAAA,CAAI,GAAG,OAAO,CAAA,CAAA,EAAI,SAAS,CAAA,CAAE,CAAA;AACzD,UAAA,IAAI,OAAO,KAAA,KAAU,MAAA,IAAa,OAAA,CAAQ,EAAE,MAAM,KAAA,CAAA,EAAQ;AACxD,YAAA,EAAA,CAAG,KAAA,EAAM;AACT,YAAA,OAAO,IAAA;AAAA,UACT;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,IAAA,OAAO,KAAA;AAAA,EACT,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,gBAAA,GAAmB,WAAA;AAAA,IACvB,CAAC,YAAA,KAAyB;AAIxB,MAAA,IAAI,SAAA,CAAU,YAAA,GAAe,CAAA,EAAG,CAAA,EAAG,OAAO,CAAA,IAAK,SAAA,CAAU,YAAA,GAAe,CAAA,EAAG,EAAA,EAAI,OAAO,CAAA,EAAG;AACzF,MAAA,UAAA,EAAW;AAAA,IACb,CAAA;AAAA,IACA,CAAC,WAAW,UAAU;AAAA,GACxB;AAEA,EAAA,MAAM,GAAA,GAAM,OAAA;AAAA,IACV,OAAO;AAAA,MACL,MAAA;AAAA,MACA,SAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA,EAAY,QAAA;AAAA,MACZ,eAAe,CAAC,IAAA;AAAA,MAChB,QAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,kBACAE,YAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAA;AAAA,MACA,KAAA;AAAA,MACA,iBAAA;AAAA,MACA,oBAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,eAAA;AAAA,MACA,aAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,gBAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA;AAAA,MACE,MAAA;AAAA,MACA,SAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACAA,YAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAA;AAAA,MACA,KAAA;AAAA,MACA,iBAAA;AAAA,MACA,oBAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,iBAAA;AAAA,MACA,eAAA;AAAA,MACA,aAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,gBAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA;AAAA;AACF,GACF;AAEA,EAAA,2BAAQ,gBAAA,CAAiB,QAAA,EAAjB,EAA0B,KAAA,EAAO,KAAM,QAAA,EAAS,CAAA;AAC1D;;AChjBO,SAAS,oBAAA,CAAqB,EAAE,MAAA,EAAO,EAAgC;AAC5E,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,MAAA,CAAO,KAAA;AAAA,wBACP,MAAA,EAAA,EAAK,SAAA,EAAU,oBAAoB,QAAA,EAAA,MAAA,CAAO,KAAA,IAAS,OAAO,KAAA,EAAM;AAAA,GAAA,EACnE,CAAA;AAEJ;AAEA,MAAM,SAAA,GAAY,UAAA,CAAyD,CAAC,KAAA,EAAO,wBACjF,GAAA,CAACG,QAAA,CAAkB,IAAA,EAAlB,EAAuB,KAAK,mBAAA,CAAoB,GAAG,CAAA,EAAI,GAAG,OAAO,CACnE,CAAA;AACD,SAAA,CAAU,WAAA,GAAc,qBAAA;AAOjB,SAAS,mBAAA,CAAuB;AAAA,EACrC,MAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA,GAAY,aAAA;AAAA,EACZ,YAAA,EAAc,SAAA;AAAA,EACd,sBAAA,EAAwB;AAC1B,CAAA,EAAgC;AAC9B,EAAA,MAAM,IAAA,GAAO,CAAC,SAAA,IAAa,KAAA,KAAU,MAAA;AACrC,EAAA,MAAM,OAAO,YAAA,EAA6B;AAC1C,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,SAAA,yBACEA,QAAA,CAAkB,MAAA,EAAlB,EAAyB,SAAA,EAAW,eAAe,KAAA,EAClD,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,OAAA,EAAA,EAAQ,MAAK,IAAA,EAAK,CAAA;AAAA,sBACnB,GAAA,CAAC,UAAK,QAAA,EAAA,UAAA,EAAQ;AAAA,KAAA,EAChB,CAAA;AAAA,IAED,CAAC,SAAA,IAAa,KAAA,KAAU,MAAA,oBACvB,GAAA,CAACA,QAAA,CAAkB,MAAA,EAAlB,EAAyB,SAAA,EAAW,cAAA,CAAe,KAAA,EAAO,QAAA,EAAA,uBAAA,EAAqB,CAAA;AAAA,oBAElF,GAAA,CAACA,SAAkB,KAAA,EAAlB,EAAwB,WAAW,cAAA,CAAe,KAAA,EAAQ,QAAA,EAAA,IAAA,GAAO,SAAA,GAAY,IAAA,EAAK,CAAA;AAAA,oBACnF,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA;AAAA,UACT,cAAA,CAAe,YAAA;AAAA,UACf,4CAAA;AAAA,UACA,IAAA,CAAK;AAAA,SACP;AAAA,QACC,GAAG,IAAA,CAAK,iBAAA,CAAkB,EAAE,CAAA;AAAA,QAE7B,QAAA,kBAAA,GAAA,CAAC,kBAAe,IAAA,EACd,QAAA,kBAAA,GAAA;AAAA,UAACA,QAAA,CAAkB,IAAA;AAAA,UAAlB;AAAA,YACC,YAAA,EAAY,SAAA;AAAA,YACZ,sBAAA,EAAsB,eAAA;AAAA,YACtB,WAAW,cAAA,CAAe,IAAA;AAAA,YAEzB,WAAC,MAAA,KAAc;AACd,cAAA,MAAM,QAAA,GAAW,UAAA,GAAa,MAAM,CAAA,IAAK,KAAA;AACzC,cAAA,uBACE,IAAA;AAAA,gBAAC,SAAA;AAAA,gBAAA;AAAA,kBAEC,KAAA,EAAO,MAAA;AAAA,kBACP,iBAAe,QAAA,IAAY,MAAA;AAAA,kBAC3B,SAAA,EAAW,EAAA,CAAG,cAAA,CAAe,IAAA,EAAM,SAAS,CAAA;AAAA,kBAE5C,QAAA,EAAA;AAAA,oCAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mDAAA,EAAqD,QAAA,EAAA,YAAA,CAAa,MAAM,CAAA,EAAE,CAAA;AAAA,oCAC1F,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,cAAA,CAAe,aAAA,EAC9B,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,cAAA,CAAe,cAAA,EAC7B,QAAA,EAAA,UAAA,GACC,QAAA,oBAAY,GAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAW,cAAA,CAAe,SAAA,EAAW,CAAA,mBAE5D,GAAA,CAACA,QAAA,CAAkB,aAAA,EAAlB,EACC,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAW,cAAA,CAAe,SAAA,EAAW,CAAA,EAClD,GAEJ,CAAA,EACF;AAAA;AAAA,iBAAA;AAAA,gBAhBK,OAAO,MAAM;AAAA,eAiBpB;AAAA,YAEJ;AAAA;AAAA,SACF,EACF;AAAA;AAAA;AACF,GAAA,EACF,CAAA;AAEJ;;AC3GO,SAAS,YAAA,CAAa,MAAc,KAAA,EAAwB;AACjE,EAAA,MAAM,KAAA,GAAQ,MAAM,WAAA,EAAY,CAAE,MAAM,KAAK,CAAA,CAAE,OAAO,OAAO,CAAA;AAC7D,EAAA,IAAI,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG,OAAO,IAAA;AAC/B,EAAA,MAAM,QAAA,GAAW,KAAK,WAAA,EAAY;AAClC,EAAA,OAAO,MAAM,KAAA,CAAM,CAAA,IAAA,KAAQ,QAAA,CAAS,QAAA,CAAS,IAAI,CAAC,CAAA;AACpD;AAGO,SAAS,kBAAA,CAAsB,IAAA,EAAS,KAAA,EAAe,YAAA,EAA6C;AACzG,EAAA,OAAO,YAAA,CAAa,eAAe,YAAA,CAAa,IAAI,IAAI,MAAA,CAAO,IAAI,GAAG,KAAK,CAAA;AAC7E;;ACPA,MAAM,WAAA,GAAc,GAAA;AAEpB,MAAM,eAAA,GAAqC;AAAA,EACzC,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAO;AAAA,EAC/B,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,OAAA;AAC3B,CAAA;AAGO,MAAM,mBAAA,GAAsB,CAAC,KAAA,KAClC,KAAA,EAAO,gBAAgB,KAAA,EAAO,IAAA,KAAS,YAAY,eAAA,GAAkB,MAAA,CAAA;AAuBhE,SAAS,mBAAA,CAAoB;AAAA,EAClC,KAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAA0D;AACxD,EAAA,MAAM,WAAA,GAAc,oBAAoB,KAAK,CAAA;AAC7C,EAAA,MAAM,QAAA,GAAW,OAAO,WAAA,KAAgB,UAAA,GAAa,WAAA,GAAc,MAAA;AACnE,EAAA,MAAM,aAAA,GAAgB,KAAA,CAAM,OAAA,CAAQ,WAAW,IAAI,WAAA,GAAc,MAAA;AAEjE,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,QAAA,CAA4B,EAAE,CAAA;AAC1D,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAChD,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAkB,MAAS,CAAA;AACrD,EAAA,MAAM,SAAA,GAAY,OAAO,CAAC,CAAA;AAE1B,EAAA,MAAM,WAAA,GAAc,OAAO,QAAQ,CAAA;AACnC,EAAA,WAAA,CAAY,OAAA,GAAU,QAAA;AACtB,EAAA,MAAM,WAAA,GAAc,QAAQ,QAAQ,CAAA;AAEpC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,WAAA,IAAe,CAAC,OAAA,EAAS;AAC5B,MAAA,SAAA,CAAU,EAAE,CAAA;AACZ,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,QAAA,CAAS,MAAS,CAAA;AAClB,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,EAAA,GAAK,EAAE,SAAA,CAAU,OAAA;AACvB,IAAA,MAAM,UAAA,GAAa,IAAI,eAAA,EAAgB;AACvC,IAAA,YAAA,CAAa,IAAI,CAAA;AAEjB,IAAA,MAAM,KAAA,GAAQ,WAAW,MAAM;AAC7B,MAAA,OAAA,CAAQ,SAAQ,CACb,IAAA,CAAK,MAAM,WAAA,CAAY,OAAA,GAAU,EAAE,KAAA,EAAO,UAAA,EAAY,MAAA,EAAQ,UAAA,CAAW,QAAQ,CAAA,IAAK,EAAE,CAAA,CACxF,KAAK,CAAA,MAAA,KAAU;AACd,QAAA,IAAI,EAAA,KAAO,UAAU,OAAA,EAAS;AAC9B,QAAA,SAAA,CAAU,MAAM,CAAA;AAChB,QAAA,QAAA,CAAS,MAAS,CAAA;AAClB,QAAA,YAAA,CAAa,KAAK,CAAA;AAAA,MACpB,CAAC,CAAA,CACA,KAAA,CAAM,CAAA,GAAA,KAAO;AACZ,QAAA,IAAI,EAAA,KAAO,SAAA,CAAU,OAAA,IAAW,UAAA,CAAW,OAAO,OAAA,EAAS;AAC3D,QAAA,QAAA,CAAS,GAAG,CAAA;AACZ,QAAA,YAAA,CAAa,KAAK,CAAA;AAAA,MACpB,CAAC,CAAA;AAAA,IACL,GAAG,WAAW,CAAA;AAEd,IAAA,OAAO,MAAM;AACX,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,UAAA,CAAW,KAAA,EAAM;AAAA,IACnB,CAAA;AAAA,EACF,GAAG,CAAC,WAAA,EAAa,OAAA,EAAS,KAAA,EAAO,UAAU,CAAC,CAAA;AAE5C,EAAA,MAAM,OAAA,GAAU,QAAQ,MAAM;AAC5B,IAAA,IAAI,aAAA,EAAe,OAAO,aAAA,CAAc,MAAA,CAAO,CAAA,CAAA,KAAK,YAAA,CAAa,CAAA,CAAE,KAAA,IAAS,CAAA,CAAE,KAAA,EAAO,KAAK,CAAC,CAAA;AAC3F,IAAA,OAAO,MAAA;AAAA,EACT,CAAA,EAAG,CAAC,aAAA,EAAe,MAAA,EAAQ,KAAK,CAAC,CAAA;AAEjC,EAAA,OAAO;AAAA,IACL,OAAA;AAAA,IACA,SAAA,EAAW,OAAA,CAAQ,QAAQ,CAAA,IAAK,SAAA;AAAA,IAChC,KAAA;AAAA,IACA,cAAA,EAAgB,QAAQ,WAAW;AAAA,GACrC;AACF;;ACrFA,MAAM,SAAA,GAAY,CAAC,KAAA,KAAiD,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAI,KAAA,CAAM,GAAA,CAAI,MAAM,CAAA,GAAI,EAAC;AASzG,SAAS,YAAA,CAAa,EAAE,KAAA,EAAO,QAAA,EAAU,OAAO,OAAA,EAAS,YAAA,EAAc,UAAS,EAAwB;AAC7G,EAAA,MAAM,MAAA,GAAS,UAAU,KAAA,KAAU,MAAA;AAEnC,EAAA,MAAM,CAAC,UAAU,WAAW,CAAA,GAAI,SAAmB,MAAM,SAAA,CAAU,YAAY,CAAC,CAAA;AAChF,EAAA,MAAM,eAAA,GAAkB,OAAO,YAAY,CAAA;AAC3C,EAAA,eAAA,CAAgB,OAAA,GAAU,YAAA;AAG1B,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,WAAA,CAAY,UAAU,SAAA,CAAU,eAAA,CAAgB,OAAO,CAAA,GAAI,EAAE,CAAA;AAAA,EAC/D,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,MAAM,WAAA,GAAc,mBAAA,CAAoB,EAAE,KAAA,EAAO,UAAA,EAAY,UAAU,EAAA,IAAM,EAAA,EAAI,KAAA,EAAO,OAAA,EAAS,CAAA;AACjG,EAAA,MAAM,OAAO,KAAA,EAAO,IAAA;AACpB,EAAA,MAAM,aAAA,GAAgB,CAAC,KAAA,EAAO,MAAA,IAAU,IAAA,KAAS,SAAA;AAEjD,EAAA,MAAM,MAAA,GAAS,WAAA,CAAY,CAAC,KAAA,KAAkB;AAC5C,IAAA,WAAA,CAAY,CAAA,OAAA,KAAY,OAAA,CAAQ,QAAA,CAAS,KAAK,IAAI,OAAA,CAAQ,MAAA,CAAO,CAAA,CAAA,KAAK,CAAA,KAAM,KAAK,CAAA,GAAI,CAAC,GAAG,OAAA,EAAS,KAAK,CAAE,CAAA;AAAA,EAC3G,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,MAAA,GAAS,WAAA;AAAA,IACb,CAAC,MAAA,KACC,QAAA,CAAS,MAAM,OAAA,CAAQ,MAAM,IAAI,MAAA,CAAO,GAAA,CAAI,CAAA,CAAA,KAAK,eAAA,CAAgB,MAAM,CAAC,CAAC,IAAI,eAAA,CAAgB,IAAA,EAAM,MAAM,CAAC,CAAA;AAAA,IAC5G,CAAC,UAAU,IAAI;AAAA,GACjB;AAEA,EAAA,MAAM,YAAA,GAAe,WAAA;AAAA,IACnB,CAAC,MAAA,KAA4B;AAC3B,MAAA,IAAI,MAAA,EAAQ,MAAA,CAAO,MAAA,CAAO,KAAK,CAAA;AAAA,WAC1B,MAAA,CAAO,OAAO,KAAK,CAAA;AAAA,IAC1B,CAAA;AAAA,IACA,CAAC,MAAA,EAAQ,MAAA,EAAQ,MAAM;AAAA,GACzB;AAEA,EAAA,MAAM,eAAA,GAAkB,YAAY,MAAM;AACxC,IAAA,IAAI,QAAA,CAAS,MAAA,KAAW,CAAA,EAAG,OAAO,KAAA;AAClC,IAAA,MAAA,CAAO,QAAQ,CAAA;AACf,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,EAAG,CAAC,QAAA,EAAU,MAAM,CAAC,CAAA;AAErB,EAAA,MAAM,iBAAA,GAAoB,WAAA;AAAA,IACxB,CAAC,IAAA,KAAiB,aAAA,IAAiB,IAAA,CAAK,MAAA,GAAS,CAAA,KAAM,IAAA,KAAS,QAAA,IAAY,MAAA,CAAO,QAAA,CAAS,MAAA,CAAO,IAAI,CAAC,CAAA,CAAA;AAAA,IACxG,CAAC,eAAe,IAAI;AAAA,GACtB;AAEA,EAAA,MAAM,cAAA,GAAiB,YAAY,MAAM;AACvC,IAAA,MAAM,IAAA,GAAO,MAAM,IAAA,EAAK;AACxB,IAAA,IAAI,CAAC,iBAAA,CAAkB,IAAI,CAAA,EAAG,OAAO,KAAA;AACrC,IAAA,MAAA,CAAO,MAAA,GAAU,QAAA,CAAS,QAAA,CAAS,IAAI,CAAA,GAAI,QAAA,GAAW,CAAC,GAAG,QAAA,EAAU,IAAI,CAAA,GAAK,IAAI,CAAA;AACjF,IAAA,OAAO,IAAA;AAAA,EACT,GAAG,CAAC,iBAAA,EAAmB,OAAO,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAC,CAAA;AAOvD,EAAA,MAAM,aAAA,GAAgB,WAAA;AAAA,IACpB,CAAC,OAAsB,WAAA,KAAiD;AACtE,MAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,OAAA,EAAS,OAAO,KAAA;AAClC,MAAA,IAAI,MAAA,KAAW,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,OAAA,CAAA,EAAU;AAC9C,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,OAAO,eAAA,MAAqB,cAAA,EAAe;AAAA,MAC7C;AACA,MAAA,IAAI,gBAAgB,IAAA,EAAM;AACxB,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,OAAO,cAAA,EAAe;AAAA,MACxB;AACA,MAAA,OAAO,KAAA;AAAA,IACT,CAAA;AAAA,IACA,CAAC,MAAA,EAAQ,eAAA,EAAiB,cAAc;AAAA,GAC1C;AAEA,EAAA,OAAO;AAAA,IACL,MAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAS,WAAA,CAAY,OAAA;AAAA,IACrB,WAAW,WAAA,CAAY,SAAA;AAAA,IACvB,OAAO,WAAA,CAAY,KAAA;AAAA,IACnB,gBAAgB,WAAA,CAAY,cAAA;AAAA,IAC5B,aAAA;AAAA;AAAA,IAEA,cAAA,EAAgB,iBAAA,CAAkB,KAAA,CAAM,IAAA,EAAM,CAAA;AAAA,IAC9C,YAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,GACF;AACF;;ACxEO,MAAM,YAAA,GAAe,EAAA;AAAA,EAC1B;AACF;AAKO,MAAM,uBAAA,GAAuC;AAG7C,MAAM,oBAAA,GAAuB,EAAE,aAAA,EAAe,QAAA,EAAU,eAAe,IAAA;AAUvE,MAAM,SAAA,GAAY,EAAA;AAAA,EACvB,4GAAA;AAAA,EACA,+BAAA;AAAA,EACA,cAAc,uBAAuB;AACvC;AAEO,MAAM,oBAAA,GAAuB,EAAA;AAAA,EAClC,YAAA;AAAA,EACA,2DAAA;AAAA,EACA;AACF;AAGO,SAAS,mBAAA,CAAoB,EAAE,KAAA,EAAO,KAAA,EAAM,EAA0D;AAC3G,EAAA,MAAM,OAAO,KAAA,EAAO,IAAA;AACpB,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,IAAA,oBAAQ,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,uBAAA,EAAwB,eAAW,IAAA,EAAC,CAAA;AAAA,wBAC5D,MAAA,EAAA,EAAK,SAAA,EAAU,UAAA,EAAY,QAAA,EAAA,KAAA,IAAS,OAAO,KAAA,EAAM;AAAA,GAAA,EACpD,CAAA;AAEJ;AAGO,MAAM,uBAAA,GAA0B,CAAC,KAAA,KACtC,KAAA,EAAO,QAAQ,EAAE,KAAA,EAAO,KAAA,CAAM,KAAA,EAAM,GAAI;AAG1C,MAAM,eAAA,GAAkB,CAAC,IAAA,EAAkB,eAAA,KAAqC;AAC9E,EAAA,IAAI,IAAA,KAAS,QAAQ,OAAO,CAAA;AAC5B,EAAA,IAAI,IAAA,KAAS,OAAA,IAAW,eAAA,EAAiB,OAAO,CAAA;AAChD,EAAA,OAAO,CAAA;AACT,CAAA;AAEO,MAAM,WAAA,GAAc,CAAC,KAAA,EAAuB,KAAA,KAA8C;AAC/F,EAAA,MAAM,WAAA,GAAc,oBAAoB,KAAK,CAAA;AAC7C,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,OAAA,CAAQ,WAAW,IAAI,WAAA,GAAc,MAAA;AAC3D,EAAA,MAAM,KAAA,GAAQ,CAAC,CAAA,KAAuB,OAAA,EAAS,KAAK,CAAA,CAAA,KAAK,CAAA,CAAE,KAAA,KAAU,MAAA,CAAO,CAAC,CAAC,CAAA,EAAG,KAAA,IAAS,OAAO,CAAC,CAAA;AAClG,EAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAI,KAAA,CAAM,GAAA,CAAI,KAAK,CAAA,CAAE,IAAA,CAAK,IAAI,CAAA,GAAI,KAAA,CAAM,KAAK,CAAA;AACzE,CAAA;AAkBA,MAAM,WAAA,GAAc,cAAkC,IAAI,CAAA;AAC1D,MAAM,UAAU,MAAM;AACpB,EAAA,MAAM,IAAA,GAAO,WAAW,WAAW,CAAA;AACnC,EAAA,IAAI,CAAC,IAAA,EAAM,MAAM,IAAI,MAAM,iEAAiE,CAAA;AAC5F,EAAA,OAAO,IAAA;AACT,CAAA;AAmBA,SAAS,cAAc,MAAA,EAA4B;AACjD,EAAA,OAAO,kBAAkB,OAAA,IAAW,OAAA,CAAQ,MAAA,CAAO,OAAA,CAAQ,iCAAiC,CAAC,CAAA;AAC/F;AAEO,SAAS,aAAA,CAAc;AAAA,EAC5B,IAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,SAAA,GAAY,IAAA;AAAA,EACZ,KAAA,GAAQ,KAAA;AAAA,EACR,SAAA;AAAA,EACA;AACF,CAAA,EAAuB;AACrB,EAAA,MAAM,MAAM,mBAAA,EAAoB;AAChC,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAkC,IAAI,CAAA;AAC5E,EAAA,MAAM,KAAA,GAAQ,GAAA,CAAI,QAAA,CAAS,IAAA,CAAK,OAAO,CAAA;AACvC,EAAA,MAAM,QAAA,GAAW,GAAA,CAAI,WAAA,CAAY,IAAA,CAAK,UAAU,CAAA;AAChD,EAAA,MAAM,KAAA,GAAQ,IAAI,KAAA,CAAM,SAAA,CAAU,OAAK,CAAA,CAAE,EAAA,KAAO,KAAK,EAAE,CAAA;AACvD,EAAA,MAAM,OAAA,GAAU,OAAuB,IAAI,CAAA;AAC3C,EAAA,MAAM,OAAA,GAAU,GAAA,CAAI,OAAA,CAAQ,GAAA,CAAI,KAAK,EAAE,CAAA;AAEvC,EAAA,MAAM,MAAA,GAAS,CAAC,KAAA,KAAU,QAAA,IAAY,CAAC,SAAA,CAAA;AACvC,EAAA,MAAM,EAAE,oBAAA,EAAsB,YAAA,EAAa,GAAI,GAAA;AAC/C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,oBAAA,CAAqB,IAAA,CAAK,IAAI,MAAM,CAAA;AACpC,IAAA,OAAO,MAAM,oBAAA,CAAqB,IAAA,CAAK,EAAA,EAAI,KAAK,CAAA;AAAA,EAClD,GAAG,CAAC,oBAAA,EAAsB,IAAA,CAAK,EAAA,EAAI,MAAM,CAAC,CAAA;AAI1C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,OAAO,OAAA,CAAQ,OAAA;AACrB,IAAA,IAAI,CAAC,OAAA,IAAW,CAAC,IAAA,EAAM;AACvB,IAAA,MAAM,UAAA,GAAa,OAAO,IAAA,CAAK,aAAA,KAAkB,UAAA,GAAa,IAAA,CAAK,aAAA,CAAc,EAAE,OAAA,EAAS,IAAA,EAAM,CAAA,GAAI,EAAC;AACvG,IAAA,IAAI,UAAA,CAAW,WAAW,CAAA,EAAG;AAC3B,MAAA,YAAA,CAAa,KAAK,EAAE,CAAA;AACpB,MAAA;AAAA,IACF;AACA,IAAA,IAAI,SAAA,GAAY,KAAA;AAChB,IAAA,OAAA,CAAQ,GAAA,CAAI,WAAW,GAAA,CAAI,CAAA,SAAA,KAAa,UAAU,QAAQ,CAAC,CAAA,CACxD,IAAA,CAAK,MAAM;AACV,MAAA,IAAI,CAAC,SAAA,EAAW,YAAA,CAAa,IAAA,CAAK,EAAE,CAAA;AAAA,IACtC,CAAC,CAAA,CAEA,KAAA,CAAM,MAAM;AAAA,IAAC,CAAC,CAAA;AACjB,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,GAAY,IAAA;AAAA,IACd,CAAA;AAAA,EACF,GAAG,CAAC,OAAA,EAAS,IAAA,CAAK,EAAA,EAAI,YAAY,CAAC,CAAA;AAEnC,EAAA,MAAM,kBAAkB,KAAA,GAAQ,GAAA,CAAI,kBAAkB,KAAK,CAAA,CAAE,WAAW,CAAA,GAAI,KAAA;AAC5E,EAAA,MAAM,KAAA,GAAQ;AAAA,IACZ,KAAA,EAAO,SAAS,IAAA,CAAK,OAAA;AAAA,IACrB,eAAA,GAAkB,EAAA,GAAM,QAAA,EAAU,KAAA,IAAS,IAAA,CAAK,UAAA;AAAA,IAChD,KAAA,GAAQ,EAAA,GAAK,WAAA,CAAY,IAAA,CAAK,OAAO,KAAK;AAAA,GAC5C,CACG,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AAKX,EAAA,MAAM,MAAA,GAAS,CAAC,KAAA,IAAS,GAAA,CAAI,UAAA,EAAY,KAAK,EAAA,KAAO,IAAA,CAAK,EAAA,GAAK,GAAA,CAAI,UAAA,GAAa,IAAA;AAChF,EAAA,MAAM,OAAO,KAAA,GAAS,GAAA,CAAI,OAAO,IAAA,IAAQ,MAAA,GAAW,QAAQ,IAAA,IAAQ,MAAA;AACpE,EAAA,MAAM,OAAA,GAAU,eAAA,CAAgB,IAAA,EAAM,eAAe,CAAA;AACrD,EAAA,MAAM,KAAA,GAAQ,QAAQ,KAAA,IAAS,KAAA;AAE/B,EAAA,MAAM,aAAA,GAAgB,WAAA;AAAA,IACpB,CAAC,KAAA,KAAyC;AACxC,MAAA,IAAI,YAAY,KAAA,IAAS,OAAA,IAAW,aAAA,CAAc,KAAA,CAAM,MAAM,CAAA,EAAG;AACjE,MAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,OAAA,CAAQ,SAAS,gBAAA,CAA8B,2BAA2B,CAAA,IAAK,EAAE,CAAA;AAC7G,MAAA,MAAM,UAAU,QAAA,CAAS,SAAA,CAAU,CAAA,EAAA,KAAM,EAAA,KAAO,MAAM,MAAM,CAAA;AAE5D,MAAA,QAAQ,MAAM,GAAA;AAAK,QACjB,KAAK,YAAA,EAAc;AACjB,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,MAAM,IAAA,GAAO,QAAA,CAAS,OAAA,GAAU,CAAC,CAAA;AACjC,UAAA,IAAI,IAAA,OAAW,KAAA,EAAM;AAAA,eAAA,IACZ,CAAC,IAAI,SAAA,CAAU,KAAA,GAAQ,GAAG,CAAA,EAAG,OAAO,CAAA,EAAG,GAAA,CAAI,UAAA,EAAW;AAC/D,UAAA;AAAA,QACF;AAAA,QACA,KAAK,WAAA,EAAa;AAChB,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,MAAM,IAAA,GAAO,QAAA,CAAS,OAAA,GAAU,CAAC,CAAA;AACjC,UAAA,IAAI,IAAA,OAAW,KAAA,EAAM;AAAA,eAChB,GAAA,CAAI,SAAA,CAAU,KAAA,GAAQ,CAAA,EAAG,IAAI,QAAQ,CAAA;AAC1C,UAAA;AAAA,QACF;AAAA,QACA,KAAK,QAAA;AAAA,QACL,KAAK,WAAA;AACH,UAAA,IAAI,CAAC,SAAA,EAAW;AAChB,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,GAAA,CAAI,UAAA,CAAW,KAAK,EAAE,CAAA;AACtB,UAAA,GAAA,CAAI,iBAAiB,KAAK,CAAA;AAC1B,UAAA;AACF;AACF,IACF,CAAA;AAAA,IACA,CAAC,UAAU,KAAA,EAAO,OAAA,EAAS,WAAW,GAAA,EAAK,KAAA,EAAO,KAAK,EAAE;AAAA,GAC3D;AAEA,EAAA,MAAM,SAAA,GAAY,OAAA;AAAA,IAChB,OAAO,EAAE,IAAA,EAAM,KAAA,EAAO,KAAA,EAAO,QAAA,EAAU,WAAA,EAAa,cAAA,EAAgB,QAAA,EAAU,KAAA,EAAO,OAAA,EAAS,eAAA,EAAgB,CAAA;AAAA,IAC9G,CAAC,MAAM,KAAA,EAAO,KAAA,EAAO,UAAU,WAAA,EAAa,QAAA,EAAU,KAAA,EAAO,OAAA,EAAS,eAAe;AAAA,GACvF;AACA,EAAA,MAAM,OAAA,GAAU,4BACd,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,CAAA;AAAA,wBACnB,qBAAA,EAAA,EAAsB,CAAA;AAAA,wBACtB,kBAAA,EAAA,EAAmB,CAAA;AAAA,IACnB,SAAA,wBAAc,mBAAA,EAAA,EAAoB;AAAA,GAAA,EACrC,CAAA;AAEF,EAAA,uBACE,GAAA,CAAC,WAAA,CAAY,QAAA,EAAZ,EAAqB,OAAO,SAAA,EAC3B,QAAA,kBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,OAAA;AAAA,MACL,IAAA,EAAK,OAAA;AAAA,MACL,YAAA,EAAY,KAAA;AAAA,MAEZ,aAAA,EAAa,SAAS,OAAA,IAAW,MAAA;AAAA,MACjC,WAAA,EAAU,iBAAA;AAAA,MACV,cAAY,KAAA,IAAS,MAAA;AAAA,MACrB,iBAAe,QAAA,IAAY,MAAA;AAAA,MAC3B,gBAAc,OAAA,IAAW,MAAA;AAAA,MACzB,YAAA,EAAa,KAAA,IAAS,CAAC,OAAA,IAAY,MAAA;AAAA,MACnC,SAAA,EAAW,EAAA,CAAG,SAAA,EAAW,OAAA,IAAW,uBAAuB,SAAS,CAAA;AAAA,MACpE,KAAA,EACE;AAAA,QACE,+BAAA,EAAiC,OAAA;AAAA,QACjC,yBAAA,EAA2B,OAAO,KAAA,IAAS;AAAA,OAC7C;AAAA,MAEF,SAAA,EAAW,aAAA;AAAA,MACX,OAAA,EAAS,CAAC,KAAA,KAAsB,KAAA,CAAM,eAAA,EAAgB;AAAA,MACtD,cAAA,EAAgB,CAAC,KAAA,KAA0B;AACzC,QAAA,IAAI,KAAA,CAAM,aAAA,KAAkB,uBAAA,EAAyB,GAAA,CAAI,YAAA,EAAa;AAAA,MACxE,CAAA;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,QAAA,oBACC,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,EAAA,CAAG,YAAA,EAAc,oEAAoE,CAAA;AAAA,YAChG,KAAA,EAAM,uBAAA;AAAA,YAEN,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA,SACrC;AAAA,QAED;AAAA;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;AAqBA,MAAM,mBAAA,GAAsB,aAAA,CAAwC,EAAE,WAAA,EAAa,MAAM,CAAA;AAWzF,SAAS,kBAAA,CAAsB;AAAA,EAC7B,WAAA;AAAA,EACA,MAAM,IAAA,GAAO,UAAA;AAAA,EACb,SAAA;AAAA,EACA;AACF,CAAA,EAA+B;AAC7B,EAAA,MAAM,EAAE,WAAA,EAAY,GAAI,UAAA,CAAW,mBAAmB,CAAA;AACtD,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,cAAA,CAAe,eAAA,EAC7B,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAW,cAAA,CAAe,UAAA,EAAY,CAAA;AAAA,oBAC5C,GAAA;AAAA,MAACA,QAAA,CAAkB,KAAA;AAAA,MAAlB;AAAA,QACC,WAAW,cAAA,CAAe,WAAA;AAAA,QAC1B,WAAA;AAAA,QACA,SAAA;AAAA,QACA,SAAA,EAAW,CAAA,KAAA,KAAS,SAAA,GAAY,KAAA,EAAO,WAAuB;AAAA;AAAA;AAChE,GAAA,EACF,CAAA;AAEJ;AAOA,SAAS,eAAA,CAAmB;AAAA,EAC1B,OAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA,GAAQ,IAAA;AAAA,EACR,KAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,EAA4B;AAC1B,EAAA,MAAM,MAAM,mBAAA,EAAoB;AAChC,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,YAAY,kBAAA,EAAmB;AACrC,EAAA,MAAM,IAAA,GAAO,KAAK,WAAA,KAAgB,OAAA;AAClC,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAmB,IAAI,CAAA;AAE7D,EAAA,MAAM,UAAU,OAAA,KAAY,OAAA;AAC5B,EAAA,MAAM,OAAA,GAAU,OAAA,mBACd,GAAA,CAAC,mBAAA,EAAA,EAAoB,KAAA,EAAO,IAAA,CAAK,KAAA,EAAO,KAAA,EAAc,CAAA,mBAEtD,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,YAAY,QAAA,EAAA,KAAA,EAAM,CAAA;AAGpC,EAAA,IAAI,IAAA,CAAK,QAAA,IAAY,IAAA,CAAK,KAAA,IAAS,KAAK,OAAA,EAAS;AAC/C,IAAA,uBACE,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA,CAAG,YAAA,EAAc,OAAA,IAAW,iBAAiB,CAAA;AAAA,QACxD,KAAA,EAAO,OAAA,GAAU,uBAAA,CAAwB,IAAA,CAAK,KAAK,CAAA,GAAI,MAAA;AAAA,QACvD,KAAA,EAAO,KAAA;AAAA,QAEN,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AAEA,EAAA,uBACE,IAAA;AAAA,IAACA,QAAA,CAAkB,IAAA;AAAA,IAAlB;AAAA,MACC,KAAA;AAAA,MACA,iBAAA,EAAmB,YAAA;AAAA,MACnB,MAAA;AAAA,MACA,KAAA;AAAA,MACA,aAAA,EAAe,CAAC,IAAA,EAAM,OAAA,KAAY;AAEhC,QAAA,OAAA,CAAQ,MAAA,EAAO;AACf,QAAA,IAAI,IAAA,KAAS,IAAA,EAAM,QAAA,CAAS,IAAI,CAAA;AAAA,MAClC,CAAA;AAAA,MACA,UAAA,EAAY,KAAA;AAAA,MACZ,kBAAA,EAAoB,CAAC,IAAA,EAAM,OAAA,KAAY;AACrC,QAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,cAAA,EAAgB,aAAA,CAAc,IAAI,CAAA;AAAA,MAC3D,CAAA;AAAA,MACA,iBAAA,EAAmB,CAAA,IAAA,KAAQ,cAAA,CAAe,IAAA,IAAQ,IAAI,CAAA;AAAA,MACtD,IAAA;AAAA,MACA,cAAc,CAAA,IAAA,KAAQ;AACpB,QAAA,IAAI,MAAM,MAAA,IAAS;AAAA,2BACA,EAAE,CAAA;AACrB,QAAA,IAAA,CAAK,cAAA,CAAe,IAAA,GAAO,OAAA,GAAU,IAAI,CAAA;AAAA,MAC3C,CAAA;AAAA,MACC,GAAG,oBAAA;AAAA,MACJ,KAAA,EAAO,KAAA;AAAA,MAEP,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAACA,QAAA,CAAkB,OAAA;AAAA,UAAlB;AAAA,YACC,GAAA,EAAK,QAAM,GAAA,CAAI,eAAA,CAAgB,KAAK,IAAA,CAAK,EAAA,EAAI,SAAS,EAAE,CAAA;AAAA,YACxD,MAAA,kBACE,GAAA;AAAA,cAAC,QAAA;AAAA,cAAA;AAAA,gBACC,IAAA,EAAK,QAAA;AAAA,gBACL,yBAAA,EAAwB,EAAA;AAAA,gBACxB,QAAA,EAAU,OAAA,KAAY,OAAA,GAAU,CAAA,GAAI,EAAA;AAAA,gBACpC,YAAA,EAAY,CAAA,EAAG,SAAS,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA;AAAA,gBAClC,KAAA,EAAO,KAAA;AAAA,gBACP,SAAA,EAAW,EAAA,CAAG,oBAAA,EAAsB,OAAA,IAAW,iBAAiB,CAAA;AAAA,gBAChE,KAAA,EAAO,OAAA,GAAU,uBAAA,CAAwB,IAAA,CAAK,KAAK,CAAA,GAAI;AAAA;AAAA,aACzD;AAAA,YAGD,QAAA,EAAA;AAAA;AAAA,SACH;AAAA,wBACA,GAAA,CAACA,QAAA,CAAkB,MAAA,EAAlB,EAAyB,SAAA,EACxB,QAAA,kBAAA,GAAA;AAAA,UAACA,QAAA,CAAkB,UAAA;AAAA,UAAlB;AAAA,YACC,KAAA,EAAM,OAAA;AAAA,YACN,UAAA,EAAY,gBAAA;AAAA,YACZ,cAAA,EAAgB,wBAAA;AAAA,YAChB,WAAW,cAAA,CAAe,UAAA;AAAA,YAE1B,QAAA,kBAAA,GAAA,CAACA,SAAkB,KAAA,EAAlB,EAAwB,WAAW,EAAA,CAAG,cAAA,CAAe,OAAO,UAAU,CAAA,EAAG,aAAU,mBAAA,EAClF,QAAA,kBAAA,GAAA,CAAC,oBAAoB,QAAA,EAApB,EAA6B,OAAO,EAAE,WAAA,EAAY,EAAI,QAAA,EAAS,CAAA,EAClE;AAAA;AAAA,SACF,EACF;AAAA;AAAA;AAAA,GACF;AAEJ;AAEA,MAAM,UAAA,GAAa,CAAC,KAAA,KAA0B,KAAA,CAAM,KAAA;AACpD,MAAM,aAAA,GAAgB,CAAC,QAAA,KAAgC,QAAA,CAAS,KAAA;AAChE,MAAM,WAAA,GAAc,CAAC,MAAA,KAA4B,MAAA,CAAO,SAAS,MAAA,CAAO,KAAA;AAExE,SAAS,WAAA,GAAc;AACrB,EAAA,MAAM,MAAM,mBAAA,EAAoB;AAChC,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,EAAE,CAAA;AAErC,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAAC,KAAA,KAA0B;AACzB,MAAA,MAAM,OAAA,GAAU,GAAA,CAAI,iBAAA,CAAkB,KAAK,CAAA;AAC3C,MAAA,MAAM,YAAA,GAAe,OAAA,CAAQ,IAAA,CAAK,CAAA,CAAA,KAAK,CAAA,CAAE,EAAA,KAAO,IAAA,CAAK,IAAA,CAAK,UAAU,CAAA,IAAK,OAAA,CAAQ,CAAC,CAAA;AAClF,MAAA,MAAM,YAAA,GAAe,YAAA,EAAc,KAAA,KAAU,IAAA,CAAK,QAAA,EAAU,KAAA;AAC5D,MAAA,GAAA,CAAI,UAAA,CAAW,IAAA,CAAK,IAAA,CAAK,EAAA,EAAI;AAAA,QAC3B,SAAS,KAAA,CAAM,EAAA;AAAA,QACf,UAAA,EAAY,YAAA,EAAc,EAAA,IAAM,IAAA,CAAK,IAAA,CAAK,UAAA;AAAA,QAC1C,KAAA,EAAO,YAAA,IAAgB,KAAA,CAAM,EAAA,KAAO,IAAA,CAAK,IAAA,CAAK,OAAA,GAAU,aAAA,CAAc,YAAY,CAAA,GAAI,IAAA,CAAK,IAAA,CAAK;AAAA,OACjG,CAAA;AACD,MAAA,IAAA,CAAK,eAAe,IAAI,CAAA;AAAA,IAC1B,CAAA;AAAA,IACA,CAAC,KAAK,IAAI;AAAA,GACZ;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAQ,OAAA;AAAA,MACR,SAAA,EAAU,OAAA;AAAA,MACV,KAAA,EAAO,IAAA,CAAK,KAAA,EAAO,KAAA,IAAS,KAAK,IAAA,CAAK,OAAA;AAAA,MACtC,OAAO,GAAA,CAAI,MAAA;AAAA,MACX,YAAA,EAAc,UAAA;AAAA,MACd,MAAA,EAAQ,kBAAA;AAAA,MACR,OAAO,IAAA,CAAK,KAAA;AAAA,MACZ,KAAA;AAAA,MACA,aAAA,EAAe,QAAA;AAAA,MACf,QAAA;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,aAAY,eAAA,EAAgB,CAAA;AAAA,wBAChD,GAAA;AAAA,UAAC,mBAAA;AAAA,UAAA;AAAA,YACC,YAAA,EAAW,QAAA;AAAA,YACX,MAAA,EAAQ,OAAK,CAAA,CAAE,EAAA;AAAA,YACf,YAAA,EAAc,CAAA,CAAA,qBAAK,GAAA,CAAC,mBAAA,EAAA,EAAoB,OAAO,CAAA,EAAG,CAAA;AAAA,YAClD,SAAA,EAAU;AAAA;AAAA;AACZ;AAAA;AAAA,GACF;AAEJ;AAEA,SAAS,cAAA,GAAiB;AACxB,EAAA,MAAM,MAAM,mBAAA,EAAoB;AAChC,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,EAAE,CAAA;AACrC,EAAA,MAAM,UAAU,OAAA,CAAQ,MAAO,IAAA,CAAK,KAAA,GAAQ,IAAI,iBAAA,CAAkB,IAAA,CAAK,KAAK,CAAA,GAAI,IAAI,SAAA,EAAY,CAAC,GAAA,EAAK,IAAA,CAAK,KAAK,CAAC,CAAA;AAEjH,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAAC,QAAA,KAAgC;AAC/B,MAAA,MAAM,gBAAgB,QAAA,CAAS,KAAA,IAAS,KAAA,OAAY,IAAA,CAAK,UAAU,KAAA,IAAS,KAAA,CAAA;AAC5E,MAAA,GAAA,CAAI,UAAA,CAAW,IAAA,CAAK,IAAA,CAAK,EAAA,EAAI;AAAA,QAC3B,YAAY,QAAA,CAAS,EAAA;AAAA,QACrB,OAAO,YAAA,GAAe,aAAA,CAAc,QAAQ,CAAA,GAAI,KAAK,IAAA,CAAK;AAAA,OAC3D,CAAA;AACD,MAAA,IAAA,CAAK,eAAe,IAAI,CAAA;AAAA,IAC1B,CAAA;AAAA,IACA,CAAC,KAAK,IAAI;AAAA,GACZ;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAQ,UAAA;AAAA,MACR,SAAA,EAAU,UAAA;AAAA,MACV,KAAA,EAAO,IAAA,CAAK,QAAA,EAAU,KAAA,IAAS,KAAK,IAAA,CAAK,UAAA;AAAA,MACzC,KAAA,EAAO,OAAA;AAAA,MACP,YAAA,EAAc,aAAA;AAAA,MACd,MAAA,EAAQ,kBAAA;AAAA,MACR,OAAO,IAAA,CAAK,QAAA;AAAA,MACZ,KAAA;AAAA,MACA,aAAA,EAAe,QAAA;AAAA,MACf,QAAA;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,kBAAA,EAAA,EAAmB,aAAY,kBAAA,EAAmB,CAAA;AAAA,wBACnD,GAAA;AAAA,UAAC,mBAAA;AAAA,UAAA;AAAA,YACC,YAAA,EAAW,WAAA;AAAA,YACX,MAAA,EAAQ,OAAK,CAAA,CAAE,EAAA;AAAA,YACf,YAAA,EAAc,OAAK,CAAA,CAAE,KAAA;AAAA,YACrB,SAAA,EAAU;AAAA;AAAA;AACZ;AAAA;AAAA,GACF;AAEJ;AAEA,SAAS,WAAA,GAAc;AACrB,EAAA,MAAM,MAAM,mBAAA,EAAoB;AAChC,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,IAAA,GAAO,KAAK,WAAA,KAAgB,OAAA;AAClC,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,EAAE,CAAA;AAErC,EAAA,MAAM,KAAA,GAAQ,YAAY,MAAM,IAAA,CAAK,eAAe,IAAI,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AACjE,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAAC,KAAA,KAA0B;AACzB,MAAA,GAAA,CAAI,WAAW,IAAA,CAAK,IAAA,CAAK,EAAA,EAAI,EAAE,OAAO,CAAA;AACtC,MAAA,KAAA,EAAM;AAAA,IACR,CAAA;AAAA,IACA,CAAC,GAAA,EAAK,IAAA,CAAK,IAAA,CAAK,IAAI,KAAK;AAAA,GAC3B;AAEA,EAAA,MAAM,OAAO,YAAA,CAAa;AAAA,IACxB,OAAO,IAAA,CAAK,KAAA;AAAA,IACZ,UAAU,IAAA,CAAK,QAAA;AAAA,IACf,KAAA;AAAA,IACA,OAAA,EAAS,IAAA;AAAA,IACT,YAAA,EAAc,KAAK,IAAA,CAAK,KAAA;AAAA,IACxB;AAAA,GACD,CAAA;AAED,EAAA,MAAM,UAAA,GAAa,YAAA,CAAa,IAAA,CAAK,KAAA,EAAO,QAAQ,MAAM,CAAA;AAE1D,EAAA,uBACE,GAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAQ,OAAA;AAAA,MACR,SAAA,EAAU,OAAA;AAAA,MACV,OAAO,WAAA,CAAY,IAAA,CAAK,KAAK,KAAA,EAAO,IAAA,CAAK,KAAK,CAAA,IAAK,GAAA;AAAA,MACnD,OAAO,IAAA,CAAK,OAAA;AAAA,MACZ,YAAA,EAAc,WAAA;AAAA,MACd,MAAA,EAAQ,IAAA;AAAA,MACR,KAAA;AAAA,MACA,aAAA,EAAe,QAAA;AAAA,MACf,UAAU,IAAA,CAAK,YAAA;AAAA,MAEf,QAAQ,MACN,QAAA,CAAS,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,IAAA,CAAK,KAAK,KAAK,CAAC,IAAA,CAAK,OAAO,WAAA,GAAc,MAAA,CAAO,KAAK,IAAA,CAAK,KAAK,IAAI,EAAE,CAAA;AAAA,MAGrG,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,IAAA,EAAY,QAAA,EAAU,KAAA,EAAO;AAAA;AAAA,GAC3C;AAEJ;AAQA,SAAS,YAAA,CAAa,EAAE,IAAA,EAAM,QAAA,EAAS,EAAoB;AACzD,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,aAAA,GAAgB,kBAAA,EAAmB,GAAI,IAAA,GAAO,QAAA;AACpD,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,IAAA,CAAK,cAAA,oBACJ,GAAA;AAAA,MAAC,mBAAA;AAAA,MAAA;AAAA,QACC,YAAA,EAAW,QAAA;AAAA,QACX,sBAAA,EAAsB,KAAK,MAAA,IAAU,MAAA;AAAA,QACrC,MAAA,EAAQ,OAAK,CAAA,CAAE,KAAA;AAAA,QACf,YAAA,EAAc,CAAA,MAAA,qBAAU,GAAA,CAAC,oBAAA,EAAA,EAAqB,MAAA,EAAgB,CAAA;AAAA,QAC9D,UAAA,EAAY,CAAA,CAAA,KAAM,IAAA,CAAK,MAAA,GAAS,KAAK,QAAA,CAAS,QAAA,CAAS,CAAA,CAAE,KAAK,IAAI,MAAA,CAAO,IAAA,CAAK,IAAA,CAAK,KAAK,MAAM,CAAA,CAAE,KAAA;AAAA,QAChG,WAAW,IAAA,CAAK,SAAA;AAAA,QAChB,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,SAAA,EAAW,IAAA,CAAK,aAAA,GAAgB,gDAAA,GAAmD;AAAA;AAAA,KACrF;AAAA,IAED,IAAA,CAAK,MAAA,oBACJ,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,gEAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,UAAO,IAAA,EAAK,IAAA,EAAK,SAAQ,OAAA,EAAQ,OAAA,EAAS,UAAU,QAAA,EAAA,QAAA,EAErD,CAAA;AAAA,sBACA,IAAA,CAAC,MAAA,EAAA,EAAO,IAAA,EAAK,IAAA,EAAK,OAAA,EAAQ,SAAA,EAAU,OAAA,EAAS,MAAM,IAAA,CAAK,eAAA,EAAgB,IAAK,IAAA,CAAK,gBAAe,EAAG,QAAA,EAAA;AAAA,QAAA,MAAA;AAAA,wBAElG,GAAA,CAAC,GAAA,EAAA,EAAI,IAAA,EAAK,IAAA,EAAM,QAAA,EAAA,aAAA,EAAc;AAAA,OAAA,EAChC;AAAA,KAAA,EACF;AAAA,GAAA,EAEJ,CAAA;AAEJ;AAGA,SAAS,kBAAA,CAAmB;AAAA,EAC1B,IAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAAyF;AACvF,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,kBAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,IAAA,CAAK,cAAA,GAAiB,UAAA,GAAa,UAAA;AAAA,QACzC,SAAA;AAAA,QACA,WAAA,EACE,IAAA,CAAK,cAAA,GACD,IAAA,CAAK,aAAA,GACH,CAAA,iBAAA,EAAoB,IAAI,CAAA,CAAA,CAAA,GACxB,CAAA,OAAA,EAAU,IAAI,CAAA,EAAA,CAAA,GAChB,CAAA,OAAA,EAAU,IAAI,CAAA,CAAA,CAAA;AAAA,QAEpB,SAAA,EAAW,CAAC,KAAA,EAAO,WAAA,KAAgB;AACjC,UAAA,MAAM,iBAAA,GAAoB,IAAA,CAAK,cAAA,GAAiB,WAAA,GAAc,IAAA;AAC9D,UAAA,MAAM,OAAA,GAAU,IAAA,CAAK,aAAA,CAAc,KAAA,EAAO,iBAAiB,CAAA;AAE3D,UAAA,IAAI,WAAY,KAAA,CAAM,GAAA,KAAQ,WAAW,iBAAA,KAAsB,IAAA,QAAa,oBAAA,EAAqB;AAAA,QACnG;AAAA;AAAA,KACF;AAAA,oBACA,GAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAY,QAAA,EAAoB;AAAA,GAAA,EAChD,CAAA;AAEJ;AAEA,SAAS,eAAe,KAAA,EAAwB;AAC9C,EAAA,uBAAO,GAAA,CAAC,kBAAA,EAAA,EAAoB,GAAG,KAAA,EAAO,MAAK,OAAA,EAAQ,CAAA;AACrD;AAEA,SAAS,iBAAiB,KAAA,EAAwB;AAChD,EAAA,2BAAQ,kBAAA,EAAA,EAAoB,GAAG,OAAO,SAAA,EAAU,SAAA,EAAU,MAAK,QAAA,EAAS,CAAA;AAC1E;AAGA,SAAS,kBAAkB,KAAA,EAAwB;AACjD,EAAA,uBAAO,GAAA,CAAC,YAAA,EAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AAClC;AAEA,MAAM,YAAA,GAAkF;AAAA,EACtF,IAAA,EAAM,cAAA;AAAA,EACN,MAAA,EAAQ,gBAAA;AAAA,EACR,OAAA,EAAS;AACX,CAAA;AAEO,SAAS,kBAAA,GAAqB;AACnC,EAAA,2BAAQ,WAAA,EAAA,EAAY,CAAA;AACtB;AAEO,SAAS,qBAAA,GAAwB;AACtC,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,IAAI,IAAA,CAAK,iBAAiB,OAAO,IAAA;AACjC,EAAA,IAAI,IAAA,CAAK,KAAA,IAAS,CAAC,IAAA,CAAK,UAAU,OAAO,IAAA;AACzC,EAAA,2BAAQ,cAAA,EAAA,EAAe,CAAA;AACzB;AAEO,SAAS,kBAAA,GAAqB;AACnC,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,IAAI,KAAK,KAAA,IAAA,CAAU,IAAA,CAAK,UAAU,KAAA,IAAS,KAAA,MAAW,QAAQ,OAAO,IAAA;AACrE,EAAA,2BAAQ,WAAA,EAAA,EAAY,CAAA;AACtB;AAEO,SAAS,mBAAA,GAAsB;AACpC,EAAA,MAAM,MAAM,mBAAA,EAAoB;AAChC,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,IAAI,IAAA,CAAK,QAAA,IAAY,IAAA,CAAK,KAAA,EAAO,OAAO,IAAA;AACxC,EAAA,MAAM,WAAA,GAAc,EAAA,CAAG,oBAAA,EAAsB,sEAAsE,CAAA;AACnH,EAAA,IAAI,KAAK,OAAA,EAAS;AAEhB,IAAA,uBACE,GAAA,CAAC,UAAK,SAAA,EAAW,WAAA,EACf,8BAAC,KAAA,EAAA,EAAM,SAAA,EAAU,gBAAe,CAAA,EAClC,CAAA;AAAA,EAEJ;AACA,EAAA,MAAM,QAAQ,CAAA,OAAA,EAAU,IAAA,CAAK,OAAO,KAAA,IAAS,IAAA,CAAK,KAAK,OAAO,CAAA,OAAA,CAAA;AAC9D,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,yBAAA,EAAwB,EAAA;AAAA,MACxB,QAAA,EAAU,EAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,KAAA,EAAO,KAAA;AAAA,MACP,GAAA,EAAK,QAAM,GAAA,CAAI,eAAA,CAAgB,KAAK,IAAA,CAAK,EAAA,EAAI,UAAU,EAAE,CAAA;AAAA,MACzD,SAAA,EAAW,WAAA;AAAA,MACX,SAAS,MAAM;AACb,QAAA,GAAA,CAAI,UAAA,CAAW,IAAA,CAAK,IAAA,CAAK,EAAE,CAAA;AAC3B,QAAA,GAAA,CAAI,gBAAA,CAAiB,KAAK,KAAK,CAAA;AAAA,MACjC,CAAA;AAAA,MAEA,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,SAAA,EAAU,cAAA,EAAe;AAAA;AAAA,GAClC;AAEJ;AAEA,aAAA,CAAc,KAAA,GAAQ,kBAAA;AACtB,aAAA,CAAc,QAAA,GAAW,qBAAA;AACzB,aAAA,CAAc,KAAA,GAAQ,kBAAA;AACtB,aAAA,CAAc,MAAA,GAAS,mBAAA;;;;"}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
const scrollArea = require('./scroll-area-BzOyuS8Y.cjs');
|
|
5
|
-
const tooltip = require('./tooltip-DIZ5oqjV.cjs');
|
|
6
|
-
const utils_cn = require('./cn-DG0X1KEP.cjs');
|
|
7
|
-
|
|
8
|
-
function hexLuminance(color) {
|
|
9
|
-
const hex = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(color.trim())?.[1];
|
|
10
|
-
if (!hex) return void 0;
|
|
11
|
-
const full = hex.length === 3 ? [...hex].map((c) => c + c).join("") : hex;
|
|
12
|
-
const linear = (offset) => {
|
|
13
|
-
const channel = parseInt(full.slice(offset, offset + 2), 16) / 255;
|
|
14
|
-
return channel <= 0.03928 ? channel / 12.92 : ((channel + 0.055) / 1.055) ** 2.4;
|
|
15
|
-
};
|
|
16
|
-
return 0.2126 * linear(0) + 0.7152 * linear(2) + 0.0722 * linear(4);
|
|
17
|
-
}
|
|
18
|
-
function needsDarkLabel(color) {
|
|
19
|
-
const luminance = color ? hexLuminance(color) : void 0;
|
|
20
|
-
return luminance !== void 0 && luminance > 0.25;
|
|
21
|
-
}
|
|
22
|
-
function HorizontalBars({
|
|
23
|
-
data,
|
|
24
|
-
segments,
|
|
25
|
-
maxVal,
|
|
26
|
-
fmt,
|
|
27
|
-
className,
|
|
28
|
-
LinkComponent = "a"
|
|
29
|
-
}) {
|
|
30
|
-
const sorted = [...data].sort((a, b) => {
|
|
31
|
-
const totalB = b.values.reduce((s, v) => s + v, 0);
|
|
32
|
-
const totalA = a.values.reduce((s, v) => s + v, 0);
|
|
33
|
-
return totalB - totalA;
|
|
34
|
-
});
|
|
35
|
-
const isStacked = segments.length > 1;
|
|
36
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(scrollArea.ScrollArea, { className: utils_cn.cn("size-full", className), children: [
|
|
37
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 mb-4 flex items-center gap-3", children: [
|
|
38
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 items-center gap-4", children: segments.map((seg) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
39
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "size-2 rounded-full", style: { backgroundColor: seg.color } }),
|
|
40
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-caption text-muted-foreground", children: seg.label })
|
|
41
|
-
] }, seg.label)) }),
|
|
42
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 pr-2 text-caption text-placeholder", children: "Total" })
|
|
43
|
-
] }),
|
|
44
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-3.5", children: sorted.map((d) => {
|
|
45
|
-
const total = d.values.reduce((s, v) => s + v, 0);
|
|
46
|
-
const barWidth = `${maxVal > 0 ? total / maxVal * 100 : 0}%`;
|
|
47
|
-
const darkLabelOnFill = needsDarkLabel(segments[d.values.findIndex((v) => v > 0)]?.color);
|
|
48
|
-
const rowBody = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
49
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative h-full min-w-0 flex-1", style: { "--bar-width": barWidth }, children: [
|
|
50
|
-
/* @__PURE__ */ jsxRuntime.jsxs(tooltip.Tooltip, { children: [
|
|
51
|
-
/* @__PURE__ */ jsxRuntime.jsx(tooltip.TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
52
|
-
"div",
|
|
53
|
-
{
|
|
54
|
-
className: utils_cn.cn("absolute inset-y-0 left-0", d.href ? "cursor-pointer" : "cursor-default"),
|
|
55
|
-
style: { width: barWidth },
|
|
56
|
-
children: segments.map((seg, si) => {
|
|
57
|
-
const val = d.values[si] ?? 0;
|
|
58
|
-
const pct = total > 0 ? val / total * 100 : 0;
|
|
59
|
-
const left = d.values.slice(0, si).reduce((s, v) => s + (total > 0 ? v / total * 100 : 0), 0);
|
|
60
|
-
const isLastWithValue = d.values.slice(si + 1).every((v) => !v);
|
|
61
|
-
const segHref = d.href ? void 0 : d.hrefs?.[si];
|
|
62
|
-
const segmentNode = /* @__PURE__ */ jsxRuntime.jsx(
|
|
63
|
-
"div",
|
|
64
|
-
{
|
|
65
|
-
className: utils_cn.cn(
|
|
66
|
-
"absolute inset-y-0 opacity-40 dark:opacity-100",
|
|
67
|
-
isStacked && si === 0 && "rounded-l",
|
|
68
|
-
isStacked && isLastWithValue && "rounded-r",
|
|
69
|
-
!isStacked && "rounded",
|
|
70
|
-
segHref && "cursor-pointer transition-opacity hover:opacity-70"
|
|
71
|
-
),
|
|
72
|
-
style: {
|
|
73
|
-
left: isStacked ? `${left}%` : 0,
|
|
74
|
-
width: isStacked ? `${pct}%` : `${pct}%`,
|
|
75
|
-
backgroundColor: seg.color
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
);
|
|
79
|
-
if (segHref) {
|
|
80
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
81
|
-
LinkComponent,
|
|
82
|
-
{
|
|
83
|
-
href: segHref,
|
|
84
|
-
"aria-label": `${d.name} — ${seg.label}`,
|
|
85
|
-
className: "contents",
|
|
86
|
-
children: segmentNode
|
|
87
|
-
},
|
|
88
|
-
seg.label
|
|
89
|
-
);
|
|
90
|
-
}
|
|
91
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Wrapper, { children: segmentNode }, seg.label);
|
|
92
|
-
})
|
|
93
|
-
}
|
|
94
|
-
) }),
|
|
95
|
-
/* @__PURE__ */ jsxRuntime.jsx(tooltip.TooltipContent, { side: "top", className: "font-mono", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-1", children: segments.map((seg, si) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
96
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: seg.label }),
|
|
97
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto pl-3", children: fmt(d.values[si] ?? 0) })
|
|
98
|
-
] }, seg.label)) }) })
|
|
99
|
-
] }),
|
|
100
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
101
|
-
"div",
|
|
102
|
-
{
|
|
103
|
-
className: utils_cn.cn(
|
|
104
|
-
"pointer-events-none absolute inset-0 z-10",
|
|
105
|
-
darkLabelOnFill && "dark:[clip-path:inset(0_0_0_var(--bar-width))]"
|
|
106
|
-
),
|
|
107
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute inset-y-0 left-2.5 flex items-center truncate text-caption text-muted-foreground", children: d.name })
|
|
108
|
-
}
|
|
109
|
-
),
|
|
110
|
-
darkLabelOnFill && /* @__PURE__ */ jsxRuntime.jsx(
|
|
111
|
-
"div",
|
|
112
|
-
{
|
|
113
|
-
"aria-hidden": true,
|
|
114
|
-
className: "pointer-events-none absolute inset-y-0 left-0 z-10 hidden w-(--bar-width) overflow-hidden dark:block",
|
|
115
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute inset-y-0 left-2.5 flex items-center text-caption whitespace-nowrap text-placeholder", children: d.name })
|
|
116
|
-
}
|
|
117
|
-
)
|
|
118
|
-
] }),
|
|
119
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 pr-3 text-body text-muted-foreground tabular-nums", children: fmt(total) })
|
|
120
|
-
] });
|
|
121
|
-
if (d.href) {
|
|
122
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
123
|
-
LinkComponent,
|
|
124
|
-
{
|
|
125
|
-
href: d.href,
|
|
126
|
-
className: "flex h-6 cursor-pointer items-center gap-14 rounded transition-colors outline-none hover:bg-fill-subtle focus-visible:bg-fill-subtle",
|
|
127
|
-
children: rowBody
|
|
128
|
-
},
|
|
129
|
-
d.name
|
|
130
|
-
);
|
|
131
|
-
}
|
|
132
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-6 items-center gap-14", children: rowBody }, d.name);
|
|
133
|
-
}) })
|
|
134
|
-
] });
|
|
135
|
-
}
|
|
136
|
-
function Wrapper({ children }) {
|
|
137
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
exports.HorizontalBars = HorizontalBars;
|
|
141
|
-
//# sourceMappingURL=horizontal-bars-43dr_F8j.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"horizontal-bars-43dr_F8j.cjs","sources":["../src/ds/components/HorizontalBars/horizontal-bars.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport { ScrollArea } from '@/ds/components/ScrollArea/scroll-area';\nimport { Tooltip, TooltipTrigger, TooltipContent } from '@/ds/components/Tooltip';\nimport type { LinkComponent } from '@/ds/types/link-component';\nimport { cn } from '@/lib/utils';\n\n/** Relative luminance (WCAG) of a hex color, or `undefined` for anything else (e.g. `var(--token)`). */\nfunction hexLuminance(color: string): number | undefined {\n const hex = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(color.trim())?.[1];\n if (!hex) return undefined;\n const full = hex.length === 3 ? [...hex].map(c => c + c).join('') : hex;\n const linear = (offset: number) => {\n const channel = parseInt(full.slice(offset, offset + 2), 16) / 255;\n return channel <= 0.03928 ? channel / 12.92 : ((channel + 0.055) / 1.055) ** 2.4;\n };\n return 0.2126 * linear(0) + 0.7152 * linear(2) + 0.0722 * linear(4);\n}\n\n/** Bright fills (yellow, orange, green, red) swallow the light label; dark text reads better on them. */\nfunction needsDarkLabel(color: string | undefined): boolean {\n const luminance = color ? hexLuminance(color) : undefined;\n return luminance !== undefined && luminance > 0.25;\n}\n\ntype Segment = { label: string; color: string };\n\ntype HorizontalBarRow = {\n name: string;\n values: number[];\n /** If present, the whole row is rendered as a link to this URL. */\n href?: string;\n /** If present, an individual segment becomes its own link. Indices align with `segments`. */\n hrefs?: Array<string | undefined>;\n};\n\nexport function HorizontalBars({\n data,\n segments,\n maxVal,\n fmt,\n className,\n LinkComponent = 'a',\n}: {\n data: Array<HorizontalBarRow>;\n segments: Segment[];\n maxVal: number;\n fmt: (v: number) => string;\n className?: string;\n /** Override how links produced by `href` / `hrefs` are rendered. Receives `href`,\n * `className`, `aria-label`, and `children`. Defaults to a plain `<a>` element;\n * consumers using a router should pass an adapter that maps `href` to their\n * navigation primitive (e.g. react-router `<Link to={href} />`). */\n LinkComponent?: LinkComponent;\n}) {\n const sorted = [...data].sort((a, b) => {\n const totalB = b.values.reduce((s, v) => s + v, 0);\n const totalA = a.values.reduce((s, v) => s + v, 0);\n return totalB - totalA;\n });\n\n const isStacked = segments.length > 1;\n\n return (\n <ScrollArea className={cn('size-full', className)}>\n <div className=\"mt-2 mb-4 flex items-center gap-3\">\n <div className=\"flex flex-1 items-center gap-4\">\n {segments.map(seg => (\n <div key={seg.label} className=\"flex items-center gap-2\">\n <div className=\"size-2 rounded-full\" style={{ backgroundColor: seg.color }} />\n <span className=\"text-caption text-muted-foreground\">{seg.label}</span>\n </div>\n ))}\n </div>\n <span className=\"shrink-0 pr-2 text-caption text-placeholder\">Total</span>\n </div>\n <div className=\"grid gap-3.5\">\n {sorted.map(d => {\n const total = d.values.reduce((s, v) => s + v, 0);\n const barWidth = `${maxVal > 0 ? (total / maxVal) * 100 : 0}%`;\n // The label starts over the first filled segment; that fill decides the label tone in dark mode.\n // Light mode fades every fill to 40% (see below), so the default label already reads there.\n const darkLabelOnFill = needsDarkLabel(segments[d.values.findIndex(v => v > 0)]?.color);\n const rowBody = (\n <>\n <div className=\"relative h-full min-w-0 flex-1\" style={{ '--bar-width': barWidth } as CSSProperties}>\n <Tooltip>\n <TooltipTrigger asChild>\n <div\n className={cn('absolute inset-y-0 left-0', d.href ? 'cursor-pointer' : 'cursor-default')}\n style={{ width: barWidth }}\n >\n {segments.map((seg, si) => {\n const val = d.values[si] ?? 0;\n const pct = total > 0 ? (val / total) * 100 : 0;\n const left = d.values.slice(0, si).reduce((s, v) => s + (total > 0 ? (v / total) * 100 : 0), 0);\n const isLastWithValue = d.values.slice(si + 1).every(v => !v);\n // Only honor segment-level links when the row itself is not an anchor.\n // Otherwise we'd render <a> nested inside <a>, which is invalid HTML.\n const segHref = d.href ? undefined : d.hrefs?.[si];\n\n const segmentNode = (\n <div\n className={cn(\n 'absolute inset-y-0 opacity-40 dark:opacity-100',\n isStacked && si === 0 && 'rounded-l',\n isStacked && isLastWithValue && 'rounded-r',\n !isStacked && 'rounded',\n segHref && 'cursor-pointer transition-opacity hover:opacity-70',\n )}\n style={{\n left: isStacked ? `${left}%` : 0,\n width: isStacked ? `${pct}%` : `${pct}%`,\n backgroundColor: seg.color,\n }}\n />\n );\n\n if (segHref) {\n return (\n <LinkComponent\n key={seg.label}\n href={segHref}\n aria-label={`${d.name} — ${seg.label}`}\n className=\"contents\"\n >\n {segmentNode}\n </LinkComponent>\n );\n }\n return <Wrapper key={seg.label}>{segmentNode}</Wrapper>;\n })}\n </div>\n </TooltipTrigger>\n <TooltipContent side=\"top\" className=\"font-mono\">\n <div className=\"grid gap-1\">\n {segments.map((seg, si) => (\n <div key={seg.label} className=\"flex items-center gap-2\">\n <span>{seg.label}</span>\n <span className=\"ml-auto pl-3\">{fmt(d.values[si] ?? 0)}</span>\n </div>\n ))}\n </div>\n </TooltipContent>\n </Tooltip>\n <div\n className={cn(\n 'pointer-events-none absolute inset-0 z-10',\n darkLabelOnFill && 'dark:[clip-path:inset(0_0_0_var(--bar-width))]',\n )}\n >\n <span className=\"absolute inset-y-0 left-2.5 flex items-center truncate text-caption text-muted-foreground\">\n {d.name}\n </span>\n </div>\n {darkLabelOnFill && (\n <div\n aria-hidden\n className=\"pointer-events-none absolute inset-y-0 left-0 z-10 hidden w-(--bar-width) overflow-hidden dark:block\"\n >\n <span className=\"absolute inset-y-0 left-2.5 flex items-center text-caption whitespace-nowrap text-placeholder\">\n {d.name}\n </span>\n </div>\n )}\n </div>\n <span className=\"shrink-0 pr-3 text-body text-muted-foreground tabular-nums\">{fmt(total)}</span>\n </>\n );\n\n if (d.href) {\n return (\n <LinkComponent\n key={d.name}\n href={d.href}\n className=\"flex h-6 cursor-pointer items-center gap-14 rounded transition-colors outline-none hover:bg-fill-subtle focus-visible:bg-fill-subtle\"\n >\n {rowBody}\n </LinkComponent>\n );\n }\n return (\n <div key={d.name} className=\"flex h-6 items-center gap-14\">\n {rowBody}\n </div>\n );\n })}\n </div>\n </ScrollArea>\n );\n}\n\nfunction Wrapper({ children }: { children: ReactNode }) {\n return <>{children}</>;\n}\n"],"names":["ScrollArea","cn","jsxs","jsx","Fragment","Tooltip","TooltipTrigger","TooltipContent"],"mappings":";;;;;;;AAOA,SAAS,aAAa,KAAA,EAAmC;AACvD,EAAA,MAAM,MAAM,+BAAA,CAAgC,IAAA,CAAK,MAAM,IAAA,EAAM,IAAI,CAAC,CAAA;AAClE,EAAA,IAAI,CAAC,KAAK,OAAO,MAAA;AACjB,EAAA,MAAM,IAAA,GAAO,GAAA,CAAI,MAAA,KAAW,CAAA,GAAI,CAAC,GAAG,GAAG,CAAA,CAAE,GAAA,CAAI,OAAK,CAAA,GAAI,CAAC,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA,GAAI,GAAA;AACpE,EAAA,MAAM,MAAA,GAAS,CAAC,MAAA,KAAmB;AACjC,IAAA,MAAM,OAAA,GAAU,SAAS,IAAA,CAAK,KAAA,CAAM,QAAQ,MAAA,GAAS,CAAC,CAAA,EAAG,EAAE,CAAA,GAAI,GAAA;AAC/D,IAAA,OAAO,WAAW,OAAA,GAAU,OAAA,GAAU,KAAA,GAAA,CAAA,CAAU,OAAA,GAAU,SAAS,KAAA,KAAU,GAAA;AAAA,EAC/E,CAAA;AACA,EAAA,OAAO,MAAA,GAAS,MAAA,CAAO,CAAC,CAAA,GAAI,MAAA,GAAS,OAAO,CAAC,CAAA,GAAI,MAAA,GAAS,MAAA,CAAO,CAAC,CAAA;AACpE;AAGA,SAAS,eAAe,KAAA,EAAoC;AAC1D,EAAA,MAAM,SAAA,GAAY,KAAA,GAAQ,YAAA,CAAa,KAAK,CAAA,GAAI,MAAA;AAChD,EAAA,OAAO,SAAA,KAAc,UAAa,SAAA,GAAY,IAAA;AAChD;AAaO,SAAS,cAAA,CAAe;AAAA,EAC7B,IAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AAAA,EACA,GAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,GAAgB;AAClB,CAAA,EAWG;AACD,EAAA,MAAM,MAAA,GAAS,CAAC,GAAG,IAAI,EAAE,IAAA,CAAK,CAAC,GAAG,CAAA,KAAM;AACtC,IAAA,MAAM,MAAA,GAAS,EAAE,MAAA,CAAO,MAAA,CAAO,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,GAAI,CAAA,EAAG,CAAC,CAAA;AACjD,IAAA,MAAM,MAAA,GAAS,EAAE,MAAA,CAAO,MAAA,CAAO,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,GAAI,CAAA,EAAG,CAAC,CAAA;AACjD,IAAA,OAAO,MAAA,GAAS,MAAA;AAAA,EAClB,CAAC,CAAA;AAED,EAAA,MAAM,SAAA,GAAY,SAAS,MAAA,GAAS,CAAA;AAEpC,EAAA,uCACGA,qBAAA,EAAA,EAAW,SAAA,EAAWC,WAAA,CAAG,WAAA,EAAa,SAAS,CAAA,EAC9C,QAAA,EAAA;AAAA,oBAAAC,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,mCAAA,EACb,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,WAAU,gCAAA,EACZ,QAAA,EAAA,QAAA,CAAS,IAAI,CAAA,GAAA,qBACZD,eAAA,CAAC,KAAA,EAAA,EAAoB,SAAA,EAAU,yBAAA,EAC7B,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,WAAU,qBAAA,EAAsB,KAAA,EAAO,EAAE,eAAA,EAAiB,GAAA,CAAI,OAAM,EAAG,CAAA;AAAA,wBAC5EA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,oCAAA,EAAsC,cAAI,KAAA,EAAM;AAAA,OAAA,EAAA,EAFxD,GAAA,CAAI,KAGd,CACD,CAAA,EACH,CAAA;AAAA,sBACAA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,6CAAA,EAA8C,QAAA,EAAA,OAAA,EAAK;AAAA,KAAA,EACrE,CAAA;AAAA,mCACC,KAAA,EAAA,EAAI,SAAA,EAAU,cAAA,EACZ,QAAA,EAAA,MAAA,CAAO,IAAI,CAAA,CAAA,KAAK;AACf,MAAA,MAAM,KAAA,GAAQ,EAAE,MAAA,CAAO,MAAA,CAAO,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,GAAI,CAAA,EAAG,CAAC,CAAA;AAChD,MAAA,MAAM,WAAW,CAAA,EAAG,MAAA,GAAS,IAAK,KAAA,GAAQ,MAAA,GAAU,MAAM,CAAC,CAAA,CAAA,CAAA;AAG3D,MAAA,MAAM,eAAA,GAAkB,cAAA,CAAe,QAAA,CAAS,CAAA,CAAE,MAAA,CAAO,SAAA,CAAU,CAAA,CAAA,KAAK,CAAA,GAAI,CAAC,CAAC,CAAA,EAAG,KAAK,CAAA;AACtF,MAAA,MAAM,0BACJD,eAAA,CAAAE,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAAF,eAAA,CAAC,SAAI,SAAA,EAAU,gCAAA,EAAiC,OAAO,EAAE,aAAA,EAAe,UAAS,EAC/E,QAAA,EAAA;AAAA,0BAAAA,eAAA,CAACG,eAAA,EAAA,EACC,QAAA,EAAA;AAAA,4BAAAF,cAAA,CAACG,sBAAA,EAAA,EAAe,SAAO,IAAA,EACrB,QAAA,kBAAAH,cAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBACC,WAAWF,WAAA,CAAG,2BAAA,EAA6B,CAAA,CAAE,IAAA,GAAO,mBAAmB,gBAAgB,CAAA;AAAA,gBACvF,KAAA,EAAO,EAAE,KAAA,EAAO,QAAA,EAAS;AAAA,gBAExB,QAAA,EAAA,QAAA,CAAS,GAAA,CAAI,CAAC,GAAA,EAAK,EAAA,KAAO;AACzB,kBAAA,MAAM,GAAA,GAAM,CAAA,CAAE,MAAA,CAAO,EAAE,CAAA,IAAK,CAAA;AAC5B,kBAAA,MAAM,GAAA,GAAM,KAAA,GAAQ,CAAA,GAAK,GAAA,GAAM,QAAS,GAAA,GAAM,CAAA;AAC9C,kBAAA,MAAM,OAAO,CAAA,CAAE,MAAA,CAAO,MAAM,CAAA,EAAG,EAAE,EAAE,MAAA,CAAO,CAAC,CAAA,EAAG,CAAA,KAAM,KAAK,KAAA,GAAQ,CAAA,GAAK,IAAI,KAAA,GAAS,GAAA,GAAM,IAAI,CAAC,CAAA;AAC9F,kBAAA,MAAM,eAAA,GAAkB,CAAA,CAAE,MAAA,CAAO,KAAA,CAAM,EAAA,GAAK,CAAC,CAAA,CAAE,KAAA,CAAM,CAAA,CAAA,KAAK,CAAC,CAAC,CAAA;AAG5D,kBAAA,MAAM,UAAU,CAAA,CAAE,IAAA,GAAO,MAAA,GAAY,CAAA,CAAE,QAAQ,EAAE,CAAA;AAEjD,kBAAA,MAAM,WAAA,mBACJE,cAAA;AAAA,oBAAC,KAAA;AAAA,oBAAA;AAAA,sBACC,SAAA,EAAWF,WAAA;AAAA,wBACT,gDAAA;AAAA,wBACA,SAAA,IAAa,OAAO,CAAA,IAAK,WAAA;AAAA,wBACzB,aAAa,eAAA,IAAmB,WAAA;AAAA,wBAChC,CAAC,SAAA,IAAa,SAAA;AAAA,wBACd,OAAA,IAAW;AAAA,uBACb;AAAA,sBACA,KAAA,EAAO;AAAA,wBACL,IAAA,EAAM,SAAA,GAAY,CAAA,EAAG,IAAI,CAAA,CAAA,CAAA,GAAM,CAAA;AAAA,wBAC/B,OAAO,SAAA,GAAY,CAAA,EAAG,GAAG,CAAA,CAAA,CAAA,GAAM,GAAG,GAAG,CAAA,CAAA,CAAA;AAAA,wBACrC,iBAAiB,GAAA,CAAI;AAAA;AACvB;AAAA,mBACF;AAGF,kBAAA,IAAI,OAAA,EAAS;AACX,oBAAA,uBACEE,cAAA;AAAA,sBAAC,aAAA;AAAA,sBAAA;AAAA,wBAEC,IAAA,EAAM,OAAA;AAAA,wBACN,cAAY,CAAA,EAAG,CAAA,CAAE,IAAI,CAAA,GAAA,EAAM,IAAI,KAAK,CAAA,CAAA;AAAA,wBACpC,SAAA,EAAU,UAAA;AAAA,wBAET,QAAA,EAAA;AAAA,uBAAA;AAAA,sBALI,GAAA,CAAI;AAAA,qBAMX;AAAA,kBAEJ;AACA,kBAAA,uBAAOA,cAAA,CAAC,OAAA,EAAA,EAAyB,QAAA,EAAA,WAAA,EAAA,EAAZ,GAAA,CAAI,KAAoB,CAAA;AAAA,gBAC/C,CAAC;AAAA;AAAA,aACH,EACF,CAAA;AAAA,2CACCI,sBAAA,EAAA,EAAe,IAAA,EAAK,OAAM,SAAA,EAAU,WAAA,EACnC,yCAAC,KAAA,EAAA,EAAI,SAAA,EAAU,YAAA,EACZ,QAAA,EAAA,QAAA,CAAS,IAAI,CAAC,GAAA,EAAK,uBAClBL,eAAA,CAAC,KAAA,EAAA,EAAoB,WAAU,yBAAA,EAC7B,QAAA,EAAA;AAAA,8BAAAC,cAAA,CAAC,MAAA,EAAA,EAAM,cAAI,KAAA,EAAM,CAAA;AAAA,8BACjBA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,cAAA,EAAgB,QAAA,EAAA,GAAA,CAAI,EAAE,MAAA,CAAO,EAAE,CAAA,IAAK,CAAC,CAAA,EAAE;AAAA,aAAA,EAAA,EAF/C,GAAA,CAAI,KAGd,CACD,CAAA,EACH,CAAA,EACF;AAAA,WAAA,EACF,CAAA;AAAA,0BACAA,cAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAWF,WAAA;AAAA,gBACT,2CAAA;AAAA,gBACA,eAAA,IAAmB;AAAA,eACrB;AAAA,cAEA,QAAA,kBAAAE,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,2FAAA,EACb,YAAE,IAAA,EACL;AAAA;AAAA,WACF;AAAA,UACC,eAAA,oBACCA,cAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,aAAA,EAAW,IAAA;AAAA,cACX,SAAA,EAAU,sGAAA;AAAA,cAEV,QAAA,kBAAAA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,+FAAA,EACb,YAAE,IAAA,EACL;AAAA;AAAA;AACF,SAAA,EAEJ,CAAA;AAAA,uCACC,MAAA,EAAA,EAAK,SAAA,EAAU,4DAAA,EAA8D,QAAA,EAAA,GAAA,CAAI,KAAK,CAAA,EAAE;AAAA,OAAA,EAC3F,CAAA;AAGF,MAAA,IAAI,EAAE,IAAA,EAAM;AACV,QAAA,uBACEA,cAAA;AAAA,UAAC,aAAA;AAAA,UAAA;AAAA,YAEC,MAAM,CAAA,CAAE,IAAA;AAAA,YACR,SAAA,EAAU,sIAAA;AAAA,YAET,QAAA,EAAA;AAAA,WAAA;AAAA,UAJI,CAAA,CAAE;AAAA,SAKT;AAAA,MAEJ;AACA,MAAA,sCACG,KAAA,EAAA,EAAiB,SAAA,EAAU,8BAAA,EACzB,QAAA,EAAA,OAAA,EAAA,EADO,EAAE,IAEZ,CAAA;AAAA,IAEJ,CAAC,CAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ;AAEA,SAAS,OAAA,CAAQ,EAAE,QAAA,EAAS,EAA4B;AACtD,EAAA,6DAAU,QAAA,EAAS,CAAA;AACrB;;;;"}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import { S as ScrollArea } from './scroll-area-DyTZoISq.js';
|
|
3
|
-
import { T as Tooltip, c as TooltipTrigger, a as TooltipContent } from './tooltip-DsQPiynb.js';
|
|
4
|
-
import { c as cn } from './cn-65Adrsfj.js';
|
|
5
|
-
|
|
6
|
-
function hexLuminance(color) {
|
|
7
|
-
const hex = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(color.trim())?.[1];
|
|
8
|
-
if (!hex) return void 0;
|
|
9
|
-
const full = hex.length === 3 ? [...hex].map((c) => c + c).join("") : hex;
|
|
10
|
-
const linear = (offset) => {
|
|
11
|
-
const channel = parseInt(full.slice(offset, offset + 2), 16) / 255;
|
|
12
|
-
return channel <= 0.03928 ? channel / 12.92 : ((channel + 0.055) / 1.055) ** 2.4;
|
|
13
|
-
};
|
|
14
|
-
return 0.2126 * linear(0) + 0.7152 * linear(2) + 0.0722 * linear(4);
|
|
15
|
-
}
|
|
16
|
-
function needsDarkLabel(color) {
|
|
17
|
-
const luminance = color ? hexLuminance(color) : void 0;
|
|
18
|
-
return luminance !== void 0 && luminance > 0.25;
|
|
19
|
-
}
|
|
20
|
-
function HorizontalBars({
|
|
21
|
-
data,
|
|
22
|
-
segments,
|
|
23
|
-
maxVal,
|
|
24
|
-
fmt,
|
|
25
|
-
className,
|
|
26
|
-
LinkComponent = "a"
|
|
27
|
-
}) {
|
|
28
|
-
const sorted = [...data].sort((a, b) => {
|
|
29
|
-
const totalB = b.values.reduce((s, v) => s + v, 0);
|
|
30
|
-
const totalA = a.values.reduce((s, v) => s + v, 0);
|
|
31
|
-
return totalB - totalA;
|
|
32
|
-
});
|
|
33
|
-
const isStacked = segments.length > 1;
|
|
34
|
-
return /* @__PURE__ */ jsxs(ScrollArea, { className: cn("size-full", className), children: [
|
|
35
|
-
/* @__PURE__ */ jsxs("div", { className: "mt-2 mb-4 flex items-center gap-3", children: [
|
|
36
|
-
/* @__PURE__ */ jsx("div", { className: "flex flex-1 items-center gap-4", children: segments.map((seg) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
37
|
-
/* @__PURE__ */ jsx("div", { className: "size-2 rounded-full", style: { backgroundColor: seg.color } }),
|
|
38
|
-
/* @__PURE__ */ jsx("span", { className: "text-caption text-muted-foreground", children: seg.label })
|
|
39
|
-
] }, seg.label)) }),
|
|
40
|
-
/* @__PURE__ */ jsx("span", { className: "shrink-0 pr-2 text-caption text-placeholder", children: "Total" })
|
|
41
|
-
] }),
|
|
42
|
-
/* @__PURE__ */ jsx("div", { className: "grid gap-3.5", children: sorted.map((d) => {
|
|
43
|
-
const total = d.values.reduce((s, v) => s + v, 0);
|
|
44
|
-
const barWidth = `${maxVal > 0 ? total / maxVal * 100 : 0}%`;
|
|
45
|
-
const darkLabelOnFill = needsDarkLabel(segments[d.values.findIndex((v) => v > 0)]?.color);
|
|
46
|
-
const rowBody = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
47
|
-
/* @__PURE__ */ jsxs("div", { className: "relative h-full min-w-0 flex-1", style: { "--bar-width": barWidth }, children: [
|
|
48
|
-
/* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
49
|
-
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
50
|
-
"div",
|
|
51
|
-
{
|
|
52
|
-
className: cn("absolute inset-y-0 left-0", d.href ? "cursor-pointer" : "cursor-default"),
|
|
53
|
-
style: { width: barWidth },
|
|
54
|
-
children: segments.map((seg, si) => {
|
|
55
|
-
const val = d.values[si] ?? 0;
|
|
56
|
-
const pct = total > 0 ? val / total * 100 : 0;
|
|
57
|
-
const left = d.values.slice(0, si).reduce((s, v) => s + (total > 0 ? v / total * 100 : 0), 0);
|
|
58
|
-
const isLastWithValue = d.values.slice(si + 1).every((v) => !v);
|
|
59
|
-
const segHref = d.href ? void 0 : d.hrefs?.[si];
|
|
60
|
-
const segmentNode = /* @__PURE__ */ jsx(
|
|
61
|
-
"div",
|
|
62
|
-
{
|
|
63
|
-
className: cn(
|
|
64
|
-
"absolute inset-y-0 opacity-40 dark:opacity-100",
|
|
65
|
-
isStacked && si === 0 && "rounded-l",
|
|
66
|
-
isStacked && isLastWithValue && "rounded-r",
|
|
67
|
-
!isStacked && "rounded",
|
|
68
|
-
segHref && "cursor-pointer transition-opacity hover:opacity-70"
|
|
69
|
-
),
|
|
70
|
-
style: {
|
|
71
|
-
left: isStacked ? `${left}%` : 0,
|
|
72
|
-
width: isStacked ? `${pct}%` : `${pct}%`,
|
|
73
|
-
backgroundColor: seg.color
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
);
|
|
77
|
-
if (segHref) {
|
|
78
|
-
return /* @__PURE__ */ jsx(
|
|
79
|
-
LinkComponent,
|
|
80
|
-
{
|
|
81
|
-
href: segHref,
|
|
82
|
-
"aria-label": `${d.name} — ${seg.label}`,
|
|
83
|
-
className: "contents",
|
|
84
|
-
children: segmentNode
|
|
85
|
-
},
|
|
86
|
-
seg.label
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
return /* @__PURE__ */ jsx(Wrapper, { children: segmentNode }, seg.label);
|
|
90
|
-
})
|
|
91
|
-
}
|
|
92
|
-
) }),
|
|
93
|
-
/* @__PURE__ */ jsx(TooltipContent, { side: "top", className: "font-mono", children: /* @__PURE__ */ jsx("div", { className: "grid gap-1", children: segments.map((seg, si) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
94
|
-
/* @__PURE__ */ jsx("span", { children: seg.label }),
|
|
95
|
-
/* @__PURE__ */ jsx("span", { className: "ml-auto pl-3", children: fmt(d.values[si] ?? 0) })
|
|
96
|
-
] }, seg.label)) }) })
|
|
97
|
-
] }),
|
|
98
|
-
/* @__PURE__ */ jsx(
|
|
99
|
-
"div",
|
|
100
|
-
{
|
|
101
|
-
className: cn(
|
|
102
|
-
"pointer-events-none absolute inset-0 z-10",
|
|
103
|
-
darkLabelOnFill && "dark:[clip-path:inset(0_0_0_var(--bar-width))]"
|
|
104
|
-
),
|
|
105
|
-
children: /* @__PURE__ */ jsx("span", { className: "absolute inset-y-0 left-2.5 flex items-center truncate text-caption text-muted-foreground", children: d.name })
|
|
106
|
-
}
|
|
107
|
-
),
|
|
108
|
-
darkLabelOnFill && /* @__PURE__ */ jsx(
|
|
109
|
-
"div",
|
|
110
|
-
{
|
|
111
|
-
"aria-hidden": true,
|
|
112
|
-
className: "pointer-events-none absolute inset-y-0 left-0 z-10 hidden w-(--bar-width) overflow-hidden dark:block",
|
|
113
|
-
children: /* @__PURE__ */ jsx("span", { className: "absolute inset-y-0 left-2.5 flex items-center text-caption whitespace-nowrap text-placeholder", children: d.name })
|
|
114
|
-
}
|
|
115
|
-
)
|
|
116
|
-
] }),
|
|
117
|
-
/* @__PURE__ */ jsx("span", { className: "shrink-0 pr-3 text-body text-muted-foreground tabular-nums", children: fmt(total) })
|
|
118
|
-
] });
|
|
119
|
-
if (d.href) {
|
|
120
|
-
return /* @__PURE__ */ jsx(
|
|
121
|
-
LinkComponent,
|
|
122
|
-
{
|
|
123
|
-
href: d.href,
|
|
124
|
-
className: "flex h-6 cursor-pointer items-center gap-14 rounded transition-colors outline-none hover:bg-fill-subtle focus-visible:bg-fill-subtle",
|
|
125
|
-
children: rowBody
|
|
126
|
-
},
|
|
127
|
-
d.name
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
return /* @__PURE__ */ jsx("div", { className: "flex h-6 items-center gap-14", children: rowBody }, d.name);
|
|
131
|
-
}) })
|
|
132
|
-
] });
|
|
133
|
-
}
|
|
134
|
-
function Wrapper({ children }) {
|
|
135
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
export { HorizontalBars as H };
|
|
139
|
-
//# sourceMappingURL=horizontal-bars-DsTY4Y1M.js.map
|