@wix/auto-patterns 1.49.0 → 1.51.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 (266) hide show
  1. package/dist/cjs/assets/locale/messages_en.json +68 -1
  2. package/dist/cjs/cms-fields/auto-cms-field-types/index.js +3 -1
  3. package/dist/cjs/cms-fields/auto-cms-field-types/index.js.map +1 -1
  4. package/dist/cjs/cms-fields/auto-cms-field-types/media-manager.js +24 -21
  5. package/dist/cjs/cms-fields/auto-cms-field-types/media-manager.js.map +1 -1
  6. package/dist/cjs/cms-fields/auto-cms-field-types/media-types.js.map +1 -1
  7. package/dist/cjs/cms-fields/components/address/input/address-input.st.css.js +3 -3
  8. package/dist/cjs/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
  9. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  10. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  11. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  12. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  13. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js +2 -2
  14. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  15. package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
  16. package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  17. package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js +7 -7
  18. package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
  19. package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
  20. package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
  21. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js +5 -5
  22. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  23. package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
  24. package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
  25. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.js +275 -0
  26. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.js.map +1 -0
  27. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.st.css +51 -0
  28. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js +30 -0
  29. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -0
  30. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.js +14 -0
  31. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.js.map +1 -0
  32. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-items-preview.js +134 -0
  33. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-items-preview.js.map +1 -0
  34. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/add-link-modal.js +172 -0
  35. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/add-link-modal.js.map +1 -0
  36. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/add-media-button.js +50 -0
  37. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/add-media-button.js.map +1 -0
  38. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/content-keys.js +44 -0
  39. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/content-keys.js.map +1 -0
  40. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/hooks.js +89 -0
  41. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/hooks.js.map +1 -0
  42. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/item-actions.js +61 -0
  43. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/item-actions.js.map +1 -0
  44. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.js +181 -0
  45. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.js.map +1 -0
  46. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.js +71 -0
  47. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.js.map +1 -0
  48. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/types.js +4 -0
  49. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/types.js.map +1 -0
  50. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.js +24 -0
  51. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.js.map +1 -0
  52. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/utils.js +289 -0
  53. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/utils.js.map +1 -0
  54. package/dist/cjs/cms-fields/components/media-gallery/media-preview-modal.js +274 -0
  55. package/dist/cjs/cms-fields/components/media-gallery/media-preview-modal.js.map +1 -0
  56. package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js +4 -4
  57. package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
  58. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js +3 -3
  59. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -1
  60. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  61. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  62. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  63. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  64. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  65. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  66. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  67. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  68. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  69. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
  70. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  71. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  72. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  73. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  74. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  75. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  76. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
  77. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  78. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  79. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  80. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  81. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  82. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  83. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  84. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  85. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  86. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  87. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  88. package/dist/cjs/cms-fields/components/text/text-view.st.css.js +3 -3
  89. package/dist/cjs/cms-fields/components/text/text-view.st.css.js.map +1 -1
  90. package/dist/cjs/cms-fields/utils/media-item-utils.js +261 -0
  91. package/dist/cjs/cms-fields/utils/media-item-utils.js.map +1 -0
  92. package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js +1 -1
  93. package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  94. package/dist/cjs/components/AutoPatternsApp/AutoPatternsAppTestPolyfills.js +5 -0
  95. package/dist/cjs/components/AutoPatternsApp/AutoPatternsAppTestPolyfills.js.map +1 -1
  96. package/dist/cjs/components/fields/MediaGallery.js +67 -0
  97. package/dist/cjs/components/fields/MediaGallery.js.map +1 -0
  98. package/dist/cjs/components/fields/index.js +5 -2
  99. package/dist/cjs/components/fields/index.js.map +1 -1
  100. package/dist/cjs/components/layouts/FormField.js +3 -2
  101. package/dist/cjs/components/layouts/FormField.js.map +1 -1
  102. package/dist/cjs/hooks/useColumns.js.map +1 -1
  103. package/dist/cjs/hooks/usePersistedState.js +24 -0
  104. package/dist/cjs/hooks/usePersistedState.js.map +1 -0
  105. package/dist/cjs/services/translations.js.map +1 -1
  106. package/dist/cjs/styles.global.css +1 -1
  107. package/dist/esm/assets/locale/messages_en.json +68 -1
  108. package/dist/esm/cms-fields/auto-cms-field-types/index.js +1 -1
  109. package/dist/esm/cms-fields/auto-cms-field-types/index.js.map +1 -1
  110. package/dist/esm/cms-fields/auto-cms-field-types/media-manager.js +3 -1
  111. package/dist/esm/cms-fields/auto-cms-field-types/media-manager.js.map +1 -1
  112. package/dist/esm/cms-fields/auto-cms-field-types/media-types.js.map +1 -1
  113. package/dist/esm/cms-fields/components/address/input/address-input.st.css.js +3 -3
  114. package/dist/esm/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
  115. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  116. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  117. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  118. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  119. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js +2 -2
  120. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  121. package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
  122. package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  123. package/dist/esm/cms-fields/components/document/form-document-field.st.css.js +7 -7
  124. package/dist/esm/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
  125. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
  126. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
  127. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js +5 -5
  128. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  129. package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
  130. package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
  131. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.js +164 -0
  132. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.js.map +1 -0
  133. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.st.css +51 -0
  134. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js +26 -0
  135. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -0
  136. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.js +10 -0
  137. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.js.map +1 -0
  138. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-items-preview.js +110 -0
  139. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-items-preview.js.map +1 -0
  140. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/add-link-modal.js +106 -0
  141. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/add-link-modal.js.map +1 -0
  142. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/add-media-button.js +25 -0
  143. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/add-media-button.js.map +1 -0
  144. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/content-keys.js +40 -0
  145. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/content-keys.js.map +1 -0
  146. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/hooks.js +81 -0
  147. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/hooks.js.map +1 -0
  148. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/item-actions.js +37 -0
  149. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/item-actions.js.map +1 -0
  150. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.js +152 -0
  151. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.js.map +1 -0
  152. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.js +34 -0
  153. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.js.map +1 -0
  154. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/types.js +2 -0
  155. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/types.js.map +1 -0
  156. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.js +19 -0
  157. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.js.map +1 -0
  158. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/utils.js +288 -0
  159. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/utils.js.map +1 -0
  160. package/dist/esm/cms-fields/components/media-gallery/media-preview-modal.js +147 -0
  161. package/dist/esm/cms-fields/components/media-gallery/media-preview-modal.js.map +1 -0
  162. package/dist/esm/cms-fields/components/media-image/media-image.st.css.js +4 -4
  163. package/dist/esm/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
  164. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js +3 -3
  165. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -1
  166. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  167. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  168. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  169. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  170. package/dist/esm/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  171. package/dist/esm/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  172. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  173. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  174. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  175. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
  176. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  177. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  178. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  179. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  180. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  181. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  182. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
  183. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  184. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  185. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  186. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  187. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  188. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  189. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  190. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  191. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  192. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  193. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  194. package/dist/esm/cms-fields/components/text/text-view.st.css.js +3 -3
  195. package/dist/esm/cms-fields/components/text/text-view.st.css.js.map +1 -1
  196. package/dist/esm/cms-fields/utils/media-item-utils.js +261 -0
  197. package/dist/esm/cms-fields/utils/media-item-utils.js.map +1 -0
  198. package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js +1 -1
  199. package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  200. package/dist/esm/components/AutoPatternsApp/AutoPatternsAppTestPolyfills.js +5 -0
  201. package/dist/esm/components/AutoPatternsApp/AutoPatternsAppTestPolyfills.js.map +1 -1
  202. package/dist/esm/components/fields/MediaGallery.js +48 -0
  203. package/dist/esm/components/fields/MediaGallery.js.map +1 -0
  204. package/dist/esm/components/fields/index.js +1 -0
  205. package/dist/esm/components/fields/index.js.map +1 -1
  206. package/dist/esm/components/layouts/FormField.js +3 -2
  207. package/dist/esm/components/layouts/FormField.js.map +1 -1
  208. package/dist/esm/hooks/useColumns.js +1 -1
  209. package/dist/esm/hooks/useColumns.js.map +1 -1
  210. package/dist/esm/hooks/usePersistedState.js +20 -0
  211. package/dist/esm/hooks/usePersistedState.js.map +1 -0
  212. package/dist/esm/services/translations.js.map +1 -1
  213. package/dist/esm/styles.global.css +1 -1
  214. package/dist/types/cms-fields/auto-cms-field-types/index.d.ts +2 -2
  215. package/dist/types/cms-fields/auto-cms-field-types/index.d.ts.map +1 -1
  216. package/dist/types/cms-fields/auto-cms-field-types/media-manager.d.ts +2 -0
  217. package/dist/types/cms-fields/auto-cms-field-types/media-manager.d.ts.map +1 -1
  218. package/dist/types/cms-fields/auto-cms-field-types/media-types.d.ts +1 -1
  219. package/dist/types/cms-fields/auto-cms-field-types/media-types.d.ts.map +1 -1
  220. package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.st.css.d.ts.map +1 -1
  221. package/dist/types/cms-fields/components/document/form-document-field.st.css.d.ts.map +1 -1
  222. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.d.ts +13 -0
  223. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.d.ts.map +1 -0
  224. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.st.css.d.ts +21 -0
  225. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.st.css.d.ts.map +1 -0
  226. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.d.ts +33 -0
  227. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.d.ts.map +1 -0
  228. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-items-preview.d.ts +8 -0
  229. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-items-preview.d.ts.map +1 -0
  230. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/add-link-modal.d.ts +11 -0
  231. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/add-link-modal.d.ts.map +1 -0
  232. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/add-media-button.d.ts +7 -0
  233. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/add-media-button.d.ts.map +1 -0
  234. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/content-keys.d.ts +41 -0
  235. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/content-keys.d.ts.map +1 -0
  236. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/hooks.d.ts +66 -0
  237. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/hooks.d.ts.map +1 -0
  238. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/item-actions.d.ts +8 -0
  239. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/item-actions.d.ts.map +1 -0
  240. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.d.ts +5 -0
  241. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.d.ts.map +1 -0
  242. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.d.ts +7 -0
  243. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.d.ts.map +1 -0
  244. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/types.d.ts +81 -0
  245. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/types.d.ts.map +1 -0
  246. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.d.ts +10 -0
  247. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.d.ts.map +1 -0
  248. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/utils.d.ts +23 -0
  249. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/utils.d.ts.map +1 -0
  250. package/dist/types/cms-fields/components/media-gallery/media-preview-modal.d.ts +19 -0
  251. package/dist/types/cms-fields/components/media-gallery/media-preview-modal.d.ts.map +1 -0
  252. package/dist/types/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.d.ts.map +1 -1
  253. package/dist/types/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.d.ts.map +1 -1
  254. package/dist/types/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.d.ts.map +1 -1
  255. package/dist/types/cms-fields/utils/media-item-utils.d.ts +61 -0
  256. package/dist/types/cms-fields/utils/media-item-utils.d.ts.map +1 -0
  257. package/dist/types/components/fields/MediaGallery.d.ts +8 -0
  258. package/dist/types/components/fields/MediaGallery.d.ts.map +1 -0
  259. package/dist/types/components/fields/index.d.ts +1 -0
  260. package/dist/types/components/fields/index.d.ts.map +1 -1
  261. package/dist/types/components/layouts/FormField.d.ts.map +1 -1
  262. package/dist/types/hooks/usePersistedState.d.ts +2 -0
  263. package/dist/types/hooks/usePersistedState.d.ts.map +1 -0
  264. package/dist/types/services/translations.d.ts +4 -1
  265. package/dist/types/services/translations.d.ts.map +1 -1
  266. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/exclamation/exclamation.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"exclamation1902386010\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"exclamation1902386010__root\",\"exclamation\":\"exclamation1902386010__exclamation\",\"actions\":\"exclamation1902386010__actions\",\"action\":\"exclamation1902386010__action\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-color-fill-warning-primary\":\"--wds-color-fill-warning-primary\",\"wds-color-fill-destructive-primary\":\"--wds-color-fill-destructive-primary\",\"wds-color-blue-100\":\"--wds-color-blue-100\",\"wds-color-blue-200\":\"--wds-color-blue-200\"}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,uBAAuB;AACzC,IAAIC,OAAO,GAAGH,cAAc,CAACI,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAEpD,OAAO,IAAIG,SAAS,GAAGJ,aAAa,CAACG,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAC5D,OAAO,IAAII,KAA6C,GAAGH,OAAO;AAClE,OAAO,IAAII,EAA0C,GAAGJ,OAAO;AAE/D,OAAO,IAAIK,SAAS,GAAGN,WAAW;AAClC,OAAO,IAAIO,OAAO,GAAG;EAAC,MAAM,EAAC,6BAA6B;EAAC,aAAa,EAAC,oCAAoC;EAAC,SAAS,EAAC,gCAAgC;EAAC,QAAQ,EAAC;AAA+B,CAAC;AAClM,OAAO,IAAIC,SAAS,GAAG,CAAC,CAAC;AACzB,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,IAAI,GAAG;EAAC,gCAAgC,EAAC,kCAAkC;EAAC,oCAAoC,EAAC,sCAAsC;EAAC,oBAAoB,EAAC,sBAAsB;EAAC,oBAAoB,EAAC;AAAsB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/exclamation/exclamation.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"exclamation2449597688\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"exclamation2449597688__root\",\"exclamation\":\"exclamation2449597688__exclamation\",\"actions\":\"exclamation2449597688__actions\",\"action\":\"exclamation2449597688__action\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-color-fill-warning-primary\":\"--wds-color-fill-warning-primary\",\"wds-color-fill-destructive-primary\":\"--wds-color-fill-destructive-primary\",\"wds-color-blue-100\":\"--wds-color-blue-100\",\"wds-color-blue-200\":\"--wds-color-blue-200\"}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,uBAAuB;AACzC,IAAIC,OAAO,GAAGH,cAAc,CAACI,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAEpD,OAAO,IAAIG,SAAS,GAAGJ,aAAa,CAACG,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAC5D,OAAO,IAAII,KAA6C,GAAGH,OAAO;AAClE,OAAO,IAAII,EAA0C,GAAGJ,OAAO;AAE/D,OAAO,IAAIK,SAAS,GAAGN,WAAW;AAClC,OAAO,IAAIO,OAAO,GAAG;EAAC,MAAM,EAAC,6BAA6B;EAAC,aAAa,EAAC,oCAAoC;EAAC,SAAS,EAAC,gCAAgC;EAAC,QAAQ,EAAC;AAA+B,CAAC;AAClM,OAAO,IAAIC,SAAS,GAAG,CAAC,CAAC;AACzB,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,IAAI,GAAG;EAAC,gCAAgC,EAAC,kCAAkC;EAAC,oCAAoC,EAAC,sCAAsC;EAAC,oBAAoB,EAAC,sBAAsB;EAAC,oBAAoB,EAAC;AAAsB,CAAC","ignoreList":[]}
