@cognivo/components 0.8.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/focus-trap-vlQwKK-3.js +82 -0
- package/dist/chunks/focus-trap-vlQwKK-3.js.map +1 -0
- package/dist/chunks/{premium.css-9I4kHrsl.js → premium.css-DHekUEUt.js} +25 -25
- package/dist/chunks/{premium.css-9I4kHrsl.js.map → premium.css-DHekUEUt.js.map} +1 -1
- package/dist/cognivo.min.js +3375 -5270
- package/dist/cognivo.min.js.map +1 -1
- package/dist/components/ai-ab-test/ai-ab-test.js +1 -1
- package/dist/components/ai-accessibility-report/ai-accessibility-report.d.ts.map +1 -1
- package/dist/components/ai-accessibility-report/ai-accessibility-report.js +14 -13
- package/dist/components/ai-accessibility-report/ai-accessibility-report.js.map +1 -1
- package/dist/components/ai-action-preview/ai-action-preview.d.ts.map +1 -1
- package/dist/components/ai-action-preview/ai-action-preview.js +15 -14
- package/dist/components/ai-action-preview/ai-action-preview.js.map +1 -1
- package/dist/components/ai-agent-card/ai-agent-card.js +1 -1
- package/dist/components/ai-agent-steps/ai-agent-steps.d.ts +8 -21
- package/dist/components/ai-agent-steps/ai-agent-steps.d.ts.map +1 -1
- package/dist/components/ai-agent-steps/ai-agent-steps.js +85 -139
- package/dist/components/ai-agent-steps/ai-agent-steps.js.map +1 -1
- package/dist/components/ai-alert-card/ai-alert-card.js +5 -5
- package/dist/components/ai-alert-card/ai-alert-card.js.map +1 -1
- package/dist/components/ai-analytics-chart/ai-analytics-chart.d.ts +0 -13
- package/dist/components/ai-analytics-chart/ai-analytics-chart.d.ts.map +1 -1
- package/dist/components/ai-analytics-chart/ai-analytics-chart.js +75 -125
- package/dist/components/ai-analytics-chart/ai-analytics-chart.js.map +1 -1
- package/dist/components/ai-annotation/ai-annotation.js +2 -2
- package/dist/components/ai-annotation/ai-annotation.js.map +1 -1
- package/dist/components/ai-api-key-manager/ai-api-key-manager.d.ts +0 -9
- package/dist/components/ai-api-key-manager/ai-api-key-manager.d.ts.map +1 -1
- package/dist/components/ai-api-key-manager/ai-api-key-manager.js +115 -276
- package/dist/components/ai-api-key-manager/ai-api-key-manager.js.map +1 -1
- package/dist/components/ai-app-sidebar/ai-app-sidebar.js +13 -13
- package/dist/components/ai-app-sidebar/ai-app-sidebar.js.map +1 -1
- package/dist/components/ai-assistant-widget/ai-assistant-widget.d.ts.map +1 -1
- package/dist/components/ai-assistant-widget/ai-assistant-widget.js +5 -2
- package/dist/components/ai-assistant-widget/ai-assistant-widget.js.map +1 -1
- package/dist/components/ai-audio-player/ai-audio-player.d.ts.map +1 -1
- package/dist/components/ai-audio-player/ai-audio-player.js +23 -19
- package/dist/components/ai-audio-player/ai-audio-player.js.map +1 -1
- package/dist/components/ai-avatar/ai-avatar.js +1 -1
- package/dist/components/ai-badge/ai-badge.js +1 -1
- package/dist/components/ai-batch-progress/ai-batch-progress.js +6 -6
- package/dist/components/ai-batch-progress/ai-batch-progress.js.map +1 -1
- package/dist/components/ai-cache-indicator/ai-cache-indicator.d.ts +0 -13
- package/dist/components/ai-cache-indicator/ai-cache-indicator.d.ts.map +1 -1
- package/dist/components/ai-cache-indicator/ai-cache-indicator.js +90 -185
- package/dist/components/ai-cache-indicator/ai-cache-indicator.js.map +1 -1
- package/dist/components/ai-capture-flow/ai-capture-flow.js +21 -21
- package/dist/components/ai-capture-flow/ai-capture-flow.js.map +1 -1
- package/dist/components/ai-changelog/ai-changelog.js +26 -26
- package/dist/components/ai-changelog/ai-changelog.js.map +1 -1
- package/dist/components/ai-chart-summary/ai-chart-summary.d.ts +0 -6
- package/dist/components/ai-chart-summary/ai-chart-summary.d.ts.map +1 -1
- package/dist/components/ai-chart-summary/ai-chart-summary.js +100 -103
- package/dist/components/ai-chart-summary/ai-chart-summary.js.map +1 -1
- package/dist/components/ai-chat/ai-chat.d.ts.map +1 -1
- package/dist/components/ai-chat/ai-chat.js +9 -3
- package/dist/components/ai-chat/ai-chat.js.map +1 -1
- package/dist/components/ai-citation/ai-citation.d.ts +0 -6
- package/dist/components/ai-citation/ai-citation.d.ts.map +1 -1
- package/dist/components/ai-citation/ai-citation.js +64 -90
- package/dist/components/ai-citation/ai-citation.js.map +1 -1
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.d.ts +1 -27
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.d.ts.map +1 -1
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.js +114 -260
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.js.map +1 -1
- package/dist/components/ai-command-palette/ai-command-palette.js +1 -1
- package/dist/components/ai-confidence-badge/ai-confidence-badge.d.ts +11 -9
- package/dist/components/ai-confidence-badge/ai-confidence-badge.d.ts.map +1 -1
- package/dist/components/ai-confidence-badge/ai-confidence-badge.js +183 -101
- package/dist/components/ai-confidence-badge/ai-confidence-badge.js.map +1 -1
- package/dist/components/ai-confidence-slider/ai-confidence-slider.js +27 -27
- package/dist/components/ai-confidence-slider/ai-confidence-slider.js.map +1 -1
- package/dist/components/ai-consent-manager/ai-consent-manager.js +2 -2
- package/dist/components/ai-consent-manager/ai-consent-manager.js.map +1 -1
- package/dist/components/ai-context-window/ai-context-window.js +19 -19
- package/dist/components/ai-context-window/ai-context-window.js.map +1 -1
- package/dist/components/ai-copy-button/ai-copy-button.js +4 -4
- package/dist/components/ai-copy-button/ai-copy-button.js.map +1 -1
- package/dist/components/ai-cost-dashboard/ai-cost-dashboard.js +14 -14
- package/dist/components/ai-cost-dashboard/ai-cost-dashboard.js.map +1 -1
- package/dist/components/ai-data-card/ai-data-card.js +2 -2
- package/dist/components/ai-data-card/ai-data-card.js.map +1 -1
- package/dist/components/ai-data-lineage/ai-data-lineage.js +6 -6
- package/dist/components/ai-data-lineage/ai-data-lineage.js.map +1 -1
- package/dist/components/ai-data-preview/ai-data-preview.d.ts +0 -7
- package/dist/components/ai-data-preview/ai-data-preview.d.ts.map +1 -1
- package/dist/components/ai-data-preview/ai-data-preview.js +130 -267
- package/dist/components/ai-data-preview/ai-data-preview.js.map +1 -1
- package/dist/components/ai-data-table/ai-data-table.js +9 -9
- package/dist/components/ai-data-table/ai-data-table.js.map +1 -1
- package/dist/components/ai-debug-console/ai-debug-console.d.ts +1 -13
- package/dist/components/ai-debug-console/ai-debug-console.d.ts.map +1 -1
- package/dist/components/ai-debug-console/ai-debug-console.js +134 -340
- package/dist/components/ai-debug-console/ai-debug-console.js.map +1 -1
- package/dist/components/ai-detection-canvas/ai-detection-canvas.js +2 -2
- package/dist/components/ai-detection-canvas/ai-detection-canvas.js.map +1 -1
- package/dist/components/ai-diff-panel/ai-diff-panel.js +1 -1
- package/dist/components/ai-embedding-viz/ai-embedding-viz.js +4 -4
- package/dist/components/ai-embedding-viz/ai-embedding-viz.js.map +1 -1
- package/dist/components/ai-empty-state/ai-empty-state.js +1 -1
- package/dist/components/ai-error-boundary/ai-error-boundary.d.ts.map +1 -1
- package/dist/components/ai-error-boundary/ai-error-boundary.js +26 -21
- package/dist/components/ai-error-boundary/ai-error-boundary.js.map +1 -1
- package/dist/components/ai-eval-scorecard/ai-eval-scorecard.js +5 -5
- package/dist/components/ai-eval-scorecard/ai-eval-scorecard.js.map +1 -1
- package/dist/components/ai-feature-flag/ai-feature-flag.d.ts +0 -14
- package/dist/components/ai-feature-flag/ai-feature-flag.d.ts.map +1 -1
- package/dist/components/ai-feature-flag/ai-feature-flag.js +181 -322
- package/dist/components/ai-feature-flag/ai-feature-flag.js.map +1 -1
- package/dist/components/ai-feedback/ai-feedback.d.ts.map +1 -1
- package/dist/components/ai-feedback/ai-feedback.js +10 -5
- package/dist/components/ai-feedback/ai-feedback.js.map +1 -1
- package/dist/components/ai-file-upload/ai-file-upload.js +1 -1
- package/dist/components/ai-form-generator/ai-form-generator.js +1 -1
- package/dist/components/ai-guardrail/ai-guardrail.js +2 -2
- package/dist/components/ai-guardrail/ai-guardrail.js.map +1 -1
- package/dist/components/ai-heatmap/ai-heatmap.js +1 -1
- package/dist/components/ai-insight-card/ai-insight-card.js +4 -4
- package/dist/components/ai-insight-card/ai-insight-card.js.map +1 -1
- package/dist/components/ai-json-viewer/ai-json-viewer.js +13 -13
- package/dist/components/ai-json-viewer/ai-json-viewer.js.map +1 -1
- package/dist/components/ai-keyboard-shortcuts/ai-keyboard-shortcuts.js +24 -24
- package/dist/components/ai-keyboard-shortcuts/ai-keyboard-shortcuts.js.map +1 -1
- package/dist/components/ai-kpi-grid/ai-kpi-grid.js +2 -2
- package/dist/components/ai-kpi-grid/ai-kpi-grid.js.map +1 -1
- package/dist/components/ai-labeling-board/ai-labeling-board.js +11 -11
- package/dist/components/ai-labeling-board/ai-labeling-board.js.map +1 -1
- package/dist/components/ai-memory-panel/ai-memory-panel.js +7 -7
- package/dist/components/ai-memory-panel/ai-memory-panel.js.map +1 -1
- package/dist/components/ai-model-comparison/ai-model-comparison.js +2 -2
- package/dist/components/ai-model-comparison/ai-model-comparison.js.map +1 -1
- package/dist/components/ai-model-selector/ai-model-selector.js +7 -7
- package/dist/components/ai-model-selector/ai-model-selector.js.map +1 -1
- package/dist/components/ai-notification-center/ai-notification-center.js +27 -27
- package/dist/components/ai-notification-center/ai-notification-center.js.map +1 -1
- package/dist/components/ai-onboarding/ai-onboarding.js +5 -5
- package/dist/components/ai-onboarding/ai-onboarding.js.map +1 -1
- package/dist/components/ai-permission-gate/ai-permission-gate.js +1 -1
- package/dist/components/ai-personalization-dash/ai-personalization-dash.js +1 -1
- package/dist/components/ai-presence/ai-presence.js +25 -25
- package/dist/components/ai-presence/ai-presence.js.map +1 -1
- package/dist/components/ai-progress-steps/ai-progress-steps.js +11 -11
- package/dist/components/ai-progress-steps/ai-progress-steps.js.map +1 -1
- package/dist/components/ai-prompt-editor/ai-prompt-editor.js +1 -1
- package/dist/components/ai-prompt-template/ai-prompt-template.js +29 -29
- package/dist/components/ai-prompt-template/ai-prompt-template.js.map +1 -1
- package/dist/components/ai-rag-panel/ai-rag-panel.js +4 -4
- package/dist/components/ai-rag-panel/ai-rag-panel.js.map +1 -1
- package/dist/components/ai-reasoning-tree/ai-reasoning-tree.js +16 -16
- package/dist/components/ai-reasoning-tree/ai-reasoning-tree.js.map +1 -1
- package/dist/components/ai-result-panel/ai-result-panel.js +1 -1
- package/dist/components/ai-reveal-animation/ai-reveal-animation.js +3 -3
- package/dist/components/ai-reveal-animation/ai-reveal-animation.js.map +1 -1
- package/dist/components/ai-reward-signal/ai-reward-signal.js +1 -1
- package/dist/components/ai-rich-message/ai-rich-message.d.ts.map +1 -1
- package/dist/components/ai-rich-message/ai-rich-message.js +37 -30
- package/dist/components/ai-rich-message/ai-rich-message.js.map +1 -1
- package/dist/components/ai-scenario-panel/ai-scenario-panel.js +10 -10
- package/dist/components/ai-scenario-panel/ai-scenario-panel.js.map +1 -1
- package/dist/components/ai-search/ai-search.js +1 -1
- package/dist/components/ai-segmentation-viewer/ai-segmentation-viewer.js +3 -3
- package/dist/components/ai-segmentation-viewer/ai-segmentation-viewer.js.map +1 -1
- package/dist/components/ai-sidebar/ai-sidebar.js +1 -1
- package/dist/components/ai-similarity-card/ai-similarity-card.js +1 -1
- package/dist/components/ai-source-graph/ai-source-graph.js +2 -2
- package/dist/components/ai-source-graph/ai-source-graph.js.map +1 -1
- package/dist/components/ai-status-page/ai-status-page.js +15 -15
- package/dist/components/ai-status-page/ai-status-page.js.map +1 -1
- package/dist/components/ai-streaming-text/ai-streaming-text.js +1 -1
- package/dist/components/ai-test-runner/ai-test-runner.d.ts +0 -8
- package/dist/components/ai-test-runner/ai-test-runner.d.ts.map +1 -1
- package/dist/components/ai-test-runner/ai-test-runner.js +100 -257
- package/dist/components/ai-test-runner/ai-test-runner.js.map +1 -1
- package/dist/components/ai-thinking/ai-thinking.js +1 -1
- package/dist/components/ai-timeline/ai-timeline.js +2 -2
- package/dist/components/ai-timeline/ai-timeline.js.map +1 -1
- package/dist/components/ai-token-tracker/ai-token-tracker.js +3 -3
- package/dist/components/ai-token-tracker/ai-token-tracker.js.map +1 -1
- package/dist/components/ai-tool-card-resolver/ai-tool-card-resolver.js +23 -23
- package/dist/components/ai-tool-card-resolver/ai-tool-card-resolver.js.map +1 -1
- package/dist/components/ai-tool-indicator/ai-tool-indicator.js +3 -3
- package/dist/components/ai-tool-indicator/ai-tool-indicator.js.map +1 -1
- package/dist/components/ai-transform-slider/ai-transform-slider.js +1 -1
- package/dist/components/ai-translation-panel/ai-translation-panel.js +2 -2
- package/dist/components/ai-translation-panel/ai-translation-panel.js.map +1 -1
- package/dist/components/ai-usage-meter/ai-usage-meter.js +1 -1
- package/dist/components/ai-validation-checklist/ai-validation-checklist.d.ts +1 -11
- package/dist/components/ai-validation-checklist/ai-validation-checklist.d.ts.map +1 -1
- package/dist/components/ai-validation-checklist/ai-validation-checklist.js +133 -187
- package/dist/components/ai-validation-checklist/ai-validation-checklist.js.map +1 -1
- package/dist/components/ai-version-selector/ai-version-selector.d.ts +0 -4
- package/dist/components/ai-version-selector/ai-version-selector.d.ts.map +1 -1
- package/dist/components/ai-version-selector/ai-version-selector.js +189 -210
- package/dist/components/ai-version-selector/ai-version-selector.js.map +1 -1
- package/dist/components/ai-voice-panel/ai-voice-panel.js +28 -28
- package/dist/components/ai-voice-panel/ai-voice-panel.js.map +1 -1
- package/dist/components/ai-webhook-config/ai-webhook-config.d.ts +0 -17
- package/dist/components/ai-webhook-config/ai-webhook-config.d.ts.map +1 -1
- package/dist/components/ai-webhook-config/ai-webhook-config.js +281 -221
- package/dist/components/ai-webhook-config/ai-webhook-config.js.map +1 -1
- package/dist/components/ai-workflow-builder/ai-workflow-builder.js +2 -2
- package/dist/components/ai-workflow-builder/ai-workflow-builder.js.map +1 -1
- package/dist/components/bias-anchoring/bias-anchoring.js +1 -1
- package/dist/components/bias-authority/bias-authority.js +1 -1
- package/dist/components/bias-commitment/bias-commitment.js +1 -1
- package/dist/components/bias-reciprocity/bias-reciprocity.js +1 -1
- package/dist/components/bias-scarcity/bias-scarcity.js +1 -1
- package/dist/components/bias-social-proof/bias-social-proof.js +1 -1
- package/dist/components/cg-accordion/cg-accordion.d.ts.map +1 -1
- package/dist/components/cg-accordion/cg-accordion.js +51 -43
- package/dist/components/cg-accordion/cg-accordion.js.map +1 -1
- package/dist/components/cg-alert-dialog/cg-alert-dialog.js +18 -18
- package/dist/components/cg-alert-dialog/cg-alert-dialog.js.map +1 -1
- package/dist/components/cg-aspect-ratio/cg-aspect-ratio.d.ts.map +1 -1
- package/dist/components/cg-aspect-ratio/cg-aspect-ratio.js +25 -21
- package/dist/components/cg-aspect-ratio/cg-aspect-ratio.js.map +1 -1
- package/dist/components/cg-autocomplete/cg-autocomplete.d.ts +1 -0
- package/dist/components/cg-autocomplete/cg-autocomplete.d.ts.map +1 -1
- package/dist/components/cg-autocomplete/cg-autocomplete.js +59 -43
- package/dist/components/cg-autocomplete/cg-autocomplete.js.map +1 -1
- package/dist/components/cg-avatar/cg-avatar.d.ts.map +1 -1
- package/dist/components/cg-avatar/cg-avatar.js +24 -24
- package/dist/components/cg-avatar/cg-avatar.js.map +1 -1
- package/dist/components/cg-avatar-group/cg-avatar-group.d.ts.map +1 -1
- package/dist/components/cg-avatar-group/cg-avatar-group.js +18 -12
- package/dist/components/cg-avatar-group/cg-avatar-group.js.map +1 -1
- package/dist/components/cg-badge/cg-badge.d.ts.map +1 -1
- package/dist/components/cg-badge/cg-badge.js +26 -20
- package/dist/components/cg-badge/cg-badge.js.map +1 -1
- package/dist/components/cg-badge-group/cg-badge-group.d.ts +0 -1
- package/dist/components/cg-badge-group/cg-badge-group.d.ts.map +1 -1
- package/dist/components/cg-badge-group/cg-badge-group.js +31 -29
- package/dist/components/cg-badge-group/cg-badge-group.js.map +1 -1
- package/dist/components/cg-breadcrumbs/cg-breadcrumbs.js +21 -21
- package/dist/components/cg-breadcrumbs/cg-breadcrumbs.js.map +1 -1
- package/dist/components/cg-button/cg-button.d.ts +5 -71
- package/dist/components/cg-button/cg-button.d.ts.map +1 -1
- package/dist/components/cg-button/cg-button.js +63 -172
- package/dist/components/cg-button/cg-button.js.map +1 -1
- package/dist/components/cg-button-group/cg-button-group.d.ts +2 -0
- package/dist/components/cg-button-group/cg-button-group.d.ts.map +1 -1
- package/dist/components/cg-button-group/cg-button-group.js +43 -29
- package/dist/components/cg-button-group/cg-button-group.js.map +1 -1
- package/dist/components/cg-calendar/cg-calendar.d.ts +4 -0
- package/dist/components/cg-calendar/cg-calendar.d.ts.map +1 -1
- package/dist/components/cg-calendar/cg-calendar.js +28 -12
- package/dist/components/cg-calendar/cg-calendar.js.map +1 -1
- package/dist/components/cg-callout/cg-callout.d.ts.map +1 -1
- package/dist/components/cg-callout/cg-callout.js +49 -48
- package/dist/components/cg-callout/cg-callout.js.map +1 -1
- package/dist/components/cg-card/cg-card.d.ts +9 -22
- package/dist/components/cg-card/cg-card.d.ts.map +1 -1
- package/dist/components/cg-card/cg-card.js +28 -56
- package/dist/components/cg-card/cg-card.js.map +1 -1
- package/dist/components/cg-carousel/cg-carousel.d.ts.map +1 -1
- package/dist/components/cg-carousel/cg-carousel.js +19 -13
- package/dist/components/cg-carousel/cg-carousel.js.map +1 -1
- package/dist/components/cg-chart/cg-chart.d.ts.map +1 -1
- package/dist/components/cg-chart/cg-chart.js +63 -58
- package/dist/components/cg-chart/cg-chart.js.map +1 -1
- package/dist/components/cg-checkbox/cg-checkbox.d.ts +0 -6
- package/dist/components/cg-checkbox/cg-checkbox.d.ts.map +1 -1
- package/dist/components/cg-checkbox/cg-checkbox.js +51 -51
- package/dist/components/cg-checkbox/cg-checkbox.js.map +1 -1
- package/dist/components/cg-chip/cg-chip.js +31 -31
- package/dist/components/cg-chip/cg-chip.js.map +1 -1
- package/dist/components/cg-code-block/cg-code-block.d.ts.map +1 -1
- package/dist/components/cg-code-block/cg-code-block.js +36 -34
- package/dist/components/cg-code-block/cg-code-block.js.map +1 -1
- package/dist/components/cg-collapsible/cg-collapsible.d.ts.map +1 -1
- package/dist/components/cg-collapsible/cg-collapsible.js +23 -18
- package/dist/components/cg-collapsible/cg-collapsible.js.map +1 -1
- package/dist/components/cg-color-picker/cg-color-picker.d.ts +3 -0
- package/dist/components/cg-color-picker/cg-color-picker.d.ts.map +1 -1
- package/dist/components/cg-color-picker/cg-color-picker.js +189 -91
- package/dist/components/cg-color-picker/cg-color-picker.js.map +1 -1
- package/dist/components/cg-combobox/cg-combobox.d.ts.map +1 -1
- package/dist/components/cg-combobox/cg-combobox.js +13 -6
- package/dist/components/cg-combobox/cg-combobox.js.map +1 -1
- package/dist/components/cg-command/cg-command.d.ts.map +1 -1
- package/dist/components/cg-command/cg-command.js +52 -45
- package/dist/components/cg-command/cg-command.js.map +1 -1
- package/dist/components/cg-context-menu/cg-context-menu.js +1 -1
- package/dist/components/cg-date-picker/cg-date-picker.d.ts.map +1 -1
- package/dist/components/cg-date-picker/cg-date-picker.js +36 -34
- package/dist/components/cg-date-picker/cg-date-picker.js.map +1 -1
- package/dist/components/cg-date-range-picker/cg-date-range-picker.d.ts +2 -0
- package/dist/components/cg-date-range-picker/cg-date-range-picker.d.ts.map +1 -1
- package/dist/components/cg-date-range-picker/cg-date-range-picker.js +12 -8
- package/dist/components/cg-date-range-picker/cg-date-range-picker.js.map +1 -1
- package/dist/components/cg-date-time-picker/cg-date-time-picker.d.ts.map +1 -1
- package/dist/components/cg-date-time-picker/cg-date-time-picker.js +3 -1
- package/dist/components/cg-date-time-picker/cg-date-time-picker.js.map +1 -1
- package/dist/components/cg-drawer/cg-drawer.js +3 -3
- package/dist/components/cg-drawer/cg-drawer.js.map +1 -1
- package/dist/components/cg-dropdown/cg-dropdown.d.ts.map +1 -1
- package/dist/components/cg-dropdown/cg-dropdown.js +1 -2
- package/dist/components/cg-dropdown/cg-dropdown.js.map +1 -1
- package/dist/components/cg-empty-state/cg-empty-state.d.ts +3 -24
- package/dist/components/cg-empty-state/cg-empty-state.d.ts.map +1 -1
- package/dist/components/cg-empty-state/cg-empty-state.js +51 -74
- package/dist/components/cg-empty-state/cg-empty-state.js.map +1 -1
- package/dist/components/cg-file-input/cg-file-input.d.ts.map +1 -1
- package/dist/components/cg-file-input/cg-file-input.js +9 -10
- package/dist/components/cg-file-input/cg-file-input.js.map +1 -1
- package/dist/components/cg-focus-scope/cg-focus-scope.js +1 -1
- package/dist/components/cg-follow-up/cg-follow-up.d.ts.map +1 -1
- package/dist/components/cg-follow-up/cg-follow-up.js +6 -7
- package/dist/components/cg-follow-up/cg-follow-up.js.map +1 -1
- package/dist/components/cg-form/cg-form.js +17 -17
- package/dist/components/cg-form/cg-form.js.map +1 -1
- package/dist/components/cg-hover-card/cg-hover-card.d.ts +1 -0
- package/dist/components/cg-hover-card/cg-hover-card.d.ts.map +1 -1
- package/dist/components/cg-hover-card/cg-hover-card.js +37 -32
- package/dist/components/cg-hover-card/cg-hover-card.js.map +1 -1
- package/dist/components/cg-icon/cg-icon.d.ts.map +1 -1
- package/dist/components/cg-icon/cg-icon.js +44 -37
- package/dist/components/cg-icon/cg-icon.js.map +1 -1
- package/dist/components/cg-image/cg-image.js +2 -2
- package/dist/components/cg-image/cg-image.js.map +1 -1
- package/dist/components/cg-image-block/cg-image-block.js +3 -3
- package/dist/components/cg-image-block/cg-image-block.js.map +1 -1
- package/dist/components/cg-image-gallery/cg-image-gallery.js +20 -20
- package/dist/components/cg-image-gallery/cg-image-gallery.js.map +1 -1
- package/dist/components/cg-input/cg-input.js +3 -3
- package/dist/components/cg-input/cg-input.js.map +1 -1
- package/dist/components/cg-kbd/cg-kbd.d.ts.map +1 -1
- package/dist/components/cg-kbd/cg-kbd.js +26 -24
- package/dist/components/cg-kbd/cg-kbd.js.map +1 -1
- package/dist/components/cg-label/cg-label.d.ts +4 -1
- package/dist/components/cg-label/cg-label.d.ts.map +1 -1
- package/dist/components/cg-label/cg-label.js +44 -41
- package/dist/components/cg-label/cg-label.js.map +1 -1
- package/dist/components/cg-link/cg-link.js +23 -23
- package/dist/components/cg-link/cg-link.js.map +1 -1
- package/dist/components/cg-list/cg-list.js +5 -5
- package/dist/components/cg-list/cg-list.js.map +1 -1
- package/dist/components/cg-listbox/cg-listbox.d.ts.map +1 -1
- package/dist/components/cg-listbox/cg-listbox.js +46 -40
- package/dist/components/cg-listbox/cg-listbox.js.map +1 -1
- package/dist/components/cg-markdown/cg-markdown.d.ts +2 -0
- package/dist/components/cg-markdown/cg-markdown.d.ts.map +1 -1
- package/dist/components/cg-markdown/cg-markdown.js +171 -121
- package/dist/components/cg-markdown/cg-markdown.js.map +1 -1
- package/dist/components/cg-menubar/cg-menubar.d.ts +6 -0
- package/dist/components/cg-menubar/cg-menubar.d.ts.map +1 -1
- package/dist/components/cg-menubar/cg-menubar.js +59 -47
- package/dist/components/cg-menubar/cg-menubar.js.map +1 -1
- package/dist/components/cg-meter/cg-meter.d.ts.map +1 -1
- package/dist/components/cg-meter/cg-meter.js +76 -76
- package/dist/components/cg-meter/cg-meter.js.map +1 -1
- package/dist/components/cg-metric-card/cg-metric-card.d.ts.map +1 -1
- package/dist/components/cg-metric-card/cg-metric-card.js +65 -68
- package/dist/components/cg-metric-card/cg-metric-card.js.map +1 -1
- package/dist/components/cg-modal/cg-modal.d.ts +3 -0
- package/dist/components/cg-modal/cg-modal.d.ts.map +1 -1
- package/dist/components/cg-modal/cg-modal.js +82 -83
- package/dist/components/cg-modal/cg-modal.js.map +1 -1
- package/dist/components/cg-navbar/cg-navbar.d.ts +1 -1
- package/dist/components/cg-navbar/cg-navbar.d.ts.map +1 -1
- package/dist/components/cg-navbar/cg-navbar.js +64 -55
- package/dist/components/cg-navbar/cg-navbar.js.map +1 -1
- package/dist/components/cg-navigation-menu/cg-navigation-menu.d.ts +3 -0
- package/dist/components/cg-navigation-menu/cg-navigation-menu.d.ts.map +1 -1
- package/dist/components/cg-navigation-menu/cg-navigation-menu.js +38 -26
- package/dist/components/cg-navigation-menu/cg-navigation-menu.js.map +1 -1
- package/dist/components/cg-number-input/cg-number-input.d.ts +1 -0
- package/dist/components/cg-number-input/cg-number-input.d.ts.map +1 -1
- package/dist/components/cg-number-input/cg-number-input.js +90 -77
- package/dist/components/cg-number-input/cg-number-input.js.map +1 -1
- package/dist/components/cg-otp-input/cg-otp-input.d.ts.map +1 -1
- package/dist/components/cg-otp-input/cg-otp-input.js +70 -60
- package/dist/components/cg-otp-input/cg-otp-input.js.map +1 -1
- package/dist/components/cg-pagination/cg-pagination.d.ts +2 -0
- package/dist/components/cg-pagination/cg-pagination.d.ts.map +1 -1
- package/dist/components/cg-pagination/cg-pagination.js +50 -49
- package/dist/components/cg-pagination/cg-pagination.js.map +1 -1
- package/dist/components/cg-password-input/cg-password-input.d.ts.map +1 -1
- package/dist/components/cg-password-input/cg-password-input.js +42 -34
- package/dist/components/cg-password-input/cg-password-input.js.map +1 -1
- package/dist/components/cg-phone-input/cg-phone-input.d.ts.map +1 -1
- package/dist/components/cg-phone-input/cg-phone-input.js +18 -14
- package/dist/components/cg-phone-input/cg-phone-input.js.map +1 -1
- package/dist/components/cg-popover/cg-popover.d.ts +12 -2
- package/dist/components/cg-popover/cg-popover.d.ts.map +1 -1
- package/dist/components/cg-popover/cg-popover.js +90 -63
- package/dist/components/cg-popover/cg-popover.js.map +1 -1
- package/dist/components/cg-portal/cg-portal.d.ts.map +1 -1
- package/dist/components/cg-portal/cg-portal.js +42 -41
- package/dist/components/cg-portal/cg-portal.js.map +1 -1
- package/dist/components/cg-progress-bar/cg-progress-bar.d.ts.map +1 -1
- package/dist/components/cg-progress-bar/cg-progress-bar.js +25 -25
- package/dist/components/cg-progress-bar/cg-progress-bar.js.map +1 -1
- package/dist/components/cg-radio/cg-radio.d.ts +10 -0
- package/dist/components/cg-radio/cg-radio.d.ts.map +1 -1
- package/dist/components/cg-radio/cg-radio.js +59 -48
- package/dist/components/cg-radio/cg-radio.js.map +1 -1
- package/dist/components/cg-radio-group/cg-radio-group.d.ts +6 -0
- package/dist/components/cg-radio-group/cg-radio-group.d.ts.map +1 -1
- package/dist/components/cg-radio-group/cg-radio-group.js +50 -37
- package/dist/components/cg-radio-group/cg-radio-group.js.map +1 -1
- package/dist/components/cg-rating/cg-rating.d.ts.map +1 -1
- package/dist/components/cg-rating/cg-rating.js +56 -54
- package/dist/components/cg-rating/cg-rating.js.map +1 -1
- package/dist/components/cg-resizable/cg-resizable.d.ts +4 -1
- package/dist/components/cg-resizable/cg-resizable.d.ts.map +1 -1
- package/dist/components/cg-resizable/cg-resizable.js +45 -35
- package/dist/components/cg-resizable/cg-resizable.js.map +1 -1
- package/dist/components/cg-scroll-area/cg-scroll-area.d.ts +8 -0
- package/dist/components/cg-scroll-area/cg-scroll-area.d.ts.map +1 -1
- package/dist/components/cg-scroll-area/cg-scroll-area.js +64 -21
- package/dist/components/cg-scroll-area/cg-scroll-area.js.map +1 -1
- package/dist/components/cg-segmented-control/cg-segmented-control.d.ts +4 -0
- package/dist/components/cg-segmented-control/cg-segmented-control.d.ts.map +1 -1
- package/dist/components/cg-segmented-control/cg-segmented-control.js +75 -39
- package/dist/components/cg-segmented-control/cg-segmented-control.js.map +1 -1
- package/dist/components/cg-select/cg-select.d.ts +4 -2
- package/dist/components/cg-select/cg-select.d.ts.map +1 -1
- package/dist/components/cg-select/cg-select.js +96 -58
- package/dist/components/cg-select/cg-select.js.map +1 -1
- package/dist/components/cg-separator/cg-separator.d.ts +1 -2
- package/dist/components/cg-separator/cg-separator.d.ts.map +1 -1
- package/dist/components/cg-separator/cg-separator.js +5 -8
- package/dist/components/cg-separator/cg-separator.js.map +1 -1
- package/dist/components/cg-sheet/cg-sheet.d.ts +4 -0
- package/dist/components/cg-sheet/cg-sheet.d.ts.map +1 -1
- package/dist/components/cg-sheet/cg-sheet.js +80 -43
- package/dist/components/cg-sheet/cg-sheet.js.map +1 -1
- package/dist/components/cg-sidebar/cg-sidebar.d.ts.map +1 -1
- package/dist/components/cg-sidebar/cg-sidebar.js +82 -19
- package/dist/components/cg-sidebar/cg-sidebar.js.map +1 -1
- package/dist/components/cg-skeleton/cg-skeleton.d.ts +7 -1
- package/dist/components/cg-skeleton/cg-skeleton.d.ts.map +1 -1
- package/dist/components/cg-skeleton/cg-skeleton.js +61 -63
- package/dist/components/cg-skeleton/cg-skeleton.js.map +1 -1
- package/dist/components/cg-slider/cg-slider.d.ts.map +1 -1
- package/dist/components/cg-slider/cg-slider.js +80 -73
- package/dist/components/cg-slider/cg-slider.js.map +1 -1
- package/dist/components/cg-spinner/cg-spinner.d.ts.map +1 -1
- package/dist/components/cg-spinner/cg-spinner.js +10 -19
- package/dist/components/cg-spinner/cg-spinner.js.map +1 -1
- package/dist/components/cg-split-button/cg-split-button.d.ts.map +1 -1
- package/dist/components/cg-split-button/cg-split-button.js +64 -50
- package/dist/components/cg-split-button/cg-split-button.js.map +1 -1
- package/dist/components/cg-stack/cg-stack.js +1 -1
- package/dist/components/cg-steps/cg-steps.js +1 -1
- package/dist/components/cg-switch/cg-switch.d.ts +3 -0
- package/dist/components/cg-switch/cg-switch.d.ts.map +1 -1
- package/dist/components/cg-switch/cg-switch.js +39 -47
- package/dist/components/cg-switch/cg-switch.js.map +1 -1
- package/dist/components/cg-table/cg-table.d.ts +0 -7
- package/dist/components/cg-table/cg-table.d.ts.map +1 -1
- package/dist/components/cg-table/cg-table.js +50 -47
- package/dist/components/cg-table/cg-table.js.map +1 -1
- package/dist/components/cg-tabs/cg-tabs.js +1 -1
- package/dist/components/cg-tag-input/cg-tag-input.js +1 -1
- package/dist/components/cg-text/cg-text.js +1 -1
- package/dist/components/cg-textarea/cg-textarea.js +1 -1
- package/dist/components/cg-time-picker/cg-time-picker.js +1 -1
- package/dist/components/cg-toaster/cg-toaster.js +3 -3
- package/dist/components/cg-toaster/cg-toaster.js.map +1 -1
- package/dist/components/cg-toggle/cg-toggle.js +1 -1
- package/dist/components/cg-toggle-group/cg-toggle-group.js +1 -1
- package/dist/components/cg-tree-view/cg-tree-view.js +1 -1
- package/dist/foundation.d.ts +0 -16
- package/dist/foundation.d.ts.map +1 -1
- package/dist/foundation.js +174 -206
- package/dist/foundation.js.map +1 -1
- package/dist/index.d.ts +1 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +100 -132
- package/dist/index.js.map +1 -1
- package/dist/utils/focus-trap.d.ts +19 -2
- package/dist/utils/focus-trap.d.ts.map +1 -1
- package/package.json +6 -810
- package/dist/chunks/focus-trap-BdRNhSPD.js +0 -53
- package/dist/chunks/focus-trap-BdRNhSPD.js.map +0 -1
- package/dist/components/cg-app-shell/cg-app-shell.d.ts +0 -54
- package/dist/components/cg-app-shell/cg-app-shell.d.ts.map +0 -1
- package/dist/components/cg-app-shell/cg-app-shell.js +0 -135
- package/dist/components/cg-app-shell/cg-app-shell.js.map +0 -1
- package/dist/components/cg-auth-shell/cg-auth-shell.d.ts +0 -61
- package/dist/components/cg-auth-shell/cg-auth-shell.d.ts.map +0 -1
- package/dist/components/cg-auth-shell/cg-auth-shell.js +0 -163
- package/dist/components/cg-auth-shell/cg-auth-shell.js.map +0 -1
- package/dist/components/cg-definition-list/cg-definition-list.d.ts +0 -99
- package/dist/components/cg-definition-list/cg-definition-list.d.ts.map +0 -1
- package/dist/components/cg-definition-list/cg-definition-list.js +0 -332
- package/dist/components/cg-definition-list/cg-definition-list.js.map +0 -1
- package/dist/components/cg-draggable/cg-draggable.d.ts +0 -53
- package/dist/components/cg-draggable/cg-draggable.d.ts.map +0 -1
- package/dist/components/cg-draggable/cg-draggable.js +0 -136
- package/dist/components/cg-draggable/cg-draggable.js.map +0 -1
- package/dist/components/cg-droppable/cg-droppable.d.ts +0 -57
- package/dist/components/cg-droppable/cg-droppable.d.ts.map +0 -1
- package/dist/components/cg-droppable/cg-droppable.js +0 -114
- package/dist/components/cg-droppable/cg-droppable.js.map +0 -1
- package/dist/components/cg-filter-bar/cg-filter-bar.d.ts +0 -50
- package/dist/components/cg-filter-bar/cg-filter-bar.d.ts.map +0 -1
- package/dist/components/cg-filter-bar/cg-filter-bar.js +0 -115
- package/dist/components/cg-filter-bar/cg-filter-bar.js.map +0 -1
- package/dist/components/cg-filter-chip/cg-filter-chip.d.ts +0 -55
- package/dist/components/cg-filter-chip/cg-filter-chip.d.ts.map +0 -1
- package/dist/components/cg-filter-chip/cg-filter-chip.js +0 -213
- package/dist/components/cg-filter-chip/cg-filter-chip.js.map +0 -1
- package/dist/components/cg-kanban/cg-kanban.d.ts +0 -44
- package/dist/components/cg-kanban/cg-kanban.d.ts.map +0 -1
- package/dist/components/cg-kanban/cg-kanban.js +0 -86
- package/dist/components/cg-kanban/cg-kanban.js.map +0 -1
- package/dist/components/cg-kanban-column/cg-kanban-column.d.ts +0 -58
- package/dist/components/cg-kanban-column/cg-kanban-column.d.ts.map +0 -1
- package/dist/components/cg-kanban-column/cg-kanban-column.js +0 -144
- package/dist/components/cg-kanban-column/cg-kanban-column.js.map +0 -1
- package/dist/components/cg-mfa-prompt/cg-mfa-prompt.d.ts +0 -77
- package/dist/components/cg-mfa-prompt/cg-mfa-prompt.d.ts.map +0 -1
- package/dist/components/cg-mfa-prompt/cg-mfa-prompt.js +0 -245
- package/dist/components/cg-mfa-prompt/cg-mfa-prompt.js.map +0 -1
- package/dist/components/cg-search-input/cg-search-input.d.ts +0 -62
- package/dist/components/cg-search-input/cg-search-input.d.ts.map +0 -1
- package/dist/components/cg-search-input/cg-search-input.js +0 -106
- package/dist/components/cg-search-input/cg-search-input.js.map +0 -1
- package/dist/components/cg-sortable/cg-sortable.d.ts +0 -72
- package/dist/components/cg-sortable/cg-sortable.d.ts.map +0 -1
- package/dist/components/cg-sortable/cg-sortable.js +0 -177
- package/dist/components/cg-sortable/cg-sortable.js.map +0 -1
- package/dist/components/cg-theme/cg-theme.d.ts +0 -82
- package/dist/components/cg-theme/cg-theme.d.ts.map +0 -1
- package/dist/components/cg-theme/cg-theme.js +0 -91
- package/dist/components/cg-theme/cg-theme.js.map +0 -1
- package/dist/components/cg-theme-editor/cg-theme-editor.d.ts +0 -98
- package/dist/components/cg-theme-editor/cg-theme-editor.d.ts.map +0 -1
- package/dist/components/cg-theme-editor/cg-theme-editor.js +0 -341
- package/dist/components/cg-theme-editor/cg-theme-editor.js.map +0 -1
- package/dist/components/cg-timeline/cg-timeline.d.ts +0 -70
- package/dist/components/cg-timeline/cg-timeline.d.ts.map +0 -1
- package/dist/components/cg-timeline/cg-timeline.js +0 -131
- package/dist/components/cg-timeline/cg-timeline.js.map +0 -1
- package/dist/components/cg-timeline-event/cg-timeline-event.d.ts +0 -59
- package/dist/components/cg-timeline-event/cg-timeline-event.d.ts.map +0 -1
- package/dist/components/cg-timeline-event/cg-timeline-event.js +0 -190
- package/dist/components/cg-timeline-event/cg-timeline-event.js.map +0 -1
- package/dist/utils/drag-manager.d.ts +0 -40
- package/dist/utils/drag-manager.d.ts.map +0 -1
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
const a = 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]), audio[controls], video[controls], summary, details, iframe, object, embed';
|
|
2
|
-
function c(i) {
|
|
3
|
-
const t = i instanceof HTMLElement && i.shadowRoot ? [...i.shadowRoot.querySelectorAll(a)] : i instanceof ShadowRoot ? [...i.querySelectorAll(a)] : [], e = i instanceof HTMLElement ? [...i.querySelectorAll(a)] : [];
|
|
4
|
-
return [...t, ...e].filter((s) => !(s.closest("[hidden]") || s.offsetParent === null && s.tagName !== "INPUT"));
|
|
5
|
-
}
|
|
6
|
-
class r {
|
|
7
|
-
constructor() {
|
|
8
|
-
this._root = null, this._previousFocus = null, this._options = {}, this._active = !1, this._handleKeydown = (t) => {
|
|
9
|
-
if (!this._active || !this._root) return;
|
|
10
|
-
if (t.key === "Escape" && this._options.handleEscape) {
|
|
11
|
-
t.preventDefault(), this._options.onEscape?.();
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
if (t.key !== "Tab") return;
|
|
15
|
-
const e = c(this._root);
|
|
16
|
-
if (e.length === 0) {
|
|
17
|
-
t.preventDefault();
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
const s = e[0], o = e[e.length - 1], n = this._root.shadowRoot?.activeElement || document.activeElement;
|
|
21
|
-
t.shiftKey ? (n === s || !e.includes(n)) && (t.preventDefault(), o.focus()) : n === o && (t.preventDefault(), s.focus());
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
activate(t, e = {}) {
|
|
25
|
-
this._active && this.deactivate(), this._root = t, this._options = { returnFocus: !0, handleEscape: !0, ...e }, this._previousFocus = document.activeElement, this._active = !0, t.addEventListener("keydown", this._handleKeydown), requestAnimationFrame(() => {
|
|
26
|
-
if (!this._active || !this._root) return;
|
|
27
|
-
const s = this._options.initialFocus;
|
|
28
|
-
if (s)
|
|
29
|
-
s.focus();
|
|
30
|
-
else {
|
|
31
|
-
const o = c(this._root);
|
|
32
|
-
o.length > 0 && o[0].focus();
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
deactivate() {
|
|
37
|
-
if (!(!this._active || !this._root)) {
|
|
38
|
-
if (this._root.removeEventListener("keydown", this._handleKeydown), this._active = !1, this._options.returnFocus && this._previousFocus)
|
|
39
|
-
try {
|
|
40
|
-
this._previousFocus.focus();
|
|
41
|
-
} catch {
|
|
42
|
-
}
|
|
43
|
-
this._root = null, this._previousFocus = null;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
isActive() {
|
|
47
|
-
return this._active;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
export {
|
|
51
|
-
r as F
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=focus-trap-BdRNhSPD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"focus-trap-BdRNhSPD.js","sources":["../../src/utils/focus-trap.ts"],"sourcesContent":["/**\n * Focus trap utility — shared by cg-modal, cg-popover, cg-alert-dialog, cg-command, cg-context-menu.\n * Extracted from the focus trap logic in cg-modal._handleKeydown.\n */\n\nconst FOCUSABLE_SELECTOR =\n 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), ' +\n 'textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]), audio[controls], video[controls], ' +\n 'summary, details, iframe, object, embed';\n\n/**\n * Returns all visible, non-disabled, focusable elements within a root.\n * Walks both shadow DOM and light DOM.\n */\nexport function getFocusableElements(root: HTMLElement | ShadowRoot): HTMLElement[] {\n const shadowFocusable = root instanceof HTMLElement && root.shadowRoot\n ? [...root.shadowRoot.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR)]\n : root instanceof ShadowRoot\n ? [...root.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR)]\n : [];\n\n const lightFocusable = root instanceof HTMLElement\n ? [...root.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR)]\n : [];\n\n return [...shadowFocusable, ...lightFocusable].filter(el => {\n if (el.closest('[hidden]')) return false;\n if (el.offsetParent === null && el.tagName !== 'INPUT') return false;\n return true;\n });\n}\n\nexport interface FocusTrapOptions {\n /** Element to focus first when activated. Defaults to first focusable element. */\n initialFocus?: HTMLElement | null | undefined;\n /** Return focus to the previously active element on deactivate. Default: true */\n returnFocus?: boolean | undefined;\n /** Called when Escape key is pressed. */\n onEscape?: (() => void) | undefined;\n /** Whether to handle Escape key. Default: true */\n handleEscape?: boolean | undefined;\n}\n\n/**\n * Manages focus trapping within a root element.\n * - Activates: captures prior focus, focuses initial element, binds keydown.\n * - Deactivates: unbinds keydown, optionally returns focus to prior element.\n * - Handles Tab/Shift+Tab cycling within the trap.\n * - Optionally handles Escape.\n */\nexport class FocusTrap {\n private _root: HTMLElement | null = null;\n private _previousFocus: HTMLElement | null = null;\n private _options: FocusTrapOptions = {};\n private _active = false;\n\n activate(root: HTMLElement, options: FocusTrapOptions = {}): void {\n if (this._active) this.deactivate();\n\n this._root = root;\n this._options = { returnFocus: true, handleEscape: true, ...options };\n this._previousFocus = document.activeElement as HTMLElement | null;\n this._active = true;\n\n root.addEventListener('keydown', this._handleKeydown);\n\n // Focus initial element on next frame to allow render\n requestAnimationFrame(() => {\n if (!this._active || !this._root) return;\n const initial = this._options.initialFocus;\n if (initial) {\n initial.focus();\n } else {\n const focusable = getFocusableElements(this._root);\n if (focusable.length > 0) focusable[0]!.focus();\n }\n });\n }\n\n deactivate(): void {\n if (!this._active || !this._root) return;\n\n this._root.removeEventListener('keydown', this._handleKeydown);\n this._active = false;\n\n if (this._options.returnFocus && this._previousFocus) {\n try { this._previousFocus.focus(); } catch {}\n }\n\n this._root = null;\n this._previousFocus = null;\n }\n\n isActive(): boolean {\n return this._active;\n }\n\n private _handleKeydown = (e: KeyboardEvent): void => {\n if (!this._active || !this._root) return;\n\n if (e.key === 'Escape' && this._options.handleEscape) {\n e.preventDefault();\n this._options.onEscape?.();\n return;\n }\n\n if (e.key !== 'Tab') return;\n\n const focusable = getFocusableElements(this._root);\n if (focusable.length === 0) {\n e.preventDefault();\n return;\n }\n\n const first = focusable[0]!;\n const last = focusable[focusable.length - 1]!;\n const active = (this._root.shadowRoot?.activeElement as HTMLElement) || (document.activeElement as HTMLElement);\n\n if (e.shiftKey) {\n if (active === first || !focusable.includes(active)) {\n e.preventDefault();\n last.focus();\n }\n } else {\n if (active === last) {\n e.preventDefault();\n first.focus();\n }\n }\n };\n}\n"],"names":["FOCUSABLE_SELECTOR","getFocusableElements","root","shadowFocusable","lightFocusable","el","FocusTrap","e","focusable","first","last","active","options","initial"],"mappings":"AAKA,MAAMA,IACJ;AAQK,SAASC,EAAqBC,GAA+C;AAClF,QAAMC,IAAkBD,aAAgB,eAAeA,EAAK,aACxD,CAAC,GAAGA,EAAK,WAAW,iBAA8BF,CAAkB,CAAC,IACrEE,aAAgB,aACd,CAAC,GAAGA,EAAK,iBAA8BF,CAAkB,CAAC,IAC1D,CAAA,GAEAI,IAAiBF,aAAgB,cACnC,CAAC,GAAGA,EAAK,iBAA8BF,CAAkB,CAAC,IAC1D,CAAA;AAEJ,SAAO,CAAC,GAAGG,GAAiB,GAAGC,CAAc,EAAE,OAAO,CAAAC,MAChD,EAAAA,EAAG,QAAQ,UAAU,KACrBA,EAAG,iBAAiB,QAAQA,EAAG,YAAY,QAEhD;AACH;AAoBO,MAAMC,EAAU;AAAA,EAAhB,cAAA;AACL,SAAQ,QAA4B,MACpC,KAAQ,iBAAqC,MAC7C,KAAQ,WAA6B,CAAA,GACrC,KAAQ,UAAU,IA2ClB,KAAQ,iBAAiB,CAACC,MAA2B;AACnD,UAAI,CAAC,KAAK,WAAW,CAAC,KAAK,MAAO;AAElC,UAAIA,EAAE,QAAQ,YAAY,KAAK,SAAS,cAAc;AACpD,QAAAA,EAAE,eAAA,GACF,KAAK,SAAS,WAAA;AACd;AAAA,MACF;AAEA,UAAIA,EAAE,QAAQ,MAAO;AAErB,YAAMC,IAAYP,EAAqB,KAAK,KAAK;AACjD,UAAIO,EAAU,WAAW,GAAG;AAC1B,QAAAD,EAAE,eAAA;AACF;AAAA,MACF;AAEA,YAAME,IAAQD,EAAU,CAAC,GACnBE,IAAOF,EAAUA,EAAU,SAAS,CAAC,GACrCG,IAAU,KAAK,MAAM,YAAY,iBAAkC,SAAS;AAElF,MAAIJ,EAAE,YACAI,MAAWF,KAAS,CAACD,EAAU,SAASG,CAAM,OAChDJ,EAAE,eAAA,GACFG,EAAK,MAAA,KAGHC,MAAWD,MACbH,EAAE,eAAA,GACFE,EAAM,MAAA;AAAA,IAGZ;AAAA,EAAA;AAAA,EAzEA,SAASP,GAAmBU,IAA4B,IAAU;AAChE,IAAI,KAAK,WAAS,KAAK,WAAA,GAEvB,KAAK,QAAQV,GACb,KAAK,WAAW,EAAE,aAAa,IAAM,cAAc,IAAM,GAAGU,EAAA,GAC5D,KAAK,iBAAiB,SAAS,eAC/B,KAAK,UAAU,IAEfV,EAAK,iBAAiB,WAAW,KAAK,cAAc,GAGpD,sBAAsB,MAAM;AAC1B,UAAI,CAAC,KAAK,WAAW,CAAC,KAAK,MAAO;AAClC,YAAMW,IAAU,KAAK,SAAS;AAC9B,UAAIA;AACF,QAAAA,EAAQ,MAAA;AAAA,WACH;AACL,cAAML,IAAYP,EAAqB,KAAK,KAAK;AACjD,QAAIO,EAAU,SAAS,KAAGA,EAAU,CAAC,EAAG,MAAA;AAAA,MAC1C;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,aAAmB;AACjB,QAAI,GAAC,KAAK,WAAW,CAAC,KAAK,QAK3B;AAAA,UAHA,KAAK,MAAM,oBAAoB,WAAW,KAAK,cAAc,GAC7D,KAAK,UAAU,IAEX,KAAK,SAAS,eAAe,KAAK;AACpC,YAAI;AAAE,eAAK,eAAe,MAAA;AAAA,QAAS,QAAQ;AAAA,QAAC;AAG9C,WAAK,QAAQ,MACb,KAAK,iBAAiB;AAAA;AAAA,EACxB;AAAA,EAEA,WAAoB;AAClB,WAAO,KAAK;AAAA,EACd;AAmCF;"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
2
|
-
/**
|
|
3
|
-
* @element cg-app-shell
|
|
4
|
-
* Composed application shell — a sticky top navbar, an optional sidebar, and
|
|
5
|
-
* an independently scrolling main region. Handles the layout most apps
|
|
6
|
-
* hand-roll on top of `cg-navbar` + `cg-sidebar`.
|
|
7
|
-
*
|
|
8
|
-
* The shell takes the full viewport height by default. The main region is the
|
|
9
|
-
* only scrollable surface; the navbar and sidebar are pinned. Below
|
|
10
|
-
* `--cg-component-app-shell-breakpoint` (768px), the sidebar collapses out
|
|
11
|
-
* of the layout — consumers should provide a drawer trigger inside the
|
|
12
|
-
* navbar slot for narrow viewports.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```html
|
|
16
|
-
* <cg-app-shell>
|
|
17
|
-
* <cg-navbar slot="navbar">…</cg-navbar>
|
|
18
|
-
* <cg-sidebar slot="sidebar">…</cg-sidebar>
|
|
19
|
-
* <article>…page content…</article>
|
|
20
|
-
* </cg-app-shell>
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* @example Right sidebar, no navbar
|
|
24
|
-
* ```html
|
|
25
|
-
* <cg-app-shell sidebar-position="right" no-navbar>
|
|
26
|
-
* <cg-sidebar slot="sidebar">…</cg-sidebar>
|
|
27
|
-
* <article>…</article>
|
|
28
|
-
* </cg-app-shell>
|
|
29
|
-
* ```
|
|
30
|
-
*
|
|
31
|
-
* @slot navbar - Top navigation bar (sticky)
|
|
32
|
-
* @slot sidebar - Side navigation (sticky, hidden on narrow viewports)
|
|
33
|
-
* @slot - Main content (scrollable)
|
|
34
|
-
*
|
|
35
|
-
* @cssprop --cg-component-app-shell-navbar-height - Navbar fixed height (default 64px)
|
|
36
|
-
* @cssprop --cg-component-app-shell-sidebar-width - Sidebar fixed width (default 240px)
|
|
37
|
-
* @cssprop --cg-component-app-shell-breakpoint - Width below which sidebar collapses (default 768px)
|
|
38
|
-
*/
|
|
39
|
-
export declare class CgAppShell extends LitElement {
|
|
40
|
-
static styles: import('lit').CSSResult[];
|
|
41
|
-
/** Position of the sidebar slot, or "overlay" to keep it visible on narrow viewports. */
|
|
42
|
-
sidebarPosition: 'left' | 'right' | 'overlay';
|
|
43
|
-
/** Hide the navbar slot entirely. */
|
|
44
|
-
noNavbar: boolean;
|
|
45
|
-
/** Hide the sidebar slot entirely. */
|
|
46
|
-
noSidebar: boolean;
|
|
47
|
-
render(): import('lit').TemplateResult<1>;
|
|
48
|
-
}
|
|
49
|
-
declare global {
|
|
50
|
-
interface HTMLElementTagNameMap {
|
|
51
|
-
'cg-app-shell': CgAppShell;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=cg-app-shell.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cg-app-shell.d.ts","sourceRoot":"","sources":["../../../src/components/cg-app-shell/cg-app-shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,4BAkGnB;IAEH,yFAAyF;IAEzF,eAAe,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAU;IAEvD,qCAAqC;IAErC,QAAQ,UAAS;IAEjB,sCAAsC;IAEtC,SAAS,UAAS;IAET,MAAM;CAOhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,UAAU,CAAC;KAC5B;CACF"}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { css as p, LitElement as c, html as d } from "lit";
|
|
2
|
-
import { property as l, customElement as m } from "lit/decorators.js";
|
|
3
|
-
import { h, r as g } from "../../chunks/premium.css-9I4kHrsl.js";
|
|
4
|
-
var v = Object.defineProperty, f = Object.getOwnPropertyDescriptor, t = (b, e, i, o) => {
|
|
5
|
-
for (var r = o > 1 ? void 0 : o ? f(e, i) : e, s = b.length - 1, n; s >= 0; s--)
|
|
6
|
-
(n = b[s]) && (r = (o ? n(e, i, r) : n(r)) || r);
|
|
7
|
-
return o && r && v(e, i, r), r;
|
|
8
|
-
};
|
|
9
|
-
let a = class extends c {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments), this.sidebarPosition = "left", this.noNavbar = !1, this.noSidebar = !1;
|
|
12
|
-
}
|
|
13
|
-
render() {
|
|
14
|
-
return d`
|
|
15
|
-
${this.noNavbar ? "" : d`<header class="navbar"><slot name="navbar"></slot></header>`}
|
|
16
|
-
${this.noSidebar ? "" : d`<aside class="sidebar"><slot name="sidebar"></slot></aside>`}
|
|
17
|
-
<main class="main"><slot></slot></main>
|
|
18
|
-
`;
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
a.styles = [h, g, p`
|
|
22
|
-
:host {
|
|
23
|
-
display: grid;
|
|
24
|
-
width: 100%;
|
|
25
|
-
height: 100vh;
|
|
26
|
-
grid-template-rows: var(--cg-component-app-shell-navbar-height, 64px) 1fr;
|
|
27
|
-
grid-template-columns: var(--cg-component-app-shell-sidebar-width, 240px) 1fr;
|
|
28
|
-
grid-template-areas:
|
|
29
|
-
"navbar navbar"
|
|
30
|
-
"sidebar main";
|
|
31
|
-
background: var(--cg-color-surface-base-background);
|
|
32
|
-
color: var(--cg-color-surface-base-text);
|
|
33
|
-
overflow: hidden;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
:host([sidebar-position="right"]) {
|
|
37
|
-
grid-template-columns: 1fr var(--cg-component-app-shell-sidebar-width, 240px);
|
|
38
|
-
grid-template-areas:
|
|
39
|
-
"navbar navbar"
|
|
40
|
-
"main sidebar";
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
:host([no-sidebar]) {
|
|
44
|
-
grid-template-columns: 1fr;
|
|
45
|
-
grid-template-areas:
|
|
46
|
-
"navbar"
|
|
47
|
-
"main";
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
:host([no-navbar]) {
|
|
51
|
-
grid-template-rows: 1fr;
|
|
52
|
-
grid-template-areas: "sidebar main";
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
:host([no-navbar][sidebar-position="right"]) {
|
|
56
|
-
grid-template-areas: "main sidebar";
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
:host([no-navbar][no-sidebar]) {
|
|
60
|
-
grid-template-rows: 1fr;
|
|
61
|
-
grid-template-columns: 1fr;
|
|
62
|
-
grid-template-areas: "main";
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.navbar {
|
|
66
|
-
grid-area: navbar;
|
|
67
|
-
display: flex;
|
|
68
|
-
align-items: stretch;
|
|
69
|
-
border-bottom: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
70
|
-
background: var(--cg-color-surface-container-background);
|
|
71
|
-
z-index: 2;
|
|
72
|
-
min-width: 0;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.sidebar {
|
|
76
|
-
grid-area: sidebar;
|
|
77
|
-
display: flex;
|
|
78
|
-
flex-direction: column;
|
|
79
|
-
border-right: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
80
|
-
background: var(--cg-color-surface-container-background);
|
|
81
|
-
overflow-y: auto;
|
|
82
|
-
min-height: 0;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
:host([sidebar-position="right"]) .sidebar {
|
|
86
|
-
border-right: none;
|
|
87
|
-
border-left: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.main {
|
|
91
|
-
grid-area: main;
|
|
92
|
-
overflow-y: auto;
|
|
93
|
-
overflow-x: hidden;
|
|
94
|
-
min-width: 0;
|
|
95
|
-
min-height: 0;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/* Hide sidebar on narrow viewports — consumers slot a drawer trigger
|
|
99
|
-
into the navbar instead. */
|
|
100
|
-
@media (max-width: 768px) {
|
|
101
|
-
:host(:not([sidebar-position="overlay"])) {
|
|
102
|
-
grid-template-columns: 1fr;
|
|
103
|
-
}
|
|
104
|
-
:host(:not([sidebar-position="overlay"])) {
|
|
105
|
-
grid-template-areas:
|
|
106
|
-
"navbar"
|
|
107
|
-
"main";
|
|
108
|
-
}
|
|
109
|
-
:host(:not([no-navbar]):not([sidebar-position="overlay"])) .sidebar {
|
|
110
|
-
display: none;
|
|
111
|
-
}
|
|
112
|
-
:host([no-navbar]:not([sidebar-position="overlay"])) {
|
|
113
|
-
grid-template-areas: "main";
|
|
114
|
-
}
|
|
115
|
-
:host([no-navbar]:not([sidebar-position="overlay"])) .sidebar {
|
|
116
|
-
display: none;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
`];
|
|
120
|
-
t([
|
|
121
|
-
l({ attribute: "sidebar-position", reflect: !0 })
|
|
122
|
-
], a.prototype, "sidebarPosition", 2);
|
|
123
|
-
t([
|
|
124
|
-
l({ type: Boolean, attribute: "no-navbar", reflect: !0 })
|
|
125
|
-
], a.prototype, "noNavbar", 2);
|
|
126
|
-
t([
|
|
127
|
-
l({ type: Boolean, attribute: "no-sidebar", reflect: !0 })
|
|
128
|
-
], a.prototype, "noSidebar", 2);
|
|
129
|
-
a = t([
|
|
130
|
-
m("cg-app-shell")
|
|
131
|
-
], a);
|
|
132
|
-
export {
|
|
133
|
-
a as CgAppShell
|
|
134
|
-
};
|
|
135
|
-
//# sourceMappingURL=cg-app-shell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cg-app-shell.js","sources":["../../../src/components/cg-app-shell/cg-app-shell.ts"],"sourcesContent":["import { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\n\n/**\n * @element cg-app-shell\n * Composed application shell — a sticky top navbar, an optional sidebar, and\n * an independently scrolling main region. Handles the layout most apps\n * hand-roll on top of `cg-navbar` + `cg-sidebar`.\n *\n * The shell takes the full viewport height by default. The main region is the\n * only scrollable surface; the navbar and sidebar are pinned. Below\n * `--cg-component-app-shell-breakpoint` (768px), the sidebar collapses out\n * of the layout — consumers should provide a drawer trigger inside the\n * navbar slot for narrow viewports.\n *\n * @example\n * ```html\n * <cg-app-shell>\n * <cg-navbar slot=\"navbar\">…</cg-navbar>\n * <cg-sidebar slot=\"sidebar\">…</cg-sidebar>\n * <article>…page content…</article>\n * </cg-app-shell>\n * ```\n *\n * @example Right sidebar, no navbar\n * ```html\n * <cg-app-shell sidebar-position=\"right\" no-navbar>\n * <cg-sidebar slot=\"sidebar\">…</cg-sidebar>\n * <article>…</article>\n * </cg-app-shell>\n * ```\n *\n * @slot navbar - Top navigation bar (sticky)\n * @slot sidebar - Side navigation (sticky, hidden on narrow viewports)\n * @slot - Main content (scrollable)\n *\n * @cssprop --cg-component-app-shell-navbar-height - Navbar fixed height (default 64px)\n * @cssprop --cg-component-app-shell-sidebar-width - Sidebar fixed width (default 240px)\n * @cssprop --cg-component-app-shell-breakpoint - Width below which sidebar collapses (default 768px)\n */\n@customElement('cg-app-shell')\nexport class CgAppShell extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host {\n display: grid;\n width: 100%;\n height: 100vh;\n grid-template-rows: var(--cg-component-app-shell-navbar-height, 64px) 1fr;\n grid-template-columns: var(--cg-component-app-shell-sidebar-width, 240px) 1fr;\n grid-template-areas:\n \"navbar navbar\"\n \"sidebar main\";\n background: var(--cg-color-surface-base-background);\n color: var(--cg-color-surface-base-text);\n overflow: hidden;\n }\n\n :host([sidebar-position=\"right\"]) {\n grid-template-columns: 1fr var(--cg-component-app-shell-sidebar-width, 240px);\n grid-template-areas:\n \"navbar navbar\"\n \"main sidebar\";\n }\n\n :host([no-sidebar]) {\n grid-template-columns: 1fr;\n grid-template-areas:\n \"navbar\"\n \"main\";\n }\n\n :host([no-navbar]) {\n grid-template-rows: 1fr;\n grid-template-areas: \"sidebar main\";\n }\n\n :host([no-navbar][sidebar-position=\"right\"]) {\n grid-template-areas: \"main sidebar\";\n }\n\n :host([no-navbar][no-sidebar]) {\n grid-template-rows: 1fr;\n grid-template-columns: 1fr;\n grid-template-areas: \"main\";\n }\n\n .navbar {\n grid-area: navbar;\n display: flex;\n align-items: stretch;\n border-bottom: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);\n background: var(--cg-color-surface-container-background);\n z-index: 2;\n min-width: 0;\n }\n\n .sidebar {\n grid-area: sidebar;\n display: flex;\n flex-direction: column;\n border-right: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);\n background: var(--cg-color-surface-container-background);\n overflow-y: auto;\n min-height: 0;\n }\n\n :host([sidebar-position=\"right\"]) .sidebar {\n border-right: none;\n border-left: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);\n }\n\n .main {\n grid-area: main;\n overflow-y: auto;\n overflow-x: hidden;\n min-width: 0;\n min-height: 0;\n }\n\n /* Hide sidebar on narrow viewports — consumers slot a drawer trigger\n into the navbar instead. */\n @media (max-width: 768px) {\n :host(:not([sidebar-position=\"overlay\"])) {\n grid-template-columns: 1fr;\n }\n :host(:not([sidebar-position=\"overlay\"])) {\n grid-template-areas:\n \"navbar\"\n \"main\";\n }\n :host(:not([no-navbar]):not([sidebar-position=\"overlay\"])) .sidebar {\n display: none;\n }\n :host([no-navbar]:not([sidebar-position=\"overlay\"])) {\n grid-template-areas: \"main\";\n }\n :host([no-navbar]:not([sidebar-position=\"overlay\"])) .sidebar {\n display: none;\n }\n }\n `];\n\n /** Position of the sidebar slot, or \"overlay\" to keep it visible on narrow viewports. */\n @property({ attribute: 'sidebar-position', reflect: true })\n sidebarPosition: 'left' | 'right' | 'overlay' = 'left';\n\n /** Hide the navbar slot entirely. */\n @property({ type: Boolean, attribute: 'no-navbar', reflect: true })\n noNavbar = false;\n\n /** Hide the sidebar slot entirely. */\n @property({ type: Boolean, attribute: 'no-sidebar', reflect: true })\n noSidebar = false;\n\n override render() {\n return html`\n ${this.noNavbar ? '' : html`<header class=\"navbar\"><slot name=\"navbar\"></slot></header>`}\n ${this.noSidebar ? '' : html`<aside class=\"sidebar\"><slot name=\"sidebar\"></slot></aside>`}\n <main class=\"main\"><slot></slot></main>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cg-app-shell': CgAppShell;\n }\n}\n"],"names":["CgAppShell","LitElement","html","hostBlock","reducedMotion","css","__decorateClass","property","customElement"],"mappings":";;;;;;;;AA0CO,IAAMA,IAAN,cAAyBC,EAAW;AAAA,EAApC,cAAA;AAAA,UAAA,GAAA,SAAA,GAuGL,KAAA,kBAAgD,QAIhD,KAAA,WAAW,IAIX,KAAA,YAAY;AAAA,EAAA;AAAA,EAEH,SAAS;AAChB,WAAOC;AAAA,QACH,KAAK,WAAW,KAAKA,8DAAiE;AAAA,QACtF,KAAK,YAAY,KAAKA,8DAAiE;AAAA;AAAA;AAAA,EAG7F;AACF;AAxHaF,EACK,SAAS,CAACG,GAAWC,GAAeC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAkGnD;AAIDC,EAAA;AAAA,EADCC,EAAS,EAAE,WAAW,oBAAoB,SAAS,IAAM;AAAA,GAtG/CP,EAuGX,WAAA,mBAAA,CAAA;AAIAM,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,WAAW,aAAa,SAAS,IAAM;AAAA,GA1GvDP,EA2GX,WAAA,YAAA,CAAA;AAIAM,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,WAAW,cAAc,SAAS,IAAM;AAAA,GA9GxDP,EA+GX,WAAA,aAAA,CAAA;AA/GWA,IAANM,EAAA;AAAA,EADNE,EAAc,cAAc;AAAA,GAChBR,CAAA;"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
2
|
-
/**
|
|
3
|
-
* @element cg-auth-shell
|
|
4
|
-
* Layout shell for authentication screens (sign-in, sign-up, magic-link,
|
|
5
|
-
* OTP challenge, password reset, MFA). Provides the canonical structure —
|
|
6
|
-
* brand mark, title, subtitle, form region, primary actions, footer links —
|
|
7
|
-
* with three layouts and consistent typography/spacing.
|
|
8
|
-
*
|
|
9
|
-
* The component is layout-only. Consumers slot in the actual form fields
|
|
10
|
-
* (`<cg-input>`, `<cg-password-input>`, `<cg-otp-input>`, etc.), the
|
|
11
|
-
* primary action button(s), and footer links to alternate flows.
|
|
12
|
-
*
|
|
13
|
-
* @example Sign-in
|
|
14
|
-
* ```html
|
|
15
|
-
* <cg-auth-shell mode="signin">
|
|
16
|
-
* <cg-icon slot="brand" name="cognivo-logo"></cg-icon>
|
|
17
|
-
* <span slot="title">Welcome back</span>
|
|
18
|
-
* <span slot="subtitle">Sign in to your Cognivo account</span>
|
|
19
|
-
*
|
|
20
|
-
* <cg-input label="Email" type="email" required></cg-input>
|
|
21
|
-
* <cg-password-input label="Password" required></cg-password-input>
|
|
22
|
-
*
|
|
23
|
-
* <cg-button slot="actions" variant="primary" submit>Sign in</cg-button>
|
|
24
|
-
* <cg-link slot="footer" href="/forgot">Forgot password?</cg-link>
|
|
25
|
-
* <cg-link slot="footer" href="/signup">Create account</cg-link>
|
|
26
|
-
* </cg-auth-shell>
|
|
27
|
-
* ```
|
|
28
|
-
*
|
|
29
|
-
* @example Split layout with marketing panel
|
|
30
|
-
* ```html
|
|
31
|
-
* <cg-auth-shell layout="split">
|
|
32
|
-
* <div slot="aside">…hero / testimonial / brand visual…</div>
|
|
33
|
-
* …form contents…
|
|
34
|
-
* </cg-auth-shell>
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* @slot brand - Logo or wordmark above the title.
|
|
38
|
-
* @slot title - Page heading. Plain text or rich content.
|
|
39
|
-
* @slot subtitle - Supporting copy below the title.
|
|
40
|
-
* @slot - Form fields (default slot).
|
|
41
|
-
* @slot actions - Primary action button(s).
|
|
42
|
-
* @slot footer - Alternate-flow links and helper text.
|
|
43
|
-
* @slot aside - Marketing panel content (only renders when layout="split").
|
|
44
|
-
*
|
|
45
|
-
* @cssprop --cg-component-auth-shell-card-width - Form card width (default 420px)
|
|
46
|
-
* @cssprop --cg-component-auth-shell-card-radius - Form card radius (default 16px)
|
|
47
|
-
*/
|
|
48
|
-
export declare class CgAuthShell extends LitElement {
|
|
49
|
-
static styles: import('lit').CSSResult[];
|
|
50
|
-
/** Visual mode tag — does not change behavior, only `data-mode` for consumer styling. */
|
|
51
|
-
mode: 'signin' | 'signup' | 'otp' | 'magic-link' | 'reset' | 'mfa';
|
|
52
|
-
/** Layout variant. */
|
|
53
|
-
layout: 'centered' | 'split' | 'full-bleed';
|
|
54
|
-
render(): import('lit').TemplateResult<1>;
|
|
55
|
-
}
|
|
56
|
-
declare global {
|
|
57
|
-
interface HTMLElementTagNameMap {
|
|
58
|
-
'cg-auth-shell': CgAuthShell;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=cg-auth-shell.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cg-auth-shell.d.ts","sourceRoot":"","sources":["../../../src/components/cg-auth-shell/cg-auth-shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBACa,WAAY,SAAQ,UAAU;IACzC,OAAgB,MAAM,4BAoHnB;IAEH,yFAAyF;IAC5D,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,YAAY,GAAG,OAAO,GAAG,KAAK,CAAY;IAE3G,sBAAsB;IACO,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,YAAY,CAAc;IAE7E,MAAM;CAwBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { css as g, LitElement as p, html as c, nothing as h } from "lit";
|
|
2
|
-
import { property as d, customElement as v } from "lit/decorators.js";
|
|
3
|
-
import { h as u, r as f } from "../../chunks/premium.css-9I4kHrsl.js";
|
|
4
|
-
var m = Object.defineProperty, y = Object.getOwnPropertyDescriptor, l = (t, r, o, i) => {
|
|
5
|
-
for (var e = i > 1 ? void 0 : i ? y(r, o) : r, s = t.length - 1, n; s >= 0; s--)
|
|
6
|
-
(n = t[s]) && (e = (i ? n(r, o, e) : n(e)) || e);
|
|
7
|
-
return i && e && m(r, o, e), e;
|
|
8
|
-
};
|
|
9
|
-
let a = class extends p {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments), this.mode = "signin", this.layout = "centered";
|
|
12
|
-
}
|
|
13
|
-
render() {
|
|
14
|
-
const t = () => c`
|
|
15
|
-
<form class="card" novalidate>
|
|
16
|
-
<div class="brand"><slot name="brand"></slot></div>
|
|
17
|
-
<div class="heading">
|
|
18
|
-
<span class="title"><slot name="title"></slot></span>
|
|
19
|
-
<span class="subtitle"><slot name="subtitle"></slot></span>
|
|
20
|
-
</div>
|
|
21
|
-
<div class="body"><slot></slot></div>
|
|
22
|
-
<div class="actions"><slot name="actions"></slot></div>
|
|
23
|
-
<div class="footer"><slot name="footer"></slot></div>
|
|
24
|
-
</form>
|
|
25
|
-
`;
|
|
26
|
-
return this.layout === "split" ? c`
|
|
27
|
-
<div class="container">
|
|
28
|
-
<div class="aside"><slot name="aside"></slot></div>
|
|
29
|
-
<div class="card-region">${t()}</div>
|
|
30
|
-
</div>
|
|
31
|
-
` : c`<div class="container">${t()}</div>${h}`;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
a.styles = [u, f, g`
|
|
35
|
-
:host {
|
|
36
|
-
display: block;
|
|
37
|
-
width: 100%;
|
|
38
|
-
min-height: 100vh;
|
|
39
|
-
background: var(--cg-color-surface-base-background);
|
|
40
|
-
color: var(--cg-color-surface-base-text);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/* ── Centered layout (default) ───────────────────────────────────── */
|
|
44
|
-
.container {
|
|
45
|
-
display: flex;
|
|
46
|
-
align-items: center;
|
|
47
|
-
justify-content: center;
|
|
48
|
-
min-height: 100vh;
|
|
49
|
-
padding: var(--cg-spacing-32) var(--cg-spacing-16);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.card {
|
|
53
|
-
width: 100%;
|
|
54
|
-
max-width: var(--cg-component-auth-shell-card-width, 420px);
|
|
55
|
-
background: var(--cg-color-surface-container-background);
|
|
56
|
-
border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
57
|
-
border-radius: var(--cg-component-auth-shell-card-radius, var(--cg-border-radius-200));
|
|
58
|
-
padding: var(--cg-spacing-32) var(--cg-spacing-24);
|
|
59
|
-
display: flex;
|
|
60
|
-
flex-direction: column;
|
|
61
|
-
gap: var(--cg-spacing-16);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/* ── Full-bleed layout — no card chrome ─────────────────────────── */
|
|
65
|
-
:host([layout="full-bleed"]) .card {
|
|
66
|
-
max-width: var(--cg-component-auth-shell-card-width, 420px);
|
|
67
|
-
background: transparent;
|
|
68
|
-
border: 0;
|
|
69
|
-
padding: 0;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/* ── Split layout — aside on left, form on right ────────────────── */
|
|
73
|
-
:host([layout="split"]) .container {
|
|
74
|
-
align-items: stretch;
|
|
75
|
-
padding: 0;
|
|
76
|
-
}
|
|
77
|
-
:host([layout="split"]) .aside {
|
|
78
|
-
display: flex;
|
|
79
|
-
flex: 1 1 0;
|
|
80
|
-
min-height: 100vh;
|
|
81
|
-
background: var(--cg-color-action-tertiary-background-hover);
|
|
82
|
-
align-items: center;
|
|
83
|
-
justify-content: center;
|
|
84
|
-
padding: var(--cg-spacing-48);
|
|
85
|
-
}
|
|
86
|
-
:host([layout="split"]) .card-region {
|
|
87
|
-
display: flex;
|
|
88
|
-
flex: 1 1 0;
|
|
89
|
-
align-items: center;
|
|
90
|
-
justify-content: center;
|
|
91
|
-
padding: var(--cg-spacing-32) var(--cg-spacing-16);
|
|
92
|
-
}
|
|
93
|
-
@media (max-width: 768px) {
|
|
94
|
-
:host([layout="split"]) .aside { display: none; }
|
|
95
|
-
:host([layout="split"]) .card-region { flex: 1 1 100%; }
|
|
96
|
-
}
|
|
97
|
-
:host(:not([layout="split"])) .aside { display: none; }
|
|
98
|
-
|
|
99
|
-
/* ── Internal regions ───────────────────────────────────────────── */
|
|
100
|
-
.brand {
|
|
101
|
-
display: flex;
|
|
102
|
-
align-items: center;
|
|
103
|
-
justify-content: center;
|
|
104
|
-
min-height: var(--cg-spacing-32);
|
|
105
|
-
}
|
|
106
|
-
.brand:empty { display: none; }
|
|
107
|
-
|
|
108
|
-
.heading {
|
|
109
|
-
display: flex;
|
|
110
|
-
flex-direction: column;
|
|
111
|
-
gap: var(--cg-spacing-4);
|
|
112
|
-
text-align: center;
|
|
113
|
-
}
|
|
114
|
-
.title {
|
|
115
|
-
font-size: var(--cg-font-size-xl);
|
|
116
|
-
font-weight: var(--cg-font-weight-semibold);
|
|
117
|
-
color: var(--cg-color-surface-base-text);
|
|
118
|
-
line-height: var(--cg-line-height-tight);
|
|
119
|
-
}
|
|
120
|
-
.subtitle {
|
|
121
|
-
font-size: var(--cg-font-size-sm);
|
|
122
|
-
color: var(--cg-color-surface-container-outlined);
|
|
123
|
-
line-height: var(--cg-line-height-snug);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
.body {
|
|
127
|
-
display: flex;
|
|
128
|
-
flex-direction: column;
|
|
129
|
-
gap: var(--cg-spacing-12);
|
|
130
|
-
}
|
|
131
|
-
.actions {
|
|
132
|
-
display: flex;
|
|
133
|
-
flex-direction: column;
|
|
134
|
-
gap: var(--cg-spacing-8);
|
|
135
|
-
margin-top: var(--cg-spacing-8);
|
|
136
|
-
}
|
|
137
|
-
.actions ::slotted(*) { width: 100%; }
|
|
138
|
-
|
|
139
|
-
.footer {
|
|
140
|
-
display: flex;
|
|
141
|
-
flex-wrap: wrap;
|
|
142
|
-
align-items: center;
|
|
143
|
-
justify-content: space-between;
|
|
144
|
-
gap: var(--cg-spacing-8);
|
|
145
|
-
padding-top: var(--cg-spacing-16);
|
|
146
|
-
border-top: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
147
|
-
font-size: var(--cg-font-size-xs);
|
|
148
|
-
}
|
|
149
|
-
.footer:empty { display: none; }
|
|
150
|
-
`];
|
|
151
|
-
l([
|
|
152
|
-
d({ reflect: !0 })
|
|
153
|
-
], a.prototype, "mode", 2);
|
|
154
|
-
l([
|
|
155
|
-
d({ reflect: !0 })
|
|
156
|
-
], a.prototype, "layout", 2);
|
|
157
|
-
a = l([
|
|
158
|
-
v("cg-auth-shell")
|
|
159
|
-
], a);
|
|
160
|
-
export {
|
|
161
|
-
a as CgAuthShell
|
|
162
|
-
};
|
|
163
|
-
//# sourceMappingURL=cg-auth-shell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cg-auth-shell.js","sources":["../../../src/components/cg-auth-shell/cg-auth-shell.ts"],"sourcesContent":["import { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\n\n/**\n * @element cg-auth-shell\n * Layout shell for authentication screens (sign-in, sign-up, magic-link,\n * OTP challenge, password reset, MFA). Provides the canonical structure —\n * brand mark, title, subtitle, form region, primary actions, footer links —\n * with three layouts and consistent typography/spacing.\n *\n * The component is layout-only. Consumers slot in the actual form fields\n * (`<cg-input>`, `<cg-password-input>`, `<cg-otp-input>`, etc.), the\n * primary action button(s), and footer links to alternate flows.\n *\n * @example Sign-in\n * ```html\n * <cg-auth-shell mode=\"signin\">\n * <cg-icon slot=\"brand\" name=\"cognivo-logo\"></cg-icon>\n * <span slot=\"title\">Welcome back</span>\n * <span slot=\"subtitle\">Sign in to your Cognivo account</span>\n *\n * <cg-input label=\"Email\" type=\"email\" required></cg-input>\n * <cg-password-input label=\"Password\" required></cg-password-input>\n *\n * <cg-button slot=\"actions\" variant=\"primary\" submit>Sign in</cg-button>\n * <cg-link slot=\"footer\" href=\"/forgot\">Forgot password?</cg-link>\n * <cg-link slot=\"footer\" href=\"/signup\">Create account</cg-link>\n * </cg-auth-shell>\n * ```\n *\n * @example Split layout with marketing panel\n * ```html\n * <cg-auth-shell layout=\"split\">\n * <div slot=\"aside\">…hero / testimonial / brand visual…</div>\n * …form contents…\n * </cg-auth-shell>\n * ```\n *\n * @slot brand - Logo or wordmark above the title.\n * @slot title - Page heading. Plain text or rich content.\n * @slot subtitle - Supporting copy below the title.\n * @slot - Form fields (default slot).\n * @slot actions - Primary action button(s).\n * @slot footer - Alternate-flow links and helper text.\n * @slot aside - Marketing panel content (only renders when layout=\"split\").\n *\n * @cssprop --cg-component-auth-shell-card-width - Form card width (default 420px)\n * @cssprop --cg-component-auth-shell-card-radius - Form card radius (default 16px)\n */\n@customElement('cg-auth-shell')\nexport class CgAuthShell extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host {\n display: block;\n width: 100%;\n min-height: 100vh;\n background: var(--cg-color-surface-base-background);\n color: var(--cg-color-surface-base-text);\n }\n\n /* ── Centered layout (default) ───────────────────────────────────── */\n .container {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n padding: var(--cg-spacing-32) var(--cg-spacing-16);\n }\n\n .card {\n width: 100%;\n max-width: var(--cg-component-auth-shell-card-width, 420px);\n background: var(--cg-color-surface-container-background);\n border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);\n border-radius: var(--cg-component-auth-shell-card-radius, var(--cg-border-radius-200));\n padding: var(--cg-spacing-32) var(--cg-spacing-24);\n display: flex;\n flex-direction: column;\n gap: var(--cg-spacing-16);\n }\n\n /* ── Full-bleed layout — no card chrome ─────────────────────────── */\n :host([layout=\"full-bleed\"]) .card {\n max-width: var(--cg-component-auth-shell-card-width, 420px);\n background: transparent;\n border: 0;\n padding: 0;\n }\n\n /* ── Split layout — aside on left, form on right ────────────────── */\n :host([layout=\"split\"]) .container {\n align-items: stretch;\n padding: 0;\n }\n :host([layout=\"split\"]) .aside {\n display: flex;\n flex: 1 1 0;\n min-height: 100vh;\n background: var(--cg-color-action-tertiary-background-hover);\n align-items: center;\n justify-content: center;\n padding: var(--cg-spacing-48);\n }\n :host([layout=\"split\"]) .card-region {\n display: flex;\n flex: 1 1 0;\n align-items: center;\n justify-content: center;\n padding: var(--cg-spacing-32) var(--cg-spacing-16);\n }\n @media (max-width: 768px) {\n :host([layout=\"split\"]) .aside { display: none; }\n :host([layout=\"split\"]) .card-region { flex: 1 1 100%; }\n }\n :host(:not([layout=\"split\"])) .aside { display: none; }\n\n /* ── Internal regions ───────────────────────────────────────────── */\n .brand {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--cg-spacing-32);\n }\n .brand:empty { display: none; }\n\n .heading {\n display: flex;\n flex-direction: column;\n gap: var(--cg-spacing-4);\n text-align: center;\n }\n .title {\n font-size: var(--cg-font-size-xl);\n font-weight: var(--cg-font-weight-semibold);\n color: var(--cg-color-surface-base-text);\n line-height: var(--cg-line-height-tight);\n }\n .subtitle {\n font-size: var(--cg-font-size-sm);\n color: var(--cg-color-surface-container-outlined);\n line-height: var(--cg-line-height-snug);\n }\n\n .body {\n display: flex;\n flex-direction: column;\n gap: var(--cg-spacing-12);\n }\n .actions {\n display: flex;\n flex-direction: column;\n gap: var(--cg-spacing-8);\n margin-top: var(--cg-spacing-8);\n }\n .actions ::slotted(*) { width: 100%; }\n\n .footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: var(--cg-spacing-8);\n padding-top: var(--cg-spacing-16);\n border-top: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);\n font-size: var(--cg-font-size-xs);\n }\n .footer:empty { display: none; }\n `];\n\n /** Visual mode tag — does not change behavior, only `data-mode` for consumer styling. */\n @property({ reflect: true }) mode: 'signin' | 'signup' | 'otp' | 'magic-link' | 'reset' | 'mfa' = 'signin';\n\n /** Layout variant. */\n @property({ reflect: true }) layout: 'centered' | 'split' | 'full-bleed' = 'centered';\n\n override render() {\n const renderCard = () => html`\n <form class=\"card\" novalidate>\n <div class=\"brand\"><slot name=\"brand\"></slot></div>\n <div class=\"heading\">\n <span class=\"title\"><slot name=\"title\"></slot></span>\n <span class=\"subtitle\"><slot name=\"subtitle\"></slot></span>\n </div>\n <div class=\"body\"><slot></slot></div>\n <div class=\"actions\"><slot name=\"actions\"></slot></div>\n <div class=\"footer\"><slot name=\"footer\"></slot></div>\n </form>\n `;\n\n if (this.layout === 'split') {\n return html`\n <div class=\"container\">\n <div class=\"aside\"><slot name=\"aside\"></slot></div>\n <div class=\"card-region\">${renderCard()}</div>\n </div>\n `;\n }\n return html`<div class=\"container\">${renderCard()}</div>${nothing}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cg-auth-shell': CgAuthShell;\n }\n}\n"],"names":["CgAuthShell","LitElement","renderCard","html","nothing","hostBlock","reducedMotion","css","__decorateClass","property","customElement"],"mappings":";;;;;;;;AAmDO,IAAMA,IAAN,cAA0BC,EAAW;AAAA,EAArC,cAAA;AAAA,UAAA,GAAA,SAAA,GAwHwB,KAAA,OAAqE,UAGrE,KAAA,SAA8C;AAAA,EAAA;AAAA,EAElE,SAAS;AAChB,UAAMC,IAAa,MAAMC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAazB,WAAI,KAAK,WAAW,UACXA;AAAA;AAAA;AAAA,qCAGwBD,GAAY;AAAA;AAAA,UAItCC,2BAA8BD,EAAA,CAAY,SAASE,CAAO;AAAA,EACnE;AACF;AArJaJ,EACK,SAAS,CAACK,GAAWC,GAAeC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAoHnD;AAG4BC,EAAA;AAAA,EAA5BC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAxHhBT,EAwHkB,WAAA,QAAA,CAAA;AAGAQ,EAAA;AAAA,EAA5BC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GA3HhBT,EA2HkB,WAAA,UAAA,CAAA;AA3HlBA,IAANQ,EAAA;AAAA,EADNE,EAAc,eAAe;AAAA,GACjBV,CAAA;"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
2
|
-
interface DefinitionItem {
|
|
3
|
-
/** Term (label) shown on the left / above. */
|
|
4
|
-
term: string;
|
|
5
|
-
/** Definition value. Strings render as text; consumers wanting markup should use the slot API instead. */
|
|
6
|
-
definition?: unknown;
|
|
7
|
-
/** Show a copy-to-clipboard button next to the value. Visible on row hover. */
|
|
8
|
-
copyable?: boolean;
|
|
9
|
-
/** Optional tooltip on the term (helpful for shorthand specs like SLA, MAU). */
|
|
10
|
-
tooltip?: string;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* @element cg-definition-list
|
|
14
|
-
* Semantic key/value list rendered as a real `<dl>` so screen readers
|
|
15
|
-
* expose proper term/definition pairing. Supports two render paths:
|
|
16
|
-
*
|
|
17
|
-
* 1. Slot in `<dt>` and `<dd>` directly (rich values, full control):
|
|
18
|
-
* ```html
|
|
19
|
-
* <cg-definition-list bordered>
|
|
20
|
-
* <dt>Plan</dt>
|
|
21
|
-
* <dd><cg-badge variant="accent">Pro</cg-badge></dd>
|
|
22
|
-
* <dt>Status</dt>
|
|
23
|
-
* <dd><cg-badge variant="success">Active</cg-badge></dd>
|
|
24
|
-
* </cg-definition-list>
|
|
25
|
-
* ```
|
|
26
|
-
*
|
|
27
|
-
* 2. Pass `.items=[...]` for quick data-driven render with built-in
|
|
28
|
-
* copy buttons + label tooltips:
|
|
29
|
-
* ```html
|
|
30
|
-
* <cg-definition-list bordered .items=${[
|
|
31
|
-
* { term: 'Plan', definition: 'Pro' },
|
|
32
|
-
* { term: 'Email', definition: 'alice@example.com', copyable: true },
|
|
33
|
-
* { term: 'API key', definition: 'sk_live_abc', copyable: true, tooltip: 'Read-write key' },
|
|
34
|
-
* ]}></cg-definition-list>
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* Two layouts (`direction`):
|
|
38
|
-
* - `horizontal` (default) — term : value side-by-side (spec sheet)
|
|
39
|
-
* - `vertical` — term above value (form / detail view)
|
|
40
|
-
*
|
|
41
|
-
* For tag-chip / metadata-line use cases (e.g. "CPU: 8 cores · RAM: 32 GB"),
|
|
42
|
-
* compose <cg-chip> or <cg-text> directly — they give finer control than
|
|
43
|
-
* a description list pretending to be a chip strip.
|
|
44
|
-
*
|
|
45
|
-
* Two alignments (`align`, horizontal mode only):
|
|
46
|
-
* - `start` (default) — term and value sit adjacent on the left
|
|
47
|
-
* - `between` — term hard-left, value hard-right (price-list)
|
|
48
|
-
*
|
|
49
|
-
* Variants: `bordered` (outer card + 24px padding + row dividers),
|
|
50
|
-
* `striped` (alternating row backgrounds for long lists), `size`
|
|
51
|
-
* (sm/md/lg density).
|
|
52
|
-
*
|
|
53
|
-
* @slot - `<dt>` and `<dd>` pairs.
|
|
54
|
-
*
|
|
55
|
-
* @csspart list - The inner `<dl>` element
|
|
56
|
-
* @csspart term - Each `<dt>` rendered from items[] (slotted dt/dd cannot be parted from outside the shadow boundary; use ::slotted() or wrap them)
|
|
57
|
-
* @csspart value - Each `<dd>` rendered from items[]
|
|
58
|
-
* @csspart copy-button - The copy-to-clipboard button on copyable items
|
|
59
|
-
*
|
|
60
|
-
* @fires {CustomEvent<{term, value}>} cg-definition-copy - Fired when a copyable item is copied.
|
|
61
|
-
*
|
|
62
|
-
* @cssprop --cg-component-definition-list-padding - Wrapper padding when bordered (default 24px)
|
|
63
|
-
* @cssprop --cg-component-definition-list-term-width - Term column width in horizontal mode (default auto)
|
|
64
|
-
*/
|
|
65
|
-
export declare class CgDefinitionList extends LitElement {
|
|
66
|
-
static styles: import('lit').CSSResult[];
|
|
67
|
-
/** Layout direction. */
|
|
68
|
-
direction: 'horizontal' | 'vertical';
|
|
69
|
-
/**
|
|
70
|
-
* Term/value alignment in horizontal mode:
|
|
71
|
-
* start (default) — term and value sit adjacent on the left (spec sheet)
|
|
72
|
-
* between — term on the far left, value pushed to the far right (price-list)
|
|
73
|
-
* No-op outside horizontal direction.
|
|
74
|
-
*/
|
|
75
|
-
align: 'start' | 'between';
|
|
76
|
-
/** Density. */
|
|
77
|
-
size: 'sm' | 'md' | 'lg';
|
|
78
|
-
/** Show outer card border + 24px wrapper padding + row dividers. */
|
|
79
|
-
bordered: boolean;
|
|
80
|
-
/** Alternating row backgrounds for long lists. */
|
|
81
|
-
striped: boolean;
|
|
82
|
-
/** Legacy: tighter gaps. Prefer `size="sm"`. */
|
|
83
|
-
compact: boolean;
|
|
84
|
-
/** Accessible label announced on the <dl>. */
|
|
85
|
-
label: string;
|
|
86
|
-
/** Optional data-driven items. Slotted dt/dd still render after these. */
|
|
87
|
-
items: DefinitionItem[];
|
|
88
|
-
private _copiedIndex;
|
|
89
|
-
private _copy;
|
|
90
|
-
private _renderItem;
|
|
91
|
-
render(): import('lit').TemplateResult<1>;
|
|
92
|
-
}
|
|
93
|
-
declare global {
|
|
94
|
-
interface HTMLElementTagNameMap {
|
|
95
|
-
'cg-definition-list': CgDefinitionList;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
export {};
|
|
99
|
-
//# sourceMappingURL=cg-definition-list.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cg-definition-list.d.ts","sourceRoot":"","sources":["../../../src/components/cg-definition-list/cg-definition-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAGrD,OAAO,uBAAuB,CAAC;AAC/B,OAAO,6BAA6B,CAAC;AAErC,UAAU,cAAc;IACtB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,0GAA0G;IAC1G,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,qBACa,gBAAiB,SAAQ,UAAU;IAC9C,OAAgB,MAAM,4BA6OnB;IAEH,wBAAwB;IACK,SAAS,EAAE,YAAY,GAAG,UAAU,CAAgB;IAEjF;;;;;OAKG;IAC0B,KAAK,EAAE,OAAO,GAAG,SAAS,CAAW;IAElE,eAAe;IACc,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAE7D,oEAAoE;IACxB,QAAQ,UAAS;IAE7D,kDAAkD;IACN,OAAO,UAAS;IAE5D,gDAAgD;IACJ,OAAO,UAAS;IAE5D,8CAA8C;IAClC,KAAK,SAAM;IAEvB,0EAA0E;IAC/C,KAAK,EAAE,cAAc,EAAE,CAAM;IAE/C,OAAO,CAAC,YAAY,CAAM;YAErB,KAAK;IAenB,OAAO,CAAC,WAAW;IAiCV,MAAM;CAQhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
|