@gravity-ui/markdown-editor 15.19.1 → 15.21.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/wysiwyg-preset.js +5 -1
- package/build/cjs/bundle/wysiwyg-preset.js.map +1 -1
- package/build/cjs/extensions/yfm/YfmConfigs/index.d.ts +5 -1
- package/build/cjs/extensions/yfm/YfmConfigs/index.js +7 -1
- package/build/cjs/extensions/yfm/YfmConfigs/index.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 +468 -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/cjs/view/components/YfmHtml/YfmStaticView.d.ts +13 -0
- package/build/cjs/view/components/YfmHtml/YfmStaticView.js +10 -4
- package/build/cjs/view/components/YfmHtml/YfmStaticView.js.map +1 -1
- package/build/cjs/view/components/YfmHtml/index.d.ts +1 -1
- package/build/cjs/view/components/YfmHtml/index.js.map +1 -1
- package/build/esm/bundle/config/action-names.d.ts +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/yfm/YfmConfigs/index.d.ts +5 -1
- package/build/esm/extensions/yfm/YfmConfigs/index.js +7 -1
- package/build/esm/extensions/yfm/YfmConfigs/index.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 +464 -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/esm/view/components/YfmHtml/YfmStaticView.d.ts +13 -0
- package/build/esm/view/components/YfmHtml/YfmStaticView.js +9 -3
- package/build/esm/view/components/YfmHtml/YfmStaticView.js.map +1 -1
- package/build/esm/view/components/YfmHtml/index.d.ts +1 -1
- package/build/esm/view/components/YfmHtml/index.js.map +1 -1
- package/build/styles.css +31 -116
- package/package.json +1 -1
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dnd-plugin.js","sourceRoot":"../../../../../../../../src","sources":["extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/dnd-plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import {Plugin, PluginKey, type Transaction} from '#pm/state';\nimport {Decoration, DecorationSet} from '#pm/view';\n\nimport {\n YfmTableDecorationType,\n YfmTableDecorationTypeKey,\n YfmTableDecorationUniqKey,\n} from '../const';\n\ntype FromTo = {\n from: number;\n to: number;\n};\n\ntype DndMeta =\n | {action: 'row-control-active'; controlCell: FromTo; rows: FromTo[]; uniqKey: number}\n | {action: 'column-control-active'; controlCell: FromTo; cells: FromTo[]; uniqKey: number}\n | {action: 'row-control-non-active'; uniqKey: number}\n | {action: 'column-control-non-active'; uniqKey: number}\n | {action: 'drag-rows'; rows: FromTo[]}\n | {action: 'drag-columns'; cells: FromTo[]}\n | {action: 'hide'};\n\nconst key = new PluginKey<DecorationSet>('yfm-table-dnd-decos');\n\nexport function activateRows(\n tr: Transaction,\n params: {controlCell: FromTo; rows: FromTo[]; uniqKey: number},\n): Transaction {\n const meta: DndMeta = {action: 'row-control-active', ...params};\n tr.setMeta(key, meta);\n return tr;\n}\n\nexport function deactivateRow(tr: Transaction, uniqKey: number): Transaction {\n const meta: DndMeta = {action: 'row-control-non-active', uniqKey};\n tr.setMeta(key, meta);\n return tr;\n}\n\nexport function activateColumns(\n tr: Transaction,\n params: {controlCell: FromTo; cells: FromTo[]; uniqKey: number},\n): Transaction {\n const meta: DndMeta = {action: 'column-control-active', ...params};\n tr.setMeta(key, meta);\n return tr;\n}\n\nexport function deactivateColumn(tr: Transaction, uniqKey: number): Transaction {\n const meta: DndMeta = {action: 'column-control-non-active', uniqKey};\n tr.setMeta(key, meta);\n return tr;\n}\n\nexport function selectDraggedRow(tr: Transaction, rows: FromTo[]): Transaction {\n const meta: DndMeta = {action: 'drag-rows', rows};\n tr.setMeta(key, meta);\n return tr;\n}\n\nexport function selectDraggedColumn(tr: Transaction, cells: FromTo[]): Transaction {\n const meta: DndMeta = {action: 'drag-columns', cells};\n tr.setMeta(key, meta);\n return tr;\n}\n\nexport function clearAllSelections(tr: Transaction): Transaction {\n const meta: DndMeta = {action: 'hide'};\n tr.setMeta(key, meta);\n return tr;\n}\n\nexport const yfmTableDndPlugin = () => {\n return new Plugin<DecorationSet>({\n key,\n state: {\n init() {\n return DecorationSet.empty;\n },\n apply(tr, value) {\n const meta: DndMeta = tr.getMeta(key);\n\n if (meta?.action === 'hide') {\n return DecorationSet.empty;\n }\n\n if (meta?.action === 'row-control-active') {\n const {controlCell, rows, uniqKey} = meta;\n return DecorationSet.create(tr.doc, [\n Decoration.node(\n controlCell.from,\n controlCell.to,\n {},\n {\n [YfmTableDecorationUniqKey]: uniqKey,\n [YfmTableDecorationTypeKey]: YfmTableDecorationType.OpenRowMenu,\n },\n ),\n ...rows.map((row) =>\n Decoration.node(\n row.from,\n row.to,\n {class: 'g-md-yfm-table-active-row'},\n {\n [YfmTableDecorationUniqKey]: uniqKey,\n [YfmTableDecorationTypeKey]: YfmTableDecorationType.ActivateRow,\n },\n ),\n ),\n ]);\n }\n\n if (meta?.action === 'row-control-non-active') {\n const {uniqKey} = meta;\n const decos = value.find(\n undefined,\n undefined,\n (spec) => spec[YfmTableDecorationUniqKey] === uniqKey,\n );\n return value.remove(decos).map(tr.mapping, tr.doc);\n }\n\n if (meta?.action === 'column-control-active') {\n const {controlCell, cells, uniqKey} = meta;\n return DecorationSet.create(tr.doc, [\n Decoration.node(\n controlCell.from,\n controlCell.to,\n {},\n {\n [YfmTableDecorationUniqKey]: uniqKey,\n [YfmTableDecorationTypeKey]: YfmTableDecorationType.OpenColumnMenu,\n },\n ),\n ...cells.map((pos) =>\n Decoration.node(\n pos.from,\n pos.to,\n {class: 'g-md-yfm-table-active-column-cell'},\n {\n [YfmTableDecorationUniqKey]: uniqKey,\n [YfmTableDecorationTypeKey]:\n YfmTableDecorationType.ActivateColumnCells,\n },\n ),\n ),\n ]);\n }\n\n if (meta?.action === 'column-control-non-active') {\n const {uniqKey} = meta;\n const decos = value.find(\n undefined,\n undefined,\n (spec) => spec[YfmTableDecorationUniqKey] === uniqKey,\n );\n return value.remove(decos).map(tr.mapping, tr.doc);\n }\n\n if (meta?.action === 'drag-rows') {\n return DecorationSet.create(\n tr.doc,\n meta.rows.map((row) =>\n Decoration.node(row.from, row.to, {\n class: 'g-md-yfm-table-dnd-dragged-row',\n }),\n ),\n );\n }\n\n if (meta?.action === 'drag-columns') {\n return DecorationSet.create(\n tr.doc,\n meta.cells.map((cell) =>\n Decoration.node(cell.from, cell.to, {\n class: 'g-md-yfm-table-dnd-dragged-column-cell',\n }),\n ),\n );\n }\n\n return value.map(tr.mapping, tr.doc);\n },\n },\n props: {\n decorations(state) {\n return this.getState(state);\n },\n },\n });\n};\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Plugin, type Transaction } from "../../../../../../pm/state.js";
|
|
2
|
+
import { DecorationSet } from "../../../../../../pm/view.js";
|
|
3
|
+
type HoverState = null | {
|
|
4
|
+
rowIdx: number;
|
|
5
|
+
columnIdx: number;
|
|
6
|
+
tablePos: number;
|
|
7
|
+
};
|
|
8
|
+
type PluginState = {
|
|
9
|
+
hover: HoverState;
|
|
10
|
+
activeTablePos: number | null;
|
|
11
|
+
decorations: DecorationSet;
|
|
12
|
+
};
|
|
13
|
+
export declare function hideHoverDecos(tr: Transaction): Transaction;
|
|
14
|
+
export declare const yfmTableFocusPlugin: (opts: {
|
|
15
|
+
dndEnabled: boolean;
|
|
16
|
+
}) => Plugin<PluginState>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.yfmTableFocusPlugin = void 0;
|
|
4
|
+
exports.hideHoverDecos = hideHoverDecos;
|
|
5
|
+
const state_1 = require("../../../../../../pm/state.js");
|
|
6
|
+
const utils_1 = require("../../../../../../pm/utils.js");
|
|
7
|
+
const view_1 = require("../../../../../../pm/view.js");
|
|
8
|
+
const lodash_1 = require("../../../../../../lodash.js");
|
|
9
|
+
const table_utils_1 = require("../../../../../../table-utils/index.js");
|
|
10
|
+
const table_desc_1 = require("../../../../../../table-utils/table-desc.js");
|
|
11
|
+
const YfmTableSpecs_1 = require("../../../YfmTableSpecs/index.js");
|
|
12
|
+
const const_1 = require("../const.js");
|
|
13
|
+
const yfm_table_cell_view_1 = require("../nodeviews/yfm-table-cell-view.js");
|
|
14
|
+
const yfm_table_view_1 = require("../nodeviews/yfm-table-view.js");
|
|
15
|
+
const pluginKey = new state_1.PluginKey('TableControlsPlugin');
|
|
16
|
+
const FOCUSED_CLASSNAME = 'yfm-table-focused';
|
|
17
|
+
function shouldUpdateState(prev, curr) {
|
|
18
|
+
if (prev === null && curr === null)
|
|
19
|
+
return false;
|
|
20
|
+
if (prev === null || curr === null)
|
|
21
|
+
return true;
|
|
22
|
+
if (prev.rowIdx === curr.rowIdx &&
|
|
23
|
+
prev.columnIdx === curr.columnIdx &&
|
|
24
|
+
prev.tablePos === curr.tablePos)
|
|
25
|
+
return false;
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
function hideHoverDecos(tr) {
|
|
29
|
+
const meta = { newState: null };
|
|
30
|
+
return tr.setMeta(pluginKey, meta);
|
|
31
|
+
}
|
|
32
|
+
const yfmTableFocusPlugin = (opts) => {
|
|
33
|
+
return new state_1.Plugin({
|
|
34
|
+
key: pluginKey,
|
|
35
|
+
state: {
|
|
36
|
+
init(_config, state) {
|
|
37
|
+
return updateAfterChanges(state);
|
|
38
|
+
},
|
|
39
|
+
apply: (tr, prev) => {
|
|
40
|
+
if (tr.selectionSet || tr.docChanged) {
|
|
41
|
+
return updateAfterChanges(tr, prev);
|
|
42
|
+
}
|
|
43
|
+
const meta = tr.getMeta(pluginKey);
|
|
44
|
+
if (meta) {
|
|
45
|
+
const plState = { ...prev };
|
|
46
|
+
plState.decorations = plState.decorations.map(tr.mapping, tr.doc);
|
|
47
|
+
{
|
|
48
|
+
const decosToRemove = plState.decorations.find(undefined, undefined, (spec) => spec[const_1.YfmTableDecorationTypeKey] === const_1.YfmTableDecorationType.ShowRowControl ||
|
|
49
|
+
spec[const_1.YfmTableDecorationTypeKey] === const_1.YfmTableDecorationType.ShowColumnControl);
|
|
50
|
+
plState.decorations = plState.decorations.remove(decosToRemove);
|
|
51
|
+
}
|
|
52
|
+
plState.hover = meta.newState;
|
|
53
|
+
if (plState.hover && plState.activeTablePos === plState.hover.tablePos) {
|
|
54
|
+
const table = tr.doc.nodeAt(plState.activeTablePos);
|
|
55
|
+
const tableDesc = table_desc_1.TableDesc.create(table);
|
|
56
|
+
const rowCell = tableDesc.getRelativePosForCell(plState.hover.rowIdx, 0);
|
|
57
|
+
const columnCell = tableDesc.getRelativePosForCell(0, plState.hover.columnIdx);
|
|
58
|
+
if (rowCell.type === 'real') {
|
|
59
|
+
plState.decorations = plState.decorations.add(tr.doc, [
|
|
60
|
+
view_1.Decoration.node(plState.activeTablePos + rowCell.from, plState.activeTablePos + rowCell.to, {}, { [const_1.YfmTableDecorationTypeKey]: const_1.YfmTableDecorationType.ShowRowControl }),
|
|
61
|
+
]);
|
|
62
|
+
}
|
|
63
|
+
if (columnCell.type === 'real') {
|
|
64
|
+
plState.decorations = plState.decorations.add(tr.doc, [
|
|
65
|
+
view_1.Decoration.node(plState.activeTablePos + columnCell.from, plState.activeTablePos + columnCell.to, {}, { [const_1.YfmTableDecorationTypeKey]: const_1.YfmTableDecorationType.ShowColumnControl }),
|
|
66
|
+
]);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return plState;
|
|
70
|
+
}
|
|
71
|
+
return { ...prev, decorations: prev.decorations.map(tr.mapping, tr.doc) };
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
props: {
|
|
75
|
+
nodeViews: {
|
|
76
|
+
[YfmTableSpecs_1.YfmTableNode.Table]: yfm_table_view_1.yfmTableView,
|
|
77
|
+
[YfmTableSpecs_1.YfmTableNode.Cell]: (0, yfm_table_cell_view_1.yfmTableCellView)(opts),
|
|
78
|
+
},
|
|
79
|
+
decorations(state) {
|
|
80
|
+
return pluginKey.getState(state)?.decorations;
|
|
81
|
+
},
|
|
82
|
+
handleDOMEvents: {
|
|
83
|
+
mousemove: (0, lodash_1.throttle)((view, e) => {
|
|
84
|
+
let hover = null;
|
|
85
|
+
if (e.target instanceof Element &&
|
|
86
|
+
e.target.closest('td') &&
|
|
87
|
+
e.target.closest(`.${FOCUSED_CLASSNAME}`)) {
|
|
88
|
+
const $pos = (() => {
|
|
89
|
+
const td = e.target.closest('td');
|
|
90
|
+
const domPos = td && view.posAtDOM(td, 0);
|
|
91
|
+
return domPos === null ? null : view.state.doc.resolve(domPos);
|
|
92
|
+
})() ??
|
|
93
|
+
(() => {
|
|
94
|
+
const pos = view.posAtCoords({ left: e.x, top: e.y });
|
|
95
|
+
return pos && view.state.doc.resolve(pos.pos);
|
|
96
|
+
})();
|
|
97
|
+
const tcell = $pos && (0, utils_1.findParentNodeClosestToPos)($pos, table_utils_1.isTableCellNode);
|
|
98
|
+
const table = $pos && (0, utils_1.findParentNodeClosestToPos)($pos, table_utils_1.isTableNode);
|
|
99
|
+
const tableDesc = table && table_desc_1.TableDesc.create(table.node);
|
|
100
|
+
const cellInfo = tcell && tableDesc?.getCellInfo(tcell.node);
|
|
101
|
+
if (cellInfo) {
|
|
102
|
+
hover = {
|
|
103
|
+
tablePos: table.pos,
|
|
104
|
+
rowIdx: cellInfo.row,
|
|
105
|
+
columnIdx: cellInfo.column,
|
|
106
|
+
};
|
|
107
|
+
{
|
|
108
|
+
const rowFirstCell = tableDesc.rowsDesc[hover.rowIdx].cells[0];
|
|
109
|
+
if (rowFirstCell.type === 'virtual')
|
|
110
|
+
hover.rowIdx = rowFirstCell.rowspan[0];
|
|
111
|
+
}
|
|
112
|
+
{
|
|
113
|
+
const colFirstCell = tableDesc.rowsDesc[0].cells[hover.columnIdx];
|
|
114
|
+
if (colFirstCell.type === 'virtual')
|
|
115
|
+
hover.columnIdx = colFirstCell.colspan[1];
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (shouldUpdateState(pluginKey.getState(view.state)?.hover || null, hover)) {
|
|
120
|
+
const meta = { newState: hover };
|
|
121
|
+
view.dispatch(view.state.tr.setMeta(pluginKey, meta));
|
|
122
|
+
}
|
|
123
|
+
}, 100),
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
exports.yfmTableFocusPlugin = yfmTableFocusPlugin;
|
|
129
|
+
function updateAfterChanges(tr, prev) {
|
|
130
|
+
const table = (0, utils_1.findParentNode)(table_utils_1.isTableNode)(tr.selection) ||
|
|
131
|
+
(0, utils_1.findSelectedNodeOfType)((0, YfmTableSpecs_1.yfmTableType)(tr.doc.type.schema))(tr.selection);
|
|
132
|
+
if (table) {
|
|
133
|
+
const tableFrom = table.pos;
|
|
134
|
+
const tableTo = tableFrom + table.node.nodeSize;
|
|
135
|
+
const decos = prev
|
|
136
|
+
? prev.decorations
|
|
137
|
+
.map(tr.mapping, tr.doc)
|
|
138
|
+
.find(tableFrom, tableTo, (spec) => spec[const_1.YfmTableDecorationTypeKey] === const_1.YfmTableDecorationType.ShowRowControl ||
|
|
139
|
+
spec[const_1.YfmTableDecorationTypeKey] === const_1.YfmTableDecorationType.ShowColumnControl)
|
|
140
|
+
: [];
|
|
141
|
+
return {
|
|
142
|
+
hover: null,
|
|
143
|
+
activeTablePos: table.pos,
|
|
144
|
+
decorations: view_1.DecorationSet.create(tr.doc, [
|
|
145
|
+
...decos,
|
|
146
|
+
view_1.Decoration.node(table.pos, table.pos + table.node.nodeSize, { class: FOCUSED_CLASSNAME }, { [const_1.YfmTableDecorationTypeKey]: const_1.YfmTableDecorationType.FocusTable }),
|
|
147
|
+
]),
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
return {
|
|
152
|
+
hover: null,
|
|
153
|
+
activeTablePos: null,
|
|
154
|
+
decorations: view_1.DecorationSet.empty,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=focus-plugin.js.map
|
package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/focus-plugin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus-plugin.js","sourceRoot":"../../../../../../../../src","sources":["extensions/yfm/YfmTable/plugins/YfmTableControls/plugins/focus-plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import {type EditorState, Plugin, PluginKey, type Transaction} from '#pm/state';\nimport {findParentNode, findParentNodeClosestToPos, findSelectedNodeOfType} from '#pm/utils';\nimport {Decoration, DecorationSet, type EditorView} from '#pm/view';\nimport {throttle} from 'src/lodash';\nimport {isTableCellNode, isTableNode} from 'src/table-utils';\nimport {TableDesc} from 'src/table-utils/table-desc';\n\nimport {YfmTableNode, yfmTableType} from '../../../YfmTableSpecs';\nimport {\n YfmTableDecorationType as DecoType,\n YfmTableDecorationTypeKey as decoTypeKey,\n} from '../const';\nimport {yfmTableCellView} from '../nodeviews/yfm-table-cell-view';\nimport {yfmTableView} from '../nodeviews/yfm-table-view';\n\nconst pluginKey = new PluginKey<PluginState>('TableControlsPlugin');\nconst FOCUSED_CLASSNAME = 'yfm-table-focused';\n\ntype Meta = {newState: HoverState} | undefined;\ntype HoverState = null | {\n rowIdx: number;\n columnIdx: number;\n tablePos: number;\n};\ntype PluginState = {\n hover: HoverState;\n activeTablePos: number | null;\n decorations: DecorationSet;\n};\n\nfunction shouldUpdateState(prev: HoverState, curr: HoverState): boolean {\n if (prev === null && curr === null) return false;\n if (prev === null || curr === null) return true;\n if (\n prev.rowIdx === curr.rowIdx &&\n prev.columnIdx === curr.columnIdx &&\n prev.tablePos === curr.tablePos\n )\n return false;\n return true;\n}\n\nexport function hideHoverDecos(tr: Transaction) {\n const meta: Meta = {newState: null};\n return tr.setMeta(pluginKey, meta);\n}\n\nexport const yfmTableFocusPlugin = (opts: {dndEnabled: boolean}) => {\n return new Plugin<PluginState>({\n key: pluginKey,\n state: {\n init(_config, state) {\n return updateAfterChanges(state);\n },\n apply: (tr, prev) => {\n if (tr.selectionSet || tr.docChanged) {\n return updateAfterChanges(tr, prev);\n }\n\n const meta: Meta = tr.getMeta(pluginKey);\n if (meta) {\n const plState = {...prev};\n plState.decorations = plState.decorations.map(tr.mapping, tr.doc);\n {\n const decosToRemove = plState.decorations.find(\n undefined,\n undefined,\n (spec) =>\n spec[decoTypeKey] === DecoType.ShowRowControl ||\n spec[decoTypeKey] === DecoType.ShowColumnControl,\n );\n plState.decorations = plState.decorations.remove(decosToRemove);\n }\n plState.hover = meta.newState;\n if (plState.hover && plState.activeTablePos === plState.hover.tablePos) {\n const table = tr.doc.nodeAt(plState.activeTablePos)!;\n const tableDesc = TableDesc.create(table)!;\n const rowCell = tableDesc.getRelativePosForCell(plState.hover.rowIdx, 0);\n const columnCell = tableDesc.getRelativePosForCell(\n 0,\n plState.hover.columnIdx,\n );\n\n if (rowCell.type === 'real') {\n plState.decorations = plState.decorations.add(tr.doc, [\n Decoration.node(\n plState.activeTablePos + rowCell.from,\n plState.activeTablePos + rowCell.to,\n {},\n {[decoTypeKey]: DecoType.ShowRowControl},\n ),\n ]);\n }\n\n if (columnCell.type === 'real') {\n plState.decorations = plState.decorations.add(tr.doc, [\n Decoration.node(\n plState.activeTablePos + columnCell.from,\n plState.activeTablePos + columnCell.to,\n {},\n {[decoTypeKey]: DecoType.ShowColumnControl},\n ),\n ]);\n }\n }\n return plState;\n }\n\n return {...prev, decorations: prev.decorations.map(tr.mapping, tr.doc)};\n },\n },\n props: {\n nodeViews: {\n [YfmTableNode.Table]: yfmTableView,\n [YfmTableNode.Cell]: yfmTableCellView(opts),\n },\n decorations(state) {\n return pluginKey.getState(state)?.decorations;\n },\n handleDOMEvents: {\n mousemove: throttle((view: EditorView, e: MouseEvent) => {\n let hover: HoverState = null;\n\n if (\n e.target instanceof Element &&\n e.target.closest('td') &&\n e.target.closest(`.${FOCUSED_CLASSNAME}`)\n ) {\n const $pos =\n (() => {\n const td = e.target.closest('td');\n const domPos = td && view.posAtDOM(td, 0);\n return domPos === null ? null : view.state.doc.resolve(domPos);\n })() ??\n (() => {\n const pos = view.posAtCoords({left: e.x, top: e.y});\n return pos && view.state.doc.resolve(pos.pos);\n })();\n\n const tcell = $pos && findParentNodeClosestToPos($pos, isTableCellNode);\n const table = $pos && findParentNodeClosestToPos($pos, isTableNode);\n\n const tableDesc = table && TableDesc.create(table.node);\n const cellInfo = tcell && tableDesc?.getCellInfo(tcell.node);\n\n if (cellInfo) {\n hover = {\n tablePos: table!.pos,\n rowIdx: cellInfo.row,\n columnIdx: cellInfo.column,\n } satisfies HoverState;\n\n {\n const rowFirstCell = tableDesc!.rowsDesc[hover.rowIdx].cells[0];\n if (rowFirstCell.type === 'virtual')\n hover.rowIdx = rowFirstCell.rowspan![0];\n }\n\n {\n const colFirstCell = tableDesc!.rowsDesc[0].cells[hover.columnIdx];\n if (colFirstCell.type === 'virtual')\n hover.columnIdx = colFirstCell.colspan![1];\n }\n }\n }\n\n if (shouldUpdateState(pluginKey.getState(view.state)?.hover || null, hover)) {\n const meta: Meta = {newState: hover};\n view.dispatch(view.state.tr.setMeta(pluginKey, meta));\n }\n }, 100),\n },\n },\n });\n};\n\nfunction updateAfterChanges(state: EditorState): PluginState;\nfunction updateAfterChanges(tr: Transaction, prev: PluginState): PluginState;\nfunction updateAfterChanges(tr: EditorState | Transaction, prev?: PluginState) {\n const table =\n findParentNode(isTableNode)(tr.selection) ||\n findSelectedNodeOfType(yfmTableType(tr.doc.type.schema))(tr.selection);\n if (table) {\n const tableFrom = table.pos;\n const tableTo = tableFrom + table.node.nodeSize;\n const decos = prev\n ? prev.decorations\n .map((tr as Transaction).mapping, tr.doc)\n .find(\n tableFrom,\n tableTo,\n (spec) =>\n spec[decoTypeKey] === DecoType.ShowRowControl ||\n spec[decoTypeKey] === DecoType.ShowColumnControl,\n )\n : [];\n return {\n hover: null,\n activeTablePos: table.pos,\n decorations: DecorationSet.create(tr.doc, [\n ...decos,\n Decoration.node(\n table.pos,\n table.pos + table.node.nodeSize,\n {class: FOCUSED_CLASSNAME},\n {[decoTypeKey]: DecoType.FocusTable},\n ),\n ]),\n };\n } else {\n return {\n hover: null,\n activeTablePos: null,\n decorations: DecorationSet.empty,\n };\n }\n}\n"]}
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
"column.add.before": "Add column before",
|
|
3
3
|
"column.add.after": "Add column after",
|
|
4
4
|
"column.remove": "Remove column",
|
|
5
|
+
"column.remove.multiple": "Remove columns",
|
|
5
6
|
"row.add.before": "Add row before",
|
|
6
7
|
"row.add.after": "Add row after",
|
|
7
8
|
"row.remove": "Remove row",
|
|
9
|
+
"row.remove.multiple": "Remove rows",
|
|
10
|
+
"cells.clear": "Clear cells",
|
|
8
11
|
"table.remove": "Remove table",
|
|
9
12
|
"table.menu.cell.align.left": "Align cell content to the left",
|
|
10
13
|
"table.menu.cell.align.right": "Align cell content to the right",
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
export declare const i18n: <G extends "column.add.before" | "column.add.after" | "column.remove" | "row.add.before" | "row.add.after" | "row.remove" | "table.remove" | "table.menu.cell.align.left" | "table.menu.cell.align.right" | "table.menu.cell.align.center" | "table.menu.row.add" | "table.menu.row.remove" | "table.menu.column.add" | "table.menu.column.remove" | "table.menu.convert.yfm" | "table.menu.table.remove", S extends string>(key: G | (string extends S ? S : never), params?: {
|
|
1
|
+
export declare const i18n: <G extends "column.add.before" | "column.add.after" | "column.remove" | "column.remove.multiple" | "row.add.before" | "row.add.after" | "row.remove" | "row.remove.multiple" | "cells.clear" | "table.remove" | "table.menu.cell.align.left" | "table.menu.cell.align.right" | "table.menu.cell.align.center" | "table.menu.row.add" | "table.menu.row.remove" | "table.menu.column.add" | "table.menu.column.remove" | "table.menu.convert.yfm" | "table.menu.table.remove", S extends string>(key: G | (string extends S ? S : never), params?: {
|
|
2
2
|
[key: string]: any;
|
|
3
3
|
}) => S extends G ? {
|
|
4
4
|
"column.add.before": string;
|
|
5
5
|
"column.add.after": string;
|
|
6
6
|
"column.remove": string;
|
|
7
|
+
"column.remove.multiple": string;
|
|
7
8
|
"row.add.before": string;
|
|
8
9
|
"row.add.after": string;
|
|
9
10
|
"row.remove": string;
|
|
11
|
+
"row.remove.multiple": string;
|
|
12
|
+
"cells.clear": string;
|
|
10
13
|
"table.remove": string;
|
|
11
14
|
"table.menu.cell.align.left": string;
|
|
12
15
|
"table.menu.cell.align.right": string;
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
"column.add.before": "Добавить столбец до",
|
|
3
3
|
"column.add.after": "Добавить столбец после",
|
|
4
4
|
"column.remove": "Удалить столбец",
|
|
5
|
+
"column.remove.multiple": "Удалить столбцы",
|
|
5
6
|
"row.add.before": "Добавить строку до",
|
|
6
7
|
"row.add.after": "Добавить строку после",
|
|
7
8
|
"row.remove": "Удалить строку",
|
|
9
|
+
"row.remove.multiple": "Удалить строки",
|
|
10
|
+
"cells.clear": "Очистить ячейки",
|
|
8
11
|
"table.remove": "Удалить таблицу",
|
|
9
12
|
"table.menu.cell.align.left": "Выровнять контент ячейки по левому краю",
|
|
10
13
|
"table.menu.cell.align.right": "Выровнять контент ячейки по правому краю",
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import GPTIcon from "./GPT.js";
|
|
2
2
|
import GPTLoading from "./GPTLoading.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import TabsIcon from "./Tabs.js";
|
|
6
|
-
export { MermaidIcon, MonoIcon, TabsIcon, GPTIcon, GPTLoading };
|
|
7
|
-
export { ArrowUturnCcwLeft as UndoIcon, ArrowUturnCwRight as RedoIcon, Bold as BoldIcon, Italic as ItalicIcon, Underline as UnderlineIcon, Strikethrough as StrikethroughIcon, FontCursor as MarkIcon, Text as TextIcon, Heading as HeadingIcon, Heading1 as Heading1Icon, Heading2 as Heading2Icon, Heading3 as Heading3Icon, Heading4 as Heading4Icon, Heading5 as Heading5Icon, Heading6 as Heading6Icon, ListUl as ListBlIcon, ListOl as ListOlIcon, TextOutdent as LiftIcon, TextIndent as SinkIcon, Font as TextColorIcon, Link as LinkIcon, QuoteClose as QuoteIcon, Scissors as CutIcon, Sticker as NoteIcon, Paperclip as FileIcon, Minus as HRuleIcon, LayoutList as TableIcon, ChevronsExpandHorizontal as IframeIcon, SquareCheck as CheckListIcon, Picture as ImageIcon, Person as UserIcon, FaceSmile as EmojiIcon, Code as CodeInlineIcon, FileCode as CodeBlockIcon, Function as FunctionInlineIcon, CurlyBracketsFunction as FunctionBlockIcon, Hashtag as AnchorIcon, SquareDashedText as BlockIcon, LayoutColumns3 as LayoutIcon, Pencil as DrawIoIcon, FolderCode as HtmlBlockIcon, ArrowChevronRight as FoldingHeadingIcon, CircleLink as QuoteLinkIcon, } from '@gravity-ui/icons';
|
|
3
|
+
export { GPTIcon, GPTLoading };
|
|
4
|
+
export { ArrowUturnCcwLeft as UndoIcon, ArrowUturnCwRight as RedoIcon, Bold as BoldIcon, Italic as ItalicIcon, Underline as UnderlineIcon, Strikethrough as StrikethroughIcon, LetterM as MonoIcon, FontCursor as MarkIcon, Text as TextIcon, Heading as HeadingIcon, Heading1 as Heading1Icon, Heading2 as Heading2Icon, Heading3 as Heading3Icon, Heading4 as Heading4Icon, Heading5 as Heading5Icon, Heading6 as Heading6Icon, ListUl as ListBlIcon, ListOl as ListOlIcon, TextOutdent as LiftIcon, TextIndent as SinkIcon, Font as TextColorIcon, Link as LinkIcon, QuoteClose as QuoteIcon, Scissors as CutIcon, Sticker as NoteIcon, Paperclip as FileIcon, Minus as HRuleIcon, LayoutList as TableIcon, ChevronsExpandHorizontal as IframeIcon, SquareCheck as CheckListIcon, Picture as ImageIcon, Person as UserIcon, FaceSmile as EmojiIcon, LayoutTabs as TabsIcon, Code as CodeInlineIcon, FileCode as CodeBlockIcon, Function as FunctionInlineIcon, CurlyBracketsFunction as FunctionBlockIcon, Hashtag as AnchorIcon, SquareDashedText as BlockIcon, LayoutColumns3 as LayoutIcon, LogoDrawIo as DrawIoIcon, LogoMermaid as MermaidIcon, FolderCode as HtmlBlockIcon, ArrowChevronRight as FoldingHeadingIcon, CircleLink as QuoteLinkIcon, } from '@gravity-ui/icons';
|
package/build/cjs/icons/index.js
CHANGED
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QuoteLinkIcon = exports.FoldingHeadingIcon = exports.HtmlBlockIcon = exports.DrawIoIcon = exports.LayoutIcon = exports.BlockIcon = exports.AnchorIcon = exports.FunctionBlockIcon = exports.FunctionInlineIcon = exports.CodeBlockIcon = exports.CodeInlineIcon = exports.EmojiIcon = exports.UserIcon = exports.ImageIcon = exports.CheckListIcon = exports.IframeIcon = exports.TableIcon = exports.HRuleIcon = exports.FileIcon = exports.NoteIcon = exports.CutIcon = exports.QuoteIcon = exports.LinkIcon = exports.TextColorIcon = exports.SinkIcon = exports.LiftIcon = exports.ListOlIcon = exports.ListBlIcon = exports.Heading6Icon = exports.Heading5Icon = exports.Heading4Icon = exports.Heading3Icon = exports.Heading2Icon = exports.Heading1Icon = exports.HeadingIcon = exports.TextIcon = exports.MarkIcon = exports.StrikethroughIcon = exports.UnderlineIcon = exports.ItalicIcon = exports.BoldIcon = exports.RedoIcon = exports.UndoIcon = exports.GPTLoading = exports.GPTIcon =
|
|
3
|
+
exports.QuoteLinkIcon = exports.FoldingHeadingIcon = exports.HtmlBlockIcon = exports.MermaidIcon = exports.DrawIoIcon = exports.LayoutIcon = exports.BlockIcon = exports.AnchorIcon = exports.FunctionBlockIcon = exports.FunctionInlineIcon = exports.CodeBlockIcon = exports.CodeInlineIcon = exports.TabsIcon = exports.EmojiIcon = exports.UserIcon = exports.ImageIcon = exports.CheckListIcon = exports.IframeIcon = exports.TableIcon = exports.HRuleIcon = exports.FileIcon = exports.NoteIcon = exports.CutIcon = exports.QuoteIcon = exports.LinkIcon = exports.TextColorIcon = exports.SinkIcon = exports.LiftIcon = exports.ListOlIcon = exports.ListBlIcon = exports.Heading6Icon = exports.Heading5Icon = exports.Heading4Icon = exports.Heading3Icon = exports.Heading2Icon = exports.Heading1Icon = exports.HeadingIcon = exports.TextIcon = exports.MarkIcon = exports.MonoIcon = exports.StrikethroughIcon = exports.UnderlineIcon = exports.ItalicIcon = exports.BoldIcon = exports.RedoIcon = exports.UndoIcon = exports.GPTLoading = exports.GPTIcon = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const GPT_1 = tslib_1.__importDefault(require("./GPT.js"));
|
|
6
6
|
exports.GPTIcon = GPT_1.default;
|
|
7
7
|
const GPTLoading_1 = tslib_1.__importDefault(require("./GPTLoading.js"));
|
|
8
8
|
exports.GPTLoading = GPTLoading_1.default;
|
|
9
|
-
const Mermaid_1 = tslib_1.__importDefault(require("./Mermaid.js"));
|
|
10
|
-
exports.MermaidIcon = Mermaid_1.default;
|
|
11
|
-
const Mono_1 = tslib_1.__importDefault(require("./Mono.js"));
|
|
12
|
-
exports.MonoIcon = Mono_1.default;
|
|
13
|
-
const Tabs_1 = tslib_1.__importDefault(require("./Tabs.js"));
|
|
14
|
-
exports.TabsIcon = Tabs_1.default;
|
|
15
9
|
var icons_1 = require("@gravity-ui/icons");
|
|
16
10
|
Object.defineProperty(exports, "UndoIcon", { enumerable: true, get: function () { return icons_1.ArrowUturnCcwLeft; } });
|
|
17
11
|
Object.defineProperty(exports, "RedoIcon", { enumerable: true, get: function () { return icons_1.ArrowUturnCwRight; } });
|
|
@@ -20,6 +14,7 @@ Object.defineProperty(exports, "BoldIcon", { enumerable: true, get: function ()
|
|
|
20
14
|
Object.defineProperty(exports, "ItalicIcon", { enumerable: true, get: function () { return icons_1.Italic; } });
|
|
21
15
|
Object.defineProperty(exports, "UnderlineIcon", { enumerable: true, get: function () { return icons_1.Underline; } });
|
|
22
16
|
Object.defineProperty(exports, "StrikethroughIcon", { enumerable: true, get: function () { return icons_1.Strikethrough; } });
|
|
17
|
+
Object.defineProperty(exports, "MonoIcon", { enumerable: true, get: function () { return icons_1.LetterM; } });
|
|
23
18
|
Object.defineProperty(exports, "MarkIcon", { enumerable: true, get: function () { return icons_1.FontCursor; } });
|
|
24
19
|
//
|
|
25
20
|
Object.defineProperty(exports, "TextIcon", { enumerable: true, get: function () { return icons_1.Text; } });
|
|
@@ -53,6 +48,7 @@ Object.defineProperty(exports, "CheckListIcon", { enumerable: true, get: functio
|
|
|
53
48
|
Object.defineProperty(exports, "ImageIcon", { enumerable: true, get: function () { return icons_1.Picture; } });
|
|
54
49
|
Object.defineProperty(exports, "UserIcon", { enumerable: true, get: function () { return icons_1.Person; } });
|
|
55
50
|
Object.defineProperty(exports, "EmojiIcon", { enumerable: true, get: function () { return icons_1.FaceSmile; } });
|
|
51
|
+
Object.defineProperty(exports, "TabsIcon", { enumerable: true, get: function () { return icons_1.LayoutTabs; } });
|
|
56
52
|
//
|
|
57
53
|
Object.defineProperty(exports, "CodeInlineIcon", { enumerable: true, get: function () { return icons_1.Code; } });
|
|
58
54
|
Object.defineProperty(exports, "CodeBlockIcon", { enumerable: true, get: function () { return icons_1.FileCode; } });
|
|
@@ -64,7 +60,8 @@ Object.defineProperty(exports, "AnchorIcon", { enumerable: true, get: function (
|
|
|
64
60
|
Object.defineProperty(exports, "BlockIcon", { enumerable: true, get: function () { return icons_1.SquareDashedText; } });
|
|
65
61
|
Object.defineProperty(exports, "LayoutIcon", { enumerable: true, get: function () { return icons_1.LayoutColumns3; } });
|
|
66
62
|
//
|
|
67
|
-
Object.defineProperty(exports, "DrawIoIcon", { enumerable: true, get: function () { return icons_1.
|
|
63
|
+
Object.defineProperty(exports, "DrawIoIcon", { enumerable: true, get: function () { return icons_1.LogoDrawIo; } });
|
|
64
|
+
Object.defineProperty(exports, "MermaidIcon", { enumerable: true, get: function () { return icons_1.LogoMermaid; } });
|
|
68
65
|
Object.defineProperty(exports, "HtmlBlockIcon", { enumerable: true, get: function () { return icons_1.FolderCode; } });
|
|
69
66
|
Object.defineProperty(exports, "FoldingHeadingIcon", { enumerable: true, get: function () { return icons_1.ArrowChevronRight; } });
|
|
70
67
|
Object.defineProperty(exports, "QuoteLinkIcon", { enumerable: true, get: function () { return icons_1.CircleLink; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["icons/index.ts"],"names":[],"mappings":";;;;AAAA,2DAA4B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["icons/index.ts"],"names":[],"mappings":";;;;AAAA,2DAA4B;AAGpB,kBAHD,aAAO,CAGC;AAFf,yEAAsC;AAErB,qBAFV,oBAAU,CAEU;AAE3B,2CA2D2B;AA1DvB,iGAAA,iBAAiB,OAAY;AAC7B,iGAAA,iBAAiB,OAAY;AAC7B,EAAE;AACF,iGAAA,IAAI,OAAY;AAChB,mGAAA,MAAM,OAAc;AACpB,sGAAA,SAAS,OAAiB;AAC1B,0GAAA,aAAa,OAAqB;AAClC,iGAAA,OAAO,OAAY;AACnB,iGAAA,UAAU,OAAY;AACtB,EAAE;AACF,iGAAA,IAAI,OAAY;AAChB,oGAAA,OAAO,OAAe;AACtB,qGAAA,QAAQ,OAAgB;AACxB,qGAAA,QAAQ,OAAgB;AACxB,qGAAA,QAAQ,OAAgB;AACxB,qGAAA,QAAQ,OAAgB;AACxB,qGAAA,QAAQ,OAAgB;AACxB,qGAAA,QAAQ,OAAgB;AACxB,EAAE;AACF,mGAAA,MAAM,OAAc;AACpB,mGAAA,MAAM,OAAc;AACpB,EAAE;AACF,iGAAA,WAAW,OAAY;AACvB,iGAAA,UAAU,OAAY;AACtB,EAAE;AACF,sGAAA,IAAI,OAAiB;AACrB,EAAE;AACF,iGAAA,IAAI,OAAY;AAChB,kGAAA,UAAU,OAAa;AACvB,gGAAA,QAAQ,OAAW;AACnB,iGAAA,OAAO,OAAY;AACnB,iGAAA,SAAS,OAAY;AACrB,kGAAA,KAAK,OAAa;AAClB,EAAE;AACF,kGAAA,UAAU,OAAa;AACvB,EAAE;AACF,mGAAA,wBAAwB,OAAc;AACtC,sGAAA,WAAW,OAAiB;AAC5B,kGAAA,OAAO,OAAa;AACpB,iGAAA,MAAM,OAAY;AAClB,kGAAA,SAAS,OAAa;AACtB,iGAAA,UAAU,OAAY;AACtB,EAAE;AACF,uGAAA,IAAI,OAAkB;AACtB,sGAAA,QAAQ,OAAiB;AACzB,EAAE;AACF,2GAAA,QAAQ,OAAsB;AAC9B,0GAAA,qBAAqB,OAAqB;AAC1C,EAAE;AACF,mGAAA,OAAO,OAAc;AACrB,kGAAA,gBAAgB,OAAa;AAC7B,mGAAA,cAAc,OAAc;AAC5B,EAAE;AACF,mGAAA,UAAU,OAAc;AACxB,oGAAA,WAAW,OAAe;AAC1B,sGAAA,UAAU,OAAiB;AAC3B,2GAAA,iBAAiB,OAAsB;AACvC,sGAAA,UAAU,OAAiB","sourcesContent":["import GPTIcon from './GPT';\nimport GPTLoading from './GPTLoading';\n\nexport {GPTIcon, GPTLoading};\n\nexport {\n ArrowUturnCcwLeft as UndoIcon,\n ArrowUturnCwRight as RedoIcon,\n //\n Bold as BoldIcon,\n Italic as ItalicIcon,\n Underline as UnderlineIcon,\n Strikethrough as StrikethroughIcon,\n LetterM as MonoIcon,\n FontCursor as MarkIcon,\n //\n Text as TextIcon,\n Heading as HeadingIcon,\n Heading1 as Heading1Icon,\n Heading2 as Heading2Icon,\n Heading3 as Heading3Icon,\n Heading4 as Heading4Icon,\n Heading5 as Heading5Icon,\n Heading6 as Heading6Icon,\n //\n ListUl as ListBlIcon,\n ListOl as ListOlIcon,\n //\n TextOutdent as LiftIcon,\n TextIndent as SinkIcon,\n //\n Font as TextColorIcon,\n //\n Link as LinkIcon,\n QuoteClose as QuoteIcon,\n Scissors as CutIcon,\n Sticker as NoteIcon,\n Paperclip as FileIcon,\n Minus as HRuleIcon,\n //\n LayoutList as TableIcon,\n //\n ChevronsExpandHorizontal as IframeIcon,\n SquareCheck as CheckListIcon,\n Picture as ImageIcon,\n Person as UserIcon,\n FaceSmile as EmojiIcon,\n LayoutTabs as TabsIcon,\n //\n Code as CodeInlineIcon,\n FileCode as CodeBlockIcon,\n //\n Function as FunctionInlineIcon,\n CurlyBracketsFunction as FunctionBlockIcon,\n //\n Hashtag as AnchorIcon,\n SquareDashedText as BlockIcon,\n LayoutColumns3 as LayoutIcon,\n //\n LogoDrawIo as DrawIoIcon,\n LogoMermaid as MermaidIcon,\n FolderCode as HtmlBlockIcon,\n ArrowChevronRight as FoldingHeadingIcon,\n CircleLink as QuoteLinkIcon,\n} from '@gravity-ui/icons';\n"]}
|
package/build/cjs/lodash.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ import isString from "lodash/isString.js";
|
|
|
9
9
|
import noop from "lodash/noop.js";
|
|
10
10
|
import omit from "lodash/omit.js";
|
|
11
11
|
import partial from "lodash/partial.js";
|
|
12
|
+
import range from "lodash/range.js";
|
|
12
13
|
import throttle from "lodash/throttle.js";
|
|
14
|
+
import uniqWith from "lodash/uniqWith.js";
|
|
13
15
|
import uniqueId from "lodash/uniqueId.js";
|
|
14
|
-
export { noop, omit, clamp, groupBy, partial, debounce, throttle, uniqueId, isString, capitalize, isEqual, isFunction, cloneDeep, };
|
|
16
|
+
export { noop, omit, clamp, range, groupBy, partial, debounce, throttle, uniqWith, uniqueId, isString, capitalize, isEqual, isFunction, cloneDeep, };
|
package/build/cjs/lodash.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cloneDeep = exports.isFunction = exports.isEqual = exports.capitalize = exports.isString = exports.uniqueId = exports.throttle = exports.debounce = exports.partial = exports.groupBy = exports.clamp = exports.omit = exports.noop = void 0;
|
|
3
|
+
exports.cloneDeep = exports.isFunction = exports.isEqual = exports.capitalize = exports.isString = exports.uniqueId = exports.uniqWith = exports.throttle = exports.debounce = exports.partial = exports.groupBy = exports.range = exports.clamp = exports.omit = exports.noop = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const capitalize_1 = tslib_1.__importDefault(require("lodash/capitalize.js"));
|
|
6
6
|
exports.capitalize = capitalize_1.default;
|
|
@@ -24,8 +24,12 @@ const omit_1 = tslib_1.__importDefault(require("lodash/omit.js"));
|
|
|
24
24
|
exports.omit = omit_1.default;
|
|
25
25
|
const partial_1 = tslib_1.__importDefault(require("lodash/partial.js"));
|
|
26
26
|
exports.partial = partial_1.default;
|
|
27
|
+
const range_1 = tslib_1.__importDefault(require("lodash/range.js"));
|
|
28
|
+
exports.range = range_1.default;
|
|
27
29
|
const throttle_1 = tslib_1.__importDefault(require("lodash/throttle.js"));
|
|
28
30
|
exports.throttle = throttle_1.default;
|
|
31
|
+
const uniqWith_1 = tslib_1.__importDefault(require("lodash/uniqWith.js"));
|
|
32
|
+
exports.uniqWith = uniqWith_1.default;
|
|
29
33
|
const uniqueId_1 = tslib_1.__importDefault(require("lodash/uniqueId.js"));
|
|
30
34
|
exports.uniqueId = uniqueId_1.default;
|
|
31
35
|
//# sourceMappingURL=lodash.js.map
|
package/build/cjs/lodash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lodash.js","sourceRoot":"../../src","sources":["lodash.ts"],"names":[],"mappings":";;;;AAAA,8EAA2C;
|
|
1
|
+
{"version":3,"file":"lodash.js","sourceRoot":"../../src","sources":["lodash.ts"],"names":[],"mappings":";;;;AAAA,8EAA2C;AA4BvC,qBA5BG,oBAAU,CA4BH;AA3Bd,oEAAiC;AAkB7B,gBAlBG,eAAK,CAkBH;AAjBT,4EAAyC;AA6BrC,oBA7BG,mBAAS,CA6BH;AA5Bb,0EAAuC;AAoBnC,mBApBG,kBAAQ,CAoBH;AAnBZ,wEAAqC;AAiBjC,kBAjBG,iBAAO,CAiBH;AAhBX,wEAAqC;AAwBjC,kBAxBG,iBAAO,CAwBH;AAvBX,8EAA2C;AAwBvC,qBAxBG,oBAAU,CAwBH;AAvBd,0EAAuC;AAoBnC,mBApBG,kBAAQ,CAoBH;AAnBZ,kEAA+B;AAS3B,eATG,cAAI,CASH;AARR,kEAA+B;AAS3B,eATG,cAAI,CASH;AARR,wEAAqC;AAYjC,kBAZG,iBAAO,CAYH;AAXX,oEAAiC;AAS7B,gBATG,eAAK,CASH;AART,0EAAuC;AAYnC,mBAZG,kBAAQ,CAYH;AAXZ,0EAAuC;AAYnC,mBAZG,kBAAQ,CAYH;AAXZ,0EAAuC;AAYnC,mBAZG,kBAAQ,CAYH","sourcesContent":["import capitalize from 'lodash/capitalize';\nimport clamp from 'lodash/clamp';\nimport cloneDeep from 'lodash/cloneDeep';\nimport debounce from 'lodash/debounce';\nimport groupBy from 'lodash/groupBy';\nimport isEqual from 'lodash/isEqual';\nimport isFunction from 'lodash/isFunction';\nimport isString from 'lodash/isString';\nimport noop from 'lodash/noop';\nimport omit from 'lodash/omit';\nimport partial from 'lodash/partial';\nimport range from 'lodash/range';\nimport throttle from 'lodash/throttle';\nimport uniqWith from 'lodash/uniqWith';\nimport uniqueId from 'lodash/uniqueId';\n\nexport {\n noop,\n omit,\n clamp,\n range,\n groupBy,\n partial,\n debounce,\n throttle,\n uniqWith,\n uniqueId,\n isString,\n capitalize,\n isEqual,\n isFunction,\n cloneDeep,\n};\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Node } from 'prosemirror-model';
|
|
2
|
-
type TableCellRealDesc = {
|
|
2
|
+
export type TableCellRealDesc = {
|
|
3
3
|
type: 'real';
|
|
4
4
|
offset: number;
|
|
5
5
|
node: Node;
|
|
6
6
|
colspan?: number;
|
|
7
7
|
rowspan?: number;
|
|
8
8
|
};
|
|
9
|
-
type TableCellVirtualDesc = {
|
|
9
|
+
export type TableCellVirtualDesc = {
|
|
10
10
|
type: 'virtual';
|
|
11
11
|
/** Index of real cell, that prodeced this virtual cell */
|
|
12
12
|
colspan?: [number, number];
|
|
@@ -17,13 +17,29 @@ type Pos = {
|
|
|
17
17
|
from: number;
|
|
18
18
|
to: number;
|
|
19
19
|
};
|
|
20
|
-
export type CellPos =
|
|
20
|
+
export type CellPos = RealCellPos | VirtualCellPos;
|
|
21
|
+
export type RealCellPos = {
|
|
21
22
|
type: 'real';
|
|
22
|
-
} & Pos
|
|
23
|
+
} & Pos;
|
|
24
|
+
export type VirtualCellPos = {
|
|
23
25
|
type: 'virtual';
|
|
24
26
|
closestPos: number;
|
|
25
27
|
};
|
|
26
|
-
type TableCellDesc = TableCellRealDesc | TableCellVirtualDesc;
|
|
28
|
+
export type TableCellDesc = TableCellRealDesc | TableCellVirtualDesc;
|
|
29
|
+
export type TableRowRange = {
|
|
30
|
+
startIdx: number;
|
|
31
|
+
endIdx: number;
|
|
32
|
+
rowsCount: number;
|
|
33
|
+
safeTopBoundary: boolean;
|
|
34
|
+
safeBottomBoundary: boolean;
|
|
35
|
+
};
|
|
36
|
+
export type TableColumnRange = {
|
|
37
|
+
startIdx: number;
|
|
38
|
+
endIdx: number;
|
|
39
|
+
columnsCount: number;
|
|
40
|
+
safeLeftBoundary: boolean;
|
|
41
|
+
safeRightBoundary: boolean;
|
|
42
|
+
};
|
|
27
43
|
type TableRowDesc = {
|
|
28
44
|
node: Node;
|
|
29
45
|
cells: TableCellDesc[];
|
|
@@ -38,7 +54,10 @@ export declare class TableDesc {
|
|
|
38
54
|
readonly baseOffset: number;
|
|
39
55
|
private static __cache;
|
|
40
56
|
static create(table: Node): TableDesc | null;
|
|
57
|
+
private _rowRanges?;
|
|
58
|
+
private _columnRanges?;
|
|
41
59
|
private constructor();
|
|
60
|
+
bind(pos: number): TableDescBinded;
|
|
42
61
|
rowHasVirtualCells(rowIndex: number): boolean;
|
|
43
62
|
columnHasVirtualCells(columnIndex: number): boolean;
|
|
44
63
|
isSafeColumn(columnIndex: number): boolean;
|
|
@@ -46,8 +65,33 @@ export declare class TableDesc {
|
|
|
46
65
|
getOffsetForRow(rowIndex: number): number;
|
|
47
66
|
getRelativePosForRow(rowIndex: number): Pos;
|
|
48
67
|
getRelativePosForCell(rowIndex: number, columnIndex: number): CellPos;
|
|
68
|
+
getRelativePosForRowCells(rowIndex: number): CellPos[];
|
|
49
69
|
getRelativePosForColumn(columnIndex: number): CellPos[];
|
|
50
70
|
getCellNodeType(): import("prosemirror-model").NodeType;
|
|
51
71
|
getRowNodeType(): import("prosemirror-model").NodeType;
|
|
72
|
+
getCellInfo(node: Node): {
|
|
73
|
+
node: Node;
|
|
74
|
+
offset: number;
|
|
75
|
+
row: number;
|
|
76
|
+
column: number;
|
|
77
|
+
} | null;
|
|
78
|
+
getRowRanges(): readonly Readonly<TableRowRange>[];
|
|
79
|
+
getRowRangeByRowIdx(rowIdx: number): Readonly<TableRowRange>;
|
|
80
|
+
getRowRangeIdxByRowIdx(rowIdx: number): number;
|
|
81
|
+
getColumnRanges(): readonly Readonly<TableColumnRange>[];
|
|
82
|
+
getColumnRangeByColumnIdx(columnIdx: number): Readonly<TableColumnRange>;
|
|
83
|
+
getColumnRangeIdxByColumnIdx(columnIdx: number): number;
|
|
84
|
+
}
|
|
85
|
+
declare class TableDescBinded {
|
|
86
|
+
readonly pos: number;
|
|
87
|
+
readonly base: TableDesc;
|
|
88
|
+
get rows(): number;
|
|
89
|
+
get cols(): number;
|
|
90
|
+
constructor(pos: number, desc: TableDesc);
|
|
91
|
+
getRowIndexByPos(pos: number): number | null;
|
|
92
|
+
getPosForRow(rowIndex: number): Pos;
|
|
93
|
+
getPosForCell(rowIndex: number, columnIndex: number): CellPos;
|
|
94
|
+
getPosForRowCells(rowIndex: number): CellPos[];
|
|
95
|
+
getPosForColumn(columnIndex: number): CellPos[];
|
|
52
96
|
}
|
|
53
|
-
export {};
|
|
97
|
+
export type { TableDescBinded };
|