@@ -1,19 +1,19 @@
1
1
  // @ts-nocheck
2
2
 
3
3
  import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js";
4
- var _namespace_ = "highlightedtext3602929742";
4
+ var _namespace_ = "highlightedtext1910413818";
5
5
  var _style_ = classesRuntime.bind(null, _namespace_);
6
6
  export var cssStates = statesRuntime.bind(null, _namespace_);
7
7
  export var style = _style_;
8
8
  export var st = _style_;
9
9
  export var namespace = _namespace_;
10
10
  export var classes = {
11
- "root": "highlightedtext3602929742__root",
12
- "substring": "highlightedtext3602929742__substring"
11
+ "root": "highlightedtext1910413818__root",
12
+ "substring": "highlightedtext1910413818__substring"
13
13
  };
14
14
  export var keyframes = {
15
- "highlighted": "highlightedtext3602929742__highlighted",
16
- "highlighted-match": "highlightedtext3602929742__highlighted-match"
15
+ "highlighted": "highlightedtext1910413818__highlighted",
16
+ "highlighted-match": "highlightedtext1910413818__highlighted-match"
17
17
  };
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/highlighted-text/highlighted-text.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"highlightedtext3602929742\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"highlightedtext3602929742__root\",\"substring\":\"highlightedtext3602929742__substring\"};\nexport var keyframes = {\"highlighted\":\"highlightedtext3602929742__highlighted\",\"highlighted-match\":\"highlightedtext3602929742__highlighted-match\"}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-color-yellow-200\":\"--wds-color-yellow-200\",\"wds-color-yellow-400\":\"--wds-color-yellow-400\",\"wsr-color-Y20\":\"--wsr-color-Y20\",\"wsr-color-Y40\":\"--wsr-color-Y40\"}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,2BAA2B;AAC7C,IAAIC,OAAO,GAAGH,cAAc,CAACI,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAEpD,OAAO,IAAIG,SAAS,GAAGJ,aAAa,CAACG,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAC5D,OAAO,IAAII,KAA6C,GAAGH,OAAO;AAClE,OAAO,IAAII,EAA0C,GAAGJ,OAAO;AAE/D,OAAO,IAAIK,SAAS,GAAGN,WAAW;AAClC,OAAO,IAAIO,OAAO,GAAG;EAAC,MAAM,EAAC,iCAAiC;EAAC,WAAW,EAAC;AAAsC,CAAC;AAClH,OAAO,IAAIC,SAAS,GAAG;EAAC,aAAa,EAAC,wCAAwC;EAAC,mBAAmB,EAAC;AAA8C,CAAC;AAClJ,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,IAAI,GAAG;EAAC,sBAAsB,EAAC,wBAAwB;EAAC,sBAAsB,EAAC,wBAAwB;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC;AAAiB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/highlighted-text/highlighted-text.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"highlightedtext1910413818\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"highlightedtext1910413818__root\",\"substring\":\"highlightedtext1910413818__substring\"};\nexport var keyframes = {\"highlighted\":\"highlightedtext1910413818__highlighted\",\"highlighted-match\":\"highlightedtext1910413818__highlighted-match\"}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-color-yellow-200\":\"--wds-color-yellow-200\",\"wds-color-yellow-400\":\"--wds-color-yellow-400\",\"wsr-color-Y20\":\"--wsr-color-Y20\",\"wsr-color-Y40\":\"--wsr-color-Y40\"}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,2BAA2B;AAC7C,IAAIC,OAAO,GAAGH,cAAc,CAACI,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAEpD,OAAO,IAAIG,SAAS,GAAGJ,aAAa,CAACG,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAC5D,OAAO,IAAII,KAA6C,GAAGH,OAAO;AAClE,OAAO,IAAII,EAA0C,GAAGJ,OAAO;AAE/D,OAAO,IAAIK,SAAS,GAAGN,WAAW;AAClC,OAAO,IAAIO,OAAO,GAAG;EAAC,MAAM,EAAC,iCAAiC;EAAC,WAAW,EAAC;AAAsC,CAAC;AAClH,OAAO,IAAIC,SAAS,GAAG;EAAC,aAAa,EAAC,wCAAwC;EAAC,mBAAmB,EAAC;AAA8C,CAAC;AAClJ,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,IAAI,GAAG;EAAC,sBAAsB,EAAC,wBAAwB;EAAC,sBAAsB,EAAC,wBAAwB;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC;AAAiB,CAAC","ignoreList":[]}
@@ -1,16 +1,16 @@
1
1
  // @ts-nocheck
