@k2b/ui 0.46.0 → 0.48.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.
Files changed (103) hide show
  1. package/dist/browser/chat/ChatComposer.js +244 -193
  2. package/dist/browser/chat/ChatComposer.js.map +1 -1
  3. package/dist/browser/chat/ChatDecision.js +10 -6
  4. package/dist/browser/chat/ChatDecision.js.map +1 -1
  5. package/dist/browser/chat/chat-messages.js +6 -0
  6. package/dist/browser/chat/chat-messages.js.map +1 -1
  7. package/dist/browser/chat/types.js.map +1 -1
  8. package/dist/browser/content/Calendar.js +40 -5
  9. package/dist/browser/content/Calendar.js.map +1 -1
  10. package/dist/browser/content/VirtualFeed.js +26 -21
  11. package/dist/browser/content/VirtualFeed.js.map +1 -1
  12. package/dist/browser/content/calendar-event-detail.js +328 -0
  13. package/dist/browser/content/calendar-event-detail.js.map +1 -0
  14. package/dist/browser/content/calendar-messages.js +34 -2
  15. package/dist/browser/content/calendar-messages.js.map +1 -1
  16. package/dist/browser/content/calendar-shared.js +189 -82
  17. package/dist/browser/content/calendar-shared.js.map +1 -1
  18. package/dist/browser/content/calendar-time-view.js +101 -96
  19. package/dist/browser/content/calendar-time-view.js.map +1 -1
  20. package/dist/browser/content/index.js.map +1 -1
  21. package/dist/browser/inputs/Combobox.js +14 -6
  22. package/dist/browser/inputs/Combobox.js.map +1 -1
  23. package/dist/browser/inputs/dictation/Dictation.js +114 -108
  24. package/dist/browser/inputs/dictation/Dictation.js.map +1 -1
  25. package/dist/browser/inputs/dictation/dictation-messages.js +2 -0
  26. package/dist/browser/inputs/dictation/dictation-messages.js.map +1 -1
  27. package/dist/browser/layout/AnchoredPopover.js +2 -1
  28. package/dist/browser/layout/AnchoredPopover.js.map +1 -1
  29. package/dist/browser/layout/AppWorkspace.js +340 -440
  30. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  31. package/dist/browser/layout/AppWorkspaceSidebarItemStatus.js +113 -0
  32. package/dist/browser/layout/AppWorkspaceSidebarItemStatus.js.map +1 -0
  33. package/dist/browser/layout/DetailPanel.js +1 -1
  34. package/dist/browser/layout/DetailPanel.js.map +1 -1
  35. package/dist/browser/layout/DetailSections.js +236 -132
  36. package/dist/browser/layout/DetailSections.js.map +1 -1
  37. package/dist/browser/layout/MobileShell.js +30 -13
  38. package/dist/browser/layout/MobileShell.js.map +1 -1
  39. package/dist/browser/layout/detail-sections-messages.js +4 -0
  40. package/dist/browser/layout/detail-sections-messages.js.map +1 -1
  41. package/dist/browser/layout/index.js +1 -0
  42. package/dist/browser/layout/index.js.map +1 -1
  43. package/dist/ssr/chat/ChatComposer.js +53 -30
  44. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  45. package/dist/ssr/chat/ChatDecision.js +10 -6
  46. package/dist/ssr/chat/ChatDecision.js.map +1 -1
  47. package/dist/ssr/chat/chat-messages.js +6 -0
  48. package/dist/ssr/chat/chat-messages.js.map +1 -1
  49. package/dist/ssr/chat/types.js.map +1 -1
  50. package/dist/ssr/content/Calendar.js +36 -4
  51. package/dist/ssr/content/Calendar.js.map +1 -1
  52. package/dist/ssr/content/VirtualFeed.js +26 -21
  53. package/dist/ssr/content/VirtualFeed.js.map +1 -1
  54. package/dist/ssr/content/calendar-event-detail.js +212 -0
  55. package/dist/ssr/content/calendar-event-detail.js.map +1 -0
  56. package/dist/ssr/content/calendar-messages.js +34 -2
  57. package/dist/ssr/content/calendar-messages.js.map +1 -1
  58. package/dist/ssr/content/calendar-shared.js +117 -36
  59. package/dist/ssr/content/calendar-shared.js.map +1 -1
  60. package/dist/ssr/content/calendar-time-view.js +6 -4
  61. package/dist/ssr/content/calendar-time-view.js.map +1 -1
  62. package/dist/ssr/content/index.js.map +1 -1
  63. package/dist/ssr/inputs/Combobox.js +6 -3
  64. package/dist/ssr/inputs/Combobox.js.map +1 -1
  65. package/dist/ssr/inputs/dictation/Dictation.js +3 -1
  66. package/dist/ssr/inputs/dictation/Dictation.js.map +1 -1
  67. package/dist/ssr/inputs/dictation/dictation-messages.js +2 -0
  68. package/dist/ssr/inputs/dictation/dictation-messages.js.map +1 -1
  69. package/dist/ssr/layout/AnchoredPopover.js +2 -1
  70. package/dist/ssr/layout/AnchoredPopover.js.map +1 -1
  71. package/dist/ssr/layout/AppWorkspace.js +61 -127
  72. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  73. package/dist/ssr/layout/AppWorkspaceSidebarItemStatus.js +76 -0
  74. package/dist/ssr/layout/AppWorkspaceSidebarItemStatus.js.map +1 -0
  75. package/dist/ssr/layout/DetailPanel.js +1 -1
  76. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  77. package/dist/ssr/layout/DetailSections.js +126 -50
  78. package/dist/ssr/layout/DetailSections.js.map +1 -1
  79. package/dist/ssr/layout/MobileShell.js +16 -2
  80. package/dist/ssr/layout/MobileShell.js.map +1 -1
  81. package/dist/ssr/layout/detail-sections-messages.js +4 -0
  82. package/dist/ssr/layout/detail-sections-messages.js.map +1 -1
  83. package/dist/ssr/layout/index.js +1 -0
  84. package/dist/ssr/layout/index.js.map +1 -1
  85. package/dist/styles.css +1 -1
  86. package/dist/types/chat/ChatDecision.d.ts +5 -0
  87. package/dist/types/chat/chat-messages.d.ts +3 -0
  88. package/dist/types/chat/types.d.ts +5 -0
  89. package/dist/types/content/Calendar.d.ts +29 -5
  90. package/dist/types/content/calendar-event-detail.d.ts +21 -0
  91. package/dist/types/content/calendar-messages.d.ts +16 -0
  92. package/dist/types/content/calendar-shared.d.ts +16 -1
  93. package/dist/types/content/calendar-time-view.d.ts +1 -1
  94. package/dist/types/content/index.d.ts +1 -1
  95. package/dist/types/inputs/Combobox.d.ts +2 -0
  96. package/dist/types/inputs/dictation/dictation-messages.d.ts +1 -0
  97. package/dist/types/layout/AppWorkspace.d.ts +2 -28
  98. package/dist/types/layout/AppWorkspaceSidebarItemStatus.d.ts +30 -0
  99. package/dist/types/layout/DetailSections.d.ts +32 -2
  100. package/dist/types/layout/MobileShell.d.ts +12 -0
  101. package/dist/types/layout/detail-sections-messages.d.ts +2 -0
  102. package/dist/types/layout/index.d.ts +1 -0
  103. package/package.json +1 -1
