@pie-lib/editable-html-tip-tap 1.2.0-next.2 → 1.2.0-next.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/CHANGELOG.md +115 -21
  2. package/LICENSE.md +5 -0
  3. package/lib/components/CharacterPicker.js +2 -1
  4. package/lib/components/CharacterPicker.js.map +1 -1
  5. package/lib/components/EditableHtml.js +34 -17
  6. package/lib/components/EditableHtml.js.map +1 -1
  7. package/lib/components/MenuBar.js +77 -45
  8. package/lib/components/MenuBar.js.map +1 -1
  9. package/lib/components/TiptapContainer.js +15 -9
  10. package/lib/components/TiptapContainer.js.map +1 -1
  11. package/lib/components/characters/characterUtils.js +1 -1
  12. package/lib/components/characters/custom-popper.js +1 -1
  13. package/lib/components/common/done-button.js +1 -1
  14. package/lib/components/common/toolbar-buttons.js +1 -1
  15. package/lib/components/icons/CssIcon.js +1 -1
  16. package/lib/components/icons/RespArea.js +1 -1
  17. package/lib/components/icons/TableIcons.js +1 -1
  18. package/lib/components/icons/TextAlign.js +3 -3
  19. package/lib/components/icons/TextAlign.js.map +1 -1
  20. package/lib/components/image/AltDialog.js +1 -1
  21. package/lib/components/image/ImageToolbar.js +1 -1
  22. package/lib/components/image/InsertImageHandler.js +1 -1
  23. package/lib/components/media/MediaDialog.js +1 -1
  24. package/lib/components/media/MediaToolbar.js +1 -1
  25. package/lib/components/media/MediaWrapper.js +1 -1
  26. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +7 -2
  27. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -1
  28. package/lib/components/respArea/DragInTheBlank/choice.js +16 -8
  29. package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -1
  30. package/lib/components/respArea/ExplicitConstructedResponse.js +2 -2
  31. package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -1
  32. package/lib/components/respArea/InlineDropdown.js +11 -4
  33. package/lib/components/respArea/InlineDropdown.js.map +1 -1
  34. package/lib/components/respArea/MathTemplated.js +130 -0
  35. package/lib/components/respArea/MathTemplated.js.map +1 -0
  36. package/lib/components/respArea/ToolbarIcon.js +1 -1
  37. package/lib/constants.js +1 -1
  38. package/lib/extensions/css.js +1 -1
  39. package/lib/extensions/custom-toolbar-wrapper.js +1 -1
  40. package/lib/extensions/div-node.js +39 -0
  41. package/lib/extensions/div-node.js.map +1 -0
  42. package/lib/extensions/extended-table.js +1 -1
  43. package/lib/extensions/image-component.js +1 -1
  44. package/lib/extensions/image-component.js.map +1 -1
  45. package/lib/extensions/image.js +1 -1
  46. package/lib/extensions/index.js +4 -2
  47. package/lib/extensions/index.js.map +1 -1
  48. package/lib/extensions/math.js +7 -4
  49. package/lib/extensions/math.js.map +1 -1
  50. package/lib/extensions/media.js +15 -12
  51. package/lib/extensions/media.js.map +1 -1
  52. package/lib/extensions/responseArea.js +13 -10
  53. package/lib/extensions/responseArea.js.map +1 -1
  54. package/lib/index.js +1 -1
  55. package/lib/styles/editorContainerStyles.js +6 -5
  56. package/lib/styles/editorContainerStyles.js.map +1 -1
  57. package/lib/theme.js +1 -1
  58. package/lib/utils/helper.js +17 -0
  59. package/lib/utils/helper.js.map +1 -0
  60. package/lib/utils/size.js +1 -1
  61. package/package.json +11 -11
  62. package/src/__tests__/EditableHtml.test.jsx +41 -1
  63. package/src/__tests__/index.test.jsx +4 -1
  64. package/src/components/CharacterPicker.jsx +1 -0
  65. package/src/components/EditableHtml.jsx +40 -16
  66. package/src/components/MenuBar.jsx +66 -25
  67. package/src/components/TiptapContainer.jsx +10 -7
  68. package/src/components/__tests__/CharacterPicker.test.jsx +22 -0
  69. package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +1 -1
  70. package/src/components/__tests__/InlineDropdown.test.jsx +150 -1
  71. package/src/components/__tests__/MenuBar.test.jsx +32 -0
  72. package/src/components/icons/TextAlign.jsx +1 -1
  73. package/src/components/respArea/DragInTheBlank/DragInTheBlank.jsx +6 -1
  74. package/src/components/respArea/DragInTheBlank/choice.jsx +32 -4
  75. package/src/components/respArea/ExplicitConstructedResponse.jsx +1 -1
  76. package/src/components/respArea/InlineDropdown.jsx +12 -2
  77. package/src/components/respArea/MathTemplated.jsx +124 -0
  78. package/src/components/respArea/__tests__/MathTemplated.test.jsx +210 -0
  79. package/src/extensions/__tests__/divNode.test.js +87 -0
  80. package/src/extensions/__tests__/math.test.js +327 -0
  81. package/src/extensions/__tests__/media-node-view.test.jsx +296 -0
  82. package/src/extensions/__tests__/media.test.js +1 -0
  83. package/src/extensions/__tests__/responseArea.test.js +157 -0
  84. package/src/extensions/div-node.js +36 -0
  85. package/src/extensions/index.js +2 -0
  86. package/src/extensions/math.js +6 -3
  87. package/src/extensions/media.js +17 -14
  88. package/src/extensions/responseArea.js +4 -8
  89. package/src/styles/editorContainerStyles.js +5 -4
  90. package/src/utils/helper.js +17 -0
  91. package/lib/__tests__/EditableHtml.test.js +0 -377
  92. package/lib/__tests__/constants.test.js +0 -21
  93. package/lib/__tests__/extensions.test.js +0 -209
  94. package/lib/__tests__/index.test.js +0 -235
  95. package/lib/__tests__/size-utils.test.js +0 -57
  96. package/lib/__tests__/theme.test.js +0 -17
  97. package/lib/components/__tests__/AltDialog.test.js +0 -201
  98. package/lib/components/__tests__/CharacterPicker.test.js +0 -305
  99. package/lib/components/__tests__/CssIcon.test.js +0 -58
  100. package/lib/components/__tests__/DragInTheBlank.test.js +0 -295
  101. package/lib/components/__tests__/ExplicitConstructedResponse.test.js +0 -253
  102. package/lib/components/__tests__/ImageToolbar.test.js +0 -185
  103. package/lib/components/__tests__/InlineDropdown.test.js +0 -287
  104. package/lib/components/__tests__/InsertImageHandler.test.js +0 -162
  105. package/lib/components/__tests__/MediaDialog.test.js +0 -433
  106. package/lib/components/__tests__/MediaToolbar.test.js +0 -126
  107. package/lib/components/__tests__/MediaWrapper.test.js +0 -96
  108. package/lib/components/__tests__/MenuBar.test.js +0 -459
  109. package/lib/components/__tests__/RespArea.test.js +0 -171
  110. package/lib/components/__tests__/TableIcons.test.js +0 -153
  111. package/lib/components/__tests__/TextAlign.test.js +0 -209
  112. package/lib/components/__tests__/TiptapContainer.test.js +0 -196
  113. package/lib/components/__tests__/characterUtils.test.js +0 -178
  114. package/lib/components/__tests__/choice.test.js +0 -213
  115. package/lib/components/__tests__/custom-popper.test.js +0 -108
  116. package/lib/components/__tests__/done-button.test.js +0 -72
  117. package/lib/components/__tests__/toolbar-buttons.test.js +0 -277
  118. package/lib/extensions/__tests__/component.test.js +0 -314
  119. package/lib/extensions/__tests__/css.test.js +0 -214
  120. package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +0 -175
  121. package/lib/extensions/__tests__/extended-table.test.js +0 -92
  122. package/lib/extensions/__tests__/image-component.test.js +0 -305
  123. package/lib/extensions/__tests__/image.test.js +0 -164
  124. package/lib/extensions/__tests__/media.test.js +0 -292
  125. package/lib/extensions/__tests__/responseArea.test.js +0 -330
  126. package/lib/extensions/component.js +0 -305
