Skip to content

Latest commit

 

History

History
1336 lines (801 loc) · 40 KB

CHANGELOG.md

File metadata and controls

1336 lines (801 loc) · 40 KB

@udecode/plate-table

44.0.0

Major Changes

  • #4048 by @zbeyens – Move store state selectedCells and selectedTables from useTableStore to TablePlugin options store. This fixes the issue to get access to those state outside a table element (e.g. the toolbar)

  • #4048 by @zbeyens – Upgrade to jotai-x@2. Migration needed only if you use one of these stores:

    • useCommentStore
    • usePlaceholderStore
    • useResizableStore
    • useTableStore

43.0.3

43.0.2

Patch Changes

  • #4027 by @zbeyens
    • Support controlling many selected cells (previously only one cell)
    • Fix selected cells to sync after cell operation

43.0.0

42.2.4

Patch Changes

  • #4012 by @zbeyens – Fix overrideEditor insertText missing options

42.2.3

Patch Changes

  • #4010 by @zbeyens
    • Recompute cell indices when moving node in table

42.2.2

Patch Changes

42.1.1

Patch Changes

42.0.5

Patch Changes

42.0.0

Major Changes

  • #3920 by @zbeyensMajor performance improvement: all table cells were re-rendering when a single cell changed. This is now fixed.

    • TablePlugin now depends on NodeIdPlugin.
    • Table merging is now enabled by default:
      • Renamed enableMerging to disableMerge.
      • Migration:
        • enableMerging: true → remove the option.
        • otherwise → TablePlugin.configure({ options: { disableMerge: true } })
    • Renamed unmergeTableCells to splitTableCell.
    • Renamed editor.api.create.cell to editor.api.create.tableCell.
    • In useTableMergeState, renamed canUnmerge to canSplit.
    • insertTableRow and insertTableColumn: removed disableSelect in favor of select. Migration: replace it with the opposite boolean.
    • getTableCellBorders: params (element, options)(editor, options); removed isFirstCell and isFirstRow.
    • Merged useTableCellElementState into useTableCellElement:
      • Removed its parameter.
      • Removed hovered and hoveredLeft returns (use CSS instead).
      • Renamed rowSize to minHeight.
      • Computes column sizes and returns width.
    • Merged useTableCellElementResizableState into useTableCellElementResizable:
      • Removed onHover and onHoverEnd props (use CSS instead).
    • Merged useTableElementState into useTableElement:
      • Removed its parameter.
      • No longer computes and returns colSizes, minColumnWidth, and colGroupProps.

Minor Changes

  • #3920 by @zbeyens

    • TablePlugin new api and transforms:
    type TableApi = {
      create: {
        table: OmitFirst<typeof getEmptyTableNode>;
        /** Cell node factory used each time a cell is created. */
        tableCell: OmitFirst<typeof getEmptyCellNode>;
        tableRow: OmitFirst<typeof getEmptyRowNode>;
      };
      table: {
        getCellBorders: OmitFirst<typeof getTableCellBorders>;
        getCellSize: OmitFirst<typeof getTableCellSize>;
        getColSpan: typeof getColSpan;
        getRowSpan: typeof getRowSpan;
      };
    };
    
    type TableTransforms = {
      insert: {
        table: OmitFirst<typeof insertTable>;
      };
      remove: {
        table: OmitFirst<typeof deleteTable>;
        tableColumn: OmitFirst<typeof deleteColumn>;
        tableRow: OmitFirst<typeof deleteRow>;
      };
      table: {
        merge: OmitFirst<typeof mergeTableCells>;
        split: OmitFirst<typeof splitTableCell>;
      };
    };
    • insertTableColumn add before option to insert a column before the current column.
    • insertTableRow add before option to insert a row before the current row.
    • insertTable now supports inserting a table after the current table.

41.0.9

Patch Changes

  • #3909 by @Croc-ye – fix: copying form mulitple cells does not retain font attributes

41.0.7

Patch Changes

  • #3908 by @Croc-ye – fix: exception of inputting Chinese when selecting multiple cells

