@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,39 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
interface FormField {
|
|
3
|
+
name: string;
|
|
4
|
+
type: 'text' | 'email' | 'number' | 'select' | 'checkbox' | 'textarea' | 'date';
|
|
5
|
+
label: string;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
options?: {
|
|
9
|
+
value: string;
|
|
10
|
+
label: string;
|
|
11
|
+
}[];
|
|
12
|
+
min?: number;
|
|
13
|
+
max?: number;
|
|
14
|
+
pattern?: string;
|
|
15
|
+
section?: string;
|
|
16
|
+
default?: string | number | boolean;
|
|
17
|
+
}
|
|
18
|
+
interface FormSchema {
|
|
19
|
+
title?: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
fields: FormField[];
|
|
22
|
+
submitLabel?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare class AiFormGenerator extends LitElement {
|
|
25
|
+
static styles: import('lit').CSSResult[];
|
|
26
|
+
schema: FormSchema | null;
|
|
27
|
+
values: Record<string, unknown>;
|
|
28
|
+
loading: boolean;
|
|
29
|
+
private _values;
|
|
30
|
+
private _errors;
|
|
31
|
+
updated(changed: Map<string, unknown>): void;
|
|
32
|
+
private _setValue;
|
|
33
|
+
private _validate;
|
|
34
|
+
private _handleSubmit;
|
|
35
|
+
private _renderField;
|
|
36
|
+
render(): import('lit').TemplateResult<1>;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=ai-form-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-form-generator.d.ts","sourceRoot":"","sources":["../../../src/components/ai-form-generator/ai-form-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAGrD,OAAO,yBAAyB,CAAC;AACjC,OAAO,+BAA+B,CAAC;AACvC,OAAO,2BAA2B,CAAC;AACnC,OAAO,+BAA+B,CAAC;AACvC,OAAO,2BAA2B,CAAC;AAEnC,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACrC;AAED,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBACa,eAAgB,SAAQ,UAAU;IAC7C,OAAgB,MAAM,4BA8DnB;IAEyB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAQ;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACpC,OAAO,UAAS;IAEpC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,OAAO,CAA8B;IAE7C,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAc9C,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,SAAS;IA4BjB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,YAAY;IAuDX,MAAM;CAwChB"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { css as p, LitElement as v, html as s, nothing as l } from "lit";
|
|
2
|
+
import { property as h, state as m, customElement as u } from "lit/decorators.js";
|
|
3
|
+
import { h as g, r as f } from "../../chunks/premium.css-9I4kHrsl.js";
|
|
4
|
+
import "../cg-input/cg-input.js";
|
|
5
|
+
import "../cg-textarea/cg-textarea.js";
|
|
6
|
+
import "../cg-select/cg-select.js";
|
|
7
|
+
import "../cg-checkbox/cg-checkbox.js";
|
|
8
|
+
import "../cg-button/cg-button.js";
|
|
9
|
+
var b = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, c = (e, t, r, a) => {
|
|
10
|
+
for (var o = a > 1 ? void 0 : a ? $(t, r) : t, n = e.length - 1, d; n >= 0; n--)
|
|
11
|
+
(d = e[n]) && (o = (a ? d(t, r, o) : d(o)) || o);
|
|
12
|
+
return a && o && b(t, r, o), o;
|
|
13
|
+
};
|
|
14
|
+
let i = class extends v {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments), this.schema = null, this.values = {}, this.loading = !1, this._values = {}, this._errors = {};
|
|
17
|
+
}
|
|
18
|
+
updated(e) {
|
|
19
|
+
if (e.has("schema") && this.schema) {
|
|
20
|
+
const t = { ...this.values };
|
|
21
|
+
for (const r of this.schema.fields)
|
|
22
|
+
t[r.name] === void 0 && r.default !== void 0 && (t[r.name] = r.default);
|
|
23
|
+
this._values = t, this._errors = {};
|
|
24
|
+
}
|
|
25
|
+
e.has("values") && (this._values = { ...this.values });
|
|
26
|
+
}
|
|
27
|
+
_setValue(e, t) {
|
|
28
|
+
if (this._values = { ...this._values, [e]: t }, this._errors[e]) {
|
|
29
|
+
const r = { ...this._errors };
|
|
30
|
+
delete r[e], this._errors = r;
|
|
31
|
+
}
|
|
32
|
+
this.dispatchEvent(new CustomEvent("ai-form-change", {
|
|
33
|
+
bubbles: !0,
|
|
34
|
+
composed: !0,
|
|
35
|
+
detail: { name: e, value: t, values: this._values }
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
_validate() {
|
|
39
|
+
if (!this.schema) return !1;
|
|
40
|
+
const e = {};
|
|
41
|
+
for (const t of this.schema.fields) {
|
|
42
|
+
const r = this._values[t.name];
|
|
43
|
+
if (t.required && (r === void 0 || r === "" || r === null) && (e[t.name] = `${t.label} is required`), t.type === "number" && r !== void 0 && r !== "") {
|
|
44
|
+
const a = Number(r);
|
|
45
|
+
isNaN(a) ? e[t.name] = "Must be a number" : t.min !== void 0 && a < t.min ? e[t.name] = `Minimum: ${t.min}` : t.max !== void 0 && a > t.max && (e[t.name] = `Maximum: ${t.max}`);
|
|
46
|
+
}
|
|
47
|
+
if (t.pattern && r)
|
|
48
|
+
try {
|
|
49
|
+
new RegExp(t.pattern).test(String(r)) || (e[t.name] = "Invalid format");
|
|
50
|
+
} catch {
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return this._errors = e, this.dispatchEvent(new CustomEvent("ai-form-validate", {
|
|
54
|
+
bubbles: !0,
|
|
55
|
+
composed: !0,
|
|
56
|
+
detail: { valid: Object.keys(e).length === 0, errors: e }
|
|
57
|
+
})), Object.keys(e).length === 0;
|
|
58
|
+
}
|
|
59
|
+
_handleSubmit() {
|
|
60
|
+
this._validate() && this.dispatchEvent(new CustomEvent("ai-form-submit", {
|
|
61
|
+
bubbles: !0,
|
|
62
|
+
composed: !0,
|
|
63
|
+
detail: { values: { ...this._values } }
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
_renderField(e) {
|
|
67
|
+
const t = this._values[e.name] ?? "", r = this._errors[e.name];
|
|
68
|
+
return e.type === "checkbox" ? s`
|
|
69
|
+
<cg-checkbox
|
|
70
|
+
label="${e.label}"
|
|
71
|
+
?checked=${!!t}
|
|
72
|
+
@cg-change=${(a) => this._setValue(e.name, a.detail.checked)}
|
|
73
|
+
></cg-checkbox>
|
|
74
|
+
` : e.type === "select" ? s`
|
|
75
|
+
<cg-select
|
|
76
|
+
label="${e.label}"
|
|
77
|
+
placeholder="${e.placeholder || "Select..."}"
|
|
78
|
+
.value=${String(t)}
|
|
79
|
+
.options=${(e.options || []).map((a) => ({ value: a.value, label: a.label }))}
|
|
80
|
+
?error=${!!r}
|
|
81
|
+
@cg-change=${(a) => this._setValue(e.name, a.detail.value)}
|
|
82
|
+
></cg-select>
|
|
83
|
+
${r ? s`<cg-label error="${r}"></cg-label>` : l}
|
|
84
|
+
` : e.type === "textarea" ? s`
|
|
85
|
+
<cg-textarea
|
|
86
|
+
label="${e.label}"
|
|
87
|
+
placeholder="${e.placeholder || ""}"
|
|
88
|
+
.value=${String(t)}
|
|
89
|
+
?error=${!!r}
|
|
90
|
+
helper="${r || ""}"
|
|
91
|
+
@cg-input=${(a) => this._setValue(e.name, a.detail.value)}
|
|
92
|
+
></cg-textarea>
|
|
93
|
+
` : s`
|
|
94
|
+
<cg-input
|
|
95
|
+
label="${e.label}"
|
|
96
|
+
type="${e.type}"
|
|
97
|
+
placeholder="${e.placeholder || ""}"
|
|
98
|
+
.value=${String(t)}
|
|
99
|
+
?error=${!!r}
|
|
100
|
+
?required=${e.required}
|
|
101
|
+
helper="${r || ""}"
|
|
102
|
+
@cg-input=${(a) => this._setValue(e.name, a.detail.value)}
|
|
103
|
+
></cg-input>
|
|
104
|
+
`;
|
|
105
|
+
}
|
|
106
|
+
render() {
|
|
107
|
+
if (this.loading)
|
|
108
|
+
return s`<div class="form"><div class="loading-overlay"><ai-thinking text="Generating form" delay="0"></ai-thinking></div></div>`;
|
|
109
|
+
if (!this.schema || this.schema.fields.length === 0)
|
|
110
|
+
return s`<div class="form"><div class="empty">No form schema provided</div></div>`;
|
|
111
|
+
const e = /* @__PURE__ */ new Map();
|
|
112
|
+
for (const t of this.schema.fields) {
|
|
113
|
+
const r = t.section || "";
|
|
114
|
+
e.has(r) || e.set(r, []), e.get(r).push(t);
|
|
115
|
+
}
|
|
116
|
+
return s`
|
|
117
|
+
<div class="form" role="form" aria-label="${this.schema.title || "AI-generated form"}">
|
|
118
|
+
${this.schema.title ? s`
|
|
119
|
+
<div class="form-header">
|
|
120
|
+
<div class="form-title">${this.schema.title}</div>
|
|
121
|
+
${this.schema.description ? s`<div class="form-desc">${this.schema.description}</div>` : l}
|
|
122
|
+
</div>
|
|
123
|
+
` : l}
|
|
124
|
+
|
|
125
|
+
<div class="form-body">
|
|
126
|
+
${[...e.entries()].map(([t, r]) => s`
|
|
127
|
+
${t ? s`<div class="section-label">${t}</div>` : l}
|
|
128
|
+
${r.map((a) => this._renderField(a))}
|
|
129
|
+
`)}
|
|
130
|
+
</div>
|
|
131
|
+
|
|
132
|
+
<div class="form-footer">
|
|
133
|
+
<cg-button variant="primary" full @cg-click=${this._handleSubmit}>
|
|
134
|
+
${this.schema.submitLabel || "Submit"}
|
|
135
|
+
</cg-button>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
`;
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
i.styles = [g, f, p`
|
|
142
|
+
:host { display: block; }
|
|
143
|
+
|
|
144
|
+
.form {
|
|
145
|
+
background: var(--cg-color-surface-cards-background);
|
|
146
|
+
border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
147
|
+
border-radius: var(--cg-component-card-radius);
|
|
148
|
+
overflow: hidden;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.form-header {
|
|
152
|
+
padding: var(--cg-spacing-20) var(--cg-spacing-24) var(--cg-spacing-12);
|
|
153
|
+
}
|
|
154
|
+
.form-title {
|
|
155
|
+
font-size: var(--cg-font-size-sm);
|
|
156
|
+
font-weight: var(--cg-font-weight-semibold);
|
|
157
|
+
color: var(--cg-color-surface-base-text);
|
|
158
|
+
}
|
|
159
|
+
.form-desc {
|
|
160
|
+
font-size: var(--cg-font-size-xs);
|
|
161
|
+
color: var(--cg-color-input-text-placeholder);
|
|
162
|
+
margin-top: var(--cg-spacing-4);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.form-body {
|
|
166
|
+
padding: var(--cg-spacing-8) var(--cg-spacing-24) var(--cg-spacing-16);
|
|
167
|
+
display: flex;
|
|
168
|
+
flex-direction: column;
|
|
169
|
+
gap: var(--cg-spacing-16);
|
|
170
|
+
overflow: hidden;
|
|
171
|
+
}
|
|
172
|
+
.form-body > * {
|
|
173
|
+
min-width: 0;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.section-label {
|
|
177
|
+
font-size: var(--cg-font-size-xs);
|
|
178
|
+
font-weight: var(--cg-font-weight-medium);
|
|
179
|
+
color: var(--cg-color-input-text-placeholder);
|
|
180
|
+
text-transform: uppercase;
|
|
181
|
+
letter-spacing: var(--cg-letter-spacing-wide);
|
|
182
|
+
padding-top: var(--cg-spacing-8);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.form-footer {
|
|
186
|
+
padding: var(--cg-spacing-16) var(--cg-spacing-24);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.loading-overlay {
|
|
190
|
+
display: flex;
|
|
191
|
+
align-items: center;
|
|
192
|
+
justify-content: center;
|
|
193
|
+
padding: var(--cg-spacing-48);
|
|
194
|
+
color: var(--cg-color-input-text-placeholder);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.empty {
|
|
198
|
+
padding: var(--cg-spacing-32);
|
|
199
|
+
text-align: center;
|
|
200
|
+
color: var(--cg-color-input-text-placeholder);
|
|
201
|
+
font-size: var(--cg-font-size-sm);
|
|
202
|
+
}
|
|
203
|
+
`];
|
|
204
|
+
c([
|
|
205
|
+
h({ type: Object })
|
|
206
|
+
], i.prototype, "schema", 2);
|
|
207
|
+
c([
|
|
208
|
+
h({ type: Object })
|
|
209
|
+
], i.prototype, "values", 2);
|
|
210
|
+
c([
|
|
211
|
+
h({ type: Boolean })
|
|
212
|
+
], i.prototype, "loading", 2);
|
|
213
|
+
c([
|
|
214
|
+
m()
|
|
215
|
+
], i.prototype, "_values", 2);
|
|
216
|
+
c([
|
|
217
|
+
m()
|
|
218
|
+
], i.prototype, "_errors", 2);
|
|
219
|
+
i = c([
|
|
220
|
+
u("ai-form-generator")
|
|
221
|
+
], i);
|
|
222
|
+
export {
|
|
223
|
+
i as AiFormGenerator
|
|
224
|
+
};
|
|
225
|
+
//# sourceMappingURL=ai-form-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-form-generator.js","sources":["../../../src/components/ai-form-generator/ai-form-generator.ts"],"sourcesContent":["/**\n * @element ai-form-generator\n * Dynamic form from AI-generated JSON schema using Cognivo design system components.\n *\n * @fires {CustomEvent<{values}>} ai-form-submit\n * @fires {CustomEvent<{name, value, values}>} ai-form-change\n * @fires {CustomEvent<{valid, errors}>} ai-form-validate\n */\nimport { LitElement, html, css, nothing } from 'lit';\nimport { property, state, customElement } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\nimport '../cg-input/cg-input.js';\nimport '../cg-textarea/cg-textarea.js';\nimport '../cg-select/cg-select.js';\nimport '../cg-checkbox/cg-checkbox.js';\nimport '../cg-button/cg-button.js';\n\ninterface FormField {\n name: string;\n type: 'text' | 'email' | 'number' | 'select' | 'checkbox' | 'textarea' | 'date';\n label: string;\n placeholder?: string;\n required?: boolean;\n options?: { value: string; label: string }[];\n min?: number;\n max?: number;\n pattern?: string;\n section?: string;\n default?: string | number | boolean;\n}\n\ninterface FormSchema {\n title?: string;\n description?: string;\n fields: FormField[];\n submitLabel?: string;\n}\n\n@customElement('ai-form-generator')\nexport class AiFormGenerator extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host { display: block; }\n\n .form {\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-component-card-radius);\n overflow: hidden;\n }\n\n .form-header {\n padding: var(--cg-spacing-20) var(--cg-spacing-24) var(--cg-spacing-12);\n }\n .form-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 }\n .form-desc {\n font-size: var(--cg-font-size-xs);\n color: var(--cg-color-input-text-placeholder);\n margin-top: var(--cg-spacing-4);\n }\n\n .form-body {\n padding: var(--cg-spacing-8) var(--cg-spacing-24) var(--cg-spacing-16);\n display: flex;\n flex-direction: column;\n gap: var(--cg-spacing-16);\n overflow: hidden;\n }\n .form-body > * {\n min-width: 0;\n }\n\n .section-label {\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-medium);\n color: var(--cg-color-input-text-placeholder);\n text-transform: uppercase;\n letter-spacing: var(--cg-letter-spacing-wide);\n padding-top: var(--cg-spacing-8);\n }\n\n .form-footer {\n padding: var(--cg-spacing-16) var(--cg-spacing-24);\n }\n\n .loading-overlay {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--cg-spacing-48);\n color: var(--cg-color-input-text-placeholder);\n }\n\n .empty {\n padding: var(--cg-spacing-32);\n text-align: center;\n color: var(--cg-color-input-text-placeholder);\n font-size: var(--cg-font-size-sm);\n }\n `];\n\n @property({ type: Object }) schema: FormSchema | null = null;\n @property({ type: Object }) values: Record<string, unknown> = {};\n @property({ type: Boolean }) loading = false;\n\n @state() private _values: Record<string, unknown> = {};\n @state() private _errors: Record<string, string> = {};\n\n override updated(changed: Map<string, unknown>) {\n if (changed.has('schema') && this.schema) {\n const vals: Record<string, unknown> = { ...this.values };\n for (const f of this.schema.fields) {\n if (vals[f.name] === undefined && f.default !== undefined) vals[f.name] = f.default;\n }\n this._values = vals;\n this._errors = {};\n }\n if (changed.has('values')) {\n this._values = { ...this.values };\n }\n }\n\n private _setValue(name: string, value: unknown) {\n this._values = { ...this._values, [name]: value };\n if (this._errors[name]) {\n const errs = { ...this._errors };\n delete errs[name];\n this._errors = errs;\n }\n this.dispatchEvent(new CustomEvent('ai-form-change', {\n bubbles: true, composed: true,\n detail: { name, value, values: this._values },\n }));\n }\n\n private _validate(): boolean {\n if (!this.schema) return false;\n const errors: Record<string, string> = {};\n for (const f of this.schema.fields) {\n const val = this._values[f.name];\n if (f.required && (val === undefined || val === '' || val === null)) {\n errors[f.name] = `${f.label} is required`;\n }\n if (f.type === 'number' && val !== undefined && val !== '') {\n const num = Number(val);\n if (isNaN(num)) errors[f.name] = 'Must be a number';\n else if (f.min !== undefined && num < f.min) errors[f.name] = `Minimum: ${f.min}`;\n else if (f.max !== undefined && num > f.max) errors[f.name] = `Maximum: ${f.max}`;\n }\n if (f.pattern && val) {\n try {\n if (!new RegExp(f.pattern).test(String(val))) errors[f.name] = 'Invalid format';\n } catch { /* skip */ }\n }\n }\n this._errors = errors;\n this.dispatchEvent(new CustomEvent('ai-form-validate', {\n bubbles: true, composed: true,\n detail: { valid: Object.keys(errors).length === 0, errors },\n }));\n return Object.keys(errors).length === 0;\n }\n\n private _handleSubmit() {\n if (!this._validate()) return;\n this.dispatchEvent(new CustomEvent('ai-form-submit', {\n bubbles: true, composed: true,\n detail: { values: { ...this._values } },\n }));\n }\n\n private _renderField(field: FormField) {\n const val = this._values[field.name] ?? '';\n const err = this._errors[field.name];\n\n if (field.type === 'checkbox') {\n return html`\n <cg-checkbox\n label=\"${field.label}\"\n ?checked=${!!val}\n @cg-change=${(e: CustomEvent) => this._setValue(field.name, e.detail.checked)}\n ></cg-checkbox>\n `;\n }\n\n if (field.type === 'select') {\n return html`\n <cg-select\n label=\"${field.label}\"\n placeholder=\"${field.placeholder || 'Select...'}\"\n .value=${String(val)}\n .options=${(field.options || []).map(o => ({ value: o.value, label: o.label }))}\n ?error=${!!err}\n @cg-change=${(e: CustomEvent) => this._setValue(field.name, e.detail.value)}\n ></cg-select>\n ${err ? html`<cg-label error=\"${err}\"></cg-label>` : nothing}\n `;\n }\n\n if (field.type === 'textarea') {\n return html`\n <cg-textarea\n label=\"${field.label}\"\n placeholder=\"${field.placeholder || ''}\"\n .value=${String(val)}\n ?error=${!!err}\n helper=\"${err || ''}\"\n @cg-input=${(e: CustomEvent) => this._setValue(field.name, e.detail.value)}\n ></cg-textarea>\n `;\n }\n\n return html`\n <cg-input\n label=\"${field.label}\"\n type=\"${field.type}\"\n placeholder=\"${field.placeholder || ''}\"\n .value=${String(val)}\n ?error=${!!err}\n ?required=${field.required}\n helper=\"${err || ''}\"\n @cg-input=${(e: CustomEvent) => this._setValue(field.name, e.detail.value)}\n ></cg-input>\n `;\n }\n\n override render() {\n if (this.loading) {\n return html`<div class=\"form\"><div class=\"loading-overlay\"><ai-thinking text=\"Generating form\" delay=\"0\"></ai-thinking></div></div>`;\n }\n\n if (!this.schema || this.schema.fields.length === 0) {\n return html`<div class=\"form\"><div class=\"empty\">No form schema provided</div></div>`;\n }\n\n const sections = new Map<string, FormField[]>();\n for (const f of this.schema.fields) {\n const sec = f.section || '';\n if (!sections.has(sec)) sections.set(sec, []);\n sections.get(sec)!.push(f);\n }\n\n return html`\n <div class=\"form\" role=\"form\" aria-label=\"${this.schema.title || 'AI-generated form'}\">\n ${this.schema.title ? html`\n <div class=\"form-header\">\n <div class=\"form-title\">${this.schema.title}</div>\n ${this.schema.description ? html`<div class=\"form-desc\">${this.schema.description}</div>` : nothing}\n </div>\n ` : nothing}\n\n <div class=\"form-body\">\n ${[...sections.entries()].map(([section, fields]) => html`\n ${section ? html`<div class=\"section-label\">${section}</div>` : nothing}\n ${fields.map(f => this._renderField(f))}\n `)}\n </div>\n\n <div class=\"form-footer\">\n <cg-button variant=\"primary\" full @cg-click=${this._handleSubmit}>\n ${this.schema.submitLabel || 'Submit'}\n </cg-button>\n </div>\n </div>\n `;\n }\n}\n"],"names":["AiFormGenerator","LitElement","changed","vals","f","name","value","errs","errors","val","num","field","err","html","e","o","nothing","sections","sec","section","fields","hostBlock","reducedMotion","css","__decorateClass","property","state","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
interface PolicyCheck {
|
|
3
|
+
policy: string;
|
|
4
|
+
passed: boolean;
|
|
5
|
+
reason?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class AiGuardrail extends LitElement {
|
|
8
|
+
static styles: import('lit').CSSResult[];
|
|
9
|
+
rounded: 'none' | 'sm' | 'md' | 'lg';
|
|
10
|
+
status: 'safe' | 'flagged' | 'blocked';
|
|
11
|
+
checks: PolicyCheck[];
|
|
12
|
+
blockedContent: string;
|
|
13
|
+
allowOverride: boolean;
|
|
14
|
+
severityLevel: 'low' | 'medium' | 'high' | 'critical';
|
|
15
|
+
private _revealed;
|
|
16
|
+
private _getStatusIcon;
|
|
17
|
+
private _getStatusText;
|
|
18
|
+
private _checkIcon;
|
|
19
|
+
render(): import('lit').TemplateResult<1>;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=ai-guardrail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-guardrail.d.ts","sourceRoot":"","sources":["../../../src/components/ai-guardrail/ai-guardrail.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBACa,WAAY,SAAQ,UAAU;IACzC,OAAgB,MAAM,4BAiInB;IAE0B,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAC7D,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAU;IACjC,MAAM,EAAE,WAAW,EAAE,CAAM;IAC1C,cAAc,SAAM;IACH,aAAa,UAAS;IACvC,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAS;IAEjE,OAAO,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,UAAU;IAMT,MAAM;CA+ChB"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { css as u, LitElement as v, html as r, nothing as s } from "lit";
|
|
2
|
+
import { property as c, state as f, customElement as h } from "lit/decorators.js";
|
|
3
|
+
import { h as p, r as b } from "../../chunks/premium.css-9I4kHrsl.js";
|
|
4
|
+
var k = Object.defineProperty, m = Object.getOwnPropertyDescriptor, a = (e, i, l, n) => {
|
|
5
|
+
for (var o = n > 1 ? void 0 : n ? m(i, l) : i, d = e.length - 1, g; d >= 0; d--)
|
|
6
|
+
(g = e[d]) && (o = (n ? g(i, l, o) : g(o)) || o);
|
|
7
|
+
return n && o && k(i, l, o), o;
|
|
8
|
+
};
|
|
9
|
+
let t = class extends v {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments), this.rounded = "lg", this.status = "safe", this.checks = [], this.blockedContent = "", this.allowOverride = !1, this.severityLevel = "low", this._revealed = !1;
|
|
12
|
+
}
|
|
13
|
+
_getStatusIcon() {
|
|
14
|
+
return this.status === "safe" ? r`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>` : this.status === "flagged" ? r`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M12 9v4m0 4h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z"/></svg>` : r`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6L6 18M6 6l12 12"/></svg>`;
|
|
15
|
+
}
|
|
16
|
+
_getStatusText() {
|
|
17
|
+
return this.status === "safe" ? "All safety checks passed" : this.status === "flagged" ? "Content flagged for review" : "Content blocked by safety filter";
|
|
18
|
+
}
|
|
19
|
+
_checkIcon(e) {
|
|
20
|
+
return e ? r`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>` : r`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6L6 18M6 6l12 12"/></svg>`;
|
|
21
|
+
}
|
|
22
|
+
render() {
|
|
23
|
+
return r`
|
|
24
|
+
<div class="panel" role="alert" aria-live="polite" aria-label="Safety filter: ${this.status}">
|
|
25
|
+
<div class="status-bar ${this.status}">
|
|
26
|
+
${this._getStatusIcon()}
|
|
27
|
+
<span class="status-text">${this._getStatusText()}</span>
|
|
28
|
+
${this.status !== "safe" ? r`<span class="severity ${this.severityLevel}">${this.severityLevel}</span>` : s}
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
${this.checks.length > 0 ? r`
|
|
32
|
+
<div class="checks">
|
|
33
|
+
<div class="checks-label">Policy Checks (${this.checks.filter((e) => e.passed).length}/${this.checks.length} passed)</div>
|
|
34
|
+
${this.checks.map((e) => r`
|
|
35
|
+
<div class="check">
|
|
36
|
+
<span class="check-icon ${e.passed ? "pass" : "fail"}">${this._checkIcon(e.passed)}</span>
|
|
37
|
+
<div class="check-info">
|
|
38
|
+
<div class="check-policy">${e.policy}</div>
|
|
39
|
+
${e.reason ? r`<div class="check-reason">${e.reason}</div>` : s}
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
`)}
|
|
43
|
+
</div>
|
|
44
|
+
` : s}
|
|
45
|
+
|
|
46
|
+
${this.blockedContent ? r`
|
|
47
|
+
<div class="blocked-section">
|
|
48
|
+
<div class="blocked-label">Blocked Content</div>
|
|
49
|
+
<div class="blocked-content ${this._revealed ? "revealed" : ""}"
|
|
50
|
+
@click=${() => {
|
|
51
|
+
this._revealed = !this._revealed, this.dispatchEvent(new CustomEvent("ai-guardrail-reveal", { bubbles: !0, composed: !0, detail: { revealed: this._revealed } }));
|
|
52
|
+
}}>
|
|
53
|
+
${this.blockedContent}
|
|
54
|
+
</div>
|
|
55
|
+
<div class="blocked-hint">${this._revealed ? "Click to hide" : "Click to reveal (may contain harmful content)"}</div>
|
|
56
|
+
</div>
|
|
57
|
+
` : s}
|
|
58
|
+
|
|
59
|
+
${this.allowOverride || this.status !== "safe" ? r`
|
|
60
|
+
<div class="actions">
|
|
61
|
+
<button class="btn" @click=${() => this.dispatchEvent(new CustomEvent("ai-guardrail-report", { bubbles: !0, composed: !0, detail: { status: this.status, checks: this.checks } }))}>Report Issue</button>
|
|
62
|
+
${this.allowOverride ? r`
|
|
63
|
+
<span class="override-warning">Override requires admin approval</span>
|
|
64
|
+
<button class="btn danger" @click=${() => this.dispatchEvent(new CustomEvent("ai-guardrail-override", { bubbles: !0, composed: !0, detail: { status: this.status, severity: this.severityLevel } }))}>Override</button>
|
|
65
|
+
` : s}
|
|
66
|
+
</div>
|
|
67
|
+
` : s}
|
|
68
|
+
</div>
|
|
69
|
+
`;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
t.styles = [p, b, u`
|
|
73
|
+
.panel {
|
|
74
|
+
background: var(--cg-color-surface-cards-background);
|
|
75
|
+
border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
76
|
+
border-radius: var(--cg-component-card-radius);
|
|
77
|
+
overflow: hidden;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/* ── Status bar ── */
|
|
81
|
+
.status-bar {
|
|
82
|
+
display: flex; align-items: center; gap: var(--cg-spacing-12);
|
|
83
|
+
padding: var(--cg-spacing-16) var(--cg-spacing-20);
|
|
84
|
+
font-size: var(--cg-font-size-sm); font-weight: var(--cg-font-weight-semibold);
|
|
85
|
+
}
|
|
86
|
+
.status-bar svg { width: var(--cg-spacing-16); height: var(--cg-spacing-16); flex-shrink: 0; }
|
|
87
|
+
.status-bar.safe {
|
|
88
|
+
background: var(--cg-color-status-success-background-default);
|
|
89
|
+
color: var(--cg-color-status-success-text-default);
|
|
90
|
+
border-bottom: var(--cg-border-width-50) solid var(--cg-color-status-success-border-default);
|
|
91
|
+
}
|
|
92
|
+
.status-bar.flagged {
|
|
93
|
+
background: var(--cg-color-status-warning-background-default);
|
|
94
|
+
color: var(--cg-color-status-warning-text-default);
|
|
95
|
+
border-bottom: var(--cg-border-width-50) solid var(--cg-color-status-warning-border-default);
|
|
96
|
+
}
|
|
97
|
+
.status-bar.blocked {
|
|
98
|
+
background: var(--cg-color-status-error-background-default);
|
|
99
|
+
color: var(--cg-color-status-error-text-default);
|
|
100
|
+
border-bottom: var(--cg-border-width-50) solid var(--cg-color-status-error-border-default);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.status-text { flex: 1; }
|
|
104
|
+
.severity {
|
|
105
|
+
font-size: var(--cg-font-size-xs); font-weight: var(--cg-font-weight-semibold);
|
|
106
|
+
padding: var(--cg-spacing-2) var(--cg-spacing-8); border-radius: var(--cg-border-radius-full);
|
|
107
|
+
text-transform: uppercase; letter-spacing: var(--cg-letter-spacing-wide);
|
|
108
|
+
}
|
|
109
|
+
.severity.low { background: var(--cg-color-status-success-background-default); color: var(--cg-color-status-success-text-default); }
|
|
110
|
+
.severity.medium { background: var(--cg-color-status-warning-background-default); color: var(--cg-color-status-warning-text-default); }
|
|
111
|
+
.severity.high { background: var(--cg-color-status-warning-background-default); color: var(--cg-color-status-warning-text-default); }
|
|
112
|
+
.severity.critical { background: var(--cg-color-status-error-background-default); color: var(--cg-color-status-error-text-default); }
|
|
113
|
+
|
|
114
|
+
/* ── Policy checks ── */
|
|
115
|
+
.checks { padding: var(--cg-spacing-16) var(--cg-spacing-20); }
|
|
116
|
+
.checks-label {
|
|
117
|
+
font-size: var(--cg-font-size-xs); font-weight: var(--cg-font-weight-semibold);
|
|
118
|
+
color: var(--cg-color-surface-container-outlined);
|
|
119
|
+
text-transform: uppercase; letter-spacing: var(--cg-letter-spacing-wide);
|
|
120
|
+
margin-bottom: var(--cg-spacing-12);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.check {
|
|
124
|
+
display: flex; align-items: flex-start; gap: var(--cg-spacing-12);
|
|
125
|
+
padding: var(--cg-spacing-6) 0;
|
|
126
|
+
border-bottom: var(--cg-border-width-50) solid var(--cg-color-surface-cards-divider);
|
|
127
|
+
}
|
|
128
|
+
.check:last-child { border-bottom: none; }
|
|
129
|
+
|
|
130
|
+
.check-icon { flex-shrink: 0; margin-top: var(--cg-spacing-2); }
|
|
131
|
+
.check-icon svg { width: var(--cg-spacing-12); height: var(--cg-spacing-12); }
|
|
132
|
+
.check-icon.pass { color: var(--cg-color-status-success-text-default); }
|
|
133
|
+
.check-icon.fail { color: var(--cg-color-status-error-text-default); }
|
|
134
|
+
|
|
135
|
+
.check-info { flex: 1; }
|
|
136
|
+
.check-policy { font-size: var(--cg-font-size-sm); color: var(--cg-color-surface-base-text); font-weight: var(--cg-font-weight-medium); }
|
|
137
|
+
.check-reason { font-size: var(--cg-font-size-xs); color: var(--cg-color-surface-container-outlined); margin-top: var(--cg-spacing-2); }
|
|
138
|
+
|
|
139
|
+
/* ── Blocked content ── */
|
|
140
|
+
.blocked-section {
|
|
141
|
+
padding: var(--cg-spacing-16) var(--cg-spacing-20);
|
|
142
|
+
border-top: var(--cg-border-width-50) solid var(--cg-color-surface-cards-divider);
|
|
143
|
+
}
|
|
144
|
+
.blocked-label {
|
|
145
|
+
font-size: var(--cg-font-size-xs); font-weight: var(--cg-font-weight-semibold);
|
|
146
|
+
color: var(--cg-color-status-error-text-default);
|
|
147
|
+
text-transform: uppercase; letter-spacing: var(--cg-letter-spacing-wide);
|
|
148
|
+
margin-bottom: var(--cg-spacing-12);
|
|
149
|
+
}
|
|
150
|
+
.blocked-content {
|
|
151
|
+
padding: var(--cg-spacing-12) var(--cg-spacing-16); border-radius: var(--cg-border-radius-100);
|
|
152
|
+
background: var(--cg-color-status-error-background-default);
|
|
153
|
+
border: var(--cg-border-width-50) solid var(--cg-color-status-error-border-default);
|
|
154
|
+
font-size: var(--cg-font-size-sm); color: var(--cg-color-surface-base-text);
|
|
155
|
+
font-family: var(--cg-font-family-mono);
|
|
156
|
+
line-height: var(--cg-line-height-relaxed);
|
|
157
|
+
filter: blur(4px);
|
|
158
|
+
transition: filter var(--cg-transition-duration-default) var(--cg-transition-easing-default);
|
|
159
|
+
cursor: pointer;
|
|
160
|
+
}
|
|
161
|
+
.blocked-content.revealed { filter: none; }
|
|
162
|
+
.blocked-hint {
|
|
163
|
+
font-size: var(--cg-font-size-xs); color: var(--cg-color-surface-container-outlined);
|
|
164
|
+
margin-top: var(--cg-spacing-6); text-align: center;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/* ── Actions ── */
|
|
168
|
+
.actions {
|
|
169
|
+
padding: var(--cg-spacing-16) var(--cg-spacing-20);
|
|
170
|
+
border-top: var(--cg-border-width-50) solid var(--cg-color-surface-cards-divider);
|
|
171
|
+
display: flex; align-items: center; gap: var(--cg-spacing-12);
|
|
172
|
+
}
|
|
173
|
+
.override-warning {
|
|
174
|
+
font-size: var(--cg-font-size-xs); color: var(--cg-color-surface-container-outlined); flex: 1;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.btn {
|
|
178
|
+
padding: var(--cg-spacing-6) var(--cg-spacing-12); border-radius: var(--cg-border-radius-100);
|
|
179
|
+
border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
180
|
+
background: transparent; color: var(--cg-color-surface-container-outlined);
|
|
181
|
+
font: inherit; font-size: var(--cg-font-size-xs); font-weight: var(--cg-font-weight-medium);
|
|
182
|
+
cursor: pointer;
|
|
183
|
+
transition: border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default), color var(--cg-transition-duration-fast) var(--cg-transition-easing-default), background var(--cg-transition-duration-fast) var(--cg-transition-easing-default);
|
|
184
|
+
}
|
|
185
|
+
.btn:hover { border-color: var(--cg-color-surface-cards-hover-border); color: var(--cg-color-surface-base-text); }
|
|
186
|
+
.btn:active { transform: scale(var(--cg-interaction-press-scale)); }
|
|
187
|
+
.btn:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--cg-overlay-accent-strong); }
|
|
188
|
+
|
|
189
|
+
.btn.danger {
|
|
190
|
+
border-color: var(--cg-color-status-error-border-default);
|
|
191
|
+
background: var(--cg-color-status-error-background-default);
|
|
192
|
+
color: var(--cg-color-status-error-text-default);
|
|
193
|
+
}
|
|
194
|
+
.btn.danger:hover { background: var(--cg-color-status-error-text-default); color: var(--cg-overlay-dark-text); }
|
|
195
|
+
|
|
196
|
+
/* ── Rounded ── */
|
|
197
|
+
:host([rounded="none"]) .panel { border-radius: 0; }
|
|
198
|
+
:host([rounded="sm"]) .panel { border-radius: var(--cg-border-radius-50); }
|
|
199
|
+
:host([rounded="md"]) .panel { border-radius: var(--cg-border-radius-100); }
|
|
200
|
+
:host([rounded="lg"]) .panel { border-radius: var(--cg-component-card-radius); }
|
|
201
|
+
`];
|
|
202
|
+
a([
|
|
203
|
+
c({ reflect: !0 })
|
|
204
|
+
], t.prototype, "rounded", 2);
|
|
205
|
+
a([
|
|
206
|
+
c()
|
|
207
|
+
], t.prototype, "status", 2);
|
|
208
|
+
a([
|
|
209
|
+
c({ type: Array })
|
|
210
|
+
], t.prototype, "checks", 2);
|
|
211
|
+
a([
|
|
212
|
+
c()
|
|
213
|
+
], t.prototype, "blockedContent", 2);
|
|
214
|
+
a([
|
|
215
|
+
c({ type: Boolean })
|
|
216
|
+
], t.prototype, "allowOverride", 2);
|
|
217
|
+
a([
|
|
218
|
+
c()
|
|
219
|
+
], t.prototype, "severityLevel", 2);
|
|
220
|
+
a([
|
|
221
|
+
f()
|
|
222
|
+
], t.prototype, "_revealed", 2);
|
|
223
|
+
t = a([
|
|
224
|
+
h("ai-guardrail")
|
|
225
|
+
], t);
|
|
226
|
+
export {
|
|
227
|
+
t as AiGuardrail
|
|
228
|
+
};
|
|
229
|
+
//# sourceMappingURL=ai-guardrail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-guardrail.js","sources":["../../../src/components/ai-guardrail/ai-guardrail.ts"],"sourcesContent":["/**\n * @element ai-guardrail\n * Content safety filter display with policy checks, blocked content blur, and override controls.\n *\n * @fires {CustomEvent} ai-guardrail-override - Override clicked\n * @fires {CustomEvent} ai-guardrail-report - Report clicked\n * @fires {CustomEvent} ai-guardrail-reveal - Blocked content revealed/hidden\n */\nimport { LitElement, html, css, nothing } from 'lit';\nimport { property, state, customElement } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\n\ninterface PolicyCheck {\n policy: string;\n passed: boolean;\n reason?: string;\n}\n\n@customElement('ai-guardrail')\nexport class AiGuardrail extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n .panel {\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-component-card-radius);\n overflow: hidden;\n }\n\n /* ── Status bar ── */\n .status-bar {\n display: flex; align-items: center; gap: var(--cg-spacing-12);\n padding: var(--cg-spacing-16) var(--cg-spacing-20);\n font-size: var(--cg-font-size-sm); font-weight: var(--cg-font-weight-semibold);\n }\n .status-bar svg { width: var(--cg-spacing-16); height: var(--cg-spacing-16); flex-shrink: 0; }\n .status-bar.safe {\n background: var(--cg-color-status-success-background-default);\n color: var(--cg-color-status-success-text-default);\n border-bottom: var(--cg-border-width-50) solid var(--cg-color-status-success-border-default);\n }\n .status-bar.flagged {\n background: var(--cg-color-status-warning-background-default);\n color: var(--cg-color-status-warning-text-default);\n border-bottom: var(--cg-border-width-50) solid var(--cg-color-status-warning-border-default);\n }\n .status-bar.blocked {\n background: var(--cg-color-status-error-background-default);\n color: var(--cg-color-status-error-text-default);\n border-bottom: var(--cg-border-width-50) solid var(--cg-color-status-error-border-default);\n }\n\n .status-text { flex: 1; }\n .severity {\n font-size: var(--cg-font-size-xs); font-weight: var(--cg-font-weight-semibold);\n padding: var(--cg-spacing-2) var(--cg-spacing-8); border-radius: var(--cg-border-radius-full);\n text-transform: uppercase; letter-spacing: var(--cg-letter-spacing-wide);\n }\n .severity.low { background: var(--cg-color-status-success-background-default); color: var(--cg-color-status-success-text-default); }\n .severity.medium { background: var(--cg-color-status-warning-background-default); color: var(--cg-color-status-warning-text-default); }\n .severity.high { background: var(--cg-color-status-warning-background-default); color: var(--cg-color-status-warning-text-default); }\n .severity.critical { background: var(--cg-color-status-error-background-default); color: var(--cg-color-status-error-text-default); }\n\n /* ── Policy checks ── */\n .checks { padding: var(--cg-spacing-16) var(--cg-spacing-20); }\n .checks-label {\n font-size: var(--cg-font-size-xs); font-weight: var(--cg-font-weight-semibold);\n color: var(--cg-color-surface-container-outlined);\n text-transform: uppercase; letter-spacing: var(--cg-letter-spacing-wide);\n margin-bottom: var(--cg-spacing-12);\n }\n\n .check {\n display: flex; align-items: flex-start; gap: var(--cg-spacing-12);\n padding: var(--cg-spacing-6) 0;\n border-bottom: var(--cg-border-width-50) solid var(--cg-color-surface-cards-divider);\n }\n .check:last-child { border-bottom: none; }\n\n .check-icon { flex-shrink: 0; margin-top: var(--cg-spacing-2); }\n .check-icon svg { width: var(--cg-spacing-12); height: var(--cg-spacing-12); }\n .check-icon.pass { color: var(--cg-color-status-success-text-default); }\n .check-icon.fail { color: var(--cg-color-status-error-text-default); }\n\n .check-info { flex: 1; }\n .check-policy { font-size: var(--cg-font-size-sm); color: var(--cg-color-surface-base-text); font-weight: var(--cg-font-weight-medium); }\n .check-reason { font-size: var(--cg-font-size-xs); color: var(--cg-color-surface-container-outlined); margin-top: var(--cg-spacing-2); }\n\n /* ── Blocked content ── */\n .blocked-section {\n padding: var(--cg-spacing-16) var(--cg-spacing-20);\n border-top: var(--cg-border-width-50) solid var(--cg-color-surface-cards-divider);\n }\n .blocked-label {\n font-size: var(--cg-font-size-xs); font-weight: var(--cg-font-weight-semibold);\n color: var(--cg-color-status-error-text-default);\n text-transform: uppercase; letter-spacing: var(--cg-letter-spacing-wide);\n margin-bottom: var(--cg-spacing-12);\n }\n .blocked-content {\n padding: var(--cg-spacing-12) var(--cg-spacing-16); border-radius: var(--cg-border-radius-100);\n background: var(--cg-color-status-error-background-default);\n border: var(--cg-border-width-50) solid var(--cg-color-status-error-border-default);\n font-size: var(--cg-font-size-sm); color: var(--cg-color-surface-base-text);\n font-family: var(--cg-font-family-mono);\n line-height: var(--cg-line-height-relaxed);\n filter: blur(4px);\n transition: filter var(--cg-transition-duration-default) var(--cg-transition-easing-default);\n cursor: pointer;\n }\n .blocked-content.revealed { filter: none; }\n .blocked-hint {\n font-size: var(--cg-font-size-xs); color: var(--cg-color-surface-container-outlined);\n margin-top: var(--cg-spacing-6); text-align: center;\n }\n\n /* ── Actions ── */\n .actions {\n padding: var(--cg-spacing-16) var(--cg-spacing-20);\n border-top: var(--cg-border-width-50) solid var(--cg-color-surface-cards-divider);\n display: flex; align-items: center; gap: var(--cg-spacing-12);\n }\n .override-warning {\n font-size: var(--cg-font-size-xs); color: var(--cg-color-surface-container-outlined); flex: 1;\n }\n\n .btn {\n padding: var(--cg-spacing-6) var(--cg-spacing-12); border-radius: var(--cg-border-radius-100);\n border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);\n background: transparent; color: var(--cg-color-surface-container-outlined);\n font: inherit; font-size: var(--cg-font-size-xs); font-weight: var(--cg-font-weight-medium);\n cursor: pointer;\n transition: border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default), color var(--cg-transition-duration-fast) var(--cg-transition-easing-default), background var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n .btn:hover { border-color: var(--cg-color-surface-cards-hover-border); color: var(--cg-color-surface-base-text); }\n .btn:active { transform: scale(var(--cg-interaction-press-scale)); }\n .btn:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--cg-overlay-accent-strong); }\n\n .btn.danger {\n border-color: var(--cg-color-status-error-border-default);\n background: var(--cg-color-status-error-background-default);\n color: var(--cg-color-status-error-text-default);\n }\n .btn.danger:hover { background: var(--cg-color-status-error-text-default); color: var(--cg-overlay-dark-text); }\n\n /* ── Rounded ── */\n :host([rounded=\"none\"]) .panel { border-radius: 0; }\n :host([rounded=\"sm\"]) .panel { border-radius: var(--cg-border-radius-50); }\n :host([rounded=\"md\"]) .panel { border-radius: var(--cg-border-radius-100); }\n :host([rounded=\"lg\"]) .panel { border-radius: var(--cg-component-card-radius); }\n `];\n\n @property({ reflect: true }) rounded: 'none' | 'sm' | 'md' | 'lg' = 'lg';\n @property() status: 'safe' | 'flagged' | 'blocked' = 'safe';\n @property({ type: Array }) checks: PolicyCheck[] = [];\n @property() blockedContent = '';\n @property({ type: Boolean }) allowOverride = false;\n @property() severityLevel: 'low' | 'medium' | 'high' | 'critical' = 'low';\n\n @state() private _revealed = false;\n\n private _getStatusIcon() {\n if (this.status === 'safe') return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6L9 17l-5-5\"/></svg>`;\n if (this.status === 'flagged') return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M12 9v4m0 4h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z\"/></svg>`;\n return html`<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6L6 18M6 6l12 12\"/></svg>`;\n }\n\n private _getStatusText(): string {\n if (this.status === 'safe') return 'All safety checks passed';\n if (this.status === 'flagged') return 'Content flagged for review';\n return 'Content blocked by safety filter';\n }\n\n private _checkIcon(passed: boolean) {\n return passed\n ? html`<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6L9 17l-5-5\"/></svg>`\n : html`<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6L6 18M6 6l12 12\"/></svg>`;\n }\n\n override render() {\n return html`\n <div class=\"panel\" role=\"alert\" aria-live=\"polite\" aria-label=\"Safety filter: ${this.status}\">\n <div class=\"status-bar ${this.status}\">\n ${this._getStatusIcon()}\n <span class=\"status-text\">${this._getStatusText()}</span>\n ${this.status !== 'safe' ? html`<span class=\"severity ${this.severityLevel}\">${this.severityLevel}</span>` : nothing}\n </div>\n\n ${this.checks.length > 0 ? html`\n <div class=\"checks\">\n <div class=\"checks-label\">Policy Checks (${this.checks.filter(c => c.passed).length}/${this.checks.length} passed)</div>\n ${this.checks.map(c => html`\n <div class=\"check\">\n <span class=\"check-icon ${c.passed ? 'pass' : 'fail'}\">${this._checkIcon(c.passed)}</span>\n <div class=\"check-info\">\n <div class=\"check-policy\">${c.policy}</div>\n ${c.reason ? html`<div class=\"check-reason\">${c.reason}</div>` : nothing}\n </div>\n </div>\n `)}\n </div>\n ` : nothing}\n\n ${this.blockedContent ? html`\n <div class=\"blocked-section\">\n <div class=\"blocked-label\">Blocked Content</div>\n <div class=\"blocked-content ${this._revealed ? 'revealed' : ''}\"\n @click=${() => { this._revealed = !this._revealed; this.dispatchEvent(new CustomEvent('ai-guardrail-reveal', { bubbles: true, composed: true, detail: { revealed: this._revealed } })); }}>\n ${this.blockedContent}\n </div>\n <div class=\"blocked-hint\">${this._revealed ? 'Click to hide' : 'Click to reveal (may contain harmful content)'}</div>\n </div>\n ` : nothing}\n\n ${(this.allowOverride || this.status !== 'safe') ? html`\n <div class=\"actions\">\n <button class=\"btn\" @click=${() => this.dispatchEvent(new CustomEvent('ai-guardrail-report', { bubbles: true, composed: true, detail: { status: this.status, checks: this.checks } }))}>Report Issue</button>\n ${this.allowOverride ? html`\n <span class=\"override-warning\">Override requires admin approval</span>\n <button class=\"btn danger\" @click=${() => this.dispatchEvent(new CustomEvent('ai-guardrail-override', { bubbles: true, composed: true, detail: { status: this.status, severity: this.severityLevel } }))}>Override</button>\n ` : nothing}\n </div>\n ` : nothing}\n </div>\n `;\n }\n}\n"],"names":["AiGuardrail","LitElement","html","passed","nothing","c","hostBlock","reducedMotion","css","__decorateClass","property","state","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export declare class AiHeatmap extends LitElement {
|
|
3
|
+
static styles: import('lit').CSSResult[];
|
|
4
|
+
rounded: 'none' | 'sm' | 'md' | 'lg';
|
|
5
|
+
/** 2D data array (rows × cols) */
|
|
6
|
+
data: number[][];
|
|
7
|
+
/** Row labels */
|
|
8
|
+
rowLabels: string[];
|
|
9
|
+
/** Column labels */
|
|
10
|
+
colLabels: string[];
|
|
11
|
+
/** Color scale: sequential (min→max) or diverging (neg→zero→pos) */
|
|
12
|
+
colorScale: 'sequential' | 'diverging';
|
|
13
|
+
/** Show values in cells */
|
|
14
|
+
showValues: boolean;
|
|
15
|
+
/** Title */
|
|
16
|
+
title: string;
|
|
17
|
+
private _tooltip;
|
|
18
|
+
private _cellSize;
|
|
19
|
+
private _labelMarginLeft;
|
|
20
|
+
private _labelMarginTop;
|
|
21
|
+
private get _flatValues();
|
|
22
|
+
private get _min();
|
|
23
|
+
private get _max();
|
|
24
|
+
/**
|
|
25
|
+
* Compute cell fill color algorithmically.
|
|
26
|
+
* Uses hardcoded RGB values because heatmap gradients must be computed per-value —
|
|
27
|
+
* CSS custom properties can't be interpolated numerically in JS.
|
|
28
|
+
* Dark neutral: rgb(39,39,42) matches --cg-gray-800 (#27272a).
|
|
29
|
+
*/
|
|
30
|
+
private _getColor;
|
|
31
|
+
/** Contrast text color — dark on bright cells, light on dark cells. */
|
|
32
|
+
private _getTextColor;
|
|
33
|
+
private _handleCellClick;
|
|
34
|
+
private _handleCellHover;
|
|
35
|
+
private _handleCellLeave;
|
|
36
|
+
render(): import('lit').TemplateResult<1>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=ai-heatmap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-heatmap.d.ts","sourceRoot":"","sources":["../../../src/components/ai-heatmap/ai-heatmap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,UAAU,EAA2B,MAAM,KAAK,CAAC;AAI1D,qBACa,SAAU,SAAQ,UAAU;IACvC,OAAgB,MAAM,4BAuFnB;IAE0B,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IACzE,kCAAkC;IACP,IAAI,EAAE,MAAM,EAAE,EAAE,CAAM;IACjD,iBAAiB;IACU,SAAS,EAAE,MAAM,EAAE,CAAM;IACpD,oBAAoB;IACO,SAAS,EAAE,MAAM,EAAE,CAAM;IACpD,oEAAoE;IACxC,UAAU,EAAE,YAAY,GAAG,WAAW,CAAgB;IAClF,2BAA2B;IACE,UAAU,EAAE,OAAO,CAAQ;IACxD,YAAY;IACyB,KAAK,EAAE,MAAM,CAAM;IAE/C,OAAO,CAAC,QAAQ,CAAkF;IAE3G,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,eAAe,CAAM;IAE7B,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,IAAI,GAAoD;IACpE,OAAO,KAAK,IAAI,GAAoD;IAEpE;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IA2BjB,uEAAuE;IACvE,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,gBAAgB;IAEf,MAAM;CAgEhB"}
|