@drghaliasri/butex 4.2.0 → 4.4.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.
@@ -10925,24 +10925,11 @@ var DOCUMENT2_WIDGET_CSS = `
10925
10925
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
10926
10926
  }
10927
10927
 
10928
- .butex-document2-widget__layout--editor-open.butex-document2-widget__layout--preview-closed {
10929
- grid-template-columns: minmax(0, 1fr) minmax(0, 0fr);
10930
- }
10931
-
10932
- .butex-document2-widget__layout--editor-closed.butex-document2-widget__layout--preview-open {
10933
- grid-template-columns: minmax(0, 0fr) minmax(0, 1fr);
10934
- }
10935
-
10928
+ /* One visible panel: a single track so the panel fills the widget (previewOnly / hide editor / hide preview). */
10929
+ .butex-document2-widget__layout--editor-open.butex-document2-widget__layout--preview-closed,
10930
+ .butex-document2-widget__layout--editor-closed.butex-document2-widget__layout--preview-open,
10936
10931
  .butex-document2-widget__layout--editor-closed.butex-document2-widget__layout--preview-closed {
10937
- grid-template-columns: minmax(0, 1fr) minmax(0, 0fr);
10938
- }
10939
-
10940
- .butex-document2-widget__layout--preview-open {
10941
- grid-template-columns: minmax(0, 1fr) minmax(280px, 0.9fr);
10942
- }
10943
-
10944
- .butex-document2-widget__layout--preview-closed {
10945
- grid-template-columns: minmax(0, 1fr) minmax(0, 0fr);
10932
+ grid-template-columns: minmax(0, 1fr);
10946
10933
  }
10947
10934
 
10948
10935
  .butex-document2-widget__editor-panel,
@@ -10960,24 +10947,16 @@ var DOCUMENT2_WIDGET_CSS = `
10960
10947
  box-shadow 0.22s ease;
10961
10948
  }
10962
10949
 