@@ -37,17 +37,19 @@ var _tmpl$ = /*#__PURE__*/_$template(`<span class=k2b-detail-presence__face><!$>
37
37
  _tmpl$21 = /*#__PURE__*/_$template(`<span class=k2b-detail-row-skeleton>`),
38
38
  _tmpl$22 = /*#__PURE__*/_$template(`<i class="ti ti-settings"aria-hidden=true>`),
39
39
  _tmpl$23 = /*#__PURE__*/_$template(`<div class=k2b-detail-section-group><div class=k2b-detail-section-label></div><!$><!/><!$><!/>`),
40
- _tmpl$24 = /*#__PURE__*/_$template(`<div class=k2b-detail-section-rows><!$><!/><!$><!/>`),
41
- _tmpl$25 = /*#__PURE__*/_$template(`<dl class=k2b-detail-properties>`),
42
- _tmpl$26 = /*#__PURE__*/_$template(`<span class=k2b-detail-properties__leading>`),
43
- _tmpl$27 = /*#__PURE__*/_$template(`<div class=k2b-detail-properties__item><dt></dt><dd><!$><!/><!$><!/>`),
44
- _tmpl$28 = /*#__PURE__*/_$template(`<span class=k2b-detail-properties__value>`),
45
- _tmpl$29 = /*#__PURE__*/_$template(`<a class="k2b-detail-properties__value k2b-detail-properties__link">`),
46
- _tmpl$30 = /*#__PURE__*/_$template(`<ul class=k2b-detail-tags>`),
47
- _tmpl$31 = /*#__PURE__*/_$template(`<li>`),
48
- _tmpl$32 = /*#__PURE__*/_$template(`<span class=k2b-detail-tag>#<!$><!/>`),
49
- _tmpl$33 = /*#__PURE__*/_$template(`<a class=k2b-detail-tag>#<!$><!/>`);
50
- import { createMemo, createSignal, For, onCleanup, Show } from "solid-js";
40
+ _tmpl$24 = /*#__PURE__*/_$template(`<div class=k2b-detail-section-rows aria-busy=true><!$><!/><span class=k2b-sr-only role=status>`),
41
+ _tmpl$25 = /*#__PURE__*/_$template(`<div class=k2b-detail-section-rows><!$><!/><!$><!/><!$><!/><!$><!/>`),
42
+ _tmpl$26 = /*#__PURE__*/_$template(`<div class=k2b-detail-section-rows><!$><!/><!$><!/>`),
43
+ _tmpl$27 = /*#__PURE__*/_$template(`<dl class=k2b-detail-properties>`),
44
+ _tmpl$28 = /*#__PURE__*/_$template(`<span class=k2b-detail-properties__leading>`),
45
+ _tmpl$29 = /*#__PURE__*/_$template(`<div class=k2b-detail-properties__item><dt></dt><dd><!$><!/><!$><!/>`),
46
+ _tmpl$30 = /*#__PURE__*/_$template(`<span class=k2b-detail-properties__value>`),
47
+ _tmpl$31 = /*#__PURE__*/_$template(`<a class="k2b-detail-properties__value k2b-detail-properties__link">`),
48
+ _tmpl$32 = /*#__PURE__*/_$template(`<ul class=k2b-detail-tags>`),
49
+ _tmpl$33 = /*#__PURE__*/_$template(`<li>`),
50
+ _tmpl$34 = /*#__PURE__*/_$template(`<span class=k2b-detail-tag>#<!$><!/>`),
51
+ _tmpl$35 = /*#__PURE__*/_$template(`<a class=k2b-detail-tag>#<!$><!/>`);
52
+ import { children, createMemo, createSignal, For, onCleanup, Show } from "solid-js";
51
53
  import { Button } from "../actions/Button";
52
54
  import { Avatar } from "../surfaces/Avatar";
53
55
  import { AvatarStack } from "../surfaces/AvatarStack";
@@ -698,52 +700,71 @@ export function DetailAccess(props) {
698
700
 
699
701
  // ── Links ───────────────────────────────────────────────────────────────
700
702
 
703
+ const LinkRow = props => {
704
+ const item = props.item;
705
+ const menu = item.menuItems ? {
706
+ menuItems: item.menuItems,
707
+ menuLabel: item.menuLabel
708
+ } : {};
709
+ const shared = {
710
+ leading: item.leading ?? (() => {
711
+ var _el$69 = _$getNextElement(_tmpl$4);
712
+ _$effect(() => _$className(_el$69, item.icon ?? "ti ti-file-text"));
713
+ return _el$69;
714
+ })(),
715
+ title: item.title,
716
+ description: item.description,
717
+ trailing: item.trailing,
718
+ ...menu
719
+ };
720
+ return _$createComponent(Show, {
721
+ get when() {
722
+ return _$memo(() => !!!item.disabled)() && item.href;
723
+ },
724
+ get fallback() {
725
+ return _$createComponent(DetailPanel.Action, _$mergeProps({
726
+ type: "button",
727
+ get disabled() {
728
+ return item.disabled;
729
+ },
730
+ onClick: event => item.onClick?.(event)
731
+ }, shared));
732
+ },
733
+ children: href => _$createComponent(DetailPanel.Action, _$mergeProps({
734
+ get href() {
735
+ return href();
736
+ },
737
+ get target() {
738
+ return item.target;
739
+ },
740
+ get rel() {
741
+ return item.rel;
742
+ },
743
+ onClick: event => item.onClick?.(event)
744
+ }, shared))
745
+ });
746
+ };
701
747
  const LinkGroup = props => {
702
748
  const panel = useDetailPanelMessages();
703
749
  const [all, setAll] = createSignal(false);
704
750
  const hiddenCount = () => Math.max(0, props.items.length - props.limit);
705
751
  return (() => {
706
- var _el$69 = _$getNextElement(_tmpl$23),
707
- _el$70 = _el$69.firstChild,
708
- _el$71 = _el$70.nextSibling,
709
- [_el$72, _co$14] = _$getNextMarker(_el$71.nextSibling),
710
- _el$73 = _el$72.nextSibling,
711
- [_el$74, _co$15] = _$getNextMarker(_el$73.nextSibling);
712
- _$insert(_el$70, () => props.label);
713
- _$insert(_el$69, _$createComponent(For, {
752
+ var _el$70 = _$getNextElement(_tmpl$23),
753
+ _el$71 = _el$70.firstChild,
754
+ _el$72 = _el$71.nextSibling,
755
+ [_el$73, _co$14] = _$getNextMarker(_el$72.nextSibling),
756
+ _el$74 = _el$73.nextSibling,
757
+ [_el$75, _co$15] = _$getNextMarker(_el$74.nextSibling);
758
+ _$insert(_el$71, () => props.label);
759
+ _$insert(_el$70, _$createComponent(For, {
714
760
  get each() {
715
761
  return _$memo(() => !!all())() ? props.items : props.items.slice(0, props.limit);
716
762
  },
717
- children: item => {
718
- const shared = {
719
- leading: (() => {
720
- var _el$75 = _$getNextElement(_tmpl$4);
721
- _$effect(() => _$className(_el$75, item.icon ?? "ti ti-file-text"));
722
- return _el$75;
723
- })(),
724
- title: item.title,
725
- trailing: item.trailing
726
- };
727
- return _$createComponent(Show, {
728
- get when() {
729
- return item.href;
730
- },
731
- get fallback() {
732
- return _$createComponent(DetailPanel.Action, _$mergeProps({
733
- type: "button",
734
- onClick: event => item.onClick?.(event)
735
- }, shared));
736
- },
737
- children: href => _$createComponent(DetailPanel.Action, _$mergeProps({
738
- get href() {
739
- return href();
740
- },
741
- onClick: event => item.onClick?.(event)
742
- }, shared))
743
- });
744
- }
745
- }), _el$72, _co$14);
746
- _$insert(_el$69, _$createComponent(Show, {
763
+ children: item => _$createComponent(LinkRow, {
764
+ item: item
765
+ })
766
+ }), _el$73, _co$14);
767
+ _$insert(_el$70, _$createComponent(Show, {
747
768
  get when() {
748
769
  return hiddenCount() > 0;
749
770
  },
@@ -768,23 +789,79 @@ const LinkGroup = props => {
768
789
  onClick: () => setAll(!all())
769
790
  });
770
791
  }
771
- }), _el$74, _co$15);
772
- return _el$69;
792
+ }), _el$75, _co$15);
793
+ return _el$70;
773
794
  })();
774
795
  };
