@gravity-ui/markdown-editor 15.34.5 → 15.35.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/build/cjs/bundle/MarkupEditorView.js +1 -1
  2. package/build/cjs/bundle/MarkupEditorView.js.map +1 -1
  3. package/build/cjs/bundle/ToolbarView.d.ts +1 -2
  4. package/build/cjs/bundle/ToolbarView.js +22 -10
  5. package/build/cjs/bundle/ToolbarView.js.map +1 -1
  6. package/build/cjs/bundle/WysiwygEditorView.d.ts +1 -1
  7. package/build/cjs/bundle/WysiwygEditorView.js +4 -4
  8. package/build/cjs/bundle/WysiwygEditorView.js.map +1 -1
  9. package/build/cjs/bundle/config/markup.js +1 -0
  10. package/build/cjs/bundle/config/markup.js.map +1 -1
  11. package/build/cjs/bundle/config/wysiwyg.js +2 -0
  12. package/build/cjs/bundle/config/wysiwyg.js.map +1 -1
  13. package/build/cjs/bundle/emoji.js +3 -0
  14. package/build/cjs/bundle/emoji.js.map +1 -1
  15. package/build/cjs/bundle/toolbar/wysiwyg/WToolbarColors.js +36 -2
  16. package/build/cjs/bundle/toolbar/wysiwyg/WToolbarColors.js.map +1 -1
  17. package/build/cjs/extensions/additional/Mermaid/MermaidNodeView/MermaidView.js +11 -7
  18. package/build/cjs/extensions/additional/Mermaid/MermaidNodeView/MermaidView.js.map +1 -1
  19. package/build/cjs/extensions/additional/Mermaid/index.d.ts +5 -0
  20. package/build/cjs/extensions/additional/Mermaid/index.js.map +1 -1
  21. package/build/cjs/extensions/markdown/Lists/commands.d.ts +1 -0
  22. package/build/cjs/extensions/markdown/Lists/commands.js +14 -0
  23. package/build/cjs/extensions/markdown/Lists/commands.js.map +1 -1
  24. package/build/cjs/extensions/markdown/Lists/index.js +1 -0
  25. package/build/cjs/extensions/markdown/Lists/index.js.map +1 -1
  26. package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-auto-scroll.d.ts +27 -0
  27. package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-auto-scroll.js +81 -0
  28. package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-auto-scroll.js.map +1 -0
  29. package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.js +33 -0
  30. package/build/cjs/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.js.map +1 -1
  31. package/build/cjs/modules/toolbars/items.js +2 -0
  32. package/build/cjs/modules/toolbars/items.js.map +1 -1
  33. package/build/cjs/modules/toolbars/types.d.ts +1 -0
  34. package/build/cjs/modules/toolbars/types.js.map +1 -1
  35. package/build/cjs/react-utils/memo.d.ts +1 -0
  36. package/build/cjs/react-utils/memo.js +8 -0
  37. package/build/cjs/react-utils/memo.js.map +1 -0
  38. package/build/cjs/styles/markdown.css +1 -1
  39. package/build/cjs/styles/styles.css +5 -0
  40. package/build/cjs/styles/yfm-overrides.css +1 -1
  41. package/build/cjs/toolbar/Toolbar.d.ts +4 -0
  42. package/build/cjs/toolbar/Toolbar.js +9 -4
  43. package/build/cjs/toolbar/Toolbar.js.map +1 -1
  44. package/build/cjs/toolbar/ToolbarButton.js +3 -3
  45. package/build/cjs/toolbar/ToolbarButton.js.map +1 -1
  46. package/build/cjs/toolbar/ToolbarButtonPopup.js +3 -3
  47. package/build/cjs/toolbar/ToolbarButtonPopup.js.map +1 -1
  48. package/build/cjs/toolbar/ToolbarGroup.js +5 -4
  49. package/build/cjs/toolbar/ToolbarGroup.js.map +1 -1
  50. package/build/cjs/toolbar/ToolbarListButton.js +9 -6
  51. package/build/cjs/toolbar/ToolbarListButton.js.map +1 -1
  52. package/build/cjs/toolbar/ToolbarRerender.d.ts +3 -0
  53. package/build/cjs/toolbar/ToolbarRerender.js +48 -0
  54. package/build/cjs/toolbar/ToolbarRerender.js.map +1 -0
  55. package/build/cjs/toolbar/context.d.ts +10 -0
  56. package/build/cjs/toolbar/context.js +12 -0
  57. package/build/cjs/toolbar/context.js.map +1 -0
  58. package/build/cjs/toolbar/hooks.d.ts +8 -0
  59. package/build/cjs/toolbar/hooks.js +68 -0
  60. package/build/cjs/toolbar/hooks.js.map +1 -0
  61. package/build/cjs/toolbar/index.d.ts +1 -0
  62. package/build/cjs/toolbar/index.js +4 -0
  63. package/build/cjs/toolbar/index.js.map +1 -1
  64. package/build/cjs/toolbar/types.d.ts +1 -0
  65. package/build/cjs/toolbar/types.js.map +1 -1
  66. package/build/cjs/version.js +1 -1
  67. package/build/cjs/version.js.map +1 -1
  68. package/build/cjs/view/hocs/withMermaid/index.js +6 -1
  69. package/build/cjs/view/hocs/withMermaid/index.js.map +1 -1
  70. package/build/esm/bundle/MarkupEditorView.js +1 -1
  71. package/build/esm/bundle/MarkupEditorView.js.map +1 -1
  72. package/build/esm/bundle/ToolbarView.d.ts +1 -2
  73. package/build/esm/bundle/ToolbarView.js +24 -12
  74. package/build/esm/bundle/ToolbarView.js.map +1 -1
  75. package/build/esm/bundle/WysiwygEditorView.d.ts +1 -1
  76. package/build/esm/bundle/WysiwygEditorView.js +3 -4
  77. package/build/esm/bundle/WysiwygEditorView.js.map +1 -1
  78. package/build/esm/bundle/config/markup.js +1 -0
  79. package/build/esm/bundle/config/markup.js.map +1 -1
  80. package/build/esm/bundle/config/wysiwyg.js +2 -0
  81. package/build/esm/bundle/config/wysiwyg.js.map +1 -1
  82. package/build/esm/bundle/emoji.js +3 -0
  83. package/build/esm/bundle/emoji.js.map +1 -1
  84. package/build/esm/bundle/toolbar/wysiwyg/WToolbarColors.js +36 -2
  85. package/build/esm/bundle/toolbar/wysiwyg/WToolbarColors.js.map +1 -1
  86. package/build/esm/extensions/additional/Mermaid/MermaidNodeView/MermaidView.js +11 -7
  87. package/build/esm/extensions/additional/Mermaid/MermaidNodeView/MermaidView.js.map +1 -1
  88. package/build/esm/extensions/additional/Mermaid/index.d.ts +5 -0
  89. package/build/esm/extensions/additional/Mermaid/index.js.map +1 -1
  90. package/build/esm/extensions/markdown/Lists/commands.d.ts +1 -0
  91. package/build/esm/extensions/markdown/Lists/commands.js +13 -0
  92. package/build/esm/extensions/markdown/Lists/commands.js.map +1 -1
  93. package/build/esm/extensions/markdown/Lists/index.js +2 -1
  94. package/build/esm/extensions/markdown/Lists/index.js.map +1 -1
  95. package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-auto-scroll.d.ts +27 -0
  96. package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-auto-scroll.js +77 -0
  97. package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd-auto-scroll.js.map +1 -0
  98. package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.js +33 -0
  99. package/build/esm/extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.js.map +1 -1
  100. package/build/esm/modules/toolbars/items.js +2 -0
  101. package/build/esm/modules/toolbars/items.js.map +1 -1
  102. package/build/esm/modules/toolbars/types.d.ts +1 -0
  103. package/build/esm/modules/toolbars/types.js.map +1 -1
  104. package/build/esm/react-utils/memo.d.ts +1 -0
  105. package/build/esm/react-utils/memo.js +5 -0
  106. package/build/esm/react-utils/memo.js.map +1 -0
  107. package/build/esm/styles/markdown.css +1 -1
  108. package/build/esm/styles/styles.css +5 -0
  109. package/build/esm/styles/yfm-overrides.css +1 -1
  110. package/build/esm/toolbar/Toolbar.d.ts +4 -0
  111. package/build/esm/toolbar/Toolbar.js +9 -4
  112. package/build/esm/toolbar/Toolbar.js.map +1 -1
  113. package/build/esm/toolbar/ToolbarButton.js +3 -3
  114. package/build/esm/toolbar/ToolbarButton.js.map +1 -1
  115. package/build/esm/toolbar/ToolbarButtonPopup.js +3 -3
  116. package/build/esm/toolbar/ToolbarButtonPopup.js.map +1 -1
  117. package/build/esm/toolbar/ToolbarGroup.js +5 -4
  118. package/build/esm/toolbar/ToolbarGroup.js.map +1 -1
  119. package/build/esm/toolbar/ToolbarListButton.js +9 -6
  120. package/build/esm/toolbar/ToolbarListButton.js.map +1 -1
  121. package/build/esm/toolbar/ToolbarRerender.d.ts +3 -0
  122. package/build/esm/toolbar/ToolbarRerender.js +44 -0
  123. package/build/esm/toolbar/ToolbarRerender.js.map +1 -0
  124. package/build/esm/toolbar/context.d.ts +10 -0
  125. package/build/esm/toolbar/context.js +8 -0
  126. package/build/esm/toolbar/context.js.map +1 -0
  127. package/build/esm/toolbar/hooks.d.ts +8 -0
  128. package/build/esm/toolbar/hooks.js +64 -0
  129. package/build/esm/toolbar/hooks.js.map +1 -0
  130. package/build/esm/toolbar/index.d.ts +1 -0
  131. package/build/esm/toolbar/index.js +1 -0
  132. package/build/esm/toolbar/index.js.map +1 -1
  133. package/build/esm/toolbar/types.d.ts +1 -0
  134. package/build/esm/toolbar/types.js.map +1 -1
  135. package/build/esm/version.js +1 -1
  136. package/build/esm/version.js.map +1 -1
  137. package/build/esm/view/hocs/withMermaid/index.js +6 -1
  138. package/build/esm/view/hocs/withMermaid/index.js.map +1 -1
  139. package/build/styles.css +7 -2
  140. package/package.json +17 -79
  141. package/README.md +0 -89
