@gpichot/spectacle-deck 1.2.9 → 1.2.10

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 (3) hide show
  1. package/index.cjs +17 -0
  2. package/index.mjs +18 -1
  3. package/package.json +1 -1
package/index.cjs CHANGED
@@ -1779,6 +1779,22 @@ function PassThrough({ children }) {
1779
1779
  return /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, children);
1780
1780
  }
1781
1781
  var layouts = layouts_default;
1782
+ var KEYS = {
1783
+ NextSlide: ["ArrowDown", "ArrowRight", "PageDown"],
1784
+ PreviousSlide: ["ArrowUp", "ArrowLeft", "PageUp"]
1785
+ };
1786
+ function DeckKeyEvents() {
1787
+ const { stepForward, regressSlide } = import_react24.default.useContext(import_spectacle10.DeckContext);
1788
+ import_react24.default.useEffect(() => {
1789
+ const handleKeyDown = (e) => {
1790
+ if (KEYS.NextSlide.includes(e.key)) stepForward();
1791
+ else if (KEYS.PreviousSlide.includes(e.key)) regressSlide();
1792
+ };
1793
+ window.addEventListener("keydown", handleKeyDown);
1794
+ return () => window.removeEventListener("keydown", handleKeyDown);
1795
+ }, [stepForward, regressSlide]);
1796
+ return null;
1797
+ }
1782
1798
  var componentsMap2 = {
1783
1799
  ...map_default,
1784
1800
  wrapper: SlideWrapper
@@ -1806,6 +1822,7 @@ function Deck({
1806
1822
  theme: { ...theme_default, ...theme.themeTokens },
1807
1823
  template
1808
1824
  },
1825
+ /* @__PURE__ */ import_react24.default.createElement(DeckKeyEvents, null),
1809
1826
  deck.slides.map((slide, i) => {
1810
1827
  const Component = slide.slideComponent;
1811
1828
  return /* @__PURE__ */ import_react24.default.createElement(import_spectacle10.Slide, { key: i }, /* @__PURE__ */ import_react24.default.createElement(Component, null));
package/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  // src/index.tsx
2
2
  import React24 from "react";
3
3
  import { MDXProvider } from "@mdx-js/react";
4
- import { Deck as SpectacleDeck, Slide } from "spectacle";
4
+ import { Deck as SpectacleDeck, Slide, DeckContext as DeckContext2 } from "spectacle";
5
5
 
6
6
  // src/layouts/CenteredLayout.tsx
7
7
  import React2 from "react";
@@ -1732,6 +1732,22 @@ function PassThrough({ children }) {
1732
1732
  return /* @__PURE__ */ React24.createElement(React24.Fragment, null, children);
1733
1733
  }
1734
1734
  var layouts = layouts_default;
1735
+ var KEYS = {
1736
+ NextSlide: ["ArrowDown", "ArrowRight", "PageDown"],
1737
+ PreviousSlide: ["ArrowUp", "ArrowLeft", "PageUp"]
1738
+ };
1739
+ function DeckKeyEvents() {
1740
+ const { stepForward, regressSlide } = React24.useContext(DeckContext2);
1741
+ React24.useEffect(() => {
1742
+ const handleKeyDown = (e) => {
1743
+ if (KEYS.NextSlide.includes(e.key)) stepForward();
1744
+ else if (KEYS.PreviousSlide.includes(e.key)) regressSlide();
1745
+ };
1746
+ window.addEventListener("keydown", handleKeyDown);
1747
+ return () => window.removeEventListener("keydown", handleKeyDown);
1748
+ }, [stepForward, regressSlide]);
1749
+ return null;
1750
+ }
1735
1751
  var componentsMap2 = {
1736
1752
  ...map_default,
1737
1753
  wrapper: SlideWrapper
@@ -1759,6 +1775,7 @@ function Deck({
1759
1775
  theme: { ...theme_default, ...theme.themeTokens },
1760
1776
  template
1761
1777
  },
1778
+ /* @__PURE__ */ React24.createElement(DeckKeyEvents, null),
1762
1779
  deck.slides.map((slide, i) => {
1763
1780
  const Component = slide.slideComponent;
1764
1781
  return /* @__PURE__ */ React24.createElement(Slide, { key: i }, /* @__PURE__ */ React24.createElement(Component, null));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gpichot/spectacle-deck",
3
- "version": "1.2.9",
3
+ "version": "1.2.10",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "index.cjs",