775
796
 
776
- /** "Linked from" and "Links to" in one section. Without links it is one row: the title and "None yet". */
797
+ /**
798
+ * "Linked from" and "Links to" in one section. Without links it is one row: the title and "None yet", followed by the
799
+ * `footer` when there is one.
800
+ */
777
801
  export function DetailLinks(props) {
778
802
  const t = useDetailSectionMessages();
779
803
  const limit = () => Math.max(1, props.limit ?? 5);
804
+ const state = () => props.state ?? "ready";
780
805
  const total = () => props.incoming.length + props.outgoing.length;
806
+ // Resolve once: the empty state reads it as a condition and as content.
807
+ const footer = children(() => props.footer);
781
808
  const summary = () => {
809
+ if (state() === "loading") return t().linksLoading;
810
+ if (state() === "error") return t().linksFailed;
782
811
  const names = items => ({
783
812
  names: listNames(items.slice(0, 2).map(item => item.title), t().and),
784
813
  more: Math.max(0, items.length - 2)
785
814
  });
786
815
  return props.incoming.length ? t().linkedBySummary(names(props.incoming)) : t().linksToSummary(names(props.outgoing));
787
816
  };
817
+ // Loading and failure take the row the next links would take, so the loaded rows above never move.
818
+ const pending = () => [_$createComponent(Show, {
819
+ get when() {
820
+ return state() === "loading";
821
+ },
822
+ get children() {
823
+ var _el$77 = _$getNextElement(_tmpl$24),
824
+ _el$79 = _el$77.firstChild,
825
+ [_el$80, _co$16] = _$getNextMarker(_el$79.nextSibling),
826
+ _el$78 = _el$80.nextSibling;
827
+ _$insert(_el$77, _$createComponent(DetailPanel.Row, {
828
+ get leading() {
829
+ return _$getNextElement(_tmpl$20);
830
+ },
831
+ get title() {
832
+ return _$getNextElement(_tmpl$21);
833
+ }
834
+ }), _el$80, _co$16);
835
+ _$insert(_el$78, () => t().linksLoading);
836
+ return _el$77;
837
+ }
838
+ }), _$createComponent(Show, {
839
+ get when() {
840
+ return state() === "error";
841
+ },
842
+ get children() {
843
+ var _el$81 = _$getNextElement(_tmpl$17),
844
+ _el$82 = _el$81.firstChild,
845
+ _el$83 = _el$82.nextSibling,
846
+ _el$84 = _el$83.nextSibling,
847
+ [_el$85, _co$17] = _$getNextMarker(_el$84.nextSibling);
848
+ _$insert(_el$83, () => t().linksFailed);
849
+ _$insert(_el$81, _$createComponent(Show, {
850
+ get when() {
851
+ return props.onRetry;
852
+ },
853
+ children: retry => _$createComponent(Button, {
854
+ variant: "text",
855
+ size: "xs",
856
+ onClick: () => retry()(),
857
+ get children() {
858
+ return t().retry;
859
+ }
860
+ })
861
+ }), _el$85, _co$17);
862
+ return _el$81;
863
+ }
864
+ })];
788
865
  return _$createComponent(Show, {
789
866
  get when() {
790
867
  return total() > 0;
@@ -795,9 +872,28 @@ export function DetailLinks(props) {
795
872
  return props.title ?? t().links;
796
873
  },
797
874
  icon: "ti ti-arrows-exchange",
798
- count: 0,
875
+ get count() {
876
+ return state() === "ready" ? 0 : undefined;
877
+ },
799
878
  get ["class"]() {
800
879
  return props.class;
880
+ },
881
+ get children() {
882
+ return _$createComponent(Show, {
883
+ get when() {
884
+ return state() !== "ready" || footer();
885
+ },
886
+ get children() {
887
+ var _el$97 = _$getNextElement(_tmpl$26),
888
+ _el$98 = _el$97.firstChild,
889
+ [_el$99, _co$22] = _$getNextMarker(_el$98.nextSibling),
890
+ _el$100 = _el$99.nextSibling,
891
+ [_el$101, _co$23] = _$getNextMarker(_el$100.nextSibling);
892
+ _$insert(_el$97, pending, _el$99, _co$22);
893
+ _$insert(_el$97, footer, _el$101, _co$23);
894
+ return _el$97;
895
+ }
896
+ });
801
897
  }
802
898
  });
803
899
  },
@@ -808,7 +904,7 @@ export function DetailLinks(props) {
808
904
  },
809
905
  icon: "ti ti-arrows-exchange",
810
906
  get count() {
811
- return total();
907
+ return _$memo(() => state() === "ready")() ? total() : undefined;
812
908
  },
813
909
  collapsible: true,
814
910
  get defaultOpen() {
@@ -821,12 +917,16 @@ export function DetailLinks(props) {
821
917
  return props.class;
822
918
  },
823
919
  get children() {
824
- var _el$77 = _$getNextElement(_tmpl$24),
825
- _el$78 = _el$77.firstChild,
826
- [_el$79, _co$16] = _$getNextMarker(_el$78.nextSibling),
827
- _el$80 = _el$79.nextSibling,
828
- [_el$81, _co$17] = _$getNextMarker(_el$80.nextSibling);
829
- _$insert(_el$77, _$createComponent(Show, {
920
+ var _el$88 = _$getNextElement(_tmpl$25),
921
+ _el$89 = _el$88.firstChild,
922
+ [_el$90, _co$18] = _$getNextMarker(_el$89.nextSibling),
923
+ _el$91 = _el$90.nextSibling,
924
+ [_el$92, _co$19] = _$getNextMarker(_el$91.nextSibling),
925
+ _el$93 = _el$92.nextSibling,
926
+ [_el$94, _co$20] = _$getNextMarker(_el$93.nextSibling),
927
+ _el$95 = _el$94.nextSibling,
928
+ [_el$96, _co$21] = _$getNextMarker(_el$95.nextSibling);
929
+ _$insert(_el$88, _$createComponent(Show, {
830
930
  get when() {
831
931
  return props.incoming.length > 0;
832
932
  },
@@ -845,8 +945,8 @@ export function DetailLinks(props) {
845
945
  }
846
946
  });
847
947
  }
848
- }), _el$79, _co$16);
849
- _$insert(_el$77, _$createComponent(Show, {
948
+ }), _el$90, _co$18);
949
+ _$insert(_el$88, _$createComponent(Show, {
850
950
  get when() {
851
951
  return props.outgoing.length > 0;
852
952
  },
@@ -865,8 +965,10 @@ export function DetailLinks(props) {
865
965
  }
866
966
  });
867
967
  }
868
- }), _el$81, _co$17);
869
- return _el$77;
968
+ }), _el$92, _co$19);
969
+ _$insert(_el$88, pending, _el$94, _co$20);
970
+ _$insert(_el$88, footer, _el$96, _co$21);
971
+ return _el$88;
870
972
  }
