carbon-react 148.0.0 → 149.0.0

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 (269) hide show
  1. package/esm/__internal__/label/label.component.js +4 -1
  2. package/esm/components/note/note.component.d.ts +1 -2
  3. package/esm/components/note/note.component.js +6 -9
  4. package/esm/components/tabs/__internal__/tab-title/tab-title.style.js +2 -1
  5. package/esm/components/text-editor/__internal__/constants.d.ts +21 -0
  6. package/esm/components/text-editor/__internal__/constants.js +29 -0
  7. package/esm/components/text-editor/__internal__/helpers.d.ts +20 -0
  8. package/esm/components/text-editor/__internal__/helpers.js +84 -0
  9. package/esm/components/text-editor/__internal__/index.d.ts +2 -0
  10. package/esm/components/text-editor/__internal__/index.js +2 -0
  11. package/esm/components/text-editor/__internal__/plugins/AutoLinker/auto-link.component.d.ts +3 -0
  12. package/esm/components/text-editor/__internal__/plugins/AutoLinker/auto-link.component.js +28 -0
  13. package/esm/components/text-editor/__internal__/plugins/AutoLinker/index.d.ts +1 -0
  14. package/esm/components/text-editor/__internal__/plugins/AutoLinker/index.js +1 -0
  15. package/esm/components/text-editor/__internal__/plugins/CharacterCounter/__test__/character-counter.component.d.ts +10 -0
  16. package/esm/components/text-editor/__internal__/plugins/CharacterCounter/__test__/character-counter.component.js +33 -0
  17. package/esm/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.component.d.ts +9 -0
  18. package/esm/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.component.js +59 -0
  19. package/esm/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.style.d.ts +3 -0
  20. package/esm/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.style.js +17 -0
  21. package/esm/components/text-editor/__internal__/plugins/CharacterCounter/index.d.ts +1 -0
  22. package/esm/components/text-editor/__internal__/plugins/CharacterCounter/index.js +1 -0
  23. package/esm/components/text-editor/__internal__/plugins/ContentEditor/content-editor.component.d.ts +17 -0
  24. package/esm/components/text-editor/__internal__/plugins/ContentEditor/content-editor.component.js +40 -0
  25. package/esm/components/text-editor/__internal__/plugins/ContentEditor/content-editor.style.d.ts +6 -0
  26. package/esm/components/text-editor/__internal__/plugins/ContentEditor/content-editor.style.js +34 -0
  27. package/esm/components/text-editor/__internal__/plugins/ContentEditor/index.d.ts +1 -0
  28. package/esm/components/text-editor/__internal__/plugins/ContentEditor/index.js +1 -0
  29. package/esm/components/text-editor/__internal__/plugins/LinkMonitor/index.d.ts +1 -0
  30. package/esm/components/text-editor/__internal__/plugins/LinkMonitor/index.js +1 -0
  31. package/esm/components/text-editor/__internal__/plugins/LinkMonitor/link-monitor.plugin.d.ts +2 -0
  32. package/esm/components/text-editor/__internal__/plugins/LinkMonitor/link-monitor.plugin.js +62 -0
  33. package/esm/components/text-editor/__internal__/plugins/LinkPreviewer/index.d.ts +1 -0
  34. package/esm/components/text-editor/__internal__/plugins/LinkPreviewer/index.js +1 -0
  35. package/esm/components/text-editor/__internal__/plugins/LinkPreviewer/link-previewer.component.d.ts +11 -0
  36. package/esm/components/text-editor/__internal__/plugins/LinkPreviewer/link-previewer.component.js +19 -0
  37. package/esm/components/text-editor/__internal__/plugins/LinkPreviewer/link-previewer.style.d.ts +6 -0
  38. package/esm/components/text-editor/__internal__/plugins/LinkPreviewer/link-previewer.style.js +29 -0
  39. package/esm/components/text-editor/__internal__/plugins/OnChange/index.d.ts +1 -0
  40. package/esm/components/text-editor/__internal__/plugins/OnChange/index.js +1 -0
  41. package/esm/components/text-editor/__internal__/plugins/OnChange/on-change.plugin.d.ts +5 -0
  42. package/esm/components/text-editor/__internal__/plugins/OnChange/on-change.plugin.js +25 -0
  43. package/esm/components/text-editor/__internal__/plugins/Placeholder/index.d.ts +1 -0
  44. package/esm/components/text-editor/__internal__/plugins/Placeholder/index.js +1 -0
  45. package/esm/components/text-editor/__internal__/plugins/Placeholder/placeholder.component.d.ts +14 -0
  46. package/esm/components/text-editor/__internal__/plugins/Placeholder/placeholder.component.js +17 -0
  47. package/esm/components/text-editor/__internal__/plugins/Placeholder/placeholder.style.d.ts +2 -0
  48. package/esm/components/text-editor/__internal__/plugins/Placeholder/placeholder.style.js +8 -0
  49. package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/bold.component.d.ts +4 -0
  50. package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/bold.component.js +41 -0
  51. package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/common.d.ts +6 -0
  52. package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/common.js +1 -0
  53. package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/index.d.ts +4 -0
  54. package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/index.js +4 -0
  55. package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/italic.component.d.ts +4 -0
  56. package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/italic.component.js +41 -0
  57. package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/list.component.d.ts +5 -0
  58. package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/list.component.js +317 -0
  59. package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/save.component.d.ts +34 -0
  60. package/esm/components/text-editor/__internal__/plugins/Toolbar/buttons/save.component.js +29 -0
  61. package/esm/components/text-editor/__internal__/plugins/Toolbar/index.d.ts +1 -0
  62. package/esm/components/text-editor/__internal__/plugins/Toolbar/toolbar.component.d.ts +12 -0
  63. package/esm/components/text-editor/__internal__/plugins/Toolbar/toolbar.component.js +111 -0
  64. package/esm/components/text-editor/__internal__/plugins/Toolbar/toolbar.style.d.ts +11 -0
  65. package/esm/components/text-editor/__internal__/plugins/Toolbar/toolbar.style.js +57 -0
  66. package/esm/components/text-editor/__internal__/plugins/index.d.ts +9 -0
  67. package/esm/components/text-editor/__internal__/plugins/index.js +9 -0
  68. package/esm/components/text-editor/__internal__/plugins/useCursorAtEnd/index.d.ts +2 -0
  69. package/esm/components/text-editor/__internal__/plugins/useCursorAtEnd/index.js +71 -0
  70. package/esm/components/text-editor/__internal__/read-only-rte.component.d.ts +4 -0
  71. package/esm/components/text-editor/__internal__/read-only-rte.component.js +62 -0
  72. package/esm/components/text-editor/__internal__/style.css +7 -0
  73. package/esm/components/text-editor/__internal__/utils.d.ts +4 -0
  74. package/esm/components/text-editor/__internal__/utils.js +14 -0
  75. package/esm/components/text-editor/index.d.ts +2 -1
  76. package/esm/components/text-editor/index.js +2 -1
  77. package/esm/components/text-editor/text-editor.component.d.ts +32 -28
  78. package/esm/components/text-editor/text-editor.component.js +139 -478
  79. package/esm/components/text-editor/text-editor.context.d.ts +6 -0
  80. package/esm/components/text-editor/text-editor.context.js +4 -0
  81. package/esm/components/text-editor/text-editor.style.d.ts +18 -11
  82. package/esm/components/text-editor/text-editor.style.js +55 -52
  83. package/esm/locales/de-de.js +0 -14
  84. package/esm/locales/en-gb.js +18 -14
  85. package/esm/locales/es-es.js +0 -14
  86. package/esm/locales/fr-ca.js +0 -14
  87. package/esm/locales/fr-fr.js +0 -14
  88. package/esm/locales/locale.d.ts +14 -14
  89. package/lib/__internal__/label/label.component.js +3 -0
  90. package/lib/components/note/note.component.d.ts +1 -2
  91. package/lib/components/note/note.component.js +6 -9
  92. package/lib/components/tabs/__internal__/tab-title/tab-title.style.js +2 -1
  93. package/lib/components/text-editor/__internal__/constants.d.ts +21 -0
  94. package/lib/components/text-editor/__internal__/constants.js +33 -0
  95. package/lib/components/text-editor/__internal__/helpers.d.ts +20 -0
  96. package/lib/components/text-editor/__internal__/helpers.js +91 -0
  97. package/lib/components/text-editor/__internal__/index.d.ts +2 -0
  98. package/lib/components/text-editor/__internal__/index.js +26 -0
  99. package/lib/components/text-editor/__internal__/package.json +6 -0
  100. package/lib/components/text-editor/__internal__/plugins/AutoLinker/auto-link.component.d.ts +3 -0
  101. package/lib/components/text-editor/__internal__/plugins/AutoLinker/auto-link.component.js +36 -0
  102. package/lib/components/text-editor/__internal__/plugins/AutoLinker/index.d.ts +1 -0
  103. package/lib/components/text-editor/__internal__/{editor-link → plugins/AutoLinker}/index.js +2 -2
  104. package/lib/components/text-editor/__internal__/{toolbar/toolbar-button → plugins/AutoLinker}/package.json +1 -1
  105. package/lib/components/text-editor/__internal__/plugins/CharacterCounter/__test__/character-counter.component.d.ts +10 -0
  106. package/lib/components/text-editor/__internal__/plugins/CharacterCounter/__test__/character-counter.component.js +42 -0
  107. package/lib/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.component.d.ts +9 -0
  108. package/lib/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.component.js +68 -0
  109. package/lib/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.style.d.ts +3 -0
  110. package/lib/components/text-editor/__internal__/plugins/CharacterCounter/character-counter.style.js +24 -0
  111. package/lib/components/text-editor/__internal__/plugins/CharacterCounter/index.d.ts +1 -0
  112. package/lib/components/text-editor/__internal__/plugins/CharacterCounter/index.js +13 -0
  113. package/lib/components/text-editor/__internal__/plugins/CharacterCounter/package.json +6 -0
  114. package/lib/components/text-editor/__internal__/plugins/ContentEditor/content-editor.component.d.ts +17 -0
  115. package/lib/components/text-editor/__internal__/plugins/ContentEditor/content-editor.component.js +48 -0
  116. package/lib/components/text-editor/__internal__/plugins/ContentEditor/content-editor.style.d.ts +6 -0
  117. package/lib/components/text-editor/__internal__/plugins/ContentEditor/content-editor.style.js +42 -0
  118. package/lib/components/text-editor/__internal__/plugins/ContentEditor/index.d.ts +1 -0
  119. package/lib/components/text-editor/__internal__/{toolbar/toolbar-button → plugins/ContentEditor}/index.js +2 -2
  120. package/lib/components/text-editor/__internal__/plugins/ContentEditor/package.json +6 -0
  121. package/lib/components/text-editor/__internal__/plugins/LinkMonitor/index.d.ts +1 -0
  122. package/lib/components/text-editor/__internal__/{label-wrapper → plugins/LinkMonitor}/index.js +2 -2
  123. package/lib/components/text-editor/__internal__/plugins/LinkMonitor/link-monitor.plugin.d.ts +2 -0
  124. package/lib/components/text-editor/__internal__/plugins/LinkMonitor/link-monitor.plugin.js +70 -0
  125. package/lib/components/text-editor/__internal__/plugins/LinkMonitor/package.json +6 -0
  126. package/lib/components/text-editor/__internal__/plugins/LinkPreviewer/index.d.ts +1 -0
  127. package/lib/components/text-editor/__internal__/plugins/LinkPreviewer/index.js +13 -0
  128. package/lib/components/text-editor/__internal__/plugins/LinkPreviewer/link-previewer.component.d.ts +11 -0
  129. package/lib/components/text-editor/__internal__/plugins/LinkPreviewer/link-previewer.component.js +28 -0
  130. package/lib/components/text-editor/__internal__/plugins/LinkPreviewer/link-previewer.style.d.ts +6 -0
  131. package/lib/components/text-editor/__internal__/{toolbar/toolbar-button/toolbar-button.style.js → plugins/LinkPreviewer/link-previewer.style.js} +21 -31
  132. package/lib/components/text-editor/__internal__/plugins/LinkPreviewer/package.json +6 -0
  133. package/lib/components/text-editor/__internal__/plugins/OnChange/index.d.ts +1 -0
  134. package/lib/components/text-editor/__internal__/plugins/OnChange/index.js +13 -0
  135. package/lib/components/text-editor/__internal__/plugins/OnChange/on-change.plugin.d.ts +5 -0
  136. package/lib/components/text-editor/__internal__/plugins/OnChange/on-change.plugin.js +32 -0
  137. package/lib/components/text-editor/__internal__/plugins/OnChange/package.json +6 -0
  138. package/lib/components/text-editor/__internal__/plugins/Placeholder/index.d.ts +1 -0
  139. package/lib/components/text-editor/__internal__/plugins/Placeholder/index.js +13 -0
  140. package/lib/components/text-editor/__internal__/plugins/Placeholder/package.json +6 -0
  141. package/lib/components/text-editor/__internal__/plugins/Placeholder/placeholder.component.d.ts +14 -0
  142. package/lib/components/text-editor/__internal__/plugins/Placeholder/placeholder.component.js +25 -0
  143. package/lib/components/text-editor/__internal__/plugins/Placeholder/placeholder.style.d.ts +2 -0
  144. package/lib/components/text-editor/__internal__/plugins/Placeholder/placeholder.style.js +15 -0
  145. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/bold.component.d.ts +4 -0
  146. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/bold.component.js +48 -0
  147. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/common.d.ts +6 -0
  148. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/common.js +5 -0
  149. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/index.d.ts +4 -0
  150. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/index.js +34 -0
  151. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/italic.component.d.ts +4 -0
  152. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/italic.component.js +47 -0
  153. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/list.component.d.ts +5 -0
  154. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/list.component.js +325 -0
  155. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/package.json +6 -0
  156. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/save.component.d.ts +34 -0
  157. package/lib/components/text-editor/__internal__/plugins/Toolbar/buttons/save.component.js +36 -0
  158. package/lib/components/text-editor/__internal__/plugins/Toolbar/index.d.ts +1 -0
  159. package/lib/components/text-editor/__internal__/plugins/Toolbar/package.json +6 -0
  160. package/lib/components/text-editor/__internal__/plugins/Toolbar/toolbar.component.d.ts +12 -0
  161. package/lib/components/text-editor/__internal__/plugins/Toolbar/toolbar.component.js +120 -0
  162. package/lib/components/text-editor/__internal__/plugins/Toolbar/toolbar.style.d.ts +11 -0
  163. package/lib/components/text-editor/__internal__/plugins/Toolbar/toolbar.style.js +65 -0
  164. package/lib/components/text-editor/__internal__/plugins/index.d.ts +9 -0
  165. package/lib/components/text-editor/__internal__/plugins/index.js +69 -0
  166. package/lib/components/text-editor/__internal__/{toolbar → plugins}/package.json +1 -1
  167. package/lib/components/text-editor/__internal__/plugins/useCursorAtEnd/index.d.ts +2 -0
  168. package/lib/components/text-editor/__internal__/plugins/useCursorAtEnd/index.js +78 -0
  169. package/lib/components/text-editor/__internal__/plugins/useCursorAtEnd/package.json +6 -0
  170. package/lib/components/text-editor/__internal__/read-only-rte.component.d.ts +4 -0
  171. package/lib/components/text-editor/__internal__/read-only-rte.component.js +72 -0
  172. package/lib/components/text-editor/__internal__/style.css +7 -0
  173. package/lib/components/text-editor/__internal__/utils.d.ts +4 -0
  174. package/lib/components/text-editor/__internal__/utils.js +21 -0
  175. package/lib/components/text-editor/index.d.ts +2 -1
  176. package/lib/components/text-editor/index.js +7 -7
  177. package/lib/components/text-editor/text-editor.component.d.ts +32 -28
  178. package/lib/components/text-editor/text-editor.component.js +141 -477
  179. package/lib/components/text-editor/text-editor.context.d.ts +6 -0
  180. package/lib/components/text-editor/{__internal__/editor.context.js → text-editor.context.js} +1 -0
  181. package/lib/components/text-editor/text-editor.style.d.ts +18 -11
  182. package/lib/components/text-editor/text-editor.style.js +57 -53
  183. package/lib/locales/de-de.js +0 -14
  184. package/lib/locales/en-gb.js +18 -14
  185. package/lib/locales/es-es.js +0 -14
  186. package/lib/locales/fr-ca.js +0 -14
  187. package/lib/locales/fr-fr.js +0 -14
  188. package/lib/locales/locale.d.ts +14 -14
  189. package/package.json +7 -4
  190. package/esm/components/text-editor/__internal__/decorators/index.d.ts +0 -3
  191. package/esm/components/text-editor/__internal__/decorators/index.js +0 -3
  192. package/esm/components/text-editor/__internal__/decorators/link-decorator.d.ts +0 -8
  193. package/esm/components/text-editor/__internal__/decorators/link-decorator.js +0 -37
  194. package/esm/components/text-editor/__internal__/editor-link/editor-link.component.d.ts +0 -9
  195. package/esm/components/text-editor/__internal__/editor-link/editor-link.component.js +0 -36
  196. package/esm/components/text-editor/__internal__/editor-link/editor-link.style.d.ts +0 -3
  197. package/esm/components/text-editor/__internal__/editor-link/editor-link.style.js +0 -13
  198. package/esm/components/text-editor/__internal__/editor-link/index.d.ts +0 -2
  199. package/esm/components/text-editor/__internal__/editor-link/index.js +0 -1
  200. package/esm/components/text-editor/__internal__/editor-validation-wrapper/editor-validation-wrapper.component.d.ts +0 -11
  201. package/esm/components/text-editor/__internal__/editor-validation-wrapper/editor-validation-wrapper.component.js +0 -18
  202. package/esm/components/text-editor/__internal__/editor-validation-wrapper/editor-validation-wrapper.style.d.ts +0 -2
  203. package/esm/components/text-editor/__internal__/editor-validation-wrapper/editor-validation-wrapper.style.js +0 -11
  204. package/esm/components/text-editor/__internal__/editor-validation-wrapper/index.d.ts +0 -2
  205. package/esm/components/text-editor/__internal__/editor-validation-wrapper/index.js +0 -1
  206. package/esm/components/text-editor/__internal__/editor.context.d.ts +0 -6
  207. package/esm/components/text-editor/__internal__/editor.context.js +0 -2
  208. package/esm/components/text-editor/__internal__/label-wrapper/index.d.ts +0 -2
  209. package/esm/components/text-editor/__internal__/label-wrapper/index.js +0 -1
  210. package/esm/components/text-editor/__internal__/label-wrapper/label-wrapper.component.d.ts +0 -12
  211. package/esm/components/text-editor/__internal__/label-wrapper/label-wrapper.component.js +0 -18
  212. package/esm/components/text-editor/__internal__/toolbar/index.d.ts +0 -2
  213. package/esm/components/text-editor/__internal__/toolbar/toolbar-button/index.d.ts +0 -2
  214. package/esm/components/text-editor/__internal__/toolbar/toolbar-button/index.js +0 -1
  215. package/esm/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.component.d.ts +0 -25
  216. package/esm/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.component.js +0 -50
  217. package/esm/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.style.d.ts +0 -6
  218. package/esm/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.style.js +0 -38
  219. package/esm/components/text-editor/__internal__/toolbar/toolbar.component.d.ts +0 -16
  220. package/esm/components/text-editor/__internal__/toolbar/toolbar.component.js +0 -158
  221. package/esm/components/text-editor/__internal__/toolbar/toolbar.style.d.ts +0 -4
  222. package/esm/components/text-editor/__internal__/toolbar/toolbar.style.js +0 -28
  223. package/esm/components/text-editor/__internal__/utils/index.d.ts +0 -1
  224. package/esm/components/text-editor/__internal__/utils/index.js +0 -1
  225. package/esm/components/text-editor/__internal__/utils/utils.d.ts +0 -29
  226. package/esm/components/text-editor/__internal__/utils/utils.js +0 -174
  227. package/esm/components/text-editor/types.d.ts +0 -6
  228. package/esm/components/text-editor/types.js +0 -4
  229. package/lib/components/text-editor/__internal__/decorators/index.d.ts +0 -3
  230. package/lib/components/text-editor/__internal__/decorators/index.js +0 -10
  231. package/lib/components/text-editor/__internal__/decorators/link-decorator.d.ts +0 -8
  232. package/lib/components/text-editor/__internal__/decorators/link-decorator.js +0 -44
  233. package/lib/components/text-editor/__internal__/decorators/package.json +0 -6
  234. package/lib/components/text-editor/__internal__/editor-link/editor-link.component.d.ts +0 -9
  235. package/lib/components/text-editor/__internal__/editor-link/editor-link.component.js +0 -45
  236. package/lib/components/text-editor/__internal__/editor-link/editor-link.style.d.ts +0 -3
  237. package/lib/components/text-editor/__internal__/editor-link/editor-link.style.js +0 -20
  238. package/lib/components/text-editor/__internal__/editor-link/index.d.ts +0 -2
  239. package/lib/components/text-editor/__internal__/editor-link/package.json +0 -6
  240. package/lib/components/text-editor/__internal__/editor-validation-wrapper/editor-validation-wrapper.component.d.ts +0 -11
  241. package/lib/components/text-editor/__internal__/editor-validation-wrapper/editor-validation-wrapper.component.js +0 -25
  242. package/lib/components/text-editor/__internal__/editor-validation-wrapper/editor-validation-wrapper.style.d.ts +0 -2
  243. package/lib/components/text-editor/__internal__/editor-validation-wrapper/editor-validation-wrapper.style.js +0 -18
  244. package/lib/components/text-editor/__internal__/editor-validation-wrapper/index.d.ts +0 -2
  245. package/lib/components/text-editor/__internal__/editor-validation-wrapper/index.js +0 -13
  246. package/lib/components/text-editor/__internal__/editor-validation-wrapper/package.json +0 -6
  247. package/lib/components/text-editor/__internal__/editor.context.d.ts +0 -6
  248. package/lib/components/text-editor/__internal__/label-wrapper/index.d.ts +0 -2
  249. package/lib/components/text-editor/__internal__/label-wrapper/label-wrapper.component.d.ts +0 -12
  250. package/lib/components/text-editor/__internal__/label-wrapper/label-wrapper.component.js +0 -25
  251. package/lib/components/text-editor/__internal__/label-wrapper/package.json +0 -6
  252. package/lib/components/text-editor/__internal__/toolbar/index.d.ts +0 -2
  253. package/lib/components/text-editor/__internal__/toolbar/toolbar-button/index.d.ts +0 -2
  254. package/lib/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.component.d.ts +0 -25
  255. package/lib/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.component.js +0 -56
  256. package/lib/components/text-editor/__internal__/toolbar/toolbar-button/toolbar-button.style.d.ts +0 -6
  257. package/lib/components/text-editor/__internal__/toolbar/toolbar.component.d.ts +0 -16
  258. package/lib/components/text-editor/__internal__/toolbar/toolbar.component.js +0 -167
  259. package/lib/components/text-editor/__internal__/toolbar/toolbar.style.d.ts +0 -4
  260. package/lib/components/text-editor/__internal__/toolbar/toolbar.style.js +0 -34
  261. package/lib/components/text-editor/__internal__/utils/index.d.ts +0 -1
  262. package/lib/components/text-editor/__internal__/utils/index.js +0 -90
  263. package/lib/components/text-editor/__internal__/utils/package.json +0 -6
  264. package/lib/components/text-editor/__internal__/utils/utils.d.ts +0 -29
  265. package/lib/components/text-editor/__internal__/utils/utils.js +0 -197
  266. package/lib/components/text-editor/types.d.ts +0 -6
  267. package/lib/components/text-editor/types.js +0 -10
  268. /package/esm/components/text-editor/__internal__/{toolbar → plugins/Toolbar}/index.js +0 -0
  269. /package/lib/components/text-editor/__internal__/{toolbar → plugins/Toolbar}/index.js +0 -0
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _LexicalAutoLinkPlugin = require("@lexical/react/LexicalAutoLinkPlugin");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ /* istanbul ignore file */
12
+ /**
13
+ * Owing to the nature of how this plugin runs, it is not possible to test it in isolation.
14
+ * It is tested as part of the TextEditor Playwright tests.
15
+ *
16
+ * The AutoLinkerPlugin component is a wrapper around the AutoLinkPlugin component provided
17
+ * by Lexical. It is used to automatically convert URLs and email addresses into clickable
18
+ * links.
19
+ *
20
+ * The regular expressions used to match URLs and email addresses are provided as per the
21
+ * Lexical documentation; as such not all edge cases may be covered.
22
+ */
23
+
24
+ const URL_REGEX = /((https?:\/\/(www\.)?)|(www\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)(?<![-.+():%])/;
25
+ const EMAIL_REGEX = /(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/;
26
+ const MATCHERS = [(0, _LexicalAutoLinkPlugin.createLinkMatcherWithRegExp)(URL_REGEX, text => {
27
+ return text.startsWith("http") ? text : `https://${text}`;
28
+ }), (0, _LexicalAutoLinkPlugin.createLinkMatcherWithRegExp)(EMAIL_REGEX, text => {
29
+ return `mailto:${text}`;
30
+ })];
31
+ const AutoLinkerPlugin = () => {
32
+ return /*#__PURE__*/_react.default.createElement(_LexicalAutoLinkPlugin.AutoLinkPlugin, {
33
+ matchers: MATCHERS
34
+ });
35
+ };
36
+ var _default = exports.default = AutoLinkerPlugin;
@@ -0,0 +1 @@
1
+ export { default } from "./auto-link.component";
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  Object.defineProperty(exports, "default", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _editorLink.default;
9
+ return _autoLink.default;
10
10
  }
11
11
  });
