@wordpress/block-library 8.28.5 → 8.30.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 (289) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/audio/edit.js +7 -17
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/edit.native.js.map +1 -1
  5. package/build/avatar/edit.js.map +1 -1
  6. package/build/button/edit.js +1 -1
  7. package/build/button/edit.js.map +1 -1
  8. package/build/buttons/edit.js +1 -6
  9. package/build/buttons/edit.js.map +1 -1
  10. package/build/buttons/edit.native.js +1 -7
  11. package/build/buttons/edit.native.js.map +1 -1
  12. package/build/columns/edit.js +8 -2
  13. package/build/columns/edit.js.map +1 -1
  14. package/build/comment-author-avatar/edit.js +1 -1
  15. package/build/comment-author-avatar/edit.js.map +1 -1
  16. package/build/cover/edit/index.js.map +1 -1
  17. package/build/cover/edit/inspector-controls.js.map +1 -1
  18. package/build/cover/edit/resizable-cover-popover.js +0 -6
  19. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  20. package/build/cover/edit.native.js.map +1 -1
  21. package/build/details/index.js +1 -0
  22. package/build/details/index.js.map +1 -1
  23. package/build/file/deprecated.js.map +1 -1
  24. package/build/file/edit.js +6 -13
  25. package/build/file/edit.js.map +1 -1
  26. package/build/file/edit.native.js.map +1 -1
  27. package/build/file/save.js.map +1 -1
  28. package/build/form-input/edit.js +1 -1
  29. package/build/form-input/edit.js.map +1 -1
  30. package/build/gallery/edit.js +5 -5
  31. package/build/gallery/edit.js.map +1 -1
  32. package/build/gallery/gallery.native.js.map +1 -1
  33. package/build/gallery/v1/edit.js.map +1 -1
  34. package/build/gallery/v1/gallery.native.js.map +1 -1
  35. package/build/group/variations.js +12 -15
  36. package/build/group/variations.js.map +1 -1
  37. package/build/image/edit.js.map +1 -1
  38. package/build/image/edit.native.js.map +1 -1
  39. package/build/image/image.js.map +1 -1
  40. package/build/latest-posts/edit.native.js.map +1 -1
  41. package/build/list/edit.js +5 -0
  42. package/build/list/edit.js.map +1 -1
  43. package/build/list/ordered-list-settings.js +1 -1
  44. package/build/list/ordered-list-settings.js.map +1 -1
  45. package/build/list-item/edit.native.js.map +1 -1
  46. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  47. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  48. package/build/list-item/hooks/use-outdent-list-item.js +1 -0
  49. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  50. package/build/list-item/hooks/use-space.js +16 -7
  51. package/build/list-item/hooks/use-space.js.map +1 -1
  52. package/build/media-text/media-container.native.js +1 -1
  53. package/build/media-text/media-container.native.js.map +1 -1
  54. package/build/navigation/edit/index.js.map +1 -1
  55. package/build/navigation-link/link-ui.js.map +1 -1
  56. package/build/paragraph/edit.native.js.map +1 -1
  57. package/build/pattern/edit.js +23 -9
  58. package/build/pattern/edit.js.map +1 -1
  59. package/build/post-excerpt/edit.js.map +1 -1
  60. package/build/post-featured-image/dimension-controls.js.map +1 -1
  61. package/build/post-featured-image/edit.js.map +1 -1
  62. package/build/post-navigation-link/edit.js.map +1 -1
  63. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  64. package/build/query/utils.js +7 -5
  65. package/build/query/utils.js.map +1 -1
  66. package/build/query-pagination-next/edit.js.map +1 -1
  67. package/build/query-pagination-previous/edit.js.map +1 -1
  68. package/build/quote/deprecated.js +111 -12
  69. package/build/quote/deprecated.js.map +1 -1
  70. package/build/quote/edit.js +5 -5
  71. package/build/quote/edit.js.map +1 -1
  72. package/build/quote/index.js +1 -1
  73. package/build/quote/index.js.map +1 -1
  74. package/build/quote/save.js +2 -2
  75. package/build/quote/save.js.map +1 -1
  76. package/build/read-more/edit.js.map +1 -1
  77. package/build/search/edit.js +1 -1
  78. package/build/search/edit.js.map +1 -1
  79. package/build/search/edit.native.js.map +1 -1
  80. package/build/site-logo/edit.js.map +1 -1
  81. package/build/site-title/{edit/index.js → edit.js} +1 -1
  82. package/build/site-title/edit.js.map +1 -0
  83. package/build/social-link/edit.js.map +1 -1
  84. package/build/social-links/edit.native.js.map +1 -1
  85. package/build/spacer/edit.js.map +1 -1
  86. package/build/table-of-contents/edit.js.map +1 -1
  87. package/build/template-part/edit/index.js +53 -1
  88. package/build/template-part/edit/index.js.map +1 -1
  89. package/build/template-part/edit/selection-modal.js +2 -8
  90. package/build/template-part/edit/selection-modal.js.map +1 -1
  91. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
  92. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  93. package/build/utils/hooks.js +55 -4
  94. package/build/utils/hooks.js.map +1 -1
  95. package/build/video/edit-common-settings.js.map +1 -1
  96. package/build/video/edit.js +7 -16
  97. package/build/video/edit.js.map +1 -1
  98. package/build/video/edit.native.js +2 -7
  99. package/build/video/edit.native.js.map +1 -1
  100. package/build-module/audio/edit.js +10 -20
  101. package/build-module/audio/edit.js.map +1 -1
  102. package/build-module/audio/edit.native.js.map +1 -1
  103. package/build-module/avatar/edit.js.map +1 -1
  104. package/build-module/button/edit.js +1 -1
  105. package/build-module/button/edit.js.map +1 -1
  106. package/build-module/buttons/edit.js +2 -7
  107. package/build-module/buttons/edit.js.map +1 -1
  108. package/build-module/buttons/edit.native.js +1 -7
  109. package/build-module/buttons/edit.native.js.map +1 -1
  110. package/build-module/columns/edit.js +8 -2
  111. package/build-module/columns/edit.js.map +1 -1
  112. package/build-module/comment-author-avatar/edit.js +1 -1
  113. package/build-module/comment-author-avatar/edit.js.map +1 -1
  114. package/build-module/cover/edit/index.js.map +1 -1
  115. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  116. package/build-module/cover/edit/resizable-cover-popover.js +1 -7
  117. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  118. package/build-module/cover/edit.native.js.map +1 -1
  119. package/build-module/details/index.js +1 -0
  120. package/build-module/details/index.js.map +1 -1
  121. package/build-module/file/deprecated.js.map +1 -1
  122. package/build-module/file/edit.js +7 -14
  123. package/build-module/file/edit.js.map +1 -1
  124. package/build-module/file/edit.native.js.map +1 -1
  125. package/build-module/file/save.js.map +1 -1
  126. package/build-module/form-input/edit.js +1 -1
  127. package/build-module/form-input/edit.js.map +1 -1
  128. package/build-module/gallery/edit.js +5 -5
  129. package/build-module/gallery/edit.js.map +1 -1
  130. package/build-module/gallery/gallery.native.js.map +1 -1
  131. package/build-module/gallery/v1/edit.js.map +1 -1
  132. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  133. package/build-module/group/variations.js +12 -15
  134. package/build-module/group/variations.js.map +1 -1
  135. package/build-module/image/edit.js.map +1 -1
  136. package/build-module/image/edit.native.js.map +1 -1
  137. package/build-module/image/image.js.map +1 -1
  138. package/build-module/latest-posts/edit.native.js.map +1 -1
  139. package/build-module/list/edit.js +5 -0
  140. package/build-module/list/edit.js.map +1 -1
  141. package/build-module/list/ordered-list-settings.js +1 -1
  142. package/build-module/list/ordered-list-settings.js.map +1 -1
  143. package/build-module/list-item/edit.native.js.map +1 -1
  144. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  145. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  146. package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
  147. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  148. package/build-module/list-item/hooks/use-space.js +17 -8
  149. package/build-module/list-item/hooks/use-space.js.map +1 -1
  150. package/build-module/media-text/media-container.native.js +1 -1
  151. package/build-module/media-text/media-container.native.js.map +1 -1
  152. package/build-module/navigation/edit/index.js.map +1 -1
  153. package/build-module/navigation-link/link-ui.js.map +1 -1
  154. package/build-module/paragraph/edit.native.js.map +1 -1
  155. package/build-module/pattern/edit.js +24 -10
  156. package/build-module/pattern/edit.js.map +1 -1
  157. package/build-module/post-excerpt/edit.js.map +1 -1
  158. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  159. package/build-module/post-featured-image/edit.js.map +1 -1
  160. package/build-module/post-navigation-link/edit.js.map +1 -1
  161. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  162. package/build-module/query/utils.js +7 -5
  163. package/build-module/query/utils.js.map +1 -1
  164. package/build-module/query-pagination-next/edit.js.map +1 -1
  165. package/build-module/query-pagination-previous/edit.js.map +1 -1
  166. package/build-module/quote/deprecated.js +112 -13
  167. package/build-module/quote/deprecated.js.map +1 -1
  168. package/build-module/quote/edit.js +5 -5
  169. package/build-module/quote/edit.js.map +1 -1
  170. package/build-module/quote/index.js +1 -1
  171. package/build-module/quote/index.js.map +1 -1
  172. package/build-module/quote/save.js +2 -2
  173. package/build-module/quote/save.js.map +1 -1
  174. package/build-module/read-more/edit.js.map +1 -1
  175. package/build-module/search/edit.js +1 -1
  176. package/build-module/search/edit.js.map +1 -1
  177. package/build-module/search/edit.native.js.map +1 -1
  178. package/build-module/site-logo/edit.js.map +1 -1
  179. package/build-module/site-title/{edit/index.js → edit.js} +1 -1
  180. package/build-module/site-title/edit.js.map +1 -0
  181. package/build-module/social-link/edit.js.map +1 -1
  182. package/build-module/social-links/edit.native.js.map +1 -1
  183. package/build-module/spacer/edit.js.map +1 -1
  184. package/build-module/table-of-contents/edit.js.map +1 -1
  185. package/build-module/template-part/edit/index.js +57 -5
  186. package/build-module/template-part/edit/index.js.map +1 -1
  187. package/build-module/template-part/edit/selection-modal.js +2 -8
  188. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  189. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
  190. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  191. package/build-module/utils/hooks.js +54 -3
  192. package/build-module/utils/hooks.js.map +1 -1
  193. package/build-module/video/edit-common-settings.js.map +1 -1
  194. package/build-module/video/edit.js +10 -19
  195. package/build-module/video/edit.js.map +1 -1
  196. package/build-module/video/edit.native.js +2 -7
  197. package/build-module/video/edit.native.js.map +1 -1
  198. package/build-style/editor-rtl.css +4 -1
  199. package/build-style/editor.css +4 -1
  200. package/build-style/group/editor-rtl.css +1 -1
  201. package/build-style/group/editor.css +1 -1
  202. package/build-style/image/editor-rtl.css +3 -0
  203. package/build-style/image/editor.css +3 -0
  204. package/package.json +34 -34
  205. package/src/audio/edit.js +9 -19
  206. package/src/audio/edit.native.js +3 -3
  207. package/src/avatar/edit.js +1 -1
  208. package/src/avatar/index.php +12 -1
  209. package/src/block/index.php +2 -0
  210. package/src/button/edit.js +2 -2
  211. package/src/buttons/edit.js +3 -16
  212. package/src/buttons/edit.native.js +2 -18
  213. package/src/calendar/index.php +5 -0
  214. package/src/columns/edit.js +9 -2
  215. package/src/comment-author-avatar/edit.js +1 -1
  216. package/src/comments/index.php +2 -0
  217. package/src/cover/edit/index.js +2 -2
  218. package/src/cover/edit/inspector-controls.js +1 -1
  219. package/src/cover/edit/resizable-cover-popover.js +1 -6
  220. package/src/cover/edit.native.js +1 -1
  221. package/src/details/block.json +1 -0
  222. package/src/file/deprecated.js +3 -3
  223. package/src/file/edit.js +8 -15
  224. package/src/file/edit.native.js +4 -4
  225. package/src/file/save.js +1 -1
  226. package/src/form-input/edit.js +1 -1
  227. package/src/gallery/edit.js +6 -12
  228. package/src/gallery/gallery.native.js +1 -1
  229. package/src/gallery/test/index.native.js +1 -1
  230. package/src/gallery/v1/edit.js +2 -2
  231. package/src/gallery/v1/gallery.native.js +1 -1
  232. package/src/group/editor.scss +1 -1
  233. package/src/group/variations.js +3 -6
  234. package/src/image/edit.js +1 -1
  235. package/src/image/edit.native.js +1 -1
  236. package/src/image/editor.scss +6 -0
  237. package/src/image/image.js +2 -2
  238. package/src/latest-posts/edit.native.js +1 -1
  239. package/src/list/edit.js +5 -0
  240. package/src/list/ordered-list-settings.js +1 -1
  241. package/src/list-item/edit.native.js +1 -1
  242. package/src/list-item/hooks/use-indent-list-item.js +2 -0
  243. package/src/list-item/hooks/use-outdent-list-item.js +2 -0
  244. package/src/list-item/hooks/use-space.js +16 -9
  245. package/src/media-text/media-container.native.js +5 -3
  246. package/src/media-text/test/edit.native.js +58 -0
  247. package/src/missing/test/edit-integration.native.js +2 -1
  248. package/src/navigation/edit/index.js +1 -1
  249. package/src/navigation/edit/test/navigation-menu-selector.js +3 -3
  250. package/src/navigation/index.php +18 -13
  251. package/src/navigation-link/link-ui.js +2 -2
  252. package/src/paragraph/edit.native.js +1 -1
  253. package/src/paragraph/test/edit.native.js +36 -0
  254. package/src/pattern/edit.js +27 -10
  255. package/src/post-author-biography/index.php +4 -3
  256. package/src/post-author-name/index.php +4 -3
  257. package/src/post-excerpt/edit.js +1 -1
  258. package/src/post-featured-image/dimension-controls.js +4 -4
  259. package/src/post-featured-image/edit.js +1 -1
  260. package/src/post-navigation-link/edit.js +1 -1
  261. package/src/post-template/index.php +2 -0
  262. package/src/query/edit/pattern-selection-modal.js +1 -1
  263. package/src/query/utils.js +6 -4
  264. package/src/query-pagination-next/edit.js +1 -1
  265. package/src/query-pagination-previous/edit.js +1 -1
  266. package/src/quote/block.json +1 -1
  267. package/src/quote/deprecated.js +110 -15
  268. package/src/quote/edit.js +5 -5
  269. package/src/quote/save.js +2 -2
  270. package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
  271. package/src/read-more/edit.js +1 -1
  272. package/src/search/edit.js +1 -1
  273. package/src/search/edit.native.js +4 -4
  274. package/src/site-logo/edit.js +1 -1
  275. package/src/social-link/edit.js +1 -1
  276. package/src/social-links/edit.native.js +1 -1
  277. package/src/spacer/edit.js +1 -1
  278. package/src/table-of-contents/edit.js +1 -1
  279. package/src/template-part/edit/index.js +91 -4
  280. package/src/template-part/edit/selection-modal.js +4 -8
  281. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
  282. package/src/utils/hooks.js +53 -3
  283. package/src/video/edit-common-settings.js +1 -1
  284. package/src/video/edit.js +10 -18
  285. package/src/video/edit.native.js +5 -8
  286. package/src/video/test/edit.native.js +0 -14
  287. package/build/site-title/edit/index.js.map +0 -1
  288. package/build-module/site-title/edit/index.js.map +0 -1
  289. /package/src/site-title/{edit/index.js → edit.js} +0 -0
