@wix/auto-patterns 1.46.0 → 1.47.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 (412) hide show
  1. package/dist/cjs/assets/locale/messages_en.json +8 -1
  2. package/dist/cjs/cms-fields/components/address/input/address-input.st.css.js +3 -3
  3. package/dist/cjs/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
  4. package/dist/cjs/cms-fields/components/audio/actions/actions-button/actions-button.js +67 -0
  5. package/dist/cjs/cms-fields/components/audio/actions/actions-button/actions-button.js.map +1 -0
  6. package/dist/cjs/cms-fields/components/audio/actions/actions-button/index.js +10 -0
  7. package/dist/cjs/cms-fields/components/audio/actions/actions-button/index.js.map +1 -0
  8. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.js +119 -0
  9. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.js.map +1 -0
  10. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css +5 -0
  11. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +25 -0
  12. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -0
  13. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/index.js +16 -0
  14. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/index.js.map +1 -0
  15. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/types.js +4 -0
  16. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/types.js.map +1 -0
  17. package/dist/cjs/cms-fields/components/audio/audio-field/audio-view.js +68 -0
  18. package/dist/cjs/cms-fields/components/audio/audio-field/audio-view.js.map +1 -0
  19. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.js +218 -0
  20. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.js.map +1 -0
  21. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css +28 -0
  22. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +31 -0
  23. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -0
  24. package/dist/cjs/cms-fields/components/audio/audio-field/index.js +16 -0
  25. package/dist/cjs/cms-fields/components/audio/audio-field/index.js.map +1 -0
  26. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.js +77 -0
  27. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.js.map +1 -0
  28. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css +11 -0
  29. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js +22 -0
  30. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -0
  31. package/dist/cjs/cms-fields/components/audio/audio-player/index.js +10 -0
  32. package/dist/cjs/cms-fields/components/audio/audio-player/index.js.map +1 -0
  33. package/dist/cjs/cms-fields/components/audio/index.js +16 -0
  34. package/dist/cjs/cms-fields/components/audio/index.js.map +1 -0
  35. package/dist/cjs/cms-fields/components/common.js +2 -2
  36. package/dist/cjs/cms-fields/components/common.js.map +1 -1
  37. package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
  38. package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  39. package/dist/cjs/cms-fields/components/document/document-control.js +31 -14
  40. package/dist/cjs/cms-fields/components/document/document-control.js.map +1 -1
  41. package/dist/cjs/cms-fields/components/document/form-document-field.js +4 -2
  42. package/dist/cjs/cms-fields/components/document/form-document-field.js.map +1 -1
  43. package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js +7 -7
  44. package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
  45. package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
  46. package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
  47. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.js +42 -0
  48. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.js.map +1 -0
  49. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css +39 -0
  50. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js +31 -0
  51. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -0
  52. package/dist/cjs/cms-fields/components/highlighted-text/index.js +10 -0
  53. package/dist/cjs/cms-fields/components/highlighted-text/index.js.map +1 -0
  54. package/dist/cjs/cms-fields/components/index.js +6 -0
  55. package/dist/cjs/cms-fields/components/index.js.map +1 -1
  56. package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
  57. package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
  58. package/dist/cjs/cms-fields/components/media-control/use-media-control.js +63 -18
  59. package/dist/cjs/cms-fields/components/media-control/use-media-control.js.map +1 -1
  60. package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js +4 -4
  61. package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
  62. package/dist/cjs/cms-fields/components/media-loader/index.js +10 -0
  63. package/dist/cjs/cms-fields/components/media-loader/index.js.map +1 -0
  64. package/dist/cjs/cms-fields/components/media-loader/media-loader.js +37 -0
  65. package/dist/cjs/cms-fields/components/media-loader/media-loader.js.map +1 -0
  66. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css +20 -0
  67. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js +29 -0
  68. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -0
  69. package/dist/cjs/cms-fields/components/media-tag/highlighted-media-tag.js +36 -0
  70. package/dist/cjs/cms-fields/components/media-tag/highlighted-media-tag.js.map +1 -0
  71. package/dist/cjs/cms-fields/components/media-tag/index.js +16 -0
  72. package/dist/cjs/cms-fields/components/media-tag/index.js.map +1 -0
  73. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/index.js +9 -0
  74. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/index.js.map +1 -0
  75. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.js +62 -0
  76. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.js.map +1 -0
  77. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css +12 -0
  78. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +25 -0
  79. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -0
  80. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.js +50 -0
  81. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.js.map +1 -0
  82. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.js +5 -3
  83. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
  84. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.js +10 -8
  85. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.js.map +1 -1
  86. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  87. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  88. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  89. 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
  90. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  91. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  92. 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
  93. 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
  94. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  95. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  96. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  97. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  98. 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
  99. 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
  100. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
  101. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  102. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  103. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  104. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  105. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  106. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  107. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  108. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  109. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  110. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  111. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  112. package/dist/cjs/cms-fields/components/text/text-view.st.css.js +3 -3
  113. package/dist/cjs/cms-fields/components/text/text-view.st.css.js.map +1 -1
  114. package/dist/cjs/cms-fields/hooks/index.js +6 -0
  115. package/dist/cjs/cms-fields/hooks/index.js.map +1 -1
  116. package/dist/cjs/cms-fields/hooks/use-resize-effect.js +16 -0
  117. package/dist/cjs/cms-fields/hooks/use-resize-effect.js.map +1 -0
  118. package/dist/cjs/cms-fields/utils/fuzzy-search.js +4 -0
  119. package/dist/cjs/cms-fields/utils/fuzzy-search.js.map +1 -0
  120. package/dist/cjs/cms-fields/utils/get-app-bounding-rect.js.map +1 -1
  121. package/dist/cjs/cms-fields/utils/get-app-popover-max-height.js +21 -0
  122. package/dist/cjs/cms-fields/utils/get-app-popover-max-height.js.map +1 -0
  123. package/dist/cjs/cms-fields/utils/get-schema-type.js +7 -0
  124. package/dist/cjs/cms-fields/utils/get-schema-type.js.map +1 -0
  125. package/dist/cjs/cms-fields/utils/index.js +24 -0
  126. package/dist/cjs/cms-fields/utils/index.js.map +1 -1
  127. package/dist/cjs/cms-fields/utils/media-utils.js +4 -20
  128. package/dist/cjs/cms-fields/utils/media-utils.js.map +1 -1
  129. package/dist/cjs/cms-fields/validations/email.js +27 -0
  130. package/dist/cjs/cms-fields/validations/email.js.map +1 -0
  131. package/dist/cjs/components/fields/Audio.js +63 -0
  132. package/dist/cjs/components/fields/Audio.js.map +1 -0
  133. package/dist/cjs/components/fields/Email.js +73 -0
  134. package/dist/cjs/components/fields/Email.js.map +1 -0
  135. package/dist/cjs/components/fields/index.js +7 -1
  136. package/dist/cjs/components/fields/index.js.map +1 -1
  137. package/dist/cjs/components/layouts/FormField.js +4 -2
  138. package/dist/cjs/components/layouts/FormField.js.map +1 -1
  139. package/dist/cjs/components/layouts/ViewField.js +21 -10
  140. package/dist/cjs/components/layouts/ViewField.js.map +1 -1
  141. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +7 -1
  142. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  143. package/dist/cjs/dataSourceAdapters/cms/filterUtils.js +4 -4
  144. package/dist/cjs/dataSourceAdapters/cms/filterUtils.js.map +1 -1
  145. package/dist/cjs/hooks/getFilterComponent.js +2 -0
  146. package/dist/cjs/hooks/getFilterComponent.js.map +1 -1
  147. package/dist/cjs/hooks/useColumns.js +23 -13
  148. package/dist/cjs/hooks/useColumns.js.map +1 -1
  149. package/dist/cjs/hooks/useFiltersState.js +2 -0
  150. package/dist/cjs/hooks/useFiltersState.js.map +1 -1
  151. package/dist/cjs/services/translations.js.map +1 -1
  152. package/dist/cjs/styles.global.css +1 -1
  153. package/dist/cjs/types/types.js.map +1 -1
  154. package/dist/esm/assets/locale/messages_en.json +8 -1
  155. package/dist/esm/cms-fields/components/address/input/address-input.st.css.js +3 -3
  156. package/dist/esm/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
  157. package/dist/esm/cms-fields/components/audio/actions/actions-button/actions-button.js +42 -0
  158. package/dist/esm/cms-fields/components/audio/actions/actions-button/actions-button.js.map +1 -0
  159. package/dist/esm/cms-fields/components/audio/actions/actions-button/index.js +2 -0
  160. package/dist/esm/cms-fields/components/audio/actions/actions-button/index.js.map +1 -0
  161. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.js +80 -0
  162. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.js.map +1 -0
  163. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css +5 -0
  164. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +21 -0
  165. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -0
  166. package/dist/esm/cms-fields/components/audio/actions/actions-menu/index.js +3 -0
  167. package/dist/esm/cms-fields/components/audio/actions/actions-menu/index.js.map +1 -0
  168. package/dist/esm/cms-fields/components/audio/actions/actions-menu/types.js +2 -0
  169. package/dist/esm/cms-fields/components/audio/actions/actions-menu/types.js.map +1 -0
  170. package/dist/esm/cms-fields/components/audio/audio-field/audio-view.js +37 -0
  171. package/dist/esm/cms-fields/components/audio/audio-field/audio-view.js.map +1 -0
  172. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.js +131 -0
  173. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.js.map +1 -0
  174. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css +28 -0
  175. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +27 -0
  176. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -0
  177. package/dist/esm/cms-fields/components/audio/audio-field/index.js +3 -0
  178. package/dist/esm/cms-fields/components/audio/audio-field/index.js.map +1 -0
  179. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.js +41 -0
  180. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.js.map +1 -0
  181. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css +11 -0
  182. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js +18 -0
  183. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -0
  184. package/dist/esm/cms-fields/components/audio/audio-player/index.js +2 -0
  185. package/dist/esm/cms-fields/components/audio/audio-player/index.js.map +1 -0
  186. package/dist/esm/cms-fields/components/audio/index.js +3 -0
  187. package/dist/esm/cms-fields/components/audio/index.js.map +1 -0
  188. package/dist/esm/cms-fields/components/common.js +1 -1
  189. package/dist/esm/cms-fields/components/common.js.map +1 -1
  190. package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
  191. package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  192. package/dist/esm/cms-fields/components/document/document-control.js +13 -3
  193. package/dist/esm/cms-fields/components/document/document-control.js.map +1 -1
  194. package/dist/esm/cms-fields/components/document/form-document-field.js +3 -1
  195. package/dist/esm/cms-fields/components/document/form-document-field.js.map +1 -1
  196. package/dist/esm/cms-fields/components/document/form-document-field.st.css.js +7 -7
  197. package/dist/esm/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
  198. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
  199. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
  200. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.js +29 -0
  201. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.js.map +1 -0
  202. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css +39 -0
  203. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js +27 -0
  204. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -0
  205. package/dist/esm/cms-fields/components/highlighted-text/index.js +2 -0
  206. package/dist/esm/cms-fields/components/highlighted-text/index.js.map +1 -0
  207. package/dist/esm/cms-fields/components/index.js +1 -0
  208. package/dist/esm/cms-fields/components/index.js.map +1 -1
  209. package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
  210. package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
  211. package/dist/esm/cms-fields/components/media-control/use-media-control.js +63 -18
  212. package/dist/esm/cms-fields/components/media-control/use-media-control.js.map +1 -1
  213. package/dist/esm/cms-fields/components/media-image/media-image.st.css.js +4 -4
  214. package/dist/esm/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
  215. package/dist/esm/cms-fields/components/media-loader/index.js +2 -0
  216. package/dist/esm/cms-fields/components/media-loader/index.js.map +1 -0
  217. package/dist/esm/cms-fields/components/media-loader/media-loader.js +21 -0
  218. package/dist/esm/cms-fields/components/media-loader/media-loader.js.map +1 -0
  219. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css +20 -0
  220. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js +25 -0
  221. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -0
  222. package/dist/esm/cms-fields/components/media-tag/highlighted-media-tag.js +18 -0
  223. package/dist/esm/cms-fields/components/media-tag/highlighted-media-tag.js.map +1 -0
  224. package/dist/esm/cms-fields/components/media-tag/index.js +3 -0
  225. package/dist/esm/cms-fields/components/media-tag/index.js.map +1 -0
  226. package/dist/esm/cms-fields/components/media-tag/web-media-tag/index.js +3 -0
  227. package/dist/esm/cms-fields/components/media-tag/web-media-tag/index.js.map +1 -0
  228. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.js +31 -0
  229. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.js.map +1 -0
  230. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css +12 -0
  231. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +21 -0
  232. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -0
  233. package/dist/esm/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.js +25 -0
  234. package/dist/esm/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.js.map +1 -0
  235. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.js +3 -1
  236. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
  237. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.js +3 -1
  238. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.js.map +1 -1
  239. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  240. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  241. package/dist/esm/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  242. 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
  243. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  244. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  245. 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
  246. 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
  247. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  248. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  249. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  250. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  251. 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
  252. 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
  253. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
  254. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  255. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  256. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  257. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  258. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  259. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  260. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  261. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  262. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  263. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  264. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  265. package/dist/esm/cms-fields/components/text/text-view.st.css.js +3 -3
  266. package/dist/esm/cms-fields/components/text/text-view.st.css.js.map +1 -1
  267. package/dist/esm/cms-fields/hooks/index.js +1 -0
  268. package/dist/esm/cms-fields/hooks/index.js.map +1 -1
  269. package/dist/esm/cms-fields/hooks/use-resize-effect.js +11 -0
  270. package/dist/esm/cms-fields/hooks/use-resize-effect.js.map +1 -0
  271. package/dist/esm/cms-fields/utils/fuzzy-search.js +2 -0
  272. package/dist/esm/cms-fields/utils/fuzzy-search.js.map +1 -0
  273. package/dist/esm/cms-fields/utils/get-app-bounding-rect.js.map +1 -1
  274. package/dist/esm/cms-fields/utils/get-app-popover-max-height.js +16 -0
  275. package/dist/esm/cms-fields/utils/get-app-popover-max-height.js.map +1 -0
  276. package/dist/esm/cms-fields/utils/get-schema-type.js +2 -0
  277. package/dist/esm/cms-fields/utils/get-schema-type.js.map +1 -0
  278. package/dist/esm/cms-fields/utils/index.js +4 -0
  279. package/dist/esm/cms-fields/utils/index.js.map +1 -1
  280. package/dist/esm/cms-fields/utils/media-utils.js +2 -18
  281. package/dist/esm/cms-fields/utils/media-utils.js.map +1 -1
  282. package/dist/esm/cms-fields/validations/email.js +22 -0
  283. package/dist/esm/cms-fields/validations/email.js.map +1 -0
  284. package/dist/esm/components/fields/Audio.js +44 -0
  285. package/dist/esm/components/fields/Audio.js.map +1 -0
  286. package/dist/esm/components/fields/Email.js +53 -0
  287. package/dist/esm/components/fields/Email.js.map +1 -0
  288. package/dist/esm/components/fields/index.js +2 -0
  289. package/dist/esm/components/fields/index.js.map +1 -1
  290. package/dist/esm/components/layouts/FormField.js +4 -2
  291. package/dist/esm/components/layouts/FormField.js.map +1 -1
  292. package/dist/esm/components/layouts/ViewField.js +5 -0
  293. package/dist/esm/components/layouts/ViewField.js.map +1 -1
  294. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +8 -1
  295. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  296. package/dist/esm/dataSourceAdapters/cms/filterUtils.js +4 -4
  297. package/dist/esm/dataSourceAdapters/cms/filterUtils.js.map +1 -1
  298. package/dist/esm/hooks/getFilterComponent.js +2 -0
  299. package/dist/esm/hooks/getFilterComponent.js.map +1 -1
  300. package/dist/esm/hooks/useColumns.js +5 -1
  301. package/dist/esm/hooks/useColumns.js.map +1 -1
  302. package/dist/esm/hooks/useFiltersState.js +2 -0
  303. package/dist/esm/hooks/useFiltersState.js.map +1 -1
  304. package/dist/esm/services/translations.js.map +1 -1
  305. package/dist/esm/styles.global.css +1 -1
  306. package/dist/esm/types/types.js.map +1 -1
  307. package/dist/types/cms-fields/components/audio/actions/actions-button/actions-button.d.ts +10 -0
  308. package/dist/types/cms-fields/components/audio/actions/actions-button/actions-button.d.ts.map +1 -0
  309. package/dist/types/cms-fields/components/audio/actions/actions-button/index.d.ts +2 -0
  310. package/dist/types/cms-fields/components/audio/actions/actions-button/index.d.ts.map +1 -0
  311. package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.d.ts +29 -0
  312. package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.d.ts.map +1 -0
  313. package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.d.ts +16 -0
  314. package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.d.ts.map +1 -0
  315. package/dist/types/cms-fields/components/audio/actions/actions-menu/index.d.ts +3 -0
  316. package/dist/types/cms-fields/components/audio/actions/actions-menu/index.d.ts.map +1 -0
  317. package/dist/types/cms-fields/components/audio/actions/actions-menu/types.d.ts +13 -0
  318. package/dist/types/cms-fields/components/audio/actions/actions-menu/types.d.ts.map +1 -0
  319. package/dist/types/cms-fields/components/audio/audio-field/audio-view.d.ts +4 -0
  320. package/dist/types/cms-fields/components/audio/audio-field/audio-view.d.ts.map +1 -0
  321. package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.d.ts +4 -0
  322. package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.d.ts.map +1 -0
  323. package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.st.css.d.ts +22 -0
  324. package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.st.css.d.ts.map +1 -0
  325. package/dist/types/cms-fields/components/audio/audio-field/index.d.ts +3 -0
  326. package/dist/types/cms-fields/components/audio/audio-field/index.d.ts.map +1 -0
  327. package/dist/types/cms-fields/components/audio/audio-player/audio-player.d.ts +8 -0
  328. package/dist/types/cms-fields/components/audio/audio-player/audio-player.d.ts.map +1 -0
  329. package/dist/types/cms-fields/components/audio/audio-player/audio-player.st.css.d.ts +13 -0
  330. package/dist/types/cms-fields/components/audio/audio-player/audio-player.st.css.d.ts.map +1 -0
  331. package/dist/types/cms-fields/components/audio/audio-player/index.d.ts +2 -0
  332. package/dist/types/cms-fields/components/audio/audio-player/index.d.ts.map +1 -0
  333. package/dist/types/cms-fields/components/audio/index.d.ts +3 -0
  334. package/dist/types/cms-fields/components/audio/index.d.ts.map +1 -0
  335. package/dist/types/cms-fields/components/common.d.ts +1 -0
  336. package/dist/types/cms-fields/components/common.d.ts.map +1 -1
  337. package/dist/types/cms-fields/components/delete-dialog/delete-dialog.st.css.d.ts.map +1 -1
  338. package/dist/types/cms-fields/components/document/document-control.d.ts +1 -0
  339. package/dist/types/cms-fields/components/document/document-control.d.ts.map +1 -1
  340. package/dist/types/cms-fields/components/document/form-document-field.d.ts.map +1 -1
  341. package/dist/types/cms-fields/components/document/form-document-field.st.css.d.ts.map +1 -1
  342. package/dist/types/cms-fields/components/exclamation/exclamation.st.css.d.ts.map +1 -1
  343. package/dist/types/cms-fields/components/highlighted-text/highlighted-text.d.ts +10 -0
  344. package/dist/types/cms-fields/components/highlighted-text/highlighted-text.d.ts.map +1 -0
  345. package/dist/types/cms-fields/components/highlighted-text/highlighted-text.st.css.d.ts +22 -0
  346. package/dist/types/cms-fields/components/highlighted-text/highlighted-text.st.css.d.ts.map +1 -0
  347. package/dist/types/cms-fields/components/highlighted-text/index.d.ts +2 -0
  348. package/dist/types/cms-fields/components/highlighted-text/index.d.ts.map +1 -0
  349. package/dist/types/cms-fields/components/index.d.ts +1 -0
  350. package/dist/types/cms-fields/components/index.d.ts.map +1 -1
  351. package/dist/types/cms-fields/components/media-control/paste-url-button.st.css.d.ts.map +1 -1
  352. package/dist/types/cms-fields/components/media-control/use-media-control.d.ts +2 -1
  353. package/dist/types/cms-fields/components/media-control/use-media-control.d.ts.map +1 -1
  354. package/dist/types/cms-fields/components/media-loader/index.d.ts +2 -0
  355. package/dist/types/cms-fields/components/media-loader/index.d.ts.map +1 -0
  356. package/dist/types/cms-fields/components/media-loader/media-loader.d.ts +7 -0
  357. package/dist/types/cms-fields/components/media-loader/media-loader.d.ts.map +1 -0
  358. package/dist/types/cms-fields/components/media-loader/media-loader.st.css.d.ts +20 -0
  359. package/dist/types/cms-fields/components/media-loader/media-loader.st.css.d.ts.map +1 -0
  360. package/dist/types/cms-fields/components/media-tag/highlighted-media-tag.d.ts +8 -0
  361. package/dist/types/cms-fields/components/media-tag/highlighted-media-tag.d.ts.map +1 -0
  362. package/dist/types/cms-fields/components/media-tag/index.d.ts +3 -0
  363. package/dist/types/cms-fields/components/media-tag/index.d.ts.map +1 -0
  364. package/dist/types/cms-fields/components/media-tag/web-media-tag/index.d.ts +5 -0
  365. package/dist/types/cms-fields/components/media-tag/web-media-tag/index.d.ts.map +1 -0
  366. package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.d.ts +10 -0
  367. package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.d.ts.map +1 -0
  368. package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.d.ts +16 -0
  369. package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.d.ts.map +1 -0
  370. package/dist/types/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.d.ts +8 -0
  371. package/dist/types/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.d.ts.map +1 -0
  372. package/dist/types/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.d.ts.map +1 -1
  373. package/dist/types/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.d.ts +1 -0
  374. package/dist/types/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.d.ts.map +1 -1
  375. package/dist/types/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.d.ts.map +1 -1
  376. package/dist/types/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.d.ts.map +1 -1
  377. package/dist/types/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.d.ts.map +1 -1
  378. package/dist/types/cms-fields/components/text/text-view.st.css.d.ts.map +1 -1
  379. package/dist/types/cms-fields/hooks/index.d.ts +1 -0
  380. package/dist/types/cms-fields/hooks/index.d.ts.map +1 -1
  381. package/dist/types/cms-fields/hooks/use-resize-effect.d.ts +2 -0
  382. package/dist/types/cms-fields/hooks/use-resize-effect.d.ts.map +1 -0
  383. package/dist/types/cms-fields/utils/fuzzy-search.d.ts +5 -0
  384. package/dist/types/cms-fields/utils/fuzzy-search.d.ts.map +1 -0
  385. package/dist/types/cms-fields/utils/get-app-popover-max-height.d.ts +5 -0
  386. package/dist/types/cms-fields/utils/get-app-popover-max-height.d.ts.map +1 -0
  387. package/dist/types/cms-fields/utils/get-schema-type.d.ts +8 -0
  388. package/dist/types/cms-fields/utils/get-schema-type.d.ts.map +1 -0
  389. package/dist/types/cms-fields/utils/index.d.ts +4 -0
  390. package/dist/types/cms-fields/utils/index.d.ts.map +1 -1
  391. package/dist/types/cms-fields/utils/media-utils.d.ts +1 -4
  392. package/dist/types/cms-fields/utils/media-utils.d.ts.map +1 -1
  393. package/dist/types/cms-fields/validations/email.d.ts +2 -0
  394. package/dist/types/cms-fields/validations/email.d.ts.map +1 -0
  395. package/dist/types/components/fields/Audio.d.ts +6 -0
  396. package/dist/types/components/fields/Audio.d.ts.map +1 -0
  397. package/dist/types/components/fields/Email.d.ts +6 -0
  398. package/dist/types/components/fields/Email.d.ts.map +1 -0
  399. package/dist/types/components/fields/index.d.ts +2 -0
  400. package/dist/types/components/fields/index.d.ts.map +1 -1
  401. package/dist/types/components/layouts/FormField.d.ts.map +1 -1
  402. package/dist/types/components/layouts/ViewField.d.ts.map +1 -1
  403. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
  404. package/dist/types/dataSourceAdapters/cms/filterUtils.d.ts.map +1 -1
  405. package/dist/types/hooks/getFilterComponent.d.ts.map +1 -1
  406. package/dist/types/hooks/useColumns.d.ts.map +1 -1
  407. package/dist/types/hooks/useFiltersState.d.ts.map +1 -1
  408. package/dist/types/services/translations.d.ts +1 -1
  409. package/dist/types/services/translations.d.ts.map +1 -1
  410. package/dist/types/types/types.d.ts +1 -1
  411. package/dist/types/types/types.d.ts.map +1 -1
  412. package/package.json +4 -3
