imdhemy-jekyll-theme 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e197c5e061c4618d873ce41e27be4cd99bc02739cde544931002224705ca65ff
4
- data.tar.gz: '01580c0b03af4a5baae5eddf89c3ee56c49e46d9a9db24b9f8417e4d6afdb213'
3
+ metadata.gz: b818d0cb994fdf2b0bad78a6d35376a5aa6e48957de5e7b070f500022c91c1fb
4
+ data.tar.gz: c80dca24b0df100e03d9248314d21bbf2e4d12f1e9726b06e14c6f186b9ad99f
5
5
  SHA512:
6
- metadata.gz: efaab2941f259884f0a1d9bfce30753aef0afdd91c7dc4a25dd52fba4a119c6947e64ae5146ad576a707b632d1c8467f4e505b5bbd561bab5c3ab21719eef607
7
- data.tar.gz: 2fae98563161bb2cb0c43ae31020c8bccee9506694ccb5b861758e134e3fde10342da6c4bb7362d1cfce4d93f8817158ffa517ccc846ba3a1d8347b931ba9a62
6
+ metadata.gz: 6b216dcbce4105f27c9cc87fb39ec8911cfb6f038303aa49646f3e6f121b9d5a1c910fec261eddfbd10e3b1f56f6c500817349a5ee57e5534ea8edd6df429fbd
7
+ data.tar.gz: 670055c52365ef0c26889665d389124cb746674681cc2a9141a6477a01e3579b0f2f529420d7966ee97973f14e7625c8963451ede9be64e205555c1158a9c561
@@ -1,5 +1,4 @@
1
1
  {% assign reading_minutes = post.content | number_of_words | divided_by: 200 | at_least: 1 %}
2
- {% assign read_article_label = site.theme_text.read_article_label | default: "Read article" %}
3
2
  <article class="post-card{% if post.image %} post-card--with-image{% endif %}">
4
3
  <!-- thumbnail -->
5
4
  {% if post.image %}
@@ -20,13 +19,12 @@
20
19
  href="{{ site.baseurl }}{{ post.url }}">{{
21
20
  post.title }}</a>
22
21
  </h2>
22
+ {% include post-meta.html date=post.date reading_minutes=reading_minutes class_name="post-card__meta post-meta" %}
23
23
  <!-- excerpt -->
24
24
  <div class="post-card__excerpt">
25
25
  {{ post.excerpt | strip_html | truncatewords: 20 }}
26
26
  </div>
27
- {% include post-meta.html date=post.date reading_minutes=reading_minutes class_name="post-card__meta post-meta" %}
28
27
  {% assign tags = post.tags %}
29
28
  {% include post-tags.html %}
30
- <a class="post-card__read-link" href="{{ site.baseurl }}{{ post.url }}" aria-label="{{ read_article_label }}: {{ post.title }}">{{ read_article_label }} &rarr;</a>
31
29
  </div>
32
30
  </article>
@@ -9,7 +9,7 @@
9
9
 
10
10
  <link rel="preconnect" href="https://fonts.googleapis.com">
11
11
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
12
- <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,700&display=swap"
12
+ <link href="https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400;14..32,500;14..32,600;14..32,700&display=swap"
13
13
  rel="stylesheet">
14
14
 
15
15
  <link rel="stylesheet" href="{{ '/assets/css/main.css?v=' | append: site.github.build_revision | relative_url }}">
@@ -15,7 +15,7 @@ html,
15
15
  line-height: 1.5;
16
16
  -webkit-text-size-adjust: 100%;
17
17
  tab-size: 4;
18
- font-family: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;
18
+ font-family: var(--font-sans);
19
19
  font-feature-settings: normal;
20
20
  font-variation-settings: normal;
21
21
  -webkit-tap-highlight-color: transparent;
@@ -20,5 +20,7 @@ h3,
20
20
  h4,
21
21
  h5,
22
22
  h6 {
23
- font-family: "Source Serif 4", Georgia, Cambria, "Times New Roman", Times, serif;
23
+ font-family: var(--font-sans);
24
+ font-weight: var(--font-weight-medium);
25
+ letter-spacing: var(--font-tracking-normal);
24
26
  }
@@ -114,7 +114,6 @@
114
114
  .site-logo:focus-visible,
115
115
  .post-back-link:focus-visible,
116
116
  .post-card__title-link:focus-visible,
117
- .post-card__read-link:focus-visible,
118
117
  .tag-pill:focus-visible,
119
118
  .pagination-link:focus-visible,
120
119
  .archive-header__blog-link:focus-visible,
@@ -415,19 +414,19 @@
415
414
 
416
415
  .hero-kicker {
417
416
  margin-bottom: 1rem;
418
- font-size: 0.95rem;
419
- font-weight: 700;
420
- letter-spacing: 0.08em;
417
+ font-size: var(--font-text-sm-size);
418
+ font-weight: var(--font-weight-medium);
419
+ letter-spacing: var(--font-tracking-wide);
421
420
  text-transform: uppercase;
422
421
  color: var(--color-brand);
423
422
  }
424
423
 
425
424
  .hero-title {
426
425
  margin-bottom: 2rem;
427
- font-size: clamp(1.95rem, 4.2vw, 3rem);
428
- font-weight: 700;
429
- line-height: 1.12;
430
- letter-spacing: -0.015em;
426
+ font-size: clamp(var(--font-heading-xl-size), 4.2vw, var(--font-heading-3xl-size));
427
+ font-weight: var(--font-weight-semibold);
428
+ line-height: 1.1;
429
+ letter-spacing: var(--font-tracking-tight);
431
430
  text-wrap: balance;
432
431
  overflow-wrap: break-word;
433
432
  }
@@ -437,8 +436,8 @@
437
436
  }
438
437
 
439
438
  .hero-description {
440
- font-size: 1.125rem;
441
- line-height: 2rem;
439
+ font-size: var(--font-text-lg-size);
440
+ line-height: var(--font-text-lg-line-height);
442
441
  color: var(--color-muted);
443
442
  }
444
443
 
@@ -458,8 +457,8 @@
458
457
  padding: 0.75rem 1.3rem;
459
458
  border-radius: 999px;
460
459
  box-shadow: 0 8px 18px color-mix(in srgb, var(--color-brand) 22%, transparent);
461
- font-size: 1rem;
462
- font-weight: 700;
460
+ font-size: var(--font-text-sm-size);
461
+ font-weight: var(--font-weight-medium);
463
462
  color: #fff;
464
463
  background: var(--color-brand);
465
464
  transition: transform 0.2s ease, background-color 0.2s ease;
@@ -475,8 +474,8 @@
475
474
  padding: 0.75rem 1.3rem;