@@ -63,7 +63,7 @@ var styles = function styles(theme) {
63
63
  background: 'var(--black)',
64
64
  borderRadius: '0.5rem',
65
65
  color: 'var(--white)',
66
- fontFamily: "'JetBrainsMono', monospace",
66
+ fontFamily: '\'JetBrainsMono\', monospace',
67
67
  margin: '1.5rem 0',
68
68
  padding: '0.75rem 1rem',
69
69
  '& code': {
@@ -74,9 +74,10 @@ var styles = function styles(theme) {
74
74
  }
75
75
  },
76
76
  '& blockquote': {
77
- borderLeft: '3px solid var(--gray-3)',
78
- margin: '1.5rem 0',
79
- paddingLeft: '1rem'
77
+ background: '#f9f9f9',
78
+ borderLeft: '5px solid #ccc',
79
+ margin: '1.5em 10px',
80
+ padding: '.5em 10px'
80
81
  },
81
82
  '& hr': {
82
83
  border: 'none',
@@ -133,4 +134,4 @@ var styles = function styles(theme) {
133
134
  };
134
135
  };
135
136
  var _default = exports["default"] = styles;
136
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVuZGVyVWkiLCJyZXF1aXJlIiwic3R5bGVzIiwidGhlbWUiLCJyb290IiwicG9zaXRpb24iLCJwYWRkaW5nIiwiYm9yZGVyIiwiYm9yZGVyUmFkaXVzIiwiY3Vyc29yIiwid29yZEJyZWFrIiwib3ZlcmZsb3ciLCJtYXhIZWlnaHQiLCJtYXJnaW5Ub3AiLCJtYXJnaW4iLCJtYXJnaW5Cb3R0b20iLCJsaW5lSGVpZ2h0IiwidGV4dFdyYXAiLCJmb250U2l6ZSIsImJhY2tncm91bmRDb2xvciIsImNvbG9yIiwiYmFja2dyb3VuZCIsImZvbnRGYW1pbHkiLCJib3JkZXJMZWZ0IiwicGFkZGluZ0xlZnQiLCJib3JkZXJUb3AiLCJ0YWJsZUxheW91dCIsIndpZHRoIiwiYm9yZGVyQ29sbGFwc2UiLCJ0ZXh0IiwidGV4dEFsaWduIiwiY2hpbGRyZW4iLCJlZGl0b3JIb2xkZXIiLCJvdmVyZmxvd1kiLCJkaXNhYmxlZFNjcm9sbGJhciIsImRpc3BsYXkiLCJzY3JvbGxiYXJXaWR0aCIsImVycm9yIiwiY29uY2F0IiwicGFsZXR0ZSIsIm1haW4iLCJub0JvcmRlciIsIm5vUGFkZGluZyIsInRvb2xiYXJPblRvcCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZXMvZWRpdG9yQ29udGFpbmVyU3R5bGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcblxuY29uc3Qgc3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICByb290OiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgcGFkZGluZzogJzBweCcsXG4gICAgYm9yZGVyOiAnMXB4IHNvbGlkICNjY2MnLFxuICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgY3Vyc29yOiAndGV4dCcsXG4gICAgJyYgW2RhdGEtc2xhdGUtZWRpdG9yPVwidHJ1ZVwiXSc6IHtcbiAgICAgIHdvcmRCcmVhazogJ2JyZWFrLXdvcmQnLFxuICAgICAgb3ZlcmZsb3c6ICd2aXNpYmxlJyxcbiAgICAgIG1heEhlaWdodDogJzUwMHB4JyxcbiAgICAgIC8vIG5lZWRlZCBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHB1dCB0aGUgZm9jdXMgYmVmb3JlIGEgdm9pZCBlbGVtZW50IHdoZW4gaXQgaXMgdGhlIGZpcnN0IG9uZSBpbiB0aGUgZWRpdG9yXG4gICAgICBwYWRkaW5nOiAnNXB4JyxcbiAgICB9LFxuXG4gICAgJyY6Zmlyc3QtY2hpbGQnOiB7XG4gICAgICBtYXJnaW5Ub3A6IDAsXG4gICAgfSxcblxuICAgICcmIHVsLCAmIG9sJzoge1xuICAgICAgcGFkZGluZzogJzAgMXJlbScsXG4gICAgICBtYXJnaW46ICcxLjI1cmVtIDFyZW0gMS4yNXJlbSAwLjRyZW0nLFxuICAgIH0sXG5cbiAgICAnJiB1bCBsaSBwLCAmIG9sIGxpIHAnOiB7XG4gICAgICBtYXJnaW5Ub3A6ICcwLjI1ZW0nLFxuICAgICAgbWFyZ2luQm90dG9tOiAnMC4yNWVtJyxcbiAgICB9LFxuXG4gICAgJyYgaDEsICYgaDIsICYgaDMsICYgaDQsICYgaDUsICYgaDYnOiB7XG4gICAgICBsaW5lSGVpZ2h0OiAxLjEsXG4gICAgICBtYXJnaW5Ub3A6ICcyLjVyZW0nLFxuICAgICAgdGV4dFdyYXA6ICdwcmV0dHknLFxuICAgIH0sXG5cbiAgICAnJiBoMSwgJiBoMic6IHtcbiAgICAgIG1hcmdpblRvcDogJzMuNXJlbScsXG4gICAgICBtYXJnaW5Cb3R0b206ICcxLjVyZW0nLFxuICAgIH0sXG5cbiAgICAnJiBoMSc6IHtcbiAgICAgIGZvbnRTaXplOiAnMS40cmVtJyxcbiAgICB9LFxuXG4gICAgJyYgaDInOiB7XG4gICAgICBmb250U2l6ZTogJzEuMnJlbScsXG4gICAgfSxcblxuICAgICcmIGgzJzoge1xuICAgICAgZm9udFNpemU6ICcxLjFyZW0nLFxuICAgIH0sXG5cbiAgICAnJiBoNCwgJiBoNSwgJiBoNic6IHtcbiAgICAgIGZvbnRTaXplOiAnMXJlbScsXG4gICAgfSxcblxuICAgICcmIGNvZGUnOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd2YXIoLS1wdXJwbGUtbGlnaHQpJyxcbiAgICAgIGJvcmRlclJhZGl1czogJzAuNHJlbScsXG4gICAgICBjb2xvcjogJ3ZhcigtLWJsYWNrKScsXG4gICAgICBmb250U2l6ZTogJzAuODVyZW0nLFxuICAgICAgcGFkZGluZzogJzAuMjVlbSAwLjNlbScsXG4gICAgfSxcblxuICAgICcmIHByZSc6IHtcbiAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1ibGFjayknLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMC41cmVtJyxcbiAgICAgIGNvbG9yOiAndmFyKC0td2hpdGUpJyxcbiAgICAgIGZvbnRGYW1pbHk6IFwiJ0pldEJyYWluc01vbm8nLCBtb25vc3BhY2VcIixcbiAgICAgIG1hcmdpbjogJzEuNXJlbSAwJyxcbiAgICAgIHBhZGRpbmc6ICcwLjc1cmVtIDFyZW0nLFxuXG4gICAgICAnJiBjb2RlJzoge1xuICAgICAgICBiYWNrZ3JvdW5kOiAnbm9uZScsXG4gICAgICAgIGNvbG9yOiAnaW5oZXJpdCcsXG4gICAgICAgIGZvbnRTaXplOiAnMC44cmVtJyxcbiAgICAgICAgcGFkZGluZzogMCxcbiAgICAgIH0sXG4gICAgfSxcblxuICAgICcmIGJsb2NrcXVvdGUnOiB7XG4gICAgICBib3JkZXJMZWZ0OiAnM3B4IHNvbGlkIHZhcigtLWdyYXktMyknLFxuICAgICAgbWFyZ2luOiAnMS41cmVtIDAnLFxuICAgICAgcGFkZGluZ0xlZnQ6ICcxcmVtJyxcbiAgICB9LFxuXG4gICAgJyYgaHInOiB7XG4gICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCB2YXIoLS1ncmF5LTIpJyxcbiAgICAgIG1hcmdpbjogJzJyZW0gMCcsXG4gICAgfSxcblxuICAgICcmIHRhYmxlJzoge1xuICAgICAgdGFibGVMYXlvdXQ6ICdmaXhlZCcsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgYm9yZGVyQ29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gICAgfSxcbiAgICAnJiB0YWJsZTpub3QoW2JvcmRlcj1cIjFcIl0pIHRyJzoge1xuICAgICAgYm9yZGVyVG9wOiAnMXB4IHNvbGlkICNkZmUyZTUnLFxuICAgIH0sXG4gICAgJyYgdGQsIHRoJzoge1xuICAgICAgcGFkZGluZzogJy42ZW0gMWVtJyxcbiAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgfSxcbiAgICAnJiB0YWJsZTpub3QoW2JvcmRlcj1cIjFcIl0pIHRkLCB0aCc6IHtcbiAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjZGZlMmU1JyxcbiAgICB9LFxuICB9LFxuICBjaGlsZHJlbjoge1xuICAgIHBhZGRpbmc6ICcxMHB4IDE2cHgnLFxuICB9LFxuICBlZGl0b3JIb2xkZXI6IHtcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICBwYWRkaW5nOiAnMHB4JyxcbiAgICBvdmVyZmxvd1k6ICdhdXRvJyxcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICB9LFxuICBkaXNhYmxlZFNjcm9sbGJhcjoge1xuICAgICcmOjotd2Via2l0LXNjcm9sbGJhcic6IHtcbiAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICB9LFxuICAgIHNjcm9sbGJhcldpZHRoOiAnbm9uZScsXG4gICAgJy1tcy1vdmVyZmxvdy1zdHlsZSc6ICdub25lJyxcbiAgfSxcbiAgZXJyb3I6IHtcbiAgICBib3JkZXI6IGAycHggc29saWQgJHt0aGVtZS5wYWxldHRlLmVycm9yLm1haW59ICFpbXBvcnRhbnRgLFxuICB9LFxuICBub0JvcmRlcjoge1xuICAgIGJvcmRlcjogJ25vbmUnLFxuICB9LFxuICBub1BhZGRpbmc6IHtcbiAgICBwYWRkaW5nOiAwLFxuICB9LFxuICB0b29sYmFyT25Ub3A6IHtcbiAgICBtYXJnaW5Ub3A6ICc0NXB4JyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBzdHlsZXM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFNBQUEsR0FBQUMsT0FBQTtBQUVBLElBQU1DLE1BQU0sR0FBRyxTQUFUQSxNQUFNQSxDQUFJQyxLQUFLO0VBQUEsT0FBTTtJQUN6QkMsSUFBSSxFQUFFO01BQ0pDLFFBQVEsRUFBRSxVQUFVO01BQ3BCQyxPQUFPLEVBQUUsS0FBSztNQUNkQyxNQUFNLEVBQUUsZ0JBQWdCO01BQ3hCQyxZQUFZLEVBQUUsS0FBSztNQUNuQkMsTUFBTSxFQUFFLE1BQU07TUFDZCw4QkFBOEIsRUFBRTtRQUM5QkMsU0FBUyxFQUFFLFlBQVk7UUFDdkJDLFFBQVEsRUFBRSxTQUFTO1FBQ25CQyxTQUFTLEVBQUUsT0FBTztRQUNsQjtRQUNBTixPQUFPLEVBQUU7TUFDWCxDQUFDO01BRUQsZUFBZSxFQUFFO1FBQ2ZPLFNBQVMsRUFBRTtNQUNiLENBQUM7TUFFRCxZQUFZLEVBQUU7UUFDWlAsT0FBTyxFQUFFLFFBQVE7UUFDakJRLE1BQU0sRUFBRTtNQUNWLENBQUM7TUFFRCxzQkFBc0IsRUFBRTtRQUN0QkQsU0FBUyxFQUFFLFFBQVE7UUFDbkJFLFlBQVksRUFBRTtNQUNoQixDQUFDO01BRUQsb0NBQW9DLEVBQUU7UUFDcENDLFVBQVUsRUFBRSxHQUFHO1FBQ2ZILFNBQVMsRUFBRSxRQUFRO1FBQ25CSSxRQUFRLEVBQUU7TUFDWixDQUFDO01BRUQsWUFBWSxFQUFFO1FBQ1pKLFNBQVMsRUFBRSxRQUFRO1FBQ25CRSxZQUFZLEVBQUU7TUFDaEIsQ0FBQztNQUVELE1BQU0sRUFBRTtRQUNORyxRQUFRLEVBQUU7TUFDWixDQUFDO01BRUQsTUFBTSxFQUFFO1FBQ05BLFFBQVEsRUFBRTtNQUNaLENBQUM7TUFFRCxNQUFNLEVBQUU7UUFDTkEsUUFBUSxFQUFFO01BQ1osQ0FBQztNQUVELGtCQUFr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
137
+ //# sourceMappingURL=editorContainerStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editorContainerStyles.js","names":["_renderUi","require","styles","theme","root","position","padding","border","borderRadius","cursor","wordBreak","overflow","maxHeight","marginTop","margin","marginBottom","lineHeight","textWrap","fontSize","backgroundColor","color","background","fontFamily","borderLeft","paddingLeft","borderTop","tableLayout","width","borderCollapse","text","textAlign","children","editorHolder","overflowY","disabledScrollbar","display","scrollbarWidth","error","concat","palette","main","noBorder","noPadding","toolbarOnTop","_default","exports"],"sources":["../../src/styles/editorContainerStyles.js"],"sourcesContent":["import { color } from '@pie-lib/render-ui';\n\nconst styles = (theme) => ({\n root: {\n position: 'relative',\n padding: '0px',\n border: '1px solid #ccc',\n borderRadius: '4px',\n cursor: 'text',\n '& [data-slate-editor=\"true\"]': {\n wordBreak: 'break-word',\n overflow: 'visible',\n maxHeight: '500px',\n // needed in order to be able to put the focus before a void element when it is the first one in the editor\n padding: '5px',\n },\n\n '&:first-child': {\n marginTop: 0,\n },\n\n '& ul, & ol': {\n padding: '0 1rem',\n margin: '1.25rem 1rem 1.25rem 0.4rem',\n },\n\n '& ul li p, & ol li p': {\n marginTop: '0.25em',\n marginBottom: '0.25em',\n },\n\n '& h1, & h2, & h3, & h4, & h5, & h6': {\n lineHeight: 1.1,\n marginTop: '2.5rem',\n textWrap: 'pretty',\n },\n\n '& h1, & h2': {\n marginTop: '3.5rem',\n marginBottom: '1.5rem',\n },\n\n '& h1': {\n fontSize: '1.4rem',\n },\n\n '& h2': {\n fontSize: '1.2rem',\n },\n\n '& h3': {\n fontSize: '1.1rem',\n },\n\n '& h4, & h5, & h6': {\n fontSize: '1rem',\n },\n\n '& code': {\n backgroundColor: 'var(--purple-light)',\n borderRadius: '0.4rem',\n color: 'var(--black)',\n fontSize: '0.85rem',\n padding: '0.25em 0.3em',\n },\n\n '& pre': {\n background: 'var(--black)',\n borderRadius: '0.5rem',\n color: 'var(--white)',\n fontFamily: \"'JetBrainsMono', monospace\",\n margin: '1.5rem 0',\n padding: '0.75rem 1rem',\n\n '& code': {\n background: 'none',\n color: 'inherit',\n fontSize: '0.8rem',\n padding: 0,\n },\n },\n\n '& blockquote': {\n borderLeft: '3px solid var(--gray-3)',\n margin: '1.5rem 0',\n paddingLeft: '1rem',\n },\n\n '& hr': {\n border: 'none',\n borderTop: '1px solid var(--gray-2)',\n margin: '2rem 0',\n },\n\n '& table': {\n tableLayout: 'fixed',\n width: '100%',\n borderCollapse: 'collapse',\n color: color.text(),\n backgroundColor: color.background(),\n },\n '& table:not([border=\"1\"]) tr': {\n borderTop: '1px solid #dfe2e5',\n },\n '& td, th': {\n padding: '.6em 1em',\n textAlign: 'center',\n },\n '& table:not([border=\"1\"]) td, th': {\n border: '1px solid #dfe2e5',\n },\n },\n children: {\n padding: '10px 16px',\n },\n editorHolder: {\n position: 'relative',\n padding: '0px',\n overflowY: 'auto',\n color: color.text(),\n backgroundColor: color.background(),\n },\n disabledScrollbar: {\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n scrollbarWidth: 'none',\n '-ms-overflow-style': 'none',\n },\n error: {\n border: `2px solid ${theme.palette.error.main} !important`,\n },\n noBorder: {\n border: 'none',\n },\n noPadding: {\n padding: 0,\n },\n toolbarOnTop: {\n marginTop: '45px',\n },\n});\n\nexport default styles;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"editorContainerStyles.js","names":["_renderUi","require","styles","theme","root","position","padding","border","borderRadius","cursor","wordBreak","overflow","maxHeight","marginTop","margin","marginBottom","lineHeight","textWrap","fontSize","backgroundColor","color","background","fontFamily","borderLeft","borderTop","tableLayout","width","borderCollapse","text","textAlign","children","editorHolder","overflowY","disabledScrollbar","display","scrollbarWidth","error","concat","palette","main","noBorder","noPadding","toolbarOnTop","_default","exports"],"sources":["../../src/styles/editorContainerStyles.js"],"sourcesContent":["import { color } from '@pie-lib/render-ui';\n\nconst styles = (theme) => ({\n root: {\n position: 'relative',\n padding: '0px',\n border: '1px solid #ccc',\n borderRadius: '4px',\n cursor: 'text',\n '& [data-slate-editor=\"true\"]': {\n wordBreak: 'break-word',\n overflow: 'visible',\n maxHeight: '500px',\n // needed in order to be able to put the focus before a void element when it is the first one in the editor\n padding: '5px',\n },\n\n '&:first-child': {\n marginTop: 0,\n },\n\n '& ul, & ol': {\n padding: '0 1rem',\n margin: '1.25rem 1rem 1.25rem 0.4rem',\n },\n\n '& ul li p, & ol li p': {\n marginTop: '0.25em',\n marginBottom: '0.25em',\n },\n\n '& h1, & h2, & h3, & h4, & h5, & h6': {\n lineHeight: 1.1,\n marginTop: '2.5rem',\n textWrap: 'pretty',\n },\n\n '& h1, & h2': {\n marginTop: '3.5rem',\n marginBottom: '1.5rem',\n },\n\n '& h1': {\n fontSize: '1.4rem',\n },\n\n '& h2': {\n fontSize: '1.2rem',\n },\n\n '& h3': {\n fontSize: '1.1rem',\n },\n\n '& h4, & h5, & h6': {\n fontSize: '1rem',\n },\n\n '& code': {\n backgroundColor: 'var(--purple-light)',\n borderRadius: '0.4rem',\n color: 'var(--black)',\n fontSize: '0.85rem',\n padding: '0.25em 0.3em',\n },\n\n '& pre': {\n background: 'var(--black)',\n borderRadius: '0.5rem',\n color: 'var(--white)',\n fontFamily: '\\'JetBrainsMono\\', monospace',\n margin: '1.5rem 0',\n padding: '0.75rem 1rem',\n\n '& code': {\n background: 'none',\n color: 'inherit',\n fontSize: '0.8rem',\n padding: 0,\n },\n },\n\n '& blockquote': {\n background: '#f9f9f9',\n borderLeft: '5px solid #ccc',\n margin: '1.5em 10px',\n padding: '.5em 10px',\n },\n\n '& hr': {\n border: 'none',\n borderTop: '1px solid var(--gray-2)',\n margin: '2rem 0',\n },\n\n '& table': {\n tableLayout: 'fixed',\n width: '100%',\n borderCollapse: 'collapse',\n color: color.text(),\n backgroundColor: color.background(),\n },\n '& table:not([border=\"1\"]) tr': {\n borderTop: '1px solid #dfe2e5',\n },\n '& td, th': {\n padding: '.6em 1em',\n textAlign: 'center',\n },\n '& table:not([border=\"1\"]) td, th': {\n border: '1px solid #dfe2e5',\n },\n },\n children: {\n padding: '10px 16px',\n },\n editorHolder: {\n position: 'relative',\n padding: '0px',\n overflowY: 'auto',\n color: color.text(),\n backgroundColor: color.background(),\n },\n disabledScrollbar: {\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n scrollbarWidth: 'none',\n '-ms-overflow-style': 'none',\n },\n error: {\n border: `2px solid ${theme.palette.error.main} !important`,\n },\n noBorder: {\n border: 'none',\n },\n noPadding: {\n padding: 0,\n },\n toolbarOnTop: {\n marginTop: '45px',\n },\n});\n\nexport default styles;\n"],"mappings":"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","ignoreList":[]}
package/lib/theme.js CHANGED
@@ -5,4 +5,4 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.primary = void 0;
7
7
  var primary = exports.primary = '#304ffe';
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcmltYXJ5IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uL3NyYy90aGVtZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgcHJpbWFyeSA9ICcjMzA0ZmZlJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQU8sSUFBTUEsT0FBTyxHQUFBQyxPQUFBLENBQUFELE9BQUEsR0FBRyxTQUFTIiwiaWdub3JlTGlzdCI6W119
8
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.normalizeInitialMarkup = void 0;
7
+ var escapeHtml = function escapeHtml(str) {
8
+ return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
9
+ };
10
+ var normalizeInitialMarkup = exports.normalizeInitialMarkup = function normalizeInitialMarkup(markup) {
11
+ var trimmed = String(markup !== null && markup !== void 0 ? markup : '').trim();
12
+ if (!trimmed) return '<div></div>';
13
+ var looksLikeHtml = /<[^>]+>/.test(trimmed);
14
+ if (looksLikeHtml) return trimmed;
15
+ return "<div>".concat(escapeHtml(trimmed), "</div>");
16
+ };
17
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","names":["escapeHtml","str","String","replace","normalizeInitialMarkup","exports","markup","trimmed","trim","looksLikeHtml","test","concat"],"sources":["../../src/utils/helper.js"],"sourcesContent":["const escapeHtml = (str) =>\n String(str)\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#39;');\n\nexport const normalizeInitialMarkup = (markup) => {\n const trimmed = String(markup ?? '').trim();\n if (!trimmed) return '<div></div>';\n\n const looksLikeHtml = /<[^>]+>/.test(trimmed);\n if (looksLikeHtml) return trimmed;\n\n return `<div>${escapeHtml(trimmed)}</div>`;\n};\n"],"mappings":";;;;;;AAAA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAIC,GAAG;EAAA,OACrBC,MAAM,CAACD,GAAG,CAAC,CACRE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CACtBA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CACrBA,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CACrBA,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CACvBA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;AAAA;AAEpB,IAAMC,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,SAAzBA,sBAAsBA,CAAIE,MAAM,EAAK;EAChD,IAAMC,OAAO,GAAGL,MAAM,CAACI,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAE,CAAC,CAACE,IAAI,CAAC,CAAC;EAC3C,IAAI,CAACD,OAAO,EAAE,OAAO,aAAa;EAElC,IAAME,aAAa,GAAG,SAAS,CAACC,IAAI,CAACH,OAAO,CAAC;EAC7C,IAAIE,aAAa,EAAE,OAAOF,OAAO;EAEjC,eAAAI,MAAA,CAAeX,UAAU,CAACO,OAAO,CAAC;AACpC,CAAC","ignoreList":[]}
package/lib/utils/size.js CHANGED
@@ -23,4 +23,4 @@ var valueToSize = exports.valueToSize = function valueToSize(v) {
23
23
  return "".concat(v, "px");
24
24
  }
25
25
  };
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ2YWx1ZVRvU2l6ZSIsImV4cG9ydHMiLCJ2IiwiY2FsY1JlZ2V4IiwiZW5kc1dpdGgiLCJ1bmRlZmluZWQiLCJtYXRjaCIsInZhbHVlIiwicGFyc2VJbnQiLCJOdW1iZXIiLCJpc05hTiIsImNvbmNhdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zaXplLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB2YWx1ZVRvU2l6ZSA9ICh2KSA9PiB7XG4gIGlmICghdikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGNhbGNSZWdleCA9IC9eY2FsY1xcKCguKilcXCkkLztcblxuICBpZiAodHlwZW9mIHYgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKHYuZW5kc1dpdGgoJyUnKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB2LmVuZHNXaXRoKCdweCcpIHx8XG4gICAgICB2LmVuZHNXaXRoKCd2aCcpIHx8XG4gICAgICB2LmVuZHNXaXRoKCd2dycpIHx8XG4gICAgICB2LmVuZHNXaXRoKCdjaCcpIHx8XG4gICAgICB2LmVuZHNXaXRoKCdlbScpIHx8XG4gICAgICB2Lm1hdGNoKGNhbGNSZWdleClcbiAgICApIHtcbiAgICAgIHJldHVybiB2O1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gcGFyc2VJbnQodiwgMTApO1xuXG4gICAgcmV0dXJuIE51bWJlci5pc05hTih2YWx1ZSkgPyB2YWx1ZSA6IGAke3ZhbHVlfXB4YDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdiA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gYCR7dn1weGA7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLElBQU1BLFdBQVcsR0FBQUMsT0FBQSxDQUFBRCxXQUFBLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUUsQ0FBQyxFQUFLO0VBQ2hDLElBQUksQ0FBQ0EsQ0FBQyxFQUFFO0lBQ047RUFDRjtFQUVBLElBQU1DLFNBQVMsR0FBRyxnQkFBZ0I7RUFFbEMsSUFBSSxPQUFPRCxDQUFDLEtBQUssUUFBUSxFQUFFO0lBQ3pCLElBQUlBLENBQUMsQ0FBQ0UsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO01BQ25CLE9BQU9DLFNBQVM7SUFDbEI7SUFFQSxJQUNFSCxDQUFDLENBQUNFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFDaEJGLENBQUMsQ0FBQ0UsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUNoQkYsQ0FBQyxDQUFDRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQ2hCRixDQUFDLENBQUNFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFDaEJGLENBQUMsQ0FBQ0UsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUNoQkYsQ0FBQyxDQUFDSSxLQUFLLENBQUNILFNBQVMsQ0FBQyxFQUNsQjtNQUNBLE9BQU9ELENBQUM7SUFDVjtJQUVBLElBQU1LLEtBQUssR0FBR0MsUUFBUSxDQUFDTixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBRTdCLE9BQU9PLE1BQU0sQ0FBQ0MsS0FBSyxDQUFDSCxLQUFLLENBQUMsR0FBR0EsS0FBSyxNQUFBSSxNQUFBLENBQU1KLEtBQUssT0FBSTtFQUNuRDtFQUVBLElBQUksT0FBT0wsQ0FBQyxLQUFLLFFBQVEsRUFBRTtJQUN6QixVQUFBUyxNQUFBLENBQVVULENBQUM7RUFDYjtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
26
+ //# sourceMappingURL=size.js.map
package/package.json CHANGED
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "name": "@pie-lib/editable-html-tip-tap",
3
- "version": "1.2.0-next.2",
3
+ "publishConfig": {
4
+ "access": "public"
5
+ },
6
+ "version": "1.2.0-next.21",
4
7
  "description": "",