871
973
  });
872
974
  }
@@ -896,52 +998,54 @@ export function DetailProperties(props) {
896
998
  return props.class;
897
999
  },
898
1000
  get children() {
899
- var _el$82 = _$getNextElement(_tmpl$25);
900
- _$insert(_el$82, _$createComponent(For, {
901
- get each() {
902
- return props.items;
903
- },
904
- children: item => (() => {
905
- var _el$83 = _$getNextElement(_tmpl$27),
906
- _el$84 = _el$83.firstChild,
907
- _el$85 = _el$84.nextSibling,
908
- _el$87 = _el$85.firstChild,
909
- [_el$88, _co$18] = _$getNextMarker(_el$87.nextSibling),
910
- _el$89 = _el$88.nextSibling,
911
- [_el$90, _co$19] = _$getNextMarker(_el$89.nextSibling);
912
- _$insert(_el$84, () => item.label);
913
- _$insert(_el$85, _$createComponent(Show, {
914
- get when() {
915
- return item.leading;
916
- },
917
- get children() {
918
- var _el$86 = _$getNextElement(_tmpl$26);
919
- _$insert(_el$86, () => item.leading);
920
- return _el$86;
921
- }
922
- }), _el$88, _co$18);
923
- _$insert(_el$85, _$createComponent(Show, {
924
- get when() {
925
- return item.href;
926
- },
927
- get fallback() {
928
- return (() => {
929
- var _el$91 = _$getNextElement(_tmpl$28);
930
- _$insert(_el$91, () => item.value);
931
- return _el$91;
932
- })();
933
- },
934
- children: href => (() => {
935
- var _el$92 = _$getNextElement(_tmpl$29);
936
- _$insert(_el$92, () => item.value);
937
- _$effect(() => _$setAttribute(_el$92, "href", href()));
938
- return _el$92;
939
- })()
940
- }), _el$90, _co$19);
941
- return _el$83;
942
- })()
943
- }));
944
- return _el$82;
1001
+ return [(() => {
1002
+ var _el$102 = _$getNextElement(_tmpl$27);
1003
+ _$insert(_el$102, _$createComponent(For, {
1004
+ get each() {
1005
+ return props.items;
1006
+ },
1007
+ children: item => (() => {
1008
+ var _el$103 = _$getNextElement(_tmpl$29),
1009
+ _el$104 = _el$103.firstChild,
1010
+ _el$105 = _el$104.nextSibling,
1011
+ _el$107 = _el$105.firstChild,
1012
+ [_el$108, _co$24] = _$getNextMarker(_el$107.nextSibling),
1013
+ _el$109 = _el$108.nextSibling,
1014
+ [_el$110, _co$25] = _$getNextMarker(_el$109.nextSibling);
1015
+ _$insert(_el$104, () => item.label);
1016
+ _$insert(_el$105, _$createComponent(Show, {
1017
+ get when() {
1018
+ return item.leading;
1019
+ },
1020
+ get children() {
1021
+ var _el$106 = _$getNextElement(_tmpl$28);
1022
+ _$insert(_el$106, () => item.leading);
1023
+ return _el$106;
1024
+ }
1025
+ }), _el$108, _co$24);
1026
+ _$insert(_el$105, _$createComponent(Show, {
1027
+ get when() {
1028
+ return item.href;
1029
+ },
1030
+ get fallback() {
1031
+ return (() => {
1032
+ var _el$111 = _$getNextElement(_tmpl$30);
1033
+ _$insert(_el$111, () => item.value);
1034
+ return _el$111;
1035
+ })();
1036
+ },
1037
+ children: href => (() => {
1038
+ var _el$112 = _$getNextElement(_tmpl$31);
1039
+ _$insert(_el$112, () => item.value);
1040
+ _$effect(() => _$setAttribute(_el$112, "href", href()));
1041
+ return _el$112;
1042
+ })()
1043
+ }), _el$110, _co$25);
1044
+ return _el$103;
1045
+ })()
1046
+ }));
1047
+ return _el$102;
1048
+ })(), _$memo(() => props.children)];
945
1049
  }
