@cognivo/components 0.8.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/focus-trap-vlQwKK-3.js +82 -0
- package/dist/chunks/focus-trap-vlQwKK-3.js.map +1 -0
- package/dist/chunks/{premium.css-9I4kHrsl.js → premium.css-DHekUEUt.js} +25 -25
- package/dist/chunks/{premium.css-9I4kHrsl.js.map → premium.css-DHekUEUt.js.map} +1 -1
- package/dist/cognivo.min.js +3375 -5270
- package/dist/cognivo.min.js.map +1 -1
- package/dist/components/ai-ab-test/ai-ab-test.js +1 -1
- package/dist/components/ai-accessibility-report/ai-accessibility-report.d.ts.map +1 -1
- package/dist/components/ai-accessibility-report/ai-accessibility-report.js +14 -13
- package/dist/components/ai-accessibility-report/ai-accessibility-report.js.map +1 -1
- package/dist/components/ai-action-preview/ai-action-preview.d.ts.map +1 -1
- package/dist/components/ai-action-preview/ai-action-preview.js +15 -14
- package/dist/components/ai-action-preview/ai-action-preview.js.map +1 -1
- package/dist/components/ai-agent-card/ai-agent-card.js +1 -1
- package/dist/components/ai-agent-steps/ai-agent-steps.d.ts +8 -21
- package/dist/components/ai-agent-steps/ai-agent-steps.d.ts.map +1 -1
- package/dist/components/ai-agent-steps/ai-agent-steps.js +85 -139
- package/dist/components/ai-agent-steps/ai-agent-steps.js.map +1 -1
- package/dist/components/ai-alert-card/ai-alert-card.js +5 -5
- package/dist/components/ai-alert-card/ai-alert-card.js.map +1 -1
- package/dist/components/ai-analytics-chart/ai-analytics-chart.d.ts +0 -13
- package/dist/components/ai-analytics-chart/ai-analytics-chart.d.ts.map +1 -1
- package/dist/components/ai-analytics-chart/ai-analytics-chart.js +75 -125
- package/dist/components/ai-analytics-chart/ai-analytics-chart.js.map +1 -1
- package/dist/components/ai-annotation/ai-annotation.js +2 -2
- package/dist/components/ai-annotation/ai-annotation.js.map +1 -1
- package/dist/components/ai-api-key-manager/ai-api-key-manager.d.ts +0 -9
- package/dist/components/ai-api-key-manager/ai-api-key-manager.d.ts.map +1 -1
- package/dist/components/ai-api-key-manager/ai-api-key-manager.js +115 -276
- package/dist/components/ai-api-key-manager/ai-api-key-manager.js.map +1 -1
- package/dist/components/ai-app-sidebar/ai-app-sidebar.js +13 -13
- package/dist/components/ai-app-sidebar/ai-app-sidebar.js.map +1 -1
- package/dist/components/ai-assistant-widget/ai-assistant-widget.d.ts.map +1 -1
- package/dist/components/ai-assistant-widget/ai-assistant-widget.js +5 -2
- package/dist/components/ai-assistant-widget/ai-assistant-widget.js.map +1 -1
- package/dist/components/ai-audio-player/ai-audio-player.d.ts.map +1 -1
- package/dist/components/ai-audio-player/ai-audio-player.js +23 -19
- package/dist/components/ai-audio-player/ai-audio-player.js.map +1 -1
- package/dist/components/ai-avatar/ai-avatar.js +1 -1
- package/dist/components/ai-badge/ai-badge.js +1 -1
- package/dist/components/ai-batch-progress/ai-batch-progress.js +6 -6
- package/dist/components/ai-batch-progress/ai-batch-progress.js.map +1 -1
- package/dist/components/ai-cache-indicator/ai-cache-indicator.d.ts +0 -13
- package/dist/components/ai-cache-indicator/ai-cache-indicator.d.ts.map +1 -1
- package/dist/components/ai-cache-indicator/ai-cache-indicator.js +90 -185
- package/dist/components/ai-cache-indicator/ai-cache-indicator.js.map +1 -1
- package/dist/components/ai-capture-flow/ai-capture-flow.js +21 -21
- package/dist/components/ai-capture-flow/ai-capture-flow.js.map +1 -1
- package/dist/components/ai-changelog/ai-changelog.js +26 -26
- package/dist/components/ai-changelog/ai-changelog.js.map +1 -1
- package/dist/components/ai-chart-summary/ai-chart-summary.d.ts +0 -6
- package/dist/components/ai-chart-summary/ai-chart-summary.d.ts.map +1 -1
- package/dist/components/ai-chart-summary/ai-chart-summary.js +100 -103
- package/dist/components/ai-chart-summary/ai-chart-summary.js.map +1 -1
- package/dist/components/ai-chat/ai-chat.d.ts.map +1 -1
- package/dist/components/ai-chat/ai-chat.js +9 -3
- package/dist/components/ai-chat/ai-chat.js.map +1 -1
- package/dist/components/ai-citation/ai-citation.d.ts +0 -6
- package/dist/components/ai-citation/ai-citation.d.ts.map +1 -1
- package/dist/components/ai-citation/ai-citation.js +64 -90
- package/dist/components/ai-citation/ai-citation.js.map +1 -1
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.d.ts +1 -27
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.d.ts.map +1 -1
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.js +114 -260
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.js.map +1 -1
- package/dist/components/ai-command-palette/ai-command-palette.js +1 -1
- package/dist/components/ai-confidence-badge/ai-confidence-badge.d.ts +11 -9
- package/dist/components/ai-confidence-badge/ai-confidence-badge.d.ts.map +1 -1
- package/dist/components/ai-confidence-badge/ai-confidence-badge.js +183 -101
- package/dist/components/ai-confidence-badge/ai-confidence-badge.js.map +1 -1
- package/dist/components/ai-confidence-slider/ai-confidence-slider.js +27 -27
- package/dist/components/ai-confidence-slider/ai-confidence-slider.js.map +1 -1
- package/dist/components/ai-consent-manager/ai-consent-manager.js +2 -2
- package/dist/components/ai-consent-manager/ai-consent-manager.js.map +1 -1
- package/dist/components/ai-context-window/ai-context-window.js +19 -19
- package/dist/components/ai-context-window/ai-context-window.js.map +1 -1
- package/dist/components/ai-copy-button/ai-copy-button.js +4 -4
- package/dist/components/ai-copy-button/ai-copy-button.js.map +1 -1
- package/dist/components/ai-cost-dashboard/ai-cost-dashboard.js +14 -14
- package/dist/components/ai-cost-dashboard/ai-cost-dashboard.js.map +1 -1
- package/dist/components/ai-data-card/ai-data-card.js +2 -2
- package/dist/components/ai-data-card/ai-data-card.js.map +1 -1
- package/dist/components/ai-data-lineage/ai-data-lineage.js +6 -6
- package/dist/components/ai-data-lineage/ai-data-lineage.js.map +1 -1
- package/dist/components/ai-data-preview/ai-data-preview.d.ts +0 -7
- package/dist/components/ai-data-preview/ai-data-preview.d.ts.map +1 -1
- package/dist/components/ai-data-preview/ai-data-preview.js +130 -267
- package/dist/components/ai-data-preview/ai-data-preview.js.map +1 -1
- package/dist/components/ai-data-table/ai-data-table.js +9 -9
- package/dist/components/ai-data-table/ai-data-table.js.map +1 -1
- package/dist/components/ai-debug-console/ai-debug-console.d.ts +1 -13
- package/dist/components/ai-debug-console/ai-debug-console.d.ts.map +1 -1
- package/dist/components/ai-debug-console/ai-debug-console.js +134 -340
- package/dist/components/ai-debug-console/ai-debug-console.js.map +1 -1
- package/dist/components/ai-detection-canvas/ai-detection-canvas.js +2 -2
- package/dist/components/ai-detection-canvas/ai-detection-canvas.js.map +1 -1
- package/dist/components/ai-diff-panel/ai-diff-panel.js +1 -1
- package/dist/components/ai-embedding-viz/ai-embedding-viz.js +4 -4
- package/dist/components/ai-embedding-viz/ai-embedding-viz.js.map +1 -1
- package/dist/components/ai-empty-state/ai-empty-state.js +1 -1
- package/dist/components/ai-error-boundary/ai-error-boundary.d.ts.map +1 -1
- package/dist/components/ai-error-boundary/ai-error-boundary.js +26 -21
- package/dist/components/ai-error-boundary/ai-error-boundary.js.map +1 -1
- package/dist/components/ai-eval-scorecard/ai-eval-scorecard.js +5 -5
- package/dist/components/ai-eval-scorecard/ai-eval-scorecard.js.map +1 -1
- package/dist/components/ai-feature-flag/ai-feature-flag.d.ts +0 -14
- package/dist/components/ai-feature-flag/ai-feature-flag.d.ts.map +1 -1
- package/dist/components/ai-feature-flag/ai-feature-flag.js +181 -322
- package/dist/components/ai-feature-flag/ai-feature-flag.js.map +1 -1
- package/dist/components/ai-feedback/ai-feedback.d.ts.map +1 -1
- package/dist/components/ai-feedback/ai-feedback.js +10 -5
- package/dist/components/ai-feedback/ai-feedback.js.map +1 -1
- package/dist/components/ai-file-upload/ai-file-upload.js +1 -1
- package/dist/components/ai-form-generator/ai-form-generator.js +1 -1
- package/dist/components/ai-guardrail/ai-guardrail.js +2 -2
- package/dist/components/ai-guardrail/ai-guardrail.js.map +1 -1
- package/dist/components/ai-heatmap/ai-heatmap.js +1 -1
- package/dist/components/ai-insight-card/ai-insight-card.js +4 -4
- package/dist/components/ai-insight-card/ai-insight-card.js.map +1 -1
- package/dist/components/ai-json-viewer/ai-json-viewer.js +13 -13
- package/dist/components/ai-json-viewer/ai-json-viewer.js.map +1 -1
- package/dist/components/ai-keyboard-shortcuts/ai-keyboard-shortcuts.js +24 -24
- package/dist/components/ai-keyboard-shortcuts/ai-keyboard-shortcuts.js.map +1 -1
- package/dist/components/ai-kpi-grid/ai-kpi-grid.js +2 -2
- package/dist/components/ai-kpi-grid/ai-kpi-grid.js.map +1 -1
- package/dist/components/ai-labeling-board/ai-labeling-board.js +11 -11
- package/dist/components/ai-labeling-board/ai-labeling-board.js.map +1 -1
- package/dist/components/ai-memory-panel/ai-memory-panel.js +7 -7
- package/dist/components/ai-memory-panel/ai-memory-panel.js.map +1 -1
- package/dist/components/ai-model-comparison/ai-model-comparison.js +2 -2
- package/dist/components/ai-model-comparison/ai-model-comparison.js.map +1 -1
- package/dist/components/ai-model-selector/ai-model-selector.js +7 -7
- package/dist/components/ai-model-selector/ai-model-selector.js.map +1 -1
- package/dist/components/ai-notification-center/ai-notification-center.js +27 -27
- package/dist/components/ai-notification-center/ai-notification-center.js.map +1 -1
- package/dist/components/ai-onboarding/ai-onboarding.js +5 -5
- package/dist/components/ai-onboarding/ai-onboarding.js.map +1 -1
- package/dist/components/ai-permission-gate/ai-permission-gate.js +1 -1
- package/dist/components/ai-personalization-dash/ai-personalization-dash.js +1 -1
- package/dist/components/ai-presence/ai-presence.js +25 -25
- package/dist/components/ai-presence/ai-presence.js.map +1 -1
- package/dist/components/ai-progress-steps/ai-progress-steps.js +11 -11
- package/dist/components/ai-progress-steps/ai-progress-steps.js.map +1 -1
- package/dist/components/ai-prompt-editor/ai-prompt-editor.js +1 -1
- package/dist/components/ai-prompt-template/ai-prompt-template.js +29 -29
- package/dist/components/ai-prompt-template/ai-prompt-template.js.map +1 -1
- package/dist/components/ai-rag-panel/ai-rag-panel.js +4 -4
- package/dist/components/ai-rag-panel/ai-rag-panel.js.map +1 -1
- package/dist/components/ai-reasoning-tree/ai-reasoning-tree.js +16 -16
- package/dist/components/ai-reasoning-tree/ai-reasoning-tree.js.map +1 -1
- package/dist/components/ai-result-panel/ai-result-panel.js +1 -1
- package/dist/components/ai-reveal-animation/ai-reveal-animation.js +3 -3
- package/dist/components/ai-reveal-animation/ai-reveal-animation.js.map +1 -1
- package/dist/components/ai-reward-signal/ai-reward-signal.js +1 -1
- package/dist/components/ai-rich-message/ai-rich-message.d.ts.map +1 -1
- package/dist/components/ai-rich-message/ai-rich-message.js +37 -30
- package/dist/components/ai-rich-message/ai-rich-message.js.map +1 -1
- package/dist/components/ai-scenario-panel/ai-scenario-panel.js +10 -10
- package/dist/components/ai-scenario-panel/ai-scenario-panel.js.map +1 -1
- package/dist/components/ai-search/ai-search.js +1 -1
- package/dist/components/ai-segmentation-viewer/ai-segmentation-viewer.js +3 -3
- package/dist/components/ai-segmentation-viewer/ai-segmentation-viewer.js.map +1 -1
- package/dist/components/ai-sidebar/ai-sidebar.js +1 -1
- package/dist/components/ai-similarity-card/ai-similarity-card.js +1 -1
- package/dist/components/ai-source-graph/ai-source-graph.js +2 -2
- package/dist/components/ai-source-graph/ai-source-graph.js.map +1 -1
- package/dist/components/ai-status-page/ai-status-page.js +15 -15
- package/dist/components/ai-status-page/ai-status-page.js.map +1 -1
- package/dist/components/ai-streaming-text/ai-streaming-text.js +1 -1
- package/dist/components/ai-test-runner/ai-test-runner.d.ts +0 -8
- package/dist/components/ai-test-runner/ai-test-runner.d.ts.map +1 -1
- package/dist/components/ai-test-runner/ai-test-runner.js +100 -257
- package/dist/components/ai-test-runner/ai-test-runner.js.map +1 -1
- package/dist/components/ai-thinking/ai-thinking.js +1 -1
- package/dist/components/ai-timeline/ai-timeline.js +2 -2
- package/dist/components/ai-timeline/ai-timeline.js.map +1 -1
- package/dist/components/ai-token-tracker/ai-token-tracker.js +3 -3
- package/dist/components/ai-token-tracker/ai-token-tracker.js.map +1 -1
- package/dist/components/ai-tool-card-resolver/ai-tool-card-resolver.js +23 -23
- package/dist/components/ai-tool-card-resolver/ai-tool-card-resolver.js.map +1 -1
- package/dist/components/ai-tool-indicator/ai-tool-indicator.js +3 -3
- package/dist/components/ai-tool-indicator/ai-tool-indicator.js.map +1 -1
- package/dist/components/ai-transform-slider/ai-transform-slider.js +1 -1
- package/dist/components/ai-translation-panel/ai-translation-panel.js +2 -2
- package/dist/components/ai-translation-panel/ai-translation-panel.js.map +1 -1
- package/dist/components/ai-usage-meter/ai-usage-meter.js +1 -1
- package/dist/components/ai-validation-checklist/ai-validation-checklist.d.ts +1 -11
- package/dist/components/ai-validation-checklist/ai-validation-checklist.d.ts.map +1 -1
- package/dist/components/ai-validation-checklist/ai-validation-checklist.js +133 -187
- package/dist/components/ai-validation-checklist/ai-validation-checklist.js.map +1 -1
- package/dist/components/ai-version-selector/ai-version-selector.d.ts +0 -4
- package/dist/components/ai-version-selector/ai-version-selector.d.ts.map +1 -1
- package/dist/components/ai-version-selector/ai-version-selector.js +189 -210
- package/dist/components/ai-version-selector/ai-version-selector.js.map +1 -1
- package/dist/components/ai-voice-panel/ai-voice-panel.js +28 -28
- package/dist/components/ai-voice-panel/ai-voice-panel.js.map +1 -1
- package/dist/components/ai-webhook-config/ai-webhook-config.d.ts +0 -17
- package/dist/components/ai-webhook-config/ai-webhook-config.d.ts.map +1 -1
- package/dist/components/ai-webhook-config/ai-webhook-config.js +281 -221
- package/dist/components/ai-webhook-config/ai-webhook-config.js.map +1 -1
- package/dist/components/ai-workflow-builder/ai-workflow-builder.js +2 -2
- package/dist/components/ai-workflow-builder/ai-workflow-builder.js.map +1 -1
- package/dist/components/bias-anchoring/bias-anchoring.js +1 -1
- package/dist/components/bias-authority/bias-authority.js +1 -1
- package/dist/components/bias-commitment/bias-commitment.js +1 -1
- package/dist/components/bias-reciprocity/bias-reciprocity.js +1 -1
- package/dist/components/bias-scarcity/bias-scarcity.js +1 -1
- package/dist/components/bias-social-proof/bias-social-proof.js +1 -1
- package/dist/components/cg-accordion/cg-accordion.d.ts.map +1 -1
- package/dist/components/cg-accordion/cg-accordion.js +51 -43
- package/dist/components/cg-accordion/cg-accordion.js.map +1 -1
- package/dist/components/cg-alert-dialog/cg-alert-dialog.js +18 -18
- package/dist/components/cg-alert-dialog/cg-alert-dialog.js.map +1 -1
- package/dist/components/cg-aspect-ratio/cg-aspect-ratio.d.ts.map +1 -1
- package/dist/components/cg-aspect-ratio/cg-aspect-ratio.js +25 -21
- package/dist/components/cg-aspect-ratio/cg-aspect-ratio.js.map +1 -1
- package/dist/components/cg-autocomplete/cg-autocomplete.d.ts +1 -0
- package/dist/components/cg-autocomplete/cg-autocomplete.d.ts.map +1 -1
- package/dist/components/cg-autocomplete/cg-autocomplete.js +59 -43
- package/dist/components/cg-autocomplete/cg-autocomplete.js.map +1 -1
- package/dist/components/cg-avatar/cg-avatar.d.ts.map +1 -1
- package/dist/components/cg-avatar/cg-avatar.js +24 -24
- package/dist/components/cg-avatar/cg-avatar.js.map +1 -1
- package/dist/components/cg-avatar-group/cg-avatar-group.d.ts.map +1 -1
- package/dist/components/cg-avatar-group/cg-avatar-group.js +18 -12
- package/dist/components/cg-avatar-group/cg-avatar-group.js.map +1 -1
- package/dist/components/cg-badge/cg-badge.d.ts.map +1 -1
- package/dist/components/cg-badge/cg-badge.js +26 -20
- package/dist/components/cg-badge/cg-badge.js.map +1 -1
- package/dist/components/cg-badge-group/cg-badge-group.d.ts +0 -1
- package/dist/components/cg-badge-group/cg-badge-group.d.ts.map +1 -1
- package/dist/components/cg-badge-group/cg-badge-group.js +31 -29
- package/dist/components/cg-badge-group/cg-badge-group.js.map +1 -1
- package/dist/components/cg-breadcrumbs/cg-breadcrumbs.js +21 -21
- package/dist/components/cg-breadcrumbs/cg-breadcrumbs.js.map +1 -1
- package/dist/components/cg-button/cg-button.d.ts +5 -71
- package/dist/components/cg-button/cg-button.d.ts.map +1 -1
- package/dist/components/cg-button/cg-button.js +63 -172
- package/dist/components/cg-button/cg-button.js.map +1 -1
- package/dist/components/cg-button-group/cg-button-group.d.ts +2 -0
- package/dist/components/cg-button-group/cg-button-group.d.ts.map +1 -1
- package/dist/components/cg-button-group/cg-button-group.js +43 -29
- package/dist/components/cg-button-group/cg-button-group.js.map +1 -1
- package/dist/components/cg-calendar/cg-calendar.d.ts +4 -0
- package/dist/components/cg-calendar/cg-calendar.d.ts.map +1 -1
- package/dist/components/cg-calendar/cg-calendar.js +28 -12
- package/dist/components/cg-calendar/cg-calendar.js.map +1 -1
- package/dist/components/cg-callout/cg-callout.d.ts.map +1 -1
- package/dist/components/cg-callout/cg-callout.js +49 -48
- package/dist/components/cg-callout/cg-callout.js.map +1 -1
- package/dist/components/cg-card/cg-card.d.ts +9 -22
- package/dist/components/cg-card/cg-card.d.ts.map +1 -1
- package/dist/components/cg-card/cg-card.js +28 -56
- package/dist/components/cg-card/cg-card.js.map +1 -1
- package/dist/components/cg-carousel/cg-carousel.d.ts.map +1 -1
- package/dist/components/cg-carousel/cg-carousel.js +19 -13
- package/dist/components/cg-carousel/cg-carousel.js.map +1 -1
- package/dist/components/cg-chart/cg-chart.d.ts.map +1 -1
- package/dist/components/cg-chart/cg-chart.js +63 -58
- package/dist/components/cg-chart/cg-chart.js.map +1 -1
- package/dist/components/cg-checkbox/cg-checkbox.d.ts +0 -6
- package/dist/components/cg-checkbox/cg-checkbox.d.ts.map +1 -1
- package/dist/components/cg-checkbox/cg-checkbox.js +51 -51
- package/dist/components/cg-checkbox/cg-checkbox.js.map +1 -1
- package/dist/components/cg-chip/cg-chip.js +31 -31
- package/dist/components/cg-chip/cg-chip.js.map +1 -1
- package/dist/components/cg-code-block/cg-code-block.d.ts.map +1 -1
- package/dist/components/cg-code-block/cg-code-block.js +36 -34
- package/dist/components/cg-code-block/cg-code-block.js.map +1 -1
- package/dist/components/cg-collapsible/cg-collapsible.d.ts.map +1 -1
- package/dist/components/cg-collapsible/cg-collapsible.js +23 -18
- package/dist/components/cg-collapsible/cg-collapsible.js.map +1 -1
- package/dist/components/cg-color-picker/cg-color-picker.d.ts +3 -0
- package/dist/components/cg-color-picker/cg-color-picker.d.ts.map +1 -1
- package/dist/components/cg-color-picker/cg-color-picker.js +189 -91
- package/dist/components/cg-color-picker/cg-color-picker.js.map +1 -1
- package/dist/components/cg-combobox/cg-combobox.d.ts.map +1 -1
- package/dist/components/cg-combobox/cg-combobox.js +13 -6
- package/dist/components/cg-combobox/cg-combobox.js.map +1 -1
- package/dist/components/cg-command/cg-command.d.ts.map +1 -1
- package/dist/components/cg-command/cg-command.js +52 -45
- package/dist/components/cg-command/cg-command.js.map +1 -1
- package/dist/components/cg-context-menu/cg-context-menu.js +1 -1
- package/dist/components/cg-date-picker/cg-date-picker.d.ts.map +1 -1
- package/dist/components/cg-date-picker/cg-date-picker.js +36 -34
- package/dist/components/cg-date-picker/cg-date-picker.js.map +1 -1
- package/dist/components/cg-date-range-picker/cg-date-range-picker.d.ts +2 -0
- package/dist/components/cg-date-range-picker/cg-date-range-picker.d.ts.map +1 -1
- package/dist/components/cg-date-range-picker/cg-date-range-picker.js +12 -8
- package/dist/components/cg-date-range-picker/cg-date-range-picker.js.map +1 -1
- package/dist/components/cg-date-time-picker/cg-date-time-picker.d.ts.map +1 -1
- package/dist/components/cg-date-time-picker/cg-date-time-picker.js +3 -1
- package/dist/components/cg-date-time-picker/cg-date-time-picker.js.map +1 -1
- package/dist/components/cg-drawer/cg-drawer.js +3 -3
- package/dist/components/cg-drawer/cg-drawer.js.map +1 -1
- package/dist/components/cg-dropdown/cg-dropdown.d.ts.map +1 -1
- package/dist/components/cg-dropdown/cg-dropdown.js +1 -2
- package/dist/components/cg-dropdown/cg-dropdown.js.map +1 -1
- package/dist/components/cg-empty-state/cg-empty-state.d.ts +3 -24
- package/dist/components/cg-empty-state/cg-empty-state.d.ts.map +1 -1
- package/dist/components/cg-empty-state/cg-empty-state.js +51 -74
- package/dist/components/cg-empty-state/cg-empty-state.js.map +1 -1
- package/dist/components/cg-file-input/cg-file-input.d.ts.map +1 -1
- package/dist/components/cg-file-input/cg-file-input.js +9 -10
- package/dist/components/cg-file-input/cg-file-input.js.map +1 -1
- package/dist/components/cg-focus-scope/cg-focus-scope.js +1 -1
- package/dist/components/cg-follow-up/cg-follow-up.d.ts.map +1 -1
- package/dist/components/cg-follow-up/cg-follow-up.js +6 -7
- package/dist/components/cg-follow-up/cg-follow-up.js.map +1 -1
- package/dist/components/cg-form/cg-form.js +17 -17
- package/dist/components/cg-form/cg-form.js.map +1 -1
- package/dist/components/cg-hover-card/cg-hover-card.d.ts +1 -0
- package/dist/components/cg-hover-card/cg-hover-card.d.ts.map +1 -1
- package/dist/components/cg-hover-card/cg-hover-card.js +37 -32
- package/dist/components/cg-hover-card/cg-hover-card.js.map +1 -1
- package/dist/components/cg-icon/cg-icon.d.ts.map +1 -1
- package/dist/components/cg-icon/cg-icon.js +44 -37
- package/dist/components/cg-icon/cg-icon.js.map +1 -1
- package/dist/components/cg-image/cg-image.js +2 -2
- package/dist/components/cg-image/cg-image.js.map +1 -1
- package/dist/components/cg-image-block/cg-image-block.js +3 -3
- package/dist/components/cg-image-block/cg-image-block.js.map +1 -1
- package/dist/components/cg-image-gallery/cg-image-gallery.js +20 -20
- package/dist/components/cg-image-gallery/cg-image-gallery.js.map +1 -1
- package/dist/components/cg-input/cg-input.js +3 -3
- package/dist/components/cg-input/cg-input.js.map +1 -1
- package/dist/components/cg-kbd/cg-kbd.d.ts.map +1 -1
- package/dist/components/cg-kbd/cg-kbd.js +26 -24
- package/dist/components/cg-kbd/cg-kbd.js.map +1 -1
- package/dist/components/cg-label/cg-label.d.ts +4 -1
- package/dist/components/cg-label/cg-label.d.ts.map +1 -1
- package/dist/components/cg-label/cg-label.js +44 -41
- package/dist/components/cg-label/cg-label.js.map +1 -1
- package/dist/components/cg-link/cg-link.js +23 -23
- package/dist/components/cg-link/cg-link.js.map +1 -1
- package/dist/components/cg-list/cg-list.js +5 -5
- package/dist/components/cg-list/cg-list.js.map +1 -1
- package/dist/components/cg-listbox/cg-listbox.d.ts.map +1 -1
- package/dist/components/cg-listbox/cg-listbox.js +46 -40
- package/dist/components/cg-listbox/cg-listbox.js.map +1 -1
- package/dist/components/cg-markdown/cg-markdown.d.ts +2 -0
- package/dist/components/cg-markdown/cg-markdown.d.ts.map +1 -1
- package/dist/components/cg-markdown/cg-markdown.js +171 -121
- package/dist/components/cg-markdown/cg-markdown.js.map +1 -1
- package/dist/components/cg-menubar/cg-menubar.d.ts +6 -0
- package/dist/components/cg-menubar/cg-menubar.d.ts.map +1 -1
- package/dist/components/cg-menubar/cg-menubar.js +59 -47
- package/dist/components/cg-menubar/cg-menubar.js.map +1 -1
- package/dist/components/cg-meter/cg-meter.d.ts.map +1 -1
- package/dist/components/cg-meter/cg-meter.js +76 -76
- package/dist/components/cg-meter/cg-meter.js.map +1 -1
- package/dist/components/cg-metric-card/cg-metric-card.d.ts.map +1 -1
- package/dist/components/cg-metric-card/cg-metric-card.js +65 -68
- package/dist/components/cg-metric-card/cg-metric-card.js.map +1 -1
- package/dist/components/cg-modal/cg-modal.d.ts +3 -0
- package/dist/components/cg-modal/cg-modal.d.ts.map +1 -1
- package/dist/components/cg-modal/cg-modal.js +82 -83
- package/dist/components/cg-modal/cg-modal.js.map +1 -1
- package/dist/components/cg-navbar/cg-navbar.d.ts +1 -1
- package/dist/components/cg-navbar/cg-navbar.d.ts.map +1 -1
- package/dist/components/cg-navbar/cg-navbar.js +64 -55
- package/dist/components/cg-navbar/cg-navbar.js.map +1 -1
- package/dist/components/cg-navigation-menu/cg-navigation-menu.d.ts +3 -0
- package/dist/components/cg-navigation-menu/cg-navigation-menu.d.ts.map +1 -1
- package/dist/components/cg-navigation-menu/cg-navigation-menu.js +38 -26
- package/dist/components/cg-navigation-menu/cg-navigation-menu.js.map +1 -1
- package/dist/components/cg-number-input/cg-number-input.d.ts +1 -0
- package/dist/components/cg-number-input/cg-number-input.d.ts.map +1 -1
- package/dist/components/cg-number-input/cg-number-input.js +90 -77
- package/dist/components/cg-number-input/cg-number-input.js.map +1 -1
- package/dist/components/cg-otp-input/cg-otp-input.d.ts.map +1 -1
- package/dist/components/cg-otp-input/cg-otp-input.js +70 -60
- package/dist/components/cg-otp-input/cg-otp-input.js.map +1 -1
- package/dist/components/cg-pagination/cg-pagination.d.ts +2 -0
- package/dist/components/cg-pagination/cg-pagination.d.ts.map +1 -1
- package/dist/components/cg-pagination/cg-pagination.js +50 -49
- package/dist/components/cg-pagination/cg-pagination.js.map +1 -1
- package/dist/components/cg-password-input/cg-password-input.d.ts.map +1 -1
- package/dist/components/cg-password-input/cg-password-input.js +42 -34
- package/dist/components/cg-password-input/cg-password-input.js.map +1 -1
- package/dist/components/cg-phone-input/cg-phone-input.d.ts.map +1 -1
- package/dist/components/cg-phone-input/cg-phone-input.js +18 -14
- package/dist/components/cg-phone-input/cg-phone-input.js.map +1 -1
- package/dist/components/cg-popover/cg-popover.d.ts +12 -2
- package/dist/components/cg-popover/cg-popover.d.ts.map +1 -1
- package/dist/components/cg-popover/cg-popover.js +90 -63
- package/dist/components/cg-popover/cg-popover.js.map +1 -1
- package/dist/components/cg-portal/cg-portal.d.ts.map +1 -1
- package/dist/components/cg-portal/cg-portal.js +42 -41
- package/dist/components/cg-portal/cg-portal.js.map +1 -1
- package/dist/components/cg-progress-bar/cg-progress-bar.d.ts.map +1 -1
- package/dist/components/cg-progress-bar/cg-progress-bar.js +25 -25
- package/dist/components/cg-progress-bar/cg-progress-bar.js.map +1 -1
- package/dist/components/cg-radio/cg-radio.d.ts +10 -0
- package/dist/components/cg-radio/cg-radio.d.ts.map +1 -1
- package/dist/components/cg-radio/cg-radio.js +59 -48
- package/dist/components/cg-radio/cg-radio.js.map +1 -1
- package/dist/components/cg-radio-group/cg-radio-group.d.ts +6 -0
- package/dist/components/cg-radio-group/cg-radio-group.d.ts.map +1 -1
- package/dist/components/cg-radio-group/cg-radio-group.js +50 -37
- package/dist/components/cg-radio-group/cg-radio-group.js.map +1 -1
- package/dist/components/cg-rating/cg-rating.d.ts.map +1 -1
- package/dist/components/cg-rating/cg-rating.js +56 -54
- package/dist/components/cg-rating/cg-rating.js.map +1 -1
- package/dist/components/cg-resizable/cg-resizable.d.ts +4 -1
- package/dist/components/cg-resizable/cg-resizable.d.ts.map +1 -1
- package/dist/components/cg-resizable/cg-resizable.js +45 -35
- package/dist/components/cg-resizable/cg-resizable.js.map +1 -1
- package/dist/components/cg-scroll-area/cg-scroll-area.d.ts +8 -0
- package/dist/components/cg-scroll-area/cg-scroll-area.d.ts.map +1 -1
- package/dist/components/cg-scroll-area/cg-scroll-area.js +64 -21
- package/dist/components/cg-scroll-area/cg-scroll-area.js.map +1 -1
- package/dist/components/cg-segmented-control/cg-segmented-control.d.ts +4 -0
- package/dist/components/cg-segmented-control/cg-segmented-control.d.ts.map +1 -1
- package/dist/components/cg-segmented-control/cg-segmented-control.js +75 -39
- package/dist/components/cg-segmented-control/cg-segmented-control.js.map +1 -1
- package/dist/components/cg-select/cg-select.d.ts +4 -2
- package/dist/components/cg-select/cg-select.d.ts.map +1 -1
- package/dist/components/cg-select/cg-select.js +96 -58
- package/dist/components/cg-select/cg-select.js.map +1 -1
- package/dist/components/cg-separator/cg-separator.d.ts +1 -2
- package/dist/components/cg-separator/cg-separator.d.ts.map +1 -1
- package/dist/components/cg-separator/cg-separator.js +5 -8
- package/dist/components/cg-separator/cg-separator.js.map +1 -1
- package/dist/components/cg-sheet/cg-sheet.d.ts +4 -0
- package/dist/components/cg-sheet/cg-sheet.d.ts.map +1 -1
- package/dist/components/cg-sheet/cg-sheet.js +80 -43
- package/dist/components/cg-sheet/cg-sheet.js.map +1 -1
- package/dist/components/cg-sidebar/cg-sidebar.d.ts.map +1 -1
- package/dist/components/cg-sidebar/cg-sidebar.js +82 -19
- package/dist/components/cg-sidebar/cg-sidebar.js.map +1 -1
- package/dist/components/cg-skeleton/cg-skeleton.d.ts +7 -1
- package/dist/components/cg-skeleton/cg-skeleton.d.ts.map +1 -1
- package/dist/components/cg-skeleton/cg-skeleton.js +61 -63
- package/dist/components/cg-skeleton/cg-skeleton.js.map +1 -1
- package/dist/components/cg-slider/cg-slider.d.ts.map +1 -1
- package/dist/components/cg-slider/cg-slider.js +80 -73
- package/dist/components/cg-slider/cg-slider.js.map +1 -1
- package/dist/components/cg-spinner/cg-spinner.d.ts.map +1 -1
- package/dist/components/cg-spinner/cg-spinner.js +10 -19
- package/dist/components/cg-spinner/cg-spinner.js.map +1 -1
- package/dist/components/cg-split-button/cg-split-button.d.ts.map +1 -1
- package/dist/components/cg-split-button/cg-split-button.js +64 -50
- package/dist/components/cg-split-button/cg-split-button.js.map +1 -1
- package/dist/components/cg-stack/cg-stack.js +1 -1
- package/dist/components/cg-steps/cg-steps.js +1 -1
- package/dist/components/cg-switch/cg-switch.d.ts +3 -0
- package/dist/components/cg-switch/cg-switch.d.ts.map +1 -1
- package/dist/components/cg-switch/cg-switch.js +39 -47
- package/dist/components/cg-switch/cg-switch.js.map +1 -1
- package/dist/components/cg-table/cg-table.d.ts +0 -7
- package/dist/components/cg-table/cg-table.d.ts.map +1 -1
- package/dist/components/cg-table/cg-table.js +50 -47
- package/dist/components/cg-table/cg-table.js.map +1 -1
- package/dist/components/cg-tabs/cg-tabs.js +1 -1
- package/dist/components/cg-tag-input/cg-tag-input.js +1 -1
- package/dist/components/cg-text/cg-text.js +1 -1
- package/dist/components/cg-textarea/cg-textarea.js +1 -1
- package/dist/components/cg-time-picker/cg-time-picker.js +1 -1
- package/dist/components/cg-toaster/cg-toaster.js +3 -3
- package/dist/components/cg-toaster/cg-toaster.js.map +1 -1
- package/dist/components/cg-toggle/cg-toggle.js +1 -1
- package/dist/components/cg-toggle-group/cg-toggle-group.js +1 -1
- package/dist/components/cg-tree-view/cg-tree-view.js +1 -1
- package/dist/foundation.d.ts +0 -16
- package/dist/foundation.d.ts.map +1 -1
- package/dist/foundation.js +174 -206
- package/dist/foundation.js.map +1 -1
- package/dist/index.d.ts +1 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +100 -132
- package/dist/index.js.map +1 -1
- package/dist/utils/focus-trap.d.ts +19 -2
- package/dist/utils/focus-trap.d.ts.map +1 -1
- package/package.json +6 -810
- package/dist/chunks/focus-trap-BdRNhSPD.js +0 -53
- package/dist/chunks/focus-trap-BdRNhSPD.js.map +0 -1
- package/dist/components/cg-app-shell/cg-app-shell.d.ts +0 -54
- package/dist/components/cg-app-shell/cg-app-shell.d.ts.map +0 -1
- package/dist/components/cg-app-shell/cg-app-shell.js +0 -135
- package/dist/components/cg-app-shell/cg-app-shell.js.map +0 -1
- package/dist/components/cg-auth-shell/cg-auth-shell.d.ts +0 -61
- package/dist/components/cg-auth-shell/cg-auth-shell.d.ts.map +0 -1
- package/dist/components/cg-auth-shell/cg-auth-shell.js +0 -163
- package/dist/components/cg-auth-shell/cg-auth-shell.js.map +0 -1
- package/dist/components/cg-definition-list/cg-definition-list.d.ts +0 -99
- package/dist/components/cg-definition-list/cg-definition-list.d.ts.map +0 -1
- package/dist/components/cg-definition-list/cg-definition-list.js +0 -332
- package/dist/components/cg-definition-list/cg-definition-list.js.map +0 -1
- package/dist/components/cg-draggable/cg-draggable.d.ts +0 -53
- package/dist/components/cg-draggable/cg-draggable.d.ts.map +0 -1
- package/dist/components/cg-draggable/cg-draggable.js +0 -136
- package/dist/components/cg-draggable/cg-draggable.js.map +0 -1
- package/dist/components/cg-droppable/cg-droppable.d.ts +0 -57
- package/dist/components/cg-droppable/cg-droppable.d.ts.map +0 -1
- package/dist/components/cg-droppable/cg-droppable.js +0 -114
- package/dist/components/cg-droppable/cg-droppable.js.map +0 -1
- package/dist/components/cg-filter-bar/cg-filter-bar.d.ts +0 -50
- package/dist/components/cg-filter-bar/cg-filter-bar.d.ts.map +0 -1
- package/dist/components/cg-filter-bar/cg-filter-bar.js +0 -115
- package/dist/components/cg-filter-bar/cg-filter-bar.js.map +0 -1
- package/dist/components/cg-filter-chip/cg-filter-chip.d.ts +0 -55
- package/dist/components/cg-filter-chip/cg-filter-chip.d.ts.map +0 -1
- package/dist/components/cg-filter-chip/cg-filter-chip.js +0 -213
- package/dist/components/cg-filter-chip/cg-filter-chip.js.map +0 -1
- package/dist/components/cg-kanban/cg-kanban.d.ts +0 -44
- package/dist/components/cg-kanban/cg-kanban.d.ts.map +0 -1
- package/dist/components/cg-kanban/cg-kanban.js +0 -86
- package/dist/components/cg-kanban/cg-kanban.js.map +0 -1
- package/dist/components/cg-kanban-column/cg-kanban-column.d.ts +0 -58
- package/dist/components/cg-kanban-column/cg-kanban-column.d.ts.map +0 -1
- package/dist/components/cg-kanban-column/cg-kanban-column.js +0 -144
- package/dist/components/cg-kanban-column/cg-kanban-column.js.map +0 -1
- package/dist/components/cg-mfa-prompt/cg-mfa-prompt.d.ts +0 -77
- package/dist/components/cg-mfa-prompt/cg-mfa-prompt.d.ts.map +0 -1
- package/dist/components/cg-mfa-prompt/cg-mfa-prompt.js +0 -245
- package/dist/components/cg-mfa-prompt/cg-mfa-prompt.js.map +0 -1
- package/dist/components/cg-search-input/cg-search-input.d.ts +0 -62
- package/dist/components/cg-search-input/cg-search-input.d.ts.map +0 -1
- package/dist/components/cg-search-input/cg-search-input.js +0 -106
- package/dist/components/cg-search-input/cg-search-input.js.map +0 -1
- package/dist/components/cg-sortable/cg-sortable.d.ts +0 -72
- package/dist/components/cg-sortable/cg-sortable.d.ts.map +0 -1
- package/dist/components/cg-sortable/cg-sortable.js +0 -177
- package/dist/components/cg-sortable/cg-sortable.js.map +0 -1
- package/dist/components/cg-theme/cg-theme.d.ts +0 -82
- package/dist/components/cg-theme/cg-theme.d.ts.map +0 -1
- package/dist/components/cg-theme/cg-theme.js +0 -91
- package/dist/components/cg-theme/cg-theme.js.map +0 -1
- package/dist/components/cg-theme-editor/cg-theme-editor.d.ts +0 -98
- package/dist/components/cg-theme-editor/cg-theme-editor.d.ts.map +0 -1
- package/dist/components/cg-theme-editor/cg-theme-editor.js +0 -341
- package/dist/components/cg-theme-editor/cg-theme-editor.js.map +0 -1
- package/dist/components/cg-timeline/cg-timeline.d.ts +0 -70
- package/dist/components/cg-timeline/cg-timeline.d.ts.map +0 -1
- package/dist/components/cg-timeline/cg-timeline.js +0 -131
- package/dist/components/cg-timeline/cg-timeline.js.map +0 -1
- package/dist/components/cg-timeline-event/cg-timeline-event.d.ts +0 -59
- package/dist/components/cg-timeline-event/cg-timeline-event.d.ts.map +0 -1
- package/dist/components/cg-timeline-event/cg-timeline-event.js +0 -190
- package/dist/components/cg-timeline-event/cg-timeline-event.js.map +0 -1
- package/dist/utils/drag-manager.d.ts +0 -40
- package/dist/utils/drag-manager.d.ts.map +0 -1
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
export declare class AiConfidenceBadge extends LitElement {
|
|
3
3
|
static styles: import('lit').CSSResult[];
|
|
4
|
-
/** Confidence score 0-1
|
|
4
|
+
/** Confidence score 0-1 */
|
|
5
5
|
score: number;
|
|
6
|
-
/** Show percentage or level name
|
|
6
|
+
/** Show percentage or level name */
|
|
7
7
|
showPercentage: boolean;
|
|
8
|
-
/** Size variant
|
|
8
|
+
/** Size variant */
|
|
9
9
|
size: 'sm' | 'md' | 'lg';
|
|
10
|
-
/**
|
|
10
|
+
/** Explanation text for tooltip */
|
|
11
11
|
explanation: string;
|
|
12
|
-
/** History array of scores
|
|
12
|
+
/** History array of scores for sparkline */
|
|
13
13
|
history: number[];
|
|
14
|
-
/** High
|
|
14
|
+
/** High confidence threshold */
|
|
15
15
|
highThreshold: number;
|
|
16
|
-
/** Low
|
|
16
|
+
/** Low confidence threshold */
|
|
17
17
|
lowThreshold: number;
|
|
18
|
+
private _showTooltip;
|
|
18
19
|
private _getLevel;
|
|
19
20
|
private _getIconName;
|
|
20
|
-
private
|
|
21
|
+
private _handleClick;
|
|
22
|
+
private _handleKeyDown;
|
|
21
23
|
private _getSparkColor;
|
|
22
24
|
private _renderSparkline;
|
|
23
|
-
private
|
|
25
|
+
private _renderTooltip;
|
|
24
26
|
render(): import('lit').TemplateResult<1>;
|
|
25
27
|
}
|
|
26
28
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-confidence-badge.d.ts","sourceRoot":"","sources":["../../../src/components/ai-confidence-badge/ai-confidence-badge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ai-confidence-badge.d.ts","sourceRoot":"","sources":["../../../src/components/ai-confidence-badge/ai-confidence-badge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,OAAgB,MAAM,4BA4JnB;IAEH,2BAA2B;IACC,KAAK,EAAE,MAAM,CAAQ;IACjD,oCAAoC;IACP,cAAc,EAAE,OAAO,CAAQ;IAC5D,mBAAmB;IACwB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAC3E,mCAAmC;IACP,WAAW,EAAE,MAAM,CAAM;IACrD,4CAA4C;IACjB,OAAO,EAAE,MAAM,EAAE,CAAM;IAClD,gCAAgC;IACJ,aAAa,EAAE,MAAM,CAAO;IACxD,+BAA+B;IACH,YAAY,EAAE,MAAM,CAAO;IAE9C,OAAO,CAAC,YAAY,CAAkB;IAE/C,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,cAAc;IAYb,MAAM;CA+ChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;CACF"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import { css as
|
|
2
|
-
import { property as
|
|
3
|
-
import { a as
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
for (var o = n > 1 ? void 0 : n ? b(r, a) : r, g = e.length - 1, l; g >= 0; g--)
|
|
9
|
-
(l = e[g]) && (o = (n ? l(r, a, o) : l(o)) || o);
|
|
10
|
-
return n && o && f(r, a, o), o;
|
|
1
|
+
import { css as p, LitElement as h, nothing as d, html as s } from "lit";
|
|
2
|
+
import { property as i, state as u, customElement as v } from "lit/decorators.js";
|
|
3
|
+
import { a as f, r as b } from "../../chunks/premium.css-DHekUEUt.js";
|
|
4
|
+
var m = Object.defineProperty, w = Object.getOwnPropertyDescriptor, a = (e, t, n, c) => {
|
|
5
|
+
for (var o = c > 1 ? void 0 : c ? w(t, n) : t, l = e.length - 1, g; l >= 0; l--)
|
|
6
|
+
(g = e[l]) && (o = (c ? g(t, n, o) : g(o)) || o);
|
|
7
|
+
return c && o && m(t, n, o), o;
|
|
11
8
|
};
|
|
12
|
-
let
|
|
9
|
+
let r = class extends h {
|
|
13
10
|
constructor() {
|
|
14
|
-
super(...arguments), this.score = 0.85, this.showPercentage = !0, this.size = "md", this.explanation = "", this.history = [], this.highThreshold = 0.8, this.lowThreshold = 0.5;
|
|
11
|
+
super(...arguments), this.score = 0.85, this.showPercentage = !0, this.size = "md", this.explanation = "", this.history = [], this.highThreshold = 0.8, this.lowThreshold = 0.5, this._showTooltip = !1;
|
|
15
12
|
}
|
|
16
|
-
// ─── Derivations ────────────────────────────────────────────────────────
|
|
17
13
|
_getLevel() {
|
|
18
14
|
return this.score >= this.highThreshold ? "high" : this.score >= this.lowThreshold ? "medium" : "low";
|
|
19
15
|
}
|
|
@@ -21,70 +17,105 @@ let t = class extends h {
|
|
|
21
17
|
const e = this._getLevel();
|
|
22
18
|
return e === "high" ? "check" : e === "medium" ? "info" : "warning";
|
|
23
19
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
_handleClick() {
|
|
21
|
+
this.dispatchEvent(new CustomEvent("ai-confidence-badge-click", {
|
|
22
|
+
bubbles: !0,
|
|
23
|
+
composed: !0,
|
|
24
|
+
detail: { score: this.score, level: this._getLevel() }
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
_handleKeyDown(e) {
|
|
28
|
+
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), this._handleClick());
|
|
27
29
|
}
|
|
28
30
|
_getSparkColor(e) {
|
|
29
|
-
return e >= this.highThreshold ? "var(--cg-
|
|
31
|
+
return e >= this.highThreshold ? "var(--cg-color-status-success-text-default)" : e >= this.lowThreshold ? "var(--cg-color-status-warning-text-default)" : "var(--cg-color-status-error-text-default)";
|
|
30
32
|
}
|
|
31
|
-
// ─── Renderers ──────────────────────────────────────────────────────────
|
|
32
33
|
_renderSparkline() {
|
|
33
|
-
if (this.history.length < 2) return
|
|
34
|
+
if (this.history.length < 2) return d;
|
|
34
35
|
const e = Math.max(...this.history, 1);
|
|
35
|
-
return
|
|
36
|
+
return s`
|
|
36
37
|
<div class="sparkline" aria-hidden="true">
|
|
37
|
-
${this.history.slice(-12).map((
|
|
38
|
-
<div class="spark-bar" style="height: ${
|
|
38
|
+
${this.history.slice(-12).map((t) => s`
|
|
39
|
+
<div class="spark-bar" style="height: ${t / e * 16}px; background: ${this._getSparkColor(t)};"></div>
|
|
39
40
|
`)}
|
|
40
41
|
</div>
|
|
41
42
|
`;
|
|
42
43
|
}
|
|
43
|
-
|
|
44
|
-
const e = this._getLevel(),
|
|
45
|
-
return
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
<span class="level-label">${e}</span>
|
|
52
|
-
</div>
|
|
53
|
-
<cg-progress-bar
|
|
54
|
-
.value=${r}
|
|
55
|
-
variant=${this._getProgressVariant()}
|
|
56
|
-
size="sm"
|
|
57
|
-
aria-hidden="true"
|
|
58
|
-
></cg-progress-bar>
|
|
59
|
-
${this._renderSparkline()}
|
|
60
|
-
` : c`
|
|
61
|
-
<cg-icon name=${this._getIconName()} size="xs"></cg-icon>
|
|
62
|
-
<span class="score">${a}</span>
|
|
63
|
-
${this._renderSparkline()}
|
|
44
|
+
_renderTooltip() {
|
|
45
|
+
const e = this._getLevel(), t = Math.round(this.score * 100);
|
|
46
|
+
return s`
|
|
47
|
+
<div class="tooltip" role="tooltip">
|
|
48
|
+
<span class="tooltip-level">${e.charAt(0).toUpperCase() + e.slice(1)} confidence</span>
|
|
49
|
+
<span class="tooltip-score">(${t}%)</span>
|
|
50
|
+
${this.explanation ? s`<span class="tooltip-explanation">${this.explanation}</span>` : d}
|
|
51
|
+
</div>
|
|
64
52
|
`;
|
|
65
53
|
}
|
|
66
54
|
render() {
|
|
67
|
-
const e = this._getLevel(),
|
|
68
|
-
return
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
55
|
+
const e = this._getLevel(), t = Math.round(this.score * 100), n = this.showPercentage ? `${t}%` : e;
|
|
56
|
+
return this.size === "lg" ? s`
|
|
57
|
+
<div
|
|
58
|
+
class="badge ${e}"
|
|
59
|
+
role="status"
|
|
60
|
+
tabindex="0"
|
|
61
|
+
aria-label="AI confidence: ${t}%, ${e}"
|
|
62
|
+
@click=${this._handleClick}
|
|
63
|
+
@keydown=${this._handleKeyDown}
|
|
64
|
+
>
|
|
65
|
+
${this._renderTooltip()}
|
|
66
|
+
<div class="top-row">
|
|
67
|
+
<span style="display:flex;align-items:center;gap:var(--cg-spacing-4);">
|
|
68
|
+
<cg-icon name="${this._getIconName()}" size="xs"></cg-icon>
|
|
69
|
+
<span class="score">${t}%</span>
|
|
70
|
+
</span>
|
|
71
|
+
<span class="level-label">${e}</span>
|
|
72
|
+
</div>
|
|
73
|
+
<div class="bar-track">
|
|
74
|
+
<div class="bar-fill" style="width: ${t}%"></div>
|
|
75
|
+
</div>
|
|
76
|
+
${this._renderSparkline()}
|
|
77
|
+
</div>
|
|
78
|
+
` : s`
|
|
79
|
+
<div
|
|
80
|
+
class="badge ${e}"
|
|
81
|
+
role="status"
|
|
82
|
+
tabindex="0"
|
|
83
|
+
aria-label="AI confidence: ${t}%, ${e}"
|
|
84
|
+
@click=${this._handleClick}
|
|
85
|
+
@keydown=${this._handleKeyDown}
|
|
86
|
+
>
|
|
87
|
+
${this._renderTooltip()}
|
|
88
|
+
<cg-icon name="${this._getIconName()}" size="xs"></cg-icon>
|
|
89
|
+
<span class="score">${n}</span>
|
|
90
|
+
${this._renderSparkline()}
|
|
91
|
+
</div>
|
|
74
92
|
`;
|
|
75
93
|
}
|
|
76
94
|
};
|
|
77
|
-
|
|
78
|
-
:host {
|
|
95
|
+
r.styles = [f, b, p`
|
|
96
|
+
:host {
|
|
97
|
+
align-items: center;
|
|
98
|
+
position: relative;
|
|
99
|
+
}
|
|
79
100
|
|
|
80
101
|
.badge {
|
|
81
102
|
display: inline-flex;
|
|
82
103
|
align-items: center;
|
|
83
104
|
gap: var(--cg-spacing-4);
|
|
105
|
+
cursor: pointer;
|
|
84
106
|
border: var(--cg-border-width-50) solid transparent;
|
|
107
|
+
position: relative;
|
|
108
|
+
transition:
|
|
109
|
+
filter var(--cg-transition-duration-fast) var(--cg-transition-easing-default),
|
|
110
|
+
transform var(--cg-transition-duration-fast) var(--cg-transition-easing-default);
|
|
111
|
+
}
|
|
112
|
+
.badge:focus-visible {
|
|
113
|
+
outline: none;
|
|
114
|
+
box-shadow: 0 0 0 var(--cg-border-width-100) var(--cg-color-focus-ring);
|
|
85
115
|
}
|
|
116
|
+
.badge:hover { filter: brightness(1.1); }
|
|
117
|
+
.badge:active { transform: scale(var(--cg-interaction-press-scale)); }
|
|
86
118
|
|
|
87
|
-
/* ── Sizes ── */
|
|
88
119
|
:host([size="sm"]) .badge {
|
|
89
120
|
padding: var(--cg-spacing-2) var(--cg-spacing-8);
|
|
90
121
|
border-radius: var(--cg-component-ai-badge-radius-sm);
|
|
@@ -92,12 +123,14 @@ t.styles = [u, v, d`
|
|
|
92
123
|
font-weight: var(--cg-font-weight-bold);
|
|
93
124
|
gap: var(--cg-spacing-2);
|
|
94
125
|
}
|
|
126
|
+
|
|
95
127
|
.badge {
|
|
96
128
|
padding: var(--cg-spacing-4) var(--cg-spacing-12);
|
|
97
129
|
border-radius: var(--cg-component-ai-badge-radius-md);
|
|
98
130
|
font-size: var(--cg-font-size-xs);
|
|
99
131
|
font-weight: var(--cg-font-weight-bold);
|
|
100
132
|
}
|
|
133
|
+
|
|
101
134
|
:host([size="lg"]) .badge {
|
|
102
135
|
padding: var(--cg-spacing-12) var(--cg-spacing-16);
|
|
103
136
|
border-radius: var(--cg-component-ai-badge-radius-lg);
|
|
@@ -105,37 +138,47 @@ t.styles = [u, v, d`
|
|
|
105
138
|
flex-direction: column;
|
|
106
139
|
align-items: stretch;
|
|
107
140
|
gap: var(--cg-spacing-8);
|
|
108
|
-
min-width:
|
|
141
|
+
min-width: 140px;
|
|
109
142
|
}
|
|
110
143
|
:host([size="lg"]) .top-row {
|
|
111
144
|
display: flex;
|
|
112
145
|
align-items: center;
|
|
113
146
|
justify-content: space-between;
|
|
114
147
|
}
|
|
115
|
-
:host([size="lg"])
|
|
148
|
+
:host([size="lg"]) .bar-track {
|
|
149
|
+
height: var(--cg-spacing-4);
|
|
150
|
+
border-radius: var(--cg-border-radius-full);
|
|
151
|
+
background: var(--cg-overlay-dark-subtle);
|
|
152
|
+
overflow: hidden;
|
|
153
|
+
}
|
|
154
|
+
:host([size="lg"]) .bar-fill {
|
|
155
|
+
height: 100%;
|
|
156
|
+
border-radius: var(--cg-border-radius-full);
|
|
157
|
+
transition: width var(--cg-transition-duration-slow) var(--cg-transition-easing-default);
|
|
158
|
+
}
|
|
116
159
|
|
|
117
|
-
/* ── Variant tints ──
|
|
118
|
-
Theme-aware tier-3 tokens: light theme = solid pastel pill,
|
|
119
|
-
dark theme = stronger rgba tint than the generic --cg-color-status-*
|
|
120
|
-
chain (which dims to 12% and looks transparent on dark canvases).
|
|
121
|
-
Token values defined in packages/tokens/tier2-semantic/ai-states*.json. */
|
|
122
160
|
.badge.high {
|
|
123
|
-
background: var(--cg-
|
|
124
|
-
color: var(--cg-
|
|
125
|
-
border-color: var(--cg-
|
|
161
|
+
background: var(--cg-color-status-success-background-default);
|
|
162
|
+
color: var(--cg-color-status-success-text-default);
|
|
163
|
+
border-color: var(--cg-color-status-success-border-default);
|
|
126
164
|
}
|
|
165
|
+
.badge.high .bar-fill { background: var(--cg-color-status-success-text-default); }
|
|
166
|
+
|
|
127
167
|
.badge.medium {
|
|
128
|
-
background: var(--cg-
|
|
129
|
-
color: var(--cg-
|
|
130
|
-
border-color: var(--cg-
|
|
168
|
+
background: var(--cg-color-status-warning-background-default);
|
|
169
|
+
color: var(--cg-color-status-warning-text-default);
|
|
170
|
+
border-color: var(--cg-color-status-warning-border-default);
|
|
131
171
|
}
|
|
172
|
+
.badge.medium .bar-fill { background: var(--cg-color-status-warning-text-default); }
|
|
173
|
+
|
|
132
174
|
.badge.low {
|
|
133
|
-
background: var(--cg-
|
|
134
|
-
color: var(--cg-
|
|
135
|
-
border-color: var(--cg-
|
|
175
|
+
background: var(--cg-color-status-error-background-default);
|
|
176
|
+
color: var(--cg-color-status-error-text-default);
|
|
177
|
+
border-color: var(--cg-color-status-error-border-default);
|
|
136
178
|
}
|
|
179
|
+
.badge.low .bar-fill { background: var(--cg-color-status-error-text-default); }
|
|
137
180
|
|
|
138
|
-
.score { letter-spacing:
|
|
181
|
+
.score { letter-spacing: 0.02em; }
|
|
139
182
|
.level-label {
|
|
140
183
|
font-size: var(--cg-font-size-xs);
|
|
141
184
|
font-weight: var(--cg-font-weight-semibold);
|
|
@@ -143,7 +186,6 @@ t.styles = [u, v, d`
|
|
|
143
186
|
text-transform: capitalize;
|
|
144
187
|
}
|
|
145
188
|
|
|
146
|
-
/* ── Sparkline (consumer-driven history of scores) ── */
|
|
147
189
|
.sparkline {
|
|
148
190
|
display: flex;
|
|
149
191
|
align-items: flex-end;
|
|
@@ -159,42 +201,82 @@ t.styles = [u, v, d`
|
|
|
159
201
|
}
|
|
160
202
|
.spark-bar:last-child { opacity: 1; }
|
|
161
203
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
204
|
+
.tooltip {
|
|
205
|
+
position: absolute;
|
|
206
|
+
bottom: calc(100% + var(--cg-spacing-8));
|
|
207
|
+
left: 50%;
|
|
208
|
+
transform: translateX(-50%);
|
|
209
|
+
background: var(--cg-color-surface-container-background);
|
|
210
|
+
color: var(--cg-color-surface-base-text);
|
|
211
|
+
border: var(--cg-border-width-50) solid var(--cg-color-surface-container-border);
|
|
212
|
+
border-radius: var(--cg-border-radius-100);
|
|
213
|
+
padding: var(--cg-spacing-8) var(--cg-spacing-12);
|
|
214
|
+
font-size: var(--cg-font-size-xs);
|
|
215
|
+
line-height: var(--cg-line-height-snug);
|
|
216
|
+
white-space: nowrap;
|
|
217
|
+
pointer-events: none;
|
|
218
|
+
opacity: 0;
|
|
219
|
+
transition: opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default);
|
|
220
|
+
z-index: var(--cg-z-index-300);
|
|
221
|
+
box-shadow: var(--cg-elevation-1);
|
|
222
|
+
}
|
|
223
|
+
.tooltip::after {
|
|
224
|
+
content: '';
|
|
225
|
+
position: absolute;
|
|
226
|
+
top: 100%;
|
|
227
|
+
left: 50%;
|
|
228
|
+
transform: translateX(-50%);
|
|
229
|
+
border: var(--cg-spacing-4) solid transparent;
|
|
230
|
+
border-top-color: var(--cg-color-surface-container-background);
|
|
231
|
+
}
|
|
232
|
+
.badge:hover .tooltip,
|
|
233
|
+
.badge:focus .tooltip {
|
|
234
|
+
opacity: 1;
|
|
235
|
+
}
|
|
236
|
+
.tooltip-level { font-weight: var(--cg-font-weight-bold); }
|
|
237
|
+
.tooltip-score { opacity: 0.7; margin-left: var(--cg-spacing-4); }
|
|
238
|
+
.tooltip-explanation {
|
|
239
|
+
display: block;
|
|
240
|
+
margin-top: var(--cg-spacing-4);
|
|
241
|
+
font-size: var(--cg-font-size-xs);
|
|
242
|
+
opacity: 0.7;
|
|
243
|
+
white-space: normal;
|
|
244
|
+
max-width: 220px;
|
|
167
245
|
}
|
|
168
246
|
|
|
169
247
|
@media (prefers-reduced-motion: reduce) {
|
|
248
|
+
.bar-fill { transition: none; }
|
|
170
249
|
.spark-bar { transition: none; }
|
|
171
250
|
}
|
|
172
251
|
`];
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
],
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
],
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
],
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
],
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
],
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
],
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
],
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
],
|
|
252
|
+
a([
|
|
253
|
+
i({ type: Number })
|
|
254
|
+
], r.prototype, "score", 2);
|
|
255
|
+
a([
|
|
256
|
+
i({ type: Boolean })
|
|
257
|
+
], r.prototype, "showPercentage", 2);
|
|
258
|
+
a([
|
|
259
|
+
i({ type: String, reflect: !0 })
|
|
260
|
+
], r.prototype, "size", 2);
|
|
261
|
+
a([
|
|
262
|
+
i({ type: String })
|
|
263
|
+
], r.prototype, "explanation", 2);
|
|
264
|
+
a([
|
|
265
|
+
i({ type: Array })
|
|
266
|
+
], r.prototype, "history", 2);
|
|
267
|
+
a([
|
|
268
|
+
i({ type: Number })
|
|
269
|
+
], r.prototype, "highThreshold", 2);
|
|
270
|
+
a([
|
|
271
|
+
i({ type: Number })
|
|
272
|
+
], r.prototype, "lowThreshold", 2);
|
|
273
|
+
a([
|
|
274
|
+
u()
|
|
275
|
+
], r.prototype, "_showTooltip", 2);
|
|
276
|
+
r = a([
|
|
277
|
+
v("ai-confidence-badge")
|
|
278
|
+
], r);
|
|
197
279
|
export {
|
|
198
|
-
|
|
280
|
+
r as AiConfidenceBadge
|
|
199
281
|
};
|
|
200
282
|
//# sourceMappingURL=ai-confidence-badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-confidence-badge.js","sources":["../../../src/components/ai-confidence-badge/ai-confidence-badge.ts"],"sourcesContent":["/**\n * @element ai-confidence-badge\n * Display-only AI confidence indicator. Three sizes (sm / md / lg),\n * color-coded levels (high / medium / low), <cg-tooltip> with explanation,\n * optional sparkline of historical scores, and a real <cg-progress-bar>\n * for the lg variant.\n *\n * This is a pure display component — like <cg-badge>, <cg-icon>, and\n * <cg-spinner>. If you need clickability, wrap it:\n *\n * ```html\n * <button type=\"button\" @click=${openCalibrationDrilldown}>\n * <ai-confidence-badge score=\"0.45\" size=\"lg\"></ai-confidence-badge>\n * </button>\n * ```\n *\n * @example\n * ```html\n * <ai-confidence-badge score=\"0.92\" size=\"sm\"></ai-confidence-badge>\n * <ai-confidence-badge\n * score=\"0.45\"\n * size=\"lg\"\n * explanation=\"Low data coverage in retrieval — consider re-running\"\n * .history=${[0.3, 0.4, 0.42, 0.45]}\n * ></ai-confidence-badge>\n * ```\n *\n * @cssprop --cg-ai-confidence-high-{background,color,border} - High-confidence tint\n * @cssprop --cg-ai-confidence-medium-{background,color,border} - Medium-confidence tint\n * @cssprop --cg-ai-confidence-low-{background,color,border} - Low-confidence tint\n */\nimport { LitElement, html, css, nothing } from 'lit';\nimport { property, customElement } from 'lit/decorators.js';\nimport { hostBase, reducedMotion } from '../../styles/index.js';\nimport '../cg-icon/cg-icon.js';\nimport '../cg-tooltip/cg-tooltip.js';\nimport '../cg-progress-bar/cg-progress-bar.js';\n\n@customElement('ai-confidence-badge')\nexport class AiConfidenceBadge extends LitElement {\n static override styles = [hostBase, reducedMotion, css`\n :host { align-items: center; }\n\n .badge {\n display: inline-flex;\n align-items: center;\n gap: var(--cg-spacing-4);\n border: var(--cg-border-width-50) solid transparent;\n }\n\n /* ── Sizes ── */\n :host([size=\"sm\"]) .badge {\n padding: var(--cg-spacing-2) var(--cg-spacing-8);\n border-radius: var(--cg-component-ai-badge-radius-sm);\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-bold);\n gap: var(--cg-spacing-2);\n }\n .badge {\n padding: var(--cg-spacing-4) var(--cg-spacing-12);\n border-radius: var(--cg-component-ai-badge-radius-md);\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-bold);\n }\n :host([size=\"lg\"]) .badge {\n padding: var(--cg-spacing-12) var(--cg-spacing-16);\n border-radius: var(--cg-component-ai-badge-radius-lg);\n font-size: var(--cg-font-size-sm);\n flex-direction: column;\n align-items: stretch;\n gap: var(--cg-spacing-8);\n min-width: var(--cg-spacing-128);\n }\n :host([size=\"lg\"]) .top-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n :host([size=\"lg\"]) cg-progress-bar { display: block; }\n\n /* ── Variant tints ──\n Theme-aware tier-3 tokens: light theme = solid pastel pill,\n dark theme = stronger rgba tint than the generic --cg-color-status-*\n chain (which dims to 12% and looks transparent on dark canvases).\n Token values defined in packages/tokens/tier2-semantic/ai-states*.json. */\n .badge.high {\n background: var(--cg-ai-confidence-high-background);\n color: var(--cg-ai-confidence-high-color);\n border-color: var(--cg-ai-confidence-high-border);\n }\n .badge.medium {\n background: var(--cg-ai-confidence-medium-background);\n color: var(--cg-ai-confidence-medium-color);\n border-color: var(--cg-ai-confidence-medium-border);\n }\n .badge.low {\n background: var(--cg-ai-confidence-low-background);\n color: var(--cg-ai-confidence-low-color);\n border-color: var(--cg-ai-confidence-low-border);\n }\n\n .score { letter-spacing: var(--cg-letter-spacing-wide); }\n .level-label {\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-semibold);\n opacity: 0.8;\n text-transform: capitalize;\n }\n\n /* ── Sparkline (consumer-driven history of scores) ── */\n .sparkline {\n display: flex;\n align-items: flex-end;\n gap: var(--cg-spacing-1);\n height: var(--cg-spacing-16);\n margin-left: var(--cg-spacing-6);\n }\n .spark-bar {\n width: var(--cg-spacing-2);\n border-radius: var(--cg-border-radius-full);\n transition: height var(--cg-transition-duration-slow) var(--cg-transition-easing-default);\n opacity: 0.5;\n }\n .spark-bar:last-child { opacity: 1; }\n\n /* Top row inner shorthand. */\n .top-row-left {\n display: inline-flex;\n align-items: center;\n gap: var(--cg-spacing-4);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .spark-bar { transition: none; }\n }\n `];\n\n /** Confidence score 0-1. */\n @property({ type: Number }) score: number = 0.85;\n\n /** Show percentage or level name in the inline label. */\n @property({ type: Boolean, attribute: 'show-percentage' }) showPercentage: boolean = true;\n\n /** Size variant. */\n @property({ type: String, reflect: true }) size: 'sm' | 'md' | 'lg' = 'md';\n\n /** Tooltip explanation text. */\n @property({ type: String }) explanation: string = '';\n\n /** History array of scores (0-1) for sparkline. */\n @property({ type: Array }) history: number[] = [];\n\n /** High-confidence threshold (default 0.8). */\n @property({ type: Number, attribute: 'high-threshold' }) highThreshold: number = 0.8;\n\n /** Low-confidence threshold (default 0.5). Below this = \"low\". */\n @property({ type: Number, attribute: 'low-threshold' }) lowThreshold: number = 0.5;\n\n // ─── Derivations ────────────────────────────────────────────────────────\n\n private _getLevel(): 'high' | 'medium' | 'low' {\n if (this.score >= this.highThreshold) return 'high';\n if (this.score >= this.lowThreshold) return 'medium';\n return 'low';\n }\n\n private _getIconName(): string {\n const level = this._getLevel();\n if (level === 'high') return 'check';\n if (level === 'medium') return 'info';\n return 'warning';\n }\n\n private _getProgressVariant(): 'success' | 'warning' | 'danger' {\n const level = this._getLevel();\n return level === 'high' ? 'success' : level === 'medium' ? 'warning' : 'danger';\n }\n\n private _getSparkColor(value: number): string {\n if (value >= this.highThreshold) return 'var(--cg-ai-confidence-high-color)';\n if (value >= this.lowThreshold) return 'var(--cg-ai-confidence-medium-color)';\n return 'var(--cg-ai-confidence-low-color)';\n }\n\n // ─── Renderers ──────────────────────────────────────────────────────────\n\n private _renderSparkline() {\n if (this.history.length < 2) return nothing;\n const max = Math.max(...this.history, 1);\n return html`\n <div class=\"sparkline\" aria-hidden=\"true\">\n ${this.history.slice(-12).map(v => html`\n <div class=\"spark-bar\" style=\"height: ${(v / max) * 16}px; background: ${this._getSparkColor(v)};\"></div>\n `)}\n </div>\n `;\n }\n\n private _renderInner() {\n const level = this._getLevel();\n const pct = Math.round(this.score * 100);\n const label = this.showPercentage ? `${pct}%` : level;\n\n if (this.size === 'lg') {\n return html`\n <div class=\"top-row\">\n <span class=\"top-row-left\">\n <cg-icon name=${this._getIconName()} size=\"xs\"></cg-icon>\n <span class=\"score\">${pct}%</span>\n </span>\n <span class=\"level-label\">${level}</span>\n </div>\n <cg-progress-bar\n .value=${pct}\n variant=${this._getProgressVariant()}\n size=\"sm\"\n aria-hidden=\"true\"\n ></cg-progress-bar>\n ${this._renderSparkline()}\n `;\n }\n\n return html`\n <cg-icon name=${this._getIconName()} size=\"xs\"></cg-icon>\n <span class=\"score\">${label}</span>\n ${this._renderSparkline()}\n `;\n }\n\n override render() {\n const level = this._getLevel();\n const pct = Math.round(this.score * 100);\n const ariaLabel = `AI confidence: ${pct} percent, ${level}`;\n\n const tooltipContent = this.explanation\n ? `${level.charAt(0).toUpperCase() + level.slice(1)} confidence — ${pct}%. ${this.explanation}`\n : `${level.charAt(0).toUpperCase() + level.slice(1)} confidence — ${pct}%`;\n\n return html`\n <cg-tooltip content=${tooltipContent} position=\"top\">\n <span class=\"badge ${level}\" aria-label=${ariaLabel}>\n ${this._renderInner()}\n </span>\n </cg-tooltip>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ai-confidence-badge': AiConfidenceBadge;\n }\n}\n"],"names":["AiConfidenceBadge","LitElement","level","value","nothing","max","html","v","pct","label","ariaLabel","tooltipContent","hostBase","reducedMotion","css","__decorateClass","property","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-confidence-badge.js","sources":["../../../src/components/ai-confidence-badge/ai-confidence-badge.ts"],"sourcesContent":["/**\n * @element ai-confidence-badge\n * AI confidence badge with three sizes (sm/md/lg), color-coded levels (high/medium/low),\n * tooltip with explanation, and optional sparkline of historical scores.\n *\n * @example\n * ```html\n * <ai-confidence-badge score=\"0.92\" size=\"sm\"></ai-confidence-badge>\n * <ai-confidence-badge score=\"0.45\" size=\"lg\" explanation=\"Low data coverage\"\n * .history=${[0.3, 0.4, 0.42, 0.45]}></ai-confidence-badge>\n * ```\n *\n * @fires {CustomEvent<{score: number, level: string}>} ai-confidence-badge-click - Badge clicked\n *\n * @cssprop --cg-color-status-success-text-default - High confidence color\n * @cssprop --cg-color-status-warning-text-default - Medium confidence color\n * @cssprop --cg-color-status-error-text-default - Low confidence color\n */\nimport { LitElement, html, css, nothing } from 'lit';\nimport { property, state, customElement } from 'lit/decorators.js';\nimport { hostBase, reducedMotion } from '../../styles/index.js';\n\n@customElement('ai-confidence-badge')\nexport class AiConfidenceBadge extends LitElement {\n static override styles = [hostBase, reducedMotion, css`\n :host {\n align-items: center;\n position: relative;\n }\n\n .badge {\n display: inline-flex;\n align-items: center;\n gap: var(--cg-spacing-4);\n cursor: pointer;\n border: var(--cg-border-width-50) solid transparent;\n position: relative;\n transition:\n filter var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n transform var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n .badge:focus-visible {\n outline: none;\n box-shadow: 0 0 0 var(--cg-border-width-100) var(--cg-color-focus-ring);\n }\n .badge:hover { filter: brightness(1.1); }\n .badge:active { transform: scale(var(--cg-interaction-press-scale)); }\n\n :host([size=\"sm\"]) .badge {\n padding: var(--cg-spacing-2) var(--cg-spacing-8);\n border-radius: var(--cg-component-ai-badge-radius-sm);\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-bold);\n gap: var(--cg-spacing-2);\n }\n\n .badge {\n padding: var(--cg-spacing-4) var(--cg-spacing-12);\n border-radius: var(--cg-component-ai-badge-radius-md);\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-bold);\n }\n\n :host([size=\"lg\"]) .badge {\n padding: var(--cg-spacing-12) var(--cg-spacing-16);\n border-radius: var(--cg-component-ai-badge-radius-lg);\n font-size: var(--cg-font-size-sm);\n flex-direction: column;\n align-items: stretch;\n gap: var(--cg-spacing-8);\n min-width: 140px;\n }\n :host([size=\"lg\"]) .top-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n :host([size=\"lg\"]) .bar-track {\n height: var(--cg-spacing-4);\n border-radius: var(--cg-border-radius-full);\n background: var(--cg-overlay-dark-subtle);\n overflow: hidden;\n }\n :host([size=\"lg\"]) .bar-fill {\n height: 100%;\n border-radius: var(--cg-border-radius-full);\n transition: width var(--cg-transition-duration-slow) var(--cg-transition-easing-default);\n }\n\n .badge.high {\n background: var(--cg-color-status-success-background-default);\n color: var(--cg-color-status-success-text-default);\n border-color: var(--cg-color-status-success-border-default);\n }\n .badge.high .bar-fill { background: var(--cg-color-status-success-text-default); }\n\n .badge.medium {\n background: var(--cg-color-status-warning-background-default);\n color: var(--cg-color-status-warning-text-default);\n border-color: var(--cg-color-status-warning-border-default);\n }\n .badge.medium .bar-fill { background: var(--cg-color-status-warning-text-default); }\n\n .badge.low {\n background: var(--cg-color-status-error-background-default);\n color: var(--cg-color-status-error-text-default);\n border-color: var(--cg-color-status-error-border-default);\n }\n .badge.low .bar-fill { background: var(--cg-color-status-error-text-default); }\n\n .score { letter-spacing: 0.02em; }\n .level-label {\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-semibold);\n opacity: 0.8;\n text-transform: capitalize;\n }\n\n .sparkline {\n display: flex;\n align-items: flex-end;\n gap: var(--cg-spacing-1);\n height: var(--cg-spacing-16);\n margin-left: var(--cg-spacing-6);\n }\n .spark-bar {\n width: var(--cg-spacing-2);\n border-radius: var(--cg-border-radius-full);\n transition: height var(--cg-transition-duration-slow) var(--cg-transition-easing-default);\n opacity: 0.5;\n }\n .spark-bar:last-child { opacity: 1; }\n\n .tooltip {\n position: absolute;\n bottom: calc(100% + var(--cg-spacing-8));\n left: 50%;\n transform: translateX(-50%);\n background: var(--cg-color-surface-container-background);\n color: var(--cg-color-surface-base-text);\n border: var(--cg-border-width-50) solid var(--cg-color-surface-container-border);\n border-radius: var(--cg-border-radius-100);\n padding: var(--cg-spacing-8) var(--cg-spacing-12);\n font-size: var(--cg-font-size-xs);\n line-height: var(--cg-line-height-snug);\n white-space: nowrap;\n pointer-events: none;\n opacity: 0;\n transition: opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n z-index: var(--cg-z-index-300);\n box-shadow: var(--cg-elevation-1);\n }\n .tooltip::after {\n content: '';\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border: var(--cg-spacing-4) solid transparent;\n border-top-color: var(--cg-color-surface-container-background);\n }\n .badge:hover .tooltip,\n .badge:focus .tooltip {\n opacity: 1;\n }\n .tooltip-level { font-weight: var(--cg-font-weight-bold); }\n .tooltip-score { opacity: 0.7; margin-left: var(--cg-spacing-4); }\n .tooltip-explanation {\n display: block;\n margin-top: var(--cg-spacing-4);\n font-size: var(--cg-font-size-xs);\n opacity: 0.7;\n white-space: normal;\n max-width: 220px;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .bar-fill { transition: none; }\n .spark-bar { transition: none; }\n }\n `];\n\n /** Confidence score 0-1 */\n @property({ type: Number }) score: number = 0.85;\n /** Show percentage or level name */\n @property({ type: Boolean }) showPercentage: boolean = true;\n /** Size variant */\n @property({ type: String, reflect: true }) size: 'sm' | 'md' | 'lg' = 'md';\n /** Explanation text for tooltip */\n @property({ type: String }) explanation: string = '';\n /** History array of scores for sparkline */\n @property({ type: Array }) history: number[] = [];\n /** High confidence threshold */\n @property({ type: Number }) highThreshold: number = 0.8;\n /** Low confidence threshold */\n @property({ type: Number }) lowThreshold: number = 0.5;\n\n @state() private _showTooltip: boolean = false;\n\n private _getLevel(): 'high' | 'medium' | 'low' {\n if (this.score >= this.highThreshold) return 'high';\n if (this.score >= this.lowThreshold) return 'medium';\n return 'low';\n }\n\n private _getIconName(): string {\n const level = this._getLevel();\n if (level === 'high') return 'check';\n if (level === 'medium') return 'info';\n return 'warning';\n }\n\n private _handleClick() {\n this.dispatchEvent(new CustomEvent('ai-confidence-badge-click', {\n bubbles: true, composed: true,\n detail: { score: this.score, level: this._getLevel() },\n }));\n }\n\n private _handleKeyDown(e: KeyboardEvent) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this._handleClick();\n }\n }\n\n private _getSparkColor(value: number): string {\n if (value >= this.highThreshold) return 'var(--cg-color-status-success-text-default)';\n if (value >= this.lowThreshold) return 'var(--cg-color-status-warning-text-default)';\n return 'var(--cg-color-status-error-text-default)';\n }\n\n private _renderSparkline() {\n if (this.history.length < 2) return nothing;\n const max = Math.max(...this.history, 1);\n return html`\n <div class=\"sparkline\" aria-hidden=\"true\">\n ${this.history.slice(-12).map(v => html`\n <div class=\"spark-bar\" style=\"height: ${(v / max) * 16}px; background: ${this._getSparkColor(v)};\"></div>\n `)}\n </div>\n `;\n }\n\n private _renderTooltip() {\n const level = this._getLevel();\n const pct = Math.round(this.score * 100);\n return html`\n <div class=\"tooltip\" role=\"tooltip\">\n <span class=\"tooltip-level\">${level.charAt(0).toUpperCase() + level.slice(1)} confidence</span>\n <span class=\"tooltip-score\">(${pct}%)</span>\n ${this.explanation ? html`<span class=\"tooltip-explanation\">${this.explanation}</span>` : nothing}\n </div>\n `;\n }\n\n override render() {\n const level = this._getLevel();\n const pct = Math.round(this.score * 100);\n const label = this.showPercentage ? `${pct}%` : level;\n\n if (this.size === 'lg') {\n return html`\n <div\n class=\"badge ${level}\"\n role=\"status\"\n tabindex=\"0\"\n aria-label=\"AI confidence: ${pct}%, ${level}\"\n @click=${this._handleClick}\n @keydown=${this._handleKeyDown}\n >\n ${this._renderTooltip()}\n <div class=\"top-row\">\n <span style=\"display:flex;align-items:center;gap:var(--cg-spacing-4);\">\n <cg-icon name=\"${this._getIconName()}\" size=\"xs\"></cg-icon>\n <span class=\"score\">${pct}%</span>\n </span>\n <span class=\"level-label\">${level}</span>\n </div>\n <div class=\"bar-track\">\n <div class=\"bar-fill\" style=\"width: ${pct}%\"></div>\n </div>\n ${this._renderSparkline()}\n </div>\n `;\n }\n\n return html`\n <div\n class=\"badge ${level}\"\n role=\"status\"\n tabindex=\"0\"\n aria-label=\"AI confidence: ${pct}%, ${level}\"\n @click=${this._handleClick}\n @keydown=${this._handleKeyDown}\n >\n ${this._renderTooltip()}\n <cg-icon name=\"${this._getIconName()}\" size=\"xs\"></cg-icon>\n <span class=\"score\">${label}</span>\n ${this._renderSparkline()}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ai-confidence-badge': AiConfidenceBadge;\n }\n}\n"],"names":["AiConfidenceBadge","LitElement","level","value","nothing","max","html","v","pct","label","hostBase","reducedMotion","css","__decorateClass","property","state","customElement"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { css as d, LitElement as v, nothing as g, html as l } from "lit";
|
|
2
2
|
import { property as n, customElement as p } from "lit/decorators.js";
|
|
3
|
-
import { h as b, r as h, f } from "../../chunks/premium.css-
|
|
4
|
-
var m = Object.defineProperty, x = Object.getOwnPropertyDescriptor, s = (
|
|
5
|
-
for (var t = i > 1 ? void 0 : i ? x(
|
|
6
|
-
(c =
|
|
7
|
-
return i && t && m(
|
|
3
|
+
import { h as b, r as h, f } from "../../chunks/premium.css-DHekUEUt.js";
|
|
4
|
+
var m = Object.defineProperty, x = Object.getOwnPropertyDescriptor, s = (e, r, o, i) => {
|
|
5
|
+
for (var t = i > 1 ? void 0 : i ? x(r, o) : r, u = e.length - 1, c; u >= 0; u--)
|
|
6
|
+
(c = e[u]) && (t = (i ? c(r, o, t) : c(t)) || t);
|
|
7
|
+
return i && t && m(r, o, t), t;
|
|
8
8
|
};
|
|
9
9
|
let a = class extends v {
|
|
10
10
|
constructor() {
|
|
@@ -14,26 +14,26 @@ let a = class extends v {
|
|
|
14
14
|
{ label: "High (80%)", value: 80 }
|
|
15
15
|
];
|
|
16
16
|
}
|
|
17
|
-
_handleChange(
|
|
18
|
-
this.value = Number(
|
|
17
|
+
_handleChange(e) {
|
|
18
|
+
this.value = Number(e.target.value), this.dispatchEvent(new CustomEvent("ai-confidence-change", {
|
|
19
19
|
bubbles: !0,
|
|
20
20
|
composed: !0,
|
|
21
21
|
detail: { value: this.value }
|
|
22
22
|
}));
|
|
23
23
|
}
|
|
24
|
-
_setPreset(
|
|
25
|
-
this.value =
|
|
24
|
+
_setPreset(e) {
|
|
25
|
+
this.value = e, this.dispatchEvent(new CustomEvent("ai-confidence-change", {
|
|
26
26
|
bubbles: !0,
|
|
27
27
|
composed: !0,
|
|
28
28
|
detail: { value: this.value }
|
|
29
29
|
}));
|
|
30
30
|
}
|
|
31
|
-
_getBarColor(
|
|
32
|
-
const o =
|
|
31
|
+
_getBarColor(e, r) {
|
|
32
|
+
const o = e / r * 100;
|
|
33
33
|
return o < 30 ? "var(--cg-color-status-error-text-default)" : o < 60 ? "var(--cg-color-status-warning-text-default)" : "var(--cg-color-status-success-text-default)";
|
|
34
34
|
}
|
|
35
35
|
render() {
|
|
36
|
-
const
|
|
36
|
+
const e = (this.value - this.min) / (this.max - this.min) * 100;
|
|
37
37
|
return l`
|
|
38
38
|
<div class="container" role="group" aria-label="Confidence threshold">
|
|
39
39
|
<div class="header">
|
|
@@ -45,7 +45,7 @@ let a = class extends v {
|
|
|
45
45
|
` : g}
|
|
46
46
|
</div>
|
|
47
47
|
|
|
48
|
-
<div class="slider-row" style="--thumb-pos: ${
|
|
48
|
+
<div class="slider-row" style="--thumb-pos: ${e}%;">
|
|
49
49
|
<div class="value-badge">${this.value}%</div>
|
|
50
50
|
<input type="range" .value=${String(this.value)}
|
|
51
51
|
min="${this.min}" max="${this.max}"
|
|
@@ -55,20 +55,20 @@ let a = class extends v {
|
|
|
55
55
|
</div>
|
|
56
56
|
|
|
57
57
|
<div class="presets">
|
|
58
|
-
${this._presets.map((
|
|
59
|
-
<button class="preset-btn ${this.value ===
|
|
60
|
-
aria-label=${`Set confidence to ${
|
|
61
|
-
aria-pressed=${this.value ===
|
|
62
|
-
@click=${() => this._setPreset(
|
|
58
|
+
${this._presets.map((r) => l`
|
|
59
|
+
<button class="preset-btn ${this.value === r.value ? "active" : ""}"
|
|
60
|
+
aria-label=${`Set confidence to ${r.value}%`}
|
|
61
|
+
aria-pressed=${this.value === r.value ? "true" : "false"}
|
|
62
|
+
@click=${() => this._setPreset(r.value)}>${r.label}</button>
|
|
63
63
|
`)}
|
|
64
64
|
</div>
|
|
65
65
|
|
|
66
66
|
${this.distribution.length > 0 ? (() => {
|
|
67
|
-
const
|
|
67
|
+
const r = Math.max(...this.distribution, 1);
|
|
68
68
|
return l`
|
|
69
69
|
<div class="distribution" aria-hidden="true">
|
|
70
70
|
${this.distribution.map((o, i) => {
|
|
71
|
-
const t = o /
|
|
71
|
+
const t = o / r * 32, c = i / this.distribution.length * 100 < this.value;
|
|
72
72
|
return l`<div class="dist-bar ${c ? "below" : ""}"
|
|
73
73
|
style="height: ${Math.max(t, 2)}px; background: ${this._getBarColor(i, this.distribution.length)};"></div>`;
|
|
74
74
|
})}
|
|
@@ -122,22 +122,22 @@ a.styles = [b, h, f, d`
|
|
|
122
122
|
width: var(--cg-spacing-16);
|
|
123
123
|
height: var(--cg-spacing-16);
|
|
124
124
|
border-radius: var(--cg-border-radius-full);
|
|
125
|
-
background: var(--cg-color-
|
|
126
|
-
border: var(--cg-spacing-2) solid var(--cg-color-
|
|
125
|
+
background: var(--cg-color-slider-thumb-background);
|
|
126
|
+
border: var(--cg-spacing-2) solid var(--cg-color-slider-thumb-border);
|
|
127
127
|
cursor: pointer;
|
|
128
128
|
}
|
|
129
129
|
input[type="range"]:focus-visible::-webkit-slider-thumb {
|
|
130
|
-
outline: none; box-shadow: 0 0 0 3px var(--cg-
|
|
130
|
+
outline: none; box-shadow: 0 0 0 3px var(--cg-color-focus-ring);
|
|
131
131
|
}
|
|
132
132
|
/* Firefox */
|
|
133
133
|
input[type="range"]::-moz-range-thumb {
|
|
134
134
|
width: var(--cg-spacing-16); height: var(--cg-spacing-16); border-radius: var(--cg-border-radius-full);
|
|
135
|
-
background: var(--cg-color-
|
|
136
|
-
border: var(--cg-spacing-2) solid var(--cg-color-
|
|
135
|
+
background: var(--cg-color-slider-thumb-background);
|
|
136
|
+
border: var(--cg-spacing-2) solid var(--cg-color-slider-thumb-border);
|
|
137
137
|
cursor: pointer;
|
|
138
138
|
}
|
|
139
139
|
input[type="range"]:focus-visible::-moz-range-thumb {
|
|
140
|
-
outline: none; box-shadow: 0 0 0 3px var(--cg-
|
|
140
|
+
outline: none; box-shadow: 0 0 0 3px var(--cg-color-focus-ring);
|
|
141
141
|
}
|
|
142
142
|
input[type="range"]::-moz-range-track {
|
|
143
143
|
height: var(--cg-spacing-6); border-radius: var(--cg-border-radius-50);
|
|
@@ -170,7 +170,7 @@ a.styles = [b, h, f, d`
|
|
|
170
170
|
}
|
|
171
171
|
.preset-btn:hover { border-color: var(--cg-color-input-border-hover); color: var(--cg-color-surface-base-text); }
|
|
172
172
|
.preset-btn:focus-visible {
|
|
173
|
-
outline: none; box-shadow: 0 0 0 3px var(--cg-
|
|
173
|
+
outline: none; box-shadow: 0 0 0 3px var(--cg-color-focus-ring);
|
|
174
174
|
}
|
|
175
175
|
.preset-btn.active { border-color: var(--cg-color-surface-base-text); color: var(--cg-color-surface-base-text); background: var(--cg-overlay-accent-subtle); }
|
|
176
176
|
|