5
8
  "license": "ISC",
6
9
  "main": "lib/index.js",
@@ -13,11 +16,11 @@
13
16
  "@dnd-kit/utilities": "3.2.2",
14
17
  "@mui/icons-material": "^7.3.4",
15
18
  "@mui/material": "^7.3.4",
16
- "@pie-lib/drag": "^3.2.0-next.1",
17
- "@pie-lib/math-input": "^7.2.0-next.1",
18
- "@pie-lib/math-rendering": "^4.2.0-next.1",
19
- "@pie-lib/math-toolbar": "^2.2.0-next.1",
20
- "@pie-lib/render-ui": "^5.2.0-next.1",
19
+ "@pie-lib/drag": "^3.2.0-next.7",
20
+ "@pie-lib/math-input": "^7.2.0-next.10",
21
+ "@pie-lib/math-rendering": "^4.2.0-next.3",
22
+ "@pie-lib/math-toolbar": "^2.2.0-next.12",
23
+ "@pie-lib/render-ui": "^5.2.0-next.7",
21
24
  "@tiptap/core": "3.0.9",
22
25
  "@tiptap/extension-character-count": "3.0.9",
23
26
  "@tiptap/extension-color": "3.0.9",
@@ -49,16 +52,13 @@
49
52
  "to-style": "^1.3.3"