41.0.0

Major Changes

  • #3830 by @felixfeng33 – Move from @udecode/plate-table/react to @udecode/plate-table:

    • deleteColumn
    • deleteColumnWhenExpanded
    • deleteRow
    • deleteRowWhenExpanded
    • getTableColumn
    • getTableGridAbove
    • getTableGridByRange
    • getTableRow
    • insertTable
    • mergeTableCells
    • moveSelectionFromCell
    • overrideSelectionFromCell
    • unmergeTableCells
    • withDeleteTable
    • withGetFragmentlable
    • withInsertFragmentTable
    • withInsertTextTable
    • withMarkTable
    • withSelectionTable
    • withSetFragmentDataTable
    • withTable

Patch Changes

40.0.0

Patch Changes

39.1.6

39.0.1

Patch Changes

39.0.0

38.0.8

Patch Changes

38.0.6

Patch Changes

38.0.5

Patch Changes

  • #3552 by @natamox – Fix unmerge & compute cell indices

    Remove computeAllCellIndices, use computeCellIndices instead

38.0.1

Patch Changes

38.0.0

37.0.0

Major Changes

  • #3420 by @zbeyens
    • createTablePlugin -> TablePlugin
    • NEW TableRowPlugin, TableCellPlugin, TableCellHeaderPlugin
    • Replace insertTableColumn with editor.insert.tableColumn
    • Replace insertTableRow with editor.insert.tableRow
    • Move cellFactory option to create.cell api
    • Move getCellChildren option to table.getCellChildren api

36.5.8

Patch Changes

  • #3463 by @beeant0512 – fixed the judgment logic of deleting the last row of the table

36.5.7

Patch Changes

  • #3461 by @beeant0512 – fix delete last row will cause editor crash when enableMerging: true

36.3.8

Patch Changes

36.3.5

Patch Changes

36.3.1

Patch Changes

  • #3368 by @beeant0512 – fix table column count when first row has merged columns

36.2.0

Patch Changes

  • #3383 by @EvanSmith93 – Fix table header property and apply header to only the top row of new tables

36.0.0

35.2.0

Minor Changes

35.1.0

Minor Changes

  • #3313 by @zbeyens
    • Add cellFactory option to TablePlugin, called each time a cell is created. Default is getEmptyCellNode
    • Remove newCellChildren option from TablePlugin, use cellFactory instead

34.0.0

33.0.7

Patch Changes

  • #3222 by @dimaanj – fix serializeHtml when overwriteByKey used

33.0.2

Patch Changes

33.0.0

32.0.2

Patch Changes

32.0.0

31.4.1

Patch Changes

  • #3138 by @felixfeng33 – Fix: adding marks in a cell is applying to the whole cell

31.4.0

Patch Changes

31.3.3

Patch Changes

  • #3090 by @felixfeng33 – fix can not remove table column when selection is expanded

31.3.2

Patch Changes

  • #3086 by @felixfeng33 – fix add/removeMark behavior When selection is aboving table.

31.3.1

Patch Changes

31.0.0

30.9.4

Patch Changes

30.9.3

Patch Changes

30.9.2

Patch Changes

30.9.1

Patch Changes

  • #3013 by @adrwz – Set "not found" value to -1 instead of 0 for colIndex

30.5.3

Patch Changes

  • 4cbed7159 by @zbeyens – Move @udecode/plate-common to peerDeps to fix a bug when multiple instances were installed

30.4.5

30.1.2

30.0.1

Patch Changes

  • #2873 by @zbeyens – Fix: merging empty cells should result into a single empty paragraph

30.0.0

Major Changes

  • #2867 by @12joan – Fix: in v28, TableProvider was incorrectly shared by all tables in the editor. TableProvider must now be rendered as part of TableElement.

Patch Changes

  • #2867 by @12joan – Fix: Row and column size overrides not being applied correctly

29.1.0

Patch Changes

29.0.1

29.0.0

28.1.2

