@wix/patterns-fields 1.72.0 → 1.74.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 (335) hide show
  1. package/dist/cjs/components/address/form-address.js +5 -3
  2. package/dist/cjs/components/address/form-address.js.map +1 -1
  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/address/input/form-address-input.js +5 -16
  6. package/dist/cjs/components/address/input/form-address-input.js.map +1 -1
  7. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  8. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  9. package/dist/cjs/components/audio/audio-field/form-audio-field.js +14 -13
  10. package/dist/cjs/components/audio/audio-field/form-audio-field.js.map +1 -1
  11. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  12. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  13. package/dist/cjs/components/audio/audio-field/form-audio.js +10 -3
  14. package/dist/cjs/components/audio/audio-field/form-audio.js.map +1 -1
  15. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js +2 -2
  16. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  17. package/dist/cjs/components/color-view/cell-color-view.st.css.js +3 -3
  18. package/dist/cjs/components/color-view/cell-color-view.st.css.js.map +1 -1
  19. package/dist/cjs/components/color-view/color-input.js +6 -5
  20. package/dist/cjs/components/color-view/color-input.js.map +1 -1
  21. package/dist/cjs/components/color-view/color-view.st.css.js +4 -4
  22. package/dist/cjs/components/color-view/color-view.st.css.js.map +1 -1
  23. package/dist/cjs/components/color-view/form-color.driver.js +8 -2
  24. package/dist/cjs/components/color-view/form-color.driver.js.map +1 -1
  25. package/dist/cjs/components/datetime-input/form-date-time.driver.js +4 -1
  26. package/dist/cjs/components/datetime-input/form-date-time.driver.js.map +1 -1
  27. package/dist/cjs/components/datetime-input/form-date-time.js +1 -0
  28. package/dist/cjs/components/datetime-input/form-date-time.js.map +1 -1
  29. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js +3 -3
  30. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  31. package/dist/cjs/components/document/form-document-field.js +7 -6
  32. package/dist/cjs/components/document/form-document-field.js.map +1 -1
  33. package/dist/cjs/components/document/form-document-field.st.css.js +7 -7
  34. package/dist/cjs/components/document/form-document-field.st.css.js.map +1 -1
  35. package/dist/cjs/components/document/form-document.js +10 -3
  36. package/dist/cjs/components/document/form-document.js.map +1 -1
  37. package/dist/cjs/components/exclamation/exclamation.st.css.js +5 -5
  38. package/dist/cjs/components/exclamation/exclamation.st.css.js.map +1 -1
  39. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js +5 -5
  40. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  41. package/dist/cjs/components/image/form-image-input.js +11 -4
  42. package/dist/cjs/components/image/form-image-input.js.map +1 -1
  43. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js +3 -3
  44. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js.map +1 -1
  45. package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  46. package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js.map +1 -1
  47. package/dist/cjs/components/media-control/paste-url-button.st.css.js +4 -4
  48. package/dist/cjs/components/media-control/paste-url-button.st.css.js.map +1 -1
  49. package/dist/cjs/components/media-gallery/form-media-gallery-field.js +24 -21
  50. package/dist/cjs/components/media-gallery/form-media-gallery-field.js.map +1 -1
  51. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
  52. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  53. package/dist/cjs/components/media-gallery/form-media-gallery.js +10 -3
  54. package/dist/cjs/components/media-gallery/form-media-gallery.js.map +1 -1
  55. package/dist/cjs/components/media-image/media-image.st.css.js +4 -4
  56. package/dist/cjs/components/media-image/media-image.st.css.js.map +1 -1
  57. package/dist/cjs/components/media-image/overlays/overlay.st.css.js +3 -3
  58. package/dist/cjs/components/media-image/overlays/overlay.st.css.js.map +1 -1
  59. package/dist/cjs/components/media-loader/media-loader.st.css.js +3 -3
  60. package/dist/cjs/components/media-loader/media-loader.st.css.js.map +1 -1
  61. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  62. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  63. package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js +3 -3
  64. package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
  65. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document-field.js +7 -6
  66. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
  67. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.js +10 -3
  68. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.js.map +1 -1
  69. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  70. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  71. package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js +2 -2
  72. package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js.map +1 -1
  73. package/dist/cjs/components/reference/cell-reference-input.st.css.js +3 -3
  74. package/dist/cjs/components/reference/cell-reference-input.st.css.js.map +1 -1
  75. package/dist/cjs/components/rich-content/form-rich-content.js +20 -5
  76. package/dist/cjs/components/rich-content/form-rich-content.js.map +1 -1
  77. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +4 -4
  78. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  79. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css +15 -7
  80. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +11 -7
  81. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  82. package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  83. 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
  84. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  85. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  86. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  87. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  88. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  89. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  90. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +7 -7
  91. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  92. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +5 -5
  93. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  94. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  95. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  96. package/dist/cjs/components/rich-text/form-rich-text.js +18 -5
  97. package/dist/cjs/components/rich-text/form-rich-text.js.map +1 -1
  98. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  99. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  100. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css +32 -19
  101. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +20 -12
  102. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  103. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  104. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  105. package/dist/cjs/components/text/text-view.st.css.js +3 -3
  106. package/dist/cjs/components/text/text-view.st.css.js.map +1 -1
  107. package/dist/cjs/components/time-input/form-time.js +9 -10
  108. package/dist/cjs/components/time-input/form-time.js.map +1 -1
  109. package/dist/cjs/components/video/form-video.js +30 -29
  110. package/dist/cjs/components/video/form-video.js.map +1 -1
  111. package/dist/cjs/hooks/index.js +18 -0
  112. package/dist/cjs/hooks/index.js.map +1 -1
  113. package/dist/cjs/hooks/pr-5746-kobiburnley-comments.md +54 -0
  114. package/dist/cjs/hooks/use-field-ref.js +60 -0
  115. package/dist/cjs/hooks/use-field-ref.js.map +1 -0
  116. package/dist/cjs/hooks/use-merged-ref.js +27 -0
  117. package/dist/cjs/hooks/use-merged-ref.js.map +1 -0
  118. package/dist/cjs/hooks/use-scroll-to-error-ref.js +34 -0
  119. package/dist/cjs/hooks/use-scroll-to-error-ref.js.map +1 -0
  120. package/dist/cjs/styles.global.css +1 -1
  121. package/dist/esm/components/address/form-address.js +3 -1
  122. package/dist/esm/components/address/form-address.js.map +1 -1
  123. package/dist/esm/components/address/input/address-input.st.css.js +2 -2
  124. package/dist/esm/components/address/input/address-input.st.css.js.map +1 -1
  125. package/dist/esm/components/address/input/form-address-input.js +4 -15
  126. package/dist/esm/components/address/input/form-address-input.js.map +1 -1
  127. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
  128. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  129. package/dist/esm/components/audio/audio-field/form-audio-field.js +4 -4
  130. package/dist/esm/components/audio/audio-field/form-audio-field.js.map +1 -1
  131. package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js +2 -2
  132. package/dist/esm/components/audio/audio-field/form-audio.js +11 -1
  133. package/dist/esm/components/audio/audio-field/form-audio.js.map +1 -1
  134. package/dist/esm/components/audio/audio-player/audio-player.st.css.js +2 -2
  135. package/dist/esm/components/color-view/cell-color-view.st.css.js +2 -2
  136. package/dist/esm/components/color-view/color-input.js +1 -1
  137. package/dist/esm/components/color-view/color-input.js.map +1 -1
  138. package/dist/esm/components/color-view/color-view.st.css.js +2 -2
  139. package/dist/esm/components/color-view/form-color.driver.js +8 -2
  140. package/dist/esm/components/color-view/form-color.driver.js.map +1 -1
  141. package/dist/esm/components/datetime-input/form-date-time.driver.js +3 -0
  142. package/dist/esm/components/datetime-input/form-date-time.driver.js.map +1 -1
  143. package/dist/esm/components/datetime-input/form-date-time.js +1 -1
  144. package/dist/esm/components/datetime-input/form-date-time.js.map +1 -1
  145. package/dist/esm/components/delete-dialog/delete-dialog.st.css.js +2 -2
  146. package/dist/esm/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  147. package/dist/esm/components/document/form-document-field.js +4 -4
  148. package/dist/esm/components/document/form-document-field.js.map +1 -1
  149. package/dist/esm/components/document/form-document-field.st.css.js +2 -2
  150. package/dist/esm/components/document/form-document-field.st.css.js.map +1 -1
  151. package/dist/esm/components/document/form-document.js +11 -1
  152. package/dist/esm/components/document/form-document.js.map +1 -1
  153. package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
  154. package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
  155. package/dist/esm/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  156. package/dist/esm/components/image/form-image-input.js +11 -1
  157. package/dist/esm/components/image/form-image-input.js.map +1 -1
  158. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js +2 -2
  159. package/dist/esm/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  160. package/dist/esm/components/media-control/cell-media-edit-shell.st.css.js.map +1 -1
  161. package/dist/esm/components/media-control/paste-url-button.st.css.js +2 -2
  162. package/dist/esm/components/media-gallery/form-media-gallery-field.js +7 -5
  163. package/dist/esm/components/media-gallery/form-media-gallery-field.js.map +1 -1
  164. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js +2 -2
  165. package/dist/esm/components/media-gallery/form-media-gallery.js +11 -1
  166. package/dist/esm/components/media-gallery/form-media-gallery.js.map +1 -1
  167. package/dist/esm/components/media-image/media-image.st.css.js +3 -3
  168. package/dist/esm/components/media-image/overlays/overlay.st.css.js +2 -2
  169. package/dist/esm/components/media-loader/media-loader.st.css.js +2 -2
  170. package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  171. package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js +2 -2
  172. package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
  173. package/dist/esm/components/multi-document/multi-document-input/form-multi-document-field.js +4 -4
  174. package/dist/esm/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
  175. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.js +11 -1
  176. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.js.map +1 -1
  177. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js +2 -2
  178. package/dist/esm/components/reference/cell-multi-reference-input.st.css.js +2 -2
  179. package/dist/esm/components/reference/cell-reference-input.st.css.js +2 -2
  180. package/dist/esm/components/rich-content/form-rich-content.js +8 -3
  181. package/dist/esm/components/rich-content/form-rich-content.js.map +1 -1
  182. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +2 -2
  183. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css +15 -7
  184. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +3 -3
  185. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  186. package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  187. package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
  188. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
  189. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
  190. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  191. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +2 -2
  192. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  193. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +2 -2
  194. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +2 -2
  195. package/dist/esm/components/rich-text/form-rich-text.js +7 -3
  196. package/dist/esm/components/rich-text/form-rich-text.js.map +1 -1
  197. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +2 -2
  198. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  199. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css +32 -19
  200. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +3 -3
  201. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  202. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +2 -2
  203. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  204. package/dist/esm/components/text/text-view.st.css.js +2 -2
  205. package/dist/esm/components/time-input/form-time.js +4 -3
  206. package/dist/esm/components/time-input/form-time.js.map +1 -1
  207. package/dist/esm/components/video/form-video.js +3 -2
  208. package/dist/esm/components/video/form-video.js.map +1 -1
  209. package/dist/esm/hooks/index.js +3 -0
  210. package/dist/esm/hooks/index.js.map +1 -1
  211. package/dist/esm/hooks/pr-5746-kobiburnley-comments.md +54 -0
  212. package/dist/esm/hooks/use-field-ref.js +36 -0
  213. package/dist/esm/hooks/use-field-ref.js.map +1 -0
  214. package/dist/esm/hooks/use-merged-ref.js +23 -0
  215. package/dist/esm/hooks/use-merged-ref.js.map +1 -0
  216. package/dist/esm/hooks/use-scroll-to-error-ref.js +26 -0
  217. package/dist/esm/hooks/use-scroll-to-error-ref.js.map +1 -0
  218. package/dist/esm/styles.global.css +1 -1
  219. package/dist/types/components/address/form-address.d.ts.map +1 -1
  220. package/dist/types/components/address/input/address-input.st.css.d.ts.map +1 -1
  221. package/dist/types/components/address/input/form-address-input.d.ts.map +1 -1
  222. package/dist/types/components/audio/actions/actions-menu/actions-menu.st.css.d.ts.map +1 -1
  223. package/dist/types/components/audio/audio-field/form-audio-field.d.ts.map +1 -1
  224. package/dist/types/components/audio/audio-field/form-audio.d.ts.map +1 -1
  225. package/dist/types/components/color-view/color-input.d.ts.map +1 -1
  226. package/dist/types/components/color-view/form-color.driver.d.ts +5 -15
  227. package/dist/types/components/color-view/form-color.driver.d.ts.map +1 -1
  228. package/dist/types/components/datetime-input/form-date-time.driver.d.ts +1 -0
  229. package/dist/types/components/datetime-input/form-date-time.driver.d.ts.map +1 -1
  230. package/dist/types/components/delete-dialog/delete-dialog.st.css.d.ts.map +1 -1
  231. package/dist/types/components/document/form-document-field.d.ts.map +1 -1
  232. package/dist/types/components/document/form-document-field.st.css.d.ts.map +1 -1
  233. package/dist/types/components/document/form-document.d.ts.map +1 -1
  234. package/dist/types/components/highlighted-text/highlighted-text.st.css.d.ts.map +1 -1
  235. package/dist/types/components/image/form-image-input.d.ts.map +1 -1
  236. package/dist/types/components/media-control/cell-media-edit-shell.st.css.d.ts.map +1 -1
  237. package/dist/types/components/media-gallery/form-media-gallery-field.d.ts +3 -0
  238. package/dist/types/components/media-gallery/form-media-gallery-field.d.ts.map +1 -1
  239. package/dist/types/components/media-gallery/form-media-gallery.d.ts.map +1 -1
  240. package/dist/types/components/multi-document/cell-multi-document-edit.st.css.d.ts.map +1 -1
  241. package/dist/types/components/multi-document/multi-document-input/form-multi-document-field.d.ts.map +1 -1
  242. package/dist/types/components/multi-document/multi-document-input/form-multi-document.d.ts.map +1 -1
  243. package/dist/types/components/rich-content/form-rich-content.d.ts.map +1 -1
  244. package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.d.ts +7 -3
  245. package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.d.ts.map +1 -1
  246. package/dist/types/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.d.ts.map +1 -1
  247. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.d.ts.map +1 -1
  248. package/dist/types/components/rich-text/form-rich-text.d.ts.map +1 -1
  249. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.d.ts.map +1 -1
  250. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.d.ts +16 -8
  251. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.d.ts.map +1 -1
  252. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.d.ts.map +1 -1
  253. package/dist/types/components/time-input/form-time.d.ts.map +1 -1
  254. package/dist/types/components/video/form-video.d.ts.map +1 -1
  255. package/dist/types/hooks/index.d.ts +3 -0
  256. package/dist/types/hooks/index.d.ts.map +1 -1
  257. package/dist/types/hooks/use-field-ref.d.ts +36 -0
  258. package/dist/types/hooks/use-field-ref.d.ts.map +1 -0
  259. package/dist/types/hooks/use-merged-ref.d.ts +11 -0
  260. package/dist/types/hooks/use-merged-ref.d.ts.map +1 -0
  261. package/dist/types/hooks/use-scroll-to-error-ref.d.ts +14 -0
  262. package/dist/types/hooks/use-scroll-to-error-ref.d.ts.map +1 -0
  263. package/package.json +5 -5
  264. package/src/__tests__/components/audio/form-audio.spec.tsx +22 -0
  265. package/src/__tests__/components/color-view/form-color.spec.tsx +46 -3
  266. package/src/__tests__/components/document/form-document.spec.tsx +22 -0
  267. package/src/__tests__/components/image/form-image-input.spec.tsx +22 -0
  268. package/src/__tests__/components/media-gallery/form-media-gallery.spec.tsx +21 -0
  269. package/src/__tests__/components/multi-document/form-multi-document.spec.tsx +21 -0
  270. package/src/__tests__/components/rich-content/form-rich-content.spec.tsx +22 -0
  271. package/src/__tests__/components/rich-editors-border.spec.ts +45 -0
  272. package/src/__tests__/components/rich-text/form-rich-text.spec.tsx +18 -0
  273. package/src/__tests__/hooks/use-field-ref.spec.tsx +132 -0
  274. package/src/components/address/form-address.tsx +4 -1
  275. package/src/components/address/input/address-input.st.css.ts +2 -2
  276. package/src/components/address/input/form-address-input.tsx +5 -20
  277. package/src/components/audio/actions/actions-menu/actions-menu.st.css.ts +2 -2
  278. package/src/components/audio/audio-field/form-audio-field.st.css.ts +2 -2
  279. package/src/components/audio/audio-field/form-audio-field.tsx +4 -3
  280. package/src/components/audio/audio-field/form-audio.tsx +7 -0
  281. package/src/components/audio/audio-player/audio-player.st.css.ts +2 -2
  282. package/src/components/color-view/cell-color-view.st.css.ts +2 -2
  283. package/src/components/color-view/color-input.tsx +13 -2
  284. package/src/components/color-view/color-view.st.css.ts +2 -2
  285. package/src/components/color-view/form-color.driver.ts +8 -2
  286. package/src/components/datetime-input/form-date-time.driver.ts +3 -0
  287. package/src/components/datetime-input/form-date-time.tsx +1 -1
  288. package/src/components/delete-dialog/delete-dialog.st.css.ts +2 -2
  289. package/src/components/document/form-document-field.st.css.ts +2 -2
  290. package/src/components/document/form-document-field.tsx +4 -3
  291. package/src/components/document/form-document.tsx +7 -0
  292. package/src/components/exclamation/exclamation.st.css.ts +2 -2
  293. package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
  294. package/src/components/image/form-image-input.tsx +7 -0
  295. package/src/components/image/thumbnail-replace-overlay.st.css.ts +2 -2
  296. package/src/components/media-control/cell-media-edit-shell.st.css.ts +2 -2
  297. package/src/components/media-control/paste-url-button.st.css.ts +2 -2
  298. package/src/components/media-gallery/form-media-gallery-field.st.css.ts +2 -2
  299. package/src/components/media-gallery/form-media-gallery-field.tsx +9 -4
  300. package/src/components/media-gallery/form-media-gallery.tsx +7 -0
  301. package/src/components/media-image/media-image.st.css.ts +3 -3
  302. package/src/components/media-image/overlays/overlay.st.css.ts +2 -2
  303. package/src/components/media-loader/media-loader.st.css.ts +2 -2
  304. package/src/components/media-tag/web-media-tag/media-tag.st.css.ts +2 -2
  305. package/src/components/multi-document/cell-multi-document-edit.st.css.ts +2 -2
  306. package/src/components/multi-document/multi-document-input/form-multi-document-field.tsx +4 -3
  307. package/src/components/multi-document/multi-document-input/form-multi-document.st.css.ts +2 -2
  308. package/src/components/multi-document/multi-document-input/form-multi-document.tsx +7 -0
  309. package/src/components/reference/cell-multi-reference-input.st.css.ts +2 -2
  310. package/src/components/reference/cell-reference-input.st.css.ts +2 -2
  311. package/src/components/rich-content/form-rich-content.tsx +24 -14
  312. package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.ts +2 -2
  313. package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css +15 -7
  314. package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.ts +3 -3
  315. package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.ts +2 -2
  316. package/src/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.ts +2 -2
  317. package/src/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.ts +2 -2
  318. package/src/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.ts +2 -2
  319. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts +2 -2
  320. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts +2 -2
  321. package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts +2 -2
  322. package/src/components/rich-text/form-rich-text.tsx +18 -9
  323. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts +2 -2
  324. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css +32 -19
  325. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts +3 -3
  326. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts +2 -2
  327. package/src/components/text/text-view.st.css.ts +2 -2
  328. package/src/components/time-input/form-time.tsx +9 -3
  329. package/src/components/video/form-video.tsx +4 -2
  330. package/src/hooks/index.ts +3 -0
  331. package/src/hooks/pr-5746-kobiburnley-comments.md +54 -0
  332. package/src/hooks/use-field-ref.ts +65 -0
  333. package/src/hooks/use-merged-ref.ts +30 -0
  334. package/src/hooks/use-scroll-to-error-ref.ts +39 -0
  335. package/src/styles.global.css +1 -1
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { FormField } from '@wix/design-system';
2
+ import { Box, FormField } from '@wix/design-system';
3
3
  import { observer } from 'mobx-react-lite';