2
2
 
3
3
  import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js";
4
- var _namespace_ = "pasteurlbutton1695425721";
4
+ var _namespace_ = "pasteurlbutton2355558468";
5
5
  var _style_ = classesRuntime.bind(null, _namespace_);
6
6
  export var cssStates = statesRuntime.bind(null, _namespace_);
7
7
  export var style = _style_;
8
8
  export var st = _style_;
9
9
  export var namespace = _namespace_;
10
10
  export var classes = {
11
- "root": "pasteurlbutton1695425721__root",
12
- "iconButtonTooltip": "pasteurlbutton1695425721__iconButtonTooltip",
13
- "iconButton": "pasteurlbutton1695425721__iconButton"
11
+ "root": "pasteurlbutton2355558468__root",
12
+ "iconButtonTooltip": "pasteurlbutton2355558468__iconButtonTooltip",
13
+ "iconButton": "pasteurlbutton2355558468__iconButton"
14
14
  };
15
15
  export var keyframes = {};
16
16
  export var layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/media-control/paste-url-button.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"pasteurlbutton1695425721\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"pasteurlbutton1695425721__root\",\"iconButtonTooltip\":\"pasteurlbutton1695425721__iconButtonTooltip\",\"iconButton\":\"pasteurlbutton1695425721__iconButton\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGH,cAAc,CAACI,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAEpD,OAAO,IAAIG,SAAS,GAAGJ,aAAa,CAACG,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAC5D,OAAO,IAAII,KAA6C,GAAGH,OAAO;AAClE,OAAO,IAAII,EAA0C,GAAGJ,OAAO;AAE/D,OAAO,IAAIK,SAAS,GAAGN,WAAW;AAClC,OAAO,IAAIO,OAAO,GAAG;EAAC,MAAM,EAAC,gCAAgC;EAAC,mBAAmB,EAAC,6CAA6C;EAAC,YAAY,EAAC;AAAsC,CAAC;AACpL,OAAO,IAAIC,SAAS,GAAG,CAAC,CAAC;AACzB,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,IAAI,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/media-control/paste-url-button.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"pasteurlbutton2355558468\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"pasteurlbutton2355558468__root\",\"iconButtonTooltip\":\"pasteurlbutton2355558468__iconButtonTooltip\",\"iconButton\":\"pasteurlbutton2355558468__iconButton\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGH,cAAc,CAACI,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAEpD,OAAO,IAAIG,SAAS,GAAGJ,aAAa,CAACG,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAC5D,OAAO,IAAII,KAA6C,GAAGH,OAAO;AAClE,OAAO,IAAII,EAA0C,GAAGJ,OAAO;AAE/D,OAAO,IAAIK,SAAS,GAAGN,WAAW;AAClC,OAAO,IAAIO,OAAO,GAAG;EAAC,MAAM,EAAC,gCAAgC;EAAC,mBAAmB,EAAC,6CAA6C;EAAC,YAAY,EAAC;AAAsC,CAAC;AACpL,OAAO,IAAIC,SAAS,GAAG,CAAC,CAAC;AACzB,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,IAAI,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,164 @@
