@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"responseArea.test.js","names":["_responseArea","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","jest","mock","Extension","create","fn","config","Node","ReactNodeViewRenderer","component","Plugin","PluginKey","key","TextSelection","near","pos","dir","type","doc","NodeSelection","__esModule","React","createElement","describe","it","expect","ResponseAreaExtension","name","toBe","options","addOptions","toHaveProperty","context","plugins","addProseMirrorPlugins","call","Array","isArray","toHaveLength","maxResponseAreas","commands","addCommands","_typeof2","insertResponseArea","refreshResponseArea","refreshCommand","mockNode","attrs","index","value","mockTr","setNodeMarkup","setSelection","mockState","selection","from","$from","nodeAfter","tr","mockCommands","focus","mockDispatch","state","dispatch","toHaveBeenCalled","not","toThrow","updated","toBeDefined","beforeEach","resetModules","buildInsertCommand","undefined","_require","createDoc","existingCount","typeName","descendants","callback","i","content","size","insert","mockInlineNode","nodeSize","mockDoc","schema","nodes","inline_dropdown","result","toHaveBeenCalledWith","id","runOnce","calls","toEqual","buildStateAndTr","_ref","_ref$withResolve","withResolve","resolve","resolved","each","replace","_buildStateAndTr","_require2","_buildStateAndTr2","_require3","ExplicitConstructedResponseNode","inline","group","atom","attributes","addAttributes","rules","parseHTML","renderHTML","HTMLAttributes","addNodeView","DragInTheBlankNode","inTable","InlineDropdownNode"],"sources":["../../../src/extensions/__tests__/responseArea.test.js"],"sourcesContent":["import {\n DragInTheBlankNode,\n ExplicitConstructedResponseNode,\n InlineDropdownNode,\n ResponseAreaExtension,\n} from '../responseArea';\n\njest.mock('@tiptap/core', () => ({\n Extension: { create: jest.fn((config) => config) },\n Node: { create: jest.fn((config) => config) },\n}));\n\njest.mock('@tiptap/react', () => ({\n Node: { create: jest.fn((config) => config) },\n ReactNodeViewRenderer: jest.fn((component) => component),\n}));\n\njest.mock('prosemirror-state', () => ({\n Plugin: jest.fn(function (config) {\n return config;\n }),\n PluginKey: jest.fn(function (key) {\n this.key = key;\n }),\n TextSelection: {\n near: jest.fn((pos, dir) => ({ type: 'text', pos, dir })),\n create: jest.fn((doc, pos) => ({ type: 'text', pos })),\n },\n NodeSelection: {\n create: jest.fn((doc, pos) => ({ type: 'node', pos })),\n },\n}));\n\njest.mock('../../components/respArea/ExplicitConstructedResponse', () => ({\n __esModule: true,\n default: jest.fn(() => <div data-testid=\"explicit-constructed-response\" />),\n}));\n\njest.mock('../../components/respArea/DragInTheBlank/DragInTheBlank', () => ({\n __esModule: true,\n default: jest.fn(() => <div data-testid=\"drag-in-the-blank\" />),\n}));\n\njest.mock('../../components/respArea/InlineDropdown', () => ({\n __esModule: true,\n default: jest.fn(() => <div data-testid=\"inline-dropdown\" />),\n}));\n\ndescribe('ResponseAreaExtension', () => {\n describe('configuration', () => {\n it('has correct name', () => {\n expect(ResponseAreaExtension.name).toBe('responseArea');\n });\n });\n\n describe('addOptions', () => {\n it('returns default options', () => {\n const options = ResponseAreaExtension.addOptions();\n\n expect(options).toHaveProperty('maxResponseAreas', null);\n expect(options).toHaveProperty('error', null);\n expect(options).toHaveProperty('options', null);\n expect(options).toHaveProperty('respAreaToolbar', null);\n expect(options).toHaveProperty('onHandleAreaChange', null);\n });\n });\n\n describe('addProseMirrorPlugins', () => {\n it('returns empty array when no type specified', () => {\n const context = {\n options: {},\n };\n\n const plugins = ResponseAreaExtension.addProseMirrorPlugins.call(context);\n\n expect(Array.isArray(plugins)).toBe(true);\n expect(plugins).toHaveLength(0);\n });\n\n it('returns plugin array when type is specified', () => {\n const context = {\n options: {\n type: 'explicit-constructed-response',\n maxResponseAreas: 5,\n },\n };\n\n const plugins = ResponseAreaExtension.addProseMirrorPlugins.call(context);\n\n expect(Array.isArray(plugins)).toBe(true);\n expect(plugins).toHaveLength(1);\n expect(plugins[0]).toHaveProperty('key');\n expect(plugins[0]).toHaveProperty('view');\n });\n });\n\n describe('addCommands', () => {\n it('returns insertResponseArea command', () => {\n const commands = ResponseAreaExtension.addCommands();\n\n expect(commands).toHaveProperty('insertResponseArea');\n expect(typeof commands.insertResponseArea).toBe('function');\n });\n\n it('returns refreshResponseArea command', () => {\n const commands = ResponseAreaExtension.addCommands();\n\n expect(commands).toHaveProperty('refreshResponseArea');\n expect(typeof commands.refreshResponseArea).toBe('function');\n });\n\n it('refreshResponseArea handles node with attrs safely', () => {\n const context = {\n options: {\n type: 'explicit-constructed-response',\n maxResponseAreas: 5,\n },\n };\n\n const commands = ResponseAreaExtension.addCommands.call(context);\n const refreshCommand = commands.refreshResponseArea();\n\n // Mock transaction and state\n const mockNode = {\n attrs: {\n index: '0',\n value: 'test',\n },\n };\n\n const mockTr = {\n setNodeMarkup: jest.fn(),\n setSelection: jest.fn(),\n };\n\n const mockState = {\n selection: {\n from: 0,\n $from: {\n nodeAfter: mockNode,\n },\n },\n tr: mockTr,\n };\n\n const mockCommands = {\n focus: jest.fn(),\n };\n\n const mockDispatch = jest.fn();\n\n refreshCommand({\n tr: mockTr,\n state: mockState,\n commands: mockCommands,\n dispatch: mockDispatch,\n });\n\n expect(mockTr.setNodeMarkup).toHaveBeenCalled();\n });\n\n it('refreshResponseArea handles node without attrs safely (optional chaining)', () => {\n const context = {\n options: {\n type: 'explicit-constructed-response',\n maxResponseAreas: 5,\n },\n };\n\n const commands = ResponseAreaExtension.addCommands.call(context);\n const refreshCommand = commands.refreshResponseArea();\n\n // Mock transaction and state with node that has no attrs\n const mockNode = null;\n\n const mockTr = {\n setNodeMarkup: jest.fn(),\n setSelection: jest.fn(),\n };\n\n const mockState = {\n selection: {\n from: 0,\n $from: {\n nodeAfter: mockNode,\n },\n },\n tr: mockTr,\n };\n\n const mockCommands = {\n focus: jest.fn(),\n };\n\n const mockDispatch = jest.fn();\n\n // This should not throw an error due to optional chaining on node?.attrs\n expect(() => {\n refreshCommand({\n tr: mockTr,\n state: mockState,\n commands: mockCommands,\n dispatch: mockDispatch,\n });\n }).not.toThrow();\n });\n\n it('refreshResponseArea updates timestamp in node attributes', () => {\n const context = {\n options: {\n type: 'explicit-constructed-response',\n maxResponseAreas: 5,\n },\n };\n\n const commands = ResponseAreaExtension.addCommands.call(context);\n const refreshCommand = commands.refreshResponseArea();\n\n const mockNode = {\n attrs: {\n index: '0',\n value: 'test',\n updated: '1234567890',\n },\n };\n\n const mockTr = {\n setNodeMarkup: jest.fn((pos, type, attrs) => {\n // Verify that updated timestamp is being set\n expect(attrs.updated).toBeDefined();\n expect(attrs.updated).not.toBe('1234567890');\n }),\n setSelection: jest.fn(),\n };\n\n const mockState = {\n selection: {\n from: 0,\n $from: {\n nodeAfter: mockNode,\n },\n },\n tr: mockTr,\n };\n\n const mockCommands = {\n focus: jest.fn(),\n };\n\n const mockDispatch = jest.fn();\n\n refreshCommand({\n tr: mockTr,\n state: mockState,\n commands: mockCommands,\n dispatch: mockDispatch,\n });\n\n expect(mockTr.setNodeMarkup).toHaveBeenCalled();\n });\n\n describe('insertResponseArea', () => {\n beforeEach(() => {\n jest.resetModules();\n });\n\n const buildInsertCommand = (type = 'inline-dropdown') => {\n const { ResponseAreaExtension } = require('../responseArea');\n const context = {\n options: {\n type,\n maxResponseAreas: 5,\n },\n };\n const commands = ResponseAreaExtension.addCommands.call(context);\n return commands.insertResponseArea(type);\n };\n\n const createDoc = (existingCount, typeName = 'inline_dropdown') => ({\n descendants: jest.fn((callback) => {\n for (let i = 0; i < existingCount; i += 1) {\n callback({ type: { name: typeName } }, i);\n }\n }),\n content: { size: 50 },\n });\n\n it('assigns index 1 and id 1 on the first insert', () => {\n const insert = buildInsertCommand();\n const mockInlineNode = { nodeSize: 1 };\n const create = jest.fn(() => mockInlineNode);\n const mockDoc = createDoc(0);\n const mockTr = {\n insert: jest.fn(),\n doc: mockDoc,\n setSelection: jest.fn(),\n };\n const state = {\n schema: {\n nodes: {\n inline_dropdown: { create },\n },\n },\n doc: mockDoc,\n selection: { from: 5 },\n };\n const mockDispatch = jest.fn();\n const mockCommands = { focus: jest.fn() };\n\n const result = insert({\n tr: mockTr,\n state,\n dispatch: mockDispatch,\n commands: mockCommands,\n });\n\n expect(result).toBe(true);\n expect(create).toHaveBeenCalledWith({\n index: '1',\n id: '1',\n value: '',\n });\n expect(mockTr.insert).toHaveBeenCalledWith(5, mockInlineNode);\n expect(mockDispatch).toHaveBeenCalled();\n });\n\n it('assigns consecutive indices on repeated inserts', () => {\n const insert = buildInsertCommand();\n const mockInlineNode = { nodeSize: 1 };\n const create = jest.fn(() => mockInlineNode);\n const mockDoc = createDoc(0);\n\n const runOnce = () => {\n const mockTr = {\n insert: jest.fn(),\n doc: mockDoc,\n setSelection: jest.fn(),\n };\n const state = {\n schema: {\n nodes: {\n inline_dropdown: { create },\n },\n },\n doc: mockDoc,\n selection: { from: 1 },\n };\n insert({\n tr: mockTr,\n state,\n dispatch: jest.fn(),\n commands: { focus: jest.fn() },\n });\n };\n\n runOnce();\n runOnce();\n\n expect(create.mock.calls[0][0]).toEqual({ index: '1', id: '1', value: '' });\n expect(create.mock.calls[1][0]).toEqual({ index: '2', id: '2', value: '' });\n });\n\n it('returns false when maxResponseAreas is reached', () => {\n const insert = buildInsertCommand();\n const mockInlineNode = { nodeSize: 1 };\n const create = jest.fn(() => mockInlineNode);\n const mockDoc = createDoc(5);\n const mockTr = {\n insert: jest.fn(),\n doc: mockDoc,\n setSelection: jest.fn(),\n };\n const state = {\n schema: {\n nodes: {\n inline_dropdown: { create },\n },\n },\n doc: mockDoc,\n selection: { from: 5 },\n };\n\n const result = insert({\n tr: mockTr,\n state,\n dispatch: jest.fn(),\n commands: { focus: jest.fn() },\n });\n\n expect(result).toBe(false);\n expect(create).not.toHaveBeenCalled();\n expect(mockTr.insert).not.toHaveBeenCalled();\n });\n\n describe('selection after insert', () => {\n const buildStateAndTr = (typeName, { withResolve = false } = {}) => {\n const mockInlineNode = { nodeSize: 1 };\n const create = jest.fn(() => mockInlineNode);\n const mockDoc = {\n descendants: jest.fn(),\n content: { size: 50 },\n ...(withResolve ? { resolve: jest.fn((pos) => ({ resolved: pos })) } : {}),\n };\n const mockTr = {\n insert: jest.fn(),\n doc: mockDoc,\n setSelection: jest.fn(),\n };\n const state = {\n schema: { nodes: { [typeName]: { create } } },\n doc: mockDoc,\n selection: { from: 5 },\n };\n\n return { mockTr, state };\n };\n\n it.each(['inline-dropdown', 'explicit-constructed-response'])(\n 'sets a NodeSelection on the inserted node for %s',\n (type) => {\n const insert = buildInsertCommand(type);\n const typeName = type.replace(/-/g, '_');\n const { mockTr, state } = buildStateAndTr(typeName);\n const { NodeSelection, TextSelection } = require('prosemirror-state');\n\n insert({ tr: mockTr, state, dispatch: jest.fn(), commands: { focus: jest.fn() } });\n\n expect(NodeSelection.create).toHaveBeenCalledWith(mockTr.doc, 5);\n expect(TextSelection.near).not.toHaveBeenCalled();\n expect(mockTr.setSelection).toHaveBeenCalledWith({ type: 'node', pos: 5 });\n },\n );\n\n it('sets a TextSelection just after the inserted node for math-templated (no NodeSelection)', () => {\n const insert = buildInsertCommand('math-templated');\n const { mockTr, state } = buildStateAndTr('math_templated', { withResolve: true });\n const { NodeSelection, TextSelection } = require('prosemirror-state');\n\n insert({ tr: mockTr, state, dispatch: jest.fn(), commands: { focus: jest.fn() } });\n\n expect(NodeSelection.create).not.toHaveBeenCalled();\n // usedPos (5) + nodeSize (1) === 6\n expect(mockTr.doc.resolve).toHaveBeenCalledWith(6);\n expect(TextSelection.near).toHaveBeenCalledWith({ resolved: 6 }, 1);\n expect(mockTr.setSelection).toHaveBeenCalledWith({ type: 'text', pos: { resolved: 6 }, dir: 1 });\n });\n });\n });\n });\n});\n\ndescribe('ExplicitConstructedResponseNode', () => {\n describe('configuration', () => {\n it('has correct name', () => {\n expect(ExplicitConstructedResponseNode.name).toBe('explicit_constructed_response');\n });\n\n it('is inline', () => {\n expect(ExplicitConstructedResponseNode.inline).toBe(true);\n });\n\n it('is in inline group', () => {\n expect(ExplicitConstructedResponseNode.group).toBe('inline');\n });\n\n it('is atomic', () => {\n expect(ExplicitConstructedResponseNode.atom).toBe(true);\n });\n });\n\n describe('addAttributes', () => {\n it('returns required attributes', () => {\n const attributes = ExplicitConstructedResponseNode.addAttributes();\n\n expect(attributes).toHaveProperty('index');\n expect(attributes).toHaveProperty('value');\n expect(attributes).toHaveProperty('updated');\n\n expect(attributes.index).toEqual({ default: null });\n expect(attributes.value).toEqual({ default: '' });\n expect(attributes.updated).toEqual({ default: '' });\n });\n });\n\n describe('parseHTML', () => {\n it('returns parsing rules', () => {\n const rules = ExplicitConstructedResponseNode.parseHTML();\n\n expect(Array.isArray(rules)).toBe(true);\n expect(rules).toHaveLength(1);\n expect(rules[0]).toHaveProperty('tag');\n });\n });\n\n describe('renderHTML', () => {\n it('renders span with attributes', () => {\n const result = ExplicitConstructedResponseNode.renderHTML({\n HTMLAttributes: {\n index: '1',\n id: '1',\n value: 'test',\n },\n });\n\n expect(result[0]).toBe('span');\n expect(result[1]).toHaveProperty('data-type', 'explicit_constructed_response');\n });\n });\n\n describe('addNodeView', () => {\n it('returns ReactNodeViewRenderer result', () => {\n const result = ExplicitConstructedResponseNode.addNodeView();\n\n expect(result).toBeDefined();\n });\n });\n});\n\ndescribe('DragInTheBlankNode', () => {\n describe('configuration', () => {\n it('has correct name', () => {\n expect(DragInTheBlankNode.name).toBe('drag_in_the_blank');\n });\n\n it('is inline', () => {\n expect(DragInTheBlankNode.inline).toBe(true);\n });\n\n it('is in inline group', () => {\n expect(DragInTheBlankNode.group).toBe('inline');\n });\n\n it('is atomic', () => {\n expect(DragInTheBlankNode.atom).toBe(true);\n });\n });\n\n describe('addAttributes', () => {\n it('returns required attributes', () => {\n const attributes = DragInTheBlankNode.addAttributes();\n\n expect(attributes).toHaveProperty('index');\n expect(attributes).toHaveProperty('id');\n expect(attributes).toHaveProperty('value');\n expect(attributes).toHaveProperty('inTable');\n expect(attributes).toHaveProperty('updated');\n\n expect(attributes.index).toEqual({ default: null });\n expect(attributes.id).toEqual({ default: null });\n expect(attributes.value).toEqual({ default: '' });\n expect(attributes.inTable).toEqual({ default: null });\n expect(attributes.updated).toEqual({ default: '' });\n });\n });\n\n describe('parseHTML', () => {\n it('returns parsing rules', () => {\n const rules = DragInTheBlankNode.parseHTML();\n\n expect(Array.isArray(rules)).toBe(true);\n expect(rules).toHaveLength(1);\n expect(rules[0]).toHaveProperty('tag');\n });\n });\n\n describe('renderHTML', () => {\n it('renders span with attributes', () => {\n const result = DragInTheBlankNode.renderHTML({\n HTMLAttributes: {\n index: '1',\n id: '1',\n value: 'test',\n },\n });\n\n expect(result[0]).toBe('span');\n expect(result[1]).toHaveProperty('data-type', 'drag_in_the_blank');\n });\n });\n\n describe('addNodeView', () => {\n it('returns ReactNodeViewRenderer result', () => {\n const result = DragInTheBlankNode.addNodeView();\n\n expect(result).toBeDefined();\n });\n });\n});\n\ndescribe('InlineDropdownNode', () => {\n describe('configuration', () => {\n it('has correct name', () => {\n expect(InlineDropdownNode.name).toBe('inline_dropdown');\n });\n\n it('is inline', () => {\n expect(InlineDropdownNode.inline).toBe(true);\n });\n\n it('is in inline group', () => {\n expect(InlineDropdownNode.group).toBe('inline');\n });\n\n it('is atomic', () => {\n expect(InlineDropdownNode.atom).toBe(true);\n });\n });\n\n describe('addAttributes', () => {\n it('returns required attributes', () => {\n const attributes = InlineDropdownNode.addAttributes();\n\n expect(attributes).toHaveProperty('index');\n expect(attributes).toHaveProperty('value');\n expect(attributes).toHaveProperty('updated');\n\n expect(attributes.index).toEqual({ default: null });\n expect(attributes.value).toEqual({ default: '' });\n expect(attributes.updated).toEqual({ default: '' });\n });\n });\n\n describe('parseHTML', () => {\n it('returns parsing rules', () => {\n const rules = InlineDropdownNode.parseHTML();\n\n expect(Array.isArray(rules)).toBe(true);\n expect(rules).toHaveLength(1);\n expect(rules[0]).toHaveProperty('tag');\n });\n });\n\n describe('renderHTML', () => {\n it('renders span with attributes', () => {\n const result = InlineDropdownNode.renderHTML({\n HTMLAttributes: {\n index: '1',\n id: '1',\n value: 'test',\n },\n });\n\n expect(result[0]).toBe('span');\n expect(result[1]).toHaveProperty('data-type', 'inline_dropdown');\n });\n });\n\n describe('addNodeView', () => {\n it('returns ReactNodeViewRenderer result', () => {\n const result = InlineDropdownNode.addNodeView();\n\n expect(result).toBeDefined();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
package/lib/extensions/css.js
DELETED
|
@@ -1,227 +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.removeDialogs = exports.CSSMark = void 0;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
10
|
-
var _core = require("@tiptap/core");
|
|
11
|
-
var _List = _interopRequireDefault(require("@mui/material/List"));
|
|
12
|
-
var _ListItem = _interopRequireDefault(require("@mui/material/ListItem"));
|
|
13
|
-
var removeDialogs = exports.removeDialogs = function removeDialogs() {
|
|
14
|
-
var prevDialogs = document.querySelectorAll('.insert-css-dialog');
|
|
15
|
-
prevDialogs.forEach(function (s) {
|
|
16
|
-
return s.remove();
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
var insertDialog = function insertDialog(_ref) {
|
|
20
|
-
var editor = _ref.editor,
|
|
21
|
-
callback = _ref.callback,
|
|
22
|
-
opts = _ref.opts,
|
|
23
|
-
selectedText = _ref.selectedText,
|
|
24
|
-
parentNode = _ref.parentNode;
|
|
25
|
-
var editorDOM = editor.options.element;
|
|
26
|
-
var newEl = document.createElement('div');
|
|
27
|
-
var selection = editor.state.selection;
|
|
28
|
-
removeDialogs();
|
|
29
|
-
newEl.className = 'insert-css-dialog';
|
|
30
|
-
var popoverEl;
|
|
31
|
-
var closePopOver = function closePopOver() {
|
|
32
|
-
if (popoverEl) {
|
|
33
|
-
popoverEl.remove();
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
var firstCallMade = false;
|
|
37
|
-
var listener = function listener(e) {
|
|
38
|
-
// this will be triggered right after setting it because
|
|
39
|
-
// this toolbar is added on the mousedown event
|
|
40
|
-
// so right after mouseup, the click will be triggered
|
|
41
|
-
if (firstCallMade) {
|
|
42
|
-
var focusIsInModals = newEl.contains(e.target) || popoverEl && popoverEl.contains(e.target);
|
|
43
|
-
var focusIsInEditor = editorDOM.contains(e.target);
|
|
44
|
-
if (!(focusIsInModals || focusIsInEditor)) {
|
|
45
|
-
handleClose();
|
|
46
|
-
}
|
|
47
|
-
} else {
|
|
48
|
-
firstCallMade = true;
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
var handleClose = function handleClose() {
|
|
52
|
-
callback(undefined, true);
|
|
53
|
-
newEl.remove();
|
|
54
|
-
closePopOver();
|
|
55
|
-
document.body.removeEventListener('click', listener);
|
|
56
|
-
};
|
|
57
|
-
var handleChange = function handleChange(name) {
|
|
58
|
-
callback(name, true);
|
|
59
|
-
newEl.remove();
|
|
60
|
-
closePopOver();
|
|
61
|
-
document.body.removeEventListener('click', listener);
|
|
62
|
-
};
|
|
63
|
-
var parentNodeClass = parentNode === null || parentNode === void 0 ? void 0 : parentNode.attrs["class"];
|
|
64
|
-
var createHTML = function createHTML(name) {
|
|
65
|
-
var html = "<span class=\"".concat(name, "\">").concat(selectedText, "</span>");
|
|
66
|
-
if (parentNode) {
|
|
67
|
-
var tag = 'span';
|
|
68
|
-
if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.object) === 'inline') {
|
|
69
|
-
tag = 'span';
|
|
70
|
-
}
|
|
71
|
-
if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.object) === 'block') {
|
|
72
|
-
tag = 'div';
|
|
73
|
-
}
|
|
74
|
-
html = "<".concat(tag, " class=\"").concat(parentNodeClass, "\">").concat(parentNode.text.slice(0, selection.$anchor.textOffset)).concat(html).concat(parentNode.text.slice(selection.$head.textOffset), "</").concat(tag, ">");
|
|
75
|
-
}
|
|
76
|
-
return html;
|
|
77
|
-
};
|
|
78
|
-
var el = /*#__PURE__*/_react["default"].createElement("div", {
|
|
79
|
-
style: {
|
|
80
|
-
background: 'white',
|
|
81
|
-
height: 500,
|
|
82
|
-
padding: 20,
|
|
83
|
-
overflow: 'hidden',
|
|
84
|
-
display: 'flex',
|
|
85
|
-
flexFlow: 'column'
|
|
86
|
-
}
|
|
87
|
-
}, /*#__PURE__*/_react["default"].createElement("h2", null, "Please choose a css class"), parentNodeClass && /*#__PURE__*/_react["default"].createElement("div", null, "The current parent has this class ", parentNodeClass), /*#__PURE__*/_react["default"].createElement(_List["default"], {
|
|
88
|
-
component: "nav",
|
|
89
|
-
style: {
|
|
90
|
-
overflow: 'scroll'
|
|
91
|
-
}
|
|
92
|
-
}, opts.names.map(function (name, i) {
|
|
93
|
-
return /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
|
|
94
|
-
key: "rule-".concat(i),
|
|
95
|
-
button: true,
|
|
96
|
-
onClick: function onClick() {
|
|
97
|
-
return handleChange(name);
|
|
98
|
-
}
|
|
99
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
100
|
-
style: {
|
|
101
|
-
marginRight: 20
|
|
102
|
-
}
|
|
103
|
-
}, name), /*#__PURE__*/_react["default"].createElement("div", {
|
|
104
|
-
dangerouslySetInnerHTML: {
|
|
105
|
-
__html: createHTML(name)
|
|
106
|
-
}
|
|
107
|
-
}));
|
|
108
|
-
})));
|
|
109
|
-
_reactDom["default"].render(el, newEl, function () {
|
|
110
|
-
var cursorItem = editor.view.nodeDOM(editor.state.selection.from);
|
|
111
|
-
var cursorNode = cursorItem === null || cursorItem === void 0 ? void 0 : cursorItem.parentNode;
|
|
112
|
-
if (cursorNode) {
|
|
113
|
-
var bodyRect = editorDOM.parentElement.parentElement.parentElement.getBoundingClientRect();
|
|
114
|
-
var boundRect = cursorNode.getBoundingClientRect();
|
|
115
|
-
editorDOM.parentElement.parentElement.parentElement.appendChild(newEl);
|
|
116
|
-
newEl.style.maxWidth = '500px';
|
|
117
|
-
newEl.style.position = 'absolute';
|
|
118
|
-
newEl.style.top = 0;
|
|
119
|
-
newEl.style.zIndex = 99999;
|
|
120
|
-
var leftValue = "".concat(boundRect.left + Math.abs(bodyRect.left) + cursorNode.offsetWidth + 10, "px");
|
|
121
|
-
var rightValue = "".concat(boundRect.x, "px");
|
|
122
|
-
newEl.style.left = leftValue;
|
|
123
|
-
var leftAlignedWidth = newEl.offsetWidth;
|
|
124
|
-
newEl.style.left = 'unset';
|
|
125
|
-
newEl.style.right = rightValue;
|
|
126
|
-
var rightAlignedWidth = newEl.offsetWidth;
|
|
127
|
-
newEl.style.left = 'unset';
|
|
128
|
-
newEl.style.right = 'unset';
|
|
129
|
-
if (leftAlignedWidth >= rightAlignedWidth) {
|
|
130
|
-
newEl.style.left = leftValue;
|
|
131
|
-
} else {
|
|
132
|
-
newEl.style.right = rightValue;
|
|
133
|
-
}
|
|
134
|
-
document.body.addEventListener('click', listener);
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
};
|
|
138
|
-
var CSSMark = exports.CSSMark = _core.Mark.create({
|
|
139
|
-
name: 'cssmark',
|
|
140
|
-
addOptions: function addOptions() {
|
|
141
|
-
return {
|
|
142
|
-
classes: []
|
|
143
|
-
};
|
|
144
|
-
},
|
|
145
|
-
addAttributes: function addAttributes() {
|
|
146
|
-
return {
|
|
147
|
-
"class": {
|
|
148
|
-
"default": null,
|
|
149
|
-
parseHTML: function parseHTML(el) {
|
|
150
|
-
return el.getAttribute('class');
|
|
151
|
-
},
|
|
152
|
-
renderHTML: function renderHTML(attributes) {
|
|
153
|
-
if (!attributes["class"]) return {};
|
|
154
|
-
return {
|
|
155
|
-
"class": attributes["class"]
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
},
|
|
161
|
-
parseHTML: function parseHTML() {
|
|
162
|
-
var _this = this;
|
|
163
|
-
// Any span with a class that matches one of allowed classes any span that carries a class attribute
|
|
164
|
-
// so that pre-existing spans are preserved when loading content
|
|
165
|
-
return [{
|
|
166
|
-
tag: 'span[class]',
|
|
167
|
-
getAttrs: function getAttrs(el) {
|
|
168
|
-
var cls = el.getAttribute('class') || '';
|
|
169
|
-
if (!cls) {
|
|
170
|
-
return false;
|
|
171
|
-
}
|
|
172
|
-
var allowedClasses = _this.options && _this.options.classes || [];
|
|
173
|
-
if (allowedClasses.length > 0) {
|
|
174
|
-
var match = _this.options.classes.find(function (name) {
|
|
175
|
-
return cls.includes(name);
|
|
176
|
-
});
|
|
177
|
-
return match ? {
|
|
178
|
-
"class": match
|
|
179
|
-
} : false;
|
|
180
|
-
}
|
|
181
|
-
return {
|
|
182
|
-
"class": cls
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
}];
|
|
186
|
-
},
|
|
187
|
-
renderHTML: function renderHTML(_ref2) {
|
|
188
|
-
var HTMLAttributes = _ref2.HTMLAttributes;
|
|
189
|
-
return ['span', (0, _core.mergeAttributes)(HTMLAttributes), 0];
|
|
190
|
-
},
|
|
191
|
-
addCommands: function addCommands() {
|
|
192
|
-
var _this2 = this;
|
|
193
|
-
return {
|
|
194
|
-
setCSSClass: function setCSSClass(className) {
|
|
195
|
-
return function (_ref3) {
|
|
196
|
-
var commands = _ref3.commands;
|
|
197
|
-
return commands.setMark(_this2.name, {
|
|
198
|
-
"class": className
|
|
199
|
-
});
|
|
200
|
-
};
|
|
201
|
-
},
|
|
202
|
-
unsetCSSClass: function unsetCSSClass() {
|
|
203
|
-
return function (_ref4) {
|
|
204
|
-
var commands = _ref4.commands;
|
|
205
|
-
return commands.unsetMark(_this2.name);
|
|
206
|
-
};
|
|
207
|
-
},
|
|
208
|
-
openCSSClassDialog: function openCSSClassDialog() {
|
|
209
|
-
return function (_ref5) {
|
|
210
|
-
var editor = _ref5.editor;
|
|
211
|
-
insertDialog({
|
|
212
|
-
editor: editor,
|
|
213
|
-
selectedText: editor.state.doc.textBetween(editor.state.selection.from, editor.state.selection.to),
|
|
214
|
-
parentNode: editor.state.selection.$from.nodeAfter,
|
|
215
|
-
opts: _this2.options.extraCSSRules,
|
|
216
|
-
callback: function callback(className) {
|
|
217
|
-
if (className) {
|
|
218
|
-
editor.chain().focus().setCSSClass(className).run();
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
|
-
//# sourceMappingURL=css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","names":["_react","_interopRequireDefault","require","_reactDom","_core","_List","_ListItem","removeDialogs","exports","prevDialogs","document","querySelectorAll","forEach","s","remove","insertDialog","_ref","editor","callback","opts","selectedText","parentNode","editorDOM","options","element","newEl","createElement","selection","state","className","popoverEl","closePopOver","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","body","removeEventListener","handleChange","name","parentNodeClass","attrs","createHTML","html","concat","tag","object","text","slice","$anchor","textOffset","$head","el","style","background","height","padding","overflow","display","flexFlow","component","names","map","i","key","button","onClick","marginRight","dangerouslySetInnerHTML","__html","ReactDOM","render","cursorItem","view","nodeDOM","from","cursorNode","bodyRect","parentElement","getBoundingClientRect","boundRect","appendChild","maxWidth","position","top","zIndex","leftValue","left","Math","abs","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CSSMark","Mark","create","addOptions","classes","addAttributes","parseHTML","getAttribute","renderHTML","attributes","_this","getAttrs","cls","allowedClasses","length","match","find","includes","_ref2","HTMLAttributes","mergeAttributes","addCommands","_this2","setCSSClass","_ref3","commands","setMark","unsetCSSClass","_ref4","unsetMark","openCSSClassDialog","_ref5","doc","textBetween","to","$from","nodeAfter","extraCSSRules","chain","focus","run"],"sources":["../../src/extensions/css.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Mark, mergeAttributes } from '@tiptap/core';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-css-dialog');\n\n prevDialogs.forEach((s) => s.remove());\n};\n\nconst insertDialog = ({ editor, callback, opts, selectedText, parentNode }) => {\n const editorDOM = editor.options.element;\n const newEl = document.createElement('div');\n const { selection } = editor.state;\n\n removeDialogs();\n\n newEl.className = 'insert-css-dialog';\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (name) => {\n callback(name, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const parentNodeClass = parentNode?.attrs.class;\n const createHTML = (name) => {\n let html = `<span class=\"${name}\">${selectedText}</span>`;\n\n if (parentNode) {\n let tag = 'span';\n\n if (parentNode?.object === 'inline') {\n tag = 'span';\n }\n\n if (parentNode?.object === 'block') {\n tag = 'div';\n }\n\n html = `<${tag} class=\"${parentNodeClass}\">${parentNode.text.slice(\n 0,\n selection.$anchor.textOffset,\n )}${html}${parentNode.text.slice(selection.$head.textOffset)}</${tag}>`;\n }\n\n return html;\n };\n\n const el = (\n <div\n style={{ background: 'white', height: 500, padding: 20, overflow: 'hidden', display: 'flex', flexFlow: 'column' }}\n >\n <h2>Please choose a css class</h2>\n {parentNodeClass && <div>The current parent has this class {parentNodeClass}</div>}\n <List component=\"nav\" style={{ overflow: 'scroll' }}>\n {opts.names.map((name, i) => (\n <ListItem key={`rule-${i}`} button onClick={() => handleChange(name)}>\n <div style={{ marginRight: 20 }}>{name}</div>\n <div\n dangerouslySetInnerHTML={{\n __html: createHTML(name),\n }}\n />\n </ListItem>\n ))}\n </List>\n </div>\n );\n\n ReactDOM.render(el, newEl, () => {\n const cursorItem = editor.view.nodeDOM(editor.state.selection.from);\n const cursorNode = cursorItem?.parentNode;\n\n if (cursorNode) {\n const bodyRect = editorDOM.parentElement.parentElement.parentElement.getBoundingClientRect();\n const boundRect = cursorNode.getBoundingClientRect();\n\n editorDOM.parentElement.parentElement.parentElement.appendChild(newEl);\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n newEl.style.top = 0;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorNode.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n });\n};\n\nexport const CSSMark = Mark.create({\n name: 'cssmark',\n\n addOptions() {\n return {\n classes: [],\n };\n },\n\n addAttributes() {\n return {\n class: {\n default: null,\n parseHTML: (el) => el.getAttribute('class'),\n renderHTML: (attributes) => {\n if (!attributes.class) return {};\n return { class: attributes.class };\n },\n },\n };\n },\n\n parseHTML() {\n // Any span with a class that matches one of allowed classes any span that carries a class attribute\n // so that pre-existing spans are preserved when loading content\n return [\n {\n tag: 'span[class]',\n getAttrs: (el) => {\n const cls = el.getAttribute('class') || '';\n\n if (!cls) {\n return false;\n }\n\n const allowedClasses = (this.options && this.options.classes) || [];\n\n if (allowedClasses.length > 0) {\n const match = this.options.classes.find((name) => cls.includes(name));\n\n return match ? { class: match } : false;\n }\n\n return { class: cls };\n },\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['span', mergeAttributes(HTMLAttributes), 0];\n },\n\n addCommands() {\n return {\n setCSSClass:\n (className) =>\n ({ commands }) => {\n return commands.setMark(this.name, { class: className });\n },\n\n unsetCSSClass:\n () =>\n ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n\n openCSSClassDialog:\n () =>\n ({ editor }) => {\n insertDialog({\n editor,\n selectedText: editor.state.doc.textBetween(editor.state.selection.from, editor.state.selection.to),\n parentNode: editor.state.selection.$from.nodeAfter,\n opts: this.options.extraCSSRules,\n callback: (className) => {\n if (className) {\n editor.chain().focus().setCSSClass(className).run();\n }\n },\n });\n },\n };\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,92 +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"] = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
11
|
-
var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
|
|
12
|
-
var _constants = require("../constants");
|
|
13
|
-
var _styles = require("@mui/material/styles");
|
|
14
|
-
var _doneButton = require("../components/common/done-button");
|
|
15
|
-
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; }
|
|
16
|
-
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; }
|
|
17
|
-
var StyledToolbar = (0, _styles.styled)('div', {
|
|
18
|
-
shouldForwardProp: function shouldForwardProp(prop) {
|
|
19
|
-
return !['showDone', 'toolbarAlignment', 'isFocused', 'autoWidth', 'isHidden'].includes(prop);
|
|
20
|
-
}
|
|
21
|
-
})(function (_ref) {
|
|
22
|
-
var showDone = _ref.showDone,
|
|
23
|
-
toolbarAlignment = _ref.toolbarAlignment,
|
|
24
|
-
isFocused = _ref.isFocused,
|
|
25
|
-
autoWidth = _ref.autoWidth,
|
|
26
|
-
isHidden = _ref.isHidden;
|
|
27
|
-
return _objectSpread(_objectSpread(_objectSpread({
|
|
28
|
-
position: 'absolute',
|
|
29
|
-
zIndex: 10,
|
|
30
|
-
cursor: 'pointer',
|
|
31
|
-
justifyContent: 'space-between',
|
|
32
|
-
background: 'var(--editable-html-toolbar-bg, #efefef)',
|
|
33
|
-
minWidth: showDone ? '280px' : '265px',
|
|
34
|
-
margin: '5px 0 0 0',
|
|
35
|
-
padding: '2px',
|
|
36
|
-
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)',
|
|
37
|
-
boxSizing: 'border-box',
|
|
38
|
-
display: 'flex',
|
|
39
|
-
opacity: 1
|
|
40
|
-
}, toolbarAlignment === 'right' && {
|
|
41
|
-
right: 0
|
|
42
|
-
}), autoWidth ? {
|
|
43
|
-
width: 'auto'
|
|
44
|
-
} : {
|
|
45
|
-
width: '100%'
|
|
46
|
-
}), isHidden && {
|
|
47
|
-
visibility: 'hidden'
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
var StyledIconButton = (0, _styles.styled)(_IconButton["default"])({
|
|
51
|
-
width: '28px',
|
|
52
|
-
height: '28px',
|
|
53
|
-
padding: '4px',
|
|
54
|
-
verticalAlign: 'top'
|
|
55
|
-
});
|
|
56
|
-
var SharedContainer = (0, _styles.styled)('div')({
|
|
57
|
-
display: 'flex'
|
|
58
|
-
});
|
|
59
|
-
function CustomToolbarWrapper(props) {
|
|
60
|
-
var children = props.children,
|
|
61
|
-
deletable = props.deletable,
|
|
62
|
-
toolbarOpts = props.toolbarOpts,
|
|
63
|
-
autoWidth = props.autoWidth,
|
|
64
|
-
isFocused = props.isFocused,
|
|
65
|
-
doneButtonRef = props.doneButtonRef,
|
|
66
|
-
onDelete = props.onDelete,
|
|
67
|
-
showDone = props.showDone,
|
|
68
|
-
onDone = props.onDone,
|
|
69
|
-
style = props.style;
|
|
70
|
-
var customStyles = toolbarOpts.minWidth !== undefined ? {
|
|
71
|
-
minWidth: toolbarOpts.minWidth
|
|
72
|
-
} : {};
|
|
73
|
-
return /*#__PURE__*/_react["default"].createElement(StyledToolbar, {
|
|
74
|
-
className: _constants.PIE_TOOLBAR__CLASS,
|
|
75
|
-
showDone: showDone,
|
|
76
|
-
toolbarAlignment: toolbarOpts.alignment,
|
|
77
|
-
isFocused: toolbarOpts.alwaysVisible || isFocused,
|
|
78
|
-
autoWidth: autoWidth,
|
|
79
|
-
isHidden: toolbarOpts.isHidden === true,
|
|
80
|
-
style: _objectSpread(_objectSpread({}, customStyles), style)
|
|
81
|
-
}, children, /*#__PURE__*/_react["default"].createElement(SharedContainer, null, deletable && /*#__PURE__*/_react["default"].createElement(StyledIconButton, {
|
|
82
|
-
"aria-label": "Delete",
|
|
83
|
-
onMouseDown: function onMouseDown(e) {
|
|
84
|
-
return onDelete === null || onDelete === void 0 ? void 0 : onDelete(e);
|
|
85
|
-
}
|
|
86
|
-
}, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null)), showDone && /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
|
|
87
|
-
doneButtonRef: doneButtonRef,
|
|
88
|
-
onClick: onDone
|
|
89
|
-
})));
|
|
90
|
-
}
|
|
91
|
-
var _default = exports["default"] = CustomToolbarWrapper;
|
|
92
|
-
//# sourceMappingURL=custom-toolbar-wrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"custom-toolbar-wrapper.js","names":["_react","_interopRequireDefault","require","_IconButton","_Delete","_constants","_styles","_doneButton","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledToolbar","styled","shouldForwardProp","prop","includes","_ref","showDone","toolbarAlignment","isFocused","autoWidth","isHidden","position","zIndex","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","opacity","right","width","visibility","StyledIconButton","IconButton","height","verticalAlign","SharedContainer","CustomToolbarWrapper","props","children","deletable","toolbarOpts","doneButtonRef","onDelete","onDone","style","customStyles","undefined","createElement","className","PIE_TOOLBAR__CLASS","alignment","alwaysVisible","onMouseDown","DoneButton","onClick","_default","exports"],"sources":["../../src/extensions/custom-toolbar-wrapper.jsx"],"sourcesContent":["import React from 'react';\nimport IconButton from '@mui/material/IconButton';\nimport Delete from '@mui/icons-material/Delete';\nimport { PIE_TOOLBAR__CLASS } from '../constants';\nimport { styled } from '@mui/material/styles';\nimport { DoneButton } from '../components/common/done-button';\n\nconst StyledToolbar = styled('div', {\n shouldForwardProp: (prop) => !['showDone', 'toolbarAlignment', 'isFocused', 'autoWidth', 'isHidden'].includes(prop),\n})(({ showDone, toolbarAlignment, isFocused, autoWidth, isHidden }) => ({\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: showDone ? '280px' : '265px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '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)',\n boxSizing: 'border-box',\n display: 'flex',\n opacity: 1,\n ...(toolbarAlignment === 'right' && {\n right: 0,\n }),\n ...(autoWidth\n ? {\n width: 'auto',\n }\n : {\n width: '100%',\n }),\n ...(isHidden && {\n visibility: 'hidden',\n }),\n}));\n\nconst StyledIconButton = styled(IconButton)({\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top',\n});\n\nconst SharedContainer = styled('div')({\n display: 'flex',\n});\n\nfunction CustomToolbarWrapper(props) {\n const { children, deletable, toolbarOpts, autoWidth, isFocused, doneButtonRef, onDelete, showDone, onDone, style } = props;\n const customStyles = toolbarOpts.minWidth !== undefined ? { minWidth: toolbarOpts.minWidth } : {};\n\n return (\n <StyledToolbar\n className={PIE_TOOLBAR__CLASS}\n showDone={showDone}\n toolbarAlignment={toolbarOpts.alignment}\n isFocused={toolbarOpts.alwaysVisible || isFocused}\n autoWidth={autoWidth}\n isHidden={toolbarOpts.isHidden === true}\n style={{ ...customStyles, ...style }}\n >\n {children}\n\n <SharedContainer>\n {deletable && (\n <StyledIconButton aria-label=\"Delete\" onMouseDown={(e) => onDelete?.(e)}>\n <Delete />\n </StyledIconButton>\n )}\n {showDone && <DoneButton doneButtonRef={doneButtonRef} onClick={onDone} />}\n </SharedContainer>\n </StyledToolbar>\n );\n}\n\nexport default CustomToolbarWrapper;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.DivNode = void 0;
|
|
7
|
-
var _core = require("@tiptap/core");
|
|
8
|
-
// DivNode.ts
|
|
9
|
-
|
|
10
|
-
var DivNode = exports.DivNode = _core.Node.create({
|
|
11
|
-
name: 'div',
|
|
12
|
-
group: 'block',
|
|
13
|
-
content: 'inline*',
|
|
14
|
-
parseHTML: function parseHTML() {
|
|
15
|
-
return [{
|
|
16
|
-
tag: 'div'
|
|
17
|
-
}];
|
|
18
|
-
},
|
|
19
|
-
renderHTML: function renderHTML(_ref) {
|
|
20
|
-
var HTMLAttributes = _ref.HTMLAttributes;
|
|
21
|
-
return ['div', HTMLAttributes, 0];
|
|
22
|
-
},
|
|
23
|
-
addKeyboardShortcuts: function addKeyboardShortcuts() {
|
|
24
|
-
var _this = this;
|
|
25
|
-
var isInsideListItem = function isInsideListItem($from) {
|
|
26
|
-
for (var depth = $from.depth; depth >= 0; depth -= 1) {
|
|
27
|
-
if ($from.node(depth).type.name === 'listItem') {
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return false;
|
|
32
|
-
};
|
|
33
|
-
return {
|
|
34
|
-
Enter: function Enter() {
|
|
35
|
-
var state = _this.editor.state;
|
|
36
|
-
var $from = state.selection.$from;
|
|
37
|
-
if ($from.parent.type.name !== 'div') {
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
if (isInsideListItem($from)) {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
return _this.editor.chain().focus().setNode('paragraph') // current div becomes <p>
|
|
44
|
-
.splitBlock() // create another <p>
|
|
45
|
-
.run();
|
|
46
|
-
},
|
|
47
|
-
// When the cursor is in a div and the user presses Backspace,
|
|
48
|
-
// ProseMirror's default handler may try to join/delete the block node
|
|
49
|
-
// once it becomes empty. That triggers the Enter shortcut above
|
|
50
|
-
// (div → p conversion + split), making it look like a new line is
|
|
51
|
-
// inserted instead of deleting.
|
|
52
|
-
// We handle two cases explicitly:
|
|
53
|
-
// 1. The div already IS empty → swallow the event (nothing to delete).
|
|
54
|
-
// 2. The div has exactly ONE character left → delete just that character
|
|
55
|
-
// using a precise transaction, then stop. This prevents ProseMirror
|
|
56
|
-
// from following up with a block-join that triggers the Enter handler.
|
|
57
|
-
Backspace: function Backspace() {
|
|
58
|
-
var state = _this.editor.state;
|
|
59
|
-
var _state$selection = state.selection,
|
|
60
|
-
$from = _state$selection.$from,
|
|
61
|
-
selectionEmpty = _state$selection.empty;
|
|
62
|
-
if ($from.parent.type.name !== 'div') {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
if (!selectionEmpty) {
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
var parentText = $from.parent.textContent;
|
|
69
|
-
if (parentText.length === 0) {
|
|
70
|
-
return state.doc.childCount === 1 ? true : false;
|
|
71
|
-
}
|
|
72
|
-
if (parentText.length === 1 && $from.parentOffset === 1) {
|
|
73
|
-
var tr = state.tr;
|
|
74
|
-
tr["delete"]($from.pos - 1, $from.pos);
|
|
75
|
-
_this.editor.view.dispatch(tr);
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
//# sourceMappingURL=div-node.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"div-node.js","names":["_core","require","DivNode","exports","Node","create","name","group","content","parseHTML","tag","renderHTML","_ref","HTMLAttributes","addKeyboardShortcuts","_this","isInsideListItem","$from","depth","node","type","Enter","state","editor","selection","parent","chain","focus","setNode","splitBlock","run","Backspace","_state$selection","selectionEmpty","empty","parentText","textContent","length","doc","childCount","parentOffset","tr","pos","view","dispatch"],"sources":["../../src/extensions/div-node.js"],"sourcesContent":["// DivNode.ts\nimport { Node } from '@tiptap/core';\n\nexport const DivNode = Node.create({\n name: 'div',\n group: 'block',\n content: 'inline*',\n\n parseHTML() {\n return [{ tag: 'div' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['div', HTMLAttributes, 0];\n },\n\n addKeyboardShortcuts() {\n const isInsideListItem = ($from) => {\n for (let depth = $from.depth; depth >= 0; depth -= 1) {\n if ($from.node(depth).type.name === 'listItem') {\n return true;\n }\n }\n return false;\n };\n\n return {\n Enter: () => {\n const { state } = this.editor;\n const { $from } = state.selection;\n\n if ($from.parent.type.name !== 'div') {\n return false;\n }\n if (isInsideListItem($from)) {\n return false;\n }\n\n return this.editor\n .chain()\n .focus()\n .setNode('paragraph') // current div becomes <p>\n .splitBlock() // create another <p>\n .run();\n },\n\n // When the cursor is in a div and the user presses Backspace,\n // ProseMirror's default handler may try to join/delete the block node\n // once it becomes empty. That triggers the Enter shortcut above\n // (div → p conversion + split), making it look like a new line is\n // inserted instead of deleting.\n // We handle two cases explicitly:\n // 1. The div already IS empty → swallow the event (nothing to delete).\n // 2. The div has exactly ONE character left → delete just that character\n // using a precise transaction, then stop. This prevents ProseMirror\n // from following up with a block-join that triggers the Enter handler.\n Backspace: () => {\n const { state } = this.editor;\n const { $from, empty: selectionEmpty } = state.selection;\n\n if ($from.parent.type.name !== 'div') {\n return false;\n }\n\n if (!selectionEmpty) {\n return false;\n }\n\n const parentText = $from.parent.textContent;\n\n if (parentText.length === 0) {\n return state.doc.childCount === 1 ? true : false;\n }\n\n if (parentText.length === 1 && $from.parentOffset === 1) {\n const { tr } = state;\n tr.delete($from.pos - 1, $from.pos);\n this.editor.view.dispatch(tr);\n return true;\n }\n\n return false;\n },\n };\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.EnsureEmptyRootIsDiv = void 0;
|
|
7
|
-
var _core = require("@tiptap/core");
|
|
8
|
-
var _state = require("@tiptap/pm/state");
|
|
9
|
-
/**
|
|
10
|
-
* After ProseMirror repairs an empty document, it often inserts a `paragraph`.
|
|
11
|
-
* We want a lone empty top-level block to be `div` (DivNode) so typing stays `<div>A</div>`.
|
|
12
|
-
*/
|
|
13
|
-
var EnsureEmptyRootIsDiv = exports.EnsureEmptyRootIsDiv = _core.Extension.create({
|
|
14
|
-
name: 'ensureEmptyRootIsDiv',
|
|
15
|
-
addProseMirrorPlugins: function addProseMirrorPlugins() {
|
|
16
|
-
var key = new _state.PluginKey(this.name);
|
|
17
|
-
return [new _state.Plugin({
|
|
18
|
-
key: key,
|
|
19
|
-
appendTransaction: function appendTransaction(transactions, _oldState, newState) {
|
|
20
|
-
if (!transactions.some(function (tr) {
|
|
21
|
-
return tr.docChanged;
|
|
22
|
-
})) {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
var doc = newState.doc;
|
|
26
|
-
if (doc.childCount !== 1) {
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
var first = doc.firstChild;
|
|
30
|
-
if (first.type.name !== 'paragraph' || first.content.size > 0) {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
var divType = newState.schema.nodes.div;
|
|
34
|
-
if (!divType) {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Top-level content positions are 0 .. doc.content.size. The first block spans
|
|
39
|
-
// [0, first.nodeSize). Using start=1 replaces the wrong slice and can leave the
|
|
40
|
-
// document inconsistent after a full delete (Cmd+A, Backspace).
|
|
41
|
-
var start = 0;
|
|
42
|
-
var end = first.nodeSize;
|
|
43
|
-
return newState.tr.replaceWith(start, end, divType.create());
|
|
44
|
-
}
|
|
45
|
-
})];
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=ensure-empty-root-div.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-empty-root-div.js","names":["_core","require","_state","EnsureEmptyRootIsDiv","exports","Extension","create","name","addProseMirrorPlugins","key","PluginKey","Plugin","appendTransaction","transactions","_oldState","newState","some","tr","docChanged","doc","childCount","first","firstChild","type","content","size","divType","schema","nodes","div","start","end","nodeSize","replaceWith"],"sources":["../../src/extensions/ensure-empty-root-div.js"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { Plugin, PluginKey } from '@tiptap/pm/state';\n\n/**\n * After ProseMirror repairs an empty document, it often inserts a `paragraph`.\n * We want a lone empty top-level block to be `div` (DivNode) so typing stays `<div>A</div>`.\n */\nexport const EnsureEmptyRootIsDiv = Extension.create({\n name: 'ensureEmptyRootIsDiv',\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 } = newState;\n if (doc.childCount !== 1) {\n return null;\n }\n\n const first = doc.firstChild;\n if (first.type.name !== 'paragraph' || first.content.size > 0) {\n return null;\n }\n\n const divType = newState.schema.nodes.div;\n if (!divType) {\n return null;\n }\n\n // Top-level content positions are 0 .. doc.content.size. The first block spans\n // [0, first.nodeSize). Using start=1 replaces the wrong slice and can leave the\n // document inconsistent after a full delete (Cmd+A, Backspace).\n const start = 0;\n const end = first.nodeSize;\n return newState.tr.replaceWith(start, end, divType.create());\n },\n }),\n ];\n },\n});\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACO,IAAME,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAGE,eAAS,CAACC,MAAM,CAAC;EACnDC,IAAI,EAAE,sBAAsB;EAE5BC,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,GAAKJ,QAAQ,CAAhBI,GAAG;QACX,IAAIA,GAAG,CAACC,UAAU,KAAK,CAAC,EAAE;UACxB,OAAO,IAAI;QACb;QAEA,IAAMC,KAAK,GAAGF,GAAG,CAACG,UAAU;QAC5B,IAAID,KAAK,CAACE,IAAI,CAAChB,IAAI,KAAK,WAAW,IAAIc,KAAK,CAACG,OAAO,CAACC,IAAI,GAAG,CAAC,EAAE;UAC7D,OAAO,IAAI;QACb;QAEA,IAAMC,OAAO,GAAGX,QAAQ,CAACY,MAAM,CAACC,KAAK,CAACC,GAAG;QACzC,IAAI,CAACH,OAAO,EAAE;UACZ,OAAO,IAAI;QACb;;QAEA;QACA;QACA;QACA,IAAMI,KAAK,GAAG,CAAC;QACf,IAAMC,GAAG,GAAGV,KAAK,CAACW,QAAQ;QAC1B,OAAOjB,QAAQ,CAACE,EAAE,CAACgB,WAAW,CAACH,KAAK,EAAEC,GAAG,EAAEL,OAAO,CAACpB,MAAM,CAAC,CAAC,CAAC;MAC9D;IACF,CAAC,CAAC,CACH;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|