@wix/patterns-fields 1.16.0 → 1.18.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 (308) hide show
  1. package/cell-rich-content-input/package.json +5 -0
  2. package/dist/cjs/assets/locale/messages_en.json +6 -2
  3. package/dist/cjs/components/address/input/address-input.st.css.js +3 -3
  4. package/dist/cjs/components/address/input/address-input.st.css.js.map +1 -1
  5. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  6. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  7. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  8. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  9. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js +2 -2
  10. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  11. package/dist/cjs/components/color-view/color-view.st.css.js +4 -4
  12. package/dist/cjs/components/color-view/color-view.st.css.js.map +1 -1
  13. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js +3 -3
  14. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  15. package/dist/cjs/components/document/form-document-field.st.css.js +7 -7
  16. package/dist/cjs/components/document/form-document-field.st.css.js.map +1 -1
  17. package/dist/cjs/components/exclamation/exclamation.st.css.js +5 -5
  18. package/dist/cjs/components/exclamation/exclamation.st.css.js.map +1 -1
  19. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js +5 -5
  20. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  21. package/dist/cjs/components/image/cell-image-edit.js +32 -61
  22. package/dist/cjs/components/image/cell-image-edit.js.map +1 -1
  23. package/dist/cjs/components/image/image-thumbnail.js +7 -6
  24. package/dist/cjs/components/image/image-thumbnail.js.map +1 -1
  25. package/dist/cjs/components/image/thumbnail-replace-overlay.js +29 -0
  26. package/dist/cjs/components/image/thumbnail-replace-overlay.js.map +1 -0
  27. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css +15 -0
  28. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js +23 -0
  29. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js.map +1 -0
  30. package/dist/cjs/components/media-control/paste-url-button.st.css.js +4 -4
  31. package/dist/cjs/components/media-control/paste-url-button.st.css.js.map +1 -1
  32. package/dist/cjs/components/media-control/use-media-control.js +8 -9
  33. package/dist/cjs/components/media-control/use-media-control.js.map +1 -1
  34. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
  35. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  36. package/dist/cjs/components/media-image/media-image.st.css.js +4 -4
  37. package/dist/cjs/components/media-image/media-image.st.css.js.map +1 -1
  38. package/dist/cjs/components/media-image/overlays/overlay.st.css.js +4 -4
  39. package/dist/cjs/components/media-image/overlays/overlay.st.css.js.map +1 -1
  40. package/dist/cjs/components/media-loader/media-loader.st.css.js +3 -3
  41. package/dist/cjs/components/media-loader/media-loader.st.css.js.map +1 -1
  42. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  43. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  44. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
  45. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document-view.js.map +1 -1
  46. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  47. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  48. package/dist/cjs/components/rich-content/cell-rich-content-input.js +1 -1
  49. package/dist/cjs/components/rich-content/cell-rich-content-input.js.map +1 -1
  50. package/dist/cjs/components/rich-content/cell-rich-content-view.js +1 -1
  51. package/dist/cjs/components/rich-content/cell-rich-content-view.js.map +1 -1
  52. package/dist/cjs/components/rich-content/editor.js +2 -10
  53. package/dist/cjs/components/rich-content/editor.js.map +1 -1
  54. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  55. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  56. package/dist/cjs/components/rich-content/rich-content-input/form-input/form-input.js +2 -1
  57. package/dist/cjs/components/rich-content/rich-content-input/form-input/form-input.js.map +1 -1
  58. package/dist/cjs/components/rich-content/rich-content-input/form-input/index.js +3 -4
  59. package/dist/cjs/components/rich-content/rich-content-input/form-input/index.js.map +1 -1
  60. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  61. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  62. package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  63. package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
  64. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  65. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  66. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  67. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  68. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  69. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  70. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +8 -8
  71. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  72. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  73. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  74. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  75. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  76. package/dist/cjs/components/rich-text/cell-rich-text-editor.js +155 -0
  77. package/dist/cjs/components/rich-text/cell-rich-text-editor.js.map +1 -0
  78. package/dist/cjs/components/rich-text/cell-rich-text-input.js +153 -0
  79. package/dist/cjs/components/rich-text/cell-rich-text-input.js.map +1 -0
  80. package/dist/cjs/components/rich-text/cell-rich-text-view.js +30 -0
  81. package/dist/cjs/components/rich-text/cell-rich-text-view.js.map +1 -0
  82. package/dist/cjs/components/rich-text/index.js +18 -0
  83. package/dist/cjs/components/rich-text/index.js.map +1 -1
  84. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.js +13 -1
  85. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.js.map +1 -1
  86. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css +26 -22
  87. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +50 -46
  88. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  89. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  90. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  91. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.js +168 -157
  92. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.js.map +1 -1
  93. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css +13 -12
  94. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +22 -19
  95. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  96. package/dist/cjs/components/text/text-view.st.css.js +3 -3
  97. package/dist/cjs/components/text/text-view.st.css.js.map +1 -1
  98. package/dist/cjs/components/video/cell-video-edit.js +424 -0
  99. package/dist/cjs/components/video/cell-video-edit.js.map +1 -0
  100. package/dist/cjs/components/video/index.js +3 -1
  101. package/dist/cjs/components/video/index.js.map +1 -1
  102. package/dist/cjs/exports/cell-rich-content-input.js +8 -0
  103. package/dist/cjs/exports/cell-rich-content-input.js.map +1 -0
  104. package/dist/cjs/exports/form-rich-content-input.js +3 -4
  105. package/dist/cjs/exports/form-rich-content-input.js.map +1 -1
  106. package/dist/cjs/index.js +11 -0
  107. package/dist/cjs/index.js.map +1 -1
  108. package/dist/cjs/services/translations.js.map +1 -1
  109. package/dist/cjs/styles.global.css +1 -1
  110. package/dist/esm/assets/locale/messages_en.json +6 -2
  111. package/dist/esm/components/address/input/address-input.st.css.js +2 -2
  112. package/dist/esm/components/address/input/address-input.st.css.js.map +1 -1
  113. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
  114. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  115. package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js +2 -2
  116. package/dist/esm/components/audio/audio-player/audio-player.st.css.js +2 -2
  117. package/dist/esm/components/color-view/color-view.st.css.js +2 -2
  118. package/dist/esm/components/delete-dialog/delete-dialog.st.css.js +2 -2
  119. package/dist/esm/components/document/form-document-field.st.css.js +2 -2
  120. package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
  121. package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
  122. package/dist/esm/components/image/cell-image-edit.js +4 -21
  123. package/dist/esm/components/image/cell-image-edit.js.map +1 -1
  124. package/dist/esm/components/image/image-thumbnail.js +9 -3
  125. package/dist/esm/components/image/image-thumbnail.js.map +1 -1
  126. package/dist/esm/components/image/thumbnail-replace-overlay.js +7 -0
  127. package/dist/esm/components/image/thumbnail-replace-overlay.js.map +1 -0
  128. package/dist/esm/components/image/thumbnail-replace-overlay.st.css +15 -0
  129. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js +15 -0
  130. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js.map +1 -0
  131. package/dist/esm/components/media-control/paste-url-button.st.css.js +2 -2
  132. package/dist/esm/components/media-control/use-media-control.js +9 -8
  133. package/dist/esm/components/media-control/use-media-control.js.map +1 -1
  134. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js +2 -2
  135. package/dist/esm/components/media-image/media-image.st.css.js +3 -3
  136. package/dist/esm/components/media-image/media-image.st.css.js.map +1 -1
  137. package/dist/esm/components/media-image/overlays/overlay.st.css.js +3 -3
  138. package/dist/esm/components/media-image/overlays/overlay.st.css.js.map +1 -1
  139. package/dist/esm/components/media-loader/media-loader.st.css.js +2 -2
  140. package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  141. package/dist/esm/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
  142. package/dist/esm/components/multi-document/multi-document-input/form-multi-document-view.js.map +1 -1
  143. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js +2 -2
  144. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  145. package/dist/esm/components/rich-content/cell-rich-content-input.js.map +1 -1
  146. package/dist/esm/components/rich-content/cell-rich-content-view.js +1 -1
  147. package/dist/esm/components/rich-content/cell-rich-content-view.js.map +1 -1
  148. package/dist/esm/components/rich-content/editor.js +1 -2
  149. package/dist/esm/components/rich-content/editor.js.map +1 -1
  150. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +3 -3
  151. package/dist/esm/components/rich-content/rich-content-input/form-input/form-input.js +1 -1
  152. package/dist/esm/components/rich-content/rich-content-input/form-input/form-input.js.map +1 -1
  153. package/dist/esm/components/rich-content/rich-content-input/form-input/index.js +1 -1
  154. package/dist/esm/components/rich-content/rich-content-input/form-input/index.js.map +1 -1
  155. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +3 -3
  156. package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  157. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
  158. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
  159. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  160. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +3 -3
  161. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  162. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +2 -2
  163. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  164. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +2 -2
  165. package/dist/esm/components/rich-text/cell-rich-text-editor.js +85 -0
  166. package/dist/esm/components/rich-text/cell-rich-text-editor.js.map +1 -0
  167. package/dist/esm/components/rich-text/cell-rich-text-input.js +77 -0
  168. package/dist/esm/components/rich-text/cell-rich-text-input.js.map +1 -0
  169. package/dist/esm/components/rich-text/cell-rich-text-view.js +11 -0
  170. package/dist/esm/components/rich-text/cell-rich-text-view.js.map +1 -0
  171. package/dist/esm/components/rich-text/index.js +3 -0
  172. package/dist/esm/components/rich-text/index.js.map +1 -1
  173. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.js +14 -2
  174. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.js.map +1 -1
  175. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css +26 -22
  176. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +4 -4
  177. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  178. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +2 -2
  179. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.js +64 -50
  180. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.js.map +1 -1
  181. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css +13 -12
  182. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +3 -3
  183. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  184. package/dist/esm/components/text/text-view.st.css.js +2 -2
  185. package/dist/esm/components/video/cell-video-edit.js +159 -0
  186. package/dist/esm/components/video/cell-video-edit.js.map +1 -0
  187. package/dist/esm/components/video/index.js +1 -0
  188. package/dist/esm/components/video/index.js.map +1 -1
  189. package/dist/esm/exports/cell-rich-content-input.js +2 -0
  190. package/dist/esm/exports/cell-rich-content-input.js.map +1 -0
  191. package/dist/esm/exports/form-rich-content-input.js +1 -1
  192. package/dist/esm/exports/form-rich-content-input.js.map +1 -1
  193. package/dist/esm/index.js +1 -0
  194. package/dist/esm/index.js.map +1 -1
  195. package/dist/esm/styles.global.css +1 -1
  196. package/dist/types/components/address/input/address-input.st.css.d.ts.map +1 -1
  197. package/dist/types/components/audio/actions/actions-menu/actions-menu.st.css.d.ts.map +1 -1
  198. package/dist/types/components/image/cell-image-edit.d.ts.map +1 -1
  199. package/dist/types/components/image/image-thumbnail.d.ts +1 -0
  200. package/dist/types/components/image/image-thumbnail.d.ts.map +1 -1
  201. package/dist/types/components/image/thumbnail-replace-overlay.d.ts +3 -0
  202. package/dist/types/components/image/thumbnail-replace-overlay.d.ts.map +1 -0
  203. package/dist/types/components/image/thumbnail-replace-overlay.st.css.d.ts +14 -0
  204. package/dist/types/components/image/thumbnail-replace-overlay.st.css.d.ts.map +1 -0
  205. package/dist/types/components/media-control/use-media-control.d.ts +3 -3
  206. package/dist/types/components/media-control/use-media-control.d.ts.map +1 -1
  207. package/dist/types/components/media-gallery/media-gallery-dialog/hooks.d.ts +2 -2
  208. package/dist/types/components/media-image/media-image.st.css.d.ts.map +1 -1
  209. package/dist/types/components/media-image/overlays/overlay.st.css.d.ts.map +1 -1
  210. package/dist/types/components/multi-document/multi-document-input/form-multi-document-view.d.ts +1 -1
  211. package/dist/types/components/multi-document/multi-document-input/form-multi-document-view.d.ts.map +1 -1
  212. package/dist/types/components/multi-document/multi-document-input/form-multi-document.st.css.d.ts.map +1 -1
  213. package/dist/types/components/rich-content/cell-rich-content-input.d.ts.map +1 -1
  214. package/dist/types/components/rich-content/cell-rich-content-view.d.ts.map +1 -1
  215. package/dist/types/components/rich-content/editor.d.ts +1 -2
  216. package/dist/types/components/rich-content/editor.d.ts.map +1 -1
  217. package/dist/types/components/rich-content/rich-content-input/form-input/form-input.d.ts +1 -1
  218. package/dist/types/components/rich-content/rich-content-input/form-input/form-input.d.ts.map +1 -1
  219. package/dist/types/components/rich-content/rich-content-input/form-input/index.d.ts +1 -1
  220. package/dist/types/components/rich-content/rich-content-input/form-input/index.d.ts.map +1 -1
  221. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.d.ts.map +1 -1
  222. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.d.ts.map +1 -1
  223. package/dist/types/components/rich-text/cell-rich-text-editor.d.ts +21 -0
  224. package/dist/types/components/rich-text/cell-rich-text-editor.d.ts.map +1 -0
  225. package/dist/types/components/rich-text/cell-rich-text-input.d.ts +23 -0
  226. package/dist/types/components/rich-text/cell-rich-text-input.d.ts.map +1 -0
  227. package/dist/types/components/rich-text/cell-rich-text-view.d.ts +8 -0
  228. package/dist/types/components/rich-text/cell-rich-text-view.d.ts.map +1 -0
  229. package/dist/types/components/rich-text/index.d.ts +4 -0
  230. package/dist/types/components/rich-text/index.d.ts.map +1 -1
  231. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-editor.d.ts.map +1 -1
  232. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.d.ts +4 -0
  233. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.d.ts.map +1 -1
  234. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.d.ts +1 -0
  235. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.d.ts.map +1 -1
  236. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.d.ts +3 -0
  237. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.d.ts.map +1 -1
  238. package/dist/types/components/video/cell-video-edit.d.ts +20 -0
  239. package/dist/types/components/video/cell-video-edit.d.ts.map +1 -0
  240. package/dist/types/components/video/index.d.ts +2 -0
  241. package/dist/types/components/video/index.d.ts.map +1 -1
  242. package/dist/types/exports/cell-rich-content-input.d.ts +2 -0
  243. package/dist/types/exports/cell-rich-content-input.d.ts.map +1 -0
  244. package/dist/types/exports/form-rich-content-input.d.ts +1 -2
  245. package/dist/types/exports/form-rich-content-input.d.ts.map +1 -1
  246. package/dist/types/index.d.ts +1 -0
  247. package/dist/types/index.d.ts.map +1 -1
  248. package/dist/types/services/translations.d.ts +1 -1
  249. package/dist/types/services/translations.d.ts.map +1 -1
  250. package/package.json +11 -5
  251. package/src/assets/locale/messages_en.json +6 -2
  252. package/src/components/address/input/address-input.st.css.ts +2 -2
  253. package/src/components/audio/actions/actions-menu/actions-menu.st.css.ts +2 -2
  254. package/src/components/audio/audio-field/form-audio-field.st.css.ts +2 -2
  255. package/src/components/audio/audio-player/audio-player.st.css.ts +2 -2
  256. package/src/components/color-view/color-view.st.css.ts +2 -2
  257. package/src/components/delete-dialog/delete-dialog.st.css.ts +2 -2
  258. package/src/components/document/form-document-field.st.css.ts +2 -2
  259. package/src/components/exclamation/exclamation.st.css.ts +2 -2
  260. package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
  261. package/src/components/image/cell-image-edit.tsx +4 -26
  262. package/src/components/image/image-thumbnail.tsx +10 -2
  263. package/src/components/image/thumbnail-replace-overlay.st.css +15 -0
  264. package/src/components/image/thumbnail-replace-overlay.st.css.ts +25 -0
  265. package/src/components/image/thumbnail-replace-overlay.tsx +11 -0
  266. package/src/components/media-control/paste-url-button.st.css.ts +2 -2
  267. package/src/components/media-control/use-media-control.ts +13 -13
  268. package/src/components/media-gallery/form-media-gallery-field.st.css.ts +2 -2
  269. package/src/components/media-image/media-image.st.css.ts +3 -3
  270. package/src/components/media-image/overlays/overlay.st.css.ts +3 -3
  271. package/src/components/media-loader/media-loader.st.css.ts +2 -2
  272. package/src/components/media-tag/web-media-tag/media-tag.st.css.ts +2 -2
  273. package/src/components/multi-document/multi-document-input/form-multi-document-field.tsx +1 -1
  274. package/src/components/multi-document/multi-document-input/form-multi-document-view.tsx +2 -2
  275. package/src/components/multi-document/multi-document-input/form-multi-document.st.css.ts +2 -2
  276. package/src/components/rich-content/cell-rich-content-input.tsx +2 -3
  277. package/src/components/rich-content/cell-rich-content-view.tsx +1 -4
  278. package/src/components/rich-content/editor.ts +1 -2
  279. package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.ts +3 -3
  280. package/src/components/rich-content/rich-content-input/form-input/form-input.tsx +1 -1
  281. package/src/components/rich-content/rich-content-input/form-input/index.ts +1 -1
  282. package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.ts +3 -3
  283. package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.ts +2 -2
  284. package/src/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.ts +2 -2
  285. package/src/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.ts +2 -2
  286. package/src/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.ts +2 -2
  287. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts +3 -3
  288. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts +2 -2
  289. package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts +2 -2
  290. package/src/components/rich-text/cell-rich-text-editor.tsx +173 -0
  291. package/src/components/rich-text/cell-rich-text-input.tsx +126 -0
  292. package/src/components/rich-text/cell-rich-text-view.tsx +19 -0
  293. package/src/components/rich-text/index.ts +4 -0
  294. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css +26 -22
  295. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts +4 -4
  296. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.tsx +22 -5
  297. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts +2 -2
  298. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.tsx +153 -126
  299. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css +13 -12
  300. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts +3 -3
  301. package/src/components/text/text-view.st.css.ts +2 -2
  302. package/src/components/video/cell-video-edit.tsx +308 -0
  303. package/src/components/video/index.ts +2 -0
  304. package/src/exports/cell-rich-content-input.ts +4 -0
  305. package/src/exports/form-rich-content-input.ts +1 -5
  306. package/src/index.ts +1 -0
  307. package/src/services/translations.ts +5 -1
  308. package/src/styles.global.css +1 -1
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+
3
+ import { HTMLToText } from '../../auto-field-types';
4
+ import { TextView } from '../text';
5
+
6
+ export interface CellRichTextViewProps {
7
+ value?: string | null;
8
+ }
9
+
10
+ /** Synchronous plain-text view for an HTML rich-text string.
11
+ * Strips all HTML tags via DOMParser — no loading spinner. */
12
+ export const CellRichTextView: React.FC<CellRichTextViewProps> = ({
13
+ value,
14
+ }) => {
15
+ const plainText = value ? HTMLToText(value, { singleLine: true }) : '';
16
+ return <TextView data={plainText} />;
17
+ };
18
+
19
+ CellRichTextView.displayName = 'CellRichTextView';
@@ -1,5 +1,9 @@
1
1
  export * from './rich-text-view';