12
- var _editorLink = _interopRequireDefault(require("./editor-link.component"));
12
+ var _autoLink = _interopRequireDefault(require("./auto-link.component"));
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "sideEffects": false,
3
- "module": "../../../../../../esm/components/text-editor/__internal__/toolbar/toolbar-button/index.js",
3
+ "module": "../../../../../../esm/components/text-editor/__internal__/plugins/AutoLinker/index.js",
4
4
  "main": "./index.js",
5
5
  "types": "./index.d.ts"
6
6
  }
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { LexicalEditor } from "lexical";
3
+ export interface CharacterCounterPluginProps {
4
+ /** The maximum number of characters to allow before showing the warning */
5
+ maxChars: number;
6
+ /** The Lexical editor instance */
7
+ editor: LexicalEditor;
8
+ }
9
+ declare const CharacterCounterPlugin: ({ maxChars, editor, }: CharacterCounterPluginProps) => React.JSX.Element;
10
+ export default CharacterCounterPlugin;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _lexical = require("lexical");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ const CharacterCounterPlugin = ({
14
+ maxChars,
15
+ editor
16
+ }) => {
17
+ const [rawContent, setRawContent] = (0, _react.useState)("");
18
+
19
+ // Simplified update listener using Lexical v0.21.0 approach
20
+ (0, _react.useEffect)(() => {
21
+ const removeListener = editor.registerUpdateListener(() => {
22
+ const editorState = editor.getEditorState();
23
+ editorState.read(() => {
24
+ const newContent = (0, _lexical.$getRoot)().getTextContent();
25
+ setRawContent(newContent);
26
+ });
27
+ });
28
+ return () => {
29
+ removeListener();
30
+ };
31
+ }, [editor]);
32
+
33
+ // Calculate the number of characters remaining
34
+ const rawCharactersRemaining = (0, _react.useMemo)(() => {
35
+ const activeCount = maxChars - (rawContent ? rawContent.length : 0);
36
+ return activeCount >= 0 ? activeCount : 0;
37
+ }, [maxChars, rawContent]);
38
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
39
+ "data-role": "visible-counter"
40
+ }, rawCharactersRemaining));
41
+ };
42
+ var _default = exports.default = CharacterCounterPlugin;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ export interface CharacterCounterPluginProps {
3
+ /** The maximum number of characters to allow before showing the warning */
4
+ maxChars: number;
5
+ /** The namespace of the editor that this counter belongs to */
6
+ namespace: string;
7
+ }
8
+ declare const CharacterCounterPlugin: ({ maxChars, namespace, }: CharacterCounterPluginProps) => React.JSX.Element;
9
+ export default CharacterCounterPlugin;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
10
+ var _lexical = require("lexical");
11
+ var _characterCounter = require("./character-counter.style");
12
+ var _useDebounce = _interopRequireDefault(require("../../../../../hooks/__internal__/useDebounce"));
13
+ var _useLocale = _interopRequireDefault(require("../../../../../hooks/__internal__/useLocale"));
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ const CharacterCounterPlugin = ({
18
+ maxChars,
19
+ namespace
20
+ }) => {
21
+ const [rawContent, setRawContent] = (0, _react.useState)("");
22
+ const [editor] = (0, _LexicalComposerContext.useLexicalComposerContext)();
23
+ (0, _react.useEffect)(() => {
24
+ // The character counter plugin listens for updates to the editor state
25
+ // independently to ensure updates do not conflict/interrupt other state
26
+ // changes
27
+ editor.registerUpdateListener(({
28
+ editorState
29
+ }) => {
30
+ editorState.read(() => {
31
+ const newContent = (0, _lexical.$getRoot)().getTextContent();
32
+ setRawContent(newContent);
33
+ });
34
+ });
35
+ }, [editor]);
36
+
37
+ // Get the locale to enable translations
38
+ const locale = (0, _useLocale.default)();
39
+
40
+ // Get the current locale and format the number
41
+ const getFormatNumber = (0, _react.useCallback)(rawValue => {
42
+ return new Intl.NumberFormat(locale.locale()).format(rawValue);
43
+ }, [locale]);
44
+ const [debouncedValue, setDebouncedValue] = (0, _react.useState)(0);
45
+
46
+ // Calculate the number of characters remaining
47
+ const rawCharactersRemaining = (0, _react.useMemo)(() => {
48
+ // Calculate the number of characters remaining
49
+ const activeCount = maxChars - (rawContent ? rawContent.length : 0);
50
+ // Return the active count if it is greater than 0, otherwise return 0
51
+ return activeCount >= 0 ? activeCount : 0;
52
+ }, [rawContent, maxChars]);
53
+
54
+ // Use a debounced value to update the remaining character count for screen readers to use
55
+ /* istanbul ignore next */
56
+ const debouncedText = (0, _useDebounce.default)(newValue => {
57
+ setDebouncedValue(newValue || 0);
58
+ }, 2000);
59
+ (0, _react.useEffect)(() => {
60
+ debouncedText(rawCharactersRemaining);
61
+ }, [rawCharactersRemaining, debouncedText]);
62
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_characterCounter.StyledCharacterCounter, {
63
+ "data-role": `${namespace}-character-limit`
64
+ }, locale.textEditor.characterCounter(getFormatNumber(rawCharactersRemaining))), /*#__PURE__*/_react.default.createElement(_characterCounter.VisuallyHiddenCharacterCounter, {
65
+ "aria-live": "polite"
66
+ }, locale.textEditor.characterCounter(getFormatNumber(debouncedValue))));
67
+ };
68
+ var _default = exports.default = CharacterCounterPlugin;
@@ -0,0 +1,3 @@
1
+ export declare const StyledCharacterCounter: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const VisuallyHiddenCharacterCounter: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export default StyledCharacterCounter;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.VisuallyHiddenCharacterCounter = exports.StyledCharacterCounter = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ var _visuallyHidden = _interopRequireDefault(require("../../../../../style/utils/visually-hidden"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ const StyledCharacterCounter = exports.StyledCharacterCounter = _styledComponents.default.div`
11
+ text-align: left;
12
+ font-size: var(--fontSizes100);
13
+ margin-top: var(--spacing050);
14
+ margin-bottom: var(--spacing050);
15
+ color: var(--colorsUtilityYin055);
16
+ `;
17
+ const VisuallyHiddenCharacterCounter = exports.VisuallyHiddenCharacterCounter = _styledComponents.default.div`
18
+ ::after {
19
+ content: " ";
20
+ }
21
+
22
+ ${_visuallyHidden.default}
23
+ `;
24
+ var _default = exports.default = StyledCharacterCounter;
@@ -0,0 +1 @@
1
+ export { default } from "./character-counter.component";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _characterCounter.default;
10
+ }
11
+ });
12
+ var _characterCounter = _interopRequireDefault(require("./character-counter.component"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "../../../../../../esm/components/text-editor/__internal__/plugins/CharacterCounter/index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ export interface ContentEditorProps {
3
+ /** The active error message of the editor */
4
+ error?: string;
5
+ /** A hint string rendered before the editor but after the label. Intended to describe the purpose or content of the input. */
6
+ inputHint?: string;
7
+ /** The namespace of the editor that this content editor belongs to */
8
+ namespace: string;
9
+ /** The link previews to render at the foot of the editor */
10
+ previews?: React.JSX.Element[];
11
+ /** The number of rows to render in the editor */
12
+ rows?: number;
13
+ /** The active warning message of the editor */
14
+ warning?: string;
15
+ }
16
+ declare const ContentEditor: ({ error, inputHint, namespace, previews, rows, warning, }: ContentEditorProps) => React.JSX.Element;
17
+ export default ContentEditor;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _LexicalContentEditable = require("@lexical/react/LexicalContentEditable");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _contentEditor = _interopRequireDefault(require("./content-editor.style"));
11
+ var _ = require("..");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ /**
14
+ * This is where the actual content editor is rendered. It uses the `ContentEditable` component from the `@lexical/react` package
15
+ * as per their documentation. It also uses the `LinkPreviewerPlugin` to render link previews.
16
+ */
17
+
18
+ const ContentEditor = ({
19
+ error,
20
+ inputHint,
21
+ namespace,
22
+ previews = [],
23
+ rows,
24
+ warning
25
+ }) => {
26
+ const focusAtEnd = (0, _.useCursorAtEnd)();
27
+ return /*#__PURE__*/_react.default.createElement(_contentEditor.default, {
28
+ "data-role": `${namespace}-content-editable`,
29
+ error: error,
30
+ namespace: namespace,
31
+ rows: rows,
32
+ warning: warning
33
+ }, /*#__PURE__*/_react.default.createElement(_LexicalContentEditable.ContentEditable, {
34
+ "aria-describedby": inputHint && `${namespace}-input-hint`,
35
+ "aria-labelledby": `${namespace}-label`,
36
+ className: `${namespace}-editable`,
37
+ "data-role": `${namespace}-editable`,
38
+ onFocus: focusAtEnd
39
+ /** The following are automatically added by Lexical but violate WCAG 4.1.2 Name, Role, Value and so have been overriden */,
40
+ "aria-autocomplete": undefined,
41
+ "aria-readonly": undefined
42
+ }), /*#__PURE__*/_react.default.createElement(_.LinkPreviewerPlugin, {
43
+ error: error,
44
+ previews: previews,
45
+ warning: warning
46
+ }));
47
+ };
48
+ var _default = exports.default = ContentEditor;
@@ -0,0 +1,6 @@
1
+ import { ContentEditorProps } from "./content-editor.component";
2
+ interface StyledContentEditableProps extends ContentEditorProps {
3
+ showBorders?: boolean;
4
+ }
5
+ declare const StyledContentEditable: import("styled-components").StyledComponent<"div", any, StyledContentEditableProps, never>;
6
+ export default StyledContentEditable;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ const DEFAULT_EDITOR_HEIGHT = 210;
11
+ const FIXED_LINE_HEIGHT = 21;
12
+ const StyledContentEditable = _styledComponents.default.div`
13
+ ${({
14
+ error,
15
+ namespace,
16
+ rows,
17
+ warning
18
+ }) => (0, _styledComponents.css)`
19
+ .${namespace}-editable {
20
+ min-height: ${rows && rows > 2 ? rows * FIXED_LINE_HEIGHT : DEFAULT_EDITOR_HEIGHT}px;
21
+ background-color: var(--colorsUtilityYang100);
22
+ border-top: 1px solid var(--colorsUtilityMajor200);
23
+ border-left: 1px solid var(--colorsUtilityMajor200);
24
+ border-right: 1px solid var(--colorsUtilityMajor200);
25
+ margin: 0;
26
+ padding: 2px 8px;
27
+ border-top-left-radius: var(--borderWidth600);
28
+ border-top-right-radius: var(--borderWidth600);
29
+ border-bottom-left-radius: 0;
30
+ border-bottom-right-radius: 0;
31
+
32
+ ${(error || warning) && (0, _styledComponents.css)`
33
+ border: none;
34
+ `}
35
+
36
+ :focus {
37
+ outline: none;
38
+ }
39
+ }
40
+ `}
41
+ `;
42
+ var _default = exports.default = StyledContentEditable;
@@ -0,0 +1 @@
1
+ export { default } from "./content-editor.component";
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  Object.defineProperty(exports, "default", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _toolbarButton.default;
9
+ return _contentEditor.default;
10
10
  }
11
11
  });