@@ -1 +1 @@
1
- {"version":3,"file":"dnd.js","sourceRoot":"../../../../../../../../src","sources":["extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.ts"],"names":[],"mappings":"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","sourcesContent":["import {type Node, Slice} from '#pm/model';\nimport {TextSelection} from '#pm/state';\nimport {findParentNodeClosestToPos} from '#pm/utils';\nimport type {EditorView} from '#pm/view';\nimport {debounce} from 'src/lodash';\nimport type {Logger2} from 'src/logger';\nimport {isTableNode} from 'src/table-utils';\nimport {\n type CellPos,\n type RealCellPos,\n type TableColumnRange,\n TableDesc,\n type TableDescBinded,\n type TableRowRange,\n} from 'src/table-utils/table-desc';\n\nimport {YfmTableNode} from '../../../YfmTableSpecs';\nimport {clearAllSelections, selectDraggedColumn, selectDraggedRow} from '../plugins/dnd-plugin';\nimport {hideHoverDecos} from '../plugins/focus-plugin';\nimport {getSelectedCellsForColumns, getSelectedCellsForRows} from '../utils';\n\nimport {\n type DropCursor,\n type DropCursorParams,\n TableColumnDropCursor,\n TableRowDropCursor,\n} from './dnd-drop-cursor';\nimport {YfmTableDnDGhost} from './dnd-ghost';\n\nimport './dnd.scss';\n\nconst MOUSE_MOVE_DEBOUNCE = 100; // ms\nconst DRAG_START_THRESHOLD = 4; // px\n\ntype PageCoords = Pick<MouseEvent, 'pageX' | 'pageY'>;\n\nexport type DnDControlHandler = {\n canDrag(): boolean;\n control_handleMouseDown: React.MouseEventHandler<HTMLButtonElement>;\n control_handleMouseMove: React.MouseEventHandler<HTMLButtonElement>;\n control_handleMouseUp: React.MouseEventHandler<HTMLButtonElement>;\n control_handleMouseLeave: React.MouseEventHandler<HTMLButtonElement>;\n};\n\ninterface TableHandler {\n update(node: Node): void;\n destroy(): void;\n}\n\nexport type YfmTableDnDHandlerParams = {\n cellNode: Node;\n cellGetPos: () => number | undefined;\n logger: Logger2.ILogger;\n dropCursor?: DropCursorParams;\n};\n\nexport class YfmTableDnDHandler implements TableHandler {\n private readonly _rowHandler: YfmTableRowDnDHandler;\n private readonly _columnHandler: YfmTableColumnDnDHandler;\n\n get row(): DnDControlHandler {\n return this._rowHandler;\n }\n\n get column(): DnDControlHandler {\n return this._columnHandler;\n }\n\n constructor(view: EditorView, params: YfmTableDnDHandlerParams) {\n this._rowHandler = new YfmTableRowDnDHandler(view, params);\n this._columnHandler = new YfmTableColumnDnDHandler(view, params);\n }\n\n update(node: Node): void {\n this._rowHandler.update(node);\n this._columnHandler.update(node);\n }\n\n destroy(): void {\n this._rowHandler.destroy();\n this._columnHandler.destroy();\n }\n}\n\nabstract class YfmTableDnDAbstractHandler implements TableHandler, DnDControlHandler {\n protected readonly _cellGetPos: () => number | undefined;\n protected readonly _editorView: EditorView;\n protected readonly _logger: Logger2.ILogger;\n protected readonly _dropCursor: DropCursor;\n\n private __cellNode: Node;\n private __dragging = false;\n private __destroyed = false;\n private __dragMouseDown: false | PageCoords = false;\n\n constructor(\n view: EditorView,\n params: Omit<YfmTableDnDHandlerParams, 'dropCursor'> & {dropCursor: DropCursor},\n ) {\n this._editorView = view;\n this.__cellNode = params.cellNode;\n this._cellGetPos = params.cellGetPos;\n this._logger = params.logger;\n this._dropCursor = params.dropCursor;\n }\n\n update(cellnode: Node) {\n this.__cellNode = cellnode;\n }\n\n destroy() {\n this.__destroyed = true;\n this._clearDragging(false);\n }\n\n abstract canDrag(): boolean;\n\n control_handleMouseDown: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n this.__dragMouseDown = {pageX: event.pageX, pageY: event.pageY};\n this._dropCursor.clear();\n };\n\n control_handleMouseUp: React.MouseEventHandler<HTMLButtonElement> = () => {\n this.__dragMouseDown = false;\n };\n\n control_handleMouseLeave: React.MouseEventHandler<HTMLButtonElement> = () => {\n this.__dragMouseDown = false;\n };\n\n control_handleMouseMove: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n if (!this._dragMouseDown || !isDragThresholdPassed(this._dragMouseDown, event)) return;\n\n if (this._editorView.dragging || this._dragging) return;\n this._startDragging(event);\n };\n\n protected get _cellNode(): Node {\n return this.__cellNode;\n }\n\n protected get _dragging() {\n return this.__dragging;\n }\n\n protected set _dragging(val: boolean) {\n this.__dragging = val;\n }\n\n protected get _destroyed() {\n return this.__destroyed;\n }\n\n protected get _dragMouseDown() {\n return this.__dragMouseDown;\n }\n\n protected abstract _startDragging(event: React.MouseEvent): void;\n\n protected _getTableDescAndCellInfo() {\n const tcellPos = this._cellGetPos();\n const tableNode =\n tcellPos === undefined\n ? undefined\n : findParentNodeClosestToPos(\n this._editorView.state.doc.resolve(tcellPos),\n isTableNode,\n );\n const tableDesc = tableNode && TableDesc.create(tableNode.node)?.bind(tableNode.pos);\n const cellInfo = tableDesc?.base.getCellInfo(this._cellNode);\n return cellInfo\n ? {\n cellPos: tcellPos!,\n table: tableNode!,\n tableDesc: tableDesc!,\n cellInfo,\n }\n : null;\n }\n\n protected _clearDragging(clearDecorations?: boolean) {\n this.__dragging = false;\n this.__dragMouseDown = false;\n this._dropCursor.clear();\n this._editorView.dragging = null;\n if (clearDecorations !== false)\n this._editorView.dispatch(clearAllSelections(this._editorView.state.tr));\n }\n}\n\nclass YfmTableRowDnDHandler extends YfmTableDnDAbstractHandler {\n constructor(view: EditorView, params: YfmTableDnDHandlerParams) {\n super(view, {\n ...params,\n logger: params.logger.nested({component: 'row-dnd-handler'}),\n dropCursor: new TableRowDropCursor(view, params.dropCursor),\n });\n }\n\n canDrag(): boolean {\n const res = this._getTableDescAndCellInfo();\n if (!res) return false;\n const rowRange = res.tableDesc.base.getRowRangeByRowIdx(res.cellInfo.row);\n return rowRange.safeTopBoundary && rowRange.safeBottomBoundary;\n }\n\n protected _startDragging = (event: React.MouseEvent) => {\n const info = this._getTableDescAndCellInfo();\n if (!info) return;\n\n const {tableDesc, cellInfo} = info;\n const rowRanges = tableDesc.base.getRowRanges();\n const currRowRange = tableDesc.base.getRowRangeByRowIdx(cellInfo.row);\n if (!currRowRange.safeTopBoundary || !currRowRange.safeBottomBoundary) return;\n\n this._dragging = true;\n this._logger.event({event: 'row-drag-start'});\n\n {\n const {tr} = this._editorView.state;\n hideHoverDecos(tr);\n selectDraggedRow(tr, getSelectedCellsForRows(info.tableDesc, currRowRange));\n this._editorView.dispatch(tr);\n }\n\n {\n const from = tableDesc.getPosForRow(currRowRange.startIdx).from;\n const to = tableDesc.getPosForRow(currRowRange.endIdx).to;\n this._editorView.dragging = {\n move: true,\n slice: this._editorView.state.doc.slice(from, to, false),\n };\n }\n\n const draggedRangeIdx = rowRanges.indexOf(currRowRange);\n\n const ghost = new YfmTableDnDGhost(this._editorView, {\n type: 'row',\n initial: event,\n rangeIdx: draggedRangeIdx,\n tableDesc,\n });\n\n const onMoveDebounced = debounce(\n (event: MouseEvent) => {\n this._moveDragging(event, {\n rangeIdx: draggedRangeIdx,\n tableDesc,\n });\n },\n MOUSE_MOVE_DEBOUNCE,\n {maxWait: MOUSE_MOVE_DEBOUNCE},\n );\n\n const onMove = (event: MouseEvent) => {\n ghost.move(event);\n onMoveDebounced(event);\n };\n\n document.addEventListener('mousemove', onMove);\n\n document.addEventListener(\n 'mouseup',\n () => {\n onMoveDebounced.flush();\n ghost.destroy();\n document.removeEventListener('mousemove', onMove);\n this._endDragging(currRowRange, tableDesc);\n },\n {once: true},\n );\n };\n\n private _moveDragging(\n event: MouseEvent,\n {\n rangeIdx,\n tableDesc: initialTableDesc,\n }: {\n rangeIdx: number;\n tableDesc: TableDescBinded;\n },\n ) {\n if (this._destroyed || !this._dragging) return;\n\n const info = this._getTableDescAndCellInfo();\n if (!info || info.tableDesc.base !== initialTableDesc.base) {\n this._clearDragging();\n return;\n }\n\n const {tableDesc} = info;\n const ranges = tableDesc.base.getRowRanges();\n\n const boxes = ranges.map((range: Readonly<TableRowRange>) => {\n const firstRowStartPos = tableDesc.getPosForRow(range.startIdx).from;\n const lastRowPos = tableDesc.getPosForRow(range.endIdx);\n const lastRowStartPos = lastRowPos.from;\n const lastRowEndPos = lastRowPos.to;\n\n const firstRowElem = this._editorView.domAtPos(firstRowStartPos + 1).node as Element;\n const firstRowBox = firstRowElem.getBoundingClientRect();\n\n const lastRowElem = this._editorView.domAtPos(lastRowStartPos + 1).node as Element;\n const lastRowBox = lastRowElem.getBoundingClientRect();\n\n return {\n pos: {from: firstRowStartPos, to: lastRowEndPos},\n rect: {\n top: firstRowBox.top,\n bottom: lastRowBox.bottom,\n },\n safeTopBoundary: range.safeTopBoundary,\n safeBottomBoundary: range.safeBottomBoundary,\n };\n });\n\n const pos = ((): number | null => {\n const {clientY} = event;\n const draggedRangeBox = boxes[rangeIdx];\n const isDraggedFirst = rangeIdx === 0;\n const isDraggedLast = rangeIdx === boxes.length - 1;\n\n if (!isDraggedFirst && clientY < draggedRangeBox.rect.top) {\n for (const box of boxes.slice(0, rangeIdx).reverse()) {\n if (clientY < box.rect.top) continue;\n if (!box.safeTopBoundary) continue;\n return box.pos.from;\n }\n return boxes[0].pos.from;\n }\n\n if (!isDraggedLast && clientY > draggedRangeBox.rect.bottom) {\n for (const box of boxes.slice(rangeIdx + 1)) {\n if (clientY > box.rect.bottom) continue;\n if (!box.safeBottomBoundary) continue;\n return box.pos.to;\n }\n return boxes.at(-1)!.pos.to;\n }\n\n return null;\n })();\n\n if (typeof pos === 'number') this._dropCursor.setPos(pos);\n else this._dropCursor.clear();\n }\n\n private _endDragging(draggedRange: Readonly<TableRowRange>, initialTableDesc: TableDescBinded) {\n if (this._destroyed || !this._dragging) return;\n\n const point = this._dropCursor.getPos();\n this._clearDragging();\n this._logger.event({event: 'row-drag-end'});\n\n if (point === null) {\n this._editorView.focus();\n return;\n }\n\n const info = this._getTableDescAndCellInfo();\n if (!info || info.tableDesc.base !== initialTableDesc.base) {\n this._editorView.focus();\n return;\n }\n\n const rangeFrom = info.tableDesc.getPosForRow(draggedRange.startIdx).from;\n const rangeTo = info.tableDesc.getPosForRow(draggedRange.endIdx).to;\n if (point === rangeFrom || point === rangeTo) {\n this._editorView.focus();\n return;\n }\n\n const {tr} = this._editorView.state;\n const fragment = tr.doc.slice(rangeFrom, rangeTo, false).content;\n if (point > rangeFrom) {\n tr.insert(point, fragment);\n tr.delete(rangeFrom, rangeTo);\n } else {\n tr.delete(rangeFrom, rangeTo);\n tr.insert(point, fragment);\n }\n tr.setSelection(TextSelection.near(tr.doc.resolve(tr.mapping.map(point + 1)), 1));\n tr.scrollIntoView();\n this._editorView.dispatch(tr);\n\n this._editorView.focus();\n }\n}\n\nclass YfmTableColumnDnDHandler extends YfmTableDnDAbstractHandler {\n constructor(view: EditorView, params: YfmTableDnDHandlerParams) {\n super(view, {\n ...params,\n logger: params.logger.nested({component: 'column-dnd-handler'}),\n dropCursor: new TableColumnDropCursor(view, params.dropCursor),\n });\n }\n\n canDrag(): boolean {\n const res = this._getTableDescAndCellInfo();\n if (!res) return false;\n const rowRange = res.tableDesc.base.getColumnRangeByColumnIdx(res.cellInfo.column);\n return rowRange.safeLeftBoundary && rowRange.safeRightBoundary;\n }\n\n protected _startDragging(event: React.MouseEvent) {\n const info = this._getTableDescAndCellInfo();\n if (!info) return;\n\n const {tableDesc, cellInfo} = info;\n const columnRanges = tableDesc.base.getColumnRanges();\n const currColumnRange = tableDesc.base.getColumnRangeByColumnIdx(cellInfo.column);\n if (!currColumnRange.safeLeftBoundary || !currColumnRange.safeRightBoundary) return;\n\n this._dragging = true;\n this._logger.event({event: 'column-drag-start'});\n\n {\n const {tr} = this._editorView.state;\n hideHoverDecos(tr);\n selectDraggedColumn(tr, getSelectedCellsForColumns(tableDesc, currColumnRange));\n this._editorView.dispatch(tr);\n }\n {\n this._editorView.dragging = {\n move: true,\n slice: Slice.empty,\n };\n }\n\n const draggedRangeIdx = columnRanges.indexOf(currColumnRange);\n\n const ghost = new YfmTableDnDGhost(this._editorView, {\n type: 'column',\n initial: event,\n rangeIdx: draggedRangeIdx,\n tableDesc,\n });\n\n const onMoveDebounced = debounce(\n (event: MouseEvent) => {\n this._moveDragging(event, {\n rangeIdx: draggedRangeIdx,\n tableDesc,\n });\n },\n MOUSE_MOVE_DEBOUNCE,\n {maxWait: MOUSE_MOVE_DEBOUNCE},\n );\n\n const onMove = (event: MouseEvent) => {\n ghost.move(event);\n onMoveDebounced(event);\n };\n\n document.addEventListener('mousemove', onMove);\n\n document.addEventListener(\n 'mouseup',\n () => {\n onMoveDebounced.flush();\n ghost.destroy();\n document.removeEventListener('mousemove', onMove);\n this._endDragging(currColumnRange, tableDesc);\n },\n {once: true},\n );\n }\n\n private _moveDragging(\n event: MouseEvent,\n {\n rangeIdx,\n tableDesc: initialTableDesc,\n }: {\n rangeIdx: number;\n tableDesc: TableDescBinded;\n },\n ) {\n if (this._destroyed || !this._dragging) return;\n\n const info = this._getTableDescAndCellInfo();\n if (!info || info.tableDesc.base !== initialTableDesc.base) {\n this._clearDragging();\n return;\n }\n\n const {tableDesc} = info;\n const ranges = tableDesc.base.getColumnRanges();\n\n const boxes = ranges.map((range: Readonly<TableColumnRange>) => {\n const firstColStartPos = getCellPos(\n tableDesc.getPosForCell(0, range.startIdx),\n 'start',\n );\n const lastColPos = tableDesc.getPosForCell(0, range.startIdx);\n const lastColStartPos = getCellPos(lastColPos, 'start');\n const lastColEndPos = getCellPos(lastColPos, 'end');\n\n const firstColElem = this._editorView.domAtPos(firstColStartPos + 1).node as Element;\n const firstColBox = firstColElem.getBoundingClientRect();\n\n const lastColElem = this._editorView.domAtPos(lastColStartPos + 1).node as Element;\n const lastColBox = lastColElem.getBoundingClientRect();\n\n return {\n pos: {from: firstColStartPos, to: lastColEndPos},\n rect: {\n left: firstColBox.left,\n right: lastColBox.right,\n },\n safeLeftBoundary: range.safeLeftBoundary,\n safeRightBoundary: range.safeRightBoundary,\n };\n });\n\n const pos = ((): number | null => {\n const {clientX} = event;\n const draggedRangeBox = boxes[rangeIdx];\n const isDraggedFirst = rangeIdx === 0;\n const isDraggedLast = rangeIdx === boxes.length - 1;\n\n if (!isDraggedFirst && clientX < draggedRangeBox.rect.left) {\n for (const box of boxes.slice(0, rangeIdx).reverse()) {\n if (clientX < box.rect.left) continue;\n if (!box.safeLeftBoundary) continue;\n return box.pos.from;\n }\n return boxes[0].pos.from;\n }\n\n if (!isDraggedLast && clientX > draggedRangeBox.rect.right) {\n for (const box of boxes.slice(rangeIdx + 1)) {\n if (clientX > box.rect.right) continue;\n if (!box.safeRightBoundary) continue;\n return box.pos.to;\n }\n return boxes.at(-1)!.pos.to;\n }\n\n return null;\n })();\n\n if (typeof pos === 'number') this._dropCursor.setPos(pos);\n else this._dropCursor.clear();\n }\n\n private _endDragging(\n draggedRange: Readonly<TableColumnRange>,\n initialTableDesc: TableDescBinded,\n ) {\n if (this._destroyed || !this._dragging) return;\n\n const point = this._dropCursor.getPos();\n this._clearDragging();\n this._logger.event({event: 'column-drag-end'});\n\n if (point === null) {\n this._editorView.focus();\n return;\n }\n\n const info = this._getTableDescAndCellInfo();\n if (!info || info.tableDesc.base !== initialTableDesc.base) {\n this._editorView.focus();\n return;\n }\n\n const currRangeFrom = (\n info.tableDesc.getPosForCell(0, draggedRange.startIdx) as RealCellPos\n ).from;\n const currRangeTo = (info.tableDesc.getPosForCell(0, draggedRange.endIdx) as RealCellPos)\n .to;\n\n if (point === currRangeFrom || point === currRangeTo) return;\n\n const targetColumnIndex = ((): number | null => {\n if (point === info.tableDesc.getPosForRow(0).to - 1) {\n return info.tableDesc.cols;\n }\n\n const cellNode = this._editorView.state.doc.nodeAt(point);\n if (!cellNode || cellNode.type.name !== YfmTableNode.Cell) return null;\n\n const cellInfo = info.tableDesc.base.getCellInfo(cellNode);\n if (!cellInfo) return null;\n\n return cellInfo.column;\n })();\n\n if (\n targetColumnIndex === null ||\n targetColumnIndex === info.cellInfo.column ||\n targetColumnIndex === info.cellInfo.column + 1\n ) {\n this._editorView.focus();\n return;\n }\n\n const {tr} = this._editorView.state;\n\n for (let rowIdx = 0; rowIdx < info.tableDesc.rows; rowIdx++) {\n const from = getCellPos(\n info.tableDesc.getPosForCell(rowIdx, draggedRange.startIdx),\n 'start',\n );\n const to = getCellPos(info.tableDesc.getPosForCell(rowIdx, draggedRange.endIdx), 'end');\n if (from === to) continue;\n\n let targetPos;\n if (targetColumnIndex === info.tableDesc.cols) {\n targetPos = info.tableDesc.getPosForRow(rowIdx).to - 1;\n } else if (targetColumnIndex === 0) {\n targetPos = info.tableDesc.getPosForRow(rowIdx).from + 1;\n } else {\n targetPos = getCellPos(\n info.tableDesc.getPosForCell(rowIdx, targetColumnIndex),\n 'start',\n );\n }\n\n if (targetPos !== from && targetPos !== to) {\n const fragment = tr.doc.slice(from, to, false).content;\n tr.insert(tr.mapping.map(targetPos), fragment);\n tr.delete(tr.mapping.map(from), tr.mapping.map(to));\n }\n }\n\n this._editorView.dispatch(tr.scrollIntoView());\n this._editorView.focus();\n }\n}\n\nfunction getCellPos(pos: CellPos, dir: 'start' | 'end'): number {\n if (pos.type === 'virtual') return pos.closestPos;\n return dir === 'start' ? pos.from : pos.to;\n}\n\nfunction isDragThresholdPassed(init: PageCoords, curr: PageCoords): boolean {\n return (\n Math.abs(init.pageX - curr.pageX) >= DRAG_START_THRESHOLD ||\n Math.abs(init.pageY - curr.pageY) >= DRAG_START_THRESHOLD\n );\n}\n"]}
1
+ {"version":3,"file":"dnd.js","sourceRoot":"../../../../../../../../src","sources":["extensions/yfm/YfmTable/plugins/YfmTableControls/dnd/dnd.ts"],"names":[],"mappings":"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","sourcesContent":["import {type Node, Slice} from '#pm/model';\nimport {TextSelection} from '#pm/state';\nimport {findParentNodeClosestToPos} from '#pm/utils';\nimport type {EditorView} from '#pm/view';\nimport {debounce} from 'src/lodash';\nimport type {Logger2} from 'src/logger';\nimport {isTableNode} from 'src/table-utils';\nimport {\n type CellPos,\n type RealCellPos,\n type TableColumnRange,\n TableDesc,\n type TableDescBinded,\n type TableRowRange,\n} from 'src/table-utils/table-desc';\n\nimport {YfmTableNode} from '../../../YfmTableSpecs';\nimport {clearAllSelections, selectDraggedColumn, selectDraggedRow} from '../plugins/dnd-plugin';\nimport {hideHoverDecos} from '../plugins/focus-plugin';\nimport {getSelectedCellsForColumns, getSelectedCellsForRows} from '../utils';\n\nimport {DnDAutoScroller} from './dnd-auto-scroll';\nimport {\n type DropCursor,\n type DropCursorParams,\n TableColumnDropCursor,\n TableRowDropCursor,\n} from './dnd-drop-cursor';\nimport {YfmTableDnDGhost} from './dnd-ghost';\n\nimport './dnd.scss';\n\nconst MOUSE_MOVE_DEBOUNCE = 100; // ms\nconst DRAG_START_THRESHOLD = 4; // px\n\ntype PageCoords = Pick<MouseEvent, 'pageX' | 'pageY'>;\n\nexport type DnDControlHandler = {\n canDrag(): boolean;\n control_handleMouseDown: React.MouseEventHandler<HTMLButtonElement>;\n control_handleMouseMove: React.MouseEventHandler<HTMLButtonElement>;\n control_handleMouseUp: React.MouseEventHandler<HTMLButtonElement>;\n control_handleMouseLeave: React.MouseEventHandler<HTMLButtonElement>;\n};\n\ninterface TableHandler {\n update(node: Node): void;\n destroy(): void;\n}\n\nexport type YfmTableDnDHandlerParams = {\n cellNode: Node;\n cellGetPos: () => number | undefined;\n logger: Logger2.ILogger;\n dropCursor?: DropCursorParams;\n};\n\nexport class YfmTableDnDHandler implements TableHandler {\n private readonly _rowHandler: YfmTableRowDnDHandler;\n private readonly _columnHandler: YfmTableColumnDnDHandler;\n\n get row(): DnDControlHandler {\n return this._rowHandler;\n }\n\n get column(): DnDControlHandler {\n return this._columnHandler;\n }\n\n constructor(view: EditorView, params: YfmTableDnDHandlerParams) {\n this._rowHandler = new YfmTableRowDnDHandler(view, params);\n this._columnHandler = new YfmTableColumnDnDHandler(view, params);\n }\n\n update(node: Node): void {\n this._rowHandler.update(node);\n this._columnHandler.update(node);\n }\n\n destroy(): void {\n this._rowHandler.destroy();\n this._columnHandler.destroy();\n }\n}\n\nabstract class YfmTableDnDAbstractHandler implements TableHandler, DnDControlHandler {\n protected readonly _cellGetPos: () => number | undefined;\n protected readonly _editorView: EditorView;\n protected readonly _logger: Logger2.ILogger;\n protected readonly _dropCursor: DropCursor;\n\n private __cellNode: Node;\n private __dragging = false;\n private __destroyed = false;\n private __dragMouseDown: false | PageCoords = false;\n\n constructor(\n view: EditorView,\n params: Omit<YfmTableDnDHandlerParams, 'dropCursor'> & {dropCursor: DropCursor},\n ) {\n this._editorView = view;\n this.__cellNode = params.cellNode;\n this._cellGetPos = params.cellGetPos;\n this._logger = params.logger;\n this._dropCursor = params.dropCursor;\n }\n\n update(cellnode: Node) {\n this.__cellNode = cellnode;\n }\n\n destroy() {\n this.__destroyed = true;\n this._clearDragging(false);\n }\n\n abstract canDrag(): boolean;\n\n control_handleMouseDown: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n this.__dragMouseDown = {pageX: event.pageX, pageY: event.pageY};\n this._dropCursor.clear();\n };\n\n control_handleMouseUp: React.MouseEventHandler<HTMLButtonElement> = () => {\n this.__dragMouseDown = false;\n };\n\n control_handleMouseLeave: React.MouseEventHandler<HTMLButtonElement> = () => {\n this.__dragMouseDown = false;\n };\n\n control_handleMouseMove: React.MouseEventHandler<HTMLButtonElement> = (event) => {\n if (!this._dragMouseDown || !isDragThresholdPassed(this._dragMouseDown, event)) return;\n\n if (this._editorView.dragging || this._dragging) return;\n this._startDragging(event);\n };\n\n protected get _cellNode(): Node {\n return this.__cellNode;\n }\n\n protected get _dragging() {\n return this.__dragging;\n }\n\n protected set _dragging(val: boolean) {\n this.__dragging = val;\n }\n\n protected get _destroyed() {\n return this.__destroyed;\n }\n\n protected get _dragMouseDown() {\n return this.__dragMouseDown;\n }\n\n protected abstract _startDragging(event: React.MouseEvent): void;\n\n protected _getTableDescAndCellInfo() {\n const tcellPos = this._cellGetPos();\n const tableNode =\n tcellPos === undefined\n ? undefined\n : findParentNodeClosestToPos(\n this._editorView.state.doc.resolve(tcellPos),\n isTableNode,\n );\n const tableDesc = tableNode && TableDesc.create(tableNode.node)?.bind(tableNode.pos);\n const cellInfo = tableDesc?.base.getCellInfo(this._cellNode);\n return cellInfo\n ? {\n cellPos: tcellPos!,\n table: tableNode!,\n tableDesc: tableDesc!,\n cellInfo,\n }\n : null;\n }\n\n protected _clearDragging(clearDecorations?: boolean) {\n this.__dragging = false;\n this.__dragMouseDown = false;\n this._dropCursor.clear();\n this._editorView.dragging = null;\n if (clearDecorations !== false)\n this._editorView.dispatch(clearAllSelections(this._editorView.state.tr));\n }\n}\n\nclass YfmTableRowDnDHandler extends YfmTableDnDAbstractHandler {\n constructor(view: EditorView, params: YfmTableDnDHandlerParams) {\n super(view, {\n ...params,\n logger: params.logger.nested({component: 'row-dnd-handler'}),\n dropCursor: new TableRowDropCursor(view, params.dropCursor),\n });\n }\n\n canDrag(): boolean {\n const res = this._getTableDescAndCellInfo();\n if (!res) return false;\n const rowRange = res.tableDesc.base.getRowRangeByRowIdx(res.cellInfo.row);\n return rowRange.safeTopBoundary && rowRange.safeBottomBoundary;\n }\n\n protected _startDragging = (event: React.MouseEvent) => {\n const info = this._getTableDescAndCellInfo();\n if (!info) return;\n\n const {tableDesc, cellInfo} = info;\n const rowRanges = tableDesc.base.getRowRanges();\n const currRowRange = tableDesc.base.getRowRangeByRowIdx(cellInfo.row);\n if (!currRowRange.safeTopBoundary || !currRowRange.safeBottomBoundary) return;\n\n this._dragging = true;\n this._logger.event({event: 'row-drag-start'});\n\n {\n const {tr} = this._editorView.state;\n hideHoverDecos(tr);\n selectDraggedRow(tr, getSelectedCellsForRows(info.tableDesc, currRowRange));\n this._editorView.dispatch(tr);\n }\n\n {\n const from = tableDesc.getPosForRow(currRowRange.startIdx).from;\n const to = tableDesc.getPosForRow(currRowRange.endIdx).to;\n this._editorView.dragging = {\n move: true,\n slice: this._editorView.state.doc.slice(from, to, false),\n };\n }\n\n const draggedRangeIdx = rowRanges.indexOf(currRowRange);\n\n const ghost = new YfmTableDnDGhost(this._editorView, {\n type: 'row',\n initial: event,\n rangeIdx: draggedRangeIdx,\n tableDesc,\n });\n\n const scrollContainer = findScrollableAncestor(this._editorView.dom, 'vertical');\n const autoScroller = scrollContainer\n ? new DnDAutoScroller(scrollContainer, 'vertical')\n : null;\n\n const onMoveDebounced = debounce(\n (event: MouseEvent) => {\n this._moveDragging(event, {\n rangeIdx: draggedRangeIdx,\n tableDesc,\n });\n },\n MOUSE_MOVE_DEBOUNCE,\n {maxWait: MOUSE_MOVE_DEBOUNCE},\n );\n\n const onMove = (event: MouseEvent) => {\n ghost.move(event);\n autoScroller?.update(event.clientX, event.clientY);\n onMoveDebounced(event);\n };\n\n document.addEventListener('mousemove', onMove);\n\n document.addEventListener(\n 'mouseup',\n () => {\n onMoveDebounced.flush();\n autoScroller?.destroy();\n ghost.destroy();\n document.removeEventListener('mousemove', onMove);\n this._endDragging(currRowRange, tableDesc);\n },\n {once: true},\n );\n };\n\n private _moveDragging(\n event: MouseEvent,\n {\n rangeIdx,\n tableDesc: initialTableDesc,\n }: {\n rangeIdx: number;\n tableDesc: TableDescBinded;\n },\n ) {\n if (this._destroyed || !this._dragging) return;\n\n const info = this._getTableDescAndCellInfo();\n if (!info || info.tableDesc.base !== initialTableDesc.base) {\n this._clearDragging();\n return;\n }\n\n const {tableDesc} = info;\n const ranges = tableDesc.base.getRowRanges();\n\n const boxes = ranges.map((range: Readonly<TableRowRange>) => {\n const firstRowStartPos = tableDesc.getPosForRow(range.startIdx).from;\n const lastRowPos = tableDesc.getPosForRow(range.endIdx);\n const lastRowStartPos = lastRowPos.from;\n const lastRowEndPos = lastRowPos.to;\n\n const firstRowElem = this._editorView.domAtPos(firstRowStartPos + 1).node as Element;\n const firstRowBox = firstRowElem.getBoundingClientRect();\n\n const lastRowElem = this._editorView.domAtPos(lastRowStartPos + 1).node as Element;\n const lastRowBox = lastRowElem.getBoundingClientRect();\n\n return {\n pos: {from: firstRowStartPos, to: lastRowEndPos},\n rect: {\n top: firstRowBox.top,\n bottom: lastRowBox.bottom,\n },\n safeTopBoundary: range.safeTopBoundary,\n safeBottomBoundary: range.safeBottomBoundary,\n };\n });\n\n const pos = ((): number | null => {\n const {clientY} = event;\n const draggedRangeBox = boxes[rangeIdx];\n const isDraggedFirst = rangeIdx === 0;\n const isDraggedLast = rangeIdx === boxes.length - 1;\n\n if (!isDraggedFirst && clientY < draggedRangeBox.rect.top) {\n for (const box of boxes.slice(0, rangeIdx).reverse()) {\n if (clientY < box.rect.top) continue;\n if (!box.safeTopBoundary) continue;\n return box.pos.from;\n }\n return boxes[0].pos.from;\n }\n\n if (!isDraggedLast && clientY > draggedRangeBox.rect.bottom) {\n for (const box of boxes.slice(rangeIdx + 1)) {\n if (clientY > box.rect.bottom) continue;\n if (!box.safeBottomBoundary) continue;\n return box.pos.to;\n }\n return boxes.at(-1)!.pos.to;\n }\n\n return null;\n })();\n\n if (typeof pos === 'number') this._dropCursor.setPos(pos);\n else this._dropCursor.clear();\n }\n\n private _endDragging(draggedRange: Readonly<TableRowRange>, initialTableDesc: TableDescBinded) {\n if (this._destroyed || !this._dragging) return;\n\n const point = this._dropCursor.getPos();\n this._clearDragging();\n this._logger.event({event: 'row-drag-end'});\n\n if (point === null) {\n this._editorView.focus();\n return;\n }\n\n const info = this._getTableDescAndCellInfo();\n if (!info || info.tableDesc.base !== initialTableDesc.base) {\n this._editorView.focus();\n return;\n }\n\n const rangeFrom = info.tableDesc.getPosForRow(draggedRange.startIdx).from;\n const rangeTo = info.tableDesc.getPosForRow(draggedRange.endIdx).to;\n if (point === rangeFrom || point === rangeTo) {\n this._editorView.focus();\n return;\n }\n\n const {tr} = this._editorView.state;\n const fragment = tr.doc.slice(rangeFrom, rangeTo, false).content;\n if (point > rangeFrom) {\n tr.insert(point, fragment);\n tr.delete(rangeFrom, rangeTo);\n } else {\n tr.delete(rangeFrom, rangeTo);\n tr.insert(point, fragment);\n }\n tr.setSelection(TextSelection.near(tr.doc.resolve(tr.mapping.map(point + 1)), 1));\n tr.scrollIntoView();\n this._editorView.dispatch(tr);\n\n this._editorView.focus();\n }\n}\n\nclass YfmTableColumnDnDHandler extends YfmTableDnDAbstractHandler {\n constructor(view: EditorView, params: YfmTableDnDHandlerParams) {\n super(view, {\n ...params,\n logger: params.logger.nested({component: 'column-dnd-handler'}),\n dropCursor: new TableColumnDropCursor(view, params.dropCursor),\n });\n }\n\n canDrag(): boolean {\n const res = this._getTableDescAndCellInfo();\n if (!res) return false;\n const rowRange = res.tableDesc.base.getColumnRangeByColumnIdx(res.cellInfo.column);\n return rowRange.safeLeftBoundary && rowRange.safeRightBoundary;\n }\n\n protected _startDragging(event: React.MouseEvent) {\n const info = this._getTableDescAndCellInfo();\n if (!info) return;\n\n const {tableDesc, cellInfo} = info;\n const columnRanges = tableDesc.base.getColumnRanges();\n const currColumnRange = tableDesc.base.getColumnRangeByColumnIdx(cellInfo.column);\n if (!currColumnRange.safeLeftBoundary || !currColumnRange.safeRightBoundary) return;\n\n this._dragging = true;\n this._logger.event({event: 'column-drag-start'});\n\n {\n const {tr} = this._editorView.state;\n hideHoverDecos(tr);\n selectDraggedColumn(tr, getSelectedCellsForColumns(tableDesc, currColumnRange));\n this._editorView.dispatch(tr);\n }\n {\n this._editorView.dragging = {\n move: true,\n slice: Slice.empty,\n };\n }\n\n const draggedRangeIdx = columnRanges.indexOf(currColumnRange);\n\n const ghost = new YfmTableDnDGhost(this._editorView, {\n type: 'column',\n initial: event,\n rangeIdx: draggedRangeIdx,\n tableDesc,\n });\n\n const {node: tableElem} = this._editorView.domAtPos(tableDesc.pos + 1);\n const autoScroller =\n tableElem instanceof HTMLElement ? new DnDAutoScroller(tableElem, 'horizontal') : null;\n\n const onMoveDebounced = debounce(\n (event: MouseEvent) => {\n this._moveDragging(event, {\n rangeIdx: draggedRangeIdx,\n tableDesc,\n });\n },\n MOUSE_MOVE_DEBOUNCE,\n {maxWait: MOUSE_MOVE_DEBOUNCE},\n );\n\n const onMove = (event: MouseEvent) => {\n ghost.move(event);\n autoScroller?.update(event.clientX, event.clientY);\n onMoveDebounced(event);\n };\n\n document.addEventListener('mousemove', onMove);\n\n document.addEventListener(\n 'mouseup',\n () => {\n onMoveDebounced.flush();\n autoScroller?.destroy();\n ghost.destroy();\n document.removeEventListener('mousemove', onMove);\n this._endDragging(currColumnRange, tableDesc);\n },\n {once: true},\n );\n }\n\n private _moveDragging(\n event: MouseEvent,\n {\n rangeIdx,\n tableDesc: initialTableDesc,\n }: {\n rangeIdx: number;\n tableDesc: TableDescBinded;\n },\n ) {\n if (this._destroyed || !this._dragging) return;\n\n const info = this._getTableDescAndCellInfo();\n if (!info || info.tableDesc.base !== initialTableDesc.base) {\n this._clearDragging();\n return;\n }\n\n const {tableDesc} = info;\n const ranges = tableDesc.base.getColumnRanges();\n\n const boxes = ranges.map((range: Readonly<TableColumnRange>) => {\n const firstColStartPos = getCellPos(\n tableDesc.getPosForCell(0, range.startIdx),\n 'start',\n );\n const lastColPos = tableDesc.getPosForCell(0, range.startIdx);\n const lastColStartPos = getCellPos(lastColPos, 'start');\n const lastColEndPos = getCellPos(lastColPos, 'end');\n\n const firstColElem = this._editorView.domAtPos(firstColStartPos + 1).node as Element;\n const firstColBox = firstColElem.getBoundingClientRect();\n\n const lastColElem = this._editorView.domAtPos(lastColStartPos + 1).node as Element;\n const lastColBox = lastColElem.getBoundingClientRect();\n\n return {\n pos: {from: firstColStartPos, to: lastColEndPos},\n rect: {\n left: firstColBox.left,\n right: lastColBox.right,\n },\n safeLeftBoundary: range.safeLeftBoundary,\n safeRightBoundary: range.safeRightBoundary,\n };\n });\n\n const pos = ((): number | null => {\n const {clientX} = event;\n const draggedRangeBox = boxes[rangeIdx];\n const isDraggedFirst = rangeIdx === 0;\n const isDraggedLast = rangeIdx === boxes.length - 1;\n\n if (!isDraggedFirst && clientX < draggedRangeBox.rect.left) {\n for (const box of boxes.slice(0, rangeIdx).reverse()) {\n if (clientX < box.rect.left) continue;\n if (!box.safeLeftBoundary) continue;\n return box.pos.from;\n }\n return boxes[0].pos.from;\n }\n\n if (!isDraggedLast && clientX > draggedRangeBox.rect.right) {\n for (const box of boxes.slice(rangeIdx + 1)) {\n if (clientX > box.rect.right) continue;\n if (!box.safeRightBoundary) continue;\n return box.pos.to;\n }\n return boxes.at(-1)!.pos.to;\n }\n\n return null;\n })();\n\n if (typeof pos === 'number') this._dropCursor.setPos(pos);\n else this._dropCursor.clear();\n }\n\n private _endDragging(\n draggedRange: Readonly<TableColumnRange>,\n initialTableDesc: TableDescBinded,\n ) {\n if (this._destroyed || !this._dragging) return;\n\n const point = this._dropCursor.getPos();\n this._clearDragging();\n this._logger.event({event: 'column-drag-end'});\n\n if (point === null) {\n this._editorView.focus();\n return;\n }\n\n const info = this._getTableDescAndCellInfo();\n if (!info || info.tableDesc.base !== initialTableDesc.base) {\n this._editorView.focus();\n return;\n }\n\n const currRangeFrom = (\n info.tableDesc.getPosForCell(0, draggedRange.startIdx) as RealCellPos\n ).from;\n const currRangeTo = (info.tableDesc.getPosForCell(0, draggedRange.endIdx) as RealCellPos)\n .to;\n\n if (point === currRangeFrom || point === currRangeTo) return;\n\n const targetColumnIndex = ((): number | null => {\n if (point === info.tableDesc.getPosForRow(0).to - 1) {\n return info.tableDesc.cols;\n }\n\n const cellNode = this._editorView.state.doc.nodeAt(point);\n if (!cellNode || cellNode.type.name !== YfmTableNode.Cell) return null;\n\n const cellInfo = info.tableDesc.base.getCellInfo(cellNode);\n if (!cellInfo) return null;\n\n return cellInfo.column;\n })();\n\n if (\n targetColumnIndex === null ||\n targetColumnIndex === info.cellInfo.column ||\n targetColumnIndex === info.cellInfo.column + 1\n ) {\n this._editorView.focus();\n return;\n }\n\n const {tr} = this._editorView.state;\n\n for (let rowIdx = 0; rowIdx < info.tableDesc.rows; rowIdx++) {\n const from = getCellPos(\n info.tableDesc.getPosForCell(rowIdx, draggedRange.startIdx),\n 'start',\n );\n const to = getCellPos(info.tableDesc.getPosForCell(rowIdx, draggedRange.endIdx), 'end');\n if (from === to) continue;\n\n let targetPos;\n if (targetColumnIndex === info.tableDesc.cols) {\n targetPos = info.tableDesc.getPosForRow(rowIdx).to - 1;\n } else if (targetColumnIndex === 0) {\n targetPos = info.tableDesc.getPosForRow(rowIdx).from + 1;\n } else {\n targetPos = getCellPos(\n info.tableDesc.getPosForCell(rowIdx, targetColumnIndex),\n 'start',\n );\n }\n\n if (targetPos !== from && targetPos !== to) {\n const fragment = tr.doc.slice(from, to, false).content;\n tr.insert(tr.mapping.map(targetPos), fragment);\n tr.delete(tr.mapping.map(from), tr.mapping.map(to));\n }\n }\n\n this._editorView.dispatch(tr.scrollIntoView());\n this._editorView.focus();\n }\n}\n\nfunction getCellPos(pos: CellPos, dir: 'start' | 'end'): number {\n if (pos.type === 'virtual') return pos.closestPos;\n return dir === 'start' ? pos.from : pos.to;\n}\n\nfunction isDragThresholdPassed(init: PageCoords, curr: PageCoords): boolean {\n return (\n Math.abs(init.pageX - curr.pageX) >= DRAG_START_THRESHOLD ||\n Math.abs(init.pageY - curr.pageY) >= DRAG_START_THRESHOLD\n );\n}\n\nfunction findScrollableAncestor(\n element: HTMLElement,\n axis: 'vertical' | 'horizontal',\n): HTMLElement | null {\n const prop = axis === 'vertical' ? 'overflowY' : 'overflowX';\n let current = element.parentElement;\n\n while (current && current !== document.documentElement) {\n const overflow = getComputedStyle(current)[prop];\n if (overflow === 'auto' || overflow === 'scroll') {\n const hasScroll =\n axis === 'vertical'\n ? current.scrollHeight > current.clientHeight\n : current.scrollWidth > current.clientWidth;\n if (hasScroll) return current;\n }\n current = current.parentElement;\n }\n\n const docEl = element.ownerDocument.documentElement;\n const hasDocScroll =\n axis === 'vertical'\n ? docEl.scrollHeight > docEl.clientHeight\n : docEl.scrollWidth > docEl.clientWidth;\n if (hasDocScroll) return docEl;\n\n return null;\n}\n"]}
@@ -699,10 +699,12 @@ export const colorifyItemView = {
699
699
  };