@@ -1,7 +1,8 @@
1
1
  import React, { useCallback, useRef } from 'react';
2
- import { getMediaTitle, getMediaURL } from '../../utils/media-utils';
2
+ import { getMediaTitle } from '../../utils/media-utils';
3
+ import { getMediaURL } from '@wix/auto-cms-field-types';
3
4
  import { Text, Box, TableListItem, TableActionCell } from '@wix/design-system';
4
- import { Delete, Replace, Document, Link } from '@wix/wix-ui-icons-common';
5
+ import { Delete, Replace, Document, Link, Download } from '@wix/wix-ui-icons-common';
5
6
  import { useTranslations } from '../../hooks';
6
7
  import { classes } from './form-document-field.st.css.js';
7
8
  import { DocumentLoader } from './document-loader';
@@ -33,6 +34,7 @@ export const DocumentControl = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
33
34
  readOnly,
34
35
  onReplace,
35
36
  onDelete,
37
+ onDownload,
36
38
  dataHook,
37
39
  className,
38
40
  loading,
@@ -50,10 +52,12 @@ export const DocumentControl = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
50
52
  const handleOpenDocument = useCallback(() => {
51
53
  openDocument(getMediaURL(mediaURI, metaSiteId));
52
54
  }, [mediaURI, metaSiteId]);
