@pie-lib/editable-html-tip-tap 2.2.0-beta.7 → 3.0.0-next.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/CharacterPicker.d.ts +31 -0
- package/dist/components/CharacterPicker.js +141 -0
- package/dist/components/EditableHtml.d.ts +11 -0
- package/dist/components/EditableHtml.js +330 -0
- package/dist/components/MenuBar.d.ts +11 -0
- package/dist/components/MenuBar.js +528 -0
- package/dist/components/TiptapContainer.d.ts +11 -0
- package/dist/components/TiptapContainer.js +167 -0
- package/dist/components/characters/characterUtils.d.ts +35 -0
- package/dist/components/characters/characterUtils.js +465 -0
- package/dist/components/characters/custom-popper.d.ts +14 -0
- package/dist/components/characters/custom-popper.js +32 -0
- package/dist/components/common/done-button.d.ts +30 -0
- package/dist/components/common/done-button.js +26 -0
- package/dist/components/common/toolbar-buttons.d.ts +38 -0
- package/dist/components/common/toolbar-buttons.js +96 -0
- package/dist/components/icons/CssIcon.d.ts +11 -0
- package/dist/components/icons/CssIcon.js +14 -0
- package/dist/components/icons/RespArea.d.ts +26 -0
- package/dist/components/icons/RespArea.js +42 -0
- package/dist/components/icons/TableIcons.d.ts +14 -0
- package/dist/components/icons/TableIcons.js +34 -0
- package/dist/components/icons/TextAlign.d.ts +18 -0
- package/dist/components/icons/TextAlign.js +143 -0
- package/dist/components/image/AltDialog.d.ts +22 -0
- package/dist/components/image/AltDialog.js +61 -0
- package/dist/components/image/ImageToolbar.d.ts +24 -0
- package/dist/components/image/ImageToolbar.js +80 -0
- package/dist/components/image/InsertImageHandler.d.ts +32 -0
- package/dist/components/image/InsertImageHandler.js +53 -0
- package/dist/components/media/MediaDialog.d.ts +43 -0
- package/dist/components/media/MediaDialog.js +389 -0
- package/dist/components/media/MediaToolbar.d.ts +19 -0
- package/dist/components/media/MediaToolbar.js +41 -0
- package/dist/components/media/MediaWrapper.d.ts +19 -0
- package/dist/components/respArea/DragInTheBlank/DragInTheBlank.d.ts +23 -0
- package/dist/components/respArea/DragInTheBlank/DragInTheBlank.js +58 -0
- package/dist/components/respArea/DragInTheBlank/choice.d.ts +56 -0
- package/dist/components/respArea/DragInTheBlank/choice.js +157 -0
- package/dist/components/respArea/ExplicitConstructedResponse.d.ts +20 -0
- package/dist/components/respArea/ExplicitConstructedResponse.js +84 -0
- package/dist/components/respArea/InlineDropdown.d.ts +18 -0
- package/dist/components/respArea/InlineDropdown.js +126 -0
- package/dist/components/respArea/MathTemplated.d.ts +19 -0
- package/dist/components/respArea/MathTemplated.js +98 -0
- package/dist/components/respArea/ToolbarIcon.d.ts +14 -0
- package/dist/components/respArea/ToolbarIcon.js +17 -0
- package/dist/components/respArea/inlineDropdownUtils.d.ts +15 -0
- package/dist/components/respArea/inlineDropdownUtils.js +15 -0
- package/dist/constants.d.ts +13 -0
- package/dist/constants.js +4 -0
- package/dist/extensions/css.d.ts +11 -0
- package/dist/extensions/css.js +120 -0
- package/dist/extensions/custom-toolbar-wrapper.d.ts +11 -0
- package/dist/extensions/custom-toolbar-wrapper.js +61 -0
- package/dist/extensions/div-node.d.ts +10 -0
- package/dist/extensions/div-node.js +42 -0
- package/dist/extensions/ensure-empty-root-div.d.ts +14 -0
- package/dist/extensions/ensure-empty-root-div.js +24 -0
- package/dist/extensions/ensure-list-item-content-is-div.d.ts +15 -0
- package/dist/extensions/ensure-list-item-content-is-div.js +31 -0
- package/dist/extensions/extended-list-item.d.ts +13 -0
- package/dist/extensions/extended-list-item.js +5 -0
- package/dist/extensions/extended-table-cell.d.ts +10 -0
- package/dist/extensions/extended-table-cell.js +6 -0
- package/dist/extensions/extended-table.d.ts +17 -0
- package/dist/extensions/extended-table.js +34 -0
- package/dist/extensions/heading-paragraph.d.ts +17 -0
- package/dist/extensions/heading-paragraph.js +30 -0
- package/dist/extensions/image-component.d.ts +22 -0
- package/dist/extensions/image-component.js +225 -0
- package/dist/extensions/image.d.ts +10 -0
- package/dist/extensions/image.js +68 -0
- package/dist/extensions/index.d.ts +16 -0
- package/dist/extensions/index.js +64 -0
- package/dist/extensions/math.d.ts +15 -0
- package/dist/extensions/math.js +213 -0
- package/dist/extensions/media.d.ts +19 -0
- package/dist/extensions/media.js +149 -0
- package/dist/extensions/responseArea.d.ts +27 -0
- package/dist/extensions/responseArea.js +255 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +7 -0
- package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
- package/dist/styles/editorContainerStyles.d.ts +134 -0
- package/dist/theme.d.ts +9 -0
- package/dist/utils/helper.d.ts +9 -0
- package/dist/utils/helper.js +27 -0
- package/dist/utils/size.d.ts +9 -0
- package/dist/utils/size.js +14 -0
- package/dist/utils/toolbar.d.ts +10 -0
- package/dist/utils/toolbar.js +7 -0
- package/package.json +43 -29
- package/CHANGELOG.json +0 -32
- package/CHANGELOG.md +0 -2532
- package/lib/__tests__/EditableHtml.test.js +0 -831
- package/lib/__tests__/EditableHtml.test.js.map +0 -1
- package/lib/__tests__/constants.test.js +0 -21
- package/lib/__tests__/constants.test.js.map +0 -1
- package/lib/__tests__/div-to-paragraph-conversion.test.js +0 -213
- package/lib/__tests__/div-to-paragraph-conversion.test.js.map +0 -1
- package/lib/__tests__/extensions.test.js +0 -209
- package/lib/__tests__/extensions.test.js.map +0 -1
- package/lib/__tests__/index.test.js +0 -250
- package/lib/__tests__/index.test.js.map +0 -1
- package/lib/__tests__/size-utils.test.js +0 -57
- package/lib/__tests__/size-utils.test.js.map +0 -1
- package/lib/__tests__/theme.test.js +0 -17
- package/lib/__tests__/theme.test.js.map +0 -1
- package/lib/components/CharacterPicker.js +0 -226
- package/lib/components/CharacterPicker.js.map +0 -1
- package/lib/components/EditableHtml.js +0 -388
- package/lib/components/EditableHtml.js.map +0 -1
- package/lib/components/MenuBar.js +0 -702
- package/lib/components/MenuBar.js.map +0 -1
- package/lib/components/TiptapContainer.js +0 -242
- package/lib/components/TiptapContainer.js.map +0 -1
- package/lib/components/__tests__/AltDialog.test.js +0 -201
- package/lib/components/__tests__/AltDialog.test.js.map +0 -1
- package/lib/components/__tests__/CharacterPicker.test.js +0 -455
- package/lib/components/__tests__/CharacterPicker.test.js.map +0 -1
- package/lib/components/__tests__/CssIcon.test.js +0 -58
- package/lib/components/__tests__/CssIcon.test.js.map +0 -1
- package/lib/components/__tests__/DragInTheBlank.test.js +0 -295
- package/lib/components/__tests__/DragInTheBlank.test.js.map +0 -1
- package/lib/components/__tests__/ExplicitConstructedResponse.test.js +0 -345
- package/lib/components/__tests__/ExplicitConstructedResponse.test.js.map +0 -1
- package/lib/components/__tests__/ImageToolbar.test.js +0 -185
- package/lib/components/__tests__/ImageToolbar.test.js.map +0 -1
- package/lib/components/__tests__/InlineDropdown.test.js +0 -839
- package/lib/components/__tests__/InlineDropdown.test.js.map +0 -1
- package/lib/components/__tests__/InsertImageHandler.test.js +0 -171
- package/lib/components/__tests__/InsertImageHandler.test.js.map +0 -1
- package/lib/components/__tests__/MediaDialog.test.js +0 -433
- package/lib/components/__tests__/MediaDialog.test.js.map +0 -1
- package/lib/components/__tests__/MediaToolbar.test.js +0 -126
- package/lib/components/__tests__/MediaToolbar.test.js.map +0 -1
- package/lib/components/__tests__/MediaWrapper.test.js +0 -96
- package/lib/components/__tests__/MediaWrapper.test.js.map +0 -1
- package/lib/components/__tests__/MenuBar.test.js +0 -502
- package/lib/components/__tests__/MenuBar.test.js.map +0 -1
- package/lib/components/__tests__/RespArea.test.js +0 -171
- package/lib/components/__tests__/RespArea.test.js.map +0 -1
- package/lib/components/__tests__/TableIcons.test.js +0 -153
- package/lib/components/__tests__/TableIcons.test.js.map +0 -1
- package/lib/components/__tests__/TextAlign.test.js +0 -209
- package/lib/components/__tests__/TextAlign.test.js.map +0 -1
- package/lib/components/__tests__/TiptapContainer.test.js +0 -196
- package/lib/components/__tests__/TiptapContainer.test.js.map +0 -1
- package/lib/components/__tests__/characterUtils.test.js +0 -178
- package/lib/components/__tests__/characterUtils.test.js.map +0 -1
- package/lib/components/__tests__/choice.test.js +0 -213
- package/lib/components/__tests__/choice.test.js.map +0 -1
- package/lib/components/__tests__/custom-popper.test.js +0 -108
- package/lib/components/__tests__/custom-popper.test.js.map +0 -1
- package/lib/components/__tests__/done-button.test.js +0 -72
- package/lib/components/__tests__/done-button.test.js.map +0 -1
- package/lib/components/__tests__/toolbar-buttons.test.js +0 -277
- package/lib/components/__tests__/toolbar-buttons.test.js.map +0 -1
- package/lib/components/characters/characterUtils.js +0 -378
- package/lib/components/characters/characterUtils.js.map +0 -1
- package/lib/components/characters/custom-popper.js +0 -44
- package/lib/components/characters/custom-popper.js.map +0 -1
- package/lib/components/common/done-button.js +0 -34
- package/lib/components/common/done-button.js.map +0 -1
- package/lib/components/common/toolbar-buttons.js +0 -149
- package/lib/components/common/toolbar-buttons.js.map +0 -1
- package/lib/components/icons/CssIcon.js +0 -25
- package/lib/components/icons/CssIcon.js.map +0 -1
- package/lib/components/icons/RespArea.js +0 -72
- package/lib/components/icons/RespArea.js.map +0 -1
- package/lib/components/icons/TableIcons.js +0 -53
- package/lib/components/icons/TableIcons.js.map +0 -1
- package/lib/components/icons/TextAlign.js +0 -157
- package/lib/components/icons/TextAlign.js.map +0 -1
- package/lib/components/image/AltDialog.js +0 -98
- package/lib/components/image/AltDialog.js.map +0 -1
- package/lib/components/image/ImageToolbar.js +0 -137
- package/lib/components/image/ImageToolbar.js.map +0 -1
- package/lib/components/image/InsertImageHandler.js +0 -135
- package/lib/components/image/InsertImageHandler.js.map +0 -1
- package/lib/components/media/MediaDialog.js +0 -594
- package/lib/components/media/MediaDialog.js.map +0 -1
- package/lib/components/media/MediaToolbar.js +0 -74
- package/lib/components/media/MediaToolbar.js.map +0 -1
- package/lib/components/media/MediaWrapper.js +0 -67
- package/lib/components/media/MediaWrapper.js.map +0 -1
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +0 -84
- package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +0 -1
- package/lib/components/respArea/DragInTheBlank/__tests__/choice.test.js +0 -90
- package/lib/components/respArea/DragInTheBlank/__tests__/choice.test.js.map +0 -1
- package/lib/components/respArea/DragInTheBlank/choice.js +0 -253
- package/lib/components/respArea/DragInTheBlank/choice.js.map +0 -1
- package/lib/components/respArea/ExplicitConstructedResponse.js +0 -137
- package/lib/components/respArea/ExplicitConstructedResponse.js.map +0 -1
- package/lib/components/respArea/InlineDropdown.js +0 -223
- package/lib/components/respArea/InlineDropdown.js.map +0 -1
- package/lib/components/respArea/MathTemplated.js +0 -130
- package/lib/components/respArea/MathTemplated.js.map +0 -1
- package/lib/components/respArea/ToolbarIcon.js +0 -81
- package/lib/components/respArea/ToolbarIcon.js.map +0 -1
- package/lib/components/respArea/__tests__/MathTemplated.test.js +0 -217
- package/lib/components/respArea/__tests__/MathTemplated.test.js.map +0 -1
- package/lib/components/respArea/inlineDropdownUtils.js +0 -67
- package/lib/components/respArea/inlineDropdownUtils.js.map +0 -1
- package/lib/constants.js +0 -11
- package/lib/constants.js.map +0 -1
- package/lib/extensions/__tests__/css.test.js +0 -214
- package/lib/extensions/__tests__/css.test.js.map +0 -1
- package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +0 -175
- package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js.map +0 -1
- package/lib/extensions/__tests__/divNode.test.js +0 -108
- package/lib/extensions/__tests__/divNode.test.js.map +0 -1
- package/lib/extensions/__tests__/ensure-empty-root-div.test.js +0 -50
- package/lib/extensions/__tests__/ensure-empty-root-div.test.js.map +0 -1
- package/lib/extensions/__tests__/ensure-list-item-content-is-div.test.js +0 -60
- package/lib/extensions/__tests__/ensure-list-item-content-is-div.test.js.map +0 -1
- package/lib/extensions/__tests__/extended-list-item.test.js +0 -13
- package/lib/extensions/__tests__/extended-list-item.test.js.map +0 -1
- package/lib/extensions/__tests__/extended-table-cell.test.js +0 -15
- package/lib/extensions/__tests__/extended-table-cell.test.js.map +0 -1
- package/lib/extensions/__tests__/extended-table.test.js +0 -200
- package/lib/extensions/__tests__/extended-table.test.js.map +0 -1
- package/lib/extensions/__tests__/image-component.test.js +0 -432
- package/lib/extensions/__tests__/image-component.test.js.map +0 -1
- package/lib/extensions/__tests__/image.test.js +0 -313
- package/lib/extensions/__tests__/image.test.js.map +0 -1
- package/lib/extensions/__tests__/math.test.js +0 -1411
- package/lib/extensions/__tests__/math.test.js.map +0 -1
- package/lib/extensions/__tests__/media-node-view.test.js +0 -307
- package/lib/extensions/__tests__/media-node-view.test.js.map +0 -1
- package/lib/extensions/__tests__/media.test.js +0 -292
- package/lib/extensions/__tests__/media.test.js.map +0 -1
- package/lib/extensions/__tests__/responseArea.test.js +0 -736
- package/lib/extensions/__tests__/responseArea.test.js.map +0 -1
- package/lib/extensions/css.js +0 -227
- package/lib/extensions/css.js.map +0 -1
- package/lib/extensions/custom-toolbar-wrapper.js +0 -92
- package/lib/extensions/custom-toolbar-wrapper.js.map +0 -1
- package/lib/extensions/div-node.js +0 -83
- package/lib/extensions/div-node.js.map +0 -1
- package/lib/extensions/ensure-empty-root-div.js +0 -48
- package/lib/extensions/ensure-empty-root-div.js.map +0 -1
- package/lib/extensions/ensure-list-item-content-is-div.js +0 -64
- package/lib/extensions/ensure-list-item-content-is-div.js.map +0 -1
- package/lib/extensions/extended-list-item.js +0 -15
- package/lib/extensions/extended-list-item.js.map +0 -1
- package/lib/extensions/extended-table-cell.js +0 -22
- package/lib/extensions/extended-table-cell.js.map +0 -1
- package/lib/extensions/extended-table.js +0 -75
- package/lib/extensions/extended-table.js.map +0 -1
- package/lib/extensions/heading-paragraph.js +0 -61
- package/lib/extensions/heading-paragraph.js.map +0 -1
- package/lib/extensions/image-component.js +0 -351
- package/lib/extensions/image-component.js.map +0 -1
- package/lib/extensions/image.js +0 -134
- package/lib/extensions/image.js.map +0 -1
- package/lib/extensions/index.js +0 -46
- package/lib/extensions/index.js.map +0 -1
- package/lib/extensions/math.js +0 -469
- package/lib/extensions/math.js.map +0 -1
- package/lib/extensions/media.js +0 -243
- package/lib/extensions/media.js.map +0 -1
- package/lib/extensions/responseArea.js +0 -452
- package/lib/extensions/responseArea.js.map +0 -1
- package/lib/index.js +0 -37
- package/lib/index.js.map +0 -1
- package/lib/styles/editorContainerStyles.js +0 -137
- package/lib/styles/editorContainerStyles.js.map +0 -1
- package/lib/theme.js +0 -8
- package/lib/theme.js.map +0 -1
- package/lib/utils/__tests__/helper.test.js +0 -107
- package/lib/utils/__tests__/helper.test.js.map +0 -1
- package/lib/utils/__tests__/toolbar.test.js +0 -38
- package/lib/utils/__tests__/toolbar.test.js.map +0 -1
- package/lib/utils/helper.js +0 -73
- package/lib/utils/helper.js.map +0 -1
- package/lib/utils/size.js +0 -26
- package/lib/utils/size.js.map +0 -1
- package/lib/utils/toolbar.js +0 -19
- package/lib/utils/toolbar.js.map +0 -1
- package/src/__tests__/EditableHtml.test.jsx +0 -588
- package/src/__tests__/constants.test.js +0 -19
- package/src/__tests__/div-to-paragraph-conversion.test.jsx +0 -125
- package/src/__tests__/extensions.test.js +0 -208
- package/src/__tests__/index.test.jsx +0 -154
- package/src/__tests__/size-utils.test.js +0 -64
- package/src/__tests__/theme.test.js +0 -17
- package/src/components/CharacterPicker.jsx +0 -237
- package/src/components/EditableHtml.jsx +0 -458
- package/src/components/MenuBar.jsx +0 -561
- package/src/components/TiptapContainer.jsx +0 -235
- package/src/components/__tests__/AltDialog.test.jsx +0 -147
- package/src/components/__tests__/CharacterPicker.test.jsx +0 -270
- package/src/components/__tests__/CssIcon.test.jsx +0 -46
- package/src/components/__tests__/DragInTheBlank.test.jsx +0 -255
- package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +0 -209
- package/src/components/__tests__/ImageToolbar.test.jsx +0 -128
- package/src/components/__tests__/InlineDropdown.test.jsx +0 -557
- package/src/components/__tests__/InsertImageHandler.test.js +0 -161
- package/src/components/__tests__/MediaDialog.test.jsx +0 -293
- package/src/components/__tests__/MediaToolbar.test.jsx +0 -74
- package/src/components/__tests__/MediaWrapper.test.jsx +0 -81
- package/src/components/__tests__/MenuBar.test.jsx +0 -250
- package/src/components/__tests__/RespArea.test.jsx +0 -122
- package/src/components/__tests__/TableIcons.test.jsx +0 -149
- package/src/components/__tests__/TextAlign.test.jsx +0 -167
- package/src/components/__tests__/TiptapContainer.test.jsx +0 -138
- package/src/components/__tests__/characterUtils.test.js +0 -166
- package/src/components/__tests__/choice.test.jsx +0 -171
- package/src/components/__tests__/custom-popper.test.jsx +0 -82
- package/src/components/__tests__/done-button.test.jsx +0 -54
- package/src/components/__tests__/toolbar-buttons.test.jsx +0 -234
- package/src/components/characters/characterUtils.js +0 -447
- package/src/components/characters/custom-popper.js +0 -38
- package/src/components/common/done-button.jsx +0 -27
- package/src/components/common/toolbar-buttons.jsx +0 -127
- package/src/components/icons/CssIcon.jsx +0 -15
- package/src/components/icons/RespArea.jsx +0 -71
- package/src/components/icons/TableIcons.jsx +0 -52
- package/src/components/icons/TextAlign.jsx +0 -114
- package/src/components/image/AltDialog.jsx +0 -82
- package/src/components/image/ImageToolbar.jsx +0 -99
- package/src/components/image/InsertImageHandler.js +0 -107
- package/src/components/media/MediaDialog.jsx +0 -596
- package/src/components/media/MediaToolbar.jsx +0 -49
- package/src/components/media/MediaWrapper.jsx +0 -39
- package/src/components/respArea/DragInTheBlank/DragInTheBlank.jsx +0 -76
- package/src/components/respArea/DragInTheBlank/__tests__/choice.test.jsx +0 -72
- package/src/components/respArea/DragInTheBlank/choice.jsx +0 -259
- package/src/components/respArea/ExplicitConstructedResponse.jsx +0 -136
- package/src/components/respArea/InlineDropdown.jsx +0 -240
- package/src/components/respArea/MathTemplated.jsx +0 -124
- package/src/components/respArea/ToolbarIcon.jsx +0 -66
- package/src/components/respArea/__tests__/MathTemplated.test.jsx +0 -210
- package/src/components/respArea/inlineDropdownUtils.js +0 -79
- package/src/constants.js +0 -5
- package/src/extensions/__tests__/css.test.js +0 -196
- package/src/extensions/__tests__/custom-toolbar-wrapper.test.jsx +0 -180
- package/src/extensions/__tests__/divNode.test.js +0 -87
- package/src/extensions/__tests__/ensure-empty-root-div.test.js +0 -57
- package/src/extensions/__tests__/ensure-list-item-content-is-div.test.js +0 -44
- package/src/extensions/__tests__/extended-list-item.test.js +0 -13
- package/src/extensions/__tests__/extended-table-cell.test.js +0 -22
- package/src/extensions/__tests__/extended-table.test.js +0 -183
- package/src/extensions/__tests__/image-component.test.jsx +0 -346
- package/src/extensions/__tests__/image.test.js +0 -237
- package/src/extensions/__tests__/math.test.js +0 -900
- package/src/extensions/__tests__/media-node-view.test.jsx +0 -298
- package/src/extensions/__tests__/media.test.js +0 -271
- package/src/extensions/__tests__/responseArea.test.js +0 -655
- package/src/extensions/css.js +0 -233
- package/src/extensions/custom-toolbar-wrapper.jsx +0 -78
- package/src/extensions/div-node.js +0 -86
- package/src/extensions/ensure-empty-root-div.js +0 -47
- package/src/extensions/ensure-list-item-content-is-div.js +0 -62
- package/src/extensions/extended-list-item.js +0 -10
- package/src/extensions/extended-table-cell.js +0 -19
- package/src/extensions/extended-table.js +0 -60
- package/src/extensions/heading-paragraph.js +0 -53
- package/src/extensions/image-component.jsx +0 -340
- package/src/extensions/image.js +0 -109
- package/src/extensions/index.js +0 -81
- package/src/extensions/math.js +0 -454
- package/src/extensions/media.js +0 -188
- package/src/extensions/responseArea.js +0 -407
- package/src/index.jsx +0 -5
- package/src/styles/editorContainerStyles.js +0 -145
- package/src/theme.js +0 -1
- package/src/utils/__tests__/helper.test.js +0 -126
- package/src/utils/__tests__/toolbar.test.js +0 -43
- package/src/utils/helper.js +0 -69
- package/src/utils/size.js +0 -32
- package/src/utils/toolbar.js +0 -15
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.EnsureListItemContentIsDiv = void 0;
|
|
7
|
-
var _core = require("@tiptap/core");
|
|
8
|
-
var _state = require("@tiptap/pm/state");
|
|
9
|
-
/**
|
|
10
|
-
* Some list operations preserve/create `paragraph` children in `listItem`.
|
|
11
|
-
* Normalize direct `listItem > paragraph` children into `div` so list content
|
|
12
|
-
* stays consistent with DivNode-based editing.
|
|
13
|
-
*/
|
|
14
|
-
var EnsureListItemContentIsDiv = exports.EnsureListItemContentIsDiv = _core.Extension.create({
|
|
15
|
-
name: 'ensureListItemContentIsDiv',
|
|
16
|
-
addProseMirrorPlugins: function addProseMirrorPlugins() {
|
|
17
|
-
var key = new _state.PluginKey(this.name);
|
|
18
|
-
return [new _state.Plugin({
|
|
19
|
-
key: key,
|
|
20
|
-
appendTransaction: function appendTransaction(transactions, _oldState, newState) {
|
|
21
|
-
if (!transactions.some(function (tr) {
|
|
22
|
-
return tr.docChanged;
|
|
23
|
-
})) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
var doc = newState.doc,
|
|
27
|
-
schema = newState.schema;
|
|
28
|
-
var divType = schema.nodes.div;
|
|
29
|
-
if (!divType) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
var positionsToConvert = [];
|
|
33
|
-
doc.descendants(function (node, pos) {
|
|
34
|
-
if (node.type.name !== 'listItem') {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
var childOffset = 1;
|
|
38
|
-
node.forEach(function (child) {
|
|
39
|
-
if (child.type.name === 'paragraph') {
|
|
40
|
-
positionsToConvert.push({
|
|
41
|
-
pos: pos + childOffset,
|
|
42
|
-
attrs: child.attrs
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
childOffset += child.nodeSize;
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
if (positionsToConvert.length === 0) {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
var tr = newState.tr;
|
|
52
|
-
positionsToConvert.sort(function (a, b) {
|
|
53
|
-
return b.pos - a.pos;
|
|
54
|
-
}).forEach(function (_ref) {
|
|
55
|
-
var pos = _ref.pos,
|
|
56
|
-
attrs = _ref.attrs;
|
|
57
|
-
return tr.setNodeMarkup(pos, divType, attrs);
|
|
58
|
-
});
|
|
59
|
-
return tr;
|
|
60
|
-
}
|
|
61
|
-
})];
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
//# sourceMappingURL=ensure-list-item-content-is-div.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-list-item-content-is-div.js","names":["_core","require","_state","EnsureListItemContentIsDiv","exports","Extension","create","name","addProseMirrorPlugins","key","PluginKey","Plugin","appendTransaction","transactions","_oldState","newState","some","tr","docChanged","doc","schema","divType","nodes","div","positionsToConvert","descendants","node","pos","type","childOffset","forEach","child","push","attrs","nodeSize","length","sort","a","b","_ref","setNodeMarkup"],"sources":["../../src/extensions/ensure-list-item-content-is-div.js"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { Plugin, PluginKey } from '@tiptap/pm/state';\n\n/**\n * Some list operations preserve/create `paragraph` children in `listItem`.\n * Normalize direct `listItem > paragraph` children into `div` so list content\n * stays consistent with DivNode-based editing.\n */\nexport const EnsureListItemContentIsDiv = Extension.create({\n name: 'ensureListItemContentIsDiv',\n\n addProseMirrorPlugins() {\n const key = new PluginKey(this.name);\n\n return [\n new Plugin({\n key,\n appendTransaction(transactions, _oldState, newState) {\n if (!transactions.some((tr) => tr.docChanged)) {\n return null;\n }\n\n const { doc, schema } = newState;\n const divType = schema.nodes.div;\n if (!divType) {\n return null;\n }\n\n const positionsToConvert = [];\n\n doc.descendants((node, pos) => {\n if (node.type.name !== 'listItem') {\n return;\n }\n\n let childOffset = 1;\n node.forEach((child) => {\n if (child.type.name === 'paragraph') {\n positionsToConvert.push({\n pos: pos + childOffset,\n attrs: child.attrs,\n });\n }\n childOffset += child.nodeSize;\n });\n });\n\n if (positionsToConvert.length === 0) {\n return null;\n }\n\n const tr = newState.tr;\n positionsToConvert\n .sort((a, b) => b.pos - a.pos)\n .forEach(({ pos, attrs }) => tr.setNodeMarkup(pos, divType, attrs));\n\n return tr;\n },\n }),\n ];\n },\n});\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,IAAME,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,GAAGE,eAAS,CAACC,MAAM,CAAC;EACzDC,IAAI,EAAE,4BAA4B;EAElCC,qBAAqB,WAArBA,qBAAqBA,CAAA,EAAG;IACtB,IAAMC,GAAG,GAAG,IAAIC,gBAAS,CAAC,IAAI,CAACH,IAAI,CAAC;IAEpC,OAAO,CACL,IAAII,aAAM,CAAC;MACTF,GAAG,EAAHA,GAAG;MACHG,iBAAiB,WAAjBA,iBAAiBA,CAACC,YAAY,EAAEC,SAAS,EAAEC,QAAQ,EAAE;QACnD,IAAI,CAACF,YAAY,CAACG,IAAI,CAAC,UAACC,EAAE;UAAA,OAAKA,EAAE,CAACC,UAAU;QAAA,EAAC,EAAE;UAC7C,OAAO,IAAI;QACb;QAEA,IAAQC,GAAG,GAAaJ,QAAQ,CAAxBI,GAAG;UAAEC,MAAM,GAAKL,QAAQ,CAAnBK,MAAM;QACnB,IAAMC,OAAO,GAAGD,MAAM,CAACE,KAAK,CAACC,GAAG;QAChC,IAAI,CAACF,OAAO,EAAE;UACZ,OAAO,IAAI;QACb;QAEA,IAAMG,kBAAkB,GAAG,EAAE;QAE7BL,GAAG,CAACM,WAAW,CAAC,UAACC,IAAI,EAAEC,GAAG,EAAK;UAC7B,IAAID,IAAI,CAACE,IAAI,CAACrB,IAAI,KAAK,UAAU,EAAE;YACjC;UACF;UAEA,IAAIsB,WAAW,GAAG,CAAC;UACnBH,IAAI,CAACI,OAAO,CAAC,UAACC,KAAK,EAAK;YACtB,IAAIA,KAAK,CAACH,IAAI,CAACrB,IAAI,KAAK,WAAW,EAAE;cACnCiB,kBAAkB,CAACQ,IAAI,CAAC;gBACtBL,GAAG,EAAEA,GAAG,GAAGE,WAAW;gBACtBI,KAAK,EAAEF,KAAK,CAACE;cACf,CAAC,CAAC;YACJ;YACAJ,WAAW,IAAIE,KAAK,CAACG,QAAQ;UAC/B,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,IAAIV,kBAAkB,CAACW,MAAM,KAAK,CAAC,EAAE;UACnC,OAAO,IAAI;QACb;QAEA,IAAMlB,EAAE,GAAGF,QAAQ,CAACE,EAAE;QACtBO,kBAAkB,CACfY,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;UAAA,OAAKA,CAAC,CAACX,GAAG,GAAGU,CAAC,CAACV,GAAG;QAAA,EAAC,CAC7BG,OAAO,CAAC,UAAAS,IAAA;UAAA,IAAGZ,GAAG,GAAAY,IAAA,CAAHZ,GAAG;YAAEM,KAAK,GAAAM,IAAA,CAALN,KAAK;UAAA,OAAOhB,EAAE,CAACuB,aAAa,CAACb,GAAG,EAAEN,OAAO,EAAEY,KAAK,CAAC;QAAA,EAAC;QAErE,OAAOhB,EAAE;MACX;IACF,CAAC,CAAC,CACH;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ExtendedListItem = void 0;
|
|
7
|
-
var _extensionListItem = require("@tiptap/extension-list-item");
|
|
8
|
-
/**
|
|
9
|
-
* Default list items use `paragraph block*`, so empty/new items become `<p>`.
|
|
10
|
-
* Prefer `div` first to keep consistency with DivNode at root and table cells.
|
|
11
|
-
*/
|
|
12
|
-
var ExtendedListItem = exports.ExtendedListItem = _extensionListItem.ListItem.extend({
|
|
13
|
-
content: '(div | paragraph | heading | bulletList | orderedList | blockquote | codeBlock | horizontalRule | image | imageUploadNode)+'
|
|
14
|
-
});
|
|
15
|
-
//# sourceMappingURL=extended-list-item.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extended-list-item.js","names":["_extensionListItem","require","ExtendedListItem","exports","ListItem","extend","content"],"sources":["../../src/extensions/extended-list-item.js"],"sourcesContent":["import { ListItem } from '@tiptap/extension-list-item';\n\n/**\n * Default list items use `paragraph block*`, so empty/new items become `<p>`.\n * Prefer `div` first to keep consistency with DivNode at root and table cells.\n */\nexport const ExtendedListItem = ListItem.extend({\n content:\n '(div | paragraph | heading | bulletList | orderedList | blockquote | codeBlock | horizontalRule | image | imageUploadNode)+',\n});\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACO,IAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAGE,2BAAQ,CAACC,MAAM,CAAC;EAC9CC,OAAO,EACL;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ExtendedTableHeader = exports.ExtendedTableCell = void 0;
|
|
7
|
-
var _extensionTableCell = require("@tiptap/extension-table-cell");
|
|
8
|
-
var _extensionTableHeader = require("@tiptap/extension-table-header");
|
|
9
|
-
/**
|
|
10
|
-
* Default table cells use ProseMirror `createAndFill()`, which prefers the first
|
|
11
|
-
* block type allowed by the content expression. Stock cells use `block+`, so
|
|
12
|
-
* `paragraph` wins. Listing `div` first matches the editor default for plain text
|
|
13
|
-
* (see DivNode) while still allowing other blocks (lists, headings, images, …).
|
|
14
|
-
*/
|
|
15
|
-
var TABLE_CELL_BLOCK_CONTENT = '(div | paragraph | heading | bulletList | orderedList | blockquote | codeBlock | horizontalRule | image | imageUploadNode)+';
|
|
16
|
-
var ExtendedTableCell = exports.ExtendedTableCell = _extensionTableCell.TableCell.extend({
|
|
17
|
-
content: TABLE_CELL_BLOCK_CONTENT
|
|
18
|
-
});
|
|
19
|
-
var ExtendedTableHeader = exports.ExtendedTableHeader = _extensionTableHeader.TableHeader.extend({
|
|
20
|
-
content: TABLE_CELL_BLOCK_CONTENT
|
|
21
|
-
});
|
|
22
|
-
//# sourceMappingURL=extended-table-cell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extended-table-cell.js","names":["_extensionTableCell","require","_extensionTableHeader","TABLE_CELL_BLOCK_CONTENT","ExtendedTableCell","exports","TableCell","extend","content","ExtendedTableHeader","TableHeader"],"sources":["../../src/extensions/extended-table-cell.js"],"sourcesContent":["import { TableCell } from '@tiptap/extension-table-cell';\nimport { TableHeader } from '@tiptap/extension-table-header';\n\n/**\n * Default table cells use ProseMirror `createAndFill()`, which prefers the first\n * block type allowed by the content expression. Stock cells use `block+`, so\n * `paragraph` wins. Listing `div` first matches the editor default for plain text\n * (see DivNode) while still allowing other blocks (lists, headings, images, …).\n */\nconst TABLE_CELL_BLOCK_CONTENT =\n '(div | paragraph | heading | bulletList | orderedList | blockquote | codeBlock | horizontalRule | image | imageUploadNode)+';\n\nexport const ExtendedTableCell = TableCell.extend({\n content: TABLE_CELL_BLOCK_CONTENT,\n});\n\nexport const ExtendedTableHeader = TableHeader.extend({\n content: TABLE_CELL_BLOCK_CONTENT,\n});\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAME,wBAAwB,GAC5B,6HAA6H;AAExH,IAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGE,6BAAS,CAACC,MAAM,CAAC;EAChDC,OAAO,EAAEL;AACX,CAAC,CAAC;AAEK,IAAMM,mBAAmB,GAAAJ,OAAA,CAAAI,mBAAA,GAAGC,iCAAW,CAACH,MAAM,CAAC;EACpDC,OAAO,EAAEL;AACX,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = exports.applyPresentationToTableElement = exports.ExtendedTableView = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
-
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
var _extensionTable = require("@tiptap/extension-table");
|
|
16
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
19
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
20
|
-
function _superPropGet(t, o, e, r) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
|
|
21
|
-
var applyPresentationToTableElement = exports.applyPresentationToTableElement = function applyPresentationToTableElement(table, attrs) {
|
|
22
|
-
var border = (attrs === null || attrs === void 0 ? void 0 : attrs.border) != null && attrs.border !== '' ? attrs.border : '1';
|
|
23
|
-
table.setAttribute('border', border);
|
|
24
|
-
table.style.setProperty('color', 'var(--pie-text, black)');
|
|
25
|
-
table.style.setProperty('background-color', 'var(--pie-background, rgba(255, 255, 255))');
|
|
26
|
-
};
|
|
27
|
-
var ExtendedTableView = exports.ExtendedTableView = /*#__PURE__*/function (_TableView) {
|
|
28
|
-
function ExtendedTableView(node, cellMinWidth, view) {
|
|
29
|
-
var _this;
|
|
30
|
-
(0, _classCallCheck2["default"])(this, ExtendedTableView);
|
|
31
|
-
_this = _callSuper(this, ExtendedTableView, [node, cellMinWidth, view]);
|
|
32
|
-
applyPresentationToTableElement(_this.table, node.attrs);
|
|
33
|
-
return _this;
|
|
34
|
-
}
|
|
35
|
-
(0, _inherits2["default"])(ExtendedTableView, _TableView);
|
|
36
|
-
return (0, _createClass2["default"])(ExtendedTableView, [{
|
|
37
|
-
key: "update",
|
|
38
|
-
value: function update(node) {
|
|
39
|
-
var ok = _superPropGet(ExtendedTableView, "update", this, 3)([node]);
|
|
40
|
-
if (ok) {
|
|
41
|
-
applyPresentationToTableElement(this.table, node.attrs);
|
|
42
|
-
}
|
|
43
|
-
return ok;
|
|
44
|
-
}
|
|
45
|
-
}]);
|
|
46
|
-
}(_extensionTable.TableView);
|
|
47
|
-
var ExtendedTable = _extensionTable.Table.extend({
|
|
48
|
-
addOptions: function addOptions() {
|
|
49
|
-
var _this$parent;
|
|
50
|
-
return _objectSpread(_objectSpread({}, (_this$parent = this.parent) === null || _this$parent === void 0 ? void 0 : _this$parent.call(this)), {}, {
|
|
51
|
-
// ProseMirror's default table DOM does not prune extra <col> nodes when a column
|
|
52
|
-
// is removed; TableView (via column resizing) does.
|
|
53
|
-
resizable: true,
|
|
54
|
-
handleWidth: 0,
|
|
55
|
-
View: ExtendedTableView
|
|
56
|
-
});
|
|
57
|
-
},
|
|
58
|
-
addAttributes: function addAttributes() {
|
|
59
|
-
return {
|
|
60
|
-
border: {
|
|
61
|
-
"default": '1'
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
},
|
|
65
|
-
renderHTML: function renderHTML(props) {
|
|
66
|
-
var originalTable = this.parent(props);
|
|
67
|
-
var border = props.HTMLAttributes.border;
|
|
68
|
-
var previousStyle = "".concat(originalTable[1].style).concat(originalTable[1].style.match(/.*; */) ? '' : ';');
|
|
69
|
-
originalTable[1].style = "".concat(previousStyle, "\n color: var(--pie-text, black);\n background-color: var(--pie-background, rgba(255, 255, 255))");
|
|
70
|
-
originalTable[1].border = border ? border : '1';
|
|
71
|
-
return originalTable;
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
var _default = exports["default"] = ExtendedTable;
|
|
75
|
-
//# sourceMappingURL=extended-table.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extended-table.js","names":["_extensionTable","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","_superPropGet","p","_get2","applyPresentationToTableElement","exports","table","attrs","border","setAttribute","style","setProperty","ExtendedTableView","_TableView","node","cellMinWidth","view","_this","_classCallCheck2","_inherits2","_createClass2","key","value","update","ok","TableView","ExtendedTable","Table","extend","addOptions","_this$parent","parent","resizable","handleWidth","View","addAttributes","renderHTML","props","originalTable","HTMLAttributes","previousStyle","concat","match","_default"],"sources":["../../src/extensions/extended-table.js"],"sourcesContent":["import { Table, TableView } from '@tiptap/extension-table';\n\nconst applyPresentationToTableElement = (table, attrs) => {\n const border = attrs?.border != null && attrs.border !== '' ? attrs.border : '1';\n\n table.setAttribute('border', border);\n table.style.setProperty('color', 'var(--pie-text, black)');\n table.style.setProperty('background-color', 'var(--pie-background, rgba(255, 255, 255))');\n};\n\nclass ExtendedTableView extends TableView {\n constructor(node, cellMinWidth, view) {\n super(node, cellMinWidth, view);\n applyPresentationToTableElement(this.table, node.attrs);\n }\n\n update(node) {\n const ok = super.update(node);\n\n if (ok) {\n applyPresentationToTableElement(this.table, node.attrs);\n }\n\n return ok;\n }\n}\n\nconst ExtendedTable = Table.extend({\n addOptions() {\n return {\n ...this.parent?.(),\n // ProseMirror's default table DOM does not prune extra <col> nodes when a column\n // is removed; TableView (via column resizing) does.\n resizable: true,\n handleWidth: 0,\n View: ExtendedTableView,\n };\n },\n addAttributes() {\n return {\n border: { default: '1' },\n };\n },\n renderHTML(props) {\n const originalTable = this.parent(props);\n const { border } = props.HTMLAttributes;\n\n const previousStyle = `${originalTable[1].style}${originalTable[1].style.match(/.*; */) ? '' : ';'}`;\n\n originalTable[1].style = `${previousStyle}\n color: var(--pie-text, black);\n background-color: var(--pie-background, rgba(255, 255, 255))`;\n originalTable[1].border = border ? border : '1';\n\n return originalTable;\n },\n});\n\nexport { applyPresentationToTableElement, ExtendedTableView };\nexport default ExtendedTable;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.HeadingParagraph = void 0;
|
|
7
|
-
var _core = require("@tiptap/core");
|
|
8
|
-
/**
|
|
9
|
-
* HeadingParagraph extension
|
|
10
|
-
*
|
|
11
|
-
* Renders as <p data-heading="heading1"> in the HTML output instead of <h3>.
|
|
12
|
-
* This provides semantic heading styling without using a native heading element,
|
|
13
|
-
* as required by PIE's accessibility conventions.
|
|
14
|
-
*/
|
|
15
|
-
var HeadingParagraph = exports.HeadingParagraph = _core.Node.create({
|
|
16
|
-
name: 'headingParagraph',
|
|
17
|
-
group: 'block',
|
|
18
|
-
content: 'inline*',
|
|
19
|
-
defining: true,
|
|
20
|
-
addAttributes: function addAttributes() {
|
|
21
|
-
return {
|
|
22
|
-
'data-heading': {
|
|
23
|
-
"default": 'heading1',
|
|
24
|
-
parseHTML: function parseHTML(element) {
|
|
25
|
-
return element.getAttribute('data-heading');
|
|
26
|
-
},
|
|
27
|
-
renderHTML: function renderHTML(attributes) {
|
|
28
|
-
return {
|
|
29
|
-
'data-heading': attributes['data-heading']
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
},
|
|
35
|
-
parseHTML: function parseHTML() {
|
|
36
|
-
return [{
|
|
37
|
-
tag: 'p[data-heading]'
|
|
38
|
-
}];
|
|
39
|
-
},
|
|
40
|
-
renderHTML: function renderHTML(_ref) {
|
|
41
|
-
var HTMLAttributes = _ref.HTMLAttributes;
|
|
42
|
-
return ['p', (0, _core.mergeAttributes)(HTMLAttributes), 0];
|
|
43
|
-
},
|
|
44
|
-
addCommands: function addCommands() {
|
|
45
|
-
return {
|
|
46
|
-
toggleHeadingParagraph: function toggleHeadingParagraph() {
|
|
47
|
-
return function (_ref2) {
|
|
48
|
-
var commands = _ref2.commands,
|
|
49
|
-
editor = _ref2.editor;
|
|
50
|
-
if (editor.isActive('headingParagraph')) {
|
|
51
|
-
return commands.setNode('paragraph');
|
|
52
|
-
}
|
|
53
|
-
return commands.setNode('headingParagraph', {
|
|
54
|
-
'data-heading': 'heading1'
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
//# sourceMappingURL=heading-paragraph.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"heading-paragraph.js","names":["_core","require","HeadingParagraph","exports","Node","create","name","group","content","defining","addAttributes","parseHTML","element","getAttribute","renderHTML","attributes","tag","_ref","HTMLAttributes","mergeAttributes","addCommands","toggleHeadingParagraph","_ref2","commands","editor","isActive","setNode"],"sources":["../../src/extensions/heading-paragraph.js"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core';\n\n/**\n * HeadingParagraph extension\n *\n * Renders as <p data-heading=\"heading1\"> in the HTML output instead of <h3>.\n * This provides semantic heading styling without using a native heading element,\n * as required by PIE's accessibility conventions.\n */\nexport const HeadingParagraph = Node.create({\n name: 'headingParagraph',\n\n group: 'block',\n\n content: 'inline*',\n\n defining: true,\n\n addAttributes() {\n return {\n 'data-heading': {\n default: 'heading1',\n parseHTML: (element) => element.getAttribute('data-heading'),\n renderHTML: (attributes) => ({\n 'data-heading': attributes['data-heading'],\n }),\n },\n };\n },\n\n parseHTML() {\n return [\n { tag: 'p[data-heading]' },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['p', mergeAttributes(HTMLAttributes), 0];\n },\n\n addCommands() {\n return {\n toggleHeadingParagraph:\n () =>\n ({ commands, editor }) => {\n if (editor.isActive('headingParagraph')) {\n return commands.setNode('paragraph');\n }\n return commands.setNode('headingParagraph', { 'data-heading': 'heading1' });\n },\n };\n },\n});\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAGE,UAAI,CAACC,MAAM,CAAC;EAC1CC,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAE,OAAO;EAEdC,OAAO,EAAE,SAAS;EAElBC,QAAQ,EAAE,IAAI;EAEdC,aAAa,WAAbA,aAAaA,CAAA,EAAG;IACd,OAAO;MACL,cAAc,EAAE;QACd,WAAS,UAAU;QACnBC,SAAS,EAAE,SAAXA,SAASA,CAAGC,OAAO;UAAA,OAAKA,OAAO,CAACC,YAAY,CAAC,cAAc,CAAC;QAAA;QAC5DC,UAAU,EAAE,SAAZA,UAAUA,CAAGC,UAAU;UAAA,OAAM;YAC3B,cAAc,EAAEA,UAAU,CAAC,cAAc;UAC3C,CAAC;QAAA;MACH;IACF,CAAC;EACH,CAAC;EAEDJ,SAAS,WAATA,SAASA,CAAA,EAAG;IACV,OAAO,CACL;MAAEK,GAAG,EAAE;IAAkB,CAAC,CAC3B;EACH,CAAC;EAEDF,UAAU,WAAVA,UAAUA,CAAAG,IAAA,EAAqB;IAAA,IAAlBC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IACzB,OAAO,CAAC,GAAG,EAAE,IAAAC,qBAAe,EAACD,cAAc,CAAC,EAAE,CAAC,CAAC;EAClD,CAAC;EAEDE,WAAW,WAAXA,WAAWA,CAAA,EAAG;IACZ,OAAO;MACLC,sBAAsB,EACpB,SADFA,sBAAsBA,CAAA;QAAA,OAEpB,UAAAC,KAAA,EAA0B;UAAA,IAAvBC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;YAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;UACjB,IAAIA,MAAM,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACvC,OAAOF,QAAQ,CAACG,OAAO,CAAC,WAAW,CAAC;UACtC;UACA,OAAOH,QAAQ,CAACG,OAAO,CAAC,kBAAkB,EAAE;YAAE,cAAc,EAAE;UAAW,CAAC,CAAC;QAC7E,CAAC;MAAA;IACL,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
|
-
var _isEqual = _interopRequireDefault(require("lodash-es/isEqual"));
|
|
15
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
16
|
-
var _LinearProgress = _interopRequireDefault(require("@mui/material/LinearProgress"));
|
|
17
|
-
var _styles = require("@mui/material/styles");
|
|
18
|
-
var _react2 = require("@tiptap/react");
|
|
19
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
20
|
-
var _InsertImageHandler = _interopRequireDefault(require("../components/image/InsertImageHandler"));
|
|
21
|
-
var _ImageToolbar = _interopRequireDefault(require("../components/image/ImageToolbar"));
|
|
22
|
-
var _customToolbarWrapper = _interopRequireDefault(require("./custom-toolbar-wrapper"));
|
|
23
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
24
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
25
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26
|
-
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:image:component');
|
|
27
|
-
var StyledProgress = (0, _styles.styled)(_LinearProgress["default"], {
|
|
28
|
-
shouldForwardProp: function shouldForwardProp(prop) {
|
|
29
|
-
return prop !== 'hideProgress';
|
|
30
|
-
}
|
|
31
|
-
})(function (_ref) {
|
|
32
|
-
var hideProgress = _ref.hideProgress;
|
|
33
|
-
return _objectSpread({
|
|
34
|
-
position: 'absolute',
|
|
35
|
-
left: '0',
|
|
36
|
-
width: 'fit-content',
|
|
37
|
-
top: '0%',
|
|
38
|
-
transition: 'opacity 200ms linear'
|
|
39
|
-
}, hideProgress && {
|
|
40
|
-
opacity: 0
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
var StyledRoot = (0, _styles.styled)('div', {
|
|
44
|
-
shouldForwardProp: function shouldForwardProp(prop) {
|
|
45
|
-
return !['active', 'loading', 'pendingDelete'].includes(prop);
|
|
46
|
-
}
|
|
47
|
-
})(function (_ref2) {
|
|
48
|
-
var loading = _ref2.loading,
|
|
49
|
-
pendingDelete = _ref2.pendingDelete;
|
|
50
|
-
return _objectSpread(_objectSpread({
|
|
51
|
-
position: 'relative',
|
|
52
|
-
display: 'flex',
|
|
53
|
-
transition: 'opacity 200ms linear'
|
|
54
|
-
}, loading && {
|
|
55
|
-
opacity: 0.3
|
|
56
|
-
}), pendingDelete && {
|
|
57
|
-
opacity: 0.3
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
var StyledImageContainer = (0, _styles.styled)('div')(function (_ref3) {
|
|
61
|
-
var theme = _ref3.theme;
|
|
62
|
-
return {
|
|
63
|
-
position: 'relative',
|
|
64
|
-
width: 'fit-content',
|
|
65
|
-
display: 'flex',
|
|
66
|
-
alignItems: 'center',
|
|
67
|
-
'&&:hover > .resize': {
|
|
68
|
-
display: 'block'
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
});
|
|
72
|
-
var StyledImage = (0, _styles.styled)('img', {
|
|
73
|
-
shouldForwardProp: function shouldForwardProp(prop) {
|
|
74
|
-
return prop !== 'active';
|
|
75
|
-
}
|
|
76
|
-
})(function (_ref4) {
|
|
77
|
-
var theme = _ref4.theme,
|
|
78
|
-
active = _ref4.active;
|
|
79
|
-
return {
|
|
80
|
-
border: active ? "solid 1px ".concat(theme.palette.primary.main) : 'solid 1px transparent'
|
|
81
|
-
};
|
|
82
|
-
});
|
|
83
|
-
var StyledResize = (0, _styles.styled)('div')(function (_ref5) {
|
|
84
|
-
var theme = _ref5.theme;
|
|
85
|
-
return {
|
|
86
|
-
backgroundColor: theme.palette.primary.main,
|
|
87
|
-
cursor: 'col-resize',
|
|
88
|
-
height: '35px',
|
|
89
|
-
width: '5px',
|
|
90
|
-
borderRadius: 8,
|
|
91
|
-
marginLeft: '5px',
|
|
92
|
-
marginRight: '10px',
|
|
93
|
-
display: 'none'
|
|
94
|
-
};
|
|
95
|
-
});
|
|
96
|
-
var sizePx = function sizePx(s) {
|
|
97
|
-
return s ? "".concat(s, "px") : 'calc(20px)';
|
|
98
|
-
};
|
|
99
|
-
function ImageComponent(props) {
|
|
100
|
-
var _options$imageHandlin6;
|
|
101
|
-
var node = props.node,
|
|
102
|
-
editor = props.editor,
|
|
103
|
-
attributes = props.attributes,
|
|
104
|
-
onFocus = props.onFocus,
|
|
105
|
-
getPos = props.getPos,
|
|
106
|
-
selected = props.selected,
|
|
107
|
-
options = props.options,
|
|
108
|
-
_props$maxImageWidth = props.maxImageWidth,
|
|
109
|
-
maxImageWidth = _props$maxImageWidth === void 0 ? 700 : _props$maxImageWidth,
|
|
110
|
-
_props$maxImageHeight = props.maxImageHeight,
|
|
111
|
-
maxImageHeight = _props$maxImageHeight === void 0 ? 900 : _props$maxImageHeight;
|
|
112
|
-
var alt = node.attrs.alt;
|
|
113
|
-
var pos = getPos();
|
|
114
|
-
var selFrom = editor.state.selection.from;
|
|
115
|
-
var selTo = editor.state.selection.to;
|
|
116
|
-
var onlyThisNodeSelected = (0, _react.useMemo)(function () {
|
|
117
|
-
return selFrom + node.nodeSize === selTo;
|
|
118
|
-
}, [selFrom, selTo, node.nodeSize]);
|
|
119
|
-
var _useState = (0, _react.useState)(false),
|
|
120
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
121
|
-
showToolbar = _useState2[0],
|
|
122
|
-
setShowToolbar = _useState2[1];
|
|
123
|
-
var latestNodeRef = (0, _react.useRef)(node);
|
|
124
|
-
var imgRef = (0, _react.useRef)(null);
|
|
125
|
-
var resizeRef = (0, _react.useRef)(null);
|
|
126
|
-
var toolbarRef = (0, _react.useRef)(null);
|
|
127
|
-
var getPercentFromWidth = (0, _react.useCallback)(function (width) {
|
|
128
|
-
var floored = width / imgRef.current.naturalWidth * 4;
|
|
129
|
-
return parseInt(floored.toFixed(0) * 25, 10);
|
|
130
|
-
}, []);
|
|
131
|
-
var findNodePos = (0, _react.useCallback)(function () {
|
|
132
|
-
var key = latestNodeRef.current.attrs.nodeKey;
|
|
133
|
-
var found = null;
|
|
134
|
-
editor.state.doc.descendants(function (n, pos) {
|
|
135
|
-
if (found !== null) return false;
|
|
136
|
-
if (n.type.name === 'imageUploadNode' && n.attrs.nodeKey === key) {
|
|
137
|
-
found = pos;
|
|
138
|
-
return false;
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
return found;
|
|
142
|
-
}, [editor]);
|
|
143
|
-
|
|
144
|
-
// dispatch an attribute update targeted precisely at this node by nodeKey.
|
|
145
|
-
var updateThisNode = (0, _react.useCallback)(function (newAttrs) {
|
|
146
|
-
var nodePos = findNodePos();
|
|
147
|
-
if (nodePos === null) return;
|
|
148
|
-
var currentNode = editor.state.doc.nodeAt(nodePos);
|
|
149
|
-
if (!currentNode) return;
|
|
150
|
-
editor.view.dispatch(editor.state.tr.setNodeMarkup(nodePos, undefined, _objectSpread(_objectSpread({}, currentNode.attrs), newAttrs)));
|
|
151
|
-
}, [editor, findNodePos]);
|
|
152
|
-
var applySizeData = (0, _react.useCallback)(function () {
|
|
153
|
-
if (!node.attrs.width || !imgRef.current || !imgRef.current.naturalWidth) return;
|
|
154
|
-
var resizePercent = getPercentFromWidth(node.attrs.width);
|
|
155
|
-
if (node.attrs.resizePercent === resizePercent) return;
|
|
156
|
-
updateThisNode({
|
|
157
|
-
resizePercent: resizePercent
|
|
158
|
-
});
|
|
159
|
-
}, [node.attrs.width, node.attrs.resizePercent, getPercentFromWidth, updateThisNode]);
|
|
160
|
-
|
|
161
|
-
// keep ref in sync with latest node
|
|
162
|
-
(0, _react.useEffect)(function () {
|
|
163
|
-
latestNodeRef.current = _objectSpread(_objectSpread({}, node), {}, {
|
|
164
|
-
pos: pos
|
|
165
|
-
});
|
|
166
|
-
}, [node, pos]);
|
|
167
|
-
(0, _react.useEffect)(function () {
|
|
168
|
-
if (selected) {
|
|
169
|
-
if (onlyThisNodeSelected && editor.isEditable) {
|
|
170
|
-
var _node$attrs$src, _node$attrs, _options$imageHandlin;
|
|
171
|
-
// Only open the upload UI for a fresh placeholder. Remounting after tab switch
|
|
172
|
-
// would otherwise call insertImageRequested again and reopen the file modal.
|
|
173
|
-
var hasImageSrc = String((_node$attrs$src = (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.src) !== null && _node$attrs$src !== void 0 ? _node$attrs$src : '').trim();
|
|
174
|
-
if (!hasImageSrc && (_options$imageHandlin = options.imageHandling) !== null && _options$imageHandlin !== void 0 && _options$imageHandlin.insertImageRequested) {
|
|
175
|
-
options.imageHandling.insertImageRequested(editor, [node, pos], function (finish) {
|
|
176
|
-
return new _InsertImageHandler["default"](editor, [node, pos], finish);
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
setShowToolbar(selected);
|
|
180
|
-
}
|
|
181
|
-
} else {
|
|
182
|
-
setShowToolbar(selected);
|
|
183
|
-
}
|
|
184
|
-
}, [onlyThisNodeSelected, selected, editor.isEditable]);
|
|
185
|
-
(0, _react.useEffect)(function () {
|
|
186
|
-
applySizeData();
|
|
187
|
-
var resizeHandle = resizeRef === null || resizeRef === void 0 ? void 0 : resizeRef.current;
|
|
188
|
-
if (resizeHandle && editor.isEditable) {
|
|
189
|
-
resizeHandle.addEventListener('mousedown', initResize, false);
|
|
190
|
-
}
|
|
191
|
-
return function () {
|
|
192
|
-
if (resizeHandle) {
|
|
193
|
-
resizeHandle.removeEventListener('mousedown', initResize, false);
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
|
-
}, []);
|
|
197
|
-
(0, _react.useEffect)(function () {
|
|
198
|
-
applySizeData();
|
|
199
|
-
});
|
|
200
|
-
var loadImage = (0, _react.useCallback)(function () {
|
|
201
|
-
var box = imgRef.current;
|
|
202
|
-
if (!box) return;
|
|
203
|
-
if (!box.style.width || box.style.width === 'calc(20px)') {
|
|
204
|
-
var w = Math.min(box.naturalWidth, maxImageWidth);
|
|
205
|
-
var h = Math.min(box.naturalHeight, maxImageHeight);
|
|
206
|
-
box.style.width = "".concat(w, "px");
|
|
207
|
-
box.style.height = "".concat(h, "px");
|
|
208
|
-
var update = {
|
|
209
|
-
width: w,
|
|
210
|
-
height: h
|
|
211
|
-
};
|
|
212
|
-
if (!(0, _isEqual["default"])(update, {
|
|
213
|
-
width: node.attrs.width,
|
|
214
|
-
height: node.attrs.height
|
|
215
|
-
})) {
|
|
216
|
-
updateThisNode(update);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}, [node.attrs.width, node.attrs.height, maxImageWidth, maxImageHeight, updateThisNode]);
|
|
220
|
-
var updateAspect = function updateAspect(initial, next) {
|
|
221
|
-
var keepAspect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
222
|
-
var resizeType = arguments.length > 3 ? arguments[3] : undefined;
|
|
223
|
-
if (keepAspect) {
|
|
224
|
-
var ratio = initial.width / initial.height;
|
|
225
|
-
if (resizeType === 'height') return {
|
|
226
|
-
width: next.height * ratio,
|
|
227
|
-
height: next.height
|
|
228
|
-
};
|
|
229
|
-
return {
|
|
230
|
-
width: next.width,
|
|
231
|
-
height: next.width / ratio
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
return next;
|
|
235
|
-
};
|
|
236
|
-
var startResize = (0, _react.useCallback)(function (e) {
|
|
237
|
-
var box = imgRef.current;
|
|
238
|
-
if (!box) return;
|
|
239
|
-
var bounds = e.target.getBoundingClientRect();
|
|
240
|
-
var initial = {
|
|
241
|
-
width: box.naturalWidth,
|
|
242
|
-
height: box.naturalHeight
|
|
243
|
-
};
|
|
244
|
-
var next = updateAspect(initial, {
|
|
245
|
-
width: e.clientX - bounds.left,
|
|
246
|
-
height: e.clientY - bounds.top
|
|
247
|
-
});
|
|
248
|
-
if (next.width > 50 && next.height > 50 && next.width <= 700 && next.height <= 900) {
|
|
249
|
-
box.style.width = "".concat(next.width, "px");
|
|
250
|
-
box.style.height = "".concat(next.height, "px");
|
|
251
|
-
updateThisNode({
|
|
252
|
-
width: next.width,
|
|
253
|
-
height: next.height
|
|
254
|
-
});
|
|
255
|
-
}
|
|
256
|
-
}, [editor, updateThisNode]);
|
|
257
|
-
var onChange = (0, _react.useCallback)(function (newValues) {
|
|
258
|
-
updateThisNode(newValues);
|
|
259
|
-
}, [editor, updateThisNode]);
|
|
260
|
-
var stopResize = (0, _react.useCallback)(function () {
|
|
261
|
-
window.removeEventListener('mousemove', startResize);
|
|
262
|
-
window.removeEventListener('mouseup', stopResize);
|
|
263
|
-
}, [startResize]);
|
|
264
|
-
var initResize = (0, _react.useCallback)(function () {
|
|
265
|
-
window.addEventListener('mousemove', startResize);
|
|
266
|
-
window.addEventListener('mouseup', stopResize);
|
|
267
|
-
}, [startResize, stopResize]);
|
|
268
|
-
var style = {
|
|
269
|
-
width: sizePx(node.attrs.width),
|
|
270
|
-
height: sizePx(node.attrs.height),
|
|
271
|
-
objectFit: 'contain'
|
|
272
|
-
};
|
|
273
|
-
var flexAlign = {
|
|
274
|
-
left: 'flex-start',
|
|
275
|
-
center: 'center',
|
|
276
|
-
right: 'flex-end'
|
|
277
|
-
}[node.attrs.alignment] || 'flex-start';
|
|
278
|
-
return /*#__PURE__*/_react["default"].createElement(_react2.NodeViewWrapper, null, /*#__PURE__*/_react["default"].createElement(StyledRoot, {
|
|
279
|
-
onFocus: onFocus,
|
|
280
|
-
loading: !node.attrs.loaded,
|
|
281
|
-
pendingDelete: node.attrs.deleteStatus === 'pending',
|
|
282
|
-
style: {
|
|
283
|
-
justifyContent: flexAlign
|
|
284
|
-
}
|
|
285
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledProgress, {
|
|
286
|
-
mode: "determinate",
|
|
287
|
-
value: node.attrs.percent || 0,
|
|
288
|
-
hideProgress: node.attrs.loaded
|
|
289
|
-
}), /*#__PURE__*/_react["default"].createElement(StyledImageContainer, {
|
|
290
|
-
onDragStart: function onDragStart(e) {
|
|
291
|
-
return e.preventDefault();
|
|
292
|
-
}
|
|
293
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledImage, (0, _extends2["default"])({}, attributes, {
|
|
294
|
-
active: selected && node.attrs.loaded,
|
|
295
|
-
draggable: false,
|
|
296
|
-
ref: imgRef,
|
|
297
|
-
src: node.attrs.src,
|
|
298
|
-
style: style,
|
|
299
|
-
onLoad: loadImage,
|
|
300
|
-
alt: node.attrs.alt
|
|
301
|
-
})), /*#__PURE__*/_react["default"].createElement(StyledResize, {
|
|
302
|
-
ref: resizeRef,
|
|
303
|
-
className: "resize",
|
|
304
|
-
style: {
|
|
305
|
-
display: editor.isEditable ? undefined : 'none'
|
|
306
|
-
}
|
|
307
|
-
}))), showToolbar && editor._tiptapContainerEl && /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement("div", {
|
|
308
|
-
ref: toolbarRef,
|
|
309
|
-
style: {
|
|
310
|
-
zIndex: 20,
|
|
311
|
-
background: 'var(--editable-html-toolbar-bg, #efefef)',
|
|
312
|
-
boxShadow: '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',
|
|
313
|
-
width: '100%'
|
|
314
|
-
}
|
|
315
|
-
}, /*#__PURE__*/_react["default"].createElement(_customToolbarWrapper["default"], {
|
|
316
|
-
showDone: true,
|
|
317
|
-
deletable: true,
|
|
318
|
-
toolbarOpts: options.toolbarOpts || {},
|
|
319
|
-
onDelete: function onDelete() {
|
|
320
|
-
var _options$imageHandlin2, _options$imageHandlin3;
|
|
321
|
-
var nodePos = findNodePos();
|
|
322
|
-
if (nodePos === null) return;
|
|
323
|
-
(_options$imageHandlin2 = options.imageHandling) === null || _options$imageHandlin2 === void 0 || (_options$imageHandlin3 = _options$imageHandlin2.onDelete) === null || _options$imageHandlin3 === void 0 || _options$imageHandlin3.call(_options$imageHandlin2, latestNodeRef.current);
|
|
324
|
-
editor.view.dispatch(editor.state.tr["delete"](nodePos, nodePos + editor.state.doc.nodeAt(nodePos).nodeSize));
|
|
325
|
-
setShowToolbar(false);
|
|
326
|
-
editor.commands.focus();
|
|
327
|
-
},
|
|
328
|
-
onDone: function onDone() {
|
|
329
|
-
var _options$imageHandlin4, _options$imageHandlin5;
|
|
330
|
-
setShowToolbar(false);
|
|
331
|
-
(_options$imageHandlin4 = options.imageHandling) === null || _options$imageHandlin4 === void 0 || (_options$imageHandlin5 = _options$imageHandlin4.onDone) === null || _options$imageHandlin5 === void 0 || _options$imageHandlin5.call(_options$imageHandlin4, editor);
|
|
332
|
-
editor.commands.focus('end');
|
|
333
|
-
}
|
|
334
|
-
}, /*#__PURE__*/_react["default"].createElement(_ImageToolbar["default"], {
|
|
335
|
-
disableImageAlignmentButtons: (_options$imageHandlin6 = options.imageHandling) === null || _options$imageHandlin6 === void 0 ? void 0 : _options$imageHandlin6.disableImageAlignmentButtons,
|
|
336
|
-
alt: node.attrs.alt,
|
|
337
|
-
imageLoaded: node.attrs.loaded,
|
|
338
|
-
alignment: node.attrs.alignment || 'left',
|
|
339
|
-
onChange: onChange
|
|
340
|
-
}))), editor._tiptapContainerEl));
|
|
341
|
-
}
|
|
342
|
-
ImageComponent.propTypes = {
|
|
343
|
-
node: _propTypes["default"].object.isRequired,
|
|
344
|
-
editor: _propTypes["default"].object.isRequired,
|
|
345
|
-
attributes: _propTypes["default"].object,
|
|
346
|
-
onFocus: _propTypes["default"].func,
|
|
347
|
-
maxImageWidth: _propTypes["default"].number,
|
|
348
|
-
maxImageHeight: _propTypes["default"].number
|
|
349
|
-
};
|
|
350
|
-
var _default = exports["default"] = ImageComponent;
|
|
351
|
-
//# sourceMappingURL=image-component.js.map
|