946
1050
  });
947
1051
  }
@@ -969,47 +1073,47 @@ export function DetailTags(props) {
969
1073
  },
970
1074
  get fallback() {
971
1075
  return _$memo(() => !!props.emptyHint)() ? (() => {
972
- var _el$94 = _$getNextElement(_tmpl$18);
973
- _$insert(_el$94, () => props.emptyHint);
974
- return _el$94;
1076
+ var _el$114 = _$getNextElement(_tmpl$18);
1077
+ _$insert(_el$114, () => props.emptyHint);
1078
+ return _el$114;
975
1079
  })() : undefined;
976
1080
  },
977
1081
  get children() {
978
- var _el$93 = _$getNextElement(_tmpl$30);
979
- _$insert(_el$93, _$createComponent(For, {
1082
+ var _el$113 = _$getNextElement(_tmpl$32);
1083
+ _$insert(_el$113, _$createComponent(For, {
980
1084
  get each() {
981
1085
  return props.tags;
982
1086
  },
983
1087
  children: tag => (() => {
984
- var _el$95 = _$getNextElement(_tmpl$31);
985
- _$insert(_el$95, _$createComponent(Show, {
1088
+ var _el$115 = _$getNextElement(_tmpl$33);
1089
+ _$insert(_el$115, _$createComponent(Show, {
986
1090
  get when() {
987
1091
  return tag.href;
988
1092
  },
989
1093
  get fallback() {
990
1094
  return (() => {
991
- var _el$96 = _$getNextElement(_tmpl$32),
992
- _el$97 = _el$96.firstChild,
993
- _el$98 = _el$97.nextSibling,
994
- [_el$99, _co$20] = _$getNextMarker(_el$98.nextSibling);
995
- _$insert(_el$96, () => tag.label, _el$99, _co$20);
996
- return _el$96;
1095
+ var _el$116 = _$getNextElement(_tmpl$34),
1096
+ _el$117 = _el$116.firstChild,
1097
+ _el$118 = _el$117.nextSibling,
1098
+ [_el$119, _co$26] = _$getNextMarker(_el$118.nextSibling);
1099
+ _$insert(_el$116, () => tag.label, _el$119, _co$26);
1100
+ return _el$116;
997
1101
  })();
998
1102
  },
999
1103
  children: href => (() => {
1000
- var _el$100 = _$getNextElement(_tmpl$33),
1001
- _el$101 = _el$100.firstChild,
1002
- _el$102 = _el$101.nextSibling,
1003
- [_el$103, _co$21] = _$getNextMarker(_el$102.nextSibling);
1004
- _$insert(_el$100, () => tag.label, _el$103, _co$21);
1005
- _$effect(() => _$setAttribute(_el$100, "href", href()));
1006
- return _el$100;
1104
+ var _el$120 = _$getNextElement(_tmpl$35),
1105
+ _el$121 = _el$120.firstChild,
1106
+ _el$122 = _el$121.nextSibling,
1107
+ [_el$123, _co$27] = _$getNextMarker(_el$122.nextSibling);
1108
+ _$insert(_el$120, () => tag.label, _el$123, _co$27);
1109
+ _$effect(() => _$setAttribute(_el$120, "href", href()));
1110
+ return _el$120;
1007
1111
  })()
1008
1112
  }));
1009
- return _el$95;
1113
+ return _el$115;
1010
1114
  })()
1011
1115
  }));
1012
- return _el$93;
1116
+ return _el$113;
1013
1117
  }
1014
1118
  });
1015
1119
  }