700
700
  export const colorifyItemWysiwyg = {
701
701
  component: WToolbarColors,
702
+ noRerenderOnUpdate: true, // WToolbarColors uses toolbar context to update its own state
702
703
  width: 42,
703
704
  };
704
705
  export const colorifyItemMarkup = {
705
706
  component: MToolbarColors,
707
+ noRerenderOnUpdate: true, // static state in markup mode
706
708
  width: 42,
707
709
  };
708
710
  // ---- GPT ----
@@ -1 +1 @@
1
- {"version":3,"file":"items.js","sourceRoot":"../../../../src","sources":["modules/toolbars/items.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,KAAK,EAAC,qCAAkC;AAChD,OAAO,EAAC,cAAc,EAAC,uDAAoD;AAC3E,OAAO,EAAC,WAAW,EAAC,oDAAiD;AACrE,OAAO,EAAC,cAAc,EAAC,sDAAmD;AAC1E,OAAO,EAAC,iBAAiB,EAAC,yDAAsD;AAChF,OAAO,EAAC,kBAAkB,EAAC,0DAAuD;AAClF,OAAO,EAAC,cAAc,EAAC,uDAAoD;AAC3E,OAAO,EAAC,kBAAkB,EAAC,2DAAwD;AACnF,OAAO,EAAC,aAAa,EAAC,iDAAwC;AAC9D,OAAO,EAAC,UAAU,EAAC,qDAAkD;AACrE,OAAO,EAAC,WAAW,EAAE,KAAK,EAAC,kCAA+B;AAC1D,OAAO,EAAC,IAAI,IAAI,QAAQ,EAAC,kCAAyB;AAClD,OAAO,EAAC,IAAI,EAAC,oCAA2B;AACxC,OAAO,EACH,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,YAAY,IAAI,mBAAmB,EACnC,IAAI,EACJ,SAAS,EACT,YAAY,IAAI,mBAAmB,EACnC,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,IAAI,EACJ,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,aAAa,GAChB,uCAA8B;AAC/B,OAAO,EAAC,MAAM,IAAI,CAAC,EAAE,SAAS,IAAI,CAAC,EAAC,iCAAwB;AAC5D,OAAO,EAAC,eAAe,EAAC,+BAAsB;AAI9C,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AACtB,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;AAC7B,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;AAC1B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;AAE5B,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAoB;IACzC,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAuB;IAC/C,gBAAgB,EAAE,KAAK;IACvB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC7C,gBAAgB,EAAE,KAAK;IACvB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;CAC7C,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAoB;IACzC,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAuB;IAC/C,gBAAgB,EAAE,KAAK;IACvB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC7C,gBAAgB,EAAE,KAAK;IACvB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;CAC7C,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAoB;IACzC,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAuB;IAC/C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC7C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,mBAAmB;AACnB,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC3C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChC,IAAI,EAAE,KAAK,CAAC,MAAM;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;IACnC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;IAC5C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IAC/C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAC9C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;IACnC,IAAI,EAAE,KAAK,CAAC,SAAS;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;CAChC,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACpD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;CAClD,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IAClD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,qBAAqB,GAAoB;IAClD,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;IAChC,IAAI,EAAE,KAAK,CAAC,aAAa;IACzB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAuB;IACxD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;IACnC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;IAC5C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;CAC/C,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACtD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAC9C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;CACnB,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACpD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IAClD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,mBAAmB;AACnB,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC3C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;CACnB,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAsB;IAC/C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,qBAAqB;AACrB,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;IAClC,IAAI,EAAE,KAAK,CAAC,SAAS;CACxB,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACnD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;IACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;IACjD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;CACpD,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAoB;IACzC,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAuB;IAC/C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;IACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;CAChD,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC7C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC1C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,KAAK,CAAC,KAAK;IACjB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;CAC5B,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAChD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;CAC9C,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAsB;IAC9C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAC9C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;IACnC,IAAI,EAAE,KAAK,CAAC,SAAS;CACxB,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACpD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;QACR,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC1B,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;IACvC,CAAC;IACD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;CAClD,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IAClD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,WAAW,GAAoB;IACxC,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;IAC7B,IAAI,EAAE,KAAK,CAAC,GAAG;IACf,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;CAC1B,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAuB;IAC9C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;IACrC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;IAC9C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;CACjD,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAoB;IACzC,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAuB;IAC/C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;CAClD,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC7C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC1C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,KAAK,CAAC,KAAK;CACpB,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAChD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;IAC3C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;IACpD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;CACvD,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAsB;IAC9C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAoB;IACzC,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;IACrC,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAuB;IAC/C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC7C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC1C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,KAAK,CAAC,KAAK;CACpB,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IAC/C,IAAI,EAAE,eAAe,CAAC,WAAW;IACjC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,KAAK,CAAC,KAAK;CACpB,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAChD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;IAC3C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;IACpD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;CACvD,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAmD;IAC3E,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,kBAAkB,OAAK,KAAK,GAAI;CAC5D,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAoB;IACzC,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;CACnB,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAC9C,IAAI,EAAE,eAAe,CAAC,WAAW;IACjC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;CACnB,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAuB;IAC/C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;IACpC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;CAChD,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAmD;IAC1E,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,iBAAiB,OAAK,KAAK,GAAI;CAC3D,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAoB;IACzC,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;CACnB,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAuB;IAC/C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;CAClD,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC7C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,wBAAwB;AACxB,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IAC/C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;IACrC,IAAI,EAAE,KAAK,CAAC,cAAc;IAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,EAAE;CAClG,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAuB;IACrD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE;IACnD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE;CACtD,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACnD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAC9C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;IACpC,IAAI,EAAE,KAAK,CAAC,aAAa;IACzB,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,EAAE;CAClG,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACpD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;IACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;IACjD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;CACpD,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IAClD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,MAAM,oBAAoB,GAAoB;IACjD,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;CACnB,CAAC;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAuB;IACvD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE;IAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACxD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE;CAC3D,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACrD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC5C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;IACjC,IAAI,EAAE,KAAK,CAAC,OAAO;CACtB,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAuB;IAClD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE;IACnD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE;CACtD,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAChD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAC9C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;IACnC,IAAI,EAAE,KAAK,CAAC,SAAS;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;CAChC,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACpD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;IACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;IACjD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;CACpD,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IAClD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,4BAA4B;AAC5B,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC1C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,KAAK,CAAC,cAAc;CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAChD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;CAC9C,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAsB;IAC9C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC1C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,KAAK,CAAC,KAAK;CACpB,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAChD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE;IACtD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE;CACzD,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAsB;IAC9C,IAAI,EAAE,IAAI;IACV,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;IAChD,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,OAAO;CACpB,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;IAClC,IAAI,EAAE,KAAK,CAAC,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5B,OAAO,EAAE,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,GAAI;CACxC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACnD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;IAClC,IAAI,EAAE,KAAK,CAAC,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5B,OAAO,EAAE,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,GAAI;CACxC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACnD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;IAClC,IAAI,EAAE,KAAK,CAAC,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5B,OAAO,EAAE,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,GAAI;CACxC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACnD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;IAClC,IAAI,EAAE,KAAK,CAAC,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5B,OAAO,EAAE,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,GAAI;CACxC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACnD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;IAClC,IAAI,EAAE,KAAK,CAAC,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5B,OAAO,EAAE,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,GAAI;CACxC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACnD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;IAClC,IAAI,EAAE,KAAK,CAAC,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5B,OAAO,EAAE,KAAC,cAAc,IAAC,KAAK,EAAE,CAAC,GAAI;CACxC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACnD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;CAC7C,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,wBAAwB;AACxB,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IAC/C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,KAAK,CAAC,UAAU;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;CACjC,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAuB;IACrD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE;IACzC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;IAClD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;CACrD,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACnD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,yBAAyB;AACzB,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAChD,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,KAAK,CAAC,WAAW;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;CAClC,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAuB;IACtD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE;IAC1C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE;IACnD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE;CACtD,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACpD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAC3C,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;CACnC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACnD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE;IACzC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;IACpD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;IAClD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;CACrD,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAC3C,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;CACnC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAuB;IACnD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE;IACzC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;IACpD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;IAClD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;CACrD,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,mCAAmC;AACnC,MAAM,CAAC,MAAM,4BAA4B,GAAoB;IACzD,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,IAAI,EAAE,KAAK,CAAC,cAAc;IAC1B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACpC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;CAC5C,CAAC;AACF,MAAM,CAAC,MAAM,+BAA+B,GAAuB;IAC/D,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,EAAE,IAAI,KAAK;IAC9E,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,EAAE,IAAI,KAAK;IAC9E,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE;IAC3D,SAAS,EAAE,SAAS;CACvB,CAAC;AAEF,yBAAyB;AACzB,MAAM,CAAC,MAAM,mBAAmB,GAAoD;IAChF,IAAI,EAAE,eAAe,CAAC,cAAc;CACvC,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAuD;IACtF,SAAS,EAAE,kBAAkB;IAC7B,KAAK,EAAE,CAAC;IACR,SAAS,EAAE,CAAC,EAAC,SAAS,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,EAAE,MAAM,EAAC,EAAE,EAAE;QAC7C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACzC,MAAM,EAAC,MAAM,EAAC,GAAG,KAAK,CAAC;QACvB,OAAO,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC;IAChF,CAAC;CACJ,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAC9C,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACxB,iBAAiB,EAAE,IAAI;IACvB,OAAO,EAAE,KAAC,WAAW,KAAG;CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACpD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE;IACxC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;IACjD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;CACpD,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IAClD,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,MAAM,gBAAgB,GAAoD;IAC7E,IAAI,EAAE,eAAe,CAAC,cAAc;CACvC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAuD;IACnF,SAAS,EAAE,cAAc;IACzB,KAAK,EAAE,EAAE;CACZ,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAsD;IACjF,SAAS,EAAE,cAAc;IACzB,KAAK,EAAE,EAAE;CACZ,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,WAAW,GAAoB;IACxC,IAAI,EAAE,eAAe,CAAC,YAAY;IAClC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;IAC7B,MAAM,EAAE,UAAU,CAAC,iBAAiB;IACpC,IAAI,EAAE,KAAK,CAAC,GAAG;CAClB,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAuB;IAC9C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;IAClD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;CACrD,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,MAAM;CACnB,CAAC;AAEF,yBAAyB;AACzB,MAAM,CAAC,MAAM,mBAAmB,GAAgD;IAC5E,IAAI,EAAE,eAAe,CAAC,UAAU;IAChC,IAAI,EAAE,KAAK,CAAC,QAAQ;IACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;IACjC,SAAS,EAAE,IAAI;IACf,iBAAiB,EAAE,IAAI;CAC1B,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,iBAAiB,GAAgD;IAC1E,IAAI,EAAE,eAAe,CAAC,UAAU;IAChC,IAAI,EAAE,KAAK,CAAC,UAAU;IACtB,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAgD;IACzE,IAAI,EAAE,eAAe,CAAC,UAAU;IAChC,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;CACtC,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,sBAAsB,GAAgD;IAC/E,IAAI,EAAE,eAAe,CAAC,UAAU;IAChC,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,IAAI;CAClB,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAgD;IACzE,IAAI,EAAE,eAAe,CAAC,UAAU;IAChC,IAAI,EAAE,KAAK,CAAC,cAAc;IAC1B,SAAS,EAAE,IAAI;IACf,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;CACjC,CAAC","sourcesContent":["import {icons} from '../../bundle/config/icons';\nimport {HeadingPreview} from '../../bundle/config/previews/HeadingPreview';\nimport {TextPreview} from '../../bundle/config/previews/TextPreview';\nimport {MToolbarColors} from '../../bundle/toolbar/markup/MToolbarColors';\nimport {MToolbarFilePopup} from '../../bundle/toolbar/markup/MToolbarFilePopup';\nimport {MToolbarImagePopup} from '../../bundle/toolbar/markup/MToolbarImagePopup';\nimport {WToolbarColors} from '../../bundle/toolbar/wysiwyg/WToolbarColors';\nimport {WToolbarTextSelect} from '../../bundle/toolbar/wysiwyg/WToolbarTextSelect';\nimport {showMarkupGpt} from '../../extensions/additional/GPT';\nimport {gptHotKeys} from '../../extensions/additional/GPT/constants';\nimport {headingType, pType} from '../../extensions/specs';\nimport {i18n as i18nHint} from '../../i18n/hints';\nimport {i18n} from '../../i18n/menubar';\nimport {\n insertBlockquoteLink,\n insertHRule,\n insertLink,\n insertMermaidDiagram,\n insertYfmHtmlBlock,\n insertYfmTable,\n insertYfmTabs,\n liftListItem as liftListItemCommand,\n redo,\n redoDepth,\n sinkListItem as sinkListItemCommand,\n toBulletList,\n toH1,\n toH2,\n toH3,\n toH4,\n toH5,\n toH6,\n toOrderedList,\n toggleBold,\n toggleItalic,\n toggleMarked,\n toggleMonospace,\n toggleStrikethrough,\n toggleUnderline,\n undo,\n undoDepth,\n wrapToBlockquote,\n wrapToCheckbox,\n wrapToCodeBlock,\n wrapToInlineCode,\n wrapToMathBlock,\n wrapToMathInline,\n wrapToYfmCut,\n wrapToYfmNote,\n} from '../../markup/commands';\nimport {Action as A, formatter as f} from '../../shortcuts';\nimport {ToolbarDataType} from '../../toolbar';\n\nimport type {ToolbarItemMarkup, ToolbarItemView, ToolbarItemWysiwyg} from './types';\n\nconst noop = () => {};\nconst inactive = () => false;\nconst enable = () => true;\nconst disable = () => false;\n\n// ---- Undo ----\nexport const undoItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'undo'),\n icon: icons.undo,\n hotkey: f.toView(A.Undo),\n};\nexport const undoItemWysiwyg: ToolbarItemWysiwyg = {\n hintWhenDisabled: false,\n exec: (e) => e.actions.undo.run(),\n isActive: (e) => e.actions.undo.isActive(),\n isEnable: (e) => e.actions.undo.isEnable(),\n};\nexport const undoItemMarkup: ToolbarItemMarkup = {\n hintWhenDisabled: false,\n exec: (e) => undo(e.cm),\n isActive: inactive,\n isEnable: (e) => undoDepth(e.cm.state) > 0,\n};\n\n// ---- Redo ----\nexport const redoItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'redo'),\n icon: icons.redo,\n hotkey: f.toView(A.Redo),\n};\nexport const redoItemWysiwyg: ToolbarItemWysiwyg = {\n hintWhenDisabled: false,\n exec: (e) => e.actions.redo.run(),\n isActive: (e) => e.actions.redo.isActive(),\n isEnable: (e) => e.actions.redo.isEnable(),\n};\nexport const redoItemMarkup: ToolbarItemMarkup = {\n hintWhenDisabled: false,\n exec: (e) => redo(e.cm),\n isActive: inactive,\n isEnable: (e) => redoDepth(e.cm.state) > 0,\n};\n\n// ---- Bold ----\nexport const boldItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'bold'),\n icon: icons.bold,\n hotkey: f.toView(A.Bold),\n};\nexport const boldItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.bold.run(),\n isActive: (e) => e.actions.bold.isActive(),\n isEnable: (e) => e.actions.bold.isEnable(),\n};\nexport const boldItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleBold(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Italic ----\nexport const italicItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'italic'),\n icon: icons.italic,\n hotkey: f.toView(A.Italic),\n};\nexport const italicItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.italic.run(),\n isActive: (e) => e.actions.italic.isActive(),\n isEnable: (e) => e.actions.italic.isEnable(),\n};\nexport const italicItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleItalic(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Underline ----\nexport const underlineItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'underline'),\n icon: icons.underline,\n hotkey: f.toView(A.Underline),\n};\nexport const underlineItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.underline.run(),\n isActive: (e) => e.actions.underline.isActive(),\n isEnable: (e) => e.actions.underline.isEnable(),\n};\nexport const underlineItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleUnderline(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Strikethrough ----\nexport const strikethroughItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'strike'),\n icon: icons.strikethrough,\n hotkey: f.toView(A.Strike),\n};\nexport const strikethroughItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.strike.run(),\n isActive: (e) => e.actions.strike.isActive(),\n isEnable: (e) => e.actions.strike.isEnable(),\n};\nexport const strikethroughItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleStrikethrough(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Monospace ----\nexport const monospaceItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'mono'),\n icon: icons.mono,\n};\nexport const monospaceItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.mono.run(),\n isActive: (e) => e.actions.mono.isActive(),\n isEnable: (e) => e.actions.mono.isEnable(),\n};\nexport const monospaceItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleMonospace(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Marked ----\nexport const markedItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'mark'),\n icon: icons.mark,\n};\nexport const markedItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.mark.run(),\n isActive: (e) => e.actions.mark.isActive(),\n isEnable: (e) => e.actions.mark.isEnable(),\n};\nexport const markedItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleMarked(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Checkbox ----\nexport const checkboxItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'checkbox'),\n icon: icons.checklist,\n};\nexport const checkboxItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addCheckbox.run(),\n isActive: (e) => e.actions.addCheckbox.isActive(),\n isEnable: (e) => e.actions.addCheckbox.isEnable(),\n};\nexport const checkboxItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToCheckbox(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Link ----\nexport const linkItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'link'),\n icon: icons.link,\n hotkey: f.toView(A.Link),\n};\nexport const linkItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addLink.run(),\n isActive: (e) => e.actions.addLink.isActive(),\n isEnable: (e) => e.actions.addLink.isEnable(),\n};\nexport const linkItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertLink(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Quote ----\nexport const quoteItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'quote'),\n icon: icons.quote,\n hotkey: f.toView(A.Quote),\n};\nexport const quoteItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.quote.run(),\n isActive: (e) => e.actions.quote.isActive(),\n isEnable: (e) => e.actions.quote.isEnable(),\n};\nexport const quoteItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToBlockquote(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Quote Link ----\nexport const quoteLinkItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'quotelink'),\n icon: icons.quoteLink,\n};\nexport const quoteLinkItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => {\n e.actions.quoteLink.run();\n e.actions.addLinkToQuoteLink.run();\n },\n isActive: (e) => e.actions.quoteLink.isActive(),\n isEnable: (e) => e.actions.quoteLink.isEnable(),\n};\nexport const quoteLinkItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertBlockquoteLink(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Cut ----\nexport const cutItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'cut'),\n icon: icons.cut,\n hotkey: f.toView(A.Cut),\n};\nexport const cutItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toYfmCut.run(),\n isActive: (e) => e.actions.toYfmCut.isActive(),\n isEnable: (e) => e.actions.toYfmCut.isEnable(),\n};\nexport const cutItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToYfmCut(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Note ----\nexport const noteItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'note'),\n icon: icons.note,\n hotkey: f.toView(A.Note),\n};\nexport const noteItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toYfmNote.run(),\n isActive: (e) => e.actions.toYfmNote.isActive(),\n isEnable: (e) => e.actions.toYfmNote.isEnable(),\n};\nexport const noteItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToYfmNote(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Table ----\nexport const tableItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'table'),\n icon: icons.table,\n};\nexport const tableItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.createYfmTable.run(),\n isActive: (e) => e.actions.createYfmTable.isActive(),\n isEnable: (e) => e.actions.createYfmTable.isEnable(),\n};\nexport const tableItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertYfmTable(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Code ----\nexport const codeItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'code_inline'),\n icon: icons.code,\n hotkey: f.toView(A.Code),\n};\nexport const codeItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.code.run(),\n isActive: (e) => e.actions.code.isActive(),\n isEnable: (e) => e.actions.code.isEnable(),\n};\nexport const codeItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToInlineCode(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Image ----\nexport const imageItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'image'),\n icon: icons.image,\n};\nexport const imagePopupItemView: ToolbarItemView = {\n type: ToolbarDataType.ButtonPopup,\n title: i18n.bind(null, 'image'),\n icon: icons.image,\n};\nexport const imageItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addImageWidget.run(),\n isActive: (e) => e.actions.addImageWidget.isActive(),\n isEnable: (e) => e.actions.addImageWidget.isEnable(),\n};\nexport const imageItemMarkup: ToolbarItemMarkup<ToolbarDataType.ButtonPopup> = {\n exec: noop,\n isActive: inactive,\n isEnable: enable,\n renderPopup: (props) => <MToolbarImagePopup {...props} />,\n};\n\n// ---- File ----\nexport const fileItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'file'),\n icon: icons.file,\n};\nexport const filePopupItemView: ToolbarItemView = {\n type: ToolbarDataType.ButtonPopup,\n title: i18n.bind(null, 'file'),\n icon: icons.file,\n};\nexport const fileItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addFile.run(),\n isActive: (e) => e.actions.addFile.isActive(),\n isEnable: (e) => e.actions.addFile.isEnable(),\n};\nexport const fileItemMarkup: ToolbarItemMarkup<ToolbarDataType.ButtonPopup> = {\n exec: noop,\n isActive: inactive,\n isEnable: enable,\n renderPopup: (props) => <MToolbarFilePopup {...props} />,\n};\n\n// ---- Tabs ----\nexport const tabsItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'tabs'),\n icon: icons.tabs,\n};\nexport const tabsItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toYfmTabs.run(),\n isActive: (e) => e.actions.toYfmTabs.isActive(),\n isEnable: (e) => e.actions.toYfmTabs.isEnable(),\n};\nexport const tabsItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertYfmTabs(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Math Inline ----\nexport const mathInlineItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'math_inline'),\n icon: icons.functionInline,\n hint: () => `${i18nHint.bind(null, 'math_hint')()} ${i18nHint.bind(null, 'math_hint_katex')()}`,\n};\nexport const mathInlineItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addMathInline.run(),\n isActive: (e) => e.actions.addMathInline.isActive(),\n isEnable: (e) => e.actions.addMathInline.isEnable(),\n};\nexport const mathInlineItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToMathInline(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Math Block ----\nexport const mathBlockItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'math_block'),\n icon: icons.functionBlock,\n hint: () => `${i18nHint.bind(null, 'math_hint')()} ${i18nHint.bind(null, 'math_hint_katex')()}`,\n};\nexport const mathBlockItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toMathBlock.run(),\n isActive: (e) => e.actions.toMathBlock.isActive(),\n isEnable: (e) => e.actions.toMathBlock.isEnable(),\n};\nexport const mathBlockItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToMathBlock(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Yfm Html Block ----\nexport const yfmHtmlBlockItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'html'),\n icon: icons.html,\n};\nexport const yfmHtmlBlockItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.createYfmHtmlBlock.run(),\n isActive: (e) => e.actions.createYfmHtmlBlock.isActive(),\n isEnable: (e) => e.actions.createYfmHtmlBlock.isEnable(),\n};\nexport const yfmHtmlBlockItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertYfmHtmlBlock(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Mermaid ----\nexport const mermaidItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'mermaid'),\n icon: icons.mermaid,\n};\nexport const mermaidItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.createMermaid.run(),\n isActive: (e) => e.actions.createMermaid.isActive(),\n isEnable: (e) => e.actions.createMermaid.isEnable(),\n};\nexport const mermaidItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertMermaidDiagram(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Code Block ----\nexport const codeBlockItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'codeblock'),\n icon: icons.codeBlock,\n hotkey: f.toView(A.CodeBlock),\n};\nexport const codeBlockItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toCodeBlock.run(),\n isActive: (e) => e.actions.toCodeBlock.isActive(),\n isEnable: (e) => e.actions.toCodeBlock.isEnable(),\n};\nexport const codeBlockItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToCodeBlock(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Horizontal Rule ----\nexport const hruleItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'hrule'),\n icon: icons.horizontalRule,\n};\nexport const hruleItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.hRule.run(),\n isActive: (e) => e.actions.hRule.isActive(),\n isEnable: (e) => e.actions.hRule.isEnable(),\n};\nexport const hruleItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertHRule(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Emoji ----\nexport const emojiItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'emoji'),\n icon: icons.emoji,\n};\nexport const emojiItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.openEmojiSuggest.run({}),\n isActive: (e) => e.actions.openEmojiSuggest.isActive(),\n isEnable: (e) => e.actions.openEmojiSuggest.isEnable(),\n};\nexport const emojiItemMarkup: ToolbarItemMarkup = {\n exec: noop,\n hintWhenDisabled: i18n.bind(null, 'emoji__hint'),\n isActive: inactive,\n isEnable: disable,\n};\n\n// ---- Heading 1 ----\nexport const heading1ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading1'),\n icon: icons.h1,\n hotkey: f.toView(A.Heading1),\n preview: <HeadingPreview level={1} />,\n};\nexport const heading1ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH1.run(),\n isActive: (e) => e.actions.toH1.isActive(),\n isEnable: (e) => e.actions.toH1.isEnable(),\n};\nexport const heading1ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH1(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 2 ----\nexport const heading2ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading2'),\n icon: icons.h2,\n hotkey: f.toView(A.Heading2),\n preview: <HeadingPreview level={2} />,\n};\nexport const heading2ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH2.run(),\n isActive: (e) => e.actions.toH2.isActive(),\n isEnable: (e) => e.actions.toH2.isEnable(),\n};\nexport const heading2ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH2(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 3 ----\nexport const heading3ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading3'),\n icon: icons.h3,\n hotkey: f.toView(A.Heading3),\n preview: <HeadingPreview level={3} />,\n};\nexport const heading3ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH3.run(),\n isActive: (e) => e.actions.toH3.isActive(),\n isEnable: (e) => e.actions.toH3.isEnable(),\n};\nexport const heading3ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH3(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 4 ----\nexport const heading4ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading4'),\n icon: icons.h4,\n hotkey: f.toView(A.Heading4),\n preview: <HeadingPreview level={4} />,\n};\nexport const heading4ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH4.run(),\n isActive: (e) => e.actions.toH4.isActive(),\n isEnable: (e) => e.actions.toH4.isEnable(),\n};\nexport const heading4ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH4(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 5 ----\nexport const heading5ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading5'),\n icon: icons.h5,\n hotkey: f.toView(A.Heading5),\n preview: <HeadingPreview level={5} />,\n};\nexport const heading5ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH5.run(),\n isActive: (e) => e.actions.toH5.isActive(),\n isEnable: (e) => e.actions.toH5.isEnable(),\n};\nexport const heading5ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH5(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 6 ----\nexport const heading6ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading6'),\n icon: icons.h6,\n hotkey: f.toView(A.Heading6),\n preview: <HeadingPreview level={6} />,\n};\nexport const heading6ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH6.run(),\n isActive: (e) => e.actions.toH6.isActive(),\n isEnable: (e) => e.actions.toH6.isEnable(),\n};\nexport const heading6ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH6(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Bullet List ----\nexport const bulletListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'ulist'),\n icon: icons.bulletList,\n hotkey: f.toView(A.BulletList),\n};\nexport const bulletListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toBulletList.run(),\n isActive: (e) => e.actions.toBulletList.isActive(),\n isEnable: (e) => e.actions.toBulletList.isEnable(),\n};\nexport const bulletListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toBulletList(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Ordered List ----\nexport const orderedListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'olist'),\n icon: icons.orderedList,\n hotkey: f.toView(A.OrderedList),\n};\nexport const orderedListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toOrderedList.run(),\n isActive: (e) => e.actions.toOrderedList.isActive(),\n isEnable: (e) => e.actions.toOrderedList.isEnable(),\n};\nexport const orderedListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toOrderedList(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Sink List ----\nexport const sinkListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'list__action_sink'),\n icon: icons.sink,\n hotkey: f.toView(A.SinkListItem),\n};\nexport const sinkListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.sinkListItem.run(),\n hintWhenDisabled: () => i18n('list_action_disabled'),\n isActive: (e) => e.actions.sinkListItem.isActive(),\n isEnable: (e) => e.actions.sinkListItem.isEnable(),\n};\nexport const sinkListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => sinkListItemCommand(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Lift List ----\nexport const liftListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'list__action_lift'),\n icon: icons.lift,\n hotkey: f.toView(A.LiftListItem),\n};\nexport const liftListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.liftListItem.run(),\n hintWhenDisabled: () => i18n('list_action_disabled'),\n isActive: (e) => e.actions.liftListItem.isActive(),\n isEnable: (e) => e.actions.liftListItem.isEnable(),\n};\nexport const liftListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => liftListItemCommand(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Toggle Heading Folding ----\nexport const toggleHeadingFoldingItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n icon: icons.foldingHeading,\n title: () => i18n('folding-heading'),\n hint: () => i18n('folding-heading__hint'),\n};\nexport const toggleHeadingFoldingItemWysiwyg: ToolbarItemWysiwyg = {\n isActive: (editor) => editor.actions.toggleHeadingFolding?.isActive() ?? false,\n isEnable: (editor) => editor.actions.toggleHeadingFolding?.isEnable() ?? false,\n exec: (editor) => editor.actions.toggleHeadingFolding.run(),\n condition: 'enabled',\n};\n\n// ---- Text Context ----\nexport const textContextItemView: ToolbarItemView<ToolbarDataType.ReactComponent> = {\n type: ToolbarDataType.ReactComponent,\n};\nexport const textContextItemWisywig: ToolbarItemWysiwyg<ToolbarDataType.ReactComponent> = {\n component: WToolbarTextSelect,\n width: 0,\n condition: ({selection: {$from, $to}, schema}) => {\n if (!$from.sameParent($to)) return false;\n const {parent} = $from;\n return parent.type === pType(schema) || parent.type === headingType(schema);\n },\n};\n\n// ---- Paragraph ----\nexport const paragraphItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'text'),\n icon: icons.text,\n hotkey: f.toView(A.Text),\n doNotActivateList: true,\n preview: <TextPreview />,\n};\nexport const paragraphItemWisywig: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toParagraph.run(),\n isActive: (e) => e.actions.toParagraph.isActive(),\n isEnable: (e) => e.actions.toParagraph.isEnable(),\n};\nexport const paragraphItemMarkup: ToolbarItemMarkup = {\n exec: noop,\n isActive: inactive,\n isEnable: enable,\n};\n\n// --- Colorify ----\nexport const colorifyItemView: ToolbarItemView<ToolbarDataType.ReactComponent> = {\n type: ToolbarDataType.ReactComponent,\n};\nexport const colorifyItemWysiwyg: ToolbarItemWysiwyg<ToolbarDataType.ReactComponent> = {\n component: WToolbarColors,\n width: 42,\n};\nexport const colorifyItemMarkup: ToolbarItemMarkup<ToolbarDataType.ReactComponent> = {\n component: MToolbarColors,\n width: 42,\n};\n\n// ---- GPT ----\nexport const gptItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'gpt'),\n hotkey: gptHotKeys.openGptKeyTooltip,\n icon: icons.gpt,\n};\nexport const gptItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addGptWidget.run({}),\n isActive: (e) => e.actions.addGptWidget.isActive(),\n isEnable: (e) => e.actions.addGptWidget.isEnable(),\n};\nexport const gptItemMarkup: ToolbarItemMarkup = {\n exec: (e) => showMarkupGpt(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading list ----\nexport const headingListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.headline,\n title: i18n.bind(null, 'heading'),\n withArrow: true,\n replaceActiveIcon: true,\n};\n\n// ---- Lists list ----\nexport const listsListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.bulletList,\n withArrow: true,\n title: i18n.bind(null, 'list'),\n};\n\n// ---- Move list ----\nexport const moveListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.lift,\n withArrow: true,\n title: i18n.bind(null, 'move_list'),\n};\n\n// ---- Code list ----\nexport const codeBlocksListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.code,\n title: i18n.bind(null, 'code'),\n withArrow: true,\n};\n\n// ---- Math list ----\nexport const mathListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.functionInline,\n withArrow: true,\n title: i18n.bind(null, 'math'),\n};\n"]}
1
+ {"version":3,"file":"items.js","sourceRoot":"../../../../src","sources":["modules/toolbars/items.tsx"],"names":[],"mappings":"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","sourcesContent":["import {icons} from '../../bundle/config/icons';\nimport {HeadingPreview} from '../../bundle/config/previews/HeadingPreview';\nimport {TextPreview} from '../../bundle/config/previews/TextPreview';\nimport {MToolbarColors} from '../../bundle/toolbar/markup/MToolbarColors';\nimport {MToolbarFilePopup} from '../../bundle/toolbar/markup/MToolbarFilePopup';\nimport {MToolbarImagePopup} from '../../bundle/toolbar/markup/MToolbarImagePopup';\nimport {WToolbarColors} from '../../bundle/toolbar/wysiwyg/WToolbarColors';\nimport {WToolbarTextSelect} from '../../bundle/toolbar/wysiwyg/WToolbarTextSelect';\nimport {showMarkupGpt} from '../../extensions/additional/GPT';\nimport {gptHotKeys} from '../../extensions/additional/GPT/constants';\nimport {headingType, pType} from '../../extensions/specs';\nimport {i18n as i18nHint} from '../../i18n/hints';\nimport {i18n} from '../../i18n/menubar';\nimport {\n insertBlockquoteLink,\n insertHRule,\n insertLink,\n insertMermaidDiagram,\n insertYfmHtmlBlock,\n insertYfmTable,\n insertYfmTabs,\n liftListItem as liftListItemCommand,\n redo,\n redoDepth,\n sinkListItem as sinkListItemCommand,\n toBulletList,\n toH1,\n toH2,\n toH3,\n toH4,\n toH5,\n toH6,\n toOrderedList,\n toggleBold,\n toggleItalic,\n toggleMarked,\n toggleMonospace,\n toggleStrikethrough,\n toggleUnderline,\n undo,\n undoDepth,\n wrapToBlockquote,\n wrapToCheckbox,\n wrapToCodeBlock,\n wrapToInlineCode,\n wrapToMathBlock,\n wrapToMathInline,\n wrapToYfmCut,\n wrapToYfmNote,\n} from '../../markup/commands';\nimport {Action as A, formatter as f} from '../../shortcuts';\nimport {ToolbarDataType} from '../../toolbar';\n\nimport type {ToolbarItemMarkup, ToolbarItemView, ToolbarItemWysiwyg} from './types';\n\nconst noop = () => {};\nconst inactive = () => false;\nconst enable = () => true;\nconst disable = () => false;\n\n// ---- Undo ----\nexport const undoItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'undo'),\n icon: icons.undo,\n hotkey: f.toView(A.Undo),\n};\nexport const undoItemWysiwyg: ToolbarItemWysiwyg = {\n hintWhenDisabled: false,\n exec: (e) => e.actions.undo.run(),\n isActive: (e) => e.actions.undo.isActive(),\n isEnable: (e) => e.actions.undo.isEnable(),\n};\nexport const undoItemMarkup: ToolbarItemMarkup = {\n hintWhenDisabled: false,\n exec: (e) => undo(e.cm),\n isActive: inactive,\n isEnable: (e) => undoDepth(e.cm.state) > 0,\n};\n\n// ---- Redo ----\nexport const redoItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'redo'),\n icon: icons.redo,\n hotkey: f.toView(A.Redo),\n};\nexport const redoItemWysiwyg: ToolbarItemWysiwyg = {\n hintWhenDisabled: false,\n exec: (e) => e.actions.redo.run(),\n isActive: (e) => e.actions.redo.isActive(),\n isEnable: (e) => e.actions.redo.isEnable(),\n};\nexport const redoItemMarkup: ToolbarItemMarkup = {\n hintWhenDisabled: false,\n exec: (e) => redo(e.cm),\n isActive: inactive,\n isEnable: (e) => redoDepth(e.cm.state) > 0,\n};\n\n// ---- Bold ----\nexport const boldItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'bold'),\n icon: icons.bold,\n hotkey: f.toView(A.Bold),\n};\nexport const boldItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.bold.run(),\n isActive: (e) => e.actions.bold.isActive(),\n isEnable: (e) => e.actions.bold.isEnable(),\n};\nexport const boldItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleBold(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Italic ----\nexport const italicItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'italic'),\n icon: icons.italic,\n hotkey: f.toView(A.Italic),\n};\nexport const italicItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.italic.run(),\n isActive: (e) => e.actions.italic.isActive(),\n isEnable: (e) => e.actions.italic.isEnable(),\n};\nexport const italicItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleItalic(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Underline ----\nexport const underlineItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'underline'),\n icon: icons.underline,\n hotkey: f.toView(A.Underline),\n};\nexport const underlineItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.underline.run(),\n isActive: (e) => e.actions.underline.isActive(),\n isEnable: (e) => e.actions.underline.isEnable(),\n};\nexport const underlineItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleUnderline(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Strikethrough ----\nexport const strikethroughItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'strike'),\n icon: icons.strikethrough,\n hotkey: f.toView(A.Strike),\n};\nexport const strikethroughItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.strike.run(),\n isActive: (e) => e.actions.strike.isActive(),\n isEnable: (e) => e.actions.strike.isEnable(),\n};\nexport const strikethroughItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleStrikethrough(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Monospace ----\nexport const monospaceItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'mono'),\n icon: icons.mono,\n};\nexport const monospaceItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.mono.run(),\n isActive: (e) => e.actions.mono.isActive(),\n isEnable: (e) => e.actions.mono.isEnable(),\n};\nexport const monospaceItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleMonospace(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Marked ----\nexport const markedItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'mark'),\n icon: icons.mark,\n};\nexport const markedItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.mark.run(),\n isActive: (e) => e.actions.mark.isActive(),\n isEnable: (e) => e.actions.mark.isEnable(),\n};\nexport const markedItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toggleMarked(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Checkbox ----\nexport const checkboxItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'checkbox'),\n icon: icons.checklist,\n};\nexport const checkboxItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addCheckbox.run(),\n isActive: (e) => e.actions.addCheckbox.isActive(),\n isEnable: (e) => e.actions.addCheckbox.isEnable(),\n};\nexport const checkboxItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToCheckbox(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Link ----\nexport const linkItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'link'),\n icon: icons.link,\n hotkey: f.toView(A.Link),\n};\nexport const linkItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addLink.run(),\n isActive: (e) => e.actions.addLink.isActive(),\n isEnable: (e) => e.actions.addLink.isEnable(),\n};\nexport const linkItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertLink(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Quote ----\nexport const quoteItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'quote'),\n icon: icons.quote,\n hotkey: f.toView(A.Quote),\n};\nexport const quoteItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.quote.run(),\n isActive: (e) => e.actions.quote.isActive(),\n isEnable: (e) => e.actions.quote.isEnable(),\n};\nexport const quoteItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToBlockquote(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Quote Link ----\nexport const quoteLinkItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'quotelink'),\n icon: icons.quoteLink,\n};\nexport const quoteLinkItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => {\n e.actions.quoteLink.run();\n e.actions.addLinkToQuoteLink.run();\n },\n isActive: (e) => e.actions.quoteLink.isActive(),\n isEnable: (e) => e.actions.quoteLink.isEnable(),\n};\nexport const quoteLinkItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertBlockquoteLink(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Cut ----\nexport const cutItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'cut'),\n icon: icons.cut,\n hotkey: f.toView(A.Cut),\n};\nexport const cutItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toYfmCut.run(),\n isActive: (e) => e.actions.toYfmCut.isActive(),\n isEnable: (e) => e.actions.toYfmCut.isEnable(),\n};\nexport const cutItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToYfmCut(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Note ----\nexport const noteItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'note'),\n icon: icons.note,\n hotkey: f.toView(A.Note),\n};\nexport const noteItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toYfmNote.run(),\n isActive: (e) => e.actions.toYfmNote.isActive(),\n isEnable: (e) => e.actions.toYfmNote.isEnable(),\n};\nexport const noteItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToYfmNote(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Table ----\nexport const tableItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'table'),\n icon: icons.table,\n};\nexport const tableItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.createYfmTable.run(),\n isActive: (e) => e.actions.createYfmTable.isActive(),\n isEnable: (e) => e.actions.createYfmTable.isEnable(),\n};\nexport const tableItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertYfmTable(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Code ----\nexport const codeItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'code_inline'),\n icon: icons.code,\n hotkey: f.toView(A.Code),\n};\nexport const codeItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.code.run(),\n isActive: (e) => e.actions.code.isActive(),\n isEnable: (e) => e.actions.code.isEnable(),\n};\nexport const codeItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToInlineCode(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Image ----\nexport const imageItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'image'),\n icon: icons.image,\n};\nexport const imagePopupItemView: ToolbarItemView = {\n type: ToolbarDataType.ButtonPopup,\n title: i18n.bind(null, 'image'),\n icon: icons.image,\n};\nexport const imageItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addImageWidget.run(),\n isActive: (e) => e.actions.addImageWidget.isActive(),\n isEnable: (e) => e.actions.addImageWidget.isEnable(),\n};\nexport const imageItemMarkup: ToolbarItemMarkup<ToolbarDataType.ButtonPopup> = {\n exec: noop,\n isActive: inactive,\n isEnable: enable,\n renderPopup: (props) => <MToolbarImagePopup {...props} />,\n};\n\n// ---- File ----\nexport const fileItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'file'),\n icon: icons.file,\n};\nexport const filePopupItemView: ToolbarItemView = {\n type: ToolbarDataType.ButtonPopup,\n title: i18n.bind(null, 'file'),\n icon: icons.file,\n};\nexport const fileItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addFile.run(),\n isActive: (e) => e.actions.addFile.isActive(),\n isEnable: (e) => e.actions.addFile.isEnable(),\n};\nexport const fileItemMarkup: ToolbarItemMarkup<ToolbarDataType.ButtonPopup> = {\n exec: noop,\n isActive: inactive,\n isEnable: enable,\n renderPopup: (props) => <MToolbarFilePopup {...props} />,\n};\n\n// ---- Tabs ----\nexport const tabsItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'tabs'),\n icon: icons.tabs,\n};\nexport const tabsItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toYfmTabs.run(),\n isActive: (e) => e.actions.toYfmTabs.isActive(),\n isEnable: (e) => e.actions.toYfmTabs.isEnable(),\n};\nexport const tabsItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertYfmTabs(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Math Inline ----\nexport const mathInlineItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'math_inline'),\n icon: icons.functionInline,\n hint: () => `${i18nHint.bind(null, 'math_hint')()} ${i18nHint.bind(null, 'math_hint_katex')()}`,\n};\nexport const mathInlineItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addMathInline.run(),\n isActive: (e) => e.actions.addMathInline.isActive(),\n isEnable: (e) => e.actions.addMathInline.isEnable(),\n};\nexport const mathInlineItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToMathInline(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Math Block ----\nexport const mathBlockItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'math_block'),\n icon: icons.functionBlock,\n hint: () => `${i18nHint.bind(null, 'math_hint')()} ${i18nHint.bind(null, 'math_hint_katex')()}`,\n};\nexport const mathBlockItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toMathBlock.run(),\n isActive: (e) => e.actions.toMathBlock.isActive(),\n isEnable: (e) => e.actions.toMathBlock.isEnable(),\n};\nexport const mathBlockItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToMathBlock(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Yfm Html Block ----\nexport const yfmHtmlBlockItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'html'),\n icon: icons.html,\n};\nexport const yfmHtmlBlockItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.createYfmHtmlBlock.run(),\n isActive: (e) => e.actions.createYfmHtmlBlock.isActive(),\n isEnable: (e) => e.actions.createYfmHtmlBlock.isEnable(),\n};\nexport const yfmHtmlBlockItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertYfmHtmlBlock(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Mermaid ----\nexport const mermaidItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'mermaid'),\n icon: icons.mermaid,\n};\nexport const mermaidItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.createMermaid.run(),\n isActive: (e) => e.actions.createMermaid.isActive(),\n isEnable: (e) => e.actions.createMermaid.isEnable(),\n};\nexport const mermaidItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertMermaidDiagram(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Code Block ----\nexport const codeBlockItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'codeblock'),\n icon: icons.codeBlock,\n hotkey: f.toView(A.CodeBlock),\n};\nexport const codeBlockItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toCodeBlock.run(),\n isActive: (e) => e.actions.toCodeBlock.isActive(),\n isEnable: (e) => e.actions.toCodeBlock.isEnable(),\n};\nexport const codeBlockItemMarkup: ToolbarItemMarkup = {\n exec: (e) => wrapToCodeBlock(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Horizontal Rule ----\nexport const hruleItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'hrule'),\n icon: icons.horizontalRule,\n};\nexport const hruleItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.hRule.run(),\n isActive: (e) => e.actions.hRule.isActive(),\n isEnable: (e) => e.actions.hRule.isEnable(),\n};\nexport const hruleItemMarkup: ToolbarItemMarkup = {\n exec: (e) => insertHRule(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Emoji ----\nexport const emojiItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'emoji'),\n icon: icons.emoji,\n};\nexport const emojiItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.openEmojiSuggest.run({}),\n isActive: (e) => e.actions.openEmojiSuggest.isActive(),\n isEnable: (e) => e.actions.openEmojiSuggest.isEnable(),\n};\nexport const emojiItemMarkup: ToolbarItemMarkup = {\n exec: noop,\n hintWhenDisabled: i18n.bind(null, 'emoji__hint'),\n isActive: inactive,\n isEnable: disable,\n};\n\n// ---- Heading 1 ----\nexport const heading1ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading1'),\n icon: icons.h1,\n hotkey: f.toView(A.Heading1),\n preview: <HeadingPreview level={1} />,\n};\nexport const heading1ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH1.run(),\n isActive: (e) => e.actions.toH1.isActive(),\n isEnable: (e) => e.actions.toH1.isEnable(),\n};\nexport const heading1ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH1(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 2 ----\nexport const heading2ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading2'),\n icon: icons.h2,\n hotkey: f.toView(A.Heading2),\n preview: <HeadingPreview level={2} />,\n};\nexport const heading2ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH2.run(),\n isActive: (e) => e.actions.toH2.isActive(),\n isEnable: (e) => e.actions.toH2.isEnable(),\n};\nexport const heading2ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH2(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 3 ----\nexport const heading3ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading3'),\n icon: icons.h3,\n hotkey: f.toView(A.Heading3),\n preview: <HeadingPreview level={3} />,\n};\nexport const heading3ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH3.run(),\n isActive: (e) => e.actions.toH3.isActive(),\n isEnable: (e) => e.actions.toH3.isEnable(),\n};\nexport const heading3ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH3(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 4 ----\nexport const heading4ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading4'),\n icon: icons.h4,\n hotkey: f.toView(A.Heading4),\n preview: <HeadingPreview level={4} />,\n};\nexport const heading4ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH4.run(),\n isActive: (e) => e.actions.toH4.isActive(),\n isEnable: (e) => e.actions.toH4.isEnable(),\n};\nexport const heading4ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH4(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 5 ----\nexport const heading5ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading5'),\n icon: icons.h5,\n hotkey: f.toView(A.Heading5),\n preview: <HeadingPreview level={5} />,\n};\nexport const heading5ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH5.run(),\n isActive: (e) => e.actions.toH5.isActive(),\n isEnable: (e) => e.actions.toH5.isEnable(),\n};\nexport const heading5ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH5(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading 6 ----\nexport const heading6ItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'heading6'),\n icon: icons.h6,\n hotkey: f.toView(A.Heading6),\n preview: <HeadingPreview level={6} />,\n};\nexport const heading6ItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toH6.run(),\n isActive: (e) => e.actions.toH6.isActive(),\n isEnable: (e) => e.actions.toH6.isEnable(),\n};\nexport const heading6ItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toH6(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Bullet List ----\nexport const bulletListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'ulist'),\n icon: icons.bulletList,\n hotkey: f.toView(A.BulletList),\n};\nexport const bulletListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toBulletList.run(),\n isActive: (e) => e.actions.toBulletList.isActive(),\n isEnable: (e) => e.actions.toBulletList.isEnable(),\n};\nexport const bulletListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toBulletList(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Ordered List ----\nexport const orderedListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'olist'),\n icon: icons.orderedList,\n hotkey: f.toView(A.OrderedList),\n};\nexport const orderedListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toOrderedList.run(),\n isActive: (e) => e.actions.toOrderedList.isActive(),\n isEnable: (e) => e.actions.toOrderedList.isEnable(),\n};\nexport const orderedListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => toOrderedList(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Sink List ----\nexport const sinkListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'list__action_sink'),\n icon: icons.sink,\n hotkey: f.toView(A.SinkListItem),\n};\nexport const sinkListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.sinkListItem.run(),\n hintWhenDisabled: () => i18n('list_action_disabled'),\n isActive: (e) => e.actions.sinkListItem.isActive(),\n isEnable: (e) => e.actions.sinkListItem.isEnable(),\n};\nexport const sinkListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => sinkListItemCommand(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Lift List ----\nexport const liftListItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'list__action_lift'),\n icon: icons.lift,\n hotkey: f.toView(A.LiftListItem),\n};\nexport const liftListItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.liftListItem.run(),\n hintWhenDisabled: () => i18n('list_action_disabled'),\n isActive: (e) => e.actions.liftListItem.isActive(),\n isEnable: (e) => e.actions.liftListItem.isEnable(),\n};\nexport const liftListItemMarkup: ToolbarItemMarkup = {\n exec: (e) => liftListItemCommand(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Toggle Heading Folding ----\nexport const toggleHeadingFoldingItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n icon: icons.foldingHeading,\n title: () => i18n('folding-heading'),\n hint: () => i18n('folding-heading__hint'),\n};\nexport const toggleHeadingFoldingItemWysiwyg: ToolbarItemWysiwyg = {\n isActive: (editor) => editor.actions.toggleHeadingFolding?.isActive() ?? false,\n isEnable: (editor) => editor.actions.toggleHeadingFolding?.isEnable() ?? false,\n exec: (editor) => editor.actions.toggleHeadingFolding.run(),\n condition: 'enabled',\n};\n\n// ---- Text Context ----\nexport const textContextItemView: ToolbarItemView<ToolbarDataType.ReactComponent> = {\n type: ToolbarDataType.ReactComponent,\n};\nexport const textContextItemWisywig: ToolbarItemWysiwyg<ToolbarDataType.ReactComponent> = {\n component: WToolbarTextSelect,\n width: 0,\n condition: ({selection: {$from, $to}, schema}) => {\n if (!$from.sameParent($to)) return false;\n const {parent} = $from;\n return parent.type === pType(schema) || parent.type === headingType(schema);\n },\n};\n\n// ---- Paragraph ----\nexport const paragraphItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'text'),\n icon: icons.text,\n hotkey: f.toView(A.Text),\n doNotActivateList: true,\n preview: <TextPreview />,\n};\nexport const paragraphItemWisywig: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.toParagraph.run(),\n isActive: (e) => e.actions.toParagraph.isActive(),\n isEnable: (e) => e.actions.toParagraph.isEnable(),\n};\nexport const paragraphItemMarkup: ToolbarItemMarkup = {\n exec: noop,\n isActive: inactive,\n isEnable: enable,\n};\n\n// --- Colorify ----\nexport const colorifyItemView: ToolbarItemView<ToolbarDataType.ReactComponent> = {\n type: ToolbarDataType.ReactComponent,\n};\nexport const colorifyItemWysiwyg: ToolbarItemWysiwyg<ToolbarDataType.ReactComponent> = {\n component: WToolbarColors,\n noRerenderOnUpdate: true, // WToolbarColors uses toolbar context to update its own state\n width: 42,\n};\nexport const colorifyItemMarkup: ToolbarItemMarkup<ToolbarDataType.ReactComponent> = {\n component: MToolbarColors,\n noRerenderOnUpdate: true, // static state in markup mode\n width: 42,\n};\n\n// ---- GPT ----\nexport const gptItemView: ToolbarItemView = {\n type: ToolbarDataType.SingleButton,\n title: i18n.bind(null, 'gpt'),\n hotkey: gptHotKeys.openGptKeyTooltip,\n icon: icons.gpt,\n};\nexport const gptItemWysiwyg: ToolbarItemWysiwyg = {\n exec: (e) => e.actions.addGptWidget.run({}),\n isActive: (e) => e.actions.addGptWidget.isActive(),\n isEnable: (e) => e.actions.addGptWidget.isEnable(),\n};\nexport const gptItemMarkup: ToolbarItemMarkup = {\n exec: (e) => showMarkupGpt(e.cm),\n isActive: inactive,\n isEnable: enable,\n};\n\n// ---- Heading list ----\nexport const headingListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.headline,\n title: i18n.bind(null, 'heading'),\n withArrow: true,\n replaceActiveIcon: true,\n};\n\n// ---- Lists list ----\nexport const listsListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.bulletList,\n withArrow: true,\n title: i18n.bind(null, 'list'),\n};\n\n// ---- Move list ----\nexport const moveListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.lift,\n withArrow: true,\n title: i18n.bind(null, 'move_list'),\n};\n\n// ---- Code list ----\nexport const codeBlocksListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.code,\n title: i18n.bind(null, 'code'),\n withArrow: true,\n};\n\n// ---- Math list ----\nexport const mathListItemView: ToolbarItemView<ToolbarDataType.ListButton> = {\n type: ToolbarDataType.ListButton,\n icon: icons.functionInline,\n withArrow: true,\n title: i18n.bind(null, 'math'),\n};\n"]}
@@ -44,6 +44,7 @@ type ToolbarItemEditor<T, E> = Partial<EditorActions<E>> & {
44
44
  }) => React.ReactNode;