55
+ const handleDownload = useCallback(() => {
56
+ onDownload(mediaURI);
57
+ }, [mediaURI, onDownload]);
53
58
  const containerRef = useRef(null);
54
59
  const handleOnKeydown = useCallback(event => {
55
60
  var _containerRef$current;
56
- // TODO: find a better way how to handle keydown
57
61
  const actions = containerRef == null || (_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.querySelector(`[data-hook="document-view-actions-button"]`);
58
62
  if (actions != null && actions.contains(document.activeElement)) {
59
63
  return;
@@ -95,6 +99,12 @@ export const DocumentControl = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
95
99
  minWidth: '232px'
96
100
  },
97
101
  secondaryActions: [{
102
+ icon: /*#__PURE__*/React.createElement(Download, null),
103
+ onClick: handleDownload,
104
+ disabled: readOnly,
105
+ dataHook: 'document-view-download-action',
106
+ text: t('CMS.document.action.download')
107
+ }, {
98
108
  icon: /*#__PURE__*/React.createElement(Replace, null),
99
109
  onClick: onReplace,
100
110
  text: t('CMS.document.action.replace'),
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useRef","getMediaTitle","getMediaURL","Text","Box","TableListItem","TableActionCell","Delete","Replace","Document","Link","useTranslations","classes","DocumentLoader","openDocument","useWixPatternsContainer","DOCUMENT_VIEW_ACTIONS_WIDTH","DocumentComponent","_ref","mediaURI","createElement","gap","verticalAlign","className","textWidth","width","height","children","dataHook","secondary","ellipsis","DocumentControl","forwardRef","_ref2","ref","readOnly","onReplace","onDelete","loading","loaderBorderStyle","loaderClassName","onOpenPasteURLForm","t","environment","metaSiteId","msid","handleOpenDocument","containerRef","handleOnKeydown","event","_containerRef$current","actions","current","querySelector","contains","document","activeElement","key","borderStyle","onKeyDown","onClick","verticalPadding","options","value","alwaysShowSecondaryActions","numOfVisibleSecondaryActions","primaryAction","skin","text","popoverMenuProps","textSize","minWidth","secondaryActions","icon","disabled","divider","align"],"sources":["../../../../../src/cms-fields/components/document/document-control.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\n\nimport { getMediaTitle, getMediaURL } from '../../utils/media-utils';\nimport type { TableListItemImperativeActions } from '@wix/design-system';\nimport { Text, Box, TableListItem, TableActionCell } from '@wix/design-system';\nimport { Delete, Replace, Document, Link } from '@wix/wix-ui-icons-common';\nimport { useTranslations } from '../../hooks';\n\nimport { classes } from './form-document-field.st.css.js';\nimport { DocumentLoader } from './document-loader';\nimport { openDocument } from './utils';\nimport { useWixPatternsContainer } from '@wix/patterns';\n\nconst DOCUMENT_VIEW_ACTIONS_WIDTH = '196px';\n\nconst DocumentComponent = ({ mediaURI }: { mediaURI: string }) => {\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\" className={classes.textWidth}>\n <Box width=\"24px\" height=\"24px\" children={<Document />} />\n <Text\n dataHook=\"document-view-name\"\n secondary\n ellipsis\n children={getMediaTitle(mediaURI)}\n />\n </Box>\n );\n};\ninterface DocumentControl {\n mediaURI: string;\n readOnly?: boolean;\n onReplace: () => void;\n onDelete: () => void;\n className?: string;\n loading: boolean;\n loaderBorderStyle?: 'solid' | 'dashed';\n loaderClassName?: string;\n dataHook?: string;\n onOpenPasteURLForm: () => void;\n}\n\nexport const DocumentControl = React.forwardRef<\n TableListItemImperativeActions,\n DocumentControl\n>(\n (\n {\n mediaURI,\n readOnly,\n onReplace,\n onDelete,\n dataHook,\n className,\n loading,\n loaderBorderStyle,\n loaderClassName,\n onOpenPasteURLForm,\n },\n ref,\n ) => {\n const { t } = useTranslations();\n const { environment } = useWixPatternsContainer();\n const metaSiteId = environment.msid;\n\n const handleOpenDocument = useCallback(() => {\n openDocument(getMediaURL(mediaURI, metaSiteId));\n }, [mediaURI, metaSiteId]);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const handleOnKeydown = useCallback<React.KeyboardEventHandler>(\n (event) => {\n // TODO: find a better way how to handle keydown\n const actions = containerRef?.current?.querySelector(\n `[data-hook=\"document-view-actions-button\"]`,\n );\n\n if (actions?.contains(document.activeElement)) {\n return;\n }\n\n if (event.key === 'Enter') {\n handleOpenDocument();\n }\n },\n [handleOpenDocument, containerRef],\n );\n\n return loading ? (\n <DocumentLoader\n borderStyle={loaderBorderStyle}\n className={loaderClassName}\n />\n ) : (\n <div ref={containerRef} onKeyDown={handleOnKeydown}>\n <TableListItem\n dataHook={dataHook}\n ref={ref}\n className={className}\n onClick={handleOpenDocument}\n verticalPadding=\"tiny\"\n options={[\n {\n value: <DocumentComponent mediaURI={mediaURI} />,\n width: '75%',\n },\n {\n value: (\n <TableActionCell\n dataHook=\"document-view-actions-button\"\n alwaysShowSecondaryActions\n numOfVisibleSecondaryActions={1}\n primaryAction={{\n onClick: handleOpenDocument,\n skin: 'standard',\n text: t('CMS.document.action.open'),\n dataHook: 'document-view-open-action',\n }}\n popoverMenuProps={{\n textSize: 'medium',\n minWidth: '232px',\n }}\n secondaryActions={[\n {\n icon: <Replace />,\n onClick: onReplace,\n text: t('CMS.document.action.replace'),\n dataHook: 'document-view-replace-action',\n disabled: readOnly,\n },\n {\n icon: <Link />,\n onClick: onOpenPasteURLForm,\n text: t('CMS.document.action.replaceWithUrl'),\n dataHook: 'document-view-replace-with-url-action',\n disabled: readOnly,\n },\n {\n divider: true,\n },\n {\n icon: <Delete />,\n onClick: onDelete,\n text: t('CMS.document.action.delete'),\n dataHook: 'document-view-delete-action',\n disabled: readOnly,\n },\n ]}\n />\n ),\n width: DOCUMENT_VIEW_ACTIONS_WIDTH,\n align: 'right',\n },\n ]}\n />\n </div>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useRef","getMediaTitle","getMediaURL","Text","Box","TableListItem","TableActionCell","Delete","Replace","Document","Link","Download","useTranslations","classes","DocumentLoader","openDocument","useWixPatternsContainer","DOCUMENT_VIEW_ACTIONS_WIDTH","DocumentComponent","_ref","mediaURI","createElement","gap","verticalAlign","className","textWidth","width","height","children","dataHook","secondary","ellipsis","DocumentControl","forwardRef","_ref2","ref","readOnly","onReplace","onDelete","onDownload","loading","loaderBorderStyle","loaderClassName","onOpenPasteURLForm","t","environment","metaSiteId","msid","handleOpenDocument","handleDownload","containerRef","handleOnKeydown","event","_containerRef$current","actions","current","querySelector","contains","document","activeElement","key","borderStyle","onKeyDown","onClick","verticalPadding","options","value","alwaysShowSecondaryActions","numOfVisibleSecondaryActions","primaryAction","skin","text","popoverMenuProps","textSize","minWidth","secondaryActions","icon","disabled","divider","align"],"sources":["../../../../../src/cms-fields/components/document/document-control.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\n\nimport { getMediaTitle } from '../../utils/media-utils';\nimport { getMediaURL } from '@wix/auto-cms-field-types';\nimport type { TableListItemImperativeActions } from '@wix/design-system';\nimport { Text, Box, TableListItem, TableActionCell } from '@wix/design-system';\nimport {\n Delete,\n Replace,\n Document,\n Link,\n Download,\n} from '@wix/wix-ui-icons-common';\nimport { useTranslations } from '../../hooks';\n\nimport { classes } from './form-document-field.st.css.js';\nimport { DocumentLoader } from './document-loader';\nimport { openDocument } from './utils';\nimport { useWixPatternsContainer } from '@wix/patterns';\n\nconst DOCUMENT_VIEW_ACTIONS_WIDTH = '196px';\n\nconst DocumentComponent = ({ mediaURI }: { mediaURI: string }) => {\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\" className={classes.textWidth}>\n <Box width=\"24px\" height=\"24px\" children={<Document />} />\n <Text\n dataHook=\"document-view-name\"\n secondary\n ellipsis\n children={getMediaTitle(mediaURI)}\n />\n </Box>\n );\n};\ninterface DocumentControl {\n mediaURI: string;\n readOnly?: boolean;\n onReplace: () => void;\n onDelete: () => void;\n onDownload: (mediaURI: string) => void;\n className?: string;\n loading: boolean;\n loaderBorderStyle?: 'solid' | 'dashed';\n loaderClassName?: string;\n dataHook?: string;\n onOpenPasteURLForm: () => void;\n}\n\nexport const DocumentControl = React.forwardRef<\n TableListItemImperativeActions,\n DocumentControl\n>(\n (\n {\n mediaURI,\n readOnly,\n onReplace,\n onDelete,\n onDownload,\n dataHook,\n className,\n loading,\n loaderBorderStyle,\n loaderClassName,\n onOpenPasteURLForm,\n },\n ref,\n ) => {\n const { t } = useTranslations();\n const { environment } = useWixPatternsContainer();\n const metaSiteId = environment.msid;\n\n const handleOpenDocument = useCallback(() => {\n openDocument(getMediaURL(mediaURI, metaSiteId));\n }, [mediaURI, metaSiteId]);\n\n const handleDownload = useCallback(() => {\n onDownload(mediaURI);\n }, [mediaURI, onDownload]);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const handleOnKeydown = useCallback<React.KeyboardEventHandler>(\n (event) => {\n const actions = containerRef?.current?.querySelector(\n `[data-hook=\"document-view-actions-button\"]`,\n );\n\n if (actions?.contains(document.activeElement)) {\n return;\n }\n\n if (event.key === 'Enter') {\n handleOpenDocument();\n }\n },\n [handleOpenDocument, containerRef],\n );\n\n return loading ? (\n <DocumentLoader\n borderStyle={loaderBorderStyle}\n className={loaderClassName}\n />\n ) : (\n <div ref={containerRef} onKeyDown={handleOnKeydown}>\n <TableListItem\n dataHook={dataHook}\n ref={ref}\n className={className}\n onClick={handleOpenDocument}\n verticalPadding=\"tiny\"\n options={[\n {\n value: <DocumentComponent mediaURI={mediaURI} />,\n width: '75%',\n },\n {\n value: (\n <TableActionCell\n dataHook=\"document-view-actions-button\"\n alwaysShowSecondaryActions\n numOfVisibleSecondaryActions={1}\n primaryAction={{\n onClick: handleOpenDocument,\n skin: 'standard',\n text: t('CMS.document.action.open'),\n dataHook: 'document-view-open-action',\n }}\n popoverMenuProps={{\n textSize: 'medium',\n minWidth: '232px',\n }}\n secondaryActions={[\n {\n icon: <Download />,\n onClick: handleDownload,\n disabled: readOnly,\n dataHook: 'document-view-download-action',\n text: t('CMS.document.action.download'),\n },\n {\n icon: <Replace />,\n onClick: onReplace,\n text: t('CMS.document.action.replace'),\n dataHook: 'document-view-replace-action',\n disabled: readOnly,\n },\n {\n icon: <Link />,\n onClick: onOpenPasteURLForm,\n text: t('CMS.document.action.replaceWithUrl'),\n dataHook: 'document-view-replace-with-url-action',\n disabled: readOnly,\n },\n {\n divider: true,\n },\n {\n icon: <Delete />,\n onClick: onDelete,\n text: t('CMS.document.action.delete'),\n dataHook: 'document-view-delete-action',\n disabled: readOnly,\n },\n ]}\n />\n ),\n width: DOCUMENT_VIEW_ACTIONS_WIDTH,\n align: 'right',\n },\n ]}\n />\n </div>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
@@ -26,7 +26,8 @@ export const FormDocumentField = _ref => {
26
26
  const viewRef = useRef(null);
27
27
  const {
28
28
  callMedia,
29
- loading
29
+ loading,
30
+ downloadMedia
30
31
  } = useMediaControl({
31
32
  mediaType: MEDIA_TYPES.ALL_MEDIA,
32
33
  value: data,
@@ -64,6 +65,7 @@ export const FormDocumentField = _ref => {
64
65
  readOnly: readOnly,
65
66
  onReplace: callMedia,
66
67
  onDelete: onClear,
68
+ onDownload: downloadMedia,
67
69
  className: classes.viewWrapper,
68
70
  loading: loading,
69
71
  loaderBorderStyle: "solid",
@@ -1 +1 @@
1
- {"version":3,"names":["React","useRef","MEDIA_TYPES","useTranslations","useWithCallback","PasteURLForm","useMediaControl","usePasteURLForm","DocumentControl","classes","FormDocumentInput","documentClasses","FormDocumentField","_ref","data","onChange","onChangeDocument","onClear","onClearDocument","onInput","autoFocus","readOnly","invalid","dataHook","t","inputRef","viewRef","callMedia","loading","mediaType","ALL_MEDIA","value","isOpen","title","onOpen","onClose","onSave","createElement","Fragment","ref","theme","disabled","error","loaderBorderStyle","onAddButtonClick","onPasteURLButtonClick","mediaURI","onReplace","onDelete","className","viewWrapper","onOpenPasteURLForm","show","closeModal"],"sources":["../../../../../src/cms-fields/components/document/form-document-field.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport { MEDIA_TYPES } from '../../utils/media-utils';\nimport { useTranslations, useWithCallback } from '../../hooks';\nimport type { AddItemActions } from '@wix/design-system';\n\nimport type { FormMediaControlProps } from '../media-control';\nimport {\n PasteURLForm,\n useMediaControl,\n usePasteURLForm,\n} from '../media-control';\n\nimport { DocumentControl } from './document-control';\nimport { classes } from './form-document-field.st.css.js';\nimport { FormDocumentInput } from './form-document-input';\n\nexport { classes as documentClasses } from './form-document-field.st.css.js';\n\nexport const FormDocumentField: React.FC<FormMediaControlProps> = ({\n data,\n onChange: onChangeDocument,\n onClear: onClearDocument,\n onInput,\n autoFocus,\n readOnly,\n invalid,\n dataHook,\n}) => {\n const { t } = useTranslations();\n\n const onChange = useWithCallback(onChangeDocument, onInput);\n const onClear = useWithCallback(onClearDocument, onInput);\n\n const inputRef = useRef<AddItemActions>(null);\n const viewRef = useRef<HTMLDivElement>(null);\n\n const { callMedia, loading } = useMediaControl({\n mediaType: MEDIA_TYPES.ALL_MEDIA,\n value: data,\n onChange,\n autoFocus,\n readOnly,\n inputRef,\n viewRef,\n });\n\n const { isOpen, title, onOpen, onClose, onSave } = usePasteURLForm({\n onChange,\n });\n\n return (\n <>\n {!data ? (\n <FormDocumentInput\n dataHook={dataHook}\n ref={inputRef}\n theme=\"dashes\"\n disabled={readOnly}\n loading={loading}\n error={invalid}\n loaderBorderStyle=\"dashed\"\n onAddButtonClick={callMedia}\n onPasteURLButtonClick={onOpen({\n title: t('CMS.document.pasteUrl.title'),\n })}\n />\n ) : (\n <DocumentControl\n dataHook={dataHook}\n ref={viewRef}\n mediaURI={data}\n readOnly={readOnly}\n onReplace={callMedia}\n onDelete={onClear}\n className={classes.viewWrapper}\n loading={loading}\n loaderBorderStyle=\"solid\"\n onOpenPasteURLForm={onOpen({\n title: t('CMS.document.replaceWithUrl.title'),\n })}\n />\n )}\n <PasteURLForm\n title={title}\n value={data}\n show={isOpen}\n closeModal={onClose}\n onSave={onSave}\n />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AAErC,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SAASC,eAAe,EAAEC,eAAe,QAAQ,aAAa;AAI9D,SACEC,YAAY,EACZC,eAAe,EACfC,eAAe,QACV,kBAAkB;AAEzB,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,iBAAiB,QAAQ,uBAAuB;AAEzD,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAAiC;AAE5E,OAAO,MAAMC,iBAAkD,GAAGC,IAAA,IAS5D;EAAA,IAT6D;IACjEC,IAAI;IACJC,QAAQ,EAAEC,gBAAgB;IAC1BC,OAAO,EAAEC,eAAe;IACxBC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,OAAO;IACPC;EACF,CAAC,GAAAV,IAAA;EACC,MAAM;IAAEW;EAAE,CAAC,GAAGrB,eAAe,CAAC,CAAC;EAE/B,MAAMY,QAAQ,GAAGX,eAAe,CAACY,gBAAgB,EAAEG,OAAO,CAAC;EAC3D,MAAMF,OAAO,GAAGb,eAAe,CAACc,eAAe,EAAEC,OAAO,CAAC;EAEzD,MAAMM,QAAQ,GAAGxB,MAAM,CAAiB,IAAI,CAAC;EAC7C,MAAMyB,OAAO,GAAGzB,MAAM,CAAiB,IAAI,CAAC;EAE5C,MAAM;IAAE0B,SAAS;IAAEC;EAAQ,CAAC,GAAGtB,eAAe,CAAC;IAC7CuB,SAAS,EAAE3B,WAAW,CAAC4B,SAAS;IAChCC,KAAK,EAAEjB,IAAI;IACXC,QAAQ;IACRK,SAAS;IACTC,QAAQ;IACRI,QAAQ;IACRC;EACF,CAAC,CAAC;EAEF,MAAM;IAAEM,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAG7B,eAAe,CAAC;IACjEQ;EACF,CAAC,CAAC;EAEF,oBACEf,KAAA,CAAAqC,aAAA,CAAArC,KAAA,CAAAsC,QAAA,QACG,CAACxB,IAAI,gBACJd,KAAA,CAAAqC,aAAA,CAAC3B,iBAAiB;IAChBa,QAAQ,EAAEA,QAAS;IACnBgB,GAAG,EAAEd,QAAS;IACde,KAAK,EAAC,QAAQ;IACdC,QAAQ,EAAEpB,QAAS;IACnBO,OAAO,EAAEA,OAAQ;IACjBc,KAAK,EAAEpB,OAAQ;IACfqB,iBAAiB,EAAC,QAAQ;IAC1BC,gBAAgB,EAAEjB,SAAU;IAC5BkB,qBAAqB,EAAEX,MAAM,CAAC;MAC5BD,KAAK,EAAET,CAAC,CAAC,6BAA6B;IACxC,CAAC;EAAE,CACJ,CAAC,gBAEFxB,KAAA,CAAAqC,aAAA,CAAC7B,eAAe;IACde,QAAQ,EAAEA,QAAS;IACnBgB,GAAG,EAAEb,OAAQ;IACboB,QAAQ,EAAEhC,IAAK;IACfO,QAAQ,EAAEA,QAAS;IACnB0B,SAAS,EAAEpB,SAAU;IACrBqB,QAAQ,EAAE/B,OAAQ;IAClBgC,SAAS,EAAExC,OAAO,CAACyC,WAAY;IAC/BtB,OAAO,EAAEA,OAAQ;IACjBe,iBAAiB,EAAC,OAAO;IACzBQ,kBAAkB,EAAEjB,MAAM,CAAC;MACzBD,KAAK,EAAET,CAAC,CAAC,mCAAmC;IAC9C,CAAC;EAAE,CACJ,CACF,eACDxB,KAAA,CAAAqC,aAAA,CAAChC,YAAY;IACX4B,KAAK,EAAEA,KAAM;IACbF,KAAK,EAAEjB,IAAK;IACZsC,IAAI,EAAEpB,MAAO;IACbqB,UAAU,EAAElB,OAAQ;IACpBC,MAAM,EAAEA;EAAO,CAChB,CACD,CAAC;AAEP,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useRef","MEDIA_TYPES","useTranslations","useWithCallback","PasteURLForm","useMediaControl","usePasteURLForm","DocumentControl","classes","FormDocumentInput","documentClasses","FormDocumentField","_ref","data","onChange","onChangeDocument","onClear","onClearDocument","onInput","autoFocus","readOnly","invalid","dataHook","t","inputRef","viewRef","callMedia","loading","downloadMedia","mediaType","ALL_MEDIA","value","isOpen","title","onOpen","onClose","onSave","createElement","Fragment","ref","theme","disabled","error","loaderBorderStyle","onAddButtonClick","onPasteURLButtonClick","mediaURI","onReplace","onDelete","onDownload","className","viewWrapper","onOpenPasteURLForm","show","closeModal"],"sources":["../../../../../src/cms-fields/components/document/form-document-field.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport { MEDIA_TYPES } from '../../utils/media-utils';\nimport { useTranslations, useWithCallback } from '../../hooks';\nimport type { AddItemActions } from '@wix/design-system';\n\nimport type { FormMediaControlProps } from '../media-control';\nimport {\n PasteURLForm,\n useMediaControl,\n usePasteURLForm,\n} from '../media-control';\n\nimport { DocumentControl } from './document-control';\nimport { classes } from './form-document-field.st.css.js';\nimport { FormDocumentInput } from './form-document-input';\n\nexport { classes as documentClasses } from './form-document-field.st.css.js';\n\nexport const FormDocumentField: React.FC<FormMediaControlProps> = ({\n data,\n onChange: onChangeDocument,\n onClear: onClearDocument,\n onInput,\n autoFocus,\n readOnly,\n invalid,\n dataHook,\n}) => {\n const { t } = useTranslations();\n\n const onChange = useWithCallback(onChangeDocument, onInput);\n const onClear = useWithCallback(onClearDocument, onInput);\n\n const inputRef = useRef<AddItemActions>(null);\n const viewRef = useRef<HTMLDivElement>(null);\n\n const { callMedia, loading, downloadMedia } = useMediaControl({\n mediaType: MEDIA_TYPES.ALL_MEDIA,\n value: data,\n onChange,\n autoFocus,\n readOnly,\n inputRef,\n viewRef,\n });\n\n const { isOpen, title, onOpen, onClose, onSave } = usePasteURLForm({\n onChange,\n });\n\n return (\n <>\n {!data ? (\n <FormDocumentInput\n dataHook={dataHook}\n ref={inputRef}\n theme=\"dashes\"\n disabled={readOnly}\n loading={loading}\n error={invalid}\n loaderBorderStyle=\"dashed\"\n onAddButtonClick={callMedia}\n onPasteURLButtonClick={onOpen({\n title: t('CMS.document.pasteUrl.title'),\n })}\n />\n ) : (\n <DocumentControl\n dataHook={dataHook}\n ref={viewRef}\n mediaURI={data}\n readOnly={readOnly}\n onReplace={callMedia}\n onDelete={onClear}\n onDownload={downloadMedia}\n className={classes.viewWrapper}\n loading={loading}\n loaderBorderStyle=\"solid\"\n onOpenPasteURLForm={onOpen({\n title: t('CMS.document.replaceWithUrl.title'),\n })}\n />\n )}\n <PasteURLForm\n title={title}\n value={data}\n show={isOpen}\n closeModal={onClose}\n onSave={onSave}\n />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AAErC,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SAASC,eAAe,EAAEC,eAAe,QAAQ,aAAa;AAI9D,SACEC,YAAY,EACZC,eAAe,EACfC,eAAe,QACV,kBAAkB;AAEzB,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,iBAAiB,QAAQ,uBAAuB;AAEzD,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAAiC;AAE5E,OAAO,MAAMC,iBAAkD,GAAGC,IAAA,IAS5D;EAAA,IAT6D;IACjEC,IAAI;IACJC,QAAQ,EAAEC,gBAAgB;IAC1BC,OAAO,EAAEC,eAAe;IACxBC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,OAAO;IACPC;EACF,CAAC,GAAAV,IAAA;EACC,MAAM;IAAEW;EAAE,CAAC,GAAGrB,eAAe,CAAC,CAAC;EAE/B,MAAMY,QAAQ,GAAGX,eAAe,CAACY,gBAAgB,EAAEG,OAAO,CAAC;EAC3D,MAAMF,OAAO,GAAGb,eAAe,CAACc,eAAe,EAAEC,OAAO,CAAC;EAEzD,MAAMM,QAAQ,GAAGxB,MAAM,CAAiB,IAAI,CAAC;EAC7C,MAAMyB,OAAO,GAAGzB,MAAM,CAAiB,IAAI,CAAC;EAE5C,MAAM;IAAE0B,SAAS;IAAEC,OAAO;IAAEC;EAAc,CAAC,GAAGvB,eAAe,CAAC;IAC5DwB,SAAS,EAAE5B,WAAW,CAAC6B,SAAS;IAChCC,KAAK,EAAElB,IAAI;IACXC,QAAQ;IACRK,SAAS;IACTC,QAAQ;IACRI,QAAQ;IACRC;EACF,CAAC,CAAC;EAEF,MAAM;IAAEO,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAG9B,eAAe,CAAC;IACjEQ;EACF,CAAC,CAAC;EAEF,oBACEf,KAAA,CAAAsC,aAAA,CAAAtC,KAAA,CAAAuC,QAAA,QACG,CAACzB,IAAI,gBACJd,KAAA,CAAAsC,aAAA,CAAC5B,iBAAiB;IAChBa,QAAQ,EAAEA,QAAS;IACnBiB,GAAG,EAAEf,QAAS;IACdgB,KAAK,EAAC,QAAQ;IACdC,QAAQ,EAAErB,QAAS;IACnBO,OAAO,EAAEA,OAAQ;IACjBe,KAAK,EAAErB,OAAQ;IACfsB,iBAAiB,EAAC,QAAQ;IAC1BC,gBAAgB,EAAElB,SAAU;IAC5BmB,qBAAqB,EAAEX,MAAM,CAAC;MAC5BD,KAAK,EAAEV,CAAC,CAAC,6BAA6B;IACxC,CAAC;EAAE,CACJ,CAAC,gBAEFxB,KAAA,CAAAsC,aAAA,CAAC9B,eAAe;IACde,QAAQ,EAAEA,QAAS;IACnBiB,GAAG,EAAEd,OAAQ;IACbqB,QAAQ,EAAEjC,IAAK;IACfO,QAAQ,EAAEA,QAAS;IACnB2B,SAAS,EAAErB,SAAU;IACrBsB,QAAQ,EAAEhC,OAAQ;IAClBiC,UAAU,EAAErB,aAAc;IAC1BsB,SAAS,EAAE1C,OAAO,CAAC2C,WAAY;IAC/BxB,OAAO,EAAEA,OAAQ;IACjBgB,iBAAiB,EAAC,OAAO;IACzBS,kBAAkB,EAAElB,MAAM,CAAC;MACzBD,KAAK,EAAEV,CAAC,CAAC,mCAAmC;IAC9C,CAAC;EAAE,CACJ,CACF,eACDxB,KAAA,CAAAsC,aAAA,CAACjC,YAAY;IACX6B,KAAK,EAAEA,KAAM;IACbF,KAAK,EAAElB,IAAK;IACZwC,IAAI,EAAErB,MAAO;IACbsB,UAAU,EAAEnB,OAAQ;IACpBC,MAAM,EAAEA;EAAO,CAChB,CACD,CAAC;AAEP,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_ = "formdocumentfield744204928";
4
+ var _namespace_ = "formdocumentfield2561653091";
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": "formdocumentfield744204928__root",
12
- "viewWrapper": "formdocumentfield744204928__viewWrapper",
13
- "textWidth": "formdocumentfield744204928__textWidth",
14
- "documentLoader": "formdocumentfield744204928__documentLoader",
15
- "addDocument": "formdocumentfield744204928__addDocument",
16
- "addItemWrapper": "formdocumentfield744204928__addItemWrapper"
11
+ "root": "formdocumentfield2561653091__root",
12
+ "viewWrapper": "formdocumentfield2561653091__viewWrapper",
13
+ "textWidth": "formdocumentfield2561653091__textWidth",
14
+ "documentLoader": "formdocumentfield2561653091__documentLoader",
15
+ "addDocument": "formdocumentfield2561653091__addDocument",
16
+ "addItemWrapper": "formdocumentfield2561653091__addItemWrapper"
17
17
  };
18
18
  export var keyframes = {};
19
19
  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/document/form-document-field.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"formdocumentfield744204928\";\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\":\"formdocumentfield744204928__root\",\"viewWrapper\":\"formdocumentfield744204928__viewWrapper\",\"textWidth\":\"formdocumentfield744204928__textWidth\",\"documentLoader\":\"formdocumentfield744204928__documentLoader\",\"addDocument\":\"formdocumentfield744204928__addDocument\",\"addItemWrapper\":\"formdocumentfield744204928__addItemWrapper\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {\"BorderRadius\":\"2px\",\"documentViewBorderRadius\":\"var(--wds-border-radius-300, calc(2px * 3))\",\"documentActionsWidth\":\"196px\",\"addItemWSRBorderRadius\":\"var(--wds-border-radius-400, calc(2px * 4))\",\"documentLoaderPadding\":\"21px\",\"addDocumentPadding\":\"17px\"}; \nexport var vars = {\"wds-border-radius-400\":\"--wds-border-radius-400\",\"wds-border-radius-300\":\"--wds-border-radius-300\",\"wds-color-blue-300\":\"--wds-color-blue-300\",\"wds-color-blue-500\":\"--wds-color-blue-500\",\"wsr-color-B30\":\"--wsr-color-B30\",\"wsr-color-B50\":\"--wsr-color-B50\",\"wds-input-shadow-focus-standard\":\"--wds-input-shadow-focus-standard\",\"wsr-color-R10\":\"--wsr-color-R10\",\"wds-color-red-100\":\"--wds-color-red-100\"}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,4BAA4B;AAC9C,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,kCAAkC;EAAC,aAAa,EAAC,yCAAyC;EAAC,WAAW,EAAC,uCAAuC;EAAC,gBAAgB,EAAC,4CAA4C;EAAC,aAAa,EAAC,yCAAyC;EAAC,gBAAgB,EAAC;AAA4C,CAAC;AAChW,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;EAAC,cAAc,EAAC,KAAK;EAAC,0BAA0B,EAAC,6CAA6C;EAAC,sBAAsB,EAAC,OAAO;EAAC,wBAAwB,EAAC,6CAA6C;EAAC,uBAAuB,EAAC,MAAM;EAAC,oBAAoB,EAAC;AAAM,CAAC;AACpR,OAAO,IAAIC,IAAI,GAAG;EAAC,uBAAuB,EAAC,yBAAyB;EAAC,uBAAuB,EAAC,yBAAyB;EAAC,oBAAoB,EAAC,sBAAsB;EAAC,oBAAoB,EAAC,sBAAsB;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC,iBAAiB;EAAC,iCAAiC,EAAC,mCAAmC;EAAC,eAAe,EAAC,iBAAiB;EAAC,mBAAmB,EAAC;AAAqB,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/document/form-document-field.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"formdocumentfield2561653091\";\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\":\"formdocumentfield2561653091__root\",\"viewWrapper\":\"formdocumentfield2561653091__viewWrapper\",\"textWidth\":\"formdocumentfield2561653091__textWidth\",\"documentLoader\":\"formdocumentfield2561653091__documentLoader\",\"addDocument\":\"formdocumentfield2561653091__addDocument\",\"addItemWrapper\":\"formdocumentfield2561653091__addItemWrapper\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {\"BorderRadius\":\"2px\",\"documentViewBorderRadius\":\"var(--wds-border-radius-300, calc(2px * 3))\",\"documentActionsWidth\":\"196px\",\"addItemWSRBorderRadius\":\"var(--wds-border-radius-400, calc(2px * 4))\",\"documentLoaderPadding\":\"21px\",\"addDocumentPadding\":\"17px\"}; \nexport var vars = {\"wds-border-radius-400\":\"--wds-border-radius-400\",\"wds-border-radius-300\":\"--wds-border-radius-300\",\"wds-color-blue-300\":\"--wds-color-blue-300\",\"wds-color-blue-500\":\"--wds-color-blue-500\",\"wsr-color-B30\":\"--wsr-color-B30\",\"wsr-color-B50\":\"--wsr-color-B50\",\"wds-input-shadow-focus-standard\":\"--wds-input-shadow-focus-standard\",\"wsr-color-R10\":\"--wsr-color-R10\",\"wds-color-red-100\":\"--wds-color-red-100\"}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,6BAA6B;AAC/C,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,mCAAmC;EAAC,aAAa,EAAC,0CAA0C;EAAC,WAAW,EAAC,wCAAwC;EAAC,gBAAgB,EAAC,6CAA6C;EAAC,aAAa,EAAC,0CAA0C;EAAC,gBAAgB,EAAC;AAA6C,CAAC;AACtW,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;EAAC,cAAc,EAAC,KAAK;EAAC,0BAA0B,EAAC,6CAA6C;EAAC,sBAAsB,EAAC,OAAO;EAAC,wBAAwB,EAAC,6CAA6C;EAAC,uBAAuB,EAAC,MAAM;EAAC,oBAAoB,EAAC;AAAM,CAAC;AACpR,OAAO,IAAIC,IAAI,GAAG;EAAC,uBAAuB,EAAC,yBAAyB;EAAC,uBAAuB,EAAC,yBAAyB;EAAC,oBAAoB,EAAC,sBAAsB;EAAC,oBAAoB,EAAC,sBAAsB;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC,iBAAiB;EAAC,iCAAiC,EAAC,mCAAmC;EAAC,eAAe,EAAC,iBAAiB;EAAC,mBAAmB,EAAC;AAAqB,CAAC","ignoreList":[]}
@@ -1,17 +1,17 @@
1
1
  // @ts-nocheck
2
2
 
3
3
  import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js";
4
- var _namespace_ = "exclamation1939801923";
4
+ var _namespace_ = "exclamation434051250";
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": "exclamation1939801923__root",
12
- "exclamation": "exclamation1939801923__exclamation",
13
- "actions": "exclamation1939801923__actions",
14
- "action": "exclamation1939801923__action"
11
+ "root": "exclamation434051250__root",
12
+ "exclamation": "exclamation434051250__exclamation",
13
+ "actions": "exclamation434051250__actions",
14
+ "action": "exclamation434051250__action"
15
15
  };
16
16
  export var keyframes = {};
17
17
  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/exclamation/exclamation.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"exclamation1939801923\";\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\":\"exclamation1939801923__root\",\"exclamation\":\"exclamation1939801923__exclamation\",\"actions\":\"exclamation1939801923__actions\",\"action\":\"exclamation1939801923__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_ = \"exclamation434051250\";\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\":\"exclamation434051250__root\",\"exclamation\":\"exclamation434051250__exclamation\",\"actions\":\"exclamation434051250__actions\",\"action\":\"exclamation434051250__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,sBAAsB;AACxC,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,4BAA4B;EAAC,aAAa,EAAC,mCAAmC;EAAC,SAAS,EAAC,+BAA+B;EAAC,QAAQ,EAAC;AAA8B,CAAC;AAC9L,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":[]}
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import { style, classes } from './highlighted-text.st.css.js';
3
+ export const HighlightedText = _ref => {
4
+ let {
5
+ highlight,
6
+ highlightedBackground = true,
7
+ className,
8
+ dataHook
9
+ } = _ref;
10
+ return /*#__PURE__*/React.createElement("span", {
11
+ "data-hook": dataHook,
12
+ className: style(classes.root, {
13
+ highlightedBackground
14
+ }, className)
15
+ }, highlight.map((_ref2, key) => {
16
+ let {
17
+ substring,
18
+ isHighlighted
19
+ } = _ref2;
20
+ return /*#__PURE__*/React.createElement("span", {
21
+ key: key,
22
+ className: style(classes.substring, {
23
+ isHighlighted
24
+ }),
25
+ children: substring
26
+ });
27
+ }));
28
+ };
29
+ //# sourceMappingURL=highlighted-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","style","classes","HighlightedText","_ref","highlight","highlightedBackground","className","dataHook","createElement","root","map","_ref2","key","substring","isHighlighted","children"],"sources":["../../../../../src/cms-fields/components/highlighted-text/highlighted-text.tsx"],"sourcesContent":["import React from 'react';\n\nimport { style, classes } from './highlighted-text.st.css.js';\n\nimport type { HighlightDescriptor } from '../../utils';\n\nexport interface HighlightTextProps {\n highlight: HighlightDescriptor;\n highlightedBackground?: boolean;\n className?: string;\n dataHook?: string;\n}\n\nexport const HighlightedText: React.FC<HighlightTextProps> = ({\n highlight,\n highlightedBackground = true,\n className,\n dataHook,\n}) => (\n <span\n data-hook={dataHook}\n className={style(classes.root, { highlightedBackground }, className)}\n >\n {highlight.map(({ substring, isHighlighted }, key) => (\n <span\n key={key}\n className={style(classes.substring, { isHighlighted })}\n children={substring}\n />\n ))}\n </span>\n);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,KAAK,EAAEC,OAAO,QAAQ,8BAA8B;AAW7D,OAAO,MAAMC,eAA6C,GAAGC,IAAA;EAAA,IAAC;IAC5DC,SAAS;IACTC,qBAAqB,GAAG,IAAI;IAC5BC,SAAS;IACTC;EACF,CAAC,GAAAJ,IAAA;EAAA,oBACCJ,KAAA,CAAAS,aAAA;IACE,aAAWD,QAAS;IACpBD,SAAS,EAAEN,KAAK,CAACC,OAAO,CAACQ,IAAI,EAAE;MAAEJ;IAAsB,CAAC,EAAEC,SAAS;EAAE,GAEpEF,SAAS,CAACM,GAAG,CAAC,CAAAC,KAAA,EAA+BC,GAAG;IAAA,IAAjC;MAAEC,SAAS;MAAEC;IAAc,CAAC,GAAAH,KAAA;IAAA,oBAC1CZ,KAAA,CAAAS,aAAA;MACEI,GAAG,EAAEA,GAAI;MACTN,SAAS,EAAEN,KAAK,CAACC,OAAO,CAACY,SAAS,EAAE;QAAEC;MAAc,CAAC,CAAE;MACvDC,QAAQ,EAAEF;IAAU,CACrB,CAAC;EAAA,CACH,CACG,CAAC;AAAA,CACR","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ @property st-global(--wds-color-yellow-200);
2
+ @property st-global(--wds-color-yellow-400);
3
+ @property st-global(--wsr-color-Y20);
4
+ @property st-global(--wsr-color-Y40);
5
+
6
+ .root {
7
+ -st-states: highlightedBackground;
8
+ }
9
+
10
+ .root:highlightedBackground {
11
+ animation: highlighted 150ms ease-out 1 forwards;
12
+ }
13
+
14
+ .substring {
15
+ -st-states: isHighlighted;
16
+ }
17
+
18
+ .substring:isHighlighted {
19
+ animation: highlighted-match 150ms ease-out 50ms 1 forwards;
20
+ }
21
+
22
+
23
+ @keyframes highlighted {
24
+ from {
25
+ background-color: transparent;
26
+ }
27
+ to {
28
+ background-color: var(--wds-color-yellow-400, var(--wsr-color-Y40));
29
+ }
30
+ }
31
+
32
+ @keyframes highlighted-match {
33
+ from {
34
+ background-color: transparent;
35
+ }
36
+ to {
37
+ background-color: var(--wds-color-yellow-200, var(--wsr-color-Y20));
38
+ }
39
+ }
@@ -0,0 +1,27 @@
1
+ // @ts-nocheck
2
+
3
+ import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js";
4
+ var _namespace_ = "highlightedtext3204350970";
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": "highlightedtext3204350970__root",
12
+ "substring": "highlightedtext3204350970__substring"
13
+ };
14
+ export var keyframes = {
15
+ "highlighted": "highlightedtext3204350970__highlighted",
16
+ "highlighted-match": "highlightedtext3204350970__highlighted-match"
17
+ };
18
+ export var layers = {};
19
+ export var containers = {};
20
+ export var stVars = {};
21
+ export var vars = {
22
+ "wds-color-yellow-200": "--wds-color-yellow-200",
23
+ "wds-color-yellow-400": "--wds-color-yellow-400",
24
+ "wsr-color-Y20": "--wsr-color-Y20",
25
+ "wsr-color-Y40": "--wsr-color-Y40"
26
+ };
27
+ //# sourceMappingURL=highlighted-text.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/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_ = \"highlightedtext3204350970\";\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\":\"highlightedtext3204350970__root\",\"substring\":\"highlightedtext3204350970__substring\"};\nexport var keyframes = {\"highlighted\":\"highlightedtext3204350970__highlighted\",\"highlighted-match\":\"highlightedtext3204350970__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":[]}
@@ -0,0 +1,2 @@
1
+ export * from './highlighted-text';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../../src/cms-fields/components/highlighted-text/index.ts"],"sourcesContent":["export * from './highlighted-text';\n"],"mappings":"AAAA,cAAc,oBAAoB","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  export * from './address';
2
+ export * from './audio';
2
3
  export * from './common';
3
4
  export * from './exclamation';
4
5
  export * from './time-input';
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/cms-fields/components/index.ts"],"sourcesContent":["export * from './address';\nexport * from './common';\nexport * from './exclamation';\nexport * from './time-input';\nexport * from './time-view';\nexport * from './object';\nexport * from './media-gallery';\nexport * from './rich-content';\nexport * from './rich-text';\nexport * from './text';\nexport * from './document';\nexport * from './multi-document';\nexport * from './delete-dialog';\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,gBAAgB;AAC9B,cAAc,aAAa;AAC3B,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,kBAAkB;AAChC,cAAc,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/cms-fields/components/index.ts"],"sourcesContent":["export * from './address';\nexport * from './audio';\nexport * from './common';\nexport * from './exclamation';\nexport * from './time-input';\nexport * from './time-view';\nexport * from './object';\nexport * from './media-gallery';\nexport * from './rich-content';\nexport * from './rich-text';\nexport * from './text';\nexport * from './document';\nexport * from './multi-document';\nexport * from './delete-dialog';\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,gBAAgB;AAC9B,cAAc,aAAa;AAC3B,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,kBAAkB;AAChC,cAAc,iBAAiB","ignoreList":[]}
@@ -1,16 +1,16 @@
1
1
  // @ts-nocheck
2
2
 
3
3
  import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js";
4
- var _namespace_ = "pasteurlbutton3909766312";
4
+ var _namespace_ = "pasteurlbutton540096597";
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": "pasteurlbutton3909766312__root",
12
- "iconButtonTooltip": "pasteurlbutton3909766312__iconButtonTooltip",
13
- "iconButton": "pasteurlbutton3909766312__iconButton"
11
+ "root": "pasteurlbutton540096597__root",
12
+ "iconButtonTooltip": "pasteurlbutton540096597__iconButtonTooltip",
13
+ "iconButton": "pasteurlbutton540096597__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_ = \"pasteurlbutton3909766312\";\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\":\"pasteurlbutton3909766312__root\",\"iconButtonTooltip\":\"pasteurlbutton3909766312__iconButtonTooltip\",\"iconButton\":\"pasteurlbutton3909766312__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_ = \"pasteurlbutton540096597\";\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\":\"pasteurlbutton540096597__root\",\"iconButtonTooltip\":\"pasteurlbutton540096597__iconButtonTooltip\",\"iconButton\":\"pasteurlbutton540096597__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,yBAAyB;AAC3C,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,+BAA+B;EAAC,mBAAmB,EAAC,4CAA4C;EAAC,YAAY,EAAC;AAAqC,CAAC;AACjL,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,31 +1,60 @@
1
1
  import { useRef, useState, useEffect, useCallback } from 'react';
2
2
  import { dashboard } from '@wix/dashboard';
3
+ import { files } from '@wix/media';
4
+ import { executeDownloading } from '../../utils/media-utils';
5
+ import { getMediaURL } from '@wix/auto-cms-field-types';
3
6
  const MEDIA_TYPE_TO_CATEGORY = {
4
7
  IMAGE: 'IMAGE',
5
8
  VIDEO: 'VIDEO',
6
- AUDIO: 'MUSIC',
9
+ MUSIC: 'MUSIC',
10
+ // MEDIA_TYPES.AUDIO = 'MUSIC'
7
11
  DOCUMENT: 'DOCUMENT',
8
12
  ALL_MEDIA: undefined
9
13
  };
10
14
 
15
+ /**
16
+ * Extracts a playable URL from media.audio, which may be:
17
+ * - a string (wix:audio:// URI or direct URL)
18
+ * - an object with { audio: string } (nested URI)
19
+ * - an object with { assets: [{ url }] } or { assets: [string] }
20
+ */
21
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
+ const extractAudioUrl = audio => {
23
+ if (audio) {
24
+ var _audio$assets;
25
+ if (typeof audio === 'string') {
26
+ return audio;
27
+ }
28
+ if (typeof audio.audio === 'string') {
29
+ return audio.audio;
30
+ }
31
+ const firstAsset = (_audio$assets = audio.assets) == null ? void 0 : _audio$assets[0];
32
+ if (typeof firstAsset === 'string') {
33
+ return firstAsset;
34
+ }
35
+ if (typeof (firstAsset == null ? void 0 : firstAsset.url) === 'string') {
36
+ return firstAsset.url;
37
+ }
38
+ }
39
+ return undefined;
40
+ };
41
+
11
42
  /**
12
43
  * Extracts the Wix media URI from media manager result.
13
44
  * Media manager returns different structures for different media types.
14
45
  */
15
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
46
  const extractMediaUri = mediaItem => {
17
- var _media$image, _media$video, _media$audio, _media$document;
18
47
  const {
19
48
  media
20
49
  } = mediaItem || {};
21
- if (!media) {
22
- return '';
50
+ if (media) {
51
+ var _media$image, _media$video, _media$document;
52
+ return (
53
+ // Try each media type: the URI is nested under media.[type].[type], fallback for direct string values
54
+ ((_media$image = media.image) == null ? void 0 : _media$image.image) || typeof media.image === 'string' && media.image || ((_media$video = media.video) == null ? void 0 : _media$video.video) || typeof media.video === 'string' && media.video || ((_media$document = media.document) == null ? void 0 : _media$document.document) || typeof media.document === 'string' && media.document || extractAudioUrl(media.audio) || ''
55
+ );
23
56
  }
24
-
25
- // Try each media type - the URI is nested under media.[type].[type]
26
- return ((_media$image = media.image) == null ? void 0 : _media$image.image) || ((_media$video = media.video) == null ? void 0 : _media$video.video) || ((_media$audio = media.audio) == null ? void 0 : _media$audio.audio) || ((_media$document = media.document) == null ? void 0 : _media$document.document) || (
27
- // Fallback for direct string values
28
- typeof media.image === 'string' ? media.image : '') || (typeof media.video === 'string' ? media.video : '') || (typeof media.audio === 'string' ? media.audio : '') || (typeof media.document === 'string' ? media.document : '');
57
+ return '';
29
58
  };
30
59
  export function useMediaControl(_ref) {
31
60
  let {
@@ -71,7 +100,6 @@ export function useMediaControl(_ref) {
71
100
  onFocus == null || onFocus();
72
101
  setLoading(true);
73
102
  try {
74
- var _mediaManagerData$ite;
75
103
  const category = MEDIA_TYPE_TO_CATEGORY[mediaType];
76
104
  const mediaManagerData = await dashboard.openMediaManager({
77
105
  multiSelect: Boolean(multiSelect),
@@ -83,11 +111,14 @@ export function useMediaControl(_ref) {
83
111
  setLoading(false);
84
112
  setActive();
85
113
  mediaRequested.current = false;
86
- if (!(mediaManagerData != null && (_mediaManagerData$ite = mediaManagerData.items) != null && _mediaManagerData$ite.length)) {
114
+
115
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
116
+ const items = (mediaManagerData == null ? void 0 : mediaManagerData.items) || (mediaManagerData == null ? void 0 : mediaManagerData.files);
117
+ if (!(items != null && items.length)) {
87
118
  return;
88
119
  }
89
120
  if (params.multiSelect) {
90
- const newURIs = mediaManagerData.items.map(extractMediaUri);
121
+ const newURIs = items.map(extractMediaUri);
91
122
  if (!newURIs.length) {
92
123
  throw new Error(`Media Control Error: Media Manager returns not-covered Multi-Document data.`);
93
124
  }
@@ -99,7 +130,7 @@ export function useMediaControl(_ref) {
99
130
  params.onChange([...(value ?? []), ...newURIs]);
100
131
  }
101
132
  } else {
102
- params.onChange(extractMediaUri(mediaManagerData.items[0]));
133
+ params.onChange(extractMediaUri(items[0]));
103
134
  }
104
135
  } catch (e) {
105
136
  setLoading(false);
@@ -107,10 +138,24 @@ export function useMediaControl(_ref) {
107
138
  console.error(`Media Control Error:`, e);
108
139
  }
109
140
  }, [mediaType, multiSelect, onBlur, onFocus, params, readOnly, setActive, value]);
110
- const downloadMedia = valueToDownload => {
111
- // TODO: Implement download media
112
- return valueToDownload;
113
- };
141
+ const downloadMedia = useCallback(async mediaUri => {
142
+ if (!mediaUri) {
143
+ return;
144
+ }
145
+ try {
146
+ var _result$downloadUrls;
147
+ const result = await files.generateFileDownloadUrl(mediaUri);
148
+ const downloadUrl = (_result$downloadUrls = result.downloadUrls) == null || (_result$downloadUrls = _result$downloadUrls[0]) == null ? void 0 : _result$downloadUrls.url;
149
+ if (!downloadUrl) {
150
+ throw new Error('No download URL returned');
151
+ }
152
+ return executeDownloading(downloadUrl);
153
+ } catch (error) {
154
+ // Fallback: open the static URL in a new tab
155
+ console.error('Media download error, falling back to static URL:', error);
156
+ return executeDownloading(getMediaURL(mediaUri));
157
+ }
158
+ }, []);
114
159
  return {
115
160
  loading,
116
161
  callMedia,
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useState","useEffect","useCallback","dashboard","MEDIA_TYPE_TO_CATEGORY","IMAGE","VIDEO","AUDIO","DOCUMENT","ALL_MEDIA","undefined","extractMediaUri","mediaItem","_media$image","_media$video","_media$audio","_media$document","media","image","video","audio","document","useMediaControl","_ref","mediaType","readOnly","autoFocus","initialLoading","inputRef","viewRef","onFocus","onBlur","params","value","multiSelect","loading","setLoading","Boolean","mediaRequested","setActive","_viewRef$current","_inputRef$current","current","focus","_inputRef$current2","onMediaLoad","callMedia","index","onChange","_mediaManagerData$ite","category","mediaManagerData","openMediaManager","items","length","newURIs","map","Error","newValue","splice","e","console","error","downloadMedia","valueToDownload"],"sources":["../../../../../src/cms-fields/components/media-control/use-media-control.ts"],"sourcesContent":["import { useRef, useState, useEffect, useCallback } from 'react';\nimport { dashboard } from '@wix/dashboard';\n\nimport type { MEDIA_TYPES } from '../../utils/media-utils';\n\ntype Focusable = { focus: () => void };\ntype FocusableRef =\n | React.RefObject<Focusable | undefined>\n | React.MutableRefObject<Focusable | undefined>;\n\ninterface UseMediaControlBaseParams {\n mediaType: MEDIA_TYPES;\n autoFocus?: boolean;\n onFocus?: () => void;\n onBlur?: () => void;\n readOnly?: boolean;\n initialLoading?: boolean;\n inputRef?: FocusableRef;\n viewRef?: FocusableRef;\n}\n\ninterface UseSingleMediaControlParams extends UseMediaControlBaseParams {\n value?: string;\n onChange?: (value: string) => void;\n multiSelect?: false;\n}\n\ninterface UseMultiMediaControlParams extends UseMediaControlBaseParams {\n value?: string[];\n onChange?: (value: string[]) => void;\n multiSelect: true;\n}\n\nexport type UseMediaControlParams =\n | UseSingleMediaControlParams\n | UseMultiMediaControlParams;\n\ninterface UseMediaControlBaseReturnType {\n loading: boolean;\n onMediaLoad: () => void;\n}\n\ninterface UseSingleMediaControlReturnType\n extends UseMediaControlBaseReturnType {\n callMedia(): Promise<void>;\n}\n\ninterface UseMultiMediaControlReturnType extends UseMediaControlBaseReturnType {\n callMedia(index?: number): Promise<void>;\n downloadMedia(): void;\n}\n\nexport type UseMediaControlReturnType =\n | UseSingleMediaControlReturnType\n | UseMultiMediaControlReturnType;\n\nconst MEDIA_TYPE_TO_CATEGORY: Record<string, string | undefined> = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n AUDIO: 'MUSIC',\n DOCUMENT: 'DOCUMENT',\n ALL_MEDIA: undefined,\n};\n\n/**\n * Extracts the Wix media URI from media manager result.\n * Media manager returns different structures for different media types.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst extractMediaUri = (mediaItem: any): string => {\n const { media } = mediaItem || {};\n if (!media) {\n return '';\n }\n\n // Try each media type - the URI is nested under media.[type].[type]\n return (\n media.image?.image ||\n media.video?.video ||\n media.audio?.audio ||\n media.document?.document ||\n // Fallback for direct string values\n (typeof media.image === 'string' ? media.image : '') ||\n (typeof media.video === 'string' ? media.video : '') ||\n (typeof media.audio === 'string' ? media.audio : '') ||\n (typeof media.document === 'string' ? media.document : '')\n );\n};\n\nexport function useMediaControl(\n params: UseSingleMediaControlParams,\n): UseSingleMediaControlReturnType;\n\nexport function useMediaControl(\n params: UseMultiMediaControlParams,\n): UseMultiMediaControlReturnType;\n\nexport function useMediaControl({\n mediaType,\n readOnly,\n autoFocus,\n initialLoading,\n inputRef,\n viewRef,\n onFocus,\n onBlur,\n ...params\n}: UseMediaControlParams): UseMediaControlReturnType {\n const { value, multiSelect } = params;\n\n const [loading, setLoading] = useState(Boolean(initialLoading && value));\n const mediaRequested = useRef(false);\n\n const setActive = useCallback(() => {\n if (!autoFocus) {\n return;\n }\n\n if (value) {\n viewRef && viewRef?.current?.focus();\n !viewRef && inputRef?.current?.focus();\n } else {\n inputRef?.current?.focus();\n }\n }, [autoFocus, value, inputRef, viewRef]);\n\n useEffect(() => setActive(), [setActive]);\n\n const onMediaLoad = useCallback(() => setLoading(false), []);\n\n const callMedia = useCallback(\n async (index?: number) => {\n if (mediaRequested.current || readOnly) {\n return;\n }\n\n if (!params.onChange) {\n return;\n }\n\n mediaRequested.current = true;\n\n onFocus?.();\n setLoading(true);\n\n try {\n const category = MEDIA_TYPE_TO_CATEGORY[mediaType];\n const mediaManagerData = await dashboard.openMediaManager({\n multiSelect: Boolean(multiSelect),\n ...(category && { category }),\n });\n\n onBlur?.();\n setLoading(false);\n\n setActive();\n\n mediaRequested.current = false;\n\n if (!mediaManagerData?.items?.length) {\n return;\n }\n\n if (params.multiSelect) {\n const newURIs = mediaManagerData.items.map(extractMediaUri);\n\n if (!newURIs.length) {\n throw new Error(\n `Media Control Error: Media Manager returns not-covered Multi-Document data.`,\n );\n }\n\n if (typeof index === 'number') {\n const newValue = value ? [...value] : [];\n newValue.splice(index, 1, ...newURIs);\n params.onChange(newValue);\n } else {\n params.onChange([...((value as string[]) ?? []), ...newURIs]);\n }\n } else {\n params.onChange(extractMediaUri(mediaManagerData.items[0]));\n }\n } catch (e) {\n setLoading(false);\n mediaRequested.current = false;\n console.error(`Media Control Error:`, e);\n }\n },\n [\n mediaType,\n multiSelect,\n onBlur,\n onFocus,\n params,\n readOnly,\n setActive,\n value,\n ],\n );\n\n const downloadMedia = (valueToDownload?: string) => {\n // TODO: Implement download media\n return valueToDownload;\n };\n\n return {\n loading,\n callMedia,\n downloadMedia,\n onMediaLoad,\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useState","useEffect","useCallback","dashboard","files","executeDownloading","getMediaURL","MEDIA_TYPE_TO_CATEGORY","IMAGE","VIDEO","MUSIC","DOCUMENT","ALL_MEDIA","undefined","extractAudioUrl","audio","_audio$assets","firstAsset","assets","url","extractMediaUri","mediaItem","media","_media$image","_media$video","_media$document","image","video","document","useMediaControl","_ref","mediaType","readOnly","autoFocus","initialLoading","inputRef","viewRef","onFocus","onBlur","params","value","multiSelect","loading","setLoading","Boolean","mediaRequested","setActive","_viewRef$current","_inputRef$current","current","focus","_inputRef$current2","onMediaLoad","callMedia","index","onChange","category","mediaManagerData","openMediaManager","items","length","newURIs","map","Error","newValue","splice","e","console","error","downloadMedia","mediaUri","_result$downloadUrls","result","generateFileDownloadUrl","downloadUrl","downloadUrls"],"sources":["../../../../../src/cms-fields/components/media-control/use-media-control.ts"],"sourcesContent":["import { useRef, useState, useEffect, useCallback } from 'react';\nimport { dashboard } from '@wix/dashboard';\nimport { files } from '@wix/media';\n\nimport type { MEDIA_TYPES } from '../../utils/media-utils';\nimport { executeDownloading } from '../../utils/media-utils';\nimport { getMediaURL } from '@wix/auto-cms-field-types';\n\ntype Focusable = { focus: () => void };\ntype FocusableRef =\n | React.RefObject<Focusable | undefined>\n | React.MutableRefObject<Focusable | undefined>;\n\ninterface UseMediaControlBaseParams {\n mediaType: MEDIA_TYPES;\n autoFocus?: boolean;\n onFocus?: () => void;\n onBlur?: () => void;\n readOnly?: boolean;\n initialLoading?: boolean;\n inputRef?: FocusableRef;\n viewRef?: FocusableRef;\n}\n\ninterface UseSingleMediaControlParams extends UseMediaControlBaseParams {\n value?: string;\n onChange?: (value: string) => void;\n multiSelect?: false;\n}\n\ninterface UseMultiMediaControlParams extends UseMediaControlBaseParams {\n value?: string[];\n onChange?: (value: string[]) => void;\n multiSelect: true;\n}\n\nexport type UseMediaControlParams =\n | UseSingleMediaControlParams\n | UseMultiMediaControlParams;\n\ninterface UseMediaControlBaseReturnType {\n loading: boolean;\n onMediaLoad: () => void;\n}\n\ninterface UseSingleMediaControlReturnType\n extends UseMediaControlBaseReturnType {\n callMedia(): Promise<void>;\n downloadMedia(mediaUri?: string): Promise<void>;\n}\n\ninterface UseMultiMediaControlReturnType extends UseMediaControlBaseReturnType {\n callMedia(index?: number): Promise<void>;\n downloadMedia(mediaUri?: string): Promise<void>;\n}\n\nexport type UseMediaControlReturnType =\n | UseSingleMediaControlReturnType\n | UseMultiMediaControlReturnType;\n\nconst MEDIA_TYPE_TO_CATEGORY: Record<string, string | undefined> = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n MUSIC: 'MUSIC', // MEDIA_TYPES.AUDIO = 'MUSIC'\n DOCUMENT: 'DOCUMENT',\n ALL_MEDIA: undefined,\n};\n\n/**\n * Extracts a playable URL from media.audio, which may be:\n * - a string (wix:audio:// URI or direct URL)\n * - an object with { audio: string } (nested URI)\n * - an object with { assets: [{ url }] } or { assets: [string] }\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst extractAudioUrl = (audio: any): string | undefined => {\n if (audio) {\n if (typeof audio === 'string') {\n return audio;\n }\n if (typeof audio.audio === 'string') {\n return audio.audio;\n }\n const firstAsset = audio.assets?.[0];\n if (typeof firstAsset === 'string') {\n return firstAsset;\n }\n if (typeof firstAsset?.url === 'string') {\n return firstAsset.url;\n }\n }\n return undefined;\n};\n\n/**\n * Extracts the Wix media URI from media manager result.\n * Media manager returns different structures for different media types.\n */\nconst extractMediaUri = (mediaItem: any): string => {\n const { media } = mediaItem || {};\n if (media) {\n return (\n // Try each media type: the URI is nested under media.[type].[type], fallback for direct string values\n media.image?.image ||\n (typeof media.image === 'string' && media.image) ||\n media.video?.video ||\n (typeof media.video === 'string' && media.video) ||\n media.document?.document ||\n (typeof media.document === 'string' && media.document) ||\n extractAudioUrl(media.audio) ||\n ''\n );\n }\n\n return '';\n};\n\nexport function useMediaControl(\n params: UseSingleMediaControlParams,\n): UseSingleMediaControlReturnType;\n\nexport function useMediaControl(\n params: UseMultiMediaControlParams,\n): UseMultiMediaControlReturnType;\n\nexport function useMediaControl({\n mediaType,\n readOnly,\n autoFocus,\n initialLoading,\n inputRef,\n viewRef,\n onFocus,\n onBlur,\n ...params\n}: UseMediaControlParams): UseMediaControlReturnType {\n const { value, multiSelect } = params;\n\n const [loading, setLoading] = useState(Boolean(initialLoading && value));\n const mediaRequested = useRef(false);\n\n const setActive = useCallback(() => {\n if (!autoFocus) {\n return;\n }\n\n if (value) {\n viewRef && viewRef?.current?.focus();\n !viewRef && inputRef?.current?.focus();\n } else {\n inputRef?.current?.focus();\n }\n }, [autoFocus, value, inputRef, viewRef]);\n\n useEffect(() => setActive(), [setActive]);\n\n const onMediaLoad = useCallback(() => setLoading(false), []);\n\n const callMedia = useCallback(\n async (index?: number) => {\n if (mediaRequested.current || readOnly) {\n return;\n }\n\n if (!params.onChange) {\n return;\n }\n\n mediaRequested.current = true;\n\n onFocus?.();\n setLoading(true);\n\n try {\n const category = MEDIA_TYPE_TO_CATEGORY[mediaType];\n const mediaManagerData = await dashboard.openMediaManager({\n multiSelect: Boolean(multiSelect),\n ...(category && { category }),\n });\n\n onBlur?.();\n setLoading(false);\n\n setActive();\n\n mediaRequested.current = false;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const items =\n mediaManagerData?.items || (mediaManagerData as any)?.files;\n\n if (!items?.length) {\n return;\n }\n\n if (params.multiSelect) {\n const newURIs = items.map(extractMediaUri);\n\n if (!newURIs.length) {\n throw new Error(\n `Media Control Error: Media Manager returns not-covered Multi-Document data.`,\n );\n }\n\n if (typeof index === 'number') {\n const newValue = value ? [...value] : [];\n newValue.splice(index, 1, ...newURIs);\n params.onChange(newValue);\n } else {\n params.onChange([...((value as string[]) ?? []), ...newURIs]);\n }\n } else {\n params.onChange(extractMediaUri(items[0]));\n }\n } catch (e) {\n setLoading(false);\n mediaRequested.current = false;\n console.error(`Media Control Error:`, e);\n }\n },\n [\n mediaType,\n multiSelect,\n onBlur,\n onFocus,\n params,\n readOnly,\n setActive,\n value,\n ],\n );\n\n const downloadMedia = useCallback(async (mediaUri?: string) => {\n if (!mediaUri) {\n return;\n }\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 return 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 return executeDownloading(getMediaURL(mediaUri));\n }\n }, []);\n\n return {\n loading,\n callMedia,\n downloadMedia,\n onMediaLoad,\n };\n}\n"],"mappings":"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","ignoreList":[]}