@cognivo/components 0.8.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/LICENSE +21 -0
- package/README.md +119 -0
- package/dist/ai.d.ts +102 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +181 -0
- package/dist/ai.js.map +1 -0
- package/dist/bias.d.ts +21 -0
- package/dist/bias.d.ts.map +1 -0
- package/dist/bias.js +15 -0
- package/dist/bias.js.map +1 -0
- package/dist/chunks/floating-DfsaYJnh.js +103 -0
- package/dist/chunks/floating-DfsaYJnh.js.map +1 -0
- package/dist/chunks/focus-trap-BdRNhSPD.js +53 -0
- package/dist/chunks/focus-trap-BdRNhSPD.js.map +1 -0
- package/dist/chunks/outside-click-CP1P1fK3.js +15 -0
- package/dist/chunks/outside-click-CP1P1fK3.js.map +1 -0
- package/dist/chunks/premium.css-9I4kHrsl.js +466 -0
- package/dist/chunks/premium.css-9I4kHrsl.js.map +1 -0
- package/dist/chunks/roving-index-BuO0tTba.js +31 -0
- package/dist/chunks/roving-index-BuO0tTba.js.map +1 -0
- package/dist/cognivo.min.js +33066 -0
- package/dist/cognivo.min.js.map +1 -0
- package/dist/components/ai-ab-test/ai-ab-test.d.ts +22 -0
- package/dist/components/ai-ab-test/ai-ab-test.d.ts.map +1 -0
- package/dist/components/ai-ab-test/ai-ab-test.js +173 -0
- package/dist/components/ai-ab-test/ai-ab-test.js.map +1 -0
- package/dist/components/ai-accessibility-report/ai-accessibility-report.d.ts +33 -0
- package/dist/components/ai-accessibility-report/ai-accessibility-report.d.ts.map +1 -0
- package/dist/components/ai-accessibility-report/ai-accessibility-report.js +380 -0
- package/dist/components/ai-accessibility-report/ai-accessibility-report.js.map +1 -0
- package/dist/components/ai-action-preview/ai-action-preview.d.ts +32 -0
- package/dist/components/ai-action-preview/ai-action-preview.d.ts.map +1 -0
- package/dist/components/ai-action-preview/ai-action-preview.js +295 -0
- package/dist/components/ai-action-preview/ai-action-preview.js.map +1 -0
- package/dist/components/ai-agent-card/ai-agent-card.d.ts +18 -0
- package/dist/components/ai-agent-card/ai-agent-card.d.ts.map +1 -0
- package/dist/components/ai-agent-card/ai-agent-card.js +267 -0
- package/dist/components/ai-agent-card/ai-agent-card.js.map +1 -0
- package/dist/components/ai-agent-steps/ai-agent-steps.d.ts +53 -0
- package/dist/components/ai-agent-steps/ai-agent-steps.d.ts.map +1 -0
- package/dist/components/ai-agent-steps/ai-agent-steps.js +297 -0
- package/dist/components/ai-agent-steps/ai-agent-steps.js.map +1 -0
- package/dist/components/ai-alert-card/ai-alert-card.d.ts +25 -0
- package/dist/components/ai-alert-card/ai-alert-card.d.ts.map +1 -0
- package/dist/components/ai-alert-card/ai-alert-card.js +235 -0
- package/dist/components/ai-alert-card/ai-alert-card.js.map +1 -0
- package/dist/components/ai-analytics-chart/ai-analytics-chart.d.ts +51 -0
- package/dist/components/ai-analytics-chart/ai-analytics-chart.d.ts.map +1 -0
- package/dist/components/ai-analytics-chart/ai-analytics-chart.js +334 -0
- package/dist/components/ai-analytics-chart/ai-analytics-chart.js.map +1 -0
- package/dist/components/ai-annotation/ai-annotation.d.ts +34 -0
- package/dist/components/ai-annotation/ai-annotation.d.ts.map +1 -0
- package/dist/components/ai-annotation/ai-annotation.js +254 -0
- package/dist/components/ai-annotation/ai-annotation.js.map +1 -0
- package/dist/components/ai-api-key-manager/ai-api-key-manager.d.ts +35 -0
- package/dist/components/ai-api-key-manager/ai-api-key-manager.d.ts.map +1 -0
- package/dist/components/ai-api-key-manager/ai-api-key-manager.js +443 -0
- package/dist/components/ai-api-key-manager/ai-api-key-manager.js.map +1 -0
- package/dist/components/ai-app-sidebar/ai-app-sidebar.d.ts +26 -0
- package/dist/components/ai-app-sidebar/ai-app-sidebar.d.ts.map +1 -0
- package/dist/components/ai-app-sidebar/ai-app-sidebar.js +206 -0
- package/dist/components/ai-app-sidebar/ai-app-sidebar.js.map +1 -0
- package/dist/components/ai-assistant-widget/ai-assistant-widget.d.ts +28 -0
- package/dist/components/ai-assistant-widget/ai-assistant-widget.d.ts.map +1 -0
- package/dist/components/ai-assistant-widget/ai-assistant-widget.js +335 -0
- package/dist/components/ai-assistant-widget/ai-assistant-widget.js.map +1 -0
- package/dist/components/ai-audio-player/ai-audio-player.d.ts +31 -0
- package/dist/components/ai-audio-player/ai-audio-player.d.ts.map +1 -0
- package/dist/components/ai-audio-player/ai-audio-player.js +274 -0
- package/dist/components/ai-audio-player/ai-audio-player.js.map +1 -0
- package/dist/components/ai-avatar/ai-avatar.d.ts +20 -0
- package/dist/components/ai-avatar/ai-avatar.d.ts.map +1 -0
- package/dist/components/ai-avatar/ai-avatar.js +77 -0
- package/dist/components/ai-avatar/ai-avatar.js.map +1 -0
- package/dist/components/ai-badge/ai-badge.d.ts +20 -0
- package/dist/components/ai-badge/ai-badge.d.ts.map +1 -0
- package/dist/components/ai-badge/ai-badge.js +69 -0
- package/dist/components/ai-badge/ai-badge.js.map +1 -0
- package/dist/components/ai-batch-progress/ai-batch-progress.d.ts +21 -0
- package/dist/components/ai-batch-progress/ai-batch-progress.d.ts.map +1 -0
- package/dist/components/ai-batch-progress/ai-batch-progress.js +334 -0
- package/dist/components/ai-batch-progress/ai-batch-progress.js.map +1 -0
- package/dist/components/ai-cache-indicator/ai-cache-indicator.d.ts +31 -0
- package/dist/components/ai-cache-indicator/ai-cache-indicator.d.ts.map +1 -0
- package/dist/components/ai-cache-indicator/ai-cache-indicator.js +314 -0
- package/dist/components/ai-cache-indicator/ai-cache-indicator.js.map +1 -0
- package/dist/components/ai-capture-flow/ai-capture-flow.d.ts +33 -0
- package/dist/components/ai-capture-flow/ai-capture-flow.d.ts.map +1 -0
- package/dist/components/ai-capture-flow/ai-capture-flow.js +336 -0
- package/dist/components/ai-capture-flow/ai-capture-flow.js.map +1 -0
- package/dist/components/ai-changelog/ai-changelog.d.ts +24 -0
- package/dist/components/ai-changelog/ai-changelog.d.ts.map +1 -0
- package/dist/components/ai-changelog/ai-changelog.js +292 -0
- package/dist/components/ai-changelog/ai-changelog.js.map +1 -0
- package/dist/components/ai-chart-summary/ai-chart-summary.d.ts +30 -0
- package/dist/components/ai-chart-summary/ai-chart-summary.d.ts.map +1 -0
- package/dist/components/ai-chart-summary/ai-chart-summary.js +269 -0
- package/dist/components/ai-chart-summary/ai-chart-summary.js.map +1 -0
- package/dist/components/ai-chat/ai-chat.d.ts +70 -0
- package/dist/components/ai-chat/ai-chat.d.ts.map +1 -0
- package/dist/components/ai-chat/ai-chat.js +707 -0
- package/dist/components/ai-chat/ai-chat.js.map +1 -0
- package/dist/components/ai-citation/ai-citation.d.ts +27 -0
- package/dist/components/ai-citation/ai-citation.d.ts.map +1 -0
- package/dist/components/ai-citation/ai-citation.js +277 -0
- package/dist/components/ai-citation/ai-citation.js.map +1 -0
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.d.ts +54 -0
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.d.ts.map +1 -0
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.js +387 -0
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.js.map +1 -0
- package/dist/components/ai-command-palette/ai-command-palette.d.ts +34 -0
- package/dist/components/ai-command-palette/ai-command-palette.d.ts.map +1 -0
- package/dist/components/ai-command-palette/ai-command-palette.js +119 -0
- package/dist/components/ai-command-palette/ai-command-palette.js.map +1 -0
- package/dist/components/ai-confidence-badge/ai-confidence-badge.d.ts +31 -0
- package/dist/components/ai-confidence-badge/ai-confidence-badge.d.ts.map +1 -0
- package/dist/components/ai-confidence-badge/ai-confidence-badge.js +200 -0
- package/dist/components/ai-confidence-badge/ai-confidence-badge.js.map +1 -0
- package/dist/components/ai-confidence-slider/ai-confidence-slider.d.ts +16 -0
- package/dist/components/ai-confidence-slider/ai-confidence-slider.d.ts.map +1 -0
- package/dist/components/ai-confidence-slider/ai-confidence-slider.js +212 -0
- package/dist/components/ai-confidence-slider/ai-confidence-slider.js.map +1 -0
- package/dist/components/ai-consent-manager/ai-consent-manager.d.ts +26 -0
- package/dist/components/ai-consent-manager/ai-consent-manager.d.ts.map +1 -0
- package/dist/components/ai-consent-manager/ai-consent-manager.js +169 -0
- package/dist/components/ai-consent-manager/ai-consent-manager.js.map +1 -0
- package/dist/components/ai-context-window/ai-context-window.d.ts +20 -0
- package/dist/components/ai-context-window/ai-context-window.d.ts.map +1 -0
- package/dist/components/ai-context-window/ai-context-window.js +201 -0
- package/dist/components/ai-context-window/ai-context-window.js.map +1 -0
- package/dist/components/ai-copy-button/ai-copy-button.d.ts +23 -0
- package/dist/components/ai-copy-button/ai-copy-button.d.ts.map +1 -0
- package/dist/components/ai-copy-button/ai-copy-button.js +193 -0
- package/dist/components/ai-copy-button/ai-copy-button.js.map +1 -0
- package/dist/components/ai-cost-dashboard/ai-cost-dashboard.d.ts +28 -0
- package/dist/components/ai-cost-dashboard/ai-cost-dashboard.d.ts.map +1 -0
- package/dist/components/ai-cost-dashboard/ai-cost-dashboard.js +328 -0
- package/dist/components/ai-cost-dashboard/ai-cost-dashboard.js.map +1 -0
- package/dist/components/ai-data-card/ai-data-card.d.ts +50 -0
- package/dist/components/ai-data-card/ai-data-card.d.ts.map +1 -0
- package/dist/components/ai-data-card/ai-data-card.js +358 -0
- package/dist/components/ai-data-card/ai-data-card.js.map +1 -0
- package/dist/components/ai-data-lineage/ai-data-lineage.d.ts +28 -0
- package/dist/components/ai-data-lineage/ai-data-lineage.d.ts.map +1 -0
- package/dist/components/ai-data-lineage/ai-data-lineage.js +200 -0
- package/dist/components/ai-data-lineage/ai-data-lineage.js.map +1 -0
- package/dist/components/ai-data-preview/ai-data-preview.d.ts +31 -0
- package/dist/components/ai-data-preview/ai-data-preview.d.ts.map +1 -0
- package/dist/components/ai-data-preview/ai-data-preview.js +415 -0
- package/dist/components/ai-data-preview/ai-data-preview.js.map +1 -0
- package/dist/components/ai-data-table/ai-data-table.d.ts +62 -0
- package/dist/components/ai-data-table/ai-data-table.d.ts.map +1 -0
- package/dist/components/ai-data-table/ai-data-table.js +388 -0
- package/dist/components/ai-data-table/ai-data-table.js.map +1 -0
- package/dist/components/ai-debug-console/ai-debug-console.d.ts +39 -0
- package/dist/components/ai-debug-console/ai-debug-console.d.ts.map +1 -0
- package/dist/components/ai-debug-console/ai-debug-console.js +517 -0
- package/dist/components/ai-debug-console/ai-debug-console.js.map +1 -0
- package/dist/components/ai-detection-canvas/ai-detection-canvas.d.ts +26 -0
- package/dist/components/ai-detection-canvas/ai-detection-canvas.d.ts.map +1 -0
- package/dist/components/ai-detection-canvas/ai-detection-canvas.js +233 -0
- package/dist/components/ai-detection-canvas/ai-detection-canvas.js.map +1 -0
- package/dist/components/ai-diff-panel/ai-diff-panel.d.ts +35 -0
- package/dist/components/ai-diff-panel/ai-diff-panel.d.ts.map +1 -0
- package/dist/components/ai-diff-panel/ai-diff-panel.js +374 -0
- package/dist/components/ai-diff-panel/ai-diff-panel.js.map +1 -0
- package/dist/components/ai-embedding-viz/ai-embedding-viz.d.ts +31 -0
- package/dist/components/ai-embedding-viz/ai-embedding-viz.d.ts.map +1 -0
- package/dist/components/ai-embedding-viz/ai-embedding-viz.js +256 -0
- package/dist/components/ai-embedding-viz/ai-embedding-viz.js.map +1 -0
- package/dist/components/ai-empty-state/ai-empty-state.d.ts +18 -0
- package/dist/components/ai-empty-state/ai-empty-state.d.ts.map +1 -0
- package/dist/components/ai-empty-state/ai-empty-state.js +58 -0
- package/dist/components/ai-empty-state/ai-empty-state.js.map +1 -0
- package/dist/components/ai-error-boundary/ai-error-boundary.d.ts +17 -0
- package/dist/components/ai-error-boundary/ai-error-boundary.d.ts.map +1 -0
- package/dist/components/ai-error-boundary/ai-error-boundary.js +212 -0
- package/dist/components/ai-error-boundary/ai-error-boundary.js.map +1 -0
- package/dist/components/ai-eval-scorecard/ai-eval-scorecard.d.ts +19 -0
- package/dist/components/ai-eval-scorecard/ai-eval-scorecard.d.ts.map +1 -0
- package/dist/components/ai-eval-scorecard/ai-eval-scorecard.js +199 -0
- package/dist/components/ai-eval-scorecard/ai-eval-scorecard.js.map +1 -0
- package/dist/components/ai-feature-flag/ai-feature-flag.d.ts +43 -0
- package/dist/components/ai-feature-flag/ai-feature-flag.d.ts.map +1 -0
- package/dist/components/ai-feature-flag/ai-feature-flag.js +457 -0
- package/dist/components/ai-feature-flag/ai-feature-flag.js.map +1 -0
- package/dist/components/ai-feedback/ai-feedback.d.ts +28 -0
- package/dist/components/ai-feedback/ai-feedback.d.ts.map +1 -0
- package/dist/components/ai-feedback/ai-feedback.js +478 -0
- package/dist/components/ai-feedback/ai-feedback.js.map +1 -0
- package/dist/components/ai-file-upload/ai-file-upload.d.ts +18 -0
- package/dist/components/ai-file-upload/ai-file-upload.d.ts.map +1 -0
- package/dist/components/ai-file-upload/ai-file-upload.js +70 -0
- package/dist/components/ai-file-upload/ai-file-upload.js.map +1 -0
- package/dist/components/ai-form-generator/ai-form-generator.d.ts +39 -0
- package/dist/components/ai-form-generator/ai-form-generator.d.ts.map +1 -0
- package/dist/components/ai-form-generator/ai-form-generator.js +225 -0
- package/dist/components/ai-form-generator/ai-form-generator.js.map +1 -0
- package/dist/components/ai-guardrail/ai-guardrail.d.ts +22 -0
- package/dist/components/ai-guardrail/ai-guardrail.d.ts.map +1 -0
- package/dist/components/ai-guardrail/ai-guardrail.js +229 -0
- package/dist/components/ai-guardrail/ai-guardrail.js.map +1 -0
- package/dist/components/ai-heatmap/ai-heatmap.d.ts +38 -0
- package/dist/components/ai-heatmap/ai-heatmap.d.ts.map +1 -0
- package/dist/components/ai-heatmap/ai-heatmap.js +250 -0
- package/dist/components/ai-heatmap/ai-heatmap.js.map +1 -0
- package/dist/components/ai-insight-card/ai-insight-card.d.ts +28 -0
- package/dist/components/ai-insight-card/ai-insight-card.d.ts.map +1 -0
- package/dist/components/ai-insight-card/ai-insight-card.js +319 -0
- package/dist/components/ai-insight-card/ai-insight-card.js.map +1 -0
- package/dist/components/ai-json-viewer/ai-json-viewer.d.ts +24 -0
- package/dist/components/ai-json-viewer/ai-json-viewer.d.ts.map +1 -0
- package/dist/components/ai-json-viewer/ai-json-viewer.js +173 -0
- package/dist/components/ai-json-viewer/ai-json-viewer.js.map +1 -0
- package/dist/components/ai-keyboard-shortcuts/ai-keyboard-shortcuts.d.ts +25 -0
- package/dist/components/ai-keyboard-shortcuts/ai-keyboard-shortcuts.d.ts.map +1 -0
- package/dist/components/ai-keyboard-shortcuts/ai-keyboard-shortcuts.js +240 -0
- package/dist/components/ai-keyboard-shortcuts/ai-keyboard-shortcuts.js.map +1 -0
- package/dist/components/ai-kpi-grid/ai-kpi-grid.d.ts +26 -0
- package/dist/components/ai-kpi-grid/ai-kpi-grid.d.ts.map +1 -0
- package/dist/components/ai-kpi-grid/ai-kpi-grid.js +180 -0
- package/dist/components/ai-kpi-grid/ai-kpi-grid.js.map +1 -0
- package/dist/components/ai-labeling-board/ai-labeling-board.d.ts +31 -0
- package/dist/components/ai-labeling-board/ai-labeling-board.d.ts.map +1 -0
- package/dist/components/ai-labeling-board/ai-labeling-board.js +393 -0
- package/dist/components/ai-labeling-board/ai-labeling-board.js.map +1 -0
- package/dist/components/ai-memory-panel/ai-memory-panel.d.ts +24 -0
- package/dist/components/ai-memory-panel/ai-memory-panel.d.ts.map +1 -0
- package/dist/components/ai-memory-panel/ai-memory-panel.js +238 -0
- package/dist/components/ai-memory-panel/ai-memory-panel.js.map +1 -0
- package/dist/components/ai-model-comparison/ai-model-comparison.d.ts +25 -0
- package/dist/components/ai-model-comparison/ai-model-comparison.d.ts.map +1 -0
- package/dist/components/ai-model-comparison/ai-model-comparison.js +321 -0
- package/dist/components/ai-model-comparison/ai-model-comparison.js.map +1 -0
- package/dist/components/ai-model-selector/ai-model-selector.d.ts +29 -0
- package/dist/components/ai-model-selector/ai-model-selector.d.ts.map +1 -0
- package/dist/components/ai-model-selector/ai-model-selector.js +200 -0
- package/dist/components/ai-model-selector/ai-model-selector.js.map +1 -0
- package/dist/components/ai-notification-center/ai-notification-center.d.ts +34 -0
- package/dist/components/ai-notification-center/ai-notification-center.d.ts.map +1 -0
- package/dist/components/ai-notification-center/ai-notification-center.js +334 -0
- package/dist/components/ai-notification-center/ai-notification-center.js.map +1 -0
- package/dist/components/ai-onboarding/ai-onboarding.d.ts +35 -0
- package/dist/components/ai-onboarding/ai-onboarding.d.ts.map +1 -0
- package/dist/components/ai-onboarding/ai-onboarding.js +375 -0
- package/dist/components/ai-onboarding/ai-onboarding.js.map +1 -0
- package/dist/components/ai-permission-gate/ai-permission-gate.d.ts +27 -0
- package/dist/components/ai-permission-gate/ai-permission-gate.d.ts.map +1 -0
- package/dist/components/ai-permission-gate/ai-permission-gate.js +193 -0
- package/dist/components/ai-permission-gate/ai-permission-gate.js.map +1 -0
- package/dist/components/ai-personalization-dash/ai-personalization-dash.d.ts +27 -0
- package/dist/components/ai-personalization-dash/ai-personalization-dash.d.ts.map +1 -0
- package/dist/components/ai-personalization-dash/ai-personalization-dash.js +181 -0
- package/dist/components/ai-personalization-dash/ai-personalization-dash.js.map +1 -0
- package/dist/components/ai-presence/ai-presence.d.ts +27 -0
- package/dist/components/ai-presence/ai-presence.d.ts.map +1 -0
- package/dist/components/ai-presence/ai-presence.js +261 -0
- package/dist/components/ai-presence/ai-presence.js.map +1 -0
- package/dist/components/ai-progress-steps/ai-progress-steps.d.ts +20 -0
- package/dist/components/ai-progress-steps/ai-progress-steps.d.ts.map +1 -0
- package/dist/components/ai-progress-steps/ai-progress-steps.js +201 -0
- package/dist/components/ai-progress-steps/ai-progress-steps.js.map +1 -0
- package/dist/components/ai-prompt-editor/ai-prompt-editor.d.ts +25 -0
- package/dist/components/ai-prompt-editor/ai-prompt-editor.d.ts.map +1 -0
- package/dist/components/ai-prompt-editor/ai-prompt-editor.js +294 -0
- package/dist/components/ai-prompt-editor/ai-prompt-editor.js.map +1 -0
- package/dist/components/ai-prompt-template/ai-prompt-template.d.ts +20 -0
- package/dist/components/ai-prompt-template/ai-prompt-template.d.ts.map +1 -0
- package/dist/components/ai-prompt-template/ai-prompt-template.js +288 -0
- package/dist/components/ai-prompt-template/ai-prompt-template.js.map +1 -0
- package/dist/components/ai-rag-panel/ai-rag-panel.d.ts +24 -0
- package/dist/components/ai-rag-panel/ai-rag-panel.d.ts.map +1 -0
- package/dist/components/ai-rag-panel/ai-rag-panel.js +226 -0
- package/dist/components/ai-rag-panel/ai-rag-panel.js.map +1 -0
- package/dist/components/ai-reasoning-tree/ai-reasoning-tree.d.ts +20 -0
- package/dist/components/ai-reasoning-tree/ai-reasoning-tree.d.ts.map +1 -0
- package/dist/components/ai-reasoning-tree/ai-reasoning-tree.js +180 -0
- package/dist/components/ai-reasoning-tree/ai-reasoning-tree.js.map +1 -0
- package/dist/components/ai-result-panel/ai-result-panel.d.ts +35 -0
- package/dist/components/ai-result-panel/ai-result-panel.d.ts.map +1 -0
- package/dist/components/ai-result-panel/ai-result-panel.js +412 -0
- package/dist/components/ai-result-panel/ai-result-panel.js.map +1 -0
- package/dist/components/ai-reveal-animation/ai-reveal-animation.d.ts +28 -0
- package/dist/components/ai-reveal-animation/ai-reveal-animation.d.ts.map +1 -0
- package/dist/components/ai-reveal-animation/ai-reveal-animation.js +146 -0
- package/dist/components/ai-reveal-animation/ai-reveal-animation.js.map +1 -0
- package/dist/components/ai-reward-signal/ai-reward-signal.d.ts +22 -0
- package/dist/components/ai-reward-signal/ai-reward-signal.d.ts.map +1 -0
- package/dist/components/ai-reward-signal/ai-reward-signal.js +231 -0
- package/dist/components/ai-reward-signal/ai-reward-signal.js.map +1 -0
- package/dist/components/ai-rich-message/ai-rich-message.d.ts +38 -0
- package/dist/components/ai-rich-message/ai-rich-message.d.ts.map +1 -0
- package/dist/components/ai-rich-message/ai-rich-message.js +285 -0
- package/dist/components/ai-rich-message/ai-rich-message.js.map +1 -0
- package/dist/components/ai-scenario-panel/ai-scenario-panel.d.ts +19 -0
- package/dist/components/ai-scenario-panel/ai-scenario-panel.d.ts.map +1 -0
- package/dist/components/ai-scenario-panel/ai-scenario-panel.js +182 -0
- package/dist/components/ai-scenario-panel/ai-scenario-panel.js.map +1 -0
- package/dist/components/ai-search/ai-search.d.ts +38 -0
- package/dist/components/ai-search/ai-search.d.ts.map +1 -0
- package/dist/components/ai-search/ai-search.js +397 -0
- package/dist/components/ai-search/ai-search.js.map +1 -0
- package/dist/components/ai-segmentation-viewer/ai-segmentation-viewer.d.ts +21 -0
- package/dist/components/ai-segmentation-viewer/ai-segmentation-viewer.d.ts.map +1 -0
- package/dist/components/ai-segmentation-viewer/ai-segmentation-viewer.js +185 -0
- package/dist/components/ai-segmentation-viewer/ai-segmentation-viewer.js.map +1 -0
- package/dist/components/ai-sidebar/ai-sidebar.d.ts +19 -0
- package/dist/components/ai-sidebar/ai-sidebar.d.ts.map +1 -0
- package/dist/components/ai-sidebar/ai-sidebar.js +59 -0
- package/dist/components/ai-sidebar/ai-sidebar.js.map +1 -0
- package/dist/components/ai-similarity-card/ai-similarity-card.d.ts +23 -0
- package/dist/components/ai-similarity-card/ai-similarity-card.d.ts.map +1 -0
- package/dist/components/ai-similarity-card/ai-similarity-card.js +224 -0
- package/dist/components/ai-similarity-card/ai-similarity-card.js.map +1 -0
- package/dist/components/ai-source-graph/ai-source-graph.d.ts +19 -0
- package/dist/components/ai-source-graph/ai-source-graph.d.ts.map +1 -0
- package/dist/components/ai-source-graph/ai-source-graph.js +226 -0
- package/dist/components/ai-source-graph/ai-source-graph.js.map +1 -0
- package/dist/components/ai-status-page/ai-status-page.d.ts +32 -0
- package/dist/components/ai-status-page/ai-status-page.d.ts.map +1 -0
- package/dist/components/ai-status-page/ai-status-page.js +304 -0
- package/dist/components/ai-status-page/ai-status-page.js.map +1 -0
- package/dist/components/ai-streaming-text/ai-streaming-text.d.ts +23 -0
- package/dist/components/ai-streaming-text/ai-streaming-text.d.ts.map +1 -0
- package/dist/components/ai-streaming-text/ai-streaming-text.js +80 -0
- package/dist/components/ai-streaming-text/ai-streaming-text.js.map +1 -0
- package/dist/components/ai-test-runner/ai-test-runner.d.ts +37 -0
- package/dist/components/ai-test-runner/ai-test-runner.d.ts.map +1 -0
- package/dist/components/ai-test-runner/ai-test-runner.js +448 -0
- package/dist/components/ai-test-runner/ai-test-runner.js.map +1 -0
- package/dist/components/ai-thinking/ai-thinking.d.ts +33 -0
- package/dist/components/ai-thinking/ai-thinking.d.ts.map +1 -0
- package/dist/components/ai-thinking/ai-thinking.js +371 -0
- package/dist/components/ai-thinking/ai-thinking.js.map +1 -0
- package/dist/components/ai-timeline/ai-timeline.d.ts +28 -0
- package/dist/components/ai-timeline/ai-timeline.d.ts.map +1 -0
- package/dist/components/ai-timeline/ai-timeline.js +378 -0
- package/dist/components/ai-timeline/ai-timeline.js.map +1 -0
- package/dist/components/ai-toast/ai-toast.d.ts +27 -0
- package/dist/components/ai-toast/ai-toast.d.ts.map +1 -0
- package/dist/components/ai-toast/ai-toast.js +68 -0
- package/dist/components/ai-toast/ai-toast.js.map +1 -0
- package/dist/components/ai-token-tracker/ai-token-tracker.d.ts +20 -0
- package/dist/components/ai-token-tracker/ai-token-tracker.d.ts.map +1 -0
- package/dist/components/ai-token-tracker/ai-token-tracker.js +235 -0
- package/dist/components/ai-token-tracker/ai-token-tracker.js.map +1 -0
- package/dist/components/ai-tool-card-resolver/ai-tool-card-resolver.d.ts +31 -0
- package/dist/components/ai-tool-card-resolver/ai-tool-card-resolver.d.ts.map +1 -0
- package/dist/components/ai-tool-card-resolver/ai-tool-card-resolver.js +225 -0
- package/dist/components/ai-tool-card-resolver/ai-tool-card-resolver.js.map +1 -0
- package/dist/components/ai-tool-indicator/ai-tool-indicator.d.ts +18 -0
- package/dist/components/ai-tool-indicator/ai-tool-indicator.d.ts.map +1 -0
- package/dist/components/ai-tool-indicator/ai-tool-indicator.js +186 -0
- package/dist/components/ai-tool-indicator/ai-tool-indicator.js.map +1 -0
- package/dist/components/ai-transform-slider/ai-transform-slider.d.ts +21 -0
- package/dist/components/ai-transform-slider/ai-transform-slider.d.ts.map +1 -0
- package/dist/components/ai-transform-slider/ai-transform-slider.js +270 -0
- package/dist/components/ai-transform-slider/ai-transform-slider.js.map +1 -0
- package/dist/components/ai-translation-panel/ai-translation-panel.d.ts +24 -0
- package/dist/components/ai-translation-panel/ai-translation-panel.d.ts.map +1 -0
- package/dist/components/ai-translation-panel/ai-translation-panel.js +347 -0
- package/dist/components/ai-translation-panel/ai-translation-panel.js.map +1 -0
- package/dist/components/ai-usage-meter/ai-usage-meter.d.ts +33 -0
- package/dist/components/ai-usage-meter/ai-usage-meter.d.ts.map +1 -0
- package/dist/components/ai-usage-meter/ai-usage-meter.js +286 -0
- package/dist/components/ai-usage-meter/ai-usage-meter.js.map +1 -0
- package/dist/components/ai-validation-checklist/ai-validation-checklist.d.ts +35 -0
- package/dist/components/ai-validation-checklist/ai-validation-checklist.d.ts.map +1 -0
- package/dist/components/ai-validation-checklist/ai-validation-checklist.js +360 -0
- package/dist/components/ai-validation-checklist/ai-validation-checklist.js.map +1 -0
- package/dist/components/ai-version-selector/ai-version-selector.d.ts +28 -0
- package/dist/components/ai-version-selector/ai-version-selector.d.ts.map +1 -0
- package/dist/components/ai-version-selector/ai-version-selector.js +326 -0
- package/dist/components/ai-version-selector/ai-version-selector.js.map +1 -0
- package/dist/components/ai-voice-panel/ai-voice-panel.d.ts +46 -0
- package/dist/components/ai-voice-panel/ai-voice-panel.d.ts.map +1 -0
- package/dist/components/ai-voice-panel/ai-voice-panel.js +363 -0
- package/dist/components/ai-voice-panel/ai-voice-panel.js.map +1 -0
- package/dist/components/ai-webhook-config/ai-webhook-config.d.ts +46 -0
- package/dist/components/ai-webhook-config/ai-webhook-config.d.ts.map +1 -0
- package/dist/components/ai-webhook-config/ai-webhook-config.js +358 -0
- package/dist/components/ai-webhook-config/ai-webhook-config.js.map +1 -0
- package/dist/components/ai-workflow-builder/ai-workflow-builder.d.ts +26 -0
- package/dist/components/ai-workflow-builder/ai-workflow-builder.d.ts.map +1 -0
- package/dist/components/ai-workflow-builder/ai-workflow-builder.js +179 -0
- package/dist/components/ai-workflow-builder/ai-workflow-builder.js.map +1 -0
- package/dist/components/bias-anchoring/bias-anchoring.d.ts +35 -0
- package/dist/components/bias-anchoring/bias-anchoring.d.ts.map +1 -0
- package/dist/components/bias-anchoring/bias-anchoring.js +107 -0
- package/dist/components/bias-anchoring/bias-anchoring.js.map +1 -0
- package/dist/components/bias-authority/bias-authority.d.ts +31 -0
- package/dist/components/bias-authority/bias-authority.d.ts.map +1 -0
- package/dist/components/bias-authority/bias-authority.js +97 -0
- package/dist/components/bias-authority/bias-authority.js.map +1 -0
- package/dist/components/bias-commitment/bias-commitment.d.ts +39 -0
- package/dist/components/bias-commitment/bias-commitment.d.ts.map +1 -0
- package/dist/components/bias-commitment/bias-commitment.js +115 -0
- package/dist/components/bias-commitment/bias-commitment.js.map +1 -0
- package/dist/components/bias-reciprocity/bias-reciprocity.d.ts +30 -0
- package/dist/components/bias-reciprocity/bias-reciprocity.d.ts.map +1 -0
- package/dist/components/bias-reciprocity/bias-reciprocity.js +86 -0
- package/dist/components/bias-reciprocity/bias-reciprocity.js.map +1 -0
- package/dist/components/bias-scarcity/bias-scarcity.d.ts +39 -0
- package/dist/components/bias-scarcity/bias-scarcity.d.ts.map +1 -0
- package/dist/components/bias-scarcity/bias-scarcity.js +120 -0
- package/dist/components/bias-scarcity/bias-scarcity.js.map +1 -0
- package/dist/components/bias-social-proof/bias-social-proof.d.ts +37 -0
- package/dist/components/bias-social-proof/bias-social-proof.d.ts.map +1 -0
- package/dist/components/bias-social-proof/bias-social-proof.js +112 -0
- package/dist/components/bias-social-proof/bias-social-proof.js.map +1 -0
- package/dist/components/cg-accordion/cg-accordion.d.ts +34 -0
- package/dist/components/cg-accordion/cg-accordion.d.ts.map +1 -0
- package/dist/components/cg-accordion/cg-accordion.js +219 -0
- package/dist/components/cg-accordion/cg-accordion.js.map +1 -0
- package/dist/components/cg-alert-dialog/cg-alert-dialog.d.ts +53 -0
- package/dist/components/cg-alert-dialog/cg-alert-dialog.d.ts.map +1 -0
- package/dist/components/cg-alert-dialog/cg-alert-dialog.js +220 -0
- package/dist/components/cg-alert-dialog/cg-alert-dialog.js.map +1 -0
- package/dist/components/cg-app-shell/cg-app-shell.d.ts +54 -0
- package/dist/components/cg-app-shell/cg-app-shell.d.ts.map +1 -0
- package/dist/components/cg-app-shell/cg-app-shell.js +135 -0
- package/dist/components/cg-app-shell/cg-app-shell.js.map +1 -0
- package/dist/components/cg-aspect-ratio/cg-aspect-ratio.d.ts +34 -0
- package/dist/components/cg-aspect-ratio/cg-aspect-ratio.d.ts.map +1 -0
- package/dist/components/cg-aspect-ratio/cg-aspect-ratio.js +47 -0
- package/dist/components/cg-aspect-ratio/cg-aspect-ratio.js.map +1 -0
- package/dist/components/cg-auth-shell/cg-auth-shell.d.ts +61 -0
- package/dist/components/cg-auth-shell/cg-auth-shell.d.ts.map +1 -0
- package/dist/components/cg-auth-shell/cg-auth-shell.js +163 -0
- package/dist/components/cg-auth-shell/cg-auth-shell.js.map +1 -0
- package/dist/components/cg-autocomplete/cg-autocomplete.d.ts +50 -0
- package/dist/components/cg-autocomplete/cg-autocomplete.d.ts.map +1 -0
- package/dist/components/cg-autocomplete/cg-autocomplete.js +279 -0
- package/dist/components/cg-autocomplete/cg-autocomplete.js.map +1 -0
- package/dist/components/cg-avatar/cg-avatar.d.ts +35 -0
- package/dist/components/cg-avatar/cg-avatar.d.ts.map +1 -0
- package/dist/components/cg-avatar/cg-avatar.js +171 -0
- package/dist/components/cg-avatar/cg-avatar.js.map +1 -0
- package/dist/components/cg-avatar-group/cg-avatar-group.d.ts +39 -0
- package/dist/components/cg-avatar-group/cg-avatar-group.d.ts.map +1 -0
- package/dist/components/cg-avatar-group/cg-avatar-group.js +218 -0
- package/dist/components/cg-avatar-group/cg-avatar-group.js.map +1 -0
- package/dist/components/cg-badge/cg-badge.d.ts +37 -0
- package/dist/components/cg-badge/cg-badge.d.ts.map +1 -0
- package/dist/components/cg-badge/cg-badge.js +125 -0
- package/dist/components/cg-badge/cg-badge.js.map +1 -0
- package/dist/components/cg-badge-group/cg-badge-group.d.ts +28 -0
- package/dist/components/cg-badge-group/cg-badge-group.d.ts.map +1 -0
- package/dist/components/cg-badge-group/cg-badge-group.js +78 -0
- package/dist/components/cg-badge-group/cg-badge-group.js.map +1 -0
- package/dist/components/cg-breadcrumbs/cg-breadcrumbs.d.ts +52 -0
- package/dist/components/cg-breadcrumbs/cg-breadcrumbs.d.ts.map +1 -0
- package/dist/components/cg-breadcrumbs/cg-breadcrumbs.js +286 -0
- package/dist/components/cg-breadcrumbs/cg-breadcrumbs.js.map +1 -0
- package/dist/components/cg-button/cg-button.d.ts +106 -0
- package/dist/components/cg-button/cg-button.d.ts.map +1 -0
- package/dist/components/cg-button/cg-button.js +355 -0
- package/dist/components/cg-button/cg-button.js.map +1 -0
- package/dist/components/cg-button-group/cg-button-group.d.ts +25 -0
- package/dist/components/cg-button-group/cg-button-group.d.ts.map +1 -0
- package/dist/components/cg-button-group/cg-button-group.js +89 -0
- package/dist/components/cg-button-group/cg-button-group.js.map +1 -0
- package/dist/components/cg-calendar/cg-calendar.d.ts +52 -0
- package/dist/components/cg-calendar/cg-calendar.d.ts.map +1 -0
- package/dist/components/cg-calendar/cg-calendar.js +346 -0
- package/dist/components/cg-calendar/cg-calendar.js.map +1 -0
- package/dist/components/cg-callout/cg-callout.d.ts +32 -0
- package/dist/components/cg-callout/cg-callout.d.ts.map +1 -0
- package/dist/components/cg-callout/cg-callout.js +197 -0
- package/dist/components/cg-callout/cg-callout.js.map +1 -0
- package/dist/components/cg-card/cg-card.d.ts +60 -0
- package/dist/components/cg-card/cg-card.d.ts.map +1 -0
- package/dist/components/cg-card/cg-card.js +207 -0
- package/dist/components/cg-card/cg-card.js.map +1 -0
- package/dist/components/cg-carousel/cg-carousel.d.ts +52 -0
- package/dist/components/cg-carousel/cg-carousel.d.ts.map +1 -0
- package/dist/components/cg-carousel/cg-carousel.js +262 -0
- package/dist/components/cg-carousel/cg-carousel.js.map +1 -0
- package/dist/components/cg-chart/cg-chart.d.ts +55 -0
- package/dist/components/cg-chart/cg-chart.d.ts.map +1 -0
- package/dist/components/cg-chart/cg-chart.js +381 -0
- package/dist/components/cg-chart/cg-chart.js.map +1 -0
- package/dist/components/cg-checkbox/cg-checkbox.d.ts +50 -0
- package/dist/components/cg-checkbox/cg-checkbox.d.ts.map +1 -0
- package/dist/components/cg-checkbox/cg-checkbox.js +294 -0
- package/dist/components/cg-checkbox/cg-checkbox.js.map +1 -0
- package/dist/components/cg-chip/cg-chip.d.ts +36 -0
- package/dist/components/cg-chip/cg-chip.d.ts.map +1 -0
- package/dist/components/cg-chip/cg-chip.js +256 -0
- package/dist/components/cg-chip/cg-chip.js.map +1 -0
- package/dist/components/cg-code-block/cg-code-block.d.ts +23 -0
- package/dist/components/cg-code-block/cg-code-block.d.ts.map +1 -0
- package/dist/components/cg-code-block/cg-code-block.js +327 -0
- package/dist/components/cg-code-block/cg-code-block.js.map +1 -0
- package/dist/components/cg-collapsible/cg-collapsible.d.ts +34 -0
- package/dist/components/cg-collapsible/cg-collapsible.d.ts.map +1 -0
- package/dist/components/cg-collapsible/cg-collapsible.js +160 -0
- package/dist/components/cg-collapsible/cg-collapsible.js.map +1 -0
- package/dist/components/cg-color-picker/cg-color-picker.d.ts +51 -0
- package/dist/components/cg-color-picker/cg-color-picker.d.ts.map +1 -0
- package/dist/components/cg-color-picker/cg-color-picker.js +492 -0
- package/dist/components/cg-color-picker/cg-color-picker.js.map +1 -0
- package/dist/components/cg-combobox/cg-combobox.d.ts +56 -0
- package/dist/components/cg-combobox/cg-combobox.d.ts.map +1 -0
- package/dist/components/cg-combobox/cg-combobox.js +374 -0
- package/dist/components/cg-combobox/cg-combobox.js.map +1 -0
- package/dist/components/cg-command/cg-command.d.ts +65 -0
- package/dist/components/cg-command/cg-command.d.ts.map +1 -0
- package/dist/components/cg-command/cg-command.js +339 -0
- package/dist/components/cg-command/cg-command.js.map +1 -0
- package/dist/components/cg-context-menu/cg-context-menu.d.ts +66 -0
- package/dist/components/cg-context-menu/cg-context-menu.d.ts.map +1 -0
- package/dist/components/cg-context-menu/cg-context-menu.js +165 -0
- package/dist/components/cg-context-menu/cg-context-menu.js.map +1 -0
- package/dist/components/cg-date-picker/cg-date-picker.d.ts +44 -0
- package/dist/components/cg-date-picker/cg-date-picker.d.ts.map +1 -0
- package/dist/components/cg-date-picker/cg-date-picker.js +240 -0
- package/dist/components/cg-date-picker/cg-date-picker.js.map +1 -0
- package/dist/components/cg-date-range-picker/cg-date-range-picker.d.ts +45 -0
- package/dist/components/cg-date-range-picker/cg-date-range-picker.d.ts.map +1 -0
- package/dist/components/cg-date-range-picker/cg-date-range-picker.js +266 -0
- package/dist/components/cg-date-range-picker/cg-date-range-picker.js.map +1 -0
- package/dist/components/cg-date-time-picker/cg-date-time-picker.d.ts +66 -0
- package/dist/components/cg-date-time-picker/cg-date-time-picker.d.ts.map +1 -0
- package/dist/components/cg-date-time-picker/cg-date-time-picker.js +521 -0
- package/dist/components/cg-date-time-picker/cg-date-time-picker.js.map +1 -0
- package/dist/components/cg-definition-list/cg-definition-list.d.ts +99 -0
- package/dist/components/cg-definition-list/cg-definition-list.d.ts.map +1 -0
- package/dist/components/cg-definition-list/cg-definition-list.js +332 -0
- package/dist/components/cg-definition-list/cg-definition-list.js.map +1 -0
- package/dist/components/cg-draggable/cg-draggable.d.ts +53 -0
- package/dist/components/cg-draggable/cg-draggable.d.ts.map +1 -0
- package/dist/components/cg-draggable/cg-draggable.js +136 -0
- package/dist/components/cg-draggable/cg-draggable.js.map +1 -0
- package/dist/components/cg-drawer/cg-drawer.d.ts +57 -0
- package/dist/components/cg-drawer/cg-drawer.d.ts.map +1 -0
- package/dist/components/cg-drawer/cg-drawer.js +421 -0
- package/dist/components/cg-drawer/cg-drawer.js.map +1 -0
- package/dist/components/cg-dropdown/cg-dropdown.d.ts +63 -0
- package/dist/components/cg-dropdown/cg-dropdown.d.ts.map +1 -0
- package/dist/components/cg-dropdown/cg-dropdown.js +232 -0
- package/dist/components/cg-dropdown/cg-dropdown.js.map +1 -0
- package/dist/components/cg-droppable/cg-droppable.d.ts +57 -0
- package/dist/components/cg-droppable/cg-droppable.d.ts.map +1 -0
- package/dist/components/cg-droppable/cg-droppable.js +114 -0
- package/dist/components/cg-droppable/cg-droppable.js.map +1 -0
- package/dist/components/cg-empty-state/cg-empty-state.d.ts +54 -0
- package/dist/components/cg-empty-state/cg-empty-state.d.ts.map +1 -0
- package/dist/components/cg-empty-state/cg-empty-state.js +201 -0
- package/dist/components/cg-empty-state/cg-empty-state.js.map +1 -0
- package/dist/components/cg-file-input/cg-file-input.d.ts +101 -0
- package/dist/components/cg-file-input/cg-file-input.d.ts.map +1 -0
- package/dist/components/cg-file-input/cg-file-input.js +684 -0
- package/dist/components/cg-file-input/cg-file-input.js.map +1 -0
- package/dist/components/cg-filter-bar/cg-filter-bar.d.ts +50 -0
- package/dist/components/cg-filter-bar/cg-filter-bar.d.ts.map +1 -0
- package/dist/components/cg-filter-bar/cg-filter-bar.js +115 -0
- package/dist/components/cg-filter-bar/cg-filter-bar.js.map +1 -0
- package/dist/components/cg-filter-chip/cg-filter-chip.d.ts +55 -0
- package/dist/components/cg-filter-chip/cg-filter-chip.d.ts.map +1 -0
- package/dist/components/cg-filter-chip/cg-filter-chip.js +213 -0
- package/dist/components/cg-filter-chip/cg-filter-chip.js.map +1 -0
- package/dist/components/cg-focus-scope/cg-focus-scope.d.ts +38 -0
- package/dist/components/cg-focus-scope/cg-focus-scope.d.ts.map +1 -0
- package/dist/components/cg-focus-scope/cg-focus-scope.js +47 -0
- package/dist/components/cg-focus-scope/cg-focus-scope.js.map +1 -0
- package/dist/components/cg-follow-up/cg-follow-up.d.ts +32 -0
- package/dist/components/cg-follow-up/cg-follow-up.d.ts.map +1 -0
- package/dist/components/cg-follow-up/cg-follow-up.js +233 -0
- package/dist/components/cg-follow-up/cg-follow-up.js.map +1 -0
- package/dist/components/cg-form/cg-form.d.ts +32 -0
- package/dist/components/cg-form/cg-form.d.ts.map +1 -0
- package/dist/components/cg-form/cg-form.js +109 -0
- package/dist/components/cg-form/cg-form.js.map +1 -0
- package/dist/components/cg-hover-card/cg-hover-card.d.ts +49 -0
- package/dist/components/cg-hover-card/cg-hover-card.d.ts.map +1 -0
- package/dist/components/cg-hover-card/cg-hover-card.js +149 -0
- package/dist/components/cg-hover-card/cg-hover-card.js.map +1 -0
- package/dist/components/cg-icon/cg-icon.d.ts +28 -0
- package/dist/components/cg-icon/cg-icon.d.ts.map +1 -0
- package/dist/components/cg-icon/cg-icon.js +339 -0
- package/dist/components/cg-icon/cg-icon.js.map +1 -0
- package/dist/components/cg-icon/solar-icons.d.ts +12 -0
- package/dist/components/cg-icon/solar-icons.d.ts.map +1 -0
- package/dist/components/cg-image/cg-image.d.ts +31 -0
- package/dist/components/cg-image/cg-image.d.ts.map +1 -0
- package/dist/components/cg-image/cg-image.js +168 -0
- package/dist/components/cg-image/cg-image.js.map +1 -0
- package/dist/components/cg-image-block/cg-image-block.d.ts +36 -0
- package/dist/components/cg-image-block/cg-image-block.d.ts.map +1 -0
- package/dist/components/cg-image-block/cg-image-block.js +214 -0
- package/dist/components/cg-image-block/cg-image-block.js.map +1 -0
- package/dist/components/cg-image-gallery/cg-image-gallery.d.ts +34 -0
- package/dist/components/cg-image-gallery/cg-image-gallery.d.ts.map +1 -0
- package/dist/components/cg-image-gallery/cg-image-gallery.js +158 -0
- package/dist/components/cg-image-gallery/cg-image-gallery.js.map +1 -0
- package/dist/components/cg-input/cg-input.d.ts +65 -0
- package/dist/components/cg-input/cg-input.d.ts.map +1 -0
- package/dist/components/cg-input/cg-input.js +425 -0
- package/dist/components/cg-input/cg-input.js.map +1 -0
- package/dist/components/cg-kanban/cg-kanban.d.ts +44 -0
- package/dist/components/cg-kanban/cg-kanban.d.ts.map +1 -0
- package/dist/components/cg-kanban/cg-kanban.js +86 -0
- package/dist/components/cg-kanban/cg-kanban.js.map +1 -0
- package/dist/components/cg-kanban-column/cg-kanban-column.d.ts +58 -0
- package/dist/components/cg-kanban-column/cg-kanban-column.d.ts.map +1 -0
- package/dist/components/cg-kanban-column/cg-kanban-column.js +144 -0
- package/dist/components/cg-kanban-column/cg-kanban-column.js.map +1 -0
- package/dist/components/cg-kbd/cg-kbd.d.ts +27 -0
- package/dist/components/cg-kbd/cg-kbd.d.ts.map +1 -0
- package/dist/components/cg-kbd/cg-kbd.js +91 -0
- package/dist/components/cg-kbd/cg-kbd.js.map +1 -0
- package/dist/components/cg-label/cg-label.d.ts +26 -0
- package/dist/components/cg-label/cg-label.d.ts.map +1 -0
- package/dist/components/cg-label/cg-label.js +89 -0
- package/dist/components/cg-label/cg-label.js.map +1 -0
- package/dist/components/cg-link/cg-link.d.ts +27 -0
- package/dist/components/cg-link/cg-link.d.ts.map +1 -0
- package/dist/components/cg-link/cg-link.js +152 -0
- package/dist/components/cg-link/cg-link.js.map +1 -0
- package/dist/components/cg-list/cg-list.d.ts +37 -0
- package/dist/components/cg-list/cg-list.d.ts.map +1 -0
- package/dist/components/cg-list/cg-list.js +314 -0
- package/dist/components/cg-list/cg-list.js.map +1 -0
- package/dist/components/cg-listbox/cg-listbox.d.ts +38 -0
- package/dist/components/cg-listbox/cg-listbox.d.ts.map +1 -0
- package/dist/components/cg-listbox/cg-listbox.js +258 -0
- package/dist/components/cg-listbox/cg-listbox.js.map +1 -0
- package/dist/components/cg-markdown/cg-markdown.d.ts +41 -0
- package/dist/components/cg-markdown/cg-markdown.d.ts.map +1 -0
- package/dist/components/cg-markdown/cg-markdown.js +542 -0
- package/dist/components/cg-markdown/cg-markdown.js.map +1 -0
- package/dist/components/cg-menubar/cg-menubar.d.ts +64 -0
- package/dist/components/cg-menubar/cg-menubar.d.ts.map +1 -0
- package/dist/components/cg-menubar/cg-menubar.js +338 -0
- package/dist/components/cg-menubar/cg-menubar.js.map +1 -0
- package/dist/components/cg-meter/cg-meter.d.ts +36 -0
- package/dist/components/cg-meter/cg-meter.d.ts.map +1 -0
- package/dist/components/cg-meter/cg-meter.js +204 -0
- package/dist/components/cg-meter/cg-meter.js.map +1 -0
- package/dist/components/cg-metric-card/cg-metric-card.d.ts +51 -0
- package/dist/components/cg-metric-card/cg-metric-card.d.ts.map +1 -0
- package/dist/components/cg-metric-card/cg-metric-card.js +312 -0
- package/dist/components/cg-metric-card/cg-metric-card.js.map +1 -0
- package/dist/components/cg-mfa-prompt/cg-mfa-prompt.d.ts +77 -0
- package/dist/components/cg-mfa-prompt/cg-mfa-prompt.d.ts.map +1 -0
- package/dist/components/cg-mfa-prompt/cg-mfa-prompt.js +245 -0
- package/dist/components/cg-mfa-prompt/cg-mfa-prompt.js.map +1 -0
- package/dist/components/cg-modal/cg-modal.d.ts +55 -0
- package/dist/components/cg-modal/cg-modal.d.ts.map +1 -0
- package/dist/components/cg-modal/cg-modal.js +409 -0
- package/dist/components/cg-modal/cg-modal.js.map +1 -0
- package/dist/components/cg-navbar/cg-navbar.d.ts +87 -0
- package/dist/components/cg-navbar/cg-navbar.d.ts.map +1 -0
- package/dist/components/cg-navbar/cg-navbar.js +473 -0
- package/dist/components/cg-navbar/cg-navbar.js.map +1 -0
- package/dist/components/cg-navigation-menu/cg-navigation-menu.d.ts +46 -0
- package/dist/components/cg-navigation-menu/cg-navigation-menu.d.ts.map +1 -0
- package/dist/components/cg-navigation-menu/cg-navigation-menu.js +257 -0
- package/dist/components/cg-navigation-menu/cg-navigation-menu.js.map +1 -0
- package/dist/components/cg-number-input/cg-number-input.d.ts +47 -0
- package/dist/components/cg-number-input/cg-number-input.d.ts.map +1 -0
- package/dist/components/cg-number-input/cg-number-input.js +266 -0
- package/dist/components/cg-number-input/cg-number-input.js.map +1 -0
- package/dist/components/cg-otp-input/cg-otp-input.d.ts +44 -0
- package/dist/components/cg-otp-input/cg-otp-input.d.ts.map +1 -0
- package/dist/components/cg-otp-input/cg-otp-input.js +188 -0
- package/dist/components/cg-otp-input/cg-otp-input.js.map +1 -0
- package/dist/components/cg-pagination/cg-pagination.d.ts +34 -0
- package/dist/components/cg-pagination/cg-pagination.d.ts.map +1 -0
- package/dist/components/cg-pagination/cg-pagination.js +232 -0
- package/dist/components/cg-pagination/cg-pagination.js.map +1 -0
- package/dist/components/cg-password-input/cg-password-input.d.ts +43 -0
- package/dist/components/cg-password-input/cg-password-input.d.ts.map +1 -0
- package/dist/components/cg-password-input/cg-password-input.js +261 -0
- package/dist/components/cg-password-input/cg-password-input.js.map +1 -0
- package/dist/components/cg-phone-input/cg-phone-input.d.ts +93 -0
- package/dist/components/cg-phone-input/cg-phone-input.d.ts.map +1 -0
- package/dist/components/cg-phone-input/cg-phone-input.js +972 -0
- package/dist/components/cg-phone-input/cg-phone-input.js.map +1 -0
- package/dist/components/cg-phone-input/countries.d.ts +38 -0
- package/dist/components/cg-phone-input/countries.d.ts.map +1 -0
- package/dist/components/cg-popover/cg-popover.d.ts +53 -0
- package/dist/components/cg-popover/cg-popover.d.ts.map +1 -0
- package/dist/components/cg-popover/cg-popover.js +215 -0
- package/dist/components/cg-popover/cg-popover.js.map +1 -0
- package/dist/components/cg-portal/cg-portal.d.ts +73 -0
- package/dist/components/cg-portal/cg-portal.d.ts.map +1 -0
- package/dist/components/cg-portal/cg-portal.js +80 -0
- package/dist/components/cg-portal/cg-portal.js.map +1 -0
- package/dist/components/cg-progress-bar/cg-progress-bar.d.ts +51 -0
- package/dist/components/cg-progress-bar/cg-progress-bar.d.ts.map +1 -0
- package/dist/components/cg-progress-bar/cg-progress-bar.js +267 -0
- package/dist/components/cg-progress-bar/cg-progress-bar.js.map +1 -0
- package/dist/components/cg-radio/cg-radio.d.ts +43 -0
- package/dist/components/cg-radio/cg-radio.d.ts.map +1 -0
- package/dist/components/cg-radio/cg-radio.js +268 -0
- package/dist/components/cg-radio/cg-radio.js.map +1 -0
- package/dist/components/cg-radio-group/cg-radio-group.d.ts +49 -0
- package/dist/components/cg-radio-group/cg-radio-group.d.ts.map +1 -0
- package/dist/components/cg-radio-group/cg-radio-group.js +142 -0
- package/dist/components/cg-radio-group/cg-radio-group.js.map +1 -0
- package/dist/components/cg-rating/cg-rating.d.ts +41 -0
- package/dist/components/cg-rating/cg-rating.d.ts.map +1 -0
- package/dist/components/cg-rating/cg-rating.js +201 -0
- package/dist/components/cg-rating/cg-rating.js.map +1 -0
- package/dist/components/cg-resizable/cg-resizable.d.ts +33 -0
- package/dist/components/cg-resizable/cg-resizable.d.ts.map +1 -0
- package/dist/components/cg-resizable/cg-resizable.js +236 -0
- package/dist/components/cg-resizable/cg-resizable.js.map +1 -0
- package/dist/components/cg-scroll-area/cg-scroll-area.d.ts +27 -0
- package/dist/components/cg-scroll-area/cg-scroll-area.d.ts.map +1 -0
- package/dist/components/cg-scroll-area/cg-scroll-area.js +111 -0
- package/dist/components/cg-scroll-area/cg-scroll-area.js.map +1 -0
- package/dist/components/cg-search-input/cg-search-input.d.ts +62 -0
- package/dist/components/cg-search-input/cg-search-input.d.ts.map +1 -0
- package/dist/components/cg-search-input/cg-search-input.js +106 -0
- package/dist/components/cg-search-input/cg-search-input.js.map +1 -0
- package/dist/components/cg-segmented-control/cg-segmented-control.d.ts +52 -0
- package/dist/components/cg-segmented-control/cg-segmented-control.d.ts.map +1 -0
- package/dist/components/cg-segmented-control/cg-segmented-control.js +182 -0
- package/dist/components/cg-segmented-control/cg-segmented-control.js.map +1 -0
- package/dist/components/cg-select/cg-select.d.ts +67 -0
- package/dist/components/cg-select/cg-select.d.ts.map +1 -0
- package/dist/components/cg-select/cg-select.js +302 -0
- package/dist/components/cg-select/cg-select.js.map +1 -0
- package/dist/components/cg-separator/cg-separator.d.ts +25 -0
- package/dist/components/cg-separator/cg-separator.d.ts.map +1 -0
- package/dist/components/cg-separator/cg-separator.js +105 -0
- package/dist/components/cg-separator/cg-separator.js.map +1 -0
- package/dist/components/cg-sheet/cg-sheet.d.ts +39 -0
- package/dist/components/cg-sheet/cg-sheet.d.ts.map +1 -0
- package/dist/components/cg-sheet/cg-sheet.js +211 -0
- package/dist/components/cg-sheet/cg-sheet.js.map +1 -0
- package/dist/components/cg-sidebar/cg-sidebar.d.ts +56 -0
- package/dist/components/cg-sidebar/cg-sidebar.d.ts.map +1 -0
- package/dist/components/cg-sidebar/cg-sidebar.js +266 -0
- package/dist/components/cg-sidebar/cg-sidebar.js.map +1 -0
- package/dist/components/cg-skeleton/cg-skeleton.d.ts +31 -0
- package/dist/components/cg-skeleton/cg-skeleton.d.ts.map +1 -0
- package/dist/components/cg-skeleton/cg-skeleton.js +136 -0
- package/dist/components/cg-skeleton/cg-skeleton.js.map +1 -0
- package/dist/components/cg-slider/cg-slider.d.ts +51 -0
- package/dist/components/cg-slider/cg-slider.d.ts.map +1 -0
- package/dist/components/cg-slider/cg-slider.js +375 -0
- package/dist/components/cg-slider/cg-slider.js.map +1 -0
- package/dist/components/cg-sortable/cg-sortable.d.ts +72 -0
- package/dist/components/cg-sortable/cg-sortable.d.ts.map +1 -0
- package/dist/components/cg-sortable/cg-sortable.js +177 -0
- package/dist/components/cg-sortable/cg-sortable.js.map +1 -0
- package/dist/components/cg-spinner/cg-spinner.d.ts +28 -0
- package/dist/components/cg-spinner/cg-spinner.d.ts.map +1 -0
- package/dist/components/cg-spinner/cg-spinner.js +119 -0
- package/dist/components/cg-spinner/cg-spinner.js.map +1 -0
- package/dist/components/cg-split-button/cg-split-button.d.ts +66 -0
- package/dist/components/cg-split-button/cg-split-button.d.ts.map +1 -0
- package/dist/components/cg-split-button/cg-split-button.js +330 -0
- package/dist/components/cg-split-button/cg-split-button.js.map +1 -0
- package/dist/components/cg-stack/cg-stack.d.ts +25 -0
- package/dist/components/cg-stack/cg-stack.d.ts.map +1 -0
- package/dist/components/cg-stack/cg-stack.js +85 -0
- package/dist/components/cg-stack/cg-stack.js.map +1 -0
- package/dist/components/cg-steps/cg-steps.d.ts +37 -0
- package/dist/components/cg-steps/cg-steps.d.ts.map +1 -0
- package/dist/components/cg-steps/cg-steps.js +251 -0
- package/dist/components/cg-steps/cg-steps.js.map +1 -0
- package/dist/components/cg-switch/cg-switch.d.ts +38 -0
- package/dist/components/cg-switch/cg-switch.d.ts.map +1 -0
- package/dist/components/cg-switch/cg-switch.js +210 -0
- package/dist/components/cg-switch/cg-switch.js.map +1 -0
- package/dist/components/cg-table/cg-table.d.ts +67 -0
- package/dist/components/cg-table/cg-table.d.ts.map +1 -0
- package/dist/components/cg-table/cg-table.js +395 -0
- package/dist/components/cg-table/cg-table.js.map +1 -0
- package/dist/components/cg-tabs/cg-tabs.d.ts +39 -0
- package/dist/components/cg-tabs/cg-tabs.d.ts.map +1 -0
- package/dist/components/cg-tabs/cg-tabs.js +241 -0
- package/dist/components/cg-tabs/cg-tabs.js.map +1 -0
- package/dist/components/cg-tag-input/cg-tag-input.d.ts +50 -0
- package/dist/components/cg-tag-input/cg-tag-input.d.ts.map +1 -0
- package/dist/components/cg-tag-input/cg-tag-input.js +307 -0
- package/dist/components/cg-tag-input/cg-tag-input.js.map +1 -0
- package/dist/components/cg-text/cg-text.d.ts +30 -0
- package/dist/components/cg-text/cg-text.d.ts.map +1 -0
- package/dist/components/cg-text/cg-text.js +126 -0
- package/dist/components/cg-text/cg-text.js.map +1 -0
- package/dist/components/cg-textarea/cg-textarea.d.ts +57 -0
- package/dist/components/cg-textarea/cg-textarea.d.ts.map +1 -0
- package/dist/components/cg-textarea/cg-textarea.js +295 -0
- package/dist/components/cg-textarea/cg-textarea.js.map +1 -0
- package/dist/components/cg-theme/cg-theme.d.ts +82 -0
- package/dist/components/cg-theme/cg-theme.d.ts.map +1 -0
- package/dist/components/cg-theme/cg-theme.js +91 -0
- package/dist/components/cg-theme/cg-theme.js.map +1 -0
- package/dist/components/cg-theme-editor/cg-theme-editor.d.ts +98 -0
- package/dist/components/cg-theme-editor/cg-theme-editor.d.ts.map +1 -0
- package/dist/components/cg-theme-editor/cg-theme-editor.js +341 -0
- package/dist/components/cg-theme-editor/cg-theme-editor.js.map +1 -0
- package/dist/components/cg-time-picker/cg-time-picker.d.ts +55 -0
- package/dist/components/cg-time-picker/cg-time-picker.d.ts.map +1 -0
- package/dist/components/cg-time-picker/cg-time-picker.js +417 -0
- package/dist/components/cg-time-picker/cg-time-picker.js.map +1 -0
- package/dist/components/cg-timeline/cg-timeline.d.ts +70 -0
- package/dist/components/cg-timeline/cg-timeline.d.ts.map +1 -0
- package/dist/components/cg-timeline/cg-timeline.js +131 -0
- package/dist/components/cg-timeline/cg-timeline.js.map +1 -0
- package/dist/components/cg-timeline-event/cg-timeline-event.d.ts +59 -0
- package/dist/components/cg-timeline-event/cg-timeline-event.d.ts.map +1 -0
- package/dist/components/cg-timeline-event/cg-timeline-event.js +190 -0
- package/dist/components/cg-timeline-event/cg-timeline-event.js.map +1 -0
- package/dist/components/cg-toaster/cg-toaster.d.ts +44 -0
- package/dist/components/cg-toaster/cg-toaster.d.ts.map +1 -0
- package/dist/components/cg-toaster/cg-toaster.js +226 -0
- package/dist/components/cg-toaster/cg-toaster.js.map +1 -0
- package/dist/components/cg-toggle/cg-toggle.d.ts +38 -0
- package/dist/components/cg-toggle/cg-toggle.d.ts.map +1 -0
- package/dist/components/cg-toggle/cg-toggle.js +204 -0
- package/dist/components/cg-toggle/cg-toggle.js.map +1 -0
- package/dist/components/cg-toggle-group/cg-toggle-group.d.ts +39 -0
- package/dist/components/cg-toggle-group/cg-toggle-group.d.ts.map +1 -0
- package/dist/components/cg-toggle-group/cg-toggle-group.js +112 -0
- package/dist/components/cg-toggle-group/cg-toggle-group.js.map +1 -0
- package/dist/components/cg-tooltip/cg-tooltip.d.ts +59 -0
- package/dist/components/cg-tooltip/cg-tooltip.d.ts.map +1 -0
- package/dist/components/cg-tooltip/cg-tooltip.js +277 -0
- package/dist/components/cg-tooltip/cg-tooltip.js.map +1 -0
- package/dist/components/cg-tree-view/cg-tree-view.d.ts +42 -0
- package/dist/components/cg-tree-view/cg-tree-view.d.ts.map +1 -0
- package/dist/components/cg-tree-view/cg-tree-view.js +244 -0
- package/dist/components/cg-tree-view/cg-tree-view.js.map +1 -0
- package/dist/components/cg-visually-hidden/cg-visually-hidden.d.ts +42 -0
- package/dist/components/cg-visually-hidden/cg-visually-hidden.d.ts.map +1 -0
- package/dist/components/cg-visually-hidden/cg-visually-hidden.js +40 -0
- package/dist/components/cg-visually-hidden/cg-visually-hidden.js.map +1 -0
- package/dist/foundation.d.ts +116 -0
- package/dist/foundation.d.ts.map +1 -0
- package/dist/foundation.js +211 -0
- package/dist/foundation.js.map +1 -0
- package/dist/index.d.ts +228 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +407 -0
- package/dist/index.js.map +1 -0
- package/dist/lazy.d.ts +9 -0
- package/dist/lazy.d.ts.map +1 -0
- package/dist/lazy.js +38 -0
- package/dist/lazy.js.map +1 -0
- package/dist/styles/ai-effects.css.d.ts +11 -0
- package/dist/styles/ai-effects.css.d.ts.map +1 -0
- package/dist/styles/base.css.d.ts +12 -0
- package/dist/styles/base.css.d.ts.map +1 -0
- package/dist/styles/elevation.css.d.ts +11 -0
- package/dist/styles/elevation.css.d.ts.map +1 -0
- package/dist/styles/focus.css.d.ts +11 -0
- package/dist/styles/focus.css.d.ts.map +1 -0
- package/dist/styles/index.d.ts +8 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/menu.css.d.ts +14 -0
- package/dist/styles/menu.css.d.ts.map +1 -0
- package/dist/styles/motion.css.d.ts +41 -0
- package/dist/styles/motion.css.d.ts.map +1 -0
- package/dist/styles/premium.css.d.ts +75 -0
- package/dist/styles/premium.css.d.ts.map +1 -0
- package/dist/utils/drag-manager.d.ts +40 -0
- package/dist/utils/drag-manager.d.ts.map +1 -0
- package/dist/utils/floating.d.ts +55 -0
- package/dist/utils/floating.d.ts.map +1 -0
- package/dist/utils/focus-trap.d.ts +37 -0
- package/dist/utils/focus-trap.d.ts.map +1 -0
- package/dist/utils/lazy.d.ts +47 -0
- package/dist/utils/lazy.d.ts.map +1 -0
- package/dist/utils/outside-click.d.ts +24 -0
- package/dist/utils/outside-click.d.ts.map +1 -0
- package/dist/utils/roving-index.d.ts +54 -0
- package/dist/utils/roving-index.d.ts.map +1 -0
- package/dist/utils/sanitize.d.ts +7 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/text-scramble.d.ts +144 -0
- package/dist/utils/text-scramble.d.ts.map +1 -0
- package/package.json +887 -0
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { css as _, LitElement as y, html as b, nothing as f, svg as v } from "lit";
|
|
2
|
+
import { property as u, state as w, customElement as C } from "lit/decorators.js";
|
|
3
|
+
import { h as M, r as L, f as z } from "../../chunks/premium.css-9I4kHrsl.js";
|
|
4
|
+
var k = Object.defineProperty, S = Object.getOwnPropertyDescriptor, d = (a, e, t, r) => {
|
|
5
|
+
for (var o = r > 1 ? void 0 : r ? S(e, t) : e, g = a.length - 1, h; g >= 0; g--)
|
|
6
|
+
(h = a[g]) && (o = (r ? h(e, t, o) : h(o)) || o);
|
|
7
|
+
return r && o && k(e, t, o), o;
|
|
8
|
+
};
|
|
9
|
+
let l = class extends y {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments), this.rounded = "lg", this.data = [], this.rowLabels = [], this.colLabels = [], this.colorScale = "sequential", this.showValues = !0, this.title = "", this._tooltip = null, this._cellSize = 40, this._labelMarginLeft = 80, this._labelMarginTop = 40;
|
|
12
|
+
}
|
|
13
|
+
get _flatValues() {
|
|
14
|
+
return this.data.flat();
|
|
15
|
+
}
|
|
16
|
+
get _min() {
|
|
17
|
+
return Math.min(...this._flatValues);
|
|
18
|
+
}
|
|
19
|
+
get _max() {
|
|
20
|
+
return Math.max(...this._flatValues);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Compute cell fill color algorithmically.
|
|
24
|
+
* Uses hardcoded RGB values because heatmap gradients must be computed per-value —
|
|
25
|
+
* CSS custom properties can't be interpolated numerically in JS.
|
|
26
|
+
* Dark neutral: rgb(39,39,42) matches --cg-gray-800 (#27272a).
|
|
27
|
+
*/
|
|
28
|
+
_getColor(a) {
|
|
29
|
+
if (this.colorScale === "diverging") {
|
|
30
|
+
const h = Math.max(Math.abs(this._min), Math.abs(this._max));
|
|
31
|
+
if (h === 0) return "rgb(39, 39, 42)";
|
|
32
|
+
const i = Math.max(-1, Math.min(1, a / h));
|
|
33
|
+
if (i < 0) {
|
|
34
|
+
const p = -i, m = Math.round(39 + 209 * p), $ = Math.round(39 + 74 * p), x = Math.round(42 + 71 * p);
|
|
35
|
+
return `rgb(${m}, ${$}, ${x})`;
|
|
36
|
+
}
|
|
37
|
+
const s = Math.round(39 + 35 * i), n = Math.round(39 + 183 * i), c = Math.round(42 + 86 * i);
|
|
38
|
+
return `rgb(${s}, ${n}, ${c})`;
|
|
39
|
+
}
|
|
40
|
+
const e = this._max - this._min || 1, t = (a - this._min) / e, r = Math.round(39 + 184 * t), o = Math.round(39 + 216 * t), g = Math.round(46 + 51 * t);
|
|
41
|
+
return `rgb(${r}, ${o}, ${g})`;
|
|
42
|
+
}
|
|
43
|
+
/** Contrast text color — dark on bright cells, light on dark cells. */
|
|
44
|
+
_getTextColor(a) {
|
|
45
|
+
const e = this._max - this._min || 1;
|
|
46
|
+
return (a - this._min) / e > 0.6 ? "rgb(0, 0, 0)" : "rgb(250, 250, 250)";
|
|
47
|
+
}
|
|
48
|
+
_handleCellClick(a, e) {
|
|
49
|
+
this.dispatchEvent(new CustomEvent("ai-heatmap-cell-click", {
|
|
50
|
+
bubbles: !0,
|
|
51
|
+
composed: !0,
|
|
52
|
+
detail: {
|
|
53
|
+
row: a,
|
|
54
|
+
col: e,
|
|
55
|
+
rowLabel: this.rowLabels[a] || `Row ${a}`,
|
|
56
|
+
colLabel: this.colLabels[e] || `Col ${e}`,
|
|
57
|
+
value: this.data[a][e]
|
|
58
|
+
}
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
_handleCellHover(a, e, t) {
|
|
62
|
+
const r = a.target.getBoundingClientRect(), o = this.getBoundingClientRect();
|
|
63
|
+
this._tooltip = {
|
|
64
|
+
x: r.left - o.left + r.width / 2,
|
|
65
|
+
y: r.top - o.top - 8,
|
|
66
|
+
row: this.rowLabels[e] || `Row ${e}`,
|
|
67
|
+
col: this.colLabels[t] || `Col ${t}`,
|
|
68
|
+
value: this.data[e][t]
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
_handleCellLeave() {
|
|
72
|
+
this._tooltip = null;
|
|
73
|
+
}
|
|
74
|
+
render() {
|
|
75
|
+
if (this.data.length === 0)
|
|
76
|
+
return b`<div class="container"><div class="empty">No data provided</div></div>`;
|
|
77
|
+
const a = this.data.length, e = this.data[0]?.length || 0, t = this._cellSize, r = this._labelMarginLeft, o = this._labelMarginTop, g = r + e * t, h = o + a * t;
|
|
78
|
+
return b`
|
|
79
|
+
<div class="container">
|
|
80
|
+
${this.title ? b`<div class="title">${this.title}</div>` : f}
|
|
81
|
+
|
|
82
|
+
<svg width="${g}" height="${h}" role="grid" aria-label=${`${this.title || "Heatmap"}: ${this.data.length} rows by ${this.data[0]?.length ?? 0} columns`}>
|
|
83
|
+
<!-- Column labels -->
|
|
84
|
+
${this.colLabels.map((i, s) => v`
|
|
85
|
+
<text class="axis-label" x="${r + s * t + t / 2}" y="${o - 8}"
|
|
86
|
+
text-anchor="middle" font-size="10">${i}</text>
|
|
87
|
+
`)}
|
|
88
|
+
|
|
89
|
+
<!-- Row labels -->
|
|
90
|
+
${this.rowLabels.map((i, s) => v`
|
|
91
|
+
<text class="axis-label" x="${r - 8}" y="${o + s * t + t / 2 + 4}"
|
|
92
|
+
text-anchor="end" font-size="10">${i}</text>
|
|
93
|
+
`)}
|
|
94
|
+
|
|
95
|
+
<!-- Cells -->
|
|
96
|
+
${this.data.map((i, s) => i.map((n, c) => v`
|
|
97
|
+
<rect class="cell" tabindex="0" role="gridcell"
|
|
98
|
+
aria-label="${this.rowLabels[s] || `Row ${s}`}, ${this.colLabels[c] || `Col ${c}`}: ${n}"
|
|
99
|
+
x="${r + c * t}" y="${o + s * t}"
|
|
100
|
+
width="${t - 1}" height="${t - 1}" rx="3"
|
|
101
|
+
fill="${this._getColor(n)}"
|
|
102
|
+
@click=${() => this._handleCellClick(s, c)}
|
|
103
|
+
@mouseenter=${(p) => this._handleCellHover(p, s, c)}
|
|
104
|
+
@mouseleave=${this._handleCellLeave}
|
|
105
|
+
@keydown=${(p) => {
|
|
106
|
+
p.key === "Enter" && this._handleCellClick(s, c);
|
|
107
|
+
}}
|
|
108
|
+
></rect>
|
|
109
|
+
${this.showValues ? v`
|
|
110
|
+
<text class="cell-text" x="${r + c * t + t / 2}" y="${o + s * t + t / 2 + 4}"
|
|
111
|
+
text-anchor="middle" font-size="10" fill="${this._getTextColor(n)}">${typeof n == "number" && !Number.isInteger(n) ? n.toFixed(1) : n}</text>
|
|
112
|
+
` : f}
|
|
113
|
+
`))}
|
|
114
|
+
</svg>
|
|
115
|
+
|
|
116
|
+
${this._tooltip ? b`
|
|
117
|
+
<div class="tooltip" style="left: ${this._tooltip.x}px; top: ${this._tooltip.y}px; transform: translateX(-50%) translateY(-100%);">
|
|
118
|
+
<span class="tooltip-row">${this._tooltip.row} × ${this._tooltip.col}</span>
|
|
119
|
+
<span class="tooltip-value">${this._tooltip.value}</span>
|
|
120
|
+
</div>
|
|
121
|
+
` : f}
|
|
122
|
+
|
|
123
|
+
<div class="legend" aria-hidden="true">
|
|
124
|
+
<span>${this._min}</span>
|
|
125
|
+
<div class="legend-bar" style="background: linear-gradient(90deg, ${this._getColor(this._min)}, ${this._getColor(this._max)});"></div>
|
|
126
|
+
<span>${this._max}</span>
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
`;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
l.styles = [M, L, z, _`
|
|
133
|
+
:host {
|
|
134
|
+
animation: fadeSlideIn var(--cg-transition-duration-fast) var(--cg-transition-easing-ease-out) both;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.container {
|
|
138
|
+
background: var(--cg-color-surface-cards-background);
|
|
139
|
+
border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
140
|
+
border-radius: var(--cg-border-radius-150);
|
|
141
|
+
padding: var(--cg-spacing-16);
|
|
142
|
+
overflow: auto;
|
|
143
|
+
position: relative;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.title {
|
|
147
|
+
font-size: var(--cg-font-size-sm);
|
|
148
|
+
font-weight: var(--cg-font-weight-semibold);
|
|
149
|
+
color: var(--cg-color-surface-base-text);
|
|
150
|
+
margin-bottom: var(--cg-spacing-12);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
svg { display: block; }
|
|
154
|
+
|
|
155
|
+
.cell {
|
|
156
|
+
cursor: pointer;
|
|
157
|
+
transition: opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default);
|
|
158
|
+
}
|
|
159
|
+
.cell:hover { opacity: 0.85; stroke: var(--cg-color-surface-base-text); stroke-width: 1.5; }
|
|
160
|
+
.cell:focus-visible {
|
|
161
|
+
outline: none;
|
|
162
|
+
stroke: var(--cg-color-focus-ring);
|
|
163
|
+
stroke-width: 2;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.cell-text {
|
|
167
|
+
font-family: var(--cg-font-family-mono);
|
|
168
|
+
pointer-events: none;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.axis-label {
|
|
172
|
+
font-size: var(--cg-font-size-xs);
|
|
173
|
+
fill: var(--cg-color-input-text-placeholder);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/* Tooltip */
|
|
177
|
+
.tooltip {
|
|
178
|
+
position: absolute;
|
|
179
|
+
background: var(--cg-color-surface-container-background);
|
|
180
|
+
border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
181
|
+
border-radius: var(--cg-border-radius-100);
|
|
182
|
+
padding: var(--cg-spacing-6) var(--cg-spacing-8);
|
|
183
|
+
font-size: var(--cg-font-size-xs);
|
|
184
|
+
color: var(--cg-color-surface-base-text);
|
|
185
|
+
pointer-events: none;
|
|
186
|
+
z-index: 10;
|
|
187
|
+
white-space: nowrap;
|
|
188
|
+
}
|
|
189
|
+
.tooltip-row { display: block; }
|
|
190
|
+
.tooltip-value { font-weight: var(--cg-font-weight-bold); color: var(--cg-color-surface-base-text); }
|
|
191
|
+
|
|
192
|
+
/* Legend */
|
|
193
|
+
.legend {
|
|
194
|
+
display: flex;
|
|
195
|
+
align-items: center;
|
|
196
|
+
gap: var(--cg-spacing-8);
|
|
197
|
+
margin-top: var(--cg-spacing-12);
|
|
198
|
+
font-size: var(--cg-font-size-xs);
|
|
199
|
+
color: var(--cg-color-input-text-placeholder);
|
|
200
|
+
}
|
|
201
|
+
.legend-bar {
|
|
202
|
+
height: var(--cg-spacing-8);
|
|
203
|
+
width: var(--cg-spacing-80);
|
|
204
|
+
border-radius: var(--cg-border-radius-50);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.empty {
|
|
208
|
+
text-align: center;
|
|
209
|
+
padding: var(--cg-spacing-24);
|
|
210
|
+
color: var(--cg-color-input-text-placeholder);
|
|
211
|
+
font-size: var(--cg-font-size-sm);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/* ── Rounded variants ── */
|
|
215
|
+
:host([rounded="none"]) .container { border-radius: 0; }
|
|
216
|
+
:host([rounded="sm"]) .container { border-radius: var(--cg-border-radius-50); }
|
|
217
|
+
:host([rounded="md"]) .container { border-radius: var(--cg-border-radius-100); }
|
|
218
|
+
:host([rounded="lg"]) .container { border-radius: var(--cg-border-radius-150); }
|
|
219
|
+
`];
|
|
220
|
+
d([
|
|
221
|
+
u({ reflect: !0 })
|
|
222
|
+
], l.prototype, "rounded", 2);
|
|
223
|
+
d([
|
|
224
|
+
u({ type: Array })
|
|
225
|
+
], l.prototype, "data", 2);
|
|
226
|
+
d([
|
|
227
|
+
u({ type: Array })
|
|
228
|
+
], l.prototype, "rowLabels", 2);
|
|
229
|
+
d([
|
|
230
|
+
u({ type: Array })
|
|
231
|
+
], l.prototype, "colLabels", 2);
|
|
232
|
+
d([
|
|
233
|
+
u({ type: String })
|
|
234
|
+
], l.prototype, "colorScale", 2);
|
|
235
|
+
d([
|
|
236
|
+
u({ type: Boolean })
|
|
237
|
+
], l.prototype, "showValues", 2);
|
|
238
|
+
d([
|
|
239
|
+
u({ type: String })
|
|
240
|
+
], l.prototype, "title", 2);
|
|
241
|
+
d([
|
|
242
|
+
w()
|
|
243
|
+
], l.prototype, "_tooltip", 2);
|
|
244
|
+
l = d([
|
|
245
|
+
C("ai-heatmap")
|
|
246
|
+
], l);
|
|
247
|
+
export {
|
|
248
|
+
l as AiHeatmap
|
|
249
|
+
};
|
|
250
|
+
//# sourceMappingURL=ai-heatmap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-heatmap.js","sources":["../../../src/components/ai-heatmap/ai-heatmap.ts"],"sourcesContent":["/**\n * @element ai-heatmap\n * SVG matrix heatmap for confusion matrices, correlations, or feature importance with hover tooltips.\n *\n * @example\n * ```html\n * <ai-heatmap\n * title=\"Confusion Matrix\"\n * .data=${[[45,5],[3,47]]}\n * .rowLabels=${['Cat','Dog']}\n * .colLabels=${['Pred Cat','Pred Dog']}\n * colorScale=\"sequential\"\n * showValues\n * ></ai-heatmap>\n * ```\n *\n * @fires {CustomEvent<{row, col, value}>} ai-heatmap-cell-click - Cell clicked\n */\nimport { LitElement, html, css, svg, nothing } from 'lit';\nimport { property, state, customElement } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion, fadeSlideInKeyframes } from '../../styles/index.js';\n\n@customElement('ai-heatmap')\nexport class AiHeatmap extends LitElement {\n static override styles = [hostBlock, reducedMotion, fadeSlideInKeyframes, css`\n :host {\n animation: fadeSlideIn var(--cg-transition-duration-fast) var(--cg-transition-easing-ease-out) both;\n }\n\n .container {\n background: var(--cg-color-surface-cards-background);\n border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);\n border-radius: var(--cg-border-radius-150);\n padding: var(--cg-spacing-16);\n overflow: auto;\n position: relative;\n }\n\n .title {\n font-size: var(--cg-font-size-sm);\n font-weight: var(--cg-font-weight-semibold);\n color: var(--cg-color-surface-base-text);\n margin-bottom: var(--cg-spacing-12);\n }\n\n svg { display: block; }\n\n .cell {\n cursor: pointer;\n transition: opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n .cell:hover { opacity: 0.85; stroke: var(--cg-color-surface-base-text); stroke-width: 1.5; }\n .cell:focus-visible {\n outline: none;\n stroke: var(--cg-color-focus-ring);\n stroke-width: 2;\n }\n\n .cell-text {\n font-family: var(--cg-font-family-mono);\n pointer-events: none;\n }\n\n .axis-label {\n font-size: var(--cg-font-size-xs);\n fill: var(--cg-color-input-text-placeholder);\n }\n\n /* Tooltip */\n .tooltip {\n position: absolute;\n background: var(--cg-color-surface-container-background);\n border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);\n border-radius: var(--cg-border-radius-100);\n padding: var(--cg-spacing-6) var(--cg-spacing-8);\n font-size: var(--cg-font-size-xs);\n color: var(--cg-color-surface-base-text);\n pointer-events: none;\n z-index: 10;\n white-space: nowrap;\n }\n .tooltip-row { display: block; }\n .tooltip-value { font-weight: var(--cg-font-weight-bold); color: var(--cg-color-surface-base-text); }\n\n /* Legend */\n .legend {\n display: flex;\n align-items: center;\n gap: var(--cg-spacing-8);\n margin-top: var(--cg-spacing-12);\n font-size: var(--cg-font-size-xs);\n color: var(--cg-color-input-text-placeholder);\n }\n .legend-bar {\n height: var(--cg-spacing-8);\n width: var(--cg-spacing-80);\n border-radius: var(--cg-border-radius-50);\n }\n\n .empty {\n text-align: center;\n padding: var(--cg-spacing-24);\n color: var(--cg-color-input-text-placeholder);\n font-size: var(--cg-font-size-sm);\n }\n\n /* ── Rounded variants ── */\n :host([rounded=\"none\"]) .container { border-radius: 0; }\n :host([rounded=\"sm\"]) .container { border-radius: var(--cg-border-radius-50); }\n :host([rounded=\"md\"]) .container { border-radius: var(--cg-border-radius-100); }\n :host([rounded=\"lg\"]) .container { border-radius: var(--cg-border-radius-150); }\n `];\n\n @property({ reflect: true }) rounded: 'none' | 'sm' | 'md' | 'lg' = 'lg';\n /** 2D data array (rows × cols) */\n @property({ type: Array }) data: number[][] = [];\n /** Row labels */\n @property({ type: Array }) rowLabels: string[] = [];\n /** Column labels */\n @property({ type: Array }) colLabels: string[] = [];\n /** Color scale: sequential (min→max) or diverging (neg→zero→pos) */\n @property({ type: String }) colorScale: 'sequential' | 'diverging' = 'sequential';\n /** Show values in cells */\n @property({ type: Boolean }) showValues: boolean = true;\n /** Title */\n @property({ type: String }) override title: string = '';\n\n @state() private _tooltip: { x: number; y: number; row: string; col: string; value: number } | null = null;\n\n private _cellSize = 40;\n private _labelMarginLeft = 80;\n private _labelMarginTop = 40;\n\n private get _flatValues(): number[] {\n return this.data.flat();\n }\n\n private get _min(): number { return Math.min(...this._flatValues); }\n private get _max(): number { return Math.max(...this._flatValues); }\n\n /**\n * Compute cell fill color algorithmically.\n * Uses hardcoded RGB values because heatmap gradients must be computed per-value —\n * CSS custom properties can't be interpolated numerically in JS.\n * Dark neutral: rgb(39,39,42) matches --cg-gray-800 (#27272a).\n */\n private _getColor(value: number): string {\n if (this.colorScale === 'diverging') {\n const absMax = Math.max(Math.abs(this._min), Math.abs(this._max));\n if (absMax === 0) return 'rgb(39, 39, 42)';\n const t = Math.max(-1, Math.min(1, value / absMax));\n if (t < 0) {\n const s = -t;\n const r = Math.round(39 + (248 - 39) * s);\n const g = Math.round(39 + (113 - 39) * s);\n const b = Math.round(42 + (113 - 42) * s);\n return `rgb(${r}, ${g}, ${b})`;\n }\n const r = Math.round(39 + (74 - 39) * t);\n const g = Math.round(39 + (222 - 39) * t);\n const b = Math.round(42 + (128 - 42) * t);\n return `rgb(${r}, ${g}, ${b})`;\n }\n\n // Sequential: dark → lime (matches --cg-brand-ai-accent range)\n const range = this._max - this._min || 1;\n const t = (value - this._min) / range;\n const r = Math.round(39 + (223 - 39) * t);\n const g = Math.round(39 + (255 - 39) * t);\n const b = Math.round(46 + (97 - 46) * t);\n return `rgb(${r}, ${g}, ${b})`;\n }\n\n /** Contrast text color — dark on bright cells, light on dark cells. */\n private _getTextColor(value: number): string {\n const range = this._max - this._min || 1;\n const t = (value - this._min) / range;\n return t > 0.6 ? 'rgb(0, 0, 0)' : 'rgb(250, 250, 250)';\n }\n\n private _handleCellClick(row: number, col: number) {\n this.dispatchEvent(new CustomEvent('ai-heatmap-cell-click', {\n bubbles: true, composed: true,\n detail: {\n row, col,\n rowLabel: this.rowLabels[row] || `Row ${row}`,\n colLabel: this.colLabels[col] || `Col ${col}`,\n value: this.data[row]![col]!,\n },\n }));\n }\n\n private _handleCellHover(e: MouseEvent, row: number, col: number) {\n const rect = (e.target as SVGElement).getBoundingClientRect();\n const hostRect = this.getBoundingClientRect();\n this._tooltip = {\n x: rect.left - hostRect.left + rect.width / 2,\n y: rect.top - hostRect.top - 8,\n row: this.rowLabels[row] || `Row ${row}`,\n col: this.colLabels[col] || `Col ${col}`,\n value: this.data[row]![col]!,\n };\n }\n\n private _handleCellLeave() { this._tooltip = null; }\n\n override render() {\n if (this.data.length === 0) {\n return html`<div class=\"container\"><div class=\"empty\">No data provided</div></div>`;\n }\n\n const rows = this.data.length;\n const cols = this.data[0]?.length || 0;\n const cs = this._cellSize;\n const ml = this._labelMarginLeft;\n const mt = this._labelMarginTop;\n const svgW = ml + cols * cs;\n const svgH = mt + rows * cs;\n\n return html`\n <div class=\"container\">\n ${this.title ? html`<div class=\"title\">${this.title}</div>` : nothing}\n\n <svg width=\"${svgW}\" height=\"${svgH}\" role=\"grid\" aria-label=${`${this.title || 'Heatmap'}: ${this.data.length} rows by ${this.data[0]?.length ?? 0} columns`}>\n <!-- Column labels -->\n ${this.colLabels.map((label, i) => svg`\n <text class=\"axis-label\" x=\"${ml + i * cs + cs / 2}\" y=\"${mt - 8}\"\n text-anchor=\"middle\" font-size=\"10\">${label}</text>\n `)}\n\n <!-- Row labels -->\n ${this.rowLabels.map((label, i) => svg`\n <text class=\"axis-label\" x=\"${ml - 8}\" y=\"${mt + i * cs + cs / 2 + 4}\"\n text-anchor=\"end\" font-size=\"10\">${label}</text>\n `)}\n\n <!-- Cells -->\n ${this.data.map((row, ri) => row.map((val, ci) => svg`\n <rect class=\"cell\" tabindex=\"0\" role=\"gridcell\"\n aria-label=\"${this.rowLabels[ri] || `Row ${ri}`}, ${this.colLabels[ci] || `Col ${ci}`}: ${val}\"\n x=\"${ml + ci * cs}\" y=\"${mt + ri * cs}\"\n width=\"${cs - 1}\" height=\"${cs - 1}\" rx=\"3\"\n fill=\"${this._getColor(val)}\"\n @click=${() => this._handleCellClick(ri, ci)}\n @mouseenter=${(e: MouseEvent) => this._handleCellHover(e, ri, ci)}\n @mouseleave=${this._handleCellLeave}\n @keydown=${(e: KeyboardEvent) => { if (e.key === 'Enter') this._handleCellClick(ri, ci); }}\n ></rect>\n ${this.showValues ? svg`\n <text class=\"cell-text\" x=\"${ml + ci * cs + cs / 2}\" y=\"${mt + ri * cs + cs / 2 + 4}\"\n text-anchor=\"middle\" font-size=\"10\" fill=\"${this._getTextColor(val)}\">${typeof val === 'number' && !Number.isInteger(val) ? val.toFixed(1) : val}</text>\n ` : nothing}\n `))}\n </svg>\n\n ${this._tooltip ? html`\n <div class=\"tooltip\" style=\"left: ${this._tooltip.x}px; top: ${this._tooltip.y}px; transform: translateX(-50%) translateY(-100%);\">\n <span class=\"tooltip-row\">${this._tooltip.row} × ${this._tooltip.col}</span>\n <span class=\"tooltip-value\">${this._tooltip.value}</span>\n </div>\n ` : nothing}\n\n <div class=\"legend\" aria-hidden=\"true\">\n <span>${this._min}</span>\n <div class=\"legend-bar\" style=\"background: linear-gradient(90deg, ${this._getColor(this._min)}, ${this._getColor(this._max)});\"></div>\n <span>${this._max}</span>\n </div>\n </div>\n `;\n }\n}\n"],"names":["AiHeatmap","LitElement","value","absMax","t","s","r","g","b","range","row","col","e","rect","hostRect","html","rows","cols","cs","ml","mt","svgW","svgH","nothing","label","i","svg","ri","val","ci","hostBlock","reducedMotion","fadeSlideInKeyframes","css","__decorateClass","property","state","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { LitElement, nothing } from 'lit';
|
|
2
|
+
interface Source {
|
|
3
|
+
title: string;
|
|
4
|
+
url?: string;
|
|
5
|
+
relevance?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class AiInsightCard extends LitElement {
|
|
8
|
+
static styles: import('lit').CSSResult[];
|
|
9
|
+
type: 'explanation' | 'forecast' | 'anomaly' | 'optimization' | 'classification';
|
|
10
|
+
text: string;
|
|
11
|
+
confidence: number;
|
|
12
|
+
timestamp: string;
|
|
13
|
+
expandable: boolean;
|
|
14
|
+
expanded: boolean;
|
|
15
|
+
sources: Source[];
|
|
16
|
+
status: 'new' | 'read' | 'dismissed' | '';
|
|
17
|
+
loading: boolean;
|
|
18
|
+
selected: boolean;
|
|
19
|
+
private _getIconName;
|
|
20
|
+
private _handleClick;
|
|
21
|
+
private _handleDismiss;
|
|
22
|
+
private _handleBookmark;
|
|
23
|
+
private _handleKeyDown;
|
|
24
|
+
private _relevanceClass;
|
|
25
|
+
render(): import('lit').TemplateResult<1> | typeof nothing;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=ai-insight-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-insight-card.d.ts","sourceRoot":"","sources":["../../../src/components/ai-insight-card/ai-insight-card.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,UAAU,EAAa,OAAO,EAAE,MAAM,KAAK,CAAC;AAIrD,UAAU,MAAM;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBACa,aAAc,SAAQ,UAAU;IAC3C,OAAgB,MAAM,4BAgMnB;IAES,IAAI,EAAE,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAiB;IACjG,IAAI,SAAM;IACM,UAAU,SAAK;IAC/B,SAAS,SAAM;IACE,UAAU,UAAS;IACnB,QAAQ,UAAS;IACnB,OAAO,EAAE,MAAM,EAAE,CAAM;IACtC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,EAAE,CAAM;IAC9B,OAAO,UAAS;IAChB,QAAQ,UAAS;IAE9C,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,eAAe;IAKd,MAAM;CAyDhB"}
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
import { css as u, LitElement as p, html as t, nothing as o } from "lit";
|
|
2
|
+
import { property as i, customElement as v } from "lit/decorators.js";
|
|
3
|
+
import { h, r as b, b as f } from "../../chunks/premium.css-9I4kHrsl.js";
|
|
4
|
+
var m = Object.defineProperty, x = Object.getOwnPropertyDescriptor, r = (e, c, d, n) => {
|
|
5
|
+
for (var s = n > 1 ? void 0 : n ? x(c, d) : c, l = e.length - 1, g; l >= 0; l--)
|
|
6
|
+
(g = e[l]) && (s = (n ? g(c, d, s) : g(s)) || s);
|
|
7
|
+
return n && s && m(c, d, s), s;
|
|
8
|
+
};
|
|
9
|
+
let a = class extends p {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments), this.type = "explanation", this.text = "", this.confidence = 0, this.timestamp = "", this.expandable = !1, this.expanded = !1, this.sources = [], this.status = "", this.loading = !1, this.selected = !1;
|
|
12
|
+
}
|
|
13
|
+
_getIconName() {
|
|
14
|
+
return {
|
|
15
|
+
explanation: "info",
|
|
16
|
+
forecast: "chart",
|
|
17
|
+
anomaly: "warning",
|
|
18
|
+
optimization: "sparkle",
|
|
19
|
+
classification: "filter"
|
|
20
|
+
}[this.type] || "info";
|
|
21
|
+
}
|
|
22
|
+
_handleClick() {
|
|
23
|
+
this.expandable && (this.expanded = !this.expanded, this.dispatchEvent(new CustomEvent("ai-insight-expand", { bubbles: !0, composed: !0, detail: { expanded: this.expanded, type: this.type } }))), this.dispatchEvent(new CustomEvent("ai-insight-click", { bubbles: !0, composed: !0, detail: { type: this.type, text: this.text, confidence: this.confidence } }));
|
|
24
|
+
}
|
|
25
|
+
_handleDismiss(e) {
|
|
26
|
+
e.stopPropagation(), this.dispatchEvent(new CustomEvent("ai-insight-dismiss", { bubbles: !0, composed: !0, detail: { type: this.type, text: this.text } }));
|
|
27
|
+
}
|
|
28
|
+
_handleBookmark(e) {
|
|
29
|
+
e.stopPropagation(), this.dispatchEvent(new CustomEvent("ai-insight-bookmark", { bubbles: !0, composed: !0, detail: { type: this.type, text: this.text } }));
|
|
30
|
+
}
|
|
31
|
+
_handleKeyDown(e) {
|
|
32
|
+
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), this._handleClick());
|
|
33
|
+
}
|
|
34
|
+
_relevanceClass(e) {
|
|
35
|
+
return e ? e >= 0.7 ? "high" : e >= 0.4 ? "medium" : "low" : "low";
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
return this.loading ? t`
|
|
39
|
+
<div class="skeleton" aria-label="Loading insight">
|
|
40
|
+
<div class="skel-icon"></div>
|
|
41
|
+
<div class="skel-lines"><div class="skel-line"></div><div class="skel-line"></div><div class="skel-line"></div></div>
|
|
42
|
+
</div>
|
|
43
|
+
` : this.text ? t`
|
|
44
|
+
<div class="card ${this.expanded ? "expanded" : ""} ${this.selected ? "selected" : ""}"
|
|
45
|
+
role="article" tabindex="0" aria-label="${this.type} insight"
|
|
46
|
+
aria-expanded=${this.expandable ? String(this.expanded) : o}
|
|
47
|
+
@click=${this._handleClick} @keydown=${this._handleKeyDown}>
|
|
48
|
+
|
|
49
|
+
${this.status && this.status !== "dismissed" ? t`<div class="status-dot ${this.status}" aria-hidden="true"></div>` : o}
|
|
50
|
+
|
|
51
|
+
<div class="actions">
|
|
52
|
+
<cg-button variant="tertiary" size="sm" rounded="full" label="Bookmark" @click=${this._handleBookmark}>
|
|
53
|
+
<cg-icon name="star" size="xs"></cg-icon>
|
|
54
|
+
</cg-button>
|
|
55
|
+
<cg-button variant="tertiary" size="sm" rounded="full" label="Dismiss" @click=${this._handleDismiss}>
|
|
56
|
+
<cg-icon name="close" size="xs"></cg-icon>
|
|
57
|
+
</cg-button>
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
<div class="icon-area ${this.type}" aria-hidden="true"><cg-icon name="${this._getIconName()}" size="sm"></cg-icon></div>
|
|
61
|
+
|
|
62
|
+
<div class="content">
|
|
63
|
+
<div class="type-label">${this.type}</div>
|
|
64
|
+
<div class="insight-text">${this.text}</div>
|
|
65
|
+
|
|
66
|
+
<div class="meta">
|
|
67
|
+
${this.confidence > 0 ? t`<span class="confidence">${Math.round(this.confidence * 100)}%</span>` : o}
|
|
68
|
+
${this.confidence > 0 && this.timestamp ? t`<span class="meta-dot"></span>` : o}
|
|
69
|
+
${this.timestamp ? t`<span>${this.timestamp}</span>` : o}
|
|
70
|
+
${(this.confidence > 0 || this.timestamp) && this.sources.length > 0 ? t`<span class="meta-dot"></span>` : o}
|
|
71
|
+
${this.sources.length > 0 ? t`<span>${this.sources.length} source${this.sources.length > 1 ? "s" : ""}</span>` : o}
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
${this.expanded && this.sources.length > 0 ? t`
|
|
75
|
+
<div class="detail">
|
|
76
|
+
<div class="sources-label">Sources</div>
|
|
77
|
+
${this.sources.map((e) => t`
|
|
78
|
+
<div class="source">
|
|
79
|
+
<div class="source-dot ${this._relevanceClass(e.relevance)}"></div>
|
|
80
|
+
${e.url ? t`<a href="${e.url}" target="_blank" rel="noopener">${e.title}</a>` : t`<span>${e.title}</span>`}
|
|
81
|
+
</div>
|
|
82
|
+
`)}
|
|
83
|
+
</div>
|
|
84
|
+
` : o}
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
` : o;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
a.styles = [h, b, f, u`
|
|
91
|
+
:host { display: block; }
|
|
92
|
+
|
|
93
|
+
.card {
|
|
94
|
+
display: flex;
|
|
95
|
+
gap: var(--cg-spacing-16);
|
|
96
|
+
padding: var(--cg-spacing-20);
|
|
97
|
+
background: var(--cg-color-surface-cards-background);
|
|
98
|
+
border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
99
|
+
border-radius: var(--cg-component-card-radius);
|
|
100
|
+
cursor: pointer;
|
|
101
|
+
position: relative;
|
|
102
|
+
transition:
|
|
103
|
+
border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),
|
|
104
|
+
transform var(--cg-transition-duration-fast) var(--cg-transition-easing-default),
|
|
105
|
+
box-shadow var(--cg-transition-duration-fast) var(--cg-transition-easing-default);
|
|
106
|
+
}
|
|
107
|
+
.card:hover {
|
|
108
|
+
border-color: var(--cg-color-surface-cards-hover-border);
|
|
109
|
+
transform: translateY(-1px);
|
|
110
|
+
}
|
|
111
|
+
.card:active { transform: scale(var(--cg-interaction-press-scale)); }
|
|
112
|
+
.card:focus-visible {
|
|
113
|
+
outline: none;
|
|
114
|
+
box-shadow: 0 0 0 3px var(--cg-overlay-accent-strong);
|
|
115
|
+
}
|
|
116
|
+
.card:focus-within .actions { opacity: 1; }
|
|
117
|
+
.card.selected {
|
|
118
|
+
border-color: var(--cg-color-action-primary-background-default);
|
|
119
|
+
background: var(--cg-overlay-accent-subtle);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/* ── Status dot ── */
|
|
123
|
+
.status-dot {
|
|
124
|
+
position: absolute;
|
|
125
|
+
top: var(--cg-spacing-12);
|
|
126
|
+
right: var(--cg-spacing-12);
|
|
127
|
+
width: var(--cg-spacing-6);
|
|
128
|
+
height: var(--cg-spacing-6);
|
|
129
|
+
border-radius: var(--cg-border-radius-full);
|
|
130
|
+
}
|
|
131
|
+
.status-dot.new { background: var(--cg-color-action-primary-background-default); }
|
|
132
|
+
.status-dot.read { background: var(--cg-color-input-text-placeholder); }
|
|
133
|
+
|
|
134
|
+
/* ── Icon ── */
|
|
135
|
+
.icon-area {
|
|
136
|
+
width: var(--cg-spacing-40);
|
|
137
|
+
height: var(--cg-spacing-40);
|
|
138
|
+
border-radius: var(--cg-border-radius-full);
|
|
139
|
+
display: flex;
|
|
140
|
+
align-items: center;
|
|
141
|
+
justify-content: center;
|
|
142
|
+
flex-shrink: 0;
|
|
143
|
+
}
|
|
144
|
+
.icon-area svg { width: var(--cg-icon-size-100); height: var(--cg-icon-size-100); }
|
|
145
|
+
.icon-area.explanation { background: var(--cg-color-status-info-background-default); border: var(--cg-border-width-50) solid var(--cg-color-status-info-border-default); color: var(--cg-color-status-info-text-default); }
|
|
146
|
+
.icon-area.forecast { background: var(--cg-overlay-accent-light); border: var(--cg-border-width-50) solid var(--cg-overlay-accent-medium); color: var(--cg-color-surface-base-text); }
|
|
147
|
+
.icon-area.anomaly { background: var(--cg-color-status-error-background-default); border: var(--cg-border-width-50) solid var(--cg-color-status-error-border-default); color: var(--cg-color-status-error-text-default); }
|
|
148
|
+
.icon-area.optimization { background: var(--cg-color-status-warning-background-default); border: var(--cg-border-width-50) solid var(--cg-color-status-warning-border-default); color: var(--cg-color-status-warning-text-default); }
|
|
149
|
+
.icon-area.classification { background: var(--cg-color-status-success-background-default); border: var(--cg-border-width-50) solid var(--cg-color-status-success-border-default); color: var(--cg-color-status-success-text-default); }
|
|
150
|
+
|
|
151
|
+
.content { flex: 1; min-width: 0; }
|
|
152
|
+
|
|
153
|
+
.type-label {
|
|
154
|
+
font-size: var(--cg-font-size-xs);
|
|
155
|
+
font-weight: var(--cg-font-weight-medium);
|
|
156
|
+
text-transform: uppercase;
|
|
157
|
+
letter-spacing: var(--cg-letter-spacing-wide);
|
|
158
|
+
color: var(--cg-color-input-text-placeholder);
|
|
159
|
+
margin-bottom: var(--cg-spacing-4);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.insight-text {
|
|
163
|
+
font-size: var(--cg-font-size-sm);
|
|
164
|
+
color: var(--cg-color-surface-base-text);
|
|
165
|
+
line-height: var(--cg-line-height-normal);
|
|
166
|
+
display: -webkit-box;
|
|
167
|
+
-webkit-line-clamp: 2;
|
|
168
|
+
-webkit-box-orient: vertical;
|
|
169
|
+
overflow: hidden;
|
|
170
|
+
}
|
|
171
|
+
.card.expanded .insight-text {
|
|
172
|
+
-webkit-line-clamp: unset;
|
|
173
|
+
display: block;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/* ── Meta row ── */
|
|
177
|
+
.meta {
|
|
178
|
+
display: flex;
|
|
179
|
+
align-items: center;
|
|
180
|
+
gap: var(--cg-spacing-8);
|
|
181
|
+
margin-top: var(--cg-spacing-12);
|
|
182
|
+
padding-top: var(--cg-spacing-8);
|
|
183
|
+
border-top: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
184
|
+
font-size: var(--cg-font-size-xs);
|
|
185
|
+
color: var(--cg-color-input-text-placeholder);
|
|
186
|
+
}
|
|
187
|
+
.meta-dot {
|
|
188
|
+
width: var(--cg-spacing-2);
|
|
189
|
+
height: var(--cg-spacing-2);
|
|
190
|
+
border-radius: var(--cg-border-radius-full);
|
|
191
|
+
background: var(--cg-color-input-text-placeholder);
|
|
192
|
+
}
|
|
193
|
+
.confidence { font-weight: var(--cg-font-weight-medium); }
|
|
194
|
+
|
|
195
|
+
/* ── Expanded detail ── */
|
|
196
|
+
.detail {
|
|
197
|
+
margin-top: var(--cg-spacing-12);
|
|
198
|
+
padding-top: var(--cg-spacing-12);
|
|
199
|
+
border-top: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
200
|
+
animation: detailReveal var(--cg-transition-duration-default) var(--cg-transition-easing-ease-out) both;
|
|
201
|
+
}
|
|
202
|
+
@keyframes detailReveal {
|
|
203
|
+
from { opacity: 0; transform: translateY(-4px); }
|
|
204
|
+
to { opacity: 1; transform: translateY(0); }
|
|
205
|
+
}
|
|
206
|
+
.sources-label {
|
|
207
|
+
font-size: var(--cg-font-size-xs);
|
|
208
|
+
font-weight: var(--cg-font-weight-medium);
|
|
209
|
+
color: var(--cg-color-input-text-placeholder);
|
|
210
|
+
margin-bottom: var(--cg-spacing-8);
|
|
211
|
+
text-transform: uppercase;
|
|
212
|
+
letter-spacing: var(--cg-letter-spacing-wide);
|
|
213
|
+
}
|
|
214
|
+
.source {
|
|
215
|
+
display: flex;
|
|
216
|
+
align-items: center;
|
|
217
|
+
gap: var(--cg-spacing-6);
|
|
218
|
+
padding: var(--cg-spacing-4) 0;
|
|
219
|
+
font-size: var(--cg-font-size-xs);
|
|
220
|
+
color: var(--cg-color-input-text-placeholder);
|
|
221
|
+
}
|
|
222
|
+
.source a {
|
|
223
|
+
color: var(--cg-color-surface-base-text);
|
|
224
|
+
text-decoration: none;
|
|
225
|
+
font-weight: var(--cg-font-weight-medium);
|
|
226
|
+
}
|
|
227
|
+
.source a:hover { text-decoration: underline; }
|
|
228
|
+
.source a:focus-visible {
|
|
229
|
+
outline: none;
|
|
230
|
+
box-shadow: 0 0 0 3px var(--cg-overlay-accent-strong);
|
|
231
|
+
border-radius: var(--cg-border-radius-50);
|
|
232
|
+
}
|
|
233
|
+
.source-dot { width: var(--cg-spacing-4); height: var(--cg-spacing-4); border-radius: var(--cg-border-radius-full); flex-shrink: 0; }
|
|
234
|
+
.source-dot.high { background: var(--cg-color-status-success-text-default); }
|
|
235
|
+
.source-dot.medium { background: var(--cg-color-status-warning-text-default); }
|
|
236
|
+
.source-dot.low { background: var(--cg-color-input-text-placeholder); }
|
|
237
|
+
|
|
238
|
+
/* ── Action buttons ── */
|
|
239
|
+
.actions {
|
|
240
|
+
display: flex;
|
|
241
|
+
gap: var(--cg-spacing-4);
|
|
242
|
+
position: absolute;
|
|
243
|
+
top: var(--cg-spacing-8);
|
|
244
|
+
right: var(--cg-spacing-8);
|
|
245
|
+
opacity: 0;
|
|
246
|
+
transition: opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default);
|
|
247
|
+
}
|
|
248
|
+
.card:hover .actions { opacity: 1; }
|
|
249
|
+
|
|
250
|
+
/* ── Skeleton ── */
|
|
251
|
+
.skeleton {
|
|
252
|
+
display: flex;
|
|
253
|
+
gap: var(--cg-spacing-16);
|
|
254
|
+
padding: var(--cg-spacing-20);
|
|
255
|
+
background: var(--cg-color-surface-cards-background);
|
|
256
|
+
border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
257
|
+
border-radius: var(--cg-component-card-radius);
|
|
258
|
+
}
|
|
259
|
+
.skel-icon {
|
|
260
|
+
width: var(--cg-spacing-40); height: var(--cg-spacing-40);
|
|
261
|
+
border-radius: var(--cg-border-radius-50);
|
|
262
|
+
background: linear-gradient(90deg, var(--cg-color-surface-container-background) 25%, var(--cg-color-surface-container-border) 50%, var(--cg-color-surface-container-background) 75%);
|
|
263
|
+
background-size: 200% 100%;
|
|
264
|
+
animation: shimmer 1.5s linear infinite;
|
|
265
|
+
}
|
|
266
|
+
.skel-lines { flex: 1; display: flex; flex-direction: column; gap: var(--cg-spacing-8); }
|
|
267
|
+
.skel-line {
|
|
268
|
+
height: var(--cg-spacing-8);
|
|
269
|
+
border-radius: var(--cg-border-radius-50);
|
|
270
|
+
background: linear-gradient(90deg, var(--cg-color-surface-container-background) 25%, var(--cg-color-surface-container-border) 50%, var(--cg-color-surface-container-background) 75%);
|
|
271
|
+
background-size: 200% 100%;
|
|
272
|
+
animation: shimmer 1.5s linear infinite;
|
|
273
|
+
}
|
|
274
|
+
.skel-line:nth-child(1) { width: 40%; }
|
|
275
|
+
.skel-line:nth-child(2) { width: 90%; }
|
|
276
|
+
.skel-line:nth-child(3) { width: 60%; }
|
|
277
|
+
|
|
278
|
+
@media (prefers-reduced-motion: reduce) {
|
|
279
|
+
.card:hover { transform: none; }
|
|
280
|
+
.detail { animation: none; }
|
|
281
|
+
}
|
|
282
|
+
`];
|
|
283
|
+
r([
|
|
284
|
+
i()
|
|
285
|
+
], a.prototype, "type", 2);
|
|
286
|
+
r([
|
|
287
|
+
i()
|
|
288
|
+
], a.prototype, "text", 2);
|
|
289
|
+
r([
|
|
290
|
+
i({ type: Number })
|
|
291
|
+
], a.prototype, "confidence", 2);
|
|
292
|
+
r([
|
|
293
|
+
i()
|
|
294
|
+
], a.prototype, "timestamp", 2);
|
|
295
|
+
r([
|
|
296
|
+
i({ type: Boolean })
|
|
297
|
+
], a.prototype, "expandable", 2);
|
|
298
|
+
r([
|
|
299
|
+
i({ type: Boolean })
|
|
300
|
+
], a.prototype, "expanded", 2);
|
|
301
|
+
r([
|
|
302
|
+
i({ type: Array })
|
|
303
|
+
], a.prototype, "sources", 2);
|
|
304
|
+
r([
|
|
305
|
+
i()
|
|
306
|
+
], a.prototype, "status", 2);
|
|
307
|
+
r([
|
|
308
|
+
i({ type: Boolean })
|
|
309
|
+
], a.prototype, "loading", 2);
|
|
310
|
+
r([
|
|
311
|
+
i({ type: Boolean })
|
|
312
|
+
], a.prototype, "selected", 2);
|
|
313
|
+
a = r([
|
|
314
|
+
v("ai-insight-card")
|
|
315
|
+
], a);
|
|
316
|
+
export {
|
|
317
|
+
a as AiInsightCard
|
|
318
|
+
};
|
|
319
|
+
//# sourceMappingURL=ai-insight-card.js.map
|