45
45
  } : T extends ToolbarDataType.ReactComponent ? {
46
46
  width: number;
47
+ noRerenderOnUpdate?: boolean;
47
48
  component: React.ComponentType<ToolbarBaseProps<E>>;
48
49
  } : {});
49
50
  export type ToolbarItemWysiwyg<T extends ToolbarDataType = ToolbarDataType.SingleButton> = ToolbarItemEditor<T, ActionStorage>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"../../../../src","sources":["modules/toolbars/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {HotkeyProps} from '@gravity-ui/uikit';\nimport type {EditorState} from 'prosemirror-state';\n\nimport type {ActionStorage} from '../../core';\nimport type {CodeEditor} from '../../markup';\nimport type {ToolbarBaseProps, ToolbarDataType, ToolbarIconData} from '../../toolbar';\n\n// Items\nexport type ToolbarItemId = string & {};\nexport type ToolbarListId = string & {};\n\nexport interface ToolbarList {\n id: ToolbarListId;\n items: ToolbarItemId[];\n}\n\n/**\n * The default value for the `type` property is `ToolbarDataType.SingleButton`.\n */\nexport type ToolbarItemView<T extends ToolbarDataType = ToolbarDataType.SingleButton> = {\n className?: string;\n hint?: string | (() => string);\n hotkey?: HotkeyProps['value'];\n type?: ToolbarDataType;\n doNotActivateList?: boolean;\n} & (T extends ToolbarDataType.SingleButton\n ? {\n icon: ToolbarIconData;\n title: string | (() => string);\n preview?: React.ReactNode;\n }\n : T extends ToolbarDataType.ListButton\n ? {\n withArrow?: boolean;\n icon: ToolbarIconData;\n title: string | (() => string);\n /** When state changes to active, replace default icon with icon of first active item */\n replaceActiveIcon?: boolean;\n }\n : {});\n\nexport interface EditorActions<E> {\n exec(editor: E): void;\n isActive(editor: E): boolean;\n isEnable(editor: E): boolean;\n}\n\ntype ToolbarItemEditor<T, E> = Partial<EditorActions<E>> & {\n hintWhenDisabled?: boolean | string | (() => string);\n condition?: ((state: EditorState) => void) | 'enabled';\n} & (T extends ToolbarDataType.ButtonPopup\n ? {\n renderPopup: (\n props: ToolbarBaseProps<E> & {\n hide: () => void;\n anchorElement: HTMLElement | null;\n },\n ) => React.ReactNode;\n }\n : T extends ToolbarDataType.ReactComponent\n ? {\n width: number;\n component: React.ComponentType<ToolbarBaseProps<E>>;\n }\n : {});\n\nexport type ToolbarItemWysiwyg<T extends ToolbarDataType = ToolbarDataType.SingleButton> =\n ToolbarItemEditor<T, ActionStorage>;\nexport type ToolbarItemMarkup<T extends ToolbarDataType = ToolbarDataType.SingleButton> =\n ToolbarItemEditor<T, CodeEditor>;\n\nexport type ToolbarItem<T extends ToolbarDataType> = {\n view: ToolbarItemView<T>;\n wysiwyg?: ToolbarItemWysiwyg<T>;\n markup?: ToolbarItemMarkup<T>;\n};\nexport type ToolbarsItems = Record<ToolbarItemId, ToolbarItem<ToolbarDataType>>;\n\n// Orders\nexport type ToolbarId = string;\nexport type ToolbarOrders = (ToolbarList | ToolbarItemId)[][];\nexport type ToolbarsOrders = Record<ToolbarId, ToolbarOrders>;\n\nexport interface ToolbarsPreset {\n items: ToolbarsItems;\n orders: ToolbarsOrders;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"../../../../src","sources":["modules/toolbars/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {HotkeyProps} from '@gravity-ui/uikit';\nimport type {EditorState} from 'prosemirror-state';\n\nimport type {ActionStorage} from '../../core';\nimport type {CodeEditor} from '../../markup';\nimport type {ToolbarBaseProps, ToolbarDataType, ToolbarIconData} from '../../toolbar';\n\n// Items\nexport type ToolbarItemId = string & {};\nexport type ToolbarListId = string & {};\n\nexport interface ToolbarList {\n id: ToolbarListId;\n items: ToolbarItemId[];\n}\n\n/**\n * The default value for the `type` property is `ToolbarDataType.SingleButton`.\n */\nexport type ToolbarItemView<T extends ToolbarDataType = ToolbarDataType.SingleButton> = {\n className?: string;\n hint?: string | (() => string);\n hotkey?: HotkeyProps['value'];\n type?: ToolbarDataType;\n doNotActivateList?: boolean;\n} & (T extends ToolbarDataType.SingleButton\n ? {\n icon: ToolbarIconData;\n title: string | (() => string);\n preview?: React.ReactNode;\n }\n : T extends ToolbarDataType.ListButton\n ? {\n withArrow?: boolean;\n icon: ToolbarIconData;\n title: string | (() => string);\n /** When state changes to active, replace default icon with icon of first active item */\n replaceActiveIcon?: boolean;\n }\n : {});\n\nexport interface EditorActions<E> {\n exec(editor: E): void;\n isActive(editor: E): boolean;\n isEnable(editor: E): boolean;\n}\n\ntype ToolbarItemEditor<T, E> = Partial<EditorActions<E>> & {\n hintWhenDisabled?: boolean | string | (() => string);\n condition?: ((state: EditorState) => void) | 'enabled';\n} & (T extends ToolbarDataType.ButtonPopup\n ? {\n renderPopup: (\n props: ToolbarBaseProps<E> & {\n hide: () => void;\n anchorElement: HTMLElement | null;\n },\n ) => React.ReactNode;\n }\n : T extends ToolbarDataType.ReactComponent\n ? {\n width: number;\n noRerenderOnUpdate?: boolean;\n component: React.ComponentType<ToolbarBaseProps<E>>;\n }\n : {});\n\nexport type ToolbarItemWysiwyg<T extends ToolbarDataType = ToolbarDataType.SingleButton> =\n ToolbarItemEditor<T, ActionStorage>;\nexport type ToolbarItemMarkup<T extends ToolbarDataType = ToolbarDataType.SingleButton> =\n ToolbarItemEditor<T, CodeEditor>;\n\nexport type ToolbarItem<T extends ToolbarDataType> = {\n view: ToolbarItemView<T>;\n wysiwyg?: ToolbarItemWysiwyg<T>;\n markup?: ToolbarItemMarkup<T>;\n};\nexport type ToolbarsItems = Record<ToolbarItemId, ToolbarItem<ToolbarDataType>>;\n\n// Orders\nexport type ToolbarId = string;\nexport type ToolbarOrders = (ToolbarList | ToolbarItemId)[][];\nexport type ToolbarsOrders = Record<ToolbarId, ToolbarOrders>;\n\nexport interface ToolbarsPreset {\n items: ToolbarsItems;\n orders: ToolbarsOrders;\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare const typedMemo: <Props extends object, Return extends React.ReactNode>(Component: (props: Props) => Return, compare?: (prevProps: Props, newProps: Props) => boolean) => (props: Props) => Return;
@@ -0,0 +1,5 @@
1
+ // hack to allow using generic components with memo
2
+ import { memo } from 'react';
3
+ // DO NOT TRY TO PASS GENERIC PARAMETERS TO THIS FUNCTION!
4
+ export const typedMemo = memo;
5
+ //# sourceMappingURL=memo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memo.js","sourceRoot":"../../../src","sources":["react-utils/memo.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,OAAO,EAAC,IAAI,EAAC,MAAM,OAAO,CAAC;AAE3B,0DAA0D;AAC1D,MAAM,CAAC,MAAM,SAAS,GAGU,IAAI,CAAC","sourcesContent":["// hack to allow using generic components with memo\n\nimport {memo} from 'react';\n\n// DO NOT TRY TO PASS GENERIC PARAMETERS TO THIS FUNCTION!\nexport const typedMemo: <Props extends object, Return extends React.ReactNode>(\n Component: (props: Props) => Return,\n compare?: (prevProps: Props, newProps: Props) => boolean,\n) => (props: Props) => Return = memo;\n"]}
@@ -68,5 +68,5 @@
68
68
 
69
69
  .yfm {
70
70
  --yfm-hr-height: 4px;
71
- --yfm-hr-margin: 24px;
71
+ --yfm-hr-margin: 24px 0;
72
72
  }
@@ -324,4 +324,9 @@
324
324
  }
