erl-mathtextx-editor 0.2.5 → 0.3.1

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/CHANGELOG.md CHANGED
@@ -5,6 +5,63 @@ All notable changes to `erl-mathtextx-editor` will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.0] - 2026-06-18
9
+
10
+ ### Added
11
+
12
+ - **Table Style Prop** — New `tableStyle` prop to choose between custom styled tables or native TipTap/ProseMirror tables
13
+ - `'custom'` (default): Uses `mtx-table` CSS with 6 themes (plain, light, dark, blue, striped, minimal)
14
+ - `'native'`: Plain TipTap table without custom CSS
15
+ - Usage: `<MathTextXEditor tableStyle="native" />`
16
+
17
+ - **Robust Table Operations** — Enhanced table context menu with new commands:
18
+ - **Merge/Split** — Smart `mergeOrSplit()` command: merge if multi-select, split if single cell
19
+ - **Toggle Header Cell** — Toggle header status for individual cells
20
+ - **Tab/Shift+Tab Navigation** — Navigate between cells with keyboard shortcuts
21
+
22
+ - **Table Config Improvements** — Added missing TipTap table settings:
23
+ - `renderWrapper: true` — Wrapper div for layout consistency
24
+ - `cellMinWidth: 25` — Minimum cell width
25
+ - `lastColumnResizable: true` — Last column can be resized
26
+
27
+ - **Paste Table Support** — Enhanced HTML paste handling for tables from Microsoft Office:
28
+ - `colspan`, `rowspan`, `border`, `valign` attributes preserved
29
+ - `valign` and `width` attributes converted to inline styles for TipTap compatibility
30
+ - DOMPurify `ALLOWED_ATTR` expanded for table attributes
31
+
32
+ ### Fixed
33
+
34
+ - **Table Resize CSS** — Fixed CSS breaking during table column resize:
35
+ - Removed `overflow: hidden` from `.mtx-table` to prevent resize handle clipping
36
+ - Fixed `::after` pseudo-elements positioning to prevent layout shift
37
+ - Added `transform: translateX(50%)` for proper resize handle centering
38
+ - Added `table-layout: fixed` for consistent column widths during resize
39
+
40
+ - **Table Alignment CSS** — Fixed dead CSS code for `.tableWrapper` alignment
41
+
42
+ ### Changed
43
+
44
+ - **Table Context Menu** — Updated UI with new operations:
45
+ - Cells section now shows "Merge / Split" instead of separate Merge/Split buttons
46
+ - Headers section now includes "Toggle Header Cell" option
47
+ - Menu height increased to accommodate new options
48
+
49
+ ## [0.2.6] - 2026-06-17
50
+
51
+ ### Fixed
52
+
53
+ - **Enter in Math Fields** — Pressing Enter in inline/block math now exits the MathLive field and creates a new math field below instead of creating a regular paragraph
54
+ - Block math: inserts empty `mathBlock` node below
55
+ - Inline math: inserts `hardBreak` + empty `mathInline` node
56
+ - New math fields auto-focus for immediate typing
57
+ - **Space in Math Fields** — Space key now reliably inserts visible space (`\text{ }`) in both inline and block MathLive fields
58
+ - Uses `executeCommand(['insert', ' ', ...])` to bypass contentEditable restrictions in ProseMirror NodeView
59
+ - Capture-phase listener ensures handler runs before MathLive shadow DOM
60
+
61
+ ### Changed
62
+
63
+ - **keypressSound Config** — Changed from `null` to explicit object form `{ spacebar: null, return: null, delete: null, default: null }` to prevent potential MathLive spacebar handling issues
64
+
8
65
  ## [0.2.5] - 2026-05-26
9
66
 
10
67
  ### Added