Patch Changes

28.1.1

Patch Changes

  • #2832 by @dimaanj
    • Fix: merge of header cells in table
    • Fix: #2831

28.0.0

Patch Changes

  • #2816 by @12joan
    • Replace useEdtiorState with useEditorSelector

27.0.3

27.0.2

Patch Changes

  • #2808 by @zbeyens – Fix merging cells inside nested tables using the relative paths.

27.0.1

Patch Changes

  • #2806 by @zbeyens – Types: TTableCellElement['attributes'] is now optional

27.0.0

Patch Changes

  • #2763 by @12joan
    • Migrate store to jotai@2
    • Render TableProvider above editable

26.0.5

26.0.4

Patch Changes

26.0.3

Patch Changes

  • #2724 by @duckRabbitPy – Table row insertion: cells in a newly added row will now receive header styling only if they satisfy specific criteria:

    • Every cell in the column is a header cell,
    • The table contains more than one row, or
    • The column possesses a predefined header property.
  • 0b5962d0 by @zbeyens – Fix: useTableMergeState should return false values when enableMerging: false

26.0.2

Patch Changes

26.0.1

Patch Changes

  • #2768 by @KorovinQuantori – Fixed copy behaviour, when not all table cells are filled with some nodes

26.0.0

Minor Changes

  • #2733 by @dimaanj
    • Table plugin has now merging support. To enable it, use option enableMerging: true

25.0.1

25.0.0

24.5.2

24.4.2

Patch Changes

  • #2682 by @kristian-puccio – newCellChildren is now passed as an option to insertTable or the plugin option is used

24.4.0

Minor Changes

24.3.6

24.3.5

24.3.2

24.3.1

24.3.0

24.2.0

24.0.2

24.0.1

24.0.0

23.7.4

23.7.0

23.6.1

Patch Changes

23.6.0

23.4.1

Patch Changes

  • #2581 by @OliverWales – Modify insertTableRow and insertTableColumn to support header columns to preserve header columns if they exist + not blindly assume that it's a header row if the first cell in that row is a header cell.

23.3.1

23.3.0

23.1.0

Minor Changes

  • #2557 by @zbeyens – Add support of table cell background styles. To update the component, run:
    npx @udecode/plate-ui@latest add table-cell-element

Patch Changes

  • #2555 by @zbeyens – Major changes missing from 23.0.0:
    • Removed TableCellElementResizable. Use useTableCellElementResizableState and useTableCellElementResizable instead.

23.0.1

Patch Changes

23.0.0

22.0.2

22.0.1

22.0.0

Major Changes

  • #2471 by @zbeyens – Removed:
    • TableCellElement
    • TableCellElementResizableWrapper
    • TableCellElementRoot
    • TableElement
    • TableElementCol
    • TableElementColGroup
    • TableElementRoot
    • TableElementTBody
    • TableRowElement
    • ArrowDropDownCircleIcon
    • BorderAllIcon
    • BorderBottomIcon
    • BorderLeftIcon
    • BorderNoneIcon
    • BorderOuterIcon
    • BorderRightIcon
    • BorderTopIcon

Minor Changes

  • #2471 by @zbeyens – New hooks:
    • useTableElement
    • useTableCellElement

Patch Changes

  • #2471 by @zbeyens – Untab from first row cell should not throw anymore.

21.5.0

21.4.3

Patch Changes

  • #2461 by @dimaanj – Support copy paste content of a single table cell.

21.4.2

21.4.1

21.3.4

21.3.2

21.3.0

21.1.5

21.0.0

20.7.2

20.7.0

20.6.3

20.5.0

Minor Changes

  • #2302 by @zbeyens
    • Table margin left resizing. Fixes #2301
    • Remove depedency on re-resizable in favor of new @udecode/resizable package.

20.4.0

Minor Changes

  • #2289 by @zbeyens – New queries:
    • getTableCellBorders
    • getLeftTableCell
    • getTopTableCell
    • isTableBorderHidden New transforms:
    • setBorderSize TableCellElementState new field:
    • borders: BorderStylesDefault

