@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cg-phone-input.d.ts","sourceRoot":"","sources":["../../../src/components/cg-phone-input/cg-phone-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAY1E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,YAAa,SAAQ,UAAU;IAC1C,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAmB;;IAStC,OAAgB,MAAM,
|
|
1
|
+
{"version":3,"file":"cg-phone-input.d.ts","sourceRoot":"","sources":["../../../src/components/cg-phone-input/cg-phone-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAY1E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBACa,YAAa,SAAQ,UAAU;IAC1C,MAAM,CAAC,cAAc,UAAQ;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAmB;;IAStC,OAAgB,MAAM,4BAgVnB;IAIS,KAAK,SAAM;IACM,OAAO,SAAQ;IACA,cAAc,SAAQ;IACtD,IAAI,SAAM;IACV,KAAK,SAAM;IACX,WAAW,SAAM;IACjB,MAAM,SAAM;IACK,IAAI,EAAE,IAAI,GAAG,IAAI,CAAQ;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAC7B,QAAQ,UAAS;IAChC,QAAQ,UAAS;IACF,KAAK,UAAS;IACd,OAAO,UAAS;IAC/B,QAAQ,UAAS;IACF,OAAO,UAAS;IACH,YAAY,UAAS;IAE9E,kBAAkB,EAAE,MAAM,EAAE,CAAgE;IACpC,aAAa,EAAE,MAAM,EAAE,CAAM;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAC/C,IAAI,UAAS;IAIzD,uEAAuE;IAC9D,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAM;IAER,OAAO,CAAC,SAAS,CAAoB;IACzC,OAAO,CAAC,YAAY,CAAoB;IAC7C,OAAO,CAAC,UAAU,CAAe;IAEpD,OAAO,CAAC,eAAe,CAA6B;IAI3C,iBAAiB,IAAI,IAAI;IAezB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAkC/C,iBAAiB,IAAI,IAAI;IAKzB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMpC,KAAK,IAAI,IAAI;IAEtB,mEAAmE;IACnE,QAAQ,IAAI,OAAO;IAWnB,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,KAAK,kBAAkB,GA0B7B;IAED,OAAO,KAAK,aAAa,GAGxB;IAED,OAAO,KAAK,UAAU,GAErB;IAID,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,aAAa;IAoBZ,MAAM;CAyHhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,YAAY,CAAC;KAChC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css as w, LitElement as x, html as p, nothing as g } from "lit";
|
|
2
2
|
import { property as d, state as f, query as y, customElement as S } from "lit/decorators.js";
|
|
3
|
-
import { h as I, r as M } from "../../chunks/premium.css-
|
|
3
|
+
import { h as I, r as M } from "../../chunks/premium.css-DHekUEUt.js";
|
|
4
4
|
import { b as k } from "../../chunks/outside-click-CP1P1fK3.js";
|
|
5
5
|
const e = (t, a, s, n, c, l) => {
|
|
6
6
|
const i = t.toUpperCase().split("").map((_) => 127462 + _.charCodeAt(0) - 65), u = String.fromCodePoint(...i), h = { iso2: t, name: a, dialCode: s, flag: u };
|
|
@@ -455,12 +455,12 @@ let r = class extends x {
|
|
|
455
455
|
class="trigger"
|
|
456
456
|
aria-haspopup="dialog"
|
|
457
457
|
aria-expanded=${this.open ? "true" : "false"}
|
|
458
|
-
aria-controls="cg-phone-
|
|
458
|
+
aria-controls="cg-phone-popover"
|
|
459
459
|
aria-label=${l}
|
|
460
|
-
?disabled=${this.disabled || this.readonly}
|
|
460
|
+
?disabled=${this.disabled || this.readonly || this.loading}
|
|
461
461
|
@click=${this._toggleOpen}
|
|
462
462
|
@keydown=${(u) => {
|
|
463
|
-
|
|
463
|
+
u.key === "ArrowDown" && (u.preventDefault(), this.open = !0);
|
|
464
464
|
}}
|
|
465
465
|
@focus=${() => {
|
|
466
466
|
this._focused = !0;
|
|
@@ -485,6 +485,7 @@ let r = class extends x {
|
|
|
485
485
|
.value=${this._national}
|
|
486
486
|
name=${this.name || g}
|
|
487
487
|
placeholder=${i}
|
|
488
|
+
aria-label=${this.label || g}
|
|
488
489
|
?disabled=${this.disabled || this.loading}
|
|
489
490
|
?readonly=${this.readonly}
|
|
490
491
|
aria-invalid=${this.error ? "true" : "false"}
|
|
@@ -498,6 +499,7 @@ let r = class extends x {
|
|
|
498
499
|
</div>
|
|
499
500
|
|
|
500
501
|
<div
|
|
502
|
+
id="cg-phone-popover"
|
|
501
503
|
class="popover"
|
|
502
504
|
role="dialog"
|
|
503
505
|
aria-label="Select country"
|
|
@@ -511,11 +513,11 @@ let r = class extends x {
|
|
|
511
513
|
</svg>
|
|
512
514
|
<input
|
|
513
515
|
type="search"
|
|
514
|
-
|
|
516
|
+
aria-label="Search countries"
|
|
515
517
|
.value=${this._query}
|
|
516
518
|
placeholder="Search country or +code"
|
|
517
519
|
aria-controls="cg-phone-listbox"
|
|
518
|
-
aria-activedescendant=${this.open && this._activeIndex >= 0 ? `cg-phone-opt-${this._activeIndex}` : g}
|
|
520
|
+
aria-activedescendant=${this.open && this._activeIndex >= 0 && this._flatFiltered.length > 0 ? `cg-phone-opt-${this._activeIndex}` : g}
|
|
519
521
|
@input=${this._onSearchInput}
|
|
520
522
|
/>
|
|
521
523
|
</div>
|
|
@@ -621,6 +623,7 @@ r.styles = [I, M, w`
|
|
|
621
623
|
color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);
|
|
622
624
|
}
|
|
623
625
|
.trigger:hover:not(:disabled) { background: var(--cg-overlay-accent-subtle); }
|
|
626
|
+
.trigger:active:not(:disabled) { transform: scale(var(--cg-interaction-press-scale)); }
|
|
624
627
|
.trigger:focus-visible {
|
|
625
628
|
outline: none;
|
|
626
629
|
background: var(--cg-overlay-accent-subtle);
|
|
@@ -634,7 +637,6 @@ r.styles = [I, M, w`
|
|
|
634
637
|
.flag {
|
|
635
638
|
font-size: var(--cg-font-size-base);
|
|
636
639
|
line-height: 1;
|
|
637
|
-
filter: saturate(1.1);
|
|
638
640
|
flex-shrink: 0;
|
|
639
641
|
}
|
|
640
642
|
:host([size="lg"]) .flag { font-size: var(--cg-font-size-lg); }
|
|
@@ -642,7 +644,6 @@ r.styles = [I, M, w`
|
|
|
642
644
|
.dial-code {
|
|
643
645
|
color: var(--cg-color-input-text-default);
|
|
644
646
|
font-variant-numeric: tabular-nums;
|
|
645
|
-
letter-spacing: 0.01em;
|
|
646
647
|
}
|
|
647
648
|
|
|
648
649
|
.chevron {
|
|
@@ -686,7 +687,6 @@ r.styles = [I, M, w`
|
|
|
686
687
|
color: var(--cg-color-input-text-default);
|
|
687
688
|
padding: var(--cg-spacing-8) 0;
|
|
688
689
|
font-variant-numeric: tabular-nums;
|
|
689
|
-
letter-spacing: 0.01em;
|
|
690
690
|
}
|
|
691
691
|
:host([size="lg"]) input[type="tel"] {
|
|
692
692
|
font-size: var(--cg-font-size-base);
|
|
@@ -767,16 +767,20 @@ r.styles = [I, M, w`
|
|
|
767
767
|
border: var(--cg-border-width-50) solid var(--cg-color-modal-container-border);
|
|
768
768
|
border-radius: var(--cg-component-popover-radius);
|
|
769
769
|
box-shadow: var(--cg-shadow-elevation-xl);
|
|
770
|
-
|
|
770
|
+
visibility: hidden;
|
|
771
|
+
pointer-events: none;
|
|
771
772
|
opacity: 0;
|
|
772
773
|
transform: translateY(calc(var(--cg-spacing-4) * -1));
|
|
773
774
|
transition:
|
|
774
775
|
opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default),
|
|
775
|
-
transform var(--cg-transition-duration-default) var(--cg-transition-easing-ease-out)
|
|
776
|
+
transform var(--cg-transition-duration-default) var(--cg-transition-easing-ease-out),
|
|
777
|
+
visibility 0s linear var(--cg-transition-duration-fast);
|
|
776
778
|
overflow: hidden;
|
|
777
779
|
}
|
|
778
780
|
:host([open]) .popover {
|
|
779
|
-
|
|
781
|
+
visibility: visible;
|
|
782
|
+
pointer-events: auto;
|
|
783
|
+
transition-delay: 0s;
|
|
780
784
|
opacity: 1;
|
|
781
785
|
transform: translateY(0);
|
|
782
786
|
}
|
|
@@ -820,7 +824,7 @@ r.styles = [I, M, w`
|
|
|
820
824
|
font-size: var(--cg-font-size-xs);
|
|
821
825
|
font-weight: var(--cg-font-weight-semibold);
|
|
822
826
|
color: var(--cg-color-input-text-placeholder);
|
|
823
|
-
letter-spacing:
|
|
827
|
+
letter-spacing: var(--cg-letter-spacing-wider);
|
|
824
828
|
text-transform: uppercase;
|
|
825
829
|
}
|
|
826
830
|
|
|
@@ -868,7 +872,7 @@ r.styles = [I, M, w`
|
|
|
868
872
|
.empty {
|
|
869
873
|
padding: var(--cg-spacing-20);
|
|
870
874
|
text-align: center;
|
|
871
|
-
color: var(--cg-color-
|
|
875
|
+
color: var(--cg-color-input-text-placeholder);
|
|
872
876
|
font-size: var(--cg-font-size-sm);
|
|
873
877
|
}
|
|
874
878
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cg-phone-input.js","sources":["../../../src/components/cg-phone-input/countries.ts","../../../src/components/cg-phone-input/cg-phone-input.ts"],"sourcesContent":["/**\n * Country data for cg-phone-input.\n * Sourced from ITU-T E.164 + ISO-3166-1 alpha-2.\n *\n * `flag` uses unicode regional-indicator symbols — renders as the country flag\n * via the OS/browser font (no SVG bundle). Length is reasonable (~250 entries).\n *\n * `format` is an optional human-friendly placeholder; numbers are E.164 only at\n * emit time. Spaces in `format` are display hints, not validation.\n */\n\nexport interface Country {\n /** ISO-3166-1 alpha-2 (e.g. \"US\", \"BR\"). */\n iso2: string;\n /** Display name in English. */\n name: string;\n /** International dial code without the leading \"+\" (e.g. \"1\", \"55\", \"44\"). */\n dialCode: string;\n /** Unicode flag emoji. */\n flag: string;\n /** Optional national-number placeholder hint. */\n format?: string;\n /** Min digits in the national number (excluding dial code). */\n minLength?: number;\n /** Max digits in the national number. */\n maxLength?: number;\n}\n\nconst C = (\n iso2: string,\n name: string,\n dialCode: string,\n format?: string,\n minLength?: number,\n maxLength?: number,\n): Country => {\n const cp = iso2\n .toUpperCase()\n .split('')\n .map(ch => 0x1f1e6 + ch.charCodeAt(0) - 65);\n const flag = String.fromCodePoint(...cp);\n const out: Country = { iso2, name, dialCode, flag };\n if (format !== undefined) out.format = format;\n if (minLength !== undefined) out.minLength = minLength;\n if (maxLength !== undefined) out.maxLength = maxLength;\n return out;\n};\n\nexport const COUNTRIES: Country[] = [\n C('AF', 'Afghanistan', '93', '70 123 4567', 9, 9),\n C('AL', 'Albania', '355', '67 212 3456', 9, 9),\n C('DZ', 'Algeria', '213', '551 23 45 67', 9, 9),\n C('AS', 'American Samoa', '1684', '684-733-1234', 7, 7),\n C('AD', 'Andorra', '376', '312 345', 6, 9),\n C('AO', 'Angola', '244', '923 123 456', 9, 9),\n C('AI', 'Anguilla', '1264', '264-235-1234', 7, 7),\n C('AG', 'Antigua and Barbuda', '1268', '268-464-1234', 7, 7),\n C('AR', 'Argentina', '54', '11 1234-5678', 10, 11),\n C('AM', 'Armenia', '374', '77 123456', 8, 8),\n C('AW', 'Aruba', '297', '560 1234', 7, 7),\n C('AU', 'Australia', '61', '412 345 678', 9, 9),\n C('AT', 'Austria', '43', '664 123456', 10, 11),\n C('AZ', 'Azerbaijan', '994', '40 123 45 67', 9, 9),\n C('BS', 'Bahamas', '1242', '242-359-1234', 7, 7),\n C('BH', 'Bahrain', '973', '3600 1234', 8, 8),\n C('BD', 'Bangladesh', '880', '1812-345678', 10, 10),\n C('BB', 'Barbados', '1246', '246-250-1234', 7, 7),\n C('BY', 'Belarus', '375', '29 491-19-11', 9, 9),\n C('BE', 'Belgium', '32', '470 12 34 56', 9, 9),\n C('BZ', 'Belize', '501', '622-1234', 7, 7),\n C('BJ', 'Benin', '229', '90 01 12 34', 8, 8),\n C('BM', 'Bermuda', '1441', '441-370-1234', 7, 7),\n C('BT', 'Bhutan', '975', '17 12 34 56', 8, 8),\n C('BO', 'Bolivia', '591', '71234567', 8, 8),\n C('BA', 'Bosnia and Herzegovina', '387', '61 123 456', 8, 9),\n C('BW', 'Botswana', '267', '71 123 456', 8, 8),\n C('BR', 'Brazil', '55', '11 96123-4567', 10, 11),\n C('IO', 'British Indian Ocean Territory', '246', '380 1234', 7, 7),\n C('VG', 'British Virgin Islands', '1284', '284-300-1234', 7, 7),\n C('BN', 'Brunei', '673', '712 3456', 7, 7),\n C('BG', 'Bulgaria', '359', '48 123 456', 9, 9),\n C('BF', 'Burkina Faso', '226', '70 12 34 56', 8, 8),\n C('BI', 'Burundi', '257', '79 56 12 34', 8, 8),\n C('KH', 'Cambodia', '855', '91 234 567', 8, 9),\n C('CM', 'Cameroon', '237', '6 71 23 45 67', 9, 9),\n C('CA', 'Canada', '1', '(506) 234-5678', 10, 10),\n C('CV', 'Cape Verde', '238', '991 12 34', 7, 7),\n C('KY', 'Cayman Islands', '1345', '345-323-1234', 7, 7),\n C('CF', 'Central African Republic', '236', '70 01 23 45', 8, 8),\n C('TD', 'Chad', '235', '63 01 23 45', 8, 8),\n C('CL', 'Chile', '56', '2 2123 4567', 9, 9),\n C('CN', 'China', '86', '131 2345 6789', 11, 11),\n C('CO', 'Colombia', '57', '321 1234567', 10, 10),\n C('KM', 'Comoros', '269', '321 23 45', 7, 7),\n C('CG', 'Congo', '242', '06 123 4567', 9, 9),\n C('CD', 'Congo, DRC', '243', '991 234 567', 9, 9),\n C('CK', 'Cook Islands', '682', '71 234', 5, 5),\n C('CR', 'Costa Rica', '506', '8312 3456', 8, 8),\n C('CI', \"Côte d'Ivoire\", '225', '01 23 45 67 89', 10, 10),\n C('HR', 'Croatia', '385', '92 123 4567', 8, 9),\n C('CU', 'Cuba', '53', '5 1234567', 8, 8),\n C('CW', 'Curaçao', '599', '9 518 1234', 7, 8),\n C('CY', 'Cyprus', '357', '96 123456', 8, 8),\n C('CZ', 'Czech Republic', '420', '601 123 456', 9, 9),\n C('DK', 'Denmark', '45', '32 12 34 56', 8, 8),\n C('DJ', 'Djibouti', '253', '77 83 10 01', 8, 8),\n C('DM', 'Dominica', '1767', '767-225-1234', 7, 7),\n C('DO', 'Dominican Republic', '1', '809-234-5678', 10, 10),\n C('EC', 'Ecuador', '593', '99 123 4567', 9, 9),\n C('EG', 'Egypt', '20', '100 123 4567', 10, 10),\n C('SV', 'El Salvador', '503', '7012 3456', 8, 8),\n C('GQ', 'Equatorial Guinea', '240', '222 123 456', 9, 9),\n C('ER', 'Eritrea', '291', '7 123 456', 7, 7),\n C('EE', 'Estonia', '372', '5123 4567', 7, 8),\n C('SZ', 'Eswatini', '268', '7612 3456', 8, 8),\n C('ET', 'Ethiopia', '251', '91 123 4567', 9, 9),\n C('FK', 'Falkland Islands', '500', '51234', 5, 5),\n C('FO', 'Faroe Islands', '298', '211234', 6, 6),\n C('FJ', 'Fiji', '679', '701 2345', 7, 7),\n C('FI', 'Finland', '358', '41 234 5678', 9, 11),\n C('FR', 'France', '33', '6 12 34 56 78', 9, 9),\n C('GF', 'French Guiana', '594', '694 12 34 56', 9, 9),\n C('PF', 'French Polynesia', '689', '40 12 34 56', 8, 8),\n C('GA', 'Gabon', '241', '06 03 12 34', 7, 8),\n C('GM', 'Gambia', '220', '301 2345', 7, 7),\n C('GE', 'Georgia', '995', '555 12 34 56', 9, 9),\n C('DE', 'Germany', '49', '1512 3456789', 10, 11),\n C('GH', 'Ghana', '233', '23 123 4567', 9, 9),\n C('GI', 'Gibraltar', '350', '5713 4567', 8, 8),\n C('GR', 'Greece', '30', '691 234 5678', 10, 10),\n C('GL', 'Greenland', '299', '22 12 34', 6, 6),\n C('GD', 'Grenada', '1473', '473-403-1234', 7, 7),\n C('GP', 'Guadeloupe', '590', '690 30-1234', 9, 9),\n C('GU', 'Guam', '1671', '671-300-1234', 7, 7),\n C('GT', 'Guatemala', '502', '5123 4567', 8, 8),\n C('GG', 'Guernsey', '44', '7781 123456', 10, 10),\n C('GN', 'Guinea', '224', '601 12 34 56', 9, 9),\n C('GW', 'Guinea-Bissau', '245', '955 012 345', 9, 9),\n C('GY', 'Guyana', '592', '609 1234', 7, 7),\n C('HT', 'Haiti', '509', '34 10 1234', 8, 8),\n C('HN', 'Honduras', '504', '9123-4567', 8, 8),\n C('HK', 'Hong Kong', '852', '5123 4567', 8, 8),\n C('HU', 'Hungary', '36', '20 123 4567', 9, 9),\n C('IS', 'Iceland', '354', '611 1234', 7, 9),\n C('IN', 'India', '91', '81234 56789', 10, 10),\n C('ID', 'Indonesia', '62', '812-345-678', 9, 12),\n C('IR', 'Iran', '98', '912 345 6789', 10, 10),\n C('IQ', 'Iraq', '964', '791 234 5678', 10, 10),\n C('IE', 'Ireland', '353', '85 012 3456', 9, 9),\n C('IM', 'Isle of Man', '44', '7924 123456', 10, 10),\n C('IL', 'Israel', '972', '50-234-5678', 9, 9),\n C('IT', 'Italy', '39', '312 345 6789', 9, 11),\n C('JM', 'Jamaica', '1876', '876-210-1234', 7, 7),\n C('JP', 'Japan', '81', '90-1234-5678', 10, 10),\n C('JE', 'Jersey', '44', '7797 712345', 10, 10),\n C('JO', 'Jordan', '962', '7 9012 3456', 9, 9),\n C('KZ', 'Kazakhstan', '7', '771 000 9998', 10, 10),\n C('KE', 'Kenya', '254', '712 123456', 9, 9),\n C('KI', 'Kiribati', '686', '72001234', 8, 8),\n C('XK', 'Kosovo', '383', '43 201 234', 8, 9),\n C('KW', 'Kuwait', '965', '500 12345', 8, 8),\n C('KG', 'Kyrgyzstan', '996', '700 123 456', 9, 9),\n C('LA', 'Laos', '856', '20 23 123 456', 10, 10),\n C('LV', 'Latvia', '371', '21 234 567', 8, 8),\n C('LB', 'Lebanon', '961', '71 123 456', 8, 8),\n C('LS', 'Lesotho', '266', '5012 3456', 8, 8),\n C('LR', 'Liberia', '231', '77 012 3456', 8, 9),\n C('LY', 'Libya', '218', '91 2345678', 9, 9),\n C('LI', 'Liechtenstein', '423', '660 234 567', 7, 9),\n C('LT', 'Lithuania', '370', '612 34567', 8, 8),\n C('LU', 'Luxembourg', '352', '628 123 456', 9, 9),\n C('MO', 'Macau', '853', '6612 3456', 8, 8),\n C('MG', 'Madagascar', '261', '32 12 345 67', 9, 9),\n C('MW', 'Malawi', '265', '991 23 45 67', 9, 9),\n C('MY', 'Malaysia', '60', '12-345 6789', 9, 10),\n C('MV', 'Maldives', '960', '771-2345', 7, 7),\n C('ML', 'Mali', '223', '65 01 23 45', 8, 8),\n C('MT', 'Malta', '356', '9696 1234', 8, 8),\n C('MH', 'Marshall Islands', '692', '235-1234', 7, 7),\n C('MQ', 'Martinique', '596', '696 30-1234', 9, 9),\n C('MR', 'Mauritania', '222', '22 12 34 56', 8, 8),\n C('MU', 'Mauritius', '230', '5251 2345', 8, 8),\n C('YT', 'Mayotte', '262', '639 01 23 45', 9, 9),\n C('MX', 'Mexico', '52', '222 123 4567', 10, 10),\n C('FM', 'Micronesia', '691', '350 1234', 7, 7),\n C('MD', 'Moldova', '373', '621 12 345', 8, 8),\n C('MC', 'Monaco', '377', '6 12 34 56 78', 8, 9),\n C('MN', 'Mongolia', '976', '8812 3456', 8, 8),\n C('ME', 'Montenegro', '382', '67 622 901', 8, 9),\n C('MS', 'Montserrat', '1664', '664-491-1234', 7, 7),\n C('MA', 'Morocco', '212', '650-123456', 9, 9),\n C('MZ', 'Mozambique', '258', '82 123 4567', 9, 9),\n C('MM', 'Myanmar', '95', '9 212 3456', 7, 10),\n C('NA', 'Namibia', '264', '81 123 4567', 9, 9),\n C('NR', 'Nauru', '674', '555 1234', 7, 7),\n C('NP', 'Nepal', '977', '984-1234567', 10, 10),\n C('NL', 'Netherlands', '31', '6 12345678', 9, 9),\n C('NC', 'New Caledonia', '687', '75.12.34', 6, 6),\n C('NZ', 'New Zealand', '64', '21 123 4567', 8, 10),\n C('NI', 'Nicaragua', '505', '8123 4567', 8, 8),\n C('NE', 'Niger', '227', '93 12 34 56', 8, 8),\n C('NG', 'Nigeria', '234', '802 123 4567', 10, 10),\n C('NU', 'Niue', '683', '4002', 4, 4),\n C('KP', 'North Korea', '850', '192 123 4567', 10, 10),\n C('MK', 'North Macedonia', '389', '72 345 678', 8, 8),\n C('MP', 'Northern Mariana Islands', '1670', '670-234-5678', 7, 7),\n C('NO', 'Norway', '47', '406 12 345', 8, 8),\n C('OM', 'Oman', '968', '9212 3456', 8, 8),\n C('PK', 'Pakistan', '92', '301 2345678', 10, 10),\n C('PW', 'Palau', '680', '620 1234', 7, 7),\n C('PS', 'Palestine', '970', '599 123 456', 9, 9),\n C('PA', 'Panama', '507', '6123-4567', 8, 8),\n C('PG', 'Papua New Guinea', '675', '7012 3456', 8, 8),\n C('PY', 'Paraguay', '595', '961 456789', 9, 9),\n C('PE', 'Peru', '51', '912 345 678', 9, 9),\n C('PH', 'Philippines', '63', '905 123 4567', 10, 10),\n C('PL', 'Poland', '48', '512 345 678', 9, 9),\n C('PT', 'Portugal', '351', '912 345 678', 9, 9),\n C('PR', 'Puerto Rico', '1', '787-234-5678', 10, 10),\n C('QA', 'Qatar', '974', '3312 3456', 8, 8),\n C('RE', 'Réunion', '262', '692 12 34 56', 9, 9),\n C('RO', 'Romania', '40', '712 034 567', 9, 9),\n C('RU', 'Russia', '7', '912 345-67-89', 10, 10),\n C('RW', 'Rwanda', '250', '720 123 456', 9, 9),\n C('KN', 'Saint Kitts and Nevis', '1869', '869-765-2917', 7, 7),\n C('LC', 'Saint Lucia', '1758', '758-284-5678', 7, 7),\n C('VC', 'Saint Vincent', '1784', '784-430-1234', 7, 7),\n C('WS', 'Samoa', '685', '72 12345', 6, 7),\n C('SM', 'San Marino', '378', '66 66 12 12', 10, 10),\n C('ST', 'São Tomé and Príncipe', '239', '981 2345', 7, 7),\n C('SA', 'Saudi Arabia', '966', '51 234 5678', 9, 9),\n C('SN', 'Senegal', '221', '70 123 45 67', 9, 9),\n C('RS', 'Serbia', '381', '60 1234567', 8, 9),\n C('SC', 'Seychelles', '248', '2 510 123', 7, 7),\n C('SL', 'Sierra Leone', '232', '25 123456', 8, 8),\n C('SG', 'Singapore', '65', '8123 4567', 8, 8),\n C('SX', 'Sint Maarten', '1721', '721-520-5678', 7, 7),\n C('SK', 'Slovakia', '421', '912 123 456', 9, 9),\n C('SI', 'Slovenia', '386', '31 234 567', 8, 8),\n C('SB', 'Solomon Islands', '677', '74 21234', 7, 7),\n C('SO', 'Somalia', '252', '7 1123456', 8, 8),\n C('ZA', 'South Africa', '27', '71 123 4567', 9, 9),\n C('KR', 'South Korea', '82', '10-1234-5678', 9, 11),\n C('SS', 'South Sudan', '211', '977 123 456', 9, 9),\n C('ES', 'Spain', '34', '612 34 56 78', 9, 9),\n C('LK', 'Sri Lanka', '94', '71 234 5678', 9, 9),\n C('SD', 'Sudan', '249', '91 123 1234', 9, 9),\n C('SR', 'Suriname', '597', '741-2345', 7, 7),\n C('SE', 'Sweden', '46', '70-123 45 67', 9, 9),\n C('CH', 'Switzerland', '41', '78 123 45 67', 9, 9),\n C('SY', 'Syria', '963', '944 567 890', 9, 9),\n C('TW', 'Taiwan', '886', '912 345 678', 9, 9),\n C('TJ', 'Tajikistan', '992', '917 12 3456', 9, 9),\n C('TZ', 'Tanzania', '255', '621 234 567', 9, 9),\n C('TH', 'Thailand', '66', '81 234 5678', 9, 9),\n C('TL', 'Timor-Leste', '670', '7721 2345', 7, 8),\n C('TG', 'Togo', '228', '90 11 23 45', 8, 8),\n C('TK', 'Tokelau', '690', '7290', 4, 4),\n C('TO', 'Tonga', '676', '771 5123', 5, 7),\n C('TT', 'Trinidad and Tobago', '1868', '868-291-5678', 7, 7),\n C('TN', 'Tunisia', '216', '20 123 456', 8, 8),\n C('TR', 'Turkey', '90', '501 234 56 78', 10, 10),\n C('TM', 'Turkmenistan', '993', '66 123456', 8, 8),\n C('TC', 'Turks and Caicos Islands', '1649', '649-231-1234', 7, 7),\n C('TV', 'Tuvalu', '688', '901234', 5, 6),\n C('UG', 'Uganda', '256', '712 345678', 9, 9),\n C('UA', 'Ukraine', '380', '50 123 4567', 9, 9),\n C('AE', 'United Arab Emirates', '971', '50 123 4567', 8, 9),\n C('GB', 'United Kingdom', '44', '7400 123456', 10, 10),\n C('US', 'United States', '1', '(201) 555-0123', 10, 10),\n C('UY', 'Uruguay', '598', '94 231 234', 8, 8),\n C('UZ', 'Uzbekistan', '998', '91 234 56 78', 9, 9),\n C('VU', 'Vanuatu', '678', '591 1234', 5, 7),\n C('VA', 'Vatican City', '39', '312 345 6789', 9, 11),\n C('VE', 'Venezuela', '58', '412-1234567', 10, 10),\n C('VN', 'Vietnam', '84', '912 345 678', 9, 10),\n C('VI', 'U.S. Virgin Islands', '1340', '340-642-1234', 7, 7),\n C('WF', 'Wallis and Futuna', '681', '50 12 34', 6, 6),\n C('YE', 'Yemen', '967', '712 345 678', 9, 9),\n C('ZM', 'Zambia', '260', '95 1234567', 9, 9),\n C('ZW', 'Zimbabwe', '263', '71 234 5678', 9, 9),\n];\n\n/** Indexed by ISO-2 (uppercase) for O(1) lookup. */\nexport const COUNTRIES_BY_ISO: Record<string, Country> = COUNTRIES.reduce(\n (acc, c) => {\n acc[c.iso2] = c;\n return acc;\n },\n {} as Record<string, Country>,\n);\n\n/**\n * Primary country for ambiguous dial codes — the entry that should win when\n * a number could match multiple countries (e.g. +44 → GB, GG, JE, IM).\n */\nconst PRIMARY_BY_DIAL: Record<string, string> = {\n '1': 'US',\n '7': 'RU',\n '39': 'IT',\n '44': 'GB',\n '47': 'NO',\n '212': 'MA',\n '262': 'RE',\n '358': 'FI',\n '590': 'GP',\n '599': 'CW',\n};\n\n/**\n * Find the most-likely country for a leading dial code in an E.164 string.\n * Resolves ambiguity by preferring (in order): an explicit `preferIso2`\n * match, the entry from `PRIMARY_BY_DIAL`, then the first definition.\n */\nexport function detectCountryFromValue(\n e164: string,\n preferIso2 = 'US',\n): Country | undefined {\n if (!e164.startsWith('+')) return undefined;\n const digits = e164.slice(1);\n let best: Country | undefined;\n let bestLen = 0;\n for (const c of COUNTRIES) {\n if (!digits.startsWith(c.dialCode)) continue;\n if (c.dialCode.length > bestLen) {\n best = c;\n bestLen = c.dialCode.length;\n continue;\n }\n if (c.dialCode.length === bestLen && best) {\n const primary = PRIMARY_BY_DIAL[c.dialCode];\n if (c.iso2 === preferIso2) best = c;\n else if (best.iso2 !== preferIso2 && primary && c.iso2 === primary) best = c;\n }\n }\n return best;\n}\n\n/** Strip non-digit characters; useful for E.164 emit. */\nexport function digitsOnly(s: string): string {\n return s.replace(/\\D+/g, '');\n}\n","import { LitElement, html, css, nothing, type PropertyValues } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\nimport { bindOutsideClick } from '../../utils/outside-click.js';\nimport {\n COUNTRIES,\n COUNTRIES_BY_ISO,\n detectCountryFromValue,\n digitsOnly,\n type Country,\n} from './countries.js';\n\n/**\n * @element cg-phone-input\n * International phone-number input with searchable country selector. Emits a\n * single E.164 value (`+15551234567`).\n *\n * @example\n * ```html\n * <cg-phone-input label=\"Phone\" country=\"US\"></cg-phone-input>\n * <cg-phone-input\n * label=\"Mobile\"\n * default-country=\"BR\"\n * preferred-countries='[\"BR\",\"US\",\"PT\",\"DE\"]'\n * helper=\"We'll text a code\"\n * ></cg-phone-input>\n * ```\n *\n * @fires {CustomEvent<{value:string;country:string;dialCode:string;nationalNumber:string;valid:boolean}>} cg-phone-input-change\n * @fires {CustomEvent<{country:string;dialCode:string}>} cg-phone-input-country-change\n *\n * @cssprop [--cg-component-phone-input-radius] - Outer corner radius\n * @cssprop [--cg-component-phone-input-popover-width] - Country popover width\n * @cssprop [--cg-component-phone-input-popover-max-height] - Country popover scroll height\n * @cssprop [--cg-component-phone-input-option-height] - Country list option height\n */\n@customElement('cg-phone-input')\nexport class CgPhoneInput extends LitElement {\n static formAssociated = true;\n private _internals?: ElementInternals;\n\n constructor() {\n super();\n if (typeof this.attachInternals === 'function') {\n this._internals = this.attachInternals();\n }\n }\n\n static override styles = [hostBlock, reducedMotion, css`\n :host { display: block; font-family: var(--cg-font-family-primary); }\n\n /* ── Outer wrapper — matches cg-input chrome ────────────────────────── */\n .wrapper {\n display: flex;\n align-items: stretch;\n height: var(--cg-component-input-height-md);\n background: var(--cg-color-input-background-default);\n border: var(--cg-border-width-50) solid var(--cg-color-input-border-default);\n border-radius: var(--cg-component-phone-input-radius);\n transition:\n border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n box-shadow var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n position: relative;\n }\n\n :host([size=\"lg\"]) .wrapper { height: var(--cg-component-input-height-lg); }\n\n :host([rounded=\"none\"]) .wrapper { border-radius: 0; }\n :host([rounded=\"sm\"]) .wrapper { border-radius: var(--cg-border-radius-50); }\n :host([rounded=\"md\"]) .wrapper { border-radius: var(--cg-border-radius-100); }\n :host([rounded=\"lg\"]) .wrapper { border-radius: var(--cg-component-phone-input-radius); }\n\n .wrapper:hover:not(.disabled) {\n border-color: var(--cg-color-input-border-hover);\n }\n .wrapper.focused {\n border-color: var(--cg-color-input-border-focus);\n box-shadow: 0 0 0 3px var(--cg-overlay-accent-strong);\n }\n\n :host([error]) .wrapper { border-color: var(--cg-color-input-border-error); }\n :host([error]) .wrapper.focused {\n border-color: var(--cg-color-status-error-text-default);\n box-shadow: 0 0 0 3px var(--cg-shadow-focus-error);\n }\n :host([success]) .wrapper { border-color: var(--cg-color-input-icon-success); }\n :host([success]) .wrapper.focused {\n border-color: var(--cg-color-status-success-text-default);\n box-shadow: 0 0 0 3px var(--cg-shadow-focus-success);\n }\n\n .wrapper.disabled {\n opacity: 0.5;\n pointer-events: none;\n background: var(--cg-color-input-background-disabled);\n border-color: var(--cg-color-input-border-disabled);\n }\n .wrapper.readonly {\n background: var(--cg-color-surface-field-readonly-background);\n border-style: dashed;\n }\n\n /* ── Country trigger ────────────────────────────────────────────────── */\n .trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--cg-component-phone-input-trigger-gap);\n padding: 0 var(--cg-component-phone-input-trigger-padding-x);\n background: var(--cg-overlay-dark-subtle);\n border: none;\n border-right: var(--cg-border-width-50) solid var(--cg-color-input-border-default);\n border-radius: var(--cg-component-phone-input-radius) 0 0 var(--cg-component-phone-input-radius);\n color: var(--cg-color-input-text-default);\n cursor: pointer;\n font: inherit;\n font-size: var(--cg-font-size-sm);\n font-weight: var(--cg-font-weight-medium);\n flex-shrink: 0;\n margin: calc(-1 * var(--cg-border-width-50));\n margin-right: 0;\n transition:\n background-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n .trigger:hover:not(:disabled) { background: var(--cg-overlay-accent-subtle); }\n .trigger:focus-visible {\n outline: none;\n background: var(--cg-overlay-accent-subtle);\n }\n .trigger:disabled { cursor: not-allowed; }\n\n :host([rounded=\"none\"]) .trigger { border-radius: 0; }\n :host([rounded=\"sm\"]) .trigger { border-radius: var(--cg-border-radius-50) 0 0 var(--cg-border-radius-50); }\n :host([rounded=\"md\"]) .trigger { border-radius: var(--cg-border-radius-100) 0 0 var(--cg-border-radius-100); }\n\n .flag {\n font-size: var(--cg-font-size-base);\n line-height: 1;\n filter: saturate(1.1);\n flex-shrink: 0;\n }\n :host([size=\"lg\"]) .flag { font-size: var(--cg-font-size-lg); }\n\n .dial-code {\n color: var(--cg-color-input-text-default);\n font-variant-numeric: tabular-nums;\n letter-spacing: 0.01em;\n }\n\n .chevron {\n width: var(--cg-icon-size-100);\n height: var(--cg-icon-size-100);\n color: var(--cg-color-input-text-placeholder);\n transition: transform var(--cg-transition-duration-default) var(--cg-transition-easing-default);\n flex-shrink: 0;\n }\n :host([open]) .chevron { transform: rotate(180deg); }\n\n .trigger-spinner {\n width: var(--cg-spacing-12);\n height: var(--cg-spacing-12);\n border: var(--cg-border-width-100) solid var(--cg-color-loading-spinner-secondary);\n border-top-color: var(--cg-color-loading-spinner-primary);\n border-radius: var(--cg-border-radius-full);\n animation: cg-phone-spin 600ms linear infinite;\n }\n @keyframes cg-phone-spin { to { transform: rotate(360deg); } }\n\n /* ── Number field ───────────────────────────────────────────────────── */\n .field {\n flex: 1;\n display: flex;\n align-items: center;\n min-width: 0;\n padding: 0 var(--cg-spacing-12);\n position: relative;\n }\n\n input[type=\"tel\"] {\n flex: 1;\n width: 100%;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n font: inherit;\n font-size: var(--cg-font-size-sm);\n color: var(--cg-color-input-text-default);\n padding: var(--cg-spacing-8) 0;\n font-variant-numeric: tabular-nums;\n letter-spacing: 0.01em;\n }\n :host([size=\"lg\"]) input[type=\"tel\"] {\n font-size: var(--cg-font-size-base);\n padding: var(--cg-spacing-12) 0;\n }\n .field.has-label input[type=\"tel\"] {\n padding-top: var(--cg-spacing-20);\n padding-bottom: var(--cg-spacing-2);\n }\n :host([size=\"lg\"]) .field.has-label input[type=\"tel\"] {\n padding-top: var(--cg-spacing-24);\n padding-bottom: var(--cg-spacing-4);\n }\n input[type=\"tel\"]::placeholder { color: transparent; }\n .field.floated input[type=\"tel\"]::placeholder {\n color: var(--cg-color-input-text-placeholder);\n transition: color var(--cg-transition-duration-default) var(--cg-transition-easing-default);\n }\n input[type=\"tel\"]:disabled { cursor: not-allowed; }\n\n /* ── Floating label ─────────────────────────────────────────────────── */\n .floating-label {\n position: absolute;\n left: var(--cg-spacing-12);\n right: var(--cg-spacing-12);\n top: 50%;\n transform: translateY(-50%);\n font-size: var(--cg-font-size-sm);\n color: var(--cg-color-input-text-placeholder);\n pointer-events: none;\n transform-origin: left top;\n transition:\n top var(--cg-transition-duration-default) var(--cg-transition-easing-default),\n transform var(--cg-transition-duration-default) var(--cg-transition-easing-default),\n font-size var(--cg-transition-duration-default) var(--cg-transition-easing-default),\n color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n z-index: 2;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n :host([size=\"lg\"]) .floating-label { font-size: var(--cg-font-size-base); }\n .field.floated .floating-label {\n top: var(--cg-spacing-6);\n transform: translateY(0);\n font-size: var(--cg-font-size-xs);\n color: var(--cg-color-surface-container-text);\n }\n :host([size=\"lg\"]) .field.floated .floating-label {\n top: var(--cg-spacing-8);\n font-size: var(--cg-font-size-xs);\n }\n :host([error]) .field.floated .floating-label {\n color: var(--cg-color-status-error-text-default);\n }\n :host([success]) .field.floated .floating-label {\n color: var(--cg-color-status-success-text-default);\n }\n\n /* ── Helper text ────────────────────────────────────────────────────── */\n .helper {\n font-size: var(--cg-font-size-xs);\n color: var(--cg-color-input-text-placeholder);\n padding: var(--cg-spacing-8) var(--cg-spacing-12) 0;\n }\n :host([error]) .helper { color: var(--cg-color-status-error-text-default); }\n :host([success]) .helper { color: var(--cg-color-status-success-text-default); }\n\n /* ── Country popover ────────────────────────────────────────────────── */\n .popover {\n position: absolute;\n top: calc(100% + var(--cg-spacing-6));\n left: 0;\n z-index: var(--cg-z-index-500);\n width: var(--cg-component-phone-input-popover-width);\n max-width: calc(100vw - var(--cg-spacing-32));\n background: var(--cg-color-modal-container-background);\n border: var(--cg-border-width-50) solid var(--cg-color-modal-container-border);\n border-radius: var(--cg-component-popover-radius);\n box-shadow: var(--cg-shadow-elevation-xl);\n display: none;\n opacity: 0;\n transform: translateY(calc(var(--cg-spacing-4) * -1));\n transition:\n opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n transform var(--cg-transition-duration-default) var(--cg-transition-easing-ease-out);\n overflow: hidden;\n }\n :host([open]) .popover {\n display: block;\n opacity: 1;\n transform: translateY(0);\n }\n\n .search {\n display: flex;\n align-items: center;\n gap: var(--cg-spacing-8);\n padding: var(--cg-spacing-8) var(--cg-spacing-12);\n border-bottom: var(--cg-border-width-50) solid var(--cg-color-modal-container-border);\n }\n .search svg {\n width: var(--cg-icon-size-100);\n height: var(--cg-icon-size-100);\n color: var(--cg-color-input-text-placeholder);\n flex-shrink: 0;\n }\n .search input {\n flex: 1;\n width: 100%;\n border: none;\n outline: none;\n background: transparent;\n font: inherit;\n font-size: var(--cg-font-size-sm);\n color: var(--cg-color-surface-base-text);\n padding: var(--cg-spacing-4) 0;\n }\n .search input::placeholder { color: var(--cg-color-input-text-placeholder); }\n\n .options {\n max-height: var(--cg-component-phone-input-popover-max-height);\n overflow-y: auto;\n padding: var(--cg-spacing-4);\n scrollbar-width: thin;\n scrollbar-color: var(--cg-color-surface-cards-border-strong) transparent;\n }\n\n .group-label {\n padding: var(--cg-spacing-8) var(--cg-spacing-12) var(--cg-spacing-4);\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-semibold);\n color: var(--cg-color-input-text-placeholder);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n }\n\n .option {\n display: flex;\n align-items: center;\n gap: var(--cg-spacing-12);\n height: var(--cg-component-phone-input-option-height);\n padding: 0 var(--cg-spacing-12);\n border-radius: var(--cg-border-radius-50);\n font-size: var(--cg-font-size-sm);\n color: var(--cg-color-surface-container-text);\n cursor: pointer;\n transition: background-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n .option .opt-flag { font-size: var(--cg-font-size-base); flex-shrink: 0; }\n .option .opt-name {\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .option .opt-dial {\n color: var(--cg-color-input-text-placeholder);\n font-variant-numeric: tabular-nums;\n flex-shrink: 0;\n }\n .option:hover, .option.active {\n background: var(--cg-color-action-tertiary-background-hover);\n color: var(--cg-color-surface-base-text);\n }\n .option.selected { font-weight: var(--cg-font-weight-medium); }\n .option.selected .opt-name::after {\n content: '';\n display: inline-block;\n width: var(--cg-spacing-6);\n }\n .option.selected .opt-dial::after {\n content: ' ✓';\n color: var(--cg-color-accent-text);\n font-weight: var(--cg-font-weight-semibold);\n }\n\n .empty {\n padding: var(--cg-spacing-20);\n text-align: center;\n color: var(--cg-color-surface-container-outlined);\n font-size: var(--cg-font-size-sm);\n }\n\n /* ── Visually-hidden live region ────────────────────────────────────── */\n .sr-only {\n position: absolute; width: 1px; height: 1px;\n padding: 0; margin: -1px; overflow: hidden;\n clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;\n }\n `];\n\n // ─── Public API ───────────────────────────────────────────────────────────\n\n @property() value = '';\n @property({ reflect: true }) country = 'US';\n @property({ attribute: 'default-country' }) defaultCountry = 'US';\n @property() name = '';\n @property() label = '';\n @property() placeholder = '';\n @property() helper = '';\n @property({ reflect: true }) size: 'md' | 'lg' = 'md';\n @property({ reflect: true }) rounded: 'none' | 'sm' | 'md' | 'lg' = 'lg';\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: Boolean }) readonly = false;\n @property({ type: Boolean, reflect: true }) error = false;\n @property({ type: Boolean, reflect: true }) success = false;\n @property({ type: Boolean }) required = false;\n @property({ type: Boolean, reflect: true }) loading = false;\n @property({ type: Boolean, attribute: 'national-mode' }) nationalMode = false;\n @property({ type: Array, attribute: 'preferred-countries' })\n preferredCountries: string[] = ['US', 'GB', 'BR', 'DE', 'FR', 'CA', 'AU', 'IN', 'JP', 'MX'];\n @property({ type: Array, attribute: 'only-countries' }) onlyCountries: string[] = [];\n @property({ type: Array, attribute: 'exclude-countries' }) excludeCountries: string[] = [];\n @property({ type: Boolean, reflect: true }) open = false;\n\n // ─── Internal state ───────────────────────────────────────────────────────\n\n /** Display string for the number field — digits + light formatting. */\n @state() private _national = '';\n @state() private _focused = false;\n @state() private _query = '';\n @state() private _activeIndex = 0;\n @state() private _announcement = '';\n\n @query('input[type=\"tel\"]') private _telInput!: HTMLInputElement;\n @query('.search input') private _searchInput!: HTMLInputElement;\n @query('.options') private _optionsEl!: HTMLElement;\n\n private _disposeOutside: (() => void) | null = null;\n\n // ─── Lifecycle ────────────────────────────────────────────────────────────\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (!this.country && this.defaultCountry) this.country = this.defaultCountry;\n if (this.value) {\n const detected = detectCountryFromValue(this.value, this.country || 'US');\n const allDigits = digitsOnly(this.value);\n if (detected) {\n this.country = detected.iso2;\n this._national = allDigits.slice(detected.dialCode.length);\n } else {\n this._national = allDigits;\n }\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this._disposeOutside?.();\n this._disposeOutside = null;\n }\n\n override updated(changed: PropertyValues): void {\n super.updated(changed);\n if (changed.has('open')) {\n if (this.open) {\n this._disposeOutside = bindOutsideClick(this, () => { this._close(); });\n // Focus search after the popover renders.\n this.updateComplete.then(() => this._searchInput?.focus());\n } else {\n this._disposeOutside?.();\n this._disposeOutside = null;\n this._query = '';\n this._activeIndex = 0;\n }\n }\n\n if (changed.has('value') && !changed.has('country') && this.value) {\n const detected = detectCountryFromValue(this.value, this.country || 'US');\n if (detected) {\n if (detected.iso2 !== this.country) this.country = detected.iso2;\n const allDigits = digitsOnly(this.value);\n this._national = allDigits.slice(detected.dialCode.length);\n }\n }\n\n if (changed.has('value') || changed.has('required')) {\n this._internals?.setFormValue(this.value || '');\n if (this.required && !this.value) {\n this._internals?.setValidity({ valueMissing: true }, 'This field is required');\n } else {\n this._internals?.setValidity({});\n }\n }\n }\n\n formResetCallback(): void {\n this.value = this.getAttribute('value') ?? '';\n this._national = '';\n }\n\n formStateRestoreCallback(state: string): void {\n this.value = state;\n }\n\n // ─── Public methods ───────────────────────────────────────────────────────\n\n override focus(): void { this._telInput?.focus(); }\n\n /** Length-based validation against the selected country format. */\n validate(): boolean {\n const c = this._currentCountry;\n if (!c) return false;\n const len = this._national.length;\n if (c.minLength != null && len < c.minLength) return false;\n if (c.maxLength != null && len > c.maxLength) return false;\n return len > 0;\n }\n\n // ─── Derived values ───────────────────────────────────────────────────────\n\n private get _currentCountry(): Country | undefined {\n return COUNTRIES_BY_ISO[(this.country || 'US').toUpperCase()];\n }\n\n private get _filteredCountries(): { preferred: Country[]; rest: Country[] } {\n const q = this._query.trim().toLowerCase();\n const allow = (c: Country) => {\n if (this.onlyCountries.length && !this.onlyCountries.includes(c.iso2)) return false;\n if (this.excludeCountries.includes(c.iso2)) return false;\n return true;\n };\n const matches = (c: Country) => {\n if (!q) return true;\n const stripped = q.startsWith('+') ? q.slice(1) : q;\n return (\n c.name.toLowerCase().includes(q) ||\n c.iso2.toLowerCase().includes(q) ||\n c.dialCode.startsWith(stripped)\n );\n };\n if (q) {\n const all = COUNTRIES.filter(c => allow(c) && matches(c));\n return { preferred: [], rest: all };\n }\n const preferredSet = new Set(this.preferredCountries);\n const preferred = this.preferredCountries\n .map(iso => COUNTRIES_BY_ISO[iso])\n .filter((c): c is Country => !!c && allow(c));\n const rest = COUNTRIES.filter(c => allow(c) && !preferredSet.has(c.iso2));\n return { preferred, rest };\n }\n\n private get _flatFiltered(): Country[] {\n const { preferred, rest } = this._filteredCountries;\n return [...preferred, ...rest];\n }\n\n private get _isFloated(): boolean {\n return this._focused || !!this._national;\n }\n\n // ─── Event helpers ────────────────────────────────────────────────────────\n\n private _emitChange(): void {\n const c = this._currentCountry;\n const dialCode = c?.dialCode ?? '';\n const national = digitsOnly(this._national);\n const next = national ? `+${dialCode}${national}` : '';\n if (next !== this.value) this.value = next;\n this.dispatchEvent(new CustomEvent('cg-phone-input-change', {\n detail: {\n value: next,\n country: this.country,\n dialCode,\n nationalNumber: national,\n valid: this.validate(),\n },\n bubbles: true,\n composed: true,\n }));\n }\n\n private _announce(msg: string): void {\n this._announcement = '';\n requestAnimationFrame(() => { this._announcement = msg; });\n }\n\n // ─── Country trigger / popover ────────────────────────────────────────────\n\n private _toggleOpen(e: Event): void {\n e.stopPropagation();\n if (this.disabled || this.readonly) return;\n this.open = !this.open;\n }\n\n private _close(): void {\n if (this.open) this.open = false;\n }\n\n private _selectCountry(c: Country, returnFocusToInput = true): void {\n if (this.country !== c.iso2) {\n this.country = c.iso2;\n this._announce(`Switched to ${c.name}, +${c.dialCode}`);\n this.dispatchEvent(new CustomEvent('cg-phone-input-country-change', {\n detail: { country: c.iso2, dialCode: c.dialCode },\n bubbles: true,\n composed: true,\n }));\n this._emitChange();\n }\n this.open = false;\n if (returnFocusToInput) {\n this.updateComplete.then(() => this._telInput?.focus());\n }\n }\n\n private _onSearchInput(e: Event): void {\n this._query = (e.target as HTMLInputElement).value;\n this._activeIndex = 0;\n this.updateComplete.then(() => this._optionsEl?.scrollTo({ top: 0 }));\n }\n\n private _onPopoverKey(e: KeyboardEvent): void {\n const flat = this._flatFiltered;\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n this._activeIndex = Math.min(flat.length - 1, this._activeIndex + 1);\n this._scrollActiveIntoView();\n } else if (e.key === 'ArrowUp') {\n e.preventDefault();\n this._activeIndex = Math.max(0, this._activeIndex - 1);\n this._scrollActiveIntoView();\n } else if (e.key === 'Enter') {\n e.preventDefault();\n const c = flat[this._activeIndex];\n if (c) this._selectCountry(c);\n } else if (e.key === 'Escape') {\n e.preventDefault();\n this._close();\n this._telInput?.focus();\n }\n }\n\n private _scrollActiveIntoView(): void {\n this.updateComplete.then(() => {\n const el = this._optionsEl?.querySelector(`.option[data-index=\"${this._activeIndex}\"]`) as HTMLElement | null;\n el?.scrollIntoView({ block: 'nearest' });\n });\n }\n\n // ─── Number input handlers ────────────────────────────────────────────────\n\n private _onTelKeydown(e: KeyboardEvent): void {\n if (e.key === 'ArrowDown' && (e.altKey || e.metaKey)) {\n e.preventDefault();\n this.open = true;\n }\n }\n\n private _onTelInput(e: Event): void {\n const raw = (e.target as HTMLInputElement).value;\n this._national = digitsOnly(raw);\n this._emitChange();\n }\n\n private _onTelFocus(): void { this._focused = true; }\n private _onTelBlur(): void { this._focused = false; }\n\n // ─── Render helpers ───────────────────────────────────────────────────────\n\n private _renderOption(c: Country, idx: number): ReturnType<typeof html> {\n const isSelected = c.iso2 === this.country;\n const isActive = idx === this._activeIndex;\n return html`\n <div\n class=\"option ${isSelected ? 'selected' : ''} ${isActive ? 'active' : ''}\"\n role=\"option\"\n id=\"cg-phone-opt-${idx}\"\n data-index=${idx}\n aria-selected=${isSelected ? 'true' : 'false'}\n @click=${(e: MouseEvent) => { e.stopPropagation(); this._selectCountry(c); }}\n @mouseenter=${() => { this._activeIndex = idx; }}\n >\n <span class=\"opt-flag\" aria-hidden=\"true\">${c.flag}</span>\n <span class=\"opt-name\">${c.name}</span>\n <span class=\"opt-dial\">+${c.dialCode}</span>\n </div>\n `;\n }\n\n override render() {\n const c = this._currentCountry;\n const wrapperClasses = [\n 'wrapper',\n this._focused ? 'focused' : '',\n this.disabled ? 'disabled' : '',\n this.readonly ? 'readonly' : '',\n ].filter(Boolean).join(' ');\n const fieldClasses = [\n 'field',\n this.label ? 'has-label' : '',\n this._isFloated ? 'floated' : '',\n ].filter(Boolean).join(' ');\n const { preferred, rest } = this._filteredCountries;\n const triggerLabel = c\n ? `Country code, currently ${c.name}, +${c.dialCode}`\n : 'Select country code';\n const placeholder =\n this.placeholder ||\n c?.format ||\n 'Phone number';\n\n return html`\n <div class=${wrapperClasses}>\n <button\n type=\"button\"\n class=\"trigger\"\n aria-haspopup=\"dialog\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-controls=\"cg-phone-listbox\"\n aria-label=${triggerLabel}\n ?disabled=${this.disabled || this.readonly}\n @click=${this._toggleOpen}\n @keydown=${(e: KeyboardEvent) => {\n if (e.key === 'ArrowDown' || e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.open = true;\n }\n }}\n @focus=${() => { this._focused = true; }}\n @blur=${() => { this._focused = false; }}\n >\n ${this.loading\n ? html`<span class=\"trigger-spinner\" aria-hidden=\"true\"></span>`\n : html`<span class=\"flag\" aria-hidden=\"true\">${c?.flag ?? '🌐'}</span>`}\n <span class=\"dial-code\">+${c?.dialCode ?? ''}</span>\n <svg class=\"chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <path d=\"m6 9 6 6 6-6\"/>\n </svg>\n </button>\n\n <div class=${fieldClasses}>\n ${this.label ? html`<span class=\"floating-label\">${this.label}</span>` : nothing}\n <input\n type=\"tel\"\n inputmode=\"tel\"\n autocomplete=\"tel\"\n .value=${this._national}\n name=${this.name || nothing}\n placeholder=${placeholder}\n ?disabled=${this.disabled || this.loading}\n ?readonly=${this.readonly}\n aria-invalid=${this.error ? 'true' : 'false'}\n aria-required=${this.required ? 'true' : 'false'}\n aria-describedby=${this.helper ? 'cg-phone-helper' : nothing}\n @input=${this._onTelInput}\n @keydown=${this._onTelKeydown}\n @focus=${this._onTelFocus}\n @blur=${this._onTelBlur}\n />\n </div>\n\n <div\n class=\"popover\"\n role=\"dialog\"\n aria-label=\"Select country\"\n @keydown=${this._onPopoverKey}\n @click=${(e: MouseEvent) => e.stopPropagation()}\n >\n <div class=\"search\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <circle cx=\"11\" cy=\"11\" r=\"7\"/>\n <path d=\"m20 20-3.5-3.5\"/>\n </svg>\n <input\n type=\"search\"\n role=\"searchbox\"\n .value=${this._query}\n placeholder=\"Search country or +code\"\n aria-controls=\"cg-phone-listbox\"\n aria-activedescendant=${this.open && this._activeIndex >= 0 ? `cg-phone-opt-${this._activeIndex}` : nothing}\n @input=${this._onSearchInput}\n />\n </div>\n\n <div\n class=\"options\"\n id=\"cg-phone-listbox\"\n role=\"listbox\"\n aria-label=\"Countries\"\n >\n ${this._flatFiltered.length === 0\n ? html`<div class=\"empty\">No countries match \"${this._query}\"</div>`\n : html`\n ${preferred.length > 0 ? html`\n <div class=\"group-label\" role=\"presentation\">Suggested</div>\n ${preferred.map((cc, i) => this._renderOption(cc, i))}\n <div class=\"group-label\" role=\"presentation\">All countries</div>\n ` : nothing}\n ${rest.map((cc, i) => this._renderOption(cc, preferred.length + i))}\n `}\n </div>\n </div>\n </div>\n\n ${this.helper ? html`<div class=\"helper\" id=\"cg-phone-helper\">${this.helper}</div>` : nothing}\n <div class=\"sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">${this._announcement}</div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cg-phone-input': CgPhoneInput;\n }\n}\n"],"names":["C","iso2","name","dialCode","format","minLength","maxLength","cp","ch","flag","out","COUNTRIES","COUNTRIES_BY_ISO","acc","c","PRIMARY_BY_DIAL","detectCountryFromValue","e164","preferIso2","digits","best","bestLen","primary","digitsOnly","s","CgPhoneInput","LitElement","detected","allDigits","changed","bindOutsideClick","state","len","q","allow","matches","stripped","all","preferredSet","preferred","iso","rest","national","next","msg","e","returnFocusToInput","flat","raw","idx","isSelected","isActive","html","wrapperClasses","fieldClasses","triggerLabel","placeholder","nothing","cc","i","hostBlock","reducedMotion","css","__decorateClass","property","query","customElement"],"mappings":"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AA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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"}
|
|
1
|
+
{"version":3,"file":"cg-phone-input.js","sources":["../../../src/components/cg-phone-input/countries.ts","../../../src/components/cg-phone-input/cg-phone-input.ts"],"sourcesContent":["/**\n * Country data for cg-phone-input.\n * Sourced from ITU-T E.164 + ISO-3166-1 alpha-2.\n *\n * `flag` uses unicode regional-indicator symbols — renders as the country flag\n * via the OS/browser font (no SVG bundle). Length is reasonable (~250 entries).\n *\n * `format` is an optional human-friendly placeholder; numbers are E.164 only at\n * emit time. Spaces in `format` are display hints, not validation.\n */\n\nexport interface Country {\n /** ISO-3166-1 alpha-2 (e.g. \"US\", \"BR\"). */\n iso2: string;\n /** Display name in English. */\n name: string;\n /** International dial code without the leading \"+\" (e.g. \"1\", \"55\", \"44\"). */\n dialCode: string;\n /** Unicode flag emoji. */\n flag: string;\n /** Optional national-number placeholder hint. */\n format?: string;\n /** Min digits in the national number (excluding dial code). */\n minLength?: number;\n /** Max digits in the national number. */\n maxLength?: number;\n}\n\nconst C = (\n iso2: string,\n name: string,\n dialCode: string,\n format?: string,\n minLength?: number,\n maxLength?: number,\n): Country => {\n const cp = iso2\n .toUpperCase()\n .split('')\n .map(ch => 0x1f1e6 + ch.charCodeAt(0) - 65);\n const flag = String.fromCodePoint(...cp);\n const out: Country = { iso2, name, dialCode, flag };\n if (format !== undefined) out.format = format;\n if (minLength !== undefined) out.minLength = minLength;\n if (maxLength !== undefined) out.maxLength = maxLength;\n return out;\n};\n\nexport const COUNTRIES: Country[] = [\n C('AF', 'Afghanistan', '93', '70 123 4567', 9, 9),\n C('AL', 'Albania', '355', '67 212 3456', 9, 9),\n C('DZ', 'Algeria', '213', '551 23 45 67', 9, 9),\n C('AS', 'American Samoa', '1684', '684-733-1234', 7, 7),\n C('AD', 'Andorra', '376', '312 345', 6, 9),\n C('AO', 'Angola', '244', '923 123 456', 9, 9),\n C('AI', 'Anguilla', '1264', '264-235-1234', 7, 7),\n C('AG', 'Antigua and Barbuda', '1268', '268-464-1234', 7, 7),\n C('AR', 'Argentina', '54', '11 1234-5678', 10, 11),\n C('AM', 'Armenia', '374', '77 123456', 8, 8),\n C('AW', 'Aruba', '297', '560 1234', 7, 7),\n C('AU', 'Australia', '61', '412 345 678', 9, 9),\n C('AT', 'Austria', '43', '664 123456', 10, 11),\n C('AZ', 'Azerbaijan', '994', '40 123 45 67', 9, 9),\n C('BS', 'Bahamas', '1242', '242-359-1234', 7, 7),\n C('BH', 'Bahrain', '973', '3600 1234', 8, 8),\n C('BD', 'Bangladesh', '880', '1812-345678', 10, 10),\n C('BB', 'Barbados', '1246', '246-250-1234', 7, 7),\n C('BY', 'Belarus', '375', '29 491-19-11', 9, 9),\n C('BE', 'Belgium', '32', '470 12 34 56', 9, 9),\n C('BZ', 'Belize', '501', '622-1234', 7, 7),\n C('BJ', 'Benin', '229', '90 01 12 34', 8, 8),\n C('BM', 'Bermuda', '1441', '441-370-1234', 7, 7),\n C('BT', 'Bhutan', '975', '17 12 34 56', 8, 8),\n C('BO', 'Bolivia', '591', '71234567', 8, 8),\n C('BA', 'Bosnia and Herzegovina', '387', '61 123 456', 8, 9),\n C('BW', 'Botswana', '267', '71 123 456', 8, 8),\n C('BR', 'Brazil', '55', '11 96123-4567', 10, 11),\n C('IO', 'British Indian Ocean Territory', '246', '380 1234', 7, 7),\n C('VG', 'British Virgin Islands', '1284', '284-300-1234', 7, 7),\n C('BN', 'Brunei', '673', '712 3456', 7, 7),\n C('BG', 'Bulgaria', '359', '48 123 456', 9, 9),\n C('BF', 'Burkina Faso', '226', '70 12 34 56', 8, 8),\n C('BI', 'Burundi', '257', '79 56 12 34', 8, 8),\n C('KH', 'Cambodia', '855', '91 234 567', 8, 9),\n C('CM', 'Cameroon', '237', '6 71 23 45 67', 9, 9),\n C('CA', 'Canada', '1', '(506) 234-5678', 10, 10),\n C('CV', 'Cape Verde', '238', '991 12 34', 7, 7),\n C('KY', 'Cayman Islands', '1345', '345-323-1234', 7, 7),\n C('CF', 'Central African Republic', '236', '70 01 23 45', 8, 8),\n C('TD', 'Chad', '235', '63 01 23 45', 8, 8),\n C('CL', 'Chile', '56', '2 2123 4567', 9, 9),\n C('CN', 'China', '86', '131 2345 6789', 11, 11),\n C('CO', 'Colombia', '57', '321 1234567', 10, 10),\n C('KM', 'Comoros', '269', '321 23 45', 7, 7),\n C('CG', 'Congo', '242', '06 123 4567', 9, 9),\n C('CD', 'Congo, DRC', '243', '991 234 567', 9, 9),\n C('CK', 'Cook Islands', '682', '71 234', 5, 5),\n C('CR', 'Costa Rica', '506', '8312 3456', 8, 8),\n C('CI', \"Côte d'Ivoire\", '225', '01 23 45 67 89', 10, 10),\n C('HR', 'Croatia', '385', '92 123 4567', 8, 9),\n C('CU', 'Cuba', '53', '5 1234567', 8, 8),\n C('CW', 'Curaçao', '599', '9 518 1234', 7, 8),\n C('CY', 'Cyprus', '357', '96 123456', 8, 8),\n C('CZ', 'Czech Republic', '420', '601 123 456', 9, 9),\n C('DK', 'Denmark', '45', '32 12 34 56', 8, 8),\n C('DJ', 'Djibouti', '253', '77 83 10 01', 8, 8),\n C('DM', 'Dominica', '1767', '767-225-1234', 7, 7),\n C('DO', 'Dominican Republic', '1', '809-234-5678', 10, 10),\n C('EC', 'Ecuador', '593', '99 123 4567', 9, 9),\n C('EG', 'Egypt', '20', '100 123 4567', 10, 10),\n C('SV', 'El Salvador', '503', '7012 3456', 8, 8),\n C('GQ', 'Equatorial Guinea', '240', '222 123 456', 9, 9),\n C('ER', 'Eritrea', '291', '7 123 456', 7, 7),\n C('EE', 'Estonia', '372', '5123 4567', 7, 8),\n C('SZ', 'Eswatini', '268', '7612 3456', 8, 8),\n C('ET', 'Ethiopia', '251', '91 123 4567', 9, 9),\n C('FK', 'Falkland Islands', '500', '51234', 5, 5),\n C('FO', 'Faroe Islands', '298', '211234', 6, 6),\n C('FJ', 'Fiji', '679', '701 2345', 7, 7),\n C('FI', 'Finland', '358', '41 234 5678', 9, 11),\n C('FR', 'France', '33', '6 12 34 56 78', 9, 9),\n C('GF', 'French Guiana', '594', '694 12 34 56', 9, 9),\n C('PF', 'French Polynesia', '689', '40 12 34 56', 8, 8),\n C('GA', 'Gabon', '241', '06 03 12 34', 7, 8),\n C('GM', 'Gambia', '220', '301 2345', 7, 7),\n C('GE', 'Georgia', '995', '555 12 34 56', 9, 9),\n C('DE', 'Germany', '49', '1512 3456789', 10, 11),\n C('GH', 'Ghana', '233', '23 123 4567', 9, 9),\n C('GI', 'Gibraltar', '350', '5713 4567', 8, 8),\n C('GR', 'Greece', '30', '691 234 5678', 10, 10),\n C('GL', 'Greenland', '299', '22 12 34', 6, 6),\n C('GD', 'Grenada', '1473', '473-403-1234', 7, 7),\n C('GP', 'Guadeloupe', '590', '690 30-1234', 9, 9),\n C('GU', 'Guam', '1671', '671-300-1234', 7, 7),\n C('GT', 'Guatemala', '502', '5123 4567', 8, 8),\n C('GG', 'Guernsey', '44', '7781 123456', 10, 10),\n C('GN', 'Guinea', '224', '601 12 34 56', 9, 9),\n C('GW', 'Guinea-Bissau', '245', '955 012 345', 9, 9),\n C('GY', 'Guyana', '592', '609 1234', 7, 7),\n C('HT', 'Haiti', '509', '34 10 1234', 8, 8),\n C('HN', 'Honduras', '504', '9123-4567', 8, 8),\n C('HK', 'Hong Kong', '852', '5123 4567', 8, 8),\n C('HU', 'Hungary', '36', '20 123 4567', 9, 9),\n C('IS', 'Iceland', '354', '611 1234', 7, 9),\n C('IN', 'India', '91', '81234 56789', 10, 10),\n C('ID', 'Indonesia', '62', '812-345-678', 9, 12),\n C('IR', 'Iran', '98', '912 345 6789', 10, 10),\n C('IQ', 'Iraq', '964', '791 234 5678', 10, 10),\n C('IE', 'Ireland', '353', '85 012 3456', 9, 9),\n C('IM', 'Isle of Man', '44', '7924 123456', 10, 10),\n C('IL', 'Israel', '972', '50-234-5678', 9, 9),\n C('IT', 'Italy', '39', '312 345 6789', 9, 11),\n C('JM', 'Jamaica', '1876', '876-210-1234', 7, 7),\n C('JP', 'Japan', '81', '90-1234-5678', 10, 10),\n C('JE', 'Jersey', '44', '7797 712345', 10, 10),\n C('JO', 'Jordan', '962', '7 9012 3456', 9, 9),\n C('KZ', 'Kazakhstan', '7', '771 000 9998', 10, 10),\n C('KE', 'Kenya', '254', '712 123456', 9, 9),\n C('KI', 'Kiribati', '686', '72001234', 8, 8),\n C('XK', 'Kosovo', '383', '43 201 234', 8, 9),\n C('KW', 'Kuwait', '965', '500 12345', 8, 8),\n C('KG', 'Kyrgyzstan', '996', '700 123 456', 9, 9),\n C('LA', 'Laos', '856', '20 23 123 456', 10, 10),\n C('LV', 'Latvia', '371', '21 234 567', 8, 8),\n C('LB', 'Lebanon', '961', '71 123 456', 8, 8),\n C('LS', 'Lesotho', '266', '5012 3456', 8, 8),\n C('LR', 'Liberia', '231', '77 012 3456', 8, 9),\n C('LY', 'Libya', '218', '91 2345678', 9, 9),\n C('LI', 'Liechtenstein', '423', '660 234 567', 7, 9),\n C('LT', 'Lithuania', '370', '612 34567', 8, 8),\n C('LU', 'Luxembourg', '352', '628 123 456', 9, 9),\n C('MO', 'Macau', '853', '6612 3456', 8, 8),\n C('MG', 'Madagascar', '261', '32 12 345 67', 9, 9),\n C('MW', 'Malawi', '265', '991 23 45 67', 9, 9),\n C('MY', 'Malaysia', '60', '12-345 6789', 9, 10),\n C('MV', 'Maldives', '960', '771-2345', 7, 7),\n C('ML', 'Mali', '223', '65 01 23 45', 8, 8),\n C('MT', 'Malta', '356', '9696 1234', 8, 8),\n C('MH', 'Marshall Islands', '692', '235-1234', 7, 7),\n C('MQ', 'Martinique', '596', '696 30-1234', 9, 9),\n C('MR', 'Mauritania', '222', '22 12 34 56', 8, 8),\n C('MU', 'Mauritius', '230', '5251 2345', 8, 8),\n C('YT', 'Mayotte', '262', '639 01 23 45', 9, 9),\n C('MX', 'Mexico', '52', '222 123 4567', 10, 10),\n C('FM', 'Micronesia', '691', '350 1234', 7, 7),\n C('MD', 'Moldova', '373', '621 12 345', 8, 8),\n C('MC', 'Monaco', '377', '6 12 34 56 78', 8, 9),\n C('MN', 'Mongolia', '976', '8812 3456', 8, 8),\n C('ME', 'Montenegro', '382', '67 622 901', 8, 9),\n C('MS', 'Montserrat', '1664', '664-491-1234', 7, 7),\n C('MA', 'Morocco', '212', '650-123456', 9, 9),\n C('MZ', 'Mozambique', '258', '82 123 4567', 9, 9),\n C('MM', 'Myanmar', '95', '9 212 3456', 7, 10),\n C('NA', 'Namibia', '264', '81 123 4567', 9, 9),\n C('NR', 'Nauru', '674', '555 1234', 7, 7),\n C('NP', 'Nepal', '977', '984-1234567', 10, 10),\n C('NL', 'Netherlands', '31', '6 12345678', 9, 9),\n C('NC', 'New Caledonia', '687', '75.12.34', 6, 6),\n C('NZ', 'New Zealand', '64', '21 123 4567', 8, 10),\n C('NI', 'Nicaragua', '505', '8123 4567', 8, 8),\n C('NE', 'Niger', '227', '93 12 34 56', 8, 8),\n C('NG', 'Nigeria', '234', '802 123 4567', 10, 10),\n C('NU', 'Niue', '683', '4002', 4, 4),\n C('KP', 'North Korea', '850', '192 123 4567', 10, 10),\n C('MK', 'North Macedonia', '389', '72 345 678', 8, 8),\n C('MP', 'Northern Mariana Islands', '1670', '670-234-5678', 7, 7),\n C('NO', 'Norway', '47', '406 12 345', 8, 8),\n C('OM', 'Oman', '968', '9212 3456', 8, 8),\n C('PK', 'Pakistan', '92', '301 2345678', 10, 10),\n C('PW', 'Palau', '680', '620 1234', 7, 7),\n C('PS', 'Palestine', '970', '599 123 456', 9, 9),\n C('PA', 'Panama', '507', '6123-4567', 8, 8),\n C('PG', 'Papua New Guinea', '675', '7012 3456', 8, 8),\n C('PY', 'Paraguay', '595', '961 456789', 9, 9),\n C('PE', 'Peru', '51', '912 345 678', 9, 9),\n C('PH', 'Philippines', '63', '905 123 4567', 10, 10),\n C('PL', 'Poland', '48', '512 345 678', 9, 9),\n C('PT', 'Portugal', '351', '912 345 678', 9, 9),\n C('PR', 'Puerto Rico', '1', '787-234-5678', 10, 10),\n C('QA', 'Qatar', '974', '3312 3456', 8, 8),\n C('RE', 'Réunion', '262', '692 12 34 56', 9, 9),\n C('RO', 'Romania', '40', '712 034 567', 9, 9),\n C('RU', 'Russia', '7', '912 345-67-89', 10, 10),\n C('RW', 'Rwanda', '250', '720 123 456', 9, 9),\n C('KN', 'Saint Kitts and Nevis', '1869', '869-765-2917', 7, 7),\n C('LC', 'Saint Lucia', '1758', '758-284-5678', 7, 7),\n C('VC', 'Saint Vincent', '1784', '784-430-1234', 7, 7),\n C('WS', 'Samoa', '685', '72 12345', 6, 7),\n C('SM', 'San Marino', '378', '66 66 12 12', 10, 10),\n C('ST', 'São Tomé and Príncipe', '239', '981 2345', 7, 7),\n C('SA', 'Saudi Arabia', '966', '51 234 5678', 9, 9),\n C('SN', 'Senegal', '221', '70 123 45 67', 9, 9),\n C('RS', 'Serbia', '381', '60 1234567', 8, 9),\n C('SC', 'Seychelles', '248', '2 510 123', 7, 7),\n C('SL', 'Sierra Leone', '232', '25 123456', 8, 8),\n C('SG', 'Singapore', '65', '8123 4567', 8, 8),\n C('SX', 'Sint Maarten', '1721', '721-520-5678', 7, 7),\n C('SK', 'Slovakia', '421', '912 123 456', 9, 9),\n C('SI', 'Slovenia', '386', '31 234 567', 8, 8),\n C('SB', 'Solomon Islands', '677', '74 21234', 7, 7),\n C('SO', 'Somalia', '252', '7 1123456', 8, 8),\n C('ZA', 'South Africa', '27', '71 123 4567', 9, 9),\n C('KR', 'South Korea', '82', '10-1234-5678', 9, 11),\n C('SS', 'South Sudan', '211', '977 123 456', 9, 9),\n C('ES', 'Spain', '34', '612 34 56 78', 9, 9),\n C('LK', 'Sri Lanka', '94', '71 234 5678', 9, 9),\n C('SD', 'Sudan', '249', '91 123 1234', 9, 9),\n C('SR', 'Suriname', '597', '741-2345', 7, 7),\n C('SE', 'Sweden', '46', '70-123 45 67', 9, 9),\n C('CH', 'Switzerland', '41', '78 123 45 67', 9, 9),\n C('SY', 'Syria', '963', '944 567 890', 9, 9),\n C('TW', 'Taiwan', '886', '912 345 678', 9, 9),\n C('TJ', 'Tajikistan', '992', '917 12 3456', 9, 9),\n C('TZ', 'Tanzania', '255', '621 234 567', 9, 9),\n C('TH', 'Thailand', '66', '81 234 5678', 9, 9),\n C('TL', 'Timor-Leste', '670', '7721 2345', 7, 8),\n C('TG', 'Togo', '228', '90 11 23 45', 8, 8),\n C('TK', 'Tokelau', '690', '7290', 4, 4),\n C('TO', 'Tonga', '676', '771 5123', 5, 7),\n C('TT', 'Trinidad and Tobago', '1868', '868-291-5678', 7, 7),\n C('TN', 'Tunisia', '216', '20 123 456', 8, 8),\n C('TR', 'Turkey', '90', '501 234 56 78', 10, 10),\n C('TM', 'Turkmenistan', '993', '66 123456', 8, 8),\n C('TC', 'Turks and Caicos Islands', '1649', '649-231-1234', 7, 7),\n C('TV', 'Tuvalu', '688', '901234', 5, 6),\n C('UG', 'Uganda', '256', '712 345678', 9, 9),\n C('UA', 'Ukraine', '380', '50 123 4567', 9, 9),\n C('AE', 'United Arab Emirates', '971', '50 123 4567', 8, 9),\n C('GB', 'United Kingdom', '44', '7400 123456', 10, 10),\n C('US', 'United States', '1', '(201) 555-0123', 10, 10),\n C('UY', 'Uruguay', '598', '94 231 234', 8, 8),\n C('UZ', 'Uzbekistan', '998', '91 234 56 78', 9, 9),\n C('VU', 'Vanuatu', '678', '591 1234', 5, 7),\n C('VA', 'Vatican City', '39', '312 345 6789', 9, 11),\n C('VE', 'Venezuela', '58', '412-1234567', 10, 10),\n C('VN', 'Vietnam', '84', '912 345 678', 9, 10),\n C('VI', 'U.S. Virgin Islands', '1340', '340-642-1234', 7, 7),\n C('WF', 'Wallis and Futuna', '681', '50 12 34', 6, 6),\n C('YE', 'Yemen', '967', '712 345 678', 9, 9),\n C('ZM', 'Zambia', '260', '95 1234567', 9, 9),\n C('ZW', 'Zimbabwe', '263', '71 234 5678', 9, 9),\n];\n\n/** Indexed by ISO-2 (uppercase) for O(1) lookup. */\nexport const COUNTRIES_BY_ISO: Record<string, Country> = COUNTRIES.reduce(\n (acc, c) => {\n acc[c.iso2] = c;\n return acc;\n },\n {} as Record<string, Country>,\n);\n\n/**\n * Primary country for ambiguous dial codes — the entry that should win when\n * a number could match multiple countries (e.g. +44 → GB, GG, JE, IM).\n */\nconst PRIMARY_BY_DIAL: Record<string, string> = {\n '1': 'US',\n '7': 'RU',\n '39': 'IT',\n '44': 'GB',\n '47': 'NO',\n '212': 'MA',\n '262': 'RE',\n '358': 'FI',\n '590': 'GP',\n '599': 'CW',\n};\n\n/**\n * Find the most-likely country for a leading dial code in an E.164 string.\n * Resolves ambiguity by preferring (in order): an explicit `preferIso2`\n * match, the entry from `PRIMARY_BY_DIAL`, then the first definition.\n */\nexport function detectCountryFromValue(\n e164: string,\n preferIso2 = 'US',\n): Country | undefined {\n if (!e164.startsWith('+')) return undefined;\n const digits = e164.slice(1);\n let best: Country | undefined;\n let bestLen = 0;\n for (const c of COUNTRIES) {\n if (!digits.startsWith(c.dialCode)) continue;\n if (c.dialCode.length > bestLen) {\n best = c;\n bestLen = c.dialCode.length;\n continue;\n }\n if (c.dialCode.length === bestLen && best) {\n const primary = PRIMARY_BY_DIAL[c.dialCode];\n if (c.iso2 === preferIso2) best = c;\n else if (best.iso2 !== preferIso2 && primary && c.iso2 === primary) best = c;\n }\n }\n return best;\n}\n\n/** Strip non-digit characters; useful for E.164 emit. */\nexport function digitsOnly(s: string): string {\n return s.replace(/\\D+/g, '');\n}\n","import { LitElement, html, css, nothing, type PropertyValues } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\nimport { bindOutsideClick } from '../../utils/outside-click.js';\nimport {\n COUNTRIES,\n COUNTRIES_BY_ISO,\n detectCountryFromValue,\n digitsOnly,\n type Country,\n} from './countries.js';\n\n/**\n * @element cg-phone-input\n * International phone-number input with searchable country selector. Emits a\n * single E.164 value (`+15551234567`).\n *\n * @example\n * ```html\n * <cg-phone-input label=\"Phone\" country=\"US\"></cg-phone-input>\n * <cg-phone-input\n * label=\"Mobile\"\n * default-country=\"BR\"\n * preferred-countries='[\"BR\",\"US\",\"PT\",\"DE\"]'\n * helper=\"We'll text a code\"\n * ></cg-phone-input>\n * ```\n *\n * @fires {CustomEvent<{value:string;country:string;dialCode:string;nationalNumber:string;valid:boolean}>} cg-phone-input-change\n * @fires {CustomEvent<{country:string;dialCode:string}>} cg-phone-input-country-change\n *\n * @cssprop [--cg-component-phone-input-radius] - Outer corner radius\n * @cssprop [--cg-component-phone-input-popover-width] - Country popover width\n * @cssprop [--cg-component-phone-input-popover-max-height] - Country popover scroll height\n * @cssprop [--cg-component-phone-input-option-height] - Country list option height\n */\n@customElement('cg-phone-input')\nexport class CgPhoneInput extends LitElement {\n static formAssociated = true;\n private _internals?: ElementInternals;\n\n constructor() {\n super();\n if (typeof this.attachInternals === 'function') {\n this._internals = this.attachInternals();\n }\n }\n\n static override styles = [hostBlock, reducedMotion, css`\n :host { display: block; font-family: var(--cg-font-family-primary); }\n\n /* ── Outer wrapper — matches cg-input chrome ────────────────────────── */\n .wrapper {\n display: flex;\n align-items: stretch;\n height: var(--cg-component-input-height-md);\n background: var(--cg-color-input-background-default);\n border: var(--cg-border-width-50) solid var(--cg-color-input-border-default);\n border-radius: var(--cg-component-phone-input-radius);\n transition:\n border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n box-shadow var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n position: relative;\n }\n\n :host([size=\"lg\"]) .wrapper { height: var(--cg-component-input-height-lg); }\n\n :host([rounded=\"none\"]) .wrapper { border-radius: 0; }\n :host([rounded=\"sm\"]) .wrapper { border-radius: var(--cg-border-radius-50); }\n :host([rounded=\"md\"]) .wrapper { border-radius: var(--cg-border-radius-100); }\n :host([rounded=\"lg\"]) .wrapper { border-radius: var(--cg-component-phone-input-radius); }\n\n .wrapper:hover:not(.disabled) {\n border-color: var(--cg-color-input-border-hover);\n }\n .wrapper.focused {\n border-color: var(--cg-color-input-border-focus);\n box-shadow: 0 0 0 3px var(--cg-overlay-accent-strong);\n }\n\n :host([error]) .wrapper { border-color: var(--cg-color-input-border-error); }\n :host([error]) .wrapper.focused {\n border-color: var(--cg-color-status-error-text-default);\n box-shadow: 0 0 0 3px var(--cg-shadow-focus-error);\n }\n :host([success]) .wrapper { border-color: var(--cg-color-input-icon-success); }\n :host([success]) .wrapper.focused {\n border-color: var(--cg-color-status-success-text-default);\n box-shadow: 0 0 0 3px var(--cg-shadow-focus-success);\n }\n\n .wrapper.disabled {\n opacity: 0.5;\n pointer-events: none;\n background: var(--cg-color-input-background-disabled);\n border-color: var(--cg-color-input-border-disabled);\n }\n .wrapper.readonly {\n background: var(--cg-color-surface-field-readonly-background);\n border-style: dashed;\n }\n\n /* ── Country trigger ────────────────────────────────────────────────── */\n .trigger {\n display: inline-flex;\n align-items: center;\n gap: var(--cg-component-phone-input-trigger-gap);\n padding: 0 var(--cg-component-phone-input-trigger-padding-x);\n background: var(--cg-overlay-dark-subtle);\n border: none;\n border-right: var(--cg-border-width-50) solid var(--cg-color-input-border-default);\n border-radius: var(--cg-component-phone-input-radius) 0 0 var(--cg-component-phone-input-radius);\n color: var(--cg-color-input-text-default);\n cursor: pointer;\n font: inherit;\n font-size: var(--cg-font-size-sm);\n font-weight: var(--cg-font-weight-medium);\n flex-shrink: 0;\n margin: calc(-1 * var(--cg-border-width-50));\n margin-right: 0;\n transition:\n background-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n .trigger:hover:not(:disabled) { background: var(--cg-overlay-accent-subtle); }\n .trigger:active:not(:disabled) { transform: scale(var(--cg-interaction-press-scale)); }\n .trigger:focus-visible {\n outline: none;\n background: var(--cg-overlay-accent-subtle);\n }\n .trigger:disabled { cursor: not-allowed; }\n\n :host([rounded=\"none\"]) .trigger { border-radius: 0; }\n :host([rounded=\"sm\"]) .trigger { border-radius: var(--cg-border-radius-50) 0 0 var(--cg-border-radius-50); }\n :host([rounded=\"md\"]) .trigger { border-radius: var(--cg-border-radius-100) 0 0 var(--cg-border-radius-100); }\n\n .flag {\n font-size: var(--cg-font-size-base);\n line-height: 1;\n flex-shrink: 0;\n }\n :host([size=\"lg\"]) .flag { font-size: var(--cg-font-size-lg); }\n\n .dial-code {\n color: var(--cg-color-input-text-default);\n font-variant-numeric: tabular-nums;\n }\n\n .chevron {\n width: var(--cg-icon-size-100);\n height: var(--cg-icon-size-100);\n color: var(--cg-color-input-text-placeholder);\n transition: transform var(--cg-transition-duration-default) var(--cg-transition-easing-default);\n flex-shrink: 0;\n }\n :host([open]) .chevron { transform: rotate(180deg); }\n\n .trigger-spinner {\n width: var(--cg-spacing-12);\n height: var(--cg-spacing-12);\n border: var(--cg-border-width-100) solid var(--cg-color-loading-spinner-secondary);\n border-top-color: var(--cg-color-loading-spinner-primary);\n border-radius: var(--cg-border-radius-full);\n animation: cg-phone-spin 600ms linear infinite;\n }\n @keyframes cg-phone-spin { to { transform: rotate(360deg); } }\n\n /* ── Number field ───────────────────────────────────────────────────── */\n .field {\n flex: 1;\n display: flex;\n align-items: center;\n min-width: 0;\n padding: 0 var(--cg-spacing-12);\n position: relative;\n }\n\n input[type=\"tel\"] {\n flex: 1;\n width: 100%;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n font: inherit;\n font-size: var(--cg-font-size-sm);\n color: var(--cg-color-input-text-default);\n padding: var(--cg-spacing-8) 0;\n font-variant-numeric: tabular-nums;\n }\n :host([size=\"lg\"]) input[type=\"tel\"] {\n font-size: var(--cg-font-size-base);\n padding: var(--cg-spacing-12) 0;\n }\n .field.has-label input[type=\"tel\"] {\n padding-top: var(--cg-spacing-20);\n padding-bottom: var(--cg-spacing-2);\n }\n :host([size=\"lg\"]) .field.has-label input[type=\"tel\"] {\n padding-top: var(--cg-spacing-24);\n padding-bottom: var(--cg-spacing-4);\n }\n input[type=\"tel\"]::placeholder { color: transparent; }\n .field.floated input[type=\"tel\"]::placeholder {\n color: var(--cg-color-input-text-placeholder);\n transition: color var(--cg-transition-duration-default) var(--cg-transition-easing-default);\n }\n input[type=\"tel\"]:disabled { cursor: not-allowed; }\n\n /* ── Floating label ─────────────────────────────────────────────────── */\n .floating-label {\n position: absolute;\n left: var(--cg-spacing-12);\n right: var(--cg-spacing-12);\n top: 50%;\n transform: translateY(-50%);\n font-size: var(--cg-font-size-sm);\n color: var(--cg-color-input-text-placeholder);\n pointer-events: none;\n transform-origin: left top;\n transition:\n top var(--cg-transition-duration-default) var(--cg-transition-easing-default),\n transform var(--cg-transition-duration-default) var(--cg-transition-easing-default),\n font-size var(--cg-transition-duration-default) var(--cg-transition-easing-default),\n color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n z-index: 2;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n :host([size=\"lg\"]) .floating-label { font-size: var(--cg-font-size-base); }\n .field.floated .floating-label {\n top: var(--cg-spacing-6);\n transform: translateY(0);\n font-size: var(--cg-font-size-xs);\n color: var(--cg-color-surface-container-text);\n }\n :host([size=\"lg\"]) .field.floated .floating-label {\n top: var(--cg-spacing-8);\n font-size: var(--cg-font-size-xs);\n }\n :host([error]) .field.floated .floating-label {\n color: var(--cg-color-status-error-text-default);\n }\n :host([success]) .field.floated .floating-label {\n color: var(--cg-color-status-success-text-default);\n }\n\n /* ── Helper text ────────────────────────────────────────────────────── */\n .helper {\n font-size: var(--cg-font-size-xs);\n color: var(--cg-color-input-text-placeholder);\n padding: var(--cg-spacing-8) var(--cg-spacing-12) 0;\n }\n :host([error]) .helper { color: var(--cg-color-status-error-text-default); }\n :host([success]) .helper { color: var(--cg-color-status-success-text-default); }\n\n /* ── Country popover ────────────────────────────────────────────────── */\n .popover {\n position: absolute;\n top: calc(100% + var(--cg-spacing-6));\n left: 0;\n z-index: var(--cg-z-index-500);\n width: var(--cg-component-phone-input-popover-width);\n max-width: calc(100vw - var(--cg-spacing-32));\n background: var(--cg-color-modal-container-background);\n border: var(--cg-border-width-50) solid var(--cg-color-modal-container-border);\n border-radius: var(--cg-component-popover-radius);\n box-shadow: var(--cg-shadow-elevation-xl);\n visibility: hidden;\n pointer-events: none;\n opacity: 0;\n transform: translateY(calc(var(--cg-spacing-4) * -1));\n transition:\n opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n transform var(--cg-transition-duration-default) var(--cg-transition-easing-ease-out),\n visibility 0s linear var(--cg-transition-duration-fast);\n overflow: hidden;\n }\n :host([open]) .popover {\n visibility: visible;\n pointer-events: auto;\n transition-delay: 0s;\n opacity: 1;\n transform: translateY(0);\n }\n\n .search {\n display: flex;\n align-items: center;\n gap: var(--cg-spacing-8);\n padding: var(--cg-spacing-8) var(--cg-spacing-12);\n border-bottom: var(--cg-border-width-50) solid var(--cg-color-modal-container-border);\n }\n .search svg {\n width: var(--cg-icon-size-100);\n height: var(--cg-icon-size-100);\n color: var(--cg-color-input-text-placeholder);\n flex-shrink: 0;\n }\n .search input {\n flex: 1;\n width: 100%;\n border: none;\n outline: none;\n background: transparent;\n font: inherit;\n font-size: var(--cg-font-size-sm);\n color: var(--cg-color-surface-base-text);\n padding: var(--cg-spacing-4) 0;\n }\n .search input::placeholder { color: var(--cg-color-input-text-placeholder); }\n\n .options {\n max-height: var(--cg-component-phone-input-popover-max-height);\n overflow-y: auto;\n padding: var(--cg-spacing-4);\n scrollbar-width: thin;\n scrollbar-color: var(--cg-color-surface-cards-border-strong) transparent;\n }\n\n .group-label {\n padding: var(--cg-spacing-8) var(--cg-spacing-12) var(--cg-spacing-4);\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-semibold);\n color: var(--cg-color-input-text-placeholder);\n letter-spacing: var(--cg-letter-spacing-wider);\n text-transform: uppercase;\n }\n\n .option {\n display: flex;\n align-items: center;\n gap: var(--cg-spacing-12);\n height: var(--cg-component-phone-input-option-height);\n padding: 0 var(--cg-spacing-12);\n border-radius: var(--cg-border-radius-50);\n font-size: var(--cg-font-size-sm);\n color: var(--cg-color-surface-container-text);\n cursor: pointer;\n transition: background-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n .option .opt-flag { font-size: var(--cg-font-size-base); flex-shrink: 0; }\n .option .opt-name {\n flex: 1;\n min-width: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .option .opt-dial {\n color: var(--cg-color-input-text-placeholder);\n font-variant-numeric: tabular-nums;\n flex-shrink: 0;\n }\n .option:hover, .option.active {\n background: var(--cg-color-action-tertiary-background-hover);\n color: var(--cg-color-surface-base-text);\n }\n .option.selected { font-weight: var(--cg-font-weight-medium); }\n .option.selected .opt-name::after {\n content: '';\n display: inline-block;\n width: var(--cg-spacing-6);\n }\n .option.selected .opt-dial::after {\n content: ' ✓';\n color: var(--cg-color-accent-text);\n font-weight: var(--cg-font-weight-semibold);\n }\n\n .empty {\n padding: var(--cg-spacing-20);\n text-align: center;\n color: var(--cg-color-input-text-placeholder);\n font-size: var(--cg-font-size-sm);\n }\n\n /* ── Visually-hidden live region ────────────────────────────────────── */\n .sr-only {\n position: absolute; width: 1px; height: 1px;\n padding: 0; margin: -1px; overflow: hidden;\n clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;\n }\n `];\n\n // ─── Public API ───────────────────────────────────────────────────────────\n\n @property() value = '';\n @property({ reflect: true }) country = 'US';\n @property({ attribute: 'default-country' }) defaultCountry = 'US';\n @property() name = '';\n @property() label = '';\n @property() placeholder = '';\n @property() helper = '';\n @property({ reflect: true }) size: 'md' | 'lg' = 'md';\n @property({ reflect: true }) rounded: 'none' | 'sm' | 'md' | 'lg' = 'lg';\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: Boolean }) readonly = false;\n @property({ type: Boolean, reflect: true }) error = false;\n @property({ type: Boolean, reflect: true }) success = false;\n @property({ type: Boolean }) required = false;\n @property({ type: Boolean, reflect: true }) loading = false;\n @property({ type: Boolean, attribute: 'national-mode' }) nationalMode = false;\n @property({ type: Array, attribute: 'preferred-countries' })\n preferredCountries: string[] = ['US', 'GB', 'BR', 'DE', 'FR', 'CA', 'AU', 'IN', 'JP', 'MX'];\n @property({ type: Array, attribute: 'only-countries' }) onlyCountries: string[] = [];\n @property({ type: Array, attribute: 'exclude-countries' }) excludeCountries: string[] = [];\n @property({ type: Boolean, reflect: true }) open = false;\n\n // ─── Internal state ───────────────────────────────────────────────────────\n\n /** Display string for the number field — digits + light formatting. */\n @state() private _national = '';\n @state() private _focused = false;\n @state() private _query = '';\n @state() private _activeIndex = 0;\n @state() private _announcement = '';\n\n @query('input[type=\"tel\"]') private _telInput!: HTMLInputElement;\n @query('.search input') private _searchInput!: HTMLInputElement;\n @query('.options') private _optionsEl!: HTMLElement;\n\n private _disposeOutside: (() => void) | null = null;\n\n // ─── Lifecycle ────────────────────────────────────────────────────────────\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (!this.country && this.defaultCountry) this.country = this.defaultCountry;\n if (this.value) {\n const detected = detectCountryFromValue(this.value, this.country || 'US');\n const allDigits = digitsOnly(this.value);\n if (detected) {\n this.country = detected.iso2;\n this._national = allDigits.slice(detected.dialCode.length);\n } else {\n this._national = allDigits;\n }\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this._disposeOutside?.();\n this._disposeOutside = null;\n }\n\n override updated(changed: PropertyValues): void {\n super.updated(changed);\n if (changed.has('open')) {\n if (this.open) {\n this._disposeOutside = bindOutsideClick(this, () => { this._close(); });\n // Focus search after the popover renders.\n this.updateComplete.then(() => this._searchInput?.focus());\n } else {\n this._disposeOutside?.();\n this._disposeOutside = null;\n this._query = '';\n this._activeIndex = 0;\n }\n }\n\n if (changed.has('value') && !changed.has('country') && this.value) {\n const detected = detectCountryFromValue(this.value, this.country || 'US');\n if (detected) {\n if (detected.iso2 !== this.country) this.country = detected.iso2;\n const allDigits = digitsOnly(this.value);\n this._national = allDigits.slice(detected.dialCode.length);\n }\n }\n\n if (changed.has('value') || changed.has('required')) {\n this._internals?.setFormValue(this.value || '');\n if (this.required && !this.value) {\n this._internals?.setValidity({ valueMissing: true }, 'This field is required');\n } else {\n this._internals?.setValidity({});\n }\n }\n }\n\n formResetCallback(): void {\n this.value = this.getAttribute('value') ?? '';\n this._national = '';\n }\n\n formStateRestoreCallback(state: string): void {\n this.value = state;\n }\n\n // ─── Public methods ───────────────────────────────────────────────────────\n\n override focus(): void { this._telInput?.focus(); }\n\n /** Length-based validation against the selected country format. */\n validate(): boolean {\n const c = this._currentCountry;\n if (!c) return false;\n const len = this._national.length;\n if (c.minLength != null && len < c.minLength) return false;\n if (c.maxLength != null && len > c.maxLength) return false;\n return len > 0;\n }\n\n // ─── Derived values ───────────────────────────────────────────────────────\n\n private get _currentCountry(): Country | undefined {\n return COUNTRIES_BY_ISO[(this.country || 'US').toUpperCase()];\n }\n\n private get _filteredCountries(): { preferred: Country[]; rest: Country[] } {\n const q = this._query.trim().toLowerCase();\n const allow = (c: Country) => {\n if (this.onlyCountries.length && !this.onlyCountries.includes(c.iso2)) return false;\n if (this.excludeCountries.includes(c.iso2)) return false;\n return true;\n };\n const matches = (c: Country) => {\n if (!q) return true;\n const stripped = q.startsWith('+') ? q.slice(1) : q;\n return (\n c.name.toLowerCase().includes(q) ||\n c.iso2.toLowerCase().includes(q) ||\n c.dialCode.startsWith(stripped)\n );\n };\n if (q) {\n const all = COUNTRIES.filter(c => allow(c) && matches(c));\n return { preferred: [], rest: all };\n }\n const preferredSet = new Set(this.preferredCountries);\n const preferred = this.preferredCountries\n .map(iso => COUNTRIES_BY_ISO[iso])\n .filter((c): c is Country => !!c && allow(c));\n const rest = COUNTRIES.filter(c => allow(c) && !preferredSet.has(c.iso2));\n return { preferred, rest };\n }\n\n private get _flatFiltered(): Country[] {\n const { preferred, rest } = this._filteredCountries;\n return [...preferred, ...rest];\n }\n\n private get _isFloated(): boolean {\n return this._focused || !!this._national;\n }\n\n // ─── Event helpers ────────────────────────────────────────────────────────\n\n private _emitChange(): void {\n const c = this._currentCountry;\n const dialCode = c?.dialCode ?? '';\n const national = digitsOnly(this._national);\n const next = national ? `+${dialCode}${national}` : '';\n if (next !== this.value) this.value = next;\n this.dispatchEvent(new CustomEvent('cg-phone-input-change', {\n detail: {\n value: next,\n country: this.country,\n dialCode,\n nationalNumber: national,\n valid: this.validate(),\n },\n bubbles: true,\n composed: true,\n }));\n }\n\n private _announce(msg: string): void {\n this._announcement = '';\n requestAnimationFrame(() => { this._announcement = msg; });\n }\n\n // ─── Country trigger / popover ────────────────────────────────────────────\n\n private _toggleOpen(e: Event): void {\n e.stopPropagation();\n if (this.disabled || this.readonly) return;\n this.open = !this.open;\n }\n\n private _close(): void {\n if (this.open) this.open = false;\n }\n\n private _selectCountry(c: Country, returnFocusToInput = true): void {\n if (this.country !== c.iso2) {\n this.country = c.iso2;\n this._announce(`Switched to ${c.name}, +${c.dialCode}`);\n this.dispatchEvent(new CustomEvent('cg-phone-input-country-change', {\n detail: { country: c.iso2, dialCode: c.dialCode },\n bubbles: true,\n composed: true,\n }));\n this._emitChange();\n }\n this.open = false;\n if (returnFocusToInput) {\n this.updateComplete.then(() => this._telInput?.focus());\n }\n }\n\n private _onSearchInput(e: Event): void {\n this._query = (e.target as HTMLInputElement).value;\n this._activeIndex = 0;\n this.updateComplete.then(() => this._optionsEl?.scrollTo({ top: 0 }));\n }\n\n private _onPopoverKey(e: KeyboardEvent): void {\n const flat = this._flatFiltered;\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n this._activeIndex = Math.min(flat.length - 1, this._activeIndex + 1);\n this._scrollActiveIntoView();\n } else if (e.key === 'ArrowUp') {\n e.preventDefault();\n this._activeIndex = Math.max(0, this._activeIndex - 1);\n this._scrollActiveIntoView();\n } else if (e.key === 'Enter') {\n e.preventDefault();\n const c = flat[this._activeIndex];\n if (c) this._selectCountry(c);\n } else if (e.key === 'Escape') {\n e.preventDefault();\n this._close();\n this._telInput?.focus();\n }\n }\n\n private _scrollActiveIntoView(): void {\n this.updateComplete.then(() => {\n const el = this._optionsEl?.querySelector(`.option[data-index=\"${this._activeIndex}\"]`) as HTMLElement | null;\n el?.scrollIntoView({ block: 'nearest' });\n });\n }\n\n // ─── Number input handlers ────────────────────────────────────────────────\n\n private _onTelKeydown(e: KeyboardEvent): void {\n if (e.key === 'ArrowDown' && (e.altKey || e.metaKey)) {\n e.preventDefault();\n this.open = true;\n }\n }\n\n private _onTelInput(e: Event): void {\n const raw = (e.target as HTMLInputElement).value;\n this._national = digitsOnly(raw);\n this._emitChange();\n }\n\n private _onTelFocus(): void { this._focused = true; }\n private _onTelBlur(): void { this._focused = false; }\n\n // ─── Render helpers ───────────────────────────────────────────────────────\n\n private _renderOption(c: Country, idx: number): ReturnType<typeof html> {\n const isSelected = c.iso2 === this.country;\n const isActive = idx === this._activeIndex;\n return html`\n <div\n class=\"option ${isSelected ? 'selected' : ''} ${isActive ? 'active' : ''}\"\n role=\"option\"\n id=\"cg-phone-opt-${idx}\"\n data-index=${idx}\n aria-selected=${isSelected ? 'true' : 'false'}\n @click=${(e: MouseEvent) => { e.stopPropagation(); this._selectCountry(c); }}\n @mouseenter=${() => { this._activeIndex = idx; }}\n >\n <span class=\"opt-flag\" aria-hidden=\"true\">${c.flag}</span>\n <span class=\"opt-name\">${c.name}</span>\n <span class=\"opt-dial\">+${c.dialCode}</span>\n </div>\n `;\n }\n\n override render() {\n const c = this._currentCountry;\n const wrapperClasses = [\n 'wrapper',\n this._focused ? 'focused' : '',\n this.disabled ? 'disabled' : '',\n this.readonly ? 'readonly' : '',\n ].filter(Boolean).join(' ');\n const fieldClasses = [\n 'field',\n this.label ? 'has-label' : '',\n this._isFloated ? 'floated' : '',\n ].filter(Boolean).join(' ');\n const { preferred, rest } = this._filteredCountries;\n const triggerLabel = c\n ? `Country code, currently ${c.name}, +${c.dialCode}`\n : 'Select country code';\n const placeholder =\n this.placeholder ||\n c?.format ||\n 'Phone number';\n\n return html`\n <div class=${wrapperClasses}>\n <button\n type=\"button\"\n class=\"trigger\"\n aria-haspopup=\"dialog\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-controls=\"cg-phone-popover\"\n aria-label=${triggerLabel}\n ?disabled=${this.disabled || this.readonly || this.loading}\n @click=${this._toggleOpen}\n @keydown=${(e: KeyboardEvent) => {\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n this.open = true;\n }\n }}\n @focus=${() => { this._focused = true; }}\n @blur=${() => { this._focused = false; }}\n >\n ${this.loading\n ? html`<span class=\"trigger-spinner\" aria-hidden=\"true\"></span>`\n : html`<span class=\"flag\" aria-hidden=\"true\">${c?.flag ?? '🌐'}</span>`}\n <span class=\"dial-code\">+${c?.dialCode ?? ''}</span>\n <svg class=\"chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <path d=\"m6 9 6 6 6-6\"/>\n </svg>\n </button>\n\n <div class=${fieldClasses}>\n ${this.label ? html`<span class=\"floating-label\">${this.label}</span>` : nothing}\n <input\n type=\"tel\"\n inputmode=\"tel\"\n autocomplete=\"tel\"\n .value=${this._national}\n name=${this.name || nothing}\n placeholder=${placeholder}\n aria-label=${this.label || nothing}\n ?disabled=${this.disabled || this.loading}\n ?readonly=${this.readonly}\n aria-invalid=${this.error ? 'true' : 'false'}\n aria-required=${this.required ? 'true' : 'false'}\n aria-describedby=${this.helper ? 'cg-phone-helper' : nothing}\n @input=${this._onTelInput}\n @keydown=${this._onTelKeydown}\n @focus=${this._onTelFocus}\n @blur=${this._onTelBlur}\n />\n </div>\n\n <div\n id=\"cg-phone-popover\"\n class=\"popover\"\n role=\"dialog\"\n aria-label=\"Select country\"\n @keydown=${this._onPopoverKey}\n @click=${(e: MouseEvent) => e.stopPropagation()}\n >\n <div class=\"search\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <circle cx=\"11\" cy=\"11\" r=\"7\"/>\n <path d=\"m20 20-3.5-3.5\"/>\n </svg>\n <input\n type=\"search\"\n aria-label=\"Search countries\"\n .value=${this._query}\n placeholder=\"Search country or +code\"\n aria-controls=\"cg-phone-listbox\"\n aria-activedescendant=${this.open && this._activeIndex >= 0 && this._flatFiltered.length > 0 ? `cg-phone-opt-${this._activeIndex}` : nothing}\n @input=${this._onSearchInput}\n />\n </div>\n\n <div\n class=\"options\"\n id=\"cg-phone-listbox\"\n role=\"listbox\"\n aria-label=\"Countries\"\n >\n ${this._flatFiltered.length === 0\n ? html`<div class=\"empty\">No countries match \"${this._query}\"</div>`\n : html`\n ${preferred.length > 0 ? html`\n <div class=\"group-label\" role=\"presentation\">Suggested</div>\n ${preferred.map((cc, i) => this._renderOption(cc, i))}\n <div class=\"group-label\" role=\"presentation\">All countries</div>\n ` : nothing}\n ${rest.map((cc, i) => this._renderOption(cc, preferred.length + i))}\n `}\n </div>\n </div>\n </div>\n\n ${this.helper ? html`<div class=\"helper\" id=\"cg-phone-helper\">${this.helper}</div>` : nothing}\n <div class=\"sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">${this._announcement}</div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cg-phone-input': CgPhoneInput;\n }\n}\n"],"names":["C","iso2","name","dialCode","format","minLength","maxLength","cp","ch","flag","out","COUNTRIES","COUNTRIES_BY_ISO","acc","c","PRIMARY_BY_DIAL","detectCountryFromValue","e164","preferIso2","digits","best","bestLen","primary","digitsOnly","s","CgPhoneInput","LitElement","detected","allDigits","changed","bindOutsideClick","state","len","q","allow","matches","stripped","all","preferredSet","preferred","iso","rest","national","next","msg","e","returnFocusToInput","flat","raw","idx","isSelected","isActive","html","wrapperClasses","fieldClasses","triggerLabel","placeholder","nothing","cc","i","hostBlock","reducedMotion","css","__decorateClass","property","query","customElement"],"mappings":"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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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"}
|
|
@@ -21,6 +21,8 @@ import { Placement } from '../../utils/floating.js';
|
|
|
21
21
|
export declare class CgPopover extends LitElement {
|
|
22
22
|
static styles: import('lit').CSSResult[];
|
|
23
23
|
open: boolean;
|
|
24
|
+
/** Accessible name for the popover dialog (required for WCAG 4.1.2). */
|
|
25
|
+
label: string;
|
|
24
26
|
placement: Placement;
|
|
25
27
|
offset: number;
|
|
26
28
|
arrow: boolean;
|
|
@@ -35,14 +37,22 @@ export declare class CgPopover extends LitElement {
|
|
|
35
37
|
private _focusTrap;
|
|
36
38
|
private _cleanupAutoUpdate;
|
|
37
39
|
private _disposeOutsideClick;
|
|
40
|
+
private _hoverOpenTimer;
|
|
41
|
+
private _hoverCloseTimer;
|
|
42
|
+
private _hoverEscListener;
|
|
38
43
|
disconnectedCallback(): void;
|
|
44
|
+
private _disposeHoverEsc;
|
|
39
45
|
updated(changed: Map<string, unknown>): void;
|
|
46
|
+
private _slottedTrigger;
|
|
47
|
+
/** ARIA popup state lives on the slotted trigger — a role-less wrapper
|
|
48
|
+
* div is invisible to assistive tech. */
|
|
49
|
+
private _onTriggerSlotChange;
|
|
40
50
|
private _onOpen;
|
|
41
51
|
private _onClose;
|
|
42
52
|
private _updatePosition;
|
|
43
53
|
private _handleTriggerClick;
|
|
44
|
-
private
|
|
45
|
-
private
|
|
54
|
+
private _scheduleOpen;
|
|
55
|
+
private _scheduleClose;
|
|
46
56
|
render(): import('lit').TemplateResult<1>;
|
|
47
57
|
}
|
|
48
58
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cg-popover.d.ts","sourceRoot":"","sources":["../../../src/components/cg-popover/cg-popover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAGrD,OAAO,EAAqC,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAI5F;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,SAAU,SAAQ,UAAU;IACvC,OAAgB,MAAM,
|
|
1
|
+
{"version":3,"file":"cg-popover.d.ts","sourceRoot":"","sources":["../../../src/components/cg-popover/cg-popover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAGrD,OAAO,EAAqC,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAI5F;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,SAAU,SAAQ,UAAU;IACvC,OAAgB,MAAM,4BAuFnB;IAEyC,IAAI,UAAS;IACzD,wEAAwE;IAC5D,KAAK,SAAM;IACX,SAAS,EAAE,SAAS,CAAY;IAChB,MAAM,SAAK;IACV,KAAK,UAAQ;IAC9B,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAW;IAC/B,QAAQ,UAAQ;IAChB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAChC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAQ;IAEzE,OAAO,CAAC,WAAW,CAAiD;IACpE,OAAO,CAAC,YAAY,CAAK;IAEf,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,UAAU,CAAe;IAEpD,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,iBAAiB,CAA6C;IAE7D,oBAAoB,IAAI,IAAI;IAWrC,OAAO,CAAC,gBAAgB;IAOf,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQrD,OAAO,CAAC,eAAe;IAKvB;8CAC0C;IAC1C,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,OAAO;IAiCf,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,cAAc;IAOb,MAAM;CA+BhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAC;KACzB;CACF"}
|