@brightspot/ui 3.0.1-cms-ui-migration.1 → 3.0.1-cms-ui-migration.3

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 (303) hide show
  1. package/README.md +54 -35
  2. package/dist/custom-elements.json +2536 -2536
  3. package/dist/storybook/assets/{ActionBar.stories-BhdqLyzJ.js → ActionBar.stories-CSxtZl7v.js} +1 -1
  4. package/dist/storybook/assets/{ActionItem.stories-17zjMCkO.js → ActionItem.stories-BWcMRMP3.js} +1 -1
  5. package/dist/storybook/assets/{Avatar.stories-C5m3-zOH.js → Avatar.stories-CYTUGXzH.js} +1 -1
  6. package/dist/storybook/assets/{AvatarGroup.stories-DE88PJ6w.js → AvatarGroup.stories-CSYBYo_5.js} +1 -1
  7. package/dist/storybook/assets/{Badge.stories-D905HmvO.js → Badge.stories-LuF4BuVr.js} +1 -1
  8. package/dist/storybook/assets/{Button-ANyLESGb.js → Button-CrXCMxHb.js} +1 -1
  9. package/dist/storybook/assets/{Button.stories-DbH6q5L3.js → Button.stories-JVwxdrdM.js} +1 -1
  10. package/dist/storybook/assets/{ButtonGroup.stories-loqgAB7p.js → ButtonGroup.stories-qtq64a1H.js} +1 -1
  11. package/dist/storybook/assets/{Celebrate.stories-CRO3rSgp.js → Celebrate.stories-DjTtaSd6.js} +1 -1
  12. package/dist/storybook/assets/{Checkbox.stories-SZtgfbFe.js → Checkbox.stories-v1Pr5mL6.js} +1 -1
  13. package/dist/storybook/assets/{CircularProgress.stories-VayPxO4M.js → CircularProgress.stories-DkV7PJ4D.js} +1 -1
  14. package/dist/storybook/assets/{ClipboardMixin.stories-0EB2O2zT.js → ClipboardMixin.stories-Dh5c7uSM.js} +1 -1
  15. package/dist/storybook/assets/{Color-6BZIO3FS-CFpcD80i.js → Color-6BZIO3FS-B1gcREt6.js} +1 -1
  16. package/dist/storybook/assets/{Colors.stories-BJGM6xnp.js → Colors.stories-DnubtRqn.js} +1 -1
  17. package/dist/storybook/assets/{CombinedEffects.stories-DUwocYcn.js → CombinedEffects.stories-By6akSve.js} +1 -1
  18. package/dist/storybook/assets/{ComponentStatesMixin-MUqdPCf7.js → ComponentStatesMixin-CPLGv3h-.js} +1 -1
  19. package/dist/storybook/assets/{ComponentStatesMixin.stories-DjrxNwE7.js → ComponentStatesMixin.stories-CiQ_lyhm.js} +1 -1
  20. package/dist/storybook/assets/{CopyToClipboard.stories-DptOcPq6.js → CopyToClipboard.stories-cJ7rl3mj.js} +1 -1
  21. package/dist/storybook/assets/{Debounce.stories-BbcIWmhD.js → Debounce.stories-Bw-goobU.js} +1 -1
  22. package/dist/storybook/assets/{DocsRenderer-LL677BLK-Yy8fjeNG.js → DocsRenderer-LL677BLK-CNW57dGQ.js} +3 -3
  23. package/dist/storybook/assets/{Dropdown.stories-Du3LrBR6.js → Dropdown.stories-CwC3HXXd.js} +1 -1
  24. package/dist/storybook/assets/{EmptyState.stories-Dy9P8aOY.js → EmptyState.stories-BUEJwuhP.js} +1 -1
  25. package/dist/storybook/assets/{Events.stories-DvdVQxDf.js → Events.stories-D1mf9buv.js} +1 -1
  26. package/dist/storybook/assets/{Heading.stories-BQ1jFOKn.js → Heading.stories-DO906G4P.js} +1 -1
  27. package/dist/storybook/assets/{HueRipple.stories-CrZFjnRl.js → HueRipple.stories-BOySRSZB.js} +1 -1
  28. package/dist/storybook/assets/{Icon.stories-C2Tj8Lx1.js → Icon.stories-BsqgTbdG.js} +1 -1
  29. package/dist/storybook/assets/{IconButton.stories-DFqouOJb.js → IconButton.stories-aza1AAKk.js} +1 -1
  30. package/dist/storybook/assets/{LinearProgress.stories-DtNw3QX3.js → LinearProgress.stories-CDYmiiex.js} +1 -1
  31. package/dist/storybook/assets/{Pagination.stories-CFiZ9APs.js → Pagination.stories-LXB-x7YB.js} +1 -1
  32. package/dist/storybook/assets/{Popover.stories-DkkTuYag.js → Popover.stories-DY1HesPJ.js} +1 -1
  33. package/dist/storybook/assets/{ReadyMixin-BA01Vm_B.js → ReadyMixin-DmOC67IJ.js} +1 -1
  34. package/dist/storybook/assets/{RovingTabindexMixin.stories-BesAqt48.js → RovingTabindexMixin.stories-BWy0Rq8d.js} +1 -1
  35. package/dist/storybook/assets/{Rtc.stories-iTw43rjp.js → Rtc.stories-DrmdqqbI.js} +1 -1
  36. package/dist/storybook/assets/{ScrollShadow.stories-QYqQCcAo.js → ScrollShadow.stories-DiKFPazh.js} +1 -1
  37. package/dist/storybook/assets/{Switch.stories-BKArq9Mk.js → Switch.stories-BgFnw8_z.js} +1 -1
  38. package/dist/storybook/assets/{Tab.stories-8UdDPvE5.js → Tab.stories-c2wLMooF.js} +1 -1
  39. package/dist/storybook/assets/{Tabs.stories-BPGMZ552.js → Tabs.stories-CjH8seNP.js} +1 -1
  40. package/dist/storybook/assets/{Throttle.stories-CYl5d0r6.js → Throttle.stories-CXysc_QE.js} +1 -1
  41. package/dist/storybook/assets/{Tooltip.stories-cZ0zSlwX.js → Tooltip.stories-6qzyByPm.js} +1 -1
  42. package/dist/storybook/assets/{Upload.stories-CPC7N0Ed.js → Upload.stories-BLxykydQ.js} +1 -1
  43. package/dist/storybook/assets/{UploadItem.stories-D0LClT0a.js → UploadItem.stories-CcfcqdJW.js} +1 -1
  44. package/dist/storybook/assets/{Welcome.stories-C8JUaRas.js → Welcome.stories-CzYS_3fH.js} +1 -1
  45. package/dist/storybook/assets/{Widget.stories-C1FxF24-.js → Widget.stories-Du7T4LAI.js} +1 -1
  46. package/dist/storybook/assets/{WithTooltip-65CFNBJE-BMBo-fie.js → WithTooltip-65CFNBJE-D4LfXdYt.js} +1 -1
  47. package/dist/storybook/assets/{blocks-BTsuXRXZ.js → blocks-DR3fGePu.js} +5 -5
  48. package/dist/storybook/assets/{formatter-EIJCOSYU-BJ1Cwrpx.js → formatter-EIJCOSYU-Cf01216O.js} +1 -1
  49. package/dist/storybook/assets/if-defined-DaMmbcIU.js +1 -0
  50. package/dist/storybook/assets/{iframe-B3YWTqkR.js → iframe-CQArUhO8.js} +4 -4
  51. package/dist/storybook/assets/{iframe-BgFj0b5u.css → iframe-D0roG0J-.css} +1 -1
  52. package/dist/storybook/assets/{index-BBUTVEdP.js → index-B1uI_67G.js} +1 -1
  53. package/dist/storybook/assets/{onFind-NC0lGo-r.js → onFind-BpFkN2Rh.js} +1 -1
  54. package/dist/storybook/assets/{onFind.stories-CqbwQgQF.js → onFind.stories-Cxdeg69X.js} +1 -1
  55. package/dist/storybook/assets/{onRemove.stories-Y8Ycs77o.js → onRemove.stories-BHEWpNrE.js} +1 -1
  56. package/dist/storybook/assets/{onVisible.stories-CcLUE35q.js → onVisible.stories-DFJ3S_ZS.js} +1 -1
  57. package/dist/storybook/assets/{style-map-MSB_ngx3.js → style-map-DJ83UC3V.js} +1 -1
  58. package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-BjkjEDMG.js → syntaxhighlighter-ED5Y7EFY-zYN83mxK.js} +1 -1
  59. package/dist/storybook/iframe.html +2 -2
  60. package/dist/storybook/project.json +1 -1
  61. package/dist/tailwind.config.d.ts +4 -1
  62. package/dist/tailwind.config.d.ts.map +1 -1
  63. package/dist/tailwind.config.js +0 -2
  64. package/dist/tailwind.config.js.map +1 -1
  65. package/dist/tailwind.config.ts +0 -2
  66. package/package.json +16 -2
  67. package/dist/storybook/assets/if-defined-BPCd2NXs.js +0 -1
  68. package/src/legacy/tool-ui/src/main/resources/settings.properties +0 -1
  69. package/src/legacy/tool-ui/src/main/webapp/WEB-INF/web.xml +0 -81
  70. package/src/legacy/tool-ui/src/main/webapp/script/bsp-uploader.js +0 -170
  71. package/src/legacy/tool-ui/src/main/webapp/script/bsp-utils.js +0 -393
  72. package/src/legacy/tool-ui/src/main/webapp/script/content/layout-element.js +0 -141
  73. package/src/legacy/tool-ui/src/main/webapp/script/input/query.js +0 -78
  74. package/src/legacy/tool-ui/src/main/webapp/script/input/workflow.js +0 -718
  75. package/src/legacy/tool-ui/src/main/webapp/script/jquery.extra.js +0 -633
  76. package/src/legacy/tool-ui/src/main/webapp/script/v3/Dropbox.js +0 -18
  77. package/src/legacy/tool-ui/src/main/webapp/script/v3/EditFieldUpdate.js +0 -406
  78. package/src/legacy/tool-ui/src/main/webapp/script/v3/EditFieldUpdateCache.js +0 -1
  79. package/src/legacy/tool-ui/src/main/webapp/script/v3/Notification.js +0 -151
  80. package/src/legacy/tool-ui/src/main/webapp/script/v3/content/edit.js +0 -194
  81. package/src/legacy/tool-ui/src/main/webapp/script/v3/content/state.js +0 -785
  82. package/src/legacy/tool-ui/src/main/webapp/script/v3/csrf.js +0 -35
  83. package/src/legacy/tool-ui/src/main/webapp/script/v3/dashboard.js +0 -65
  84. package/src/legacy/tool-ui/src/main/webapp/script/v3/input/dataTransfer.js +0 -129
  85. package/src/legacy/tool-ui/src/main/webapp/script/v3/input/file.js +0 -433
  86. package/src/legacy/tool-ui/src/main/webapp/script/v3/input/object.js +0 -743
  87. package/src/legacy/tool-ui/src/main/webapp/script/v3/input/read-only.js +0 -17
  88. package/src/legacy/tool-ui/src/main/webapp/script/v3/jquery.frame.js +0 -478
  89. package/src/legacy/tool-ui/src/main/webapp/script/v3/jquery.repeatable.js +0 -2406
  90. package/src/legacy/tool-ui/src/main/webapp/script/v3/plugin/popup.d.ts +0 -2
  91. package/src/legacy/tool-ui/src/main/webapp/script/v3/plugin/popup.js +0 -446
  92. package/src/legacy/tool-ui/src/main/webapp/script/v3/search-filters.js +0 -62
  93. package/src/legacy/tool-ui/src/main/webapp/script/v3/search.js +0 -53
  94. package/src/legacy/tool-ui/src/main/webapp/script/v3.js +0 -1049
  95. package/src/legacy/tool-ui/src/main/webapp/v4/Admin.js +0 -16
  96. package/src/legacy/tool-ui/src/main/webapp/v4/AutoExpand.js +0 -84
  97. package/src/legacy/tool-ui/src/main/webapp/v4/AutoSubmit.js +0 -68
  98. package/src/legacy/tool-ui/src/main/webapp/v4/Bridge.js +0 -536
  99. package/src/legacy/tool-ui/src/main/webapp/v4/CheckboxInput.js +0 -22
  100. package/src/legacy/tool-ui/src/main/webapp/v4/ColorInput.js +0 -5
  101. package/src/legacy/tool-ui/src/main/webapp/v4/ColorInputSpectrum.js +0 -107
  102. package/src/legacy/tool-ui/src/main/webapp/v4/ComboInput.js +0 -1491
  103. package/src/legacy/tool-ui/src/main/webapp/v4/CommunityWidget.js +0 -29
  104. package/src/legacy/tool-ui/src/main/webapp/v4/ContentEdit.js +0 -2427
  105. package/src/legacy/tool-ui/src/main/webapp/v4/ContentLock.js +0 -470
  106. package/src/legacy/tool-ui/src/main/webapp/v4/ContentReporting.js +0 -32
  107. package/src/legacy/tool-ui/src/main/webapp/v4/DataTable.js +0 -31
  108. package/src/legacy/tool-ui/src/main/webapp/v4/DateStringField.js +0 -485
  109. package/src/legacy/tool-ui/src/main/webapp/v4/Entry.js +0 -264
  110. package/src/legacy/tool-ui/src/main/webapp/v4/ExternalItemAuth.js +0 -16
  111. package/src/legacy/tool-ui/src/main/webapp/v4/Form.js +0 -31
  112. package/src/legacy/tool-ui/src/main/webapp/v4/Hierarchy.js +0 -100
  113. package/src/legacy/tool-ui/src/main/webapp/v4/Icon.ts +0 -49
  114. package/src/legacy/tool-ui/src/main/webapp/v4/ImageEditor.js +0 -2403
  115. package/src/legacy/tool-ui/src/main/webapp/v4/ImageEditorBundle.js +0 -5
  116. package/src/legacy/tool-ui/src/main/webapp/v4/LinkCarousel.js +0 -40
  117. package/src/legacy/tool-ui/src/main/webapp/v4/LinkList.js +0 -14
  118. package/src/legacy/tool-ui/src/main/webapp/v4/LinkTable.js +0 -123
  119. package/src/legacy/tool-ui/src/main/webapp/v4/Location.js +0 -19
  120. package/src/legacy/tool-ui/src/main/webapp/v4/LocationMap.js +0 -148
  121. package/src/legacy/tool-ui/src/main/webapp/v4/LookingGlass.js +0 -24
  122. package/src/legacy/tool-ui/src/main/webapp/v4/Message.js +0 -14
  123. package/src/legacy/tool-ui/src/main/webapp/v4/NumberBar.js +0 -32
  124. package/src/legacy/tool-ui/src/main/webapp/v4/Page.js +0 -890
  125. package/src/legacy/tool-ui/src/main/webapp/v4/Preview.js +0 -758
  126. package/src/legacy/tool-ui/src/main/webapp/v4/PreviewEditor.js +0 -86
  127. package/src/legacy/tool-ui/src/main/webapp/v4/PreviewOverlay.js +0 -1005
  128. package/src/legacy/tool-ui/src/main/webapp/v4/PubSub.js +0 -47
  129. package/src/legacy/tool-ui/src/main/webapp/v4/QueryField.js +0 -211
  130. package/src/legacy/tool-ui/src/main/webapp/v4/RegionMap.js +0 -215
  131. package/src/legacy/tool-ui/src/main/webapp/v4/RepeatableContentInputGroup.js +0 -160
  132. package/src/legacy/tool-ui/src/main/webapp/v4/RichTextEditor.js +0 -154
  133. package/src/legacy/tool-ui/src/main/webapp/v4/SearchFields.js +0 -281
  134. package/src/legacy/tool-ui/src/main/webapp/v4/SearchResult.js +0 -255
  135. package/src/legacy/tool-ui/src/main/webapp/v4/SharePreview.js +0 -56
  136. package/src/legacy/tool-ui/src/main/webapp/v4/Sortable.js +0 -874
  137. package/src/legacy/tool-ui/src/main/webapp/v4/StyleEmbeddedContent.js +0 -100
  138. package/src/legacy/tool-ui/src/main/webapp/v4/StyleguidePresets.js +0 -357
  139. package/src/legacy/tool-ui/src/main/webapp/v4/TabContainer.js +0 -360
  140. package/src/legacy/tool-ui/src/main/webapp/v4/Taxonomy.js +0 -27
  141. package/src/legacy/tool-ui/src/main/webapp/v4/ThemeBundleEditor.js +0 -224
  142. package/src/legacy/tool-ui/src/main/webapp/v4/TimedContent.js +0 -147
  143. package/src/legacy/tool-ui/src/main/webapp/v4/TimedContentBundle.js +0 -8
  144. package/src/legacy/tool-ui/src/main/webapp/v4/VideoEditor.js +0 -2417
  145. package/src/legacy/tool-ui/src/main/webapp/v4/VideoEditorBundle.js +0 -8
  146. package/src/legacy/tool-ui/src/main/webapp/v4/ViewMirror.js +0 -52
  147. package/src/legacy/tool-ui/src/main/webapp/v4/ViewPreview.d.ts +0 -13
  148. package/src/legacy/tool-ui/src/main/webapp/v4/ViewPreview.js +0 -177
  149. package/src/legacy/tool-ui/src/main/webapp/v4/Widget.js +0 -90
  150. package/src/legacy/tool-ui/src/main/webapp/v4/__mocks__/fileMock.js +0 -1
  151. package/src/legacy/tool-ui/src/main/webapp/v4/__mocks__/styleMock.js +0 -1
  152. package/src/legacy/tool-ui/src/main/webapp/v4/__mocks__/textArea.mock.js +0 -20
  153. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/globals.js +0 -770
  154. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/ProseMirror.test.js +0 -16
  155. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/index.html +0 -54
  156. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/comment_manager/CommentManager.test.js +0 -29
  157. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/comment_manager/index.html +0 -35
  158. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/custom_keyboard/CustomKeyboard.js +0 -42
  159. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/custom_keyboard/index.html +0 -37
  160. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/enhancement_manager/EnhancementManager.test.js +0 -288
  161. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/enhancement_manager/block.html +0 -38
  162. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/enhancement_manager/inline.html +0 -38
  163. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/enhancement_manager/no-popups.html +0 -38
  164. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/list_manager/ListManager.js +0 -257
  165. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/list_manager/index.html +0 -38
  166. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/hierarchal.html +0 -33
  167. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/index.html +0 -33
  168. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/menubar.test.js +0 -195
  169. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/small.html +0 -34
  170. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/menubar/tags.html +0 -34
  171. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/placeholder_manager/PlaceholderManager.test.js +0 -134
  172. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/placeholder_manager/has-editable-placeholder.html +0 -32
  173. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/placeholder_manager/has-text.html +0 -34
  174. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/placeholder_manager/index.html +0 -31
  175. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/table_manager/TableManager.test.js +0 -63
  176. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/table_manager/existing.html +0 -48
  177. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/track_manager/TrackManager.test.js +0 -291
  178. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/track_manager/existing.html +0 -39
  179. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/integration/rte/plugins/track_manager/insert.html +0 -37
  180. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/Sortable.test.js +0 -105
  181. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/ProseMirror.test.js +0 -41
  182. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/codemirror-shim.test.js +0 -72
  183. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/collab_manager/CollabManager.test.js +0 -46
  184. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/enhancement_manager/EnhancementManager.test.js +0 -84
  185. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/list_manager/ListManager.test.js +0 -54
  186. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/menubar/menubar.test.js +0 -183
  187. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/plugins/spellcheck/SpellCheck.test.js +0 -45
  188. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/settings/BSSerializer.test.js +0 -346
  189. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/settings/menuItemsBuilder.test.js +0 -226
  190. package/src/legacy/tool-ui/src/main/webapp/v4/__tests__/unit/rte/utilities.test.js +0 -118
  191. package/src/legacy/tool-ui/src/main/webapp/v4/appetizeio/Appetizeio.js +0 -5
  192. package/src/legacy/tool-ui/src/main/webapp/v4/appetizeio/AppetizeioEmbedded.js +0 -113
  193. package/src/legacy/tool-ui/src/main/webapp/v4/compat/Fetch.js +0 -16
  194. package/src/legacy/tool-ui/src/main/webapp/v4/compat/jquery.js +0 -32
  195. package/src/legacy/tool-ui/src/main/webapp/v4/compat/requirejs.js +0 -13
  196. package/src/legacy/tool-ui/src/main/webapp/v4/dom/Tether.js +0 -1
  197. package/src/legacy/tool-ui/src/main/webapp/v4/dom/TetherLayout.js +0 -1
  198. package/src/legacy/tool-ui/src/main/webapp/v4/dom/closest.js +0 -1
  199. package/src/legacy/tool-ui/src/main/webapp/v4/dom/create.js +0 -1
  200. package/src/legacy/tool-ui/src/main/webapp/v4/dom/find.js +0 -1
  201. package/src/legacy/tool-ui/src/main/webapp/v4/dom/findAll.js +0 -1
  202. package/src/legacy/tool-ui/src/main/webapp/v4/dom/ifClick.js +0 -1
  203. package/src/legacy/tool-ui/src/main/webapp/v4/dom/ifMatches.js +0 -1
  204. package/src/legacy/tool-ui/src/main/webapp/v4/dom/ifUnmodified.js +0 -1
  205. package/src/legacy/tool-ui/src/main/webapp/v4/dom/index.js +0 -5
  206. package/src/legacy/tool-ui/src/main/webapp/v4/dom/insertBefore.js +0 -1
  207. package/src/legacy/tool-ui/src/main/webapp/v4/dom/insertFirst.js +0 -1
  208. package/src/legacy/tool-ui/src/main/webapp/v4/dom/insertLast.js +0 -1
  209. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onFind.js +0 -1
  210. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onFindOnce.js +0 -1
  211. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onRTEReady.js +0 -1
  212. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onRemove.js +0 -1
  213. package/src/legacy/tool-ui/src/main/webapp/v4/dom/onVisible.js +0 -1
  214. package/src/legacy/tool-ui/src/main/webapp/v4/dom/previousUntil.js +0 -1
  215. package/src/legacy/tool-ui/src/main/webapp/v4/dom/resolveIconCompat.js +0 -40
  216. package/src/legacy/tool-ui/src/main/webapp/v4/rtc/Socket.js +0 -1
  217. package/src/legacy/tool-ui/src/main/webapp/v4/rtc/index.js +0 -1
  218. package/src/legacy/tool-ui/src/main/webapp/v4/rte/ProseMirror.js +0 -909
  219. package/src/legacy/tool-ui/src/main/webapp/v4/rte/README.md +0 -68
  220. package/src/legacy/tool-ui/src/main/webapp/v4/rte/codemirror-shim.d.ts +0 -8
  221. package/src/legacy/tool-ui/src/main/webapp/v4/rte/codemirror-shim.js +0 -274
  222. package/src/legacy/tool-ui/src/main/webapp/v4/rte/collab-workflow.jpeg +0 -0
  223. package/src/legacy/tool-ui/src/main/webapp/v4/rte/interchangeable.ts +0 -250
  224. package/src/legacy/tool-ui/src/main/webapp/v4/rte/mention.js +0 -90
  225. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/PluginProvider.js +0 -124
  226. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/README.md +0 -46
  227. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/ai_inline_manager/AIInlineManager.ts +0 -124
  228. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/ai_inline_manager/views/AIInlineView.ts +0 -1019
  229. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/ai_manager/AiManager.ts +0 -199
  230. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/collab_manager/CollabManager.js +0 -339
  231. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/collab_manager/views/AvatarView.js +0 -96
  232. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/comment_manager/CommentManager.js +0 -348
  233. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/custom_keyboard/CustomKeyboard.js +0 -110
  234. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/custom_keyboard/README.md +0 -29
  235. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/EnhancementManager.js +0 -428
  236. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/README.md +0 -63
  237. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/commands.js +0 -690
  238. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/constants.js +0 -12
  239. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/enhancement-creation.jpeg +0 -0
  240. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/index.js +0 -15
  241. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/rte-flow.jpeg +0 -0
  242. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/ActionButtonView.js +0 -86
  243. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/BlockSubmenuView.js +0 -60
  244. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/EnhancementView.js +0 -208
  245. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/PreviewView.js +0 -102
  246. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/enhancement_manager/views/SubmenuView.js +0 -365
  247. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/find_replace_manager/FindReplaceManager.js +0 -239
  248. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/find_replace_manager/views/FindView.js +0 -604
  249. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/FullscreenManager.js +0 -57
  250. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/README.md +0 -26
  251. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/commands.js +0 -16
  252. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/index.js +0 -4
  253. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/fullscreen_manager/views/FullscreenView.js +0 -474
  254. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/html_editor_manager/htmlEditorManager.js +0 -66
  255. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/html_editor_manager/views/HtmlEditorView.js +0 -97
  256. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/ListManager.js +0 -342
  257. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/README.md +0 -50
  258. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/commands.js +0 -207
  259. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/constants.js +0 -26
  260. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/list_manager/index.js +0 -4
  261. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/menubar/Menubar.js +0 -485
  262. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/menubar/README.md +0 -40
  263. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/menubar/views/MenuView.js +0 -842
  264. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/paste_manager/PasteManager.js +0 -368
  265. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/placeholder_manager/PlaceHolderManager.js +0 -128
  266. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/raw_text_manager/README.md +0 -13
  267. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/raw_text_manager/RawTextManager.js +0 -96
  268. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/spellcheck/index.js +0 -3
  269. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/spellcheck/spellcheck-plugin.js +0 -280
  270. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/spellcheck/spellcheck-service.js +0 -94
  271. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/TableManager.js +0 -57
  272. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/commands.js +0 -97
  273. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/views/TableSizerView.js +0 -88
  274. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/table_manager/views/TableView.js +0 -613
  275. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/track_manager/README.md +0 -13
  276. package/src/legacy/tool-ui/src/main/webapp/v4/rte/plugins/track_manager/TrackManager.js +0 -905
  277. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/BSSerializer.js +0 -819
  278. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/README.md +0 -80
  279. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/commands.js +0 -98
  280. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/constants.d.ts +0 -84
  281. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/constants.js +0 -87
  282. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/index.js +0 -13
  283. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/keymapBuilder.js +0 -223
  284. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/menuItemsBuilder.js +0 -559
  285. package/src/legacy/tool-ui/src/main/webapp/v4/rte/settings/schemaBuilder.js +0 -1281
  286. package/src/legacy/tool-ui/src/main/webapp/v4/rte/utilities.d.ts +0 -4
  287. package/src/legacy/tool-ui/src/main/webapp/v4/rte/utilities.js +0 -359
  288. package/src/legacy/tool-ui/src/main/webapp/v4/theme/ColorRotator.js +0 -1
  289. package/src/legacy/tool-ui/src/main/webapp/v4/util/debounce.js +0 -1
  290. package/src/legacy/tool-ui/src/main/webapp/v4/util/getComponentKey.js +0 -1
  291. package/src/legacy/tool-ui/src/main/webapp/v4/util/noise.js +0 -1
  292. package/src/legacy/tool-ui/src/main/webapp/v4/util/repaint.js +0 -1
  293. package/src/legacy/tool-ui/src/main/webapp/v4/util/storage.js +0 -1
  294. package/src/legacy/tool-ui/src/main/webapp/v4/util/throttle.js +0 -1
  295. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssignmentContent.js +0 -33
  296. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssignmentDeskDashboard.js +0 -217
  297. package/src/legacy/tool-ui/src/main/webapp/v4/widget/AssociatedContentWidget.js +0 -7
  298. package/src/legacy/tool-ui/src/main/webapp/v4/widget/BulkUpload.js +0 -19
  299. package/src/legacy/tool-ui/src/main/webapp/v4/widget/Calendar.js +0 -7
  300. package/src/legacy/tool-ui/src/main/webapp/v4/widget/ClosableWindow.js +0 -13
  301. package/src/legacy/tool-ui/src/main/webapp/v4/widget/PitchAssignments.js +0 -25
  302. package/src/legacy/tool-ui/src/main/webapp/v4/widget/PitchContent.js +0 -33
  303. package/src/legacy/tool-ui/src/main/webapp/v4/widget/Revisions.js +0 -61
