@eric-emg/symphiq-components 1.2.90 → 1.2.91
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/fesm2022/symphiq-components.mjs +1157 -403
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +133 -26
- package/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/styles.css +58 -14
|
@@ -1720,12 +1720,15 @@ class CompetitiveScoreService {
|
|
|
1720
1720
|
}]
|
|
1721
1721
|
}], null, null); })();
|
|
1722
1722
|
|
|
1723
|
-
const _forTrack0$
|
|
1723
|
+
const _forTrack0$8 = ($index, $item) => $item.category;
|
|
1724
1724
|
function CompetitivePositioningSummaryComponent_Conditional_1_For_43_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
1725
|
-
i0.ɵɵelementStart(0, "div",
|
|
1726
|
-
i0.ɵɵelement(1, "div",
|
|
1727
|
-
i0.ɵɵelementStart(2, "span",
|
|
1725
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
1726
|
+
i0.ɵɵelement(1, "div", 35);
|
|
1727
|
+
i0.ɵɵelementStart(2, "span", 36);
|
|
1728
1728
|
i0.ɵɵtext(3);
|
|
1729
|
+
i0.ɵɵelementEnd();
|
|
1730
|
+
i0.ɵɵelementStart(4, "span", 37);
|
|
1731
|
+
i0.ɵɵtext(5, "Leading");
|
|
1729
1732
|
i0.ɵɵelementEnd()();
|
|
1730
1733
|
} if (rf & 2) {
|
|
1731
1734
|
const category_r3 = i0.ɵɵnextContext().$implicit;
|
|
@@ -1736,12 +1739,17 @@ function CompetitivePositioningSummaryComponent_Conditional_1_For_43_Conditional
|
|
|
1736
1739
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-emerald-600" : "text-emerald-400");
|
|
1737
1740
|
i0.ɵɵadvance();
|
|
1738
1741
|
i0.ɵɵtextInterpolate(category_r3.leading);
|
|
1742
|
+
i0.ɵɵadvance();
|
|
1743
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-emerald-600" : "text-emerald-500");
|
|
1739
1744
|
} }
|
|
1740
1745
|
function CompetitivePositioningSummaryComponent_Conditional_1_For_43_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
1741
|
-
i0.ɵɵelementStart(0, "div",
|
|
1742
|
-
i0.ɵɵelement(1, "div",
|
|
1743
|
-
i0.ɵɵelementStart(2, "span",
|
|
1746
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
1747
|
+
i0.ɵɵelement(1, "div", 35);
|
|
1748
|
+
i0.ɵɵelementStart(2, "span", 36);
|
|
1744
1749
|
i0.ɵɵtext(3);
|
|
1750
|
+
i0.ɵɵelementEnd();
|
|
1751
|
+
i0.ɵɵelementStart(4, "span", 37);
|
|
1752
|
+
i0.ɵɵtext(5, "Competitive");
|
|
1745
1753
|
i0.ɵɵelementEnd()();
|
|
1746
1754
|
} if (rf & 2) {
|
|
1747
1755
|
const category_r3 = i0.ɵɵnextContext().$implicit;
|
|
@@ -1752,12 +1760,17 @@ function CompetitivePositioningSummaryComponent_Conditional_1_For_43_Conditional
|
|
|
1752
1760
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-blue-600" : "text-blue-400");
|
|
1753
1761
|
i0.ɵɵadvance();
|
|
1754
1762
|
i0.ɵɵtextInterpolate(category_r3.competitive);
|
|
1763
|
+
i0.ɵɵadvance();
|
|
1764
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-blue-600" : "text-blue-500");
|
|
1755
1765
|
} }
|
|
1756
1766
|
function CompetitivePositioningSummaryComponent_Conditional_1_For_43_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
1757
|
-
i0.ɵɵelementStart(0, "div",
|
|
1767
|
+
i0.ɵɵelementStart(0, "div", 34);
|
|
1758
1768
|
i0.ɵɵelement(1, "div", 35);
|
|
1759
1769
|
i0.ɵɵelementStart(2, "span", 36);
|
|
1760
1770
|
i0.ɵɵtext(3);
|
|
1771
|
+
i0.ɵɵelementEnd();
|
|
1772
|
+
i0.ɵɵelementStart(4, "span", 37);
|
|
1773
|
+
i0.ɵɵtext(5, "Lagging");
|
|
1761
1774
|
i0.ɵɵelementEnd()();
|
|
1762
1775
|
} if (rf & 2) {
|
|
1763
1776
|
const category_r3 = i0.ɵɵnextContext().$implicit;
|
|
@@ -1768,28 +1781,30 @@ function CompetitivePositioningSummaryComponent_Conditional_1_For_43_Conditional
|
|
|
1768
1781
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-orange-600" : "text-orange-400");
|
|
1769
1782
|
i0.ɵɵadvance();
|
|
1770
1783
|
i0.ɵɵtextInterpolate(category_r3.lagging);
|
|
1784
|
+
i0.ɵɵadvance();
|
|
1785
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-orange-600" : "text-orange-500");
|
|
1771
1786
|
} }
|
|
1772
1787
|
function CompetitivePositioningSummaryComponent_Conditional_1_For_43_Template(rf, ctx) { if (rf & 1) {
|
|
1773
|
-
i0.ɵɵelementStart(0, "div",
|
|
1774
|
-
i0.ɵɵelement(3, "div",
|
|
1775
|
-
i0.ɵɵelementStart(4, "span",
|
|
1788
|
+
i0.ɵɵelementStart(0, "div", 25)(1, "div", 30)(2, "div", 4);
|
|
1789
|
+
i0.ɵɵelement(3, "div", 31);
|
|
1790
|
+
i0.ɵɵelementStart(4, "span", 32);
|
|
1776
1791
|
i0.ɵɵtext(5);
|
|
1777
1792
|
i0.ɵɵelementEnd()();
|
|
1778
|
-
i0.ɵɵelementStart(6, "div",
|
|
1793
|
+
i0.ɵɵelementStart(6, "div", 13)(7, "span", 33);
|
|
1779
1794
|
i0.ɵɵtext(8);
|
|
1780
1795
|
i0.ɵɵelementEnd();
|
|
1781
|
-
i0.ɵɵelementStart(9, "span",
|
|
1796
|
+
i0.ɵɵelementStart(9, "span", 33);
|
|
1782
1797
|
i0.ɵɵtext(10, "metrics");
|
|
1783
1798
|
i0.ɵɵelementEnd()()();
|
|
1784
1799
|
i0.ɵɵelementStart(11, "div", 4);
|
|
1785
|
-
i0.ɵɵconditionalCreate(12, CompetitivePositioningSummaryComponent_Conditional_1_For_43_Conditional_12_Template,
|
|
1786
|
-
i0.ɵɵconditionalCreate(13, CompetitivePositioningSummaryComponent_Conditional_1_For_43_Conditional_13_Template,
|
|
1787
|
-
i0.ɵɵconditionalCreate(14, CompetitivePositioningSummaryComponent_Conditional_1_For_43_Conditional_14_Template,
|
|
1800
|
+
i0.ɵɵconditionalCreate(12, CompetitivePositioningSummaryComponent_Conditional_1_For_43_Conditional_12_Template, 6, 4, "div", 13);
|
|
1801
|
+
i0.ɵɵconditionalCreate(13, CompetitivePositioningSummaryComponent_Conditional_1_For_43_Conditional_13_Template, 6, 4, "div", 13);
|
|
1802
|
+
i0.ɵɵconditionalCreate(14, CompetitivePositioningSummaryComponent_Conditional_1_For_43_Conditional_14_Template, 6, 4, "div", 34);
|
|
1788
1803
|
i0.ɵɵelementEnd()();
|
|
1789
1804
|
} if (rf & 2) {
|
|
1790
1805
|
const category_r3 = ctx.$implicit;
|
|
1791
1806
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
1792
|
-
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "bg-slate-50" : "bg-slate-800/50");
|
|
1807
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "bg-slate-50 hover:bg-slate-100" : "bg-slate-800/50 hover:bg-slate-800")("libSymphiqTooltip", ctx_r1.getFunnelStageTooltip(category_r3.category))("tooltipPosition", "auto");
|
|
1793
1808
|
i0.ɵɵadvance(3);
|
|
1794
1809
|
i0.ɵɵproperty("innerHTML", category_r3.icon, i0.ɵɵsanitizeHtml);
|
|
1795
1810
|
i0.ɵɵadvance();
|
|
@@ -1826,49 +1841,49 @@ function CompetitivePositioningSummaryComponent_Conditional_1_Template(rf, ctx)
|
|
|
1826
1841
|
i0.ɵɵelementStart(9, "p", 9);
|
|
1827
1842
|
i0.ɵɵtext(10);
|
|
1828
1843
|
i0.ɵɵelementEnd();
|
|
1829
|
-
i0.ɵɵelementStart(11, "div", 10)(12, "div",
|
|
1830
|
-
i0.ɵɵelement(13, "div",
|
|
1831
|
-
i0.ɵɵelementStart(14, "div",
|
|
1844
|
+
i0.ɵɵelementStart(11, "div", 10)(12, "div", 11);
|
|
1845
|
+
i0.ɵɵelement(13, "div", 12);
|
|
1846
|
+
i0.ɵɵelementStart(14, "div", 13)(15, "span", 14);
|
|
1832
1847
|
i0.ɵɵtext(16);
|
|
1833
1848
|
i0.ɵɵelementEnd();
|
|
1834
|
-
i0.ɵɵelementStart(17, "span",
|
|
1849
|
+
i0.ɵɵelementStart(17, "span", 15);
|
|
1835
1850
|
i0.ɵɵtext(18, "Leading");
|
|
1836
1851
|
i0.ɵɵelementEnd()()();
|
|
1837
|
-
i0.ɵɵelementStart(19, "div",
|
|
1838
|
-
i0.ɵɵelement(20, "div",
|
|
1839
|
-
i0.ɵɵelementStart(21, "div",
|
|
1852
|
+
i0.ɵɵelementStart(19, "div", 11);
|
|
1853
|
+
i0.ɵɵelement(20, "div", 12);
|
|
1854
|
+
i0.ɵɵelementStart(21, "div", 13)(22, "span", 14);
|
|
1840
1855
|
i0.ɵɵtext(23);
|
|
1841
1856
|
i0.ɵɵelementEnd();
|
|
1842
|
-
i0.ɵɵelementStart(24, "span",
|
|
1857
|
+
i0.ɵɵelementStart(24, "span", 15);
|
|
1843
1858
|
i0.ɵɵtext(25, "Competitive");
|
|
1844
1859
|
i0.ɵɵelementEnd()()();
|
|
1845
|
-
i0.ɵɵelementStart(26, "div",
|
|
1846
|
-
i0.ɵɵelement(27, "div",
|
|
1847
|
-
i0.ɵɵelementStart(28, "div",
|
|
1860
|
+
i0.ɵɵelementStart(26, "div", 11);
|
|
1861
|
+
i0.ɵɵelement(27, "div", 16);
|
|
1862
|
+
i0.ɵɵelementStart(28, "div", 13)(29, "span", 17);
|
|
1848
1863
|
i0.ɵɵtext(30);
|
|
1849
1864
|
i0.ɵɵelementEnd();
|
|
1850
|
-
i0.ɵɵelementStart(31, "span",
|
|
1865
|
+
i0.ɵɵelementStart(31, "span", 15);
|
|
1851
1866
|
i0.ɵɵtext(32, "Lagging");
|
|
1852
1867
|
i0.ɵɵelementEnd()()()();
|
|
1853
|
-
i0.ɵɵelementStart(33, "div",
|
|
1868
|
+
i0.ɵɵelementStart(33, "div", 18)(34, "button", 19);
|
|
1854
1869
|
i0.ɵɵlistener("click", function CompetitivePositioningSummaryComponent_Conditional_1_Template_button_click_34_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.isExpanded.set(!ctx_r1.isExpanded())); });
|
|
1855
1870
|
i0.ɵɵelementStart(35, "span");
|
|
1856
1871
|
i0.ɵɵtext(36, "By Funnel Stage");
|
|
1857
1872
|
i0.ɵɵelementEnd();
|
|
1858
1873
|
i0.ɵɵnamespaceSVG();
|
|
1859
|
-
i0.ɵɵelementStart(37, "svg",
|
|
1860
|
-
i0.ɵɵelement(38, "path",
|
|
1874
|
+
i0.ɵɵelementStart(37, "svg", 20);
|
|
1875
|
+
i0.ɵɵelement(38, "path", 21);
|
|
1861
1876
|
i0.ɵɵelementEnd()();
|
|
1862
1877
|
i0.ɵɵnamespaceHTML();
|
|
1863
|
-
i0.ɵɵelementStart(39, "div",
|
|
1864
|
-
i0.ɵɵrepeaterCreate(42, CompetitivePositioningSummaryComponent_Conditional_1_For_43_Template, 15,
|
|
1878
|
+
i0.ɵɵelementStart(39, "div", 22)(40, "div", 23)(41, "div", 24);
|
|
1879
|
+
i0.ɵɵrepeaterCreate(42, CompetitivePositioningSummaryComponent_Conditional_1_For_43_Template, 15, 12, "div", 25, _forTrack0$8);
|
|
1865
1880
|
i0.ɵɵelementEnd()()()();
|
|
1866
|
-
i0.ɵɵelementStart(44, "div",
|
|
1881
|
+
i0.ɵɵelementStart(44, "div", 26)(45, "button", 27);
|
|
1867
1882
|
i0.ɵɵlistener("click", function CompetitivePositioningSummaryComponent_Conditional_1_Template_button_click_45_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.scrollToCompetitive.emit()); });
|
|
1868
1883
|
i0.ɵɵtext(46, " View More ");
|
|
1869
1884
|
i0.ɵɵnamespaceSVG();
|
|
1870
|
-
i0.ɵɵelementStart(47, "svg",
|
|
1871
|
-
i0.ɵɵelement(48, "path",
|
|
1885
|
+
i0.ɵɵelementStart(47, "svg", 28);
|
|
1886
|
+
i0.ɵɵelement(48, "path", 29);
|
|
1872
1887
|
i0.ɵɵelementEnd()()()();
|
|
1873
1888
|
} if (rf & 2) {
|
|
1874
1889
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -1885,7 +1900,9 @@ function CompetitivePositioningSummaryComponent_Conditional_1_Template(rf, ctx)
|
|
|
1885
1900
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-600" : "text-slate-400");
|
|
1886
1901
|
i0.ɵɵadvance();
|
|
1887
1902
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.narrativeSummary(), " ");
|
|
1888
|
-
i0.ɵɵadvance(
|
|
1903
|
+
i0.ɵɵadvance(2);
|
|
1904
|
+
i0.ɵɵproperty("libSymphiqTooltip", ctx_r1.leadingTooltip())("tooltipPosition", "bottom");
|
|
1905
|
+
i0.ɵɵadvance();
|
|
1889
1906
|
i0.ɵɵproperty("ngClass", ctx_r1.getScoreDotClass("leading"));
|
|
1890
1907
|
i0.ɵɵadvance(2);
|
|
1891
1908
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-emerald-700" : "text-emerald-400");
|
|
@@ -1893,7 +1910,9 @@ function CompetitivePositioningSummaryComponent_Conditional_1_Template(rf, ctx)
|
|
|
1893
1910
|
i0.ɵɵtextInterpolate(ctx_r1.competitiveStats().leading);
|
|
1894
1911
|
i0.ɵɵadvance();
|
|
1895
1912
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-emerald-600" : "text-emerald-500");
|
|
1896
|
-
i0.ɵɵadvance(
|
|
1913
|
+
i0.ɵɵadvance(2);
|
|
1914
|
+
i0.ɵɵproperty("libSymphiqTooltip", ctx_r1.competitiveTooltip())("tooltipPosition", "bottom");
|
|
1915
|
+
i0.ɵɵadvance();
|
|
1897
1916
|
i0.ɵɵproperty("ngClass", ctx_r1.getScoreDotClass("competitive"));
|
|
1898
1917
|
i0.ɵɵadvance(2);
|
|
1899
1918
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-blue-700" : "text-blue-400");
|
|
@@ -1901,7 +1920,9 @@ function CompetitivePositioningSummaryComponent_Conditional_1_Template(rf, ctx)
|
|
|
1901
1920
|
i0.ɵɵtextInterpolate(ctx_r1.competitiveStats().competitive);
|
|
1902
1921
|
i0.ɵɵadvance();
|
|
1903
1922
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-blue-600" : "text-blue-500");
|
|
1904
|
-
i0.ɵɵadvance(
|
|
1923
|
+
i0.ɵɵadvance(2);
|
|
1924
|
+
i0.ɵɵproperty("libSymphiqTooltip", ctx_r1.laggingTooltip())("tooltipPosition", "bottom");
|
|
1925
|
+
i0.ɵɵadvance();
|
|
1905
1926
|
i0.ɵɵproperty("ngClass", ctx_r1.getScoreDotClass("lagging"));
|
|
1906
1927
|
i0.ɵɵadvance(2);
|
|
1907
1928
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-orange-700" : "text-orange-400");
|
|
@@ -1923,10 +1944,13 @@ function CompetitivePositioningSummaryComponent_Conditional_1_Template(rf, ctx)
|
|
|
1923
1944
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-indigo-600 hover:text-indigo-700 hover:bg-indigo-50" : "text-indigo-400 hover:text-indigo-300 hover:bg-indigo-500/10");
|
|
1924
1945
|
} }
|
|
1925
1946
|
function CompetitivePositioningSummaryComponent_Conditional_2_For_32_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
1926
|
-
i0.ɵɵelementStart(0, "div",
|
|
1927
|
-
i0.ɵɵelement(1, "div",
|
|
1928
|
-
i0.ɵɵelementStart(2, "span",
|
|
1947
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
1948
|
+
i0.ɵɵelement(1, "div", 56);
|
|
1949
|
+
i0.ɵɵelementStart(2, "span", 36);
|
|
1929
1950
|
i0.ɵɵtext(3);
|
|
1951
|
+
i0.ɵɵelementEnd();
|
|
1952
|
+
i0.ɵɵelementStart(4, "span", 57);
|
|
1953
|
+
i0.ɵɵtext(5, "Leading");
|
|
1930
1954
|
i0.ɵɵelementEnd()();
|
|
1931
1955
|
} if (rf & 2) {
|
|
1932
1956
|
const category_r5 = i0.ɵɵnextContext().$implicit;
|
|
@@ -1937,12 +1961,17 @@ function CompetitivePositioningSummaryComponent_Conditional_2_For_32_Conditional
|
|
|
1937
1961
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-emerald-600" : "text-emerald-400");
|
|
1938
1962
|
i0.ɵɵadvance();
|
|
1939
1963
|
i0.ɵɵtextInterpolate(category_r5.leading);
|
|
1964
|
+
i0.ɵɵadvance();
|
|
1965
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-emerald-600" : "text-emerald-500");
|
|
1940
1966
|
} }
|
|
1941
1967
|
function CompetitivePositioningSummaryComponent_Conditional_2_For_32_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
1942
|
-
i0.ɵɵelementStart(0, "div",
|
|
1943
|
-
i0.ɵɵelement(1, "div",
|
|
1944
|
-
i0.ɵɵelementStart(2, "span",
|
|
1968
|
+
i0.ɵɵelementStart(0, "div", 13);
|
|
1969
|
+
i0.ɵɵelement(1, "div", 56);
|
|
1970
|
+
i0.ɵɵelementStart(2, "span", 36);
|
|
1945
1971
|
i0.ɵɵtext(3);
|
|
1972
|
+
i0.ɵɵelementEnd();
|
|
1973
|
+
i0.ɵɵelementStart(4, "span", 57);
|
|
1974
|
+
i0.ɵɵtext(5, "Competitive");
|
|
1946
1975
|
i0.ɵɵelementEnd()();
|
|
1947
1976
|
} if (rf & 2) {
|
|
1948
1977
|
const category_r5 = i0.ɵɵnextContext().$implicit;
|
|
@@ -1953,12 +1982,17 @@ function CompetitivePositioningSummaryComponent_Conditional_2_For_32_Conditional
|
|
|
1953
1982
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-blue-600" : "text-blue-400");
|
|
1954
1983
|
i0.ɵɵadvance();
|
|
1955
1984
|
i0.ɵɵtextInterpolate(category_r5.competitive);
|
|
1985
|
+
i0.ɵɵadvance();
|
|
1986
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-blue-600" : "text-blue-500");
|
|
1956
1987
|
} }
|
|
1957
1988
|
function CompetitivePositioningSummaryComponent_Conditional_2_For_32_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
1958
|
-
i0.ɵɵelementStart(0, "div",
|
|
1959
|
-
i0.ɵɵelement(1, "div",
|
|
1989
|
+
i0.ɵɵelementStart(0, "div", 34);
|
|
1990
|
+
i0.ɵɵelement(1, "div", 56);
|
|
1960
1991
|
i0.ɵɵelementStart(2, "span", 36);
|
|
1961
1992
|
i0.ɵɵtext(3);
|
|
1993
|
+
i0.ɵɵelementEnd();
|
|
1994
|
+
i0.ɵɵelementStart(4, "span", 57);
|
|
1995
|
+
i0.ɵɵtext(5, "Lagging");
|
|
1962
1996
|
i0.ɵɵelementEnd()();
|
|
1963
1997
|
} if (rf & 2) {
|
|
1964
1998
|
const category_r5 = i0.ɵɵnextContext().$implicit;
|
|
@@ -1969,25 +2003,27 @@ function CompetitivePositioningSummaryComponent_Conditional_2_For_32_Conditional
|
|
|
1969
2003
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-orange-600" : "text-orange-400");
|
|
1970
2004
|
i0.ɵɵadvance();
|
|
1971
2005
|
i0.ɵɵtextInterpolate(category_r5.lagging);
|
|
2006
|
+
i0.ɵɵadvance();
|
|
2007
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-orange-600" : "text-orange-500");
|
|
1972
2008
|
} }
|
|
1973
2009
|
function CompetitivePositioningSummaryComponent_Conditional_2_For_32_Template(rf, ctx) { if (rf & 1) {
|
|
1974
|
-
i0.ɵɵelementStart(0, "div",
|
|
1975
|
-
i0.ɵɵelement(3, "div",
|
|
1976
|
-
i0.ɵɵelementStart(4, "span",
|
|
2010
|
+
i0.ɵɵelementStart(0, "div", 49)(1, "div", 52)(2, "div", 4);
|
|
2011
|
+
i0.ɵɵelement(3, "div", 53);
|
|
2012
|
+
i0.ɵɵelementStart(4, "span", 54);
|
|
1977
2013
|
i0.ɵɵtext(5);
|
|
1978
2014
|
i0.ɵɵelementEnd()();
|
|
1979
|
-
i0.ɵɵelementStart(6, "span",
|
|
2015
|
+
i0.ɵɵelementStart(6, "span", 33);
|
|
1980
2016
|
i0.ɵɵtext(7);
|
|
1981
2017
|
i0.ɵɵelementEnd()();
|
|
1982
|
-
i0.ɵɵelementStart(8, "div",
|
|
1983
|
-
i0.ɵɵconditionalCreate(9, CompetitivePositioningSummaryComponent_Conditional_2_For_32_Conditional_9_Template,
|
|
1984
|
-
i0.ɵɵconditionalCreate(10, CompetitivePositioningSummaryComponent_Conditional_2_For_32_Conditional_10_Template,
|
|
1985
|
-
i0.ɵɵconditionalCreate(11, CompetitivePositioningSummaryComponent_Conditional_2_For_32_Conditional_11_Template,
|
|
2018
|
+
i0.ɵɵelementStart(8, "div", 55);
|
|
2019
|
+
i0.ɵɵconditionalCreate(9, CompetitivePositioningSummaryComponent_Conditional_2_For_32_Conditional_9_Template, 6, 4, "div", 13);
|
|
2020
|
+
i0.ɵɵconditionalCreate(10, CompetitivePositioningSummaryComponent_Conditional_2_For_32_Conditional_10_Template, 6, 4, "div", 13);
|
|
2021
|
+
i0.ɵɵconditionalCreate(11, CompetitivePositioningSummaryComponent_Conditional_2_For_32_Conditional_11_Template, 6, 4, "div", 34);
|
|
1986
2022
|
i0.ɵɵelementEnd()();
|
|
1987
2023
|
} if (rf & 2) {
|
|
1988
2024
|
const category_r5 = ctx.$implicit;
|
|
1989
2025
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
1990
|
-
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "bg-slate-50 hover:bg-slate-100" : "bg-slate-800/50 hover:bg-slate-800");
|
|
2026
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "bg-slate-50 hover:bg-slate-100" : "bg-slate-800/50 hover:bg-slate-800")("libSymphiqTooltip", ctx_r1.getFunnelStageTooltip(category_r5.category))("tooltipPosition", "right");
|
|
1991
2027
|
i0.ɵɵadvance(3);
|
|
1992
2028
|
i0.ɵɵproperty("innerHTML", category_r5.icon, i0.ɵɵsanitizeHtml);
|
|
1993
2029
|
i0.ɵɵadvance();
|
|
@@ -2007,50 +2043,50 @@ function CompetitivePositioningSummaryComponent_Conditional_2_For_32_Template(rf
|
|
|
2007
2043
|
} }
|
|
2008
2044
|
function CompetitivePositioningSummaryComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
2009
2045
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
2010
|
-
i0.ɵɵelementStart(0, "div", 2)(1, "div",
|
|
2046
|
+
i0.ɵɵelementStart(0, "div", 2)(1, "div", 38)(2, "div")(3, "div", 39);
|
|
2011
2047
|
i0.ɵɵnamespaceSVG();
|
|
2012
|
-
i0.ɵɵelementStart(4, "svg",
|
|
2048
|
+
i0.ɵɵelementStart(4, "svg", 40);
|
|
2013
2049
|
i0.ɵɵelement(5, "path", 6);
|
|
2014
2050
|
i0.ɵɵelementEnd();
|
|
2015
2051
|
i0.ɵɵnamespaceHTML();
|
|
2016
|
-
i0.ɵɵelementStart(6, "h3",
|
|
2052
|
+
i0.ɵɵelementStart(6, "h3", 41);
|
|
2017
2053
|
i0.ɵɵtext(7, "Competitive Positioning");
|
|
2018
2054
|
i0.ɵɵelementEnd()()();
|
|
2019
|
-
i0.ɵɵelementStart(8, "div",
|
|
2055
|
+
i0.ɵɵelementStart(8, "div", 42);
|
|
2020
2056
|
i0.ɵɵtext(9);
|
|
2021
2057
|
i0.ɵɵelementEnd()();
|
|
2022
2058
|
i0.ɵɵelementStart(10, "p", 9);
|
|
2023
2059
|
i0.ɵɵtext(11);
|
|
2024
2060
|
i0.ɵɵelementEnd();
|
|
2025
|
-
i0.ɵɵelementStart(12, "div",
|
|
2061
|
+
i0.ɵɵelementStart(12, "div", 43)(13, "div", 44)(14, "div", 45);
|
|
2026
2062
|
i0.ɵɵtext(15);
|
|
2027
2063
|
i0.ɵɵelementEnd();
|
|
2028
|
-
i0.ɵɵelementStart(16, "div",
|
|
2064
|
+
i0.ɵɵelementStart(16, "div", 46);
|
|
2029
2065
|
i0.ɵɵtext(17, "Leading");
|
|
2030
2066
|
i0.ɵɵelementEnd()();
|
|
2031
|
-
i0.ɵɵelementStart(18, "div",
|
|
2067
|
+
i0.ɵɵelementStart(18, "div", 44)(19, "div", 45);
|
|
2032
2068
|
i0.ɵɵtext(20);
|
|
2033
2069
|
i0.ɵɵelementEnd();
|
|
2034
|
-
i0.ɵɵelementStart(21, "div",
|
|
2070
|
+
i0.ɵɵelementStart(21, "div", 46);
|
|
2035
2071
|
i0.ɵɵtext(22, "Competitive");
|
|
2036
2072
|
i0.ɵɵelementEnd()();
|
|
2037
|
-
i0.ɵɵelementStart(23, "div",
|
|
2073
|
+
i0.ɵɵelementStart(23, "div", 44)(24, "div", 45);
|
|
2038
2074
|
i0.ɵɵtext(25);
|
|
2039
2075
|
i0.ɵɵelementEnd();
|
|
2040
|
-
i0.ɵɵelementStart(26, "div",
|
|
2076
|
+
i0.ɵɵelementStart(26, "div", 46);
|
|
2041
2077
|
i0.ɵɵtext(27, "Lagging");
|
|
2042
2078
|
i0.ɵɵelementEnd()()();
|
|
2043
|
-
i0.ɵɵelementStart(28, "div",
|
|
2079
|
+
i0.ɵɵelementStart(28, "div", 47)(29, "h4", 48);
|
|
2044
2080
|
i0.ɵɵtext(30, "By Funnel Stage");
|
|
2045
2081
|
i0.ɵɵelementEnd();
|
|
2046
|
-
i0.ɵɵrepeaterCreate(31, CompetitivePositioningSummaryComponent_Conditional_2_For_32_Template, 12,
|
|
2082
|
+
i0.ɵɵrepeaterCreate(31, CompetitivePositioningSummaryComponent_Conditional_2_For_32_Template, 12, 11, "div", 49, _forTrack0$8);
|
|
2047
2083
|
i0.ɵɵelementEnd();
|
|
2048
|
-
i0.ɵɵelementStart(33, "div",
|
|
2084
|
+
i0.ɵɵelementStart(33, "div", 26)(34, "button", 50);
|
|
2049
2085
|
i0.ɵɵlistener("click", function CompetitivePositioningSummaryComponent_Conditional_2_Template_button_click_34_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.scrollToCompetitive.emit()); });
|
|
2050
2086
|
i0.ɵɵtext(35, " View More ");
|
|
2051
2087
|
i0.ɵɵnamespaceSVG();
|
|
2052
|
-
i0.ɵɵelementStart(36, "svg",
|
|
2053
|
-
i0.ɵɵelement(37, "path",
|
|
2088
|
+
i0.ɵɵelementStart(36, "svg", 51);
|
|
2089
|
+
i0.ɵɵelement(37, "path", 29);
|
|
2054
2090
|
i0.ɵɵelementEnd()()()();
|
|
2055
2091
|
} if (rf & 2) {
|
|
2056
2092
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -2068,7 +2104,7 @@ function CompetitivePositioningSummaryComponent_Conditional_2_Template(rf, ctx)
|
|
|
2068
2104
|
i0.ɵɵadvance();
|
|
2069
2105
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.narrativeSummary(), " ");
|
|
2070
2106
|
i0.ɵɵadvance(2);
|
|
2071
|
-
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "bg-emerald-50 border-emerald-200" : "bg-emerald-500/10 border-emerald-500/20");
|
|
2107
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "bg-emerald-50 border-emerald-200" : "bg-emerald-500/10 border-emerald-500/20")("libSymphiqTooltip", ctx_r1.leadingTooltip())("tooltipPosition", "bottom");
|
|
2072
2108
|
i0.ɵɵadvance();
|
|
2073
2109
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-emerald-700" : "text-emerald-400");
|
|
2074
2110
|
i0.ɵɵadvance();
|
|
@@ -2076,7 +2112,7 @@ function CompetitivePositioningSummaryComponent_Conditional_2_Template(rf, ctx)
|
|
|
2076
2112
|
i0.ɵɵadvance();
|
|
2077
2113
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-emerald-600" : "text-emerald-500");
|
|
2078
2114
|
i0.ɵɵadvance(2);
|
|
2079
|
-
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "bg-blue-50 border-blue-200" : "bg-blue-500/10 border-blue-500/20");
|
|
2115
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "bg-blue-50 border-blue-200" : "bg-blue-500/10 border-blue-500/20")("libSymphiqTooltip", ctx_r1.competitiveTooltip())("tooltipPosition", "bottom");
|
|
2080
2116
|
i0.ɵɵadvance();
|
|
2081
2117
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-blue-700" : "text-blue-400");
|
|
2082
2118
|
i0.ɵɵadvance();
|
|
@@ -2084,7 +2120,7 @@ function CompetitivePositioningSummaryComponent_Conditional_2_Template(rf, ctx)
|
|
|
2084
2120
|
i0.ɵɵadvance();
|
|
2085
2121
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-blue-600" : "text-blue-500");
|
|
2086
2122
|
i0.ɵɵadvance(2);
|
|
2087
|
-
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "bg-orange-50 border-orange-200" : "bg-orange-500/10 border-orange-500/20");
|
|
2123
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "bg-orange-50 border-orange-200" : "bg-orange-500/10 border-orange-500/20")("libSymphiqTooltip", ctx_r1.laggingTooltip())("tooltipPosition", "bottom");
|
|
2088
2124
|
i0.ɵɵadvance();
|
|
2089
2125
|
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-orange-700" : "text-orange-400");
|
|
2090
2126
|
i0.ɵɵadvance();
|
|
@@ -2245,6 +2281,30 @@ class CompetitivePositioningSummaryComponent {
|
|
|
2245
2281
|
keyOpportunities
|
|
2246
2282
|
};
|
|
2247
2283
|
}, ...(ngDevMode ? [{ debugName: "competitiveScoreTooltip" }] : []));
|
|
2284
|
+
this.leadingTooltip = computed(() => {
|
|
2285
|
+
const metrics = this.getMetricsByStatus('LEADING');
|
|
2286
|
+
return {
|
|
2287
|
+
status: 'LEADING',
|
|
2288
|
+
statusDescription: 'Metrics where your performance exceeds industry benchmarks, indicating strong competitive advantage.',
|
|
2289
|
+
metrics: metrics.map(m => this.extractMetricTooltipData(m))
|
|
2290
|
+
};
|
|
2291
|
+
}, ...(ngDevMode ? [{ debugName: "leadingTooltip" }] : []));
|
|
2292
|
+
this.competitiveTooltip = computed(() => {
|
|
2293
|
+
const metrics = this.getMetricsByStatus('COMPETITIVE');
|
|
2294
|
+
return {
|
|
2295
|
+
status: 'COMPETITIVE',
|
|
2296
|
+
statusDescription: 'Metrics where your performance is within the industry benchmark range, showing competitive parity.',
|
|
2297
|
+
metrics: metrics.map(m => this.extractMetricTooltipData(m))
|
|
2298
|
+
};
|
|
2299
|
+
}, ...(ngDevMode ? [{ debugName: "competitiveTooltip" }] : []));
|
|
2300
|
+
this.laggingTooltip = computed(() => {
|
|
2301
|
+
const metrics = this.getMetricsByStatus('LAGGING');
|
|
2302
|
+
return {
|
|
2303
|
+
status: 'LAGGING',
|
|
2304
|
+
statusDescription: 'Metrics where your performance falls below industry benchmarks, representing opportunities for improvement.',
|
|
2305
|
+
metrics: metrics.map(m => this.extractMetricTooltipData(m))
|
|
2306
|
+
};
|
|
2307
|
+
}, ...(ngDevMode ? [{ debugName: "laggingTooltip" }] : []));
|
|
2248
2308
|
}
|
|
2249
2309
|
getHealthScoreBadgeClass() {
|
|
2250
2310
|
const score = this.competitiveStats().healthScore;
|
|
@@ -2278,10 +2338,75 @@ class CompetitivePositioningSummaryComponent {
|
|
|
2278
2338
|
formatCategoryName(category) {
|
|
2279
2339
|
return category.replace(/_/g, ' ').toLowerCase().replace(/\b\w/g, l => l.toUpperCase());
|
|
2280
2340
|
}
|
|
2341
|
+
getMetricsByStatus(status) {
|
|
2342
|
+
return this.metricsWithBenchmarks().filter(m => {
|
|
2343
|
+
const metric = m;
|
|
2344
|
+
return ('competitiveBenchmark' in m) && metric.competitiveBenchmark?.competitiveScore === status;
|
|
2345
|
+
});
|
|
2346
|
+
}
|
|
2347
|
+
getFunnelStageTooltip(funnelStage) {
|
|
2348
|
+
const categoryMetrics = this.funnelOrderService.getMetricsForFunnelStage(this.metricsWithBenchmarks(), funnelStage);
|
|
2349
|
+
// Group metrics by status
|
|
2350
|
+
const leadingMetrics = [];
|
|
2351
|
+
const competitiveMetrics = [];
|
|
2352
|
+
const laggingMetrics = [];
|
|
2353
|
+
categoryMetrics.forEach(m => {
|
|
2354
|
+
const metric = m;
|
|
2355
|
+
const score = ('competitiveBenchmark' in m) ? metric.competitiveBenchmark?.competitiveScore : undefined;
|
|
2356
|
+
if (score === 'LEADING')
|
|
2357
|
+
leadingMetrics.push(metric);
|
|
2358
|
+
else if (score === 'COMPETITIVE')
|
|
2359
|
+
competitiveMetrics.push(metric);
|
|
2360
|
+
else if (score === 'LAGGING')
|
|
2361
|
+
laggingMetrics.push(metric);
|
|
2362
|
+
});
|
|
2363
|
+
return {
|
|
2364
|
+
funnelStage: this.formatCategoryName(funnelStage),
|
|
2365
|
+
totalMetrics: categoryMetrics.length,
|
|
2366
|
+
leading: leadingMetrics.map(m => this.extractMetricTooltipData(m)),
|
|
2367
|
+
competitive: competitiveMetrics.map(m => this.extractMetricTooltipData(m)),
|
|
2368
|
+
lagging: laggingMetrics.map(m => this.extractMetricTooltipData(m))
|
|
2369
|
+
};
|
|
2370
|
+
}
|
|
2371
|
+
extractMetricTooltipData(metric) {
|
|
2372
|
+
// Format metric name from enum or description
|
|
2373
|
+
const metricName = metric.metric
|
|
2374
|
+
? metric.metric.toString().replace(/_/g, ' ').toLowerCase().replace(/\b\w/g, l => l.toUpperCase())
|
|
2375
|
+
: (metric.description || 'Unknown Metric');
|
|
2376
|
+
// Determine unit based on metric type
|
|
2377
|
+
let unit = 'count';
|
|
2378
|
+
if (metric.metric) {
|
|
2379
|
+
const metricStr = metric.metric.toString();
|
|
2380
|
+
if (metricStr.includes('REVENUE') || metricStr.includes('AMOUNT')) {
|
|
2381
|
+
unit = 'currency';
|
|
2382
|
+
}
|
|
2383
|
+
else if (metricStr.includes('RATE') || metricStr.includes('PERCENT')) {
|
|
2384
|
+
unit = 'percentage';
|
|
2385
|
+
}
|
|
2386
|
+
}
|
|
2387
|
+
// Parse benchmark range from metricBenchmark string (e.g., "2.5% - 4.0%")
|
|
2388
|
+
let benchmarkRange = { min: 0, max: 0 };
|
|
2389
|
+
if (metric.competitiveBenchmark?.metricBenchmark) {
|
|
2390
|
+
const benchmarkStr = metric.competitiveBenchmark.metricBenchmark;
|
|
2391
|
+
const rangeMatch = benchmarkStr.match(/([\d.]+)\s*[-–]\s*([\d.]+)/);
|
|
2392
|
+
if (rangeMatch) {
|
|
2393
|
+
benchmarkRange = {
|
|
2394
|
+
min: parseFloat(rangeMatch[1]),
|
|
2395
|
+
max: parseFloat(rangeMatch[2])
|
|
2396
|
+
};
|
|
2397
|
+
}
|
|
2398
|
+
}
|
|
2399
|
+
return {
|
|
2400
|
+
name: metricName,
|
|
2401
|
+
projectedValue: metric.projectedValue || metric.currentValue || 0,
|
|
2402
|
+
benchmarkRange: benchmarkRange,
|
|
2403
|
+
unit: unit
|
|
2404
|
+
};
|
|
2405
|
+
}
|
|
2281
2406
|
static { this.ɵfac = function CompetitivePositioningSummaryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CompetitivePositioningSummaryComponent)(); }; }
|
|
2282
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CompetitivePositioningSummaryComponent, selectors: [["symphiq-competitive-positioning-summary"]], inputs: { metrics: [1, "metrics"], isLightMode: [1, "isLightMode"], isCompactMode: [1, "isCompactMode"] }, outputs: { scrollToCompetitive: "scrollToCompetitive" }, decls: 3, vars: 3, consts: [[1, "rounded-xl", "border", "p-6", "transition-all", "duration-300", "hover:shadow-lg", "hover:scale-[1.02]"], [1, "space-y-4"], [1, "space-y-6"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"], [1, "text-base", "font-semibold", 3, "ngClass"], ["tooltipType", "competitive", 1, "px-3", "py-1", "rounded-full", "text-sm", "font-bold", "cursor-help", 3, "libSymphiqTooltip", "tooltipPosition"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "flex", "items-center", "gap-4"], [1, "w-2.5", "h-2.5", "rounded-full", 3, "ngClass"], [1, "flex", "items-center", "gap-1"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", 3, "ngClass"], [1, "w-2.5", "h-2.5", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "text-xl", "font-bold", "animate-pulse", 3, "ngClass"], [1, "border", "rounded-lg", "p-3", 3, "ngClass"], [1, "w-full", "flex", "items-center", "justify-between", "text-xs", "font-semibold", "uppercase", "tracking-wide", "transition-colors", "cursor-pointer", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "transition-transform", "duration-300"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "grid", "transition-[grid-template-rows]", "duration-300", "ease-in-out"], [1, "overflow-hidden"], [1, "space-y-2", "pt-3", "
|
|
2407
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CompetitivePositioningSummaryComponent, selectors: [["symphiq-competitive-positioning-summary"]], inputs: { metrics: [1, "metrics"], isLightMode: [1, "isLightMode"], isCompactMode: [1, "isCompactMode"] }, outputs: { scrollToCompetitive: "scrollToCompetitive" }, decls: 3, vars: 3, consts: [[1, "rounded-xl", "border", "p-6", "transition-all", "duration-300", "hover:shadow-lg", "hover:scale-[1.02]"], [1, "space-y-4"], [1, "space-y-6"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"], [1, "text-base", "font-semibold", 3, "ngClass"], ["tooltipType", "competitive", 1, "px-3", "py-1", "rounded-full", "text-sm", "font-bold", "cursor-help", 3, "libSymphiqTooltip", "tooltipPosition"], [1, "text-sm", "leading-relaxed", 3, "ngClass"], [1, "flex", "items-center", "gap-4"], ["tooltipType", "competitiveStatus", 1, "flex", "items-center", "gap-2", "cursor-help", 3, "libSymphiqTooltip", "tooltipPosition"], [1, "w-2.5", "h-2.5", "rounded-full", 3, "ngClass"], [1, "flex", "items-center", "gap-1"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", 3, "ngClass"], [1, "w-2.5", "h-2.5", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "text-xl", "font-bold", "animate-pulse", 3, "ngClass"], [1, "border", "rounded-lg", "p-3", 3, "ngClass"], [1, "w-full", "flex", "items-center", "justify-between", "text-xs", "font-semibold", "uppercase", "tracking-wide", "transition-colors", "cursor-pointer", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "transition-transform", "duration-300"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M19 9l-7 7-7-7"], [1, "grid", "transition-[grid-template-rows]", "duration-300", "ease-in-out"], [1, "overflow-hidden"], [1, "space-y-2", "pt-3"], ["tooltipType", "funnelStageCompetitive", 1, "rounded-lg", "p-2.5", "transition-all", "cursor-help", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "flex", "justify-end"], [1, "flex", "items-center", "gap-1", "px-3", "py-1.5", "rounded-lg", "text-xs", "font-semibold", "transition-all", "cursor-pointer", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "flex", "items-center", "justify-between", "mb-1.5"], [1, "flex-shrink-0", 3, "innerHTML"], [1, "text-xs", "font-medium", 3, "ngClass"], [1, "text-xs", 3, "ngClass"], [1, "flex", "items-center", "gap-1", "animate-pulse"], [1, "w-1.5", "h-1.5", "rounded-full", 3, "ngClass"], [1, "text-xs", "font-semibold", 3, "ngClass"], [1, "text-[10px]", "uppercase", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex", "items-center", "gap-2", "mb-1"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", 3, "ngClass"], [1, "text-lg", "font-bold", 3, "ngClass"], ["tooltipType", "competitive", 1, "px-4", "py-2", "rounded-full", "text-lg", "font-bold", "cursor-help", 3, "libSymphiqTooltip", "tooltipPosition"], [1, "grid", "grid-cols-3", "gap-4"], ["tooltipType", "competitiveStatus", 1, "border", "rounded-lg", "p-4", "text-center", "transition-all", "hover:scale-105", "cursor-help", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "text-3xl", "font-bold", "mb-1", 3, "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wide", 3, "ngClass"], [1, "space-y-2"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wide", "mb-3", 3, "ngClass"], ["tooltipType", "funnelStageCompetitive", 1, "rounded-lg", "p-3", "transition-all", "cursor-help", 3, "ngClass", "libSymphiqTooltip", "tooltipPosition"], [1, "flex", "items-center", "gap-1", "px-3", "py-1.5", "rounded-lg", "text-sm", "font-semibold", "transition-all", "cursor-pointer", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], [1, "flex", "items-center", "justify-between", "mb-2"], [3, "innerHTML"], [1, "text-sm", "font-medium", 3, "ngClass"], [1, "flex", "items-center", "gap-3"], [1, "w-2", "h-2", "rounded-full", 3, "ngClass"], [1, "text-xs", "uppercase", 3, "ngClass"]], template: function CompetitivePositioningSummaryComponent_Template(rf, ctx) { if (rf & 1) {
|
|
2283
2408
|
i0.ɵɵelementStart(0, "div", 0);
|
|
2284
|
-
i0.ɵɵconditionalCreate(1, CompetitivePositioningSummaryComponent_Conditional_1_Template, 49,
|
|
2409
|
+
i0.ɵɵconditionalCreate(1, CompetitivePositioningSummaryComponent_Conditional_1_Template, 49, 34, "div", 1)(2, CompetitivePositioningSummaryComponent_Conditional_2_Template, 38, 29, "div", 2);
|
|
2285
2410
|
i0.ɵɵelementEnd();
|
|
2286
2411
|
} if (rf & 2) {
|
|
2287
2412
|
i0.ɵɵclassMap(ctx.containerClass());
|
|
@@ -2326,21 +2451,33 @@ class CompetitivePositioningSummaryComponent {
|
|
|
2326
2451
|
|
|
2327
2452
|
<!-- Distribution Overview -->
|
|
2328
2453
|
<div class="flex items-center gap-4">
|
|
2329
|
-
<div
|
|
2454
|
+
<div
|
|
2455
|
+
class="flex items-center gap-2 cursor-help"
|
|
2456
|
+
[libSymphiqTooltip]="leadingTooltip()"
|
|
2457
|
+
tooltipType="competitiveStatus"
|
|
2458
|
+
[tooltipPosition]="'bottom'">
|
|
2330
2459
|
<div [ngClass]="getScoreDotClass('leading')" class="w-2.5 h-2.5 rounded-full"></div>
|
|
2331
2460
|
<div class="flex items-center gap-1">
|
|
2332
2461
|
<span [ngClass]="isLightMode() ? 'text-emerald-700' : 'text-emerald-400'" class="text-xl font-bold">{{ competitiveStats().leading }}</span>
|
|
2333
2462
|
<span [ngClass]="isLightMode() ? 'text-emerald-600' : 'text-emerald-500'" class="text-xs font-semibold uppercase">Leading</span>
|
|
2334
2463
|
</div>
|
|
2335
2464
|
</div>
|
|
2336
|
-
<div
|
|
2465
|
+
<div
|
|
2466
|
+
class="flex items-center gap-2 cursor-help"
|
|
2467
|
+
[libSymphiqTooltip]="competitiveTooltip()"
|
|
2468
|
+
tooltipType="competitiveStatus"
|
|
2469
|
+
[tooltipPosition]="'bottom'">
|
|
2337
2470
|
<div [ngClass]="getScoreDotClass('competitive')" class="w-2.5 h-2.5 rounded-full"></div>
|
|
2338
2471
|
<div class="flex items-center gap-1">
|
|
2339
2472
|
<span [ngClass]="isLightMode() ? 'text-blue-700' : 'text-blue-400'" class="text-xl font-bold">{{ competitiveStats().competitive }}</span>
|
|
2340
2473
|
<span [ngClass]="isLightMode() ? 'text-blue-600' : 'text-blue-500'" class="text-xs font-semibold uppercase">Competitive</span>
|
|
2341
2474
|
</div>
|
|
2342
2475
|
</div>
|
|
2343
|
-
<div
|
|
2476
|
+
<div
|
|
2477
|
+
class="flex items-center gap-2 cursor-help"
|
|
2478
|
+
[libSymphiqTooltip]="laggingTooltip()"
|
|
2479
|
+
tooltipType="competitiveStatus"
|
|
2480
|
+
[tooltipPosition]="'bottom'">
|
|
2344
2481
|
<div [ngClass]="getScoreDotClass('lagging')" class="w-2.5 h-2.5 rounded-full animate-pulse"></div>
|
|
2345
2482
|
<div class="flex items-center gap-1">
|
|
2346
2483
|
<span [ngClass]="isLightMode() ? 'text-orange-700' : 'text-orange-400'" class="text-xl font-bold animate-pulse">{{ competitiveStats().lagging }}</span>
|
|
@@ -2363,9 +2500,14 @@ class CompetitivePositioningSummaryComponent {
|
|
|
2363
2500
|
|
|
2364
2501
|
<div class="grid transition-[grid-template-rows] duration-300 ease-in-out" [style.grid-template-rows]="isExpanded() ? '1fr' : '0fr'">
|
|
2365
2502
|
<div class="overflow-hidden">
|
|
2366
|
-
<div class="space-y-2 pt-3
|
|
2503
|
+
<div class="space-y-2 pt-3">
|
|
2367
2504
|
@for (category of categoryStats(); track category.category) {
|
|
2368
|
-
<div
|
|
2505
|
+
<div
|
|
2506
|
+
[ngClass]="isLightMode() ? 'bg-slate-50 hover:bg-slate-100' : 'bg-slate-800/50 hover:bg-slate-800'"
|
|
2507
|
+
class="rounded-lg p-2.5 transition-all cursor-help"
|
|
2508
|
+
[libSymphiqTooltip]="getFunnelStageTooltip(category.category)"
|
|
2509
|
+
tooltipType="funnelStageCompetitive"
|
|
2510
|
+
[tooltipPosition]="'auto'">
|
|
2369
2511
|
<div class="flex items-center justify-between mb-1.5">
|
|
2370
2512
|
<div class="flex items-center gap-2">
|
|
2371
2513
|
<div [innerHTML]="category.icon" class="flex-shrink-0"></div>
|
|
@@ -2381,18 +2523,21 @@ class CompetitivePositioningSummaryComponent {
|
|
|
2381
2523
|
<div class="flex items-center gap-1">
|
|
2382
2524
|
<div [ngClass]="getScoreDotClass('leading')" class="w-1.5 h-1.5 rounded-full"></div>
|
|
2383
2525
|
<span [ngClass]="isLightMode() ? 'text-emerald-600' : 'text-emerald-400'" class="text-xs font-semibold">{{ category.leading }}</span>
|
|
2526
|
+
<span [ngClass]="isLightMode() ? 'text-emerald-600' : 'text-emerald-500'" class="text-[10px] uppercase">Leading</span>
|
|
2384
2527
|
</div>
|
|
2385
2528
|
}
|
|
2386
2529
|
@if (category.competitive > 0) {
|
|
2387
2530
|
<div class="flex items-center gap-1">
|
|
2388
2531
|
<div [ngClass]="getScoreDotClass('competitive')" class="w-1.5 h-1.5 rounded-full"></div>
|
|
2389
2532
|
<span [ngClass]="isLightMode() ? 'text-blue-600' : 'text-blue-400'" class="text-xs font-semibold">{{ category.competitive }}</span>
|
|
2533
|
+
<span [ngClass]="isLightMode() ? 'text-blue-600' : 'text-blue-500'" class="text-[10px] uppercase">Competitive</span>
|
|
2390
2534
|
</div>
|
|
2391
2535
|
}
|
|
2392
2536
|
@if (category.lagging > 0) {
|
|
2393
|
-
<div class="flex items-center gap-1">
|
|
2394
|
-
<div [ngClass]="getScoreDotClass('lagging')" class="w-1.5 h-1.5 rounded-full
|
|
2395
|
-
<span [ngClass]="isLightMode() ? 'text-orange-600' : 'text-orange-400'" class="text-xs font-semibold
|
|
2537
|
+
<div class="flex items-center gap-1 animate-pulse">
|
|
2538
|
+
<div [ngClass]="getScoreDotClass('lagging')" class="w-1.5 h-1.5 rounded-full"></div>
|
|
2539
|
+
<span [ngClass]="isLightMode() ? 'text-orange-600' : 'text-orange-400'" class="text-xs font-semibold">{{ category.lagging }}</span>
|
|
2540
|
+
<span [ngClass]="isLightMode() ? 'text-orange-600' : 'text-orange-500'" class="text-[10px] uppercase">Lagging</span>
|
|
2396
2541
|
</div>
|
|
2397
2542
|
}
|
|
2398
2543
|
</div>
|
|
@@ -2445,15 +2590,30 @@ class CompetitivePositioningSummaryComponent {
|
|
|
2445
2590
|
|
|
2446
2591
|
<!-- Distribution Overview -->
|
|
2447
2592
|
<div class="grid grid-cols-3 gap-4">
|
|
2448
|
-
<div
|
|
2593
|
+
<div
|
|
2594
|
+
[ngClass]="isLightMode() ? 'bg-emerald-50 border-emerald-200' : 'bg-emerald-500/10 border-emerald-500/20'"
|
|
2595
|
+
class="border rounded-lg p-4 text-center transition-all hover:scale-105 cursor-help"
|
|
2596
|
+
[libSymphiqTooltip]="leadingTooltip()"
|
|
2597
|
+
tooltipType="competitiveStatus"
|
|
2598
|
+
[tooltipPosition]="'bottom'">
|
|
2449
2599
|
<div [ngClass]="isLightMode() ? 'text-emerald-700' : 'text-emerald-400'" class="text-3xl font-bold mb-1">{{ competitiveStats().leading }}</div>
|
|
2450
2600
|
<div [ngClass]="isLightMode() ? 'text-emerald-600' : 'text-emerald-500'" class="text-xs font-semibold uppercase tracking-wide">Leading</div>
|
|
2451
2601
|
</div>
|
|
2452
|
-
<div
|
|
2602
|
+
<div
|
|
2603
|
+
[ngClass]="isLightMode() ? 'bg-blue-50 border-blue-200' : 'bg-blue-500/10 border-blue-500/20'"
|
|
2604
|
+
class="border rounded-lg p-4 text-center transition-all hover:scale-105 cursor-help"
|
|
2605
|
+
[libSymphiqTooltip]="competitiveTooltip()"
|
|
2606
|
+
tooltipType="competitiveStatus"
|
|
2607
|
+
[tooltipPosition]="'bottom'">
|
|
2453
2608
|
<div [ngClass]="isLightMode() ? 'text-blue-700' : 'text-blue-400'" class="text-3xl font-bold mb-1">{{ competitiveStats().competitive }}</div>
|
|
2454
2609
|
<div [ngClass]="isLightMode() ? 'text-blue-600' : 'text-blue-500'" class="text-xs font-semibold uppercase tracking-wide">Competitive</div>
|
|
2455
2610
|
</div>
|
|
2456
|
-
<div
|
|
2611
|
+
<div
|
|
2612
|
+
[ngClass]="isLightMode() ? 'bg-orange-50 border-orange-200' : 'bg-orange-500/10 border-orange-500/20'"
|
|
2613
|
+
class="border rounded-lg p-4 text-center transition-all hover:scale-105 cursor-help"
|
|
2614
|
+
[libSymphiqTooltip]="laggingTooltip()"
|
|
2615
|
+
tooltipType="competitiveStatus"
|
|
2616
|
+
[tooltipPosition]="'bottom'">
|
|
2457
2617
|
<div [ngClass]="isLightMode() ? 'text-orange-700' : 'text-orange-400'" class="text-3xl font-bold mb-1">{{ competitiveStats().lagging }}</div>
|
|
2458
2618
|
<div [ngClass]="isLightMode() ? 'text-orange-600' : 'text-orange-500'" class="text-xs font-semibold uppercase tracking-wide">Lagging</div>
|
|
2459
2619
|
</div>
|
|
@@ -2463,7 +2623,12 @@ class CompetitivePositioningSummaryComponent {
|
|
|
2463
2623
|
<div class="space-y-2">
|
|
2464
2624
|
<h4 [ngClass]="isLightMode() ? 'text-slate-700' : 'text-slate-300'" class="text-xs font-semibold uppercase tracking-wide mb-3">By Funnel Stage</h4>
|
|
2465
2625
|
@for (category of categoryStats(); track category.category) {
|
|
2466
|
-
<div
|
|
2626
|
+
<div
|
|
2627
|
+
[ngClass]="isLightMode() ? 'bg-slate-50 hover:bg-slate-100' : 'bg-slate-800/50 hover:bg-slate-800'"
|
|
2628
|
+
class="rounded-lg p-3 transition-all cursor-help"
|
|
2629
|
+
[libSymphiqTooltip]="getFunnelStageTooltip(category.category)"
|
|
2630
|
+
tooltipType="funnelStageCompetitive"
|
|
2631
|
+
[tooltipPosition]="'right'">
|
|
2467
2632
|
<div class="flex items-center justify-between mb-2">
|
|
2468
2633
|
<div class="flex items-center gap-2">
|
|
2469
2634
|
<div [innerHTML]="category.icon"></div>
|
|
@@ -2471,23 +2636,26 @@ class CompetitivePositioningSummaryComponent {
|
|
|
2471
2636
|
</div>
|
|
2472
2637
|
<span [ngClass]="isLightMode() ? 'text-slate-500' : 'text-slate-400'" class="text-xs">{{ category.total }} metrics</span>
|
|
2473
2638
|
</div>
|
|
2474
|
-
<div class="flex items-center gap-
|
|
2639
|
+
<div class="flex items-center gap-3">
|
|
2475
2640
|
@if (category.leading > 0) {
|
|
2476
2641
|
<div class="flex items-center gap-1">
|
|
2477
2642
|
<div [ngClass]="getScoreDotClass('leading')" class="w-2 h-2 rounded-full"></div>
|
|
2478
2643
|
<span [ngClass]="isLightMode() ? 'text-emerald-600' : 'text-emerald-400'" class="text-xs font-semibold">{{ category.leading }}</span>
|
|
2644
|
+
<span [ngClass]="isLightMode() ? 'text-emerald-600' : 'text-emerald-500'" class="text-xs uppercase">Leading</span>
|
|
2479
2645
|
</div>
|
|
2480
2646
|
}
|
|
2481
2647
|
@if (category.competitive > 0) {
|
|
2482
2648
|
<div class="flex items-center gap-1">
|
|
2483
2649
|
<div [ngClass]="getScoreDotClass('competitive')" class="w-2 h-2 rounded-full"></div>
|
|
2484
2650
|
<span [ngClass]="isLightMode() ? 'text-blue-600' : 'text-blue-400'" class="text-xs font-semibold">{{ category.competitive }}</span>
|
|
2651
|
+
<span [ngClass]="isLightMode() ? 'text-blue-600' : 'text-blue-500'" class="text-xs uppercase">Competitive</span>
|
|
2485
2652
|
</div>
|
|
2486
2653
|
}
|
|
2487
2654
|
@if (category.lagging > 0) {
|
|
2488
|
-
<div class="flex items-center gap-1">
|
|
2489
|
-
<div [ngClass]="getScoreDotClass('lagging')" class="w-2 h-2 rounded-full
|
|
2490
|
-
<span [ngClass]="isLightMode() ? 'text-orange-600' : 'text-orange-400'" class="text-xs font-semibold
|
|
2655
|
+
<div class="flex items-center gap-1 animate-pulse">
|
|
2656
|
+
<div [ngClass]="getScoreDotClass('lagging')" class="w-2 h-2 rounded-full"></div>
|
|
2657
|
+
<span [ngClass]="isLightMode() ? 'text-orange-600' : 'text-orange-400'" class="text-xs font-semibold">{{ category.lagging }}</span>
|
|
2658
|
+
<span [ngClass]="isLightMode() ? 'text-orange-600' : 'text-orange-500'" class="text-xs uppercase">Lagging</span>
|
|
2491
2659
|
</div>
|
|
2492
2660
|
}
|
|
2493
2661
|
</div>
|
|
@@ -2513,10 +2681,10 @@ class CompetitivePositioningSummaryComponent {
|
|
|
2513
2681
|
`
|
|
2514
2682
|
}]
|
|
2515
2683
|
}], null, { metrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "metrics", required: false }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }], scrollToCompetitive: [{ type: i0.Output, args: ["scrollToCompetitive"] }] }); })();
|
|
2516
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitivePositioningSummaryComponent, { className: "CompetitivePositioningSummaryComponent", filePath: "lib/components/funnel-analysis-dashboard/competitive-positioning-summary.component.ts", lineNumber:
|
|
2684
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitivePositioningSummaryComponent, { className: "CompetitivePositioningSummaryComponent", filePath: "lib/components/funnel-analysis-dashboard/competitive-positioning-summary.component.ts", lineNumber: 290 }); })();
|
|
2517
2685
|
|
|
2518
2686
|
const _c0$9 = () => [1, 2, 3, 4];
|
|
2519
|
-
function
|
|
2687
|
+
function OverallAssessmentComponent_Conditional_0_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
2520
2688
|
i0.ɵɵelementStart(0, "div", 9);
|
|
2521
2689
|
i0.ɵɵelement(1, "symphiq-skeleton-loader", 6)(2, "symphiq-skeleton-loader", 6);
|
|
2522
2690
|
i0.ɵɵelementEnd();
|
|
@@ -2532,12 +2700,12 @@ function OverallAssessmentComponent_Conditional_0_Template(rf, ctx) { if (rf & 1
|
|
|
2532
2700
|
i0.ɵɵelement(4, "symphiq-skeleton-loader", 6)(5, "symphiq-skeleton-loader", 6);
|
|
2533
2701
|
i0.ɵɵelementEnd();
|
|
2534
2702
|
i0.ɵɵelementStart(6, "div", 7);
|
|
2535
|
-
i0.ɵɵelement(7, "symphiq-skeleton-loader", 6)
|
|
2703
|
+
i0.ɵɵelement(7, "symphiq-skeleton-loader", 6);
|
|
2536
2704
|
i0.ɵɵelementEnd()();
|
|
2537
|
-
i0.ɵɵelementStart(
|
|
2538
|
-
i0.ɵɵrepeaterCreate(
|
|
2705
|
+
i0.ɵɵelementStart(8, "div", 8);
|
|
2706
|
+
i0.ɵɵrepeaterCreate(9, OverallAssessmentComponent_Conditional_0_For_10_Template, 3, 6, "div", 9, i0.ɵɵrepeaterTrackByIdentity);
|
|
2539
2707
|
i0.ɵɵelementEnd();
|
|
2540
|
-
i0.ɵɵelement(
|
|
2708
|
+
i0.ɵɵelement(11, "symphiq-skeleton-loader", 6);
|
|
2541
2709
|
i0.ɵɵelementEnd()();
|
|
2542
2710
|
} if (rf & 2) {
|
|
2543
2711
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -2548,18 +2716,16 @@ function OverallAssessmentComponent_Conditional_0_Template(rf, ctx) { if (rf & 1
|
|
|
2548
2716
|
i0.ɵɵproperty("width", "80%")("height", "16px")("isLightMode", ctx_r0.isLightMode());
|
|
2549
2717
|
i0.ɵɵadvance(2);
|
|
2550
2718
|
i0.ɵɵproperty("width", "100px")("height", "70px")("isLightMode", ctx_r0.isLightMode());
|
|
2551
|
-
i0.ɵɵadvance();
|
|
2552
|
-
i0.ɵɵproperty("width", "100px")("height", "70px")("isLightMode", ctx_r0.isLightMode());
|
|
2553
2719
|
i0.ɵɵadvance(2);
|
|
2554
|
-
i0.ɵɵrepeater(i0.ɵɵpureFunction0(
|
|
2720
|
+
i0.ɵɵrepeater(i0.ɵɵpureFunction0(14, _c0$9));
|
|
2555
2721
|
i0.ɵɵadvance(2);
|
|
2556
2722
|
i0.ɵɵproperty("width", "100%")("height", "200px")("isLightMode", ctx_r0.isLightMode());
|
|
2557
2723
|
} }
|
|
2558
|
-
function
|
|
2559
|
-
i0.ɵɵelementStart(0, "div",
|
|
2724
|
+
function OverallAssessmentComponent_Conditional_1_Conditional_13_Conditional_1_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
2725
|
+
i0.ɵɵelementStart(0, "div", 53)(1, "span", 49);
|
|
2560
2726
|
i0.ɵɵtext(2, "2025 Pacing: ");
|
|
2561
2727
|
i0.ɵɵelementEnd();
|
|
2562
|
-
i0.ɵɵelementStart(3, "span",
|
|
2728
|
+
i0.ɵɵelementStart(3, "span", 52);
|
|
2563
2729
|
i0.ɵɵtext(4);
|
|
2564
2730
|
i0.ɵɵelementEnd()();
|
|
2565
2731
|
} if (rf & 2) {
|
|
@@ -2572,41 +2738,41 @@ function OverallAssessmentComponent_Conditional_1_Conditional_21_Conditional_1_C
|
|
|
2572
2738
|
i0.ɵɵadvance();
|
|
2573
2739
|
i0.ɵɵtextInterpolate(ctx_r0.formattedRevenuePacing());
|
|
2574
2740
|
} }
|
|
2575
|
-
function
|
|
2576
|
-
i0.ɵɵelementStart(0, "div",
|
|
2741
|
+
function OverallAssessmentComponent_Conditional_1_Conditional_13_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
2742
|
+
i0.ɵɵelementStart(0, "div", 36)(1, "div", 23)(2, "div", 37);
|
|
2577
2743
|
i0.ɵɵnamespaceSVG();
|
|
2578
|
-
i0.ɵɵelementStart(3, "svg",
|
|
2579
|
-
i0.ɵɵelement(4, "path",
|
|
2744
|
+
i0.ɵɵelementStart(3, "svg", 38);
|
|
2745
|
+
i0.ɵɵelement(4, "path", 39);
|
|
2580
2746
|
i0.ɵɵelementEnd()();
|
|
2581
2747
|
i0.ɵɵnamespaceHTML();
|
|
2582
|
-
i0.ɵɵelementStart(5, "div",
|
|
2748
|
+
i0.ɵɵelementStart(5, "div", 40)(6, "h3", 41);
|
|
2583
2749
|
i0.ɵɵtext(7, "Your Revenue");
|
|
2584
2750
|
i0.ɵɵelementEnd();
|
|
2585
|
-
i0.ɵɵelementStart(8, "p",
|
|
2751
|
+
i0.ɵɵelementStart(8, "p", 42);
|
|
2586
2752
|
i0.ɵɵtext(9);
|
|
2587
2753
|
i0.ɵɵelementEnd()()();
|
|
2588
|
-
i0.ɵɵelementStart(10, "div",
|
|
2754
|
+
i0.ɵɵelementStart(10, "div", 43)(11, "div", 44)(12, "div", 45);
|
|
2589
2755
|
i0.ɵɵnamespaceSVG();
|
|
2590
|
-
i0.ɵɵelementStart(13, "svg",
|
|
2591
|
-
i0.ɵɵelement(14, "path",
|
|
2756
|
+
i0.ɵɵelementStart(13, "svg", 46);
|
|
2757
|
+
i0.ɵɵelement(14, "path", 47);
|
|
2592
2758
|
i0.ɵɵelementEnd();
|
|
2593
2759
|
i0.ɵɵnamespaceHTML();
|
|
2594
|
-
i0.ɵɵelementStart(15, "span",
|
|
2760
|
+
i0.ɵɵelementStart(15, "span", 48);
|
|
2595
2761
|
i0.ɵɵtext(16);
|
|
2596
2762
|
i0.ɵɵelementEnd();
|
|
2597
|
-
i0.ɵɵelementStart(17, "span",
|
|
2763
|
+
i0.ɵɵelementStart(17, "span", 49);
|
|
2598
2764
|
i0.ɵɵtext(18, "vs last year");
|
|
2599
2765
|
i0.ɵɵelementEnd()();
|
|
2600
|
-
i0.ɵɵelement(19, "div",
|
|
2601
|
-
i0.ɵɵelementStart(20, "div",
|
|
2766
|
+
i0.ɵɵelement(19, "div", 50);
|
|
2767
|
+
i0.ɵɵelementStart(20, "div", 51)(21, "span", 49);
|
|
2602
2768
|
i0.ɵɵtext(22, "Target: ");
|
|
2603
2769
|
i0.ɵɵelementEnd();
|
|
2604
|
-
i0.ɵɵelementStart(23, "span",
|
|
2770
|
+
i0.ɵɵelementStart(23, "span", 52);
|
|
2605
2771
|
i0.ɵɵtext(24);
|
|
2606
2772
|
i0.ɵɵelementEnd()()();
|
|
2607
|
-
i0.ɵɵconditionalCreate(25,
|
|
2773
|
+
i0.ɵɵconditionalCreate(25, OverallAssessmentComponent_Conditional_1_Conditional_13_Conditional_1_Conditional_25_Template, 5, 7, "div", 53);
|
|
2608
2774
|
i0.ɵɵelementEnd();
|
|
2609
|
-
i0.ɵɵelementStart(26, "div",
|
|
2775
|
+
i0.ɵɵelementStart(26, "div", 54)(27, "span", 55);
|
|
2610
2776
|
i0.ɵɵtext(28);
|
|
2611
2777
|
i0.ɵɵelementEnd();
|
|
2612
2778
|
i0.ɵɵelementStart(29, "span");
|
|
@@ -2654,10 +2820,10 @@ function OverallAssessmentComponent_Conditional_1_Conditional_21_Conditional_1_T
|
|
|
2654
2820
|
i0.ɵɵadvance(2);
|
|
2655
2821
|
i0.ɵɵtextInterpolate(ctx_r0.revenueStatusLabel());
|
|
2656
2822
|
} }
|
|
2657
|
-
function
|
|
2658
|
-
i0.ɵɵelementStart(0, "div",
|
|
2659
|
-
i0.ɵɵconditionalCreate(1,
|
|
2660
|
-
i0.ɵɵelementStart(2, "div",
|
|
2823
|
+
function OverallAssessmentComponent_Conditional_1_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
2824
|
+
i0.ɵɵelementStart(0, "div", 19);
|
|
2825
|
+
i0.ɵɵconditionalCreate(1, OverallAssessmentComponent_Conditional_1_Conditional_13_Conditional_1_Template, 31, 37, "div", 33);
|
|
2826
|
+
i0.ɵɵelementStart(2, "div", 34)(3, "p", 35);
|
|
2661
2827
|
i0.ɵɵtext(4);
|
|
2662
2828
|
i0.ɵɵelementEnd()()();
|
|
2663
2829
|
} if (rf & 2) {
|
|
@@ -2671,11 +2837,11 @@ function OverallAssessmentComponent_Conditional_1_Conditional_21_Template(rf, ct
|
|
|
2671
2837
|
i0.ɵɵadvance();
|
|
2672
2838
|
i0.ɵɵtextInterpolate(ctx_r0.assessment().narrative);
|
|
2673
2839
|
} }
|
|
2674
|
-
function
|
|
2675
|
-
i0.ɵɵelementStart(0, "div",
|
|
2840
|
+
function OverallAssessmentComponent_Conditional_1_Conditional_14_Conditional_0_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
2841
|
+
i0.ɵɵelementStart(0, "div", 53)(1, "span", 64);
|
|
2676
2842
|
i0.ɵɵtext(2, "2025 Pacing: ");
|
|
2677
2843
|
i0.ɵɵelementEnd();
|
|
2678
|
-
i0.ɵɵelementStart(3, "span",
|
|
2844
|
+
i0.ɵɵelementStart(3, "span", 65);
|
|
2679
2845
|
i0.ɵɵtext(4);
|
|
2680
2846
|
i0.ɵɵelementEnd()();
|
|
2681
2847
|
} if (rf & 2) {
|
|
@@ -2688,50 +2854,50 @@ function OverallAssessmentComponent_Conditional_1_Conditional_22_Conditional_0_C
|
|
|
2688
2854
|
i0.ɵɵadvance();
|
|
2689
2855
|
i0.ɵɵtextInterpolate(ctx_r0.formattedRevenuePacing());
|
|
2690
2856
|
} }
|
|
2691
|
-
function
|
|
2692
|
-
i0.ɵɵelementStart(0, "div",
|
|
2857
|
+
function OverallAssessmentComponent_Conditional_1_Conditional_14_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
2858
|
+
i0.ɵɵelementStart(0, "div", 58)(1, "div", 59)(2, "div", 60)(3, "div", 23)(4, "div", 37);
|
|
2693
2859
|
i0.ɵɵnamespaceSVG();
|
|
2694
|
-
i0.ɵɵelementStart(5, "svg",
|
|
2695
|
-
i0.ɵɵelement(6, "path",
|
|
2860
|
+
i0.ɵɵelementStart(5, "svg", 38);
|
|
2861
|
+
i0.ɵɵelement(6, "path", 39);
|
|
2696
2862
|
i0.ɵɵelementEnd()();
|
|
2697
2863
|
i0.ɵɵnamespaceHTML();
|
|
2698
|
-
i0.ɵɵelementStart(7, "div",
|
|
2864
|
+
i0.ɵɵelementStart(7, "div", 40)(8, "h3", 41);
|
|
2699
2865
|
i0.ɵɵtext(9, "Your Revenue");
|
|
2700
2866
|
i0.ɵɵelementEnd();
|
|
2701
|
-
i0.ɵɵelementStart(10, "p",
|
|
2867
|
+
i0.ɵɵelementStart(10, "p", 42);
|
|
2702
2868
|
i0.ɵɵtext(11);
|
|
2703
2869
|
i0.ɵɵelementEnd()()();
|
|
2704
|
-
i0.ɵɵelementStart(12, "div",
|
|
2870
|
+
i0.ɵɵelementStart(12, "div", 61)(13, "div", 44)(14, "div", 45);
|
|
2705
2871
|
i0.ɵɵnamespaceSVG();
|
|
2706
|
-
i0.ɵɵelementStart(15, "svg",
|
|
2707
|
-
i0.ɵɵelement(16, "path",
|
|
2872
|
+
i0.ɵɵelementStart(15, "svg", 62);
|
|
2873
|
+
i0.ɵɵelement(16, "path", 47);
|
|
2708
2874
|
i0.ɵɵelementEnd();
|
|
2709
2875
|
i0.ɵɵnamespaceHTML();
|
|
2710
|
-
i0.ɵɵelementStart(17, "span",
|
|
2876
|
+
i0.ɵɵelementStart(17, "span", 63);
|
|
2711
2877
|
i0.ɵɵtext(18);
|
|
2712
2878
|
i0.ɵɵelementEnd();
|
|
2713
|
-
i0.ɵɵelementStart(19, "span",
|
|
2879
|
+
i0.ɵɵelementStart(19, "span", 64);
|
|
2714
2880
|
i0.ɵɵtext(20, "vs last year");
|
|
2715
2881
|
i0.ɵɵelementEnd()();
|
|
2716
|
-
i0.ɵɵelement(21, "div",
|
|
2717
|
-
i0.ɵɵelementStart(22, "div",
|
|
2882
|
+
i0.ɵɵelement(21, "div", 50);
|
|
2883
|
+
i0.ɵɵelementStart(22, "div", 51)(23, "span", 64);
|
|
2718
2884
|
i0.ɵɵtext(24, "Target: ");
|
|
2719
2885
|
i0.ɵɵelementEnd();
|
|
2720
|
-
i0.ɵɵelementStart(25, "span",
|
|
2886
|
+
i0.ɵɵelementStart(25, "span", 65);
|
|
2721
2887
|
i0.ɵɵtext(26);
|
|
2722
2888
|
i0.ɵɵelementEnd()()();
|
|
2723
|
-
i0.ɵɵconditionalCreate(27,
|
|
2889
|
+
i0.ɵɵconditionalCreate(27, OverallAssessmentComponent_Conditional_1_Conditional_14_Conditional_0_Conditional_27_Template, 5, 7, "div", 53);
|
|
2724
2890
|
i0.ɵɵelementEnd()();
|
|
2725
|
-
i0.ɵɵelementStart(28, "div",
|
|
2891
|
+
i0.ɵɵelementStart(28, "div", 66)(29, "div", 17);
|
|
2726
2892
|
i0.ɵɵtext(30, "Status");
|
|
2727
2893
|
i0.ɵɵelementEnd();
|
|
2728
|
-
i0.ɵɵelementStart(31, "div",
|
|
2894
|
+
i0.ɵɵelementStart(31, "div", 67)(32, "span", 55);
|
|
2729
2895
|
i0.ɵɵtext(33);
|
|
2730
2896
|
i0.ɵɵelementEnd();
|
|
2731
2897
|
i0.ɵɵelementStart(34, "span");
|
|
2732
2898
|
i0.ɵɵtext(35);
|
|
2733
2899
|
i0.ɵɵelementEnd()();
|
|
2734
|
-
i0.ɵɵelementStart(36, "div",
|
|
2900
|
+
i0.ɵɵelementStart(36, "div", 68);
|
|
2735
2901
|
i0.ɵɵtext(37);
|
|
2736
2902
|
i0.ɵɵelementEnd()()()();
|
|
2737
2903
|
} if (rf & 2) {
|
|
@@ -2782,9 +2948,9 @@ function OverallAssessmentComponent_Conditional_1_Conditional_22_Conditional_0_T
|
|
|
2782
2948
|
i0.ɵɵadvance();
|
|
2783
2949
|
i0.ɵɵtextInterpolate(ctx_r0.revenueMetric().description);
|
|
2784
2950
|
} }
|
|
2785
|
-
function
|
|
2786
|
-
i0.ɵɵconditionalCreate(0,
|
|
2787
|
-
i0.ɵɵelementStart(1, "div",
|
|
2951
|
+
function OverallAssessmentComponent_Conditional_1_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
2952
|
+
i0.ɵɵconditionalCreate(0, OverallAssessmentComponent_Conditional_1_Conditional_14_Conditional_0_Template, 38, 40, "div", 56);
|
|
2953
|
+
i0.ɵɵelementStart(1, "div", 57)(2, "p", 35);
|
|
2788
2954
|
i0.ɵɵtext(3);
|
|
2789
2955
|
i0.ɵɵelementEnd()();
|
|
2790
2956
|
} if (rf & 2) {
|
|
@@ -2797,29 +2963,29 @@ function OverallAssessmentComponent_Conditional_1_Conditional_22_Template(rf, ct
|
|
|
2797
2963
|
i0.ɵɵadvance();
|
|
2798
2964
|
i0.ɵɵtextInterpolate(ctx_r0.assessment().narrative);
|
|
2799
2965
|
} }
|
|
2800
|
-
function
|
|
2966
|
+
function OverallAssessmentComponent_Conditional_1_Conditional_15_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
2801
2967
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
2802
|
-
i0.ɵɵelementStart(0, "symphiq-chart-container",
|
|
2803
|
-
i0.ɵɵlistener("chartClick", function
|
|
2968
|
+
i0.ɵɵelementStart(0, "symphiq-chart-container", 71);
|
|
2969
|
+
i0.ɵɵlistener("chartClick", function OverallAssessmentComponent_Conditional_1_Conditional_15_For_3_Template_symphiq_chart_container_chartClick_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r0.openChartModal($event)); });
|
|
2804
2970
|
i0.ɵɵelementEnd();
|
|
2805
2971
|
} if (rf & 2) {
|
|
2806
2972
|
const chart_r3 = ctx.$implicit;
|
|
2807
2973
|
const ctx_r0 = i0.ɵɵnextContext(3);
|
|
2808
2974
|
i0.ɵɵproperty("chart", chart_r3)("isLightMode", ctx_r0.isLightMode())("isCompactMode", ctx_r0.isCompactMode())("collapsibleIn", "compact")("isLoading", ctx_r0.isChartsLoading());
|
|
2809
2975
|
} }
|
|
2810
|
-
function
|
|
2811
|
-
i0.ɵɵelementStart(0, "div",
|
|
2812
|
-
i0.ɵɵrepeaterCreate(2,
|
|
2976
|
+
function OverallAssessmentComponent_Conditional_1_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
2977
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "div", 69);
|
|
2978
|
+
i0.ɵɵrepeaterCreate(2, OverallAssessmentComponent_Conditional_1_Conditional_15_For_3_Template, 1, 5, "symphiq-chart-container", 70, i0.ɵɵrepeaterTrackByIndex);
|
|
2813
2979
|
i0.ɵɵelementEnd()();
|
|
2814
2980
|
} if (rf & 2) {
|
|
2815
2981
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
2816
2982
|
i0.ɵɵadvance(2);
|
|
2817
2983
|
i0.ɵɵrepeater(ctx_r0.charts());
|
|
2818
2984
|
} }
|
|
2819
|
-
function
|
|
2985
|
+
function OverallAssessmentComponent_Conditional_1_Conditional_53_Template(rf, ctx) { if (rf & 1) {
|
|
2820
2986
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
2821
|
-
i0.ɵɵelementStart(0, "div",
|
|
2822
|
-
i0.ɵɵlistener("scrollToCompetitive", function
|
|
2987
|
+
i0.ɵɵelementStart(0, "div", 32)(1, "symphiq-competitive-positioning-summary", 72);
|
|
2988
|
+
i0.ɵɵlistener("scrollToCompetitive", function OverallAssessmentComponent_Conditional_1_Conditional_53_Template_symphiq_competitive_positioning_summary_scrollToCompetitive_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.scrollToCompetitiveSection()); });
|
|
2823
2989
|
i0.ɵɵelementEnd()();
|
|
2824
2990
|
} if (rf & 2) {
|
|
2825
2991
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
@@ -2834,71 +3000,62 @@ function OverallAssessmentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1
|
|
|
2834
3000
|
i0.ɵɵtext(6);
|
|
2835
3001
|
i0.ɵɵelementEnd()();
|
|
2836
3002
|
i0.ɵɵelementStart(7, "div", 15)(8, "div", 16)(9, "div", 17);
|
|
2837
|
-
i0.ɵɵtext(10, "
|
|
2838
|
-
i0.ɵɵelementEnd();
|
|
2839
|
-
i0.ɵɵelementStart(11, "div", 18)(12, "span", 19);
|
|
2840
|
-
i0.ɵɵtext(13);
|
|
3003
|
+
i0.ɵɵtext(10, "Grade");
|
|
2841
3004
|
i0.ɵɵelementEnd();
|
|
2842
|
-
i0.ɵɵelementStart(
|
|
2843
|
-
i0.ɵɵtext(
|
|
2844
|
-
i0.ɵɵelementEnd()()();
|
|
2845
|
-
i0.ɵɵelementStart(16, "div", 20)(17, "div", 17);
|
|
2846
|
-
i0.ɵɵtext(18, "Grade");
|
|
2847
|
-
i0.ɵɵelementEnd();
|
|
2848
|
-
i0.ɵɵelementStart(19, "div", 21);
|
|
2849
|
-
i0.ɵɵtext(20);
|
|
3005
|
+
i0.ɵɵelementStart(11, "div", 18);
|
|
3006
|
+
i0.ɵɵtext(12);
|
|
2850
3007
|
i0.ɵɵelementEnd()()()();
|
|
2851
|
-
i0.ɵɵconditionalCreate(
|
|
2852
|
-
i0.ɵɵconditionalCreate(
|
|
2853
|
-
i0.ɵɵelementStart(
|
|
3008
|
+
i0.ɵɵconditionalCreate(13, OverallAssessmentComponent_Conditional_1_Conditional_13_Template, 5, 6, "div", 19)(14, OverallAssessmentComponent_Conditional_1_Conditional_14_Template, 4, 6);
|
|
3009
|
+
i0.ɵɵconditionalCreate(15, OverallAssessmentComponent_Conditional_1_Conditional_15_Template, 4, 0, "div", 20);
|
|
3010
|
+
i0.ɵɵelementStart(16, "div", 21)(17, "div", 22)(18, "div", 23)(19, "div", 24);
|
|
2854
3011
|
i0.ɵɵnamespaceSVG();
|
|
2855
|
-
i0.ɵɵelementStart(
|
|
2856
|
-
i0.ɵɵelement(
|
|
3012
|
+
i0.ɵɵelementStart(20, "svg", 25);
|
|
3013
|
+
i0.ɵɵelement(21, "path", 26);
|
|
2857
3014
|
i0.ɵɵelementEnd()();
|
|
2858
3015
|
i0.ɵɵnamespaceHTML();
|
|
2859
|
-
i0.ɵɵelementStart(
|
|
2860
|
-
i0.ɵɵtext(
|
|
3016
|
+
i0.ɵɵelementStart(22, "h3", 27);
|
|
3017
|
+
i0.ɵɵtext(23, "Key Strengths");
|
|
2861
3018
|
i0.ɵɵelementEnd()();
|
|
2862
|
-
i0.ɵɵelementStart(
|
|
2863
|
-
i0.ɵɵtext(
|
|
3019
|
+
i0.ɵɵelementStart(24, "p", 28);
|
|
3020
|
+
i0.ɵɵtext(25);
|
|
2864
3021
|
i0.ɵɵelementEnd()();
|
|
2865
|
-
i0.ɵɵelementStart(
|
|
3022
|
+
i0.ɵɵelementStart(26, "div", 22)(27, "div", 23)(28, "div", 24);
|
|
2866
3023
|
i0.ɵɵnamespaceSVG();
|
|
2867
|
-
i0.ɵɵelementStart(
|
|
2868
|
-
i0.ɵɵelement(
|
|
3024
|
+
i0.ɵɵelementStart(29, "svg", 25);
|
|
3025
|
+
i0.ɵɵelement(30, "path", 29);
|
|
2869
3026
|
i0.ɵɵelementEnd()();
|
|
2870
3027
|
i0.ɵɵnamespaceHTML();
|
|
2871
|
-
i0.ɵɵelementStart(
|
|
2872
|
-
i0.ɵɵtext(
|
|
3028
|
+
i0.ɵɵelementStart(31, "h3", 27);
|
|
3029
|
+
i0.ɵɵtext(32, "Areas for Improvement");
|
|
2873
3030
|
i0.ɵɵelementEnd()();
|
|
2874
|
-
i0.ɵɵelementStart(
|
|
2875
|
-
i0.ɵɵtext(
|
|
3031
|
+
i0.ɵɵelementStart(33, "p", 28);
|
|
3032
|
+
i0.ɵɵtext(34);
|
|
2876
3033
|
i0.ɵɵelementEnd()();
|
|
2877
|
-
i0.ɵɵelementStart(
|
|
3034
|
+
i0.ɵɵelementStart(35, "div", 22)(36, "div", 23)(37, "div", 24);
|
|
2878
3035
|
i0.ɵɵnamespaceSVG();
|
|
2879
|
-
i0.ɵɵelementStart(
|
|
2880
|
-
i0.ɵɵelement(
|
|
3036
|
+
i0.ɵɵelementStart(38, "svg", 25);
|
|
3037
|
+
i0.ɵɵelement(39, "path", 30);
|
|
2881
3038
|
i0.ɵɵelementEnd()();
|
|
2882
3039
|
i0.ɵɵnamespaceHTML();
|
|
2883
|
-
i0.ɵɵelementStart(
|
|
2884
|
-
i0.ɵɵtext(
|
|
3040
|
+
i0.ɵɵelementStart(40, "h3", 27);
|
|
3041
|
+
i0.ɵɵtext(41, "Prior Year Trend");
|
|
2885
3042
|
i0.ɵɵelementEnd()();
|
|
2886
|
-
i0.ɵɵelementStart(
|
|
2887
|
-
i0.ɵɵtext(
|
|
3043
|
+
i0.ɵɵelementStart(42, "p", 28);
|
|
3044
|
+
i0.ɵɵtext(43);
|
|
2888
3045
|
i0.ɵɵelementEnd()();
|
|
2889
|
-
i0.ɵɵelementStart(
|
|
3046
|
+
i0.ɵɵelementStart(44, "div", 22)(45, "div", 23)(46, "div", 24);
|
|
2890
3047
|
i0.ɵɵnamespaceSVG();
|
|
2891
|
-
i0.ɵɵelementStart(
|
|
2892
|
-
i0.ɵɵelement(
|
|
3048
|
+
i0.ɵɵelementStart(47, "svg", 25);
|
|
3049
|
+
i0.ɵɵelement(48, "path", 31);
|
|
2893
3050
|
i0.ɵɵelementEnd()();
|
|
2894
3051
|
i0.ɵɵnamespaceHTML();
|
|
2895
|
-
i0.ɵɵelementStart(
|
|
2896
|
-
i0.ɵɵtext(
|
|
3052
|
+
i0.ɵɵelementStart(49, "h3", 27);
|
|
3053
|
+
i0.ɵɵtext(50, "Recommended Actions");
|
|
2897
3054
|
i0.ɵɵelementEnd()();
|
|
2898
|
-
i0.ɵɵelementStart(
|
|
2899
|
-
i0.ɵɵtext(
|
|
3055
|
+
i0.ɵɵelementStart(51, "p", 28);
|
|
3056
|
+
i0.ɵɵtext(52);
|
|
2900
3057
|
i0.ɵɵelementEnd()()();
|
|
2901
|
-
i0.ɵɵconditionalCreate(
|
|
3058
|
+
i0.ɵɵconditionalCreate(53, OverallAssessmentComponent_Conditional_1_Conditional_53_Template, 2, 3, "div", 32);
|
|
2902
3059
|
i0.ɵɵelementEnd();
|
|
2903
3060
|
} if (rf & 2) {
|
|
2904
3061
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -2910,15 +3067,6 @@ function OverallAssessmentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1
|
|
|
2910
3067
|
i0.ɵɵadvance();
|
|
2911
3068
|
i0.ɵɵtextInterpolate(ctx_r0.assessment().targetPacingStatus);
|
|
2912
3069
|
i0.ɵɵadvance(2);
|
|
2913
|
-
i0.ɵɵclassMap(ctx_r0.statusBadgeClass());
|
|
2914
|
-
i0.ɵɵproperty("ngStyle", ctx_r0.getStatusBadgeStyle())("libSymphiqTooltip", ctx_r0.statusBadgeTooltip())("tooltipPosition", "bottom");
|
|
2915
|
-
i0.ɵɵadvance();
|
|
2916
|
-
i0.ɵɵclassMap(ctx_r0.badgeLabelClass());
|
|
2917
|
-
i0.ɵɵadvance(4);
|
|
2918
|
-
i0.ɵɵtextInterpolate(ctx_r0.getStatusIcon());
|
|
2919
|
-
i0.ɵɵadvance(2);
|
|
2920
|
-
i0.ɵɵtextInterpolate(ctx_r0.statusLabel());
|
|
2921
|
-
i0.ɵɵadvance();
|
|
2922
3070
|
i0.ɵɵclassMap(ctx_r0.gradeBadgeClass());
|
|
2923
3071
|
i0.ɵɵclassProp("animate-pulse", ctx_r0.shouldPulseGrade());
|
|
2924
3072
|
i0.ɵɵproperty("libSymphiqTooltip", ctx_r0.gradeTooltip())("tooltipPosition", "bottom");
|
|
@@ -2927,9 +3075,9 @@ function OverallAssessmentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1
|
|
|
2927
3075
|
i0.ɵɵadvance(3);
|
|
2928
3076
|
i0.ɵɵtextInterpolate(ctx_r0.assessment().grade);
|
|
2929
3077
|
i0.ɵɵadvance();
|
|
2930
|
-
i0.ɵɵconditional(ctx_r0.isCompactMode() ?
|
|
3078
|
+
i0.ɵɵconditional(ctx_r0.isCompactMode() ? 13 : 14);
|
|
2931
3079
|
i0.ɵɵadvance(2);
|
|
2932
|
-
i0.ɵɵconditional(ctx_r0.charts() && ctx_r0.charts().length > 0 ?
|
|
3080
|
+
i0.ɵɵconditional(ctx_r0.charts() && ctx_r0.charts().length > 0 ? 15 : -1);
|
|
2933
3081
|
i0.ɵɵadvance(2);
|
|
2934
3082
|
i0.ɵɵclassMap(ctx_r0.strengthsCardClass());
|
|
2935
3083
|
i0.ɵɵadvance(2);
|
|
@@ -2979,7 +3127,7 @@ function OverallAssessmentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1
|
|
|
2979
3127
|
i0.ɵɵadvance();
|
|
2980
3128
|
i0.ɵɵtextInterpolate(ctx_r0.assessment().recommendedActions);
|
|
2981
3129
|
i0.ɵɵadvance();
|
|
2982
|
-
i0.ɵɵconditional(ctx_r0.hasCompetitiveData() ?
|
|
3130
|
+
i0.ɵɵconditional(ctx_r0.hasCompetitiveData() ? 53 : -1);
|
|
2983
3131
|
} }
|
|
2984
3132
|
class OverallAssessmentComponent {
|
|
2985
3133
|
constructor() {
|
|
@@ -3019,8 +3167,6 @@ class OverallAssessmentComponent {
|
|
|
3019
3167
|
this.lightModeBadgeLabelClass = computed(() => 'text-slate-600', ...(ngDevMode ? [{ debugName: "lightModeBadgeLabelClass" }] : []));
|
|
3020
3168
|
this.darkModeBadgeLabelClass = computed(() => 'text-slate-400', ...(ngDevMode ? [{ debugName: "darkModeBadgeLabelClass" }] : []));
|
|
3021
3169
|
this.badgeLabelClass = computed(() => this.isLightMode() ? this.lightModeBadgeLabelClass() : this.darkModeBadgeLabelClass(), ...(ngDevMode ? [{ debugName: "badgeLabelClass" }] : []));
|
|
3022
|
-
this.statusBadgeClass = computed(() => this.getStatusBadgeClass(), ...(ngDevMode ? [{ debugName: "statusBadgeClass" }] : []));
|
|
3023
|
-
this.statusLabel = computed(() => this.getStatusLabel(), ...(ngDevMode ? [{ debugName: "statusLabel" }] : []));
|
|
3024
3170
|
this.gradeBadgeClass = computed(() => this.getGradeBadgeClass(), ...(ngDevMode ? [{ debugName: "gradeBadgeClass" }] : []));
|
|
3025
3171
|
this.shouldPulseGrade = computed(() => {
|
|
3026
3172
|
const grade = this.assessment().grade || 'B';
|
|
@@ -3154,10 +3300,6 @@ class OverallAssessmentComponent {
|
|
|
3154
3300
|
return undefined;
|
|
3155
3301
|
return this.tooltipDataService.extractStatusTooltipData(metric);
|
|
3156
3302
|
}, ...(ngDevMode ? [{ debugName: "revenueStatusTooltip" }] : []));
|
|
3157
|
-
this.statusBadgeTooltip = computed(() => ({
|
|
3158
|
-
status: this.assessment().overallStatus || 'ON_TRACK',
|
|
3159
|
-
description: this.assessment().overallStatusDescription
|
|
3160
|
-
}), ...(ngDevMode ? [{ debugName: "statusBadgeTooltip" }] : []));
|
|
3161
3303
|
this.gradeTooltip = computed(() => ({
|
|
3162
3304
|
title: 'Performance Grade',
|
|
3163
3305
|
grade: this.assessment().grade || 'B',
|
|
@@ -3233,64 +3375,6 @@ class OverallAssessmentComponent {
|
|
|
3233
3375
|
}
|
|
3234
3376
|
return {};
|
|
3235
3377
|
}
|
|
3236
|
-
// Memoized status badge light mode classes
|
|
3237
|
-
getStatusBadgeClassLight() {
|
|
3238
|
-
const baseClass = 'px-4 py-2 rounded-xl border transition-all duration-300 backdrop-blur-md';
|
|
3239
|
-
const status = this.assessment().overallStatus || 'ON_TRACK';
|
|
3240
|
-
switch (status) {
|
|
3241
|
-
case 'ON_TRACK':
|
|
3242
|
-
return `${baseClass} bg-gradient-to-br from-blue-100/90 to-blue-50/90 text-blue-700 border-blue-200/50 shadow-[3px_3px_6px_rgba(163,163,163,0.25),-3px_-3px_6px_rgba(255,255,255,0.75)]`;
|
|
3243
|
-
case 'OVERACHIEVING':
|
|
3244
|
-
return `${baseClass} bg-gradient-to-br from-emerald-100/90 to-emerald-50/90 text-emerald-700 border-emerald-200/50 shadow-[3px_3px_6px_rgba(163,163,163,0.25),-3px_-3px_6px_rgba(255,255,255,0.75)]`;
|
|
3245
|
-
case 'AT_RISK':
|
|
3246
|
-
return `${baseClass} bg-gradient-to-br from-amber-100/90 to-amber-50/90 text-amber-700 border-amber-200/50 shadow-[3px_3px_6px_rgba(163,163,163,0.25),-3px_-3px_6px_rgba(255,255,255,0.75)]`;
|
|
3247
|
-
default:
|
|
3248
|
-
return `${baseClass} bg-gradient-to-br from-slate-100/90 to-slate-50/90 text-slate-700 border-slate-200/50 shadow-[3px_3px_6px_rgba(163,163,163,0.25),-3px_-3px_6px_rgba(255,255,255,0.75)]`;
|
|
3249
|
-
}
|
|
3250
|
-
}
|
|
3251
|
-
// Memoized status badge dark mode classes
|
|
3252
|
-
getStatusBadgeClassDark() {
|
|
3253
|
-
const baseClass = 'px-4 py-2 rounded-xl border transition-all duration-300 backdrop-blur-md';
|
|
3254
|
-
const status = this.assessment().overallStatus || 'ON_TRACK';
|
|
3255
|
-
switch (status) {
|
|
3256
|
-
case 'ON_TRACK':
|
|
3257
|
-
return `${baseClass} bg-gradient-to-r from-blue-500/20 to-blue-500/10 text-blue-400 border-blue-500/30 shadow-lg shadow-blue-500/20`;
|
|
3258
|
-
case 'OVERACHIEVING':
|
|
3259
|
-
return `${baseClass} bg-gradient-to-r from-emerald-500/20 to-emerald-500/10 text-emerald-400 border-emerald-500/30 shadow-lg shadow-emerald-500/20`;
|
|
3260
|
-
case 'AT_RISK':
|
|
3261
|
-
return `${baseClass} bg-gradient-to-r from-amber-500/20 to-amber-500/10 text-amber-400 border-amber-500/30 shadow-lg shadow-amber-500/20`;
|
|
3262
|
-
default:
|
|
3263
|
-
return `${baseClass} bg-gradient-to-r from-slate-500/20 to-slate-500/10 text-slate-400 border-slate-500/30 shadow-lg shadow-slate-500/20`;
|
|
3264
|
-
}
|
|
3265
|
-
}
|
|
3266
|
-
getStatusBadgeClass() {
|
|
3267
|
-
return this.isLightMode() ? this.getStatusBadgeClassLight() : this.getStatusBadgeClassDark();
|
|
3268
|
-
}
|
|
3269
|
-
getStatusBadgeStyle() {
|
|
3270
|
-
const status = this.assessment().overallStatus || 'ON_TRACK';
|
|
3271
|
-
if (status === 'AT_RISK') {
|
|
3272
|
-
return {
|
|
3273
|
-
animation: 'pulseSubtle 2s ease-in-out infinite'
|
|
3274
|
-
};
|
|
3275
|
-
}
|
|
3276
|
-
return {};
|
|
3277
|
-
}
|
|
3278
|
-
getStatusLabel() {
|
|
3279
|
-
return (this.assessment().overallStatus || '').replace(/_/g, ' ');
|
|
3280
|
-
}
|
|
3281
|
-
getStatusIcon() {
|
|
3282
|
-
const status = this.assessment().overallStatus || 'ON_TRACK';
|
|
3283
|
-
switch (status) {
|
|
3284
|
-
case 'OVERACHIEVING':
|
|
3285
|
-
return '↑';
|
|
3286
|
-
case 'ON_TRACK':
|
|
3287
|
-
return '→';
|
|
3288
|
-
case 'AT_RISK':
|
|
3289
|
-
return '⚠';
|
|
3290
|
-
default:
|
|
3291
|
-
return '•';
|
|
3292
|
-
}
|
|
3293
|
-
}
|
|
3294
3378
|
getRevenueStatusIcon() {
|
|
3295
3379
|
const metric = this.revenueMetric();
|
|
3296
3380
|
const status = metric?.status || 'ON_TRACK';
|
|
@@ -3366,8 +3450,8 @@ class OverallAssessmentComponent {
|
|
|
3366
3450
|
}
|
|
3367
3451
|
}
|
|
3368
3452
|
static { this.ɵfac = function OverallAssessmentComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || OverallAssessmentComponent)(); }; }
|
|
3369
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OverallAssessmentComponent, selectors: [["symphiq-funnel-analysis-overall-assessment"]], inputs: { assessment: [1, "assessment"], revenueMetric: [1, "revenueMetric"], charts: [1, "charts"], metrics: [1, "metrics"], isLightMode: [1, "isLightMode"], isLoading: [1, "isLoading"], isCompactMode: [1, "isCompactMode"], isChartsLoading: [1, "isChartsLoading"] }, outputs: { scrollToSection: "scrollToSection" }, decls: 2, vars: 1, consts: [[1, "rounded-2xl", "p-4", "sm:p-6", "lg:p-8", "border", "shadow-xl", "backdrop-blur-lg", 3, "class"], [1, "rounded-2xl", "p-4", "sm:p-6", "lg:p-8", "border", "shadow-xl", "transition-all", "duration-500", "hover:shadow-2xl", "group", "backdrop-blur-lg", 3, "class"], [1, "rounded-2xl", "p-4", "sm:p-6", "lg:p-8", "border", "shadow-xl", "backdrop-blur-lg"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1", "space-y-3"], [3, "width", "height", "isLightMode"], [1, "flex", "gap-3"], [1, "grid", "grid-cols-2", "gap-4"], [1, "space-y-2"], [1, "rounded-2xl", "p-4", "sm:p-6", "lg:p-8", "border", "shadow-xl", "transition-all", "duration-500", "hover:shadow-2xl", "group", "backdrop-blur-lg"], [1, "flex", "flex-col", "sm:flex-row", "items-start", "justify-between", "gap-4", "mb-4", "sm:mb-6"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-2"], [1, "text-sm", "sm:text-base"], [1, "flex", "items-center", "gap-3", "sm:gap-4", "w-full", "sm:w-auto"], ["tooltipType", "
|
|
3370
|
-
i0.ɵɵconditionalCreate(0, OverallAssessmentComponent_Conditional_0_Template,
|
|
3453
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OverallAssessmentComponent, selectors: [["symphiq-funnel-analysis-overall-assessment"]], inputs: { assessment: [1, "assessment"], revenueMetric: [1, "revenueMetric"], charts: [1, "charts"], metrics: [1, "metrics"], isLightMode: [1, "isLightMode"], isLoading: [1, "isLoading"], isCompactMode: [1, "isCompactMode"], isChartsLoading: [1, "isChartsLoading"] }, outputs: { scrollToSection: "scrollToSection" }, decls: 2, vars: 1, consts: [[1, "rounded-2xl", "p-4", "sm:p-6", "lg:p-8", "border", "shadow-xl", "backdrop-blur-lg", 3, "class"], [1, "rounded-2xl", "p-4", "sm:p-6", "lg:p-8", "border", "shadow-xl", "transition-all", "duration-500", "hover:shadow-2xl", "group", "backdrop-blur-lg", 3, "class"], [1, "rounded-2xl", "p-4", "sm:p-6", "lg:p-8", "border", "shadow-xl", "backdrop-blur-lg"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1", "space-y-3"], [3, "width", "height", "isLightMode"], [1, "flex", "gap-3", "justify-end"], [1, "grid", "grid-cols-2", "gap-4"], [1, "space-y-2"], [1, "rounded-2xl", "p-4", "sm:p-6", "lg:p-8", "border", "shadow-xl", "transition-all", "duration-500", "hover:shadow-2xl", "group", "backdrop-blur-lg"], [1, "flex", "flex-col", "sm:flex-row", "items-start", "justify-between", "gap-4", "mb-4", "sm:mb-6"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-2"], [1, "text-sm", "sm:text-base"], [1, "flex", "items-center", "gap-3", "sm:gap-4", "w-full", "sm:w-auto", "justify-end"], ["tooltipType", "badge", 1, "flex-1", "sm:flex-initial", "transition-all", "duration-300", "hover:scale-110", 3, "libSymphiqTooltip", "tooltipPosition"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-1"], [1, "text-3xl", "sm:text-4xl", "font-bold"], [1, "flex", "flex-wrap", "gap-4", "mb-6", "sm:mb-8"], [1, "mb-4", "sm:mb-6"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "gap-4", "sm:gap-6"], [1, "rounded-xl", "p-4", "sm:p-6", "border", "transition-all", "duration-300", "hover:scale-105", "hover:shadow-xl"], [1, "flex", "items-center", "gap-3", "mb-3"], [1, "w-8", "h-8", "sm:w-10", "sm:h-10", "rounded-lg", "flex", "items-center", "justify-center", "flex-shrink-0"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5", "sm:w-6", "sm:h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "text-base", "sm:text-lg", "font-semibold"], [1, "text-xs", "sm:text-sm", "leading-relaxed"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"], [1, "mt-6", "sm:mt-8"], [1, "flex-shrink-0", "rounded-xl", "p-6", "sm:p-8", "border-2", "transition-all", "duration-500", "hover:scale-[1.01]", 3, "class"], [1, "flex-1", "min-w-[300px]", "rounded-xl", "p-4", "sm:p-6", "border", "transition-all", "duration-300", "hover:shadow-xl", "hover:scale-[1.01]", "group"], [1, "text-sm", "sm:text-base", "leading-relaxed"], [1, "flex-shrink-0", "rounded-xl", "p-6", "sm:p-8", "border-2", "transition-all", "duration-500", "hover:scale-[1.01]"], [1, "w-10", "h-10", "sm:w-12", "sm:h-12", "rounded-lg", "flex", "items-center", "justify-center", "flex-shrink-0"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "sm:w-7", "sm:h-7"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "min-w-0", "flex-1"], [1, "text-xs", "sm:text-sm", "font-semibold", "uppercase", "tracking-wider"], ["tooltipType", "metric", 1, "text-2xl", "sm:text-3xl", "lg:text-4xl", "font-bold", "truncate", "transition-all", "duration-300", "hover:scale-105", 3, "libSymphiqTooltip", "tooltipPosition"], [1, "flex", "flex-col", "gap-2", "mb-3"], [1, "flex", "flex-col", "sm:flex-row", "sm:items-center", "gap-2", "sm:gap-4"], ["tooltipType", "trend", 1, "flex", "items-center", "gap-2", 3, "libSymphiqTooltip", "tooltipPosition"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-4", "h-4", "flex-shrink-0"], ["fill-rule", "evenodd", "d", "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", "clip-rule", "evenodd"], [1, "font-semibold", "text-base"], [1, "text-xs"], [1, "hidden", "sm:block", "h-6", "w-px", "bg-slate-600"], ["tooltipType", "status", 3, "libSymphiqTooltip", "tooltipPosition"], [1, "font-semibold", "text-sm"], ["tooltipType", "status", 1, "flex", "items-center", "gap-2", 3, "libSymphiqTooltip", "tooltipPosition"], ["tooltipType", "status", 1, "inline-flex", "items-center", "gap-2", "px-3", "sm:px-4", "py-1.5", "sm:py-2", "rounded-lg", "font-bold", "text-base", "sm:text-lg", "transition-all", "duration-300", 3, "ngStyle", "libSymphiqTooltip", "tooltipPosition"], [1, "text-lg"], [1, "rounded-xl", "p-6", "sm:p-8", "mb-6", "sm:mb-8", "border-2", "transition-all", "duration-500", "hover:scale-[1.01]", 3, "class"], [1, "rounded-xl", "p-4", "sm:p-6", "mb-4", "sm:mb-6", "border", "transition-all", "duration-300", "hover:shadow-xl", "hover:scale-[1.01]", "group"], [1, "rounded-xl", "p-6", "sm:p-8", "mb-6", "sm:mb-8", "border-2", "transition-all", "duration-500", "hover:scale-[1.01]"], [1, "flex", "flex-col", "md:flex-row", "items-start", "md:items-center", "gap-4", "md:gap-0"], [1, "flex-1", "w-full"], [1, "flex", "flex-col", "gap-2", "mt-4"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-4", "h-4", "sm:w-5", "sm:h-5", "flex-shrink-0"], [1, "font-semibold", "text-base", "sm:text-lg"], [1, "text-xs", "sm:text-sm"], [1, "font-semibold", "text-sm", "sm:text-base"], [1, "w-full", "md:w-auto", "md:text-right", "md:ml-4"], [1, "inline-flex", "items-center", "gap-2", "px-3", "sm:px-4", "py-1.5", "sm:py-2", "rounded-lg", "font-bold", "text-base", "sm:text-lg", "transition-all", "duration-300", 3, "ngStyle"], [1, "mt-2", "text-xs", "sm:text-sm"], [1, "grid", "grid-cols-1", "lg:grid-cols-2", "gap-4"], [3, "chart", "isLightMode", "isCompactMode", "collapsibleIn", "isLoading"], [3, "chartClick", "chart", "isLightMode", "isCompactMode", "collapsibleIn", "isLoading"], [3, "scrollToCompetitive", "metrics", "isLightMode", "isCompactMode"]], template: function OverallAssessmentComponent_Template(rf, ctx) { if (rf & 1) {
|
|
3454
|
+
i0.ɵɵconditionalCreate(0, OverallAssessmentComponent_Conditional_0_Template, 12, 15, "div", 0)(1, OverallAssessmentComponent_Conditional_1_Template, 54, 63, "div", 1);
|
|
3371
3455
|
} if (rf & 2) {
|
|
3372
3456
|
i0.ɵɵconditional(ctx.isLoading() ? 0 : 1);
|
|
3373
3457
|
} }, dependencies: [CommonModule, i1.NgStyle, ChartContainerComponent, TooltipDirective, SkeletonLoaderComponent, CompetitivePositioningSummaryComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
@@ -3388,8 +3472,7 @@ class OverallAssessmentComponent {
|
|
|
3388
3472
|
<symphiq-skeleton-loader [width]="'60%'" [height]="'32px'" [isLightMode]="isLightMode()"></symphiq-skeleton-loader>
|
|
3389
3473
|
<symphiq-skeleton-loader [width]="'80%'" [height]="'16px'" [isLightMode]="isLightMode()"></symphiq-skeleton-loader>
|
|
3390
3474
|
</div>
|
|
3391
|
-
<div class="flex gap-3">
|
|
3392
|
-
<symphiq-skeleton-loader [width]="'100px'" [height]="'70px'" [isLightMode]="isLightMode()"></symphiq-skeleton-loader>
|
|
3475
|
+
<div class="flex gap-3 justify-end">
|
|
3393
3476
|
<symphiq-skeleton-loader [width]="'100px'" [height]="'70px'" [isLightMode]="isLightMode()"></symphiq-skeleton-loader>
|
|
3394
3477
|
</div>
|
|
3395
3478
|
</div>
|
|
@@ -3411,20 +3494,7 @@ class OverallAssessmentComponent {
|
|
|
3411
3494
|
<h2 [class]="titleClass()" class="text-2xl sm:text-3xl font-bold mb-2">Overall Performance</h2>
|
|
3412
3495
|
<p [class]="subtitleClass()" class="text-sm sm:text-base">{{ assessment().targetPacingStatus }}</p>
|
|
3413
3496
|
</div>
|
|
3414
|
-
<div class="flex items-center gap-3 sm:gap-4 w-full sm:w-auto">
|
|
3415
|
-
<div
|
|
3416
|
-
[class]="statusBadgeClass()"
|
|
3417
|
-
[ngStyle]="getStatusBadgeStyle()"
|
|
3418
|
-
class="text-center flex-1 sm:flex-initial transition-all duration-300 hover:scale-105"
|
|
3419
|
-
[libSymphiqTooltip]="statusBadgeTooltip()"
|
|
3420
|
-
tooltipType="status"
|
|
3421
|
-
[tooltipPosition]="'bottom'">
|
|
3422
|
-
<div [class]="badgeLabelClass()" class="text-xs font-semibold uppercase tracking-wider mb-1">Status</div>
|
|
3423
|
-
<div class="text-base sm:text-lg font-bold flex items-center justify-center gap-2">
|
|
3424
|
-
<span class="text-lg">{{ getStatusIcon() }}</span>
|
|
3425
|
-
<span>{{ statusLabel() }}</span>
|
|
3426
|
-
</div>
|
|
3427
|
-
</div>
|
|
3497
|
+
<div class="flex items-center gap-3 sm:gap-4 w-full sm:w-auto justify-end">
|
|
3428
3498
|
<div
|
|
3429
3499
|
[class]="gradeBadgeClass()"
|
|
3430
3500
|
[class.animate-pulse]="shouldPulseGrade()"
|
|
@@ -3660,7 +3730,7 @@ class OverallAssessmentComponent {
|
|
|
3660
3730
|
`,
|
|
3661
3731
|
}]
|
|
3662
3732
|
}], null, { assessment: [{ type: i0.Input, args: [{ isSignal: true, alias: "assessment", required: false }] }], revenueMetric: [{ type: i0.Input, args: [{ isSignal: true, alias: "revenueMetric", required: false }] }], charts: [{ type: i0.Input, args: [{ isSignal: true, alias: "charts", required: false }] }], metrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "metrics", required: false }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], isCompactMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isCompactMode", required: false }] }], isChartsLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isChartsLoading", required: false }] }], scrollToSection: [{ type: i0.Output, args: ["scrollToSection"] }] }); })();
|
|
3663
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OverallAssessmentComponent, { className: "OverallAssessmentComponent", filePath: "lib/components/funnel-analysis-dashboard/overall-assessment.component.ts", lineNumber:
|
|
3733
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OverallAssessmentComponent, { className: "OverallAssessmentComponent", filePath: "lib/components/funnel-analysis-dashboard/overall-assessment.component.ts", lineNumber: 282 }); })();
|
|
3664
3734
|
|
|
3665
3735
|
const _c0$8 = () => [1, 2, 3];
|
|
3666
3736
|
const _c1$2 = () => [1, 2, 3, 4];
|
|
@@ -6242,7 +6312,7 @@ class MetricCardComponent {
|
|
|
6242
6312
|
const _c0$7 = () => [1, 2, 3];
|
|
6243
6313
|
const _c1$1 = (a0, a1, a2) => [a0, a1, a2];
|
|
6244
6314
|
const _c2$1 = (a0, a1) => [a0, a1];
|
|
6245
|
-
const _forTrack0$
|
|
6315
|
+
const _forTrack0$7 = ($index, $item) => $item.metric;
|
|
6246
6316
|
const _forTrack1$1 = ($index, $item) => $item.dimensionValue;
|
|
6247
6317
|
function BreakdownSectionComponent_Conditional_0_For_7_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
6248
6318
|
i0.ɵɵelementStart(0, "div", 7);
|
|
@@ -6565,7 +6635,7 @@ function BreakdownSectionComponent_Conditional_1_Template(rf, ctx) { if (rf & 1)
|
|
|
6565
6635
|
i0.ɵɵelementEnd()();
|
|
6566
6636
|
i0.ɵɵconditionalCreate(6, BreakdownSectionComponent_Conditional_1_Conditional_6_Template, 3, 0, "div", 11);
|
|
6567
6637
|
i0.ɵɵelementStart(7, "div", 12);
|
|
6568
|
-
i0.ɵɵrepeaterCreate(8, BreakdownSectionComponent_Conditional_1_For_9_Template, 28, 18, "div", 13, _forTrack0$
|
|
6638
|
+
i0.ɵɵrepeaterCreate(8, BreakdownSectionComponent_Conditional_1_For_9_Template, 28, 18, "div", 13, _forTrack0$7);
|
|
6569
6639
|
i0.ɵɵelementEnd()();
|
|
6570
6640
|
} if (rf & 2) {
|
|
6571
6641
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -10893,96 +10963,730 @@ class NarrativeTooltipComponent {
|
|
|
10893
10963
|
}], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }] }); })();
|
|
10894
10964
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NarrativeTooltipComponent, { className: "NarrativeTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/narrative-tooltip.component.ts", lineNumber: 25 }); })();
|
|
10895
10965
|
|
|
10896
|
-
const
|
|
10897
|
-
function
|
|
10898
|
-
i0.ɵɵ
|
|
10899
|
-
|
|
10900
|
-
|
|
10901
|
-
i0.ɵɵ
|
|
10902
|
-
|
|
10903
|
-
|
|
10904
|
-
i0.ɵɵ
|
|
10905
|
-
|
|
10906
|
-
|
|
10907
|
-
i0.ɵɵ
|
|
10908
|
-
|
|
10909
|
-
|
|
10910
|
-
i0.ɵɵ
|
|
10911
|
-
|
|
10912
|
-
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
10913
|
-
i0.ɵɵproperty("content", ctx_r1.statusContent())("isLightMode", ctx_r1.isLightMode());
|
|
10914
|
-
} }
|
|
10915
|
-
function TooltipContainerComponent_Conditional_0_Case_4_Template(rf, ctx) { if (rf & 1) {
|
|
10916
|
-
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_4_Conditional_0_Template, 1, 2, "symphiq-status-badge-tooltip", 6);
|
|
10917
|
-
} if (rf & 2) {
|
|
10918
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
10919
|
-
i0.ɵɵconditional(ctx_r1.statusContent() ? 0 : -1);
|
|
10920
|
-
} }
|
|
10921
|
-
function TooltipContainerComponent_Conditional_0_Case_5_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
10922
|
-
i0.ɵɵelement(0, "symphiq-trend-indicator-tooltip", 6);
|
|
10923
|
-
} if (rf & 2) {
|
|
10924
|
-
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
10925
|
-
i0.ɵɵproperty("content", ctx_r1.trendContent())("isLightMode", ctx_r1.isLightMode());
|
|
10926
|
-
} }
|
|
10927
|
-
function TooltipContainerComponent_Conditional_0_Case_5_Template(rf, ctx) { if (rf & 1) {
|
|
10928
|
-
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_5_Conditional_0_Template, 1, 2, "symphiq-trend-indicator-tooltip", 6);
|
|
10929
|
-
} if (rf & 2) {
|
|
10930
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
10931
|
-
i0.ɵɵconditional(ctx_r1.trendContent() ? 0 : -1);
|
|
10932
|
-
} }
|
|
10933
|
-
function TooltipContainerComponent_Conditional_0_Case_6_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
10934
|
-
i0.ɵɵelement(0, "symphiq-priority-badge-tooltip", 6);
|
|
10935
|
-
} if (rf & 2) {
|
|
10936
|
-
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
10937
|
-
i0.ɵɵproperty("content", ctx_r1.priorityContent())("isLightMode", ctx_r1.isLightMode());
|
|
10938
|
-
} }
|
|
10939
|
-
function TooltipContainerComponent_Conditional_0_Case_6_Template(rf, ctx) { if (rf & 1) {
|
|
10940
|
-
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_6_Conditional_0_Template, 1, 2, "symphiq-priority-badge-tooltip", 6);
|
|
10941
|
-
} if (rf & 2) {
|
|
10942
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
10943
|
-
i0.ɵɵconditional(ctx_r1.priorityContent() ? 0 : -1);
|
|
10944
|
-
} }
|
|
10945
|
-
function TooltipContainerComponent_Conditional_0_Case_7_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
10946
|
-
i0.ɵɵelement(0, "symphiq-badge-tooltip", 6);
|
|
10947
|
-
} if (rf & 2) {
|
|
10948
|
-
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
10949
|
-
i0.ɵɵproperty("content", ctx_r1.badgeContent())("isLightMode", ctx_r1.isLightMode());
|
|
10950
|
-
} }
|
|
10951
|
-
function TooltipContainerComponent_Conditional_0_Case_7_Template(rf, ctx) { if (rf & 1) {
|
|
10952
|
-
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_7_Conditional_0_Template, 1, 2, "symphiq-badge-tooltip", 6);
|
|
10953
|
-
} if (rf & 2) {
|
|
10954
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
10955
|
-
i0.ɵɵconditional(ctx_r1.badgeContent() ? 0 : -1);
|
|
10956
|
-
} }
|
|
10957
|
-
function TooltipContainerComponent_Conditional_0_Case_8_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
10958
|
-
i0.ɵɵelement(0, "symphiq-breakdown-row-tooltip", 6);
|
|
10959
|
-
} if (rf & 2) {
|
|
10960
|
-
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
10961
|
-
i0.ɵɵproperty("content", ctx_r1.breakdownContent())("isLightMode", ctx_r1.isLightMode());
|
|
10962
|
-
} }
|
|
10963
|
-
function TooltipContainerComponent_Conditional_0_Case_8_Template(rf, ctx) { if (rf & 1) {
|
|
10964
|
-
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_8_Conditional_0_Template, 1, 2, "symphiq-breakdown-row-tooltip", 6);
|
|
10966
|
+
const _forTrack0$6 = ($index, $item) => $item.name;
|
|
10967
|
+
function CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
10968
|
+
i0.ɵɵelementStart(0, "div", 7)(1, "div", 8)(2, "div", 9);
|
|
10969
|
+
i0.ɵɵelement(3, "div", 10);
|
|
10970
|
+
i0.ɵɵelementStart(4, "span", 11);
|
|
10971
|
+
i0.ɵɵtext(5);
|
|
10972
|
+
i0.ɵɵelementEnd()();
|
|
10973
|
+
i0.ɵɵelementStart(6, "span", 12);
|
|
10974
|
+
i0.ɵɵtext(7);
|
|
10975
|
+
i0.ɵɵelementEnd()();
|
|
10976
|
+
i0.ɵɵelementStart(8, "div", 13)(9, "span", 14);
|
|
10977
|
+
i0.ɵɵtext(10, "Benchmark:");
|
|
10978
|
+
i0.ɵɵelementEnd();
|
|
10979
|
+
i0.ɵɵelementStart(11, "span", 15);
|
|
10980
|
+
i0.ɵɵtext(12);
|
|
10981
|
+
i0.ɵɵelementEnd()()();
|
|
10965
10982
|
} if (rf & 2) {
|
|
10983
|
+
const metric_r1 = ctx.$implicit;
|
|
10966
10984
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
10967
|
-
i0.ɵɵ
|
|
10968
|
-
|
|
10969
|
-
|
|
10970
|
-
i0.ɵɵ
|
|
10971
|
-
|
|
10972
|
-
|
|
10973
|
-
i0.ɵɵ
|
|
10985
|
+
i0.ɵɵclassProp("animate-pulse", metric_r1.status === "LAGGING");
|
|
10986
|
+
i0.ɵɵproperty("ngClass", ctx_r1.getMetricCardClass(metric_r1.status));
|
|
10987
|
+
i0.ɵɵadvance(3);
|
|
10988
|
+
i0.ɵɵproperty("ngClass", ctx_r1.getStatusDotClass(metric_r1.status));
|
|
10989
|
+
i0.ɵɵadvance();
|
|
10990
|
+
i0.ɵɵproperty("ngClass", ctx_r1.getMetricNameClass(metric_r1.status));
|
|
10991
|
+
i0.ɵɵadvance();
|
|
10992
|
+
i0.ɵɵtextInterpolate1(" ", metric_r1.name, " ");
|
|
10993
|
+
i0.ɵɵadvance();
|
|
10994
|
+
i0.ɵɵproperty("ngClass", ctx_r1.getValueClass(metric_r1.status));
|
|
10995
|
+
i0.ɵɵadvance();
|
|
10996
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.formatValue(metric_r1.projectedValue, metric_r1.unit), " ");
|
|
10997
|
+
i0.ɵɵadvance(2);
|
|
10998
|
+
i0.ɵɵproperty("ngClass", ctx_r1.labelClass());
|
|
10999
|
+
i0.ɵɵadvance(2);
|
|
11000
|
+
i0.ɵɵproperty("ngClass", ctx_r1.subValueClass());
|
|
11001
|
+
i0.ɵɵadvance();
|
|
11002
|
+
i0.ɵɵtextInterpolate2(" ", ctx_r1.formatValue(metric_r1.benchmarkRange.min, metric_r1.unit), " - ", ctx_r1.formatValue(metric_r1.benchmarkRange.max, metric_r1.unit), " ");
|
|
10974
11003
|
} }
|
|
10975
|
-
function
|
|
10976
|
-
i0.ɵɵ
|
|
11004
|
+
function CompetitiveStatusTooltipComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
11005
|
+
i0.ɵɵelement(0, "div", 3);
|
|
11006
|
+
i0.ɵɵelementStart(1, "div")(2, "div", 4);
|
|
11007
|
+
i0.ɵɵtext(3);
|
|
11008
|
+
i0.ɵɵelementEnd();
|
|
11009
|
+
i0.ɵɵelementStart(4, "div", 5);
|
|
11010
|
+
i0.ɵɵrepeaterCreate(5, CompetitiveStatusTooltipComponent_Conditional_6_For_6_Template, 13, 12, "div", 6, _forTrack0$6);
|
|
11011
|
+
i0.ɵɵelementEnd()();
|
|
10977
11012
|
} if (rf & 2) {
|
|
10978
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
|
10979
|
-
i0.ɵɵ
|
|
11013
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
11014
|
+
i0.ɵɵproperty("ngClass", ctx_r1.separatorClass());
|
|
11015
|
+
i0.ɵɵadvance(2);
|
|
11016
|
+
i0.ɵɵproperty("ngClass", ctx_r1.labelClass());
|
|
11017
|
+
i0.ɵɵadvance();
|
|
11018
|
+
i0.ɵɵtextInterpolate2(" ", ctx_r1.content().metrics.length, " Metric", ctx_r1.content().metrics.length > 1 ? "s" : "", " ");
|
|
11019
|
+
i0.ɵɵadvance(2);
|
|
11020
|
+
i0.ɵɵrepeater(ctx_r1.content().metrics);
|
|
10980
11021
|
} }
|
|
10981
|
-
|
|
10982
|
-
|
|
10983
|
-
|
|
10984
|
-
|
|
10985
|
-
|
|
11022
|
+
class CompetitiveStatusTooltipComponent {
|
|
11023
|
+
constructor() {
|
|
11024
|
+
this.content = input.required(...(ngDevMode ? [{ debugName: "content" }] : []));
|
|
11025
|
+
this.isLightMode = input(false, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
|
|
11026
|
+
this.titleClass = computed(() => this.isLightMode() ? 'text-slate-700' : 'text-slate-200', ...(ngDevMode ? [{ debugName: "titleClass" }] : []));
|
|
11027
|
+
this.labelClass = computed(() => this.isLightMode() ? 'text-slate-500' : 'text-slate-400', ...(ngDevMode ? [{ debugName: "labelClass" }] : []));
|
|
11028
|
+
this.textClass = computed(() => this.isLightMode() ? 'text-slate-600' : 'text-slate-300', ...(ngDevMode ? [{ debugName: "textClass" }] : []));
|
|
11029
|
+
this.valueClass = computed(() => this.isLightMode() ? 'text-slate-900' : 'text-white', ...(ngDevMode ? [{ debugName: "valueClass" }] : []));
|
|
11030
|
+
this.subValueClass = computed(() => this.isLightMode() ? 'text-slate-700' : 'text-slate-200', ...(ngDevMode ? [{ debugName: "subValueClass" }] : []));
|
|
11031
|
+
this.metricNameClass = computed(() => this.isLightMode() ? 'text-slate-800' : 'text-slate-100', ...(ngDevMode ? [{ debugName: "metricNameClass" }] : []));
|
|
11032
|
+
this.metricCardClass = computed(() => this.isLightMode() ? 'bg-slate-50 border border-slate-200' : 'bg-slate-700/50 border border-slate-600', ...(ngDevMode ? [{ debugName: "metricCardClass" }] : []));
|
|
11033
|
+
this.separatorClass = computed(() => this.isLightMode() ? 'bg-slate-200' : 'bg-slate-600', ...(ngDevMode ? [{ debugName: "separatorClass" }] : []));
|
|
11034
|
+
this.statusLabel = computed(() => {
|
|
11035
|
+
const status = this.content().status;
|
|
11036
|
+
switch (status) {
|
|
11037
|
+
case 'LEADING':
|
|
11038
|
+
return 'Leading';
|
|
11039
|
+
case 'COMPETITIVE':
|
|
11040
|
+
return 'Competitive';
|
|
11041
|
+
case 'LAGGING':
|
|
11042
|
+
return 'Lagging';
|
|
11043
|
+
default:
|
|
11044
|
+
return status;
|
|
11045
|
+
}
|
|
11046
|
+
}, ...(ngDevMode ? [{ debugName: "statusLabel" }] : []));
|
|
11047
|
+
}
|
|
11048
|
+
getStatusDotClass(status) {
|
|
11049
|
+
if (!status)
|
|
11050
|
+
return this.isLightMode() ? 'bg-slate-400' : 'bg-slate-500';
|
|
11051
|
+
switch (status) {
|
|
11052
|
+
case 'LEADING':
|
|
11053
|
+
return this.isLightMode() ? 'bg-emerald-500' : 'bg-emerald-400';
|
|
11054
|
+
case 'COMPETITIVE':
|
|
11055
|
+
return this.isLightMode() ? 'bg-blue-500' : 'bg-blue-400';
|
|
11056
|
+
case 'LAGGING':
|
|
11057
|
+
return this.isLightMode() ? 'bg-orange-500' : 'bg-orange-400';
|
|
11058
|
+
default:
|
|
11059
|
+
return this.isLightMode() ? 'bg-slate-400' : 'bg-slate-500';
|
|
11060
|
+
}
|
|
11061
|
+
}
|
|
11062
|
+
getMetricCardClass(status) {
|
|
11063
|
+
if (!status)
|
|
11064
|
+
return this.metricCardClass();
|
|
11065
|
+
if (this.isLightMode()) {
|
|
11066
|
+
switch (status) {
|
|
11067
|
+
case 'LEADING':
|
|
11068
|
+
return 'bg-emerald-50/50 border border-emerald-200/50';
|
|
11069
|
+
case 'COMPETITIVE':
|
|
11070
|
+
return 'bg-blue-50/50 border border-blue-200/50';
|
|
11071
|
+
case 'LAGGING':
|
|
11072
|
+
return 'bg-orange-50/50 border border-orange-200/50';
|
|
11073
|
+
default:
|
|
11074
|
+
return 'bg-slate-50 border border-slate-200';
|
|
11075
|
+
}
|
|
11076
|
+
}
|
|
11077
|
+
else {
|
|
11078
|
+
switch (status) {
|
|
11079
|
+
case 'LEADING':
|
|
11080
|
+
return 'bg-emerald-500/10 border border-emerald-500/20';
|
|
11081
|
+
case 'COMPETITIVE':
|
|
11082
|
+
return 'bg-blue-500/10 border border-blue-500/20';
|
|
11083
|
+
case 'LAGGING':
|
|
11084
|
+
return 'bg-orange-500/10 border border-orange-500/20';
|
|
11085
|
+
default:
|
|
11086
|
+
return 'bg-slate-700/50 border border-slate-600';
|
|
11087
|
+
}
|
|
11088
|
+
}
|
|
11089
|
+
}
|
|
11090
|
+
getMetricNameClass(status) {
|
|
11091
|
+
if (!status)
|
|
11092
|
+
return this.metricNameClass();
|
|
11093
|
+
if (this.isLightMode()) {
|
|
11094
|
+
switch (status) {
|
|
11095
|
+
case 'LEADING':
|
|
11096
|
+
return 'text-emerald-800';
|
|
11097
|
+
case 'COMPETITIVE':
|
|
11098
|
+
return 'text-blue-800';
|
|
11099
|
+
case 'LAGGING':
|
|
11100
|
+
return 'text-orange-800';
|
|
11101
|
+
default:
|
|
11102
|
+
return 'text-slate-800';
|
|
11103
|
+
}
|
|
11104
|
+
}
|
|
11105
|
+
else {
|
|
11106
|
+
switch (status) {
|
|
11107
|
+
case 'LEADING':
|
|
11108
|
+
return 'text-emerald-100';
|
|
11109
|
+
case 'COMPETITIVE':
|
|
11110
|
+
return 'text-blue-100';
|
|
11111
|
+
case 'LAGGING':
|
|
11112
|
+
return 'text-orange-100';
|
|
11113
|
+
default:
|
|
11114
|
+
return 'text-slate-100';
|
|
11115
|
+
}
|
|
11116
|
+
}
|
|
11117
|
+
}
|
|
11118
|
+
getValueClass(status) {
|
|
11119
|
+
if (!status)
|
|
11120
|
+
return this.valueClass();
|
|
11121
|
+
if (this.isLightMode()) {
|
|
11122
|
+
switch (status) {
|
|
11123
|
+
case 'LEADING':
|
|
11124
|
+
return 'text-emerald-900';
|
|
11125
|
+
case 'COMPETITIVE':
|
|
11126
|
+
return 'text-blue-900';
|
|
11127
|
+
case 'LAGGING':
|
|
11128
|
+
return 'text-orange-900';
|
|
11129
|
+
default:
|
|
11130
|
+
return 'text-slate-900';
|
|
11131
|
+
}
|
|
11132
|
+
}
|
|
11133
|
+
else {
|
|
11134
|
+
switch (status) {
|
|
11135
|
+
case 'LEADING':
|
|
11136
|
+
return 'text-emerald-50';
|
|
11137
|
+
case 'COMPETITIVE':
|
|
11138
|
+
return 'text-blue-50';
|
|
11139
|
+
case 'LAGGING':
|
|
11140
|
+
return 'text-orange-50';
|
|
11141
|
+
default:
|
|
11142
|
+
return 'text-white';
|
|
11143
|
+
}
|
|
11144
|
+
}
|
|
11145
|
+
}
|
|
11146
|
+
formatValue(value, unit) {
|
|
11147
|
+
// Handle currency
|
|
11148
|
+
if (unit === 'currency') {
|
|
11149
|
+
if (value >= 1000000) {
|
|
11150
|
+
return `$${(value / 1000000).toFixed(1)}M`;
|
|
11151
|
+
}
|
|
11152
|
+
else if (value >= 1000) {
|
|
11153
|
+
return `$${(value / 1000).toFixed(1)}K`;
|
|
11154
|
+
}
|
|
11155
|
+
return `$${value.toLocaleString('en-US', { maximumFractionDigits: 0 })}`;
|
|
11156
|
+
}
|
|
11157
|
+
// Handle percentage
|
|
11158
|
+
if (unit === 'percentage') {
|
|
11159
|
+
if (value < 1) {
|
|
11160
|
+
return `${(value * 100).toFixed(2)}%`;
|
|
11161
|
+
}
|
|
11162
|
+
return `${value.toFixed(2)}%`;
|
|
11163
|
+
}
|
|
11164
|
+
// Handle count (default)
|
|
11165
|
+
if (value >= 1000000) {
|
|
11166
|
+
return `${(value / 1000000).toFixed(1)}M`;
|
|
11167
|
+
}
|
|
11168
|
+
else if (value >= 1000) {
|
|
11169
|
+
return `${(value / 1000).toFixed(1)}K`;
|
|
11170
|
+
}
|
|
11171
|
+
return value.toLocaleString();
|
|
11172
|
+
}
|
|
11173
|
+
static { this.ɵfac = function CompetitiveStatusTooltipComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CompetitiveStatusTooltipComponent)(); }; }
|
|
11174
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CompetitiveStatusTooltipComponent, selectors: [["symphiq-competitive-status-tooltip"]], inputs: { content: [1, "content"], isLightMode: [1, "isLightMode"] }, decls: 7, vars: 5, consts: [[1, "space-y-2"], [1, "font-semibold", "text-xs", "uppercase", "tracking-wide", "mb-0.5", 3, "ngClass"], [1, "text-xs", "leading-snug", 3, "ngClass"], [1, "h-px", 3, "ngClass"], [1, "text-xs", "font-semibold", "mb-1.5", 3, "ngClass"], [1, "space-y-1", "max-h-48", "overflow-y-auto"], [1, "rounded", "px-2", "py-1", 3, "ngClass", "animate-pulse"], [1, "rounded", "px-2", "py-1", 3, "ngClass"], [1, "flex", "items-baseline", "justify-between", "gap-2", "mb-0.5"], [1, "flex", "items-center", "gap-1", "flex-1", "min-w-0"], [1, "w-1.5", "h-1.5", "rounded-full", "flex-shrink-0", 3, "ngClass"], [1, "text-xs", "font-medium", "truncate", 3, "ngClass"], [1, "text-xs", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [1, "flex", "items-baseline", "justify-between", "gap-2", "ml-3.5"], [1, "text-[10px]", 3, "ngClass"], [1, "text-[10px]", "whitespace-nowrap", 3, "ngClass"]], template: function CompetitiveStatusTooltipComponent_Template(rf, ctx) { if (rf & 1) {
|
|
11175
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div")(2, "div", 1);
|
|
11176
|
+
i0.ɵɵtext(3);
|
|
11177
|
+
i0.ɵɵelementEnd();
|
|
11178
|
+
i0.ɵɵelementStart(4, "div", 2);
|
|
11179
|
+
i0.ɵɵtext(5);
|
|
11180
|
+
i0.ɵɵelementEnd()();
|
|
11181
|
+
i0.ɵɵconditionalCreate(6, CompetitiveStatusTooltipComponent_Conditional_6_Template, 7, 4);
|
|
11182
|
+
i0.ɵɵelementEnd();
|
|
11183
|
+
} if (rf & 2) {
|
|
11184
|
+
i0.ɵɵadvance(2);
|
|
11185
|
+
i0.ɵɵproperty("ngClass", ctx.titleClass());
|
|
11186
|
+
i0.ɵɵadvance();
|
|
11187
|
+
i0.ɵɵtextInterpolate1(" ", ctx.statusLabel(), " ");
|
|
11188
|
+
i0.ɵɵadvance();
|
|
11189
|
+
i0.ɵɵproperty("ngClass", ctx.textClass());
|
|
11190
|
+
i0.ɵɵadvance();
|
|
11191
|
+
i0.ɵɵtextInterpolate1(" ", ctx.content().statusDescription, " ");
|
|
11192
|
+
i0.ɵɵadvance();
|
|
11193
|
+
i0.ɵɵconditional(ctx.content().metrics.length > 0 ? 6 : -1);
|
|
11194
|
+
} }, dependencies: [CommonModule, i1.NgClass], encapsulation: 2, changeDetection: 0 }); }
|
|
11195
|
+
}
|
|
11196
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CompetitiveStatusTooltipComponent, [{
|
|
11197
|
+
type: Component,
|
|
11198
|
+
args: [{
|
|
11199
|
+
selector: 'symphiq-competitive-status-tooltip',
|
|
11200
|
+
standalone: true,
|
|
11201
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11202
|
+
imports: [CommonModule],
|
|
11203
|
+
template: `
|
|
11204
|
+
<div class="space-y-2">
|
|
11205
|
+
<div>
|
|
11206
|
+
<div [ngClass]="titleClass()" class="font-semibold text-xs uppercase tracking-wide mb-0.5">
|
|
11207
|
+
{{ statusLabel() }}
|
|
11208
|
+
</div>
|
|
11209
|
+
<div [ngClass]="textClass()" class="text-xs leading-snug">
|
|
11210
|
+
{{ content().statusDescription }}
|
|
11211
|
+
</div>
|
|
11212
|
+
</div>
|
|
11213
|
+
|
|
11214
|
+
@if (content().metrics.length > 0) {
|
|
11215
|
+
<div [ngClass]="separatorClass()" class="h-px"></div>
|
|
11216
|
+
|
|
11217
|
+
<div>
|
|
11218
|
+
<div [ngClass]="labelClass()" class="text-xs font-semibold mb-1.5">
|
|
11219
|
+
{{ content().metrics.length }} Metric{{ content().metrics.length > 1 ? 's' : '' }}
|
|
11220
|
+
</div>
|
|
11221
|
+
<div class="space-y-1 max-h-48 overflow-y-auto">
|
|
11222
|
+
@for (metric of content().metrics; track metric.name) {
|
|
11223
|
+
<div
|
|
11224
|
+
[ngClass]="getMetricCardClass(metric.status)"
|
|
11225
|
+
[class.animate-pulse]="metric.status === 'LAGGING'"
|
|
11226
|
+
class="rounded px-2 py-1">
|
|
11227
|
+
<div class="flex items-baseline justify-between gap-2 mb-0.5">
|
|
11228
|
+
<div class="flex items-center gap-1 flex-1 min-w-0">
|
|
11229
|
+
<div [ngClass]="getStatusDotClass(metric.status)" class="w-1.5 h-1.5 rounded-full flex-shrink-0"></div>
|
|
11230
|
+
<span [ngClass]="getMetricNameClass(metric.status)" class="text-xs font-medium truncate">
|
|
11231
|
+
{{ metric.name }}
|
|
11232
|
+
</span>
|
|
11233
|
+
</div>
|
|
11234
|
+
<span [ngClass]="getValueClass(metric.status)" class="text-xs font-semibold whitespace-nowrap">
|
|
11235
|
+
{{ formatValue(metric.projectedValue, metric.unit) }}
|
|
11236
|
+
</span>
|
|
11237
|
+
</div>
|
|
11238
|
+
<div class="flex items-baseline justify-between gap-2 ml-3.5">
|
|
11239
|
+
<span [ngClass]="labelClass()" class="text-[10px]">Benchmark:</span>
|
|
11240
|
+
<span [ngClass]="subValueClass()" class="text-[10px] whitespace-nowrap">
|
|
11241
|
+
{{ formatValue(metric.benchmarkRange.min, metric.unit) }} - {{ formatValue(metric.benchmarkRange.max, metric.unit) }}
|
|
11242
|
+
</span>
|
|
11243
|
+
</div>
|
|
11244
|
+
</div>
|
|
11245
|
+
}
|
|
11246
|
+
</div>
|
|
11247
|
+
</div>
|
|
11248
|
+
}
|
|
11249
|
+
</div>
|
|
11250
|
+
`
|
|
11251
|
+
}]
|
|
11252
|
+
}], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }] }); })();
|
|
11253
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CompetitiveStatusTooltipComponent, { className: "CompetitiveStatusTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/competitive-status-tooltip.component.ts", lineNumber: 59 }); })();
|
|
11254
|
+
|
|
11255
|
+
const _forTrack0$5 = ($index, $item) => $item.name;
|
|
11256
|
+
function FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
11257
|
+
i0.ɵɵelementStart(0, "div", 9)(1, "div", 10)(2, "span", 11);
|
|
11258
|
+
i0.ɵɵtext(3);
|
|
11259
|
+
i0.ɵɵelementEnd();
|
|
11260
|
+
i0.ɵɵelementStart(4, "span", 12);
|
|
11261
|
+
i0.ɵɵtext(5);
|
|
11262
|
+
i0.ɵɵelementEnd()();
|
|
11263
|
+
i0.ɵɵelementStart(6, "div", 13)(7, "span", 14);
|
|
11264
|
+
i0.ɵɵtext(8, "Benchmark:");
|
|
11265
|
+
i0.ɵɵelementEnd();
|
|
11266
|
+
i0.ɵɵelementStart(9, "span", 15);
|
|
11267
|
+
i0.ɵɵtext(10);
|
|
11268
|
+
i0.ɵɵelementEnd()()();
|
|
11269
|
+
} if (rf & 2) {
|
|
11270
|
+
const metric_r1 = ctx.$implicit;
|
|
11271
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11272
|
+
i0.ɵɵproperty("ngClass", ctx_r1.leadingCardClass());
|
|
11273
|
+
i0.ɵɵadvance(2);
|
|
11274
|
+
i0.ɵɵproperty("ngClass", ctx_r1.metricNameClass());
|
|
11275
|
+
i0.ɵɵadvance();
|
|
11276
|
+
i0.ɵɵtextInterpolate1(" ", metric_r1.name, " ");
|
|
11277
|
+
i0.ɵɵadvance();
|
|
11278
|
+
i0.ɵɵproperty("ngClass", ctx_r1.valueClass());
|
|
11279
|
+
i0.ɵɵadvance();
|
|
11280
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.formatValue(metric_r1.projectedValue, metric_r1.unit), " ");
|
|
11281
|
+
i0.ɵɵadvance(2);
|
|
11282
|
+
i0.ɵɵproperty("ngClass", ctx_r1.labelClass());
|
|
11283
|
+
i0.ɵɵadvance(2);
|
|
11284
|
+
i0.ɵɵproperty("ngClass", ctx_r1.subValueClass());
|
|
11285
|
+
i0.ɵɵadvance();
|
|
11286
|
+
i0.ɵɵtextInterpolate2(" ", ctx_r1.formatValue(metric_r1.benchmarkRange.min, metric_r1.unit), " - ", ctx_r1.formatValue(metric_r1.benchmarkRange.max, metric_r1.unit), " ");
|
|
11287
|
+
} }
|
|
11288
|
+
function FunnelStageCompetitiveTooltipComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
11289
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 5);
|
|
11290
|
+
i0.ɵɵelement(2, "div", 6);
|
|
11291
|
+
i0.ɵɵelementStart(3, "span", 7);
|
|
11292
|
+
i0.ɵɵtext(4);
|
|
11293
|
+
i0.ɵɵelementEnd()();
|
|
11294
|
+
i0.ɵɵelementStart(5, "div", 8);
|
|
11295
|
+
i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_8_For_7_Template, 11, 9, "div", 9, _forTrack0$5);
|
|
11296
|
+
i0.ɵɵelementEnd()();
|
|
11297
|
+
} if (rf & 2) {
|
|
11298
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
11299
|
+
i0.ɵɵadvance(3);
|
|
11300
|
+
i0.ɵɵproperty("ngClass", ctx_r1.leadingTitleClass());
|
|
11301
|
+
i0.ɵɵadvance();
|
|
11302
|
+
i0.ɵɵtextInterpolate1(" Leading (", ctx_r1.content().leading.length, ") ");
|
|
11303
|
+
i0.ɵɵadvance(2);
|
|
11304
|
+
i0.ɵɵrepeater(ctx_r1.content().leading);
|
|
11305
|
+
} }
|
|
11306
|
+
function FunnelStageCompetitiveTooltipComponent_Conditional_9_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
11307
|
+
i0.ɵɵelementStart(0, "div", 9)(1, "div", 10)(2, "span", 11);
|
|
11308
|
+
i0.ɵɵtext(3);
|
|
11309
|
+
i0.ɵɵelementEnd();
|
|
11310
|
+
i0.ɵɵelementStart(4, "span", 12);
|
|
11311
|
+
i0.ɵɵtext(5);
|
|
11312
|
+
i0.ɵɵelementEnd()();
|
|
11313
|
+
i0.ɵɵelementStart(6, "div", 13)(7, "span", 14);
|
|
11314
|
+
i0.ɵɵtext(8, "Benchmark:");
|
|
11315
|
+
i0.ɵɵelementEnd();
|
|
11316
|
+
i0.ɵɵelementStart(9, "span", 15);
|
|
11317
|
+
i0.ɵɵtext(10);
|
|
11318
|
+
i0.ɵɵelementEnd()()();
|
|
11319
|
+
} if (rf & 2) {
|
|
11320
|
+
const metric_r3 = ctx.$implicit;
|
|
11321
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11322
|
+
i0.ɵɵproperty("ngClass", ctx_r1.competitiveCardClass());
|
|
11323
|
+
i0.ɵɵadvance(2);
|
|
11324
|
+
i0.ɵɵproperty("ngClass", ctx_r1.metricNameClass());
|
|
11325
|
+
i0.ɵɵadvance();
|
|
11326
|
+
i0.ɵɵtextInterpolate1(" ", metric_r3.name, " ");
|
|
11327
|
+
i0.ɵɵadvance();
|
|
11328
|
+
i0.ɵɵproperty("ngClass", ctx_r1.valueClass());
|
|
11329
|
+
i0.ɵɵadvance();
|
|
11330
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.formatValue(metric_r3.projectedValue, metric_r3.unit), " ");
|
|
11331
|
+
i0.ɵɵadvance(2);
|
|
11332
|
+
i0.ɵɵproperty("ngClass", ctx_r1.labelClass());
|
|
11333
|
+
i0.ɵɵadvance(2);
|
|
11334
|
+
i0.ɵɵproperty("ngClass", ctx_r1.subValueClass());
|
|
11335
|
+
i0.ɵɵadvance();
|
|
11336
|
+
i0.ɵɵtextInterpolate2(" ", ctx_r1.formatValue(metric_r3.benchmarkRange.min, metric_r3.unit), " - ", ctx_r1.formatValue(metric_r3.benchmarkRange.max, metric_r3.unit), " ");
|
|
11337
|
+
} }
|
|
11338
|
+
function FunnelStageCompetitiveTooltipComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
11339
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 5);
|
|
11340
|
+
i0.ɵɵelement(2, "div", 16);
|
|
11341
|
+
i0.ɵɵelementStart(3, "span", 7);
|
|
11342
|
+
i0.ɵɵtext(4);
|
|
11343
|
+
i0.ɵɵelementEnd()();
|
|
11344
|
+
i0.ɵɵelementStart(5, "div", 8);
|
|
11345
|
+
i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_9_For_7_Template, 11, 9, "div", 9, _forTrack0$5);
|
|
11346
|
+
i0.ɵɵelementEnd()();
|
|
11347
|
+
} if (rf & 2) {
|
|
11348
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
11349
|
+
i0.ɵɵadvance(3);
|
|
11350
|
+
i0.ɵɵproperty("ngClass", ctx_r1.competitiveTitleClass());
|
|
11351
|
+
i0.ɵɵadvance();
|
|
11352
|
+
i0.ɵɵtextInterpolate1(" Competitive (", ctx_r1.content().competitive.length, ") ");
|
|
11353
|
+
i0.ɵɵadvance(2);
|
|
11354
|
+
i0.ɵɵrepeater(ctx_r1.content().competitive);
|
|
11355
|
+
} }
|
|
11356
|
+
function FunnelStageCompetitiveTooltipComponent_Conditional_10_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
11357
|
+
i0.ɵɵelementStart(0, "div", 9)(1, "div", 10)(2, "span", 11);
|
|
11358
|
+
i0.ɵɵtext(3);
|
|
11359
|
+
i0.ɵɵelementEnd();
|
|
11360
|
+
i0.ɵɵelementStart(4, "span", 12);
|
|
11361
|
+
i0.ɵɵtext(5);
|
|
11362
|
+
i0.ɵɵelementEnd()();
|
|
11363
|
+
i0.ɵɵelementStart(6, "div", 13)(7, "span", 14);
|
|
11364
|
+
i0.ɵɵtext(8, "Benchmark:");
|
|
11365
|
+
i0.ɵɵelementEnd();
|
|
11366
|
+
i0.ɵɵelementStart(9, "span", 15);
|
|
11367
|
+
i0.ɵɵtext(10);
|
|
11368
|
+
i0.ɵɵelementEnd()()();
|
|
11369
|
+
} if (rf & 2) {
|
|
11370
|
+
const metric_r4 = ctx.$implicit;
|
|
11371
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11372
|
+
i0.ɵɵproperty("ngClass", ctx_r1.laggingCardClass());
|
|
11373
|
+
i0.ɵɵadvance(2);
|
|
11374
|
+
i0.ɵɵproperty("ngClass", ctx_r1.metricNameClass());
|
|
11375
|
+
i0.ɵɵadvance();
|
|
11376
|
+
i0.ɵɵtextInterpolate1(" ", metric_r4.name, " ");
|
|
11377
|
+
i0.ɵɵadvance();
|
|
11378
|
+
i0.ɵɵproperty("ngClass", ctx_r1.valueClass());
|
|
11379
|
+
i0.ɵɵadvance();
|
|
11380
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.formatValue(metric_r4.projectedValue, metric_r4.unit), " ");
|
|
11381
|
+
i0.ɵɵadvance(2);
|
|
11382
|
+
i0.ɵɵproperty("ngClass", ctx_r1.labelClass());
|
|
11383
|
+
i0.ɵɵadvance(2);
|
|
11384
|
+
i0.ɵɵproperty("ngClass", ctx_r1.subValueClass());
|
|
11385
|
+
i0.ɵɵadvance();
|
|
11386
|
+
i0.ɵɵtextInterpolate2(" ", ctx_r1.formatValue(metric_r4.benchmarkRange.min, metric_r4.unit), " - ", ctx_r1.formatValue(metric_r4.benchmarkRange.max, metric_r4.unit), " ");
|
|
11387
|
+
} }
|
|
11388
|
+
function FunnelStageCompetitiveTooltipComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
11389
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 5);
|
|
11390
|
+
i0.ɵɵelement(2, "div", 17);
|
|
11391
|
+
i0.ɵɵelementStart(3, "span", 7);
|
|
11392
|
+
i0.ɵɵtext(4);
|
|
11393
|
+
i0.ɵɵelementEnd()();
|
|
11394
|
+
i0.ɵɵelementStart(5, "div", 8);
|
|
11395
|
+
i0.ɵɵrepeaterCreate(6, FunnelStageCompetitiveTooltipComponent_Conditional_10_For_7_Template, 11, 9, "div", 9, _forTrack0$5);
|
|
11396
|
+
i0.ɵɵelementEnd()();
|
|
11397
|
+
} if (rf & 2) {
|
|
11398
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
11399
|
+
i0.ɵɵadvance(3);
|
|
11400
|
+
i0.ɵɵproperty("ngClass", ctx_r1.laggingTitleClass());
|
|
11401
|
+
i0.ɵɵadvance();
|
|
11402
|
+
i0.ɵɵtextInterpolate1(" Lagging (", ctx_r1.content().lagging.length, ") ");
|
|
11403
|
+
i0.ɵɵadvance(2);
|
|
11404
|
+
i0.ɵɵrepeater(ctx_r1.content().lagging);
|
|
11405
|
+
} }
|
|
11406
|
+
class FunnelStageCompetitiveTooltipComponent {
|
|
11407
|
+
constructor() {
|
|
11408
|
+
this.content = input.required(...(ngDevMode ? [{ debugName: "content" }] : []));
|
|
11409
|
+
this.isLightMode = input(false, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
|
|
11410
|
+
this.titleClass = computed(() => this.isLightMode() ? 'text-slate-800' : 'text-white', ...(ngDevMode ? [{ debugName: "titleClass" }] : []));
|
|
11411
|
+
this.labelClass = computed(() => this.isLightMode() ? 'text-slate-500' : 'text-slate-400', ...(ngDevMode ? [{ debugName: "labelClass" }] : []));
|
|
11412
|
+
this.valueClass = computed(() => this.isLightMode() ? 'text-slate-900' : 'text-white', ...(ngDevMode ? [{ debugName: "valueClass" }] : []));
|
|
11413
|
+
this.subValueClass = computed(() => this.isLightMode() ? 'text-slate-700' : 'text-slate-200', ...(ngDevMode ? [{ debugName: "subValueClass" }] : []));
|
|
11414
|
+
this.metricNameClass = computed(() => this.isLightMode() ? 'text-slate-800' : 'text-slate-100', ...(ngDevMode ? [{ debugName: "metricNameClass" }] : []));
|
|
11415
|
+
this.separatorClass = computed(() => this.isLightMode() ? 'bg-slate-200' : 'bg-slate-600', ...(ngDevMode ? [{ debugName: "separatorClass" }] : []));
|
|
11416
|
+
this.leadingTitleClass = computed(() => this.isLightMode() ? 'text-emerald-700' : 'text-emerald-400', ...(ngDevMode ? [{ debugName: "leadingTitleClass" }] : []));
|
|
11417
|
+
this.leadingCardClass = computed(() => this.isLightMode() ? 'bg-emerald-50 border border-emerald-200' : 'bg-emerald-500/10 border border-emerald-500/30', ...(ngDevMode ? [{ debugName: "leadingCardClass" }] : []));
|
|
11418
|
+
this.competitiveTitleClass = computed(() => this.isLightMode() ? 'text-blue-700' : 'text-blue-400', ...(ngDevMode ? [{ debugName: "competitiveTitleClass" }] : []));
|
|
11419
|
+
this.competitiveCardClass = computed(() => this.isLightMode() ? 'bg-blue-50 border border-blue-200' : 'bg-blue-500/10 border border-blue-500/30', ...(ngDevMode ? [{ debugName: "competitiveCardClass" }] : []));
|
|
11420
|
+
this.laggingTitleClass = computed(() => this.isLightMode() ? 'text-orange-700' : 'text-orange-400', ...(ngDevMode ? [{ debugName: "laggingTitleClass" }] : []));
|
|
11421
|
+
this.laggingCardClass = computed(() => this.isLightMode() ? 'bg-orange-50 border border-orange-200' : 'bg-orange-500/10 border border-orange-500/30', ...(ngDevMode ? [{ debugName: "laggingCardClass" }] : []));
|
|
11422
|
+
}
|
|
11423
|
+
formatValue(value, unit) {
|
|
11424
|
+
if (unit === 'currency') {
|
|
11425
|
+
if (value >= 1000000) {
|
|
11426
|
+
return `$${(value / 1000000).toFixed(1)}M`;
|
|
11427
|
+
}
|
|
11428
|
+
else if (value >= 1000) {
|
|
11429
|
+
return `$${(value / 1000).toFixed(1)}K`;
|
|
11430
|
+
}
|
|
11431
|
+
return `$${value.toLocaleString('en-US', { maximumFractionDigits: 0 })}`;
|
|
11432
|
+
}
|
|
11433
|
+
if (unit === 'percentage') {
|
|
11434
|
+
if (value < 1) {
|
|
11435
|
+
return `${(value * 100).toFixed(2)}%`;
|
|
11436
|
+
}
|
|
11437
|
+
return `${value.toFixed(2)}%`;
|
|
11438
|
+
}
|
|
11439
|
+
if (value >= 1000000) {
|
|
11440
|
+
return `${(value / 1000000).toFixed(1)}M`;
|
|
11441
|
+
}
|
|
11442
|
+
else if (value >= 1000) {
|
|
11443
|
+
return `${(value / 1000).toFixed(1)}K`;
|
|
11444
|
+
}
|
|
11445
|
+
return value.toLocaleString();
|
|
11446
|
+
}
|
|
11447
|
+
static { this.ɵfac = function FunnelStageCompetitiveTooltipComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FunnelStageCompetitiveTooltipComponent)(); }; }
|
|
11448
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FunnelStageCompetitiveTooltipComponent, selectors: [["symphiq-funnel-stage-competitive-tooltip"]], inputs: { content: [1, "content"], isLightMode: [1, "isLightMode"] }, decls: 11, vars: 9, consts: [[1, "space-y-2"], [1, "font-semibold", "text-sm", "mb-0.5", 3, "ngClass"], [1, "text-xs", 3, "ngClass"], [1, "h-px", 3, "ngClass"], [1, "space-y-2", "max-h-64", "overflow-y-auto"], [1, "flex", "items-center", "gap-1.5", "mb-1.5"], [1, "w-2", "h-2", "rounded-full", "bg-emerald-500"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wide", 3, "ngClass"], [1, "space-y-1"], [1, "rounded", "px-2", "py-1", 3, "ngClass"], [1, "flex", "items-baseline", "justify-between", "gap-2", "mb-0.5"], [1, "text-xs", "font-medium", "truncate", "flex-1", 3, "ngClass"], [1, "text-xs", "font-semibold", "whitespace-nowrap", 3, "ngClass"], [1, "flex", "items-baseline", "justify-between", "gap-2"], [1, "text-[10px]", 3, "ngClass"], [1, "text-[10px]", "whitespace-nowrap", 3, "ngClass"], [1, "w-2", "h-2", "rounded-full", "bg-blue-500"], [1, "w-2", "h-2", "rounded-full", "bg-orange-500"]], template: function FunnelStageCompetitiveTooltipComponent_Template(rf, ctx) { if (rf & 1) {
|
|
11449
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div")(2, "div", 1);
|
|
11450
|
+
i0.ɵɵtext(3);
|
|
11451
|
+
i0.ɵɵelementEnd();
|
|
11452
|
+
i0.ɵɵelementStart(4, "div", 2);
|
|
11453
|
+
i0.ɵɵtext(5);
|
|
11454
|
+
i0.ɵɵelementEnd()();
|
|
11455
|
+
i0.ɵɵelement(6, "div", 3);
|
|
11456
|
+
i0.ɵɵelementStart(7, "div", 4);
|
|
11457
|
+
i0.ɵɵconditionalCreate(8, FunnelStageCompetitiveTooltipComponent_Conditional_8_Template, 8, 2, "div");
|
|
11458
|
+
i0.ɵɵconditionalCreate(9, FunnelStageCompetitiveTooltipComponent_Conditional_9_Template, 8, 2, "div");
|
|
11459
|
+
i0.ɵɵconditionalCreate(10, FunnelStageCompetitiveTooltipComponent_Conditional_10_Template, 8, 2, "div");
|
|
11460
|
+
i0.ɵɵelementEnd()();
|
|
11461
|
+
} if (rf & 2) {
|
|
11462
|
+
i0.ɵɵadvance(2);
|
|
11463
|
+
i0.ɵɵproperty("ngClass", ctx.titleClass());
|
|
11464
|
+
i0.ɵɵadvance();
|
|
11465
|
+
i0.ɵɵtextInterpolate1(" ", ctx.content().funnelStage, " ");
|
|
11466
|
+
i0.ɵɵadvance();
|
|
11467
|
+
i0.ɵɵproperty("ngClass", ctx.labelClass());
|
|
11468
|
+
i0.ɵɵadvance();
|
|
11469
|
+
i0.ɵɵtextInterpolate2(" ", ctx.content().totalMetrics, " Total Metric", ctx.content().totalMetrics > 1 ? "s" : "", " ");
|
|
11470
|
+
i0.ɵɵadvance();
|
|
11471
|
+
i0.ɵɵproperty("ngClass", ctx.separatorClass());
|
|
11472
|
+
i0.ɵɵadvance(2);
|
|
11473
|
+
i0.ɵɵconditional(ctx.content().leading.length > 0 ? 8 : -1);
|
|
11474
|
+
i0.ɵɵadvance();
|
|
11475
|
+
i0.ɵɵconditional(ctx.content().competitive.length > 0 ? 9 : -1);
|
|
11476
|
+
i0.ɵɵadvance();
|
|
11477
|
+
i0.ɵɵconditional(ctx.content().lagging.length > 0 ? 10 : -1);
|
|
11478
|
+
} }, dependencies: [CommonModule, i1.NgClass], encapsulation: 2, changeDetection: 0 }); }
|
|
11479
|
+
}
|
|
11480
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FunnelStageCompetitiveTooltipComponent, [{
|
|
11481
|
+
type: Component,
|
|
11482
|
+
args: [{
|
|
11483
|
+
selector: 'symphiq-funnel-stage-competitive-tooltip',
|
|
11484
|
+
standalone: true,
|
|
11485
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11486
|
+
imports: [CommonModule],
|
|
11487
|
+
template: `
|
|
11488
|
+
<div class="space-y-2">
|
|
11489
|
+
<div>
|
|
11490
|
+
<div [ngClass]="titleClass()" class="font-semibold text-sm mb-0.5">
|
|
11491
|
+
{{ content().funnelStage }}
|
|
11492
|
+
</div>
|
|
11493
|
+
<div [ngClass]="labelClass()" class="text-xs">
|
|
11494
|
+
{{ content().totalMetrics }} Total Metric{{ content().totalMetrics > 1 ? 's' : '' }}
|
|
11495
|
+
</div>
|
|
11496
|
+
</div>
|
|
11497
|
+
|
|
11498
|
+
<div [ngClass]="separatorClass()" class="h-px"></div>
|
|
11499
|
+
|
|
11500
|
+
<div class="space-y-2 max-h-64 overflow-y-auto">
|
|
11501
|
+
@if (content().leading.length > 0) {
|
|
11502
|
+
<div>
|
|
11503
|
+
<div class="flex items-center gap-1.5 mb-1.5">
|
|
11504
|
+
<div class="w-2 h-2 rounded-full bg-emerald-500"></div>
|
|
11505
|
+
<span [ngClass]="leadingTitleClass()" class="text-xs font-semibold uppercase tracking-wide">
|
|
11506
|
+
Leading ({{ content().leading.length }})
|
|
11507
|
+
</span>
|
|
11508
|
+
</div>
|
|
11509
|
+
<div class="space-y-1">
|
|
11510
|
+
@for (metric of content().leading; track metric.name) {
|
|
11511
|
+
<div [ngClass]="leadingCardClass()" class="rounded px-2 py-1">
|
|
11512
|
+
<div class="flex items-baseline justify-between gap-2 mb-0.5">
|
|
11513
|
+
<span [ngClass]="metricNameClass()" class="text-xs font-medium truncate flex-1">
|
|
11514
|
+
{{ metric.name }}
|
|
11515
|
+
</span>
|
|
11516
|
+
<span [ngClass]="valueClass()" class="text-xs font-semibold whitespace-nowrap">
|
|
11517
|
+
{{ formatValue(metric.projectedValue, metric.unit) }}
|
|
11518
|
+
</span>
|
|
11519
|
+
</div>
|
|
11520
|
+
<div class="flex items-baseline justify-between gap-2">
|
|
11521
|
+
<span [ngClass]="labelClass()" class="text-[10px]">Benchmark:</span>
|
|
11522
|
+
<span [ngClass]="subValueClass()" class="text-[10px] whitespace-nowrap">
|
|
11523
|
+
{{ formatValue(metric.benchmarkRange.min, metric.unit) }} - {{ formatValue(metric.benchmarkRange.max, metric.unit) }}
|
|
11524
|
+
</span>
|
|
11525
|
+
</div>
|
|
11526
|
+
</div>
|
|
11527
|
+
}
|
|
11528
|
+
</div>
|
|
11529
|
+
</div>
|
|
11530
|
+
}
|
|
11531
|
+
|
|
11532
|
+
@if (content().competitive.length > 0) {
|
|
11533
|
+
<div>
|
|
11534
|
+
<div class="flex items-center gap-1.5 mb-1.5">
|
|
11535
|
+
<div class="w-2 h-2 rounded-full bg-blue-500"></div>
|
|
11536
|
+
<span [ngClass]="competitiveTitleClass()" class="text-xs font-semibold uppercase tracking-wide">
|
|
11537
|
+
Competitive ({{ content().competitive.length }})
|
|
11538
|
+
</span>
|
|
11539
|
+
</div>
|
|
11540
|
+
<div class="space-y-1">
|
|
11541
|
+
@for (metric of content().competitive; track metric.name) {
|
|
11542
|
+
<div [ngClass]="competitiveCardClass()" class="rounded px-2 py-1">
|
|
11543
|
+
<div class="flex items-baseline justify-between gap-2 mb-0.5">
|
|
11544
|
+
<span [ngClass]="metricNameClass()" class="text-xs font-medium truncate flex-1">
|
|
11545
|
+
{{ metric.name }}
|
|
11546
|
+
</span>
|
|
11547
|
+
<span [ngClass]="valueClass()" class="text-xs font-semibold whitespace-nowrap">
|
|
11548
|
+
{{ formatValue(metric.projectedValue, metric.unit) }}
|
|
11549
|
+
</span>
|
|
11550
|
+
</div>
|
|
11551
|
+
<div class="flex items-baseline justify-between gap-2">
|
|
11552
|
+
<span [ngClass]="labelClass()" class="text-[10px]">Benchmark:</span>
|
|
11553
|
+
<span [ngClass]="subValueClass()" class="text-[10px] whitespace-nowrap">
|
|
11554
|
+
{{ formatValue(metric.benchmarkRange.min, metric.unit) }} - {{ formatValue(metric.benchmarkRange.max, metric.unit) }}
|
|
11555
|
+
</span>
|
|
11556
|
+
</div>
|
|
11557
|
+
</div>
|
|
11558
|
+
}
|
|
11559
|
+
</div>
|
|
11560
|
+
</div>
|
|
11561
|
+
}
|
|
11562
|
+
|
|
11563
|
+
@if (content().lagging.length > 0) {
|
|
11564
|
+
<div>
|
|
11565
|
+
<div class="flex items-center gap-1.5 mb-1.5">
|
|
11566
|
+
<div class="w-2 h-2 rounded-full bg-orange-500"></div>
|
|
11567
|
+
<span [ngClass]="laggingTitleClass()" class="text-xs font-semibold uppercase tracking-wide">
|
|
11568
|
+
Lagging ({{ content().lagging.length }})
|
|
11569
|
+
</span>
|
|
11570
|
+
</div>
|
|
11571
|
+
<div class="space-y-1">
|
|
11572
|
+
@for (metric of content().lagging; track metric.name) {
|
|
11573
|
+
<div [ngClass]="laggingCardClass()" class="rounded px-2 py-1">
|
|
11574
|
+
<div class="flex items-baseline justify-between gap-2 mb-0.5">
|
|
11575
|
+
<span [ngClass]="metricNameClass()" class="text-xs font-medium truncate flex-1">
|
|
11576
|
+
{{ metric.name }}
|
|
11577
|
+
</span>
|
|
11578
|
+
<span [ngClass]="valueClass()" class="text-xs font-semibold whitespace-nowrap">
|
|
11579
|
+
{{ formatValue(metric.projectedValue, metric.unit) }}
|
|
11580
|
+
</span>
|
|
11581
|
+
</div>
|
|
11582
|
+
<div class="flex items-baseline justify-between gap-2">
|
|
11583
|
+
<span [ngClass]="labelClass()" class="text-[10px]">Benchmark:</span>
|
|
11584
|
+
<span [ngClass]="subValueClass()" class="text-[10px] whitespace-nowrap">
|
|
11585
|
+
{{ formatValue(metric.benchmarkRange.min, metric.unit) }} - {{ formatValue(metric.benchmarkRange.max, metric.unit) }}
|
|
11586
|
+
</span>
|
|
11587
|
+
</div>
|
|
11588
|
+
</div>
|
|
11589
|
+
}
|
|
11590
|
+
</div>
|
|
11591
|
+
</div>
|
|
11592
|
+
}
|
|
11593
|
+
</div>
|
|
11594
|
+
</div>
|
|
11595
|
+
`
|
|
11596
|
+
}]
|
|
11597
|
+
}], null, { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], isLightMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLightMode", required: false }] }] }); })();
|
|
11598
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FunnelStageCompetitiveTooltipComponent, { className: "FunnelStageCompetitiveTooltipComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/funnel-stage-competitive-tooltip.component.ts", lineNumber: 120 }); })();
|
|
11599
|
+
|
|
11600
|
+
const _c0$6 = () => [];
|
|
11601
|
+
function TooltipContainerComponent_Conditional_0_Case_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
11602
|
+
i0.ɵɵelement(0, "symphiq-metric-value-tooltip", 6);
|
|
11603
|
+
} if (rf & 2) {
|
|
11604
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
11605
|
+
i0.ɵɵproperty("content", ctx_r1.metricContent())("isLightMode", ctx_r1.isLightMode());
|
|
11606
|
+
} }
|
|
11607
|
+
function TooltipContainerComponent_Conditional_0_Case_3_Template(rf, ctx) { if (rf & 1) {
|
|
11608
|
+
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_3_Conditional_0_Template, 1, 2, "symphiq-metric-value-tooltip", 6);
|
|
11609
|
+
} if (rf & 2) {
|
|
11610
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11611
|
+
i0.ɵɵconditional(ctx_r1.metricContent() ? 0 : -1);
|
|
11612
|
+
} }
|
|
11613
|
+
function TooltipContainerComponent_Conditional_0_Case_4_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
11614
|
+
i0.ɵɵelement(0, "symphiq-status-badge-tooltip", 6);
|
|
11615
|
+
} if (rf & 2) {
|
|
11616
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
11617
|
+
i0.ɵɵproperty("content", ctx_r1.statusContent())("isLightMode", ctx_r1.isLightMode());
|
|
11618
|
+
} }
|
|
11619
|
+
function TooltipContainerComponent_Conditional_0_Case_4_Template(rf, ctx) { if (rf & 1) {
|
|
11620
|
+
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_4_Conditional_0_Template, 1, 2, "symphiq-status-badge-tooltip", 6);
|
|
11621
|
+
} if (rf & 2) {
|
|
11622
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11623
|
+
i0.ɵɵconditional(ctx_r1.statusContent() ? 0 : -1);
|
|
11624
|
+
} }
|
|
11625
|
+
function TooltipContainerComponent_Conditional_0_Case_5_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
11626
|
+
i0.ɵɵelement(0, "symphiq-trend-indicator-tooltip", 6);
|
|
11627
|
+
} if (rf & 2) {
|
|
11628
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
11629
|
+
i0.ɵɵproperty("content", ctx_r1.trendContent())("isLightMode", ctx_r1.isLightMode());
|
|
11630
|
+
} }
|
|
11631
|
+
function TooltipContainerComponent_Conditional_0_Case_5_Template(rf, ctx) { if (rf & 1) {
|
|
11632
|
+
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_5_Conditional_0_Template, 1, 2, "symphiq-trend-indicator-tooltip", 6);
|
|
11633
|
+
} if (rf & 2) {
|
|
11634
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11635
|
+
i0.ɵɵconditional(ctx_r1.trendContent() ? 0 : -1);
|
|
11636
|
+
} }
|
|
11637
|
+
function TooltipContainerComponent_Conditional_0_Case_6_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
11638
|
+
i0.ɵɵelement(0, "symphiq-priority-badge-tooltip", 6);
|
|
11639
|
+
} if (rf & 2) {
|
|
11640
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
11641
|
+
i0.ɵɵproperty("content", ctx_r1.priorityContent())("isLightMode", ctx_r1.isLightMode());
|
|
11642
|
+
} }
|
|
11643
|
+
function TooltipContainerComponent_Conditional_0_Case_6_Template(rf, ctx) { if (rf & 1) {
|
|
11644
|
+
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_6_Conditional_0_Template, 1, 2, "symphiq-priority-badge-tooltip", 6);
|
|
11645
|
+
} if (rf & 2) {
|
|
11646
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11647
|
+
i0.ɵɵconditional(ctx_r1.priorityContent() ? 0 : -1);
|
|
11648
|
+
} }
|
|
11649
|
+
function TooltipContainerComponent_Conditional_0_Case_7_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
11650
|
+
i0.ɵɵelement(0, "symphiq-badge-tooltip", 6);
|
|
11651
|
+
} if (rf & 2) {
|
|
11652
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
11653
|
+
i0.ɵɵproperty("content", ctx_r1.badgeContent())("isLightMode", ctx_r1.isLightMode());
|
|
11654
|
+
} }
|
|
11655
|
+
function TooltipContainerComponent_Conditional_0_Case_7_Template(rf, ctx) { if (rf & 1) {
|
|
11656
|
+
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_7_Conditional_0_Template, 1, 2, "symphiq-badge-tooltip", 6);
|
|
11657
|
+
} if (rf & 2) {
|
|
11658
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11659
|
+
i0.ɵɵconditional(ctx_r1.badgeContent() ? 0 : -1);
|
|
11660
|
+
} }
|
|
11661
|
+
function TooltipContainerComponent_Conditional_0_Case_8_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
11662
|
+
i0.ɵɵelement(0, "symphiq-breakdown-row-tooltip", 6);
|
|
11663
|
+
} if (rf & 2) {
|
|
11664
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
11665
|
+
i0.ɵɵproperty("content", ctx_r1.breakdownContent())("isLightMode", ctx_r1.isLightMode());
|
|
11666
|
+
} }
|
|
11667
|
+
function TooltipContainerComponent_Conditional_0_Case_8_Template(rf, ctx) { if (rf & 1) {
|
|
11668
|
+
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_8_Conditional_0_Template, 1, 2, "symphiq-breakdown-row-tooltip", 6);
|
|
11669
|
+
} if (rf & 2) {
|
|
11670
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11671
|
+
i0.ɵɵconditional(ctx_r1.breakdownContent() ? 0 : -1);
|
|
11672
|
+
} }
|
|
11673
|
+
function TooltipContainerComponent_Conditional_0_Case_9_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
11674
|
+
i0.ɵɵelement(0, "symphiq-competitive-benchmark-tooltip", 6);
|
|
11675
|
+
} if (rf & 2) {
|
|
11676
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
11677
|
+
i0.ɵɵproperty("content", ctx_r1.competitiveContent())("isLightMode", ctx_r1.isLightMode());
|
|
11678
|
+
} }
|
|
11679
|
+
function TooltipContainerComponent_Conditional_0_Case_9_Template(rf, ctx) { if (rf & 1) {
|
|
11680
|
+
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_9_Conditional_0_Template, 1, 2, "symphiq-competitive-benchmark-tooltip", 6);
|
|
11681
|
+
} if (rf & 2) {
|
|
11682
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11683
|
+
i0.ɵɵconditional(ctx_r1.competitiveContent() ? 0 : -1);
|
|
11684
|
+
} }
|
|
11685
|
+
function TooltipContainerComponent_Conditional_0_Case_10_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
11686
|
+
i0.ɵɵelement(0, "symphiq-insights-list-tooltip", 6);
|
|
11687
|
+
} if (rf & 2) {
|
|
11688
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
11689
|
+
i0.ɵɵproperty("content", ctx_r1.insightsListContent())("isLightMode", ctx_r1.isLightMode());
|
|
10986
11690
|
} }
|
|
10987
11691
|
function TooltipContainerComponent_Conditional_0_Case_10_Template(rf, ctx) { if (rf & 1) {
|
|
10988
11692
|
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_10_Conditional_0_Template, 1, 2, "symphiq-insights-list-tooltip", 6);
|
|
@@ -11002,7 +11706,31 @@ function TooltipContainerComponent_Conditional_0_Case_11_Template(rf, ctx) { if
|
|
|
11002
11706
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11003
11707
|
i0.ɵɵconditional(ctx_r1.narrativeContent() ? 0 : -1);
|
|
11004
11708
|
} }
|
|
11005
|
-
function
|
|
11709
|
+
function TooltipContainerComponent_Conditional_0_Case_12_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
11710
|
+
i0.ɵɵelement(0, "symphiq-competitive-status-tooltip", 6);
|
|
11711
|
+
} if (rf & 2) {
|
|
11712
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
11713
|
+
i0.ɵɵproperty("content", ctx_r1.competitiveStatusContent())("isLightMode", ctx_r1.isLightMode());
|
|
11714
|
+
} }
|
|
11715
|
+
function TooltipContainerComponent_Conditional_0_Case_12_Template(rf, ctx) { if (rf & 1) {
|
|
11716
|
+
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_12_Conditional_0_Template, 1, 2, "symphiq-competitive-status-tooltip", 6);
|
|
11717
|
+
} if (rf & 2) {
|
|
11718
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11719
|
+
i0.ɵɵconditional(ctx_r1.competitiveStatusContent() ? 0 : -1);
|
|
11720
|
+
} }
|
|
11721
|
+
function TooltipContainerComponent_Conditional_0_Case_13_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
11722
|
+
i0.ɵɵelement(0, "symphiq-funnel-stage-competitive-tooltip", 6);
|
|
11723
|
+
} if (rf & 2) {
|
|
11724
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
11725
|
+
i0.ɵɵproperty("content", ctx_r1.funnelStageCompetitiveContent())("isLightMode", ctx_r1.isLightMode());
|
|
11726
|
+
} }
|
|
11727
|
+
function TooltipContainerComponent_Conditional_0_Case_13_Template(rf, ctx) { if (rf & 1) {
|
|
11728
|
+
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Case_13_Conditional_0_Template, 1, 2, "symphiq-funnel-stage-competitive-tooltip", 6);
|
|
11729
|
+
} if (rf & 2) {
|
|
11730
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
11731
|
+
i0.ɵɵconditional(ctx_r1.funnelStageCompetitiveContent() ? 0 : -1);
|
|
11732
|
+
} }
|
|
11733
|
+
function TooltipContainerComponent_Conditional_0_Case_14_Conditional_1_For_1_Template(rf, ctx) { if (rf & 1) {
|
|
11006
11734
|
i0.ɵɵelementStart(0, "div", 7)(1, "div", 8);
|
|
11007
11735
|
i0.ɵɵtext(2);
|
|
11008
11736
|
i0.ɵɵelementEnd();
|
|
@@ -11016,16 +11744,16 @@ function TooltipContainerComponent_Conditional_0_Case_12_Conditional_1_For_1_Tem
|
|
|
11016
11744
|
i0.ɵɵadvance(2);
|
|
11017
11745
|
i0.ɵɵtextInterpolate(section_r3.content);
|
|
11018
11746
|
} }
|
|
11019
|
-
function
|
|
11020
|
-
i0.ɵɵrepeaterCreate(0,
|
|
11747
|
+
function TooltipContainerComponent_Conditional_0_Case_14_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
11748
|
+
i0.ɵɵrepeaterCreate(0, TooltipContainerComponent_Conditional_0_Case_14_Conditional_1_For_1_Template, 5, 2, "div", 7, i0.ɵɵrepeaterTrackByIndex);
|
|
11021
11749
|
} if (rf & 2) {
|
|
11022
11750
|
i0.ɵɵnextContext(2);
|
|
11023
11751
|
const content_r4 = i0.ɵɵreadContextLet(2);
|
|
11024
11752
|
i0.ɵɵrepeater(content_r4["sections"] || i0.ɵɵpureFunction0(0, _c0$6));
|
|
11025
11753
|
} }
|
|
11026
|
-
function
|
|
11754
|
+
function TooltipContainerComponent_Conditional_0_Case_14_Template(rf, ctx) { if (rf & 1) {
|
|
11027
11755
|
i0.ɵɵelementStart(0, "div", 3);
|
|
11028
|
-
i0.ɵɵconditionalCreate(1,
|
|
11756
|
+
i0.ɵɵconditionalCreate(1, TooltipContainerComponent_Conditional_0_Case_14_Conditional_1_Template, 2, 1);
|
|
11029
11757
|
i0.ɵɵelementEnd();
|
|
11030
11758
|
} if (rf & 2) {
|
|
11031
11759
|
i0.ɵɵnextContext();
|
|
@@ -11035,23 +11763,23 @@ function TooltipContainerComponent_Conditional_0_Case_12_Template(rf, ctx) { if
|
|
|
11035
11763
|
i0.ɵɵadvance();
|
|
11036
11764
|
i0.ɵɵconditional(content_r4 && typeof content_r4 === "object" && "sections" in content_r4 ? 1 : -1);
|
|
11037
11765
|
} }
|
|
11038
|
-
function
|
|
11766
|
+
function TooltipContainerComponent_Conditional_0_Case_15_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
11039
11767
|
i0.ɵɵtext(0);
|
|
11040
11768
|
} if (rf & 2) {
|
|
11041
11769
|
i0.ɵɵnextContext(2);
|
|
11042
11770
|
const content_r4 = i0.ɵɵreadContextLet(2);
|
|
11043
11771
|
i0.ɵɵtextInterpolate1(" ", content_r4["text"], " ");
|
|
11044
11772
|
} }
|
|
11045
|
-
function
|
|
11773
|
+
function TooltipContainerComponent_Conditional_0_Case_15_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
11046
11774
|
i0.ɵɵtext(0);
|
|
11047
11775
|
} if (rf & 2) {
|
|
11048
11776
|
i0.ɵɵnextContext(2);
|
|
11049
11777
|
const content_r4 = i0.ɵɵreadContextLet(2);
|
|
11050
11778
|
i0.ɵɵtextInterpolate1(" ", content_r4, " ");
|
|
11051
11779
|
} }
|
|
11052
|
-
function
|
|
11780
|
+
function TooltipContainerComponent_Conditional_0_Case_15_Template(rf, ctx) { if (rf & 1) {
|
|
11053
11781
|
i0.ɵɵelementStart(0, "div", 4);
|
|
11054
|
-
i0.ɵɵconditionalCreate(1,
|
|
11782
|
+
i0.ɵɵconditionalCreate(1, TooltipContainerComponent_Conditional_0_Case_15_Conditional_1_Template, 1, 1)(2, TooltipContainerComponent_Conditional_0_Case_15_Conditional_2_Template, 1, 1);
|
|
11055
11783
|
i0.ɵɵelementEnd();
|
|
11056
11784
|
} if (rf & 2) {
|
|
11057
11785
|
i0.ɵɵnextContext();
|
|
@@ -11061,7 +11789,7 @@ function TooltipContainerComponent_Conditional_0_Case_13_Template(rf, ctx) { if
|
|
|
11061
11789
|
i0.ɵɵadvance();
|
|
11062
11790
|
i0.ɵɵconditional(content_r4 && typeof content_r4 === "object" && "text" in content_r4 ? 1 : 2);
|
|
11063
11791
|
} }
|
|
11064
|
-
function
|
|
11792
|
+
function TooltipContainerComponent_Conditional_0_Case_16_Template(rf, ctx) { if (rf & 1) {
|
|
11065
11793
|
i0.ɵɵelementStart(0, "div", 5);
|
|
11066
11794
|
i0.ɵɵtext(1);
|
|
11067
11795
|
i0.ɵɵelementEnd();
|
|
@@ -11078,7 +11806,7 @@ function TooltipContainerComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
|
|
|
11078
11806
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2);
|
|
11079
11807
|
i0.ɵɵlistener("mouseenter", function TooltipContainerComponent_Conditional_0_Template_div_mouseenter_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onTooltipMouseEnter()); })("mouseleave", function TooltipContainerComponent_Conditional_0_Template_div_mouseleave_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onTooltipMouseLeave()); });
|
|
11080
11808
|
i0.ɵɵdeclareLet(2);
|
|
11081
|
-
i0.ɵɵconditionalCreate(3, TooltipContainerComponent_Conditional_0_Case_3_Template, 1, 1)(4, TooltipContainerComponent_Conditional_0_Case_4_Template, 1, 1)(5, TooltipContainerComponent_Conditional_0_Case_5_Template, 1, 1)(6, TooltipContainerComponent_Conditional_0_Case_6_Template, 1, 1)(7, TooltipContainerComponent_Conditional_0_Case_7_Template, 1, 1)(8, TooltipContainerComponent_Conditional_0_Case_8_Template, 1, 1)(9, TooltipContainerComponent_Conditional_0_Case_9_Template, 1, 1)(10, TooltipContainerComponent_Conditional_0_Case_10_Template, 1, 1)(11, TooltipContainerComponent_Conditional_0_Case_11_Template, 1, 1)(12, TooltipContainerComponent_Conditional_0_Case_12_Template, 2, 2, "div", 3)(
|
|
11809
|
+
i0.ɵɵconditionalCreate(3, TooltipContainerComponent_Conditional_0_Case_3_Template, 1, 1)(4, TooltipContainerComponent_Conditional_0_Case_4_Template, 1, 1)(5, TooltipContainerComponent_Conditional_0_Case_5_Template, 1, 1)(6, TooltipContainerComponent_Conditional_0_Case_6_Template, 1, 1)(7, TooltipContainerComponent_Conditional_0_Case_7_Template, 1, 1)(8, TooltipContainerComponent_Conditional_0_Case_8_Template, 1, 1)(9, TooltipContainerComponent_Conditional_0_Case_9_Template, 1, 1)(10, TooltipContainerComponent_Conditional_0_Case_10_Template, 1, 1)(11, TooltipContainerComponent_Conditional_0_Case_11_Template, 1, 1)(12, TooltipContainerComponent_Conditional_0_Case_12_Template, 1, 1)(13, TooltipContainerComponent_Conditional_0_Case_13_Template, 1, 1)(14, TooltipContainerComponent_Conditional_0_Case_14_Template, 2, 2, "div", 3)(15, TooltipContainerComponent_Conditional_0_Case_15_Template, 3, 2, "div", 4)(16, TooltipContainerComponent_Conditional_0_Case_16_Template, 2, 2, "div", 5);
|
|
11082
11810
|
i0.ɵɵelementEnd()();
|
|
11083
11811
|
} if (rf & 2) {
|
|
11084
11812
|
let tmp_6_0;
|
|
@@ -11091,7 +11819,7 @@ function TooltipContainerComponent_Conditional_0_Template(rf, ctx) { if (rf & 1)
|
|
|
11091
11819
|
i0.ɵɵadvance();
|
|
11092
11820
|
i0.ɵɵstoreLet(ctx_r1.tooltipContent());
|
|
11093
11821
|
i0.ɵɵadvance();
|
|
11094
|
-
i0.ɵɵconditional((tmp_6_0 = ctx_r1.tooltipType()) === "metric" ? 3 : tmp_6_0 === "status" ? 4 : tmp_6_0 === "trend" ? 5 : tmp_6_0 === "priority" ? 6 : tmp_6_0 === "badge" ? 7 : tmp_6_0 === "breakdown" ? 8 : tmp_6_0 === "competitive" ? 9 : tmp_6_0 === "insightsList" ? 10 : tmp_6_0 === "narrative" ? 11 : tmp_6_0 === "
|
|
11822
|
+
i0.ɵɵconditional((tmp_6_0 = ctx_r1.tooltipType()) === "metric" ? 3 : tmp_6_0 === "status" ? 4 : tmp_6_0 === "trend" ? 5 : tmp_6_0 === "priority" ? 6 : tmp_6_0 === "badge" ? 7 : tmp_6_0 === "breakdown" ? 8 : tmp_6_0 === "competitive" ? 9 : tmp_6_0 === "insightsList" ? 10 : tmp_6_0 === "narrative" ? 11 : tmp_6_0 === "competitiveStatus" ? 12 : tmp_6_0 === "funnelStageCompetitive" ? 13 : tmp_6_0 === "insight" ? 14 : tmp_6_0 === "text" ? 15 : 16);
|
|
11095
11823
|
} }
|
|
11096
11824
|
class TooltipContainerComponent {
|
|
11097
11825
|
constructor() {
|
|
@@ -11154,6 +11882,14 @@ class TooltipContainerComponent {
|
|
|
11154
11882
|
const content = this.tooltipContent();
|
|
11155
11883
|
return this.tooltipType() === 'narrative' ? content : null;
|
|
11156
11884
|
}, ...(ngDevMode ? [{ debugName: "narrativeContent" }] : []));
|
|
11885
|
+
this.competitiveStatusContent = computed(() => {
|
|
11886
|
+
const content = this.tooltipContent();
|
|
11887
|
+
return this.tooltipType() === 'competitiveStatus' ? content : null;
|
|
11888
|
+
}, ...(ngDevMode ? [{ debugName: "competitiveStatusContent" }] : []));
|
|
11889
|
+
this.funnelStageCompetitiveContent = computed(() => {
|
|
11890
|
+
const content = this.tooltipContent();
|
|
11891
|
+
return this.tooltipType() === 'funnelStageCompetitive' ? content : null;
|
|
11892
|
+
}, ...(ngDevMode ? [{ debugName: "funnelStageCompetitiveContent" }] : []));
|
|
11157
11893
|
this.tooltipLeft = computed(() => {
|
|
11158
11894
|
return this.calculateLeft();
|
|
11159
11895
|
}, ...(ngDevMode ? [{ debugName: "tooltipLeft" }] : []));
|
|
@@ -11411,7 +12147,7 @@ class TooltipContainerComponent {
|
|
|
11411
12147
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TooltipContainerComponent, selectors: [["symphiq-tooltip-container"]], hostVars: 2, hostBindings: function TooltipContainerComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
11412
12148
|
i0.ɵɵstyleProp("display", "contents");
|
|
11413
12149
|
} }, decls: 1, vars: 1, consts: [[1, "z-[100]", "pointer-events-none", 3, "style"], [1, "z-[100]", "pointer-events-none"], [1, "rounded-lg", "shadow-2xl", "border", "backdrop-blur-xl", "px-4", "py-3", "pointer-events-auto", 3, "mouseenter", "mouseleave", "ngClass"], [1, "text-sm", "space-y-3", 3, "ngClass"], [1, "text-sm", "whitespace-pre-line", "leading-relaxed", 3, "ngClass"], [1, "text-sm", "whitespace-pre-line", 3, "ngClass"], [3, "content", "isLightMode"], [1, "space-y-2"], [1, "font-semibold"], [1, "whitespace-pre-line", "leading-relaxed"]], template: function TooltipContainerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
11414
|
-
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Template,
|
|
12150
|
+
i0.ɵɵconditionalCreate(0, TooltipContainerComponent_Conditional_0_Template, 17, 8, "div", 0);
|
|
11415
12151
|
} if (rf & 2) {
|
|
11416
12152
|
i0.ɵɵconditional(ctx.isVisible() ? 0 : -1);
|
|
11417
12153
|
} }, dependencies: [CommonModule, i1.NgClass, MetricValueTooltipComponent,
|
|
@@ -11422,7 +12158,9 @@ class TooltipContainerComponent {
|
|
|
11422
12158
|
BreakdownRowTooltipComponent,
|
|
11423
12159
|
CompetitiveBenchmarkTooltipComponent,
|
|
11424
12160
|
InsightsListTooltipComponent,
|
|
11425
|
-
NarrativeTooltipComponent
|
|
12161
|
+
NarrativeTooltipComponent,
|
|
12162
|
+
CompetitiveStatusTooltipComponent,
|
|
12163
|
+
FunnelStageCompetitiveTooltipComponent], encapsulation: 2, data: { animation: [
|
|
11426
12164
|
trigger('fadeInScale', [
|
|
11427
12165
|
transition(':enter', [
|
|
11428
12166
|
style({ opacity: 0 }),
|
|
@@ -11453,7 +12191,9 @@ class TooltipContainerComponent {
|
|
|
11453
12191
|
BreakdownRowTooltipComponent,
|
|
11454
12192
|
CompetitiveBenchmarkTooltipComponent,
|
|
11455
12193
|
InsightsListTooltipComponent,
|
|
11456
|
-
NarrativeTooltipComponent
|
|
12194
|
+
NarrativeTooltipComponent,
|
|
12195
|
+
CompetitiveStatusTooltipComponent,
|
|
12196
|
+
FunnelStageCompetitiveTooltipComponent
|
|
11457
12197
|
],
|
|
11458
12198
|
animations: [
|
|
11459
12199
|
trigger('fadeInScale', [
|
|
@@ -11543,6 +12283,20 @@ class TooltipContainerComponent {
|
|
|
11543
12283
|
[isLightMode]="isLightMode()" />
|
|
11544
12284
|
}
|
|
11545
12285
|
}
|
|
12286
|
+
@case ('competitiveStatus') {
|
|
12287
|
+
@if (competitiveStatusContent()) {
|
|
12288
|
+
<symphiq-competitive-status-tooltip
|
|
12289
|
+
[content]="competitiveStatusContent()!"
|
|
12290
|
+
[isLightMode]="isLightMode()" />
|
|
12291
|
+
}
|
|
12292
|
+
}
|
|
12293
|
+
@case ('funnelStageCompetitive') {
|
|
12294
|
+
@if (funnelStageCompetitiveContent()) {
|
|
12295
|
+
<symphiq-funnel-stage-competitive-tooltip
|
|
12296
|
+
[content]="funnelStageCompetitiveContent()!"
|
|
12297
|
+
[isLightMode]="isLightMode()" />
|
|
12298
|
+
}
|
|
12299
|
+
}
|
|
11546
12300
|
@case ('insight') {
|
|
11547
12301
|
<div [ngClass]="textClass()" class="text-sm space-y-3">
|
|
11548
12302
|
@if (content && typeof content === 'object' && 'sections' in content) {
|
|
@@ -11576,7 +12330,7 @@ class TooltipContainerComponent {
|
|
|
11576
12330
|
`
|
|
11577
12331
|
}]
|
|
11578
12332
|
}], () => [], null); })();
|
|
11579
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TooltipContainerComponent, { className: "TooltipContainerComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/tooltip-container.component.ts", lineNumber:
|
|
12333
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TooltipContainerComponent, { className: "TooltipContainerComponent", filePath: "lib/components/funnel-analysis-dashboard/tooltip/tooltip-container.component.ts", lineNumber: 195 }); })();
|
|
11580
12334
|
|
|
11581
12335
|
function MobileFABComponent_Conditional_1_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
11582
12336
|
i0.ɵɵnamespaceSVG();
|
|
@@ -23874,7 +24628,7 @@ class SymphiqFunnelAnalysisPreviewComponent {
|
|
|
23874
24628
|
this.gradeTooltip = computed(() => ({
|
|
23875
24629
|
title: 'Performance Grade',
|
|
23876
24630
|
grade: this.overallAssessment().grade || 'B',
|
|
23877
|
-
explanation: this.getGradeExplanation()
|
|
24631
|
+
explanation: this.overallAssessment().gradeDescription || this.getGradeExplanation()
|
|
23878
24632
|
}), ...(ngDevMode ? [{ debugName: "gradeTooltip" }] : []));
|
|
23879
24633
|
this.revenueTooltip = computed(() => {
|
|
23880
24634
|
const metric = this.revenueMetric();
|
|
@@ -24695,8 +25449,8 @@ class LineChartComponent {
|
|
|
24695
25449
|
const valueX = dataItem.get('valueX');
|
|
24696
25450
|
if (valueX) {
|
|
24697
25451
|
const date = new Date(valueX);
|
|
24698
|
-
const month = date.toLocaleString('default', { month: 'long' });
|
|
24699
|
-
const year = date.
|
|
25452
|
+
const month = date.toLocaleString('default', { month: 'long', timeZone: 'UTC' });
|
|
25453
|
+
const year = date.toLocaleString('default', { year: 'numeric', timeZone: 'UTC' });
|
|
24700
25454
|
monthText = `${month} ${year}`;
|
|
24701
25455
|
}
|
|
24702
25456
|
}
|
|
@@ -24739,7 +25493,7 @@ class LineChartComponent {
|
|
|
24739
25493
|
}
|
|
24740
25494
|
chartData.series?.forEach((seriesData, index) => {
|
|
24741
25495
|
const parsedData = (seriesData.data || []).map(d => ({
|
|
24742
|
-
date: new Date(d.date
|
|
25496
|
+
date: new Date(`${d.date}T00:00:00Z`).getTime(),
|
|
24743
25497
|
value: d.value
|
|
24744
25498
|
}));
|
|
24745
25499
|
// Get the Y-axis for this series, or use the first one as default
|