@wix/patterns-fields 1.109.0 → 1.111.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 (224) hide show
  1. package/dist/cjs/components/address/input/address-input.st.css.js +3 -3
  2. package/dist/cjs/components/address/input/address-input.st.css.js.map +1 -1
  3. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  4. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  5. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  6. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  7. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js +2 -2
  8. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  9. package/dist/cjs/components/boolean/cell-checkbox.js +15 -6
  10. package/dist/cjs/components/boolean/cell-checkbox.js.map +1 -1
  11. package/dist/cjs/components/color-view/cell-color-view.st.css.js +3 -3
  12. package/dist/cjs/components/color-view/cell-color-view.st.css.js.map +1 -1
  13. package/dist/cjs/components/color-view/color-view.st.css.js +4 -4
  14. package/dist/cjs/components/color-view/color-view.st.css.js.map +1 -1
  15. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js +3 -3
  16. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  17. package/dist/cjs/components/document/form-document-field.st.css.js +7 -7
  18. package/dist/cjs/components/document/form-document-field.st.css.js.map +1 -1
  19. package/dist/cjs/components/exclamation/exclamation.st.css.js +5 -5
  20. package/dist/cjs/components/exclamation/exclamation.st.css.js.map +1 -1
  21. package/dist/cjs/components/field-validation-settings/field-validation-settings-input.js +38 -29
  22. package/dist/cjs/components/field-validation-settings/field-validation-settings-input.js.map +1 -1
  23. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js +5 -5
  24. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  25. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js +3 -3
  26. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js.map +1 -1
  27. package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  28. package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js.map +1 -1
  29. package/dist/cjs/components/media-control/paste-url-button.st.css.js +4 -4
  30. package/dist/cjs/components/media-control/paste-url-button.st.css.js.map +1 -1
  31. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
  32. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  33. package/dist/cjs/components/media-image/media-image.st.css.js +4 -4
  34. package/dist/cjs/components/media-image/media-image.st.css.js.map +1 -1
  35. package/dist/cjs/components/media-image/overlays/overlay.st.css.js +3 -3
  36. package/dist/cjs/components/media-image/overlays/overlay.st.css.js.map +1 -1
  37. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  38. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  39. package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js +3 -3
  40. package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
  41. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  42. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  43. package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js +2 -2
  44. package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js.map +1 -1
  45. package/dist/cjs/components/reference/cell-reference-input.st.css.js +3 -3
  46. package/dist/cjs/components/reference/cell-reference-input.st.css.js.map +1 -1
  47. package/dist/cjs/components/rich-content/cell-rich-content-input.js +12 -9
  48. package/dist/cjs/components/rich-content/cell-rich-content-input.js.map +1 -1
  49. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +4 -4
  50. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  51. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +3 -3
  52. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  53. package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  54. 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
  55. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  56. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  57. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  58. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  59. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  60. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  61. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js +23 -17
  62. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js.map +1 -1
  63. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +7 -7
  64. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  65. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +5 -5
  66. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  67. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  68. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  69. package/dist/cjs/components/rich-text/cell-rich-text-editor.js +21 -5
  70. package/dist/cjs/components/rich-text/cell-rich-text-editor.js.map +1 -1
  71. package/dist/cjs/components/rich-text/cell-rich-text-input.js +15 -7
  72. package/dist/cjs/components/rich-text/cell-rich-text-input.js.map +1 -1
  73. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  74. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  75. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  76. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  77. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  78. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  79. package/dist/cjs/components/text/text-view.st.css.js +3 -3
  80. package/dist/cjs/components/text/text-view.st.css.js.map +1 -1
  81. package/dist/cjs/styles.global.css +1 -1
  82. package/dist/cjs/utils/keyboard.js +12 -0
  83. package/dist/cjs/utils/keyboard.js.map +1 -0
  84. package/dist/esm/components/address/input/address-input.st.css.js +2 -2
  85. package/dist/esm/components/address/input/address-input.st.css.js.map +1 -1
  86. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
  87. package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js +2 -2
  88. package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  89. package/dist/esm/components/audio/audio-player/audio-player.st.css.js +2 -2
  90. package/dist/esm/components/boolean/cell-checkbox.js +10 -4
  91. package/dist/esm/components/boolean/cell-checkbox.js.map +1 -1
  92. package/dist/esm/components/color-view/cell-color-view.st.css.js +2 -2
  93. package/dist/esm/components/color-view/cell-color-view.st.css.js.map +1 -1
  94. package/dist/esm/components/color-view/color-view.st.css.js +2 -2
  95. package/dist/esm/components/color-view/color-view.st.css.js.map +1 -1
  96. package/dist/esm/components/delete-dialog/delete-dialog.st.css.js +2 -2
  97. package/dist/esm/components/document/form-document-field.st.css.js +2 -2
  98. package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
  99. package/dist/esm/components/exclamation/exclamation.st.css.js.map +1 -1
  100. package/dist/esm/components/field-validation-settings/field-validation-settings-input.js +7 -6
  101. package/dist/esm/components/field-validation-settings/field-validation-settings-input.js.map +1 -1
  102. package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
  103. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js +2 -2
  104. package/dist/esm/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  105. package/dist/esm/components/media-control/paste-url-button.st.css.js +2 -2
  106. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js +2 -2
  107. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  108. package/dist/esm/components/media-image/media-image.st.css.js +3 -3
  109. package/dist/esm/components/media-image/overlays/overlay.st.css.js +2 -2
  110. package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  111. package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js +2 -2
  112. package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
  113. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js +2 -2
  114. package/dist/esm/components/reference/cell-multi-reference-input.st.css.js +2 -2
  115. package/dist/esm/components/reference/cell-multi-reference-input.st.css.js.map +1 -1
  116. package/dist/esm/components/reference/cell-reference-input.st.css.js +2 -2
  117. package/dist/esm/components/reference/cell-reference-input.st.css.js.map +1 -1
  118. package/dist/esm/components/rich-content/cell-rich-content-input.js +11 -9
  119. package/dist/esm/components/rich-content/cell-rich-content-input.js.map +1 -1
  120. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +2 -2
  121. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  122. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +2 -2
  123. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  124. package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  125. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
  126. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  127. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
  128. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  129. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  130. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js +8 -2
  131. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js.map +1 -1
  132. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +2 -2
  133. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +2 -2
  134. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  135. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +2 -2
  136. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  137. package/dist/esm/components/rich-text/cell-rich-text-editor.js +16 -1
  138. package/dist/esm/components/rich-text/cell-rich-text-editor.js.map +1 -1
  139. package/dist/esm/components/rich-text/cell-rich-text-input.js +8 -0
  140. package/dist/esm/components/rich-text/cell-rich-text-input.js.map +1 -1
  141. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +2 -2
  142. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +2 -2
  143. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  144. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +2 -2
  145. package/dist/esm/components/text/text-view.st.css.js +2 -2
  146. package/dist/esm/styles.global.css +1 -1
  147. package/dist/esm/utils/keyboard.js +7 -0
  148. package/dist/esm/utils/keyboard.js.map +1 -0
  149. package/dist/types/components/address/input/address-input.st.css.d.ts.map +1 -1
  150. package/dist/types/components/audio/audio-field/form-audio-field.st.css.d.ts.map +1 -1
  151. package/dist/types/components/boolean/cell-checkbox.d.ts +4 -1
  152. package/dist/types/components/boolean/cell-checkbox.d.ts.map +1 -1
  153. package/dist/types/components/color-view/cell-color-view.st.css.d.ts.map +1 -1
  154. package/dist/types/components/color-view/color-view.st.css.d.ts.map +1 -1
  155. package/dist/types/components/exclamation/exclamation.st.css.d.ts.map +1 -1
  156. package/dist/types/components/field-validation-settings/field-validation-settings-input.d.ts.map +1 -1
  157. package/dist/types/components/media-gallery/form-media-gallery-field.st.css.d.ts.map +1 -1
  158. package/dist/types/components/multi-document/cell-multi-document-edit.st.css.d.ts.map +1 -1
  159. package/dist/types/components/reference/cell-multi-reference-input.st.css.d.ts.map +1 -1
  160. package/dist/types/components/reference/cell-reference-input.st.css.d.ts.map +1 -1
  161. package/dist/types/components/rich-content/cell-rich-content-input.d.ts +2 -1
  162. package/dist/types/components/rich-content/cell-rich-content-input.d.ts.map +1 -1
  163. package/dist/types/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.d.ts.map +1 -1
  164. package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.d.ts.map +1 -1
  165. package/dist/types/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.d.ts.map +1 -1
  166. package/dist/types/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.d.ts.map +1 -1
  167. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.d.ts +2 -0
  168. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.d.ts.map +1 -1
  169. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.d.ts.map +1 -1
  170. package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.d.ts.map +1 -1
  171. package/dist/types/components/rich-text/cell-rich-text-editor.d.ts.map +1 -1
  172. package/dist/types/components/rich-text/cell-rich-text-input.d.ts +1 -1
  173. package/dist/types/components/rich-text/cell-rich-text-input.d.ts.map +1 -1
  174. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.d.ts.map +1 -1
  175. package/dist/types/utils/keyboard.d.ts +4 -0
  176. package/dist/types/utils/keyboard.d.ts.map +1 -0
  177. package/package.json +4 -4
  178. package/src/__tests__/components/cell-rich-content-input.spec.tsx +73 -0
  179. package/src/__tests__/components/cell-rich-text-editor.spec.tsx +64 -0
  180. package/src/__tests__/components/cell-rich-text-input.spec.tsx +39 -0
  181. package/src/__tests__/components/rich-content-editor.spec.tsx +53 -0
  182. package/src/__tests__/utils/keyboard.spec.ts +45 -0
  183. package/src/components/address/input/address-input.st.css.ts +2 -2
  184. package/src/components/audio/actions/actions-menu/actions-menu.st.css.ts +2 -2
  185. package/src/components/audio/audio-field/form-audio-field.st.css.ts +2 -2
  186. package/src/components/audio/audio-player/audio-player.st.css.ts +2 -2
  187. package/src/components/boolean/cell-checkbox.tsx +33 -11
  188. package/src/components/color-view/cell-color-view.st.css.ts +2 -2
  189. package/src/components/color-view/color-view.st.css.ts +2 -2
  190. package/src/components/delete-dialog/delete-dialog.st.css.ts +2 -2
  191. package/src/components/document/form-document-field.st.css.ts +2 -2
  192. package/src/components/exclamation/exclamation.st.css.ts +2 -2
  193. package/src/components/field-validation-settings/field-validation-settings-input.tsx +10 -8
  194. package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
  195. package/src/components/image/thumbnail-replace-overlay.st.css.ts +2 -2
  196. package/src/components/media-control/cell-media-edit-shell.st.css.ts +2 -2
  197. package/src/components/media-control/paste-url-button.st.css.ts +2 -2
  198. package/src/components/media-gallery/form-media-gallery-field.st.css.ts +2 -2
  199. package/src/components/media-image/media-image.st.css.ts +3 -3
  200. package/src/components/media-image/overlays/overlay.st.css.ts +2 -2
  201. package/src/components/media-tag/web-media-tag/media-tag.st.css.ts +2 -2
  202. package/src/components/multi-document/cell-multi-document-edit.st.css.ts +2 -2
  203. package/src/components/multi-document/multi-document-input/form-multi-document.st.css.ts +2 -2
  204. package/src/components/reference/cell-multi-reference-input.st.css.ts +2 -2
  205. package/src/components/reference/cell-reference-input.st.css.ts +2 -2
  206. package/src/components/rich-content/cell-rich-content-input.tsx +12 -13
  207. package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.ts +2 -2
  208. package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.ts +2 -2
  209. package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.ts +2 -2
  210. package/src/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.ts +2 -2
  211. package/src/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.ts +2 -2
  212. package/src/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.ts +2 -2
  213. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts +2 -2
  214. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.tsx +9 -1
  215. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts +2 -2
  216. package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts +2 -2
  217. package/src/components/rich-text/cell-rich-text-editor.tsx +30 -1
  218. package/src/components/rich-text/cell-rich-text-input.tsx +9 -1
  219. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts +2 -2
  220. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts +2 -2
  221. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts +2 -2
  222. package/src/components/text/text-view.st.css.ts +2 -2
  223. package/src/styles.global.css +1 -1
  224. package/src/utils/keyboard.ts +7 -0
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "formdocumentfield1544228680";
8
+ var _namespace_ = "formdocumentfield2013326977";
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":"formdocumentfield1544228680__root","viewWrapper":"formdocumentfield1544228680__viewWrapper","textWidth":"formdocumentfield1544228680__textWidth","documentLoader":"formdocumentfield1544228680__documentLoader","addDocument":"formdocumentfield1544228680__addDocument","addItemWrapper":"formdocumentfield1544228680__addItemWrapper"};
16
+ export var classes = {"root":"formdocumentfield2013326977__root","viewWrapper":"formdocumentfield2013326977__viewWrapper","textWidth":"formdocumentfield2013326977__textWidth","documentLoader":"formdocumentfield2013326977__documentLoader","addDocument":"formdocumentfield2013326977__addDocument","addItemWrapper":"formdocumentfield2013326977__addItemWrapper"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "exclamation2206936122";
8
+ var _namespace_ = "exclamation132058364";
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":"exclamation2206936122__root","exclamation":"exclamation2206936122__exclamation","actions":"exclamation2206936122__actions","action":"exclamation2206936122__action"};
16
+ export var classes = {"root":"exclamation132058364__root","exclamation":"exclamation132058364__exclamation","actions":"exclamation132058364__actions","action":"exclamation132058364__action"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -229,12 +229,12 @@ export const FieldValidationSettingsInput = ({
229
229
  }
230
230
  />
231
231
  {hasCharactersLimit && (
232
- <Box verticalAlign="middle" gap="SP2">
233
- <Box width="112px">
232
+ <Box verticalAlign="bottom" gap="SP2">
233
+ <Box width="100px">
234
234
  <FormField stretchContent label={rule.minLabel}>
235
235
  <NumberInput
236
236
  dataHook="field-validation-min-characters"
237
- size="small"
237
+ size="medium"
238
238
  value={data.charactersLimit?.min}
239
239
  disabled={isInputDisabled}
240
240
  status={
@@ -261,14 +261,16 @@ export const FieldValidationSettingsInput = ({
261
261
  />
262
262
  </FormField>
263
263
  </Box>
264
- <Text size="small" secondary>
265
- {rule.separator}
266
- </Text>
267
- <Box width="112px">
264
+ <Box height="36px" verticalAlign="middle">
265
+ <Text size="small" secondary>
266
+ {rule.separator}
267
+ </Text>
268
+ </Box>
269
+ <Box width="100px">
268
270
  <FormField stretchContent label={rule.maxLabel}>
269
271
  <NumberInput
270
272
  dataHook="field-validation-max-characters"
271
- size="small"
273
+ size="medium"
272
274
  value={data.charactersLimit?.max}
273
275
  disabled={isInputDisabled}
274
276
  status={
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "highlightedtext3225126305";
8
+ var _namespace_ = "highlightedtext2597848259";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,8 +13,8 @@ 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":"highlightedtext3225126305__root","substring":"highlightedtext3225126305__substring"};
17
- export var keyframes = {"highlighted":"highlightedtext3225126305__highlighted","highlighted-match":"highlightedtext3225126305__highlighted-match"};
16
+ export var classes = {"root":"highlightedtext2597848259__root","substring":"highlightedtext2597848259__substring"};
17
+ export var keyframes = {"highlighted":"highlightedtext2597848259__highlighted","highlighted-match":"highlightedtext2597848259__highlighted-match"};
18
18
  export var layers = {};
19
19
  export var containers = {};
20
20
  export var stVars = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "thumbnailreplaceoverlay4168077699";
8
+ var _namespace_ = "thumbnailreplaceoverlay2287490407";
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":"thumbnailreplaceoverlay4168077699__root","icon":"thumbnailreplaceoverlay4168077699__icon"};
16
+ export var classes = {"root":"thumbnailreplaceoverlay2287490407__root","icon":"thumbnailreplaceoverlay2287490407__icon"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "cellmediaeditshell2380148196";
8
+ var _namespace_ = "cellmediaeditshell1493028595";
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":"cellmediaeditshell2380148196__root"};
16
+ export var classes = {"root":"cellmediaeditshell1493028595__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "pasteurlbutton1715181103";
8
+ var _namespace_ = "pasteurlbutton4200227506";
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":"pasteurlbutton1715181103__root","iconButtonTooltip":"pasteurlbutton1715181103__iconButtonTooltip","iconButton":"pasteurlbutton1715181103__iconButton"};
16
+ export var classes = {"root":"pasteurlbutton4200227506__root","iconButtonTooltip":"pasteurlbutton4200227506__iconButtonTooltip","iconButton":"pasteurlbutton4200227506__iconButton"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "formmediagalleryfield3059241841";
8
+ var _namespace_ = "formmediagalleryfield430290838";
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":"formmediagalleryfield3059241841__root","container":"formmediagalleryfield3059241841__container","viewBox":"formmediagalleryfield3059241841__viewBox","addItemWrapper":"formmediagalleryfield3059241841__addItemWrapper","addItem":"formmediagalleryfield3059241841__addItem","overlay":"formmediagalleryfield3059241841__overlay","image":"formmediagalleryfield3059241841__image","previewImage":"formmediagalleryfield3059241841__previewImage","previewVideo":"formmediagalleryfield3059241841__previewVideo"};
16
+ export var classes = {"root":"formmediagalleryfield430290838__root","container":"formmediagalleryfield430290838__container","viewBox":"formmediagalleryfield430290838__viewBox","addItemWrapper":"formmediagalleryfield430290838__addItemWrapper","addItem":"formmediagalleryfield430290838__addItem","overlay":"formmediagalleryfield430290838__overlay","image":"formmediagalleryfield430290838__image","previewImage":"formmediagalleryfield430290838__previewImage","previewVideo":"formmediagalleryfield430290838__previewVideo"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "mediaimage3444480295";
8
+ var _namespace_ = "mediaimage1101490151";
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":"mediaimage3444480295__root"};
16
+ export var classes = {"root":"mediaimage1101490151__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
20
20
  export var stVars = {};
21
- export var vars = {"wds-color-red-200":"--wds-color-red-200","wsr-color-R20":"--wsr-color-R20","wds-color-black-550":"--wds-color-black-550","wsr-color-D55":"--wsr-color-D55","from":"--mediaimage3444480295-from","to":"--mediaimage3444480295-to"};
21
+ export var vars = {"wds-color-red-200":"--wds-color-red-200","wsr-color-R20":"--wsr-color-R20","wds-color-black-550":"--wds-color-black-550","wsr-color-D55":"--wsr-color-D55","from":"--mediaimage1101490151-from","to":"--mediaimage1101490151-to"};
22
22
 
23
23
 
24
24
 
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js"
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "overlay123276272";
8
+ var _namespace_ = "overlay533257831";
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":"overlay123276272__root","iconOverlay":"overlay123276272__iconOverlay"};
16
+ export var classes = {"root":"overlay533257831__root","iconOverlay":"overlay533257831__iconOverlay"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js"
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "mediatag1892999247";
8
+ var _namespace_ = "mediatag1607856957";
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":"mediatag1892999247__root"};
16
+ export var classes = {"root":"mediatag1607856957__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "cellmultidocumentedit3949318771";
8
+ var _namespace_ = "cellmultidocumentedit290778729";
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":"cellmultidocumentedit3949318771__root","chipTrigger":"cellmultidocumentedit3949318771__chipTrigger"};
16
+ export var classes = {"root":"cellmultidocumentedit290778729__root","chipTrigger":"cellmultidocumentedit290778729__chipTrigger"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js"
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "formmultidocument860828417";
8
+ var _namespace_ = "formmultidocument232573991";
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":"formmultidocument860828417__root","viewRoot":"formmultidocument860828417__viewRoot","singleViewWrapper":"formmultidocument860828417__singleViewWrapper","addDocumentButton":"formmultidocument860828417__addDocumentButton"};
16
+ export var classes = {"root":"formmultidocument232573991__root","viewRoot":"formmultidocument232573991__viewRoot","singleViewWrapper":"formmultidocument232573991__singleViewWrapper","addDocumentButton":"formmultidocument232573991__addDocumentButton"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "cellmultireferenceinput3549115440";
8
+ var _namespace_ = "cellmultireferenceinput70067226";
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":"cellmultireferenceinput3549115440__root"};
16
+ export var classes = {"root":"cellmultireferenceinput70067226__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "cellreferenceinput825148666";
8
+ var _namespace_ = "cellreferenceinput1608182147";
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":"cellreferenceinput825148666__root","autocomplete":"cellreferenceinput825148666__autocomplete"};
16
+ export var classes = {"root":"cellreferenceinput1608182147__root","autocomplete":"cellreferenceinput1608182147__autocomplete"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -19,7 +19,8 @@ export interface CellRichContentInputProps {
19
19
  }
20
20
 
21
21
  /** Full-screen Ricos editor for the richContent cell type.
22
- * Opens immediately in fullscreen mode. Saving (X button or Escape) calls onChange + onSave. */
22
+ * Opens immediately in fullscreen mode. Saving (X button, Escape or Enter) calls onChange + onSave.
23
+ * Shift+Enter adds a new line. */
23
24
  export const CellRichContentInput: React.FC<CellRichContentInputProps> = ({
24
25
  value,
25
26
  onChange,
@@ -49,25 +50,22 @@ export const CellRichContentInput: React.FC<CellRichContentInputProps> = ({
49
50
  [setLocalValue],
50
51
  );
51
52
 
52
- /** Commit the current content and exit edit mode.
53
+ /** Commit the content (if it changed) and exit edit mode.
53
54
  * Guards against double-save (X button + Escape firing simultaneously). */
54
- const handleSave = useCallback(
55
- (content?: RicosDocument) => {
55
+ const handleExitFullScreen = useCallback(
56
+ (content?: RicosDocument, isContentChanged?: boolean) => {
56
57
  if (hasSavedRef.current) {
57
58
  return;
58
59
  }
59
60
  hasSavedRef.current = true;
60
- onChange(content);
61
+ // Skipping onChange leaves the cell untouched, so nothing is saved. A
62
+ // typed-to-edit key is a change even though the editor started with it.
63
+ if (isContentChanged || initialTypedKey) {
64
+ onChange(content);
65
+ }
61
66
  onSave();
62
67
  },
63
- [onChange, onSave],
64
- );
65
-
66
- const handleExitFullScreen = useCallback(
67
- (content?: RicosDocument) => {
68
- handleSave(content);
69
- },
70
- [handleSave],
68
+ [onChange, onSave, initialTypedKey],
71
69
  );
72
70
 
73
71
  return (
@@ -77,6 +75,7 @@ export const CellRichContentInput: React.FC<CellRichContentInputProps> = ({
77
75
  onChange={handleChange}
78
76
  onExitFullScreen={handleExitFullScreen}
79
77
  fullScreenOnly
78
+ closeOnEnter
80
79
  autoFocus
81
80
  />
82
81
  );
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontentdefaultvalueinput136872786";
8
+ var _namespace_ = "richcontentdefaultvalueinput3835248619";
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":"richcontentdefaultvalueinput136872786__root","richContentEditorContainer":"richcontentdefaultvalueinput136872786__richContentEditorContainer","editor":"richcontentdefaultvalueinput136872786__editor"};
16
+ export var classes = {"root":"richcontentdefaultvalueinput3835248619__root","richContentEditorContainer":"richcontentdefaultvalueinput3835248619__richContentEditorContainer","editor":"richcontentdefaultvalueinput3835248619__editor"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontentforminput1980338327";
8
+ var _namespace_ = "richcontentforminput727263717";
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":"richcontentforminput1980338327__root","editor":"richcontentforminput1980338327__editor"};
16
+ export var classes = {"root":"richcontentforminput727263717__root","editor":"richcontentforminput727263717__editor"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontentformreadonlyinput4171215455";
8
+ var _namespace_ = "richcontentformreadonlyinput3423908973";
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":"richcontentformreadonlyinput4171215455__root"};
16
+ export var classes = {"root":"richcontentformreadonlyinput3423908973__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../../stylable-esm-runti
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "fullscreenmodal191907069";
8
+ var _namespace_ = "fullscreenmodal3389559131";
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":"fullscreenmodal191907069__root","modalContent":"fullscreenmodal191907069__modalContent"};
16
+ export var classes = {"root":"fullscreenmodal3389559131__root","modalContent":"fullscreenmodal3389559131__modalContent"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../../stylable-esm-runti
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "publishloader3452678746";
8
+ var _namespace_ = "publishloader134882398";
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":"publishloader3452678746__root","publishLoader":"publishloader3452678746__publishLoader"};
16
+ export var classes = {"root":"publishloader134882398__root","publishLoader":"publishloader134882398__publishLoader"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../../stylable-esm-runti
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "togglefullscreenbutton1124921780";
8
+ var _namespace_ = "togglefullscreenbutton2944895381";
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":"togglefullscreenbutton1124921780__root"};
16
+ export var classes = {"root":"togglefullscreenbutton2944895381__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontenteditor2665333597";
8
+ var _namespace_ = "richcontenteditor1716567060";
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":"richcontenteditor2665333597__root","toolbarContainer":"richcontenteditor2665333597__toolbarContainer","footerToolbarContainer":"richcontenteditor2665333597__footerToolbarContainer","toolbarAndFullScreenButtonWrapper":"richcontenteditor2665333597__toolbarAndFullScreenButtonWrapper","editor":"richcontenteditor2665333597__editor","modalEditor":"richcontenteditor2665333597__modalEditor"};
16
+ export var classes = {"root":"richcontenteditor1716567060__root","toolbarContainer":"richcontenteditor1716567060__toolbarContainer","footerToolbarContainer":"richcontenteditor1716567060__footerToolbarContainer","toolbarAndFullScreenButtonWrapper":"richcontenteditor1716567060__toolbarAndFullScreenButtonWrapper","editor":"richcontenteditor1716567060__editor","modalEditor":"richcontenteditor1716567060__modalEditor"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -40,6 +40,7 @@ import {
40
40
 
41
41
  import { usePlugins } from './plugins';
42
42
  import { ExternalToolbar } from './rich-content-toolbar';
43
+ import { isEnterInEditableText } from '../../../../utils/keyboard';
43
44
  import { st, classes } from './rich-content-editor.st.css.js';
44
45
 
45
46
  type RicosProps = Pick<RicosEditorProps, 'biSettings' | 'theme'> & {
@@ -394,6 +395,8 @@ export type RichContentEditorProps = Omit<RCEProps, 'onChange'> & {
394
395
  onChange?: (content: RicosDocument, isContentChanged?: boolean) => void;
395
396
  onPublish?: (promise: Promise<RicosDocument>) => void;
396
397
  fullScreenOnly?: boolean;
398
+ /** Close full screen on Enter in the text, like Escape. Shift+Enter still adds a new line. */
399
+ closeOnEnter?: boolean;
397
400
  };
398
401
 
399
402
  export const RichContentEditor: FC<RichContentEditorProps> = ({
@@ -402,6 +405,7 @@ export const RichContentEditor: FC<RichContentEditorProps> = ({
402
405
  onEnterFullScreen,
403
406
  onExitFullScreen,
404
407
  fullScreenOnly,
408
+ closeOnEnter,
405
409
  onPublish,
406
410
  onChange,
407
411
  theme,
@@ -542,12 +546,16 @@ export const RichContentEditor: FC<RichContentEditorProps> = ({
542
546
  if (e.key === 'Escape') {
543
547
  e.stopPropagation();
544
548
  void onClose();
549
+ } else if (closeOnEnter && isEnterInEditableText(e)) {
550
+ e.preventDefault();
551
+ e.stopPropagation();
552
+ void onClose();
545
553
  }
546
554
  };
547
555
 
548
556
  document.addEventListener('keydown', handleKeyDown, true);
549
557
  return () => document.removeEventListener('keydown', handleKeyDown, true);
550
- }, [isFullScreen, onClose]);
558
+ }, [isFullScreen, onClose, closeOnEnter]);
551
559
 
552
560
  const rceProps = {
553
561
  onChange: handleChange,
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontenttoolbar2552606762";
8
+ var _namespace_ = "richcontenttoolbar934747531";
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":"richcontenttoolbar2552606762__root","toolbar":"richcontenttoolbar2552606762__toolbar","toolbarButton":"richcontenttoolbar2552606762__toolbarButton","separator":"richcontenttoolbar2552606762__separator"};
16
+ export var classes = {"root":"richcontenttoolbar934747531__root","toolbar":"richcontenttoolbar934747531__toolbar","toolbarButton":"richcontenttoolbar934747531__toolbarButton","separator":"richcontenttoolbar934747531__separator"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontentviewer3000865605";
8
+ var _namespace_ = "richcontentviewer173357374";
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":"richcontentviewer3000865605__root","viewer":"richcontentviewer3000865605__viewer","modalViewer":"richcontentviewer3000865605__modalViewer"};
16
+ export var classes = {"root":"richcontentviewer173357374__root","viewer":"richcontentviewer173357374__viewer","modalViewer":"richcontentviewer173357374__modalViewer"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,4 +1,10 @@
1
- import React, { useCallback, useMemo, useRef, useState } from 'react';
1
+ import React, {
2
+ useCallback,
3
+ useEffect,
4
+ useMemo,
5
+ useRef,
6
+ useState,
7
+ } from 'react';
2
8
  import { EditorState } from 'draft-js';
3
9
  import { Modal } from '@wix/design-system';
4
10
 
@@ -118,9 +124,32 @@ export const CellRichTextEditor: React.FC<CellRichTextEditorProps> = ({
118
124
  const inlineStylesRef = useRef<InlineStyles>(inlineStyles);
119
125
  const customStyleMapRef = useRef<CustomStyleMap>(customStyleMap);
120
126
 
127
+ const contentRef = useRef(initialEditorState.getCurrentContent());
128
+
129
+ // A typed-to-edit key is already a change, even before the user edits again.
130
+ useEffect(() => {
131
+ if (initialTypedKey) {
132
+ onChange(
133
+ editorStateToHTML(
134
+ initialEditorState,
135
+ inlineStylesRef.current,
136
+ EDITING_OPTIONS,
137
+ ),
138
+ );
139
+ }
140
+ // eslint-disable-next-line react-hooks/exhaustive-deps
141
+ }, []);
142
+
121
143
  const handleChange = useCallback(
122
144
  (newState: EditorState) => {
123
145
  setEditorState(newState);
146
+ // Draft.js also fires onChange for focus and selection changes. Only a
147
+ // content change is an edit — otherwise an untouched cell would save.
148
+ const content = newState.getCurrentContent();
149
+ if (content === contentRef.current) {
150
+ return;
151
+ }
152
+ contentRef.current = content;
124
153
  const html = editorStateToHTML(
125
154
  newState,
126
155
  inlineStylesRef.current,