12
- var _toolbarButton = _interopRequireDefault(require("./toolbar-button.component"));
12
+ var _contentEditor = _interopRequireDefault(require("./content-editor.component"));
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "../../../../../../esm/components/text-editor/__internal__/plugins/ContentEditor/index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1 @@
1
+ export { default } from "./link-monitor.plugin";
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  Object.defineProperty(exports, "default", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _labelWrapper.default;
9
+ return _linkMonitor.default;
10
10
  }
11
11
  });
12
- var _labelWrapper = _interopRequireDefault(require("./label-wrapper.component"));
12
+ var _linkMonitor = _interopRequireDefault(require("./link-monitor.plugin"));
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,2 @@
1
+ declare const LinkMonitorPlugin: () => null;
2
+ export default LinkMonitorPlugin;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
8
+ var _link = require("@lexical/link");
9
+ var _react = require("react");
10
+ var _helpers = require("../../helpers");
11
+ var _textEditor = _interopRequireDefault(require("../../../text-editor.context"));
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ /* istanbul ignore file */
14
+ /**
15
+ * Owing to the nature of how this plugin runs, it is not possible to test it in isolation.
16
+ * It is tested as part of the TextEditor Playwright tests.
17
+ *
18
+ * The purpose of this plugin is to monitor the editor for any changes that result in the
19
+ * creation of AutoLinkNodes, and report these changes to the customer (e.g. to then
20
+ * generate link previews).
21
+ */
22
+
23
+ const LinkMonitorPlugin = () => {
24
+ // Get the editor instance
25
+ const [editor] = (0, _LexicalComposerContext.useLexicalComposerContext)();
26
+ // Get the onLinkAdded function from the context
27
+ const {
28
+ onLinkAdded
29
+ } = (0, _react.useContext)(_textEditor.default);
30
+ (0, _react.useEffect)(() => {
31
+ // Register a mutation listener for AutoLinkNodes
32
+ const removeAutoLinkMutationListener = editor.registerMutationListener(_link.AutoLinkNode, (mutatedNodes, {
33
+ prevEditorState
34
+ }) => {
35
+ const isEditable = editor.isEditable();
36
+ if (!isEditable) return;
37
+
38
+ // For each AutoLinkNode, check if the text content is present and also a valid URL
39
+ for (const [nodeKey, mutation] of mutatedNodes) {
40
+ const node = editor.getElementByKey(nodeKey);
41
+ const textContent = node?.innerText;
42
+ if (textContent) {
43
+ const linkValid = (0, _helpers.validateUrl)(textContent);
44
+ if (linkValid) {
45
+ // Assume link has been created, notify user
46
+ onLinkAdded?.(textContent, mutation);
47
+ }
48
+ } else {
49
+ // Assume link has been destroyed, notify user
50
+ const deletedData = prevEditorState?._nodeMap.get(nodeKey);
51
+ if (deletedData) {
52
+ const {
53
+ __url
54
+ } = deletedData;
55
+ onLinkAdded?.(__url, mutation);
56
+ }
57
+ }
58
+ }
59
+ }, {
60
+ skipInitialization: false
61
+ });
62
+
63
+ // Remove the mutation listener when the component is unmounted
64
+ return () => {
65
+ removeAutoLinkMutationListener();
66
+ };
67
+ }, [editor, onLinkAdded]);
68
+ return null;
69
+ };
70
+ var _default = exports.default = LinkMonitorPlugin;
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "../../../../../../esm/components/text-editor/__internal__/plugins/LinkMonitor/index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1 @@
1
+ export { default } from "./link-previewer.component";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _linkPreviewer.default;
10
+ }
11
+ });
12
+ var _linkPreviewer = _interopRequireDefault(require("./link-previewer.component"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ export interface LinkPreviewerProps {
3
+ /** The active error message of the editor */
4
+ error?: string;
5
+ /** The link previews to render at the foot of the editor */
6
+ previews?: React.JSX.Element[];
7
+ /** The active warning message of the editor */
8
+ warning?: string;
9
+ }
10
+ declare const LinkPreviewer: ({ error, previews, warning, }: LinkPreviewerProps) => React.JSX.Element;
11
+ export default LinkPreviewer;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _textEditor = _interopRequireDefault(require("../../../text-editor.context"));
10
+ var _linkPreviewer = _interopRequireDefault(require("./link-previewer.style"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ const LinkPreviewer = ({
15
+ error,
16
+ previews = [],
17
+ warning
18
+ }) => {
19
+ const {
20
+ readOnly
21
+ } = (0, _react.useContext)(_textEditor.default);
22
+ return /*#__PURE__*/_react.default.createElement(_linkPreviewer.default, {
23
+ error: error,
24
+ readOnly: readOnly,
25
+ warning: warning
26
+ }, previews);
27
+ };
28
+ var _default = exports.default = LinkPreviewer;
@@ -0,0 +1,6 @@
1
+ import { LinkPreviewerProps } from "./link-previewer.component";
2
+ interface StyledLinkPreviewerProps extends LinkPreviewerProps {
3
+ readOnly?: boolean;
4
+ }
5
+ declare const StyledLinkPreviewer: import("styled-components").StyledComponent<"div", any, StyledLinkPreviewerProps, never>;
6
+ export default StyledLinkPreviewer;
@@ -5,43 +5,33 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
- var _themes = require("../../../../../style/themes");
9
- var _addFocusStyling = _interopRequireDefault(require("../../../../../style/utils/add-focus-styling"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
8
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
9
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
- const StyledToolbarButton = _styledComponents.default.button.attrs({
14
- type: "button"
15
- })`
16
- display: inline-flex;
17
- justify-content: center;
18
- align-items: center;
19
- padding: 6px;
20
- background-color: inherit;
21
- border-radius: var(--borderRadius100);
22
- border: none;
23
- cursor: pointer;
24
-
10
+ const StyledLinkPreviewer = _styledComponents.default.div`
25
11
  ${({
26
- isActive
12
+ error,
13
+ readOnly,
14
+ warning
27
15
  }) => (0, _styledComponents.css)`
28
- :focus,
29
- :active {
30
- z-index: 1;
31
- position: relative;
32
- ${(0, _addFocusStyling.default)()}
33
- }
16
+ border-bottom-left-radius: 0;
17
+ border-bottom-right-radius: 0;
18
+ background-color: var(--colorsUtilityYang100);
19
+ border-bottom: 1px solid var(--colorsUtilityMajor200);
20
+ border-left: 1px solid var(--colorsUtilityMajor200);
21
+ border-right: 1px solid var(--colorsUtilityMajor200);
22
+ margin: 0;
23
+ padding: 2px 8px;
34
24
 
35
- :hover {
36
- background-color: ${!isActive && "var(--colorsActionMinor200)"};
37
- }
25
+ ${(error || warning) && (0, _styledComponents.css)`
26
+ border-left: none;
27
+ border-right: none;
28
+ border-bottom: none;
29
+ `}
38
30
 
39
- ${isActive && (0, _styledComponents.css)`
40
- background-color: var(--colorsActionMinor600);
31
+ ${readOnly && (0, _styledComponents.css)`
32
+ border-bottom-left-radius: var(--borderWidth600);
33
+ border-bottom-right-radius: var(--borderWidth600);
41
34
  `}
42
35
  `}
43
36
  `;
44
- StyledToolbarButton.defaultProps = {
45
- theme: _themes.baseTheme
46
- };
47
- var _default = exports.default = StyledToolbarButton;
37
+ var _default = exports.default = StyledLinkPreviewer;
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "../../../../../../esm/components/text-editor/__internal__/plugins/LinkPreviewer/index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1 @@
1
+ export { default } from "./on-change.plugin";