476
475
  border: 1px solid color-mix(in srgb, var(--color-brand) 35%, #ffffff 65%);
477
476
  border-radius: 999px;
478
- font-size: 1rem;
479
- font-weight: 700;
477
+ font-size: var(--font-text-sm-size);
478
+ font-weight: var(--font-weight-medium);
480
479
  color: var(--color-brand);
481
480
  background: color-mix(in srgb, var(--color-brand) 5%, #ffffff 95%);
482
481
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
@@ -509,10 +508,10 @@
509
508
  .testimonials__title {
510
509
  margin-bottom: 2rem;
511
510
  text-align: center;
512
- font-size: clamp(1.5rem, 2.8vw, 2rem);
513
- font-weight: 700;
514
- line-height: 1.2;
515
- letter-spacing: -0.01em;
511
+ font-size: clamp(var(--font-heading-lg-size), 2.8vw, var(--font-heading-xl-size));
512
+ font-weight: var(--font-weight-semibold);
513
+ line-height: var(--font-heading-xl-line-height);
514
+ letter-spacing: var(--font-tracking-tight);
516
515
  text-wrap: balance;
517
516
  }
518
517
 
@@ -520,7 +519,8 @@
520
519
  .contributions__subtitle {
521
520
  margin-bottom: 2.25rem;
522
521
  text-align: center;
523
- font-size: 1.5rem;
522
+ font-size: var(--font-text-lg-size);
523
+ line-height: var(--font-text-lg-line-height);
524
524
  color: var(--color-muted);
525
525
  }
526
526
 
@@ -571,13 +571,7 @@
571
571
  border-bottom: 1px solid #e5e7eb;
572
572
  border-radius: 1rem;
573
573
  background: var(--color-surface);
574
- transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
575
- }
576
-
577
- .post-card:hover {
578
- border-color: #c5d0ee;
579
- box-shadow: 0 15px 35px -24px var(--color-shadow);
580
- transform: translateY(-1px);
574
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
581
575
  }
582
576
 
583
577
  .post-card:focus-within {
@@ -613,7 +607,7 @@
613
607
  }
614
608
 
615
609
  .post-card__meta {
616
- margin: 0.7rem 0 0.55rem;
610
+ margin: -0.35rem 0 0.75rem;
617
611
  }
618
612
 
619
613
  .post-meta {
@@ -657,8 +651,8 @@
657
651
  padding: 0.25rem 0.6rem;
658
652
  border: 1px solid #d7deef;
659
653
  border-radius: 999px;
660
- font-size: 0.875rem;
661
- font-weight: 600;
654
+ font-size: var(--font-text-sm-size);
655
+ font-weight: var(--font-weight-medium);
662
656
  color: var(--color-muted);
663
657
  background: #f6f8ff;
664
658
  }
@@ -670,11 +664,11 @@
670
664
 
671
665
  .post-card__title {
672
666
  margin-bottom: 0.85rem;
673
- font-family: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;
674
- font-size: 1.875rem;
675
- font-weight: 800;
676
- line-height: 1.2;
677
- letter-spacing: -0.01em;
667
+ font-family: var(--font-sans);
668
+ font-size: var(--font-heading-lg-size);
669
+ font-weight: var(--font-weight-medium);
670
+ line-height: var(--font-heading-lg-line-height);
671
+ letter-spacing: var(--font-tracking-normal);
678
672
  text-wrap: balance;
679
673
  overflow-wrap: break-word;
680
674
  }
@@ -690,20 +684,20 @@
690
684
 
691
685
  .post-card__excerpt {
692
686
  margin-bottom: 0;
693
- font-size: 1.125rem;
694
- line-height: 1.65;
687
+ font-size: var(--font-text-md-size);
688
+ line-height: var(--font-text-md-line-height);
695
689
  color: var(--color-muted);
696
690
  }
697
691
 
698
692
  .post-card .post-tags {
699
- margin-bottom: 0.95rem;
693
+ margin: 0.9rem 0 0;
700
694
  }
701
695
 
702
- .post-card__read-link {
703
- display: inline-block;
704
- margin-top: 1rem;
705
- font-weight: 700;
706
- color: var(--color-brand);
696
+ .post-card .tag-pill,
697
+ .post-header__tags .tag-pill {
698
+ padding: 0.18rem 0.5rem;
699
+ font-size: 0.78rem;
700
+ line-height: 1.35;
707
701
  }
708
702
 
709
703
  .post-header {
@@ -713,18 +707,18 @@
713
707
  .post-back-link {
714
708
  display: inline-block;
715
709
  margin-bottom: 1rem;
716
- font-size: 0.95rem;
717
- font-weight: 700;
710
+ font-size: var(--font-text-sm-size);
711
+ font-weight: var(--font-weight-medium);
718
712
  color: var(--color-brand);
719
713
  }
720
714
 
721
715
  .post-title {
722
- font-family: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;
723
- font-size: clamp(1.45rem, 3vw, 2.1rem);
724
- font-weight: 900;
725
- line-height: 1.18;
726
- letter-spacing: -0.012em;
727
- text-wrap: balance;
716
+ font-family: var(--font-sans);
717
+ font-size: clamp(var(--font-heading-lg-size), 3vw, var(--font-heading-xl-size));
718
+ font-weight: var(--font-weight-medium);
719
+ line-height: var(--font-heading-xl-line-height);
720
+ letter-spacing: var(--font-tracking-normal);
721
+ text-wrap: pretty;
728
722
  overflow-wrap: break-word;
729
723
  }
730
724
 
@@ -950,7 +944,7 @@
950
944
 
951
945
  .post-series__item.is-current .post-series__title {
952
946
  color: color-mix(in srgb, var(--color-brand-strong) 35%, var(--color-text) 65%);
953
- font-weight: 800;
947
+ font-weight: var(--font-weight-semibold);
954
948
  }
955
949
 
956
950
  .post-series__item.is-current .post-series__index {
@@ -996,9 +990,9 @@
996
990
 
997
991
  .post-page .post-title {
998
992
  margin-bottom: 0.95rem;
999
- font-size: 1.875rem;
1000
- line-height: 1.2;
1001
- letter-spacing: -0.014em;
993
+ font-size: var(--font-heading-lg-size);
994
+ line-height: var(--font-heading-lg-line-height);
995
+ letter-spacing: var(--font-tracking-normal);
1002
996
  }
1003
997
 
1004
998
  .post-page .post-image-wrap {
@@ -1048,8 +1042,9 @@
1048
1042
  .comments-shell__heading {
1049
1043
  display: block;
1050
1044
  margin-bottom: 0.3rem;
1051
- font-size: 1.16rem;
1052
- font-weight: 800;
1045
+ font-size: var(--font-heading-sm-size);
1046
+ font-weight: var(--font-weight-semibold);
1047
+ line-height: var(--font-heading-sm-line-height);
1053
1048
  }
1054
1049
 
1055
1050
  .comments-collapsible {
@@ -1159,10 +1154,10 @@
1159
1154
 
1160
1155
  .page-article__title {
1161
1156
  margin: 0 0 1rem;
1162
- font-size: clamp(1.35rem, 8.2vw, 1.7rem);
1163
- font-weight: 800;
1164
- line-height: 1.2;
1165
- letter-spacing: -0.014em;
1157
+ font-size: clamp(var(--font-heading-md-size), 8.2vw, var(--font-heading-lg-size));
1158
+ font-weight: var(--font-weight-semibold);
1159
+ line-height: var(--font-heading-lg-line-height);
1160
+ letter-spacing: var(--font-tracking-tight);
1166
1161
  text-wrap: balance;
1167
1162
  overflow-wrap: break-word;
1168
1163
  }
@@ -1171,8 +1166,8 @@
1171
1166
  max-width: 46rem;
1172
1167
  margin-top: 1rem;
1173
1168
  margin-bottom: 0.3rem;
1174
- font-size: 1.1rem;
1175
- line-height: 1.6;
1169
+ font-size: var(--font-text-md-size);
1170
+ line-height: var(--font-text-md-line-height);
1176
1171
  color: var(--color-muted);
1177
1172
  }
1178
1173
 
@@ -1299,10 +1294,10 @@
1299
1294
 
1300
1295
  .page-header__title {
1301
1296
  margin-bottom: 2rem;
1302
- font-size: clamp(1.65rem, 10vw, 2.25rem);
1303
- font-weight: 700;
1304
- line-height: 1.1;
1305
- letter-spacing: -0.02em;
1297
+ font-size: clamp(var(--font-heading-lg-size), 10vw, var(--font-heading-2xl-size));
1298
+ font-weight: var(--font-weight-semibold);
1299
+ line-height: var(--font-heading-2xl-line-height);
1300
+ letter-spacing: var(--font-tracking-tight);
1306
1301
  text-wrap: balance;
1307
1302
  overflow-wrap: break-word;
1308
1303
  }
@@ -1313,8 +1308,8 @@
1313
1308
 
1314
1309
  .page-header__description {
1315
1310
  max-width: 640px;
1316
- font-size: 1.25rem;
1317
- line-height: 1.5;
1311
+ font-size: var(--font-text-lg-size);
1312
+ line-height: var(--font-text-lg-line-height);
1318
1313
  color: var(--color-muted);
1319
1314
  }
1320
1315
 
@@ -1325,7 +1320,7 @@
1325
1320
  }
1326
1321
 
1327
1322
  .archive-header__blog-link {
1328
- font-weight: 700;
1323
+ font-weight: var(--font-weight-medium);
1329
1324
  color: var(--color-brand);
1330
1325
  text-decoration: underline;
1331
1326
  text-decoration-thickness: 0.08em;
@@ -1433,7 +1428,6 @@
1433
1428
  }
1434
1429
 
1435
1430
  .primary-button:hover,
1436
- .post-card:hover,
1437
1431
  .post-navigation__item:hover,
1438
1432
  .related-posts__item:hover,
1439
1433
  .post-card__image:hover .post-card__image-el {
@@ -1465,8 +1459,9 @@
1465
1459
 
1466
1460
  .related-posts__heading {
1467
1461
  margin-bottom: 0.85rem;
1468
- font-size: 1.6rem;
1469
- font-weight: 800;
1462
+ font-size: var(--font-heading-lg-size);
1463
+ font-weight: var(--font-weight-semibold);
1464
+ line-height: var(--font-heading-lg-line-height);
1470
1465
  }
1471
1466
 
1472
1467
  .related-posts__meta {
@@ -1541,9 +1536,9 @@
1541
1536
 
1542
1537
  .testimonial-card__name {
1543
1538
  margin-bottom: 0.25rem;
1544
- font-family: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;
1545
- font-size: 1.125rem;
1546
- font-weight: 700;
1539
+ font-family: var(--font-sans);
1540
+ font-size: var(--font-heading-sm-size);
1541
+ font-weight: var(--font-weight-semibold);
1547
1542
  }
1548
1543
 
1549
1544
  .testimonial-card__role {
@@ -1578,9 +1573,11 @@
1578
1573
  }
1579
1574
 
1580
1575
  .social-section__title {
1581
- font-family: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;
1582
- font-size: 3rem;
1583
- font-weight: 700;
1576
+ font-family: var(--font-sans);
1577
+ font-size: var(--font-heading-xl-size);
1578
+ font-weight: var(--font-weight-semibold);
1579
+ line-height: var(--font-heading-xl-line-height);
1580
+ letter-spacing: var(--font-tracking-tight);
1584
1581
  color: #fff;
1585
1582
  }
1586
1583
 
@@ -1666,9 +1663,10 @@
1666
1663
 
1667
1664
  .content {
1668
1665
  color: color-mix(in srgb, var(--color-text) 90%, #1e293b 10%);
1669
- font-family: "Source Serif 4", Georgia, Cambria, "Times New Roman", Times, serif;
1670
- font-size: 1.12rem;
1671
- line-height: 1.8;
1666
+ font-family: var(--font-sans);
1667
+ font-size: var(--font-text-md-size);
1668
+ line-height: var(--font-text-md-line-height);
1669
+ letter-spacing: var(--font-tracking-normal);
1672
1670
 
1673
1671
  p {
1674
1672
  margin-bottom: 1.5rem;
@@ -1688,34 +1686,40 @@
1688
1686
  h6 {
1689
1687
  margin-top: 2.25rem;
1690
1688
  margin-bottom: 1.25rem;
1691
- font-family: "Source Serif 4", Georgia, Cambria, "Times New Roman", Times, serif;
1692
- font-weight: 700;
1693
- line-height: 1.35;
1689
+ font-family: var(--font-sans);
1690
+ font-weight: var(--font-weight-medium);
1691
+ letter-spacing: var(--font-tracking-normal);
1694
1692
  color: var(--color-text);
1695
1693
  }
1696
1694
 
1697
1695
  h1 {
1698
- font-size: 2.2rem;
1696
+ font-size: var(--font-heading-xl-size);
1697
+ line-height: var(--font-heading-xl-line-height);
1699
1698
  }
1700
1699
 
1701
1700
  h2 {
1702
- font-size: 1.95rem;
1701
+ font-size: var(--font-heading-lg-size);
1702
+ line-height: var(--font-heading-lg-line-height);
1703
1703
  }
1704
1704
 
1705
1705
  h3 {
1706
- font-size: 1.6rem;
1706
+ font-size: var(--font-heading-md-size);
1707
+ line-height: var(--font-heading-md-line-height);
1707
1708
  }
1708
1709
 
1709
1710
  h4 {
1710
- font-size: 1.35rem;
1711
+ font-size: var(--font-heading-md-size);
1712
+ line-height: var(--font-heading-md-line-height);
1711
1713
  }
1712
1714
 
1713
1715
  h5 {
1714
- font-size: 1.1rem;
1716
+ font-size: var(--font-heading-sm-size);
1717
+ line-height: var(--font-heading-sm-line-height);
1715
1718
  }
1716
1719
 
1717
1720
  h6 {
1718
- font-size: 1rem;
1721
+ font-size: var(--font-heading-xs-size);
1722
+ line-height: var(--font-heading-xs-line-height);
1719
1723
  }
1720
1724
 
1721
1725
  ul,
@@ -1837,8 +1841,8 @@
1837
1841
  border-left: 4px solid var(--color-brand);
1838
1842
  border-radius: 0.8rem;
1839
1843
  background: color-mix(in srgb, var(--color-brand) 7%, #ffffff 93%);
1840
- font-size: 1.1rem;
1841
- line-height: 1.7;
1844
+ font-size: var(--font-text-md-size);
1845
+ line-height: var(--font-text-md-line-height);
1842
1846
  color: color-mix(in srgb, var(--color-text) 90%, #1e293b 10%);
1843
1847
 
1844
1848
  p:last-child {
@@ -1851,7 +1855,7 @@
1851
1855
  top: 0.55rem;
1852
1856
  right: 0.7rem;
1853
1857
  color: color-mix(in srgb, var(--color-brand) 28%, transparent);
1854
- font-family: "Source Serif 4", Georgia, Cambria, "Times New Roman", Times, serif;
1858
+ font-family: var(--font-sans);
1855
1859
  font-size: 2.4rem;
1856
1860
  line-height: 1;
1857
1861
  content: "\0022";
@@ -1874,8 +1878,8 @@
1874
1878
  border-left: 4px solid var(--admonition-accent);
1875
1879
  border-radius: 0.8rem;
1876
1880
  background: var(--admonition-bg);
1877
- font-size: 1.05rem;
1878
- line-height: 1.65;
1881
+ font-size: var(--font-text-md-size);
1882
+ line-height: var(--font-text-md-line-height);
1879
1883
  color: color-mix(in srgb, var(--color-text) 88%, #1e293b 12%);
1880
1884
 
1881
1885
  p:last-child {
@@ -1893,10 +1897,10 @@
1893
1897
  left: 0.85rem;
1894
1898
  padding: 0.14rem 0.52rem;
1895
1899
  border-radius: 999px;
1896
- font-family: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;
1897
- font-size: 0.72rem;
1898
- font-weight: 800;
1899
- letter-spacing: 0.04em;
1900
+ font-family: var(--font-sans);
1901
+ font-size: var(--font-text-xs-size);
1902
+ font-weight: var(--font-weight-semibold);
1903
+ letter-spacing: var(--font-tracking-wide);
1900
1904
  text-transform: uppercase;
1901
1905
  color: var(--admonition-accent);
1902
1906
  background: color-mix(in srgb, var(--admonition-accent) 10%, #ffffff 90%);
@@ -1941,20 +1945,22 @@
1941
1945
 
1942
1946
  @media (min-width: 421px) {
1943
1947
  .page-header__title {
1944
- font-size: clamp(1.85rem, 9vw, 2.8rem);
1948
+ font-size: clamp(var(--font-heading-xl-size), 9vw, var(--font-heading-3xl-size));
1945
1949
  line-height: 1.08;
1946
1950
  }
1947
1951
 
1948
1952
  .post-card__title {
1949
- font-size: 3rem;
1953
+ font-size: var(--font-heading-lg-size);
1950
1954
  }
1951
1955
 
1952
1956
  .post-page .post-title {
1953
- font-size: 3rem;
1957
+ font-size: var(--font-heading-xl-size);
1958
+ font-weight: var(--font-weight-medium);
1959
+ letter-spacing: var(--font-tracking-normal);
1954
1960
  }
1955
1961
 
1956
1962
  .page-article__title {
1957
- font-size: clamp(1.55rem, 7.2vw, 2.25rem);
1963
+ font-size: clamp(var(--font-heading-lg-size), 7.2vw, var(--font-heading-xl-size));
1958
1964
  }
1959
1965
  }
1960
1966
 
@@ -2002,8 +2008,8 @@
2002
2008
  }
2003
2009
 
2004
2010
  .hero-description {
2005
- font-size: 1.5rem;
2006
- line-height: 2.5rem;
2011
+ font-size: var(--font-text-lg-size);
2012
+ line-height: var(--font-text-lg-line-height);
2007
2013
  }
2008
2014
 
2009
2015
  .latest-posts__inner,
@@ -2044,8 +2050,8 @@
2044
2050
  }
2045
2051
 
2046
2052
  .post-card__title {
2047
- font-size: 3rem;
2048
- line-height: 1.25;
2053
+ font-size: var(--font-heading-lg-size);
2054
+ line-height: var(--font-heading-lg-line-height);
2049
2055
  }
2050
2056
 
2051
2057
  .post-page .post-header {
@@ -2053,8 +2059,10 @@
2053
2059
  }
2054
2060
 
2055
2061
  .post-page .post-title {
2056
- font-size: 3rem;
2057
- line-height: 1.16;
2062
+ font-size: var(--font-heading-2xl-size);
2063
+ line-height: var(--font-heading-2xl-line-height);
2064
+ font-weight: var(--font-weight-medium);
2065
+ letter-spacing: var(--font-tracking-normal);
2058
2066
  }
2059
2067
 
2060
2068
  .post-page .content-shell {
@@ -2072,7 +2080,7 @@
2072
2080
  }
2073
2081
 
2074
2082
  .comments-shell__heading {
2075
- font-size: 1.3rem;
2083
+ font-size: var(--font-heading-sm-size);
2076
2084
  }
2077
2085
 
2078
2086
  .comments-collapsible__icon-wrap,
@@ -2096,8 +2104,8 @@
2096
2104
  }
2097
2105
 
2098
2106
  .page-article__title {
2099
- font-size: clamp(1.9rem, 4.9vw, 3.2rem);
2100
- line-height: 1.16;
2107
+ font-size: clamp(var(--font-heading-xl-size), 4.9vw, var(--font-heading-2xl-size));
2108
+ line-height: var(--font-heading-2xl-line-height);
2101
2109
  }
2102
2110
 
2103
2111
  .page-article .content-shell {
@@ -2122,7 +2130,8 @@
2122
2130
  .archive-hub .page-header__description {
2123
2131
  max-width: 640px;
2124
2132
  margin-top: 0;
2125
- font-size: 1.25rem;
2133
+ font-size: var(--font-text-lg-size);
2134
+ line-height: var(--font-text-lg-line-height);
2126
2135
  }
2127
2136
 
2128
2137
  .page-header__layout {
@@ -2133,7 +2142,7 @@
2133
2142
  }
2134
2143
 
2135
2144
  .page-header__title {
2136
- font-size: clamp(2.05rem, 7vw, 4.2rem);
2145
+ font-size: clamp(var(--font-heading-2xl-size), 7vw, var(--font-heading-4xl-size));
2137
2146
  line-height: 1.05;
2138
2147
  }
2139
2148
 
@@ -2143,8 +2152,8 @@
2143
2152
  }
2144
2153
 
2145
2154
  .content {
2146
- font-size: 1.23rem;
2147
- line-height: 1.9;
2155
+ font-size: var(--font-text-md-size);
2156
+ line-height: var(--font-text-md-line-height);
2148
2157
  }
2149
2158
  }
2150
2159
 
@@ -76,12 +76,7 @@
76
76
 
77
77
  .before\:font-sans::before {
78
78
  content: var(--tw-content);
79
- font-family: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;
80
- }
81
-
82
- .before\:font-serif::before {
83
- content: var(--tw-content);
84
- font-family: "Source Serif 4", Georgia, Cambria, "Times New Roman", Times, serif;
79
+ font-family: var(--font-sans);
85
80
  }
86
81
 
87
82
  .before\:text-\[182px\]::before {
@@ -1,62 +1,62 @@
1
1
  .font-sans {
2
- font-family: "Manrope", "Helvetica Neue", Helvetica, Arial, sans-serif;
2
+ font-family: var(--font-sans);
3
3
  }
4
4
 
5
5
  .font-semibold {
6
- font-weight: 600;
6
+ font-weight: var(--font-weight-semibold);
7
7
  }
8
8
 
9
9
  .font-bold {
10
- font-weight: 700;
10
+ font-weight: var(--font-weight-bold);
11
11
  }
12
12
 
13
13
  .font-black {
14
- font-weight: 900;
14
+ font-weight: var(--font-weight-bold);
15
15
  }
16
16
 
17
17
  .text-xs {
18
- font-size: 0.75rem;
19
- line-height: 1rem;
18
+ font-size: var(--font-text-xs-size);
19
+ line-height: var(--font-text-xs-line-height);
20
20
  }
21
21
 
22
22
  .text-sm {
23
- font-size: 0.875rem;
24
- line-height: 1.25rem;
23
+ font-size: var(--font-text-sm-size);
24
+ line-height: var(--font-text-sm-line-height);
25
25
  }
26
26
 
27
27
  .text-base {
28
- font-size: 1rem;
29
- line-height: 1.5rem;
28
+ font-size: var(--font-text-md-size);
29
+ line-height: var(--font-text-md-line-height);
30
30
  }
31
31
 
32
32
  .text-lg {
33
- font-size: 1.125rem;
34
- line-height: 1.75rem;
33
+ font-size: var(--font-text-lg-size);
34
+ line-height: var(--font-text-lg-line-height);
35
35
  }
36
36
 
37
37
  .text-xl {
38
- font-size: 1.25rem;
39
- line-height: 1.75rem;
38
+ font-size: var(--font-heading-md-size);
39
+ line-height: var(--font-heading-md-line-height);
40
40
  }
41
41
 
42
42
  .text-2xl {
43
- font-size: 1.5rem;
44
- line-height: 2rem;
43
+ font-size: var(--font-heading-lg-size);
44
+ line-height: var(--font-heading-lg-line-height);
45
45
  }
46
46
 
47
47
  .text-3xl {
48
- font-size: 1.875rem;
49
- line-height: 2.25rem;
48
+ font-size: var(--font-heading-xl-size);
49
+ line-height: var(--font-heading-xl-line-height);
50
50
  }
51
51
 
52
52
  .text-5xl {
53
- font-size: 3rem;
54
- line-height: 1;
53
+ font-size: var(--font-heading-3xl-size);
54
+ line-height: var(--font-heading-3xl-line-height);
55
55
  }
56
56
 
57
57
  .text-8xl {
58
- font-size: 6rem;
59
- line-height: 1;
58
+ font-size: var(--font-heading-5xl-size);
59
+ line-height: var(--font-heading-5xl-line-height);
60
60
  }
61
61
 
62
62
  .leading-8 {
data/assets/css/main.scss CHANGED
@@ -7,6 +7,40 @@ sitemap: false
7
7
  @use "style";
8
8
 
9
9
  :root {
10
+ --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
11
+ --font-weight-normal: 400;
12
+ --font-weight-medium: 500;
13
+ --font-weight-semibold: 600;
14
+ --font-weight-bold: 700;
15
+ --font-tracking-wide: 0;
16
+ --font-tracking-normal: -0.01em;
17
+ --font-tracking-tight: -0.02em;
18
+ --font-text-xs-size: 0.75rem;
19
+ --font-text-xs-line-height: 1.125rem;
20
+ --font-text-sm-size: 0.875rem;
21
+ --font-text-sm-line-height: 1.25rem;
22
+ --font-text-md-size: 1rem;
23
+ --font-text-md-line-height: 1.5rem;
24
+ --font-text-lg-size: 1.125rem;
25
+ --font-text-lg-line-height: 1.8125rem;
26
+ --font-heading-xs-size: 1rem;
27
+ --font-heading-xs-line-height: 1.5rem;
28
+ --font-heading-sm-size: 1.125rem;
29
+ --font-heading-sm-line-height: 1.625rem;
30
+ --font-heading-md-size: 1.25rem;
31
+ --font-heading-md-line-height: 1.625rem;
32
+ --font-heading-lg-size: 1.5rem;
33
+ --font-heading-lg-line-height: 1.75rem;
34
+ --font-heading-xl-size: 2rem;
35
+ --font-heading-xl-line-height: 2.375rem;
36
+ --font-heading-2xl-size: 2.25rem;
37
+ --font-heading-2xl-line-height: 2.625rem;
38
+ --font-heading-3xl-size: 3rem;
39
+ --font-heading-3xl-line-height: 3rem;
40
+ --font-heading-4xl-size: 3.75rem;
41
+ --font-heading-4xl-line-height: 3.75rem;
42
+ --font-heading-5xl-size: 4.5rem;
43
+ --font-heading-5xl-line-height: 4.5rem;
10
44
  --color-bg: {{ site.theme_style.background | default: "#eef4ff" }};
11
45
  --color-surface: {{ site.theme_style.surface | default: "#ffffff" }};
12
46
  --color-text: {{ site.theme_style.text | default: "#0f172a" }};
@@ -1 +1 @@
1
- (function(){"use strict";let R;const It=()=>{if(typeof window>"u")return new Map;if(!R){const t=window;t.Ionicons=t.Ionicons||{},R=t.Ionicons.map=t.Ionicons.map||new Map}return R},qt=t=>{Object.keys(t).forEach(e=>{tt(e,t[e]);const n=e.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g,"$1-$2").toLowerCase();e!==n&&tt(n,t[e])})},tt=(t,e)=>{const n=It(),s=n.get(t);s===void 0?n.set(t,e):s!==e&&console.warn(`[Ionicons Warning]: Multiple icons were mapped to name "${t}". Ensure that multiple icons are not mapped to the same icon name.`)},Ot="ionicons",T={hydratedSelectorName:"hydrated",lazyLoad:!1,updatable:!0};var Pt=Object.defineProperty,zt=(t,e)=>{for(var n in e)Pt(t,n,{get:e[n],enumerable:!0})},S=t=>{if(t.__stencil__getHostRef)return t.__stencil__getHostRef()},Ht=(t,e)=>{const n={$flags$:0,$hostElement$:t,$cmpMeta$:e,$instanceValues$:new Map};n.$onReadyPromise$=new Promise(o=>n.$onReadyResolve$=o),t["s-p"]=[],t["s-rc"]=[];const s=n;return t.__stencil__getHostRef=()=>s,s},et=(t,e)=>e in t,C=(t,e)=>(0,console.error)(t,e),M=new Map,jt="slot-fb{display:contents}slot-fb[hidden]{display:none}",nt="http://www.w3.org/1999/xlink",v=typeof window<"u"?window:{},Ut=v.HTMLElement||class{},m={$flags$:0,$resourcesUrl$:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,e,n,s)=>t.addEventListener(e,n,s),rel:(t,e,n,s)=>t.removeEventListener(e,n,s),ce:(t,e)=>new CustomEvent(t,e)},Rt=t=>Promise.resolve(t),st=(()=>{try{return new CSSStyleSheet,typeof new CSSStyleSheet().replaceSync=="function"}catch{}return!1})(),B=!1,ot=[],it=[],Bt=(t,e)=>n=>{t.push(n),B||(B=!0,m.raf(at))},rt=t=>{for(let e=0;e<t.length;e++)try{t[e](performance.now())}catch(n){C(n)}t.length=0},at=()=>{rt(ot),rt(it),(B=ot.length>0)&&m.raf(at)},D=t=>Rt().then(t),Dt=Bt(it),Wt=t=>{const e=new URL(t,m.$resourcesUrl$);return e.origin!==v.location.origin?e.href:e.pathname},W=t=>(t=typeof t,t==="object"||t==="function");function Xt(t){var e,n,s;return(s=(n=(e=t.head)==null?void 0:e.querySelector('meta[name="csp-nonce"]'))==null?void 0:n.getAttribute("content"))!=null?s:void 0}var Zt=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Ft={};zt(Ft,{err:()=>ct,map:()=>Gt,ok:()=>X,unwrap:()=>Yt,unwrapErr:()=>Kt});var X=t=>({isOk:!0,isErr:!1,value:t}),ct=t=>({isOk:!1,isErr:!0,value:t});function Gt(t,e){if(t.isOk){const n=e(t.value);return n instanceof Promise?n.then(s=>X(s)):X(n)}if(t.isErr){const n=t.value;return ct(n)}throw"should never get here"}var Yt=t=>{if(t.isOk)return t.value;throw t.value},Kt=t=>{if(t.isErr)return t.value;throw t.value};function hn(t){}var I;function Qt(t){var e;const n=this.attachShadow({mode:"open"});I===void 0&&(I=(e=void 0)!=null?e:null),I&&n.adoptedStyleSheets.push(I)}var x=(t,e="")=>()=>{},k=new WeakMap,Jt=(t,e,n)=>{let s=M.get(t);st&&n?(s=s||new CSSStyleSheet,typeof s=="string"?s=e:s.replaceSync(e)):s=e,M.set(t,s)},Nt=(t,e,n)=>{var s;const o=lt(e),i=M.get(o);if(!v.document)return o;if(t=t.nodeType===11?t:v.document,i)if(typeof i=="string"){t=t.head||t;let a=k.get(t),r;if(a||k.set(t,a=new Set),!a.has(o)){{r=v.document.createElement("style"),r.innerHTML=i;const l=(s=m.$nonce$)!=null?s:Xt(v.document);if(l!=null&&r.setAttribute("nonce",l),!(e.$flags$&1))if(t.nodeName==="HEAD"){const c=t.querySelectorAll("link[rel=preconnect]"),d=c.length>0?c[c.length-1].nextSibling:t.querySelector("style");t.insertBefore(r,d?.parentNode===t?d:null)}else if("host"in t)if(st){const c=new CSSStyleSheet;c.replaceSync(i),t.adoptedStyleSheets.unshift(c)}else{const c=t.querySelector("style");c?c.innerHTML=i+c.innerHTML:t.prepend(r)}else t.append(r);e.$flags$&1&&t.insertBefore(r,null)}e.$flags$&4&&(r.innerHTML+=jt),a&&a.add(o)}}else t.adoptedStyleSheets.includes(i)||t.adoptedStyleSheets.push(i);return o},Vt=t=>{const e=t.$cmpMeta$,n=t.$hostElement$,s=e.$flags$,o=x("attachStyles",e.$tagName$),i=Nt(n.shadowRoot?n.shadowRoot:n.getRootNode(),e);s&10&&(n["s-sc"]=i,n.classList.add(i+"-h")),o()},lt=(t,e)=>"sc-"+t.$tagName$,q=(t,e,...n)=>{let s=null,o=null,i=!1,a=!1;const r=[],l=d=>{for(let u=0;u<d.length;u++)s=d[u],Array.isArray(s)?l(s):s!=null&&typeof s!="boolean"&&((i=typeof t!="function"&&!W(s))&&(s=String(s)),i&&a?r[r.length-1].$text$+=s:r.push(i?Z(null,s):s),a=i)};if(l(n),e){e.key&&(o=e.key);{const d=e.className||e.class;d&&(e.class=typeof d!="object"?d:Object.keys(d).filter(u=>d[u]).join(" "))}}const c=Z(t,null);return c.$attrs$=e,r.length>0&&(c.$children$=r),c.$key$=o,c},Z=(t,e)=>{const n={$flags$:0,$tag$:t,$text$:e,$elm$:null,$children$:null};return n.$attrs$=null,n.$key$=null,n},dt={},te=t=>t&&t.$tag$===dt,F=t=>{const e=Zt(t);return new RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${e}))(${e}\\b)`,"g")};F("::slotted"),F(":host"),F(":host-context");var ut=(t,e,n)=>t!=null&&!W(t)?e&4?t==="false"?!1:t===""||!!t:e&1?String(t):t:t,ee=(t,e,n)=>{const s=m.ce(e,n);return t.dispatchEvent(s),s},ft=(t,e,n,s,o,i,a)=>{if(n===s)return;let r=et(t,e),l=e.toLowerCase();if(e==="class"){const c=t.classList,d=ht(n);let u=ht(s);c.remove(...d.filter(f=>f&&!u.includes(f))),c.add(...u.filter(f=>f&&!d.includes(f)))}else if(e==="style"){for(const c in n)(!s||s[c]==null)&&(c.includes("-")?t.style.removeProperty(c):t.style[c]="");for(const c in s)(!n||s[c]!==n[c])&&(c.includes("-")?t.style.setProperty(c,s[c]):t.style[c]=s[c])}else if(e!=="key")if(e==="ref")s&&s(t);else if(!t.__lookupSetter__(e)&&e[0]==="o"&&e[1]==="n"){if(e[2]==="-"?e=e.slice(3):et(v,l)?e=l.slice(2):e=l[2]+e.slice(3),n||s){const c=e.endsWith(pt);e=e.replace(se,""),n&&m.rel(t,e,n,c),s&&m.ael(t,e,s,c)}}else{const c=W(s);if(r||c&&s!==null)try{if(t.tagName.includes("-"))t[e]!==s&&(t[e]=s);else{const u=s??"";e==="list"?r=!1:(n==null||t[e]!=u)&&(typeof t.__lookupSetter__(e)=="function"?t[e]=u:t.setAttribute(e,u))}}catch{}let d=!1;l!==(l=l.replace(/^xlink\:?/,""))&&(e=l,d=!0),s==null||s===!1?(s!==!1||t.getAttribute(e)==="")&&(d?t.removeAttributeNS(nt,e):t.removeAttribute(e)):(!r||i&4||o)&&!c&&t.nodeType===1&&(s=s===!0?"":s,d?t.setAttributeNS(nt,e,s):t.setAttribute(e,s))}},ne=/\s/,ht=t=>(typeof t=="object"&&t&&"baseVal"in t&&(t=t.baseVal),!t||typeof t!="string"?[]:t.split(ne)),pt="Capture",se=new RegExp(pt+"$"),gt=(t,e,n,s)=>{const o=e.$elm$.nodeType===11&&e.$elm$.host?e.$elm$.host:e.$elm$,i=t&&t.$attrs$||{},a=e.$attrs$||{};for(const r of $t(Object.keys(i)))r in a||ft(o,r,i[r],void 0,n,e.$flags$);for(const r of $t(Object.keys(a)))ft(o,r,i[r],a[r],n,e.$flags$)};function $t(t){return t.includes("ref")?[...t.filter(e=>e!=="ref"),"ref"]:t}var G,vt=!1,O=(t,e,n)=>{const s=e.$children$[n];let o=0,i,a;if(s.$text$!==null)i=s.$elm$=v.document.createTextNode(s.$text$);else{if(!v.document)throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.");if(i=s.$elm$=v.document.createElement(s.$tag$),gt(null,s,vt),s.$children$)for(o=0;o<s.$children$.length;++o)a=O(t,s,o),a&&i.appendChild(a)}return i["s-hn"]=G,i},yt=(t,e,n,s,o,i)=>{let a=t,r;for(a.shadowRoot&&a.tagName===G&&(a=a.shadowRoot);o<=i;++o)s[o]&&(r=O(null,n,o),r&&(s[o].$elm$=r,z(a,r,e)))},mt=(t,e,n)=>{for(let s=e;s<=n;++s){const o=t[s];if(o){const i=o.$elm$;wt(o),i&&i.remove()}}},oe=(t,e,n,s,o=!1)=>{let i=0,a=0,r=0,l=0,c=e.length-1,d=e[0],u=e[c],f=s.length-1,h=s[0],g=s[f],$,p;for(;i<=c&&a<=f;)if(d==null)d=e[++i];else if(u==null)u=e[--c];else if(h==null)h=s[++a];else if(g==null)g=s[--f];else if(P(d,h,o))E(d,h,o),d=e[++i],h=s[++a];else if(P(u,g,o))E(u,g,o),u=e[--c],g=s[--f];else if(P(d,g,o))E(d,g,o),z(t,d.$elm$,u.$elm$.nextSibling),d=e[++i],g=s[--f];else if(P(u,h,o))E(u,h,o),z(t,u.$elm$,d.$elm$),u=e[--c],h=s[++a];else{for(r=-1,l=i;l<=c;++l)if(e[l]&&e[l].$key$!==null&&e[l].$key$===h.$key$){r=l;break}r>=0?(p=e[r],p.$tag$!==h.$tag$?$=O(e&&e[a],n,r):(E(p,h,o),e[r]=void 0,$=p.$elm$),h=s[++a]):($=O(e&&e[a],n,a),h=s[++a]),$&&z(d.$elm$.parentNode,$,d.$elm$)}i>c?yt(t,s[f+1]==null?null:s[f+1].$elm$,n,s,a,f):a>f&&mt(e,i,c)},P=(t,e,n=!1)=>t.$tag$===e.$tag$?n?(n&&!t.$key$&&e.$key$&&(t.$key$=e.$key$),!0):t.$key$===e.$key$:!1,E=(t,e,n=!1)=>{const s=e.$elm$=t.$elm$,o=t.$children$,i=e.$children$,a=e.$text$;a===null?(gt(t,e,vt),o!==null&&i!==null?oe(s,o,e,i,n):i!==null?(t.$text$!==null&&(s.textContent=""),yt(s,null,e,i,0,i.length-1)):!n&&T.updatable&&o!==null&&mt(o,0,o.length-1)):t.$text$!==a&&(s.data=a)},wt=t=>{t.$attrs$&&t.$attrs$.ref&&t.$attrs$.ref(null),t.$children$&&t.$children$.map(wt)},z=(t,e,n)=>t?.insertBefore(e,n),ie=(t,e,n=!1)=>{const s=t.$hostElement$,o=t.$cmpMeta$,i=t.$vnode$||Z(null,null),r=te(e)?e:q(null,null,e);if(G=s.tagName,o.$attrsToReflect$&&(r.$attrs$=r.$attrs$||{},o.$attrsToReflect$.map(([l,c])=>r.$attrs$[c]=s[l])),n&&r.$attrs$)for(const l of Object.keys(r.$attrs$))s.hasAttribute(l)&&!["key","ref","style","class"].includes(l)&&(r.$attrs$[l]=s[l]);r.$tag$=null,r.$flags$|=4,t.$vnode$=r,r.$elm$=i.$elm$=s.shadowRoot||s,E(i,r,n)},St=(t,e)=>{if(e&&!t.$onRenderResolve$&&e["s-p"]){const n=e["s-p"].push(new Promise(s=>t.$onRenderResolve$=()=>{e["s-p"].splice(n-1,1),s()}))}},Y=(t,e)=>{if(t.$flags$|=16,t.$flags$&4){t.$flags$|=512;return}return St(t,t.$ancestorComponent$),Dt(()=>re(t,e))},re=(t,e)=>{const n=t.$hostElement$,s=x("scheduleUpdate",t.$cmpMeta$.$tagName$),o=n;if(!o)throw new Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let i;return e?i=A(o,"componentWillLoad",void 0,n):i=A(o,"componentWillUpdate",void 0,n),i=xt(i,()=>A(o,"componentWillRender",void 0,n)),s(),xt(i,()=>ce(t,o,e))},xt=(t,e)=>ae(t)?t.then(e).catch(n=>{console.error(n),e()}):e(),ae=t=>t instanceof Promise||t&&t.then&&typeof t.then=="function",ce=async(t,e,n)=>{var s;const o=t.$hostElement$,i=x("update",t.$cmpMeta$.$tagName$),a=o["s-rc"];n&&Vt(t);const r=x("render",t.$cmpMeta$.$tagName$);le(t,e,o,n),a&&(a.map(l=>l()),o["s-rc"]=void 0),r(),i();{const l=(s=o["s-p"])!=null?s:[],c=()=>de(t);l.length===0?c():(Promise.all(l).then(c),t.$flags$|=4,l.length=0)}},le=(t,e,n,s)=>{try{e=e.render(),t.$flags$&=-17,t.$flags$|=2,ie(t,e,s)}catch(o){C(o,t.$hostElement$)}return null},de=t=>{const e=t.$cmpMeta$.$tagName$,n=t.$hostElement$,s=x("postUpdate",e),o=n,i=t.$ancestorComponent$;A(o,"componentDidRender",void 0,n),t.$flags$&64?(A(o,"componentDidUpdate",void 0,n),s()):(t.$flags$|=64,fe(n),A(o,"componentDidLoad",void 0,n),s(),t.$onReadyResolve$(n),i||ue()),t.$onRenderResolve$&&(t.$onRenderResolve$(),t.$onRenderResolve$=void 0),t.$flags$&512&&D(()=>Y(t,!1)),t.$flags$&=-517},ue=t=>{D(()=>ee(v,"appload",{detail:{namespace:Ot}}))},A=(t,e,n,s)=>{if(t&&t[e])try{return t[e](n)}catch(o){C(o,s)}},fe=t=>{var e;return t.classList.add((e=T.hydratedSelectorName)!=null?e:"hydrated")},he=(t,e)=>S(t).$instanceValues$.get(e),bt=(t,e,n,s)=>{const o=S(t),i=t,a=o.$instanceValues$.get(e),r=o.$flags$,l=i;n=ut(n,s.$members$[e][0]);const c=Number.isNaN(a)&&Number.isNaN(n);if(n!==a&&!c){o.$instanceValues$.set(e,n);{if(s.$watchers$&&r&128){const u=s.$watchers$[e];u&&u.map(f=>{try{l[f](n,a,e)}catch(h){C(h,i)}})}if((r&18)===2){if(l.componentShouldUpdate&&l.componentShouldUpdate(n,a,e)===!1)return;Y(o,!1)}}}},pe=(t,e,n)=>{var s,o;const i=t.prototype;if(e.$members$||e.$watchers$||t.watchers){t.watchers&&!e.$watchers$&&(e.$watchers$=t.watchers);const a=Object.entries((s=e.$members$)!=null?s:{});a.map(([r,[l]])=>{if(l&31||l&32){const{get:c,set:d}=Object.getOwnPropertyDescriptor(i,r)||{};c&&(e.$members$[r][0]|=2048),d&&(e.$members$[r][0]|=4096),Object.defineProperty(i,r,{get(){return c?c.apply(this):he(this,r)},configurable:!0,enumerable:!0}),Object.defineProperty(i,r,{set(u){const f=S(this);if(d){const h=l&32?this[r]:f.$hostElement$[r];typeof h>"u"&&f.$instanceValues$.get(r)?u=f.$instanceValues$.get(r):!f.$instanceValues$.get(r)&&h&&f.$instanceValues$.set(r,h),d.apply(this,[ut(u,l)]),u=l&32?this[r]:f.$hostElement$[r],bt(this,r,u,e);return}{bt(this,r,u,e);return}}})}});{const r=new Map;i.attributeChangedCallback=function(l,c,d){m.jmp(()=>{var u;const f=r.get(l);if(!(this.hasOwnProperty(f)&&T.lazyLoad)){if(i.hasOwnProperty(f)&&typeof this[f]=="number"&&this[f]==d)return;if(f==null){const g=S(this),$=g?.$flags$;if($&&!($&8)&&$&128&&d!==c){const y=this,b=(u=e.$watchers$)==null?void 0:u[l];b?.forEach(Mt=>{y[Mt]!=null&&y[Mt].call(y,d,c,l)})}return}}const h=Object.getOwnPropertyDescriptor(i,f);d=d===null&&typeof this[f]=="boolean"?!1:d,d!==this[f]&&(!h.get||h.set)&&(this[f]=d)})},t.observedAttributes=Array.from(new Set([...Object.keys((o=e.$watchers$)!=null?o:{}),...a.filter(([l,c])=>c[0]&15).map(([l,c])=>{var d;const u=c[1]||l;return r.set(u,l),c[0]&512&&((d=e.$attrsToReflect$)==null||d.push([l,u])),u})]))}}return t},kt=async(t,e,n,s)=>{let o;if((e.$flags$&32)===0){e.$flags$|=32;{o=t.constructor;const r=t.localName;customElements.whenDefined(r).then(()=>e.$flags$|=128)}if(o&&o.style){let r;typeof o.style=="string"&&(r=o.style);const l=lt(n);if(!M.has(l)){const c=x("registerStyles",n.$tagName$);Jt(l,r,!!(n.$flags$&1)),c()}}}const i=e.$ancestorComponent$,a=()=>Y(e,!0);i&&i["s-rc"]?i["s-rc"].push(a):a()},ge=(t,e)=>{},$e=t=>{{const e=S(t),n=e.$cmpMeta$,s=x("connectedCallback",n.$tagName$);if(e.$flags$&1)e?.$lazyInstance$||e?.$onReadyPromise$&&e.$onReadyPromise$.then(()=>ge());else{e.$flags$|=1;{let o=t;for(;o=o.parentNode||o.host;)if(o["s-p"]){St(e,e.$ancestorComponent$=o);break}}n.$members$&&Object.entries(n.$members$).map(([o,[i]])=>{if(i&31&&t.hasOwnProperty(o)){const a=t[o];delete t[o],t[o]=a}}),T.initializeNextTick?D(()=>kt(t,e,n)):kt(t,e,n)}s()}},ve=async t=>{S(t),k.has(t)&&k.delete(t),t.shadowRoot&&k.has(t.shadowRoot)&&k.delete(t.shadowRoot)},ye=(t,e)=>{const n={$flags$:e[0],$tagName$:e[1]};n.$members$=e[2],n.$watchers$=t.$watchers$,n.$attrsToReflect$=[];const s=t.prototype.connectedCallback,o=t.prototype.disconnectedCallback;return Object.assign(t.prototype,{__hasHostListenerAttached:!1,__registerHost(){Ht(this,n)},connectedCallback(){this.__hasHostListenerAttached||(S(this),this.__hasHostListenerAttached=!0),$e(this),s&&s.call(this)},disconnectedCallback(){ve(this),o&&o.call(this)},__attachShadow(){if(!this.shadowRoot)Qt.call(this,n);else if(this.shadowRoot.mode!=="open")throw new Error(`Unable to re-use existing shadow root for ${n.$tagName$}! Mode is set to ${this.shadowRoot.mode} but Stencil only supports open shadow roots.`)}}),t.is=n.$tagName$,pe(t,n)};let K;const me=()=>{if(typeof window>"u")return new Map;if(!K){const t=window;t.Ionicons=t.Ionicons||{},K=t.Ionicons.map=t.Ionicons.map||new Map}return K},we=t=>{let e=Q(t.src);return e||(e=Et(t.name,t.icon,t.mode,t.ios,t.md),e?Se(e,t):t.icon&&(e=Q(t.icon),e||(e=Q(t.icon[t.mode]),e))?e:null)},Se=(t,e)=>{const n=me().get(t);if(n)return n;try{return Wt(`svg/${t}.svg`)}catch(s){console.log("e",s),console.warn(`[Ionicons Warning]: Could not load icon with name "${t}". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to the icon component.`,e)}},Et=(t,e,n,s,o)=>(n=(n&&j(n))==="ios"?"ios":"md",s&&n==="ios"?t=j(s):o&&n==="md"?t=j(o):(!t&&e&&!At(e)&&(t=e),H(t)&&(t=j(t))),!H(t)||t.trim()===""||t.replace(/[a-z]|-|\d/gi,"")!==""?null:t),Q=t=>H(t)&&(t=t.trim(),At(t))?t:null,At=t=>t.length>0&&/(\/|\.)/.test(t),H=t=>typeof t=="string",j=t=>t.toLowerCase(),xe=(t,e=[])=>{const n={};return e.forEach(s=>{t.hasAttribute(s)&&(t.getAttribute(s)!==null&&(n[s]=t.getAttribute(s)),t.removeAttribute(s))}),n},be=t=>t&&t.dir!==""?t.dir.toLowerCase()==="rtl":document?.dir.toLowerCase()==="rtl",ke=t=>{const e=document.createElement("div");e.innerHTML=t;for(let s=e.childNodes.length-1;s>=0;s--)e.childNodes[s].nodeName.toLowerCase()!=="svg"&&e.removeChild(e.childNodes[s]);const n=e.firstElementChild;if(n&&n.nodeName.toLowerCase()==="svg"){const s=n.getAttribute("class")||"";if(n.setAttribute("class",(s+" s-ion-icon").trim()),_t(n))return e.innerHTML}return""},_t=t=>{if(t.nodeType===1){if(t.nodeName.toLowerCase()==="script")return!1;for(let e=0;e<t.attributes.length;e++){const n=t.attributes[e].name;if(H(n)&&n.toLowerCase().indexOf("on")===0)return!1}for(let e=0;e<t.childNodes.length;e++)if(!_t(t.childNodes[e]))return!1}return!0},Ee=t=>t.startsWith("data:image/svg+xml"),Ae=t=>t.indexOf(";utf8,")!==-1,_=new Map,Lt=new Map;let J;function N(t){return _.set(t,""),""}const _e=(t,e)=>{const n=Lt.get(t);return n||(typeof fetch<"u"&&typeof document<"u"?Ee(t)&&Ae(t)?Promise.resolve(Le(t)):Te(t,e):Promise.resolve(N(t)))};function Le(t){J||(J=new DOMParser);const n=J.parseFromString(t,"text/html").querySelector("svg");if(n)return _.set(t,n.outerHTML),n.outerHTML;throw new Error(`Could not parse svg from ${t}`)}function Te(t,e){const n=fetch(t).then(s=>s.text().then(o=>{o&&e!==!1&&(o=ke(o));const i=o||"";return _.set(t,i),i}).catch(()=>N(t))).catch(()=>N(t));return Lt.set(t,n),n}const Ce=":host{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;box-sizing:content-box !important}:host .ionicon{stroke:currentColor}.ionicon-fill-none{fill:none}.ionicon-stroke-width{stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}@supports (background: -webkit-named-image(i)){:host(.icon-rtl) .icon-inner{transform:scaleX(-1)}}@supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])){:host(.icon-rtl) .icon-inner{transform:scaleX(-1)}}:host(.flip-rtl):host-context([dir='rtl']) .icon-inner{transform:scaleX(-1)}@supports selector(:dir(rtl)){:host(.flip-rtl:dir(rtl)) .icon-inner{transform:scaleX(-1)}:host(.flip-rtl:dir(ltr)) .icon-inner{transform:scaleX(1)}}:host(.icon-small){font-size:1.125rem !important}:host(.icon-large){font-size:2rem !important}:host(.ion-color){color:var(--ion-color-base) !important}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}",Me=ye(class extends Ut{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.iconName=null,this.inheritedAttributes={},this.didLoadIcon=!1,this.isVisible=!1,this.mode=Ie(),this.lazy=!1,this.sanitize=!0}componentWillLoad(){this.inheritedAttributes=xe(this.el,["aria-label"])}connectedCallback(){this.waitUntilVisible(this.el,"50px",()=>{this.isVisible=!0,this.loadIcon()})}componentDidLoad(){this.didLoadIcon||this.loadIcon()}disconnectedCallback(){this.io&&(this.io.disconnect(),this.io=void 0)}waitUntilVisible(e,n,s){if(!!!(this.lazy&&typeof window<"u"&&window.IntersectionObserver))return s();const i=this.io=new window.IntersectionObserver(a=>{a[0].isIntersecting&&(i.disconnect(),this.io=void 0,s())},{rootMargin:n});i.observe(e)}loadIcon(){if(this.isVisible){const e=we(this);e&&(_.has(e)?this.svgContent=_.get(e):_e(e,this.sanitize).then(()=>this.svgContent=_.get(e)),this.didLoadIcon=!0)}this.iconName=Et(this.name,this.icon,this.mode,this.ios,this.md)}render(){const{flipRtl:e,iconName:n,inheritedAttributes:s,el:o}=this,i=this.mode||"md",a=n?(n.includes("arrow")||n.includes("chevron"))&&e!==!1:!1,r=e||a;return q(dt,Object.assign({key:"0578c899781ca145dd8205acd9670af39b57cf2e",role:"img",class:Object.assign(Object.assign({[i]:!0},qe(this.color)),{[`icon-${this.size}`]:!!this.size,"flip-rtl":r,"icon-rtl":r&&be(o)})},s),this.svgContent?q("div",{class:"icon-inner",innerHTML:this.svgContent}):q("div",{class:"icon-inner"}))}static get assetsDirs(){return["svg"]}get el(){return this}static get watchers(){return{name:["loadIcon"],src:["loadIcon"],icon:["loadIcon"],ios:["loadIcon"],md:["loadIcon"]}}static get style(){return Ce}},[1,"ion-icon",{mode:[1025],color:[1],ios:[1],md:[1],flipRtl:[4,"flip-rtl"],name:[513],src:[1],icon:[8],size:[1],lazy:[4],sanitize:[4],svgContent:[32],isVisible:[32]},void 0,{name:["loadIcon"],src:["loadIcon"],icon:["loadIcon"],ios:["loadIcon"],md:["loadIcon"]}]),Ie=()=>typeof document<"u"&&document.documentElement.getAttribute("mode")||"md",qe=t=>t?{"ion-color":!0,[`ion-color-${t}`]:!0}:null;function Oe(){if(typeof customElements>"u")return;["ion-icon"].forEach(e=>{e==="ion-icon"&&(customElements.get(e)||customElements.define(e,Me))})}const Pe=Oe,ze="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m112 184 144 144 144-144' stroke-linecap='round' stroke-linejoin='round' stroke-width='48px' class='ionicon-fill-none'/></svg>",He="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m289.94 256 95-95A24 24 0 0 0 351 127l-95 95-95-95a24 24 0 0 0-34 34l95 95-95 95a24 24 0 1 0 34 34l95-95 95 95a24 24 0 0 0 34-34Z'/></svg>",je="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 32C132.3 32 32 134.9 32 261.7c0 101.5 64.2 187.5 153.2 217.9a17.6 17.6 0 0 0 3.8.4c8.3 0 11.5-6.1 11.5-11.4 0-5.5-.2-19.9-.3-39.1a102.4 102.4 0 0 1-22.6 2.7c-43.1 0-52.9-33.5-52.9-33.5-10.2-26.5-24.9-33.6-24.9-33.6-19.5-13.7-.1-14.1 1.4-14.1h.1c22.5 2 34.3 23.8 34.3 23.8 11.2 19.6 26.2 25.1 39.6 25.1a63 63 0 0 0 25.6-6c2-14.8 7.8-24.9 14.2-30.7-49.7-5.8-102-25.5-102-113.5 0-25.1 8.7-45.6 23-61.6-2.3-5.8-10-29.2 2.2-60.8a18.6 18.6 0 0 1 5-.5c8.1 0 26.4 3.1 56.6 24.1a208.2 208.2 0 0 1 112.2 0c30.2-21 48.5-24.1 56.6-24.1a18.6 18.6 0 0 1 5 .5c12.2 31.6 4.5 55 2.2 60.8 14.3 16.1 23 36.6 23 61.6 0 88.2-52.4 107.6-102.3 113.3 8 7.1 15.2 21.1 15.2 42.5 0 30.7-.3 55.5-.3 63 0 5.4 3.1 11.5 11.4 11.5a19.4 19.4 0 0 0 4-.4C415.9 449.2 480 363.1 480 261.7 480 134.9 379.7 32 256 32'/></svg>",Ue="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M444.17 32H70.28C49.85 32 32 46.7 32 66.89v374.72C32 461.91 49.85 480 70.28 480h373.78c20.54 0 35.94-18.21 35.94-38.39V66.89C480.12 46.7 464.6 32 444.17 32m-273.3 373.43h-64.18V205.88h64.18ZM141 175.54h-.46c-20.54 0-33.84-15.29-33.84-34.43 0-19.49 13.65-34.42 34.65-34.42s33.85 14.82 34.31 34.42c-.01 19.14-13.31 34.43-34.66 34.43m264.43 229.89h-64.18V296.32c0-26.14-9.34-44-32.56-44-17.74 0-28.24 12-32.91 23.69-1.75 4.2-2.22 9.92-2.22 15.76v113.66h-64.18V205.88h64.18v27.77c9.34-13.3 23.93-32.44 57.88-32.44 42.13 0 74 27.77 74 87.64Z'/></svg>",Re="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M496 109.5a201.8 201.8 0 0 1-56.55 15.3 97.5 97.5 0 0 0 43.33-53.6 197.7 197.7 0 0 1-62.56 23.5A99.14 99.14 0 0 0 348.31 64c-54.42 0-98.46 43.4-98.46 96.9a93.2 93.2 0 0 0 2.54 22.1 280.7 280.7 0 0 1-203-101.3A95.7 95.7 0 0 0 36 130.4c0 33.6 17.53 63.3 44 80.7A97.5 97.5 0 0 1 35.22 199v1.2c0 47 34 86.1 79 95a100.8 100.8 0 0 1-25.94 3.4 94.4 94.4 0 0 1-18.51-1.8c12.51 38.5 48.92 66.5 92.05 67.3A199.6 199.6 0 0 1 39.5 405.6a203 203 0 0 1-23.5-1.4A278.7 278.7 0 0 0 166.74 448c181.36 0 280.44-147.7 280.44-275.8 0-4.2-.11-8.4-.31-12.5A198.5 198.5 0 0 0 496 109.5'/></svg>",Be="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M508.64 148.79c0-45-33.1-81.2-74-81.2C379.24 65 322.74 64 265 64h-18c-57.6 0-114.2 1-169.6 3.6C36.6 67.6 3.5 104 3.5 149 1 184.59-.06 220.19 0 255.79q-.15 53.4 3.4 106.9c0 45 33.1 81.5 73.9 81.5 58.2 2.7 117.9 3.9 178.6 3.8q91.2.3 178.6-3.8c40.9 0 74-36.5 74-81.5 2.4-35.7 3.5-71.3 3.4-107q.34-53.4-3.26-106.9M207 353.89v-196.5l145 98.2Z'/></svg>",De="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M80 160h352M80 256h352M80 352h352' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>",We="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M221.09 64a157.09 157.09 0 1 0 157.09 157.09A157.1 157.1 0 0 0 221.09 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M338.29 338.29 448 448' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>",Xe="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M256 128v144h96' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/></svg>",Ze="menu-outline",Fe="close",Ge=()=>{const t=document.querySelector(".site-header__toggle");if(!t)return;const e=document.querySelector(t.dataset.target);if(!e)return;const n=t.querySelector(".sr-only"),s=t.dataset.openLabel||"Open navigation menu",o=t.dataset.closeLabel||"Close navigation menu",i=r=>{t.setAttribute("aria-expanded",r?"true":"false"),t.setAttribute("aria-label",r?o:s),n&&(n.textContent=r?o:s);const l=t.querySelector("ion-icon");l&&(l.name=r?Fe:Ze),e.hidden=!r,e.classList.toggle("is-hidden",!r)},a=()=>{e.hidden||i(!1)};i(!1),t.addEventListener("click",()=>{const l=!(t.getAttribute("aria-expanded")==="true");if(i(l),l){const c=e.querySelector('a, button, input, [tabindex]:not([tabindex="-1"])');c&&c.focus();return}t.focus()}),document.addEventListener("click",r=>{const l=e.contains(r.target),c=t.contains(r.target);!l&&!c&&a()}),document.addEventListener("keydown",r=>{if(r.key==="Escape"){const l=!e.hidden;a(),l&&t.focus()}})},Ye={category:"data-category",categoryId:"data-category-id",emitMetadata:"data-emit-metadata",inputPosition:"data-input-position",lang:"data-lang",loading:"data-loading",mapping:"data-mapping",reactionsEnabled:"data-reactions-enabled",repo:"data-repo",repoId:"data-repo-id",strict:"data-strict",term:"data-term",theme:"data-theme"},Ke=t=>{if(!t||t.dataset.giscusLoaded==="true")return;const e=document.createElement("script");e.src=t.dataset.giscusScriptSrc||"https://giscus.app/client.js",e.async=!0,e.crossOrigin="anonymous";for(const[n,s]of Object.entries(Ye)){const o=t.dataset[`giscus${n.charAt(0).toUpperCase()}${n.slice(1)}`];o&&e.setAttribute(s,o)}t.append(e),t.dataset.giscusLoaded="true"},Qe=()=>{const t=document.querySelectorAll("[data-comments-collapsible]");t.length&&t.forEach(e=>{const n=e.querySelector("[data-comments-toggle]"),s=e.querySelector("[data-comments-panel]"),o=e.querySelector("[data-giscus-mount]");!n||!s||!o||n.addEventListener("click",()=>{const a=!(n.getAttribute("aria-expanded")==="true");n.setAttribute("aria-expanded",a?"true":"false"),e.classList.toggle("is-open",a),s.hidden=!a,a&&Ke(o)})})},Je=()=>{const t=document.querySelector("#main-header");if(!t)return;const e=()=>{if(window.scrollY>8){t.classList.add("is-scrolled");return}t.classList.remove("is-scrolled")};e(),window.addEventListener("scroll",e,{passive:!0})},Ne=()=>{const t=document.querySelectorAll("[data-series-collapsible]");t.length&&t.forEach(e=>{const n=e.querySelector("[data-series-toggle]"),s=e.querySelector("[data-series-panel]");if(!n||!s)return;const o=()=>{const a=n.getAttribute("aria-expanded")==="true";e.classList.toggle("is-open",a),s.hidden=!a};o(),n.addEventListener("click",()=>{const a=n.getAttribute("aria-expanded")==="true";n.setAttribute("aria-expanded",a?"false":"true"),o()});const i=e.querySelectorAll("[data-series-overflow-toggle]");i.length&&i.forEach(a=>{a.addEventListener("click",()=>{const r=a.dataset.seriesOverflowGroup,l=r?`[data-series-overflow-item][data-series-overflow-group="${r}"]`:"[data-series-overflow-item]";e.querySelectorAll(l).forEach(d=>{d.hidden=!1}),a.setAttribute("aria-expanded","true"),a.hidden=!0})})})},Ve=()=>{const t=document.querySelector("[data-reading-progress]"),e=document.querySelector(".content");if(!t||!e)return;const n=()=>{const s=e.offsetTop,o=e.offsetHeight,i=window.innerHeight,a=window.scrollY,r=Math.max(o-i,1),c=Math.min(Math.max(a-s,0),r)/r*100;t.style.transform=`scaleX(${c/100})`};n(),window.addEventListener("scroll",n,{passive:!0}),window.addEventListener("resize",n)},tn="[data-search-root]";let U;const w=t=>(t||"").toString().normalize("NFKD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9\s-]/g," ").replace(/\s+/g," ").trim(),en=t=>w(t).split(" ").filter(e=>e.length>0),nn=t=>[...new Set(en(t))],sn=(t,e)=>{const n=t.date?Date.parse(t.date):0,s=e.date?Date.parse(e.date):0;return Number.isNaN(n)||Number.isNaN(s)?0:s-n},on=t=>{const e=t.title||"",n=t.content||"",s=Array.isArray(t.tags)?t.tags:[],o=Array.isArray(t.categories)?t.categories:[];return{...t,title:e,content:n,tags:s,categories:o,normalizedTitle:w(e),normalizedContent:w(n),normalizedTags:s.map(w).filter(Boolean),normalizedCategories:o.map(w).filter(Boolean)}},rn=async t=>(U||(U=fetch(t,{headers:{Accept:"application/json"}}).then(e=>{if(!e.ok)throw new Error(`Search index request failed with ${e.status}`);return e.json()}).then(e=>e.map(on)).catch(e=>{throw U=void 0,e})),U),an=(t,e,n)=>{let s=0;t.normalizedTitle.includes(e)&&(s+=140),t.normalizedContent.includes(e)&&(s+=30),n.forEach(i=>{t.normalizedTitle.includes(i)&&(s+=60),t.normalizedTags.some(a=>a.includes(i))&&(s+=30),t.normalizedCategories.some(a=>a.includes(i))&&(s+=18),t.normalizedContent.includes(i)&&(s+=10)});const o=n.filter(i=>t.normalizedTitle.includes(i)||t.normalizedTags.some(a=>a.includes(i))||t.normalizedCategories.some(a=>a.includes(i))||t.normalizedContent.includes(i)).length;return o===0?0:(o===n.length&&(s+=24),t.type==="post"&&(s+=4),s)},cn=(t,e,n)=>{const s=w(e),o=nn(e);return!s||o.length===0?[]:t.map(i=>({searchDocument:i,score:an(i,s,o)})).filter(i=>i.score>0).sort((i,a)=>a.score-i.score||sn(i.searchDocument,a.searchDocument)).slice(0,n).map(i=>i.searchDocument)},ln=(t,e,n)=>{const s=t.replace(/\s+/g," ").trim();if(!s)return"";const o=w(e),a=w(s).indexOf(o);if(a===-1)return s.length>n?`${s.slice(0,n).trimEnd()}...`:s;const r=Math.max(a-Math.floor(n/3),0),l=Math.min(r+n,s.length),c=r>0?"...":"",d=l<s.length?"...":"";return`${c}${s.slice(r,l).trim()}${d}`},dn=t=>{const e=[];return t.type&&e.push(t.type==="post"?"Post":"Page"),t.tags.length>0&&e.push(t.tags.slice(0,2).join(", ")),e.join(" • ")},Tt=(t,e,n,s)=>{const o=t.querySelector("[data-search-results]"),i=t.querySelector("[data-search-status]");o.innerHTML="",i.textContent=s,e.forEach(a=>{const r=window.document.createElement("li");r.className="site-search__result-item";const l=window.document.createElement("a");l.className="site-search__result-link",l.href=a.url;const c=window.document.createElement("span");c.className="site-search__result-title",c.textContent=a.title,l.append(c);const d=dn(a);if(d){const h=window.document.createElement("span");h.className="site-search__result-meta",h.textContent=d,l.append(h)}const u=Number(t.dataset.searchContentPreviewLength||"140"),f=ln(a.content,n,u);if(f){const h=window.document.createElement("span");h.className="site-search__result-snippet",h.textContent=f,l.append(h)}r.append(l),o.append(r)})},Ct=t=>{const e=t.querySelector("[data-search-panel]"),n=t.querySelector("[data-search-input]");e.hidden=!1,n.setAttribute("aria-expanded","true"),e.setAttribute("aria-hidden","false")},L=t=>{const e=t.querySelector("[data-search-panel]"),n=t.querySelector("[data-search-input]");e.hidden=!0,n.setAttribute("aria-expanded","false"),e.setAttribute("aria-hidden","true")},V=(t,e)=>{const n=[...t.querySelectorAll(".site-search__result-link")];if(n.length===0)return;const s=n.findIndex(i=>i===window.document.activeElement),o=s===-1?e>0?0:n.length-1:(s+e+n.length)%n.length;n[o].focus()},un=t=>{const e=t.querySelector("[data-search-input]"),n=t.querySelector("[data-search-clear]"),s=t.querySelector(".site-search__form"),o=t.dataset.searchUrl,i=Number(t.dataset.searchMaxResults||"8"),a=Number(t.dataset.searchMinQueryLength||"2"),r=t.dataset.searchIdleText||"Start typing to search the site.",l=t.dataset.searchTooShortText||"Type at least %d characters to search.",c=t.dataset.searchLoadingText||"Loading search index...",d=t.dataset.searchEmptyText||"No results found.",u=t.dataset.searchErrorText||"Search is unavailable right now.",f=p=>{const y=t.querySelector("[data-search-status]");y.textContent=p},h=()=>{t.querySelector("[data-search-results]").innerHTML=""},g=()=>{n.hidden=e.value.length===0},$=async()=>{const p=e.value.trim();if(g(),p.length===0){h(),f(r),L(t);return}if(Ct(t),p.length<a){h(),f(l.replace("%d",`${a}`));return}f(c);try{const y=await rn(o),b=cn(y,p,i);if(b.length===0){Tt(t,[],p,d);return}Tt(t,b,p,`${b.length} result${b.length===1?"":"s"} for "${p}"`)}catch{h(),f(u)}};e.addEventListener("focus",()=>{e.value.trim().length>0&&$()}),e.addEventListener("input",()=>{$()}),e.addEventListener("keydown",p=>{p.key==="ArrowDown"&&(p.preventDefault(),t.querySelector(".site-search__result-link")&&Ct(t),V(t,1)),p.key==="Escape"&&L(t)}),t.addEventListener("keydown",p=>{if(p.key==="Escape"&&(L(t),e.focus()),p.key==="ArrowDown"&&p.target.matches(".site-search__result-link")&&(p.preventDefault(),V(t,1)),p.key==="ArrowUp"&&p.target.matches(".site-search__result-link")){if(p.preventDefault(),p.target===t.querySelector(".site-search__result-link")){e.focus();return}V(t,-1)}}),n.addEventListener("click",()=>{e.value="",g(),h(),f(r),L(t),e.focus()}),s.addEventListener("submit",p=>{p.preventDefault();const y=t.querySelector(".site-search__result-link");if(y){window.location.assign(y.href);return}$()}),window.document.addEventListener("click",p=>{t.contains(p.target)||L(t)}),L(t)},fn=()=>{const t=window.document.querySelectorAll(tn);t.length!==0&&t.forEach(un)};qt({"chevron-down-outline":ze,close:He,"logo-github":je,"logo-linkedin":Ue,"logo-twitter":Re,"logo-youtube":Be,"menu-outline":De,"search-outline":We,"time-outline":Xe}),Pe(),Ge(),Qe(),Je(),Ne(),Ve(),fn()})();
1
+ (function(){var e,t=()=>{if(typeof window>`u`)return new Map;if(!e){let t=window;t.Ionicons=t.Ionicons||{},e=t.Ionicons.map=t.Ionicons.map||new Map}return e},n=e=>{Object.keys(e).forEach(t=>{r(t,e[t]);let n=t.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g,`$1-$2`).toLowerCase();t!==n&&r(n,e[t])})},r=(e,n)=>{let r=t(),i=r.get(e);i===void 0?r.set(e,n):i!==n&&console.warn(`[Ionicons Warning]: Multiple icons were mapped to name "${e}". Ensure that multiple icons are not mapped to the same icon name.`)},i=`ionicons`,a={hydratedSelectorName:`hydrated`,lazyLoad:!1,updatable:!0},o=Object.defineProperty,s=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:!0})},c=e=>{if(e.__stencil__getHostRef)return e.__stencil__getHostRef()},l=(e,t)=>{let n={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};n.$onReadyPromise$=new Promise(e=>n.$onReadyResolve$=e),e[`s-p`]=[],e[`s-rc`]=[];let r=n;return e.__stencil__getHostRef=()=>r,r},u=(e,t)=>t in e,d=(e,t)=>(0,console.error)(e,t),f=new Map,p=`slot-fb{display:contents}slot-fb[hidden]{display:none}`,m=`http://www.w3.org/1999/xlink`,h=typeof window<`u`?window:{},g=h.HTMLElement||class{},_={$flags$:0,$resourcesUrl$:``,jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)},ee=e=>Promise.resolve(e),te=(()=>{try{return new CSSStyleSheet,typeof new CSSStyleSheet().replaceSync==`function`}catch{}return!1})(),v=!1,ne=[],re=[],ie=(e,t)=>n=>{e.push(n),v||(v=!0,t&&_.$flags$&4?x(b):_.raf(b))},y=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){d(e)}e.length=0},b=()=>{y(ne),y(re),(v=ne.length>0)&&_.raf(b)},x=e=>ee().then(e),ae=ie(re,!0),oe=e=>{let t=new URL(e,_.$resourcesUrl$);return t.origin===h.location.origin?t.pathname:t.href},S=e=>(e=typeof e,e===`object`||e===`function`);function se(e){return(e.head?.querySelector(`meta[name="csp-nonce"]`))?.getAttribute(`content`)??void 0}var ce=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);s({},{err:()=>le,map:()=>ue,ok:()=>C,unwrap:()=>de,unwrapErr:()=>fe});var C=e=>({isOk:!0,isErr:!1,value:e}),le=e=>({isOk:!1,isErr:!0,value:e});function ue(e,t){if(e.isOk){let n=t(e.value);return n instanceof Promise?n.then(e=>C(e)):C(n)}if(e.isErr){let t=e.value;return le(t)}throw`should never get here`}var de=e=>{if(e.isOk)return e.value;throw e.value},fe=e=>{if(e.isErr)return e.value;throw e.value},w;function pe(e){let t=this.attachShadow({mode:`open`});w===void 0&&(w=null),w&&t.adoptedStyleSheets.push(w)}var T=(e,t=``)=>()=>{},E=new WeakMap,me=(e,t,n)=>{let r=f.get(e);te&&n?(r||=new CSSStyleSheet,typeof r==`string`?r=t:r.replaceSync(t)):r=t,f.set(e,r)},he=(e,t,n)=>{let r=_e(t),i=f.get(r);if(!h.document)return r;if(e=e.nodeType===11?e:h.document,i)if(typeof i==`string`){e=e.head||e;let n=E.get(e),a;if(n||E.set(e,n=new Set),!n.has(r)){{a=h.document.createElement(`style`),a.innerHTML=i;let n=_.$nonce$??se(h.document);if(n!=null&&a.setAttribute(`nonce`,n),!(t.$flags$&1))if(e.nodeName===`HEAD`){let t=e.querySelectorAll(`link[rel=preconnect]`),n=t.length>0?t[t.length-1].nextSibling:e.querySelector(`style`);e.insertBefore(a,n?.parentNode===e?n:null)}else if(`host`in e)if(te){let t=new CSSStyleSheet;t.replaceSync(i),e.adoptedStyleSheets.unshift(t)}else{let t=e.querySelector(`style`);t?t.innerHTML=i+t.innerHTML:e.prepend(a)}else e.append(a);t.$flags$&1&&e.insertBefore(a,null)}t.$flags$&4&&(a.innerHTML+=p),n&&n.add(r)}}else e.adoptedStyleSheets.includes(i)||e.adoptedStyleSheets.push(i);return r},ge=e=>{let t=e.$cmpMeta$,n=e.$hostElement$,r=t.$flags$,i=T(`attachStyles`,t.$tagName$),a=he(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);r&10&&(n[`s-sc`]=a,n.classList.add(a+`-h`)),i()},_e=(e,t)=>`sc-`+e.$tagName$,D=(e,t,...n)=>{let r=null,i=null,a=!1,o=!1,s=[],c=t=>{for(let n=0;n<t.length;n++)r=t[n],Array.isArray(r)?c(r):r!=null&&typeof r!=`boolean`&&((a=typeof e!=`function`&&!S(r))&&(r=String(r)),a&&o?s[s.length-1].$text$+=r:s.push(a?O(null,r):r),o=a)};if(c(n),t){t.key&&(i=t.key);{let e=t.className||t.class;e&&(t.class=typeof e==`object`?Object.keys(e).filter(t=>e[t]).join(` `):e)}}let l=O(e,null);return l.$attrs$=t,s.length>0&&(l.$children$=s),l.$key$=i,l},O=(e,t)=>{let n={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null};return n.$attrs$=null,n.$key$=null,n},ve={},ye=e=>e&&e.$tag$===ve,k=e=>{let t=ce(e);return RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${t}))(${t}\\b)`,`g`)};k(`::slotted`),k(`:host`),k(`:host-context`);var be=(e,t,n)=>e!=null&&!S(e)?t&4?e===`false`?!1:e===``||!!e:t&1?String(e):e:e,xe=(e,t,n)=>{let r=_.ce(t,n);return e.dispatchEvent(r),r},A=(e,t,n,r,i,a,o)=>{if(n===r)return;let s=u(e,t),c=t.toLowerCase();if(t===`class`){let t=e.classList,i=j(n),a=j(r);t.remove(...i.filter(e=>e&&!a.includes(e))),t.add(...a.filter(e=>e&&!i.includes(e)))}else if(t===`style`){for(let t in n)(!r||r[t]==null)&&(t.includes(`-`)?e.style.removeProperty(t):e.style[t]=``);for(let t in r)(!n||r[t]!==n[t])&&(t.includes(`-`)?e.style.setProperty(t,r[t]):e.style[t]=r[t])}else if(t!==`key`)if(t===`ref`)r&&r(e);else if(!e.__lookupSetter__(t)&&t[0]===`o`&&t[1]===`n`){if(t=t[2]===`-`?t.slice(3):u(h,c)?c.slice(2):c[2]+t.slice(3),n||r){let i=t.endsWith(M);t=t.replace(Ce,``),n&&_.rel(e,t,n,i),r&&_.ael(e,t,r,i)}}else{let o=S(r);if(s||o&&r!==null)try{if(e.tagName.includes(`-`))e[t]!==r&&(e[t]=r);else{let i=r??``;t===`list`?s=!1:(n==null||e[t]!=i)&&(typeof e.__lookupSetter__(t)==`function`?e[t]=i:e.setAttribute(t,i))}}catch{}let l=!1;c!==(c=c.replace(/^xlink\:?/,``))&&(t=c,l=!0),r==null||r===!1?(r!==!1||e.getAttribute(t)===``)&&(l?e.removeAttributeNS(m,t):e.removeAttribute(t)):(!s||a&4||i)&&!o&&e.nodeType===1&&(r=r===!0?``:r,l?e.setAttributeNS(m,t,r):e.setAttribute(t,r))}},Se=/\s/,j=e=>(typeof e==`object`&&e&&`baseVal`in e&&(e=e.baseVal),!e||typeof e!=`string`?[]:e.split(Se)),M=`Capture`,Ce=RegExp(M+`$`),we=(e,t,n,r)=>{let i=t.$elm$.nodeType===11&&t.$elm$.host?t.$elm$.host:t.$elm$,a=e&&e.$attrs$||{},o=t.$attrs$||{};for(let e of Te(Object.keys(a)))e in o||A(i,e,a[e],void 0,n,t.$flags$);for(let e of Te(Object.keys(o)))A(i,e,a[e],o[e],n,t.$flags$)};function Te(e){return e.includes(`ref`)?[...e.filter(e=>e!==`ref`),`ref`]:e}var N,Ee=!1,P=(e,t,n)=>{let r=t.$children$[n],i=0,a,o;if(r.$text$!==null)a=r.$elm$=h.document.createTextNode(r.$text$);else{if(!h.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.");if(a=r.$elm$=h.document.createElement(r.$tag$),we(null,r,Ee),r.$children$)for(i=0;i<r.$children$.length;++i)o=P(e,r,i),o&&a.appendChild(o)}return a[`s-hn`]=N,a},F=(e,t,n,r,i,a)=>{let o=e,s;for(o.shadowRoot&&o.tagName===N&&(o=o.shadowRoot);i<=a;++i)r[i]&&(s=P(null,n,i),s&&(r[i].$elm$=s,z(o,s,t)))},De=(e,t,n)=>{for(let r=t;r<=n;++r){let t=e[r];if(t){let e=t.$elm$;R(t),e&&e.remove()}}},Oe=(e,t,n,r,i=!1)=>{let a=0,o=0,s=0,c=0,l=t.length-1,u=t[0],d=t[l],f=r.length-1,p=r[0],m=r[f],h,g;for(;a<=l&&o<=f;)if(u==null)u=t[++a];else if(d==null)d=t[--l];else if(p==null)p=r[++o];else if(m==null)m=r[--f];else if(I(u,p,i))L(u,p,i),u=t[++a],p=r[++o];else if(I(d,m,i))L(d,m,i),d=t[--l],m=r[--f];else if(I(u,m,i))L(u,m,i),z(e,u.$elm$,d.$elm$.nextSibling),u=t[++a],m=r[--f];else if(I(d,p,i))L(d,p,i),z(e,d.$elm$,u.$elm$),d=t[--l],p=r[++o];else{for(s=-1,c=a;c<=l;++c)if(t[c]&&t[c].$key$!==null&&t[c].$key$===p.$key$){s=c;break}s>=0?(g=t[s],g.$tag$===p.$tag$?(L(g,p,i),t[s]=void 0,h=g.$elm$):h=P(t&&t[o],n,s),p=r[++o]):(h=P(t&&t[o],n,o),p=r[++o]),h&&z(u.$elm$.parentNode,h,u.$elm$)}a>l?F(e,r[f+1]==null?null:r[f+1].$elm$,n,r,o,f):o>f&&De(t,a,l)},I=(e,t,n=!1)=>e.$tag$===t.$tag$?n?(n&&!e.$key$&&t.$key$&&(e.$key$=t.$key$),!0):e.$key$===t.$key$:!1,L=(e,t,n=!1)=>{let r=t.$elm$=e.$elm$,i=e.$children$,o=t.$children$,s=t.$text$;s===null?(we(e,t,Ee),i!==null&&o!==null?Oe(r,i,t,o,n):o===null?!n&&a.updatable&&i!==null&&De(i,0,i.length-1):(e.$text$!==null&&(r.textContent=``),F(r,null,t,o,0,o.length-1))):e.$text$!==s&&(r.data=s)},R=e=>{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null),e.$children$&&e.$children$.map(R)},z=(e,t,n)=>e?.insertBefore(t,n),ke=(e,t,n=!1)=>{let r=e.$hostElement$,i=e.$cmpMeta$,a=e.$vnode$||O(null,null),o=ye(t)?t:D(null,null,t);if(N=r.tagName,i.$attrsToReflect$&&(o.$attrs$=o.$attrs$||{},i.$attrsToReflect$.map(([e,t])=>o.$attrs$[t]=r[e])),n&&o.$attrs$)for(let e of Object.keys(o.$attrs$))r.hasAttribute(e)&&![`key`,`ref`,`style`,`class`].includes(e)&&(o.$attrs$[e]=r[e]);o.$tag$=null,o.$flags$|=4,e.$vnode$=o,o.$elm$=a.$elm$=r.shadowRoot||r,L(a,o,n)},B=(e,t)=>{if(t&&!e.$onRenderResolve$&&t[`s-p`]){let n=t[`s-p`].push(new Promise(r=>e.$onRenderResolve$=()=>{t[`s-p`].splice(n-1,1),r()}))}},V=(e,t)=>{if(e.$flags$|=16,e.$flags$&4){e.$flags$|=512;return}return B(e,e.$ancestorComponent$),ae(()=>Ae(e,t))},Ae=(e,t)=>{let n=e.$hostElement$,r=T(`scheduleUpdate`,e.$cmpMeta$.$tagName$),i=n;if(!i)throw Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let a;return a=t?U(i,`componentWillLoad`,void 0,n):U(i,`componentWillUpdate`,void 0,n),a=H(a,()=>U(i,`componentWillRender`,void 0,n)),r(),H(a,()=>Me(e,i,t))},H=(e,t)=>je(e)?e.then(t).catch(e=>{console.error(e),t()}):t(),je=e=>e instanceof Promise||e&&e.then&&typeof e.then==`function`,Me=async(e,t,n)=>{let r=e.$hostElement$,i=T(`update`,e.$cmpMeta$.$tagName$),a=r[`s-rc`];n&&ge(e);let o=T(`render`,e.$cmpMeta$.$tagName$);Ne(e,t,r,n),a&&(a.map(e=>e()),r[`s-rc`]=void 0),o(),i();{let t=r[`s-p`]??[],n=()=>Pe(e);t.length===0?n():(Promise.all(t).then(n),e.$flags$|=4,t.length=0)}},Ne=(e,t,n,r)=>{try{t=t.render(),e.$flags$&=-17,e.$flags$|=2,ke(e,t,r)}catch(t){d(t,e.$hostElement$)}return null},Pe=e=>{let t=e.$cmpMeta$.$tagName$,n=e.$hostElement$,r=T(`postUpdate`,t),i=n,a=e.$ancestorComponent$;U(i,`componentDidRender`,void 0,n),e.$flags$&64?(U(i,`componentDidUpdate`,void 0,n),r()):(e.$flags$|=64,Ie(n),U(i,`componentDidLoad`,void 0,n),r(),e.$onReadyResolve$(n),a||Fe()),e.$onRenderResolve$&&=(e.$onRenderResolve$(),void 0),e.$flags$&512&&x(()=>V(e,!1)),e.$flags$&=-517},Fe=e=>{x(()=>xe(h,`appload`,{detail:{namespace:i}}))},U=(e,t,n,r)=>{if(e&&e[t])try{return e[t](n)}catch(e){d(e,r)}},Ie=e=>e.classList.add(a.hydratedSelectorName??`hydrated`),Le=(e,t)=>c(e).$instanceValues$.get(t),Re=(e,t,n,r)=>{let i=c(e),a=e,o=i.$instanceValues$.get(t),s=i.$flags$,l=a;if(n=be(n,r.$members$[t][0]),n!==o&&!(Number.isNaN(o)&&Number.isNaN(n))){if(i.$instanceValues$.set(t,n),r.$watchers$&&s&128){let e=r.$watchers$[t];e&&e.map(e=>{try{l[e](n,o,t)}catch(e){d(e,a)}})}if((s&18)==2){if(l.componentShouldUpdate&&l.componentShouldUpdate(n,o,t)===!1)return;V(i,!1)}}},ze=(e,t,n)=>{let r=e.prototype;if(t.$members$||t.$watchers$||e.watchers){e.watchers&&!t.$watchers$&&(t.$watchers$=e.watchers);let n=Object.entries(t.$members$??{});n.map(([e,[n]])=>{if(n&31||n&32){let{get:i,set:a}=Object.getOwnPropertyDescriptor(r,e)||{};i&&(t.$members$[e][0]|=2048),a&&(t.$members$[e][0]|=4096),Object.defineProperty(r,e,{get(){return i?i.apply(this):Le(this,e)},configurable:!0,enumerable:!0}),Object.defineProperty(r,e,{set(r){let i=c(this);if(a){let o=n&32?this[e]:i.$hostElement$[e];o===void 0&&i.$instanceValues$.get(e)?r=i.$instanceValues$.get(e):!i.$instanceValues$.get(e)&&o&&i.$instanceValues$.set(e,o),a.apply(this,[be(r,n)]),r=n&32?this[e]:i.$hostElement$[e],Re(this,e,r,t);return}Re(this,e,r,t)}})}});{let i=new Map;r.attributeChangedCallback=function(e,n,o){_.jmp(()=>{let s=i.get(e);if(!(this.hasOwnProperty(s)&&a.lazyLoad)){if(r.hasOwnProperty(s)&&typeof this[s]==`number`&&this[s]==o)return;if(s==null){let r=c(this)?.$flags$;if(r&&!(r&8)&&r&128&&o!==n){let r=this;(t.$watchers$?.[e])?.forEach(t=>{r[t]!=null&&r[t].call(r,o,n,e)})}return}}let l=Object.getOwnPropertyDescriptor(r,s);o=o===null&&typeof this[s]==`boolean`?!1:o,o!==this[s]&&(!l.get||l.set)&&(this[s]=o)})},e.observedAttributes=Array.from(new Set([...Object.keys(t.$watchers$??{}),...n.filter(([e,t])=>t[0]&15).map(([e,n])=>{var r;let a=n[1]||e;return i.set(a,e),n[0]&512&&((r=t.$attrsToReflect$)==null||r.push([e,a])),a})]))}}return e},Be=async(e,t,n,r)=>{let i;if(!(t.$flags$&32)){t.$flags$|=32;{i=e.constructor;let n=e.localName;customElements.whenDefined(n).then(()=>t.$flags$|=128)}if(i&&i.style){let e;typeof i.style==`string`&&(e=i.style);let t=_e(n);if(!f.has(t)){let r=T(`registerStyles`,n.$tagName$);me(t,e,!!(n.$flags$&1)),r()}}}let a=t.$ancestorComponent$,o=()=>V(t,!0);a&&a[`s-rc`]?a[`s-rc`].push(o):o()},Ve=e=>{if(!(_.$flags$&1)){let t=c(e),n=t.$cmpMeta$,r=T(`connectedCallback`,n.$tagName$);if(t.$flags$&1)t?.$lazyInstance$||t?.$onReadyPromise$&&t.$onReadyPromise$.then(()=>void 0);else{t.$flags$|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n[`s-p`]){B(t,t.$ancestorComponent$=n);break}}n.$members$&&Object.entries(n.$members$).map(([t,[n]])=>{if(n&31&&e.hasOwnProperty(t)){let n=e[t];delete e[t],e[t]=n}}),a.initializeNextTick?x(()=>Be(e,t,n)):Be(e,t,n)}r()}},He=async e=>{_.$flags$&1||c(e),E.has(e)&&E.delete(e),e.shadowRoot&&E.has(e.shadowRoot)&&E.delete(e.shadowRoot)},Ue=(e,t)=>{let n={$flags$:t[0],$tagName$:t[1]};n.$members$=t[2],n.$watchers$=e.$watchers$,n.$attrsToReflect$=[];let r=e.prototype.connectedCallback,i=e.prototype.disconnectedCallback;return Object.assign(e.prototype,{__hasHostListenerAttached:!1,__registerHost(){l(this,n)},connectedCallback(){this.__hasHostListenerAttached||=(c(this),!0),Ve(this),r&&r.call(this)},disconnectedCallback(){He(this),i&&i.call(this)},__attachShadow(){if(!this.shadowRoot)pe.call(this,n);else if(this.shadowRoot.mode!==`open`)throw Error(`Unable to re-use existing shadow root for ${n.$tagName$}! Mode is set to ${this.shadowRoot.mode} but Stencil only supports open shadow roots.`)}}),e.is=n.$tagName$,ze(e,n)},W,We=()=>{if(typeof window>`u`)return new Map;if(!W){let e=window;e.Ionicons=e.Ionicons||{},W=e.Ionicons.map=e.Ionicons.map||new Map}return W},Ge=e=>{let t=G(e.src);return t||(t=qe(e.name,e.icon,e.mode,e.ios,e.md),t?Ke(t,e):e.icon&&(t=G(e.icon),t||(t=G(e.icon[e.mode]),t))?t:null)},Ke=(e,t)=>{let n=We().get(e);if(n)return n;try{return oe(`svg/${e}.svg`)}catch(n){console.log(`e`,n),console.warn(`[Ionicons Warning]: Could not load icon with name "${e}". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to the icon component.`,t)}},qe=(e,t,n,r,i)=>(n=(n&&q(n))===`ios`?`ios`:`md`,r&&n===`ios`?e=q(r):i&&n===`md`?e=q(i):(!e&&t&&!Je(t)&&(e=t),K(e)&&(e=q(e))),!K(e)||e.trim()===``||e.replace(/[a-z]|-|\d/gi,``)!==``?null:e),G=e=>K(e)&&(e=e.trim(),Je(e))?e:null,Je=e=>e.length>0&&/(\/|\.)/.test(e),K=e=>typeof e==`string`,q=e=>e.toLowerCase(),Ye=(e,t=[])=>{let n={};return t.forEach(t=>{e.hasAttribute(t)&&(e.getAttribute(t)!==null&&(n[t]=e.getAttribute(t)),e.removeAttribute(t))}),n},Xe=e=>e&&e.dir!==``?e.dir.toLowerCase()===`rtl`:(document==null?void 0:document.dir.toLowerCase())===`rtl`,Ze=e=>{let t=document.createElement(`div`);t.innerHTML=e;for(let e=t.childNodes.length-1;e>=0;e--)t.childNodes[e].nodeName.toLowerCase()!==`svg`&&t.removeChild(t.childNodes[e]);let n=t.firstElementChild;if(n&&n.nodeName.toLowerCase()===`svg`){let e=n.getAttribute(`class`)||``;if(n.setAttribute(`class`,(e+` s-ion-icon`).trim()),Qe(n))return t.innerHTML}return``},Qe=e=>{if(e.nodeType===1){if(e.nodeName.toLowerCase()===`script`)return!1;for(let t=0;t<e.attributes.length;t++){let n=e.attributes[t].name;if(K(n)&&n.toLowerCase().indexOf(`on`)===0)return!1}for(let t=0;t<e.childNodes.length;t++)if(!Qe(e.childNodes[t]))return!1}return!0},$e=e=>e.startsWith(`data:image/svg+xml`),et=e=>e.indexOf(`;utf8,`)!==-1,J=new Map,tt=new Map,nt;function Y(e){return J.set(e,``),``}var rt=(e,t)=>tt.get(e)||(typeof fetch<`u`&&typeof document<`u`?$e(e)&&et(e)?Promise.resolve(it(e)):at(e,t):Promise.resolve(Y(e)));function it(e){nt||=new DOMParser;let t=nt.parseFromString(e,`text/html`).querySelector(`svg`);if(t)return J.set(e,t.outerHTML),t.outerHTML;throw Error(`Could not parse svg from ${e}`)}function at(e,t){let n=fetch(e).then(n=>n.text().then(n=>{n&&t!==!1&&(n=Ze(n));let r=n||``;return J.set(e,r),r}).catch(()=>Y(e))).catch(()=>Y(e));return tt.set(e,n),n}var ot=`:host{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;box-sizing:content-box !important}:host .ionicon{stroke:currentColor}.ionicon-fill-none{fill:none}.ionicon-stroke-width{stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}@supports (background: -webkit-named-image(i)){:host(.icon-rtl) .icon-inner{transform:scaleX(-1)}}@supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])){:host(.icon-rtl) .icon-inner{transform:scaleX(-1)}}:host(.flip-rtl):host-context([dir='rtl']) .icon-inner{transform:scaleX(-1)}@supports selector(:dir(rtl)){:host(.flip-rtl:dir(rtl)) .icon-inner{transform:scaleX(-1)}:host(.flip-rtl:dir(ltr)) .icon-inner{transform:scaleX(1)}}:host(.icon-small){font-size:1.125rem !important}:host(.icon-large){font-size:2rem !important}:host(.ion-color){color:var(--ion-color-base) !important}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}`,st=Ue(class extends g{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.iconName=null,this.inheritedAttributes={},this.didLoadIcon=!1,this.isVisible=!1,this.mode=ct(),this.lazy=!1,this.sanitize=!0}componentWillLoad(){this.inheritedAttributes=Ye(this.el,[`aria-label`])}connectedCallback(){this.waitUntilVisible(this.el,`50px`,()=>{this.isVisible=!0,this.loadIcon()})}componentDidLoad(){this.didLoadIcon||this.loadIcon()}disconnectedCallback(){this.io&&=(this.io.disconnect(),void 0)}waitUntilVisible(e,t,n){if(!(this.lazy&&typeof window<`u`&&window.IntersectionObserver))return n();let r=this.io=new window.IntersectionObserver(e=>{e[0].isIntersecting&&(r.disconnect(),this.io=void 0,n())},{rootMargin:t});r.observe(e)}loadIcon(){if(this.isVisible){let e=Ge(this);e&&(J.has(e)?this.svgContent=J.get(e):rt(e,this.sanitize).then(()=>this.svgContent=J.get(e)),this.didLoadIcon=!0)}this.iconName=qe(this.name,this.icon,this.mode,this.ios,this.md)}render(){let{flipRtl:e,iconName:t,inheritedAttributes:n,el:r}=this,i=this.mode||`md`,a=t?(t.includes(`arrow`)||t.includes(`chevron`))&&e!==!1:!1,o=e||a;return D(ve,Object.assign({key:`0578c899781ca145dd8205acd9670af39b57cf2e`,role:`img`,class:Object.assign(Object.assign({[i]:!0},lt(this.color)),{[`icon-${this.size}`]:!!this.size,"flip-rtl":o,"icon-rtl":o&&Xe(r)})},n),this.svgContent?D(`div`,{class:`icon-inner`,innerHTML:this.svgContent}):D(`div`,{class:`icon-inner`}))}static get assetsDirs(){return[`svg`]}get el(){return this}static get watchers(){return{name:[`loadIcon`],src:[`loadIcon`],icon:[`loadIcon`],ios:[`loadIcon`],md:[`loadIcon`]}}static get style(){return ot}},[1,`ion-icon`,{mode:[1025],color:[1],ios:[1],md:[1],flipRtl:[4,`flip-rtl`],name:[513],src:[1],icon:[8],size:[1],lazy:[4],sanitize:[4],svgContent:[32],isVisible:[32]},void 0,{name:[`loadIcon`],src:[`loadIcon`],icon:[`loadIcon`],ios:[`loadIcon`],md:[`loadIcon`]}]),ct=()=>typeof document<`u`&&document.documentElement.getAttribute(`mode`)||`md`,lt=e=>e?{"ion-color":!0,[`ion-color-${e}`]:!0}:null;function ut(){typeof customElements>`u`||[`ion-icon`].forEach(e=>{switch(e){case`ion-icon`:customElements.get(e)||customElements.define(e,st);break}})}var dt=ut,ft=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m112 184 144 144 144-144' stroke-linecap='round' stroke-linejoin='round' stroke-width='48px' class='ionicon-fill-none'/></svg>`,pt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='m289.94 256 95-95A24 24 0 0 0 351 127l-95 95-95-95a24 24 0 0 0-34 34l95 95-95 95a24 24 0 1 0 34 34l95-95 95 95a24 24 0 0 0 34-34Z'/></svg>`,mt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 32C132.3 32 32 134.9 32 261.7c0 101.5 64.2 187.5 153.2 217.9a17.6 17.6 0 0 0 3.8.4c8.3 0 11.5-6.1 11.5-11.4 0-5.5-.2-19.9-.3-39.1a102.4 102.4 0 0 1-22.6 2.7c-43.1 0-52.9-33.5-52.9-33.5-10.2-26.5-24.9-33.6-24.9-33.6-19.5-13.7-.1-14.1 1.4-14.1h.1c22.5 2 34.3 23.8 34.3 23.8 11.2 19.6 26.2 25.1 39.6 25.1a63 63 0 0 0 25.6-6c2-14.8 7.8-24.9 14.2-30.7-49.7-5.8-102-25.5-102-113.5 0-25.1 8.7-45.6 23-61.6-2.3-5.8-10-29.2 2.2-60.8a18.6 18.6 0 0 1 5-.5c8.1 0 26.4 3.1 56.6 24.1a208.2 208.2 0 0 1 112.2 0c30.2-21 48.5-24.1 56.6-24.1a18.6 18.6 0 0 1 5 .5c12.2 31.6 4.5 55 2.2 60.8 14.3 16.1 23 36.6 23 61.6 0 88.2-52.4 107.6-102.3 113.3 8 7.1 15.2 21.1 15.2 42.5 0 30.7-.3 55.5-.3 63 0 5.4 3.1 11.5 11.4 11.5a19.4 19.4 0 0 0 4-.4C415.9 449.2 480 363.1 480 261.7 480 134.9 379.7 32 256 32'/></svg>`,ht=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M444.17 32H70.28C49.85 32 32 46.7 32 66.89v374.72C32 461.91 49.85 480 70.28 480h373.78c20.54 0 35.94-18.21 35.94-38.39V66.89C480.12 46.7 464.6 32 444.17 32m-273.3 373.43h-64.18V205.88h64.18ZM141 175.54h-.46c-20.54 0-33.84-15.29-33.84-34.43 0-19.49 13.65-34.42 34.65-34.42s33.85 14.82 34.31 34.42c-.01 19.14-13.31 34.43-34.66 34.43m264.43 229.89h-64.18V296.32c0-26.14-9.34-44-32.56-44-17.74 0-28.24 12-32.91 23.69-1.75 4.2-2.22 9.92-2.22 15.76v113.66h-64.18V205.88h64.18v27.77c9.34-13.3 23.93-32.44 57.88-32.44 42.13 0 74 27.77 74 87.64Z'/></svg>`,gt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M496 109.5a201.8 201.8 0 0 1-56.55 15.3 97.5 97.5 0 0 0 43.33-53.6 197.7 197.7 0 0 1-62.56 23.5A99.14 99.14 0 0 0 348.31 64c-54.42 0-98.46 43.4-98.46 96.9a93.2 93.2 0 0 0 2.54 22.1 280.7 280.7 0 0 1-203-101.3A95.7 95.7 0 0 0 36 130.4c0 33.6 17.53 63.3 44 80.7A97.5 97.5 0 0 1 35.22 199v1.2c0 47 34 86.1 79 95a100.8 100.8 0 0 1-25.94 3.4 94.4 94.4 0 0 1-18.51-1.8c12.51 38.5 48.92 66.5 92.05 67.3A199.6 199.6 0 0 1 39.5 405.6a203 203 0 0 1-23.5-1.4A278.7 278.7 0 0 0 166.74 448c181.36 0 280.44-147.7 280.44-275.8 0-4.2-.11-8.4-.31-12.5A198.5 198.5 0 0 0 496 109.5'/></svg>`,_t=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M508.64 148.79c0-45-33.1-81.2-74-81.2C379.24 65 322.74 64 265 64h-18c-57.6 0-114.2 1-169.6 3.6C36.6 67.6 3.5 104 3.5 149 1 184.59-.06 220.19 0 255.79q-.15 53.4 3.4 106.9c0 45 33.1 81.5 73.9 81.5 58.2 2.7 117.9 3.9 178.6 3.8q91.2.3 178.6-3.8c40.9 0 74-36.5 74-81.5 2.4-35.7 3.5-71.3 3.4-107q.34-53.4-3.26-106.9M207 353.89v-196.5l145 98.2Z'/></svg>`,vt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M80 160h352M80 256h352M80 352h352' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,yt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M221.09 64a157.09 157.09 0 1 0 157.09 157.09A157.1 157.1 0 0 0 221.09 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M338.29 338.29 448 448' stroke-linecap='round' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,bt=`data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' class='ionicon'><path d='M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64Z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path d='M256 128v144h96' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/></svg>`,xt=`menu-outline`,St=`close`,Ct=()=>{let e=document.querySelector(`.site-header__toggle`);if(!e)return;let t=document.querySelector(e.dataset.target);if(!t)return;let n=e.querySelector(`.sr-only`),r=e.dataset.openLabel||`Open navigation menu`,i=e.dataset.closeLabel||`Close navigation menu`,a=a=>{e.setAttribute(`aria-expanded`,a?`true`:`false`),e.setAttribute(`aria-label`,a?i:r),n&&(n.textContent=a?i:r);let o=e.querySelector(`ion-icon`);o&&(o.name=a?St:xt),t.hidden=!a,t.classList.toggle(`is-hidden`,!a)},o=()=>{t.hidden||a(!1)};a(!1),e.addEventListener(`click`,()=>{let n=e.getAttribute(`aria-expanded`)!==`true`;if(a(n),n){let e=t.querySelector(`a, button, input, [tabindex]:not([tabindex="-1"])`);e&&e.focus();return}e.focus()}),document.addEventListener(`click`,n=>{let r=t.contains(n.target),i=e.contains(n.target);!r&&!i&&o()}),document.addEventListener(`keydown`,n=>{if(n.key===`Escape`){let n=!t.hidden;o(),n&&e.focus()}})},wt={category:`data-category`,categoryId:`data-category-id`,emitMetadata:`data-emit-metadata`,inputPosition:`data-input-position`,lang:`data-lang`,loading:`data-loading`,mapping:`data-mapping`,reactionsEnabled:`data-reactions-enabled`,repo:`data-repo`,repoId:`data-repo-id`,strict:`data-strict`,term:`data-term`,theme:`data-theme`},Tt=e=>{if(!e||e.dataset.giscusLoaded===`true`)return;let t=document.createElement(`script`);t.src=e.dataset.giscusScriptSrc||`https://giscus.app/client.js`,t.async=!0,t.crossOrigin=`anonymous`;for(let[n,r]of Object.entries(wt)){let i=e.dataset[`giscus${n.charAt(0).toUpperCase()}${n.slice(1)}`];i&&t.setAttribute(r,i)}e.append(t),e.dataset.giscusLoaded=`true`},Et=()=>{let e=document.querySelectorAll(`[data-comments-collapsible]`);e.length&&e.forEach(e=>{let t=e.querySelector(`[data-comments-toggle]`),n=e.querySelector(`[data-comments-panel]`),r=e.querySelector(`[data-giscus-mount]`);!t||!n||!r||t.addEventListener(`click`,()=>{let i=t.getAttribute(`aria-expanded`)!==`true`;t.setAttribute(`aria-expanded`,i?`true`:`false`),e.classList.toggle(`is-open`,i),n.hidden=!i,i&&Tt(r)})})},Dt=()=>{let e=document.querySelector(`#main-header`);if(!e)return;let t=()=>{if(window.scrollY>8){e.classList.add(`is-scrolled`);return}e.classList.remove(`is-scrolled`)};t(),window.addEventListener(`scroll`,t,{passive:!0})},Ot=()=>{let e=document.querySelectorAll(`[data-series-collapsible]`);e.length&&e.forEach(e=>{let t=e.querySelector(`[data-series-toggle]`),n=e.querySelector(`[data-series-panel]`);if(!t||!n)return;let r=()=>{let r=t.getAttribute(`aria-expanded`)===`true`;e.classList.toggle(`is-open`,r),n.hidden=!r};r(),t.addEventListener(`click`,()=>{let e=t.getAttribute(`aria-expanded`)===`true`;t.setAttribute(`aria-expanded`,e?`false`:`true`),r()});let i=e.querySelectorAll(`[data-series-overflow-toggle]`);i.length&&i.forEach(t=>{t.addEventListener(`click`,()=>{let n=t.dataset.seriesOverflowGroup,r=n?`[data-series-overflow-item][data-series-overflow-group="${n}"]`:`[data-series-overflow-item]`;e.querySelectorAll(r).forEach(e=>{e.hidden=!1}),t.setAttribute(`aria-expanded`,`true`),t.hidden=!0})})})},kt=()=>{let e=document.querySelector(`[data-reading-progress]`),t=document.querySelector(`.content`);if(!e||!t)return;let n=()=>{let n=t.offsetTop,r=t.offsetHeight,i=window.innerHeight,a=window.scrollY,o=Math.max(r-i,1),s=Math.min(Math.max(a-n,0),o)/o*100;e.style.transform=`scaleX(${s/100})`};n(),window.addEventListener(`scroll`,n,{passive:!0}),window.addEventListener(`resize`,n)},At=`[data-search-root]`,X,Z=e=>(e||``).toString().normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().replace(/[^a-z0-9\s-]/g,` `).replace(/\s+/g,` `).trim(),jt=e=>Z(e).split(` `).filter(e=>e.length>0),Mt=e=>[...new Set(jt(e))],Nt=(e,t)=>{let n=e.date?Date.parse(e.date):0,r=t.date?Date.parse(t.date):0;return Number.isNaN(n)||Number.isNaN(r)?0:r-n},Pt=e=>{let t=e.title||``,n=e.content||``,r=Array.isArray(e.tags)?e.tags:[],i=Array.isArray(e.categories)?e.categories:[];return{...e,title:t,content:n,tags:r,categories:i,normalizedTitle:Z(t),normalizedContent:Z(n),normalizedTags:r.map(Z).filter(Boolean),normalizedCategories:i.map(Z).filter(Boolean)}},Ft=async e=>(X||=fetch(e,{headers:{Accept:`application/json`}}).then(e=>{if(!e.ok)throw Error(`Search index request failed with ${e.status}`);return e.json()}).then(e=>e.map(Pt)).catch(e=>{throw X=void 0,e}),X),It=(e,t,n)=>{let r=0;e.normalizedTitle.includes(t)&&(r+=140),e.normalizedContent.includes(t)&&(r+=30),n.forEach(t=>{e.normalizedTitle.includes(t)&&(r+=60),e.normalizedTags.some(e=>e.includes(t))&&(r+=30),e.normalizedCategories.some(e=>e.includes(t))&&(r+=18),e.normalizedContent.includes(t)&&(r+=10)});let i=n.filter(t=>e.normalizedTitle.includes(t)||e.normalizedTags.some(e=>e.includes(t))||e.normalizedCategories.some(e=>e.includes(t))||e.normalizedContent.includes(t)).length;return i===0?0:(i===n.length&&(r+=24),e.type===`post`&&(r+=4),r)},Lt=(e,t,n)=>{let r=Z(t),i=Mt(t);return!r||i.length===0?[]:e.map(e=>({searchDocument:e,score:It(e,r,i)})).filter(e=>e.score>0).sort((e,t)=>t.score-e.score||Nt(e.searchDocument,t.searchDocument)).slice(0,n).map(e=>e.searchDocument)},Rt=(e,t,n)=>{let r=e.replace(/\s+/g,` `).trim();if(!r)return``;let i=Z(t),a=Z(r).indexOf(i);if(a===-1)return r.length>n?`${r.slice(0,n).trimEnd()}...`:r;let o=Math.max(a-Math.floor(n/3),0),s=Math.min(o+n,r.length),c=o>0?`...`:``,l=s<r.length?`...`:``;return`${c}${r.slice(o,s).trim()}${l}`},zt=e=>{let t=[];return e.type&&t.push(e.type===`post`?`Post`:`Page`),e.tags.length>0&&t.push(e.tags.slice(0,2).join(`, `)),t.join(` • `)},Bt=(e,t,n,r)=>{let i=e.querySelector(`[data-search-results]`),a=e.querySelector(`[data-search-status]`);i.innerHTML=``,a.textContent=r,t.forEach(t=>{let r=window.document.createElement(`li`);r.className=`site-search__result-item`;let a=window.document.createElement(`a`);a.className=`site-search__result-link`,a.href=t.url;let o=window.document.createElement(`span`);o.className=`site-search__result-title`,o.textContent=t.title,a.append(o);let s=zt(t);if(s){let e=window.document.createElement(`span`);e.className=`site-search__result-meta`,e.textContent=s,a.append(e)}let c=Number(e.dataset.searchContentPreviewLength||`140`),l=Rt(t.content,n,c);if(l){let e=window.document.createElement(`span`);e.className=`site-search__result-snippet`,e.textContent=l,a.append(e)}r.append(a),i.append(r)})},Vt=e=>{let t=e.querySelector(`[data-search-panel]`),n=e.querySelector(`[data-search-input]`);t.hidden=!1,n.setAttribute(`aria-expanded`,`true`),t.setAttribute(`aria-hidden`,`false`)},Q=e=>{let t=e.querySelector(`[data-search-panel]`),n=e.querySelector(`[data-search-input]`);t.hidden=!0,n.setAttribute(`aria-expanded`,`false`),t.setAttribute(`aria-hidden`,`true`)},$=(e,t)=>{let n=[...e.querySelectorAll(`.site-search__result-link`)];if(n.length===0)return;let r=n.findIndex(e=>e===window.document.activeElement);n[r===-1?t>0?0:n.length-1:(r+t+n.length)%n.length].focus()},Ht=e=>{let t=e.querySelector(`[data-search-input]`),n=e.querySelector(`[data-search-clear]`),r=e.querySelector(`.site-search__form`),i=e.dataset.searchUrl,a=Number(e.dataset.searchMaxResults||`8`),o=Number(e.dataset.searchMinQueryLength||`2`),s=e.dataset.searchIdleText||`Start typing to search the site.`,c=e.dataset.searchTooShortText||`Type at least %d characters to search.`,l=e.dataset.searchLoadingText||`Loading search index...`,u=e.dataset.searchEmptyText||`No results found.`,d=e.dataset.searchErrorText||`Search is unavailable right now.`,f=t=>{let n=e.querySelector(`[data-search-status]`);n.textContent=t},p=()=>{e.querySelector(`[data-search-results]`).innerHTML=``},m=()=>{n.hidden=t.value.length===0},h=async()=>{let n=t.value.trim();if(m(),n.length===0){p(),f(s),Q(e);return}if(Vt(e),n.length<o){p(),f(c.replace(`%d`,`${o}`));return}f(l);try{let t=Lt(await Ft(i),n,a);if(t.length===0){Bt(e,[],n,u);return}Bt(e,t,n,`${t.length} result${t.length===1?``:`s`} for "${n}"`)}catch{p(),f(d)}};t.addEventListener(`focus`,()=>{t.value.trim().length>0&&h()}),t.addEventListener(`input`,()=>{h()}),t.addEventListener(`keydown`,t=>{t.key===`ArrowDown`&&(t.preventDefault(),e.querySelector(`.site-search__result-link`)&&Vt(e),$(e,1)),t.key===`Escape`&&Q(e)}),e.addEventListener(`keydown`,n=>{if(n.key===`Escape`&&(Q(e),t.focus()),n.key===`ArrowDown`&&n.target.matches(`.site-search__result-link`)&&(n.preventDefault(),$(e,1)),n.key===`ArrowUp`&&n.target.matches(`.site-search__result-link`)){if(n.preventDefault(),n.target===e.querySelector(`.site-search__result-link`)){t.focus();return}$(e,-1)}}),n.addEventListener(`click`,()=>{t.value=``,m(),p(),f(s),Q(e),t.focus()}),r.addEventListener(`submit`,t=>{t.preventDefault();let n=e.querySelector(`.site-search__result-link`);if(n){window.location.assign(n.href);return}h()}),window.document.addEventListener(`click`,t=>{e.contains(t.target)||Q(e)}),Q(e)};n({"chevron-down-outline":ft,close:pt,"logo-github":mt,"logo-linkedin":ht,"logo-twitter":gt,"logo-youtube":_t,"menu-outline":vt,"search-outline":yt,"time-outline":bt}),dt(),Ct(),Et(),Dt(),Ot(),kt(),(()=>{let e=window.document.querySelectorAll(At);e.length!==0&&e.forEach(Ht)})()})();
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imdhemy-jekyll-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mohamad Eldhemy
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2026-03-17 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: jekyll
@@ -80,7 +79,6 @@ dependencies:
80
79
  - - "~>"
81
80
  - !ruby/object:Gem::Version
82
81
  version: '1.4'
83
- description:
84
82
  email:
85
83
  - imdhemy@gmail.com
86
84
  executables:
@@ -141,7 +139,6 @@ homepage: https://imdhemy.com
141
139
  licenses:
142
140
  - MIT
143
141
  metadata: {}
144
- post_install_message:
145
142
  rdoc_options: []
146
143
  require_paths:
147
144
  - lib
@@ -156,8 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
153
  - !ruby/object:Gem::Version
157
154
  version: '0'
158
155
  requirements: []
159
- rubygems_version: 3.5.11
160
- signing_key:
156
+ rubygems_version: 4.0.3
161
157
  specification_version: 4
162
158
  summary: Jekyll blog theme with built-in SEO foundations.
163
159
  test_files: []