@wix/patterns-fields 1.36.0 → 1.37.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 (694) hide show
  1. package/dist/cjs/components/address/form-address.driver.js +17 -0
  2. package/dist/cjs/components/address/form-address.driver.js.map +1 -0
  3. package/dist/cjs/components/address/form-address.js +66 -0
  4. package/dist/cjs/components/address/form-address.js.map +1 -0
  5. package/dist/cjs/components/address/index.js +6 -0
  6. package/dist/cjs/components/address/index.js.map +1 -1
  7. package/dist/cjs/components/address/input/address-input.js +10 -2
  8. package/dist/cjs/components/address/input/address-input.js.map +1 -1
  9. package/dist/cjs/components/address/input/address-input.st.css.js +3 -3
  10. package/dist/cjs/components/address/input/address-input.st.css.js.map +1 -1
  11. package/dist/cjs/components/address/view/cell-address-view.js +49 -0
  12. package/dist/cjs/components/address/view/cell-address-view.js.map +1 -0
  13. package/dist/cjs/components/address/view/index.js +6 -0
  14. package/dist/cjs/components/address/view/index.js.map +1 -1
  15. package/dist/cjs/components/array/form-array.driver.js +18 -0
  16. package/dist/cjs/components/array/form-array.driver.js.map +1 -0
  17. package/dist/cjs/components/array/form-array.js +114 -0
  18. package/dist/cjs/components/array/form-array.js.map +1 -0
  19. package/dist/cjs/components/array/index.js +10 -0
  20. package/dist/cjs/components/array/index.js.map +1 -0
  21. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  22. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  23. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  24. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  25. package/dist/cjs/components/audio/audio-field/form-audio.driver.js +21 -0
  26. package/dist/cjs/components/audio/audio-field/form-audio.driver.js.map +1 -0
  27. package/dist/cjs/components/audio/audio-field/form-audio.js +65 -0
  28. package/dist/cjs/components/audio/audio-field/form-audio.js.map +1 -0
  29. package/dist/cjs/components/audio/audio-field/index.js +6 -0
  30. package/dist/cjs/components/audio/audio-field/index.js.map +1 -1
  31. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js +2 -2
  32. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  33. package/dist/cjs/components/boolean/form-checkbox.driver.js +1 -1
  34. package/dist/cjs/components/boolean/form-checkbox.driver.js.map +1 -1
  35. package/dist/cjs/components/color-view/color-view.st.css.js +4 -4
  36. package/dist/cjs/components/color-view/color-view.st.css.js.map +1 -1
  37. package/dist/cjs/components/color-view/form-color.driver.js +22 -0
  38. package/dist/cjs/components/color-view/form-color.driver.js.map +1 -0
  39. package/dist/cjs/components/color-view/form-color.js +51 -0
  40. package/dist/cjs/components/color-view/form-color.js.map +1 -0
  41. package/dist/cjs/components/color-view/index.js +6 -0
  42. package/dist/cjs/components/color-view/index.js.map +1 -1
  43. package/dist/cjs/components/date-input/date-utils.js +13 -0
  44. package/dist/cjs/components/date-input/date-utils.js.map +1 -0
  45. package/dist/cjs/components/date-input/form-date-input.driver.js +22 -0
  46. package/dist/cjs/components/date-input/form-date-input.driver.js.map +1 -0
  47. package/dist/cjs/components/date-input/form-date-input.js +113 -0
  48. package/dist/cjs/components/date-input/form-date-input.js.map +1 -0
  49. package/dist/cjs/components/date-input/index.js +10 -0
  50. package/dist/cjs/components/date-input/index.js.map +1 -0
  51. package/dist/cjs/components/datetime-input/form-date-time.driver.js +31 -0
  52. package/dist/cjs/components/datetime-input/form-date-time.driver.js.map +1 -0
  53. package/dist/cjs/components/datetime-input/form-date-time.js +211 -0
  54. package/dist/cjs/components/datetime-input/form-date-time.js.map +1 -0
  55. package/dist/cjs/components/datetime-input/index.js +10 -0
  56. package/dist/cjs/components/datetime-input/index.js.map +1 -0
  57. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js +3 -3
  58. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  59. package/dist/cjs/components/document/form-document-field.st.css.js +7 -7
  60. package/dist/cjs/components/document/form-document-field.st.css.js.map +1 -1
  61. package/dist/cjs/components/document/form-document.driver.js +19 -0
  62. package/dist/cjs/components/document/form-document.driver.js.map +1 -0
  63. package/dist/cjs/components/document/form-document.js +65 -0
  64. package/dist/cjs/components/document/form-document.js.map +1 -0
  65. package/dist/cjs/components/email/form-email.driver.js +22 -0
  66. package/dist/cjs/components/email/form-email.driver.js.map +1 -0
  67. package/dist/cjs/components/email/form-email.js +77 -0
  68. package/dist/cjs/components/email/form-email.js.map +1 -0
  69. package/dist/cjs/components/email/index.js +6 -0
  70. package/dist/cjs/components/email/index.js.map +1 -1
  71. package/dist/cjs/components/exclamation/exclamation.st.css.js +5 -5
  72. package/dist/cjs/components/exclamation/exclamation.st.css.js.map +1 -1
  73. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js +5 -5
  74. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  75. package/dist/cjs/components/image/form-image-input.driver.js +24 -0
  76. package/dist/cjs/components/image/form-image-input.driver.js.map +1 -0
  77. package/dist/cjs/components/image/form-image-input.js +101 -0
  78. package/dist/cjs/components/image/form-image-input.js.map +1 -0
  79. package/dist/cjs/components/image/image-view-field.js +58 -0
  80. package/dist/cjs/components/image/image-view-field.js.map +1 -0
  81. package/dist/cjs/components/image/index.js +12 -0
  82. package/dist/cjs/components/image/index.js.map +1 -1
  83. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js +3 -3
  84. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js.map +1 -1
  85. package/dist/cjs/components/index.js +24 -0
  86. package/dist/cjs/components/index.js.map +1 -1
  87. package/dist/cjs/components/{object → json-input}/form-json-input.js +1 -1
  88. package/dist/cjs/components/json-input/form-json-input.js.map +1 -0
  89. package/dist/cjs/components/json-input/index.js +16 -0
  90. package/dist/cjs/components/json-input/index.js.map +1 -0
  91. package/dist/cjs/components/{object → json-input}/json-input.js +1 -1
  92. package/dist/cjs/components/json-input/json-input.js.map +1 -0
  93. package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  94. package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js.map +1 -1
  95. package/dist/cjs/components/media-control/paste-url-button.st.css.js +4 -4
  96. package/dist/cjs/components/media-control/paste-url-button.st.css.js.map +1 -1
  97. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
  98. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  99. package/dist/cjs/components/media-gallery/form-media-gallery.driver.js +23 -0
  100. package/dist/cjs/components/media-gallery/form-media-gallery.driver.js.map +1 -0
  101. package/dist/cjs/components/media-gallery/form-media-gallery.js +69 -0
  102. package/dist/cjs/components/media-gallery/form-media-gallery.js.map +1 -0
  103. package/dist/cjs/components/media-image/media-image.st.css.js +4 -4
  104. package/dist/cjs/components/media-image/media-image.st.css.js.map +1 -1
  105. package/dist/cjs/components/media-image/overlays/overlay.st.css.js +3 -3
  106. package/dist/cjs/components/media-image/overlays/overlay.st.css.js.map +1 -1
  107. package/dist/cjs/components/media-loader/media-loader.st.css.js +3 -3
  108. package/dist/cjs/components/media-loader/media-loader.st.css.js.map +1 -1
  109. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  110. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  111. package/dist/cjs/components/multi-document/index.js +3 -1
  112. package/dist/cjs/components/multi-document/index.js.map +1 -1
  113. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.driver.js +19 -0
  114. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.driver.js.map +1 -0
  115. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.js +64 -0
  116. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.js.map +1 -0
  117. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  118. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  119. package/dist/cjs/components/number-input/form-number.driver.js +1 -1
  120. package/dist/cjs/components/number-input/form-number.driver.js.map +1 -1
  121. package/dist/cjs/components/number-input/form-number.js +4 -3
  122. package/dist/cjs/components/number-input/form-number.js.map +1 -1
  123. package/dist/cjs/components/object/form-object.driver.js +18 -0
  124. package/dist/cjs/components/object/form-object.driver.js.map +1 -0
  125. package/dist/cjs/components/object/form-object.js +95 -0
  126. package/dist/cjs/components/object/form-object.js.map +1 -0
  127. package/dist/cjs/components/object/index.js +4 -10
  128. package/dist/cjs/components/object/index.js.map +1 -1
  129. package/dist/cjs/components/reference/cell-reference-input.st.css.js +3 -3
  130. package/dist/cjs/components/reference/cell-reference-input.st.css.js.map +1 -1
  131. package/dist/cjs/components/rich-content/form-rich-content.driver.js +18 -0
  132. package/dist/cjs/components/rich-content/form-rich-content.driver.js.map +1 -0
  133. package/dist/cjs/components/rich-content/form-rich-content.js +101 -0
  134. package/dist/cjs/components/rich-content/form-rich-content.js.map +1 -0
  135. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +4 -4
  136. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  137. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +3 -3
  138. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  139. package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  140. 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
  141. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  142. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  143. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  144. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  145. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  146. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  147. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +7 -7
  148. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  149. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  150. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  151. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  152. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  153. package/dist/cjs/components/rich-text/form-rich-text.driver.js +18 -0
  154. package/dist/cjs/components/rich-text/form-rich-text.driver.js.map +1 -0
  155. package/dist/cjs/components/rich-text/form-rich-text.js +93 -0
  156. package/dist/cjs/components/rich-text/form-rich-text.js.map +1 -0
  157. package/dist/cjs/components/rich-text/index.js +6 -0
  158. package/dist/cjs/components/rich-text/index.js.map +1 -1
  159. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  160. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  161. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  162. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  163. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  164. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  165. package/dist/cjs/components/text/form-long-text.driver.js +2 -2
  166. package/dist/cjs/components/text/form-long-text.driver.js.map +1 -1
  167. package/dist/cjs/components/text/form-short-text.driver.js +2 -2
  168. package/dist/cjs/components/text/form-short-text.driver.js.map +1 -1
  169. package/dist/cjs/components/text/text-view.st.css.js +3 -3
  170. package/dist/cjs/components/text/text-view.st.css.js.map +1 -1
  171. package/dist/cjs/components/time-input/form-time.driver.js +18 -0
  172. package/dist/cjs/components/time-input/form-time.driver.js.map +1 -0
  173. package/dist/cjs/components/time-input/form-time.js +92 -0
  174. package/dist/cjs/components/time-input/form-time.js.map +1 -0
  175. package/dist/cjs/components/time-input/index.js +6 -0
  176. package/dist/cjs/components/time-input/index.js.map +1 -1
  177. package/dist/cjs/components/url/form-url.driver.js +2 -2
  178. package/dist/cjs/components/url/form-url.driver.js.map +1 -1
  179. package/dist/cjs/components/video/form-video.driver.js +40 -0
  180. package/dist/cjs/components/video/form-video.driver.js.map +1 -0
  181. package/dist/cjs/components/video/form-video.js +364 -0
  182. package/dist/cjs/components/video/form-video.js.map +1 -0
  183. package/dist/cjs/components/video/index.js +7 -1
  184. package/dist/cjs/components/video/index.js.map +1 -1
  185. package/dist/cjs/components/video/use-video-preview.js +71 -0
  186. package/dist/cjs/components/video/use-video-preview.js.map +1 -0
  187. package/dist/cjs/components/video/video-view-field.js +205 -0
  188. package/dist/cjs/components/video/video-view-field.js.map +1 -0
  189. package/dist/cjs/exports/form-document-field.js +3 -1
  190. package/dist/cjs/exports/form-document-field.js.map +1 -1
  191. package/dist/cjs/exports/form-media-gallery-field.js +3 -1
  192. package/dist/cjs/exports/form-media-gallery-field.js.map +1 -1
  193. package/dist/cjs/exports/form-rich-content-input.js +3 -1
  194. package/dist/cjs/exports/form-rich-content-input.js.map +1 -1
  195. package/dist/cjs/styles.global.css +1 -1
  196. package/dist/cjs/testkit/base-driver.js +5 -0
  197. package/dist/cjs/testkit/base-driver.js.map +1 -1
  198. package/dist/cjs/testkit/patterns-fields-test-provider.js +6 -3
  199. package/dist/cjs/testkit/patterns-fields-test-provider.js.map +1 -1
  200. package/dist/cjs/utils/get-image-url.js +25 -0
  201. package/dist/cjs/utils/get-image-url.js.map +1 -0
  202. package/dist/cjs/utils/media-constants.js +19 -0
  203. package/dist/cjs/utils/media-constants.js.map +1 -0
  204. package/dist/cjs/validations/array.js +4 -1
  205. package/dist/cjs/validations/array.js.map +1 -1
  206. package/dist/cjs/validations/string.js +2 -1
  207. package/dist/cjs/validations/string.js.map +1 -1
  208. package/dist/cjs/validations/value.js +7 -0
  209. package/dist/cjs/validations/value.js.map +1 -0
  210. package/dist/esm/components/address/form-address.driver.js +13 -0
  211. package/dist/esm/components/address/form-address.driver.js.map +1 -0
  212. package/dist/esm/components/address/form-address.js +28 -0
  213. package/dist/esm/components/address/form-address.js.map +1 -0
  214. package/dist/esm/components/address/index.js +1 -0
  215. package/dist/esm/components/address/index.js.map +1 -1
  216. package/dist/esm/components/address/input/address-input.js +8 -1
  217. package/dist/esm/components/address/input/address-input.js.map +1 -1
  218. package/dist/esm/components/address/input/address-input.st.css.js +2 -2
  219. package/dist/esm/components/address/view/cell-address-view.js +12 -0
  220. package/dist/esm/components/address/view/cell-address-view.js.map +1 -0
  221. package/dist/esm/components/address/view/index.js +1 -0
  222. package/dist/esm/components/address/view/index.js.map +1 -1
  223. package/dist/esm/components/array/form-array.driver.js +14 -0
  224. package/dist/esm/components/array/form-array.driver.js.map +1 -0
  225. package/dist/esm/components/array/form-array.js +48 -0
  226. package/dist/esm/components/array/form-array.js.map +1 -0
  227. package/dist/esm/components/array/index.js +2 -0
  228. package/dist/esm/components/array/index.js.map +1 -0
  229. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
  230. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  231. package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js +2 -2
  232. package/dist/esm/components/audio/audio-field/form-audio.driver.js +17 -0
  233. package/dist/esm/components/audio/audio-field/form-audio.driver.js.map +1 -0
  234. package/dist/esm/components/audio/audio-field/form-audio.js +28 -0
  235. package/dist/esm/components/audio/audio-field/form-audio.js.map +1 -0
  236. package/dist/esm/components/audio/audio-field/index.js +1 -0
  237. package/dist/esm/components/audio/audio-field/index.js.map +1 -1
  238. package/dist/esm/components/audio/audio-player/audio-player.st.css.js +2 -2
  239. package/dist/esm/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  240. package/dist/esm/components/boolean/form-checkbox.driver.js +1 -1
  241. package/dist/esm/components/boolean/form-checkbox.driver.js.map +1 -1
  242. package/dist/esm/components/color-view/color-view.st.css.js +2 -2
  243. package/dist/esm/components/color-view/color-view.st.css.js.map +1 -1
  244. package/dist/esm/components/color-view/form-color.driver.js +18 -0
  245. package/dist/esm/components/color-view/form-color.driver.js.map +1 -0
  246. package/dist/esm/components/color-view/form-color.js +17 -0
  247. package/dist/esm/components/color-view/form-color.js.map +1 -0
  248. package/dist/esm/components/color-view/index.js +1 -0
  249. package/dist/esm/components/color-view/index.js.map +1 -1
  250. package/dist/esm/components/date-input/date-utils.js +9 -0
  251. package/dist/esm/components/date-input/date-utils.js.map +1 -0
  252. package/dist/esm/components/date-input/form-date-input.driver.js +18 -0
  253. package/dist/esm/components/date-input/form-date-input.driver.js.map +1 -0
  254. package/dist/esm/components/date-input/form-date-input.js +66 -0
  255. package/dist/esm/components/date-input/form-date-input.js.map +1 -0
  256. package/dist/esm/components/date-input/index.js +2 -0
  257. package/dist/esm/components/date-input/index.js.map +1 -0
  258. package/dist/esm/components/datetime-input/form-date-time.driver.js +27 -0
  259. package/dist/esm/components/datetime-input/form-date-time.driver.js.map +1 -0
  260. package/dist/esm/components/datetime-input/form-date-time.js +141 -0
  261. package/dist/esm/components/datetime-input/form-date-time.js.map +1 -0
  262. package/dist/esm/components/datetime-input/index.js +2 -0
  263. package/dist/esm/components/datetime-input/index.js.map +1 -0
  264. package/dist/esm/components/delete-dialog/delete-dialog.st.css.js +2 -2
  265. package/dist/esm/components/document/form-document-field.st.css.js +2 -2
  266. package/dist/esm/components/document/form-document-field.st.css.js.map +1 -1
  267. package/dist/esm/components/document/form-document.driver.js +15 -0
  268. package/dist/esm/components/document/form-document.driver.js.map +1 -0
  269. package/dist/esm/components/document/form-document.js +28 -0
  270. package/dist/esm/components/document/form-document.js.map +1 -0
  271. package/dist/esm/components/email/form-email.driver.js +18 -0
  272. package/dist/esm/components/email/form-email.driver.js.map +1 -0
  273. package/dist/esm/components/email/form-email.js +36 -0
  274. package/dist/esm/components/email/form-email.js.map +1 -0
  275. package/dist/esm/components/email/index.js +1 -0
  276. package/dist/esm/components/email/index.js.map +1 -1
  277. package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
  278. package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
  279. package/dist/esm/components/image/form-image-input.driver.js +20 -0
  280. package/dist/esm/components/image/form-image-input.driver.js.map +1 -0
  281. package/dist/esm/components/image/form-image-input.js +48 -0
  282. package/dist/esm/components/image/form-image-input.js.map +1 -0
  283. package/dist/esm/components/image/image-view-field.js +19 -0
  284. package/dist/esm/components/image/image-view-field.js.map +1 -0
  285. package/dist/esm/components/image/index.js +2 -0
  286. package/dist/esm/components/image/index.js.map +1 -1
  287. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js +2 -2
  288. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js.map +1 -1
  289. package/dist/esm/components/index.js +4 -0
  290. package/dist/esm/components/index.js.map +1 -1
  291. package/dist/esm/components/json-input/form-json-input.js.map +1 -0
  292. package/dist/esm/components/json-input/index.js +3 -0
  293. package/dist/esm/components/json-input/index.js.map +1 -0
  294. package/dist/esm/components/json-input/json-input.js.map +1 -0
  295. package/dist/esm/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  296. package/dist/esm/components/media-control/paste-url-button.st.css.js +2 -2
  297. package/dist/esm/components/media-control/paste-url-button.st.css.js.map +1 -1
  298. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js +2 -2
  299. package/dist/esm/components/media-gallery/form-media-gallery.driver.js +19 -0
  300. package/dist/esm/components/media-gallery/form-media-gallery.driver.js.map +1 -0
  301. package/dist/esm/components/media-gallery/form-media-gallery.js +28 -0
  302. package/dist/esm/components/media-gallery/form-media-gallery.js.map +1 -0
  303. package/dist/esm/components/media-image/media-image.st.css.js +3 -3
  304. package/dist/esm/components/media-image/media-image.st.css.js.map +1 -1
  305. package/dist/esm/components/media-image/overlays/overlay.st.css.js +2 -2
  306. package/dist/esm/components/media-loader/media-loader.st.css.js +2 -2
  307. package/dist/esm/components/media-loader/media-loader.st.css.js.map +1 -1
  308. package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  309. package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  310. package/dist/esm/components/multi-document/index.js +1 -0
  311. package/dist/esm/components/multi-document/index.js.map +1 -1
  312. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.driver.js +15 -0
  313. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.driver.js.map +1 -0
  314. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.js +28 -0
  315. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.js.map +1 -0
  316. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js +2 -2
  317. package/dist/esm/components/number-input/form-number.driver.js +1 -1
  318. package/dist/esm/components/number-input/form-number.driver.js.map +1 -1
  319. package/dist/esm/components/number-input/form-number.js +2 -2
  320. package/dist/esm/components/number-input/form-number.js.map +1 -1
  321. package/dist/esm/components/object/form-object.driver.js +14 -0
  322. package/dist/esm/components/object/form-object.driver.js.map +1 -0
  323. package/dist/esm/components/object/form-object.js +34 -0
  324. package/dist/esm/components/object/form-object.js.map +1 -0
  325. package/dist/esm/components/object/index.js +1 -2
  326. package/dist/esm/components/object/index.js.map +1 -1
  327. package/dist/esm/components/reference/cell-reference-input.st.css.js +2 -2
  328. package/dist/esm/components/rich-content/form-rich-content.driver.js +14 -0
  329. package/dist/esm/components/rich-content/form-rich-content.driver.js.map +1 -0
  330. package/dist/esm/components/rich-content/form-rich-content.js +37 -0
  331. package/dist/esm/components/rich-content/form-rich-content.js.map +1 -0
  332. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +2 -2
  333. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  334. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +2 -2
  335. package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  336. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
  337. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  338. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
  339. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  340. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  341. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  342. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +2 -2
  343. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  344. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +2 -2
  345. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  346. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +2 -2
  347. package/dist/esm/components/rich-text/form-rich-text.driver.js +14 -0
  348. package/dist/esm/components/rich-text/form-rich-text.driver.js.map +1 -0
  349. package/dist/esm/components/rich-text/form-rich-text.js +34 -0
  350. package/dist/esm/components/rich-text/form-rich-text.js.map +1 -0
  351. package/dist/esm/components/rich-text/index.js +1 -0
  352. package/dist/esm/components/rich-text/index.js.map +1 -1
  353. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +2 -2
  354. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  355. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +2 -2
  356. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  357. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +2 -2
  358. package/dist/esm/components/text/form-long-text.driver.js +2 -2
  359. package/dist/esm/components/text/form-long-text.driver.js.map +1 -1
  360. package/dist/esm/components/text/form-short-text.driver.js +2 -2
  361. package/dist/esm/components/text/form-short-text.driver.js.map +1 -1
  362. package/dist/esm/components/text/text-view.st.css.js +2 -2
  363. package/dist/esm/components/text/text-view.st.css.js.map +1 -1
  364. package/dist/esm/components/time-input/form-time.driver.js +14 -0
  365. package/dist/esm/components/time-input/form-time.driver.js.map +1 -0
  366. package/dist/esm/components/time-input/form-time.js +34 -0
  367. package/dist/esm/components/time-input/form-time.js.map +1 -0
  368. package/dist/esm/components/time-input/index.js +1 -0
  369. package/dist/esm/components/time-input/index.js.map +1 -1
  370. package/dist/esm/components/url/form-url.driver.js +2 -2
  371. package/dist/esm/components/url/form-url.driver.js.map +1 -1
  372. package/dist/esm/components/video/form-video.driver.js +36 -0
  373. package/dist/esm/components/video/form-video.driver.js.map +1 -0
  374. package/dist/esm/components/video/form-video.js +80 -0
  375. package/dist/esm/components/video/form-video.js.map +1 -0
  376. package/dist/esm/components/video/index.js +3 -0
  377. package/dist/esm/components/video/index.js.map +1 -1
  378. package/dist/esm/components/video/use-video-preview.js +71 -0
  379. package/dist/esm/components/video/use-video-preview.js.map +1 -0
  380. package/dist/esm/components/video/video-view-field.js +36 -0
  381. package/dist/esm/components/video/video-view-field.js.map +1 -0
  382. package/dist/esm/exports/form-document-field.js +1 -0
  383. package/dist/esm/exports/form-document-field.js.map +1 -1
  384. package/dist/esm/exports/form-media-gallery-field.js +1 -0
  385. package/dist/esm/exports/form-media-gallery-field.js.map +1 -1
  386. package/dist/esm/exports/form-rich-content-input.js +1 -0
  387. package/dist/esm/exports/form-rich-content-input.js.map +1 -1
  388. package/dist/esm/styles.global.css +1 -1
  389. package/dist/esm/testkit/base-driver.js +4 -0
  390. package/dist/esm/testkit/base-driver.js.map +1 -1
  391. package/dist/esm/testkit/patterns-fields-test-provider.js +1 -0
  392. package/dist/esm/testkit/patterns-fields-test-provider.js.map +1 -1
  393. package/dist/esm/utils/get-image-url.js +20 -0
  394. package/dist/esm/utils/get-image-url.js.map +1 -0
  395. package/dist/esm/utils/media-constants.js +12 -0
  396. package/dist/esm/utils/media-constants.js.map +1 -0
  397. package/dist/esm/validations/array.js +2 -0
  398. package/dist/esm/validations/array.js.map +1 -1
  399. package/dist/esm/validations/string.js +2 -1
  400. package/dist/esm/validations/string.js.map +1 -1
  401. package/dist/esm/validations/value.js +2 -0
  402. package/dist/esm/validations/value.js.map +1 -0
  403. package/dist/types/components/address/form-address.d.ts +9 -0
  404. package/dist/types/components/address/form-address.d.ts.map +1 -0
  405. package/dist/types/components/address/form-address.driver.d.ts +18 -0
  406. package/dist/types/components/address/form-address.driver.d.ts.map +1 -0
  407. package/dist/types/components/address/index.d.ts +1 -0
  408. package/dist/types/components/address/index.d.ts.map +1 -1
  409. package/dist/types/components/address/input/address-input.d.ts +8 -0
  410. package/dist/types/components/address/input/address-input.d.ts.map +1 -1
  411. package/dist/types/components/address/view/cell-address-view.d.ts +7 -0
  412. package/dist/types/components/address/view/cell-address-view.d.ts.map +1 -0
  413. package/dist/types/components/address/view/index.d.ts +1 -0
  414. package/dist/types/components/address/view/index.d.ts.map +1 -1
  415. package/dist/types/components/array/form-array.d.ts +8 -0
  416. package/dist/types/components/array/form-array.d.ts.map +1 -0
  417. package/dist/types/components/array/form-array.driver.d.ts +19 -0
  418. package/dist/types/components/array/form-array.driver.d.ts.map +1 -0
  419. package/dist/types/components/array/index.d.ts +2 -0
  420. package/dist/types/components/array/index.d.ts.map +1 -0
  421. package/dist/types/components/audio/actions/actions-menu/actions-menu.st.css.d.ts.map +1 -1
  422. package/dist/types/components/audio/audio-field/form-audio.d.ts +8 -0
  423. package/dist/types/components/audio/audio-field/form-audio.d.ts.map +1 -0
  424. package/dist/types/components/audio/audio-field/form-audio.driver.d.ts +22 -0
  425. package/dist/types/components/audio/audio-field/form-audio.driver.d.ts.map +1 -0
  426. package/dist/types/components/audio/audio-field/index.d.ts +1 -0
  427. package/dist/types/components/audio/audio-field/index.d.ts.map +1 -1
  428. package/dist/types/components/audio/audio-player/audio-player.st.css.d.ts.map +1 -1
  429. package/dist/types/components/boolean/form-checkbox.driver.d.ts +2 -1
  430. package/dist/types/components/boolean/form-checkbox.driver.d.ts.map +1 -1
  431. package/dist/types/components/color-view/color-view.st.css.d.ts.map +1 -1
  432. package/dist/types/components/color-view/form-color.d.ts +8 -0
  433. package/dist/types/components/color-view/form-color.d.ts.map +1 -0
  434. package/dist/types/components/color-view/form-color.driver.d.ts +35 -0
  435. package/dist/types/components/color-view/form-color.driver.d.ts.map +1 -0
  436. package/dist/types/components/color-view/index.d.ts +1 -0
  437. package/dist/types/components/color-view/index.d.ts.map +1 -1
  438. package/dist/types/components/date-input/date-utils.d.ts +3 -0
  439. package/dist/types/components/date-input/date-utils.d.ts.map +1 -0
  440. package/dist/types/components/date-input/form-date-input.d.ts +8 -0
  441. package/dist/types/components/date-input/form-date-input.d.ts.map +1 -0
  442. package/dist/types/components/date-input/form-date-input.driver.d.ts +22 -0
  443. package/dist/types/components/date-input/form-date-input.driver.d.ts.map +1 -0
  444. package/dist/types/components/date-input/index.d.ts +2 -0
  445. package/dist/types/components/date-input/index.d.ts.map +1 -0
  446. package/dist/types/components/datetime-input/form-date-time.d.ts +8 -0
  447. package/dist/types/components/datetime-input/form-date-time.d.ts.map +1 -0
  448. package/dist/types/components/datetime-input/form-date-time.driver.d.ts +25 -0
  449. package/dist/types/components/datetime-input/form-date-time.driver.d.ts.map +1 -0
  450. package/dist/types/components/datetime-input/index.d.ts +2 -0
  451. package/dist/types/components/datetime-input/index.d.ts.map +1 -0
  452. package/dist/types/components/document/form-document-field.st.css.d.ts.map +1 -1
  453. package/dist/types/components/document/form-document.d.ts +8 -0
  454. package/dist/types/components/document/form-document.d.ts.map +1 -0
  455. package/dist/types/components/document/form-document.driver.d.ts +20 -0
  456. package/dist/types/components/document/form-document.driver.d.ts.map +1 -0
  457. package/dist/types/components/email/form-email.d.ts +8 -0
  458. package/dist/types/components/email/form-email.d.ts.map +1 -0
  459. package/dist/types/components/email/form-email.driver.d.ts +21 -0
  460. package/dist/types/components/email/form-email.driver.d.ts.map +1 -0
  461. package/dist/types/components/email/index.d.ts +1 -0
  462. package/dist/types/components/email/index.d.ts.map +1 -1
  463. package/dist/types/components/image/form-image-input.d.ts +8 -0
  464. package/dist/types/components/image/form-image-input.d.ts.map +1 -0
  465. package/dist/types/components/image/form-image-input.driver.d.ts +21 -0
  466. package/dist/types/components/image/form-image-input.driver.d.ts.map +1 -0
  467. package/dist/types/components/image/image-view-field.d.ts +8 -0
  468. package/dist/types/components/image/image-view-field.d.ts.map +1 -0
  469. package/dist/types/components/image/index.d.ts +2 -0
  470. package/dist/types/components/image/index.d.ts.map +1 -1
  471. package/dist/types/components/image/thumbnail-replace-overlay.st.css.d.ts.map +1 -1
  472. package/dist/types/components/index.d.ts +4 -0
  473. package/dist/types/components/index.d.ts.map +1 -1
  474. package/dist/types/components/json-input/form-json-input.d.ts.map +1 -0
  475. package/dist/types/components/json-input/index.d.ts +3 -0
  476. package/dist/types/components/json-input/index.d.ts.map +1 -0
  477. package/dist/types/components/json-input/json-input.d.ts.map +1 -0
  478. package/dist/types/components/media-control/paste-url-button.st.css.d.ts.map +1 -1
  479. package/dist/types/components/media-gallery/form-media-gallery.d.ts +10 -0
  480. package/dist/types/components/media-gallery/form-media-gallery.d.ts.map +1 -0
  481. package/dist/types/components/media-gallery/form-media-gallery.driver.d.ts +50 -0
  482. package/dist/types/components/media-gallery/form-media-gallery.driver.d.ts.map +1 -0
  483. package/dist/types/components/media-image/media-image.st.css.d.ts.map +1 -1
  484. package/dist/types/components/media-loader/media-loader.st.css.d.ts.map +1 -1
  485. package/dist/types/components/media-tag/web-media-tag/media-tag.st.css.d.ts.map +1 -1
  486. package/dist/types/components/multi-document/index.d.ts +1 -0
  487. package/dist/types/components/multi-document/index.d.ts.map +1 -1
  488. package/dist/types/components/multi-document/multi-document-input/form-multi-document.d.ts +8 -0
  489. package/dist/types/components/multi-document/multi-document-input/form-multi-document.d.ts.map +1 -0
  490. package/dist/types/components/multi-document/multi-document-input/form-multi-document.driver.d.ts +20 -0
  491. package/dist/types/components/multi-document/multi-document-input/form-multi-document.driver.d.ts.map +1 -0
  492. package/dist/types/components/number-input/form-number.d.ts.map +1 -1
  493. package/dist/types/components/number-input/form-number.driver.d.ts +2 -1
  494. package/dist/types/components/number-input/form-number.driver.d.ts.map +1 -1
  495. package/dist/types/components/object/form-object.d.ts +8 -0
  496. package/dist/types/components/object/form-object.d.ts.map +1 -0
  497. package/dist/types/components/object/form-object.driver.d.ts +19 -0
  498. package/dist/types/components/object/form-object.driver.d.ts.map +1 -0
  499. package/dist/types/components/object/index.d.ts +1 -2
  500. package/dist/types/components/object/index.d.ts.map +1 -1
  501. package/dist/types/components/rich-content/form-rich-content.d.ts +9 -0
  502. package/dist/types/components/rich-content/form-rich-content.d.ts.map +1 -0
  503. package/dist/types/components/rich-content/form-rich-content.driver.d.ts +19 -0
  504. package/dist/types/components/rich-content/form-rich-content.driver.d.ts.map +1 -0
  505. package/dist/types/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.d.ts.map +1 -1
  506. package/dist/types/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.d.ts.map +1 -1
  507. package/dist/types/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.d.ts.map +1 -1
  508. package/dist/types/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.d.ts.map +1 -1
  509. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.d.ts.map +1 -1
  510. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.d.ts.map +1 -1
  511. package/dist/types/components/rich-text/form-rich-text.d.ts +8 -0
  512. package/dist/types/components/rich-text/form-rich-text.d.ts.map +1 -0
  513. package/dist/types/components/rich-text/form-rich-text.driver.d.ts +19 -0
  514. package/dist/types/components/rich-text/form-rich-text.driver.d.ts.map +1 -0
  515. package/dist/types/components/rich-text/index.d.ts +1 -0
  516. package/dist/types/components/rich-text/index.d.ts.map +1 -1
  517. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.d.ts.map +1 -1
  518. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.d.ts.map +1 -1
  519. package/dist/types/components/text/form-long-text.driver.d.ts +2 -1
  520. package/dist/types/components/text/form-long-text.driver.d.ts.map +1 -1
  521. package/dist/types/components/text/form-short-text.driver.d.ts +2 -1
  522. package/dist/types/components/text/form-short-text.driver.d.ts.map +1 -1
  523. package/dist/types/components/text/text-view.st.css.d.ts.map +1 -1
  524. package/dist/types/components/time-input/form-time.d.ts +8 -0
  525. package/dist/types/components/time-input/form-time.d.ts.map +1 -0
  526. package/dist/types/components/time-input/form-time.driver.d.ts +19 -0
  527. package/dist/types/components/time-input/form-time.driver.d.ts.map +1 -0
  528. package/dist/types/components/time-input/index.d.ts +1 -0
  529. package/dist/types/components/time-input/index.d.ts.map +1 -1
  530. package/dist/types/components/url/form-url.driver.d.ts +2 -1
  531. package/dist/types/components/url/form-url.driver.d.ts.map +1 -1
  532. package/dist/types/components/video/form-video.d.ts +8 -0
  533. package/dist/types/components/video/form-video.d.ts.map +1 -0
  534. package/dist/types/components/video/form-video.driver.d.ts +32 -0
  535. package/dist/types/components/video/form-video.driver.d.ts.map +1 -0
  536. package/dist/types/components/video/index.d.ts +6 -0
  537. package/dist/types/components/video/index.d.ts.map +1 -1
  538. package/dist/types/components/video/use-video-preview.d.ts +12 -0
  539. package/dist/types/components/video/use-video-preview.d.ts.map +1 -0
  540. package/dist/types/components/video/video-view-field.d.ts +8 -0
  541. package/dist/types/components/video/video-view-field.d.ts.map +1 -0
  542. package/dist/types/exports/form-document-field.d.ts +1 -0
  543. package/dist/types/exports/form-document-field.d.ts.map +1 -1
  544. package/dist/types/exports/form-media-gallery-field.d.ts +2 -0
  545. package/dist/types/exports/form-media-gallery-field.d.ts.map +1 -1
  546. package/dist/types/exports/form-rich-content-input.d.ts +2 -0
  547. package/dist/types/exports/form-rich-content-input.d.ts.map +1 -1
  548. package/dist/types/testkit/base-driver.d.ts +3 -0
  549. package/dist/types/testkit/base-driver.d.ts.map +1 -1
  550. package/dist/types/testkit/patterns-fields-test-provider.d.ts.map +1 -1
  551. package/dist/types/utils/get-image-url.d.ts +3 -0
  552. package/dist/types/utils/get-image-url.d.ts.map +1 -0
  553. package/dist/types/utils/media-constants.d.ts +12 -0
  554. package/dist/types/utils/media-constants.d.ts.map +1 -0
  555. package/dist/types/validations/array.d.ts +1 -0
  556. package/dist/types/validations/array.d.ts.map +1 -1
  557. package/dist/types/validations/string.d.ts.map +1 -1
  558. package/dist/types/validations/value.d.ts +2 -0
  559. package/dist/types/validations/value.d.ts.map +1 -0
  560. package/package.json +5 -5
  561. package/src/__tests__/components/address/form-address.spec.tsx +48 -0
  562. package/src/__tests__/components/array/form-array.spec.tsx +61 -0
  563. package/src/__tests__/components/audio/form-audio.spec.tsx +63 -0
  564. package/src/__tests__/components/color-view/form-color.spec.tsx +49 -0
  565. package/src/__tests__/components/date-input/form-date-input.spec.tsx +43 -0
  566. package/src/__tests__/components/datetime-input/form-date-time.spec.tsx +61 -0
  567. package/src/__tests__/components/document/form-document.spec.tsx +54 -0
  568. package/src/__tests__/components/email/form-email.spec.tsx +85 -0
  569. package/src/__tests__/components/image/form-image-input.spec.tsx +65 -0
  570. package/src/__tests__/components/image/image-view-field.spec.tsx +55 -0
  571. package/src/__tests__/components/media-gallery/form-media-gallery.spec.tsx +74 -0
  572. package/src/__tests__/components/multi-document/form-multi-document.spec.tsx +60 -0
  573. package/src/__tests__/components/object/form-object.spec.tsx +61 -0
  574. package/src/__tests__/components/rich-content/form-rich-content.spec.tsx +80 -0
  575. package/src/__tests__/components/rich-text/form-rich-text.spec.tsx +79 -0
  576. package/src/__tests__/components/time-input/form-time.spec.tsx +61 -0
  577. package/src/__tests__/components/video/form-video.spec.tsx +84 -0
  578. package/src/__tests__/components/video/video-view-field.spec.tsx +52 -0
  579. package/src/__tests__/form-field.driver.tsx +36 -9
  580. package/src/components/address/form-address.driver.ts +19 -0
  581. package/src/components/address/form-address.tsx +53 -0
  582. package/src/components/address/index.ts +1 -0
  583. package/src/components/address/input/address-input.st.css.ts +2 -2
  584. package/src/components/address/input/address-input.tsx +16 -0
  585. package/src/components/address/view/cell-address-view.tsx +29 -0
  586. package/src/components/address/view/index.ts +1 -1
  587. package/src/components/array/form-array.driver.ts +20 -0
  588. package/src/components/array/form-array.tsx +100 -0
  589. package/src/components/array/index.ts +1 -0
  590. package/src/components/audio/actions/actions-menu/actions-menu.st.css.ts +2 -2
  591. package/src/components/audio/audio-field/form-audio-field.st.css.ts +2 -2
  592. package/src/components/audio/audio-field/form-audio.driver.ts +29 -0
  593. package/src/components/audio/audio-field/form-audio.tsx +51 -0
  594. package/src/components/audio/audio-field/index.ts +1 -0
  595. package/src/components/audio/audio-player/audio-player.st.css.ts +2 -2
  596. package/src/components/boolean/form-checkbox.driver.ts +6 -1
  597. package/src/components/color-view/color-view.st.css.ts +2 -2
  598. package/src/components/color-view/form-color.driver.ts +34 -0
  599. package/src/components/color-view/form-color.tsx +38 -0
  600. package/src/components/color-view/index.ts +1 -0
  601. package/src/components/date-input/date-utils.ts +10 -0
  602. package/src/components/date-input/form-date-input.driver.ts +32 -0
  603. package/src/components/date-input/form-date-input.tsx +102 -0
  604. package/src/components/date-input/index.ts +1 -0
  605. package/src/components/datetime-input/form-date-time.driver.ts +42 -0
  606. package/src/components/datetime-input/form-date-time.tsx +203 -0
  607. package/src/components/datetime-input/index.ts +1 -0
  608. package/src/components/delete-dialog/delete-dialog.st.css.ts +2 -2
  609. package/src/components/document/form-document-field.st.css.ts +2 -2
  610. package/src/components/document/form-document.driver.ts +26 -0
  611. package/src/components/document/form-document.tsx +51 -0
  612. package/src/components/email/form-email.driver.ts +27 -0
  613. package/src/components/email/form-email.tsx +58 -0
  614. package/src/components/email/index.ts +1 -0
  615. package/src/components/exclamation/exclamation.st.css.ts +2 -2
  616. package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
  617. package/src/components/image/form-image-input.driver.ts +31 -0
  618. package/src/components/image/form-image-input.tsx +83 -0
  619. package/src/components/image/image-view-field.tsx +48 -0
  620. package/src/components/image/index.ts +2 -0
  621. package/src/components/image/thumbnail-replace-overlay.st.css.ts +2 -2
  622. package/src/components/index.ts +4 -0
  623. package/src/components/json-input/index.ts +2 -0
  624. package/src/components/media-control/cell-media-edit-shell.st.css.ts +2 -2
  625. package/src/components/media-control/paste-url-button.st.css.ts +2 -2
  626. package/src/components/media-gallery/form-media-gallery-field.st.css.ts +2 -2
  627. package/src/components/media-gallery/form-media-gallery.driver.ts +30 -0
  628. package/src/components/media-gallery/form-media-gallery.tsx +55 -0
  629. package/src/components/media-image/media-image.st.css.ts +3 -3
  630. package/src/components/media-image/overlays/overlay.st.css.ts +2 -2
  631. package/src/components/media-loader/media-loader.st.css.ts +2 -2
  632. package/src/components/media-tag/web-media-tag/media-tag.st.css.ts +2 -2
  633. package/src/components/multi-document/index.ts +1 -0
  634. package/src/components/multi-document/multi-document-input/form-multi-document.driver.ts +26 -0
  635. package/src/components/multi-document/multi-document-input/form-multi-document.st.css.ts +2 -2
  636. package/src/components/multi-document/multi-document-input/form-multi-document.tsx +50 -0
  637. package/src/components/number-input/form-number.driver.ts +6 -1
  638. package/src/components/number-input/form-number.tsx +2 -4
  639. package/src/components/object/form-object.driver.ts +20 -0
  640. package/src/components/object/form-object.tsx +85 -0
  641. package/src/components/object/index.ts +1 -2
  642. package/src/components/reference/cell-reference-input.st.css.ts +2 -2
  643. package/src/components/rich-content/form-rich-content.driver.ts +20 -0
  644. package/src/components/rich-content/form-rich-content.tsx +94 -0
  645. package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.ts +2 -2
  646. package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.ts +2 -2
  647. package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.ts +2 -2
  648. package/src/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.ts +2 -2
  649. package/src/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.ts +2 -2
  650. package/src/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.ts +2 -2
  651. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts +2 -2
  652. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts +2 -2
  653. package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts +2 -2
  654. package/src/components/rich-text/form-rich-text.driver.ts +20 -0
  655. package/src/components/rich-text/form-rich-text.tsx +82 -0
  656. package/src/components/rich-text/index.ts +1 -0
  657. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts +2 -2
  658. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts +2 -2
  659. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts +2 -2
  660. package/src/components/text/form-long-text.driver.ts +7 -2
  661. package/src/components/text/form-short-text.driver.ts +7 -2
  662. package/src/components/text/text-view.st.css.ts +2 -2
  663. package/src/components/time-input/form-time.driver.ts +20 -0
  664. package/src/components/time-input/form-time.tsx +82 -0
  665. package/src/components/time-input/index.ts +1 -0
  666. package/src/components/url/form-url.driver.ts +3 -2
  667. package/src/components/video/form-video.driver.ts +48 -0
  668. package/src/components/video/form-video.tsx +244 -0
  669. package/src/components/video/index.ts +6 -0
  670. package/src/components/video/use-video-preview.ts +78 -0
  671. package/src/components/video/video-view-field.tsx +127 -0
  672. package/src/exports/form-document-field.ts +1 -0
  673. package/src/exports/form-media-gallery-field.ts +2 -0
  674. package/src/exports/form-rich-content-input.ts +2 -0
  675. package/src/styles.global.css +1 -1
  676. package/src/testkit/base-driver.ts +7 -0
  677. package/src/testkit/patterns-fields-test-provider.tsx +1 -0
  678. package/src/utils/get-image-url.ts +22 -0
  679. package/src/utils/media-constants.ts +14 -0
  680. package/src/validations/array.ts +6 -0
  681. package/src/validations/string.ts +3 -1
  682. package/src/validations/value.ts +2 -0
  683. package/dist/cjs/components/object/form-json-input.js.map +0 -1
  684. package/dist/cjs/components/object/json-input.js.map +0 -1
  685. package/dist/esm/components/object/form-json-input.js.map +0 -1
  686. package/dist/esm/components/object/json-input.js.map +0 -1
  687. package/dist/types/components/object/form-json-input.d.ts.map +0 -1
  688. package/dist/types/components/object/json-input.d.ts.map +0 -1
  689. /package/dist/esm/components/{object → json-input}/form-json-input.js +0 -0
  690. /package/dist/esm/components/{object → json-input}/json-input.js +0 -0
  691. /package/dist/types/components/{object → json-input}/form-json-input.d.ts +0 -0
  692. /package/dist/types/components/{object → json-input}/json-input.d.ts +0 -0
  693. /package/src/components/{object → json-input}/form-json-input.tsx +0 -0
  694. /package/src/components/{object → json-input}/json-input.tsx +0 -0
