@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,332 +0,0 @@
|
|
|
1
|
-
import { css as h, LitElement as g, html as a, nothing as p } from "lit";
|
|
2
|
-
import { property as d, state as f, customElement as u } from "lit/decorators.js";
|
|
3
|
-
import { h as m, r as v } from "../../chunks/premium.css-9I4kHrsl.js";
|
|
4
|
-
import "../cg-icon/cg-icon.js";
|
|
5
|
-
import "../cg-tooltip/cg-tooltip.js";
|
|
6
|
-
var b = Object.defineProperty, y = Object.getOwnPropertyDescriptor, r = (t, e, i, n) => {
|
|
7
|
-
for (var s = n > 1 ? void 0 : n ? y(e, i) : e, c = t.length - 1, l; c >= 0; c--)
|
|
8
|
-
(l = t[c]) && (s = (n ? l(e, i, s) : l(s)) || s);
|
|
9
|
-
return n && s && b(e, i, s), s;
|
|
10
|
-
};
|
|
11
|
-
let o = class extends g {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(...arguments), this.direction = "horizontal", this.align = "start", this.size = "md", this.bordered = !1, this.striped = !1, this.compact = !1, this.label = "", this.items = [], this._copiedIndex = -1;
|
|
14
|
-
}
|
|
15
|
-
async _copy(t, e) {
|
|
16
|
-
if (e)
|
|
17
|
-
try {
|
|
18
|
-
await navigator.clipboard.writeText(e), this._copiedIndex = t, this.dispatchEvent(new CustomEvent("cg-definition-copy", {
|
|
19
|
-
bubbles: !0,
|
|
20
|
-
composed: !0,
|
|
21
|
-
detail: { term: this.items[t]?.term, value: e }
|
|
22
|
-
})), setTimeout(() => {
|
|
23
|
-
this._copiedIndex = -1;
|
|
24
|
-
}, 1500);
|
|
25
|
-
} catch {
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
_renderItem(t, e) {
|
|
29
|
-
const i = t.definition == null ? "" : String(t.definition), n = t.tooltip ? a`<cg-tooltip content=${t.tooltip} position="top"><span>${t.term}</span></cg-tooltip>` : t.term;
|
|
30
|
-
return a`
|
|
31
|
-
<div class="row">
|
|
32
|
-
<dt part="term">${n}</dt>
|
|
33
|
-
<dd part="value">
|
|
34
|
-
<span class="dd-content">
|
|
35
|
-
<span class="dd-value ${i ? "" : "dd-empty"}">${i || "—"}</span>
|
|
36
|
-
${t.copyable && i ? a`
|
|
37
|
-
<button
|
|
38
|
-
type="button"
|
|
39
|
-
class="copy-btn ${this._copiedIndex === e ? "copied" : ""}"
|
|
40
|
-
part="copy-button"
|
|
41
|
-
aria-label="Copy ${t.term}"
|
|
42
|
-
@click=${() => this._copy(e, i)}
|
|
43
|
-
>
|
|
44
|
-
<cg-icon name=${this._copiedIndex === e ? "check" : "copy"} size="xs"></cg-icon>
|
|
45
|
-
</button>
|
|
46
|
-
` : p}
|
|
47
|
-
</span>
|
|
48
|
-
</dd>
|
|
49
|
-
</div>
|
|
50
|
-
`;
|
|
51
|
-
}
|
|
52
|
-
render() {
|
|
53
|
-
return a`
|
|
54
|
-
<dl part="list" aria-label=${this.label || p}>
|
|
55
|
-
${this.items.map((t, e) => this._renderItem(t, e))}
|
|
56
|
-
<slot></slot>
|
|
57
|
-
</dl>
|
|
58
|
-
`;
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
o.styles = [m, v, h`
|
|
62
|
-
:host { display: block; }
|
|
63
|
-
|
|
64
|
-
dl {
|
|
65
|
-
display: grid;
|
|
66
|
-
/* Term column: minimum 128px so short labels (MRR, Plan) get the
|
|
67
|
-
same breathing room as long labels (Account ID, Member since).
|
|
68
|
-
Caps at max-content so a really long label can still expand the
|
|
69
|
-
column. Gives a consistent visual rail between term and value. */
|
|
70
|
-
grid-template-columns: minmax(var(--cg-component-definition-list-term-width, var(--cg-spacing-128)), max-content) 1fr;
|
|
71
|
-
column-gap: var(--cg-spacing-24);
|
|
72
|
-
row-gap: var(--cg-spacing-8);
|
|
73
|
-
margin: 0;
|
|
74
|
-
padding: 0;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
:host([direction="vertical"]) dl {
|
|
78
|
-
grid-template-columns: 1fr;
|
|
79
|
-
row-gap: var(--cg-spacing-4);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/* Density via size — controls row gap + column-gap + font-size.
|
|
83
|
-
compact is a legacy alias for size="sm" gaps but keeps font-size. */
|
|
84
|
-
:host([size="sm"]) dl { row-gap: var(--cg-spacing-4); column-gap: var(--cg-spacing-16); }
|
|
85
|
-
:host([size="lg"]) dl { row-gap: var(--cg-spacing-12); column-gap: var(--cg-spacing-32); }
|
|
86
|
-
:host([compact]) dl { row-gap: var(--cg-spacing-4); column-gap: var(--cg-spacing-16); }
|
|
87
|
-
|
|
88
|
-
/* Bordered variant — wraps the dl in a card-like container with
|
|
89
|
-
24px padding and row dividers. */
|
|
90
|
-
:host([bordered]) dl {
|
|
91
|
-
border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
92
|
-
border-radius: var(--cg-component-card-radius);
|
|
93
|
-
background: var(--cg-color-surface-cards-background);
|
|
94
|
-
padding: var(--cg-component-definition-list-padding, var(--cg-spacing-24));
|
|
95
|
-
row-gap: 0;
|
|
96
|
-
/* CRITICAL: column-gap must be 0 so the row dividers (border-top
|
|
97
|
-
on each dt and each dd) touch in the middle and form ONE
|
|
98
|
-
continuous line across the row. The horizontal space between
|
|
99
|
-
term and value comes from per-cell padding instead. */
|
|
100
|
-
column-gap: 0;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/* Per-cell padding takes over from grid gap. dt gets right padding
|
|
104
|
-
(the visual gap between term and value, matching the non-bordered
|
|
105
|
-
column-gap of 24px); both get vertical padding for breathing room
|
|
106
|
-
around the divider line.
|
|
107
|
-
Note: items[] path now wraps each pair in <div class="row">, so
|
|
108
|
-
:first-of-type / :nth-of-type selectors on dt/dd no longer
|
|
109
|
-
distinguish rows (every dt is the only-of-type inside its row).
|
|
110
|
-
For the items[] path we target .row:first-child / :last-child /
|
|
111
|
-
:not(:first-child) instead. Slotted path has no wrapper, so the
|
|
112
|
-
original :first-of-type rules still work for it. */
|
|
113
|
-
:host([bordered]) dt,
|
|
114
|
-
:host([bordered]) ::slotted(dt) {
|
|
115
|
-
padding: var(--cg-spacing-12) var(--cg-spacing-24) var(--cg-spacing-12) 0;
|
|
116
|
-
}
|
|
117
|
-
:host([bordered]) dd,
|
|
118
|
-
:host([bordered]) ::slotted(dd) {
|
|
119
|
-
padding: var(--cg-spacing-12) 0;
|
|
120
|
-
}
|
|
121
|
-
/* First row sits flush with the card's top padding. Use
|
|
122
|
-
:first-of-type/:last-of-type on .row (matches first/last <div>
|
|
123
|
-
sibling regardless of the trailing <slot>). */
|
|
124
|
-
:host([bordered]) .row:first-of-type > dt,
|
|
125
|
-
:host([bordered]) .row:first-of-type > dd,
|
|
126
|
-
:host([bordered]) ::slotted(dt:first-of-type),
|
|
127
|
-
:host([bordered]) ::slotted(dd:first-of-type) {
|
|
128
|
-
padding-top: 0;
|
|
129
|
-
}
|
|
130
|
-
/* Last row sits flush with the card's bottom padding. */
|
|
131
|
-
:host([bordered]) .row:last-of-type > dt,
|
|
132
|
-
:host([bordered]) .row:last-of-type > dd,
|
|
133
|
-
:host([bordered]) ::slotted(dt:last-of-type),
|
|
134
|
-
:host([bordered]) ::slotted(dd:last-of-type) {
|
|
135
|
-
padding-bottom: 0;
|
|
136
|
-
}
|
|
137
|
-
/* The divider — drawn on every dt + dd EXCEPT the first row.
|
|
138
|
-
With column-gap:0 the two cell borders meet exactly, reading as
|
|
139
|
-
one continuous hairline spanning the full row. */
|
|
140
|
-
:host([bordered]) .row:not(:first-of-type) > dt,
|
|
141
|
-
:host([bordered]) .row:not(:first-of-type) > dd,
|
|
142
|
-
:host([bordered]) ::slotted(dt:not(:first-of-type)),
|
|
143
|
-
:host([bordered]) ::slotted(dd:not(:first-of-type)) {
|
|
144
|
-
border-top: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
/* align="between" — term hard-left, value hard-right (price-list).
|
|
148
|
-
MUST use max-content for both columns: plain "auto" tracks grow
|
|
149
|
-
to fill available space (auto = minmax(min-content, max-content)
|
|
150
|
-
with stretching), defeating justify-content:space-between.
|
|
151
|
-
max-content locks each column to its content's natural width, so
|
|
152
|
-
leftover container space distributes between them.
|
|
153
|
-
The visual right-alignment of the value comes from text-align:
|
|
154
|
-
right on dd (works regardless of how the column resolves). */
|
|
155
|
-
:host([align="between"][direction="horizontal"]) dl {
|
|
156
|
-
grid-template-columns: max-content max-content;
|
|
157
|
-
justify-content: space-between;
|
|
158
|
-
}
|
|
159
|
-
:host([align="between"][direction="horizontal"]) dd,
|
|
160
|
-
:host([align="between"][direction="horizontal"]) ::slotted(dd) {
|
|
161
|
-
text-align: right;
|
|
162
|
-
}
|
|
163
|
-
:host([align="between"][direction="horizontal"]) .dd-content {
|
|
164
|
-
justify-content: flex-end;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/* Striped — alternating row backgrounds. Both render paths target
|
|
168
|
-
even-indexed rows (rows 2, 4, 6 in 1-indexed = rows 1, 3, 5 in
|
|
169
|
-
0-indexed) so they stay consistent.
|
|
170
|
-
Items[] path: .row:nth-child(even) > dt/dd (the .row wrapper is
|
|
171
|
-
a direct child of dl, so :nth-child(even) IS row 2/4/6).
|
|
172
|
-
Slotted path: ::slotted(dt:nth-of-type(even)) — among slotted dt
|
|
173
|
-
siblings, the even-position ones (2nd/4th/6th dt) = rows 2/4/6. */
|
|
174
|
-
:host([striped]:not([bordered])) .row:nth-of-type(even) > dt,
|
|
175
|
-
:host([striped]:not([bordered])) .row:nth-of-type(even) > dd,
|
|
176
|
-
:host([striped]:not([bordered])) ::slotted(dt:nth-of-type(even)),
|
|
177
|
-
:host([striped]:not([bordered])) ::slotted(dd:nth-of-type(even)) {
|
|
178
|
-
background: var(--cg-color-surface-cards-emphasis);
|
|
179
|
-
}
|
|
180
|
-
:host([striped]:not([bordered])) ::slotted(dt),
|
|
181
|
-
:host([striped]:not([bordered])) ::slotted(dd),
|
|
182
|
-
:host([striped]:not([bordered])) dt,
|
|
183
|
-
:host([striped]:not([bordered])) dd {
|
|
184
|
-
padding: var(--cg-spacing-6) var(--cg-spacing-8);
|
|
185
|
-
border-radius: var(--cg-border-radius-50);
|
|
186
|
-
}
|
|
187
|
-
/* When both bordered + striped, keep bordered's padding (already
|
|
188
|
-
set above) and only paint the alternating background. The dividers
|
|
189
|
-
still work because we're not overriding the border-top rules. */
|
|
190
|
-
:host([bordered][striped]) .row:nth-of-type(even) > dt,
|
|
191
|
-
:host([bordered][striped]) .row:nth-of-type(even) > dd,
|
|
192
|
-
:host([bordered][striped]) ::slotted(dt:nth-of-type(even)),
|
|
193
|
-
:host([bordered][striped]) ::slotted(dd:nth-of-type(even)) {
|
|
194
|
-
background: var(--cg-color-surface-cards-emphasis);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
/* Term + value typography — applies to both slotted dt/dd AND
|
|
198
|
-
internally rendered dt/dd from the items[] prop. */
|
|
199
|
-
::slotted(dt),
|
|
200
|
-
dt {
|
|
201
|
-
color: var(--cg-color-input-text-placeholder);
|
|
202
|
-
font-size: var(--cg-font-size-sm);
|
|
203
|
-
font-weight: var(--cg-font-weight-medium);
|
|
204
|
-
line-height: var(--cg-line-height-snug);
|
|
205
|
-
margin: 0;
|
|
206
|
-
width: var(--cg-component-definition-list-term-width, auto);
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
::slotted(dd),
|
|
210
|
-
dd {
|
|
211
|
-
color: var(--cg-color-surface-cards-text);
|
|
212
|
-
font-size: var(--cg-font-size-sm);
|
|
213
|
-
line-height: var(--cg-line-height-snug);
|
|
214
|
-
margin: 0;
|
|
215
|
-
min-width: 0;
|
|
216
|
-
word-break: break-word;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
:host([size="sm"]) ::slotted(dt),
|
|
220
|
-
:host([size="sm"]) dt,
|
|
221
|
-
:host([size="sm"]) ::slotted(dd),
|
|
222
|
-
:host([size="sm"]) dd { font-size: var(--cg-font-size-xs); }
|
|
223
|
-
|
|
224
|
-
:host([size="lg"]) ::slotted(dt),
|
|
225
|
-
:host([size="lg"]) dt,
|
|
226
|
-
:host([size="lg"]) ::slotted(dd),
|
|
227
|
-
:host([size="lg"]) dd { font-size: var(--cg-font-size-md); }
|
|
228
|
-
|
|
229
|
-
/* Vertical layout: extra spacing between pairs. Uses gap from grid
|
|
230
|
-
row-gap PLUS a margin-top on every dt that isn't the first one,
|
|
231
|
-
so each pair is visually grouped (dt right above its dd) with a
|
|
232
|
-
larger gap before the next dt. Applies to both render paths. */
|
|
233
|
-
:host([direction="vertical"]) dt:not(:first-of-type),
|
|
234
|
-
:host([direction="vertical"]) ::slotted(dt:not(:first-child)) {
|
|
235
|
-
margin-top: var(--cg-spacing-8);
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/* Row wrapper — used by the items[] render path to group each
|
|
239
|
-
term+value pair into one logical row. display:contents keeps it
|
|
240
|
-
invisible to grid layout (dt and dd act as direct grid children),
|
|
241
|
-
while still giving us a sibling element to target for first/last
|
|
242
|
-
row treatment via .row:first-of-type / :last-of-type / :nth-of-
|
|
243
|
-
type(even). HTML5 allows <div> wrapping <dt><dd> pairs inside
|
|
244
|
-
<dl> since 2020. */
|
|
245
|
-
.row {
|
|
246
|
-
display: contents;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
/* dd in items[] path may contain a copy button + the value */
|
|
250
|
-
.dd-content {
|
|
251
|
-
display: inline-flex;
|
|
252
|
-
align-items: center;
|
|
253
|
-
gap: var(--cg-spacing-6);
|
|
254
|
-
max-width: 100%;
|
|
255
|
-
}
|
|
256
|
-
.dd-value {
|
|
257
|
-
flex: 1 1 auto;
|
|
258
|
-
min-width: 0;
|
|
259
|
-
}
|
|
260
|
-
.dd-empty {
|
|
261
|
-
color: var(--cg-color-input-text-placeholder);
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
/* Copy button — visible on the SAME row's hover or focus (clean by
|
|
265
|
-
default). Per-row reveal via .dd-content:hover scoping; previously
|
|
266
|
-
used dl:hover which lit up every button when any part of the dl
|
|
267
|
-
was hovered. */
|
|
268
|
-
.copy-btn {
|
|
269
|
-
flex: 0 0 auto;
|
|
270
|
-
display: inline-flex;
|
|
271
|
-
align-items: center;
|
|
272
|
-
justify-content: center;
|
|
273
|
-
width: var(--cg-spacing-20);
|
|
274
|
-
height: var(--cg-spacing-20);
|
|
275
|
-
padding: 0;
|
|
276
|
-
border: none;
|
|
277
|
-
background: transparent;
|
|
278
|
-
color: var(--cg-color-input-text-placeholder);
|
|
279
|
-
border-radius: var(--cg-border-radius-50);
|
|
280
|
-
cursor: pointer;
|
|
281
|
-
opacity: 0;
|
|
282
|
-
transition:
|
|
283
|
-
opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default),
|
|
284
|
-
color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),
|
|
285
|
-
background-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);
|
|
286
|
-
}
|
|
287
|
-
dd:hover .copy-btn,
|
|
288
|
-
.copy-btn:focus-visible { opacity: 1; }
|
|
289
|
-
.copy-btn:hover {
|
|
290
|
-
color: var(--cg-color-surface-cards-text);
|
|
291
|
-
background: var(--cg-color-action-tertiary-background-hover);
|
|
292
|
-
}
|
|
293
|
-
.copy-btn:focus-visible {
|
|
294
|
-
outline: none;
|
|
295
|
-
box-shadow: 0 0 0 var(--cg-border-width-300) var(--cg-color-focus-ring);
|
|
296
|
-
}
|
|
297
|
-
.copy-btn.copied { color: var(--cg-color-status-success-text-default); opacity: 1; }
|
|
298
|
-
`];
|
|
299
|
-
r([
|
|
300
|
-
d({ reflect: !0 })
|
|
301
|
-
], o.prototype, "direction", 2);
|
|
302
|
-
r([
|
|
303
|
-
d({ reflect: !0 })
|
|
304
|
-
], o.prototype, "align", 2);
|
|
305
|
-
r([
|
|
306
|
-
d({ reflect: !0 })
|
|
307
|
-
], o.prototype, "size", 2);
|
|
308
|
-
r([
|
|
309
|
-
d({ type: Boolean, reflect: !0 })
|
|
310
|
-
], o.prototype, "bordered", 2);
|
|
311
|
-
r([
|
|
312
|
-
d({ type: Boolean, reflect: !0 })
|
|
313
|
-
], o.prototype, "striped", 2);
|
|
314
|
-
r([
|
|
315
|
-
d({ type: Boolean, reflect: !0 })
|
|
316
|
-
], o.prototype, "compact", 2);
|
|
317
|
-
r([
|
|
318
|
-
d()
|
|
319
|
-
], o.prototype, "label", 2);
|
|
320
|
-
r([
|
|
321
|
-
d({ type: Array })
|
|
322
|
-
], o.prototype, "items", 2);
|
|
323
|
-
r([
|
|
324
|
-
f()
|
|
325
|
-
], o.prototype, "_copiedIndex", 2);
|
|
326
|
-
o = r([
|
|
327
|
-
u("cg-definition-list")
|
|
328
|
-
], o);
|
|
329
|
-
export {
|
|
330
|
-
o as CgDefinitionList
|
|
331
|
-
};
|
|
332
|
-
//# sourceMappingURL=cg-definition-list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cg-definition-list.js","sources":["../../../src/components/cg-definition-list/cg-definition-list.ts"],"sourcesContent":["import { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\nimport '../cg-icon/cg-icon.js';\nimport '../cg-tooltip/cg-tooltip.js';\n\ninterface DefinitionItem {\n /** Term (label) shown on the left / above. */\n term: string;\n /** Definition value. Strings render as text; consumers wanting markup should use the slot API instead. */\n definition?: unknown;\n /** Show a copy-to-clipboard button next to the value. Visible on row hover. */\n copyable?: boolean;\n /** Optional tooltip on the term (helpful for shorthand specs like SLA, MAU). */\n tooltip?: string;\n}\n\n/**\n * @element cg-definition-list\n * Semantic key/value list rendered as a real `<dl>` so screen readers\n * expose proper term/definition pairing. Supports two render paths:\n *\n * 1. Slot in `<dt>` and `<dd>` directly (rich values, full control):\n * ```html\n * <cg-definition-list bordered>\n * <dt>Plan</dt>\n * <dd><cg-badge variant=\"accent\">Pro</cg-badge></dd>\n * <dt>Status</dt>\n * <dd><cg-badge variant=\"success\">Active</cg-badge></dd>\n * </cg-definition-list>\n * ```\n *\n * 2. Pass `.items=[...]` for quick data-driven render with built-in\n * copy buttons + label tooltips:\n * ```html\n * <cg-definition-list bordered .items=${[\n * { term: 'Plan', definition: 'Pro' },\n * { term: 'Email', definition: 'alice@example.com', copyable: true },\n * { term: 'API key', definition: 'sk_live_abc', copyable: true, tooltip: 'Read-write key' },\n * ]}></cg-definition-list>\n * ```\n *\n * Two layouts (`direction`):\n * - `horizontal` (default) — term : value side-by-side (spec sheet)\n * - `vertical` — term above value (form / detail view)\n *\n * For tag-chip / metadata-line use cases (e.g. \"CPU: 8 cores · RAM: 32 GB\"),\n * compose <cg-chip> or <cg-text> directly — they give finer control than\n * a description list pretending to be a chip strip.\n *\n * Two alignments (`align`, horizontal mode only):\n * - `start` (default) — term and value sit adjacent on the left\n * - `between` — term hard-left, value hard-right (price-list)\n *\n * Variants: `bordered` (outer card + 24px padding + row dividers),\n * `striped` (alternating row backgrounds for long lists), `size`\n * (sm/md/lg density).\n *\n * @slot - `<dt>` and `<dd>` pairs.\n *\n * @csspart list - The inner `<dl>` element\n * @csspart term - Each `<dt>` rendered from items[] (slotted dt/dd cannot be parted from outside the shadow boundary; use ::slotted() or wrap them)\n * @csspart value - Each `<dd>` rendered from items[]\n * @csspart copy-button - The copy-to-clipboard button on copyable items\n *\n * @fires {CustomEvent<{term, value}>} cg-definition-copy - Fired when a copyable item is copied.\n *\n * @cssprop --cg-component-definition-list-padding - Wrapper padding when bordered (default 24px)\n * @cssprop --cg-component-definition-list-term-width - Term column width in horizontal mode (default auto)\n */\n@customElement('cg-definition-list')\nexport class CgDefinitionList extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host { display: block; }\n\n dl {\n display: grid;\n /* Term column: minimum 128px so short labels (MRR, Plan) get the\n same breathing room as long labels (Account ID, Member since).\n Caps at max-content so a really long label can still expand the\n column. Gives a consistent visual rail between term and value. */\n grid-template-columns: minmax(var(--cg-component-definition-list-term-width, var(--cg-spacing-128)), max-content) 1fr;\n column-gap: var(--cg-spacing-24);\n row-gap: var(--cg-spacing-8);\n margin: 0;\n padding: 0;\n }\n\n :host([direction=\"vertical\"]) dl {\n grid-template-columns: 1fr;\n row-gap: var(--cg-spacing-4);\n }\n\n /* Density via size — controls row gap + column-gap + font-size.\n compact is a legacy alias for size=\"sm\" gaps but keeps font-size. */\n :host([size=\"sm\"]) dl { row-gap: var(--cg-spacing-4); column-gap: var(--cg-spacing-16); }\n :host([size=\"lg\"]) dl { row-gap: var(--cg-spacing-12); column-gap: var(--cg-spacing-32); }\n :host([compact]) dl { row-gap: var(--cg-spacing-4); column-gap: var(--cg-spacing-16); }\n\n /* Bordered variant — wraps the dl in a card-like container with\n 24px padding and row dividers. */\n :host([bordered]) dl {\n border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);\n border-radius: var(--cg-component-card-radius);\n background: var(--cg-color-surface-cards-background);\n padding: var(--cg-component-definition-list-padding, var(--cg-spacing-24));\n row-gap: 0;\n /* CRITICAL: column-gap must be 0 so the row dividers (border-top\n on each dt and each dd) touch in the middle and form ONE\n continuous line across the row. The horizontal space between\n term and value comes from per-cell padding instead. */\n column-gap: 0;\n }\n\n /* Per-cell padding takes over from grid gap. dt gets right padding\n (the visual gap between term and value, matching the non-bordered\n column-gap of 24px); both get vertical padding for breathing room\n around the divider line.\n Note: items[] path now wraps each pair in <div class=\"row\">, so\n :first-of-type / :nth-of-type selectors on dt/dd no longer\n distinguish rows (every dt is the only-of-type inside its row).\n For the items[] path we target .row:first-child / :last-child /\n :not(:first-child) instead. Slotted path has no wrapper, so the\n original :first-of-type rules still work for it. */\n :host([bordered]) dt,\n :host([bordered]) ::slotted(dt) {\n padding: var(--cg-spacing-12) var(--cg-spacing-24) var(--cg-spacing-12) 0;\n }\n :host([bordered]) dd,\n :host([bordered]) ::slotted(dd) {\n padding: var(--cg-spacing-12) 0;\n }\n /* First row sits flush with the card's top padding. Use\n :first-of-type/:last-of-type on .row (matches first/last <div>\n sibling regardless of the trailing <slot>). */\n :host([bordered]) .row:first-of-type > dt,\n :host([bordered]) .row:first-of-type > dd,\n :host([bordered]) ::slotted(dt:first-of-type),\n :host([bordered]) ::slotted(dd:first-of-type) {\n padding-top: 0;\n }\n /* Last row sits flush with the card's bottom padding. */\n :host([bordered]) .row:last-of-type > dt,\n :host([bordered]) .row:last-of-type > dd,\n :host([bordered]) ::slotted(dt:last-of-type),\n :host([bordered]) ::slotted(dd:last-of-type) {\n padding-bottom: 0;\n }\n /* The divider — drawn on every dt + dd EXCEPT the first row.\n With column-gap:0 the two cell borders meet exactly, reading as\n one continuous hairline spanning the full row. */\n :host([bordered]) .row:not(:first-of-type) > dt,\n :host([bordered]) .row:not(:first-of-type) > dd,\n :host([bordered]) ::slotted(dt:not(:first-of-type)),\n :host([bordered]) ::slotted(dd:not(:first-of-type)) {\n border-top: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);\n }\n\n /* align=\"between\" — term hard-left, value hard-right (price-list).\n MUST use max-content for both columns: plain \"auto\" tracks grow\n to fill available space (auto = minmax(min-content, max-content)\n with stretching), defeating justify-content:space-between.\n max-content locks each column to its content's natural width, so\n leftover container space distributes between them.\n The visual right-alignment of the value comes from text-align:\n right on dd (works regardless of how the column resolves). */\n :host([align=\"between\"][direction=\"horizontal\"]) dl {\n grid-template-columns: max-content max-content;\n justify-content: space-between;\n }\n :host([align=\"between\"][direction=\"horizontal\"]) dd,\n :host([align=\"between\"][direction=\"horizontal\"]) ::slotted(dd) {\n text-align: right;\n }\n :host([align=\"between\"][direction=\"horizontal\"]) .dd-content {\n justify-content: flex-end;\n }\n\n /* Striped — alternating row backgrounds. Both render paths target\n even-indexed rows (rows 2, 4, 6 in 1-indexed = rows 1, 3, 5 in\n 0-indexed) so they stay consistent.\n Items[] path: .row:nth-child(even) > dt/dd (the .row wrapper is\n a direct child of dl, so :nth-child(even) IS row 2/4/6).\n Slotted path: ::slotted(dt:nth-of-type(even)) — among slotted dt\n siblings, the even-position ones (2nd/4th/6th dt) = rows 2/4/6. */\n :host([striped]:not([bordered])) .row:nth-of-type(even) > dt,\n :host([striped]:not([bordered])) .row:nth-of-type(even) > dd,\n :host([striped]:not([bordered])) ::slotted(dt:nth-of-type(even)),\n :host([striped]:not([bordered])) ::slotted(dd:nth-of-type(even)) {\n background: var(--cg-color-surface-cards-emphasis);\n }\n :host([striped]:not([bordered])) ::slotted(dt),\n :host([striped]:not([bordered])) ::slotted(dd),\n :host([striped]:not([bordered])) dt,\n :host([striped]:not([bordered])) dd {\n padding: var(--cg-spacing-6) var(--cg-spacing-8);\n border-radius: var(--cg-border-radius-50);\n }\n /* When both bordered + striped, keep bordered's padding (already\n set above) and only paint the alternating background. The dividers\n still work because we're not overriding the border-top rules. */\n :host([bordered][striped]) .row:nth-of-type(even) > dt,\n :host([bordered][striped]) .row:nth-of-type(even) > dd,\n :host([bordered][striped]) ::slotted(dt:nth-of-type(even)),\n :host([bordered][striped]) ::slotted(dd:nth-of-type(even)) {\n background: var(--cg-color-surface-cards-emphasis);\n }\n\n /* Term + value typography — applies to both slotted dt/dd AND\n internally rendered dt/dd from the items[] prop. */\n ::slotted(dt),\n dt {\n color: var(--cg-color-input-text-placeholder);\n font-size: var(--cg-font-size-sm);\n font-weight: var(--cg-font-weight-medium);\n line-height: var(--cg-line-height-snug);\n margin: 0;\n width: var(--cg-component-definition-list-term-width, auto);\n }\n\n ::slotted(dd),\n dd {\n color: var(--cg-color-surface-cards-text);\n font-size: var(--cg-font-size-sm);\n line-height: var(--cg-line-height-snug);\n margin: 0;\n min-width: 0;\n word-break: break-word;\n }\n\n :host([size=\"sm\"]) ::slotted(dt),\n :host([size=\"sm\"]) dt,\n :host([size=\"sm\"]) ::slotted(dd),\n :host([size=\"sm\"]) dd { font-size: var(--cg-font-size-xs); }\n\n :host([size=\"lg\"]) ::slotted(dt),\n :host([size=\"lg\"]) dt,\n :host([size=\"lg\"]) ::slotted(dd),\n :host([size=\"lg\"]) dd { font-size: var(--cg-font-size-md); }\n\n /* Vertical layout: extra spacing between pairs. Uses gap from grid\n row-gap PLUS a margin-top on every dt that isn't the first one,\n so each pair is visually grouped (dt right above its dd) with a\n larger gap before the next dt. Applies to both render paths. */\n :host([direction=\"vertical\"]) dt:not(:first-of-type),\n :host([direction=\"vertical\"]) ::slotted(dt:not(:first-child)) {\n margin-top: var(--cg-spacing-8);\n }\n\n /* Row wrapper — used by the items[] render path to group each\n term+value pair into one logical row. display:contents keeps it\n invisible to grid layout (dt and dd act as direct grid children),\n while still giving us a sibling element to target for first/last\n row treatment via .row:first-of-type / :last-of-type / :nth-of-\n type(even). HTML5 allows <div> wrapping <dt><dd> pairs inside\n <dl> since 2020. */\n .row {\n display: contents;\n }\n\n /* dd in items[] path may contain a copy button + the value */\n .dd-content {\n display: inline-flex;\n align-items: center;\n gap: var(--cg-spacing-6);\n max-width: 100%;\n }\n .dd-value {\n flex: 1 1 auto;\n min-width: 0;\n }\n .dd-empty {\n color: var(--cg-color-input-text-placeholder);\n }\n\n /* Copy button — visible on the SAME row's hover or focus (clean by\n default). Per-row reveal via .dd-content:hover scoping; previously\n used dl:hover which lit up every button when any part of the dl\n was hovered. */\n .copy-btn {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--cg-spacing-20);\n height: var(--cg-spacing-20);\n padding: 0;\n border: none;\n background: transparent;\n color: var(--cg-color-input-text-placeholder);\n border-radius: var(--cg-border-radius-50);\n cursor: pointer;\n opacity: 0;\n transition:\n opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n background-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n dd:hover .copy-btn,\n .copy-btn:focus-visible { opacity: 1; }\n .copy-btn:hover {\n color: var(--cg-color-surface-cards-text);\n background: var(--cg-color-action-tertiary-background-hover);\n }\n .copy-btn:focus-visible {\n outline: none;\n box-shadow: 0 0 0 var(--cg-border-width-300) var(--cg-color-focus-ring);\n }\n .copy-btn.copied { color: var(--cg-color-status-success-text-default); opacity: 1; }\n `];\n\n /** Layout direction. */\n @property({ reflect: true }) direction: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Term/value alignment in horizontal mode:\n * start (default) — term and value sit adjacent on the left (spec sheet)\n * between — term on the far left, value pushed to the far right (price-list)\n * No-op outside horizontal direction.\n */\n @property({ reflect: true }) align: 'start' | 'between' = 'start';\n\n /** Density. */\n @property({ reflect: true }) size: 'sm' | 'md' | 'lg' = 'md';\n\n /** Show outer card border + 24px wrapper padding + row dividers. */\n @property({ type: Boolean, reflect: true }) bordered = false;\n\n /** Alternating row backgrounds for long lists. */\n @property({ type: Boolean, reflect: true }) striped = false;\n\n /** Legacy: tighter gaps. Prefer `size=\"sm\"`. */\n @property({ type: Boolean, reflect: true }) compact = false;\n\n /** Accessible label announced on the <dl>. */\n @property() label = '';\n\n /** Optional data-driven items. Slotted dt/dd still render after these. */\n @property({ type: Array }) items: DefinitionItem[] = [];\n\n @state() private _copiedIndex = -1;\n\n private async _copy(index: number, value: string) {\n if (!value) return;\n try {\n await navigator.clipboard.writeText(value);\n this._copiedIndex = index;\n this.dispatchEvent(new CustomEvent('cg-definition-copy', {\n bubbles: true, composed: true,\n detail: { term: this.items[index]?.term, value },\n }));\n setTimeout(() => { this._copiedIndex = -1; }, 1500);\n } catch {\n // Clipboard blocked — silent fail.\n }\n }\n\n private _renderItem(it: DefinitionItem, i: number) {\n const valueText = it.definition == null ? '' : String(it.definition);\n const term = it.tooltip\n ? html`<cg-tooltip content=${it.tooltip} position=\"top\"><span>${it.term}</span></cg-tooltip>`\n : it.term;\n /* Wrapper div is display:contents in grid modes (transparent to the\n grid; dt/dd act as direct grid children), and inline-flex chip in\n inline mode. HTML5 allows <div> wrapping dt/dd pairs inside <dl>.\n Striped + bordered styling targets .row:nth-child() since each\n .row is a direct child of dl. */\n return html`\n <div class=\"row\">\n <dt part=\"term\">${term}</dt>\n <dd part=\"value\">\n <span class=\"dd-content\">\n <span class=\"dd-value ${valueText ? '' : 'dd-empty'}\">${valueText || '—'}</span>\n ${it.copyable && valueText ? html`\n <button\n type=\"button\"\n class=\"copy-btn ${this._copiedIndex === i ? 'copied' : ''}\"\n part=\"copy-button\"\n aria-label=\"Copy ${it.term}\"\n @click=${() => this._copy(i, valueText)}\n >\n <cg-icon name=${this._copiedIndex === i ? 'check' : 'copy'} size=\"xs\"></cg-icon>\n </button>\n ` : nothing}\n </span>\n </dd>\n </div>\n `;\n }\n\n override render() {\n return html`\n <dl part=\"list\" aria-label=${this.label || nothing}>\n ${this.items.map((it, i) => this._renderItem(it, i))}\n <slot></slot>\n </dl>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cg-definition-list': CgDefinitionList;\n }\n}\n"],"names":["CgDefinitionList","LitElement","index","value","it","i","valueText","term","html","nothing","hostBlock","reducedMotion","css","__decorateClass","property","state","customElement"],"mappings":";;;;;;;;;;AAuEO,IAAMA,IAAN,cAA+BC,EAAW;AAAA,EAA1C,cAAA;AAAA,UAAA,GAAA,SAAA,GAiPwB,KAAA,YAAuC,cAQvC,KAAA,QAA6B,SAG7B,KAAA,OAA2B,MAGZ,KAAA,WAAW,IAGX,KAAA,UAAU,IAGV,KAAA,UAAU,IAG1C,KAAA,QAAQ,IAGO,KAAA,QAA0B,CAAA,GAE5C,KAAQ,eAAe;AAAA,EAAA;AAAA,EAEhC,MAAc,MAAMC,GAAeC,GAAe;AAChD,QAAKA;AACL,UAAI;AACF,cAAM,UAAU,UAAU,UAAUA,CAAK,GACzC,KAAK,eAAeD,GACpB,KAAK,cAAc,IAAI,YAAY,sBAAsB;AAAA,UACvD,SAAS;AAAA,UAAM,UAAU;AAAA,UACzB,QAAQ,EAAE,MAAM,KAAK,MAAMA,CAAK,GAAG,MAAM,OAAAC,EAAA;AAAA,QAAM,CAChD,CAAC,GACF,WAAW,MAAM;AAAE,eAAK,eAAe;AAAA,QAAI,GAAG,IAAI;AAAA,MACpD,QAAQ;AAAA,MAER;AAAA,EACF;AAAA,EAEQ,YAAYC,GAAoBC,GAAW;AACjD,UAAMC,IAAYF,EAAG,cAAc,OAAO,KAAK,OAAOA,EAAG,UAAU,GAC7DG,IAAOH,EAAG,UACZI,wBAA2BJ,EAAG,OAAO,yBAAyBA,EAAG,IAAI,yBACrEA,EAAG;AAMP,WAAOI;AAAA;AAAA,0BAEeD,CAAI;AAAA;AAAA;AAAA,oCAGMD,IAAY,KAAK,UAAU,KAAKA,KAAa,GAAG;AAAA,cACtEF,EAAG,YAAYE,IAAYE;AAAA;AAAA;AAAA,kCAGP,KAAK,iBAAiBH,IAAI,WAAW,EAAE;AAAA;AAAA,mCAEtCD,EAAG,IAAI;AAAA,yBACjB,MAAM,KAAK,MAAMC,GAAGC,CAAS,CAAC;AAAA;AAAA,gCAEvB,KAAK,iBAAiBD,IAAI,UAAU,MAAM;AAAA;AAAA,gBAE1DI,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKrB;AAAA,EAES,SAAS;AAChB,WAAOD;AAAA,mCACwB,KAAK,SAASC,CAAO;AAAA,UAC9C,KAAK,MAAM,IAAI,CAACL,GAAIC,MAAM,KAAK,YAAYD,GAAIC,CAAC,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA,EAI1D;AACF;AAvUaL,EACK,SAAS,CAACU,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;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;AAAA;AAAA;AAAA;AAAA;AAAA,GA6OnD;AAG4BC,EAAA;AAAA,EAA5BC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAjPhBd,EAiPkB,WAAA,aAAA,CAAA;AAQAa,EAAA;AAAA,EAA5BC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAzPhBd,EAyPkB,WAAA,SAAA,CAAA;AAGAa,EAAA;AAAA,EAA5BC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GA5PhBd,EA4PkB,WAAA,QAAA,CAAA;AAGea,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GA/P/Bd,EA+PiC,WAAA,YAAA,CAAA;AAGAa,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAlQ/Bd,EAkQiC,WAAA,WAAA,CAAA;AAGAa,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GArQ/Bd,EAqQiC,WAAA,WAAA,CAAA;AAGhCa,EAAA;AAAA,EAAXC,EAAA;AAAS,GAxQCd,EAwQC,WAAA,SAAA,CAAA;AAGea,EAAA;AAAA,EAA1BC,EAAS,EAAE,MAAM,MAAA,CAAO;AAAA,GA3Qdd,EA2QgB,WAAA,SAAA,CAAA;AAEVa,EAAA;AAAA,EAAhBE,EAAA;AAAM,GA7QIf,EA6QM,WAAA,gBAAA,CAAA;AA7QNA,IAANa,EAAA;AAAA,EADNG,EAAc,oBAAoB;AAAA,GACtBhB,CAAA;"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
2
|
-
/**
|
|
3
|
-
* @element cg-draggable
|
|
4
|
-
* Wraps content that can be picked up with a pointer and dropped on a
|
|
5
|
-
* matching `<cg-droppable>`. Pointer-event-based — works on mouse, touch,
|
|
6
|
-
* and stylus.
|
|
7
|
-
*
|
|
8
|
-
* Carries an opaque `payload` (object reference is preserved across the
|
|
9
|
-
* drag) and a `type` tag that the droppable filters on. The dragged
|
|
10
|
-
* element is visually translated under the pointer; a `dragging` attribute
|
|
11
|
-
* on the host lets consumers style the source state.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```html
|
|
15
|
-
* <cg-draggable type="card" .payload=${cardData}>
|
|
16
|
-
* <cg-card>…</cg-card>
|
|
17
|
-
* </cg-draggable>
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* @slot - The draggable content.
|
|
21
|
-
*
|
|
22
|
-
* @fires {CustomEvent<{type: string, payload: unknown}>} cg-drag-start - Drag begins
|
|
23
|
-
* @fires {CustomEvent<{type: string, payload: unknown, dropped: boolean}>} cg-drag-end - Drag ends (with or without a successful drop)
|
|
24
|
-
*/
|
|
25
|
-
export declare class CgDraggable extends LitElement {
|
|
26
|
-
static styles: import('lit').CSSResult[];
|
|
27
|
-
/** Identifier matched against cg-droppable.accepts. */
|
|
28
|
-
type: string;
|
|
29
|
-
/** Application payload passed to the droppable on drop. */
|
|
30
|
-
payload: unknown;
|
|
31
|
-
/** Disable picking up. */
|
|
32
|
-
disabled: boolean;
|
|
33
|
-
/** Reflects while a drag from this element is active. */
|
|
34
|
-
dragging: boolean;
|
|
35
|
-
private _origin;
|
|
36
|
-
private _pointerId;
|
|
37
|
-
private _onPointerDown;
|
|
38
|
-
private _onPointerMove;
|
|
39
|
-
private _onPointerUp;
|
|
40
|
-
private _onPointerCancel;
|
|
41
|
-
private _onKeyDown;
|
|
42
|
-
private _finishDrag;
|
|
43
|
-
private _cleanupAfterDrag;
|
|
44
|
-
connectedCallback(): void;
|
|
45
|
-
disconnectedCallback(): void;
|
|
46
|
-
render(): import('lit').TemplateResult<1>;
|
|
47
|
-
}
|
|
48
|
-
declare global {
|
|
49
|
-
interface HTMLElementTagNameMap {
|
|
50
|
-
'cg-draggable': CgDraggable;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=cg-draggable.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cg-draggable.d.ts","sourceRoot":"","sources":["../../../src/components/cg-draggable/cg-draggable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAK5C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBACa,WAAY,SAAQ,UAAU;IACzC,OAAgB,MAAM,4BAenB;IAEH,uDAAuD;IAC3C,IAAI,SAAM;IAEtB,2DAA2D;IAC3B,OAAO,EAAE,OAAO,CAAQ;IAExD,0BAA0B;IACkB,QAAQ,UAAS;IAE7D,yDAAyD;IACb,QAAQ,UAAS;IAEpD,OAAO,CAAC,OAAO,CAAyC;IAEjE,OAAO,CAAC,UAAU,CAAuB;IAEzC,OAAO,CAAC,cAAc,CAepB;IAEF,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,YAAY,CAGlB;IAEF,OAAO,CAAC,gBAAgB,CAGtB;IAEF,OAAO,CAAC,UAAU,CAMhB;IAEF,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,iBAAiB;IAehB,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAS5B,MAAM;CAGhB;AAmBD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAC;KAC7B;CACF"}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { css as h, LitElement as u, html as g } from "lit";
|
|
2
|
-
import { property as l, state as f, customElement as v } from "lit/decorators.js";
|
|
3
|
-
import { h as _, r as y } from "../../chunks/premium.css-9I4kHrsl.js";
|
|
4
|
-
let r = null;
|
|
5
|
-
function m() {
|
|
6
|
-
return r !== null;
|
|
7
|
-
}
|
|
8
|
-
function E(t, e, n) {
|
|
9
|
-
r || (r = t, document.dispatchEvent(new CustomEvent("cg-drag-start", {
|
|
10
|
-
detail: { ...t, clientX: e, clientY: n }
|
|
11
|
-
})));
|
|
12
|
-
}
|
|
13
|
-
function b(t, e) {
|
|
14
|
-
r && document.dispatchEvent(new CustomEvent("cg-drag-move", {
|
|
15
|
-
detail: { ...r, clientX: t, clientY: e }
|
|
16
|
-
}));
|
|
17
|
-
}
|
|
18
|
-
function D(t, e, n) {
|
|
19
|
-
if (!r) return null;
|
|
20
|
-
const i = r;
|
|
21
|
-
return document.dispatchEvent(new CustomEvent("cg-drag-end", {
|
|
22
|
-
detail: { ...i, clientX: t, clientY: e, dropped: n }
|
|
23
|
-
})), r = null, i;
|
|
24
|
-
}
|
|
25
|
-
function p() {
|
|
26
|
-
r && (document.dispatchEvent(new CustomEvent("cg-drag-end", {
|
|
27
|
-
detail: { ...r, clientX: -1, clientY: -1, dropped: !1 }
|
|
28
|
-
})), r = null);
|
|
29
|
-
}
|
|
30
|
-
var w = Object.defineProperty, P = Object.getOwnPropertyDescriptor, a = (t, e, n, i) => {
|
|
31
|
-
for (var s = i > 1 ? void 0 : i ? P(e, n) : e, c = t.length - 1, d; c >= 0; c--)
|
|
32
|
-
(d = t[c]) && (s = (i ? d(e, n, s) : d(s)) || s);
|
|
33
|
-
return i && s && w(e, n, s), s;
|
|
34
|
-
};
|
|
35
|
-
let o = class extends u {
|
|
36
|
-
constructor() {
|
|
37
|
-
super(...arguments), this.type = "", this.payload = null, this.disabled = !1, this.dragging = !1, this._origin = null, this._pointerId = null, this._onPointerDown = (t) => {
|
|
38
|
-
if (!(this.disabled || m()) && !(t.button !== void 0 && t.button !== 0)) {
|
|
39
|
-
this._pointerId = t.pointerId, this._origin = { x: t.clientX, y: t.clientY }, this.dragging = !0;
|
|
40
|
-
try {
|
|
41
|
-
this.setPointerCapture(t.pointerId);
|
|
42
|
-
} catch {
|
|
43
|
-
}
|
|
44
|
-
E({ payload: this.payload, type: this.type, source: this }, t.clientX, t.clientY), this.dispatchEvent(new CustomEvent("cg-drag-start", {
|
|
45
|
-
detail: { type: this.type, payload: this.payload },
|
|
46
|
-
bubbles: !0,
|
|
47
|
-
composed: !0
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
|
-
}, this._onPointerMove = (t) => {
|
|
51
|
-
if (!this.dragging || t.pointerId !== this._pointerId || !this._origin) return;
|
|
52
|
-
const e = t.clientX - this._origin.x, n = t.clientY - this._origin.y;
|
|
53
|
-
this.style.transform = `translate(${e}px, ${n}px)`, b(t.clientX, t.clientY);
|
|
54
|
-
}, this._onPointerUp = (t) => {
|
|
55
|
-
!this.dragging || t.pointerId !== this._pointerId || this._finishDrag(t.clientX, t.clientY, !1);
|
|
56
|
-
}, this._onPointerCancel = (t) => {
|
|
57
|
-
!this.dragging || t.pointerId !== this._pointerId || this._finishDrag(t.clientX, t.clientY, !0);
|
|
58
|
-
}, this._onKeyDown = (t) => {
|
|
59
|
-
t.key === "Escape" && this.dragging && (t.preventDefault(), p(), this._cleanupAfterDrag(!1));
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
_finishDrag(t, e, n) {
|
|
63
|
-
if (n) {
|
|
64
|
-
p(), this._cleanupAfterDrag(!1);
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
const i = C(t, e);
|
|
68
|
-
this._cleanupAfterDrag(i);
|
|
69
|
-
}
|
|
70
|
-
_cleanupAfterDrag(t) {
|
|
71
|
-
if (this.style.transform = "", this._pointerId !== null)
|
|
72
|
-
try {
|
|
73
|
-
this.releasePointerCapture(this._pointerId);
|
|
74
|
-
} catch {
|
|
75
|
-
}
|
|
76
|
-
this.dragging = !1, this._pointerId = null, this._origin = null, this.dispatchEvent(new CustomEvent("cg-drag-end", {
|
|
77
|
-
detail: { type: this.type, payload: this.payload, dropped: t },
|
|
78
|
-
bubbles: !0,
|
|
79
|
-
composed: !0
|
|
80
|
-
}));
|
|
81
|
-
}
|
|
82
|
-
connectedCallback() {
|
|
83
|
-
super.connectedCallback(), this.addEventListener("pointerdown", this._onPointerDown), this.addEventListener("pointermove", this._onPointerMove), this.addEventListener("pointerup", this._onPointerUp), this.addEventListener("pointercancel", this._onPointerCancel), this.addEventListener("keydown", this._onKeyDown);
|
|
84
|
-
}
|
|
85
|
-
disconnectedCallback() {
|
|
86
|
-
super.disconnectedCallback(), this.removeEventListener("pointerdown", this._onPointerDown), this.removeEventListener("pointermove", this._onPointerMove), this.removeEventListener("pointerup", this._onPointerUp), this.removeEventListener("pointercancel", this._onPointerCancel), this.removeEventListener("keydown", this._onKeyDown);
|
|
87
|
-
}
|
|
88
|
-
render() {
|
|
89
|
-
return g`<slot></slot>`;
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
o.styles = [_, y, h`
|
|
93
|
-
:host {
|
|
94
|
-
display: block;
|
|
95
|
-
touch-action: none;
|
|
96
|
-
cursor: grab;
|
|
97
|
-
}
|
|
98
|
-
:host([disabled]) {
|
|
99
|
-
cursor: default;
|
|
100
|
-
touch-action: auto;
|
|
101
|
-
}
|
|
102
|
-
:host([dragging]) {
|
|
103
|
-
cursor: grabbing;
|
|
104
|
-
opacity: var(--cg-component-draggable-opacity, 0.6);
|
|
105
|
-
z-index: 1;
|
|
106
|
-
}
|
|
107
|
-
`];
|
|
108
|
-
a([
|
|
109
|
-
l()
|
|
110
|
-
], o.prototype, "type", 2);
|
|
111
|
-
a([
|
|
112
|
-
l({ attribute: !1 })
|
|
113
|
-
], o.prototype, "payload", 2);
|
|
114
|
-
a([
|
|
115
|
-
l({ type: Boolean, reflect: !0 })
|
|
116
|
-
], o.prototype, "disabled", 2);
|
|
117
|
-
a([
|
|
118
|
-
l({ type: Boolean, reflect: !0 })
|
|
119
|
-
], o.prototype, "dragging", 2);
|
|
120
|
-
a([
|
|
121
|
-
f()
|
|
122
|
-
], o.prototype, "_origin", 2);
|
|
123
|
-
o = a([
|
|
124
|
-
v("cg-draggable")
|
|
125
|
-
], o);
|
|
126
|
-
function C(t, e) {
|
|
127
|
-
let n = !1;
|
|
128
|
-
const i = () => {
|
|
129
|
-
n = !0;
|
|
130
|
-
};
|
|
131
|
-
return document.addEventListener("cg-drop", i, { once: !0 }), D(t, e, !1), document.removeEventListener("cg-drop", i), n;
|
|
132
|
-
}
|
|
133
|
-
export {
|
|
134
|
-
o as CgDraggable
|
|
135
|
-
};
|
|
136
|
-
//# sourceMappingURL=cg-draggable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cg-draggable.js","sources":["../../../src/utils/drag-manager.ts","../../../src/components/cg-draggable/cg-draggable.ts"],"sourcesContent":["/**\n * Module-scope drag coordinator shared between cg-draggable and cg-droppable.\n *\n * Pointer-event-based drag/drop works uniformly across mouse, touch, and\n * stylus and survives modern bundling. Each active drag broadcasts on the\n * document so any cg-droppable in any subtree can opt in.\n */\n\nexport type DragType = string;\n\nexport interface DragSession {\n /** Application-defined payload. cg-droppable receives this on cg-drop. */\n payload: unknown;\n /** Type tag — cg-droppable.accepts is matched against this. */\n type: DragType;\n /** Source element that initiated the drag. */\n source: HTMLElement;\n}\n\nexport interface DragMoveDetail extends DragSession {\n clientX: number;\n clientY: number;\n}\n\nexport interface DragEndDetail extends DragMoveDetail {\n /** If true, the drop landed on a registered droppable. */\n dropped: boolean;\n}\n\nlet active: DragSession | null = null;\n\n/** True while a drag is in progress. */\nexport function isDragging(): boolean {\n return active !== null;\n}\n\n/** Start a drag session. Idempotent: a second start while active is ignored. */\nexport function startDrag(session: DragSession, x: number, y: number): void {\n if (active) return;\n active = session;\n document.dispatchEvent(new CustomEvent<DragMoveDetail>('cg-drag-start', {\n detail: { ...session, clientX: x, clientY: y },\n }));\n}\n\n/** Broadcast a move during the current drag. */\nexport function moveDrag(x: number, y: number): void {\n if (!active) return;\n document.dispatchEvent(new CustomEvent<DragMoveDetail>('cg-drag-move', {\n detail: { ...active, clientX: x, clientY: y },\n }));\n}\n\n/**\n * End the current drag session. Returns the session that was active so\n * cg-draggable can fire its own end event with the same payload.\n */\nexport function endDrag(x: number, y: number, dropped: boolean): DragSession | null {\n if (!active) return null;\n const finished = active;\n document.dispatchEvent(new CustomEvent<DragEndDetail>('cg-drag-end', {\n detail: { ...finished, clientX: x, clientY: y, dropped },\n }));\n active = null;\n return finished;\n}\n\n/** Cancel any in-progress drag without firing a drop. Useful for Escape key handling. */\nexport function cancelDrag(): void {\n if (!active) return;\n document.dispatchEvent(new CustomEvent<DragEndDetail>('cg-drag-end', {\n detail: { ...active, clientX: -1, clientY: -1, dropped: false },\n }));\n active = null;\n}\n\n/** Inspect the current session without ending it. Returns null when no drag is active. */\nexport function currentSession(): DragSession | null {\n return active;\n}\n","import { LitElement, html, css } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\nimport { startDrag, moveDrag, endDrag, cancelDrag, isDragging } from '../../utils/drag-manager.js';\n\n/**\n * @element cg-draggable\n * Wraps content that can be picked up with a pointer and dropped on a\n * matching `<cg-droppable>`. Pointer-event-based — works on mouse, touch,\n * and stylus.\n *\n * Carries an opaque `payload` (object reference is preserved across the\n * drag) and a `type` tag that the droppable filters on. The dragged\n * element is visually translated under the pointer; a `dragging` attribute\n * on the host lets consumers style the source state.\n *\n * @example\n * ```html\n * <cg-draggable type=\"card\" .payload=${cardData}>\n * <cg-card>…</cg-card>\n * </cg-draggable>\n * ```\n *\n * @slot - The draggable content.\n *\n * @fires {CustomEvent<{type: string, payload: unknown}>} cg-drag-start - Drag begins\n * @fires {CustomEvent<{type: string, payload: unknown, dropped: boolean}>} cg-drag-end - Drag ends (with or without a successful drop)\n */\n@customElement('cg-draggable')\nexport class CgDraggable extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host {\n display: block;\n touch-action: none;\n cursor: grab;\n }\n :host([disabled]) {\n cursor: default;\n touch-action: auto;\n }\n :host([dragging]) {\n cursor: grabbing;\n opacity: var(--cg-component-draggable-opacity, 0.6);\n z-index: 1;\n }\n `];\n\n /** Identifier matched against cg-droppable.accepts. */\n @property() type = '';\n\n /** Application payload passed to the droppable on drop. */\n @property({ attribute: false }) payload: unknown = null;\n\n /** Disable picking up. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Reflects while a drag from this element is active. */\n @property({ type: Boolean, reflect: true }) dragging = false;\n\n @state() private _origin: { x: number; y: number } | null = null;\n\n private _pointerId: number | null = null;\n\n private _onPointerDown = (e: PointerEvent): void => {\n if (this.disabled || isDragging()) return;\n if (e.button !== undefined && e.button !== 0) return;\n\n this._pointerId = e.pointerId;\n this._origin = { x: e.clientX, y: e.clientY };\n this.dragging = true;\n try { this.setPointerCapture(e.pointerId); } catch { /* happy-dom */ }\n\n startDrag({ payload: this.payload, type: this.type, source: this }, e.clientX, e.clientY);\n\n this.dispatchEvent(new CustomEvent('cg-drag-start', {\n detail: { type: this.type, payload: this.payload },\n bubbles: true, composed: true,\n }));\n };\n\n private _onPointerMove = (e: PointerEvent): void => {\n if (!this.dragging || e.pointerId !== this._pointerId || !this._origin) return;\n const dx = e.clientX - this._origin.x;\n const dy = e.clientY - this._origin.y;\n this.style.transform = `translate(${dx}px, ${dy}px)`;\n moveDrag(e.clientX, e.clientY);\n };\n\n private _onPointerUp = (e: PointerEvent): void => {\n if (!this.dragging || e.pointerId !== this._pointerId) return;\n this._finishDrag(e.clientX, e.clientY, false);\n };\n\n private _onPointerCancel = (e: PointerEvent): void => {\n if (!this.dragging || e.pointerId !== this._pointerId) return;\n this._finishDrag(e.clientX, e.clientY, true);\n };\n\n private _onKeyDown = (e: KeyboardEvent): void => {\n if (e.key === 'Escape' && this.dragging) {\n e.preventDefault();\n cancelDrag();\n this._cleanupAfterDrag(false);\n }\n };\n\n private _finishDrag(x: number, y: number, cancelled: boolean): void {\n if (cancelled) {\n cancelDrag();\n this._cleanupAfterDrag(false);\n return;\n }\n // The droppable hit-test happens inside the drag-manager event flow:\n // listening cg-droppables snapshot whether they were under (x,y) when\n // cg-drag-end fires. We expose `dropped: true` if any droppable accepted.\n const dropped = endDragAndDetectDrop(x, y);\n this._cleanupAfterDrag(dropped);\n }\n\n private _cleanupAfterDrag(dropped: boolean): void {\n this.style.transform = '';\n if (this._pointerId !== null) {\n try { this.releasePointerCapture(this._pointerId); } catch { /* ignore */ }\n }\n this.dragging = false;\n this._pointerId = null;\n this._origin = null;\n\n this.dispatchEvent(new CustomEvent('cg-drag-end', {\n detail: { type: this.type, payload: this.payload, dropped },\n bubbles: true, composed: true,\n }));\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('pointerdown', this._onPointerDown);\n this.addEventListener('pointermove', this._onPointerMove);\n this.addEventListener('pointerup', this._onPointerUp);\n this.addEventListener('pointercancel', this._onPointerCancel);\n this.addEventListener('keydown', this._onKeyDown);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('pointerdown', this._onPointerDown);\n this.removeEventListener('pointermove', this._onPointerMove);\n this.removeEventListener('pointerup', this._onPointerUp);\n this.removeEventListener('pointercancel', this._onPointerCancel);\n this.removeEventListener('keydown', this._onKeyDown);\n }\n\n override render() {\n return html`<slot></slot>`;\n }\n}\n\n/**\n * Hit-test against registered droppables at (x, y). Walks up from the\n * topmost element under the point looking for the closest cg-droppable\n * with a matching `accepts` type. Returns true if a drop is dispatched.\n */\nfunction endDragAndDetectDrop(x: number, y: number): boolean {\n // The drag-manager's endDrag broadcasts cg-drag-end with the coords; each\n // cg-droppable listens and decides for itself. We just call endDrag and\n // observe the dropped flag through a shared mutable cell.\n let dropped = false;\n const onDrop = () => { dropped = true; };\n document.addEventListener('cg-drop', onDrop, { once: true });\n endDrag(x, y, false);\n document.removeEventListener('cg-drop', onDrop);\n return dropped;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cg-draggable': CgDraggable;\n }\n}\n"],"names":["active","isDragging","startDrag","session","x","y","moveDrag","endDrag","dropped","finished","cancelDrag","CgDraggable","LitElement","e","dx","dy","cancelled","endDragAndDetectDrop","html","hostBlock","reducedMotion","css","__decorateClass","property","state","customElement","onDrop"],"mappings":";;;AA6BA,IAAIA,IAA6B;AAG1B,SAASC,IAAsB;AACpC,SAAOD,MAAW;AACpB;AAGO,SAASE,EAAUC,GAAsBC,GAAWC,GAAiB;AAC1E,EAAIL,MACJA,IAASG,GACT,SAAS,cAAc,IAAI,YAA4B,iBAAiB;AAAA,IACtE,QAAQ,EAAE,GAAGA,GAAS,SAASC,GAAG,SAASC,EAAA;AAAA,EAAE,CAC9C,CAAC;AACJ;AAGO,SAASC,EAASF,GAAWC,GAAiB;AACnD,EAAKL,KACL,SAAS,cAAc,IAAI,YAA4B,gBAAgB;AAAA,IACrE,QAAQ,EAAE,GAAGA,GAAQ,SAASI,GAAG,SAASC,EAAA;AAAA,EAAE,CAC7C,CAAC;AACJ;AAMO,SAASE,EAAQH,GAAWC,GAAWG,GAAsC;AAClF,MAAI,CAACR,EAAQ,QAAO;AACpB,QAAMS,IAAWT;AACjB,kBAAS,cAAc,IAAI,YAA2B,eAAe;AAAA,IACnE,QAAQ,EAAE,GAAGS,GAAU,SAASL,GAAG,SAASC,GAAG,SAAAG,EAAA;AAAA,EAAQ,CACxD,CAAC,GACFR,IAAS,MACFS;AACT;AAGO,SAASC,IAAmB;AACjC,EAAKV,MACL,SAAS,cAAc,IAAI,YAA2B,eAAe;AAAA,IACnE,QAAQ,EAAE,GAAGA,GAAQ,SAAS,IAAI,SAAS,IAAI,SAAS,GAAA;AAAA,EAAM,CAC/D,CAAC,GACFA,IAAS;AACX;;;;;;AC7CO,IAAMW,IAAN,cAA0BC,EAAW;AAAA,EAArC,cAAA;AAAA,UAAA,GAAA,SAAA,GAmBO,KAAA,OAAO,IAGa,KAAA,UAAmB,MAGP,KAAA,WAAW,IAGX,KAAA,WAAW,IAE9C,KAAQ,UAA2C,MAE5D,KAAQ,aAA4B,MAEpC,KAAQ,iBAAiB,CAACC,MAA0B;AAClD,UAAI,OAAK,YAAYZ,QACjB,EAAAY,EAAE,WAAW,UAAaA,EAAE,WAAW,IAE3C;AAAA,aAAK,aAAaA,EAAE,WACpB,KAAK,UAAU,EAAE,GAAGA,EAAE,SAAS,GAAGA,EAAE,QAAA,GACpC,KAAK,WAAW;AAChB,YAAI;AAAE,eAAK,kBAAkBA,EAAE,SAAS;AAAA,QAAG,QAAQ;AAAA,QAAkB;AAErE,QAAAX,EAAU,EAAE,SAAS,KAAK,SAAS,MAAM,KAAK,MAAM,QAAQ,KAAA,GAAQW,EAAE,SAASA,EAAE,OAAO,GAExF,KAAK,cAAc,IAAI,YAAY,iBAAiB;AAAA,UAClD,QAAQ,EAAE,MAAM,KAAK,MAAM,SAAS,KAAK,QAAA;AAAA,UACzC,SAAS;AAAA,UAAM,UAAU;AAAA,QAAA,CAC1B,CAAC;AAAA;AAAA,IACJ,GAEA,KAAQ,iBAAiB,CAACA,MAA0B;AAClD,UAAI,CAAC,KAAK,YAAYA,EAAE,cAAc,KAAK,cAAc,CAAC,KAAK,QAAS;AACxE,YAAMC,IAAKD,EAAE,UAAU,KAAK,QAAQ,GAC9BE,IAAKF,EAAE,UAAU,KAAK,QAAQ;AACpC,WAAK,MAAM,YAAY,aAAaC,CAAE,OAAOC,CAAE,OAC/CT,EAASO,EAAE,SAASA,EAAE,OAAO;AAAA,IAC/B,GAEA,KAAQ,eAAe,CAACA,MAA0B;AAChD,MAAI,CAAC,KAAK,YAAYA,EAAE,cAAc,KAAK,cAC3C,KAAK,YAAYA,EAAE,SAASA,EAAE,SAAS,EAAK;AAAA,IAC9C,GAEA,KAAQ,mBAAmB,CAACA,MAA0B;AACpD,MAAI,CAAC,KAAK,YAAYA,EAAE,cAAc,KAAK,cAC3C,KAAK,YAAYA,EAAE,SAASA,EAAE,SAAS,EAAI;AAAA,IAC7C,GAEA,KAAQ,aAAa,CAACA,MAA2B;AAC/C,MAAIA,EAAE,QAAQ,YAAY,KAAK,aAC7BA,EAAE,eAAA,GACFH,EAAA,GACA,KAAK,kBAAkB,EAAK;AAAA,IAEhC;AAAA,EAAA;AAAA,EAEQ,YAAYN,GAAWC,GAAWW,GAA0B;AAClE,QAAIA,GAAW;AACb,MAAAN,EAAA,GACA,KAAK,kBAAkB,EAAK;AAC5B;AAAA,IACF;AAIA,UAAMF,IAAUS,EAAqBb,GAAGC,CAAC;AACzC,SAAK,kBAAkBG,CAAO;AAAA,EAChC;AAAA,EAEQ,kBAAkBA,GAAwB;AAEhD,QADA,KAAK,MAAM,YAAY,IACnB,KAAK,eAAe;AACtB,UAAI;AAAE,aAAK,sBAAsB,KAAK,UAAU;AAAA,MAAG,QAAQ;AAAA,MAAe;AAE5E,SAAK,WAAW,IAChB,KAAK,aAAa,MAClB,KAAK,UAAU,MAEf,KAAK,cAAc,IAAI,YAAY,eAAe;AAAA,MAChD,QAAQ,EAAE,MAAM,KAAK,MAAM,SAAS,KAAK,SAAS,SAAAA,EAAA;AAAA,MAClD,SAAS;AAAA,MAAM,UAAU;AAAA,IAAA,CAC1B,CAAC;AAAA,EACJ;AAAA,EAES,oBAA0B;AACjC,UAAM,kBAAA,GACN,KAAK,iBAAiB,eAAe,KAAK,cAAc,GACxD,KAAK,iBAAiB,eAAe,KAAK,cAAc,GACxD,KAAK,iBAAiB,aAAa,KAAK,YAAY,GACpD,KAAK,iBAAiB,iBAAiB,KAAK,gBAAgB,GAC5D,KAAK,iBAAiB,WAAW,KAAK,UAAU;AAAA,EAClD;AAAA,EAES,uBAA6B;AACpC,UAAM,qBAAA,GACN,KAAK,oBAAoB,eAAe,KAAK,cAAc,GAC3D,KAAK,oBAAoB,eAAe,KAAK,cAAc,GAC3D,KAAK,oBAAoB,aAAa,KAAK,YAAY,GACvD,KAAK,oBAAoB,iBAAiB,KAAK,gBAAgB,GAC/D,KAAK,oBAAoB,WAAW,KAAK,UAAU;AAAA,EACrD;AAAA,EAES,SAAS;AAChB,WAAOU;AAAA,EACT;AACF;AA9HaP,EACK,SAAS,CAACQ,GAAWC,GAAeC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAenD;AAGWC,EAAA;AAAA,EAAXC,EAAA;AAAS,GAnBCZ,EAmBC,WAAA,QAAA,CAAA;AAGoBW,EAAA;AAAA,EAA/BC,EAAS,EAAE,WAAW,GAAA,CAAO;AAAA,GAtBnBZ,EAsBqB,WAAA,WAAA,CAAA;AAGYW,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAzB/BZ,EAyBiC,WAAA,YAAA,CAAA;AAGAW,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GA5B/BZ,EA4BiC,WAAA,YAAA,CAAA;AAE3BW,EAAA;AAAA,EAAhBE,EAAA;AAAM,GA9BIb,EA8BM,WAAA,WAAA,CAAA;AA9BNA,IAANW,EAAA;AAAA,EADNG,EAAc,cAAc;AAAA,GAChBd,CAAA;AAqIb,SAASM,EAAqBb,GAAWC,GAAoB;AAI3D,MAAIG,IAAU;AACd,QAAMkB,IAAS,MAAM;AAAE,IAAAlB,IAAU;AAAA,EAAM;AACvC,kBAAS,iBAAiB,WAAWkB,GAAQ,EAAE,MAAM,IAAM,GAC3DnB,EAAQH,GAAGC,GAAG,EAAK,GACnB,SAAS,oBAAoB,WAAWqB,CAAM,GACvClB;AACT;"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
2
|
-
/**
|
|
3
|
-
* @element cg-droppable
|
|
4
|
-
* Drop zone that pairs with `<cg-draggable>`. Listens to the active drag
|
|
5
|
-
* session (broadcast on `document` by the drag-manager) and fires
|
|
6
|
-
* `cg-drop` when a draggable of an accepted type is released over its
|
|
7
|
-
* bounding box.
|
|
8
|
-
*
|
|
9
|
-
* The `over` boolean attribute reflects while a valid drag hovers, so
|
|
10
|
-
* consumers can style the hover state via attribute selectors. The
|
|
11
|
-
* `invalid-over` attribute reflects when an out-of-type drag hovers.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```html
|
|
15
|
-
* <cg-droppable accepts="card" @cg-drop=${onDrop}>
|
|
16
|
-
* <div class="column">Drop cards here</div>
|
|
17
|
-
* </cg-droppable>
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* @example Multiple accepted types
|
|
21
|
-
* ```html
|
|
22
|
-
* <cg-droppable accepts="card task" @cg-drop=${onDrop}>…</cg-droppable>
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* @slot - The drop-zone content.
|
|
26
|
-
*
|
|
27
|
-
* @fires {CustomEvent<{type: string, payload: unknown, clientX: number, clientY: number}>} cg-drop - A draggable of an accepted type was dropped over this zone.
|
|
28
|
-
* @fires {CustomEvent<{type: string, payload: unknown}>} cg-drop-enter - A valid drag entered the zone
|
|
29
|
-
* @fires {CustomEvent<{type: string, payload: unknown}>} cg-drop-leave - A valid drag left the zone
|
|
30
|
-
*/
|
|
31
|
-
export declare class CgDroppable extends LitElement {
|
|
32
|
-
static styles: import('lit').CSSResult[];
|
|
33
|
-
/** Space-separated list of accepted draggable types. Empty = accept any. */
|
|
34
|
-
accepts: string;
|
|
35
|
-
/** Disable the drop zone (still listens but never accepts). */
|
|
36
|
-
disabled: boolean;
|
|
37
|
-
/** Reflects while a valid drag hovers. */
|
|
38
|
-
over: boolean;
|
|
39
|
-
/** Reflects while an out-of-type drag hovers. */
|
|
40
|
-
invalidOver: boolean;
|
|
41
|
-
private _wasOver;
|
|
42
|
-
private _onDragStart;
|
|
43
|
-
private _onDragMove;
|
|
44
|
-
private _onDragEnd;
|
|
45
|
-
private _evaluateHover;
|
|
46
|
-
private _pointInside;
|
|
47
|
-
private _accepts;
|
|
48
|
-
connectedCallback(): void;
|
|
49
|
-
disconnectedCallback(): void;
|
|
50
|
-
render(): import('lit').TemplateResult<1>;
|
|
51
|
-
}
|
|
52
|
-
declare global {
|
|
53
|
-
interface HTMLElementTagNameMap {
|
|
54
|
-
'cg-droppable': CgDroppable;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=cg-droppable.d.ts.map
|