10963
- .butex-document2-widget__layout--editor-closed .butex-document2-widget__editor-panel {
10964
- border-width: 0;
10965
- box-shadow: none;
10966
- opacity: 0;
10967
- padding-inline: 0;
10968
- pointer-events: none;
10969
- transform: translateX(10px);
10970
- visibility: hidden;
10950
+ /* When previewOnly (or display:none) leaves a lone panel, span the full grid. */
10951
+ .butex-document2-widget__editor-panel:only-child,
10952
+ .butex-document2-widget__preview-panel:only-child {
10953
+ grid-column: 1 / -1;
10954
+ width: 100%;
10971
10955
  }
10972
10956
 
10957
+ .butex-document2-widget__layout--editor-closed .butex-document2-widget__editor-panel,
10973
10958
  .butex-document2-widget__layout--preview-closed .butex-document2-widget__preview-panel {
10974
- border-width: 0;
10975
- box-shadow: none;
10976
- opacity: 0;
10977
- padding-inline: 0;
10978
- pointer-events: none;
10979
- transform: translateX(-10px);
10980
- visibility: hidden;
10959
+ display: none;
10981
10960
  }
10982
10961
 
10983
10962
  .butex-document2-widget__inline-field {
@@ -11151,6 +11130,13 @@ var DOCUMENT2_WIDGET_CSS = `
11151
11130
  vertical-align: middle;
11152
11131
  }
11153
11132
 
11133
+ /* Guard against host CSS resets (e.g. Tailwind Preflight's \`svg { display: block }\`).
11134
+ * MathJax v4 inline line-breaking emits an equation as several sibling <svg> chunks;
11135
+ * a block-level svg reset stacks them vertically inside the island. */
11136
+ .butex-document2-widget mjx-container svg {
11137
+ display: inline;
11138
+ }
11139
+
11154
11140
  .butex-document2-widget__math-chip .butex-document2-widget__math-island {
11155
11141
  margin: 0;
11156
11142
  }
@@ -11312,18 +11298,13 @@ var DOCUMENT2_WIDGET_CSS = `
11312
11298
  }
11313
11299
 
11314
11300
  @media (max-width: 900px) {
11315
- .butex-document2-widget__layout {
11316
- grid-template-columns: 1fr;
11317
- }
11318
-
11319
- .butex-document2-widget__layout--preview-closed .butex-document2-widget__preview-panel {
11320
- display: none;
11321
- }
11322
-
11323
- .butex-document2-widget__layout--editor-closed .butex-document2-widget__editor-panel {
11324
- display: none;
11301
+ .butex-document2-widget__layout,
11302
+ .butex-document2-widget__layout--editor-open.butex-document2-widget__layout--preview-open,
11303
+ .butex-document2-widget__layout--editor-open.butex-document2-widget__layout--preview-closed,
11304
+ .butex-document2-widget__layout--editor-closed.butex-document2-widget__layout--preview-open,
11305
+ .butex-document2-widget__layout--editor-closed.butex-document2-widget__layout--preview-closed {
11306
+ grid-template-columns: minmax(0, 1fr);
11325
11307
  }
11326
-
11327
11308
  }
11328
11309
 
11329
11310
  @media (prefers-reduced-motion: reduce) {
@@ -11528,6 +11509,7 @@ function ButexDocumentEditor2({
11528
11509
  documentDirection = "rtl",
11529
11510
  equationSide = "arabic",
11530
11511
  editableEquations = true,
11512
+ previewOnly = false,
11531
11513
  uiLocale = "ar",
11532
11514
  mathOutput = "svg",
11533
11515
  onDocumentChange,
@@ -11570,10 +11552,10 @@ function ButexDocumentEditor2({
11570
11552
  injectBuTeXDocument2Styles();
11571
11553
  }, []);
11572
11554
  useEffect5(() => {
11573
- if (!editableEquations) {
11555
+ if (!editableEquations || previewOnly) {
11574
11556
  setSelectedMath(null);
11575
11557
  }
11576
- }, [editableEquations]);
11558
+ }, [editableEquations, previewOnly]);
11577
11559
  useEffect5(() => {
11578
11560
  const next = resolveInitialDocument2(initialDocument, uiLocale);
11579
11561
  setDocumentNode(next.document);
@@ -11862,6 +11844,8 @@ function ButexDocumentEditor2({
11862
11844
  pendingFocusRef.current = focusAfterDeletedMath(current, next, tokenId);
11863
11845
  applyDocument(next, "immediate");
11864
11846
  }
11847
+ const showEditorPanel = !previewOnly && editorOpen;
11848
+ const showPreviewPanel = previewOnly || previewOpen;
11865
11849
  return /* @__PURE__ */ jsx10(
11866
11850
  "div",
11867
11851
  {
@@ -11870,7 +11854,7 @@ function ButexDocumentEditor2({
11870
11854
  dir: uiLocaleDirection(uiLocale),
11871
11855
  lang: uiLocale,
11872
11856
  children: /* @__PURE__ */ jsxs8("div", { className: "butex-document2-widget__shell", children: [
11873
- /* @__PURE__ */ jsxs8("div", { className: "butex-document2-widget__toolbar", children: [
11857
+ !previewOnly ? /* @__PURE__ */ jsxs8("div", { className: "butex-document2-widget__toolbar", children: [
11874
11858
  /* @__PURE__ */ jsx10(
11875
11859
  DocumentInsertToolbar,
11876
11860
  {
@@ -11900,19 +11884,19 @@ function ButexDocumentEditor2({
11900
11884
  /* @__PURE__ */ jsx10("button", { type: "button", onClick: collapseAllBlocks, children: messages.collapseAll }),
11901
11885
  /* @__PURE__ */ jsx10("button", { type: "button", onClick: openAllBlocks, children: messages.openAll })
11902
11886
  ] })
11903
- ] }),
11887
+ ] }) : null,
11904
11888
  error ? /* @__PURE__ */ jsx10("p", { className: "butex-document2-widget__error", children: error }) : null,
11905
11889
  /* @__PURE__ */ jsxs8(
11906
11890
  "div",
11907
11891
  {
11908
- className: `butex-document2-widget__layout butex-document2-widget__layout--editor-${editorOpen ? "open" : "closed"} butex-document2-widget__layout--preview-${previewOpen ? "open" : "closed"}`,
11892
+ className: `butex-document2-widget__layout butex-document2-widget__layout--editor-${showEditorPanel ? "open" : "closed"} butex-document2-widget__layout--preview-${showPreviewPanel ? "open" : "closed"}`,
11909
11893
  children: [
11910
- /* @__PURE__ */ jsx10(
11894
+ !previewOnly ? /* @__PURE__ */ jsx10(
11911
11895
  "section",
11912
11896
  {
11913
11897
  className: "butex-document2-widget__panel butex-document2-widget__editor-panel",
11914
11898
  "aria-label": messages.documentEditor,
11915
- "aria-hidden": !editorOpen,
11899
+ "aria-hidden": !showEditorPanel,
11916
11900
  children: /* @__PURE__ */ jsx10("div", { className: "butex-document2-widget__blocks", children: documentNode.blocks.map((block, blockIndex) => /* @__PURE__ */ jsx10(
11917
11901
  BlockEditor,
11918
11902
  {
@@ -11942,13 +11926,13 @@ function ButexDocumentEditor2({
11942
11926
  block.id
11943
11927
  )) })
11944
11928
  }
11945
- ),
11929
+ ) : null,
11946
11930
  /* @__PURE__ */ jsx10(
11947
11931
  "section",
11948
11932
  {
11949
11933
  className: "butex-document2-widget__panel butex-document2-widget__preview-panel",
11950
11934
  "aria-label": messages.documentPreview,
11951
- "aria-hidden": !previewOpen,
11935
+ "aria-hidden": !showPreviewPanel,
11952
11936
  children: /* @__PURE__ */ jsx10(DocumentPreview, { blocks: preview.blocks, output: mathOutput, documentDirection, uiLocale })
11953
11937
  }
11954
11938
  )
@@ -11965,7 +11949,7 @@ function ButexDocumentEditor2({
11965
11949
  /* @__PURE__ */ jsx10("strong", { children: "AST" }),
11966
11950
  /* @__PURE__ */ jsx10("pre", { children: JSON.stringify(documentNode, null, 2) })
11967
11951
  ] }) : null,
11968
- selectedMath ? /* @__PURE__ */ jsx10(
11952
+ !previewOnly && selectedMath ? /* @__PURE__ */ jsx10(
11969
11953
  EquationDrawer,
11970
11954
  {
11971
11955
  session: selectedMath.session,