@@ -1,368 +0,0 @@
1
- import { Plugin, PluginKey } from 'prosemirror-state'
2
- import Cookies from 'js.cookie'
3
- import { Decoration, DecorationSet } from 'prosemirror-view'
4
- import { DOMParser, Fragment, Slice } from 'prosemirror-model'
5
- import { getLegacyHTMLTextForProsemirror } from '../../codemirror-shim'
6
- import { runSpellCheck } from '../spellcheck/spellcheck-plugin'
7
- import { v1 as uuidv1 } from 'uuid'
8
-
9
- if (!window.BRIGHTSPOT?.ui.cms.enableV5UI) {
10
- await import('./views/PastePopup.less')
11
- }
12
-
13
- const PASTE_POPUP_TITLE =
14
- typeof RTE_PASTE_POPUP_TITLE !== 'undefined'
15
- ? RTE_PASTE_POPUP_TITLE
16
- : 'Replace All'
17
- const PASTE_POPUP_INSTRUCTIONS =
18
- typeof RTE_PASTE_POPUP_INSTRUCTIONS !== 'undefined'
19
- ? RTE_PASTE_POPUP_INSTRUCTIONS
20
- : 'Replace All will replace the selected text and any contained enhancements with the contents of your clipboard. Use Replace Text if you want to retain enhancements and their relevant positioning.'
21
- const PASTE_POPUP_TEXT_ONLY_BUTTON =
22
- typeof RTE_PASTE_POPUP_TEXT_ONLY_BUTTON !== 'undefined'
23
- ? RTE_PASTE_POPUP_TEXT_ONLY_BUTTON
24
- : 'Replace Text'
25
- const PASTE_POPUP_ALL_BUTTON =
26
- typeof RTE_PASTE_POPUP_ALL_BUTTON !== 'undefined'
27
- ? RTE_PASTE_POPUP_ALL_BUTTON
28
- : 'Replace All'
29
-
30
- const RICH_TEXT_ELEMENTS_PM_MAP = new Map()
31
- RICH_TEXT_ELEMENTS_PM.forEach((item) => {
32
- RICH_TEXT_ELEMENTS_PM_MAP.set(item.tag, item)
33
- })
34
-
35
- /**
36
- * Sends to the back-end for transformation of the markup
37
- * pasted into the HTML. The content returned from the
38
- * server will be what is pasted into the RTE.
39
- *
40
- * @param {string} text Text the user pasted into the RTE.
41
- * @param {ProseMirror.EditorView} view The view of the RTE.
42
- * @param {string} typeId The type ID of the content being pasted into.
43
- * @param {string} fieldName The type ID of the content being pasted into.
44
- * @return {Promise} The response from the server (could be an error)
45
- */
46
- const getPasted = async (text, view, typeId, fieldName) => {
47
- try {
48
- const headers = new Headers()
49
- headers.append('Brightspot-CSRF', Cookies.get('bsp.csrf'))
50
- const body = new FormData()
51
- const form = view.dom.closest('form[data-content-id]')
52
-
53
- body.append('contentId', form?.dataset.contentId)
54
- body.append('contentTypeId', form?.dataset.typeId)
55
- body.append('locale', $('html').attr('lang') || 'en-US')
56
- body.append('text', text)
57
- body.append('typeId', typeId)
58
- body.append('fieldName', fieldName)
59
-
60
- const response = await fetch(CONTEXT_PATH + 'richTextTransformer', {
61
- method: 'POST',
62
- credentials: 'include',
63
- headers,
64
- body,
65
- })
66
- return response.json()
67
- } catch (error) {
68
- console.debug(error)
69
- return error
70
- }
71
- }
72
-
73
- const getPasteOnlyPopupContent = () => {
74
- return `
75
- <div class="Widget Paste-popup">
76
- <h1 class="Widget-title">${PASTE_POPUP_TITLE}</h1>
77
- <div class="Paste-popup-content Message">${PASTE_POPUP_INSTRUCTIONS}</div>
78
- <div class="Paste-popup-action-items ActionBar">
79
- <button class="Paste-popup-text-only-button">${PASTE_POPUP_TEXT_ONLY_BUTTON}</button>
80
- <button class="Paste-popup-all-button">${PASTE_POPUP_ALL_BUTTON}</button>
81
- </div>
82
- </div>
83
- `
84
- }
85
-
86
- const key = new PluginKey('pasteManager')
87
-
88
- const pasteManagerPlugin = (ctx, compliantTagNameMap) => {
89
- return new Plugin({
90
- key,
91
- state: {
92
- init() {
93
- return DecorationSet.empty
94
- },
95
- apply(tr, set, state) {
96
- // Adjust decoration positions to changes made by the transaction
97
- set = set.map(tr.mapping, tr.doc)
98
- let action = tr.getMeta(this)
99
- let deco
100
-
101
- if (action && action.add) {
102
- if (action.add.to) {
103
- deco = Decoration.inline(
104
- action.add.from,
105
- action.add.to,
106
- { class: 'Prosemirror-placeholder' },
107
- {
108
- id: action.add.id,
109
- },
110
- )
111
- } else {
112
- const widget = document.createElement('placeholder')
113
- deco = Decoration.widget(action.add.from, widget, {
114
- id: action.add.id,
115
- })
116
- }
117
-
118
- set = set.add(tr.doc, [deco])
119
- } else if (action && action.remove) {
120
- set = set.remove(
121
- set.find(null, null, (spec) => spec.id === action.remove.id),
122
- )
123
- }
124
-
125
- return set
126
- },
127
- },
128
- props: {
129
- decorations(state) {
130
- return this.getState(state)
131
- },
132
- transformPastedHTML: (html) => {
133
- // Do initial cleanup of pasted HTML prior to parsing.
134
- const template = document.createElement('template')
135
- template.innerHTML = html
136
- const fragment = template.content
137
- const walker = document.createTreeWalker(fragment)
138
- let currentNode = walker.currentNode
139
-
140
- while (currentNode) {
141
- if (currentNode.nodeType === 1) {
142
- currentNode.removeAttribute('id')
143
- currentNode.removeAttribute('label')
144
- if (
145
- currentNode.hasAttribute('class') &&
146
- currentNode.getAttribute('class').indexOf('rte2-style') > -1
147
- ) {
148
- currentNode.removeAttribute('class')
149
- }
150
- }
151
- currentNode = walker.nextNode()
152
- }
153
- return template.innerHTML
154
- },
155
- handlePaste: (view, event, incomingSlice) => {
156
- const { dispatch, state } = view
157
- let tr = state.tr
158
- // User is writing raw html, let the editor handle
159
- // cutting and pasting without processing from
160
- // the Java,
161
- const rawTextManagerState = state.rawTextManager$
162
- if (
163
- rawTextManagerState &&
164
- rawTextManagerState.get('activeStates') &&
165
- rawTextManagerState.get('activeStates').get('html')
166
- ) {
167
- return false
168
- }
169
- // Content from the clipboard. Note that ProseMirror
170
- // modifies the content on the clipboard so this is not
171
- // the true data from the clipboard.
172
- let content = event.clipboardData.getData('text/html')
173
- if (!content) {
174
- content = event.clipboardData.getData('text')
175
- }
176
- const isAllSelected = state.selection.toJSON().type === 'all'
177
- // Because the Java has to process the data, we need to make an async
178
- // call, which means we have to keep track of the position in the document
179
- // where the user intended to paste. We keep track of this as a decoration so
180
- // that the plugin can map through any state changes that occur prior to the content
181
- // returning from the Java, allowing for the position to be updated correctly.
182
- let id = uuidv1()
183
- let { from, to, empty } = state.selection
184
- if (state.doc.childCount === 1 && state.doc.textContent === '') {
185
- from = 0
186
- to = 0
187
- }
188
- if (empty) {
189
- tr = tr.setMeta(key, {
190
- add: { id, from },
191
- })
192
- } else {
193
- tr = tr.setMeta(key, {
194
- add: { id, from, to },
195
- })
196
- }
197
- dispatch(tr)
198
- // Users can replace all the current text content with new content
199
- // but leave the current block enhancements in place. If the user has
200
- // selected All and then pastes, we prompt the user to confirm this is what
201
- // the user intends. The prompt is a popup, so we need
202
- // to wait for the user to respond. Subsequently, we initialize the popup in
203
- // a promise. We resolve the promise if there is no need for the popup or when
204
- // the user exits the popup.
205
- const promise = new Promise(function (resolve) {
206
- if (isAllSelected) {
207
- const popUpDom = document.createElement('div')
208
- popUpDom.innerHTML = getPasteOnlyPopupContent()
209
- view.dom.parentElement.appendChild(popUpDom)
210
- const textOnlybutton = popUpDom.querySelector(
211
- '.Paste-popup-text-only-button',
212
- )
213
- const allButton = popUpDom.querySelector('.Paste-popup-all-button')
214
- textOnlybutton.addEventListener('click', (e) => {
215
- e.preventDefault()
216
- e.stopImmediatePropagation()
217
-
218
- resolve(true)
219
- $popUpDom.popup('close')
220
- view.focus()
221
- popUpDom.remove()
222
- })
223
- allButton.addEventListener('click', (e) => {
224
- e.preventDefault()
225
- e.stopImmediatePropagation()
226
-
227
- resolve(false)
228
- $popUpDom.popup('close')
229
- view.focus()
230
- popUpDom.remove()
231
- })
232
- const $popUpDom = $(popUpDom)
233
- $popUpDom.popup()
234
- $popUpDom.popup('open')
235
- $popUpDom.show()
236
- // The user might close the popup via the standard close
237
- // button without making a selection, but we still need to
238
- // resolve the promise.
239
- $popUpDom.bind('close.popup', () => {
240
- resolve()
241
- view.focus()
242
- })
243
- } else {
244
- // The user didn't select All, so no need for popup.
245
- // Just resolve the promise.
246
- resolve(false)
247
- }
248
- })
249
- promise.then((shouldPasteTextOnly) => {
250
- if (typeof shouldPasteTextOnly === 'undefined') {
251
- return
252
- }
253
-
254
- getPasted(
255
- content,
256
- view,
257
- view.dom.closest('.CIG')?.getAttribute('data-type-id'),
258
- view.dom.closest('.CIG-row')?.getAttribute('data-field'),
259
- ).then(
260
- (data) => {
261
- let pos = findPlaceholder(view, id)
262
- if (pos == null) return
263
- const pluginMeta = tr.getMeta(key)
264
- const text = pluginMeta.add.text
265
- // Request failed, insert the text we collected and stored on the deco
266
- // when the user pasted and remove the decoration.
267
- if (!data.status || data.status !== 'ok') {
268
- view.dispatch(
269
- tr.insertText(text).setMeta(key, { remove: { id } }),
270
- )
271
- return
272
- }
273
- let toHTMLString = data.text
274
- toHTMLString = getLegacyHTMLTextForProsemirror(
275
- toHTMLString,
276
- state.schema,
277
- compliantTagNameMap,
278
- true,
279
- )
280
- // compliantTagNameMap.forEach((value, key) => {
281
- // const regex = new RegExp(key, 'g')
282
- // toHTMLString = toHTMLString.replace(regex, value)
283
- // })
284
- const tmpElement = document.createElement('div')
285
- tmpElement.innerHTML = toHTMLString
286
- let slice = DOMParser.fromSchema(state.config.schema).parseSlice(
287
- tmpElement,
288
- )
289
-
290
- // The user selected all, then pasted, and confirmed
291
- // intent to paste text-only.
292
- if (shouldPasteTextOnly && ctx.value) {
293
- const currentContent = state.doc.content
294
- // Keep track of all the current block level enhancements and
295
- // their positions.
296
- const map = {}
297
- const newNodes = []
298
- currentContent.content.forEach((item, index) => {
299
- if (
300
- RICH_TEXT_ELEMENTS_PM_MAP.get(item.type.name) &&
301
- RICH_TEXT_ELEMENTS_PM_MAP.get(item.type.name).line
302
- ) {
303
- map[index] = item
304
- }
305
- })
306
- let numInserted = 0
307
- // If there was an enhancement at this position,
308
- // insert it into the new content at the same position,
309
- // remembering to map forward the number previously
310
- // inserted.
311
- slice.content.content.forEach((item, index) => {
312
- newNodes.push(item)
313
- if (map[index]) {
314
- newNodes.splice(index + numInserted, 0, map[index])
315
- numInserted++
316
- }
317
- })
318
-
319
- // The lines of pasted text might be shorter than the amount of
320
- // enhancements that we have, so we just stack whatever is
321
- // leftover.
322
- if (numInserted < Object.keys(map).length) {
323
- Object.keys(map).forEach((key, index) => {
324
- if (index >= numInserted) {
325
- newNodes.push(map[key])
326
- numInserted++
327
- }
328
- })
329
- }
330
- const fragment = Fragment.fromArray(newNodes)
331
- slice = new Slice(fragment, 0, 0)
332
- }
333
- dispatch(
334
- view.state.tr
335
- .replaceRange(pos.from, pos.to || 1, slice)
336
- .setMeta(key, { remove: { id } }),
337
- )
338
- // From the spellcheck API. Runs the spellcheck.
339
- runSpellCheck(state.doc)
340
- },
341
- () => {
342
- view.dispatch(tr.setMeta(key, { remove: { id } }))
343
- },
344
- )
345
- })
346
- return true
347
- },
348
- },
349
- })
350
- }
351
-
352
- /**
353
- * Helper function to find the placeholder decoration that has a spec
354
- * that provides the current position of the decoration (and thus where
355
- * to insert the pasted text).
356
- *
357
- * @param {ProseMirror.EditorView} view
358
- * @param {string} id The ID of the plugin that we want to find.
359
- * @return {number|null} The current position of the decoration or null
360
- * if the decoration was not found.
361
- */
362
- function findPlaceholder(view, id) {
363
- let decos = pasteManagerPlugin().getState(view.state)
364
- let found = decos.find(null, null, (spec) => spec.id === id)
365
- return found.length ? found[0] : null
366
- }
367
-
368
- export { pasteManagerPlugin }
@@ -1,128 +0,0 @@
1
- /* eslint-disable */
2
- import {
3
- Plugin,
4
- PluginKey,
5
- AllSelection,
6
- TextSelection,
7
- } from 'prosemirror-state'
8
- import { defaultBrightspotDOMSerializer } from '../../settings/BSSerializer'
9
- import { replaceWholeDocumentWithNewContent } from '../../utilities'
10
- import { constants } from '../../settings/constants'
11
-
12
- const key = new PluginKey('placeholderManager')
13
- const EDITABLE_PLACEHOLDER_ATTR = 'data-editable-placeholder'
14
- const PLACEHOLDER_ATTR = 'placeholder'
15
- const POPUP_IS_VISIBLE_SELECTOR = '.Popup.is-visible'
16
-
17
- /**
18
- * Mimics native placeholder functionality, using the following rules:
19
- *
20
- * 1. At load time, if there is no value for the field, the placeholder
21
- * value should appear in the RTE styled similarly to a native placeholder. This
22
- * is handled in ProseMirror.js.
23
- * 2. If this is not a `data-editable-placeholder` field, then when the RTE
24
- * is focused, the placeholder should go away.
25
- * 3. If this is not a `data-editable-placeholder` field, then when the RTE
26
- * is blurred, the placeholder should come back if the RTE is empty.
27
- * 4. If this is a `data-editable-placeholder` field, then when the RTE is
28
- * focused, the placeholder value becomes the value of the RTE if the RTE is empty.
29
- * 5. If this is a `data-editable-placeholder` field, then when the RTE is
30
- * blurred, the placeholder should come back if the RTE is empty.
31
- * 6. Like a native placeholder, the placeholder value is never saved. In the case
32
- * of a `data-editable-placeholder` field, if the RTE value is the same as the placeholder,
33
- * it should also not be saved. This check is handled before the RTE value
34
- * saved back to the textarea in the `dispatchAction` callback in ProseMirror.js.
35
- *
36
- * @param {Element} ctx The RTE textarea.
37
- * @param {Map} compliantTagNameMap Compliant tags, used for serialization.
38
- */
39
- const placeholderManagerPlugin = (ctx, compliantTagNameMap) => {
40
- return new Plugin({
41
- key: key,
42
- props: {
43
- handleDOMEvents: {
44
- focus: (view) => {
45
- if (!ctx.hasAttribute(PLACEHOLDER_ATTR)) {
46
- return
47
- }
48
- const { state, dom, dispatch } = view
49
- const { tr, doc } = state
50
-
51
- // If this isn't an editable placeholder and we are showing
52
- // the 'placeholder' content, the field should be emptied.
53
- if (
54
- !ctx.hasAttribute(EDITABLE_PLACEHOLDER_ATTR) &&
55
- dom.parentElement.classList.contains(
56
- constants.CLASSES.IS_PLACEHOLDER_CONTENT,
57
- )
58
- ) {
59
- const allSelection = new AllSelection(doc)
60
- const storedMarks = tr.storedMarks
61
-
62
- dispatch(
63
- tr
64
- .setMeta('removeFromTracking', true)
65
- .setMeta('addToHistory', false)
66
- .setSelection(allSelection)
67
- .deleteSelection()
68
- .setStoredMarks(storedMarks),
69
- )
70
- }
71
- dom.parentElement.classList.remove(
72
- constants.CLASSES.IS_PLACEHOLDER_CONTENT,
73
- )
74
- },
75
- blur: (view) => {
76
- // The user might be interacting with an enhancement popup, which will blur the
77
- // editor, but in this case we don't want to handle potentially emptying the
78
- // editor.
79
- const placeholderContent = ctx.getAttribute(PLACEHOLDER_ATTR)
80
- let currentContent = ctx.value
81
- if (!currentContent && ctx.hasAttribute('placeholder')) {
82
- currentContent = ctx.getAttribute('placeholder')
83
- }
84
- if (
85
- document.querySelector(POPUP_IS_VISIBLE_SELECTOR) ||
86
- !ctx.hasAttribute(PLACEHOLDER_ATTR) ||
87
- (currentContent.length > 0 && currentContent !== placeholderContent)
88
- ) {
89
- return
90
- }
91
- const { state, dispatch } = view
92
- const doc = state.doc
93
- const content = defaultBrightspotDOMSerializer.serialize(
94
- doc.content,
95
- compliantTagNameMap,
96
- )
97
- const isEmpty =
98
- doc.childCount === 1 &&
99
- doc.firstChild.isTextblock &&
100
- doc.firstChild.content.size === 0 &&
101
- !view.docView.contentDOM.textContent
102
- if (content === placeholderContent || isEmpty) {
103
- view.dom.parentNode.classList.add(
104
- constants.CLASSES.IS_PLACEHOLDER_CONTENT,
105
- )
106
- }
107
- // If this isn't an editable placeholder field, the field was
108
- // emptied when it was focused. If the field is still empty,
109
- // we need to put the placeholder content back.
110
- if (isEmpty) {
111
- replaceWholeDocumentWithNewContent(
112
- state,
113
- placeholderContent,
114
- compliantTagNameMap,
115
- dispatch,
116
- false,
117
- true,
118
- undefined,
119
- true,
120
- )
121
- }
122
- },
123
- },
124
- },
125
- })
126
- }
127
-
128
- export { placeholderManagerPlugin }
@@ -1,13 +0,0 @@
1
- # Brightspot Rich Text Editor Raw Code Manager Plugin
2
-
3
- Extends Prosemirror to add marks around content the user wants denoted as raw code.
4
-
5
- ## Table of Contents
6
-
7
- 1. [Must Knows](#must-knows)
8
-
9
- ## Must Knows
10
-
11
- 1. The `raw` code marks are added by the shim during RTE content creation. The shim loops through the content elements and compares them to the schema. If the element is not in the schema, it adds a code tag around the content in that element and removes the element. The `raw` mark provides the styling for the raw content.
12
- 2. The `raw` code marks are stripped away by the serializer so that when the content is saved, it will not be saved.
13
- 3. This plugin wraps the `raw` code marks around any content the user enters after engaging the raw content command.
@@ -1,96 +0,0 @@
1
- /* eslint-disable no-debugger */
2
- import { Plugin, PluginKey } from 'prosemirror-state'
3
- import { ChangeSet } from 'prosemirror-changeset'
4
-
5
- /**
6
- * Command triggered when user engages the raw html command.
7
- * Dispatches a meta update to toggle the raw state.
8
- */
9
- const doRaw = () => {
10
- return function (state, dispatch) {
11
- dispatch(
12
- state.tr.setMeta(key, {
13
- toggleRaw: true,
14
- }),
15
- )
16
- }
17
- }
18
-
19
- const key = new PluginKey('rawTextManager')
20
-
21
- /**
22
- * Manages toggling a `raw` active state for when users
23
- * engage the raw tag command. The `appendTransaction` adds a `raw` mark
24
- * around new text the user enters when the raw state is active.
25
- */
26
- const rawTextManagerPlugin = () => {
27
- return new Plugin({
28
- key: key,
29
-
30
- state: {
31
- init() {
32
- const pluginState = new Map()
33
- const activeStates = new Map()
34
- activeStates.set('html', false)
35
- pluginState.set('activeStates', activeStates)
36
- return pluginState
37
- },
38
-
39
- apply(transaction, value) {
40
- const pluginState = value
41
- const meta = transaction.getMeta(key)
42
- if (meta && meta.hasOwnProperty('toggleRaw')) {
43
- const currentState = pluginState
44
- const newCurrentState = !currentState.get('activeStates').get('html')
45
- pluginState.get('activeStates').set('html', newCurrentState)
46
- }
47
- return pluginState
48
- },
49
- },
50
-
51
- appendTransaction(transactions, oldState, newState) {
52
- const pluginState = newState[key.key]
53
- const isRawMode = pluginState.get('activeStates').get('html')
54
-
55
- if (!isRawMode) {
56
- return
57
- }
58
-
59
- let tr = newState.tr
60
- const schema = newState.config.schema
61
- const markType = schema.marks.html
62
- const mark = markType.create()
63
-
64
- const changeSets = []
65
-
66
- transactions.forEach((transaction) => {
67
- const changeSet = ChangeSet.create(oldState.doc).addSteps(
68
- newState.doc,
69
- transaction.mapping.maps,
70
- )
71
- if (changeSet.changes.length) {
72
- changeSets.push(changeSet)
73
- }
74
- })
75
-
76
- // Unless there are actual changes in the returned transaction ProseMirror
77
- // will go into an infinite loop. This is a known danger when implementing
78
- // appendTransaction that implementers must guard against.
79
- if (changeSets.length > 0) {
80
- changeSets.forEach((cs) => {
81
- cs.changes.forEach((change) => {
82
- change.inserted.forEach((inserted) => {
83
- tr = tr.addMark(change.fromA, change.toB, mark)
84
- })
85
- })
86
- })
87
-
88
- return tr
89
- }
90
-
91
- return
92
- },
93
- })
94
- }
95
-
96
- export { rawTextManagerPlugin, doRaw }
@@ -1,3 +0,0 @@
1
- import { spellcheckPlugin } from './spellcheck-plugin'
2
-
3
- export { spellcheckPlugin }