2
2
  export * from './rich-text-input';
3
+ export * from './cell-rich-text-view';
4
+ export * from './cell-rich-text-editor';
5
+ export * from './cell-rich-text-input';
6
+ export type { RichTextStyleVariables } from './rich-text-input/rich-text-editor/text-style';
3
7
 
4
8
  export type { NoOptions, TextKeys } from './types';
5
9
  export * from './components/link';
@@ -6,6 +6,7 @@
6
6
  @property st-global(--wds-color-black-100);
7
7
  @property st-global(--wds-color-black-700);
8
8
  @property st-global(--wds-font-family-default);
9
+ @property st-global(--wsr-font-family);
9
10
  @property st-global(--wds-font-weight-medium);
10
11
  @property st-global(--wds-font-weight-bold);
11
12
  @property st-global(--wds-font-size-500);
@@ -65,66 +66,69 @@
65
66
  @property st-global(--rt-p3-lineHeight);
66
67
 
67
68
  :vars {
69
+ /* Madefor fallback ensures the correct font renders even without a WDS theme. */
70
+ fontFamilyDefault: var(--wds-font-family-default, var(--wsr-font-family, Madefor));
71
+
68
72
  h1FontSize: var(--rt-h1-fontSize, 72px);
69
73
  h1FontStyle: var(--rt-h1-fontStyle, normal);
70
- h1FontWeight: var(--rt-h1-fontWeight, var(--wds-font-weight-bold));
71
- h1FontFamily: var(--rt-h1-fontFamily, var(--wds-font-family-default));
74
+ h1FontWeight: var(--rt-h1-fontWeight, var(--wds-font-weight-bold, 700));
75
+ h1FontFamily: var(--rt-h1-fontFamily, value(fontFamilyDefault));
72
76
  h1LineHeight: var(--rt-h1-lineHeight, 1.33);
73
77
  h1Font: value(h1FontStyle) value(h1FontWeight) value(h1FontSize)/value(h1LineHeight) value(h1FontFamily);
74
78
 
75
79
  h2FontSize: var(--rt-h2-fontSize, 42px);
76
80
  h2FontStyle: var(--rt-h2-fontStyle, normal);
77
- h2FontWeight: var(--rt-h2-fontWeight, var(--wds-font-weight-bold));
78
- h2FontFamily: var(--rt-h2-fontFamily, var(--wds-font-family-default));
81
+ h2FontWeight: var(--rt-h2-fontWeight, var(--wds-font-weight-bold, 700));
82
+ h2FontFamily: var(--rt-h2-fontFamily, value(fontFamilyDefault));
79
83
  h2LineHeight: var(--rt-h2-lineHeight, 1.2);
80
84
  h2Font: value(h2FontStyle) value(h2FontWeight) value(h2FontSize)/value(h2LineHeight) value(h2FontFamily);
81
85
 
82
86
  h3FontSize: var(--rt-h3-fontSize, 38px);
83
87
  h3FontStyle: var(--rt-h3-fontStyle, normal);
84
- h3FontWeight: var(--rt-h3-fontWeight, var(--wds-font-weight-medium));
85
- h3FontFamily: var(--rt-h3-fontFamily, var(--wds-font-family-default));
88
+ h3FontWeight: var(--rt-h3-fontWeight, var(--wds-font-weight-medium, 500));
89
+ h3FontFamily: var(--rt-h3-fontFamily, value(fontFamilyDefault));
86
90
  h3LineHeight: var(--rt-h3-lineHeight, 1.2);
87
91
  h3Font: value(h3FontStyle) value(h3FontWeight) value(h3FontSize)/value(h3LineHeight) value(h3FontFamily);
88
92
 
89
93
  h4FontSize: var(--rt-h4-fontSize, 34px);
90
94
  h4FontStyle: var(--rt-h4-fontStyle, normal);
91
- h4FontWeight: var(--rt-h4-fontWeight, var(--wds-font-weight-bold));
92
- h4FontFamily: var(--rt-h4-fontFamily, var(--wds-font-family-default));
95
+ h4FontWeight: var(--rt-h4-fontWeight, var(--wds-font-weight-bold, 700));
96
+ h4FontFamily: var(--rt-h4-fontFamily, value(fontFamilyDefault));
93
97
  h4LineHeight: var(--rt-h4-lineHeight, 1.2);
94
98
  h4Font: value(h4FontStyle) value(h4FontWeight) value(h4FontSize)/value(h4LineHeight) value(h4FontFamily);
95
99
 
96
100
  h5FontSize: var(--rt-h5-fontSize, 28px);
97
101
  h5FontStyle: var(--rt-h5-fontStyle, normal);
98
- h5FontWeight: var(--rt-h5-fontWeight, var(--wds-font-weight-bold));
99
- h5FontFamily: var(--rt-h5-fontFamily, var(--wds-font-family-default));
102
+ h5FontWeight: var(--rt-h5-fontWeight, var(--wds-font-weight-bold, 700));
103
+ h5FontFamily: var(--rt-h5-fontFamily, value(fontFamilyDefault));
100
104
  h5LineHeight: var(--rt-h5-lineHeight, 1.2);
101
105
  h5Font: value(h5FontStyle) value(h5FontWeight) value(h5FontSize)/value(h5LineHeight) value(h5FontFamily);
102
106
 
103
107
  h6FontSize: var(--rt-h6-fontSize, 22px);
104
108
  h6FontStyle: var(--rt-h6-fontStyle, normal);
105
- h6FontWeight: var(--rt-h6-fontWeight, var(--wds-font-weight-medium));
106
- h6FontFamily: var(--rt-h6-fontFamily, var(--wds-font-family-default));
109
+ h6FontWeight: var(--rt-h6-fontWeight, var(--wds-font-weight-medium, 500));
110
+ h6FontFamily: var(--rt-h6-fontFamily, value(fontFamilyDefault));
107
111
  h6LineHeight: var(--rt-h6-lineHeight, 1.2);
108
112
  h6Font: value(h6FontStyle) value(h6FontWeight) value(h6FontSize)/value(h6LineHeight) value(h6FontFamily);
109
113
 
110
114
  p1FontSize: var(--rt-p1-fontSize, 18px);
111
115
  p1FontStyle: var(--rt-p1-fontStyle, normal);
112
- p1FontWeight: var(--rt-p1-fontWeight, var(--wds-font-weight-medium));
113
- p1FontFamily: var(--rt-p1-fontFamily, var(--wds-font-family-default));
116
+ p1FontWeight: var(--rt-p1-fontWeight, var(--wds-font-weight-medium, 500));
117
+ p1FontFamily: var(--rt-p1-fontFamily, value(fontFamilyDefault));
114
118
  p1LineHeight: var(--rt-p1-lineHeight, 24px);
115
119
  p1Font: value(p1FontStyle) value(p1FontWeight) value(p1FontSize)/value(p1LineHeight) value(p1FontFamily);
116
120
 
117
121
  unstyledFontSize: var(--rt-unstyled-fontSize, 16px);
118
122
  unstyledFontStyle: var(--rt-unstyled-fontStyle, normal);
119
- unstyledFontWeight: var(--rt-unstyled-fontWeight, var(--wds-font-weight-medium));
120
- unstyledFontFamily: var(--rt-unstyled-fontFamily, var(--wds-font-family-default));
123
+ unstyledFontWeight: var(--rt-unstyled-fontWeight, var(--wds-font-weight-medium, 500));
124
+ unstyledFontFamily: var(--rt-unstyled-fontFamily, value(fontFamilyDefault));
121
125
  unstyledLineHeight: var(--rt-unstyled-lineHeight, 24px);
122
126
  unstyledFont: value(unstyledFontStyle) value(unstyledFontWeight) value(unstyledFontSize)/value(unstyledLineHeight) value(unstyledFontFamily);
123
127
 
124
128
  p3FontSize: var(--rt-p3-fontSize, 14px);
125
129
  p3FontStyle: var(--rt-p3-fontStyle, normal);
126
- p3FontWeight: var(--rt-p3-fontWeight, var(--wds-font-weight-medium));
127
- p3FontFamily: var(--rt-p3-fontFamily, var(--wds-font-family-default));
130
+ p3FontWeight: var(--rt-p3-fontWeight, var(--wds-font-weight-medium, 500));
131
+ p3FontFamily: var(--rt-p3-fontFamily, value(fontFamilyDefault));
128
132
  p3LineHeight: var(--rt-p3-lineHeight, 18px);
129
133
  p3Font: value(p3FontStyle) value(p3FontWeight) value(p3FontSize)/value(p3LineHeight) value(p3FontFamily);
130
134
  }