325
325
  .yfm li > p:last-child {
326
326
  margin-block: var(--yfm-list-text-only-margin-block, 0);
327
+ }
328
+
329
+ .yfm {
330
+ --yfm-hr-height: 4px;
331
+ --yfm-hr-margin: 24px 0;
327
332
  }
@@ -1,4 +1,4 @@
1
1
  .yfm {
2
2
  --yfm-hr-height: 4px;
3
- --yfm-hr-margin: 24px;
3
+ --yfm-hr-margin: 24px 0;
4
4
  }
@@ -4,4 +4,8 @@ export type { ToolbarData };
4
4
  export type ToolbarProps<E> = ToolbarBaseProps<E> & {
5
5
  data: ToolbarData<E>;
6
6
  };
7
+ /**
8
+ The component is not memoized. To optimize number of rerenders,
9
+ memoize component yourself and wrap it in a toolbar context (use ToolbarProvider component).
10
+ */
7
11
  export declare function Toolbar<E>({ editor, data, className, focus, onClick, display, qa, disableHotkey, disablePreview, disableTooltip, }: ToolbarProps<E>): JSX.Element;
@@ -2,12 +2,17 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Fragment } from 'react';
3
3
  import { cn } from "../classname.js";
4
4
  import { ToolbarButtonGroup } from "./ToolbarGroup.js";
