@gravity-ui/markdown-editor 15.19.0 → 15.20.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.
- package/build/cjs/bundle/config/action-names.d.ts +1 -1
- package/build/cjs/bundle/toolbar/ToolbarButtonWithPopupMenu.d.ts +2 -2
- package/build/cjs/bundle/toolbar/ToolbarButtonWithPopupMenu.js.map +1 -1
- package/build/cjs/bundle/toolbar/custom/ToolbarColors.js +1 -1
- package/build/cjs/bundle/toolbar/custom/ToolbarColors.js.map +1 -1
- package/build/cjs/bundle/wysiwyg-preset.js +5 -1
- package/build/cjs/bundle/wysiwyg-preset.js.map +1 -1
- package/build/cjs/extensions/markdown/Lists/ListsSpecs/schema.js +2 -3
- package/build/cjs/extensions/markdown/Lists/ListsSpecs/schema.js.map +1 -1
- package/build/cjs/extensions/yfm/YfmTable/index.d.ts +15 -1
- package/build/cjs/extensions/yfm/YfmTable/index.js +4 -2
- package/build/cjs/extensions/yfm/YfmTable/index.js.map +1 -1
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.d.ts +6 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.js +5 -8
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.js.map +1 -1
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/clear-cells.d.ts +7 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/clear-cells.js +41 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/clear-cells.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/insert-empty-column.d.ts +6 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/insert-empty-column.js +59 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/insert-empty-column.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/insert-empty-row.d.ts +6 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/insert-empty-row.js +54 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/insert-empty-row.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/remove-column-range.d.ts +6 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/remove-column-range.js +77 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/remove-column-range.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/remove-row-range.d.ts +6 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/remove-row-range.js +74 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/remove-row-range.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/FloatingMenu.d.ts +10 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/FloatingMenu.js +45 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/FloatingMenu.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/index.d.ts +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/index.js +5 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/index.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/FloatingMenuControl.d.ts +15 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/FloatingMenuControl.js +67 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/FloatingMenuControl.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/index.d.ts +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/index.js +5 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/index.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/FloatingPlusButton.d.ts +4 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/FloatingPlusButton.js +26 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/FloatingPlusButton.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/InsertCursor.d.ts +6 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/InsertCursor.js +68 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/InsertCursor.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/PlusButton.d.ts +6 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/PlusButton.js +26 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/PlusButton.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/index.d.ts +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/index.js +5 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/index.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/FloatingPlusControl.d.ts +9 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/FloatingPlusControl.js +38 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/FloatingPlusControl.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/index.d.ts +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/index.js +5 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/index.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/FloatingPopup.css +14 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/FloatingPopup.d.ts +13 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/FloatingPopup.js +58 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/FloatingPopup.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/index.d.ts +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/index.js +5 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/index.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/const.d.ts +13 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/const.js +18 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/const.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-drop-cursor.d.ts +36 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-drop-cursor.js +144 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-drop-cursor.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.css +19 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.d.ts +31 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.js +467 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/index.d.ts +12 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/index.js +11 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/index.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-cell-view.d.ts +6 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-cell-view.js +288 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-cell-view.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-view.css +4 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-view.d.ts +3 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-view.js +100 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-view.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/dnd-plugin.d.ts +23 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/dnd-plugin.js +119 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/dnd-plugin.js.map +1 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/focus-plugin.d.ts +17 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/focus-plugin.js +158 -0
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/focus-plugin.js.map +1 -0
- package/build/cjs/i18n/yfm-table/en.json +3 -0
- package/build/cjs/i18n/yfm-table/index.d.ts +4 -1
- package/build/cjs/i18n/yfm-table/ru.json +3 -0
- package/build/cjs/icons/index.d.ts +2 -5
- package/build/cjs/icons/index.js +5 -8
- package/build/cjs/icons/index.js.map +1 -1
- package/build/cjs/lodash.d.ts +3 -1
- package/build/cjs/lodash.js +5 -1
- package/build/cjs/lodash.js.map +1 -1
- package/build/cjs/table-utils/table-desc.d.ts +50 -6
- package/build/cjs/table-utils/table-desc.js +196 -3
- package/build/cjs/table-utils/table-desc.js.map +1 -1
- package/build/cjs/toolbar/ToolbarButtonPopup.js +2 -2
- package/build/cjs/toolbar/ToolbarButtonPopup.js.map +1 -1
- package/build/cjs/toolbar/ToolbarListButton.js +1 -1
- package/build/cjs/toolbar/ToolbarListButton.js.map +1 -1
- package/build/cjs/version.js +1 -1
- package/build/cjs/version.js.map +1 -1
- package/build/esm/bundle/config/action-names.d.ts +1 -1
- package/build/esm/bundle/toolbar/ToolbarButtonWithPopupMenu.d.ts +2 -2
- package/build/esm/bundle/toolbar/ToolbarButtonWithPopupMenu.js.map +1 -1
- package/build/esm/bundle/toolbar/custom/ToolbarColors.js +1 -1
- package/build/esm/bundle/toolbar/custom/ToolbarColors.js.map +1 -1
- package/build/esm/bundle/wysiwyg-preset.js +5 -1
- package/build/esm/bundle/wysiwyg-preset.js.map +1 -1
- package/build/esm/extensions/markdown/Lists/ListsSpecs/schema.js +2 -3
- package/build/esm/extensions/markdown/Lists/ListsSpecs/schema.js.map +1 -1
- package/build/esm/extensions/yfm/YfmTable/index.d.ts +15 -1
- package/build/esm/extensions/yfm/YfmTable/index.js +4 -2
- package/build/esm/extensions/yfm/YfmTable/index.js.map +1 -1
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.d.ts +7 -1
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.js +2 -6
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/actions.js.map +1 -1
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/clear-cells.d.ts +7 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/clear-cells.js +37 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/clear-cells.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/insert-empty-column.d.ts +6 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/insert-empty-column.js +55 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/insert-empty-column.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/insert-empty-row.d.ts +6 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/insert-empty-row.js +50 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/insert-empty-row.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/remove-column-range.d.ts +6 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/remove-column-range.js +73 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/remove-column-range.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/remove-row-range.d.ts +6 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/remove-row-range.js +70 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/commands/remove-row-range.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/FloatingMenu.d.ts +10 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/FloatingMenu.js +41 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/FloatingMenu.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/index.d.ts +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/index.js +2 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenu/index.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/FloatingMenuControl.d.ts +15 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/FloatingMenuControl.js +63 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/FloatingMenuControl.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/index.d.ts +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/index.js +2 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingMenuControl/index.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/FloatingPlusButton.d.ts +4 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/FloatingPlusButton.js +22 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/FloatingPlusButton.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/InsertCursor.d.ts +6 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/InsertCursor.js +64 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/InsertCursor.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/PlusButton.d.ts +6 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/PlusButton.js +22 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/PlusButton.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/index.d.ts +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/index.js +2 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusButton/index.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/FloatingPlusControl.d.ts +9 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/FloatingPlusControl.js +35 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/FloatingPlusControl.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/index.d.ts +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/index.js +2 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPlusControl/index.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/FloatingPopup.css +14 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/FloatingPopup.d.ts +13 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/FloatingPopup.js +54 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/FloatingPopup.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/index.d.ts +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/index.js +2 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/components/FloatingPopup/index.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/const.d.ts +13 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/const.js +15 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/const.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-drop-cursor.d.ts +36 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-drop-cursor.js +139 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-drop-cursor.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.css +19 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.d.ts +31 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.js +463 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/index.d.ts +12 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/index.js +7 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/index.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-cell-view.d.ts +6 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-cell-view.js +284 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-cell-view.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-view.css +4 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-view.d.ts +3 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-view.js +96 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/nodeviews/yfm-table-view.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/dnd-plugin.d.ts +23 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/dnd-plugin.js +108 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/dnd-plugin.js.map +1 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/focus-plugin.d.ts +17 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/focus-plugin.js +153 -0
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/focus-plugin.js.map +1 -0
- package/build/esm/i18n/yfm-table/en.json +3 -0
- package/build/esm/i18n/yfm-table/index.d.ts +4 -1
- package/build/esm/i18n/yfm-table/ru.json +3 -0
- package/build/esm/icons/index.d.ts +2 -5
- package/build/esm/icons/index.js +4 -7
- package/build/esm/icons/index.js.map +1 -1
- package/build/esm/lodash.d.ts +3 -1
- package/build/esm/lodash.js +3 -1
- package/build/esm/lodash.js.map +1 -1
- package/build/esm/table-utils/table-desc.d.ts +50 -6
- package/build/esm/table-utils/table-desc.js +196 -3
- package/build/esm/table-utils/table-desc.js.map +1 -1
- package/build/esm/toolbar/ToolbarButtonPopup.js +2 -2
- package/build/esm/toolbar/ToolbarButtonPopup.js.map +1 -1
- package/build/esm/toolbar/ToolbarListButton.js +1 -1
- package/build/esm/toolbar/ToolbarListButton.js.map +1 -1
- package/build/esm/version.js +1 -1
- package/build/esm/version.js.map +1 -1
- package/build/styles.css +31 -116
- package/package.json +2 -2
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/buttons.d.ts +0 -14
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/buttons.js +0 -97
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/buttons.js.map +0 -1
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/view.css +0 -85
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/view.d.ts +0 -4
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/view.js +0 -62
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/view.js.map +0 -1
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/yfmTableCellView.css +0 -37
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/yfmTableCellView.d.ts +0 -4
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/yfmTableCellView.js +0 -212
- package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/yfmTableCellView.js.map +0 -1
- package/build/cjs/icons/Mermaid.d.ts +0 -3
- package/build/cjs/icons/Mermaid.js +0 -11
- package/build/cjs/icons/Mermaid.js.map +0 -1
- package/build/cjs/icons/Mono.d.ts +0 -3
- package/build/cjs/icons/Mono.js +0 -6
- package/build/cjs/icons/Mono.js.map +0 -1
- package/build/cjs/icons/Tabs.d.ts +0 -3
- package/build/cjs/icons/Tabs.js +0 -6
- package/build/cjs/icons/Tabs.js.map +0 -1
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/buttons.d.ts +0 -14
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/buttons.js +0 -95
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/buttons.js.map +0 -1
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/view.css +0 -85
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/view.d.ts +0 -4
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/view.js +0 -58
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/view.js.map +0 -1
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/yfmTableCellView.css +0 -37
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/yfmTableCellView.d.ts +0 -4
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/yfmTableCellView.js +0 -208
- package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/yfmTableCellView.js.map +0 -1
- package/build/esm/icons/Mermaid.d.ts +0 -3
- package/build/esm/icons/Mermaid.js +0 -9
- package/build/esm/icons/Mermaid.js.map +0 -1
- package/build/esm/icons/Mono.d.ts +0 -3
- package/build/esm/icons/Mono.js +0 -4
- package/build/esm/icons/Mono.js.map +0 -1
- package/build/esm/icons/Tabs.d.ts +0 -3
- package/build/esm/icons/Tabs.js +0 -4
- package/build/esm/icons/Tabs.js.map +0 -1
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.yfmTableControlsPlugin = exports.tableControlsPluginKey = void 0;
|
|
4
|
-
const prosemirror_model_1 = require("prosemirror-model");
|
|
5
|
-
const prosemirror_state_1 = require("prosemirror-state");
|
|
6
|
-
const prosemirror_utils_1 = require("prosemirror-utils");
|
|
7
|
-
const prosemirror_view_1 = require("prosemirror-view");
|
|
8
|
-
const lodash_1 = require("../../../../../lodash.js");
|
|
9
|
-
const table_utils_1 = require("../../../../../table-utils/index.js");
|
|
10
|
-
const utils_1 = require("../../../../../utils/index.js");
|
|
11
|
-
const YfmTableSpecs_1 = require("../../YfmTableSpecs/index.js");
|
|
12
|
-
const view_1 = require("./view.js");
|
|
13
|
-
const yfmTableCellView_1 = require("./yfmTableCellView.js");
|
|
14
|
-
exports.tableControlsPluginKey = new prosemirror_state_1.PluginKey('TableControlsPlugin');
|
|
15
|
-
function shouldUpdateState(prev, curr) {
|
|
16
|
-
if (prev === null && curr === null)
|
|
17
|
-
return false;
|
|
18
|
-
if (prev === null || curr === null)
|
|
19
|
-
return true;
|
|
20
|
-
if (prev.left.from === curr.left.from &&
|
|
21
|
-
prev.left.to === curr.left.to &&
|
|
22
|
-
prev.upper.from === curr.upper.from &&
|
|
23
|
-
prev.upper.to === curr.upper.to)
|
|
24
|
-
return false;
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
// TODO: split: plus buttons extension & cell controls extension
|
|
28
|
-
const yfmTableControlsPlugin = () => new prosemirror_state_1.Plugin({
|
|
29
|
-
key: exports.tableControlsPluginKey,
|
|
30
|
-
state: {
|
|
31
|
-
init: () => null,
|
|
32
|
-
apply: (tr, prev) => {
|
|
33
|
-
const meta = tr.getMeta(exports.tableControlsPluginKey);
|
|
34
|
-
return meta === undefined ? prev : meta;
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
props: {
|
|
38
|
-
nodeViews: {
|
|
39
|
-
[YfmTableSpecs_1.YfmTableNode.Table]: view_1.yfmTableView,
|
|
40
|
-
[YfmTableSpecs_1.YfmTableNode.Cell]: yfmTableCellView_1.yfmTableCellView,
|
|
41
|
-
},
|
|
42
|
-
decorations(state) {
|
|
43
|
-
const pluginState = exports.tableControlsPluginKey.getState(state);
|
|
44
|
-
const parent = (0, prosemirror_utils_1.findParentNode)(table_utils_1.isTableNode)(state.selection) ||
|
|
45
|
-
(0, prosemirror_utils_1.findSelectedNodeOfType)(state.schema.nodes.yfm_table)(state.selection);
|
|
46
|
-
if (!parent)
|
|
47
|
-
return null;
|
|
48
|
-
const decs = [
|
|
49
|
-
prosemirror_view_1.Decoration.node(parent.pos, parent.pos + parent.node.nodeSize, {
|
|
50
|
-
class: (0, view_1.viewB)('buttons-visible'),
|
|
51
|
-
}),
|
|
52
|
-
];
|
|
53
|
-
if (pluginState) {
|
|
54
|
-
const { upper, left } = pluginState;
|
|
55
|
-
decs.unshift(prosemirror_view_1.Decoration.node(left.from, left.to, {
|
|
56
|
-
class: (0, yfmTableCellView_1.yfmTableCellCn)('left-visible'),
|
|
57
|
-
}), prosemirror_view_1.Decoration.node(upper.from, upper.to, {
|
|
58
|
-
class: (0, yfmTableCellView_1.yfmTableCellCn)('upper-visible'),
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
return prosemirror_view_1.DecorationSet.create(state.doc, decs);
|
|
62
|
-
},
|
|
63
|
-
handleDOMEvents: {
|
|
64
|
-
mousemove: (0, lodash_1.throttle)((view, e) => {
|
|
65
|
-
const prevState = exports.tableControlsPluginKey.getState(view.state);
|
|
66
|
-
const pos = view.posAtCoords({ left: e.x, top: e.y });
|
|
67
|
-
if (!pos)
|
|
68
|
-
return false;
|
|
69
|
-
const $pos = view.state.doc.resolve(pos.pos);
|
|
70
|
-
const cell = (0, prosemirror_utils_1.findParentNodeClosestToPos)($pos, table_utils_1.isTableCellNode);
|
|
71
|
-
const row = (0, prosemirror_utils_1.findParentNodeClosestToPos)($pos, table_utils_1.isTableRowNode);
|
|
72
|
-
const tbody = (0, prosemirror_utils_1.findParentNodeClosestToPos)($pos, table_utils_1.isTableBodyNode);
|
|
73
|
-
let state = null;
|
|
74
|
-
if (cell && row && tbody) {
|
|
75
|
-
const cellIndex = (0, utils_1.getChildrenOfNode)(row.node).findIndex((child) => child.node === cell.node);
|
|
76
|
-
const firstRowCell = (0, utils_1.getChildrenOfNode)(tbody.node.firstChild || prosemirror_model_1.Fragment.empty)[cellIndex];
|
|
77
|
-
if (firstRowCell) {
|
|
78
|
-
const upperFrom = tbody.pos + 2 + firstRowCell.offset;
|
|
79
|
-
const upperTo = upperFrom + firstRowCell.node.nodeSize;
|
|
80
|
-
const leftFrom = row.pos;
|
|
81
|
-
const leftTo = row.pos + row.node.nodeSize;
|
|
82
|
-
state = {
|
|
83
|
-
upper: { from: upperFrom, to: upperTo },
|
|
84
|
-
left: { from: leftFrom, to: leftTo },
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
if (shouldUpdateState(prevState, state)) {
|
|
89
|
-
view.dispatch(view.state.tr.setMeta(exports.tableControlsPluginKey, state));
|
|
90
|
-
}
|
|
91
|
-
return false;
|
|
92
|
-
}, 100),
|
|
93
|
-
},
|
|
94
|
-
},
|
|
95
|
-
});
|
|
96
|
-
exports.yfmTableControlsPlugin = yfmTableControlsPlugin;
|
|
97
|
-
//# sourceMappingURL=buttons.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buttons.js","sourceRoot":"../../../../../../../src","sources":["extensions/yfm/YfmTable/plugins/YfmTableControls/buttons.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Fragment} from 'prosemirror-model';\nimport {Plugin, PluginKey} from 'prosemirror-state';\nimport {\n findParentNode,\n findParentNodeClosestToPos,\n findSelectedNodeOfType,\n // @ts-ignore // TODO: fix cjs build\n} from 'prosemirror-utils';\nimport {Decoration, DecorationSet, type EditorView} from 'prosemirror-view';\n\nimport {throttle} from '../../../../../lodash';\nimport {\n isTableBodyNode,\n isTableCellNode,\n isTableNode,\n isTableRowNode,\n} from '../../../../../table-utils';\nimport {getChildrenOfNode} from '../../../../../utils';\nimport {YfmTableNode} from '../../YfmTableSpecs';\n\nimport {viewB, yfmTableView} from './view';\nimport {yfmTableCellCn, yfmTableCellView} from './yfmTableCellView';\n\nexport const tableControlsPluginKey = new PluginKey('TableControlsPlugin');\n\ntype Meta = State | undefined;\ntype State = null | {\n upper: {from: number; to: number};\n left: {from: number; to: number};\n};\n\nfunction shouldUpdateState(prev: State, curr: State): boolean {\n if (prev === null && curr === null) return false;\n if (prev === null || curr === null) return true;\n if (\n prev.left.from === curr.left.from &&\n prev.left.to === curr.left.to &&\n prev.upper.from === curr.upper.from &&\n prev.upper.to === curr.upper.to\n )\n return false;\n return true;\n}\n\n// TODO: split: plus buttons extension & cell controls extension\nexport const yfmTableControlsPlugin = () =>\n new Plugin<State>({\n key: tableControlsPluginKey,\n state: {\n init: () => null,\n apply: (tr, prev) => {\n const meta: Meta = tr.getMeta(tableControlsPluginKey);\n return meta === undefined ? prev : meta;\n },\n },\n props: {\n nodeViews: {\n [YfmTableNode.Table]: yfmTableView,\n [YfmTableNode.Cell]: yfmTableCellView,\n },\n decorations(state) {\n const pluginState = tableControlsPluginKey.getState(state);\n const parent =\n findParentNode(isTableNode)(state.selection) ||\n findSelectedNodeOfType(state.schema.nodes.yfm_table)(state.selection);\n if (!parent) return null;\n\n const decs = [\n Decoration.node(parent.pos, parent.pos + parent.node.nodeSize, {\n class: viewB('buttons-visible'),\n }),\n ];\n\n if (pluginState) {\n const {upper, left} = pluginState;\n decs.unshift(\n Decoration.node(left.from, left.to, {\n class: yfmTableCellCn('left-visible'),\n }),\n Decoration.node(upper.from, upper.to, {\n class: yfmTableCellCn('upper-visible'),\n }),\n );\n }\n\n return DecorationSet.create(state.doc, decs);\n },\n handleDOMEvents: {\n mousemove: throttle((view: EditorView, e: MouseEvent) => {\n const prevState: State = tableControlsPluginKey.getState(view.state);\n const pos = view.posAtCoords({left: e.x, top: e.y});\n if (!pos) return false;\n\n const $pos = view.state.doc.resolve(pos.pos);\n const cell = findParentNodeClosestToPos($pos, isTableCellNode);\n const row = findParentNodeClosestToPos($pos, isTableRowNode);\n const tbody = findParentNodeClosestToPos($pos, isTableBodyNode);\n\n let state: State = null;\n\n if (cell && row && tbody) {\n const cellIndex = getChildrenOfNode(row.node).findIndex(\n (child) => child.node === cell.node,\n );\n const firstRowCell = getChildrenOfNode(\n tbody.node.firstChild || Fragment.empty,\n )[cellIndex];\n\n if (firstRowCell) {\n const upperFrom = tbody.pos + 2 + firstRowCell.offset;\n const upperTo = upperFrom + firstRowCell.node.nodeSize;\n\n const leftFrom = row.pos;\n const leftTo = row.pos + row.node.nodeSize;\n\n state = {\n upper: {from: upperFrom, to: upperTo},\n left: {from: leftFrom, to: leftTo},\n };\n }\n }\n\n if (shouldUpdateState(prevState, state)) {\n view.dispatch(view.state.tr.setMeta(tableControlsPluginKey, state));\n }\n\n return false;\n }, 100),\n },\n },\n });\n"]}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
.g-md-table-view__hack-strip {
|
|
2
|
-
position: absolute;
|
|
3
|
-
left: -13px;
|
|
4
|
-
display: block;
|
|
5
|
-
width: 13px;
|
|
6
|
-
height: 100%;
|
|
7
|
-
background: transparent;
|
|
8
|
-
}
|
|
9
|
-
.g-md-table-view__wrapper {
|
|
10
|
-
position: relative;
|
|
11
|
-
display: inline-block;
|
|
12
|
-
max-width: calc(100% - 16px);
|
|
13
|
-
margin-right: 16px;
|
|
14
|
-
/* stylelint-disable declaration-no-important */
|
|
15
|
-
margin-bottom: 16px !important;
|
|
16
|
-
}
|
|
17
|
-
.g-md-table-view__buttons-visible .g-md-table-view__plus-button-controls {
|
|
18
|
-
visibility: visible;
|
|
19
|
-
pointer-events: initial;
|
|
20
|
-
opacity: 1;
|
|
21
|
-
}
|
|
22
|
-
.g-md-table-view__plus-button-controls {
|
|
23
|
-
visibility: hidden;
|
|
24
|
-
pointer-events: none;
|
|
25
|
-
opacity: 0;
|
|
26
|
-
transition: opacity 150ms ease 50ms;
|
|
27
|
-
}
|
|
28
|
-
.g-md-table-view__plus-button-controls_right {
|
|
29
|
-
position: absolute;
|
|
30
|
-
z-index: 100;
|
|
31
|
-
top: 0;
|
|
32
|
-
right: -18px;
|
|
33
|
-
display: flex;
|
|
34
|
-
align-items: center;
|
|
35
|
-
width: 16px;
|
|
36
|
-
height: 100%;
|
|
37
|
-
}
|
|
38
|
-
.g-md-table-view__plus-button-controls_bottom {
|
|
39
|
-
position: absolute;
|
|
40
|
-
z-index: 100;
|
|
41
|
-
bottom: -18px;
|
|
42
|
-
display: flex;
|
|
43
|
-
justify-content: center;
|
|
44
|
-
width: 100%;
|
|
45
|
-
height: 16px;
|
|
46
|
-
}
|
|
47
|
-
.g-md-table-view__plus-button {
|
|
48
|
-
--_--padding: 8px;
|
|
49
|
-
display: flex;
|
|
50
|
-
justify-content: center;
|
|
51
|
-
align-items: center;
|
|
52
|
-
height: 100%;
|
|
53
|
-
}
|
|
54
|
-
.g-md-table-view__plus-button_right {
|
|
55
|
-
width: 16px;
|
|
56
|
-
height: 100%;
|
|
57
|
-
}
|
|
58
|
-
.g-md-table-view__plus-button_bottom {
|
|
59
|
-
width: 100%;
|
|
60
|
-
height: 16px;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.g-md-table-view.g-md-table-view {
|
|
64
|
-
z-index: unset;
|
|
65
|
-
display: block;
|
|
66
|
-
overflow: auto;
|
|
67
|
-
box-sizing: content-box;
|
|
68
|
-
width: fit-content;
|
|
69
|
-
margin: -13px 0 0 -13px;
|
|
70
|
-
padding: 13px 0 0 13px;
|
|
71
|
-
border: none;
|
|
72
|
-
border-radius: 0;
|
|
73
|
-
background: transparent !important;
|
|
74
|
-
}
|
|
75
|
-
.g-md-table-view.g-md-table-view tbody {
|
|
76
|
-
border-radius: 8px;
|
|
77
|
-
background: var(--g-color-base-background);
|
|
78
|
-
box-shadow: inset 0 0 0 1px var(--g-color-line-generic);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
.g-md-table-wrapper {
|
|
82
|
-
display: inline-block;
|
|
83
|
-
width: 100%;
|
|
84
|
-
margin-right: 2px;
|
|
85
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.yfmTableView = exports.viewB = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const uikit_1 = require("@gravity-ui/uikit");
|
|
6
|
-
const classname_1 = require("../../../../../classname.js");
|
|
7
|
-
const core_1 = require("../../../../../core/index.js");
|
|
8
|
-
const ErrorBoundary_1 = require("../../../../../react-utils/ErrorBoundary.js");
|
|
9
|
-
const table_utils_1 = require("../../../../../table-utils/index.js");
|
|
10
|
-
const ReactRenderer_1 = require("../../../../behavior/ReactRenderer/index.js");
|
|
11
|
-
const actions_1 = require("./actions.js");
|
|
12
|
-
require("./view.css");
|
|
13
|
-
const wrapperB = (0, classname_1.cn)('table-wrapper');
|
|
14
|
-
exports.viewB = (0, classname_1.cn)('table-view');
|
|
15
|
-
const yfmTableView = (node, view, getPos) => {
|
|
16
|
-
const actions = (0, core_1.bindActions)(actions_1.controlActions)(view);
|
|
17
|
-
const wrapperElem = document.createElement('div');
|
|
18
|
-
wrapperElem.classList.add(wrapperB());
|
|
19
|
-
wrapperElem.dataset.qa = 'g-md-yfm-table-wrapper';
|
|
20
|
-
const tableElem = document.createElement('table');
|
|
21
|
-
tableElem.classList.add((0, exports.viewB)());
|
|
22
|
-
const viewElem = document.createElement('div');
|
|
23
|
-
viewElem.classList.add((0, exports.viewB)('wrapper'));
|
|
24
|
-
const controls = document.createElement('div');
|
|
25
|
-
controls.setAttribute('contenteditable', 'false');
|
|
26
|
-
const hackStrip = document.createElement('div');
|
|
27
|
-
// this is a strip of a table height. it's a hack so that content of table doesn't get outside of editor borders
|
|
28
|
-
// and thus editing buttons are not cropped
|
|
29
|
-
hackStrip.classList.add((0, exports.viewB)('hack-strip'));
|
|
30
|
-
viewElem.appendChild(hackStrip);
|
|
31
|
-
viewElem.appendChild(tableElem);
|
|
32
|
-
viewElem.appendChild(controls);
|
|
33
|
-
wrapperElem.appendChild(viewElem);
|
|
34
|
-
const components = [
|
|
35
|
-
(0, jsx_runtime_1.jsx)("div", { className: (0, exports.viewB)('plus-button-controls', { bottom: true }), children: (0, jsx_runtime_1.jsx)(uikit_1.Button, { onClick: () => {
|
|
36
|
-
actions.appendRow.run({ tablePos: getPos() });
|
|
37
|
-
}, className: (0, exports.viewB)('plus-button', { bottom: true }), view: 'normal', qa: "g-md-yfm-table-plus-row", children: "+" }) }, 1),
|
|
38
|
-
(0, jsx_runtime_1.jsx)("div", { className: (0, exports.viewB)('plus-button-controls', { right: true }), children: (0, jsx_runtime_1.jsx)(uikit_1.Button, { onClick: () => {
|
|
39
|
-
actions.appendColumn.run({ tablePos: getPos() });
|
|
40
|
-
}, className: (0, exports.viewB)('plus-button', { right: true }), view: 'normal', qa: "g-md-yfm-table-plus-column", children: "+" }) }, 2),
|
|
41
|
-
];
|
|
42
|
-
const renderItem = (0, ReactRenderer_1.getReactRendererFromState)(view.state).createItem('yfm-table-plus-buttons', () => ((0, jsx_runtime_1.jsx)(uikit_1.Portal, { container: controls, children: (0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorLoggerBoundary, { children: components }) })));
|
|
43
|
-
return {
|
|
44
|
-
dom: wrapperElem,
|
|
45
|
-
contentDOM: tableElem,
|
|
46
|
-
destroy() {
|
|
47
|
-
renderItem.remove();
|
|
48
|
-
viewElem.remove();
|
|
49
|
-
},
|
|
50
|
-
update(n) {
|
|
51
|
-
const { rows: nRows, cols: nCols } = (0, table_utils_1.getTableDimensions)(n);
|
|
52
|
-
const { rows, cols } = (0, table_utils_1.getTableDimensions)(node);
|
|
53
|
-
return !(rows !== nRows || cols !== nCols);
|
|
54
|
-
},
|
|
55
|
-
ignoreMutation(mutation) {
|
|
56
|
-
return (mutation.type === 'childList' &&
|
|
57
|
-
(mutation.target === controls || controls.contains(mutation.target)));
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
exports.yfmTableView = yfmTableView;
|
|
62
|
-
//# sourceMappingURL=view.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"../../../../../../../src","sources":["extensions/yfm/YfmTable/plugins/YfmTableControls/view.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Button, Portal} from '@gravity-ui/uikit';\n\nimport {cn} from '../../../../../classname';\nimport {type NodeViewConstructor, bindActions} from '../../../../../core';\nimport {ErrorLoggerBoundary} from '../../../../../react-utils/ErrorBoundary';\nimport {getTableDimensions} from '../../../../../table-utils';\nimport {getReactRendererFromState} from '../../../../behavior/ReactRenderer';\n\nimport {controlActions} from './actions';\n\nimport './view.scss';\n\nconst wrapperB = cn('table-wrapper');\nexport const viewB = cn('table-view');\n\nexport const yfmTableView: NodeViewConstructor = (node, view, getPos) => {\n const actions = bindActions(controlActions)(view);\n\n const wrapperElem = document.createElement('div');\n wrapperElem.classList.add(wrapperB());\n wrapperElem.dataset.qa = 'g-md-yfm-table-wrapper';\n\n const tableElem = document.createElement('table');\n tableElem.classList.add(viewB());\n\n const viewElem = document.createElement('div');\n viewElem.classList.add(viewB('wrapper'));\n\n const controls = document.createElement('div');\n controls.setAttribute('contenteditable', 'false');\n\n const hackStrip = document.createElement('div');\n // this is a strip of a table height. it's a hack so that content of table doesn't get outside of editor borders\n // and thus editing buttons are not cropped\n hackStrip.classList.add(viewB('hack-strip'));\n\n viewElem.appendChild(hackStrip);\n viewElem.appendChild(tableElem);\n viewElem.appendChild(controls);\n wrapperElem.appendChild(viewElem);\n\n const components = [\n <div className={viewB('plus-button-controls', {bottom: true})} key={1}>\n <Button\n onClick={() => {\n actions.appendRow.run({tablePos: getPos()});\n }}\n className={viewB('plus-button', {bottom: true})}\n view={'normal'}\n qa=\"g-md-yfm-table-plus-row\"\n >\n +\n </Button>\n </div>,\n <div className={viewB('plus-button-controls', {right: true})} key={2}>\n <Button\n onClick={() => {\n actions.appendColumn.run({tablePos: getPos()});\n }}\n className={viewB('plus-button', {right: true})}\n view={'normal'}\n qa=\"g-md-yfm-table-plus-column\"\n >\n +\n </Button>\n </div>,\n ];\n\n const renderItem = getReactRendererFromState(view.state).createItem(\n 'yfm-table-plus-buttons',\n () => (\n <Portal container={controls}>\n <ErrorLoggerBoundary>{components}</ErrorLoggerBoundary>\n </Portal>\n ),\n );\n\n return {\n dom: wrapperElem,\n contentDOM: tableElem,\n destroy() {\n renderItem.remove();\n viewElem.remove();\n },\n update(n) {\n const {rows: nRows, cols: nCols} = getTableDimensions(n);\n const {rows, cols} = getTableDimensions(node);\n return !(rows !== nRows || cols !== nCols);\n },\n ignoreMutation(mutation) {\n return (\n mutation.type === 'childList' &&\n (mutation.target === controls || controls.contains(mutation.target))\n );\n },\n };\n};\n"]}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
.g-md-table-cell-view__left-button {
|
|
2
|
-
position: absolute;
|
|
3
|
-
z-index: 110;
|
|
4
|
-
top: calc(50% - 14px);
|
|
5
|
-
left: -13px;
|
|
6
|
-
visibility: hidden;
|
|
7
|
-
pointer-events: none;
|
|
8
|
-
border-radius: var(--g-border-radius-s);
|
|
9
|
-
background: var(--g-color-base-background);
|
|
10
|
-
}
|
|
11
|
-
.g-md-table-cell-view__left-button:hover {
|
|
12
|
-
visibility: visible;
|
|
13
|
-
pointer-events: initial;
|
|
14
|
-
}
|
|
15
|
-
.g-md-table-cell-view__upper-button {
|
|
16
|
-
position: absolute;
|
|
17
|
-
z-index: 110;
|
|
18
|
-
top: -13px;
|
|
19
|
-
left: calc(50% - 14px);
|
|
20
|
-
visibility: hidden;
|
|
21
|
-
pointer-events: none;
|
|
22
|
-
border-radius: var(--g-border-radius-s);
|
|
23
|
-
background: var(--g-color-base-background);
|
|
24
|
-
transform: rotate(90deg);
|
|
25
|
-
}
|
|
26
|
-
.g-md-table-cell-view__upper-button:hover {
|
|
27
|
-
visibility: visible;
|
|
28
|
-
pointer-events: initial;
|
|
29
|
-
}
|
|
30
|
-
.g-md-table-cell-view__upper-visible .g-md-table-cell-view__upper-button {
|
|
31
|
-
visibility: visible;
|
|
32
|
-
pointer-events: initial;
|
|
33
|
-
}
|
|
34
|
-
.g-md-table-cell-view__left-visible .g-md-table-cell-view__left-button {
|
|
35
|
-
visibility: visible;
|
|
36
|
-
pointer-events: initial;
|
|
37
|
-
}
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.yfmTableCellView = exports.yfmTableCellCn = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const icons_1 = require("@gravity-ui/icons");
|
|
6
|
-
const uikit_1 = require("@gravity-ui/uikit");
|
|
7
|
-
// @ts-ignore // TODO: fix cjs build
|
|
8
|
-
const prosemirror_utils_1 = require("prosemirror-utils");
|
|
9
|
-
const classname_1 = require("../../../../../classname.js");
|
|
10
|
-
const core_1 = require("../../../../../core/index.js");
|
|
11
|
-
const yfm_table_1 = require("../../../../../i18n/yfm-table/index.js");
|
|
12
|
-
const ErrorBoundary_1 = require("../../../../../react-utils/ErrorBoundary.js");
|
|
13
|
-
const table_utils_1 = require("../../../../../table-utils/index.js");
|
|
14
|
-
const node_children_1 = require("../../../../../utils/node-children.js");
|
|
15
|
-
const nodes_1 = require("../../../../../utils/nodes.js");
|
|
16
|
-
const ReactRenderer_1 = require("../../../../behavior/ReactRenderer/index.js");
|
|
17
|
-
const const_1 = require("../../const.js");
|
|
18
|
-
const actions_1 = require("./actions.js");
|
|
19
|
-
require("./yfmTableCellView.css");
|
|
20
|
-
exports.yfmTableCellCn = (0, classname_1.cn)('table-cell-view');
|
|
21
|
-
const b = exports.yfmTableCellCn;
|
|
22
|
-
const Controls = function Controls({ columnNumber, rowNumber, view, getParentTable, isInFirstRow, isFirstInRow, }) {
|
|
23
|
-
const actions = (0, core_1.bindActions)(actions_1.controlActions)(view);
|
|
24
|
-
const controls = [];
|
|
25
|
-
if (isFirstInRow) {
|
|
26
|
-
controls.push((0, jsx_runtime_1.jsx)(uikit_1.DropdownMenu, { switcherWrapperClassName: b('left-button'), renderSwitcher: (props) => ((0, jsx_runtime_1.jsx)(uikit_1.Button, { view: 'outlined', size: 's', qa: "g-md-yfm-table-row-btn", ...props, children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.EllipsisVertical }) })), menuProps: { qa: 'g-md-yfm-table-row-menu' }, items: [
|
|
27
|
-
{
|
|
28
|
-
text: (0, yfm_table_1.i18n)('row.add.before'),
|
|
29
|
-
qa: 'g-md-yfm-table-action-add-row-before',
|
|
30
|
-
action: () => actions.appendRow.run({
|
|
31
|
-
tablePos: getParentTable()?.pos,
|
|
32
|
-
rowNumber,
|
|
33
|
-
direction: 'before',
|
|
34
|
-
}),
|
|
35
|
-
iconStart: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.ArrowUp }),
|
|
36
|
-
disabled: !actions.appendRow.isEnable({
|
|
37
|
-
tablePos: getParentTable()?.pos,
|
|
38
|
-
rowNumber,
|
|
39
|
-
direction: 'before',
|
|
40
|
-
}),
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
text: (0, yfm_table_1.i18n)('row.add.after'),
|
|
44
|
-
qa: 'g-md-yfm-table-action-add-row-after',
|
|
45
|
-
action: () => actions.appendRow.run({
|
|
46
|
-
tablePos: getParentTable()?.pos,
|
|
47
|
-
rowNumber,
|
|
48
|
-
direction: 'after',
|
|
49
|
-
}),
|
|
50
|
-
iconStart: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.ArrowDown }),
|
|
51
|
-
disabled: !actions.appendRow.isEnable({
|
|
52
|
-
tablePos: getParentTable()?.pos,
|
|
53
|
-
rowNumber,
|
|
54
|
-
direction: 'after',
|
|
55
|
-
}),
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
text: (0, yfm_table_1.i18n)('row.remove'),
|
|
59
|
-
qa: 'g-md-yfm-table-action-remove-row',
|
|
60
|
-
action: () => actions.deleteRow.run({
|
|
61
|
-
rowNumber,
|
|
62
|
-
tablePos: getParentTable()?.pos,
|
|
63
|
-
}),
|
|
64
|
-
iconStart: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.Xmark }),
|
|
65
|
-
disabled: !actions.deleteRow.isEnable({
|
|
66
|
-
rowNumber,
|
|
67
|
-
tablePos: getParentTable()?.pos,
|
|
68
|
-
}),
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
theme: 'danger',
|
|
72
|
-
text: (0, yfm_table_1.i18n)('table.remove'),
|
|
73
|
-
qa: 'g-md-yfm-table-action-remove-table',
|
|
74
|
-
action: () => actions.deleteTable.run({
|
|
75
|
-
tablePos: getParentTable()?.pos,
|
|
76
|
-
tableNode: getParentTable()?.node,
|
|
77
|
-
}),
|
|
78
|
-
iconStart: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.TrashBin }),
|
|
79
|
-
disabled: !actions.deleteTable.isEnable({
|
|
80
|
-
tablePos: getParentTable()?.pos,
|
|
81
|
-
tableNode: getParentTable()?.node,
|
|
82
|
-
}),
|
|
83
|
-
},
|
|
84
|
-
] }, 1));
|
|
85
|
-
}
|
|
86
|
-
if (isInFirstRow) {
|
|
87
|
-
controls.push((0, jsx_runtime_1.jsx)(uikit_1.DropdownMenu, { switcherWrapperClassName: b('upper-button'), renderSwitcher: (props) => ((0, jsx_runtime_1.jsx)(uikit_1.Button, { view: 'outlined', size: 's', qa: "g-md-yfm-table-column-btn", ...props, children: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.EllipsisVertical }) })), menuProps: { qa: 'g-md-yfm-table-column-menu' }, items: [
|
|
88
|
-
{
|
|
89
|
-
text: (0, yfm_table_1.i18n)('column.add.before'),
|
|
90
|
-
qa: 'g-md-yfm-table-action-add-column-before',
|
|
91
|
-
action: () => actions.appendColumn.run({
|
|
92
|
-
tablePos: getParentTable()?.pos,
|
|
93
|
-
columnNumber,
|
|
94
|
-
direction: 'before',
|
|
95
|
-
}),
|
|
96
|
-
iconStart: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.ArrowLeft }),
|
|
97
|
-
disabled: !actions.appendColumn.isEnable({
|
|
98
|
-
tablePos: getParentTable()?.pos,
|
|
99
|
-
columnNumber,
|
|
100
|
-
direction: 'before',
|
|
101
|
-
}),
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
text: (0, yfm_table_1.i18n)('column.add.after'),
|
|
105
|
-
qa: 'g-md-yfm-table-action-add-column-after',
|
|
106
|
-
action: () => actions.appendColumn.run({
|
|
107
|
-
tablePos: getParentTable()?.pos,
|
|
108
|
-
columnNumber,
|
|
109
|
-
direction: 'after',
|
|
110
|
-
}),
|
|
111
|
-
iconStart: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.ArrowRight }),
|
|
112
|
-
disabled: !actions.appendColumn.isEnable({
|
|
113
|
-
tablePos: getParentTable()?.pos,
|
|
114
|
-
columnNumber,
|
|
115
|
-
direction: 'after',
|
|
116
|
-
}),
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
text: (0, yfm_table_1.i18n)('column.remove'),
|
|
120
|
-
qa: 'g-md-yfm-table-action-remove-column',
|
|
121
|
-
action: () => actions.deleteColumn.run({
|
|
122
|
-
columnNumber,
|
|
123
|
-
tablePos: getParentTable()?.pos,
|
|
124
|
-
}),
|
|
125
|
-
iconStart: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.Xmark }),
|
|
126
|
-
disabled: !actions.deleteColumn.isEnable({
|
|
127
|
-
columnNumber,
|
|
128
|
-
tablePos: getParentTable()?.pos,
|
|
129
|
-
}),
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
theme: 'danger',
|
|
133
|
-
text: (0, yfm_table_1.i18n)('table.remove'),
|
|
134
|
-
qa: 'g-md-yfm-table-action-remove-table',
|
|
135
|
-
action: () => actions.deleteTable.run({
|
|
136
|
-
tablePos: getParentTable()?.pos,
|
|
137
|
-
tableNode: getParentTable()?.node,
|
|
138
|
-
}),
|
|
139
|
-
iconStart: (0, jsx_runtime_1.jsx)(uikit_1.Icon, { data: icons_1.TrashBin }),
|
|
140
|
-
disabled: !actions.deleteTable.isEnable({
|
|
141
|
-
tablePos: getParentTable()?.pos,
|
|
142
|
-
tableNode: getParentTable()?.node,
|
|
143
|
-
}),
|
|
144
|
-
},
|
|
145
|
-
] }, 2));
|
|
146
|
-
}
|
|
147
|
-
return controls.length ? (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: controls }) : null;
|
|
148
|
-
};
|
|
149
|
-
const yfmTableCellView = (node, view, getPos) => {
|
|
150
|
-
const getParentTable = () => (0, prosemirror_utils_1.findParentNodeClosestToPos)(view.state.doc.resolve(getPos()), table_utils_1.isTableNode);
|
|
151
|
-
const parentTable = getParentTable();
|
|
152
|
-
const cellCoords = parentTable ? findCellCoords(parentTable.node, node) : null;
|
|
153
|
-
// @ts-expect-error
|
|
154
|
-
if (!cellCoords)
|
|
155
|
-
return {};
|
|
156
|
-
const { cellIndex, rowIndex } = cellCoords;
|
|
157
|
-
const isFirstRow = rowIndex === 0;
|
|
158
|
-
const isFirstColumn = cellIndex === 0;
|
|
159
|
-
if (!isFirstRow && !isFirstColumn) {
|
|
160
|
-
// in this case, we don't need custom nodeView.
|
|
161
|
-
// @ts-expect-error
|
|
162
|
-
return {};
|
|
163
|
-
}
|
|
164
|
-
const dom = document.createElement('td');
|
|
165
|
-
if (node.attrs[const_1.YfmTableAttr.Colspan])
|
|
166
|
-
dom.setAttribute('colspan', node.attrs[const_1.YfmTableAttr.Colspan]);
|
|
167
|
-
if (node.attrs[const_1.YfmTableAttr.Rowspan])
|
|
168
|
-
dom.setAttribute('rowspan', node.attrs[const_1.YfmTableAttr.Rowspan]);
|
|
169
|
-
if (node.attrs[const_1.YfmTableAttr.CellAlign]) {
|
|
170
|
-
dom.classList.add(node.attrs[const_1.YfmTableAttr.CellAlign]);
|
|
171
|
-
dom.setAttribute(const_1.YfmTableAttr.CellAlign, node.attrs[const_1.YfmTableAttr.Rowspan]);
|
|
172
|
-
}
|
|
173
|
-
const contentDOM = document.createElement('div');
|
|
174
|
-
const control = document.createElement('span');
|
|
175
|
-
control.setAttribute('style', 'width: 0; height: 0; float: left;');
|
|
176
|
-
dom.setAttribute('style', 'position: relative; overflow: visible;');
|
|
177
|
-
dom.appendChild(contentDOM);
|
|
178
|
-
dom.appendChild(control);
|
|
179
|
-
const renderItem = (0, ReactRenderer_1.getReactRendererFromState)(view.state).createItem('yfm-table-cell-view', () => ((0, jsx_runtime_1.jsx)(uikit_1.Portal, { container: control, children: (0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorLoggerBoundary, { children: (0, jsx_runtime_1.jsx)(Controls, { columnNumber: cellIndex, rowNumber: rowIndex, isFirstInRow: isFirstColumn, isInFirstRow: isFirstRow, getParentTable: getParentTable, view: view }) }) })));
|
|
180
|
-
return {
|
|
181
|
-
dom,
|
|
182
|
-
contentDOM,
|
|
183
|
-
destroy() {
|
|
184
|
-
renderItem.remove();
|
|
185
|
-
},
|
|
186
|
-
ignoreMutation(mutation) {
|
|
187
|
-
return mutation.target === control || control.contains(mutation.target);
|
|
188
|
-
},
|
|
189
|
-
update(n) {
|
|
190
|
-
const { rows: nRows, cols: nCols } = (0, table_utils_1.getTableDimensions)(n);
|
|
191
|
-
const { rows, cols } = (0, table_utils_1.getTableDimensions)(node);
|
|
192
|
-
return !(rows !== nRows || cols !== nCols);
|
|
193
|
-
},
|
|
194
|
-
};
|
|
195
|
-
};
|
|
196
|
-
exports.yfmTableCellView = yfmTableCellView;
|
|
197
|
-
function findCellCoords(table, cell) {
|
|
198
|
-
if (!table.lastChild)
|
|
199
|
-
return null;
|
|
200
|
-
const rows = (0, nodes_1.getChildrenOfNode)(table.lastChild); // children of tBody
|
|
201
|
-
for (const row of rows) {
|
|
202
|
-
const node = (0, node_children_1.getChildByNode)(row.node, cell);
|
|
203
|
-
if (node) {
|
|
204
|
-
return {
|
|
205
|
-
rowIndex: row.index,
|
|
206
|
-
cellIndex: node.index,
|
|
207
|
-
};
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
return null;
|
|
211
|
-
}
|
|
212
|
-
//# sourceMappingURL=yfmTableCellView.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"yfmTableCellView.js","sourceRoot":"../../../../../../../src","sources":["extensions/yfm/YfmTable/plugins/YfmTableControls/yfmTableCellView.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n ArrowDown,\n ArrowLeft,\n ArrowRight,\n ArrowUp,\n EllipsisVertical,\n TrashBin,\n Xmark,\n} from '@gravity-ui/icons';\nimport {Button, DropdownMenu, Icon, Portal} from '@gravity-ui/uikit';\nimport type {Node} from 'prosemirror-model';\n// @ts-ignore // TODO: fix cjs build\nimport {type NodeWithPos, findParentNodeClosestToPos} from 'prosemirror-utils';\nimport type {EditorView, NodeView, NodeViewConstructor} from 'prosemirror-view';\n\nimport {cn} from '../../../../../classname';\nimport {bindActions} from '../../../../../core';\nimport {i18n} from '../../../../../i18n/yfm-table';\nimport {ErrorLoggerBoundary} from '../../../../../react-utils/ErrorBoundary';\nimport {getTableDimensions, isTableNode} from '../../../../../table-utils';\nimport {getChildByNode} from '../../../../../utils/node-children';\nimport {getChildrenOfNode} from '../../../../../utils/nodes';\nimport {getReactRendererFromState} from '../../../../behavior/ReactRenderer';\nimport {YfmTableAttr} from '../../const';\n\nimport {controlActions} from './actions';\n\nimport './yfmTableCellView.scss';\n\nexport const yfmTableCellCn = cn('table-cell-view');\nconst b = yfmTableCellCn;\n\ninterface Props {\n columnNumber: number;\n rowNumber: number;\n view: EditorView;\n getParentTable: () => NodeWithPos | undefined;\n isInFirstRow: boolean;\n isFirstInRow: boolean;\n}\n\nconst Controls: React.FC<Props> = function Controls({\n columnNumber,\n rowNumber,\n view,\n getParentTable,\n isInFirstRow,\n isFirstInRow,\n}) {\n const actions = bindActions(controlActions)(view);\n\n const controls: React.ReactElement[] = [];\n\n if (isFirstInRow) {\n controls.push(\n <DropdownMenu\n key={1}\n switcherWrapperClassName={b('left-button')}\n renderSwitcher={(props) => (\n <Button view={'outlined'} size={'s'} qa=\"g-md-yfm-table-row-btn\" {...props}>\n <Icon data={EllipsisVertical} />\n </Button>\n )}\n menuProps={{qa: 'g-md-yfm-table-row-menu'}}\n items={[\n {\n text: i18n('row.add.before'),\n qa: 'g-md-yfm-table-action-add-row-before',\n action: () =>\n actions.appendRow.run({\n tablePos: getParentTable()?.pos,\n rowNumber,\n direction: 'before',\n }),\n iconStart: <Icon data={ArrowUp} />,\n disabled: !actions.appendRow.isEnable({\n tablePos: getParentTable()?.pos,\n rowNumber,\n direction: 'before',\n }),\n },\n {\n text: i18n('row.add.after'),\n qa: 'g-md-yfm-table-action-add-row-after',\n action: () =>\n actions.appendRow.run({\n tablePos: getParentTable()?.pos,\n rowNumber,\n direction: 'after',\n }),\n iconStart: <Icon data={ArrowDown} />,\n disabled: !actions.appendRow.isEnable({\n tablePos: getParentTable()?.pos,\n rowNumber,\n direction: 'after',\n }),\n },\n {\n text: i18n('row.remove'),\n qa: 'g-md-yfm-table-action-remove-row',\n action: () =>\n actions.deleteRow.run({\n rowNumber,\n tablePos: getParentTable()?.pos,\n }),\n iconStart: <Icon data={Xmark} />,\n disabled: !actions.deleteRow.isEnable({\n rowNumber,\n tablePos: getParentTable()?.pos,\n }),\n },\n {\n theme: 'danger',\n text: i18n('table.remove'),\n qa: 'g-md-yfm-table-action-remove-table',\n action: () =>\n actions.deleteTable.run({\n tablePos: getParentTable()?.pos,\n tableNode: getParentTable()?.node,\n }),\n iconStart: <Icon data={TrashBin} />,\n disabled: !actions.deleteTable.isEnable({\n tablePos: getParentTable()?.pos,\n tableNode: getParentTable()?.node,\n }),\n },\n ]}\n />,\n );\n }\n\n if (isInFirstRow) {\n controls.push(\n <DropdownMenu\n key={2}\n switcherWrapperClassName={b('upper-button')}\n renderSwitcher={(props) => (\n <Button view={'outlined'} size={'s'} qa=\"g-md-yfm-table-column-btn\" {...props}>\n <Icon data={EllipsisVertical} />\n </Button>\n )}\n menuProps={{qa: 'g-md-yfm-table-column-menu'}}\n items={[\n {\n text: i18n('column.add.before'),\n qa: 'g-md-yfm-table-action-add-column-before',\n action: () =>\n actions.appendColumn.run({\n tablePos: getParentTable()?.pos,\n columnNumber,\n direction: 'before',\n }),\n iconStart: <Icon data={ArrowLeft} />,\n disabled: !actions.appendColumn.isEnable({\n tablePos: getParentTable()?.pos,\n columnNumber,\n direction: 'before',\n }),\n },\n {\n text: i18n('column.add.after'),\n qa: 'g-md-yfm-table-action-add-column-after',\n action: () =>\n actions.appendColumn.run({\n tablePos: getParentTable()?.pos,\n columnNumber,\n direction: 'after',\n }),\n iconStart: <Icon data={ArrowRight} />,\n disabled: !actions.appendColumn.isEnable({\n tablePos: getParentTable()?.pos,\n columnNumber,\n direction: 'after',\n }),\n },\n {\n text: i18n('column.remove'),\n qa: 'g-md-yfm-table-action-remove-column',\n action: () =>\n actions.deleteColumn.run({\n columnNumber,\n tablePos: getParentTable()?.pos,\n }),\n iconStart: <Icon data={Xmark} />,\n disabled: !actions.deleteColumn.isEnable({\n columnNumber,\n tablePos: getParentTable()?.pos,\n }),\n },\n {\n theme: 'danger',\n text: i18n('table.remove'),\n qa: 'g-md-yfm-table-action-remove-table',\n action: () =>\n actions.deleteTable.run({\n tablePos: getParentTable()?.pos,\n tableNode: getParentTable()?.node,\n }),\n iconStart: <Icon data={TrashBin} />,\n disabled: !actions.deleteTable.isEnable({\n tablePos: getParentTable()?.pos,\n tableNode: getParentTable()?.node,\n }),\n },\n ]}\n />,\n );\n }\n\n return controls.length ? <>{controls}</> : null;\n};\n\nexport const yfmTableCellView: NodeViewConstructor = (node, view, getPos): NodeView => {\n const getParentTable = () =>\n findParentNodeClosestToPos(view.state.doc.resolve(getPos()!), isTableNode);\n\n const parentTable = getParentTable();\n\n const cellCoords = parentTable ? findCellCoords(parentTable.node, node) : null;\n\n // @ts-expect-error\n if (!cellCoords) return {};\n\n const {cellIndex, rowIndex} = cellCoords;\n const isFirstRow = rowIndex === 0;\n const isFirstColumn = cellIndex === 0;\n\n if (!isFirstRow && !isFirstColumn) {\n // in this case, we don't need custom nodeView.\n // @ts-expect-error\n return {};\n }\n\n const dom = document.createElement('td');\n if (node.attrs[YfmTableAttr.Colspan])\n dom.setAttribute('colspan', node.attrs[YfmTableAttr.Colspan]);\n if (node.attrs[YfmTableAttr.Rowspan])\n dom.setAttribute('rowspan', node.attrs[YfmTableAttr.Rowspan]);\n if (node.attrs[YfmTableAttr.CellAlign]) {\n dom.classList.add(node.attrs[YfmTableAttr.CellAlign]);\n dom.setAttribute(YfmTableAttr.CellAlign, node.attrs[YfmTableAttr.Rowspan]);\n }\n\n const contentDOM = document.createElement('div');\n const control = document.createElement('span');\n control.setAttribute('style', 'width: 0; height: 0; float: left;');\n dom.setAttribute('style', 'position: relative; overflow: visible;');\n\n dom.appendChild(contentDOM);\n dom.appendChild(control);\n\n const renderItem = getReactRendererFromState(view.state).createItem(\n 'yfm-table-cell-view',\n () => (\n <Portal container={control}>\n <ErrorLoggerBoundary>\n <Controls\n columnNumber={cellIndex}\n rowNumber={rowIndex}\n isFirstInRow={isFirstColumn}\n isInFirstRow={isFirstRow}\n getParentTable={getParentTable}\n view={view}\n />\n </ErrorLoggerBoundary>\n </Portal>\n ),\n );\n\n return {\n dom,\n contentDOM,\n destroy() {\n renderItem.remove();\n },\n ignoreMutation(mutation) {\n return mutation.target === control || control.contains(mutation.target);\n },\n update(n) {\n const {rows: nRows, cols: nCols} = getTableDimensions(n);\n const {rows, cols} = getTableDimensions(node);\n\n return !(rows !== nRows || cols !== nCols);\n },\n };\n};\n\nfunction findCellCoords(table: Node, cell: Node) {\n if (!table.lastChild) return null;\n const rows = getChildrenOfNode(table.lastChild); // children of tBody\n for (const row of rows) {\n const node = getChildByNode(row.node, cell);\n if (node) {\n return {\n rowIndex: row.index,\n cellIndex: node.index,\n };\n }\n }\n return null;\n}\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
const Mermaid = (props) => ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: 491, height: 491, viewBox: "0 0 491 491", style: {
|
|
5
|
-
fillRule: 'evenodd',
|
|
6
|
-
clipRule: 'evenodd',
|
|
7
|
-
strokeLinejoin: 'round',
|
|
8
|
-
strokeMiterlimit: 2,
|
|
9
|
-
}, ...props, children: (0, jsx_runtime_1.jsx)("path", { d: "M 490.16 405.55 C 490.16 452.248 452.248 490.16 405.55 490.16 L 84.61 490.16 C 37.912 490.16 0 452.248 0 405.55 L 0 84.61 C 0 37.912 37.912 0 84.61 0 L 405.55 0 C 452.248 0 490.16 37.912 490.16 84.61 Z M 407.48 111.18 C 335.587 108.103 269.573 152.338 245.08 220 C 220.587 152.338 154.573 108.103 82.68 111.18 C 80.285 168.229 107.577 222.632 154.74 254.82 C 178.908 271.419 193.35 298.951 193.27 328.27 L 193.27 379.13 L 296.9 379.13 L 296.9 328.27 C 296.816 298.953 311.255 271.42 335.42 254.82 C 382.596 222.644 409.892 168.233 407.48 111.18 Z", fill: "currentColor" }) }));
|
|
10
|
-
exports.default = Mermaid;
|
|
11
|
-
//# sourceMappingURL=Mermaid.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Mermaid.js","sourceRoot":"../../../src","sources":["icons/Mermaid.tsx"],"names":[],"mappings":";;;AACA,MAAM,OAAO,GAAG,CAAC,KAA8B,EAAE,EAAE,CAAC,CAChD,gCACI,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE;QACH,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,OAAO;QACvB,gBAAgB,EAAE,CAAC;KACtB,KACG,KAAK,YAET,iCACI,CAAC,EAAC,oiBAAoiB,EACtiB,IAAI,EAAC,cAAc,GACrB,GACA,CACT,CAAC;AACF,kBAAe,OAAO,CAAC","sourcesContent":["import type {SVGProps} from 'react';\nconst Mermaid = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={491}\n height={491}\n viewBox=\"0 0 491 491\"\n style={{\n fillRule: 'evenodd',\n clipRule: 'evenodd',\n strokeLinejoin: 'round',\n strokeMiterlimit: 2,\n }}\n {...props}\n >\n <path\n d=\"M 490.16 405.55 C 490.16 452.248 452.248 490.16 405.55 490.16 L 84.61 490.16 C 37.912 490.16 0 452.248 0 405.55 L 0 84.61 C 0 37.912 37.912 0 84.61 0 L 405.55 0 C 452.248 0 490.16 37.912 490.16 84.61 Z M 407.48 111.18 C 335.587 108.103 269.573 152.338 245.08 220 C 220.587 152.338 154.573 108.103 82.68 111.18 C 80.285 168.229 107.577 222.632 154.74 254.82 C 178.908 271.419 193.35 298.951 193.27 328.27 L 193.27 379.13 L 296.9 379.13 L 296.9 328.27 C 296.816 298.953 311.255 271.42 335.42 254.82 C 382.596 222.644 409.892 168.233 407.48 111.18 Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\nexport default Mermaid;\n"]}
|
package/build/cjs/icons/Mono.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
const Mono = (props) => ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", viewBox: "0 0 16 16", ...props, children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M3.5 3.88862V13.25C3.5 13.6642 3.16421 14 2.75 14C2.33579 14 2 13.6642 2 13.25V3.32392C2 2.59274 2.59274 2 3.32392 2C3.75884 2 4.16601 2.21361 4.41321 2.57145L8 7.76376L11.5868 2.57145C11.834 2.21361 12.2412 2 12.6761 2C13.4073 2 14 2.59274 14 3.32392V13.25C14 13.6642 13.6642 14 13.25 14C12.8358 14 12.5 13.6642 12.5 13.25V3.88862L8.61708 9.50961C8.47705 9.71232 8.24638 9.83333 8 9.83333C7.75362 9.83333 7.52295 9.71232 7.38292 9.50961L3.5 3.88862Z", fill: "currentColor" }) }));
|
|
5
|
-
exports.default = Mono;
|
|
6
|
-
//# sourceMappingURL=Mono.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Mono.js","sourceRoot":"../../../src","sources":["icons/Mono.tsx"],"names":[],"mappings":";;;AACA,MAAM,IAAI,GAAG,CAAC,KAA8B,EAAE,EAAE,CAAC,CAC7C,gCACI,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,KACf,KAAK,YAET,iCACI,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,ocAAoc,EACtc,IAAI,EAAC,cAAc,GACrB,GACA,CACT,CAAC;AACF,kBAAe,IAAI,CAAC","sourcesContent":["import type {SVGProps} from 'react';\nconst Mono = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={16}\n height={16}\n fill=\"none\"\n viewBox=\"0 0 16 16\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.5 3.88862V13.25C3.5 13.6642 3.16421 14 2.75 14C2.33579 14 2 13.6642 2 13.25V3.32392C2 2.59274 2.59274 2 3.32392 2C3.75884 2 4.16601 2.21361 4.41321 2.57145L8 7.76376L11.5868 2.57145C11.834 2.21361 12.2412 2 12.6761 2C13.4073 2 14 2.59274 14 3.32392V13.25C14 13.6642 13.6642 14 13.25 14C12.8358 14 12.5 13.6642 12.5 13.25V3.88862L8.61708 9.50961C8.47705 9.71232 8.24638 9.83333 8 9.83333C7.75362 9.83333 7.52295 9.71232 7.38292 9.50961L3.5 3.88862Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\nexport default Mono;\n"]}
|