@eric-emg/symphiq-components 1.2.132 → 1.2.133
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/index.d.ts +36 -36
- package/package.json +1 -1
- package/src/styles.css +318 -318
- package/styles.css +13 -13
package/index.d.ts
CHANGED
|
@@ -1286,10 +1286,10 @@ declare class SymphiqFunnelAnalysisDashboardComponent implements AfterViewInit {
|
|
|
1286
1286
|
*/
|
|
1287
1287
|
private chartsById;
|
|
1288
1288
|
headerClass: _angular_core.Signal<string>;
|
|
1289
|
-
headerTitleClass: _angular_core.Signal<"text-
|
|
1290
|
-
headerSubtitleClass: _angular_core.Signal<"text-slate-
|
|
1289
|
+
headerTitleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
1290
|
+
headerSubtitleClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
1291
1291
|
metaLabelClass: _angular_core.Signal<"text-slate-600" | "text-slate-500">;
|
|
1292
|
-
sectionTitleClass: _angular_core.Signal<"text-
|
|
1292
|
+
sectionTitleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
1293
1293
|
selectClass: _angular_core.Signal<"bg-white text-slate-900 border-slate-300 hover:border-blue-400 transition-all duration-200" | "bg-slate-700 text-white border-slate-600 hover:border-slate-500 transition-all duration-200">;
|
|
1294
1294
|
sortButtonClass: _angular_core.Signal<"bg-white text-slate-900 border border-slate-300 hover:bg-blue-50 hover:border-blue-400 hover:text-blue-600 transition-all duration-200" | "bg-slate-700 text-white border border-slate-600 hover:bg-slate-600 hover:border-slate-500 transition-all duration-200">;
|
|
1295
1295
|
formattedGeneratedDate: _angular_core.Signal<string | null>;
|
|
@@ -1452,9 +1452,9 @@ declare class MetricCardComponent {
|
|
|
1452
1452
|
competitiveScoreBadgeLightClass: _angular_core.Signal<string>;
|
|
1453
1453
|
competitiveScoreBadgeDarkClass: _angular_core.Signal<string>;
|
|
1454
1454
|
competitiveScoreBadgeClass: _angular_core.Signal<string>;
|
|
1455
|
-
competitiveScoreTextClass: _angular_core.Signal<"
|
|
1456
|
-
competitiveComparisonDefaultClass: _angular_core.Signal<"text-slate-
|
|
1457
|
-
competitiveComparisonClass: _angular_core.Signal<"text-slate-
|
|
1455
|
+
competitiveScoreTextClass: _angular_core.Signal<"" | "text-emerald-600" | "text-blue-700" | "text-blue-400" | "text-orange-600">;
|
|
1456
|
+
competitiveComparisonDefaultClass: _angular_core.Signal<"text-slate-700" | "text-slate-300">;
|
|
1457
|
+
competitiveComparisonClass: _angular_core.Signal<"text-slate-700" | "text-slate-300" | "text-emerald-600 font-semibold" | "text-orange-600 font-semibold">;
|
|
1458
1458
|
getCompetitiveScoreIcon(): string;
|
|
1459
1459
|
getCompetitiveScoreLabel(): string;
|
|
1460
1460
|
getCompetitiveScoreLabelFull(): string;
|
|
@@ -1695,10 +1695,10 @@ declare class OverallAssessmentComponent {
|
|
|
1695
1695
|
revenueTrendArrowPath: _angular_core.Signal<"M5.293 9.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 7.414V15a1 1 0 11-2 0V7.414L6.707 9.707a1 1 0 01-1.414 0z" | "M14.707 10.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 12.586V5a1 1 0 012 0v7.586l2.293-2.293a1 1 0 011.414 0z" | "M3 10h11m0 0l-4-4m4 4l-4 4">;
|
|
1696
1696
|
lightModeTrendIconClass: _angular_core.Signal<"text-emerald-600" | "text-red-600">;
|
|
1697
1697
|
darkModeTrendIconClass: _angular_core.Signal<"text-emerald-400" | "text-red-400">;
|
|
1698
|
-
trendIconClass: _angular_core.Signal<"text-emerald-
|
|
1698
|
+
trendIconClass: _angular_core.Signal<"text-emerald-600" | "text-emerald-400" | "text-red-600" | "text-red-400">;
|
|
1699
1699
|
lightModeTrendValueClass: _angular_core.Signal<"text-emerald-600" | "text-red-600">;
|
|
1700
1700
|
darkModeTrendValueClass: _angular_core.Signal<"text-emerald-400" | "text-red-400">;
|
|
1701
|
-
trendValueClass: _angular_core.Signal<"text-emerald-
|
|
1701
|
+
trendValueClass: _angular_core.Signal<"text-emerald-600" | "text-emerald-400" | "text-red-600" | "text-red-400">;
|
|
1702
1702
|
formattedRevenueTrend: _angular_core.Signal<string>;
|
|
1703
1703
|
formattedRevenueTarget: _angular_core.Signal<string>;
|
|
1704
1704
|
hasRevenuePacing: _angular_core.Signal<boolean>;
|
|
@@ -2407,7 +2407,7 @@ declare class BusinessAnalysisModalComponent implements OnInit {
|
|
|
2407
2407
|
navigationStack: _angular_core.WritableSignal<ItemDetailModalData[]>;
|
|
2408
2408
|
itemDetailData: _angular_core.Signal<ItemDetailModalData | null>;
|
|
2409
2409
|
previousState: _angular_core.WritableSignal<any>;
|
|
2410
|
-
visualizationType: _angular_core.Signal<"
|
|
2410
|
+
visualizationType: _angular_core.Signal<"horizontal-bar" | "circular-progress" | "napkin-visual" | "custom" | null>;
|
|
2411
2411
|
horizontalBarData: _angular_core.Signal<{
|
|
2412
2412
|
percentage: number;
|
|
2413
2413
|
label: string;
|
|
@@ -2760,32 +2760,32 @@ declare class MetricExecutiveSummaryComponent {
|
|
|
2760
2760
|
protected isDark: _angular_core.Signal<boolean>;
|
|
2761
2761
|
protected bannerClasses: _angular_core.Signal<"bg-gradient-to-br from-slate-800/50 to-slate-800/30 border border-slate-700/50" | "bg-gradient-to-br from-white to-slate-50/50 border border-slate-200">;
|
|
2762
2762
|
protected titleClasses: _angular_core.Signal<"text-slate-900" | "text-slate-100">;
|
|
2763
|
-
protected textClasses: _angular_core.Signal<"text-slate-
|
|
2763
|
+
protected textClasses: _angular_core.Signal<"text-slate-700" | "text-slate-300">;
|
|
2764
2764
|
protected iconClasses: _angular_core.Signal<"text-blue-400" | "text-blue-600">;
|
|
2765
2765
|
protected healthBadgeClasses: _angular_core.Signal<string>;
|
|
2766
2766
|
protected pacingBadgeClasses: _angular_core.Signal<string>;
|
|
2767
2767
|
protected metricCardClasses: _angular_core.Signal<"bg-white border border-slate-200" | "bg-slate-800/50 border border-slate-700/50">;
|
|
2768
|
-
protected metricLabelClasses: _angular_core.Signal<"text-slate-
|
|
2768
|
+
protected metricLabelClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2769
2769
|
protected metricValueClasses: _angular_core.Signal<"text-slate-900" | "text-slate-100">;
|
|
2770
|
-
protected yoyChangeClasses: _angular_core.Signal<"text-slate-
|
|
2770
|
+
protected yoyChangeClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400" | "text-emerald-600" | "text-emerald-400" | "text-red-600" | "text-red-400">;
|
|
2771
2771
|
protected getYoyIcon(): string;
|
|
2772
2772
|
protected getPacingValueClasses(): string;
|
|
2773
2773
|
protected getHealthValueClasses(): string;
|
|
2774
2774
|
protected narrativeClasses: _angular_core.Signal<"bg-white border border-slate-200" | "bg-slate-800/50 border border-slate-600/20">;
|
|
2775
2775
|
protected narrativeTitleClasses: _angular_core.Signal<"text-slate-200" | "text-slate-800">;
|
|
2776
|
-
protected narrativeTextClasses: _angular_core.Signal<"text-slate-
|
|
2776
|
+
protected narrativeTextClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2777
2777
|
protected sectionTitleClasses: _angular_core.Signal<"text-slate-900" | "text-slate-100">;
|
|
2778
2778
|
protected priorityCardClasses: _angular_core.Signal<"bg-slate-800/50 border border-slate-700/50 hover:border-slate-600/70" | "bg-white border border-slate-200 hover:border-slate-300">;
|
|
2779
2779
|
protected priorityNumberClasses: _angular_core.Signal<"bg-blue-500/20 text-blue-300" | "bg-blue-100 text-blue-800">;
|
|
2780
2780
|
protected priorityTitleClasses: _angular_core.Signal<"text-slate-900" | "text-slate-100">;
|
|
2781
|
-
protected priorityTextClasses: _angular_core.Signal<"text-slate-
|
|
2781
|
+
protected priorityTextClasses: _angular_core.Signal<"text-slate-700" | "text-slate-300">;
|
|
2782
2782
|
protected impactBoxClasses: _angular_core.Signal<"bg-slate-800/30 border border-slate-700/30" | "bg-slate-50/50 border border-slate-200">;
|
|
2783
2783
|
protected impactLabelClasses: _angular_core.Signal<"text-blue-400" | "text-blue-600">;
|
|
2784
|
-
protected impactTextClasses: _angular_core.Signal<"text-slate-
|
|
2784
|
+
protected impactTextClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2785
2785
|
protected quickWinCardClasses: _angular_core.Signal<"bg-white border border-slate-200" | "bg-slate-800/50 border border-slate-700/50">;
|
|
2786
2786
|
protected numberBadgeClasses: _angular_core.Signal<"bg-blue-500/20 text-blue-300" | "bg-blue-100 text-blue-800">;
|
|
2787
2787
|
protected quickWinTextClasses: _angular_core.Signal<"text-slate-900" | "text-slate-100">;
|
|
2788
|
-
protected metaTextClasses: _angular_core.Signal<"text-slate-
|
|
2788
|
+
protected metaTextClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2789
2789
|
protected getEffortBadgeClasses(effort: string | undefined): string;
|
|
2790
2790
|
protected getImpactBadgeClasses(impact: string | undefined): string;
|
|
2791
2791
|
protected formatLabel(str: string | undefined): string;
|
|
@@ -2946,18 +2946,18 @@ declare class SearchModalComponent {
|
|
|
2946
2946
|
clearButtonClass: _angular_core.Signal<"bg-slate-100 text-slate-600 hover:bg-slate-200" | "bg-slate-700 text-slate-300 hover:bg-slate-600">;
|
|
2947
2947
|
closeButtonClass: _angular_core.Signal<"text-slate-400 hover:text-slate-600 hover:bg-slate-100" | "text-slate-500 hover:text-slate-300 hover:bg-slate-700">;
|
|
2948
2948
|
resultsContainerClass: _angular_core.Signal<"border-slate-200" | "border-slate-700">;
|
|
2949
|
-
resultTitleClass: _angular_core.Signal<"text-
|
|
2950
|
-
resultDescClass: _angular_core.Signal<"text-slate-
|
|
2949
|
+
resultTitleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
2950
|
+
resultDescClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2951
2951
|
breadcrumbClass: _angular_core.Signal<string>;
|
|
2952
|
-
typeBadgeClass: _angular_core.Signal<"bg-slate-
|
|
2952
|
+
typeBadgeClass: _angular_core.Signal<"bg-slate-100 text-slate-600" | "bg-slate-700 text-slate-300">;
|
|
2953
2953
|
arrowClass: _angular_core.Signal<"text-slate-400" | "text-slate-500">;
|
|
2954
2954
|
emptyStateClass: _angular_core.Signal<"border-slate-200" | "border-slate-700">;
|
|
2955
2955
|
emptyIconClass: _angular_core.Signal<"text-slate-600" | "text-slate-300">;
|
|
2956
|
-
emptyTitleClass: _angular_core.Signal<"text-
|
|
2957
|
-
emptyDescClass: _angular_core.Signal<"text-slate-
|
|
2956
|
+
emptyTitleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
2957
|
+
emptyDescClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2958
2958
|
shortcutsClass: _angular_core.Signal<"bg-slate-900/50 border-slate-700" | "bg-slate-50 border-slate-200">;
|
|
2959
2959
|
kbdClass: _angular_core.Signal<"bg-white border border-slate-300 text-slate-700 shadow-sm" | "bg-slate-700 border border-slate-600 text-slate-300">;
|
|
2960
|
-
shortcutTextClass: _angular_core.Signal<"text-slate-
|
|
2960
|
+
shortcutTextClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2961
2961
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchModalComponent, never>;
|
|
2962
2962
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchModalComponent, "symphiq-search-modal", never, { "isLightMode": { "alias": "isLightMode"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "searchQuery": { "alias": "searchQuery"; "required": false; "isSignal": true; }; "results": { "alias": "results"; "required": false; "isSignal": true; }; "hasResults": { "alias": "hasResults"; "required": false; "isSignal": true; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "searchChange": "searchChange"; "resultSelected": "resultSelected"; "close": "close"; }, never, never, true, never>;
|
|
2963
2963
|
}
|
|
@@ -2977,7 +2977,7 @@ declare class GradeBadgeComponent {
|
|
|
2977
2977
|
explanation: string;
|
|
2978
2978
|
}>;
|
|
2979
2979
|
private formatGrade;
|
|
2980
|
-
badgeLabelClass: _angular_core.Signal<"text-slate-
|
|
2980
|
+
badgeLabelClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
2981
2981
|
gradeBadgeClass: _angular_core.Signal<string>;
|
|
2982
2982
|
private getGradeBadgeClassLight;
|
|
2983
2983
|
private getGradeBadgeClassDark;
|
|
@@ -3052,15 +3052,15 @@ declare class ConfidenceLevelCardComponent implements OnInit, OnDestroy {
|
|
|
3052
3052
|
protected cardContainerClasses: _angular_core.Signal<"border-2 shadow-2xl bg-slate-800/60 border-slate-700/50 backdrop-blur-xl" | "border-2 shadow-2xl bg-white/90 border-slate-200/50 backdrop-blur-xl shadow-slate-200/50">;
|
|
3053
3053
|
protected backgroundOverlayClasses: _angular_core.Signal<"bg-gradient-to-br from-emerald-500/30 via-teal-500/20 to-emerald-500/30" | "bg-gradient-to-br from-emerald-400/20 via-teal-400/10 to-emerald-400/20" | "bg-gradient-to-br from-blue-500/30 via-cyan-500/20 to-blue-500/30" | "bg-gradient-to-br from-blue-400/20 via-cyan-400/10 to-blue-400/20" | "bg-gradient-to-br from-orange-500/30 via-amber-500/20 to-orange-500/30" | "bg-gradient-to-br from-orange-400/20 via-amber-400/10 to-orange-400/20" | "bg-gradient-to-br from-red-500/30 via-rose-500/20 to-red-500/30" | "bg-gradient-to-br from-red-400/20 via-rose-400/10 to-red-400/20">;
|
|
3054
3054
|
protected titleClasses: _angular_core.Signal<"text-white" | "bg-gradient-to-r from-slate-700 to-slate-900 bg-clip-text text-transparent">;
|
|
3055
|
-
protected subtitleClasses: _angular_core.Signal<"text-slate-
|
|
3055
|
+
protected subtitleClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
3056
3056
|
protected gradeBadgeContainerClasses: _angular_core.Signal<string>;
|
|
3057
3057
|
protected glowEffectClasses: _angular_core.Signal<"bg-emerald-500" | "bg-blue-500" | "bg-orange-500" | "bg-red-500">;
|
|
3058
3058
|
protected gradeBadgeClasses: _angular_core.Signal<"bg-gradient-to-br from-emerald-500/30 to-teal-500/30 border-2 border-emerald-500/50 shadow-[0_0_20px_rgba(16,185,129,0.3)]" | "bg-gradient-to-br from-emerald-50 to-teal-50 border-2 border-emerald-300/50 shadow-[0_0_20px_rgba(16,185,129,0.2)]" | "bg-gradient-to-br from-blue-500/30 to-cyan-500/30 border-2 border-blue-500/50 shadow-[0_0_20px_rgba(59,130,246,0.3)]" | "bg-gradient-to-br from-blue-50 to-cyan-50 border-2 border-blue-300/50 shadow-[0_0_20px_rgba(59,130,246,0.2)]" | "bg-gradient-to-br from-orange-500/30 to-amber-500/30 border-2 border-orange-500/50 shadow-[0_0_20px_rgba(249,115,22,0.3)]" | "bg-gradient-to-br from-orange-50 to-amber-50 border-2 border-orange-300/50 shadow-[0_0_20px_rgba(249,115,22,0.2)]" | "bg-gradient-to-br from-red-500/30 to-rose-500/30 border-2 border-red-500/50 shadow-[0_0_20px_rgba(239,68,68,0.3)]" | "bg-gradient-to-br from-red-50 to-rose-50 border-2 border-red-300/50 shadow-[0_0_20px_rgba(239,68,68,0.2)]">;
|
|
3059
|
-
protected gradeLabelClasses: _angular_core.Signal<"text-emerald-
|
|
3059
|
+
protected gradeLabelClasses: _angular_core.Signal<"text-emerald-700" | "text-blue-700" | "text-red-700" | "text-orange-700" | "text-red-300" | "text-emerald-300" | "text-blue-300" | "text-orange-300">;
|
|
3060
3060
|
protected gradeValueClasses: _angular_core.Signal<"bg-gradient-to-b from-emerald-300 to-emerald-500 bg-clip-text text-transparent" | "bg-gradient-to-b from-emerald-600 to-emerald-800 bg-clip-text text-transparent" | "bg-gradient-to-b from-blue-300 to-blue-500 bg-clip-text text-transparent" | "bg-gradient-to-b from-blue-600 to-blue-800 bg-clip-text text-transparent" | "bg-gradient-to-b from-orange-300 to-orange-500 bg-clip-text text-transparent" | "bg-gradient-to-b from-orange-600 to-orange-800 bg-clip-text text-transparent" | "bg-gradient-to-b from-red-300 to-red-500 bg-clip-text text-transparent" | "bg-gradient-to-b from-red-600 to-red-800 bg-clip-text text-transparent">;
|
|
3061
|
-
protected descriptionClasses: _angular_core.Signal<"text-slate-
|
|
3062
|
-
protected progressLabelClasses: _angular_core.Signal<"text-slate-
|
|
3063
|
-
protected progressValueClasses: _angular_core.Signal<"text-emerald-
|
|
3061
|
+
protected descriptionClasses: _angular_core.Signal<"text-slate-700" | "text-slate-300">;
|
|
3062
|
+
protected progressLabelClasses: _angular_core.Signal<"text-slate-700" | "text-slate-300">;
|
|
3063
|
+
protected progressValueClasses: _angular_core.Signal<"text-emerald-600" | "text-emerald-400" | "text-red-600" | "text-red-400" | "text-blue-400" | "text-orange-600" | "text-orange-400" | "text-blue-600">;
|
|
3064
3064
|
protected progressTrackClasses: _angular_core.Signal<"bg-slate-700/50 shadow-inner" | "bg-slate-200 shadow-inner">;
|
|
3065
3065
|
protected progressBarClasses: _angular_core.Signal<"rounded-full overflow-hidden bg-gradient-to-r from-emerald-500 via-teal-500 to-emerald-600" | "rounded-full overflow-hidden bg-gradient-to-r from-blue-500 via-cyan-500 to-blue-600" | "rounded-full overflow-hidden bg-gradient-to-r from-orange-500 via-amber-500 to-orange-600" | "rounded-full overflow-hidden bg-gradient-to-r from-red-500 via-rose-500 to-red-600">;
|
|
3066
3066
|
protected shimmerClasses: _angular_core.Signal<string>;
|
|
@@ -3082,12 +3082,12 @@ declare class RelatedContentSidebarComponent {
|
|
|
3082
3082
|
protected funnelInsightsCount: _angular_core.Signal<number>;
|
|
3083
3083
|
protected funnelMetricsCount: _angular_core.Signal<number>;
|
|
3084
3084
|
protected businessInsightsCount: _angular_core.Signal<number>;
|
|
3085
|
-
protected headerClasses: _angular_core.Signal<"text-slate-
|
|
3085
|
+
protected headerClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
3086
3086
|
protected buttonClasses: _angular_core.Signal<"bg-slate-50 border-slate-200 hover:border-blue-500/50 hover:bg-slate-100" | "bg-slate-800/50 border-slate-700 hover:border-blue-500/50 hover:bg-slate-700/50">;
|
|
3087
3087
|
protected iconBgClasses: _angular_core.Signal<"bg-blue-100 text-blue-600" | "bg-blue-900/30 text-blue-400">;
|
|
3088
3088
|
protected iconClasses: _angular_core.Signal<"text-blue-400" | "text-blue-600">;
|
|
3089
|
-
protected countClasses: _angular_core.Signal<"text-
|
|
3090
|
-
protected labelClasses: _angular_core.Signal<"text-slate-
|
|
3089
|
+
protected countClasses: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
3090
|
+
protected labelClasses: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
3091
3091
|
protected chevronClasses: _angular_core.Signal<"text-slate-500 group-hover:text-blue-400" | "text-slate-400 group-hover:text-blue-600">;
|
|
3092
3092
|
protected onFunnelInsightsClick(): void;
|
|
3093
3093
|
protected onFunnelMetricsClick(): void;
|
|
@@ -3109,8 +3109,8 @@ declare class ChartContainerComponent {
|
|
|
3109
3109
|
protected ChartTypeEnum: typeof ChartTypeEnum;
|
|
3110
3110
|
containerClass: _angular_core.Signal<"bg-white border-slate-200 hover:border-blue-300 hover:shadow-blue-100/50" | "bg-slate-800 border-slate-700 hover:border-slate-600 hover:shadow-slate-900/50">;
|
|
3111
3111
|
headerClass: _angular_core.Signal<"border-slate-200" | "border-slate-700">;
|
|
3112
|
-
titleClass: _angular_core.Signal<"text-
|
|
3113
|
-
descriptionClass: _angular_core.Signal<"text-slate-
|
|
3112
|
+
titleClass: _angular_core.Signal<"text-slate-900" | "text-white">;
|
|
3113
|
+
descriptionClass: _angular_core.Signal<"text-slate-600" | "text-slate-400">;
|
|
3114
3114
|
iconClass: _angular_core.Signal<"text-slate-400 group-hover:text-blue-500" | "text-slate-500 group-hover:text-blue-400">;
|
|
3115
3115
|
chartIconClass: _angular_core.Signal<"bg-blue-100 text-blue-600" | "bg-blue-500/20 text-blue-400">;
|
|
3116
3116
|
expandButtonClass: _angular_core.Signal<"bg-blue-100 text-blue-600 hover:bg-blue-200" | "bg-blue-500/20 text-blue-400 hover:bg-blue-500/30">;
|
|
@@ -3424,7 +3424,7 @@ declare class FocusAreaDetailCardComponent {
|
|
|
3424
3424
|
protected isActuallyExpanded: _angular_core.Signal<boolean>;
|
|
3425
3425
|
protected forceExpandedValue: _angular_core.Signal<boolean>;
|
|
3426
3426
|
protected shouldAnimateExpand: _angular_core.Signal<boolean>;
|
|
3427
|
-
protected iconSize: _angular_core.Signal<"w-
|
|
3427
|
+
protected iconSize: _angular_core.Signal<"w-6 h-6" | "w-7 h-7">;
|
|
3428
3428
|
protected relatedRecommendations: _angular_core.Signal<_jebgem_model.ProfileAnalysisRecommendationInterface[]>;
|
|
3429
3429
|
protected statusLabel: _angular_core.Signal<string>;
|
|
3430
3430
|
protected statusBadgeType: _angular_core.Signal<BadgeType>;
|
|
@@ -3489,7 +3489,7 @@ declare class CompetitorAnalysisCardComponent {
|
|
|
3489
3489
|
protected isActuallyExpanded: _angular_core.Signal<boolean>;
|
|
3490
3490
|
protected isExpandedMode: _angular_core.Signal<boolean>;
|
|
3491
3491
|
protected shouldAnimateExpand: _angular_core.Signal<boolean>;
|
|
3492
|
-
protected iconSize: _angular_core.Signal<"w-
|
|
3492
|
+
protected iconSize: _angular_core.Signal<"w-6 h-6" | "w-7 h-7">;
|
|
3493
3493
|
protected animationType: _angular_core.Signal<"none" | "slide-up">;
|
|
3494
3494
|
constructor();
|
|
3495
3495
|
protected hasCompanyInfo: _angular_core.Signal<boolean>;
|
|
@@ -3544,7 +3544,7 @@ declare class OpportunityHighlightBannerComponent {
|
|
|
3544
3544
|
protected titleClasses: _angular_core.Signal<"text-amber-300" | "text-amber-900">;
|
|
3545
3545
|
protected badgeClasses: _angular_core.Signal<"bg-amber-500/30 text-amber-300" | "bg-amber-200 text-amber-800">;
|
|
3546
3546
|
protected messageClasses: _angular_core.Signal<"text-amber-700" | "text-amber-400/90">;
|
|
3547
|
-
protected chevronClasses: _angular_core.Signal<"text-amber-
|
|
3547
|
+
protected chevronClasses: _angular_core.Signal<"text-amber-600" | "text-amber-400">;
|
|
3548
3548
|
handleClick(event: Event): void;
|
|
3549
3549
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OpportunityHighlightBannerComponent, never>;
|
|
3550
3550
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OpportunityHighlightBannerComponent, "symphiq-opportunity-highlight-banner", never, { "title": { "alias": "title"; "required": false; }; "message": { "alias": "message"; "required": false; }; "isDark": { "alias": "isDark"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; }, { "bannerClick": "bannerClick"; }, never, never, true, never>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eric-emg/symphiq-components",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.133",
|
|
4
4
|
"description": "A comprehensive Angular library for component dashboards with performance visualization and metrics analysis",
|
|
5
5
|
"author": "Your Organization",
|
|
6
6
|
"license": "MIT",
|
package/src/styles.css
CHANGED
|
@@ -1,318 +1,318 @@
|
|
|
1
|
-
@import 'tailwindcss';
|
|
2
|
-
|
|
3
|
-
@keyframes fadeInUp {
|
|
4
|
-
from {
|
|
5
|
-
opacity: 0;
|
|
6
|
-
transform: translateY(20px);
|
|
7
|
-
}
|
|
8
|
-
to {
|
|
9
|
-
opacity: 1;
|
|
10
|
-
transform: translateY(0);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
@keyframes fadeIn {
|
|
15
|
-
from {
|
|
16
|
-
opacity: 0;
|
|
17
|
-
}
|
|
18
|
-
to {
|
|
19
|
-
opacity: 1;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
@keyframes progressBar {
|
|
24
|
-
from {
|
|
25
|
-
width: 0%;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
@keyframes pulseGlow {
|
|
30
|
-
0%, 100% {
|
|
31
|
-
box-shadow: 0 0 20px rgba(16, 185, 129, 0.5);
|
|
32
|
-
}
|
|
33
|
-
50% {
|
|
34
|
-
box-shadow: 0 0 30px rgba(16, 185, 129, 0.8);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
@keyframes valueGlow {
|
|
39
|
-
0% {
|
|
40
|
-
text-shadow: 0 0 8px rgba(59, 130, 246, 0);
|
|
41
|
-
}
|
|
42
|
-
50% {
|
|
43
|
-
text-shadow: 0 0 15px rgba(59, 130, 246, 0.6), 0 0 20px rgba(59, 130, 246, 0.3);
|
|
44
|
-
}
|
|
45
|
-
100% {
|
|
46
|
-
text-shadow: 0 0 8px rgba(59, 130, 246, 0);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
@keyframes slideUpFade {
|
|
51
|
-
from {
|
|
52
|
-
opacity: 0;
|
|
53
|
-
transform: translateY(30px) scale(0.95);
|
|
54
|
-
}
|
|
55
|
-
to {
|
|
56
|
-
opacity: 1;
|
|
57
|
-
transform: translateY(0) scale(1);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@keyframes pulseSubtle {
|
|
62
|
-
0%, 100% {
|
|
63
|
-
opacity: 1;
|
|
64
|
-
transform: scale(1);
|
|
65
|
-
box-shadow: inherit;
|
|
66
|
-
}
|
|
67
|
-
50% {
|
|
68
|
-
opacity: 0.9;
|
|
69
|
-
transform: scale(1.05);
|
|
70
|
-
filter: brightness(1.1);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
@keyframes fadeOut {
|
|
75
|
-
from {
|
|
76
|
-
opacity: 1;
|
|
77
|
-
}
|
|
78
|
-
to {
|
|
79
|
-
opacity: 0;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
@keyframes scaleIn {
|
|
84
|
-
from {
|
|
85
|
-
opacity: 0;
|
|
86
|
-
transform: scale(0.95);
|
|
87
|
-
}
|
|
88
|
-
to {
|
|
89
|
-
opacity: 1;
|
|
90
|
-
transform: scale(1);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
@keyframes contentChange {
|
|
95
|
-
0% {
|
|
96
|
-
opacity: 1;
|
|
97
|
-
}
|
|
98
|
-
50% {
|
|
99
|
-
opacity: 0.3;
|
|
100
|
-
transform: scale(0.98);
|
|
101
|
-
}
|
|
102
|
-
100% {
|
|
103
|
-
opacity: 1;
|
|
104
|
-
transform: scale(1);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
.animate-fade-in-up {
|
|
109
|
-
opacity: 0;
|
|
110
|
-
animation: fadeInUp 0.6s ease-out forwards;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
.animate-fade-in {
|
|
114
|
-
animation: fadeIn 0.3s ease-out forwards;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
.animate-fade-out {
|
|
118
|
-
animation: fadeOut 0.2s ease-out forwards;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
.animate-slide-up-fade {
|
|
122
|
-
animation: slideUpFade 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.animate-progress-bar {
|
|
126
|
-
animation: progressBar 1.2s ease-out forwards;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
.animate-pulse-glow {
|
|
130
|
-
animation: pulseGlow 2s ease-in-out infinite;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
.animate-pulse-subtle {
|
|
134
|
-
animation: pulseSubtle 2s ease-in-out infinite;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
.animate-value-glow.value-changed {
|
|
138
|
-
animation: valueGlow 1.5s ease-out;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
.animate-scale-in {
|
|
142
|
-
animation: scaleIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
.animate-content-change {
|
|
146
|
-
animation: contentChange 0.4s ease-in-out;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
.transition-opacity-fast {
|
|
150
|
-
transition: opacity 0.2s ease-in-out;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
.transition-opacity-slow {
|
|
154
|
-
transition: opacity 0.4s ease-in-out;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
@keyframes searchHighlight {
|
|
158
|
-
0%, 100% {
|
|
159
|
-
background-color: transparent;
|
|
160
|
-
box-shadow: none;
|
|
161
|
-
}
|
|
162
|
-
50% {
|
|
163
|
-
background-color: rgba(59, 130, 246, 0.15);
|
|
164
|
-
box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
.search-highlight {
|
|
169
|
-
animation: searchHighlight 1.5s ease-in-out 2;
|
|
170
|
-
border-radius: 12px;
|
|
171
|
-
scroll-margin-top: 100px;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
@keyframes pulseBorder {
|
|
175
|
-
0%, 100% {
|
|
176
|
-
box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7);
|
|
177
|
-
}
|
|
178
|
-
50% {
|
|
179
|
-
box-shadow: 0 0 0 8px rgba(59, 130, 246, 0);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
.animate-pulse-border {
|
|
184
|
-
animation: pulseBorder 1s ease-out 3;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/* Radial gradient utility */
|
|
188
|
-
.bg-gradient-radial {
|
|
189
|
-
background: radial-gradient(circle, var(--tw-gradient-stops));
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
/* CSS-only animated bubbles - optimized for performance */
|
|
193
|
-
@keyframes bubbleFloat1 {
|
|
194
|
-
0%, 100% {
|
|
195
|
-
background-position: 0% 0%, 100% 100%, 50% 50%, 20% 80%, 80% 20%;
|
|
196
|
-
}
|
|
197
|
-
33% {
|
|
198
|
-
background-position: 15% 10%, 85% 90%, 60% 40%, 30% 70%, 70% 30%;
|
|
199
|
-
}
|
|
200
|
-
66% {
|
|
201
|
-
background-position: 10% 20%, 90% 80%, 45% 55%, 25% 75%, 75% 25%;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
@keyframes bubbleFloat2 {
|
|
206
|
-
0%, 100% {
|
|
207
|
-
background-position: 100% 0%, 0% 100%, 80% 20%, 30% 70%, 60% 50%;
|
|
208
|
-
}
|
|
209
|
-
33% {
|
|
210
|
-
background-position: 90% 15%, 10% 85%, 70% 30%, 40% 60%, 50% 40%;
|
|
211
|
-
}
|
|
212
|
-
66% {
|
|
213
|
-
background-position: 85% 10%, 15% 90%, 75% 25%, 35% 65%, 55% 45%;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
.animated-bubbles {
|
|
218
|
-
background-image:
|
|
219
|
-
radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, transparent 50%),
|
|
220
|
-
radial-gradient(circle, rgba(147, 51, 234, 0.12) 0%, transparent 50%),
|
|
221
|
-
radial-gradient(circle, rgba(59, 130, 246, 0.10) 0%, transparent 60%),
|
|
222
|
-
radial-gradient(circle, rgba(99, 102, 241, 0.14) 0%, transparent 45%),
|
|
223
|
-
radial-gradient(circle, rgba(168, 85, 247, 0.12) 0%, transparent 55%);
|
|
224
|
-
background-size: 300px 300px, 400px 400px, 350px 350px, 280px 280px, 320px 320px;
|
|
225
|
-
background-repeat: no-repeat;
|
|
226
|
-
animation: bubbleFloat1 35s ease-in-out infinite;
|
|
227
|
-
will-change: background-position;
|
|
228
|
-
|
|
229
|
-
pointer-events: none;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
.animated-bubbles.light-mode {
|
|
233
|
-
background-image:
|
|
234
|
-
radial-gradient(circle, rgba(59, 130, 246, 0.20) 0%, transparent 50%),
|
|
235
|
-
radial-gradient(circle, rgba(147, 51, 234, 0.16) 0%, transparent 50%),
|
|
236
|
-
radial-gradient(circle, rgba(59, 130, 246, 0.14) 0%, transparent 60%),
|
|
237
|
-
radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, transparent 45%),
|
|
238
|
-
radial-gradient(circle, rgba(168, 85, 247, 0.15) 0%, transparent 55%);
|
|
239
|
-
animation: bubbleFloat2 40s ease-in-out infinite;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
/* Expanded item animations */
|
|
243
|
-
@keyframes bounceScale {
|
|
244
|
-
0% {
|
|
245
|
-
transform: scale(1);
|
|
246
|
-
}
|
|
247
|
-
25% {
|
|
248
|
-
transform: scale(1.15);
|
|
249
|
-
}
|
|
250
|
-
50% {
|
|
251
|
-
transform: scale(1.08);
|
|
252
|
-
}
|
|
253
|
-
75% {
|
|
254
|
-
transform: scale(1.12);
|
|
255
|
-
}
|
|
256
|
-
100% {
|
|
257
|
-
transform: scale(1.1);
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
@keyframes iconGlow {
|
|
262
|
-
0% {
|
|
263
|
-
filter: brightness(1) saturate(1);
|
|
264
|
-
}
|
|
265
|
-
100% {
|
|
266
|
-
filter: brightness(1.2) saturate(1.3);
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
@keyframes textGrow {
|
|
271
|
-
0% {
|
|
272
|
-
transform: scale(1);
|
|
273
|
-
}
|
|
274
|
-
50% {
|
|
275
|
-
transform: scale(1.02);
|
|
276
|
-
}
|
|
277
|
-
100% {
|
|
278
|
-
transform: scale(1.05);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
@keyframes badgePulse {
|
|
283
|
-
0%, 100% {
|
|
284
|
-
transform: scale(1);
|
|
285
|
-
opacity: 1;
|
|
286
|
-
}
|
|
287
|
-
50% {
|
|
288
|
-
transform: scale(1.08);
|
|
289
|
-
opacity: 0.95;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
.expanded-icon-bounce {
|
|
294
|
-
animation: bounceScale 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
|
|
295
|
-
iconGlow 0.3s ease-out 0.2s forwards;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
.expanded-title-grow {
|
|
299
|
-
animation: textGrow 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s forwards;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
.expanded-badge-pulse {
|
|
303
|
-
animation: badgePulse 0.6s ease-in-out 0.3s 2;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
/* Smooth transitions for expanded state */
|
|
307
|
-
.expand-transition {
|
|
308
|
-
transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
@media (prefers-reduced-motion: reduce) {
|
|
312
|
-
.expanded-icon-bounce,
|
|
313
|
-
.expanded-title-grow,
|
|
314
|
-
.expanded-badge-pulse {
|
|
315
|
-
animation: none;
|
|
316
|
-
transform: scale(1.1);
|
|
317
|
-
}
|
|
318
|
-
}
|
|
1
|
+
@import 'tailwindcss';
|
|
2
|
+
|
|
3
|
+
@keyframes fadeInUp {
|
|
4
|
+
from {
|
|
5
|
+
opacity: 0;
|
|
6
|
+
transform: translateY(20px);
|
|
7
|
+
}
|
|
8
|
+
to {
|
|
9
|
+
opacity: 1;
|
|
10
|
+
transform: translateY(0);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@keyframes fadeIn {
|
|
15
|
+
from {
|
|
16
|
+
opacity: 0;
|
|
17
|
+
}
|
|
18
|
+
to {
|
|
19
|
+
opacity: 1;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@keyframes progressBar {
|
|
24
|
+
from {
|
|
25
|
+
width: 0%;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@keyframes pulseGlow {
|
|
30
|
+
0%, 100% {
|
|
31
|
+
box-shadow: 0 0 20px rgba(16, 185, 129, 0.5);
|
|
32
|
+
}
|
|
33
|
+
50% {
|
|
34
|
+
box-shadow: 0 0 30px rgba(16, 185, 129, 0.8);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@keyframes valueGlow {
|
|
39
|
+
0% {
|
|
40
|
+
text-shadow: 0 0 8px rgba(59, 130, 246, 0);
|
|
41
|
+
}
|
|
42
|
+
50% {
|
|
43
|
+
text-shadow: 0 0 15px rgba(59, 130, 246, 0.6), 0 0 20px rgba(59, 130, 246, 0.3);
|
|
44
|
+
}
|
|
45
|
+
100% {
|
|
46
|
+
text-shadow: 0 0 8px rgba(59, 130, 246, 0);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@keyframes slideUpFade {
|
|
51
|
+
from {
|
|
52
|
+
opacity: 0;
|
|
53
|
+
transform: translateY(30px) scale(0.95);
|
|
54
|
+
}
|
|
55
|
+
to {
|
|
56
|
+
opacity: 1;
|
|
57
|
+
transform: translateY(0) scale(1);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@keyframes pulseSubtle {
|
|
62
|
+
0%, 100% {
|
|
63
|
+
opacity: 1;
|
|
64
|
+
transform: scale(1);
|
|
65
|
+
box-shadow: inherit;
|
|
66
|
+
}
|
|
67
|
+
50% {
|
|
68
|
+
opacity: 0.9;
|
|
69
|
+
transform: scale(1.05);
|
|
70
|
+
filter: brightness(1.1);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
@keyframes fadeOut {
|
|
75
|
+
from {
|
|
76
|
+
opacity: 1;
|
|
77
|
+
}
|
|
78
|
+
to {
|
|
79
|
+
opacity: 0;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@keyframes scaleIn {
|
|
84
|
+
from {
|
|
85
|
+
opacity: 0;
|
|
86
|
+
transform: scale(0.95);
|
|
87
|
+
}
|
|
88
|
+
to {
|
|
89
|
+
opacity: 1;
|
|
90
|
+
transform: scale(1);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@keyframes contentChange {
|
|
95
|
+
0% {
|
|
96
|
+
opacity: 1;
|
|
97
|
+
}
|
|
98
|
+
50% {
|
|
99
|
+
opacity: 0.3;
|
|
100
|
+
transform: scale(0.98);
|
|
101
|
+
}
|
|
102
|
+
100% {
|
|
103
|
+
opacity: 1;
|
|
104
|
+
transform: scale(1);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.animate-fade-in-up {
|
|
109
|
+
opacity: 0;
|
|
110
|
+
animation: fadeInUp 0.6s ease-out forwards;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.animate-fade-in {
|
|
114
|
+
animation: fadeIn 0.3s ease-out forwards;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.animate-fade-out {
|
|
118
|
+
animation: fadeOut 0.2s ease-out forwards;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.animate-slide-up-fade {
|
|
122
|
+
animation: slideUpFade 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.animate-progress-bar {
|
|
126
|
+
animation: progressBar 1.2s ease-out forwards;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.animate-pulse-glow {
|
|
130
|
+
animation: pulseGlow 2s ease-in-out infinite;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.animate-pulse-subtle {
|
|
134
|
+
animation: pulseSubtle 2s ease-in-out infinite;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.animate-value-glow.value-changed {
|
|
138
|
+
animation: valueGlow 1.5s ease-out;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.animate-scale-in {
|
|
142
|
+
animation: scaleIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.animate-content-change {
|
|
146
|
+
animation: contentChange 0.4s ease-in-out;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.transition-opacity-fast {
|
|
150
|
+
transition: opacity 0.2s ease-in-out;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.transition-opacity-slow {
|
|
154
|
+
transition: opacity 0.4s ease-in-out;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
@keyframes searchHighlight {
|
|
158
|
+
0%, 100% {
|
|
159
|
+
background-color: transparent;
|
|
160
|
+
box-shadow: none;
|
|
161
|
+
}
|
|
162
|
+
50% {
|
|
163
|
+
background-color: rgba(59, 130, 246, 0.15);
|
|
164
|
+
box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.search-highlight {
|
|
169
|
+
animation: searchHighlight 1.5s ease-in-out 2;
|
|
170
|
+
border-radius: 12px;
|
|
171
|
+
scroll-margin-top: 100px;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
@keyframes pulseBorder {
|
|
175
|
+
0%, 100% {
|
|
176
|
+
box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7);
|
|
177
|
+
}
|
|
178
|
+
50% {
|
|
179
|
+
box-shadow: 0 0 0 8px rgba(59, 130, 246, 0);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.animate-pulse-border {
|
|
184
|
+
animation: pulseBorder 1s ease-out 3;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/* Radial gradient utility */
|
|
188
|
+
.bg-gradient-radial {
|
|
189
|
+
background: radial-gradient(circle, var(--tw-gradient-stops));
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/* CSS-only animated bubbles - optimized for performance */
|
|
193
|
+
@keyframes bubbleFloat1 {
|
|
194
|
+
0%, 100% {
|
|
195
|
+
background-position: 0% 0%, 100% 100%, 50% 50%, 20% 80%, 80% 20%;
|
|
196
|
+
}
|
|
197
|
+
33% {
|
|
198
|
+
background-position: 15% 10%, 85% 90%, 60% 40%, 30% 70%, 70% 30%;
|
|
199
|
+
}
|
|
200
|
+
66% {
|
|
201
|
+
background-position: 10% 20%, 90% 80%, 45% 55%, 25% 75%, 75% 25%;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
@keyframes bubbleFloat2 {
|
|
206
|
+
0%, 100% {
|
|
207
|
+
background-position: 100% 0%, 0% 100%, 80% 20%, 30% 70%, 60% 50%;
|
|
208
|
+
}
|
|
209
|
+
33% {
|
|
210
|
+
background-position: 90% 15%, 10% 85%, 70% 30%, 40% 60%, 50% 40%;
|
|
211
|
+
}
|
|
212
|
+
66% {
|
|
213
|
+
background-position: 85% 10%, 15% 90%, 75% 25%, 35% 65%, 55% 45%;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.animated-bubbles {
|
|
218
|
+
background-image:
|
|
219
|
+
radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, transparent 50%),
|
|
220
|
+
radial-gradient(circle, rgba(147, 51, 234, 0.12) 0%, transparent 50%),
|
|
221
|
+
radial-gradient(circle, rgba(59, 130, 246, 0.10) 0%, transparent 60%),
|
|
222
|
+
radial-gradient(circle, rgba(99, 102, 241, 0.14) 0%, transparent 45%),
|
|
223
|
+
radial-gradient(circle, rgba(168, 85, 247, 0.12) 0%, transparent 55%);
|
|
224
|
+
background-size: 300px 300px, 400px 400px, 350px 350px, 280px 280px, 320px 320px;
|
|
225
|
+
background-repeat: no-repeat;
|
|
226
|
+
animation: bubbleFloat1 35s ease-in-out infinite;
|
|
227
|
+
will-change: background-position;
|
|
228
|
+
backface-visibility: hidden;
|
|
229
|
+
pointer-events: none;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.animated-bubbles.light-mode {
|
|
233
|
+
background-image:
|
|
234
|
+
radial-gradient(circle, rgba(59, 130, 246, 0.20) 0%, transparent 50%),
|
|
235
|
+
radial-gradient(circle, rgba(147, 51, 234, 0.16) 0%, transparent 50%),
|
|
236
|
+
radial-gradient(circle, rgba(59, 130, 246, 0.14) 0%, transparent 60%),
|
|
237
|
+
radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, transparent 45%),
|
|
238
|
+
radial-gradient(circle, rgba(168, 85, 247, 0.15) 0%, transparent 55%);
|
|
239
|
+
animation: bubbleFloat2 40s ease-in-out infinite;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/* Expanded item animations */
|
|
243
|
+
@keyframes bounceScale {
|
|
244
|
+
0% {
|
|
245
|
+
transform: scale(1);
|
|
246
|
+
}
|
|
247
|
+
25% {
|
|
248
|
+
transform: scale(1.15);
|
|
249
|
+
}
|
|
250
|
+
50% {
|
|
251
|
+
transform: scale(1.08);
|
|
252
|
+
}
|
|
253
|
+
75% {
|
|
254
|
+
transform: scale(1.12);
|
|
255
|
+
}
|
|
256
|
+
100% {
|
|
257
|
+
transform: scale(1.1);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
@keyframes iconGlow {
|
|
262
|
+
0% {
|
|
263
|
+
filter: brightness(1) saturate(1);
|
|
264
|
+
}
|
|
265
|
+
100% {
|
|
266
|
+
filter: brightness(1.2) saturate(1.3);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
@keyframes textGrow {
|
|
271
|
+
0% {
|
|
272
|
+
transform: scale(1);
|
|
273
|
+
}
|
|
274
|
+
50% {
|
|
275
|
+
transform: scale(1.02);
|
|
276
|
+
}
|
|
277
|
+
100% {
|
|
278
|
+
transform: scale(1.05);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
@keyframes badgePulse {
|
|
283
|
+
0%, 100% {
|
|
284
|
+
transform: scale(1);
|
|
285
|
+
opacity: 1;
|
|
286
|
+
}
|
|
287
|
+
50% {
|
|
288
|
+
transform: scale(1.08);
|
|
289
|
+
opacity: 0.95;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
.expanded-icon-bounce {
|
|
294
|
+
animation: bounceScale 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
|
|
295
|
+
iconGlow 0.3s ease-out 0.2s forwards;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
.expanded-title-grow {
|
|
299
|
+
animation: textGrow 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s forwards;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
.expanded-badge-pulse {
|
|
303
|
+
animation: badgePulse 0.6s ease-in-out 0.3s 2;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/* Smooth transitions for expanded state */
|
|
307
|
+
.expand-transition {
|
|
308
|
+
transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
@media (prefers-reduced-motion: reduce) {
|
|
312
|
+
.expanded-icon-bounce,
|
|
313
|
+
.expanded-title-grow,
|
|
314
|
+
.expanded-badge-pulse {
|
|
315
|
+
animation: none;
|
|
316
|
+
transform: scale(1.1);
|
|
317
|
+
}
|
|
318
|
+
}
|
package/styles.css
CHANGED
|
@@ -8819,23 +8819,23 @@
|
|
|
8819
8819
|
}
|
|
8820
8820
|
}
|
|
8821
8821
|
.animated-bubbles {
|
|
8822
|
-
background-image: radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, transparent 50%),
|
|
8823
|
-
radial-gradient(circle, rgba(147, 51, 234, 0.12) 0%, transparent 50%),
|
|
8824
|
-
radial-gradient(circle, rgba(59, 130, 246, 0.10) 0%, transparent 60%),
|
|
8825
|
-
radial-gradient(circle, rgba(99, 102, 241, 0.14) 0%, transparent 45%),
|
|
8822
|
+
background-image: radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, transparent 50%),
|
|
8823
|
+
radial-gradient(circle, rgba(147, 51, 234, 0.12) 0%, transparent 50%),
|
|
8824
|
+
radial-gradient(circle, rgba(59, 130, 246, 0.10) 0%, transparent 60%),
|
|
8825
|
+
radial-gradient(circle, rgba(99, 102, 241, 0.14) 0%, transparent 45%),
|
|
8826
8826
|
radial-gradient(circle, rgba(168, 85, 247, 0.12) 0%, transparent 55%);
|
|
8827
8827
|
background-size: 300px 300px, 400px 400px, 350px 350px, 280px 280px, 320px 320px;
|
|
8828
8828
|
background-repeat: no-repeat;
|
|
8829
8829
|
animation: bubbleFloat1 35s ease-in-out infinite;
|
|
8830
8830
|
will-change: background-position;
|
|
8831
|
-
|
|
8831
|
+
backface-visibility: hidden;
|
|
8832
8832
|
pointer-events: none;
|
|
8833
8833
|
}
|
|
8834
8834
|
.animated-bubbles.light-mode {
|
|
8835
|
-
background-image: radial-gradient(circle, rgba(59, 130, 246, 0.20) 0%, transparent 50%),
|
|
8836
|
-
radial-gradient(circle, rgba(147, 51, 234, 0.16) 0%, transparent 50%),
|
|
8837
|
-
radial-gradient(circle, rgba(59, 130, 246, 0.14) 0%, transparent 60%),
|
|
8838
|
-
radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, transparent 45%),
|
|
8835
|
+
background-image: radial-gradient(circle, rgba(59, 130, 246, 0.20) 0%, transparent 50%),
|
|
8836
|
+
radial-gradient(circle, rgba(147, 51, 234, 0.16) 0%, transparent 50%),
|
|
8837
|
+
radial-gradient(circle, rgba(59, 130, 246, 0.14) 0%, transparent 60%),
|
|
8838
|
+
radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, transparent 45%),
|
|
8839
8839
|
radial-gradient(circle, rgba(168, 85, 247, 0.15) 0%, transparent 55%);
|
|
8840
8840
|
animation: bubbleFloat2 40s ease-in-out infinite;
|
|
8841
8841
|
}
|
|
@@ -8886,7 +8886,7 @@
|
|
|
8886
8886
|
}
|
|
8887
8887
|
}
|
|
8888
8888
|
.expanded-icon-bounce {
|
|
8889
|
-
animation: bounceScale 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
|
|
8889
|
+
animation: bounceScale 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
|
|
8890
8890
|
iconGlow 0.3s ease-out 0.2s forwards;
|
|
8891
8891
|
}
|
|
8892
8892
|
.expanded-title-grow {
|
|
@@ -8899,8 +8899,8 @@
|
|
|
8899
8899
|
transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
8900
8900
|
}
|
|
8901
8901
|
@media (prefers-reduced-motion: reduce) {
|
|
8902
|
-
.expanded-icon-bounce,
|
|
8903
|
-
.expanded-title-grow,
|
|
8902
|
+
.expanded-icon-bounce,
|
|
8903
|
+
.expanded-title-grow,
|
|
8904
8904
|
.expanded-badge-pulse {
|
|
8905
8905
|
animation: none;
|
|
8906
8906
|
transform: scale(1.1);
|
|
@@ -9307,4 +9307,4 @@
|
|
|
9307
9307
|
--tw-scale-z: 1;
|
|
9308
9308
|
}
|
|
9309
9309
|
}
|
|
9310
|
-
}
|
|
9310
|
+
}
|