4
4
  import type {
5
5
  RichContent as RichContentType,
@@ -11,7 +11,7 @@ import { useWixPatternsContainer } from '@wix/bex-core/react';
11
11
  import { useController } from '@wix/bex-core/form';
12
12
 
13
13
  import { BaseInputProps } from '../../types/base-input';
14
- import { useTranslations } from '../../hooks';
14
+ import { useScrollToErrorRef, useTranslations } from '../../hooks';
15
15
  import { isEmpty } from '../../validations/string';
16
16
  import {
17
17
  isDataValidOrNotSet,
@@ -49,6 +49,14 @@ const _FormRichContent = (props: FormRichContentProps) => {
49
49
  richContentValidation,
50
50
  );
51
51
 
52
+ // The editor is lazy and exposes no focus handle, so hand react-hook-form
53
+ // a wrapper it can bring into view instead. The wrapper stays mounted even
54
+ // when the value is the wrong type and the editor is not rendered.
55
+ const setScrollToErrorRef = useScrollToErrorRef<HTMLDivElement>(
56
+ controller.field.ref,
57
+ '[contenteditable]',
58
+ );
59
+
52
60
  return (
53
61
  <FormField
54
62
  label={field.displayName}
@@ -78,18 +86,20 @@ const _FormRichContent = (props: FormRichContentProps) => {
78
86
  )
79
87
  }
80
88
  >
81
- {isValueValid ? (
82
- <FormRichContentInput
83
- autoFocus={false}
84
- data={controller.field.value}
85
- onChange={(value) => controller.field.onChange?.(value)}
86
- dataHook={`rich-content-${field.id}`}
87
- field={field.id}
88
- theme={theme}
89
- experiments={ricosExperiments}
90
- isSiteMetadataLoading={false}
91
- />
92
- ) : null}
89
+ <Box direction="vertical" width="100%" ref={setScrollToErrorRef}>
90
+ {isValueValid ? (
91
+ <FormRichContentInput
92
+ autoFocus={false}
93
+ data={controller.field.value}
94
+ onChange={(value) => controller.field.onChange?.(value)}
95
+ dataHook={`rich-content-${field.id}`}
96
+ field={field.id}
97
+ theme={theme}
98
+ experiments={ricosExperiments}
99
+ isSiteMetadataLoading={false}
100
+ />
101
+ ) : null}
102
+ </Box>
93
103
  </FormField>
94
104
  );
95
105
  };
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontentdefaultvalueinput2495321966";
8
+ var _namespace_ = "richcontentdefaultvalueinput1176116246";
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":"richcontentdefaultvalueinput2495321966__root","richContentEditorContainer":"richcontentdefaultvalueinput2495321966__richContentEditorContainer","editor":"richcontentdefaultvalueinput2495321966__editor"};
16
+ export var classes = {"root":"richcontentdefaultvalueinput1176116246__root","richContentEditorContainer":"richcontentdefaultvalueinput1176116246__richContentEditorContainer","editor":"richcontentdefaultvalueinput1176116246__editor"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -4,21 +4,29 @@
4
4
  @import "../variables.css";
5
5
  @import "../rich-content-editor/rich-content-editor.st.css";
6
6
 
7
- @property st-global(--wds-color-blue-300);
8
- @property st-global(--wds-border-radius-300);
9
- @property st-global(--wds-color-blue-100);
7
+ /* The border needs the same fallback chain WDS Input itself uses. A `var()`
8
+ with no fallback that resolves to nothing makes the whole declaration
9
+ invalid, and the editor renders with no border at all — which is what it did
10
+ outside the theme that defines the --wds-color-* palette. See CAIRO-4561. */
11
+ @property st-global(--wds-input-border-color);
12
+ @property st-global(--wds-input-border-color-focus);
10
13
  @property st-global(--wds-input-shadow-focus-standard);
14
+ @property st-global(--wds-input-border-radius-default-medium);
15
+ @property st-global(--wsr-color-B10);
16
+ @property st-global(--wsr-color-B40);
17
+ @property st-global(--wsr-color-F00);
18
+ @property st-global(--wsr-border-radius-06);
11
19
 
12
20
  .root {
13
21
  outline: 0;
14
22
  box-sizing: border-box;
15
- border: 1px solid var(--wds-color-blue-300);
16
- border-radius: var(--wds-border-radius-300);
23
+ border: 1px solid var(--wds-input-border-color, var(--wsr-color-B40, #D6E6FE));
24
+ border-radius: var(--wds-input-border-radius-default-medium, var(--wsr-border-radius-06, 6px));
17
25
  }
18
26
 
19
27
  .root:focus-within {
20
- border: 1px solid var(--wds-color-blue-100);
21
- box-shadow: var(--wds-input-shadow-focus-standard);
28
+ border: 1px solid var(--wds-input-border-color-focus, var(--wsr-color-B10, #116DFF));
29
+ box-shadow: var(--wds-input-shadow-focus-standard, 0 0 0 3px var(--wsr-color-F00, #A6D0FF));
22
30
  }
23
31
 
24
32
  .root .editor {
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontentforminput602859887";
8
+ var _namespace_ = "richcontentforminput1413552636";
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":"richcontentforminput602859887__root","editor":"richcontentforminput602859887__editor"};
16
+ export var classes = {"root":"richcontentforminput1413552636__root","editor":"richcontentforminput1413552636__editor"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
20
20
  export var stVars = {};
21
- export var vars = {"topToolbarHeight":"--topToolbarHeight","bottomToolbarHeight":"--bottomToolbarHeight","wds-color-blue-300":"--wds-color-blue-300","wds-border-radius-300":"--wds-border-radius-300","wds-color-blue-100":"--wds-color-blue-100","wds-input-shadow-focus-standard":"--wds-input-shadow-focus-standard"};
21
+ export var vars = {"topToolbarHeight":"--topToolbarHeight","bottomToolbarHeight":"--bottomToolbarHeight","wds-input-border-color":"--wds-input-border-color","wds-input-border-color-focus":"--wds-input-border-color-focus","wds-input-shadow-focus-standard":"--wds-input-shadow-focus-standard","wds-input-border-radius-default-medium":"--wds-input-border-radius-default-medium","wsr-color-B10":"--wsr-color-B10","wsr-color-B40":"--wsr-color-B40","wsr-color-F00":"--wsr-color-F00","wsr-border-radius-06":"--wsr-border-radius-06"};
22
22
 
23
23
 
24
24
 
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontentformreadonlyinput558638497";
8
+ var _namespace_ = "richcontentformreadonlyinput3469320707";
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":"richcontentformreadonlyinput558638497__root"};
16
+ export var classes = {"root":"richcontentformreadonlyinput3469320707__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_ = "fullscreenmodal764723727";
8
+ var _namespace_ = "fullscreenmodal121150353";
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":"fullscreenmodal764723727__root","modalContent":"fullscreenmodal764723727__modalContent"};
16
+ export var classes = {"root":"fullscreenmodal121150353__root","modalContent":"fullscreenmodal121150353__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_ = "publishloader2401052820";
8
+ var _namespace_ = "publishloader3536264979";
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":"publishloader2401052820__root","publishLoader":"publishloader2401052820__publishLoader"};
16
+ export var classes = {"root":"publishloader3536264979__root","publishLoader":"publishloader3536264979__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_ = "togglefullscreenbutton3370326329";
8
+ var _namespace_ = "togglefullscreenbutton2020405308";
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":"togglefullscreenbutton3370326329__root"};
16
+ export var classes = {"root":"togglefullscreenbutton2020405308__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_ = "richcontenteditor351007601";
8
+ var _namespace_ = "richcontenteditor3175937956";
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":"richcontenteditor351007601__root","toolbarContainer":"richcontenteditor351007601__toolbarContainer","footerToolbarContainer":"richcontenteditor351007601__footerToolbarContainer","toolbarAndFullScreenButtonWrapper":"richcontenteditor351007601__toolbarAndFullScreenButtonWrapper","editor":"richcontenteditor351007601__editor","modalEditor":"richcontenteditor351007601__modalEditor"};
16
+ export var classes = {"root":"richcontenteditor3175937956__root","toolbarContainer":"richcontenteditor3175937956__toolbarContainer","footerToolbarContainer":"richcontenteditor3175937956__footerToolbarContainer","toolbarAndFullScreenButtonWrapper":"richcontenteditor3175937956__toolbarAndFullScreenButtonWrapper","editor":"richcontenteditor3175937956__editor","modalEditor":"richcontenteditor3175937956__modalEditor"};
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_ = "richcontenttoolbar2679013044";
8
+ var _namespace_ = "richcontenttoolbar2225509028";
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":"richcontenttoolbar2679013044__root","toolbar":"richcontenttoolbar2679013044__toolbar","toolbarButton":"richcontenttoolbar2679013044__toolbarButton","separator":"richcontenttoolbar2679013044__separator"};
16
+ export var classes = {"root":"richcontenttoolbar2225509028__root","toolbar":"richcontenttoolbar2225509028__toolbar","toolbarButton":"richcontenttoolbar2225509028__toolbarButton","separator":"richcontenttoolbar2225509028__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_ = "richcontentviewer253217533";
8
+ var _namespace_ = "richcontentviewer818683085";
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":"richcontentviewer253217533__root","viewer":"richcontentviewer253217533__viewer","modalViewer":"richcontentviewer253217533__modalViewer"};
16
+ export var classes = {"root":"richcontentviewer818683085__root","viewer":"richcontentviewer818683085__viewer","modalViewer":"richcontentviewer818683085__modalViewer"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
- import { FormField } from '@wix/design-system';
2
+ import { Box, FormField } from '@wix/design-system';
3
3
  import { observer } from 'mobx-react-lite';
4
4
  import { useWixPatternsContainer } from '@wix/bex-core/react';
5
5
  import { useController } from '@wix/bex-core/form';
6
6
 
7
7
  import { BaseInputProps } from '../../types/base-input';
8
- import { useTranslations } from '../../hooks';
8
+ import { useScrollToErrorRef, useTranslations } from '../../hooks';
9
9
  import { isEmpty } from '../../validations/string';
10
10
  import {
11
11
  isDataValidOrNotSet,
@@ -36,6 +36,13 @@ const _FormRichText = (props: FormRichTextProps) => {
36
36
  },
37
37
  });
38
38
 
39
+ // The editor is lazy and exposes no focus handle, so hand react-hook-form
40
+ // a wrapper it can bring into view instead.
41
+ const setScrollToErrorRef = useScrollToErrorRef<HTMLDivElement>(
42
+ controller.field.ref,
43
+ '[contenteditable]',
44
+ );
45
+
39
46
  return (
40
47
  <FormField
41
48
  label={field.displayName}
@@ -68,13 +75,15 @@ const _FormRichText = (props: FormRichTextProps) => {
68
75
  )
69
76
  }
70
77
  >
71
- <FormRichTextInput
72
- autoFocus={false}
73
- data={controller.field.value}
74
- onChange={(value) => controller.field.onChange?.(value)}
75
- dataHook={`rich-text-${field.id}`}
76
- field={field.id}
77
- />
78
+ <Box width="100%" ref={setScrollToErrorRef}>
79
+ <FormRichTextInput
80
+ autoFocus={false}
81
+ data={controller.field.value}
82
+ onChange={(value) => controller.field.onChange?.(value)}
83
+ dataHook={`rich-text-${field.id}`}
84
+ field={field.id}
85
+ />
86
+ </Box>
78
87
  </FormField>
79
88
  );
80
89
  };
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richeditor3731566269";
8
+ var _namespace_ = "richeditor207855410";
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":"richeditor3731566269__root","editor":"richeditor3731566269__editor","header-one":"richeditor3731566269__header-one","header-two":"richeditor3731566269__header-two","header-three":"richeditor3731566269__header-three","header-four":"richeditor3731566269__header-four","header-five":"richeditor3731566269__header-five","header-six":"richeditor3731566269__header-six","paragraph-one":"richeditor3731566269__paragraph-one","unstyled":"richeditor3731566269__unstyled","paragraph-three":"richeditor3731566269__paragraph-three","align-left":"richeditor3731566269__align-left","align-right":"richeditor3731566269__align-right","align-center":"richeditor3731566269__align-center","align-justify":"richeditor3731566269__align-justify","withMargin":"richeditor3731566269__withMargin","dir-rtl":"richeditor3731566269__dir-rtl"};
16
+ export var classes = {"root":"richeditor207855410__root","editor":"richeditor207855410__editor","header-one":"richeditor207855410__header-one","header-two":"richeditor207855410__header-two","header-three":"richeditor207855410__header-three","header-four":"richeditor207855410__header-four","header-five":"richeditor207855410__header-five","header-six":"richeditor207855410__header-six","paragraph-one":"richeditor207855410__paragraph-one","unstyled":"richeditor207855410__unstyled","paragraph-three":"richeditor207855410__paragraph-three","align-left":"richeditor207855410__align-left","align-right":"richeditor207855410__align-right","align-center":"richeditor207855410__align-center","align-justify":"richeditor207855410__align-justify","withMargin":"richeditor207855410__withMargin","dir-rtl":"richeditor207855410__dir-rtl"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,12 +1,25 @@
1
- @property st-global(--wds-color-blue-100);
2
- @property st-global(--wds-color-blue-300);
3
- @property st-global(--wds-color-red-100);
4
- @property st-global(--wds-color-red-300);
5
- @property st-global(--wds-color-yellow-100);
6
- @property st-global(--wds-color-yellow-300);
7
- @property st-global(--wds-color-black-700);
1
+ /* Every border declaration below needs the same fallback chain WDS Input
2
+ itself uses. A `var()` with no fallback that resolves to nothing makes the
3
+ whole declaration invalid, and the element renders with no border at all —
4
+ which is what these editors did outside the theme that defines the
5
+ --wds-color-* palette. See CAIRO-4561. */
6
+ @property st-global(--wds-input-border-color);
7
+ @property st-global(--wds-input-border-color-focus);
8
8
  @property st-global(--wds-input-shadow-focus-standard);
9
- @property st-global(--wds-border-radius-300);
9
+ @property st-global(--wds-input-shadow-focus-destructive);
10
+ @property st-global(--wds-input-shadow-focus-warning);
11
+ @property st-global(--wds-input-border-radius-default-medium);
12
+ @property st-global(--wds-color-border-destructive-secondary-active);
13
+ @property st-global(--wds-color-border-warning-secondary-active);
14
+ @property st-global(--wsr-color-B10);
15
+ @property st-global(--wsr-color-B40);
16
+ @property st-global(--wsr-color-R10);
17
+ @property st-global(--wsr-color-R40);
18
+ @property st-global(--wsr-color-Y10);
19
+ @property st-global(--wsr-color-Y40);
20
+ @property st-global(--wsr-color-F00);
21
+ @property st-global(--wsr-border-radius-06);
22
+ @property st-global(--wds-color-black-700);
10
23
 
11
24
  /* Cannot import Editor from rich-editor.st.css - causes Stylable build error
12
25
  :import {
@@ -24,37 +37,37 @@
24
37
  box-sizing: border-box;
25
38
  outline: 0;
26
39
  overflow: hidden;
27
- border-radius: var(--wds-border-radius-300);
40
+ border-radius: var(--wds-input-border-radius-default-medium, var(--wsr-border-radius-06, 6px));
28
41
  }
29
42
 
30
43
  .root:border(none) {
31
44
  border: none;
32
45
  }
33
46
  .root:border(standard) {
34
- border: 1px solid var(--wds-color-blue-300);
47
+ border: 1px solid var(--wds-input-border-color, var(--wsr-color-B40, #D6E6FE));
35
48
  }
36
49
  .root:border(standard):focus,
37
50
  .root:border(standard):focus-within {
38
- border: 1px solid var(--wds-color-blue-100);
39
- box-shadow: var(--wds-input-shadow-focus-standard);
51
+ border: 1px solid var(--wds-input-border-color-focus, var(--wsr-color-B10, #116DFF));
52
+ box-shadow: var(--wds-input-shadow-focus-standard, 0 0 0 3px var(--wsr-color-F00, #A6D0FF));
40
53
  }
41
54
 
42
55
  .root:border(standard):status(error) {
43
- border: 1px solid var(--wds-color-red-100);
56
+ border: 1px solid var(--wds-color-border-destructive-secondary-active, var(--wsr-color-R10, #E62214));
44
57
  }
45
58
  .root:border(standard):status(error):focus,
46
59
  .root:border(standard):status(error):focus-within {
47
- border: 1px solid var(--wds-color-red-100);
48
- box-shadow: 0 0 0 3px var(--wds-color-red-300);
60
+ border: 1px solid var(--wds-color-border-destructive-secondary-active, var(--wsr-color-R10, #E62214));
61
+ box-shadow: var(--wds-input-shadow-focus-destructive, 0 0 0 3px var(--wsr-color-R40, #FBD0CD));
49
62
  }
50
63
 
51
64
  .root:border(standard):status(warning) {
52
- border: 1px solid var(--wds-color-yellow-100);
65
+ border: 1px solid var(--wds-color-border-warning-secondary-active, var(--wsr-color-Y10, #FFB700));
53
66
  }
54
67
  .root:border(standard):status(warning):focus,
55
68
  .root:border(standard):status(warning):focus-within {
56
- border: 1px solid var(--wds-color-yellow-100);
57
- box-shadow: 0 0 0 3px var(--wds-color-yellow-300);
69
+ border: 1px solid var(--wds-color-border-warning-secondary-active, var(--wsr-color-Y10, #FFB700));
70
+ box-shadow: var(--wds-input-shadow-focus-warning, 0 0 0 3px var(--wsr-color-Y40, #FFE2A5));
58
71
  }
59
72
 
60
73
  .nativeInput {
@@ -78,7 +91,7 @@
78
91
  overflow: hidden;
79
92
  box-sizing: border-box;
80
93
  flex-direction: row;
81
- border-radius: var(--wds-border-radius-300);
94
+ border-radius: var(--wds-input-border-radius-default-medium, var(--wsr-border-radius-06, 6px));
82
95
  }
83
96
  .editor:isFullScreen {
84
97
  max-width: 782px;
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richtexteditor316354853";
8
+ var _namespace_ = "richtexteditor4232484640";
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":"richtexteditor316354853__root","nativeInput":"richtexteditor316354853__nativeInput","editor":"richtexteditor316354853__editor"};
16
+ export var classes = {"root":"richtexteditor4232484640__root","nativeInput":"richtexteditor4232484640__nativeInput","editor":"richtexteditor4232484640__editor"};
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-blue-100":"--wds-color-blue-100","wds-color-blue-300":"--wds-color-blue-300","wds-color-red-100":"--wds-color-red-100","wds-color-red-300":"--wds-color-red-300","wds-color-yellow-100":"--wds-color-yellow-100","wds-color-yellow-300":"--wds-color-yellow-300","wds-color-black-700":"--wds-color-black-700","wds-input-shadow-focus-standard":"--wds-input-shadow-focus-standard","wds-border-radius-300":"--wds-border-radius-300"};
21
+ export var vars = {"wds-input-border-color":"--wds-input-border-color","wds-input-border-color-focus":"--wds-input-border-color-focus","wds-input-shadow-focus-standard":"--wds-input-shadow-focus-standard","wds-input-shadow-focus-destructive":"--wds-input-shadow-focus-destructive","wds-input-shadow-focus-warning":"--wds-input-shadow-focus-warning","wds-input-border-radius-default-medium":"--wds-input-border-radius-default-medium","wds-color-border-destructive-secondary-active":"--wds-color-border-destructive-secondary-active","wds-color-border-warning-secondary-active":"--wds-color-border-warning-secondary-active","wsr-color-B10":"--wsr-color-B10","wsr-color-B40":"--wsr-color-B40","wsr-color-R10":"--wsr-color-R10","wsr-color-R40":"--wsr-color-R40","wsr-color-Y10":"--wsr-color-Y10","wsr-color-Y40":"--wsr-color-Y40","wsr-color-F00":"--wsr-color-F00","wsr-border-radius-06":"--wsr-border-radius-06","wds-color-black-700":"--wds-color-black-700"};
22
22
 
23
23
 
24
24
 
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../../stylable-esm-runti
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "toolbar2015891380";
8
+ var _namespace_ = "toolbar541225243";
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":"toolbar2015891380__root","item":"toolbar2015891380__item","separator":"toolbar2015891380__separator","clearFormatting":"toolbar2015891380__clearFormatting","fullScreen":"toolbar2015891380__fullScreen","dropdownItemContent":"toolbar2015891380__dropdownItemContent","dropdownItemTitle":"toolbar2015891380__dropdownItemTitle","dropdownItemSubtitle":"toolbar2015891380__dropdownItemSubtitle","dropdownHeaderOne":"toolbar2015891380__dropdownHeaderOne","dropdownHeaderTwo":"toolbar2015891380__dropdownHeaderTwo","dropdownHeaderThree":"toolbar2015891380__dropdownHeaderThree","dropdownHeaderFour":"toolbar2015891380__dropdownHeaderFour","dropdownHeaderFive":"toolbar2015891380__dropdownHeaderFive","dropdownHeaderSix":"toolbar2015891380__dropdownHeaderSix","dropdownParagraphOne":"toolbar2015891380__dropdownParagraphOne","dropdownNormalText":"toolbar2015891380__dropdownNormalText","dropdownParagraphThree":"toolbar2015891380__dropdownParagraphThree"};
16
+ export var classes = {"root":"toolbar541225243__root","item":"toolbar541225243__item","separator":"toolbar541225243__separator","clearFormatting":"toolbar541225243__clearFormatting","fullScreen":"toolbar541225243__fullScreen","dropdownItemContent":"toolbar541225243__dropdownItemContent","dropdownItemTitle":"toolbar541225243__dropdownItemTitle","dropdownItemSubtitle":"toolbar541225243__dropdownItemSubtitle","dropdownHeaderOne":"toolbar541225243__dropdownHeaderOne","dropdownHeaderTwo":"toolbar541225243__dropdownHeaderTwo","dropdownHeaderThree":"toolbar541225243__dropdownHeaderThree","dropdownHeaderFour":"toolbar541225243__dropdownHeaderFour","dropdownHeaderFive":"toolbar541225243__dropdownHeaderFive","dropdownHeaderSix":"toolbar541225243__dropdownHeaderSix","dropdownParagraphOne":"toolbar541225243__dropdownParagraphOne","dropdownNormalText":"toolbar541225243__dropdownNormalText","dropdownParagraphThree":"toolbar541225243__dropdownParagraphThree"};
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_ = "textview1751545812";
8
+ var _namespace_ = "textview2294932004";
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":"textview1751545812__root","textView":"textview1751545812__textView"};
16
+ export var classes = {"root":"textview2294932004__root","textView":"textview2294932004__textView"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -6,7 +6,7 @@ import { useWixPatternsContainer } from '@wix/bex-core/react';
6
6
  import { useController } from '@wix/bex-core/form';
7
7
 
8
8
  import { BaseInputProps } from '../../types/base-input';
9
- import { useTranslations } from '../../hooks';
9
+ import { fieldRefHandle, useTranslations } from '../../hooks';
10
10
  import {
11
11
  isDataValidOrNotSet,
12
12
  timeValidation,
@@ -40,10 +40,16 @@ const _FormTime = (props: FormTimeProps) => {
40
40
 
41
41
  // TimeInput has no DOM ref to hand to field.ref, so bridge its imperative
42
42
  // focus() — lets react-hook-form's shouldFocusError scroll to this field
43
- // when it blocks save.
43
+ // when it blocks save. TimeInputImperativeActions has no select(), so the
44
+ // handle absorbs the calls react-hook-form makes beyond focus.
44
45
  const timeRef = useRef<TimeInputImperativeActions>(null);
45
46
  useEffect(() => {
46
- controller.field.ref({ focus: () => timeRef.current?.focus() });
47
+ controller.field.ref(
48
+ fieldRefHandle(
49
+ () => timeRef.current?.focus(),
50
+ () => timeRef.current,
51
+ ),
52
+ );
47
53
  // eslint-disable-next-line react-hooks/exhaustive-deps
48
54
  }, []);
49
55
 
@@ -22,7 +22,7 @@ import { observer } from 'mobx-react-lite';
22
22
  import { useIsMobile, useWixPatternsContainer } from '@wix/bex-core/react';
23
23
  import { useController } from '@wix/bex-core/form';
24
24
  import { BaseInputProps } from '../../types/base-input';
25
- import { useTranslations } from '../../hooks';
25
+ import { useFieldRef, useTranslations } from '../../hooks';
26
26
  import { isEmpty } from '../../validations/string';
27
27
  import { isDataValidOrNotSet } from '../../validations/validations';
28
28
  import * as videoValidation from '../../validations/video';
@@ -64,6 +64,8 @@ const _FormVideo = (props: FormVideoProps) => {
64
64
  },
65
65
  });
66
66
 
67
+ const setFieldRef = useFieldRef(controller.field.ref);
68
+
67
69
  async function openMedia() {
68
70
  if (!openMediaManager) return;
69
71
  try {
@@ -204,7 +206,7 @@ const _FormVideo = (props: FormVideoProps) => {
204
206
  <ImageViewer
205
207
  // Only the empty state can fail `required`, so the add button is
206
208
  // always the right target for react-hook-form's shouldFocusError.
207
- ref={controller.field.ref}
209
+ ref={setFieldRef}
208
210
  dataHook={`video-${field.id}`}
209
211
  onAddImage={isMobile ? undefined : () => openMedia()}
210
212
  addImageInfo={t('auto-patterns.fields.add_video_tooltip')}
@@ -7,3 +7,6 @@ export * from './use-translations';
7
7
  export * from './use-with-callback';
8
8
  export * from './use-resize-effect';
9
9
  export * from './use-cell-edit-keyboard';
10
+ export * from './use-field-ref';
11
+ export * from './use-merged-ref';
12
+ export * from './use-scroll-to-error-ref';