@industry-theme/markdown-panels 0.2.15 → 0.2.16

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.
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownPanel.d.ts","sourceRoot":"","sources":["../../src/panels/MarkdownPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAQ5D,OAAO,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAmB,MAAM,UAAU,CAAC;AAUrE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAgVvD,CAAC"}
1
+ {"version":3,"file":"MarkdownPanel.d.ts","sourceRoot":"","sources":["../../src/panels/MarkdownPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAQ5D,OAAO,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAmB,MAAM,UAAU,CAAC;AAUrE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAiYvD,CAAC"}
@@ -47677,6 +47677,7 @@ const MarkdownPanel = ({
47677
47677
  const [currentSlide, setCurrentSlide] = useState(0);
47678
47678
  const [fontSizeScale, setFontSizeScale] = useState(1);
47679
47679
  const [isMobile, setIsMobile] = useState(false);
47680
+ const [preferencesLoaded, setPreferencesLoaded] = useState(false);
47680
47681
  useEffect(() => {
47681
47682
  const checkMobile = () => {
47682
47683
  setIsMobile(window.innerWidth < 768);
@@ -47685,10 +47686,30 @@ const MarkdownPanel = ({
47685
47686
  window.addEventListener("resize", checkMobile);
47686
47687
  return () => window.removeEventListener("resize", checkMobile);
47687
47688
  }, []);
47689
+ useEffect(() => {
47690
+ const unsubscribe = events.on("markdown-panel:set-preferences", (event) => {
47691
+ const payload = event.payload;
47692
+ if (payload.viewMode) {
47693
+ setViewMode(payload.viewMode);
47694
+ }
47695
+ if (payload.fontSizeScale !== void 0) {
47696
+ setFontSizeScale(payload.fontSizeScale);
47697
+ }
47698
+ setPreferencesLoaded(true);
47699
+ });
47700
+ return unsubscribe;
47701
+ }, [events]);
47702
+ useEffect(() => {
47703
+ events.emit({
47704
+ type: "markdown-panel:request-preferences",
47705
+ source: "markdown-panel",
47706
+ timestamp: Date.now(),
47707
+ payload: {}
47708
+ });
47709
+ }, [events]);
47688
47710
  useEffect(() => {
47689
47711
  const unsubscribe = events.on("file:opened", (event) => {
47690
47712
  console.log("Markdown Panel: File opened:", event.payload);
47691
- setViewMode("book");
47692
47713
  setCurrentSlide(0);
47693
47714
  });
47694
47715
  return unsubscribe;
@@ -47703,10 +47724,38 @@ const MarkdownPanel = ({
47703
47724
  const slides = presentation.slides.map((slide) => slide.location.content);
47704
47725
  const hasSlides = slides.length > 1;
47705
47726
  const handleFontSizeIncrease = () => {
47706
- setFontSizeScale((prev) => Math.min(prev + 0.1, 3));
47727
+ setFontSizeScale((prev) => {
47728
+ const newScale = Math.min(prev + 0.1, 3);
47729
+ events.emit({
47730
+ type: "markdown-panel:font-scale-change",
47731
+ source: "markdown-panel",
47732
+ timestamp: Date.now(),
47733
+ payload: { fontSizeScale: newScale }
47734
+ });
47735
+ return newScale;
47736
+ });
47707
47737
  };
47708
47738
  const handleFontSizeDecrease = () => {
47709
- setFontSizeScale((prev) => Math.max(prev - 0.1, 0.5));
47739
+ setFontSizeScale((prev) => {
47740
+ const newScale = Math.max(prev - 0.1, 0.5);
47741
+ events.emit({
47742
+ type: "markdown-panel:font-scale-change",
47743
+ source: "markdown-panel",
47744
+ timestamp: Date.now(),
47745
+ payload: { fontSizeScale: newScale }
47746
+ });
47747
+ return newScale;
47748
+ });
47749
+ };
47750
+ const handleViewModeChange = (mode) => {
47751
+ setViewMode(mode);
47752
+ setCurrentSlide(0);
47753
+ events.emit({
47754
+ type: "markdown-panel:view-mode-change",
47755
+ source: "markdown-panel",
47756
+ timestamp: Date.now(),
47757
+ payload: { viewMode: mode }
47758
+ });
47710
47759
  };
47711
47760
  if (activeFile == null ? void 0 : activeFile.loading) {
47712
47761
  return /* @__PURE__ */ jsx(
@@ -47876,10 +47925,7 @@ const MarkdownPanel = ({
47876
47925
  /* @__PURE__ */ jsx(
47877
47926
  "button",
47878
47927
  {
47879
- onClick: () => {
47880
- setViewMode("book");
47881
- setCurrentSlide(0);
47882
- },
47928
+ onClick: () => handleViewModeChange("book"),
47883
47929
  title: "Sections",
47884
47930
  style: {
47885
47931
  background: viewMode === "book" ? theme2.colors.primary : "transparent",
@@ -47901,10 +47947,7 @@ const MarkdownPanel = ({
47901
47947
  /* @__PURE__ */ jsx(
47902
47948
  "button",
47903
47949
  {
47904
- onClick: () => {
47905
- setViewMode("document");
47906
- setCurrentSlide(0);
47907
- },
47950
+ onClick: () => handleViewModeChange("document"),
47908
47951
  title: "Document",
47909
47952
  style: {
47910
47953
  background: viewMode === "document" ? theme2.colors.primary : "transparent",
@@ -47943,14 +47986,12 @@ const MarkdownPanel = ({
47943
47986
  children: viewMode === "document" ? /* @__PURE__ */ jsx(
47944
47987
  DocumentView,
47945
47988
  {
47946
- content: slides,
47989
+ content: markdownContent,
47947
47990
  theme: theme2,
47948
47991
  fontSizeScale,
47949
47992
  onCheckboxChange: () => {
47950
47993
  },
47951
47994
  slideIdPrefix: "markdown-panel",
47952
- showSectionHeaders: true,
47953
- showSeparators: true,
47954
47995
  maxWidth: "100%"
47955
47996
  }
47956
47997
  ) : /* @__PURE__ */ jsx(