1
+ import React, { useRef, useState, useCallback, useEffect } from 'react';
2
+ import { AddItem, Box, Button, IconButton, MediaOverlay, Tooltip } from '@wix/design-system';
3
+ import { Refresh as RefreshIcon, Delete as DeleteIcon, Maximize as MaximizeIcon } from '@wix/wix-ui-icons-common';
4
+ import { useTranslations } from '../../hooks';
5
+ import { executeDownloading } from '../../utils/media-utils';
6
+ import { getMediaURL } from '../../auto-cms-field-types';
7
+ import { files } from '@wix/media';
8
+ import { style, classes } from './form-media-gallery-field.st.css.js';
9
+ import { FormMediaGalleryItemsPreview } from './form-media-gallery-items-preview';
10
+ import { MediaPreviewModal } from './media-preview-modal';
11
+ import { useMediaGalleryDialog } from './media-gallery-dialog/hooks';
12
+ import { MediaGalleryDialog } from './media-gallery-dialog/media-gallery-dialog';
13
+ const mediaGalleryPreviewTextKeys = {
14
+ replace: 'CMS.mediaGallery.preview.replace',
15
+ download: 'CMS.mediaGallery.preview.download',
16
+ delete: 'CMS.mediaGallery.preview.delete'
17
+ };
18
+ export const FormMediaGalleryField = _ref => {
19
+ let {
20
+ data,
21
+ onChange,
22
+ onClear,
23
+ readOnly,
24
+ invalid,
25
+ autoFocus,
26
+ dataHook
27
+ } = _ref;
28
+ const {
29
+ t
30
+ } = useTranslations();
31
+ const boxRef = useRef(null);
32
+ const inputRef = useRef(null);
33
+ const [boxWidth, setBoxWidth] = useState(0);
34
+ const [hovered, setHovered] = useState(false);
35
+ const [isPreviewOpen, setIsPreviewOpen] = useState(false);
36
+ const hasValue = Boolean(data == null ? void 0 : data.length);
37
+
38
+ // autoFocus support
39
+ useEffect(() => {
40
+ var _boxRef$current, _inputRef$current;
41
+ if (!autoFocus) {
42
+ return;
43
+ }
44
+ (_boxRef$current = boxRef.current) == null || _boxRef$current.focus();
45
+ (_inputRef$current = inputRef.current) == null || _inputRef$current.focus();
46
+ }, [autoFocus]);
47
+
48
+ // Responsive width tracking
49
+ useEffect(() => {
50
+ const el = boxRef.current;
51
+ if (!el) {
52
+ return;
53
+ }
54
+ setBoxWidth(el.clientWidth);
55
+ const ro = new ResizeObserver(_ref2 => {
56
+ let [entry] = _ref2;
57
+ return setBoxWidth(entry.contentRect.width);
58
+ });
59
+ ro.observe(el);
60
+ return () => ro.disconnect();
61
+ }, []);
62
+ const {
63
+ openMediaGalleryDialog,
64
+ ...mediaGalleryDialogProps
65
+ } = useMediaGalleryDialog({
66
+ initialOpen: false,
67
+ items: data,
68
+ onChange
69
+ });
70
+ const onMouseEnter = useCallback(() => hasValue && setHovered(true), [hasValue]);
71
+ const onMouseLeave = useCallback(() => hasValue && setHovered(false), [hasValue]);
72
+
73
+ // Download using Wix media API (consistent with useMediaControl)
74
+ const onDownloadMedia = useCallback(async mediaUri => {
75
+ if (!mediaUri) {
76
+ return;
77
+ }
78
+ try {
79
+ var _result$downloadUrls;
80
+ const result = await files.generateFileDownloadUrl(mediaUri);
81
+ const downloadUrl = (_result$downloadUrls = result.downloadUrls) == null || (_result$downloadUrls = _result$downloadUrls[0]) == null ? void 0 : _result$downloadUrls.url;
82
+ if (!downloadUrl) {
83
+ throw new Error('No download URL returned');
84
+ }
85
+ executeDownloading(downloadUrl);
86
+ } catch (error) {
87
+ // Fallback: open the static URL in a new tab
88
+ console.error('Media download error, falling back to static URL:', error);
89
+ executeDownloading(getMediaURL(mediaUri));
90
+ }
91
+ }, []);
92
+ const onRequestMedia = useCallback(() => {
93
+ openMediaGalleryDialog();
94
+ setIsPreviewOpen(false);
95
+ setHovered(false);
96
+ }, [openMediaGalleryDialog]);
97
+ return /*#__PURE__*/React.createElement("div", {
98
+ "data-hook": dataHook,
99
+ ref: boxRef,
100
+ tabIndex: hasValue ? 0 : -1,
101
+ className: classes.container,
102
+ onMouseEnter: onMouseEnter,
103
+ onMouseLeave: onMouseLeave,
104
+ onFocus: onMouseEnter,
105
+ onBlur: onMouseLeave
106
+ }, !hasValue ? /*#__PURE__*/React.createElement("div", {
107
+ className: classes.addItemWrapper
108
+ }, /*#__PURE__*/React.createElement(AddItem, {
109
+ ref: inputRef,
110
+ className: style(classes.addItem, {
111
+ error: invalid
112
+ }),
113
+ size: "tiny",
114
+ theme: "dashes",
115
+ onClick: onRequestMedia,
116
+ disabled: readOnly,
117
+ dataHook: `${dataHook}-add`,
118
+ subtitle: t('CMS.mediaGallery.emptyHint')
119
+ }, t('CMS.mediaGallery.addGallery'))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MediaOverlay, {
120
+ hovered: hovered,
121
+ className: classes.overlay,
122
+ hoverSkin: "dark",
123
+ borderRadius: 0,
124
+ media: /*#__PURE__*/React.createElement(FormMediaGalleryItemsPreview, {
125
+ width: boxWidth,
126
+ value: data
127
+ })
128
+ }, /*#__PURE__*/React.createElement(MediaOverlay.Content, {
129
+ visible: "hover"
130
+ }, /*#__PURE__*/React.createElement(Box, {
131
+ gap: "SP2",
132
+ align: "center"
133
+ }, /*#__PURE__*/React.createElement(Button, {
134
+ skin: "inverted",
135
+ prefixIcon: /*#__PURE__*/React.createElement(RefreshIcon, null),
136
+ onClick: onRequestMedia,
137
+ disabled: readOnly,
138
+ dataHook: `${dataHook}-manage`
139
+ }, t('CMS.mediaGallery.manageGallery')), /*#__PURE__*/React.createElement(Tooltip, {
140
+ content: t('CMS.mediaGallery.preview')
141
+ }, /*#__PURE__*/React.createElement(IconButton, {
142
+ skin: "inverted",
143
+ onClick: () => setIsPreviewOpen(true),
144
+ dataHook: `${dataHook}-preview`
145
+ }, /*#__PURE__*/React.createElement(MaximizeIcon, null))), /*#__PURE__*/React.createElement(Tooltip, {
146
+ content: t('CMS.mediaGallery.clear')
147
+ }, /*#__PURE__*/React.createElement(IconButton, {
148
+ skin: "inverted",
149
+ onClick: onClear,
150
+ disabled: readOnly,
151
+ dataHook: `${dataHook}-clear`
152
+ }, /*#__PURE__*/React.createElement(DeleteIcon, null)))))), /*#__PURE__*/React.createElement(MediaPreviewModal, {
153
+ isOpen: isPreviewOpen,
154
+ onClose: () => setIsPreviewOpen(false),
155
+ value: data == null ? void 0 : data.map(d => d.src),
156
+ onRequestMedia: onRequestMedia,
157
+ onClearMedia: onClear,
158
+ onDownloadMedia: onDownloadMedia,
159
+ textKeys: mediaGalleryPreviewTextKeys,
160
+ readOnly: readOnly
161
+ })), mediaGalleryDialogProps.isOpen && /*#__PURE__*/React.createElement(MediaGalleryDialog, mediaGalleryDialogProps));
162
+ };
163
+ FormMediaGalleryField.displayName = 'FormMediaGalleryField';
164
+ //# sourceMappingURL=form-media-gallery-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useRef","useState","useCallback","useEffect","AddItem","Box","Button","IconButton","MediaOverlay","Tooltip","Refresh","RefreshIcon","Delete","DeleteIcon","Maximize","MaximizeIcon","useTranslations","executeDownloading","getMediaURL","files","style","classes","FormMediaGalleryItemsPreview","MediaPreviewModal","useMediaGalleryDialog","MediaGalleryDialog","mediaGalleryPreviewTextKeys","replace","download","delete","FormMediaGalleryField","_ref","data","onChange","onClear","readOnly","invalid","autoFocus","dataHook","t","boxRef","inputRef","boxWidth","setBoxWidth","hovered","setHovered","isPreviewOpen","setIsPreviewOpen","hasValue","Boolean","length","_boxRef$current","_inputRef$current","current","focus","el","clientWidth","ro","ResizeObserver","_ref2","entry","contentRect","width","observe","disconnect","openMediaGalleryDialog","mediaGalleryDialogProps","initialOpen","items","onMouseEnter","onMouseLeave","onDownloadMedia","mediaUri","_result$downloadUrls","result","generateFileDownloadUrl","downloadUrl","downloadUrls","url","Error","error","console","onRequestMedia","createElement","ref","tabIndex","className","container","onFocus","onBlur","addItemWrapper","addItem","size","theme","onClick","disabled","subtitle","Fragment","overlay","hoverSkin","borderRadius","media","value","Content","visible","gap","align","skin","prefixIcon","content","isOpen","onClose","map","d","src","onClearMedia","textKeys","displayName"],"sources":["../../../../../src/cms-fields/components/media-gallery/form-media-gallery-field.tsx"],"sourcesContent":["import React, { useRef, useState, useCallback, useEffect } from 'react';\nimport type { AddItemActions } from '@wix/design-system';\nimport {\n AddItem,\n Box,\n Button,\n IconButton,\n MediaOverlay,\n Tooltip,\n} from '@wix/design-system';\nimport {\n Refresh as RefreshIcon,\n Delete as DeleteIcon,\n Maximize as MaximizeIcon,\n} from '@wix/wix-ui-icons-common';\nimport type { WixCodeGalleryItem } from '../../auto-cms-field-types';\nimport { useTranslations } from '../../hooks';\nimport { executeDownloading } from '../../utils/media-utils';\nimport { getMediaURL } from '../../auto-cms-field-types';\nimport { files } from '@wix/media';\n\nimport { style, classes } from './form-media-gallery-field.st.css.js';\nimport { FormMediaGalleryItemsPreview } from './form-media-gallery-items-preview';\nimport { MediaPreviewModal } from './media-preview-modal';\nimport { useMediaGalleryDialog } from './media-gallery-dialog/hooks';\nimport { MediaGalleryDialog } from './media-gallery-dialog/media-gallery-dialog';\n\nexport interface FormMediaGalleryFieldProps {\n data?: WixCodeGalleryItem[];\n onChange: (value: WixCodeGalleryItem[]) => void;\n onClear?: () => void;\n readOnly?: boolean;\n invalid?: boolean;\n autoFocus?: boolean;\n dataHook?: string;\n}\n\nconst mediaGalleryPreviewTextKeys = {\n replace: 'CMS.mediaGallery.preview.replace',\n download: 'CMS.mediaGallery.preview.download',\n delete: 'CMS.mediaGallery.preview.delete',\n} as const;\n\nexport const FormMediaGalleryField: React.FC<FormMediaGalleryFieldProps> = ({\n data,\n onChange,\n onClear,\n readOnly,\n invalid,\n autoFocus,\n dataHook,\n}) => {\n const { t } = useTranslations();\n const boxRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<AddItemActions>(null);\n const [boxWidth, setBoxWidth] = useState(0);\n const [hovered, setHovered] = useState(false);\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n\n const hasValue = Boolean(data?.length);\n\n // autoFocus support\n useEffect(() => {\n if (!autoFocus) {\n return;\n }\n boxRef.current?.focus();\n inputRef.current?.focus();\n }, [autoFocus]);\n\n // Responsive width tracking\n useEffect(() => {\n const el = boxRef.current;\n if (!el) {\n return;\n }\n setBoxWidth(el.clientWidth);\n const ro = new ResizeObserver(([entry]) =>\n setBoxWidth(entry.contentRect.width),\n );\n ro.observe(el);\n return () => ro.disconnect();\n }, []);\n\n const { openMediaGalleryDialog, ...mediaGalleryDialogProps } =\n useMediaGalleryDialog({\n initialOpen: false,\n items: data,\n onChange,\n });\n\n const onMouseEnter = useCallback(\n () => hasValue && setHovered(true),\n [hasValue],\n );\n const onMouseLeave = useCallback(\n () => hasValue && setHovered(false),\n [hasValue],\n );\n\n // Download using Wix media API (consistent with useMediaControl)\n const onDownloadMedia = useCallback(async (mediaUri?: string) => {\n if (!mediaUri) {\n return;\n }\n try {\n const result = await files.generateFileDownloadUrl(mediaUri);\n const downloadUrl = result.downloadUrls?.[0]?.url;\n if (!downloadUrl) {\n throw new Error('No download URL returned');\n }\n executeDownloading(downloadUrl);\n } catch (error) {\n // Fallback: open the static URL in a new tab\n console.error('Media download error, falling back to static URL:', error);\n executeDownloading(getMediaURL(mediaUri));\n }\n }, []);\n\n const onRequestMedia = useCallback(() => {\n openMediaGalleryDialog();\n setIsPreviewOpen(false);\n setHovered(false);\n }, [openMediaGalleryDialog]);\n\n return (\n <div\n data-hook={dataHook}\n ref={boxRef}\n tabIndex={hasValue ? 0 : -1}\n className={classes.container}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onFocus={onMouseEnter}\n onBlur={onMouseLeave}\n >\n {!hasValue ? (\n <div className={classes.addItemWrapper}>\n <AddItem\n ref={inputRef}\n className={style(classes.addItem, { error: invalid })}\n size=\"tiny\"\n theme=\"dashes\"\n onClick={onRequestMedia}\n disabled={readOnly}\n dataHook={`${dataHook}-add`}\n subtitle={t('CMS.mediaGallery.emptyHint')}\n >\n {t('CMS.mediaGallery.addGallery')}\n </AddItem>\n </div>\n ) : (\n <>\n <MediaOverlay\n hovered={hovered}\n className={classes.overlay}\n hoverSkin=\"dark\"\n borderRadius={0}\n media={\n <FormMediaGalleryItemsPreview width={boxWidth} value={data} />\n }\n >\n <MediaOverlay.Content visible=\"hover\">\n <Box gap=\"SP2\" align=\"center\">\n <Button\n skin=\"inverted\"\n prefixIcon={<RefreshIcon />}\n onClick={onRequestMedia}\n disabled={readOnly}\n dataHook={`${dataHook}-manage`}\n >\n {t('CMS.mediaGallery.manageGallery')}\n </Button>\n <Tooltip content={t('CMS.mediaGallery.preview')}>\n <IconButton\n skin=\"inverted\"\n onClick={() => setIsPreviewOpen(true)}\n dataHook={`${dataHook}-preview`}\n >\n <MaximizeIcon />\n </IconButton>\n </Tooltip>\n <Tooltip content={t('CMS.mediaGallery.clear')}>\n <IconButton\n skin=\"inverted\"\n onClick={onClear}\n disabled={readOnly}\n dataHook={`${dataHook}-clear`}\n >\n <DeleteIcon />\n </IconButton>\n </Tooltip>\n </Box>\n </MediaOverlay.Content>\n </MediaOverlay>\n <MediaPreviewModal\n isOpen={isPreviewOpen}\n onClose={() => setIsPreviewOpen(false)}\n value={data?.map((d) => d.src)}\n onRequestMedia={onRequestMedia}\n onClearMedia={onClear}\n onDownloadMedia={onDownloadMedia}\n textKeys={mediaGalleryPreviewTextKeys}\n readOnly={readOnly}\n />\n </>\n )}\n\n {mediaGalleryDialogProps.isOpen && (\n <MediaGalleryDialog {...mediaGalleryDialogProps} />\n )}\n </div>\n );\n};\n\nFormMediaGalleryField.displayName = 'FormMediaGalleryField';\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ .container {
2
+ display: flex;
3
+ min-height: 128px;
4
+ max-height: 259px;
5
+ }
6
+
7
+ .viewBox {
8
+ display: flex;
9
+ height: 100%;
10
+ width: 100%;
11
+ flex-wrap: wrap;
12
+ }
13
+
14
+ .addItemWrapper {
15
+ height: 128px;
16
+ width: 100%;
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ .addItem {
21
+ -st-states: error;
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ .overlay {
26
+ width: initial !important;
27
+ min-width: 382px !important;
28
+ }
29
+
30
+ .image {
31
+ -st-states: withMarginRight, withMarginTop;
32
+ }
33
+
34
+ .image:withMarginRight {
35
+ margin-right: 3px;
36
+ }
37
+
38
+ .image:withMarginTop {
39
+ margin-top: 3px;
40
+ }
41
+
42
+ /* Preview modal styles */
43
+ .previewImage {
44
+ max-height: calc(100% - 12px) !important;
45
+ }
46
+
47
+ .previewVideo {
48
+ border-radius: 8px;
49
+ max-width: 100%;
50
+ max-height: calc(100% - 12px) !important;
51
+ }
@@ -0,0 +1,26 @@
1
+ // @ts-nocheck
2
+
3
+ import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js";
4
+ var _namespace_ = "formmediagalleryfield4276779609";
5
+ var _style_ = classesRuntime.bind(null, _namespace_);
6
+ export var cssStates = statesRuntime.bind(null, _namespace_);
7
+ export var style = _style_;
8
+ export var st = _style_;
9
+ export var namespace = _namespace_;
10
+ export var classes = {
11
+ "root": "formmediagalleryfield4276779609__root",
12
+ "container": "formmediagalleryfield4276779609__container",
13
+ "viewBox": "formmediagalleryfield4276779609__viewBox",
14
+ "addItemWrapper": "formmediagalleryfield4276779609__addItemWrapper",
15
+ "addItem": "formmediagalleryfield4276779609__addItem",
16
+ "overlay": "formmediagalleryfield4276779609__overlay",
17
+ "image": "formmediagalleryfield4276779609__image",
18
+ "previewImage": "formmediagalleryfield4276779609__previewImage",
19
+ "previewVideo": "formmediagalleryfield4276779609__previewVideo"
20
+ };
21
+ export var keyframes = {};
22
+ export var layers = {};
23
+ export var containers = {};
24
+ export var stVars = {};
25
+ export var vars = {};
26
+ //# sourceMappingURL=form-media-gallery-field.st.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/media-gallery/form-media-gallery-field.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"formmediagalleryfield4276779609\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"formmediagalleryfield4276779609__root\",\"container\":\"formmediagalleryfield4276779609__container\",\"viewBox\":\"formmediagalleryfield4276779609__viewBox\",\"addItemWrapper\":\"formmediagalleryfield4276779609__addItemWrapper\",\"addItem\":\"formmediagalleryfield4276779609__addItem\",\"overlay\":\"formmediagalleryfield4276779609__overlay\",\"image\":\"formmediagalleryfield4276779609__image\",\"previewImage\":\"formmediagalleryfield4276779609__previewImage\",\"previewVideo\":\"formmediagalleryfield4276779609__previewVideo\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,iCAAiC;AACnD,IAAIC,OAAO,GAAGH,cAAc,CAACI,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAEpD,OAAO,IAAIG,SAAS,GAAGJ,aAAa,CAACG,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAC5D,OAAO,IAAII,KAA6C,GAAGH,OAAO;AAClE,OAAO,IAAII,EAA0C,GAAGJ,OAAO;AAE/D,OAAO,IAAIK,SAAS,GAAGN,WAAW;AAClC,OAAO,IAAIO,OAAO,GAAG;EAAC,MAAM,EAAC,uCAAuC;EAAC,WAAW,EAAC,4CAA4C;EAAC,SAAS,EAAC,0CAA0C;EAAC,gBAAgB,EAAC,iDAAiD;EAAC,SAAS,EAAC,0CAA0C;EAAC,SAAS,EAAC,0CAA0C;EAAC,OAAO,EAAC,wCAAwC;EAAC,cAAc,EAAC,+CAA+C;EAAC,cAAc,EAAC;AAA+C,CAAC;AAC/gB,OAAO,IAAIC,SAAS,GAAG,CAAC,CAAC;AACzB,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,IAAI,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ export function FormMediaGalleryFieldUniDriver(base, dataHook) {
2
+ return {
3
+ exists: () => base.exists(),
4
+ getAddButton: () => base.$(`[data-hook="${dataHook}-add"]`),
5
+ getManageButton: () => base.$(`[data-hook="${dataHook}-manage"]`),
6
+ getPreviewButton: () => base.$(`[data-hook="${dataHook}-preview"]`),
7
+ getClearButton: () => base.$(`[data-hook="${dataHook}-clear"]`)
8
+ };
9
+ }
10
+ //# sourceMappingURL=form-media-gallery-field.uni.driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FormMediaGalleryFieldUniDriver","base","dataHook","exists","getAddButton","$","getManageButton","getPreviewButton","getClearButton"],"sources":["../../../../../src/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.ts"],"sourcesContent":["import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';\n\nexport function FormMediaGalleryFieldUniDriver(\n base: UniDriver,\n dataHook: string,\n) {\n return {\n exists: () => base.exists(),\n getAddButton: () => base.$(`[data-hook=\"${dataHook}-add\"]`),\n getManageButton: () => base.$(`[data-hook=\"${dataHook}-manage\"]`),\n getPreviewButton: () => base.$(`[data-hook=\"${dataHook}-preview\"]`),\n getClearButton: () => base.$(`[data-hook=\"${dataHook}-clear\"]`),\n };\n}\n"],"mappings":"AAEA,OAAO,SAASA,8BAA8BA,CAC5CC,IAAe,EACfC,QAAgB,EAChB;EACA,OAAO;IACLC,MAAM,EAAEA,CAAA,KAAMF,IAAI,CAACE,MAAM,CAAC,CAAC;IAC3BC,YAAY,EAAEA,CAAA,KAAMH,IAAI,CAACI,CAAC,CAAC,eAAeH,QAAQ,QAAQ,CAAC;IAC3DI,eAAe,EAAEA,CAAA,KAAML,IAAI,CAACI,CAAC,CAAC,eAAeH,QAAQ,WAAW,CAAC;IACjEK,gBAAgB,EAAEA,CAAA,KAAMN,IAAI,CAACI,CAAC,CAAC,eAAeH,QAAQ,YAAY,CAAC;IACnEM,cAAc,EAAEA,CAAA,KAAMP,IAAI,CAACI,CAAC,CAAC,eAAeH,QAAQ,UAAU;EAChE,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,110 @@
1
+ import React, { useMemo } from 'react';
2
+ import { getImageDimensions, ThumbnailSize } from '../../auto-cms-field-types';
3
+ import { Box, Text } from '@wix/design-system';
4
+ import { MediaImage } from '../media-image';
5
+ import { style, classes } from './form-media-gallery-field.st.css.js';
6
+
7
+ // --- Layout types and constants ---
8
+
9
+ const IMAGE_HEIGHT = ThumbnailSize.M;
10
+ const GAP = 3;
11
+ const PLACEHOLDER_WIDTH = 69;
12
+
13
+ // --- Layout hook ---
14
+
15
+ const useFormMediaGalleryItems = function (value, boxWidth) {
16
+ if (boxWidth === void 0) {
17
+ boxWidth = 0;
18
+ }
19
+ return useMemo(() => {
20
+ if (!(value != null && value.length && boxWidth)) {
21
+ return [];
22
+ }
23
+ const result = [];
24
+ for (let i = 0, usedWidth = 0; i < value.length; i++) {
25
+ const item = value[i];
26
+ if (!item) continue;
27
+ const {
28
+ width,
29
+ height
30
+ } = getImageDimensions(item.src);
31
+ const actualWidth = width * IMAGE_HEIGHT / height;
32
+ const offsetLeft = usedWidth % boxWidth;
33
+ let totalWidth = offsetLeft + actualWidth;
34
+
35
+ // Check if the image wraps to the second row
36
+ if (usedWidth < boxWidth && totalWidth > boxWidth) {
37
+ usedWidth = boxWidth;
38
+ totalWidth = actualWidth;
39
+ }
40
+ const isSecondRow = usedWidth / boxWidth >= 1;
41
+ const withMarginRight = totalWidth <= boxWidth - GAP && i !== value.length - 1;
42
+ const withMarginTop = isSecondRow;
43
+ usedWidth += actualWidth + (withMarginRight ? GAP : 0);
44
+
45
+ // Terminate if the image doesn't fit — show "+N" placeholder
46
+ if (usedWidth > boxWidth * 2 - PLACEHOLDER_WIDTH) {
47
+ result.push({
48
+ actualWidth: PLACEHOLDER_WIDTH,
49
+ morePlaceholder: value.length - i
50
+ });
51
+ return result;
52
+ }
53
+ result.push({
54
+ src: item.src,
55
+ actualWidth,
56
+ withMarginRight,
57
+ withMarginTop
58
+ });
59
+ }
60
+ return result;
61
+ }, [value, boxWidth]);
62
+ };
63
+
64
+ // --- Component ---
65
+
66
+ export const FormMediaGalleryItemsPreview = _ref => {
67
+ let {
68
+ width,
69
+ value
70
+ } = _ref;
71
+ const images = useFormMediaGalleryItems(value, width);
72
+ if (!(images != null && images.length)) return null;
73
+ return /*#__PURE__*/React.createElement("div", {
74
+ className: classes.viewBox
75
+ }, images.map((item, index) => {
76
+ if (item.src) {
77
+ const {
78
+ src,
79
+ actualWidth,
80
+ withMarginTop = false,
81
+ withMarginRight = false
82
+ } = item;
83
+ return /*#__PURE__*/React.createElement(MediaImage, {
84
+ key: index,
85
+ className: style(classes.image, {
86
+ withMarginTop,
87
+ withMarginRight
88
+ }),
89
+ borderRadius: 0,
90
+ transparent: true,
91
+ src: src,
92
+ size: MediaImage.Size.M,
93
+ width: `${actualWidth}px`,
94
+ height: IMAGE_HEIGHT
95
+ });
96
+ }
97
+ return /*#__PURE__*/React.createElement(Box, {
98
+ key: "placeholder",
99
+ width: item.actualWidth,
100
+ height: IMAGE_HEIGHT,
101
+ marginTop: `${GAP}px`,
102
+ align: "center",
103
+ verticalAlign: "middle"
104
+ }, /*#__PURE__*/React.createElement(Text, {
105
+ size: "small"
106
+ }, "+", item.morePlaceholder));
107
+ }));
108
+ };
109
+ FormMediaGalleryItemsPreview.displayName = 'FormMediaGalleryItemsPreview';
110
+ //# sourceMappingURL=form-media-gallery-items-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","getImageDimensions","ThumbnailSize","Box","Text","MediaImage","style","classes","IMAGE_HEIGHT","M","GAP","PLACEHOLDER_WIDTH","useFormMediaGalleryItems","value","boxWidth","length","result","i","usedWidth","item","width","height","src","actualWidth","offsetLeft","totalWidth","isSecondRow","withMarginRight","withMarginTop","push","morePlaceholder","FormMediaGalleryItemsPreview","_ref","images","createElement","className","viewBox","map","index","key","image","borderRadius","transparent","size","Size","marginTop","align","verticalAlign","displayName"],"sources":["../../../../../src/cms-fields/components/media-gallery/form-media-gallery-items-preview.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport type { WixCodeGalleryItem } from '../../auto-cms-field-types';\nimport { getImageDimensions, ThumbnailSize } from '../../auto-cms-field-types';\nimport { Box, Text } from '@wix/design-system';\nimport { MediaImage } from '../media-image';\nimport { style, classes } from './form-media-gallery-field.st.css.js';\n\n// --- Layout types and constants ---\n\ntype GalleryImageItem = {\n src: string;\n actualWidth: number;\n withMarginRight?: boolean;\n withMarginTop?: boolean;\n morePlaceholder?: never;\n};\n\ntype GalleryPlaceholderItem = {\n src?: undefined;\n actualWidth: number;\n morePlaceholder: number;\n};\n\ntype GalleryItem = GalleryImageItem | GalleryPlaceholderItem;\n\nconst IMAGE_HEIGHT = ThumbnailSize.M;\nconst GAP = 3;\nconst PLACEHOLDER_WIDTH = 69;\n\n// --- Layout hook ---\n\nconst useFormMediaGalleryItems = (\n value?: WixCodeGalleryItem[],\n boxWidth = 0,\n): GalleryItem[] =>\n useMemo(() => {\n if (!(value?.length && boxWidth)) {\n return [];\n }\n\n const result: GalleryItem[] = [];\n\n for (let i = 0, usedWidth = 0; i < value.length; i++) {\n const item = value[i];\n if (!item) continue;\n\n const { width, height } = getImageDimensions(item.src);\n const actualWidth = (width * IMAGE_HEIGHT) / height;\n\n const offsetLeft = usedWidth % boxWidth;\n let totalWidth = offsetLeft + actualWidth;\n\n // Check if the image wraps to the second row\n if (usedWidth < boxWidth && totalWidth > boxWidth) {\n usedWidth = boxWidth;\n totalWidth = actualWidth;\n }\n\n const isSecondRow = usedWidth / boxWidth >= 1;\n const withMarginRight =\n totalWidth <= boxWidth - GAP && i !== value.length - 1;\n const withMarginTop = isSecondRow;\n\n usedWidth += actualWidth + (withMarginRight ? GAP : 0);\n\n // Terminate if the image doesn't fit — show \"+N\" placeholder\n if (usedWidth > boxWidth * 2 - PLACEHOLDER_WIDTH) {\n result.push({\n actualWidth: PLACEHOLDER_WIDTH,\n morePlaceholder: value.length - i,\n });\n return result;\n }\n\n result.push({\n src: item.src,\n actualWidth,\n withMarginRight,\n withMarginTop,\n });\n }\n\n return result;\n }, [value, boxWidth]);\n\n// --- Component ---\n\nexport interface FormMediaGalleryViewProps {\n width: number;\n value?: WixCodeGalleryItem[];\n}\n\nexport const FormMediaGalleryItemsPreview: React.FC<\n FormMediaGalleryViewProps\n> = ({ width, value }) => {\n const images = useFormMediaGalleryItems(value, width);\n\n if (!images?.length) return null;\n\n return (\n <div className={classes.viewBox}>\n {images.map((item: GalleryItem, index: number) => {\n if (item.src) {\n const {\n src,\n actualWidth,\n withMarginTop = false,\n withMarginRight = false,\n } = item;\n return (\n <MediaImage\n key={index}\n className={style(classes.image, {\n withMarginTop,\n withMarginRight,\n })}\n borderRadius={0}\n transparent\n src={src}\n size={MediaImage.Size.M}\n width={`${actualWidth}px`}\n height={IMAGE_HEIGHT}\n />\n );\n }\n\n return (\n <Box\n key=\"placeholder\"\n width={item.actualWidth}\n height={IMAGE_HEIGHT}\n marginTop={`${GAP}px`}\n align=\"center\"\n verticalAlign=\"middle\"\n >\n <Text size=\"small\">+{item.morePlaceholder}</Text>\n </Box>\n );\n })}\n </div>\n );\n};\n\nFormMediaGalleryItemsPreview.displayName = 'FormMediaGalleryItemsPreview';\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,106 @@
1
+ import React, { useCallback, useEffect, useState } from 'react';
2
+ import { Modal, CustomModalLayout, BounceAnimation, Box, FormField, Input, RadioGroup } from '@wix/design-system';
3
+ import { useTranslations } from '../../../hooks';
4
+ var LinkTarget = /*#__PURE__*/function (LinkTarget) {
5
+ LinkTarget["newTab"] = "_blank";
6
+ LinkTarget["currentTab"] = "_self";
7
+ return LinkTarget;
8
+ }(LinkTarget || {});
9
+ export const AddLinkModal = _ref => {
10
+ let {
11
+ isOpen,
12
+ onClose,
13
+ link,
14
+ onSave,
15
+ mediaType
16
+ } = _ref;
17
+ const {
18
+ t
19
+ } = useTranslations();
20
+ const [url, setUrl] = useState((link == null ? void 0 : link.url) ?? '');
21
+ const [target, setTarget] = useState((link == null ? void 0 : link.target) ?? '_blank');
22
+ const [error, setError] = useState(false);
23
+ const [animateUrlError, setAnimateUrlError] = useState(false);
24
+ useEffect(() => {
25
+ setUrl((link == null ? void 0 : link.url) ?? '');
26
+ setTarget((link == null ? void 0 : link.target) ?? '_blank');
27
+ setError(false);
28
+ setAnimateUrlError(false);
29
+ }, [link, isOpen]);
30
+ const handleOnSave = useCallback(() => {
31
+ const normalizedUrl = normalizeUrl(url);
32
+ if (normalizedUrl && !isValidUrl(normalizedUrl)) {
33
+ setError(true);
34
+ setAnimateUrlError(true);
35
+ return;
36
+ }
37
+ onSave(normalizedUrl ? {
38
+ url: normalizedUrl,
39
+ text: normalizedUrl,
40
+ target: target
41
+ } : undefined);
42
+ onClose();
43
+ }, [url, target, onSave, onClose]);
44
+ const onEndAnimateUrlError = useCallback(() => setAnimateUrlError(false), []);
45
+ return /*#__PURE__*/React.createElement(Modal, {
46
+ isOpen: isOpen,
47
+ onRequestClose: onClose,
48
+ screen: "desktop"
49
+ }, /*#__PURE__*/React.createElement(CustomModalLayout, {
50
+ title: mediaType === 'Video' ? t('CMS.mediaGallery.addLink.titleVideo') : t('CMS.mediaGallery.addLink.titleImage'),
51
+ subtitle: mediaType === 'Video' ? t('CMS.mediaGallery.addLink.subtitleVideo') : t('CMS.mediaGallery.addLink.subtitleImage'),
52
+ onCloseButtonClick: onClose,
53
+ primaryButtonText: t('CMS.mediaGallery.addLink.save'),
54
+ primaryButtonOnClick: handleOnSave,
55
+ secondaryButtonText: t('CMS.mediaGallery.addLink.cancel'),
56
+ secondaryButtonOnClick: onClose,
57
+ width: "600px",
58
+ content: /*#__PURE__*/React.createElement(Box, {
59
+ direction: "vertical",
60
+ gap: "SP2"
61
+ }, /*#__PURE__*/React.createElement(BounceAnimation, {
62
+ active: animateUrlError,
63
+ onEnd: onEndAnimateUrlError
64
+ }, /*#__PURE__*/React.createElement(FormField, {
65
+ required: true,
66
+ label: t('CMS.mediaGallery.addLink.urlLabel'),
67
+ status: error ? 'error' : undefined,
68
+ statusMessage: error ? t('CMS.mediaGallery.addLink.invalidUrl') : undefined
69
+ }, /*#__PURE__*/React.createElement(Input, {
70
+ value: url,
71
+ onChange: e => {
72
+ setUrl(e.target.value);
73
+ setError(false);
74
+ },
75
+ placeholder: "https://"
76
+ }))), /*#__PURE__*/React.createElement(FormField, {
77
+ label: t('CMS.mediaGallery.addLink.targetLabel')
78
+ }, /*#__PURE__*/React.createElement(RadioGroup, {
79
+ value: target,
80
+ onChange: value => setTarget(value)
81
+ }, /*#__PURE__*/React.createElement(RadioGroup.Radio, {
82
+ value: LinkTarget.newTab
83
+ }, t('CMS.mediaGallery.addLink.newTab')), /*#__PURE__*/React.createElement(RadioGroup.Radio, {
84
+ value: LinkTarget.currentTab
85
+ }, t('CMS.mediaGallery.addLink.currentTab')))))
86
+ }));
87
+ };
88
+ function normalizeUrl(url) {
89
+ const trimmed = url.trim();
90
+ if (!trimmed) {
91
+ return '';
92
+ }
93
+ if (/^https?:\/\//i.test(trimmed)) {
94
+ return trimmed;
95
+ }
96
+ return `https://${trimmed}`;
97
+ }
98
+ function isValidUrl(url) {
99
+ try {
100
+ new URL(url);
101
+ return true;
102
+ } catch {
103
+ return false;
104
+ }
105
+ }
106
+ //# sourceMappingURL=add-link-modal.js.map