50
53
  },
51
54
  "devDependencies": {
52
- "@pie-framework/mathquill": "^1.1.3",
55
+ "@pie-framework/mathquill": "1.2.1-beta.0",
53
56
  "react": "^18.2.0",
54
57
  "react-dom": "^18.2.0"
55
58
  },
56
59
  "peerDependencies": {
57
60
  "react": "^18.2.0"
58
61
  },
59
- "publishConfig": {
60
- "access": "public"
61
- },
62
- "gitHead": "433bcb776c2975739e7417f133d31cd996164116",
62
+ "gitHead": "a5d035b59963a4bd600a3e0b9e68440665ba69fd",
63
63
  "scripts": {}
64
64
  }
@@ -24,7 +24,9 @@ jest.mock('@tiptap/react', () => ({
24
24
 
25
25
  jest.mock('@tiptap/starter-kit', () => ({
26
26
  __esModule: true,
27
- default: {},
27
+ default: {
28
+ configure: jest.fn(() => ({})),
29
+ },
28
30
  }));
29
31
 
30
32
  jest.mock('@tiptap/extension-text-style', () => ({
@@ -91,6 +93,9 @@ jest.mock('../extensions/responseArea', () => ({
91
93
  InlineDropdownNode: {
92
94
  configure: jest.fn(() => ({})),
93
95
  },
96
+ MathTemplatedNode: {
97
+ configure: jest.fn(() => ({})),
98
+ },
94
99
  ResponseAreaExtension: {
95
100
  configure: jest.fn(() => ({})),
96
101
  },
@@ -263,4 +268,39 @@ describe('EditableHtml', () => {
263
268
  const { container } = render(<EditableHtml {...defaultProps} disableImageAlignmentButtons={true} />);
264
269
  expect(container).toBeInTheDocument();
265
270
  });
271
+
272
+ it('calls editorRef callback when editor is initialized', async () => {
273
+ const editorRef = jest.fn();
274
+ render(<EditableHtml {...defaultProps} editorRef={editorRef} />);
275
+
276
+ await waitFor(() => {
277
+ expect(editorRef).toHaveBeenCalled();
278
+ });
279
+ });
280
+
281
+ it('calls editorRef with the editor instance', async () => {
282
+ const editorRef = jest.fn();
283
+ render(<EditableHtml {...defaultProps} editorRef={editorRef} />);
284
+
285
+ await waitFor(() => {
286
+ expect(editorRef).toHaveBeenCalled();
287
+ // Verify it was called with an object that has editor-like properties
288
+ const callArg = editorRef.mock.calls[0][0];
289
+ expect(callArg).toHaveProperty('getHTML');
290
+ expect(callArg).toHaveProperty('commands');
291
+ });
292
+ });
293
+
294
+ it('handles editorRef being undefined', () => {
295
+ const { container } = render(<EditableHtml {...defaultProps} editorRef={undefined} />);
296
+ expect(container).toBeInTheDocument();
297
+ });
298
+
299
+ it('applies flex display to StyledEditorContent', async () => {
300
+ const { getByTestId } = render(<EditableHtml {...defaultProps} />);
301
+ await waitFor(() => {
302
+ const editorContent = getByTestId('editor-content');
303
+ expect(editorContent).toBeInTheDocument();
304
+ });
305
+ });
266
306
  });
@@ -13,7 +13,10 @@ jest.mock('@tiptap/react', () => ({
13
13
  useEditorState: jest.fn(() => ({ isFocused: false })),
14
14
  }));
15
15
 
16
- jest.mock('@tiptap/starter-kit', () => ({ __esModule: true, default: {} }));
16
+ jest.mock('@tiptap/starter-kit', () => ({
17
+ __esModule: true,
18
+ default: { configure: jest.fn(() => ({})) },
19
+ }));
17
20
  jest.mock('@tiptap/extension-text-style', () => ({ TextStyleKit: {} }));
18
21
  jest.mock('@tiptap/extension-character-count', () => ({
19
22
  CharacterCount: { configure: jest.fn(() => ({})) },
@@ -121,6 +121,7 @@ export function CharacterPicker({ editor, opts, onClose }) {
121
121
  <div
122
122
  ref={containerRef}
123
123
  className="insert-character-dialog"
124
+ data-toolbar-for={editor.instanceId}
124
125
  style={{
125
126
  visibility: position.top === 0 && position.left === 0 ? 'hidden' : 'initial',
126
127
  position: 'absolute',
@@ -1,5 +1,7 @@
1
1
  import React, { useEffect, useMemo, useState } from 'react';
2
+ import debounce from 'lodash-es/debounce';
2
3
  import { EditorContent, useEditor, useEditorState } from '@tiptap/react';
4
+ import { styled } from '@mui/material/styles';
3
5
  import StarterKit from '@tiptap/starter-kit';
4
6
  import { TextStyleKit } from '@tiptap/extension-text-style';
5
7
  import { CharacterCount } from '@tiptap/extension-character-count';
@@ -7,11 +9,11 @@ import SuperScript from '@tiptap/extension-superscript';
7
9
  import SubScript from '@tiptap/extension-subscript';
8
10
  import TextAlign from '@tiptap/extension-text-align';
9
11
  import Image from '@tiptap/extension-image';
10
- import Placeholder from '@tiptap/extension-placeholder'
11
- import { styled } from '@mui/material/styles';
12
- import debounce from 'lodash-es/debounce';
12
+ import Placeholder from '@tiptap/extension-placeholder';
13
+ import { normalizeInitialMarkup } from '../utils/helper';
13
14
 
14
15
  import ExtendedTable from '../extensions/extended-table';
16
+ import { DivNode } from '../extensions/div-node';
15
17
  import { TableRow } from '@tiptap/extension-table-row';
16
18
  import { TableCell } from '@tiptap/extension-table-cell';
17
19
  import { TableHeader } from '@tiptap/extension-table-header';
@@ -19,6 +21,7 @@ import {
19
21
  DragInTheBlankNode,
20
22
  ExplicitConstructedResponseNode,
21
23
  InlineDropdownNode,
24
+ MathTemplatedNode,
22
25
  ResponseAreaExtension,
23
26
  } from '../extensions/responseArea';
24
27
  import { MathNode } from '../extensions/math';
@@ -134,11 +137,21 @@ export const EditableHtml = (props) => {
134
137
  }, [props]);
135
138
 
136
139
  const extensions = [
140
+ TextAlign.configure({
141
+ types: ['heading', 'paragraph', 'div', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'td', 'th'],
142
+ alignments: ['left', 'right', 'center', 'justify'],
143
+ }),
137
144
  TextStyleKit,
138
145
  CharacterCount.configure({
139
146
  limit: props.charactersLimit || 1000000,
140
147
  }),
141
- StarterKit,
148
+ StarterKit.configure({
149
+ trailingNode: {
150
+ node: 'paragraph',
151
+ notAfter: ['paragraph', 'div'],
152
+ },
153
+ }),
154
+ DivNode,
142
155
  Placeholder.configure({
143
156
  placeholder: props.placeholder,
144
157
  // show placeholder even when editor is focused
@@ -154,15 +167,12 @@ export const EditableHtml = (props) => {
154
167
  ExplicitConstructedResponseNode.configure(props.responseAreaProps),
155
168
  DragInTheBlankNode.configure(props.responseAreaProps),
156
169
  InlineDropdownNode.configure(props.responseAreaProps),
170
+ MathTemplatedNode.configure(props.responseAreaProps),
157
171
  MathNode.configure({
158
172
  toolbarOpts: toolbarOptsToUse,
159
173
  }),
160
174
  SubScript,
161
175
  SuperScript,
162
- TextAlign.configure({
163
- types: ['heading', 'paragraph'],
164
- alignments: ['left', 'right', 'center'],
165
- }),
166
176
  Image,
167
177
  ImageUploadNode.configure({
168
178
  toolbarOpts: toolbarOptsToUse,
@@ -250,7 +260,7 @@ export const EditableHtml = (props) => {
250
260
  },
251
261
  },
252
262
  editable: !props.disabled,
253
- content: props.markup,
263
+ content: normalizeInitialMarkup(props.markup),
254
264
  onUpdate: ({ editor, transaction }) => {
255
265
  if (transaction.isDone) {
256
266
  props.onChange?.(editor.getHTML());
@@ -258,7 +268,9 @@ export const EditableHtml = (props) => {
258
268
  },
259
269
  onBlur: debounce(({ editor }) => {
260
270
  const otherToolbarOpened =
261
- editor._toolbarOpened || editor.isActive('inline_dropdown') || editor.isActive('explicit_constructed_response');
271
+ editor._toolbarOpened ||
272
+ editor.isActive('inline_dropdown') ||
273
+ editor.isActive('explicit_constructed_response');
262
274
 
263
275
  if (otherToolbarOpened) {
264
276
  return;
@@ -276,6 +288,12 @@ export const EditableHtml = (props) => {
276
288
  [props.charactersLimit],
277
289
  );
278
290
 
291
+ useEffect(() => {
292
+ if (props.editorRef) {
293
+ props.editorRef(editor);
294
+ }
295
+ }, [props.editorRef, editor]);
296
+
279
297
  useEffect(() => {
280
298
  editor?.setEditable(!props.disabled);
281
299
  }, [props.disabled, editor]);
@@ -284,9 +302,10 @@ export const EditableHtml = (props) => {
284
302
  if (!editor) {
285
303
  return;
286
304
  }
305
+ const nextMarkup = normalizeInitialMarkup(props.markup);
287
306
 
288
- if (props.markup !== editor.getHTML()) {
289
- editor.commands.setContent(props.markup, false); // false = don’t emit update
307
+ if (nextMarkup !== editor.getHTML()) {
308
+ editor.commands.setContent(nextMarkup, false);
290
309
  }
291
310
  }, [props.markup, editor]);
292
311
 
@@ -345,26 +364,31 @@ export const EditableHtml = (props) => {
345
364
  const StyledEditorContent = styled(EditorContent, {
346
365
  shouldForwardProp: (prop) => !['showParagraph', 'separateParagraph'].includes(prop),
347
366
  })(({ showParagraph, separateParagraph }) => ({
367
+ display: 'flex',
348
368
  outline: 'none !important',
349
369
  '& .ProseMirror': {
370
+ flex: 1,
350
371
  padding: '5px',
351
372
  maxHeight: '500px',
352
373
  outline: 'none !important',
353
374
  position: 'initial',
354
- '& > p': {
375
+
376
+ // reset default margins for all block paragraphs/divs in the editor
377
+ '& > p, & > div': {
355
378
  margin: '0',
356
379
  },
357
380
 
358
- '& p.is-editor-empty:first-child::before': {
381
+ '& p.is-editor-empty:first-child::before, & div.is-editor-empty:first-child::before': {
359
382
  content: 'attr(data-placeholder)',
360
- display: 'block',
383
+ float: 'left',
384
+ height: 0,
361
385
  color: '#9CA3AF',
362
386
  pointerEvents: 'none',
363
387
  whiteSpace: 'pre-wrap',
364
388
  },
365
389
 
366
390
  ...(showParagraph && {
367
- '& > p:has(+ p)::after': {
391
+ '& > p:has(+ p)::after, & > div:has(+ div)::after': {
368
392
  display: 'block',
369
393
  content: '"¶"',
370
394
  fontSize: '1em',