@salesmind-ai/design-system 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AppearancePanel-UT57J69V.d.cts +51 -0
- package/dist/AppearancePanel-UT57J69V.d.ts +51 -0
- package/dist/AppearanceProvider-C36a8-eb.d.cts +45 -0
- package/dist/AppearanceProvider-C36a8-eb.d.ts +45 -0
- package/dist/Breadcrumb-RX-B_gDV.d.cts +44 -0
- package/dist/Breadcrumb-RX-B_gDV.d.ts +44 -0
- package/dist/ExportMenu-A2TLFiVv.d.cts +311 -0
- package/dist/ExportMenu-C8qck5AT.d.ts +311 -0
- package/dist/SectionShell-BfBw5q0Y.d.cts +18 -0
- package/dist/SectionShell-BfBw5q0Y.d.ts +18 -0
- package/dist/Select-BdZmK0Lt.d.cts +66 -0
- package/dist/Select-BdZmK0Lt.d.ts +66 -0
- package/dist/admin/index.cjs +2941 -0
- package/dist/admin/index.cjs.map +1 -0
- package/dist/admin/index.css +4145 -0
- package/dist/admin/index.css.map +1 -0
- package/dist/admin/index.d.cts +491 -0
- package/dist/admin/index.d.ts +491 -0
- package/dist/admin/index.js +2918 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/{audit-CiyPkxk1.d.cts → audit-BS2fn7M4.d.ts} +2 -51
- package/dist/{audit-CiyPkxk1.d.ts → audit-DwCmg32J.d.cts} +2 -51
- package/dist/blog/index.cjs +1074 -0
- package/dist/blog/index.cjs.map +1 -0
- package/dist/blog/index.css +1422 -0
- package/dist/blog/index.css.map +1 -0
- package/dist/blog/index.d.cts +233 -0
- package/dist/blog/index.d.ts +233 -0
- package/dist/blog/index.js +1056 -0
- package/dist/blog/index.js.map +1 -0
- package/dist/chart-types-BGVVO-zl.d.cts +208 -0
- package/dist/chart-types-BGVVO-zl.d.ts +208 -0
- package/dist/charts/index.cjs +2698 -0
- package/dist/charts/index.cjs.map +1 -0
- package/dist/charts/index.css +1167 -0
- package/dist/charts/index.css.map +1 -0
- package/dist/charts/index.d.cts +453 -0
- package/dist/charts/index.d.ts +453 -0
- package/dist/charts/index.js +2682 -0
- package/dist/charts/index.js.map +1 -0
- package/dist/core/index.cjs +526 -395
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.css +297 -2
- package/dist/core/index.css.map +1 -1
- package/dist/core/index.d.cts +7 -982
- package/dist/core/index.d.ts +7 -982
- package/dist/core/index.js +476 -351
- package/dist/core/index.js.map +1 -1
- package/dist/i18n/index.cjs +585 -0
- package/dist/i18n/index.cjs.map +1 -0
- package/dist/i18n/index.d.cts +855 -0
- package/dist/i18n/index.d.ts +855 -0
- package/dist/i18n/index.js +547 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.css +16 -6
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +22 -1290
- package/dist/index.d.ts +22 -1290
- package/dist/marketing/index.cjs +2144 -3023
- package/dist/marketing/index.cjs.map +1 -1
- package/dist/marketing/index.css +3729 -4824
- package/dist/marketing/index.css.map +1 -1
- package/dist/marketing/index.d.cts +1351 -4
- package/dist/marketing/index.d.ts +1351 -4
- package/dist/marketing/index.js +2190 -3054
- package/dist/marketing/index.js.map +1 -1
- package/dist/motion/index.cjs +1230 -0
- package/dist/motion/index.cjs.map +1 -0
- package/dist/motion/index.css +699 -0
- package/dist/motion/index.css.map +1 -0
- package/dist/motion/index.d.cts +68 -0
- package/dist/motion/index.d.ts +68 -0
- package/dist/motion/index.js +1218 -0
- package/dist/motion/index.js.map +1 -0
- package/dist/nav/index.cjs +1533 -0
- package/dist/nav/index.cjs.map +1 -0
- package/dist/nav/index.css +1984 -0
- package/dist/nav/index.css.map +1 -0
- package/dist/nav/index.d.cts +279 -0
- package/dist/nav/index.d.ts +279 -0
- package/dist/nav/index.js +1501 -0
- package/dist/nav/index.js.map +1 -0
- package/dist/report/index.cjs +26 -1649
- package/dist/report/index.cjs.map +1 -1
- package/dist/report/index.css +6 -968
- package/dist/report/index.css.map +1 -1
- package/dist/report/index.d.cts +4 -2
- package/dist/report/index.d.ts +4 -2
- package/dist/report/index.js +27 -1640
- package/dist/report/index.js.map +1 -1
- package/dist/sections/index.cjs +385 -0
- package/dist/sections/index.cjs.map +1 -0
- package/dist/sections/index.css +818 -0
- package/dist/sections/index.css.map +1 -0
- package/dist/sections/index.d.cts +69 -0
- package/dist/sections/index.d.ts +69 -0
- package/dist/sections/index.js +374 -0
- package/dist/sections/index.js.map +1 -0
- package/dist/social-proof/index.cjs +1254 -0
- package/dist/social-proof/index.cjs.map +1 -0
- package/dist/social-proof/index.css +1416 -0
- package/dist/social-proof/index.css.map +1 -0
- package/dist/social-proof/index.d.cts +258 -0
- package/dist/social-proof/index.d.ts +258 -0
- package/dist/social-proof/index.js +1237 -0
- package/dist/social-proof/index.js.map +1 -0
- package/dist/theme/index.cjs +573 -0
- package/dist/theme/index.cjs.map +1 -0
- package/dist/theme/index.css +464 -0
- package/dist/theme/index.css.map +1 -0
- package/dist/theme/index.d.cts +48 -0
- package/dist/theme/index.d.ts +48 -0
- package/dist/theme/index.js +558 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/types-DAlgDGzw.d.cts +52 -0
- package/dist/types-DAlgDGzw.d.ts +52 -0
- package/dist/web/index.d.cts +3 -2
- package/dist/web/index.d.ts +3 -2
- package/package.json +68 -9
- package/dist/ExportMenu-hEe5MhLq.d.cts +0 -1027
- package/dist/ExportMenu-hEe5MhLq.d.ts +0 -1027
- package/dist/index-B64suAAc.d.cts +0 -1498
- package/dist/index-B64suAAc.d.ts +0 -1498
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/DataStateIndicator/DataStateIndicator.css","../../src/components/DataCoverageBadge/DataCoverageBadge.css","../../src/components/ChartContainer/ChartContainer.css","../../src/components/FunnelChart/FunnelChart.css","../../src/components/Tooltip/Tooltip.css","../../src/components/HeatmapChart/HeatmapChart.css","../../src/components/Chart/ChartSwitchControl.css","../../src/components/Chart/Chart.css","../../src/components/ConfidenceIndicator/ConfidenceIndicator.css","../../src/components/MBTIRadar/MBTIRadar.css","../../src/components/MBTITypeGrid/MBTITypeGrid.css"],"sourcesContent":["/* ============================================================================\n DATA STATE INDICATOR\n Shows analytical state of data (valid, insufficient, etc.)\n ============================================================================ */\n\n.ds-data-state-indicator {\n display: inline-flex;\n align-items: center;\n gap: var(--space-2);\n padding: var(--space-2) var(--space-3);\n font-size: var(--font-size-sm);\n background: var(--glass-elevated);\n border-radius: var(--radius-badge);\n}\n\n.ds-data-state-indicator__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.ds-data-state-indicator__content {\n display: flex;\n flex-direction: column;\n gap: var(--space-0);\n}\n\n.ds-data-state-indicator__label {\n font-weight: var(--font-weight-medium);\n color: var(--text-primary);\n}\n\n.ds-data-state-indicator__details {\n font-size: var(--font-size-xs);\n color: var(--text-secondary);\n}\n\n.ds-data-state-indicator__action {\n padding: var(--space-1) var(--space-2);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-medium);\n color: var(--text-primary);\n background: var(--glass-base);\n border: 1px solid var(--glass-border);\n border-radius: var(--radius-badge);\n cursor: pointer;\n transition: background var(--transition-fast);\n}\n\n.ds-data-state-indicator__action:hover {\n background: var(--glass-hover);\n}\n\n/* Variants */\n.ds-data-state-indicator--full {\n padding: var(--space-3) var(--space-4);\n}\n\n.ds-data-state-indicator--full .ds-data-state-indicator__content {\n gap: var(--space-1);\n}\n\n/* State-specific backgrounds */\n.ds-data-state-indicator--valid {\n background: color-mix(in srgb, var(--status-success) 10%, var(--glass-elevated));\n}\n\n.ds-data-state-indicator--insufficient-sample,\n.ds-data-state-indicator--low-confidence,\n.ds-data-state-indicator--data-skew-detected,\n.ds-data-state-indicator--stale-data,\n.ds-data-state-indicator--partial-time-window {\n background: color-mix(in srgb, var(--status-warning) 10%, var(--glass-elevated));\n}\n\n.ds-data-state-indicator--field-missing,\n.ds-data-state-indicator--calculation-error,\n.ds-data-state-indicator--conflicting-signals {\n background: color-mix(in srgb, var(--status-error) 10%, var(--glass-elevated));\n}\n\n.ds-data-state-indicator--inferred-not-observed {\n background: color-mix(in srgb, var(--status-info) 10%, var(--glass-elevated));\n}\n","/* ============================================================================\n DATA COVERAGE BADGE\n Shows sample size and date range\n ============================================================================ */\n\n.ds-data-coverage-badge {\n display: inline-flex;\n align-items: center;\n gap: var(--space-3);\n padding: var(--space-2) var(--space-3);\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n background: var(--glass-elevated);\n border-radius: var(--radius-badge);\n}\n\n.ds-data-coverage-badge__sample,\n.ds-data-coverage-badge__date {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1);\n}\n\n.ds-data-coverage-badge__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--text-tertiary);\n}\n\n.ds-data-coverage-badge__count {\n font-weight: var(--font-weight-medium);\n font-variant-numeric: tabular-nums;\n color: var(--text-primary);\n}\n\n.ds-data-coverage-badge__required {\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n}\n\n/* Separator */\n.ds-data-coverage-badge__sample + .ds-data-coverage-badge__date::before {\n content: '';\n display: block;\n width: 1px;\n height: 12px;\n margin-right: var(--space-3);\n background: var(--glass-border);\n}\n\n/* Sizes */\n.ds-data-coverage-badge--sm {\n padding: var(--space-1) var(--space-2);\n font-size: var(--font-size-xs);\n}\n\n.ds-data-coverage-badge--sm .ds-data-coverage-badge__icon svg {\n width: 12px;\n height: 12px;\n}\n\n/* Insufficient state */\n.ds-data-coverage-badge--insufficient {\n background: color-mix(in srgb, var(--status-warning) 15%, var(--glass-elevated));\n}\n\n.ds-data-coverage-badge--insufficient .ds-data-coverage-badge__count {\n color: var(--status-warning);\n}\n","/* ============================================================================\n CHART CONTAINER\n Wraps charts with responsive sizing and data state handling\n ============================================================================ */\n\n.ds-chart-container {\n display: flex;\n flex-direction: column;\n background: var(--glass-base);\n border: 1px solid var(--glass-border);\n border-radius: var(--radius-card);\n overflow: hidden;\n}\n\n/* Header */\n.ds-chart-container__header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--space-4);\n padding: var(--space-4) var(--space-4) 0;\n}\n\n.ds-chart-container__header-content {\n flex: 1;\n min-width: 0;\n}\n\n.ds-chart-container__title {\n margin: 0;\n font-size: var(--font-size-base);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n}\n\n.ds-chart-container__subtitle {\n margin: var(--space-1) 0 0;\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n}\n\n/* Chart area */\n.ds-chart-container__chart {\n flex: 1;\n padding: var(--space-4);\n}\n\n/* Empty/Loading states */\n.ds-chart-container__empty,\n.ds-chart-container__loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: var(--space-4);\n color: var(--text-secondary);\n}\n\n.ds-chart-container__empty-message {\n margin: 0;\n font-size: var(--font-size-sm);\n color: var(--text-tertiary);\n}\n\n.ds-chart-container__spinner {\n width: 32px;\n height: 32px;\n border: 3px solid var(--glass-border);\n border-top-color: var(--brand-pink);\n border-radius: 50%;\n animation: ds-chart-spin 0.8s linear infinite;\n}\n\n@keyframes ds-chart-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n/* Footer */\n.ds-chart-container__footer {\n padding: var(--space-2) var(--space-4);\n border-top: 1px solid var(--glass-border);\n}\n\n/* States */\n.ds-chart-container--loading {\n opacity: 0.7;\n}\n\n.ds-chart-container--invalid {\n border-color: var(--status-warning);\n}\n\n/* Recharts theme overrides */\n.ds-chart-container .recharts-cartesian-grid-horizontal line,\n.ds-chart-container .recharts-cartesian-grid-vertical line {\n stroke: var(--glass-border);\n}\n\n.ds-chart-container .recharts-cartesian-axis-tick-value {\n fill: var(--text-secondary);\n font-size: var(--font-size-xs);\n}\n\n.ds-chart-container .recharts-cartesian-axis-line {\n stroke: var(--glass-border);\n}\n\n.ds-chart-container .recharts-legend-item-text {\n color: var(--text-secondary) !important;\n font-size: var(--font-size-sm);\n}\n\n.ds-chart-container .recharts-tooltip-wrapper {\n outline: none;\n}\n\n.ds-chart-container .recharts-default-tooltip {\n background: var(--glass-elevated) !important;\n border: 1px solid var(--glass-border) !important;\n border-radius: var(--radius-card) !important;\n box-shadow: var(--shadow-interactive-resting) !important;\n}\n\n.ds-chart-container .recharts-tooltip-label {\n color: var(--text-primary) !important;\n font-weight: var(--font-weight-semibold);\n margin-bottom: var(--space-2);\n}\n\n.ds-chart-container .recharts-tooltip-item {\n color: var(--text-secondary) !important;\n font-size: var(--font-size-sm);\n}\n","/* ============================================================================\n FUNNEL CHART\n Visualizes conversion funnels and drop-off rates\n ============================================================================ */\n\n.ds-funnel-chart {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n padding: var(--space-4);\n background: var(--glass-base);\n border: 1px solid var(--glass-border);\n border-radius: var(--radius-card);\n}\n\n.ds-funnel-chart--invalid {\n min-height: 200px;\n}\n\n/* Header */\n.ds-funnel-chart__header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--space-4);\n}\n\n.ds-funnel-chart__title {\n margin: 0;\n font-size: var(--font-size-base);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n}\n\n.ds-funnel-chart__subtitle {\n margin: var(--space-1) 0 0;\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n}\n\n/* Stages */\n.ds-funnel-chart__stages {\n display: flex;\n flex-direction: column;\n gap: var(--space-3);\n flex: 1;\n}\n\n.ds-funnel-chart__stage {\n display: grid;\n grid-template-columns: 1fr auto;\n gap: var(--space-2) var(--space-4);\n align-items: center;\n}\n\n.ds-funnel-chart__bar-container {\n display: flex;\n justify-content: center;\n width: 100%;\n}\n\n.ds-funnel-chart__bar {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 40px;\n min-width: 60px;\n border-radius: var(--radius-badge);\n transition: width var(--transition-base);\n}\n\n.ds-funnel-chart__value {\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-semibold);\n font-variant-numeric: tabular-nums;\n color: white;\n text-shadow: var(--shadow-lg);\n}\n\n.ds-funnel-chart__label {\n display: flex;\n flex-direction: column;\n gap: var(--space-0);\n min-width: 120px;\n}\n\n.ds-funnel-chart__stage-name {\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n color: var(--text-primary);\n}\n\n.ds-funnel-chart__conversion {\n font-size: var(--font-size-xs);\n color: var(--text-secondary);\n}\n\n/* Drop-off indicator */\n.ds-funnel-chart__dropoff {\n position: absolute;\n right: -60px;\n display: flex;\n align-items: center;\n gap: var(--space-1);\n font-size: var(--font-size-xs);\n color: var(--status-error);\n}\n\n.ds-funnel-chart__dropoff-arrow {\n font-weight: var(--font-weight-bold);\n}\n\n.ds-funnel-chart__dropoff-value {\n font-variant-numeric: tabular-nums;\n}\n\n/* Footer */\n.ds-funnel-chart__footer {\n padding-top: var(--space-3);\n border-top: 1px solid var(--glass-border);\n}\n\n.ds-funnel-chart__total {\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n}\n\n.ds-funnel-chart__total strong {\n color: var(--text-primary);\n}\n\n/* Empty state */\n.ds-funnel-chart__empty {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n min-height: 150px;\n}\n","/* ============================================================================\n TOOLTIP — SIGNATURE GLASS TREATMENT\n ============================================================================ */\n\n.ds-tooltip__content {\n position: relative;\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n color: var(--text-primary);\n padding: var(--space-2) var(--space-3);\n border-radius: var(--radius-badge);\n max-width: 280px;\n z-index: var(--z-tooltip);\n\n /* Glass ornament treatment */\n background: var(--glass-base-hover);\n backdrop-filter: blur(24px) saturate(160%) brightness(90%);\n -webkit-backdrop-filter: blur(24px) saturate(160%) brightness(90%);\n\n /* Shadow */\n box-shadow:\n var(--glass-shadow-outer),\n var(--glass-shadow-inner);\n\n /* Animation */\n animation: ds-tooltip-fade-in 0.15s ease-out;\n}\n\n/* Rim light */\n.ds-tooltip__content::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n padding: var(--space-px);\n background: linear-gradient(180deg, var(--rim-light-hover-top) 0%, var(--rim-light-top) 100%);\n mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n mask-composite: exclude;\n -webkit-mask:\n linear-gradient(#fff 0 0) content-box,\n linear-gradient(#fff 0 0);\n -webkit-mask-composite: xor;\n pointer-events: none;\n}\n\n/* ==========================================================================\n Arrow — Matching glass treatment\n ========================================================================== */\n\n.ds-tooltip__arrow {\n width: 12px;\n height: 6px;\n fill: var(--glass-base-hover);\n filter: drop-shadow(var(--shadow-md));\n}\n\n/* ==========================================================================\n Animation\n ========================================================================== */\n\n@keyframes ds-tooltip-fade-in {\n from {\n opacity: 0;\n transform: scale(0.96);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n/* ==========================================================================\n High Contrast Mode\n ========================================================================== */\n\n@media (prefers-contrast: more) {\n .ds-tooltip__content {\n background: var(--hc-surface);\n border: 1px solid var(--hc-border-strong);\n backdrop-filter: none;\n }\n\n .ds-tooltip__content::before {\n display: none;\n }\n}\n\n/* ==========================================================================\n Reduced Motion\n ========================================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-tooltip__content {\n animation: none;\n }\n}\n\n/* ==========================================================================\n Fallback\n ========================================================================== */\n\n@supports not (backdrop-filter: blur(1px)) {\n .ds-tooltip__content {\n background: var(--fallback-surface);\n }\n}\n","/* ============================================================================\n HEATMAP CHART\n Visualizes density and correlation data\n ============================================================================ */\n\n.ds-heatmap-chart {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n padding: var(--space-4);\n background: var(--glass-base);\n border: 1px solid var(--glass-border);\n border-radius: var(--radius-card);\n}\n\n.ds-heatmap-chart--invalid {\n min-height: 200px;\n}\n\n/* Header */\n.ds-heatmap-chart__header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--space-4);\n}\n\n.ds-heatmap-chart__title {\n margin: 0;\n font-size: var(--font-size-base);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n}\n\n.ds-heatmap-chart__subtitle {\n margin: var(--space-1) 0 0;\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n}\n\n/* Container */\n.ds-heatmap-chart__container {\n display: grid;\n grid-template-columns: auto 1fr auto;\n gap: var(--space-2);\n}\n\n.ds-heatmap-chart__grid-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--space-2);\n}\n\n/* Grid */\n.ds-heatmap-chart__grid {\n display: grid;\n gap: var(--space-0-5);\n}\n\n.ds-heatmap-chart__cell {\n display: flex;\n align-items: center;\n justify-content: center;\n aspect-ratio: 1;\n min-width: 32px;\n min-height: 32px;\n border-radius: var(--radius-badge);\n transition: transform var(--transition-fast);\n cursor: default;\n}\n\n.ds-heatmap-chart__cell:hover {\n transform: scale(1.05);\n z-index: 1;\n}\n\n.ds-heatmap-chart__cell-value {\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-medium);\n font-variant-numeric: tabular-nums;\n}\n\n/* X-axis labels */\n.ds-heatmap-chart__x-labels {\n display: grid;\n gap: var(--space-0-5);\n}\n\n.ds-heatmap-chart__x-label {\n font-size: var(--font-size-xs);\n color: var(--text-secondary);\n text-align: center;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Y-axis labels */\n.ds-heatmap-chart__y-labels {\n display: grid;\n gap: var(--space-0-5);\n align-items: center;\n}\n\n.ds-heatmap-chart__y-label-item {\n font-size: var(--font-size-xs);\n color: var(--text-secondary);\n text-align: right;\n padding-right: var(--space-2);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Axis labels */\n.ds-heatmap-chart__y-label {\n display: flex;\n align-items: center;\n justify-content: center;\n writing-mode: vertical-rl;\n text-orientation: mixed;\n transform: rotate(180deg);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-medium);\n color: var(--text-secondary);\n}\n\n.ds-heatmap-chart__x-axis-label {\n text-align: center;\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-medium);\n color: var(--text-secondary);\n}\n\n/* Legend */\n.ds-heatmap-chart__legend {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--space-2);\n padding-top: var(--space-2);\n}\n\n.ds-heatmap-chart__legend-label {\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n}\n\n.ds-heatmap-chart__legend-bar {\n width: 100px;\n height: 8px;\n border-radius: 4px;\n}\n\n/* Empty state */\n.ds-heatmap-chart__empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n min-height: 150px;\n gap: var(--space-2);\n color: var(--text-secondary);\n}\n\n.ds-heatmap-chart__empty-detail {\n font-size: var(--font-size-sm);\n color: var(--text-tertiary);\n}\n","/* ============================================================================\n ChartSwitchControl — Chart Type Switcher\n ============================================================================ */\n\n.ds-chart-switch {\n display: inline-flex;\n gap: var(--spacing-1);\n padding: var(--spacing-1);\n background: var(--glass-base);\n border-radius: var(--radius-md);\n}\n\n/* Options */\n.ds-chart-switch__option {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-1);\n padding: var(--spacing-1) var(--spacing-2);\n background: transparent;\n border: none;\n border-radius: var(--radius-sm);\n font-size: var(--font-size-xs);\n font-family: inherit;\n color: var(--text-tertiary);\n cursor: pointer;\n transition:\n background-color var(--duration-fast) var(--ease-out),\n color var(--duration-fast) var(--ease-out);\n}\n\n.ds-chart-switch__option:hover {\n background: var(--glass-elevated);\n color: var(--text-secondary);\n}\n\n.ds-chart-switch__option--active {\n background: var(--glass-elevated);\n color: var(--brand-pink);\n box-shadow: var(--shadow-sm);\n}\n\n.ds-chart-switch__option--active:hover {\n color: var(--brand-pink);\n}\n\n.ds-chart-switch__option svg {\n flex-shrink: 0;\n}\n\n/* Labels */\n.ds-chart-switch__label {\n white-space: nowrap;\n}\n\n/* Size: Small */\n.ds-chart-switch--sm .ds-chart-switch__option {\n padding: var(--spacing-0-5) var(--spacing-1-5);\n font-size: var(--font-size-2xs);\n}\n\n.ds-chart-switch--sm .ds-chart-switch__option svg {\n width: 14px;\n height: 14px;\n}\n\n/* Size: Medium */\n.ds-chart-switch--md .ds-chart-switch__option {\n padding: var(--spacing-1-5) var(--spacing-2-5);\n font-size: var(--font-size-sm);\n}\n\n.ds-chart-switch--md .ds-chart-switch__option svg {\n width: 18px;\n height: 18px;\n}\n\n/* Hide labels on small screens */\n@media (max-width: 480px) {\n .ds-chart-switch__label {\n display: none;\n }\n}\n","/* ============================================================================\n Chart — Unified Chart Abstraction Layer\n ============================================================================ */\n\n.ds-chart {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-3);\n padding: var(--spacing-4);\n background: var(--glass-elevated);\n border: 1px solid var(--glass-border);\n border-radius: var(--radius-lg);\n}\n\n/* Header */\n.ds-chart__header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: var(--spacing-3);\n flex-wrap: wrap;\n}\n\n.ds-chart__header-text {\n flex: 1;\n min-width: 200px;\n}\n\n.ds-chart__header-actions {\n display: flex;\n align-items: center;\n gap: var(--spacing-2);\n flex-wrap: wrap;\n}\n\n.ds-chart__title {\n margin: 0;\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n}\n\n.ds-chart__subtitle {\n margin: var(--spacing-1) 0 0;\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n}\n\n/* Warnings */\n.ds-chart__warnings {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-1);\n}\n\n.ds-chart__warning {\n padding: var(--spacing-2) var(--spacing-3);\n background: color-mix(in srgb, var(--status-warning) 10%, transparent);\n border: 1px solid color-mix(in srgb, var(--status-warning) 30%, transparent);\n border-radius: var(--radius-md);\n font-size: var(--font-size-sm);\n color: var(--status-warning);\n}\n\n/* Body */\n.ds-chart__body {\n position: relative;\n min-height: 200px;\n}\n\n/* Invalid State */\n.ds-chart__invalid {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n min-height: 200px;\n}\n\n/* Unsupported State */\n.ds-chart__unsupported {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n min-height: 200px;\n font-size: var(--font-size-sm);\n color: var(--text-tertiary);\n}\n\n/* Recharts Overrides */\n.ds-chart .recharts-cartesian-grid-horizontal line,\n.ds-chart .recharts-cartesian-grid-vertical line {\n stroke: var(--glass-border);\n}\n\n.ds-chart .recharts-text {\n fill: var(--text-secondary);\n}\n\n.ds-chart .recharts-legend-item-text {\n color: var(--text-secondary) !important;\n}\n\n.ds-chart .recharts-tooltip-wrapper {\n outline: none;\n}\n\n.ds-chart .recharts-default-tooltip {\n background: var(--glass-elevated) !important;\n border: 1px solid var(--glass-border) !important;\n border-radius: var(--radius-md) !important;\n box-shadow: var(--shadow-lg) !important;\n}\n\n.ds-chart .recharts-tooltip-label {\n color: var(--text-primary) !important;\n font-weight: var(--font-weight-medium) !important;\n}\n\n.ds-chart .recharts-tooltip-item {\n color: var(--text-secondary) !important;\n}\n\n.ds-chart .recharts-pie-label-text {\n fill: var(--text-primary);\n font-size: var(--font-size-xs);\n}\n\n/* Responsive */\n@media (max-width: 640px) {\n .ds-chart {\n padding: var(--spacing-3);\n }\n\n .ds-chart__header {\n flex-direction: column;\n gap: var(--spacing-2);\n }\n\n .ds-chart__header-actions {\n width: 100%;\n justify-content: flex-start;\n }\n}\n","/* ============================================================================\n CONFIDENCE INDICATOR\n Visual meter showing data reliability\n ============================================================================ */\n\n.ds-confidence-indicator {\n display: flex;\n flex-direction: column;\n gap: var(--space-1);\n}\n\n/* Bar */\n.ds-confidence-indicator__bar {\n height: 4px;\n background: var(--glass-elevated);\n border-radius: 2px;\n overflow: hidden;\n}\n\n.ds-confidence-indicator__fill {\n height: 100%;\n border-radius: 2px;\n transition: width var(--transition-base);\n}\n\n/* Text */\n.ds-confidence-indicator__text {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n}\n\n.ds-confidence-indicator__score {\n font-weight: var(--font-weight-semibold);\n font-variant-numeric: tabular-nums;\n}\n\n.ds-confidence-indicator__label {\n color: var(--text-secondary);\n}\n\n/* Sizes */\n.ds-confidence-indicator--sm {\n max-width: 120px;\n}\n\n.ds-confidence-indicator--sm .ds-confidence-indicator__bar {\n height: 3px;\n}\n\n.ds-confidence-indicator--sm .ds-confidence-indicator__score,\n.ds-confidence-indicator--sm .ds-confidence-indicator__label {\n font-size: var(--font-size-xs);\n}\n\n.ds-confidence-indicator--md {\n max-width: 180px;\n}\n\n.ds-confidence-indicator--md .ds-confidence-indicator__score,\n.ds-confidence-indicator--md .ds-confidence-indicator__label {\n font-size: var(--font-size-sm);\n}\n\n.ds-confidence-indicator--lg {\n max-width: 240px;\n}\n\n.ds-confidence-indicator--lg .ds-confidence-indicator__bar {\n height: 6px;\n}\n\n.ds-confidence-indicator--lg .ds-confidence-indicator__score,\n.ds-confidence-indicator--lg .ds-confidence-indicator__label {\n font-size: var(--font-size-base);\n}\n\n/* Confidence levels */\n.ds-confidence-indicator--high .ds-confidence-indicator__fill {\n background: var(--status-success);\n}\n\n.ds-confidence-indicator--high .ds-confidence-indicator__score {\n color: var(--status-success);\n}\n\n.ds-confidence-indicator--moderate .ds-confidence-indicator__fill {\n background: var(--status-info);\n}\n\n.ds-confidence-indicator--moderate .ds-confidence-indicator__score {\n color: var(--status-info);\n}\n\n.ds-confidence-indicator--low .ds-confidence-indicator__fill {\n background: var(--status-warning);\n}\n\n.ds-confidence-indicator--low .ds-confidence-indicator__score {\n color: var(--status-warning);\n}\n\n.ds-confidence-indicator--insufficient .ds-confidence-indicator__fill {\n background: var(--status-error);\n}\n\n.ds-confidence-indicator--insufficient .ds-confidence-indicator__score {\n color: var(--status-error);\n}\n","/* ============================================================================\n MBTIRadar — MBTI Personality Dimension Visualization\n ============================================================================ */\n\n.ds-mbti-radar {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-4);\n padding: var(--spacing-4);\n background: var(--glass-elevated);\n border: 1px solid var(--glass-border);\n border-radius: var(--radius-lg);\n}\n\n.ds-mbti-radar--invalid {\n min-height: 200px;\n}\n\n/* Header */\n.ds-mbti-radar__header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: var(--spacing-3);\n flex-wrap: wrap;\n}\n\n.ds-mbti-radar__header-text {\n flex: 1;\n min-width: 200px;\n}\n\n.ds-mbti-radar__header-badges {\n display: flex;\n gap: var(--spacing-2);\n flex-wrap: wrap;\n}\n\n.ds-mbti-radar__title {\n margin: 0;\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n}\n\n.ds-mbti-radar__subtitle {\n margin: var(--spacing-1) 0 0;\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n}\n\n/* Type Badge */\n.ds-mbti-radar__type-badge {\n display: flex;\n align-items: center;\n gap: var(--spacing-2);\n padding: var(--spacing-2) var(--spacing-3);\n background: var(--glass-base);\n border-radius: var(--radius-md);\n width: fit-content;\n}\n\n.ds-mbti-radar__type-label {\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n}\n\n.ds-mbti-radar__type-value {\n font-size: var(--font-size-xl);\n font-weight: var(--font-weight-bold);\n font-family: var(--font-family-mono);\n color: var(--brand-pink);\n}\n\n/* Chart Container */\n.ds-mbti-radar__chart {\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 auto;\n}\n\n/* Tooltip */\n.ds-mbti-radar__tooltip {\n background: var(--glass-elevated);\n border: 1px solid var(--glass-border);\n border-radius: var(--radius-md);\n padding: var(--spacing-3);\n box-shadow: var(--shadow-lg);\n}\n\n.ds-mbti-radar__tooltip-title {\n margin: 0 0 var(--spacing-2);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n}\n\n.ds-mbti-radar__tooltip-value {\n margin: 0;\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n}\n\n.ds-mbti-radar__tooltip-comparison {\n margin: var(--spacing-2) 0 0;\n font-size: var(--font-size-xs);\n color: var(--brand-yellow);\n}\n\n/* Dimension Bars */\n.ds-mbti-radar__dimensions {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-3);\n margin-top: var(--spacing-2);\n}\n\n.ds-mbti-radar__dimension {\n display: grid;\n grid-template-columns: 100px 1fr 100px;\n gap: var(--spacing-3);\n align-items: center;\n}\n\n.ds-mbti-radar__dimension-left,\n.ds-mbti-radar__dimension-right {\n font-size: var(--font-size-xs);\n color: var(--text-secondary);\n}\n\n.ds-mbti-radar__dimension-left {\n text-align: right;\n}\n\n.ds-mbti-radar__dimension-right {\n text-align: left;\n}\n\n.ds-mbti-radar__dimension-bar {\n position: relative;\n height: 8px;\n background: var(--glass-base);\n border-radius: var(--radius-full);\n overflow: visible;\n}\n\n.ds-mbti-radar__dimension-fill {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n background: linear-gradient(90deg, var(--brand-pink), var(--brand-yellow));\n border-radius: var(--radius-full);\n opacity: 0.4;\n}\n\n.ds-mbti-radar__dimension-marker {\n position: absolute;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 14px;\n height: 14px;\n background: var(--brand-pink);\n border: 2px solid var(--glass-elevated);\n border-radius: var(--radius-full);\n box-shadow: var(--shadow-sm);\n}\n\n/* Empty State */\n.ds-mbti-radar__empty {\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 200px;\n}\n\n/* Recharts overrides */\n.ds-mbti-radar .recharts-legend-item-text {\n color: var(--text-secondary) !important;\n font-size: var(--font-size-sm);\n}\n\n.ds-mbti-radar .recharts-polar-grid-angle line,\n.ds-mbti-radar .recharts-polar-grid-concentric circle {\n stroke: var(--glass-border);\n}\n","/* ============================================================================\n MBTITypeGrid — 16-Type MBTI Distribution Grid\n ============================================================================ */\n\n.ds-mbti-type-grid {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-4);\n padding: var(--spacing-4);\n background: var(--glass-elevated);\n border: 1px solid var(--glass-border);\n border-radius: var(--radius-lg);\n}\n\n.ds-mbti-type-grid--invalid {\n min-height: 200px;\n}\n\n/* Header */\n.ds-mbti-type-grid__header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: var(--spacing-3);\n flex-wrap: wrap;\n}\n\n.ds-mbti-type-grid__header-text {\n flex: 1;\n min-width: 200px;\n}\n\n.ds-mbti-type-grid__header-badges {\n display: flex;\n gap: var(--spacing-2);\n flex-wrap: wrap;\n}\n\n.ds-mbti-type-grid__title {\n margin: 0;\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n}\n\n.ds-mbti-type-grid__subtitle {\n margin: var(--spacing-1) 0 0;\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n}\n\n/* Grid Container */\n.ds-mbti-type-grid__container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-1);\n}\n\n/* Column Headers */\n.ds-mbti-type-grid__column-headers {\n display: grid;\n grid-template-columns: 48px repeat(4, 1fr);\n gap: var(--spacing-1);\n}\n\n.ds-mbti-type-grid__corner {\n /* Empty corner cell */\n}\n\n.ds-mbti-type-grid__column-header {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: var(--spacing-2);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-semibold);\n color: var(--text-tertiary);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n}\n\n/* Grid Rows */\n.ds-mbti-type-grid__row {\n display: grid;\n grid-template-columns: 48px repeat(4, 1fr);\n gap: var(--spacing-1);\n}\n\n.ds-mbti-type-grid__row-header {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: var(--spacing-2);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-semibold);\n color: var(--text-tertiary);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n}\n\n/* Cells */\n.ds-mbti-type-grid__cell {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-1);\n padding: var(--spacing-3);\n min-height: 80px;\n background: color-mix(in srgb, var(--brand-pink) var(--cell-intensity, 0%), var(--glass-base));\n border: 1px solid var(--glass-border);\n border-radius: var(--radius-md);\n cursor: default;\n transition:\n transform var(--duration-fast) var(--ease-out),\n border-color var(--duration-fast) var(--ease-out),\n box-shadow var(--duration-fast) var(--ease-out);\n}\n\n.ds-mbti-type-grid__cell--clickable {\n cursor: pointer;\n}\n\n.ds-mbti-type-grid__cell--clickable:hover {\n transform: translateY(-2px);\n border-color: var(--brand-pink);\n box-shadow: var(--shadow-md);\n}\n\n.ds-mbti-type-grid__cell--clickable:active {\n transform: translateY(0);\n}\n\n.ds-mbti-type-grid__cell--highlighted {\n border-color: var(--brand-yellow);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-yellow) 30%, transparent);\n}\n\n.ds-mbti-type-grid__cell--selected {\n border-color: var(--brand-pink);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-pink) 40%, transparent);\n}\n\n.ds-mbti-type-grid__cell-type {\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-bold);\n font-family: var(--font-family-mono);\n color: var(--text-primary);\n}\n\n.ds-mbti-type-grid__cell-count {\n font-size: var(--font-size-xs);\n color: var(--text-secondary);\n}\n\n.ds-mbti-type-grid__cell-percentage {\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-medium);\n color: var(--brand-pink);\n}\n\n/* Tooltip Content */\n.ds-mbti-type-grid__tooltip-content {\n text-align: left;\n}\n\n.ds-mbti-type-grid__tooltip-content strong {\n display: block;\n font-size: var(--font-size-md);\n margin-bottom: var(--spacing-1);\n}\n\n.ds-mbti-type-grid__tooltip-content p {\n margin: var(--spacing-1) 0;\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n}\n\n/* Legend */\n.ds-mbti-type-grid__legend {\n display: flex;\n flex-wrap: wrap;\n gap: var(--spacing-4);\n padding-top: var(--spacing-2);\n border-top: 1px solid var(--glass-border);\n}\n\n.ds-mbti-type-grid__legend-item {\n display: flex;\n align-items: center;\n gap: var(--spacing-2);\n}\n\n.ds-mbti-type-grid__legend-bar {\n width: 48px;\n height: 8px;\n border-radius: var(--radius-full);\n}\n\n.ds-mbti-type-grid__legend-bar--gradient {\n background: linear-gradient(90deg, var(--glass-base), var(--brand-pink));\n}\n\n.ds-mbti-type-grid__legend-bar--highlight {\n background: var(--brand-yellow);\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand-yellow) 30%, transparent);\n}\n\n.ds-mbti-type-grid__legend-label {\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n}\n\n/* Empty State */\n.ds-mbti-type-grid__empty {\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 200px;\n}\n\n/* Responsive */\n@media (max-width: 480px) {\n .ds-mbti-type-grid__cell {\n min-height: 60px;\n padding: var(--spacing-2);\n }\n\n .ds-mbti-type-grid__cell-type {\n font-size: var(--font-size-sm);\n }\n\n .ds-mbti-type-grid__cell-count,\n .ds-mbti-type-grid__cell-percentage {\n font-size: var(--font-size-2xs);\n }\n\n .ds-mbti-type-grid__column-header,\n .ds-mbti-type-grid__row-header {\n font-size: var(--font-size-2xs);\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,453 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { g as ChartIntent, j as ChartTypeId, M as MBTIType } from '../chart-types-BGVVO-zl.cjs';
|
|
4
|
+
|
|
5
|
+
interface ChartContainerProps<T = Record<string, unknown>> {
|
|
6
|
+
/** Chart title */
|
|
7
|
+
title?: string;
|
|
8
|
+
/** Chart subtitle/description */
|
|
9
|
+
subtitle?: string;
|
|
10
|
+
/** Chart height */
|
|
11
|
+
height?: number;
|
|
12
|
+
/** Chart data for validation */
|
|
13
|
+
data?: T[];
|
|
14
|
+
/** Required fields for data validation */
|
|
15
|
+
requiredFields?: string[];
|
|
16
|
+
/** Minimum sample size */
|
|
17
|
+
minSampleSize?: number;
|
|
18
|
+
/** Show data coverage badge */
|
|
19
|
+
showCoverage?: boolean;
|
|
20
|
+
/** Date range for coverage badge */
|
|
21
|
+
dateRange?: {
|
|
22
|
+
start: string;
|
|
23
|
+
end: string;
|
|
24
|
+
};
|
|
25
|
+
/** Loading state */
|
|
26
|
+
loading?: boolean;
|
|
27
|
+
/** Empty state message */
|
|
28
|
+
emptyMessage?: string;
|
|
29
|
+
/** Chart children (Recharts components) */
|
|
30
|
+
children: React__default.ReactNode;
|
|
31
|
+
/** Additional CSS class */
|
|
32
|
+
className?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* ChartContainer wraps charts with responsive sizing, theming, and data state handling.
|
|
36
|
+
* It enforces data contracts and shows appropriate states when data is invalid.
|
|
37
|
+
*/
|
|
38
|
+
declare function ChartContainer<T extends Record<string, unknown>>({ title, subtitle, height, data, requiredFields, minSampleSize, showCoverage, dateRange, loading, emptyMessage, children, className, ...props }: ChartContainerProps<T>): react_jsx_runtime.JSX.Element;
|
|
39
|
+
declare namespace ChartContainer {
|
|
40
|
+
var displayName: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
interface LineConfig {
|
|
44
|
+
/** Data key for the line */
|
|
45
|
+
key: string;
|
|
46
|
+
/** Display name */
|
|
47
|
+
name?: string;
|
|
48
|
+
/** Line color (CSS variable or hex) */
|
|
49
|
+
color?: string;
|
|
50
|
+
/** Dashed line */
|
|
51
|
+
dashed?: boolean;
|
|
52
|
+
/** Show dots on data points */
|
|
53
|
+
dot?: boolean;
|
|
54
|
+
}
|
|
55
|
+
interface LineChartProps<T = Record<string, unknown>> {
|
|
56
|
+
/** Chart data */
|
|
57
|
+
data: T[];
|
|
58
|
+
/** X-axis data key */
|
|
59
|
+
xKey: string;
|
|
60
|
+
/** Line configurations */
|
|
61
|
+
lines: LineConfig[];
|
|
62
|
+
/** Chart title */
|
|
63
|
+
title?: string;
|
|
64
|
+
/** Chart subtitle */
|
|
65
|
+
subtitle?: string;
|
|
66
|
+
/** Chart height */
|
|
67
|
+
height?: number;
|
|
68
|
+
/** Show grid lines */
|
|
69
|
+
grid?: boolean;
|
|
70
|
+
/** Show legend */
|
|
71
|
+
legend?: boolean;
|
|
72
|
+
/** Curve type */
|
|
73
|
+
curve?: 'linear' | 'monotone' | 'step';
|
|
74
|
+
/** Custom tooltip formatter */
|
|
75
|
+
tooltipFormatter?: (value: number, name: string) => string;
|
|
76
|
+
/** Minimum sample size */
|
|
77
|
+
minSampleSize?: number;
|
|
78
|
+
/** Date range */
|
|
79
|
+
dateRange?: {
|
|
80
|
+
start: string;
|
|
81
|
+
end: string;
|
|
82
|
+
};
|
|
83
|
+
/** Additional CSS class */
|
|
84
|
+
className?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* LineChart displays time-series or trend data.
|
|
88
|
+
* Requires minimum 7 data points for meaningful visualization.
|
|
89
|
+
*/
|
|
90
|
+
declare function LineChart<T extends Record<string, unknown>>({ data, xKey, lines, title, subtitle, height, grid, legend: showLegend, curve, minSampleSize, dateRange, className, }: LineChartProps<T>): react_jsx_runtime.JSX.Element;
|
|
91
|
+
declare namespace LineChart {
|
|
92
|
+
var displayName: string;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
interface BarConfig {
|
|
96
|
+
/** Data key for the bar */
|
|
97
|
+
key: string;
|
|
98
|
+
/** Display name */
|
|
99
|
+
name?: string;
|
|
100
|
+
/** Bar color (CSS variable or hex) */
|
|
101
|
+
color?: string;
|
|
102
|
+
/** Stack ID for stacked bars */
|
|
103
|
+
stackId?: string;
|
|
104
|
+
}
|
|
105
|
+
interface BarChartProps<T = Record<string, unknown>> {
|
|
106
|
+
/** Chart data */
|
|
107
|
+
data: T[];
|
|
108
|
+
/** X-axis data key (category key) */
|
|
109
|
+
xKey: string;
|
|
110
|
+
/** Bar configurations */
|
|
111
|
+
bars: BarConfig[];
|
|
112
|
+
/** Chart title */
|
|
113
|
+
title?: string;
|
|
114
|
+
/** Chart subtitle */
|
|
115
|
+
subtitle?: string;
|
|
116
|
+
/** Chart height */
|
|
117
|
+
height?: number;
|
|
118
|
+
/** Layout direction */
|
|
119
|
+
layout?: 'horizontal' | 'vertical';
|
|
120
|
+
/** Show grid lines */
|
|
121
|
+
grid?: boolean;
|
|
122
|
+
/** Show legend */
|
|
123
|
+
legend?: boolean;
|
|
124
|
+
/** Bar corner radius */
|
|
125
|
+
radius?: number;
|
|
126
|
+
/** Show value labels on bars */
|
|
127
|
+
showLabels?: boolean;
|
|
128
|
+
/** Custom tooltip formatter */
|
|
129
|
+
tooltipFormatter?: (value: number, name: string) => string;
|
|
130
|
+
/** Minimum sample size */
|
|
131
|
+
minSampleSize?: number;
|
|
132
|
+
/** Use category colors (different color per bar in single series) */
|
|
133
|
+
categoryColors?: string[];
|
|
134
|
+
/** Additional CSS class */
|
|
135
|
+
className?: string;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* BarChart displays comparisons and distributions.
|
|
139
|
+
* Requires minimum 5 categories for meaningful visualization.
|
|
140
|
+
*/
|
|
141
|
+
declare function BarChart<T extends Record<string, unknown>>({ data, xKey, bars, title, subtitle, height, layout, grid, legend: showLegend, radius, showLabels, minSampleSize, categoryColors, className, }: BarChartProps<T>): react_jsx_runtime.JSX.Element;
|
|
142
|
+
declare namespace BarChart {
|
|
143
|
+
var displayName: string;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
interface PieChartDataItem {
|
|
147
|
+
name: string;
|
|
148
|
+
value: number;
|
|
149
|
+
color?: string;
|
|
150
|
+
}
|
|
151
|
+
interface PieChartProps {
|
|
152
|
+
/** Chart data */
|
|
153
|
+
data: PieChartDataItem[];
|
|
154
|
+
/** Chart title */
|
|
155
|
+
title?: string;
|
|
156
|
+
/** Chart subtitle */
|
|
157
|
+
subtitle?: string;
|
|
158
|
+
/** Chart height */
|
|
159
|
+
height?: number;
|
|
160
|
+
/** Inner radius for donut effect (0 = pie, >0 = donut) */
|
|
161
|
+
innerRadius?: number;
|
|
162
|
+
/** Outer radius */
|
|
163
|
+
outerRadius?: number;
|
|
164
|
+
/** Show labels */
|
|
165
|
+
showLabels?: boolean;
|
|
166
|
+
/** Label type */
|
|
167
|
+
labelType?: 'percent' | 'value' | 'name';
|
|
168
|
+
/** Show legend */
|
|
169
|
+
legend?: boolean;
|
|
170
|
+
/** Custom tooltip formatter */
|
|
171
|
+
tooltipFormatter?: (value: number, name: string) => string;
|
|
172
|
+
/** Minimum sample size (total of all values) */
|
|
173
|
+
minSampleSize?: number;
|
|
174
|
+
/** Additional CSS class */
|
|
175
|
+
className?: string;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* PieChart displays proportions and compositions.
|
|
179
|
+
* Requires minimum 3 segments and n > 30 for meaningful visualization.
|
|
180
|
+
*/
|
|
181
|
+
declare function PieChart({ data, title, subtitle, height, innerRadius, outerRadius, showLabels, labelType, legend: showLegend, minSampleSize, className, }: PieChartProps): react_jsx_runtime.JSX.Element;
|
|
182
|
+
declare namespace PieChart {
|
|
183
|
+
var displayName: string;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
interface FunnelStage {
|
|
187
|
+
/** Stage name */
|
|
188
|
+
name: string;
|
|
189
|
+
/** Value/count at this stage */
|
|
190
|
+
value: number;
|
|
191
|
+
/** Optional color override */
|
|
192
|
+
color?: string;
|
|
193
|
+
}
|
|
194
|
+
interface FunnelChartProps {
|
|
195
|
+
/** Funnel stages (min 3 required) */
|
|
196
|
+
stages: FunnelStage[];
|
|
197
|
+
/** Chart title */
|
|
198
|
+
title?: string;
|
|
199
|
+
/** Chart subtitle */
|
|
200
|
+
subtitle?: string;
|
|
201
|
+
/** Show conversion rates between stages */
|
|
202
|
+
showConversionRates?: boolean;
|
|
203
|
+
/** Show drop-off percentages */
|
|
204
|
+
showDropOff?: boolean;
|
|
205
|
+
/** Show value labels */
|
|
206
|
+
showValues?: boolean;
|
|
207
|
+
/** Height in pixels */
|
|
208
|
+
height?: number;
|
|
209
|
+
/** Additional CSS class */
|
|
210
|
+
className?: string;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* FunnelChart visualizes conversion funnels and drop-off rates.
|
|
214
|
+
* Requires minimum 3 stages for meaningful visualization.
|
|
215
|
+
*/
|
|
216
|
+
declare function FunnelChart({ stages, title, subtitle, showConversionRates, showDropOff, showValues, height, className, }: FunnelChartProps): react_jsx_runtime.JSX.Element;
|
|
217
|
+
declare namespace FunnelChart {
|
|
218
|
+
var displayName: string;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
interface HeatmapCell {
|
|
222
|
+
/** X-axis value (column) */
|
|
223
|
+
x: string;
|
|
224
|
+
/** Y-axis value (row) */
|
|
225
|
+
y: string;
|
|
226
|
+
/** Cell value */
|
|
227
|
+
value: number;
|
|
228
|
+
}
|
|
229
|
+
interface HeatmapChartProps {
|
|
230
|
+
/** Heatmap data */
|
|
231
|
+
data: HeatmapCell[];
|
|
232
|
+
/** Chart title */
|
|
233
|
+
title?: string;
|
|
234
|
+
/** Chart subtitle */
|
|
235
|
+
subtitle?: string;
|
|
236
|
+
/** X-axis label */
|
|
237
|
+
xLabel?: string;
|
|
238
|
+
/** Y-axis label */
|
|
239
|
+
yLabel?: string;
|
|
240
|
+
/** Color scale (low to high) */
|
|
241
|
+
colorScale?: [string, string];
|
|
242
|
+
/** Show cell values */
|
|
243
|
+
showValues?: boolean;
|
|
244
|
+
/** Value formatter */
|
|
245
|
+
valueFormatter?: (value: number) => string;
|
|
246
|
+
/** Minimum cells required */
|
|
247
|
+
minCells?: number;
|
|
248
|
+
/** Additional CSS class */
|
|
249
|
+
className?: string;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* HeatmapChart visualizes density and correlation data.
|
|
253
|
+
* Requires minimum 25 cells for meaningful visualization.
|
|
254
|
+
*/
|
|
255
|
+
declare function HeatmapChart({ data, title, subtitle, xLabel, yLabel, colorScale, showValues, valueFormatter, minCells, className, }: HeatmapChartProps): react_jsx_runtime.JSX.Element;
|
|
256
|
+
declare namespace HeatmapChart {
|
|
257
|
+
var displayName: string;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
interface ChartDimension {
|
|
261
|
+
/** Field key in data */
|
|
262
|
+
key: string;
|
|
263
|
+
/** Display label */
|
|
264
|
+
label?: string;
|
|
265
|
+
/** Is this a time dimension */
|
|
266
|
+
isTime?: boolean;
|
|
267
|
+
}
|
|
268
|
+
interface ChartMeasure {
|
|
269
|
+
/** Field key in data */
|
|
270
|
+
key: string;
|
|
271
|
+
/** Display label */
|
|
272
|
+
label?: string;
|
|
273
|
+
/** Color (CSS variable or hex) */
|
|
274
|
+
color?: string;
|
|
275
|
+
/** Stack group ID */
|
|
276
|
+
stackId?: string;
|
|
277
|
+
}
|
|
278
|
+
interface ChartProps<T = Record<string, unknown>> {
|
|
279
|
+
/** Semantic intent of the visualization */
|
|
280
|
+
intent: ChartIntent;
|
|
281
|
+
/** Chart data */
|
|
282
|
+
data: T[];
|
|
283
|
+
/** Dimension fields (categories, time axis) */
|
|
284
|
+
dimensions: ChartDimension[];
|
|
285
|
+
/** Measure fields (values to visualize) */
|
|
286
|
+
measures: ChartMeasure[];
|
|
287
|
+
/** Default chart type */
|
|
288
|
+
defaultType?: ChartTypeId;
|
|
289
|
+
/** Allowed chart types for switching (defaults to all MVP types in family) */
|
|
290
|
+
allowedTypes?: ChartTypeId[];
|
|
291
|
+
/** Controlled chart type */
|
|
292
|
+
chartType?: ChartTypeId;
|
|
293
|
+
/** Callback when chart type changes */
|
|
294
|
+
onChartTypeChange?: (type: ChartTypeId) => void;
|
|
295
|
+
/** Allow user to switch chart types */
|
|
296
|
+
allowSwitching?: boolean;
|
|
297
|
+
/** Chart title */
|
|
298
|
+
title?: string;
|
|
299
|
+
/** Chart subtitle */
|
|
300
|
+
subtitle?: string;
|
|
301
|
+
/** Chart height */
|
|
302
|
+
height?: number;
|
|
303
|
+
/** Show legend */
|
|
304
|
+
legend?: boolean;
|
|
305
|
+
/** Show grid */
|
|
306
|
+
grid?: boolean;
|
|
307
|
+
/** Additional CSS class */
|
|
308
|
+
className?: string;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Chart is the unified abstraction layer for all visualizations.
|
|
312
|
+
*
|
|
313
|
+
* It provides:
|
|
314
|
+
* - Intent-based chart selection
|
|
315
|
+
* - Data contract validation
|
|
316
|
+
* - Governed chart switching within semantic families
|
|
317
|
+
* - Consistent theming and accessibility
|
|
318
|
+
*
|
|
319
|
+
* @example
|
|
320
|
+
* ```tsx
|
|
321
|
+
* <Chart
|
|
322
|
+
* intent="trend"
|
|
323
|
+
* data={timeSeriesData}
|
|
324
|
+
* dimensions={[{ key: 'date', isTime: true }]}
|
|
325
|
+
* measures={[{ key: 'revenue', label: 'Revenue' }]}
|
|
326
|
+
* defaultType="line"
|
|
327
|
+
* allowSwitching
|
|
328
|
+
* />
|
|
329
|
+
* ```
|
|
330
|
+
*/
|
|
331
|
+
declare function Chart<T extends Record<string, unknown>>({ intent, data, dimensions, measures, defaultType, allowedTypes, chartType: controlledType, onChartTypeChange, allowSwitching, title, subtitle, height, legend: showLegend, grid, className, }: ChartProps<T>): react_jsx_runtime.JSX.Element;
|
|
332
|
+
declare namespace Chart {
|
|
333
|
+
var displayName: string;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
interface ChartSwitchControlProps {
|
|
337
|
+
/** Currently selected chart type */
|
|
338
|
+
currentType: ChartTypeId;
|
|
339
|
+
/** Allowed chart types for switching */
|
|
340
|
+
allowedTypes: ChartTypeId[];
|
|
341
|
+
/** Callback when type changes */
|
|
342
|
+
onTypeChange: (type: ChartTypeId) => void;
|
|
343
|
+
/** Size variant */
|
|
344
|
+
size?: 'sm' | 'md';
|
|
345
|
+
/** Additional CSS class */
|
|
346
|
+
className?: string;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* ChartSwitchControl allows users to switch between allowed chart types
|
|
350
|
+
* within the same semantic family.
|
|
351
|
+
*/
|
|
352
|
+
declare function ChartSwitchControl({ currentType, allowedTypes, onTypeChange, size, className, }: ChartSwitchControlProps): react_jsx_runtime.JSX.Element | null;
|
|
353
|
+
declare namespace ChartSwitchControl {
|
|
354
|
+
var displayName: string;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* MBTI dimension scores representing preference strengths.
|
|
359
|
+
* Values should be 0-100 where 50 is neutral.
|
|
360
|
+
*/
|
|
361
|
+
interface MBTIDimensions {
|
|
362
|
+
/** Extraversion (0) vs Introversion (100) */
|
|
363
|
+
EI: number;
|
|
364
|
+
/** Sensing (0) vs Intuition (100) */
|
|
365
|
+
SN: number;
|
|
366
|
+
/** Thinking (0) vs Feeling (100) */
|
|
367
|
+
TF: number;
|
|
368
|
+
/** Judging (0) vs Perceiving (100) */
|
|
369
|
+
JP: number;
|
|
370
|
+
}
|
|
371
|
+
interface MBTIRadarProps {
|
|
372
|
+
/** MBTI dimension scores */
|
|
373
|
+
dimensions: MBTIDimensions;
|
|
374
|
+
/** Sample size for confidence calculation */
|
|
375
|
+
sampleSize: number;
|
|
376
|
+
/** Optional comparison dimensions (e.g., benchmark) */
|
|
377
|
+
comparison?: MBTIDimensions;
|
|
378
|
+
/** Chart title */
|
|
379
|
+
title?: string;
|
|
380
|
+
/** Chart subtitle */
|
|
381
|
+
subtitle?: string;
|
|
382
|
+
/** Chart size */
|
|
383
|
+
size?: number;
|
|
384
|
+
/** Show dimension labels */
|
|
385
|
+
showLabels?: boolean;
|
|
386
|
+
/** Show values on hover */
|
|
387
|
+
showValues?: boolean;
|
|
388
|
+
/** Minimum sample size (default: 20) */
|
|
389
|
+
minSampleSize?: number;
|
|
390
|
+
/** Confidence score (0-100) */
|
|
391
|
+
confidence?: number;
|
|
392
|
+
/** Additional CSS class */
|
|
393
|
+
className?: string;
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* MBTIRadar visualizes personality dimension scores as a radar chart.
|
|
397
|
+
* Requires minimum 20 samples for meaningful visualization.
|
|
398
|
+
*
|
|
399
|
+
* Each dimension is scored 0-100:
|
|
400
|
+
* - EI: 0 = Extraversion, 100 = Introversion
|
|
401
|
+
* - SN: 0 = Sensing, 100 = Intuition
|
|
402
|
+
* - TF: 0 = Thinking, 100 = Feeling
|
|
403
|
+
* - JP: 0 = Judging, 100 = Perceiving
|
|
404
|
+
*/
|
|
405
|
+
declare function MBTIRadar({ dimensions, sampleSize, comparison, title, subtitle, size, showLabels, showValues, minSampleSize, confidence, className, }: MBTIRadarProps): react_jsx_runtime.JSX.Element;
|
|
406
|
+
declare namespace MBTIRadar {
|
|
407
|
+
var displayName: string;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
interface MBTITypeCount {
|
|
411
|
+
/** MBTI type */
|
|
412
|
+
type: MBTIType;
|
|
413
|
+
/** Count of individuals with this type */
|
|
414
|
+
count: number;
|
|
415
|
+
/** Optional response rate for this type */
|
|
416
|
+
responseRate?: number;
|
|
417
|
+
}
|
|
418
|
+
interface MBTITypeGridProps {
|
|
419
|
+
/** Distribution of MBTI types */
|
|
420
|
+
data: MBTITypeCount[];
|
|
421
|
+
/** Total sample size (sum of all counts) */
|
|
422
|
+
sampleSize?: number;
|
|
423
|
+
/** Chart title */
|
|
424
|
+
title?: string;
|
|
425
|
+
/** Chart subtitle */
|
|
426
|
+
subtitle?: string;
|
|
427
|
+
/** Show percentage labels */
|
|
428
|
+
showPercentages?: boolean;
|
|
429
|
+
/** Show count labels */
|
|
430
|
+
showCounts?: boolean;
|
|
431
|
+
/** Highlight types above this threshold (percentage) */
|
|
432
|
+
highlightThreshold?: number;
|
|
433
|
+
/** Minimum sample size (default: 50) */
|
|
434
|
+
minSampleSize?: number;
|
|
435
|
+
/** Confidence score (0-100) */
|
|
436
|
+
confidence?: number;
|
|
437
|
+
/** Click handler for type selection */
|
|
438
|
+
onTypeClick?: (type: MBTIType) => void;
|
|
439
|
+
/** Currently selected type */
|
|
440
|
+
selectedType?: MBTIType;
|
|
441
|
+
/** Additional CSS class */
|
|
442
|
+
className?: string;
|
|
443
|
+
}
|
|
444
|
+
/**
|
|
445
|
+
* MBTITypeGrid displays the distribution of all 16 MBTI types in a 4x4 grid.
|
|
446
|
+
* Requires minimum 50 samples for meaningful visualization.
|
|
447
|
+
*/
|
|
448
|
+
declare function MBTITypeGrid({ data, sampleSize: propSampleSize, title, subtitle, showPercentages, showCounts, highlightThreshold, minSampleSize, confidence, onTypeClick, selectedType, className, }: MBTITypeGridProps): react_jsx_runtime.JSX.Element;
|
|
449
|
+
declare namespace MBTITypeGrid {
|
|
450
|
+
var displayName: string;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
export { BarChart, type BarChartProps, type BarConfig, Chart, ChartContainer, type ChartContainerProps, type ChartDimension, type ChartMeasure, type ChartProps, ChartSwitchControl, type ChartSwitchControlProps, FunnelChart, type FunnelChartProps, type FunnelStage, type HeatmapCell, HeatmapChart, type HeatmapChartProps, LineChart, type LineChartProps, type LineConfig, type MBTIDimensions, MBTIRadar, type MBTIRadarProps, type MBTITypeCount, MBTITypeGrid, type MBTITypeGridProps, PieChart, type PieChartDataItem, type PieChartProps };
|