@squadbase/vantage 0.6.2-dev1.a7c4a3e → 0.6.2-dev1.b28a4df
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/add-4GHF2TX2.js +6 -0
- package/dist/add-4GHF2TX2.js.map +1 -0
- package/dist/{build-JB4VOMUI.js → build-X5NVCQKT.js} +9 -9
- package/dist/{build-JB4VOMUI.js.map → build-X5NVCQKT.js.map} +1 -1
- package/dist/{check-ZJYK6RLG.js → check-ZBIH422T.js} +7 -7
- package/dist/{check-ZJYK6RLG.js.map → check-ZBIH422T.js.map} +1 -1
- package/dist/chunk-2ICNHUG6.js +1820 -0
- package/dist/chunk-2ICNHUG6.js.map +1 -0
- package/dist/{chunk-5ZOP4SQR.js → chunk-2N72FKLB.js} +12 -7
- package/dist/chunk-2N72FKLB.js.map +1 -0
- package/dist/{chunk-BCE22JSM.js → chunk-7DZGJQ3P.js} +33 -14
- package/dist/chunk-7DZGJQ3P.js.map +1 -0
- package/dist/{chunk-U2M6HGKQ.js → chunk-AABMKHEU.js} +4 -4
- package/dist/{chunk-U2M6HGKQ.js.map → chunk-AABMKHEU.js.map} +1 -1
- package/dist/{chunk-KLEIVDUV.js → chunk-CEXAQQ5W.js} +150 -11
- package/dist/chunk-CEXAQQ5W.js.map +1 -0
- package/dist/{chunk-QI3XQKHS.js → chunk-GNXCX4WE.js} +10 -3
- package/dist/chunk-GNXCX4WE.js.map +1 -0
- package/dist/{chunk-JGRMRXXZ.js → chunk-JKLLFVEU.js} +3 -3
- package/dist/{chunk-JGRMRXXZ.js.map → chunk-JKLLFVEU.js.map} +1 -1
- package/dist/{chunk-PXRX5PEC.js → chunk-PDOBHMUQ.js} +3 -3
- package/dist/chunk-PDOBHMUQ.js.map +1 -0
- package/dist/{chunk-ZVANIULZ.js → chunk-RNTDBX6S.js} +4 -4
- package/dist/{chunk-ZVANIULZ.js.map → chunk-RNTDBX6S.js.map} +1 -1
- package/dist/{chunk-A2UUGASH.js → chunk-U736PVHY.js} +2 -2
- package/dist/chunk-U736PVHY.js.map +1 -0
- package/dist/chunk-UNCSBSO4.js +7866 -0
- package/dist/chunk-UNCSBSO4.js.map +1 -0
- package/dist/{chunk-PVTHHV7X.js → chunk-V3LF7BE7.js} +27 -5
- package/dist/chunk-V3LF7BE7.js.map +1 -0
- package/dist/{chunk-EP6JHXSR.js → chunk-WAMZWZJB.js} +54 -9
- package/dist/chunk-WAMZWZJB.js.map +1 -0
- package/dist/{chunk-RPZAALCX.js → chunk-XPQSTZUU.js} +254 -164
- package/dist/chunk-XPQSTZUU.js.map +1 -0
- package/dist/{chunk-DTDVSFRY.js → chunk-XQUSGIDG.js} +17 -3
- package/dist/chunk-XQUSGIDG.js.map +1 -0
- package/dist/cli.js +12 -11
- package/dist/cli.js.map +1 -1
- package/dist/client/index.d.ts +32 -3
- package/dist/client/index.js +205 -12
- package/dist/client/index.js.map +1 -1
- package/dist/components/index.d.ts +1975 -28
- package/dist/components/index.js +4 -4
- package/dist/{dev-FCEC3UKQ.js → dev-4XEDTELV.js} +10 -10
- package/dist/dev-4XEDTELV.js.map +1 -0
- package/dist/doc/index.js +2 -2
- package/dist/doc/index.js.map +1 -1
- package/dist/{docs-EJJ3BECT.js → docs-JVP4RPKT.js} +3 -3
- package/dist/{docs-EJJ3BECT.js.map → docs-JVP4RPKT.js.map} +1 -1
- package/dist/{doctor-WHZXPERA.js → doctor-5E2VEZPK.js} +7 -7
- package/dist/{doctor-WHZXPERA.js.map → doctor-5E2VEZPK.js.map} +1 -1
- package/dist/markdown/index.js +1 -1
- package/dist/markdown/index.js.map +1 -1
- package/dist/{preview-OGMCNQUO.js → preview-T6CLSQVX.js} +3 -3
- package/dist/{preview-OGMCNQUO.js.map → preview-T6CLSQVX.js.map} +1 -1
- package/dist/query/index.d.ts +0 -11
- package/dist/query/index.js +2 -2
- package/dist/{routes-GTFO5PUF.js → routes-3SGAFDMC.js} +6 -6
- package/dist/{routes-GTFO5PUF.js.map → routes-3SGAFDMC.js.map} +1 -1
- package/dist/{search-6Y422SV6.js → search-5LC4XPB5.js} +3 -3
- package/dist/{search-6Y422SV6.js.map → search-5LC4XPB5.js.map} +1 -1
- package/dist/slide/index.js +49 -12
- package/dist/slide/index.js.map +1 -1
- package/dist/table/index.js +11 -10
- package/dist/table/index.js.map +1 -1
- package/dist/ui/index.d.ts +144 -11
- package/dist/ui/index.js +1339 -87
- package/dist/ui/index.js.map +1 -1
- package/dist/{upgrade-AL4KZZR4.js → upgrade-JHXZBGQS.js} +7 -7
- package/dist/{upgrade-AL4KZZR4.js.map → upgrade-JHXZBGQS.js.map} +1 -1
- package/dist/vite/index.d.ts +10 -0
- package/dist/vite/index.js +4 -4
- package/docs/en/components.md +29 -15
- package/docs/en/parts/data-table.md +22 -0
- package/docs/en/parts/delta.md +50 -0
- package/docs/en/parts/format.md +43 -0
- package/docs/en/parts/kpi-card.md +57 -0
- package/docs/en/parts/metric-value.md +3 -2
- package/docs/en/parts/sparkline.md +1 -1
- package/docs/en/parts/trend-indicator.md +17 -1
- package/docs/en/ui-and-theming.md +1 -1
- package/docs/index.json +366 -76
- package/docs/ja/changelog.md +31 -0
- package/docs/ja/components.md +57 -101
- package/docs/ja/page-types/csv.md +83 -0
- package/docs/ja/page-types/doc.md +83 -0
- package/docs/ja/page-types/excel.md +82 -0
- package/docs/ja/page-types/slide.md +132 -0
- package/docs/ja/page-types.md +47 -0
- package/docs/ja/parts/area-chart.md +61 -0
- package/docs/ja/parts/bar-chart.md +69 -0
- package/docs/ja/parts/bar-list.md +35 -0
- package/docs/ja/parts/category-bar.md +36 -0
- package/docs/ja/parts/data-table.md +22 -0
- package/docs/ja/parts/delta.md +50 -0
- package/docs/ja/parts/donut-chart.md +47 -0
- package/docs/ja/parts/echart.md +3 -0
- package/docs/ja/parts/format.md +44 -0
- package/docs/ja/parts/kpi-card.md +55 -0
- package/docs/ja/parts/line-chart.md +58 -0
- package/docs/ja/parts/metric-value.md +3 -2
- package/docs/ja/parts/progress-circle.md +34 -0
- package/docs/ja/parts/sparkline.md +2 -2
- package/docs/ja/parts/tracker.md +32 -0
- package/docs/ja/parts/trend-indicator.md +17 -1
- package/docs/ja/routing.md +8 -86
- package/docs/ja/ui/alert-dialog.md +41 -0
- package/docs/ja/ui/avatar.md +31 -0
- package/docs/ja/ui/combobox.md +74 -0
- package/docs/ja/ui/drawer.md +41 -0
- package/docs/ja/ui/field.md +42 -0
- package/docs/ja/ui/hover-card.md +21 -0
- package/docs/ja/ui/kbd.md +16 -0
- package/docs/ja/ui/pagination.md +36 -0
- package/docs/ja/ui/radio-group.md +21 -0
- package/docs/ja/ui/toast.md +46 -0
- package/docs/ja/ui-and-theming.md +14 -7
- package/package.json +43 -29
- package/registry/ui/accordion.tsx +76 -0
- package/registry/ui/alert-dialog.tsx +189 -0
- package/registry/ui/alert.tsx +80 -0
- package/registry/ui/app-shell.tsx +287 -0
- package/registry/ui/area-chart.tsx +3639 -0
- package/registry/ui/avatar.tsx +110 -0
- package/registry/ui/badge.tsx +56 -0
- package/registry/ui/bar-chart.tsx +3636 -0
- package/registry/ui/bar-list.tsx +3680 -0
- package/registry/ui/breadcrumb.tsx +128 -0
- package/registry/ui/button.tsx +62 -0
- package/registry/ui/calendar.tsx +223 -0
- package/registry/ui/card.tsx +107 -0
- package/registry/ui/category-bar.tsx +1255 -0
- package/registry/ui/chart-frame.tsx +1358 -0
- package/registry/ui/checkbox.tsx +30 -0
- package/registry/ui/collapsible.tsx +23 -0
- package/registry/ui/combobox.tsx +310 -0
- package/registry/ui/command.tsx +198 -0
- package/registry/ui/dashboard-card.tsx +217 -0
- package/registry/ui/data-table.tsx +693 -146
- package/registry/ui/date-range-picker.tsx +390 -0
- package/registry/ui/delta.tsx +188 -0
- package/registry/ui/dialog.tsx +161 -0
- package/registry/ui/donut-chart.tsx +3688 -0
- package/registry/ui/drawer.tsx +229 -0
- package/registry/ui/dropdown-menu.tsx +274 -0
- package/registry/ui/echart.tsx +890 -0
- package/registry/ui/field.tsx +240 -0
- package/registry/ui/filter-bar.tsx +392 -0
- package/registry/ui/funnel-steps.tsx +3541 -0
- package/registry/ui/heatmap.tsx +1752 -0
- package/registry/ui/hover-card.tsx +52 -0
- package/registry/ui/input-group.tsx +160 -0
- package/registry/ui/input.tsx +24 -0
- package/registry/ui/kbd.tsx +30 -0
- package/registry/ui/kpi-card.tsx +677 -0
- package/registry/ui/label.tsx +22 -0
- package/registry/ui/legend.tsx +3500 -0
- package/registry/ui/line-chart.tsx +3637 -0
- package/registry/ui/metric-value.tsx +62 -0
- package/registry/ui/multi-select.tsx +232 -0
- package/registry/ui/page-shell.tsx +282 -0
- package/registry/ui/pagination.tsx +140 -0
- package/registry/ui/placeholder.tsx +36 -0
- package/registry/ui/popover.tsx +92 -0
- package/registry/ui/progress-circle.tsx +867 -0
- package/registry/ui/progress.tsx +85 -0
- package/registry/ui/radio-group.tsx +39 -0
- package/registry/ui/sample-data.tsx +86 -0
- package/registry/ui/scatter-chart.tsx +4150 -0
- package/registry/ui/scroll-area.tsx +56 -0
- package/registry/ui/searchable-select.tsx +214 -0
- package/registry/ui/section-header.tsx +43 -0
- package/registry/ui/segmented-control.tsx +76 -0
- package/registry/ui/select.tsx +255 -0
- package/registry/ui/separator.tsx +27 -0
- package/registry/ui/sheet.tsx +139 -0
- package/registry/ui/sidebar.tsx +725 -0
- package/registry/ui/skeleton.tsx +17 -0
- package/registry/ui/slider.tsx +56 -0
- package/registry/ui/sparkline.tsx +230 -0
- package/registry/ui/spinner.tsx +14 -0
- package/registry/ui/states.tsx +90 -0
- package/registry/ui/status-badge.tsx +121 -0
- package/registry/ui/switch.tsx +34 -0
- package/registry/ui/table.tsx +118 -0
- package/registry/ui/tabs.tsx +84 -0
- package/registry/ui/textarea.tsx +22 -0
- package/registry/ui/toast.tsx +250 -0
- package/registry/ui/toggle-group.tsx +91 -0
- package/registry/ui/toggle.tsx +47 -0
- package/registry/ui/tooltip.tsx +68 -0
- package/registry/ui/tracker.tsx +843 -0
- package/registry/ui/trend-indicator.tsx +74 -0
- package/registry/ui/updated-at.tsx +122 -0
- package/registry/ui/waterfall-chart.tsx +4186 -0
- package/skills/vantage-add-feature/SKILL.md +9 -7
- package/skills/vantage-design/SKILL.md +12 -2
- package/skills/vantage-design/references/format.md +1 -1
- package/skills/vantage-pitfalls/SKILL.md +5 -1
- package/skills/vantage-slide/SKILL.md +17 -0
- package/templates/AGENTS.md +22 -1
- package/templates/agents/api.md +29 -0
- package/templates/agents/csv.md +2 -1
- package/templates/agents/doc.md +4 -3
- package/templates/agents/page.md +32 -8
- package/templates/agents/slide.md +13 -1
- package/templates/agents/xlsx.md +2 -1
- package/theme.css +241 -130
- package/dist/add-DY4AXANK.js +0 -6
- package/dist/add-DY4AXANK.js.map +0 -1
- package/dist/chunk-5ZOP4SQR.js.map +0 -1
- package/dist/chunk-A2UUGASH.js.map +0 -1
- package/dist/chunk-BCE22JSM.js.map +0 -1
- package/dist/chunk-DTDVSFRY.js.map +0 -1
- package/dist/chunk-EP6JHXSR.js.map +0 -1
- package/dist/chunk-KLEIVDUV.js.map +0 -1
- package/dist/chunk-MP3QSOXL.js +0 -2232
- package/dist/chunk-MP3QSOXL.js.map +0 -1
- package/dist/chunk-PVTHHV7X.js.map +0 -1
- package/dist/chunk-PXRX5PEC.js.map +0 -1
- package/dist/chunk-QI3XQKHS.js.map +0 -1
- package/dist/chunk-RPZAALCX.js.map +0 -1
- package/dist/chunk-T3FLAGI6.js +0 -316
- package/dist/chunk-T3FLAGI6.js.map +0 -1
- package/dist/dev-FCEC3UKQ.js.map +0 -1
package/dist/slide/index.js
CHANGED
|
@@ -380,6 +380,41 @@ function isForwardKey(e) {
|
|
|
380
380
|
function isBackwardKey(e) {
|
|
381
381
|
return e.key === "ArrowLeft" || e.key === "ArrowUp" || e.key === "PageUp";
|
|
382
382
|
}
|
|
383
|
+
|
|
384
|
+
// src/slide/messages.ts
|
|
385
|
+
var MESSAGES_JA = {
|
|
386
|
+
previousSlide: "\u524D\u306E\u30B9\u30E9\u30A4\u30C9",
|
|
387
|
+
nextSlide: "\u6B21\u306E\u30B9\u30E9\u30A4\u30C9",
|
|
388
|
+
slideList: "\u30B9\u30E9\u30A4\u30C9\u4E00\u89A7",
|
|
389
|
+
closeSlideList: "\u30B9\u30E9\u30A4\u30C9\u4E00\u89A7\u3092\u9589\u3058\u308B (L)",
|
|
390
|
+
openSlideList: "\u30B9\u30E9\u30A4\u30C9\u4E00\u89A7\u3092\u958B\u304F (L)",
|
|
391
|
+
fullscreen: "\u5168\u753B\u9762\u8868\u793A (F)",
|
|
392
|
+
exitFullscreen: "\u5168\u753B\u9762\u8868\u793A\u3092\u7D42\u4E86 (F)",
|
|
393
|
+
exportToPowerPoint: "PowerPoint \u3068\u3057\u3066\u66F8\u304D\u51FA\u3059",
|
|
394
|
+
slideNumber: (n) => `\u30B9\u30E9\u30A4\u30C9 ${n}`
|
|
395
|
+
};
|
|
396
|
+
var MESSAGES_EN = {
|
|
397
|
+
previousSlide: "Previous slide",
|
|
398
|
+
nextSlide: "Next slide",
|
|
399
|
+
slideList: "Slide list",
|
|
400
|
+
closeSlideList: "Close slide list (L)",
|
|
401
|
+
openSlideList: "Open slide list (L)",
|
|
402
|
+
fullscreen: "Fullscreen (F)",
|
|
403
|
+
exitFullscreen: "Exit fullscreen (F)",
|
|
404
|
+
exportToPowerPoint: "Export to PowerPoint",
|
|
405
|
+
slideNumber: (n) => `Slide ${n}`
|
|
406
|
+
};
|
|
407
|
+
function detectLanguage() {
|
|
408
|
+
if (typeof document === "undefined") return "ja";
|
|
409
|
+
const lang = document.documentElement.lang;
|
|
410
|
+
if (!lang) return "ja";
|
|
411
|
+
if (lang.toLowerCase().startsWith("en")) return "en";
|
|
412
|
+
return "ja";
|
|
413
|
+
}
|
|
414
|
+
function getSlideMessages() {
|
|
415
|
+
const lang = detectLanguage();
|
|
416
|
+
return lang === "en" ? MESSAGES_EN : MESSAGES_JA;
|
|
417
|
+
}
|
|
383
418
|
var THUMB_WIDTH = 176;
|
|
384
419
|
var THUMB_HEIGHT = Math.round(THUMB_WIDTH * CANVAS_HEIGHT / CANVAS_WIDTH);
|
|
385
420
|
var NUMBER_COLUMN = 20;
|
|
@@ -400,6 +435,7 @@ var ITEM_BUTTON = {
|
|
|
400
435
|
};
|
|
401
436
|
function SlideRail({ slides, index, onSelect, themeVars }) {
|
|
402
437
|
const listRef = useRef(null);
|
|
438
|
+
const messages = useMemo(() => getSlideMessages(), []);
|
|
403
439
|
useEffect(() => {
|
|
404
440
|
const item = listRef.current?.children[index];
|
|
405
441
|
item?.scrollIntoView({ block: "nearest" });
|
|
@@ -408,7 +444,7 @@ function SlideRail({ slides, index, onSelect, themeVars }) {
|
|
|
408
444
|
"div",
|
|
409
445
|
{
|
|
410
446
|
"data-slide-chrome": "",
|
|
411
|
-
"aria-label":
|
|
447
|
+
"aria-label": messages.slideList,
|
|
412
448
|
style: {
|
|
413
449
|
flex: "0 0 auto",
|
|
414
450
|
width: RAIL_WIDTH,
|
|
@@ -418,7 +454,7 @@ function SlideRail({ slides, index, onSelect, themeVars }) {
|
|
|
418
454
|
background: "color-mix(in oklab, var(--slide-fg) 6%, var(--slide-bg))",
|
|
419
455
|
color: "var(--slide-fg)",
|
|
420
456
|
borderRight: "1px solid color-mix(in oklab, var(--slide-fg) 14%, transparent)",
|
|
421
|
-
fontFamily: '
|
|
457
|
+
fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, system-ui, sans-serif',
|
|
422
458
|
userSelect: "none",
|
|
423
459
|
// An embedded deck does not put the theme on its root, so the rail
|
|
424
460
|
// carries it too rather than reading whatever cascaded in.
|
|
@@ -452,7 +488,7 @@ function SlideRail({ slides, index, onSelect, themeVars }) {
|
|
|
452
488
|
style: ITEM_BUTTON,
|
|
453
489
|
onClick: () => onSelect(i),
|
|
454
490
|
"aria-current": active ? "true" : void 0,
|
|
455
|
-
"aria-label":
|
|
491
|
+
"aria-label": messages.slideNumber(i + 1),
|
|
456
492
|
children: [
|
|
457
493
|
/* @__PURE__ */ jsx(
|
|
458
494
|
"span",
|
|
@@ -532,6 +568,7 @@ function SlideToolbar({
|
|
|
532
568
|
}) {
|
|
533
569
|
const [hovered, setHovered] = useState(false);
|
|
534
570
|
const busy = exportProgress !== null && exportProgress.phase !== "done";
|
|
571
|
+
const messages = useMemo(() => getSlideMessages(), []);
|
|
535
572
|
return /* @__PURE__ */ jsxs(
|
|
536
573
|
"div",
|
|
537
574
|
{
|
|
@@ -553,25 +590,25 @@ function SlideToolbar({
|
|
|
553
590
|
backdropFilter: "blur(8px)",
|
|
554
591
|
opacity: hovered || busy ? 1 : 0.25,
|
|
555
592
|
transition: "opacity 150ms ease",
|
|
556
|
-
fontFamily: '
|
|
593
|
+
fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, system-ui, sans-serif',
|
|
557
594
|
userSelect: "none"
|
|
558
595
|
},
|
|
559
596
|
children: [
|
|
560
|
-
/* @__PURE__ */ jsx("button", { type: "button", style: BUTTON, onClick: onPrev, "aria-label":
|
|
597
|
+
/* @__PURE__ */ jsx("button", { type: "button", style: BUTTON, onClick: onPrev, "aria-label": messages.previousSlide, children: /* @__PURE__ */ jsx(ChevronLeftIcon, { size: 16, "aria-hidden": "true" }) }),
|
|
561
598
|
/* @__PURE__ */ jsxs("span", { style: { padding: "0 8px", fontSize: 13, fontVariantNumeric: "tabular-nums" }, children: [
|
|
562
599
|
current,
|
|
563
600
|
" / ",
|
|
564
601
|
total
|
|
565
602
|
] }),
|
|
566
|
-
/* @__PURE__ */ jsx("button", { type: "button", style: BUTTON, onClick: onNext, "aria-label":
|
|
603
|
+
/* @__PURE__ */ jsx("button", { type: "button", style: BUTTON, onClick: onNext, "aria-label": messages.nextSlide, children: /* @__PURE__ */ jsx(ChevronRightIcon, { size: 16, "aria-hidden": "true" }) }),
|
|
567
604
|
isFullscreen ? null : /* @__PURE__ */ jsx(
|
|
568
605
|
"button",
|
|
569
606
|
{
|
|
570
607
|
type: "button",
|
|
571
608
|
style: BUTTON,
|
|
572
609
|
onClick: onToggleRail,
|
|
573
|
-
"aria-label": railOpen ?
|
|
574
|
-
title: railOpen ?
|
|
610
|
+
"aria-label": railOpen ? messages.closeSlideList : messages.openSlideList,
|
|
611
|
+
title: railOpen ? messages.closeSlideList : messages.openSlideList,
|
|
575
612
|
"aria-pressed": railOpen,
|
|
576
613
|
children: railOpen ? /* @__PURE__ */ jsx(PanelLeftCloseIcon, { size: 16, "aria-hidden": "true" }) : /* @__PURE__ */ jsx(PanelLeftOpenIcon, { size: 16, "aria-hidden": "true" })
|
|
577
614
|
}
|
|
@@ -582,8 +619,8 @@ function SlideToolbar({
|
|
|
582
619
|
type: "button",
|
|
583
620
|
style: BUTTON,
|
|
584
621
|
onClick: onFullscreen,
|
|
585
|
-
"aria-label": isFullscreen ?
|
|
586
|
-
title: isFullscreen ?
|
|
622
|
+
"aria-label": isFullscreen ? messages.exitFullscreen : messages.fullscreen,
|
|
623
|
+
title: isFullscreen ? messages.exitFullscreen : messages.fullscreen,
|
|
587
624
|
children: isFullscreen ? /* @__PURE__ */ jsx(MinimizeIcon, { size: 16, "aria-hidden": "true" }) : /* @__PURE__ */ jsx(MaximizeIcon, { size: 16, "aria-hidden": "true" })
|
|
588
625
|
}
|
|
589
626
|
) : null,
|
|
@@ -594,8 +631,8 @@ function SlideToolbar({
|
|
|
594
631
|
style: { ...BUTTON, opacity: busy ? 0.6 : 1, cursor: busy ? "progress" : "pointer" },
|
|
595
632
|
onClick: onExport,
|
|
596
633
|
disabled: busy,
|
|
597
|
-
"aria-label":
|
|
598
|
-
title:
|
|
634
|
+
"aria-label": messages.exportToPowerPoint,
|
|
635
|
+
title: messages.exportToPowerPoint,
|
|
599
636
|
children: [
|
|
600
637
|
/* @__PURE__ */ jsx(DownloadIcon, { size: 16, "aria-hidden": "true" }),
|
|
601
638
|
busy ? /* @__PURE__ */ jsxs("span", { children: [
|