@@ -1,2 +1,3 @@
1
+ export { FormDocument } from '../components/document/form-document';
1
2
  export { FormDocumentField } from '../components/document/form-document-field';
2
3
  //# sourceMappingURL=form-document-field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-document-field.d.ts","sourceRoot":"","sources":["../../../src/exports/form-document-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC"}
1
+ {"version":3,"file":"form-document-field.d.ts","sourceRoot":"","sources":["../../../src/exports/form-document-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC"}
@@ -1,2 +1,4 @@
1
1
  export { FormMediaGalleryField } from '../components/media-gallery/form-media-gallery-field';
2
+ export { FormMediaGallery } from '../components/media-gallery/form-media-gallery';
3
+ export type { FormMediaGalleryProps } from '../components/media-gallery/form-media-gallery';
2
4
  //# sourceMappingURL=form-media-gallery-field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-media-gallery-field.d.ts","sourceRoot":"","sources":["../../../src/exports/form-media-gallery-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC"}
1
+ {"version":3,"file":"form-media-gallery-field.d.ts","sourceRoot":"","sources":["../../../src/exports/form-media-gallery-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,YAAY,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC"}
@@ -1,2 +1,4 @@
1
1
  export { FormRichContentInput } from '../components/rich-content/rich-content-input/form-input/form-input';
2
+ export { FormRichContent } from '../components/rich-content/form-rich-content';
3
+ export type { FormRichContentProps } from '../components/rich-content/form-rich-content';
2
4
  //# sourceMappingURL=form-rich-content-input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-rich-content-input.d.ts","sourceRoot":"","sources":["../../../src/exports/form-rich-content-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qEAAqE,CAAC"}
1
+ {"version":3,"file":"form-rich-content-input.d.ts","sourceRoot":"","sources":["../../../src/exports/form-rich-content-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qEAAqE,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,YAAY,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC"}
@@ -11,4 +11,7 @@ export declare function baseUniDriverFactory(base: UniDriver): {
11
11
  timeBudget?: number | undefined;
12
12
  }, any>;
13
13
  };
14
+ export declare function getFormFieldLabelText(formField: {
15
+ getLabel: () => Promise<HTMLElement | null>;
16
+ }): Promise<string>;
14
17
  //# sourceMappingURL=base-driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-driver.d.ts","sourceRoot":"","sources":["../../../src/testkit/base-driver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAG7D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS;;;;;;;;;;;EAQnD"}
1
+ {"version":3,"file":"base-driver.d.ts","sourceRoot":"","sources":["../../../src/testkit/base-driver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAG7D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS;;;;;;;;;;;EAQnD;AAED,wBAAsB,qBAAqB,CAAC,SAAS,EAAE;IACrD,QAAQ,EAAE,MAAM,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC7C,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"patterns-fields-test-provider.d.ts","sourceRoot":"","sources":["../../../src/testkit/patterns-fields-test-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAyB1B,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAM9C,CAAC"}
1
+ {"version":3,"file":"patterns-fields-test-provider.d.ts","sourceRoot":"","sources":["../../../src/testkit/patterns-fields-test-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AA0B1B,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAM9C,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const getImageUrl: (image: string | undefined | null) => string | undefined;
2
+ export declare function isAbsoluteUrl(url: string): boolean;
3
+ //# sourceMappingURL=get-image-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-image-url.d.ts","sourceRoot":"","sources":["../../../src/utils/get-image-url.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,UAAW,MAAM,GAAG,SAAS,GAAG,IAAI,uBAU3D,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOlD"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Shared media dimension constants for consistent sizing across form fields.
3
+ * These values ensure media thumbnails maintain a consistent appearance
4
+ * in entity page forms, matching CMS-WEB behavior.
5
+ */
6
+ /** Height for media thumbnails in form fields */
7
+ export declare const MEDIA_HEIGHT = "120px";
8
+ /** Maximum width for media thumbnails to prevent oversized display */
9
+ export declare const MEDIA_MAX_WIDTH = "240px";
10
+ /** Border radius for media thumbnails in view mode */
11
+ export declare const MEDIA_BORDER_RADIUS = "8px";
12
+ //# sourceMappingURL=media-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-constants.d.ts","sourceRoot":"","sources":["../../../src/utils/media-constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iDAAiD;AACjD,eAAO,MAAM,YAAY,UAAU,CAAC;AAEpC,sEAAsE;AACtE,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC,sDAAsD;AACtD,eAAO,MAAM,mBAAmB,QAAQ,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export declare const isValid: (data: any) => data is any[];
2
+ export declare const isEmpty: (value: readonly unknown[] | null | undefined) => boolean;
2
3
  export declare const hardConvert: (data: any) => any;
3
4
  //# sourceMappingURL=array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/validations/array.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,SAAU,GAAG,kBAEhC,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,GAAG,QAgBpC,CAAC"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/validations/array.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,SAAU,GAAG,kBAEhC,CAAC;AAEF,eAAO,MAAM,OAAO,UACX,SAAS,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,KAC3C,OAAoD,CAAC;AAExD,eAAO,MAAM,WAAW,SAAU,GAAG,QAgBpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../src/validations/string.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAW,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,OACJ,CAAC;AAExD,eAAO,MAAM,aAAa,UAAW,MAAM,OAAO,MAAM,KAAG,OACvC,CAAC;AAErB,eAAO,MAAM,YAAY,UAAW,MAAM,OAAO,MAAM,KAAG,OACtC,CAAC"}
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../src/validations/string.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,UAAW,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,OACtB,CAAC;AAEtC,eAAO,MAAM,aAAa,UAAW,MAAM,OAAO,MAAM,KAAG,OACvC,CAAC;AAErB,eAAO,MAAM,YAAY,UAAW,MAAM,OAAO,MAAM,KAAG,OACtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const isEmpty: (value: unknown) => value is null | undefined;
2
+ //# sourceMappingURL=value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../src/validations/value.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAW,OAAO,8BACC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/patterns-fields",
3
- "version": "1.36.0",
3
+ "version": "1.37.0",
4
4
  "license": "UNLICENSED",
5
5
  "author": {
6
6
  "name": "Kobi",
@@ -112,9 +112,10 @@
112
112
  "@wix/atlas": "^1.0.35",
113
113
  "@wix/data": "^1.0.323",
114
114
  "@wix/media": "^1.0.231",
115
- "@wix/patterns-fields-utils": "1.17.0",
115
+ "@wix/patterns-fields-utils": "1.18.0",
116
116
  "@wix/rich-content": "1.0.37",
117
117
  "@wix/ricos": "^10.155.2",
118
+ "@wix/sdk": "^1.17.2",
118
119
  "@wix/wix-ui-icons-common": "^3.100.0",
119
120
  "color": "^2.0.1",
120
121
  "draft-js": "^0.11.7",
@@ -139,11 +140,10 @@
139
140
  "@types/jest": "^27.5.2",
140
141
  "@types/lodash": "^4.17.20",
141
142
  "@types/react": "^16.14.68",
142
- "@wix/bex-core": "2.314.0",
143
+ "@wix/bex-core": "2.315.0",
143
144
  "@wix/design-system": "^1.271.0",
144
145
  "@wix/eslint-config-yoshi": "^6.74.0",
145
146
  "@wix/jest-yoshi-preset": "^6.74.0",
146
- "@wix/sdk": "^1.17.2",
147
147
  "@wix/wix-data-items-common": "^1.0.270",
148
148
  "@wix/wix-ui-test-utils": "^1.3.3",
149
149
  "@wix/yoshi-flow-library": "^6.74.0",
@@ -193,5 +193,5 @@
193
193
  "type": "yoshi-flow-library"
194
194
  }
195
195
  },
196
- "falconPackageHash": "ba209c34e73bc90996cc51de45ecf6e8d5edc1835fec31c21599ec1d"
196
+ "falconPackageHash": "47a42828cc3c43ec2df4b07f0900e0df3477c90dcedf6ca585afded2"
197
197
  }
@@ -0,0 +1,48 @@
1
+ import '../../../testkit/test-polyfills';
2
+
3
+ import type { Field } from '@wix/bex-core';
4
+
5
+ import { FormAddress } from '../../../components/address/form-address';
6
+ import { FormAddressDriver } from '../../../components/address/form-address.driver';
7
+ import { FormFieldDriver, makeField } from '../../form-field.driver';
8
+
9
+ const setup = (overrides: { field?: Field; initialValue?: any } = {}) => {
10
+ const driver = new FormFieldDriver({
11
+ Component: FormAddress,
12
+ UniDriverFactory: FormAddressDriver,
13
+ dataHook: (f) => `address-field-${f.id}`,
14
+ field: overrides.field ?? makeField({ type: 'ADDRESS' }),
15
+ initialValue: overrides.initialValue,
16
+ });
17
+ driver.render();
18
+ return driver;
19
+ };
20
+
21
+ describe('FormAddress field', () => {
22
+ it('renders the field displayName as the label', async () => {
23
+ const driver = setup();
24
+
25
+ expect(await driver.tk.getLabel()).toBe(driver.field.displayName);
26
+ });
27
+
28
+ it('marks the field as required when validation.required is true', async () => {
29
+ const driver = setup({
30
+ field: makeField({ type: 'ADDRESS', validation: { required: true } }),
31
+ });
32
+
33
+ expect(await driver.tk.isRequired()).toBe(true);
34
+ });
35
+
36
+ it('shows a required-field error after the form is submitted with no value', async () => {
37
+ const driver = setup({
38
+ field: makeField({ type: 'ADDRESS', validation: { required: true } }),
39
+ });
40
+
41
+ await driver.submit();
42
+
43
+ expect(await driver.tk.hasError()).toBe(true);
44
+ expect(await driver.tk.getErrorMessage()).toBe(
45
+ 'cairo.fieldValidation.requiredField',
46
+ );
47
+ });
48
+ });
@@ -0,0 +1,61 @@
1
+ import '../../../testkit/test-polyfills';
2
+
3
+ import type { Field } from '@wix/bex-core';
4
+
5
+ import { FormArray } from '../../../components/array/form-array';
6
+ import { FormArrayDriver } from '../../../components/array/form-array.driver';
7
+ import { FormFieldDriver, makeField } from '../../form-field.driver';
8
+
9
+ const setup = (overrides: { field?: Field; initialValue?: any } = {}) => {
10
+ const driver = new FormFieldDriver({
11
+ Component: FormArray,
12
+ UniDriverFactory: FormArrayDriver,
13
+ dataHook: (f) => `array-field-${f.id}`,
14
+ field: overrides.field ?? makeField({ type: 'ARRAY' }),
15
+ initialValue: overrides.initialValue ?? ['a', 'b', 'c'],
16
+ });
17
+ driver.render();
18
+ return driver;
19
+ };
20
+
21
+ describe('FormArray field', () => {
22
+ it('renders the field displayName as the label', async () => {
23
+ const driver = setup();
24
+
25
+ expect(await driver.tk.getLabel()).toBe(driver.field.displayName);
26
+ });
27
+
28
+ it('marks the field as required when validation.required is true', async () => {
29
+ const driver = setup({
30
+ field: makeField({ type: 'ARRAY', validation: { required: true } }),
31
+ });
32
+
33
+ expect(await driver.tk.isRequired()).toBe(true);
34
+ });
35
+
36
+ it('does not show a type-mismatch suffix for a valid array value', async () => {
37
+ const driver = setup({ initialValue: ['a', 'b', 'c'] });
38
+
39
+ expect(await driver.tk.hasSuffix()).toBe(false);
40
+ });
41
+
42
+ it('shows a type-mismatch suffix when value is not a valid array', async () => {
43
+ const driver = setup({ initialValue: 'invalid json' });
44
+
45
+ expect(await driver.tk.hasSuffix()).toBe(true);
46
+ });
47
+
48
+ it('shows a required-field error after the form is submitted with no value', async () => {
49
+ const driver = setup({
50
+ field: makeField({ type: 'ARRAY', validation: { required: true } }),
51
+ initialValue: '',
52
+ });
53
+
54
+ await driver.submit();
55
+
56
+ expect(await driver.tk.hasError()).toBe(true);
57
+ expect(await driver.tk.getErrorMessage()).toBe(
58
+ 'cairo.fieldValidation.requiredField',
59
+ );
60
+ });
61
+ });
@@ -0,0 +1,63 @@
1
+ import '../../../testkit/test-polyfills';
2
+
3
+ import type { Field } from '@wix/bex-core';
4
+
5
+ import { FormAudio } from '../../../components/audio/audio-field/form-audio';
6
+ import { FormAudioDriver } from '../../../components/audio/audio-field/form-audio.driver';
7
+ import { FormFieldDriver, makeField } from '../../form-field.driver';
8
+
9
+ const setup = (overrides: { field?: Field; initialValue?: string } = {}) => {
10
+ const driver = new FormFieldDriver({
11
+ Component: FormAudio,
12
+ UniDriverFactory: FormAudioDriver,
13
+ dataHook: (f) => `audio-field-${f.id}`,
14
+ field: overrides.field ?? makeField({ type: 'AUDIO' }),
15
+ initialValue: overrides.initialValue ?? '',
16
+ });
17
+ driver.render();
18
+ return driver;
19
+ };
20
+
21
+ describe('FormAudio field', () => {
22
+ it('renders the field displayName as the label', async () => {
23
+ const driver = setup();
24
+
25
+ expect(await driver.tk.getLabel()).toBe(driver.field.displayName);
26
+ });
27
+
28
+ it('renders the empty state when no audio is set', async () => {
29
+ const driver = setup();
30
+
31
+ expect(await driver.tk.audioFieldExists()).toBe(true);
32
+ });
33
+
34
+ it('renders the audio name and player when audio is set', async () => {
35
+ const driver = setup({
36
+ initialValue: 'wix:audio://v1/abc123.mp3/my-song.mp3',
37
+ });
38
+
39
+ expect(await driver.tk.getAudioName()).toBe('my-song.mp3');
40
+ expect(await driver.tk.audioPlayerExists()).toBe(true);
41
+ });
42
+
43
+ it('marks the field as required when validation.required is true', async () => {
44
+ const driver = setup({
45
+ field: makeField({ type: 'AUDIO', validation: { required: true } }),
46
+ });
47
+
48
+ expect(await driver.tk.isRequired()).toBe(true);
49
+ });
50
+
51
+ it('shows a required-field error after the form is submitted with no value', async () => {
52
+ const driver = setup({
53
+ field: makeField({ type: 'AUDIO', validation: { required: true } }),
54
+ });
55
+
56
+ await driver.submit();
57
+
58
+ expect(await driver.tk.hasError()).toBe(true);
59
+ expect(await driver.tk.getErrorMessage()).toBe(
60
+ 'cairo.fieldValidation.requiredField',
61
+ );
62
+ });
63
+ });
@@ -0,0 +1,49 @@
1
+ import '../../../testkit/test-polyfills';
2
+
3
+ import { FormColor } from '../../../components/color-view/form-color';
4
+ import { FormColorDriver } from '../../../components/color-view/form-color.driver';
5
+ import { FormFieldDriver, makeField } from '../../form-field.driver';
6
+
7
+ const setup = (initialValue: string) => {
8
+ const driver = new FormFieldDriver({
9
+ Component: FormColor,
10
+ UniDriverFactory: FormColorDriver,
11
+ dataHook: (f) => `color-field-${f.id}`,
12
+ field: makeField({ type: 'COLOR' }),
13
+ initialValue,
14
+ });
15
+ driver.render();
16
+ return driver;
17
+ };
18
+
19
+ describe('FormColor field', () => {
20
+ it('renders the field displayName as the label', async () => {
21
+ const driver = setup('');
22
+
23
+ expect(await driver.tk.getLabel()).toBe(driver.field.displayName);
24
+ });
25
+
26
+ it('shows the initial hex value with the hash omitted', async () => {
27
+ const driver = setup('#FF5733');
28
+
29
+ expect(await driver.tk.getValue()).toBe('FF5733');
30
+ });
31
+
32
+ it('shows an empty value when no color is set', async () => {
33
+ const driver = setup('');
34
+
35
+ expect(await driver.tk.getValue()).toBe('');
36
+ });
37
+
38
+ it('renders the FillButton when no color is set', async () => {
39
+ const driver = setup('');
40
+
41
+ expect(await driver.tk.getFillButton().exists()).toBe(true);
42
+ });
43
+
44
+ it('renders the FillPreview when a color is set', async () => {
45
+ const driver = setup('#FF5733');
46
+
47
+ expect(await driver.tk.getFillPreview().exists()).toBe(true);
48
+ });
49
+ });
@@ -0,0 +1,43 @@
1
+ import '../../../testkit/test-polyfills';
2
+
3
+ import type { Field } from '@wix/bex-core';
4
+
5
+ import { FormDateInput } from '../../../components/date-input/form-date-input';
6
+ import { FormDateInputDriver } from '../../../components/date-input/form-date-input.driver';
7
+ import { FormFieldDriver, makeField } from '../../form-field.driver';
8
+
9
+ const setup = (
10
+ overrides: { field?: Field; initialValue?: string | null } = {},
11
+ ) => {
12
+ const driver = new FormFieldDriver({
13
+ Component: FormDateInput,
14
+ UniDriverFactory: FormDateInputDriver,
15
+ dataHook: (f) => `date-field-${f.id}`,
16
+ field: overrides.field ?? makeField({ type: 'DATE' }),
17
+ initialValue: overrides.initialValue ?? null,
18
+ });
19
+ driver.render();
20
+ return driver;
21
+ };
22
+
23
+ describe('FormDateInput field', () => {
24
+ it('renders the field displayName as the label', async () => {
25
+ const driver = setup();
26
+
27
+ expect(await driver.tk.getLabel()).toBe(driver.field.displayName);
28
+ });
29
+
30
+ it('renders the date picker', async () => {
31
+ const driver = setup();
32
+
33
+ expect(await driver.tk.datePickerExists()).toBe(true);
34
+ });
35
+
36
+ it('marks the field as required when validation.required is true', async () => {
37
+ const driver = setup({
38
+ field: makeField({ type: 'DATE', validation: { required: true } }),
39
+ });
40
+
41
+ expect(await driver.tk.isRequired()).toBe(true);
42
+ });
43
+ });
@@ -0,0 +1,61 @@
1
+ import '../../../testkit/test-polyfills';
2
+
3
+ import type { Field } from '@wix/bex-core';
4
+
5
+ import { FormDateTime } from '../../../components/datetime-input/form-date-time';
6
+ import { FormDateTimeDriver } from '../../../components/datetime-input/form-date-time.driver';
7
+ import { FormFieldDriver, makeField } from '../../form-field.driver';
8
+
9
+ const setup = (
10
+ overrides: { field?: Field; initialValue?: string | null } = {},
11
+ ) => {
12
+ const driver = new FormFieldDriver({
13
+ Component: FormDateTime,
14
+ UniDriverFactory: FormDateTimeDriver,
15
+ dataHook: (f) => `datetime-field-${f.id}`,
16
+ field: overrides.field ?? makeField({ type: 'DATETIME' }),
17
+ initialValue: overrides.initialValue ?? null,
18
+ });
19
+ driver.render();
20
+ return driver;
21
+ };
22
+
23
+ describe('FormDateTime field', () => {
24
+ it('renders the field displayName as the label', async () => {
25
+ const driver = setup();
26
+
27
+ expect(await driver.tk.getLabel()).toBe(driver.field.displayName);
28
+ });
29
+
30
+ it('renders both the date and time inputs', async () => {
31
+ const driver = setup();
32
+
33
+ expect(await driver.tk.dateExists()).toBe(true);
34
+ expect(await driver.tk.timeExists()).toBe(true);
35
+ });
36
+
37
+ it('marks the field as required when validation.required is true', async () => {
38
+ const driver = setup({
39
+ field: makeField({ type: 'DATETIME', validation: { required: true } }),
40
+ });
41
+
42
+ expect(await driver.tk.isRequired()).toBe(true);
43
+ });
44
+
45
+ it('shows a required-field error on both inputs after the form is submitted with no value', async () => {
46
+ const driver = setup({
47
+ field: makeField({ type: 'DATETIME', validation: { required: true } }),
48
+ });
49
+
50
+ await driver.submit();
51
+
52
+ expect(await driver.tk.dateHasError()).toBe(true);
53
+ expect(await driver.tk.getDateErrorMessage()).toBe(
54
+ 'cairo.fieldValidation.requiredField',
55
+ );
56
+ expect(await driver.tk.timeHasError()).toBe(true);
57
+ expect(await driver.tk.getTimeErrorMessage()).toBe(
58
+ 'cairo.fieldValidation.requiredField',
59
+ );
60
+ });
61
+ });
@@ -0,0 +1,54 @@
1
+ import '../../../testkit/test-polyfills';
2
+
3
+ import type { Field } from '@wix/bex-core';
4
+
5
+ import { FormDocument } from '../../../components/document/form-document';
6
+ import { FormDocumentDriver } from '../../../components/document/form-document.driver';
7
+ import { FormFieldDriver, makeField } from '../../form-field.driver';
8
+
9
+ const setup = (overrides: { field?: Field; initialValue?: string } = {}) => {
10
+ const driver = new FormFieldDriver({
11
+ Component: FormDocument,
12
+ UniDriverFactory: FormDocumentDriver,
13
+ dataHook: (f) => `document-field-${f.id}`,
14
+ field: overrides.field ?? makeField({ type: 'DOCUMENT' }),
15
+ initialValue: overrides.initialValue ?? '',
16
+ });
17
+ driver.render();
18
+ return driver;
19
+ };
20
+
21
+ describe('FormDocument field', () => {
22
+ it('renders the field displayName as the label', async () => {
23
+ const driver = setup();
24
+
25
+ expect(await driver.tk.getLabel()).toBe(driver.field.displayName);
26
+ });
27
+
28
+ it('renders the document field when no document is set', async () => {
29
+ const driver = setup();
30
+
31
+ expect(await driver.tk.documentFieldExists()).toBe(true);
32
+ });
33
+
34
+ it('marks the field as required when validation.required is true', async () => {
35
+ const driver = setup({
36
+ field: makeField({ type: 'DOCUMENT', validation: { required: true } }),
37
+ });
38
+
39
+ expect(await driver.tk.isRequired()).toBe(true);
40
+ });
41
+
42
+ it('shows a required-field error after the form is submitted with no value', async () => {
43
+ const driver = setup({
44
+ field: makeField({ type: 'DOCUMENT', validation: { required: true } }),
45
+ });
46
+
47
+ await driver.submit();
48
+
49
+ expect(await driver.tk.hasError()).toBe(true);
50
+ expect(await driver.tk.getErrorMessage()).toBe(
51
+ 'cairo.fieldValidation.requiredField',
52
+ );
53
+ });
54
+ });
@@ -0,0 +1,85 @@
1
+ import '../../../testkit/test-polyfills';
2
+
3
+ import type { Field } from '@wix/bex-core';
4
+
5
+ import { FormEmail } from '../../../components/email/form-email';
6
+ import { FormEmailDriver } from '../../../components/email/form-email.driver';
7
+ import { FormFieldDriver, makeField } from '../../form-field.driver';
8
+
9
+ const setup = (overrides: { field?: Field; initialValue?: string } = {}) => {
10
+ const driver = new FormFieldDriver({
11
+ Component: FormEmail,
12
+ UniDriverFactory: FormEmailDriver,
13
+ dataHook: (f) => `email-field-${f.id}`,
14
+ field: overrides.field ?? makeField({ type: 'EMAIL' }),
15
+ initialValue: overrides.initialValue ?? '',
16
+ });
17
+ driver.render();
18
+ return driver;
19
+ };
20
+
21
+ describe('FormEmail field', () => {
22
+ it('renders the field displayName as the label', async () => {
23
+ const driver = setup();
24
+
25
+ expect(await driver.tk.getLabel()).toBe(driver.field.displayName);
26
+ });
27
+
28
+ it('shows the initial value from data', async () => {
29
+ const driver = setup({ initialValue: 'test@example.com' });
30
+
31
+ expect(await driver.tk.getValue()).toBe('test@example.com');
32
+ });
33
+
34
+ it('updates the displayed value as the user types', async () => {
35
+ const driver = setup();
36
+
37
+ await driver.tk.enterText('hello@wix.com');
38
+
39
+ expect(await driver.tk.getValue()).toBe('hello@wix.com');
40
+ });
41
+
42
+ it('marks the field as required when validation.required is true', async () => {
43
+ const driver = setup({
44
+ field: makeField({ type: 'EMAIL', validation: { required: true } }),
45
+ });
46
+
47
+ expect(await driver.tk.isRequired()).toBe(true);
48
+ });
49
+
50
+ it('accepts a valid email without showing an error', async () => {
51
+ const driver = setup();
52
+
53
+ await driver.tk.enterText('user@example.com');
54
+
55
+ expect(await driver.tk.hasError()).toBe(false);
56
+ });
57
+
58
+ it('shows an invalid-email error when the value is not a valid email', async () => {
59
+ const driver = setup({
60
+ field: makeField({ type: 'EMAIL', validation: { required: true } }),
61
+ initialValue: 'user@example.com',
62
+ });
63
+
64
+ await driver.tk.enterText('not-an-email');
65
+
66
+ expect(await driver.tk.hasError()).toBe(true);
67
+ expect(await driver.tk.getErrorMessage()).toBe(
68
+ 'auto-patterns.fields.email_input_error',
69
+ );
70
+ });
71
+
72
+ it('shows a required error when the user clears a required field', async () => {
73
+ const driver = setup({
74
+ field: makeField({ type: 'EMAIL', validation: { required: true } }),
75
+ initialValue: 'user@example.com',
76
+ });
77
+
78
+ await driver.tk.enterText('');
79
+
80
+ expect(await driver.tk.hasError()).toBe(true);
81
+ expect(await driver.tk.getErrorMessage()).toBe(
82
+ 'cairo.fieldValidation.requiredField',
83
+ );
84
+ });
85
+ });