@devslab/site-kit 0.6.0 → 0.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.
@@ -364,14 +364,14 @@ var _tmpl$3$3 = [
364
364
  ">",
365
365
  "</option>"
366
366
  ];
367
- var _tmpl$4$2 = [
367
+ var _tmpl$4$3 = [
368
368
  "<details",
369
369
  " class=\"site-locale-flag\"><summary class=\"site-locale-flag__trigger\"",
370
370
  ">",
371
371
  "</summary><ul class=\"site-locale-flag__list\" role=\"list\">",
372
372
  "</ul></details>"
373
373
  ];
374
- var _tmpl$5$2 = [
374
+ var _tmpl$5$3 = [
375
375
  "<li",
376
376
  "><a class=\"site-locale-flag__option\"",
377
377
  "><!--$-->",
@@ -410,7 +410,7 @@ function FlagLocaleMenu(props) {
410
410
  const name = current()?.nativeName;
411
411
  return name ? `${props.messages.localeLabel}: ${name}` : props.messages.localeLabel;
412
412
  };
413
- return ssr(_tmpl$4$2, ssrHydrationKey(), ssrAttribute("aria-label", escape(triggerLabel(), true), false) + ssrAttribute("title", escape(props.messages.localeLabel, true), false), escape(createComponent(Flag, {
413
+ return ssr(_tmpl$4$3, ssrHydrationKey(), ssrAttribute("aria-label", escape(triggerLabel(), true), false) + ssrAttribute("title", escape(props.messages.localeLabel, true), false), escape(createComponent(Flag, {
414
414
  get locale() {
415
415
  return props.state.locale;
416
416
  },
@@ -422,7 +422,7 @@ function FlagLocaleMenu(props) {
422
422
  get each() {
423
423
  return registry().LOCALES;
424
424
  },
425
- children: (entry) => ssr(_tmpl$5$2, ssrHydrationKey(), ssrAttribute("href", escape(props.state.hrefForLocale(entry.code), true), false) + ssrAttribute("lang", escape(entry.code, true), false) + ssrAttribute("hreflang", escape(entry.code, true), false) + ssrAttribute("dir", escape(entry.dir, true), false) + ssrAttribute("aria-current", entry.code === props.state.locale ? "true" : escape(void 0, true), false), escape(createComponent(Flag, {
425
+ children: (entry) => ssr(_tmpl$5$3, ssrHydrationKey(), ssrAttribute("href", escape(props.state.hrefForLocale(entry.code), true), false) + ssrAttribute("lang", escape(entry.code, true), false) + ssrAttribute("hreflang", escape(entry.code, true), false) + ssrAttribute("dir", escape(entry.dir, true), false) + ssrAttribute("aria-current", entry.code === props.state.locale ? "true" : escape(void 0, true), false), escape(createComponent(Flag, {
426
426
  get locale() {
427
427
  return entry.code;
428
428
  },
@@ -462,10 +462,35 @@ var _tmpl$2$2 = [
462
462
  var _tmpl$3$2 = [
463
463
  "<footer",
464
464
  " class=\"site-footer\"",
465
- "><div class=\"site-footer__inner\"><strong>",
466
- "</strong><ul class=\"site-footer__links\">",
467
- "</ul><small>",
468
- "</small></div></footer>"
465
+ "><div class=\"site-footer__inner\"><!--$-->",
466
+ "<!--/--><div class=\"site-footer__row\"><p class=\"site-footer__brand\"><!--$-->",
467
+ "<!--/--><strong>",
468
+ "</strong><!--$-->",
469
+ "<!--/--></p><ul class=\"site-footer__links\"><!--$-->",
470
+ "<!--/--><li>",
471
+ "</li></ul></div></div></footer>"
472
+ ];
473
+ var _tmpl$4$2 = [
474
+ "<nav",
475
+ " class=\"site-footer__langs\"",
476
+ ">",
477
+ "</nav>"
478
+ ];
479
+ var _tmpl$5$2 = [
480
+ "<a",
481
+ ">",
482
+ "</a>"
483
+ ];
484
+ var _tmpl$6$2 = ["<span", " aria-hidden=\"true\">·</span>"];
485
+ var _tmpl$7$2 = [
486
+ "<bdi",
487
+ ">",
488
+ "</bdi>"
489
+ ];
490
+ var _tmpl$8$1 = [
491
+ "<a",
492
+ "><bdi>",
493
+ "</bdi></a>"
469
494
  ];
470
495
  function ThemeToggle(props) {
471
496
  const order = [
@@ -547,13 +572,50 @@ function SiteHeader(props) {
547
572
  return props.messages;
548
573
  } }))), escape(props.actions));
549
574
  }
575
+ /**
576
+ * The family footer: a language row, then the brand beside its family links,
577
+ * then the page's links and the copyright.
578
+ *
579
+ * Every product wrote this by hand. VisionLinq, BookLinq and TraceLinq each
580
+ * carried their own copy with a comment saying the kit's footer "takes only a
581
+ * flat link list; extending it is a dds release this page would then wait on" —
582
+ * three copies and three notes naming the same missing release. Their CSS had
583
+ * already converged byte-for-byte. This is that release.
584
+ *
585
+ * Additive: a caller that passes only brand/links/copyright/messages gets the
586
+ * same single row it got before, plus its brand mark if it set one.
587
+ */
550
588
  function SiteFooter(props) {
551
- return ssr(_tmpl$3$2, ssrHydrationKey(), ssrAttribute("aria-label", escape(props.messages.footerLabel, true), false), escape(props.brand.name), escape(createComponent(For, {
589
+ const registry = () => props.localeRegistry ?? FAMILY_LOCALES;
590
+ return ssr(_tmpl$3$2, ssrHydrationKey(), ssrAttribute("aria-label", escape(props.messages.footerLabel, true), false), escape(createComponent(Show, {
591
+ get when() {
592
+ return props.locale;
593
+ },
594
+ children: (locale) => ssr(_tmpl$4$2, ssrHydrationKey(), ssrAttribute("aria-label", escape(props.messages.localeLabel, true), false), escape(createComponent(For, {
595
+ get each() {
596
+ return registry().LOCALES;
597
+ },
598
+ children: (entry) => ssr(_tmpl$5$2, ssrHydrationKey() + ssrAttribute("href", escape(locale().hrefForLocale(entry.code), true), false) + ssrAttribute("hreflang", escape(entry.code, true), false) + ssrAttribute("lang", escape(entry.code, true), false) + ssrAttribute("dir", escape(entry.dir, true), false) + ssrAttribute("aria-current", entry.code === locale().locale ? "page" : escape(void 0, true), false), escape(entry.nativeName))
599
+ })))
600
+ })), escape(props.brand.logo), escape(props.brand.name), escape(createComponent(For, {
601
+ get each() {
602
+ return props.family ?? [];
603
+ },
604
+ children: (item) => [ssr(_tmpl$6$2, ssrHydrationKey()), ssr(_tmpl$5$2, ssrHydrationKey() + ssrAttribute("href", escape(item.href, true), false), escape(item.label))]
605
+ })), escape(createComponent(For, {
552
606
  get each() {
553
607
  return props.links;
554
608
  },
555
609
  children: (item) => ssr(_tmpl$2$2, ssrHydrationKey(), ssrAttribute("href", escape(item.href, true), false), escape(item.label))
556
- })), escape(props.copyright));
610
+ })), escape(createComponent(Show, {
611
+ get when() {
612
+ return props.copyrightHref;
613
+ },
614
+ get fallback() {
615
+ return ssr(_tmpl$7$2, ssrHydrationKey(), escape(props.copyright));
616
+ },
617
+ children: (href) => ssr(_tmpl$8$1, ssrHydrationKey() + ssrAttribute("href", escape(href(), true), false), escape(props.copyright))
618
+ })));
557
619
  }
558
620
  //#endregion
559
621
  //#region src/solid/layouts.tsx