@@ -225,8 +225,7 @@ class VideoEdit extends _element.Component {
225
225
  } = this.props;
226
226
  const {
227
227
  id,
228
- src,
229
- guid
228
+ src
230
229
  } = attributes;
231
230
  const {
232
231
  videoContainerHeight
@@ -247,11 +246,7 @@ class VideoEdit extends _element.Component {
247
246
  }));
248
247
  }
249
248
  });
250
-
251
- // NOTE: `guid` is not part of the block's attribute definition. This case
252
- // handled here is a temporary fix until a we find a better approach.
253
- const isSourcePresent = src || guid && id;
254
- if (!isSourcePresent) {
249
+ if (!src) {
255
250
  return (0, _react.createElement)(_reactNative.View, {
256
251
  style: {
257
252
  flex: 1
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_element","_reactNativeBridge","_components","_compose","_blockEditor","_i18n","_url","_hooks","_icons","_data","_notices","_util","_style","_interopRequireDefault","_iconRetry","_editCommonSettings","ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","VideoEdit","Component","constructor","props","state","isCaptionSelected","videoContainerHeight","mediaUploadStateReset","bind","onSelectMediaUploadOption","onSelectURL","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","updateMediaProgress","onVideoPressed","onVideoContanerLayout","onFocusCaption","componentDidMount","attributes","id","getProtocol","src","mediaUploadSync","componentWillUnmount","hasAction","isUploadInProgress","doAction","getDerivedStateFromProps","isSelected","requestImageUploadCancelDialog","requestImageFailedRetryDialog","setState","payload","setAttributes","mediaUrl","url","mediaServerId","mediaId","createErrorNotice","onReplace","isURL","test","embedBlock","createUpgradedEmbedBlock","undefined","poster","__","event","width","nativeEvent","layout","height","VIDEO_ASPECT_RATIO","getIcon","iconType","iconStyle","_react","createElement","Icon","icon","SvgIconRetry","style","getStylesFromColorScheme","iconDark","iconUploading","iconUploadingDark","SvgIcon","render","wasBlockJustInserted","guid","toolbarEditButton","MediaUpload","allowedTypes","MEDIA_TYPE_VIDEO","isReplacingMedia","onSelect","open","getMediaOptions","ToolbarGroup","ToolbarButton","label","replace","onClick","isSourcePresent","View","flex","MediaPlaceholder","onFocus","autoOpenMediaUpload","TouchableWithoutFeedback","accessible","onPress","disabled","BlockControls","InspectorControls","PanelBody","title","default","MediaUploadProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onUpdateMediaProgress","onMediaUploadStateReset","renderContent","isUploadFailed","retryMessage","showVideo","styleIconContainer","modalIconRetry","modalIcon","iconContainer","videoStyle","video","containerStyle","containerFocused","container","onLayout","videoContainer","VideoPlayer","source","uri","paused","placeholderContainer","placeholderContainerDark","Text","uploadFailedText","BlockCaption","accessibilityLabelCreator","caption","RichText","isEmpty","sprintf","clientId","onBlur","insertBlocksAfter","_default","exports","compose","withSelect","select","blockEditorStore","withDispatch","dispatch","noticesStore","withPreferredColorScheme"],"sources":["@wordpress/block-library/src/video/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n} from '@wordpress/react-native-bridge';\nimport {\n\tIcon,\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n} from '@wordpress/components';\nimport { withPreferredColorScheme, compose } from '@wordpress/compose';\nimport {\n\tBlockCaption,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tMEDIA_TYPE_VIDEO,\n\tBlockControls,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n\tInspectorControls,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { doAction, hasAction } from '@wordpress/hooks';\nimport { video as SvgIcon, replace } from '@wordpress/icons';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport style from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport VideoCommonSettings from './edit-common-settings';\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nclass VideoEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisCaptionSelected: false,\n\t\t\tvideoContainerHeight: 0,\n\t\t};\n\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption =\n\t\t\tthis.onSelectMediaUploadOption.bind( this );\n\t\tthis.onSelectURL = this.onSelectURL.bind( this );\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.onVideoPressed = this.onVideoPressed.bind( this );\n\t\tthis.onVideoContanerLayout = this.onVideoContanerLayout.bind( this );\n\t\tthis.onFocusCaption = this.onFocusCaption.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes } = this.props;\n\t\tif ( attributes.id && getProtocol( attributes.src ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\t// This action will only exist if the user pressed the trash button on the block holder.\n\t\tif (\n\t\t\thasAction( 'blocks.onRemoveBlockCheckUpload' ) &&\n\t\t\tthis.state.isUploadInProgress\n\t\t) {\n\t\t\tdoAction(\n\t\t\t\t'blocks.onRemoveBlockCheckUpload',\n\t\t\t\tthis.props.attributes.id\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\t// Avoid a UI flicker in the toolbar by insuring that isCaptionSelected\n\t\t// is updated immediately any time the isSelected prop becomes false.\n\t\treturn {\n\t\t\tisCaptionSelected: props.isSelected && state.isCaptionSelected,\n\t\t};\n\t}\n\n\tonVideoPressed() {\n\t\tconst { attributes } = this.props;\n\n\t\tif ( this.state.isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.src ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tisCaptionSelected: false,\n\t\t} );\n\t}\n\n\tonFocusCaption() {\n\t\tif ( ! this.state.isCaptionSelected ) {\n\t\t\tthis.setState( { isCaptionSelected: true } );\n\t\t}\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( payload.mediaUrl ) {\n\t\t\tsetAttributes( { url: payload.mediaUrl } );\n\t\t}\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { src: payload.mediaUrl, id: payload.mediaServerId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id: null, src: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonSelectMediaUploadOption( { id, url } ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id, src: url } );\n\t}\n\n\tonSelectURL( url ) {\n\t\tconst { createErrorNotice, onReplace, setAttributes } = this.props;\n\n\t\tif ( isURL( url ) && /^https?:/.test( getProtocol( url ) ) ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetAttributes( { src: url, id: undefined, poster: undefined } );\n\t\t} else {\n\t\t\tcreateErrorNotice( __( 'Invalid URL.' ) );\n\t\t}\n\t}\n\n\tonVideoContanerLayout( event ) {\n\t\tconst { width } = event.nativeEvent.layout;\n\t\tconst height = width / VIDEO_ASPECT_RATIO;\n\t\tif ( height !== this.state.videoContainerHeight ) {\n\t\t\tthis.setState( { videoContainerHeight: height } );\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...style.icon } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyle.icon,\n\t\t\t\t\tstyle.iconDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticonStyle = this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyle.iconUploading,\n\t\t\t\t\tstyle.iconUploadingDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn <Icon icon={ SvgIcon } { ...iconStyle } />;\n\t}\n\n\trender() {\n\t\tconst { setAttributes, attributes, isSelected, wasBlockJustInserted } =\n\t\t\tthis.props;\n\t\tconst { id, src, guid } = attributes;\n\t\tconst { videoContainerHeight } = this.state;\n\n\t\tconst toolbarEditButton = (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_VIDEO ] }\n\t\t\t\tisReplacingMedia={ true }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit video' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t></MediaUpload>\n\t\t);\n\n\t\t// NOTE: `guid` is not part of the block's attribute definition. This case\n\t\t// handled here is a temporary fix until a we find a better approach.\n\t\tconst isSourcePresent = src || ( guid && id );\n\t\tif ( ! isSourcePresent ) {\n\t\t\treturn (\n\t\t\t\t<View style={ { flex: 1 } }>\n\t\t\t\t\t<MediaPlaceholder\n\t\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_VIDEO ] }\n\t\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\t\tautoOpenMediaUpload={\n\t\t\t\t\t\t\tisSelected && wasBlockJustInserted\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessible={ ! isSelected }\n\t\t\t\tonPress={ this.onVideoPressed }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t>\n\t\t\t\t<View style={ { flex: 1 } }>\n\t\t\t\t\t{ ! this.state.isCaptionSelected && (\n\t\t\t\t\t\t<BlockControls>{ toolbarEditButton }</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\t\t\trenderContent={ ( {\n\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\tisUploadFailed,\n\t\t\t\t\t\t\tretryMessage,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tconst showVideo =\n\t\t\t\t\t\t\t\tisURL( src ) &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\t! isUploadFailed;\n\t\t\t\t\t\t\tconst icon = this.getIcon(\n\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t? ICON_TYPE.RETRY\n\t\t\t\t\t\t\t\t\t: ICON_TYPE.UPLOAD\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst styleIconContainer = isUploadFailed\n\t\t\t\t\t\t\t\t? style.modalIconRetry\n\t\t\t\t\t\t\t\t: style.modalIcon;\n\n\t\t\t\t\t\t\tconst iconContainer = (\n\t\t\t\t\t\t\t\t<View style={ styleIconContainer }>\n\t\t\t\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tconst videoStyle = {\n\t\t\t\t\t\t\t\theight: videoContainerHeight,\n\t\t\t\t\t\t\t\t...style.video,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tconst containerStyle =\n\t\t\t\t\t\t\t\tshowVideo && isSelected\n\t\t\t\t\t\t\t\t\t? style.containerFocused\n\t\t\t\t\t\t\t\t\t: style.container;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\tonLayout={ this.onVideoContanerLayout }\n\t\t\t\t\t\t\t\t\tstyle={ containerStyle }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t\t\t<View style={ style.videoContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t! this.state\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.isCaptionSelected\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ videoStyle }\n\t\t\t\t\t\t\t\t\t\t\t\tsource={ { uri: src } }\n\t\t\t\t\t\t\t\t\t\t\t\tpaused={ true }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! showVideo && (\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\theight: videoContainerHeight,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\t\t...this.props.getStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.placeholderContainer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.placeholderContainerDark\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ videoContainerHeight > 0 &&\n\t\t\t\t\t\t\t\t\t\t\t\ticonContainer }\n\t\t\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.uploadFailedText\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockCaption\n\t\t\t\t\t\taccessible={ true }\n\t\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t\t\t? /* translators: accessibility text. Empty video caption. */\n\t\t\t\t\t\t\t\t __( 'Video caption. Empty' )\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: video caption. */\n\t\t\t\t\t\t\t\t\t\t__( 'Video caption. %s' ),\n\t\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclientId={ this.props.clientId }\n\t\t\t\t\t\tisSelected={ this.state.isCaptionSelected }\n\t\t\t\t\t\tonFocus={ this.onFocusCaption }\n\t\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as props.\n\t\t\t\t\t\tinsertBlocksAfter={ this.props.insertBlocksAfter }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createErrorNotice } = dispatch( noticesStore );\n\n\t\treturn { createErrorNotice };\n\t} ),\n\twithPreferredColorScheme,\n] )( VideoEdit );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_element","_reactNativeBridge","_components","_compose","_blockEditor","_i18n","_url","_hooks","_icons","_data","_notices","_util","_style","_interopRequireDefault","_iconRetry","_editCommonSettings","ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","VideoEdit","Component","constructor","props","state","isCaptionSelected","videoContainerHeight","mediaUploadStateReset","bind","onSelectMediaUploadOption","onSelectURL","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","updateMediaProgress","onVideoPressed","onVideoContanerLayout","onFocusCaption","componentDidMount","attributes","id","getProtocol","src","mediaUploadSync","componentWillUnmount","hasAction","isUploadInProgress","doAction","getDerivedStateFromProps","isSelected","requestImageUploadCancelDialog","requestImageFailedRetryDialog","setState","payload","setAttributes","mediaUrl","url","mediaServerId","mediaId","createErrorNotice","onReplace","isURL","test","embedBlock","createUpgradedEmbedBlock","undefined","poster","__","event","width","nativeEvent","layout","height","VIDEO_ASPECT_RATIO","getIcon","iconType","iconStyle","_react","createElement","Icon","icon","SvgIconRetry","style","getStylesFromColorScheme","iconDark","iconUploading","iconUploadingDark","SvgIcon","render","wasBlockJustInserted","toolbarEditButton","MediaUpload","allowedTypes","MEDIA_TYPE_VIDEO","isReplacingMedia","onSelect","open","getMediaOptions","ToolbarGroup","ToolbarButton","label","replace","onClick","View","flex","MediaPlaceholder","onFocus","autoOpenMediaUpload","TouchableWithoutFeedback","accessible","onPress","disabled","BlockControls","InspectorControls","PanelBody","title","default","MediaUploadProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onUpdateMediaProgress","onMediaUploadStateReset","renderContent","isUploadFailed","retryMessage","showVideo","styleIconContainer","modalIconRetry","modalIcon","iconContainer","videoStyle","video","containerStyle","containerFocused","container","onLayout","videoContainer","VideoPlayer","source","uri","paused","placeholderContainer","placeholderContainerDark","Text","uploadFailedText","BlockCaption","accessibilityLabelCreator","caption","RichText","isEmpty","sprintf","clientId","onBlur","insertBlocksAfter","_default","exports","compose","withSelect","select","blockEditorStore","withDispatch","dispatch","noticesStore","withPreferredColorScheme"],"sources":["@wordpress/block-library/src/video/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n} from '@wordpress/react-native-bridge';\nimport {\n\tIcon,\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n} from '@wordpress/components';\nimport { withPreferredColorScheme, compose } from '@wordpress/compose';\nimport {\n\tBlockCaption,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tMEDIA_TYPE_VIDEO,\n\tBlockControls,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n\tInspectorControls,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { doAction, hasAction } from '@wordpress/hooks';\nimport { video as SvgIcon, replace } from '@wordpress/icons';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport style from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport VideoCommonSettings from './edit-common-settings';\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nclass VideoEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisCaptionSelected: false,\n\t\t\tvideoContainerHeight: 0,\n\t\t};\n\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption =\n\t\t\tthis.onSelectMediaUploadOption.bind( this );\n\t\tthis.onSelectURL = this.onSelectURL.bind( this );\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.onVideoPressed = this.onVideoPressed.bind( this );\n\t\tthis.onVideoContanerLayout = this.onVideoContanerLayout.bind( this );\n\t\tthis.onFocusCaption = this.onFocusCaption.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes } = this.props;\n\t\tif ( attributes.id && getProtocol( attributes.src ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\t// This action will only exist if the user pressed the trash button on the block holder.\n\t\tif (\n\t\t\thasAction( 'blocks.onRemoveBlockCheckUpload' ) &&\n\t\t\tthis.state.isUploadInProgress\n\t\t) {\n\t\t\tdoAction(\n\t\t\t\t'blocks.onRemoveBlockCheckUpload',\n\t\t\t\tthis.props.attributes.id\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\t// Avoid a UI flicker in the toolbar by insuring that isCaptionSelected\n\t\t// is updated immediately any time the isSelected prop becomes false.\n\t\treturn {\n\t\t\tisCaptionSelected: props.isSelected && state.isCaptionSelected,\n\t\t};\n\t}\n\n\tonVideoPressed() {\n\t\tconst { attributes } = this.props;\n\n\t\tif ( this.state.isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.src ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tisCaptionSelected: false,\n\t\t} );\n\t}\n\n\tonFocusCaption() {\n\t\tif ( ! this.state.isCaptionSelected ) {\n\t\t\tthis.setState( { isCaptionSelected: true } );\n\t\t}\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( payload.mediaUrl ) {\n\t\t\tsetAttributes( { url: payload.mediaUrl } );\n\t\t}\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { src: payload.mediaUrl, id: payload.mediaServerId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id: null, src: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonSelectMediaUploadOption( { id, url } ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id, src: url } );\n\t}\n\n\tonSelectURL( url ) {\n\t\tconst { createErrorNotice, onReplace, setAttributes } = this.props;\n\n\t\tif ( isURL( url ) && /^https?:/.test( getProtocol( url ) ) ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetAttributes( { src: url, id: undefined, poster: undefined } );\n\t\t} else {\n\t\t\tcreateErrorNotice( __( 'Invalid URL.' ) );\n\t\t}\n\t}\n\n\tonVideoContanerLayout( event ) {\n\t\tconst { width } = event.nativeEvent.layout;\n\t\tconst height = width / VIDEO_ASPECT_RATIO;\n\t\tif ( height !== this.state.videoContainerHeight ) {\n\t\t\tthis.setState( { videoContainerHeight: height } );\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...style.icon } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyle.icon,\n\t\t\t\t\tstyle.iconDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticonStyle = this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyle.iconUploading,\n\t\t\t\t\tstyle.iconUploadingDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn <Icon icon={ SvgIcon } { ...iconStyle } />;\n\t}\n\n\trender() {\n\t\tconst { setAttributes, attributes, isSelected, wasBlockJustInserted } =\n\t\t\tthis.props;\n\t\tconst { id, src } = attributes;\n\t\tconst { videoContainerHeight } = this.state;\n\n\t\tconst toolbarEditButton = (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_VIDEO ] }\n\t\t\t\tisReplacingMedia\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit video' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t></MediaUpload>\n\t\t);\n\n\t\tif ( ! src ) {\n\t\t\treturn (\n\t\t\t\t<View style={ { flex: 1 } }>\n\t\t\t\t\t<MediaPlaceholder\n\t\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_VIDEO ] }\n\t\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\t\tautoOpenMediaUpload={\n\t\t\t\t\t\t\tisSelected && wasBlockJustInserted\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessible={ ! isSelected }\n\t\t\t\tonPress={ this.onVideoPressed }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t>\n\t\t\t\t<View style={ { flex: 1 } }>\n\t\t\t\t\t{ ! this.state.isCaptionSelected && (\n\t\t\t\t\t\t<BlockControls>{ toolbarEditButton }</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\t\t\trenderContent={ ( {\n\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\tisUploadFailed,\n\t\t\t\t\t\t\tretryMessage,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tconst showVideo =\n\t\t\t\t\t\t\t\tisURL( src ) &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\t! isUploadFailed;\n\t\t\t\t\t\t\tconst icon = this.getIcon(\n\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t? ICON_TYPE.RETRY\n\t\t\t\t\t\t\t\t\t: ICON_TYPE.UPLOAD\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst styleIconContainer = isUploadFailed\n\t\t\t\t\t\t\t\t? style.modalIconRetry\n\t\t\t\t\t\t\t\t: style.modalIcon;\n\n\t\t\t\t\t\t\tconst iconContainer = (\n\t\t\t\t\t\t\t\t<View style={ styleIconContainer }>\n\t\t\t\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tconst videoStyle = {\n\t\t\t\t\t\t\t\theight: videoContainerHeight,\n\t\t\t\t\t\t\t\t...style.video,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tconst containerStyle =\n\t\t\t\t\t\t\t\tshowVideo && isSelected\n\t\t\t\t\t\t\t\t\t? style.containerFocused\n\t\t\t\t\t\t\t\t\t: style.container;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\tonLayout={ this.onVideoContanerLayout }\n\t\t\t\t\t\t\t\t\tstyle={ containerStyle }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t\t\t<View style={ style.videoContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t! this.state\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.isCaptionSelected\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ videoStyle }\n\t\t\t\t\t\t\t\t\t\t\t\tsource={ { uri: src } }\n\t\t\t\t\t\t\t\t\t\t\t\tpaused\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! showVideo && (\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\theight: videoContainerHeight,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\t\t...this.props.getStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.placeholderContainer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.placeholderContainerDark\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ videoContainerHeight > 0 &&\n\t\t\t\t\t\t\t\t\t\t\t\ticonContainer }\n\t\t\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.uploadFailedText\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockCaption\n\t\t\t\t\t\taccessible\n\t\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t\t\t? /* translators: accessibility text. Empty video caption. */\n\t\t\t\t\t\t\t\t __( 'Video caption. Empty' )\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: video caption. */\n\t\t\t\t\t\t\t\t\t\t__( 'Video caption. %s' ),\n\t\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclientId={ this.props.clientId }\n\t\t\t\t\t\tisSelected={ this.state.isCaptionSelected }\n\t\t\t\t\t\tonFocus={ this.onFocusCaption }\n\t\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as props.\n\t\t\t\t\t\tinsertBlocksAfter={ this.props.insertBlocksAfter }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createErrorNotice } = dispatch( noticesStore );\n\n\t\treturn { createErrorNotice };\n\t} ),\n\twithPreferredColorScheme,\n] )( VideoEdit );\n"],"mappings":"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"}
@@ -7,12 +7,11 @@ import classnames from 'classnames';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { getBlobByURL, isBlobURL } from '@wordpress/blob';
10
+ import { isBlobURL } from '@wordpress/blob';
11
11
  import { Disabled, PanelBody, SelectControl, Spinner, ToggleControl } from '@wordpress/components';
12
- import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
13
- import { useEffect } from '@wordpress/element';
12
+ import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps } from '@wordpress/block-editor';
14
13
  import { __, _x } from '@wordpress/i18n';
15
- import { useDispatch, useSelect } from '@wordpress/data';
14
+ import { useDispatch } from '@wordpress/data';
16
15
  import { audio as icon } from '@wordpress/icons';
17
16
  import { store as noticesStore } from '@wordpress/notices';
18
17
 
@@ -20,6 +19,7 @@ import { store as noticesStore } from '@wordpress/notices';
20
19
  * Internal dependencies
21
20
  */
22
21
  import { createUpgradedEmbedBlock } from '../embed/util';
22
+ import { useUploadMediaFromBlobURL } from '../utils/hooks';
23
23
  import { Caption } from '../utils/caption';
24
24
  const ALLOWED_MEDIA_TYPES = ['audio'];
25
25
  function AudioEdit({
@@ -38,22 +38,12 @@ function AudioEdit({
38
38
  src
39
39
  } = attributes;
40
40
  const isTemporaryAudio = !id && isBlobURL(src);
41
- const {
42
- getSettings
43
- } = useSelect(blockEditorStore);
44
- useEffect(() => {
45
- if (!id && isBlobURL(src)) {
46
- const file = getBlobByURL(src);
47
- if (file) {
48
- getSettings().mediaUpload({
49
- filesList: [file],
50
- onFileChange: ([media]) => onSelectAudio(media),
51
- onError: e => onUploadError(e),
52
- allowedTypes: ALLOWED_MEDIA_TYPES
53
- });
54
- }
55
- }
56
- }, []);
41
+ useUploadMediaFromBlobURL({
42
+ url: src,
43
+ allowedTypes: ALLOWED_MEDIA_TYPES,
44
+ onChange: onSelectAudio,
45
+ onError: onUploadError
46
+ });
57
47
  function toggleAttribute(attribute) {
58
48
  return newValue => {
59
49
  setAttributes({
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","getBlobByURL","isBlobURL","Disabled","PanelBody","SelectControl","Spinner","ToggleControl","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","useEffect","__","_x","useDispatch","useSelect","audio","icon","noticesStore","createUpgradedEmbedBlock","Caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","getSettings","file","mediaUpload","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","url","undefined","createErrorNotice","message","type","getAutoplayHelp","checked","caption","classes","blockProps","createElement","onSelect","accept","value","Fragment","group","mediaId","mediaURL","title","__nextHasNoMarginBottom","label","onChange","help","options","isDisabled","controls","showToolbarButton"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected: isSingleSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tgetSettings().mediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Audio caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","isBlobURL","Disabled","PanelBody","SelectControl","Spinner","ToggleControl","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__","_x","useDispatch","audio","icon","store","noticesStore","createUpgradedEmbedBlock","useUploadMediaFromBlobURL","Caption","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","setAttributes","onReplace","isSelected","isSingleSelected","insertBlocksAfter","id","autoplay","loop","preload","src","isTemporaryAudio","url","allowedTypes","onChange","onSelectAudio","onError","onUploadError","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","undefined","createErrorNotice","message","type","getAutoplayHelp","checked","media","caption","classes","blockProps","createElement","onSelect","accept","value","Fragment","group","mediaId","mediaURL","title","__nextHasNoMarginBottom","label","help","options","isDisabled","controls","showToolbarButton"],"sources":["@wordpress/block-library/src/audio/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __, _x } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tonReplace,\n\tisSelected: isSingleSelected,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: src,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectAudio,\n\t\tonError: onUploadError,\n\t} );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Audio caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default AudioEdit;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["TouchableWithoutFeedback","View","PanelBody","SelectControl","ToggleControl","ToolbarButton","ToolbarGroup","AudioPlayer","BlockCaption","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadProgress","RichText","store","blockEditorStore","__","_x","sprintf","audio","icon","replace","useState","useDispatch","useSelect","noticesStore","isURL","getProtocol","styles","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","setAttributes","isSelected","insertBlocksAfter","onFocus","onBlur","clientId","id","autoplay","loop","preload","src","isCaptionSelected","setIsCaptionSelected","onFileChange","mediaId","mediaUrl","wasBlockJustInserted","select","createErrorNotice","toggleAttribute","attribute","newValue","onSelectURL","newSrc","test","undefined","onSelectAudio","media","url","onAudioPress","onFocusCaption","createElement","onSelect","accept","allowedTypes","value","autoOpenMediaUpload","getBlockControls","open","title","onClick","getBlockUI","getMediaOptions","onFinishMediaUploadWithSuccess","onMediaUploadStateReset","containerStyle","progressContainer","progressBarStyle","progressBar","spinnerStyle","spinner","renderContent","isUploadInProgress","isUploadFailed","retryMessage","Fragment","accessible","onPress","disabled","label","onChange","checked","help","options","hideCancelButton","isReplacingMedia","render","accessibilityLabelCreator","caption","isEmpty"],"sources":["@wordpress/block-library/src/audio/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n\tAudioPlayer,\n} from '@wordpress/components';\nimport {\n\tBlockCaption,\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { audio as icon, replace } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isURL, getProtocol } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tonFocus,\n\tonBlur,\n\tclientId,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\n\tconst onFileChange = ( { mediaId, mediaUrl } ) => {\n\t\tsetAttributes( { id: mediaId, src: mediaUrl } );\n\t};\n\n\tconst { wasBlockJustInserted } = useSelect( ( select ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\tif ( isURL( newSrc ) && /^https?:/.test( getProtocol( newSrc ) ) ) {\n\t\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t\t} else {\n\t\t\t\tcreateErrorNotice( __( 'Invalid URL. Audio file not found.' ) );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tfunction onAudioPress() {\n\t\tsetIsCaptionSelected( false );\n\t}\n\n\tfunction onFocusCaption() {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t}\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction getBlockControls( open ) {\n\t\treturn (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Replace audio' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tfunction getBlockUI( open, getMediaOptions ) {\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonFinishMediaUploadWithSuccess={ onFileChange }\n\t\t\t\tonMediaUploadStateReset={ onFileChange }\n\t\t\t\tcontainerStyle={ styles.progressContainer }\n\t\t\t\tprogressBarStyle={ styles.progressBar }\n\t\t\t\tspinnerStyle={ styles.spinner }\n\t\t\t\trenderContent={ ( {\n\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\tisUploadFailed,\n\t\t\t\t\tretryMessage,\n\t\t\t\t} ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isCaptionSelected &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\tgetBlockControls( open ) }\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<AudioPlayer\n\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tonPress={ onAudioPress }\n\t\t\tdisabled={ ! isSelected }\n\t\t>\n\t\t\t<View>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Autoplay may cause usability issues for some users.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Preload',\n\t\t\t\t\t\t\t\t'noun; Audio block parameter'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\t\tlabel: _x( 'None', '\"Preload\" value' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\treturn getBlockUI( open, getMediaOptions );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<BlockCaption\n\t\t\t\t\taccessible={ true }\n\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t\t? /* translators: accessibility text. Empty Audio caption. */\n\t\t\t\t\t\t\t __( 'Audio caption. Empty' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: Audio caption. */\n\t\t\t\t\t\t\t\t\t__( 'Audio caption. %s' ),\n\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\nexport default AudioEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["TouchableWithoutFeedback","View","PanelBody","SelectControl","ToggleControl","ToolbarButton","ToolbarGroup","AudioPlayer","BlockCaption","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadProgress","RichText","store","blockEditorStore","__","_x","sprintf","audio","icon","replace","useState","useDispatch","useSelect","noticesStore","isURL","getProtocol","styles","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","setAttributes","isSelected","insertBlocksAfter","onFocus","onBlur","clientId","id","autoplay","loop","preload","src","isCaptionSelected","setIsCaptionSelected","onFileChange","mediaId","mediaUrl","wasBlockJustInserted","select","createErrorNotice","toggleAttribute","attribute","newValue","onSelectURL","newSrc","test","undefined","onSelectAudio","media","url","onAudioPress","onFocusCaption","createElement","onSelect","accept","allowedTypes","value","autoOpenMediaUpload","getBlockControls","open","title","onClick","getBlockUI","getMediaOptions","onFinishMediaUploadWithSuccess","onMediaUploadStateReset","containerStyle","progressContainer","progressBarStyle","progressBar","spinnerStyle","spinner","renderContent","isUploadInProgress","isUploadFailed","retryMessage","Fragment","accessible","onPress","disabled","label","onChange","checked","help","options","hideCancelButton","isReplacingMedia","render","accessibilityLabelCreator","caption","isEmpty"],"sources":["@wordpress/block-library/src/audio/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n\tAudioPlayer,\n} from '@wordpress/components';\nimport {\n\tBlockCaption,\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { audio as icon, replace } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isURL, getProtocol } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tonFocus,\n\tonBlur,\n\tclientId,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\n\tconst onFileChange = ( { mediaId, mediaUrl } ) => {\n\t\tsetAttributes( { id: mediaId, src: mediaUrl } );\n\t};\n\n\tconst { wasBlockJustInserted } = useSelect( ( select ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\tif ( isURL( newSrc ) && /^https?:/.test( getProtocol( newSrc ) ) ) {\n\t\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t\t} else {\n\t\t\t\tcreateErrorNotice( __( 'Invalid URL. Audio file not found.' ) );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tfunction onAudioPress() {\n\t\tsetIsCaptionSelected( false );\n\t}\n\n\tfunction onFocusCaption() {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t}\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction getBlockControls( open ) {\n\t\treturn (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Replace audio' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tfunction getBlockUI( open, getMediaOptions ) {\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonFinishMediaUploadWithSuccess={ onFileChange }\n\t\t\t\tonMediaUploadStateReset={ onFileChange }\n\t\t\t\tcontainerStyle={ styles.progressContainer }\n\t\t\t\tprogressBarStyle={ styles.progressBar }\n\t\t\t\tspinnerStyle={ styles.spinner }\n\t\t\t\trenderContent={ ( {\n\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\tisUploadFailed,\n\t\t\t\t\tretryMessage,\n\t\t\t\t} ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isCaptionSelected &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\tgetBlockControls( open ) }\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<AudioPlayer\n\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tonPress={ onAudioPress }\n\t\t\tdisabled={ ! isSelected }\n\t\t>\n\t\t\t<View>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Autoplay may cause usability issues for some users.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Preload',\n\t\t\t\t\t\t\t\t'noun; Audio block parameter'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\t\tlabel: _x( 'None', '\"Preload\" value' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\treturn getBlockUI( open, getMediaOptions );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<BlockCaption\n\t\t\t\t\taccessible\n\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t\t? /* translators: accessibility text. Empty Audio caption. */\n\t\t\t\t\t\t\t __( 'Audio caption. Empty' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: Audio caption. */\n\t\t\t\t\t\t\t\t\t__( 'Audio caption. %s' ),\n\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\nexport default AudioEdit;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,wBAAwB,QAAQ,cAAc;;AAEvD;AACA;AACA;AACA,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SACCC,SAAS,EACTC,aAAa,EACbC,aAAa,EACbC,aAAa,EACbC,YAAY,EACZC,WAAW,QACL,uBAAuB;AAC9B,SACCC,YAAY,EACZC,aAAa,EACbC,SAAS,EACTC,iBAAiB,EACjBC,gBAAgB,EAChBC,WAAW,EACXC,mBAAmB,EACnBC,QAAQ,EACRC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SAASC,KAAK,IAAIC,IAAI,EAAEC,OAAO,QAAQ,kBAAkB;AACzD,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASV,KAAK,IAAIW,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,KAAK,EAAEC,WAAW,QAAQ,gBAAgB;;AAEnD;AACA;AACA;AACA,OAAOC,MAAM,MAAM,cAAc;AAEjC,MAAMC,mBAAmB,GAAG,CAAE,OAAO,CAAE;AAEvC,SAASC,SAASA,CAAE;EACnBC,UAAU;EACVC,aAAa;EACbC,UAAU;EACVC,iBAAiB;EACjBC,OAAO;EACPC,MAAM;EACNC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,EAAE;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAI,CAAC,GAAGX,UAAU;EAEvD,MAAM,CAAEY,iBAAiB,EAAEC,oBAAoB,CAAE,GAAGtB,QAAQ,CAAE,KAAM,CAAC;EAErE,MAAMuB,YAAY,GAAGA,CAAE;IAAEC,OAAO;IAAEC;EAAS,CAAC,KAAM;IACjDf,aAAa,CAAE;MAAEM,EAAE,EAAEQ,OAAO;MAAEJ,GAAG,EAAEK;IAAS,CAAE,CAAC;EAChD,CAAC;EAED,MAAM;IAAEC;EAAqB,CAAC,GAAGxB,SAAS,CAAIyB,MAAM,KAAQ;IAC3DD,oBAAoB,EAAEC,MAAM,CAAElC,gBAAiB,CAAC,CAACiC,oBAAoB,CACpEX,QAAQ,EACR,eACD;EACD,CAAC,CAAG,CAAC;EAEL,MAAM;IAAEa;EAAkB,CAAC,GAAG3B,WAAW,CAAEE,YAAa,CAAC;EAEzD,SAAS0B,eAAeA,CAAEC,SAAS,EAAG;IACrC,OAASC,QAAQ,IAAM;MACtBrB,aAAa,CAAE;QAAE,CAAEoB,SAAS,GAAIC;MAAS,CAAE,CAAC;IAC7C,CAAC;EACF;EAEA,SAASC,WAAWA,CAAEC,MAAM,EAAG;IAC9B,IAAKA,MAAM,KAAKb,GAAG,EAAG;MACrB,IAAKhB,KAAK,CAAE6B,MAAO,CAAC,IAAI,UAAU,CAACC,IAAI,CAAE7B,WAAW,CAAE4B,MAAO,CAAE,CAAC,EAAG;QAClEvB,aAAa,CAAE;UAAEU,GAAG,EAAEa,MAAM;UAAEjB,EAAE,EAAEmB;QAAU,CAAE,CAAC;MAChD,CAAC,MAAM;QACNP,iBAAiB,CAAElC,EAAE,CAAE,oCAAqC,CAAE,CAAC;MAChE;IACD;EACD;EAEA,SAAS0C,aAAaA,CAAEC,KAAK,EAAG;IAC/B,IAAK,CAAEA,KAAK,IAAI,CAAEA,KAAK,CAACC,GAAG,EAAG;MAC7B;MACA;MACA5B,aAAa,CAAE;QAAEU,GAAG,EAAEe,SAAS;QAAEnB,EAAE,EAAEmB;MAAU,CAAE,CAAC;MAClD;IACD;IACA;IACA;IACAzB,aAAa,CAAE;MAAEU,GAAG,EAAEiB,KAAK,CAACC,GAAG;MAAEtB,EAAE,EAAEqB,KAAK,CAACrB;IAAG,CAAE,CAAC;EAClD;EAEA,SAASuB,YAAYA,CAAA,EAAG;IACvBjB,oBAAoB,CAAE,KAAM,CAAC;EAC9B;EAEA,SAASkB,cAAcA,CAAA,EAAG;IACzB,IAAK,CAAEnB,iBAAiB,EAAG;MAC1BC,oBAAoB,CAAE,IAAK,CAAC;IAC7B;EACD;EAEA,IAAK,CAAEF,GAAG,EAAG;IACZ,OACCqB,aAAA,CAAChE,IAAI,QACJgE,aAAA,CAACrD,gBAAgB;MAChBU,IAAI,EAAG2C,aAAA,CAACvD,SAAS;QAACY,IAAI,EAAGA;MAAM,CAAE,CAAG;MACpC4C,QAAQ,EAAGN,aAAe;MAC1BJ,WAAW,EAAGA,WAAa;MAC3BW,MAAM,EAAC,SAAS;MAChBC,YAAY,EAAGrC,mBAAqB;MACpCsC,KAAK,EAAGpC,UAAY;MACpBI,OAAO,EAAGA,OAAS;MACnBiC,mBAAmB,EAAGnC,UAAU,IAAIe;IAAsB,CAC1D,CACI,CAAC;EAET;EAEA,SAASqB,gBAAgBA,CAAEC,IAAI,EAAG;IACjC,OACCP,aAAA,CAACxD,aAAa,QACbwD,aAAA,CAAC3D,YAAY,QACZ2D,aAAA,CAAC5D,aAAa;MACboE,KAAK,EAAGvD,EAAE,CAAE,eAAgB,CAAG;MAC/BI,IAAI,EAAGC,OAAS;MAChBmD,OAAO,EAAGF;IAAM,CAChB,CACY,CACA,CAAC;EAElB;EAEA,SAASG,UAAUA,CAAEH,IAAI,EAAEI,eAAe,EAAG;IAC5C,OACCX,aAAA,CAACnD,mBAAmB;MACnBkC,OAAO,EAAGR,EAAI;MACdqC,8BAA8B,EAAG9B,YAAc;MAC/C+B,uBAAuB,EAAG/B,YAAc;MACxCgC,cAAc,EAAGjD,MAAM,CAACkD,iBAAmB;MAC3CC,gBAAgB,EAAGnD,MAAM,CAACoD,WAAa;MACvCC,YAAY,EAAGrD,MAAM,CAACsD,OAAS;MAC/BC,aAAa,EAAGA,CAAE;QACjBC,kBAAkB;QAClBC,cAAc;QACdC;MACD,CAAC,KAAM;QACN,OACCvB,aAAA,CAAAwB,QAAA,QACG,CAAE5C,iBAAiB,IACpB,CAAEyC,kBAAkB,IACpBf,gBAAgB,CAAEC,IAAK,CAAC,EACvBI,eAAe,CAAC,CAAC,EACnBX,aAAA,CAAC1D,WAAW;UACX+E,kBAAkB,EAAGA,kBAAoB;UACzCC,cAAc,EAAGA,cAAgB;UACjCC,YAAY,EAAGA,YAAc;UAC7BvD,UAAU,EAAGA,UAAY;UACzBE,UAAU,EAAGA;QAAY,CACzB,CACA,CAAC;MAEL;IAAG,CACH,CAAC;EAEJ;EAEA,OACC8B,aAAA,CAACjE,wBAAwB;IACxB0F,UAAU,EAAG,CAAEvD,UAAY;IAC3BwD,OAAO,EAAG5B,YAAc;IACxB6B,QAAQ,EAAG,CAAEzD;EAAY,GAEzB8B,aAAA,CAAChE,IAAI,QACJgE,aAAA,CAACtD,iBAAiB,QACjBsD,aAAA,CAAC/D,SAAS;IAACuE,KAAK,EAAGvD,EAAE,CAAE,UAAW;EAAG,GACpC+C,aAAA,CAAC7D,aAAa;IACbyF,KAAK,EAAG3E,EAAE,CAAE,UAAW,CAAG;IAC1B4E,QAAQ,EAAGzC,eAAe,CAAE,UAAW,CAAG;IAC1C0C,OAAO,EAAGtD,QAAU;IACpBuD,IAAI,EAAG9E,EAAE,CACR,qDACD;EAAG,CACH,CAAC,EACF+C,aAAA,CAAC7D,aAAa;IACbyF,KAAK,EAAG3E,EAAE,CAAE,MAAO,CAAG;IACtB4E,QAAQ,EAAGzC,eAAe,CAAE,MAAO,CAAG;IACtC0C,OAAO,EAAGrD;EAAM,CAChB,CAAC,EACFuB,aAAA,CAAC9D,aAAa;IACb0F,KAAK,EAAG1E,EAAE,CACT,SAAS,EACT,6BACD,CAAG;IACHkD,KAAK,EAAG1B,OAAO,IAAI;IACnB;IAAA;IACAmD,QAAQ,EAAKzB,KAAK,IACjBnC,aAAa,CAAE;MACdS,OAAO,EAAE0B,KAAK,IAAIV;IACnB,CAAE,CACF;IACDsC,OAAO,EAAG,CACT;MAAE5B,KAAK,EAAE,EAAE;MAAEwB,KAAK,EAAE3E,EAAE,CAAE,iBAAkB;IAAE,CAAC,EAC7C;MAAEmD,KAAK,EAAE,MAAM;MAAEwB,KAAK,EAAE3E,EAAE,CAAE,MAAO;IAAE,CAAC,EACtC;MAAEmD,KAAK,EAAE,UAAU;MAAEwB,KAAK,EAAE3E,EAAE,CAAE,UAAW;IAAE,CAAC,EAC9C;MACCmD,KAAK,EAAE,MAAM;MACbwB,KAAK,EAAE1E,EAAE,CAAE,MAAM,EAAE,iBAAkB;IACtC,CAAC,CACC;IACH+E,gBAAgB;EAAA,CAChB,CACS,CACO,CAAC,EACpBjC,aAAA,CAACpD,WAAW;IACXuD,YAAY,EAAGrC,mBAAqB;IACpCoE,gBAAgB;IAChBjC,QAAQ,EAAGN,aAAe;IAC1BJ,WAAW,EAAGA,WAAa;IAC3B4C,MAAM,EAAGA,CAAE;MAAE5B,IAAI;MAAEI;IAAgB,CAAC,KAAM;MACzC,OAAOD,UAAU,CAAEH,IAAI,EAAEI,eAAgB,CAAC;IAC3C;EAAG,CACH,CAAC,EACFX,aAAA,CAACzD,YAAY;IACZkF,UAAU;IACVW,yBAAyB,EAAKC,OAAO,IACpCvF,QAAQ,CAACwF,OAAO,CAAED,OAAQ,CAAC,GACxB;IACApF,EAAE,CAAE,sBAAuB,CAAC,GAC5BE,OAAO,EACP;IACAF,EAAE,CAAE,mBAAoB,CAAC,EACzBoF,OACA,CACH;IACD/D,QAAQ,EAAGA,QAAU;IACrBJ,UAAU,EAAGU,iBAAmB;IAChCR,OAAO,EAAG2B,cAAgB;IAC1B1B,MAAM,EAAGA,MAAQ;IACjBF,iBAAiB,EAAGA;EAAmB,CACvC,CACI,CACmB,CAAC;AAE7B;AACA,eAAeJ,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","InspectorControls","useBlockProps","__experimentalUseBorderProps","useBorderProps","PanelBody","RangeControl","ResizableBox","ToggleControl","__","isRTL","addQueryArgs","removeQueryArgs","useUserAvatar","useCommentAvatar","UserControl","AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","createElement","title","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newSize","size","min","minSize","max","maxSize","initialPosition","value","isLink","checked","linkTarget","userId","ResizableAvatar","blockProps","isSelected","borderProps","doubledSizedSrc","src","s","width","height","showHandle","onResizeStop","event","direction","elt","delta","parseInt","lockAspectRatio","enable","top","right","bottom","left","minWidth","maxWidth","alt","className","style","CommentEdit","context","commentId","Fragment","href","onClick","preventDefault","UserEdit","postId","postType","Edit","props"],"sources":["@wordpress/block-library/src/avatar/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { useUserAvatar, useCommentAvatar } from './hooks';\nimport UserControl from './user-control';\n\nconst AvatarInspectorControls = ( {\n\tsetAttributes,\n\tavatar,\n\tattributes,\n\tselectUser,\n} ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: newSize,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tmin={ avatar.minSize }\n\t\t\t\tmax={ avatar.maxSize }\n\t\t\t\tinitialPosition={ attributes?.size }\n\t\t\t\tvalue={ attributes?.size }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Link to user profile' ) }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( { isLink: ! attributes.isLink } )\n\t\t\t\t}\n\t\t\t\tchecked={ attributes.isLink }\n\t\t\t/>\n\t\t\t{ attributes.isLink && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ attributes.linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ selectUser && (\n\t\t\t\t<UserControl\n\t\t\t\t\tvalue={ attributes?.userId }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tuserId: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t</InspectorControls>\n);\n\nconst ResizableAvatar = ( {\n\tsetAttributes,\n\tattributes,\n\tavatar,\n\tblockProps,\n\tisSelected,\n} ) => {\n\tconst borderProps = useBorderProps( attributes );\n\tconst doubledSizedSrc = addQueryArgs(\n\t\tremoveQueryArgs( avatar?.src, [ 's' ] ),\n\t\t{\n\t\t\ts: attributes?.size * 2,\n\t\t}\n\t);\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: attributes.size,\n\t\t\t\t\theight: attributes.size,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: parseInt(\n\t\t\t\t\t\t\tattributes.size + ( delta.height || delta.width ),\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: ! isRTL(),\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: isRTL(),\n\t\t\t\t} }\n\t\t\t\tminWidth={ avatar.minSize }\n\t\t\t\tmaxWidth={ avatar.maxSize }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ doubledSizedSrc }\n\t\t\t\t\talt={ avatar.alt }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'avatar',\n\t\t\t\t\t\t'avatar-' + attributes.size,\n\t\t\t\t\t\t'photo',\n\t\t\t\t\t\t'wp-block-avatar__image',\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ borderProps.style }\n\t\t\t\t/>\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n};\nconst CommentEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { commentId } = context;\n\tconst blockProps = useBlockProps();\n\tconst avatar = useCommentAvatar( { commentId } );\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tselectUser={ false }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nconst UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { postId, postType } = context;\n\tconst avatar = useUserAvatar( {\n\t\tuserId: attributes?.userId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tselectUser={ true }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default function Edit( props ) {\n\t// Don't show the Comment Edit controls if we have a comment ID set, or if we're in the Site Editor (where it is `null`).\n\tif ( props?.context?.commentId || props?.context?.commentId === null ) {\n\t\treturn <CommentEdit { ...props } />;\n\t}\n\treturn <UserEdit { ...props } />;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","InspectorControls","useBlockProps","__experimentalUseBorderProps","useBorderProps","PanelBody","RangeControl","ResizableBox","ToggleControl","__","isRTL","addQueryArgs","removeQueryArgs","useUserAvatar","useCommentAvatar","UserControl","AvatarInspectorControls","setAttributes","avatar","attributes","selectUser","createElement","title","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newSize","size","min","minSize","max","maxSize","initialPosition","value","isLink","checked","linkTarget","userId","ResizableAvatar","blockProps","isSelected","borderProps","doubledSizedSrc","src","s","width","height","showHandle","onResizeStop","event","direction","elt","delta","parseInt","lockAspectRatio","enable","top","right","bottom","left","minWidth","maxWidth","alt","className","style","CommentEdit","context","commentId","Fragment","href","onClick","preventDefault","UserEdit","postId","postType","Edit","props"],"sources":["@wordpress/block-library/src/avatar/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { useUserAvatar, useCommentAvatar } from './hooks';\nimport UserControl from './user-control';\n\nconst AvatarInspectorControls = ( {\n\tsetAttributes,\n\tavatar,\n\tattributes,\n\tselectUser,\n} ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: newSize,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tmin={ avatar.minSize }\n\t\t\t\tmax={ avatar.maxSize }\n\t\t\t\tinitialPosition={ attributes?.size }\n\t\t\t\tvalue={ attributes?.size }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Link to user profile' ) }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( { isLink: ! attributes.isLink } )\n\t\t\t\t}\n\t\t\t\tchecked={ attributes.isLink }\n\t\t\t/>\n\t\t\t{ attributes.isLink && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tchecked={ attributes.linkTarget === '_blank' }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ selectUser && (\n\t\t\t\t<UserControl\n\t\t\t\t\tvalue={ attributes?.userId }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tuserId: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t</InspectorControls>\n);\n\nconst ResizableAvatar = ( {\n\tsetAttributes,\n\tattributes,\n\tavatar,\n\tblockProps,\n\tisSelected,\n} ) => {\n\tconst borderProps = useBorderProps( attributes );\n\tconst doubledSizedSrc = addQueryArgs(\n\t\tremoveQueryArgs( avatar?.src, [ 's' ] ),\n\t\t{\n\t\t\ts: attributes?.size * 2,\n\t\t}\n\t);\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: attributes.size,\n\t\t\t\t\theight: attributes.size,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsize: parseInt(\n\t\t\t\t\t\t\tattributes.size + ( delta.height || delta.width ),\n\t\t\t\t\t\t\t10\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: ! isRTL(),\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: isRTL(),\n\t\t\t\t} }\n\t\t\t\tminWidth={ avatar.minSize }\n\t\t\t\tmaxWidth={ avatar.maxSize }\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ doubledSizedSrc }\n\t\t\t\t\talt={ avatar.alt }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'avatar',\n\t\t\t\t\t\t'avatar-' + attributes.size,\n\t\t\t\t\t\t'photo',\n\t\t\t\t\t\t'wp-block-avatar__image',\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ borderProps.style }\n\t\t\t\t/>\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n};\nconst CommentEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { commentId } = context;\n\tconst blockProps = useBlockProps();\n\tconst avatar = useCommentAvatar( { commentId } );\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tselectUser={ false }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nconst UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {\n\tconst { postId, postType } = context;\n\tconst avatar = useUserAvatar( {\n\t\tuserId: attributes?.userId,\n\t\tpostId,\n\t\tpostType,\n\t} );\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<AvatarInspectorControls\n\t\t\t\tselectUser\n\t\t\t\tattributes={ attributes }\n\t\t\t\tavatar={ avatar }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t{ attributes.isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#avatar-pseudo-link\"\n\t\t\t\t\tclassName=\"wp-block-avatar__link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t<ResizableAvatar\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<ResizableAvatar\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tavatar={ avatar }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default function Edit( props ) {\n\t// Don't show the Comment Edit controls if we have a comment ID set, or if we're in the Site Editor (where it is `null`).\n\tif ( props?.context?.commentId || props?.context?.commentId === null ) {\n\t\treturn <CommentEdit { ...props } />;\n\t}\n\treturn <UserEdit { ...props } />;\n}\n"],"mappings":"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"}
@@ -90,7 +90,7 @@ function WidthPanel({
90
90
  });
91
91
  }
92
92
  return createElement(PanelBody, {
93
- title: __('Width settings')
93
+ title: __('Settings')
94
94
  }, createElement(ButtonGroup, {
95
95
  "aria-label": __('Button width')
96
96
  }, [25, 50, 75, 100].map(widthValue => {
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","NEW_TAB_TARGET","NOFOLLOW_REL","getUpdatedLinkAttributes","removeAnchorTag","unlock","__","useEffect","useState","useRef","useMemo","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalGetShadowClassesAndStyles","useShadowProps","__experimentalLinkControl","LinkControl","__experimentalGetElementClassName","store","blockEditorStore","useBlockEditingMode","displayShortcut","isKeyboardEvent","ENTER","link","linkOff","createBlock","cloneBlock","getDefaultBlockName","blocksStore","useMergeRefs","useRefEffect","useSelect","useDispatch","LINK_SETTINGS","DEFAULT_LINK_SETTINGS","id","title","useEnter","props","replaceBlocks","selectionChange","getBlock","getBlockRootClientId","getBlockIndex","propsRef","current","element","onKeyDown","event","defaultPrevented","keyCode","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","innerBlocks","slice","middle","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","createElement","map","widthValue","key","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","shadowProps","ref","blockProps","blockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","nofollow","includes","isLinkTag","linkValue","useEnterRef","mergedRef","lockUrlControls","select","blockBindingsSource","getBlockBindingsSource","bindings","source","lockAttributesEditing","Fragment","fontSize","value","onChange","withoutInteractiveFormatting","border","radius","onSplit","onMerge","identifier","group","nextAlign","name","icon","shortcut","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","onRemove","forceIsEditingLink","settings","__nextHasNoMarginBottom","label","newRel"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { unlock } from '../lock-unlock';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst { lockUrlControls = false } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t( ! blockBindingsSource ||\n\t\t\t\t\t\tblockBindingsSource?.lockAttributesEditing ),\n\t\t\t};\n\t\t},\n\t\t[ isSelected ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","NEW_TAB_TARGET","NOFOLLOW_REL","getUpdatedLinkAttributes","removeAnchorTag","unlock","__","useEffect","useState","useRef","useMemo","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalGetShadowClassesAndStyles","useShadowProps","__experimentalLinkControl","LinkControl","__experimentalGetElementClassName","store","blockEditorStore","useBlockEditingMode","displayShortcut","isKeyboardEvent","ENTER","link","linkOff","createBlock","cloneBlock","getDefaultBlockName","blocksStore","useMergeRefs","useRefEffect","useSelect","useDispatch","LINK_SETTINGS","DEFAULT_LINK_SETTINGS","id","title","useEnter","props","replaceBlocks","selectionChange","getBlock","getBlockRootClientId","getBlockIndex","propsRef","current","element","onKeyDown","event","defaultPrevented","keyCode","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","innerBlocks","slice","middle","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","createElement","map","widthValue","key","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","shadowProps","ref","blockProps","blockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","nofollow","includes","isLinkTag","linkValue","useEnterRef","mergedRef","lockUrlControls","select","blockBindingsSource","getBlockBindingsSource","bindings","source","lockAttributesEditing","Fragment","fontSize","value","onChange","withoutInteractiveFormatting","border","radius","onSplit","onMerge","identifier","group","nextAlign","name","icon","shortcut","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","onRemove","forceIsEditingLink","settings","__nextHasNoMarginBottom","label","newRel"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { unlock } from '../lock-unlock';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst { lockUrlControls = false } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t( ! blockBindingsSource ||\n\t\t\t\t\t\tblockBindingsSource?.lockAttributesEditing ),\n\t\t\t};\n\t\t},\n\t\t[ isSelected ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ import classnames from 'classnames';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { useBlockProps, useInnerBlocksProps, store as blockEditorStore } from '@wordpress/block-editor';
10
+ import { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';
11
11
  import { useSelect } from '@wordpress/data';
12
12
  import { store as blocksStore } from '@wordpress/blocks';
13
13
  const DEFAULT_BLOCK = {
@@ -30,13 +30,10 @@ function ButtonsEdit({
30
30
  })
31
31
  });
32
32
  const {
33
- preferredStyle,
34
33
  hasButtonVariations
35
34
  } = useSelect(select => {
36
- const preferredStyleVariations = select(blockEditorStore).getSettings().__experimentalPreferredStyleVariations;
37
35
  const buttonVariations = select(blocksStore).getBlockVariations('core/button', 'inserter');
38
36
  return {
39
- preferredStyle: preferredStyleVariations?.value?.['core/button'],
40
37
  hasButtonVariations: buttonVariations.length > 0
41
38
  };
42
39
  }, []);
@@ -44,9 +41,7 @@ function ButtonsEdit({
44
41
  defaultBlock: DEFAULT_BLOCK,
45
42
  // This check should be handled by the `Inserter` internally to be consistent across all blocks that use it.
46
43
  directInsert: !hasButtonVariations,
47
- template: [['core/button', {
48
- className: preferredStyle && `is-style-${preferredStyle}`
49
- }]],
44
+ template: [['core/button']],
50
45
  templateInsertUpdatesSelection: true,
51
46
  orientation: (_layout$orientation = layout?.orientation) !== null && _layout$orientation !== void 0 ? _layout$orientation : 'horizontal'
52
47
  });
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useBlockProps","useInnerBlocksProps","store","blockEditorStore","useSelect","blocksStore","DEFAULT_BLOCK","name","attributesToCopy","ButtonsEdit","attributes","className","_layout$orientation","fontSize","layout","style","blockProps","typography","preferredStyle","hasButtonVariations","select","preferredStyleVariations","getSettings","__experimentalPreferredStyleVariations","buttonVariations","getBlockVariations","value","length","innerBlocksProps","defaultBlock","directInsert","template","templateInsertUpdatesSelection","orientation","createElement"],"sources":["@wordpress/block-library/src/buttons/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/button',\n\tattributesToCopy: [\n\t\t'backgroundColor',\n\t\t'border',\n\t\t'className',\n\t\t'fontFamily',\n\t\t'fontSize',\n\t\t'gradient',\n\t\t'style',\n\t\t'textColor',\n\t\t'width',\n\t],\n};\n\nfunction ButtonsEdit( { attributes, className } ) {\n\tconst { fontSize, layout, style } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, {\n\t\t\t'has-custom-font-size': fontSize || style?.typography?.fontSize,\n\t\t} ),\n\t} );\n\tconst { preferredStyle, hasButtonVariations } = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalPreferredStyleVariations;\n\t\tconst buttonVariations = select( blocksStore ).getBlockVariations(\n\t\t\t'core/button',\n\t\t\t'inserter'\n\t\t);\n\t\treturn {\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/button' ],\n\t\t\thasButtonVariations: buttonVariations.length > 0,\n\t\t};\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t// This check should be handled by the `Inserter` internally to be consistent across all blocks that use it.\n\t\tdirectInsert: ! hasButtonVariations,\n\t\ttemplate: [\n\t\t\t[\n\t\t\t\t'core/button',\n\t\t\t\t{ className: preferredStyle && `is-style-${ preferredStyle }` },\n\t\t\t],\n\t\t],\n\t\ttemplateInsertUpdatesSelection: true,\n\t\torientation: layout?.orientation ?? 'horizontal',\n\t} );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n\nexport default ButtonsEdit;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,aAAa,EACbC,mBAAmB,EACnBC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASF,KAAK,IAAIG,WAAW,QAAQ,mBAAmB;AAExD,MAAMC,aAAa,GAAG;EACrBC,IAAI,EAAE,aAAa;EACnBC,gBAAgB,EAAE,CACjB,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,OAAO;AAET,CAAC;AAED,SAASC,WAAWA,CAAE;EAAEC,UAAU;EAAEC;AAAU,CAAC,EAAG;EAAA,IAAAC,mBAAA;EACjD,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGL,UAAU;EAC9C,MAAMM,UAAU,GAAGhB,aAAa,CAAE;IACjCW,SAAS,EAAEZ,UAAU,CAAEY,SAAS,EAAE;MACjC,sBAAsB,EAAEE,QAAQ,IAAIE,KAAK,EAAEE,UAAU,EAAEJ;IACxD,CAAE;EACH,CAAE,CAAC;EACH,MAAM;IAAEK,cAAc;IAAEC;EAAoB,CAAC,GAAGf,SAAS,CAAIgB,MAAM,IAAM;IACxE,MAAMC,wBAAwB,GAC7BD,MAAM,CAAEjB,gBAAiB,CAAC,CAACmB,WAAW,CAAC,CAAC,CACtCC,sCAAsC;IACzC,MAAMC,gBAAgB,GAAGJ,MAAM,CAAEf,WAAY,CAAC,CAACoB,kBAAkB,CAChE,aAAa,EACb,UACD,CAAC;IACD,OAAO;MACNP,cAAc,EAAEG,wBAAwB,EAAEK,KAAK,GAAI,aAAa,CAAE;MAClEP,mBAAmB,EAAEK,gBAAgB,CAACG,MAAM,GAAG;IAChD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,gBAAgB,GAAG3B,mBAAmB,CAAEe,UAAU,EAAE;IACzDa,YAAY,EAAEvB,aAAa;IAC3B;IACAwB,YAAY,EAAE,CAAEX,mBAAmB;IACnCY,QAAQ,EAAE,CACT,CACC,aAAa,EACb;MAAEpB,SAAS,EAAEO,cAAc,IAAK,YAAYA,cAAgB;IAAE,CAAC,CAC/D,CACD;IACDc,8BAA8B,EAAE,IAAI;IACpCC,WAAW,GAAArB,mBAAA,GAAEE,MAAM,EAAEmB,WAAW,cAAArB,mBAAA,cAAAA,mBAAA,GAAI;EACrC,CAAE,CAAC;EAEH,OAAOsB,aAAA;IAAA,GAAUN;EAAgB,CAAI,CAAC;AACvC;AAEA,eAAenB,WAAW"}
1
+ {"version":3,"names":["classnames","useBlockProps","useInnerBlocksProps","useSelect","store","blocksStore","DEFAULT_BLOCK","name","attributesToCopy","ButtonsEdit","attributes","className","_layout$orientation","fontSize","layout","style","blockProps","typography","hasButtonVariations","select","buttonVariations","getBlockVariations","length","innerBlocksProps","defaultBlock","directInsert","template","templateInsertUpdatesSelection","orientation","createElement"],"sources":["@wordpress/block-library/src/buttons/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as blocksStore } from '@wordpress/blocks';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/button',\n\tattributesToCopy: [\n\t\t'backgroundColor',\n\t\t'border',\n\t\t'className',\n\t\t'fontFamily',\n\t\t'fontSize',\n\t\t'gradient',\n\t\t'style',\n\t\t'textColor',\n\t\t'width',\n\t],\n};\n\nfunction ButtonsEdit( { attributes, className } ) {\n\tconst { fontSize, layout, style } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, {\n\t\t\t'has-custom-font-size': fontSize || style?.typography?.fontSize,\n\t\t} ),\n\t} );\n\tconst { hasButtonVariations } = useSelect( ( select ) => {\n\t\tconst buttonVariations = select( blocksStore ).getBlockVariations(\n\t\t\t'core/button',\n\t\t\t'inserter'\n\t\t);\n\t\treturn {\n\t\t\thasButtonVariations: buttonVariations.length > 0,\n\t\t};\n\t}, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t// This check should be handled by the `Inserter` internally to be consistent across all blocks that use it.\n\t\tdirectInsert: ! hasButtonVariations,\n\t\ttemplate: [ [ 'core/button' ] ],\n\t\ttemplateInsertUpdatesSelection: true,\n\t\torientation: layout?.orientation ?? 'horizontal',\n\t} );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n\nexport default ButtonsEdit;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,aAAa,EAAEC,mBAAmB,QAAQ,yBAAyB;AAC5E,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AAExD,MAAMC,aAAa,GAAG;EACrBC,IAAI,EAAE,aAAa;EACnBC,gBAAgB,EAAE,CACjB,iBAAiB,EACjB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,OAAO;AAET,CAAC;AAED,SAASC,WAAWA,CAAE;EAAEC,UAAU;EAAEC;AAAU,CAAC,EAAG;EAAA,IAAAC,mBAAA;EACjD,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGL,UAAU;EAC9C,MAAMM,UAAU,GAAGf,aAAa,CAAE;IACjCU,SAAS,EAAEX,UAAU,CAAEW,SAAS,EAAE;MACjC,sBAAsB,EAAEE,QAAQ,IAAIE,KAAK,EAAEE,UAAU,EAAEJ;IACxD,CAAE;EACH,CAAE,CAAC;EACH,MAAM;IAAEK;EAAoB,CAAC,GAAGf,SAAS,CAAIgB,MAAM,IAAM;IACxD,MAAMC,gBAAgB,GAAGD,MAAM,CAAEd,WAAY,CAAC,CAACgB,kBAAkB,CAChE,aAAa,EACb,UACD,CAAC;IACD,OAAO;MACNH,mBAAmB,EAAEE,gBAAgB,CAACE,MAAM,GAAG;IAChD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,gBAAgB,GAAGrB,mBAAmB,CAAEc,UAAU,EAAE;IACzDQ,YAAY,EAAElB,aAAa;IAC3B;IACAmB,YAAY,EAAE,CAAEP,mBAAmB;IACnCQ,QAAQ,EAAE,CAAE,CAAE,aAAa,CAAE,CAAE;IAC/BC,8BAA8B,EAAE,IAAI;IACpCC,WAAW,GAAAhB,mBAAA,GAAEE,MAAM,EAAEc,WAAW,cAAAhB,mBAAA,cAAAA,mBAAA,GAAI;EACrC,CAAE,CAAC;EAEH,OAAOiB,aAAA;IAAA,GAAUN;EAAgB,CAAI,CAAC;AACvC;AAEA,eAAed,WAAW"}