5
+ import { ToolbarWrapToContext } from "./ToolbarRerender.js";
5
6
  import "./Toolbar.css";
6
7
  const b = cn('toolbar');
8
+ /**
9
+ The component is not memoized. To optimize number of rerenders,
10
+ memoize component yourself and wrap it in a toolbar context (use ToolbarProvider component).
11
+ */
7
12
  export function Toolbar({ editor, data, className, focus, onClick, display, qa, disableHotkey, disablePreview, disableTooltip, }) {
8
- return (_jsx("div", { className: b({ display }, [className]), "data-qa": qa, children: data.map((group, index) => {
9
- const isLastGroup = index === data.length - 1;
10
- return (_jsxs(Fragment, { children: [_jsx(ToolbarButtonGroup, { data: group, editor: editor, focus: focus, onClick: onClick, className: b('group'), disableHotkey: disableHotkey, disablePreview: disablePreview, disableTooltip: disableTooltip }), isLastGroup || _jsx("div", { className: b('group-separator') })] }, index));
11
- }) }));
13
+ return (_jsx(ToolbarWrapToContext, { editor: editor, children: _jsx("div", { className: b({ display }, [className]), "data-qa": qa, children: data.map((group, index) => {
14
+ const isLastGroup = index === data.length - 1;
15
+ return (_jsxs(Fragment, { children: [_jsx(ToolbarButtonGroup, { data: group, editor: editor, focus: focus, onClick: onClick, className: b('group'), disableHotkey: disableHotkey, disablePreview: disablePreview, disableTooltip: disableTooltip }), isLastGroup || _jsx("div", { className: b('group-separator') })] }, index));
16
+ }) }) }));
12
17
  }
13
18
  //# sourceMappingURL=Toolbar.js.map