20.3.2

Patch Changes

  • #2285 by @12joan – Ignore defaultPrevented keydown events

20.3.0

Minor Changes

  • #2276 by @12joan – Table width is now preserved when resizing columns, except when resizing the last column

20.2.0

Minor Changes

  • #2273 by @12joan
    • TablePlugin new option: minColumnWidth - Sets the minimum width a column can be resized to
    • insertTableColumn now shrinks columns if the new total width would exceed initialTableWidth

20.1.0

Minor Changes

  • #2270 by @12joan
    • Make rows resizable in addition to columns
      • TableCellElement.ResizableWrapper no longer takes a colIndex prop
      • TableCellElement.Resizable now takes stepX and stepY as overrides for step to set the resize increments for the X and Y axes
      • setTableRowSize - sets the height of the selected row

20.0.0

Major Changes

  • #2251 by @zbeyens
    • TablePlugin option disableUnsetSingleColSize has been renamed and inverted into enableUnsetSingleColSize. New default is disabled. Migration:
      • if using disableUnsetSingleColSize: true, the option can be removed
      • if using disableUnsetSingleColSize: false, use enableUnsetSingleColSize: true
    • getTableColumnIndex second parameter type is now: cellNode: TElement

Minor Changes

  • #2251 by @zbeyens
    • TablePlugin new option: initialTableWidth – If defined, a normalizer will set each undefined table colSizes to this value divided by the number of columns. Merged cells not yet supported. If not defined, the table column sizes will stay to auto.
    • insertTableColumn: if option initialTableWidth is defined, the column size will be set to (a) the size of the next column if defined, (b) the size of the current column if it's the last one or (c) initialTableWidth / colSizes.length. If not defined, the column size stays to auto.
    • Headless UI:
      • TableElement:
        • onMouseDown will collapse the selection if some cells are selected
      • TableCellElement
        • new prop resizableProps.step?: number: Resize by step instead of by pixel.
      • TableRowElement

19.7.0

19.5.0

19.4.4

19.4.2

19.3.0

Patch Changes

  • #2165 by @OliverWales – Override setFragmentData for table range selections #2137

19.2.0

19.1.1

19.1.0

Patch Changes

19.0.3

19.0.1

19.0.0

18.15.0

18.13.0

Patch Changes

18.11.0

Patch Changes

  • #2006 by @RaigeninsertTableColumn, insertTableRow: new option at

18.9.0

18.7.0

18.6.0

18.2.0

18.1.2

Patch Changes

  • #1914 by @zbeyens – fix: deleteColumn supports table with different row sizes

18.1.1

17.0.3

17.0.2

17.0.1

17.0.0

16.8.0

16.6.0

Minor Changes

  • #1835 by @zbeyens – New table plugin option: disableUnsetSingleColSize. Disable unsetting the first column width when the table has one column. Set it to true if you want to resize the table width when there is only one column. Keep it false if you have a full-width table.

16.5.0

Patch Changes

  • #1832 by @zbeyens – Refactor: use editor.currentKeyboardEvent

16.4.2

Patch Changes

16.3.0

Minor Changes

  • #1796 by @zbeyens
    • Fixes #1795
    • Fixes #1794
    • Fixes #1793
    • Fixes #1791
    • Fixes #1798
    • getTableCellEntry:
      • renamed to getTableEntries
      • returns table, row, cell
      • is now working when selecting many blocks in a cell
    • moveSelectionFromCell:
      • new option fromOneCell
      • should not do anything when at is in a single cell, unless fromOneCell is true
    • overrideSelectionFromCell: Override the new selection if the previous selection and the new one are in different cells

16.2.0

Minor Changes

16.1.0

16.0.2

16.0.0

15.0.3

15.0.0

Major Changes

  • #1677 by @zbeyens
    • remove addRow for insertTableRow
    • remove addColumn for insertTableColumn

14.4.2

14.0.2

14.0.0

13.8.0

