@squadbase/vantage 0.6.2-dev1.a7c4a3e → 0.6.2-dev1.b332e5a

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 (42) hide show
  1. package/dist/{build-JB4VOMUI.js → build-TVKFIVFQ.js} +7 -7
  2. package/dist/{build-JB4VOMUI.js.map → build-TVKFIVFQ.js.map} +1 -1
  3. package/dist/{check-ZJYK6RLG.js → check-3KHZXZMQ.js} +5 -5
  4. package/dist/{check-ZJYK6RLG.js.map → check-3KHZXZMQ.js.map} +1 -1
  5. package/dist/{chunk-KLEIVDUV.js → chunk-CEXAQQ5W.js} +150 -11
  6. package/dist/chunk-CEXAQQ5W.js.map +1 -0
  7. package/dist/{chunk-JGRMRXXZ.js → chunk-JKLLFVEU.js} +3 -3
  8. package/dist/{chunk-JGRMRXXZ.js.map → chunk-JKLLFVEU.js.map} +1 -1
  9. package/dist/{chunk-EP6JHXSR.js → chunk-LMUACBMA.js} +3 -3
  10. package/dist/{chunk-EP6JHXSR.js.map → chunk-LMUACBMA.js.map} +1 -1
  11. package/dist/{chunk-MP3QSOXL.js → chunk-NKFBFDRZ.js} +13 -4
  12. package/dist/chunk-NKFBFDRZ.js.map +1 -0
  13. package/dist/{chunk-BCE22JSM.js → chunk-P7W4LR3Z.js} +32 -13
  14. package/dist/chunk-P7W4LR3Z.js.map +1 -0
  15. package/dist/{chunk-T3FLAGI6.js → chunk-VA776YE5.js} +3 -3
  16. package/dist/{chunk-T3FLAGI6.js.map → chunk-VA776YE5.js.map} +1 -1
  17. package/dist/cli.js +6 -6
  18. package/dist/components/index.js +1 -1
  19. package/dist/{dev-FCEC3UKQ.js → dev-GDKATCC7.js} +7 -7
  20. package/dist/{dev-FCEC3UKQ.js.map → dev-GDKATCC7.js.map} +1 -1
  21. package/dist/{doctor-WHZXPERA.js → doctor-WQXPXP6K.js} +5 -5
  22. package/dist/{doctor-WHZXPERA.js.map → doctor-WQXPXP6K.js.map} +1 -1
  23. package/dist/{routes-GTFO5PUF.js → routes-MWBWWOJ2.js} +4 -4
  24. package/dist/{routes-GTFO5PUF.js.map → routes-MWBWWOJ2.js.map} +1 -1
  25. package/dist/slide/index.js +47 -10
  26. package/dist/slide/index.js.map +1 -1
  27. package/dist/table/index.js +2 -2
  28. package/dist/table/index.js.map +1 -1
  29. package/dist/{upgrade-AL4KZZR4.js → upgrade-HCANX4GQ.js} +4 -4
  30. package/dist/{upgrade-AL4KZZR4.js.map → upgrade-HCANX4GQ.js.map} +1 -1
  31. package/dist/vite/index.js +3 -3
  32. package/package.json +14 -10
  33. package/skills/vantage-design/SKILL.md +3 -1
  34. package/skills/vantage-design/references/format.md +1 -1
  35. package/skills/vantage-slide/SKILL.md +17 -0
  36. package/templates/agents/api.md +29 -0
  37. package/templates/agents/page.md +2 -2
  38. package/templates/agents/slide.md +13 -1
  39. package/theme.css +7 -1
  40. package/dist/chunk-BCE22JSM.js.map +0 -1
  41. package/dist/chunk-KLEIVDUV.js.map +0 -1
  42. package/dist/chunk-MP3QSOXL.js.map +0 -1
@@ -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": "\u30B9\u30E9\u30A4\u30C9\u4E00\u89A7",
447
+ "aria-label": messages.slideList,
412
448
  style: {
413
449
  flex: "0 0 auto",
414
450
  width: RAIL_WIDTH,
@@ -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": `\u30B9\u30E9\u30A4\u30C9 ${i + 1}`,
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
  {
@@ -557,21 +594,21 @@ function SlideToolbar({
557
594
  userSelect: "none"
558
595
  },
559
596
  children: [
560
- /* @__PURE__ */ jsx("button", { type: "button", style: BUTTON, onClick: onPrev, "aria-label": "\u524D\u306E\u30B9\u30E9\u30A4\u30C9", children: /* @__PURE__ */ jsx(ChevronLeftIcon, { size: 16, "aria-hidden": "true" }) }),
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": "\u6B21\u306E\u30B9\u30E9\u30A4\u30C9", children: /* @__PURE__ */ jsx(ChevronRightIcon, { size: 16, "aria-hidden": "true" }) }),
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 ? "\u30B9\u30E9\u30A4\u30C9\u4E00\u89A7\u3092\u9589\u3058\u308B (L)" : "\u30B9\u30E9\u30A4\u30C9\u4E00\u89A7\u3092\u958B\u304F (L)",
574
- title: railOpen ? "\u30B9\u30E9\u30A4\u30C9\u4E00\u89A7\u3092\u9589\u3058\u308B (L)" : "\u30B9\u30E9\u30A4\u30C9\u4E00\u89A7\u3092\u958B\u304F (L)",
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 ? "\u5168\u753B\u9762\u8868\u793A\u3092\u7D42\u4E86 (F)" : "\u5168\u753B\u9762\u8868\u793A (F)",
586
- title: isFullscreen ? "\u5168\u753B\u9762\u8868\u793A\u3092\u7D42\u4E86 (F)" : "\u5168\u753B\u9762\u8868\u793A (F)",
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": "PowerPoint \u3068\u3057\u3066\u66F8\u304D\u51FA\u3059",
598
- title: "PowerPoint \u3068\u3057\u3066\u66F8\u304D\u51FA\u3059",
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: [