// src/lib/states/connecticut.ts export interface NewEnglandState { id: string; name: string; slug: string; image: string; pathD: string; fill: string; hoverFill: string; } export const connecticutCounties: NewEnglandState[] = [ { id: 'fairfield', name: 'Fairfield County', slug: 'fairfield', image: '/images/counties/ct/fairfield.png', pathD: "M 180.79 217.29 181.4 217.68 181.92 217.72 183.45 217.38 183.77 217.38 185.22 217.77 212.76 315.89 258.98 326.35 261 328.12 266.85 329.3 267.86 328.51 311.09 355.6 320.69 363.59 319.39 368.64 321.36 371.77 325.53 376.32 330.62 376.18 336.38 385.23 341.22 394.48 349.76 405.12 360.2 412.37 362 415.04 365.24 416.66 365.79 418.85 366.75 420.02 369.91 422.6 404.72 459.89 404.23 460.37 399.31 466.41 396.92 470.55 395.27 473.4 392.78 476.04 392.56 476.27 392.16 476.7 389.97 476.81 389.96 476.73 389.95 476.62 389.95 476.55 389.93 476.36 389.85 475.52 388.96 475.08 388.02 474.94 379.27 473.7 377.14 473.4 375.34 474.37 373.48 475.36 365.8 481.8 365.03 482.45 360.08 487.96 359.75 488.32 359.69 488.39 354.56 494.1 354.08 494.64 354.07 494.64 353.03 496.57 352.03 501.62 352.2 503.13 352.87 504.96 351.74 506.6 343.66 508.83 329.31 502.26 326.91 501.16 326.65 498.69 323.67 497.71 313.21 502.52 302.42 511.17 299.58 510.4 294.15 520.22 288.09 525.19 277.83 519.39 273.79 520.62 267.27 525.86 259.36 529.38 241.85 532.72 233.5 541.83 230.13 542.61 224.45 549.88 215.45 559.12 209.01 558.9 201.5 562.11 197.66 570.67 190.94 563.88 181.03 569.14 181.08 574.29 178.6 579.98 175.99 581.6 175.03 578.52 175.44 574.7 174.35 573.08 173.27 572.94 166.48 577.17 162.07 581.37 159.67 584.66 158.66 589.85 152.82 590.24 152.39 584.86 147.88 581.82 144.41 582.35 127.79 589.53 124.55 593.4 121.96 599 123.08 584.22 122.78 583.6 116.43 573.96 112.44 567.43 109.41 562.47 106.42 557.67 92.33 534.57 129.39 511.79 132.55 509.88 140.01 505.36 181.99 479.98 184.15 478.65 195.41 471.97 166.7 425.72 169.32 385.97 169.78 380.14 172.29 348.11 172.38 346.99 172.59 344.07 172.97 338.33 173 337.36 173.04 336.14 173.05 335.87 173.09 335.06 173.68 324.54 173.72 324.26 173.72 323.97 173.77 323.33 173.81 322.82 173.85 322.41 175.49 295.73 179.11 245.56 180.79 217.29 Z", fill: 'fill-green-500', hoverFill: 'fill-green-700' }, { id: 'hartford', name: 'Hartford County', slug: 'hartford', image: '/images/counties/ct/hartford.png', pathD: "M 502.69 266.67 421.01 279.09 405.49 232.52 399.06 191.47 393.29 156.16 393.18 156 393.13 154.85 391.49 144.58 391.32 143.15 419.89 138.5 438.01 73.4 445.95 44.32 386.02 48 394.77 7.11 394.77 6.82 455.76 7.76 455.81 7.76 476.88 8.44 475.53 30.47 493.19 27.9 496.56 27.41 496.81 24.75 500.17 17.29 500.46 17.25 501.15 8.61 518.69 8.38 526.35 8.28 604.89 9.51 604.94 10.12 608.87 37.99 609.21 41.62 611.82 58.81 607.47 59.31 603.15 60 603.03 61.36 601.47 102.67 623.94 172.83 646.35 253.79 643.57 260.09 622.75 263.86 590.15 230.78 553.86 236.08 554.99 232.18 518.52 252.38 511.31 257.17 502.37 259.02 502.69 266.67 Z", fill: 'fill-green-500', hoverFill: 'fill-green-700' }, { id: 'litchfield', name: 'Litchfield County', slug: 'litchfield', image: '/images/counties/ct/litchfield.png', pathD: "M 267.86 328.51 266.85 329.3 261 328.12 258.98 326.35 212.76 315.89 185.22 217.77 183.77 217.38 183.45 217.38 181.92 217.72 181.4 217.68 180.79 217.29 183.86 165.43 186.03 128.71 186.06 128.42 193.47 1 274.61 2.5 275.16 2.53 301.26 3.66 301.79 3.7 344.91 5.35 376.05 6.54 394.77 6.82 394.77 7.11 386.02 48 445.95 44.32 438.01 73.4 419.89 138.5 391.32 143.15 391.49 144.58 393.13 154.85 393.18 156 393.29 156.16 399.06 191.47 405.49 232.52 396.75 238.72 389.42 239.55 390.6 246.87 383.24 246.25 374.04 251.01 337.44 278.52 329.18 278.93 332.94 302.42 264.32 308.09 260.86 319.69 267.86 328.51 Z", fill: 'fill-green-500', hoverFill: 'fill-green-700' }, { id: 'middlesex', name: 'Middlesex County', slug: 'middlesex', image: '/images/counties/ct/middlesex.png', pathD: "M 675.44 434.29 672.42 435.78 672.66 440.12 656.44 444.54 651.37 435.37 648.33 435.25 628.98 434.97 620.31 439.89 614.78 439.45 608.95 442.26 605.97 445.49 600.91 444.84 599.79 442.41 596.39 443.07 594.77 444.04 593.3 447.67 592.87 447.98 533.58 348.17 531.98 348.17 521.12 350.61 505.23 354.06 510.38 319.22 506.41 320.49 505.81 312.3 502.69 266.67 502.37 259.02 511.31 257.17 518.52 252.38 554.99 232.18 553.86 236.08 590.15 230.78 622.75 263.86 637.88 297.21 683.24 300.83 690.56 346.77 636.64 353.67 675.44 434.29 Z", fill: 'fill-green-500', hoverFill: 'fill-green-700' }, { id: 'newhaven', name: 'New Haven County', slug: 'newhaven', image: '/images/counties/ct/newhaven.png', pathD: "M 405.49 232.52 421.01 279.09 502.69 266.67 505.81 312.3 506.41 320.49 510.38 319.22 505.23 354.06 521.12 350.61 531.98 348.17 533.58 348.17 592.87 447.98 589.06 450.74 588.89 450.86 579.04 441.21 578.86 441.04 578.84 441.01 573.71 439 572.93 439.21 572.61 439.29 572.3 439.38 571.77 439.52 570.98 439.74 570.5 439.87 567.52 440.68 563.39 439.73 562.39 439.5 559.45 438.83 559.33 438.86 559.13 438.92 553.5 440.46 549.45 441.57 549.22 441.63 548.69 441.69 545.37 442.09 544.05 442.24 544.01 442.22 543.68 442.06 540.53 440.53 540.27 440.4 538.44 440.96 536.55 441.54 536.27 441.63 535.44 442.45 530.97 446.89 530.77 449.68 530.72 450.41 529.07 452.46 528.74 452.88 528.66 452.99 527.39 453.66 526.84 453.95 526.54 453.96 523.87 454.07 522.01 454.15 521.6 454.17 520.99 454.19 520.86 454.2 520.77 454.2 520.18 454.23 520.08 454.04 518.88 451.69 519.92 450.57 519.39 448.81 515.2 446.03 510.83 448.49 501.73 441.68 500.46 441.68 488.4 442.86 474.69 449.88 474.42 448.87 471.26 447.36 462.48 447.4 461.45 448.04 459.83 452.4 456.77 453.77 448.31 455.28 442.43 454.66 440.17 453.45 438.68 452.65 438.3 452.09 439.23 449.57 439.33 449.52 442.72 447.67 442.73 447.64 443.1 445.6 442.04 443.33 439.19 437.26 437.16 432.92 437.06 432.71 433.43 433.21 433.34 433.28 432.07 434.32 431.82 439.07 431.8 439.51 431.74 440.56 427.1 444.91 426.43 445.53 425.52 446.38 416.54 449.5 415.43 449.89 414.71 450.14 414.41 450.24 405.28 459.33 404.72 459.89 369.91 422.6 366.75 420.02 365.79 418.85 365.24 416.66 362 415.04 360.2 412.37 349.76 405.12 341.22 394.48 336.38 385.23 330.62 376.18 325.53 376.32 321.36 371.77 319.39 368.64 320.69 363.59 311.09 355.6 267.86 328.51 260.86 319.69 264.32 308.09 332.94 302.42 329.18 278.93 337.44 278.52 374.04 251.01 383.24 246.25 390.6 246.87 389.42 239.55 396.75 238.72 405.49 232.52 Z", fill: 'fill-green-500', hoverFill: 'fill-green-700' }, { id: 'newlondon', name: 'New London County', slug: 'newlondon', image: '/images/counties/ct/newlondon.png', pathD: "M 907.63 232.28 907.67 256.54 907.67 256.57 904.17 357.64 904.17 357.75 895.46 356.13 886.52 360.33 885.29 361.6 884.91 363.85 885.47 369.73 889.13 375.8 889.9 383.44 890.05 398.15 889.51 400.08 886.46 403.73 878.14 410.61 874.49 405.83 866.89 402.76 854.1 405.11 851.84 403.82 851.34 403.49 845.87 401.9 841.93 401.99 837.26 406.43 831.29 409.42 827.71 406.36 826.56 406.43 824.05 411.63 809.86 413.73 783.53 412.16 779.34 415.22 777.08 419.24 772.04 423.66 762.61 423.49 751.11 417.41 745.91 413.3 744.36 410.56 741.62 409.72 738.72 410.16 734.35 414.37 733.67 415.77 733.25 423.66 729.51 427.99 724.31 423.69 720 422.92 714.69 423.44 713.12 423.93 713.7 426.3 713.36 428.75 709.08 432.71 685.41 435.59 681.28 435.21 678.63 432.72 675.44 434.29 636.64 353.67 690.56 346.77 683.24 300.83 637.88 297.21 622.75 263.86 643.57 260.09 646.35 253.79 718.31 190.51 718.98 191.09 740.56 211.87 752.8 222.37 754.55 217.86 768.46 219.95 774.63 221.3 775.53 221.43 792.97 225.41 838 235.22 907.63 232.28 Z", fill: 'fill-green-500', hoverFill: 'fill-green-700' }, { id: 'tolland', name: 'Tolland County', slug: 'tolland', image: '/images/counties/ct/tolland.png', pathD: "M 776.1 12.71 777.33 52.33 767.07 52.32 766.69 52.28 755.28 52.13 727.8 52.78 727.49 122.27 749.85 122.43 753.08 168.18 753.32 168.36 718.31 190.51 646.35 253.79 623.94 172.83 601.47 102.67 603.03 61.36 603.15 60 607.47 59.31 611.82 58.81 609.21 41.62 608.87 37.99 604.94 10.12 604.89 9.51 651.9 10.25 735.44 11.57 761.98 11.98 762 11.98 776.1 12.71 Z", fill: 'fill-green-500', hoverFill: 'fill-green-700' }, { id: 'windham', name: 'Windham County', slug: 'windham', image: '/images/counties/ct/windham.png', pathD: "M 776.1 12.71 793.94 13.63 902.92 15.76 903.51 24.54 904.53 69.52 904.84 83.14 905.65 118.93 905.65 119.47 906.23 137.24 906.24 138.18 907.54 184.57 907.54 184.67 907.63 232.28 838 235.22 792.97 225.41 775.53 221.43 774.63 221.3 768.46 219.95 754.55 217.86 752.8 222.37 740.56 211.87 718.98 191.09 718.31 190.51 753.32 168.36 753.08 168.18 749.85 122.43 727.49 122.27 727.8 52.78 755.28 52.13 766.69 52.28 767.07 52.32 777.33 52.33 776.1 12.71 Z", fill: 'fill-green-500', hoverFill: 'fill-green-700' } ]; // CRIT-013: Old viewBox was a copy-paste from the home page map and not used for county view // export const mapViewBox: string = "890 20 95 155"; // New viewBox: tight crop around CT county paths (x:92-908, y:1-599) + 25px padding export const mapViewBox: string = "65 -25 870 650"; /** * SVG transform string to apply to the group of states to straighten the map. * Format: "rotate(angle cx cy)" * - angle: degrees to rotate (negative for counter-clockwise) * - cx: x-coordinate of the center of rotation * - cy: y-coordinate of the center of rotation * * You'll need to experiment with these values. * The approximate center of your current viewBox (890 65 85 110) is: * cx = 890 + (85 / 2) = 932.5 * cy = 65 + (110 / 2) = 120 */ // export const mapTransform: string = "rotate(-2 932.5 120)"; // Example: Rotate -2 degrees around center export const mapTransform: string | undefined = undefined; // Start with no transform // Try uncommenting the line above and adjusting the -2, 932.5, and 120 values. // For example, if it's tilted 5 degrees clockwise, try "rotate(-5 932.5 120)" // If it's tilted 3 degrees counter-clockwise, try "rotate(3 932.5 120)"