13.7.0

13.6.0

13.5.0

13.3.0

Patch Changes

13.2.1

Patch Changes

13.1.0

11.3.1

Patch Changes

  • #1573 by @zbeyens – Table plugin: add insertRow, insertColumn options

11.3.0

Minor Changes

  • #1569 by @zbeyens
    • udecode/editor-protocol#32
    • addRow deprecated in favor of insertTableRow
    • addColumn deprecated in favor of insertTableColumn
    • insertTableRow now selects the cell below selected cell (previously it was selecting the last cell)

11.2.1

11.2.0

Minor Changes

  • #1560 by @zbeyens
    • fix: tab / untab when composing with IME
    • update peerDeps:
      • "slate": ">=0.78.0"
      • "slate-react": ">=0.79.0"

Patch Changes

  • #1554 by @mrganser – fix onKeyDownTable so it only acts with Tab key when selection is within a table, so default or others handlers can work outside

11.1.1

Patch Changes

  • #1548 by @zbeyens
    • fix arrow navigation inside table cell having a block (e.g. paragraph)

11.1.0

Minor Changes

11.0.6

11.0.5

11.0.4

11.0.3

11.0.2

11.0.1

11.0.0

10.6.3

Patch Changes

  • #1494 by @woodpeng – prevent tab key event in table propagate to editor

10.5.3

10.5.2

10.5.0

10.4.2

10.4.1

10.4.0

10.3.0

Patch Changes

  • #1429 by @zbeyensTableElement:
    • fix undefined case
    • fix warning "Unknown event handler property onRenderContainer. It will be ignored."

10.2.2

10.2.1

10.1.2

10.1.1

Patch Changes

  • #1388 by @zbeyens – fix for docs only: use Array.from instead of destructuring generators

10.1.0

10.0.0

9.3.1

9.3.0

9.2.1

9.2.0

Patch Changes

9.1.3

Patch Changes

9.1.1

Patch Changes

  • #1322 by @sctang2020 – fix #1216, set cusor to first cell for newly created table

9.0.0

8.3.0

8.1.0

8.0.0

7.0.2

7.0.1

7.0.0

6.4.1

6.4.0

6.3.0

6.2.0

6.1.0

Minor Changes

  • #1161 by @zbeyens – Added:
    • getTableColumnCount
    • getTableColumnIndex: Get table column index of a cell node.
    • setTableColSize
    • TableNodeData: { colSizes?: number[] }

6.0.0

5.3.5

Patch Changes

5.3.1

Patch Changes

5.3.0

Patch Changes

5.1.0

Patch Changes

4.4.0

Patch Changes

4.3.7

Patch Changes

4.3.0

Patch Changes

3.4.0

Patch Changes

3.2.0

Minor Changes

Patch Changes

3.1.3

Patch Changes

3.1.2

Patch Changes

3.0.2

Patch Changes

2.0.1

Patch Changes

2.0.0

Patch Changes

1.1.6

Patch Changes

1.1.5

Patch Changes

1.0.0

Major Changes

🎉 The Slate Plugins project has evolved to Plate 🎉

To migrate, install @udecode/plate[-x] then find and replace all occurrences of:

  • slate-plugins to plate
  • SlatePlugins to Plate
  • SlatePlugin to PlatePlugin

1.0.0-next.61

This is the last version of @udecode/slate-plugins[-x], please install @udecode/plate[-x].

Patch Changes

1.0.0-next.59

Patch Changes

1.0.0-next.56

Patch Changes

1.0.0-next.55

Patch Changes

1.0.0-next.54

Patch Changes

1.0.0-next.53

Patch Changes

1.0.0-next.46

Patch Changes

1.0.0-next.40

Patch Changes

1.0.0-next.39

Patch Changes

1.0.0-next.37

Patch Changes

1.0.0-next.36

Patch Changes

1.0.0-next.32

Patch Changes

1.0.0-next.30

Patch Changes

1.0.0-next.29

Patch Changes

1.0.0-next.26

Patch Changes