@@ -132,10 +136,10 @@
132
136
  .root {
133
137
  display: flex;
134
138
  flex-direction: column;
135
- font-weight: var(--wds-font-weight-medium);
139
+ font-weight: var(--wds-font-weight-medium, 500);
136
140
  font-size: var(--wds-font-size-500);
137
141
  line-height: var(--wds-font-line-height-300);
138
- font-family: var(--wds-font-family-default);
142
+ font-family: value(fontFamilyDefault);
139
143
  }
140
144
 
141
145
  .editor {
@@ -145,8 +149,8 @@
145
149
  flex-direction: column;
146
150
  flex: 1;
147
151
  cursor: text;
148
- color: var(--wds-color-black-100);
149
- background: var(--wds-color-black-700);
152
+ color: var(--wds-color-black-100, var(--wsr-color-D10, #131720));
153
+ background: var(--wds-color-black-700, var(--wsr-color-D70, #edeef2));
150
154
  }
151
155
 
152
156
  .editor :global(.DraftEditor-root) {
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richeditor3732851385";
8
+ var _namespace_ = "richeditor3609789040";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,12 +13,12 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"richeditor3732851385__root","editor":"richeditor3732851385__editor","header-one":"richeditor3732851385__header-one","header-two":"richeditor3732851385__header-two","header-three":"richeditor3732851385__header-three","header-four":"richeditor3732851385__header-four","header-five":"richeditor3732851385__header-five","header-six":"richeditor3732851385__header-six","paragraph-one":"richeditor3732851385__paragraph-one","unstyled":"richeditor3732851385__unstyled","paragraph-three":"richeditor3732851385__paragraph-three","align-left":"richeditor3732851385__align-left","align-right":"richeditor3732851385__align-right","align-center":"richeditor3732851385__align-center","align-justify":"richeditor3732851385__align-justify","withMargin":"richeditor3732851385__withMargin","dir-rtl":"richeditor3732851385__dir-rtl"};
16
+ export var classes = {"root":"richeditor3609789040__root","editor":"richeditor3609789040__editor","header-one":"richeditor3609789040__header-one","header-two":"richeditor3609789040__header-two","header-three":"richeditor3609789040__header-three","header-four":"richeditor3609789040__header-four","header-five":"richeditor3609789040__header-five","header-six":"richeditor3609789040__header-six","paragraph-one":"richeditor3609789040__paragraph-one","unstyled":"richeditor3609789040__unstyled","paragraph-three":"richeditor3609789040__paragraph-three","align-left":"richeditor3609789040__align-left","align-right":"richeditor3609789040__align-right","align-center":"richeditor3609789040__align-center","align-justify":"richeditor3609789040__align-justify","withMargin":"richeditor3609789040__withMargin","dir-rtl":"richeditor3609789040__dir-rtl"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
20
- export var stVars = {"h1FontSize":"var(--rt-h1-fontSize, 72px)","h1FontStyle":"var(--rt-h1-fontStyle, normal)","h1FontWeight":"var(--rt-h1-fontWeight, var(--wds-font-weight-bold))","h1FontFamily":"var(--rt-h1-fontFamily, var(--wds-font-family-default))","h1LineHeight":"var(--rt-h1-lineHeight, 1.33)","h1Font":"var(--rt-h1-fontStyle, normal) var(--rt-h1-fontWeight, var(--wds-font-weight-bold)) var(--rt-h1-fontSize, 72px)/var(--rt-h1-lineHeight, 1.33) var(--rt-h1-fontFamily, var(--wds-font-family-default))","h2FontSize":"var(--rt-h2-fontSize, 42px)","h2FontStyle":"var(--rt-h2-fontStyle, normal)","h2FontWeight":"var(--rt-h2-fontWeight, var(--wds-font-weight-bold))","h2FontFamily":"var(--rt-h2-fontFamily, var(--wds-font-family-default))","h2LineHeight":"var(--rt-h2-lineHeight, 1.2)","h2Font":"var(--rt-h2-fontStyle, normal) var(--rt-h2-fontWeight, var(--wds-font-weight-bold)) var(--rt-h2-fontSize, 42px)/var(--rt-h2-lineHeight, 1.2) var(--rt-h2-fontFamily, var(--wds-font-family-default))","h3FontSize":"var(--rt-h3-fontSize, 38px)","h3FontStyle":"var(--rt-h3-fontStyle, normal)","h3FontWeight":"var(--rt-h3-fontWeight, var(--wds-font-weight-medium))","h3FontFamily":"var(--rt-h3-fontFamily, var(--wds-font-family-default))","h3LineHeight":"var(--rt-h3-lineHeight, 1.2)","h3Font":"var(--rt-h3-fontStyle, normal) var(--rt-h3-fontWeight, var(--wds-font-weight-medium)) var(--rt-h3-fontSize, 38px)/var(--rt-h3-lineHeight, 1.2) var(--rt-h3-fontFamily, var(--wds-font-family-default))","h4FontSize":"var(--rt-h4-fontSize, 34px)","h4FontStyle":"var(--rt-h4-fontStyle, normal)","h4FontWeight":"var(--rt-h4-fontWeight, var(--wds-font-weight-bold))","h4FontFamily":"var(--rt-h4-fontFamily, var(--wds-font-family-default))","h4LineHeight":"var(--rt-h4-lineHeight, 1.2)","h4Font":"var(--rt-h4-fontStyle, normal) var(--rt-h4-fontWeight, var(--wds-font-weight-bold)) var(--rt-h4-fontSize, 34px)/var(--rt-h4-lineHeight, 1.2) var(--rt-h4-fontFamily, var(--wds-font-family-default))","h5FontSize":"var(--rt-h5-fontSize, 28px)","h5FontStyle":"var(--rt-h5-fontStyle, normal)","h5FontWeight":"var(--rt-h5-fontWeight, var(--wds-font-weight-bold))","h5FontFamily":"var(--rt-h5-fontFamily, var(--wds-font-family-default))","h5LineHeight":"var(--rt-h5-lineHeight, 1.2)","h5Font":"var(--rt-h5-fontStyle, normal) var(--rt-h5-fontWeight, var(--wds-font-weight-bold)) var(--rt-h5-fontSize, 28px)/var(--rt-h5-lineHeight, 1.2) var(--rt-h5-fontFamily, var(--wds-font-family-default))","h6FontSize":"var(--rt-h6-fontSize, 22px)","h6FontStyle":"var(--rt-h6-fontStyle, normal)","h6FontWeight":"var(--rt-h6-fontWeight, var(--wds-font-weight-medium))","h6FontFamily":"var(--rt-h6-fontFamily, var(--wds-font-family-default))","h6LineHeight":"var(--rt-h6-lineHeight, 1.2)","h6Font":"var(--rt-h6-fontStyle, normal) var(--rt-h6-fontWeight, var(--wds-font-weight-medium)) var(--rt-h6-fontSize, 22px)/var(--rt-h6-lineHeight, 1.2) var(--rt-h6-fontFamily, var(--wds-font-family-default))","p1FontSize":"var(--rt-p1-fontSize, 18px)","p1FontStyle":"var(--rt-p1-fontStyle, normal)","p1FontWeight":"var(--rt-p1-fontWeight, var(--wds-font-weight-medium))","p1FontFamily":"var(--rt-p1-fontFamily, var(--wds-font-family-default))","p1LineHeight":"var(--rt-p1-lineHeight, 24px)","p1Font":"var(--rt-p1-fontStyle, normal) var(--rt-p1-fontWeight, var(--wds-font-weight-medium)) var(--rt-p1-fontSize, 18px)/var(--rt-p1-lineHeight, 24px) var(--rt-p1-fontFamily, var(--wds-font-family-default))","unstyledFontSize":"var(--rt-unstyled-fontSize, 16px)","unstyledFontStyle":"var(--rt-unstyled-fontStyle, normal)","unstyledFontWeight":"var(--rt-unstyled-fontWeight, var(--wds-font-weight-medium))","unstyledFontFamily":"var(--rt-unstyled-fontFamily, var(--wds-font-family-default))","unstyledLineHeight":"var(--rt-unstyled-lineHeight, 24px)","unstyledFont":"var(--rt-unstyled-fontStyle, normal) var(--rt-unstyled-fontWeight, var(--wds-font-weight-medium)) var(--rt-unstyled-fontSize, 16px)/var(--rt-unstyled-lineHeight, 24px) var(--rt-unstyled-fontFamily, var(--wds-font-family-default))","p3FontSize":"var(--rt-p3-fontSize, 14px)","p3FontStyle":"var(--rt-p3-fontStyle, normal)","p3FontWeight":"var(--rt-p3-fontWeight, var(--wds-font-weight-medium))","p3FontFamily":"var(--rt-p3-fontFamily, var(--wds-font-family-default))","p3LineHeight":"var(--rt-p3-lineHeight, 18px)","p3Font":"var(--rt-p3-fontStyle, normal) var(--rt-p3-fontWeight, var(--wds-font-weight-medium)) var(--rt-p3-fontSize, 14px)/var(--rt-p3-lineHeight, 18px) var(--rt-p3-fontFamily, var(--wds-font-family-default))"};
21
- export var vars = {"wds-color-black-100":"--wds-color-black-100","wds-color-black-700":"--wds-color-black-700","wds-font-family-default":"--wds-font-family-default","wds-font-weight-medium":"--wds-font-weight-medium","wds-font-weight-bold":"--wds-font-weight-bold","wds-font-size-500":"--wds-font-size-500","wds-font-line-height-300":"--wds-font-line-height-300","rt-h1-fontSize":"--rt-h1-fontSize","rt-h1-fontStyle":"--rt-h1-fontStyle","rt-h1-fontWeight":"--rt-h1-fontWeight","rt-h1-fontFamily":"--rt-h1-fontFamily","rt-h1-lineHeight":"--rt-h1-lineHeight","rt-h2-fontSize":"--rt-h2-fontSize","rt-h2-fontStyle":"--rt-h2-fontStyle","rt-h2-fontWeight":"--rt-h2-fontWeight","rt-h2-fontFamily":"--rt-h2-fontFamily","rt-h2-lineHeight":"--rt-h2-lineHeight","rt-h3-fontSize":"--rt-h3-fontSize","rt-h3-fontStyle":"--rt-h3-fontStyle","rt-h3-fontWeight":"--rt-h3-fontWeight","rt-h3-fontFamily":"--rt-h3-fontFamily","rt-h3-lineHeight":"--rt-h3-lineHeight","rt-h4-fontSize":"--rt-h4-fontSize","rt-h4-fontStyle":"--rt-h4-fontStyle","rt-h4-fontWeight":"--rt-h4-fontWeight","rt-h4-fontFamily":"--rt-h4-fontFamily","rt-h4-lineHeight":"--rt-h4-lineHeight","rt-h5-fontSize":"--rt-h5-fontSize","rt-h5-fontStyle":"--rt-h5-fontStyle","rt-h5-fontWeight":"--rt-h5-fontWeight","rt-h5-fontFamily":"--rt-h5-fontFamily","rt-h5-lineHeight":"--rt-h5-lineHeight","rt-h6-fontSize":"--rt-h6-fontSize","rt-h6-fontStyle":"--rt-h6-fontStyle","rt-h6-fontWeight":"--rt-h6-fontWeight","rt-h6-fontFamily":"--rt-h6-fontFamily","rt-h6-lineHeight":"--rt-h6-lineHeight","rt-p1-fontSize":"--rt-p1-fontSize","rt-p1-fontStyle":"--rt-p1-fontStyle","rt-p1-fontWeight":"--rt-p1-fontWeight","rt-p1-fontFamily":"--rt-p1-fontFamily","rt-p1-lineHeight":"--rt-p1-lineHeight","rt-unstyled-fontSize":"--rt-unstyled-fontSize","rt-unstyled-fontStyle":"--rt-unstyled-fontStyle","rt-unstyled-fontWeight":"--rt-unstyled-fontWeight","rt-unstyled-fontFamily":"--rt-unstyled-fontFamily","rt-unstyled-lineHeight":"--rt-unstyled-lineHeight","rt-p3-fontSize":"--rt-p3-fontSize","rt-p3-fontStyle":"--rt-p3-fontStyle","rt-p3-fontWeight":"--rt-p3-fontWeight","rt-p3-fontFamily":"--rt-p3-fontFamily","rt-p3-lineHeight":"--rt-p3-lineHeight"};
20
+ export var stVars = {"fontFamilyDefault":"var(--wds-font-family-default, var(--wsr-font-family, Madefor))","h1FontSize":"var(--rt-h1-fontSize, 72px)","h1FontStyle":"var(--rt-h1-fontStyle, normal)","h1FontWeight":"var(--rt-h1-fontWeight, var(--wds-font-weight-bold, 700))","h1FontFamily":"var(--rt-h1-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","h1LineHeight":"var(--rt-h1-lineHeight, 1.33)","h1Font":"var(--rt-h1-fontStyle, normal) var(--rt-h1-fontWeight, var(--wds-font-weight-bold, 700)) var(--rt-h1-fontSize, 72px)/var(--rt-h1-lineHeight, 1.33) var(--rt-h1-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","h2FontSize":"var(--rt-h2-fontSize, 42px)","h2FontStyle":"var(--rt-h2-fontStyle, normal)","h2FontWeight":"var(--rt-h2-fontWeight, var(--wds-font-weight-bold, 700))","h2FontFamily":"var(--rt-h2-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","h2LineHeight":"var(--rt-h2-lineHeight, 1.2)","h2Font":"var(--rt-h2-fontStyle, normal) var(--rt-h2-fontWeight, var(--wds-font-weight-bold, 700)) var(--rt-h2-fontSize, 42px)/var(--rt-h2-lineHeight, 1.2) var(--rt-h2-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","h3FontSize":"var(--rt-h3-fontSize, 38px)","h3FontStyle":"var(--rt-h3-fontStyle, normal)","h3FontWeight":"var(--rt-h3-fontWeight, var(--wds-font-weight-medium, 500))","h3FontFamily":"var(--rt-h3-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","h3LineHeight":"var(--rt-h3-lineHeight, 1.2)","h3Font":"var(--rt-h3-fontStyle, normal) var(--rt-h3-fontWeight, var(--wds-font-weight-medium, 500)) var(--rt-h3-fontSize, 38px)/var(--rt-h3-lineHeight, 1.2) var(--rt-h3-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","h4FontSize":"var(--rt-h4-fontSize, 34px)","h4FontStyle":"var(--rt-h4-fontStyle, normal)","h4FontWeight":"var(--rt-h4-fontWeight, var(--wds-font-weight-bold, 700))","h4FontFamily":"var(--rt-h4-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","h4LineHeight":"var(--rt-h4-lineHeight, 1.2)","h4Font":"var(--rt-h4-fontStyle, normal) var(--rt-h4-fontWeight, var(--wds-font-weight-bold, 700)) var(--rt-h4-fontSize, 34px)/var(--rt-h4-lineHeight, 1.2) var(--rt-h4-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","h5FontSize":"var(--rt-h5-fontSize, 28px)","h5FontStyle":"var(--rt-h5-fontStyle, normal)","h5FontWeight":"var(--rt-h5-fontWeight, var(--wds-font-weight-bold, 700))","h5FontFamily":"var(--rt-h5-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","h5LineHeight":"var(--rt-h5-lineHeight, 1.2)","h5Font":"var(--rt-h5-fontStyle, normal) var(--rt-h5-fontWeight, var(--wds-font-weight-bold, 700)) var(--rt-h5-fontSize, 28px)/var(--rt-h5-lineHeight, 1.2) var(--rt-h5-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","h6FontSize":"var(--rt-h6-fontSize, 22px)","h6FontStyle":"var(--rt-h6-fontStyle, normal)","h6FontWeight":"var(--rt-h6-fontWeight, var(--wds-font-weight-medium, 500))","h6FontFamily":"var(--rt-h6-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","h6LineHeight":"var(--rt-h6-lineHeight, 1.2)","h6Font":"var(--rt-h6-fontStyle, normal) var(--rt-h6-fontWeight, var(--wds-font-weight-medium, 500)) var(--rt-h6-fontSize, 22px)/var(--rt-h6-lineHeight, 1.2) var(--rt-h6-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","p1FontSize":"var(--rt-p1-fontSize, 18px)","p1FontStyle":"var(--rt-p1-fontStyle, normal)","p1FontWeight":"var(--rt-p1-fontWeight, var(--wds-font-weight-medium, 500))","p1FontFamily":"var(--rt-p1-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","p1LineHeight":"var(--rt-p1-lineHeight, 24px)","p1Font":"var(--rt-p1-fontStyle, normal) var(--rt-p1-fontWeight, var(--wds-font-weight-medium, 500)) var(--rt-p1-fontSize, 18px)/var(--rt-p1-lineHeight, 24px) var(--rt-p1-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","unstyledFontSize":"var(--rt-unstyled-fontSize, 16px)","unstyledFontStyle":"var(--rt-unstyled-fontStyle, normal)","unstyledFontWeight":"var(--rt-unstyled-fontWeight, var(--wds-font-weight-medium, 500))","unstyledFontFamily":"var(--rt-unstyled-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","unstyledLineHeight":"var(--rt-unstyled-lineHeight, 24px)","unstyledFont":"var(--rt-unstyled-fontStyle, normal) var(--rt-unstyled-fontWeight, var(--wds-font-weight-medium, 500)) var(--rt-unstyled-fontSize, 16px)/var(--rt-unstyled-lineHeight, 24px) var(--rt-unstyled-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","p3FontSize":"var(--rt-p3-fontSize, 14px)","p3FontStyle":"var(--rt-p3-fontStyle, normal)","p3FontWeight":"var(--rt-p3-fontWeight, var(--wds-font-weight-medium, 500))","p3FontFamily":"var(--rt-p3-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))","p3LineHeight":"var(--rt-p3-lineHeight, 18px)","p3Font":"var(--rt-p3-fontStyle, normal) var(--rt-p3-fontWeight, var(--wds-font-weight-medium, 500)) var(--rt-p3-fontSize, 14px)/var(--rt-p3-lineHeight, 18px) var(--rt-p3-fontFamily, var(--wds-font-family-default, var(--wsr-font-family, Madefor)))"};
21
+ export var vars = {"wds-color-black-100":"--wds-color-black-100","wds-color-black-700":"--wds-color-black-700","wds-font-family-default":"--wds-font-family-default","wsr-font-family":"--wsr-font-family","wds-font-weight-medium":"--wds-font-weight-medium","wds-font-weight-bold":"--wds-font-weight-bold","wds-font-size-500":"--wds-font-size-500","wds-font-line-height-300":"--wds-font-line-height-300","rt-h1-fontSize":"--rt-h1-fontSize","rt-h1-fontStyle":"--rt-h1-fontStyle","rt-h1-fontWeight":"--rt-h1-fontWeight","rt-h1-fontFamily":"--rt-h1-fontFamily","rt-h1-lineHeight":"--rt-h1-lineHeight","rt-h2-fontSize":"--rt-h2-fontSize","rt-h2-fontStyle":"--rt-h2-fontStyle","rt-h2-fontWeight":"--rt-h2-fontWeight","rt-h2-fontFamily":"--rt-h2-fontFamily","rt-h2-lineHeight":"--rt-h2-lineHeight","rt-h3-fontSize":"--rt-h3-fontSize","rt-h3-fontStyle":"--rt-h3-fontStyle","rt-h3-fontWeight":"--rt-h3-fontWeight","rt-h3-fontFamily":"--rt-h3-fontFamily","rt-h3-lineHeight":"--rt-h3-lineHeight","rt-h4-fontSize":"--rt-h4-fontSize","rt-h4-fontStyle":"--rt-h4-fontStyle","rt-h4-fontWeight":"--rt-h4-fontWeight","rt-h4-fontFamily":"--rt-h4-fontFamily","rt-h4-lineHeight":"--rt-h4-lineHeight","rt-h5-fontSize":"--rt-h5-fontSize","rt-h5-fontStyle":"--rt-h5-fontStyle","rt-h5-fontWeight":"--rt-h5-fontWeight","rt-h5-fontFamily":"--rt-h5-fontFamily","rt-h5-lineHeight":"--rt-h5-lineHeight","rt-h6-fontSize":"--rt-h6-fontSize","rt-h6-fontStyle":"--rt-h6-fontStyle","rt-h6-fontWeight":"--rt-h6-fontWeight","rt-h6-fontFamily":"--rt-h6-fontFamily","rt-h6-lineHeight":"--rt-h6-lineHeight","rt-p1-fontSize":"--rt-p1-fontSize","rt-p1-fontStyle":"--rt-p1-fontStyle","rt-p1-fontWeight":"--rt-p1-fontWeight","rt-p1-fontFamily":"--rt-p1-fontFamily","rt-p1-lineHeight":"--rt-p1-lineHeight","rt-unstyled-fontSize":"--rt-unstyled-fontSize","rt-unstyled-fontStyle":"--rt-unstyled-fontStyle","rt-unstyled-fontWeight":"--rt-unstyled-fontWeight","rt-unstyled-fontFamily":"--rt-unstyled-fontFamily","rt-unstyled-lineHeight":"--rt-unstyled-lineHeight","rt-p3-fontSize":"--rt-p3-fontSize","rt-p3-fontStyle":"--rt-p3-fontStyle","rt-p3-fontWeight":"--rt-p3-fontWeight","rt-p3-fontFamily":"--rt-p3-fontFamily","rt-p3-lineHeight":"--rt-p3-lineHeight","wsr-color-D10":"--richeditor3609789040-wsr-color-D10","wsr-color-D70":"--richeditor3609789040-wsr-color-D70"};
22
22
 
23
23
 
24
24
 
@@ -127,6 +127,7 @@ export class RichEditor extends React.Component<RichEditorProps> {
127
127
  handleKeyCommand={this.handleKeyCommand}
128
128
  blockStyleFn={blockStyleFn}
129
129
  handlePastedText={this.handlePastedText}
130
+ preserveSelectionOnBlur
130
131
  />
131
132
  </div>
132
133
  </div>
@@ -389,9 +390,17 @@ export class RichEditor extends React.Component<RichEditorProps> {
389
390
 
390
391
  private onChangeBlock = (value: string) => {
391
392
  let { editorState } = this.props;
393
+ // Restore the last focused selection before computing selected blocks — the
394
+ // editor may have blurred (portal click) before onSelect fires, leaving the
395
+ // current selection stale or collapsed.
396
+ if (this.lastSelectionWithFocus) {
397
+ editorState = EditorState.acceptSelection(
398
+ editorState,
399
+ this.lastSelectionWithFocus,
400
+ );
401
+ }
392
402
  let contentState = editorState.getCurrentContent();
393
403
  const selectedBlocks = this.getSelectedBlocks(editorState);
394
-
395
404
  if (selectedBlocks.length) {
396
405
  // if every block have value style then remove it from all
397
406
  // else set every block to value
@@ -459,10 +468,18 @@ export class RichEditor extends React.Component<RichEditorProps> {
459
468
  );
460
469
 
461
470
  if (this.lastSelectionWithFocus) {
462
- editorState = EditorState.forceSelection(
463
- editorState,
464
- this.lastSelectionWithFocus,
465
- );
471
+ if (containsActiveElement(this.root)) {
472
+ editorState = EditorState.acceptSelection(
473
+ editorState,
474
+ this.lastSelectionWithFocus,
475
+ );
476
+ } else {
477
+ editorState = EditorState.forceSelection(
478
+ editorState,
479
+ this.lastSelectionWithFocus,
480
+ );
481
+ this.focus();
482
+ }
466
483
  }
467
484
  this.onChange(editorState);
468
485
  };
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richtexteditor1091053437";
8
+ var _namespace_ = "richtexteditor4023643757";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"richtexteditor1091053437__root","nativeInput":"richtexteditor1091053437__nativeInput","editor":"richtexteditor1091053437__editor"};
16
+ export var classes = {"root":"richtexteditor4023643757__root","nativeInput":"richtexteditor4023643757__nativeInput","editor":"richtexteditor4023643757__editor"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,16 +1,16 @@
1
1
  import React, { useCallback } from 'react';
2
2
 
3
- import type { DropdownLayoutValueOption } from '@wix/design-system';
4
3
  import {
5
4
  Box,
6
- Text,
7
- Heading,
8
5
  DropdownBase,
6
+ DropdownLayoutValueOption,
7
+ Heading,
8
+ Text,
9
+ TextButton,
9
10
  ToggleButton,
10
11
  } from '@wix/design-system';
11
12
 
12
13
  import { useTranslations } from '../../../../../hooks';
13
- import { LinkButton } from '../../../components/link';
14
14
  import { combineClasses } from '../utils/stylable-helper';
15
15
 
16
16
  import HeaderOneIcon from './icons/rt-header-one.svg';
@@ -23,7 +23,7 @@ import ParagraphOneIcon from './icons/rt-paragraph-one.svg';
23
23
  import NormalTextIcon from './icons/rt-normal-text.svg';
24
24
  import ParagraphThreeIcon from './icons/rt-paragraph-three.svg';
25
25
  import { richTextToolbarDataHook } from '../../data-hooks';
26
- import { style, classes } from './toolbar.st.css.js';
26
+ import { classes, style } from './toolbar.st.css.js';
27
27
 
28
28
  import { preventEvent } from '../../../../../utils';
29
29
  import type { TextKeys } from '../../../types';
@@ -78,133 +78,155 @@ const HeaderDropdownHelpSection: React.FC = () => {
78
78
  <Text size="small">
79
79
  {t('CMS.richTextEditor.toolbar.headerDropdown.help.text')}
80
80
  <br />
81
- <LinkButton
82
- inText
83
- href={t('CMS.richTextEditor.toolbar.headerDropdown.button.info.link')}
81
+ <TextButton
82
+ as="a"
83
+ href="https://support.wix.com/en/article/formatting-rich-text-elements-in-the-dashboards-data-manager"
84
+ target="_blank"
85
+ rel="noopener noreferrer"
86
+ size="small"
87
+ underline="always"
84
88
  >
85
89
  {t('CMS.richTextEditor.toolbar.headerDropdown.button.info')}
86
- </LinkButton>
90
+ </TextButton>
87
91
  </Text>
88
92
  </Box>
89
93
  );
90
94
  };
91
95
 
92
- const createDropdownOptions = (): DropdownLayoutValueOption[] => [
93
- {
94
- id: 'header-one',
95
- value: (props) => (
96
- <HeaderDropdownItemContent
97
- {...props}
98
- dataHook={`${richTextToolbarDataHook}.dropdownOption.header-one`}
99
- titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h1.title"
100
- subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h1.subtitle"
101
- className={classes.dropdownHeaderOne}
102
- />
103
- ),
104
- },
105
- {
106
- id: 'header-two',
107
- value: (props) => (
108
- <HeaderDropdownItemContent
109
- {...props}
110
- dataHook={`${richTextToolbarDataHook}.dropdownOption.header-two`}
111
- titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h2.title"
112
- subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h2.subtitle"
113
- className={classes.dropdownHeaderTwo}
114
- />
115
- ),
116
- },
117
- {
118
- id: 'header-three',
119
- value: (props) => (
120
- <HeaderDropdownItemContent
121
- {...props}
122
- dataHook={`${richTextToolbarDataHook}.dropdownOption.header-three`}
123
- titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h3.title"
124
- subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h3.subtitle"
125
- className={classes.dropdownHeaderThree}
126
- />
127
- ),
128
- },
129
- {
130
- id: 'header-four',
131
- value: (props) => (
132
- <HeaderDropdownItemContent
133
- {...props}
134
- dataHook={`${richTextToolbarDataHook}.dropdownOption.header-four`}
135
- titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h4.title"
136
- subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h4.subtitle"
137
- className={classes.dropdownHeaderFour}
138
- />
139
- ),
140
- },
141
- {
142
- id: 'header-five',
143
- value: (props) => (
144
- <HeaderDropdownItemContent
145
- {...props}
146
- dataHook={`${richTextToolbarDataHook}.dropdownOption.header-five`}
147
- titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h5.title"
148
- subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h5.subtitle"
149
- className={classes.dropdownHeaderFive}
150
- />
151
- ),
152
- },
153
- {
154
- id: 'header-six',
155
- value: (props) => (
156
- <HeaderDropdownItemContent
157
- {...props}
158
- dataHook={`${richTextToolbarDataHook}.dropdownOption.header-six`}
159
- titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h6.title"
160
- subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h6.subtitle"
161
- className={classes.dropdownHeaderSix}
162
- />
163
- ),
164
- },
165
- {
166
- id: 'paragraph-one',
167
- value: (props) => (
168
- <HeaderDropdownItemContent
169
- {...props}
170
- dataHook={`${richTextToolbarDataHook}.dropdownOption.paragraph-one`}
171
- titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.p1.title"
172
- subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.p1.subtitle"
173
- className={classes.dropdownParagraphOne}
174
- />
175
- ),
176
- },
177
- {
178
- id: 'unstyled',
179
- value: (props) => (
180
- <HeaderDropdownItemContent
181
- {...props}
182
- dataHook={`${richTextToolbarDataHook}.dropdownOption.unstyled`}
183
- titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.p2.title"
184
- subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.p2.subtitle"
185
- className={classes.dropdownNormalText}
186
- />
187
- ),
188
- },
189
- {
190
- id: 'paragraph-three',
191
- value: (props) => (
192
- <HeaderDropdownItemContent
193
- {...props}
194
- dataHook={`${richTextToolbarDataHook}.dropdownOption.paragraph-three`}
195
- titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.p3.title"
196
- subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.p3.subtitle"
197
- className={classes.dropdownParagraphThree}
198
- />
199
- ),
200
- },
201
- {
202
- id: 'help-text',
203
- disabled: true,
204
- overrideOptionStyle: true,
205
- value: <HeaderDropdownHelpSection />,
206
- },
207
- ];
96
+ const HEADING_IDS = new Set([
97
+ 'header-one',
98
+ 'header-two',
99
+ 'header-three',
100
+ 'header-four',
101
+ 'header-five',
102
+ 'header-six',
103
+ 'help-text',
104
+ ]);
105
+
106
+ const createDropdownOptions = (
107
+ headingsEnabled = true,
108
+ ): DropdownLayoutValueOption[] => {
109
+ const all: DropdownLayoutValueOption[] = [
110
+ {
111
+ id: 'header-one',
112
+ value: (props) => (
113
+ <HeaderDropdownItemContent
114
+ {...props}
115
+ dataHook={`${richTextToolbarDataHook}.dropdownOption.header-one`}
116
+ titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h1.title"
117
+ subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h1.subtitle"
118
+ className={classes.dropdownHeaderOne}
119
+ />
120
+ ),
121
+ },
122
+ {
123
+ id: 'header-two',
124
+ value: (props) => (
125
+ <HeaderDropdownItemContent
126
+ {...props}
127
+ dataHook={`${richTextToolbarDataHook}.dropdownOption.header-two`}
128
+ titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h2.title"
129
+ subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h2.subtitle"
130
+ className={classes.dropdownHeaderTwo}
131
+ />
132
+ ),
133
+ },
134
+ {
135
+ id: 'header-three',
136
+ value: (props) => (
137
+ <HeaderDropdownItemContent
138
+ {...props}
139
+ dataHook={`${richTextToolbarDataHook}.dropdownOption.header-three`}
140
+ titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h3.title"
141
+ subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h3.subtitle"
142
+ className={classes.dropdownHeaderThree}
143
+ />
144
+ ),
145
+ },
146
+ {
147
+ id: 'header-four',
148
+ value: (props) => (
149
+ <HeaderDropdownItemContent
150
+ {...props}
151
+ dataHook={`${richTextToolbarDataHook}.dropdownOption.header-four`}
152
+ titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h4.title"
153
+ subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h4.subtitle"
154
+ className={classes.dropdownHeaderFour}
155
+ />
156
+ ),
157
+ },
158
+ {
159
+ id: 'header-five',
160
+ value: (props) => (
161
+ <HeaderDropdownItemContent
162
+ {...props}
163
+ dataHook={`${richTextToolbarDataHook}.dropdownOption.header-five`}
164
+ titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h5.title"
165
+ subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h5.subtitle"
166
+ className={classes.dropdownHeaderFive}
167
+ />
168
+ ),
169
+ },
170
+ {
171
+ id: 'header-six',
172
+ value: (props) => (
173
+ <HeaderDropdownItemContent
174
+ {...props}
175
+ dataHook={`${richTextToolbarDataHook}.dropdownOption.header-six`}
176
+ titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h6.title"
177
+ subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.h6.subtitle"
178
+ className={classes.dropdownHeaderSix}
179
+ />
180
+ ),
181
+ },
182
+ {
183
+ id: 'paragraph-one',
184
+ value: (props) => (
185
+ <HeaderDropdownItemContent
186
+ {...props}
187
+ dataHook={`${richTextToolbarDataHook}.dropdownOption.paragraph-one`}
188
+ titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.p1.title"
189
+ subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.p1.subtitle"
190
+ className={classes.dropdownParagraphOne}
191
+ />
192
+ ),
193
+ },
194
+ {
195
+ id: 'unstyled',
196
+ value: (props) => (
197
+ <HeaderDropdownItemContent
198
+ {...props}
199
+ dataHook={`${richTextToolbarDataHook}.dropdownOption.unstyled`}
200
+ titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.p2.title"
201
+ subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.p2.subtitle"
202
+ className={classes.dropdownNormalText}
203
+ />
204
+ ),
205
+ },
206
+ {
207
+ id: 'paragraph-three',
208
+ value: (props) => (
209
+ <HeaderDropdownItemContent
210
+ {...props}
211
+ dataHook={`${richTextToolbarDataHook}.dropdownOption.paragraph-three`}
212
+ titleKey="CMS.richTextEditor.toolbar.headerDropdown.option.p3.title"
213
+ subtitleKey="CMS.richTextEditor.toolbar.headerDropdown.option.p3.subtitle"
214
+ className={classes.dropdownParagraphThree}
215
+ />
216
+ ),
217
+ },
218
+ {
219
+ id: 'help-text',
220
+ disabled: true,
221
+ overrideOptionStyle: true,
222
+ value: <HeaderDropdownHelpSection />,
223
+ },
224
+ ];
225
+ if (!headingsEnabled) {
226
+ return all.filter((opt) => !HEADING_IDS.has(String(opt.id)));
227
+ }
228
+ return all;
229
+ };
208
230
 
209
231
  const headerTypeIconMap: Record<string, React.ReactElement> = {
210
232
  'header-one': <HeaderOneIcon />,
@@ -221,15 +243,20 @@ const headerTypeIconMap: Record<string, React.ReactElement> = {
221
243
  export interface HeaderDropdownProps {
222
244
  value?: string;
223
245
  onChange: (value: string) => void;
246
+ headingsEnabled?: boolean;
224
247
  }
225
248
 
226
249
  export const HeaderDropdown: React.FC<HeaderDropdownProps> = ({
227
250
  value,
228
251
  onChange,
252
+ headingsEnabled = true,
229
253
  }) => {
230
254
  const { t } = useTranslations();
231
255
 
232
- const dropdownOptions = React.useMemo(() => createDropdownOptions(), []);
256
+ const dropdownOptions = React.useMemo(
257
+ () => createDropdownOptions(headingsEnabled),
258
+ [headingsEnabled],
259
+ );
233
260
 
234
261
  const onSelect = useCallback(
235
262
  (option: DropdownLayoutValueOption) => onChange(String(option.id)),