@wordpress/block-library 9.11.0 → 9.12.1-next.082ed6819.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 (272) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/block-keyboard-shortcuts/index.js +7 -7
  3. package/build/block-keyboard-shortcuts/index.js.map +1 -1
  4. package/build/button/index.js +1 -1
  5. package/build/button/index.js.map +1 -1
  6. package/build/cover/deprecated.js +140 -4
  7. package/build/cover/deprecated.js.map +1 -1
  8. package/build/cover/edit/block-controls.js +1 -1
  9. package/build/cover/edit/block-controls.js.map +1 -1
  10. package/build/cover/edit/cover-placeholder.js +1 -2
  11. package/build/cover/edit/cover-placeholder.js.map +1 -1
  12. package/build/cover/edit/index.js +23 -23
  13. package/build/cover/edit/index.js.map +1 -1
  14. package/build/cover/index.js +10 -10
  15. package/build/cover/index.js.map +1 -1
  16. package/build/cover/save.js +13 -13
  17. package/build/cover/save.js.map +1 -1
  18. package/build/cover/shared.js +6 -7
  19. package/build/cover/shared.js.map +1 -1
  20. package/build/details/index.js +20 -0
  21. package/build/details/index.js.map +1 -1
  22. package/build/file/edit.js +8 -4
  23. package/build/file/edit.js.map +1 -1
  24. package/build/freeform/modal.js +1 -1
  25. package/build/freeform/modal.js.map +1 -1
  26. package/build/gallery/edit.js +1 -1
  27. package/build/gallery/edit.js.map +1 -1
  28. package/build/heading/index.js +1 -7
  29. package/build/heading/index.js.map +1 -1
  30. package/build/home-link/edit.js +20 -36
  31. package/build/home-link/edit.js.map +1 -1
  32. package/build/image/edit.js +1 -1
  33. package/build/image/edit.js.map +1 -1
  34. package/build/image/image.js +144 -78
  35. package/build/image/image.js.map +1 -1
  36. package/build/image/index.js +1 -1
  37. package/build/latest-posts/edit.js +0 -1
  38. package/build/latest-posts/edit.js.map +1 -1
  39. package/build/lock-unlock.js.map +1 -1
  40. package/build/navigation/edit/index.js +2 -23
  41. package/build/navigation/edit/index.js.map +1 -1
  42. package/build/navigation/use-template-part-area-label.js +6 -8
  43. package/build/navigation/use-template-part-area-label.js.map +1 -1
  44. package/build/page-list/index.js +14 -0
  45. package/build/page-list/index.js.map +1 -1
  46. package/build/paragraph/edit.js +26 -25
  47. package/build/paragraph/edit.js.map +1 -1
  48. package/build/post-content/index.js +13 -0
  49. package/build/post-content/index.js.map +1 -1
  50. package/build/post-template/edit.js +11 -0
  51. package/build/post-template/edit.js.map +1 -1
  52. package/build/post-template/index.js +1 -1
  53. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +1 -3
  54. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  55. package/build/query/edit/inspector-controls/index.js +3 -13
  56. package/build/query/edit/inspector-controls/index.js.map +1 -1
  57. package/build/query/edit/pattern-selection-modal.js +0 -3
  58. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  59. package/build/query/edit/query-content.js +10 -12
  60. package/build/query/edit/query-content.js.map +1 -1
  61. package/build/query/index.js +1 -1
  62. package/build/query/utils.js +38 -9
  63. package/build/query/utils.js.map +1 -1
  64. package/build/social-link/edit.js +22 -9
  65. package/build/social-link/edit.js.map +1 -1
  66. package/build/template-part/edit/advanced-controls.js +2 -7
  67. package/build/template-part/edit/advanced-controls.js.map +1 -1
  68. package/build/template-part/edit/index.js +1 -4
  69. package/build/template-part/edit/index.js.map +1 -1
  70. package/build/template-part/edit/selection-modal.js +0 -3
  71. package/build/template-part/edit/selection-modal.js.map +1 -1
  72. package/build/template-part/edit/utils/get-template-part-icon.js +23 -0
  73. package/build/template-part/edit/utils/get-template-part-icon.js.map +1 -0
  74. package/build/template-part/edit/utils/hooks.js +1 -6
  75. package/build/template-part/edit/utils/hooks.js.map +1 -1
  76. package/build/template-part/variations.js +6 -12
  77. package/build/template-part/variations.js.map +1 -1
  78. package/build/video/edit.js +1 -1
  79. package/build/video/edit.js.map +1 -1
  80. package/build/video/tracks-editor.js +135 -123
  81. package/build/video/tracks-editor.js.map +1 -1
  82. package/build-module/block-keyboard-shortcuts/index.js +7 -7
  83. package/build-module/block-keyboard-shortcuts/index.js.map +1 -1
  84. package/build-module/button/index.js +1 -1
  85. package/build-module/button/index.js.map +1 -1
  86. package/build-module/cover/deprecated.js +140 -4
  87. package/build-module/cover/deprecated.js.map +1 -1
  88. package/build-module/cover/edit/block-controls.js +1 -1
  89. package/build-module/cover/edit/block-controls.js.map +1 -1
  90. package/build-module/cover/edit/cover-placeholder.js +1 -2
  91. package/build-module/cover/edit/cover-placeholder.js.map +1 -1
  92. package/build-module/cover/edit/index.js +23 -23
  93. package/build-module/cover/edit/index.js.map +1 -1
  94. package/build-module/cover/index.js +10 -10
  95. package/build-module/cover/index.js.map +1 -1
  96. package/build-module/cover/save.js +13 -13
  97. package/build-module/cover/save.js.map +1 -1
  98. package/build-module/cover/shared.js +6 -7
  99. package/build-module/cover/shared.js.map +1 -1
  100. package/build-module/details/index.js +21 -1
  101. package/build-module/details/index.js.map +1 -1
  102. package/build-module/file/edit.js +8 -4
  103. package/build-module/file/edit.js.map +1 -1
  104. package/build-module/freeform/modal.js +1 -1
  105. package/build-module/freeform/modal.js.map +1 -1
  106. package/build-module/gallery/edit.js +1 -1
  107. package/build-module/gallery/edit.js.map +1 -1
  108. package/build-module/heading/index.js +1 -7
  109. package/build-module/heading/index.js.map +1 -1
  110. package/build-module/home-link/edit.js +23 -39
  111. package/build-module/home-link/edit.js.map +1 -1
  112. package/build-module/image/edit.js +1 -1
  113. package/build-module/image/edit.js.map +1 -1
  114. package/build-module/image/image.js +149 -83
  115. package/build-module/image/image.js.map +1 -1
  116. package/build-module/image/index.js +1 -1
  117. package/build-module/latest-posts/edit.js +0 -1
  118. package/build-module/latest-posts/edit.js.map +1 -1
  119. package/build-module/lock-unlock.js.map +1 -1
  120. package/build-module/navigation/edit/index.js +2 -23
  121. package/build-module/navigation/edit/index.js.map +1 -1
  122. package/build-module/navigation/use-template-part-area-label.js +6 -8
  123. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  124. package/build-module/page-list/index.js +14 -0
  125. package/build-module/page-list/index.js.map +1 -1
  126. package/build-module/paragraph/edit.js +26 -25
  127. package/build-module/paragraph/edit.js.map +1 -1
  128. package/build-module/post-content/index.js +13 -0
  129. package/build-module/post-content/index.js.map +1 -1
  130. package/build-module/post-template/edit.js +11 -0
  131. package/build-module/post-template/edit.js.map +1 -1
  132. package/build-module/post-template/index.js +1 -1
  133. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +1 -3
  134. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  135. package/build-module/query/edit/inspector-controls/index.js +3 -13
  136. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  137. package/build-module/query/edit/pattern-selection-modal.js +0 -3
  138. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  139. package/build-module/query/edit/query-content.js +10 -12
  140. package/build-module/query/edit/query-content.js.map +1 -1
  141. package/build-module/query/index.js +1 -1
  142. package/build-module/query/utils.js +35 -8
  143. package/build-module/query/utils.js.map +1 -1
  144. package/build-module/social-link/edit.js +24 -11
  145. package/build-module/social-link/edit.js.map +1 -1
  146. package/build-module/template-part/edit/advanced-controls.js +3 -8
  147. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  148. package/build-module/template-part/edit/index.js +1 -4
  149. package/build-module/template-part/edit/index.js.map +1 -1
  150. package/build-module/template-part/edit/selection-modal.js +0 -3
  151. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  152. package/build-module/template-part/edit/utils/get-template-part-icon.js +15 -0
  153. package/build-module/template-part/edit/utils/get-template-part-icon.js.map +1 -0
  154. package/build-module/template-part/edit/utils/hooks.js +1 -6
  155. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  156. package/build-module/template-part/variations.js +5 -11
  157. package/build-module/template-part/variations.js.map +1 -1
  158. package/build-module/video/edit.js +1 -1
  159. package/build-module/video/edit.js.map +1 -1
  160. package/build-module/video/tracks-editor.js +136 -124
  161. package/build-module/video/tracks-editor.js.map +1 -1
  162. package/build-style/cover/editor-rtl.css +3 -5
  163. package/build-style/cover/editor.css +3 -5
  164. package/build-style/cover/style-rtl.css +19 -15
  165. package/build-style/cover/style.css +19 -15
  166. package/build-style/editor-rtl.css +19 -30
  167. package/build-style/editor.css +19 -30
  168. package/build-style/group/editor-rtl.css +0 -10
  169. package/build-style/group/editor.css +0 -10
  170. package/build-style/image/editor-rtl.css +4 -0
  171. package/build-style/image/editor.css +4 -0
  172. package/build-style/image/style-rtl.css +0 -2
  173. package/build-style/image/style.css +0 -2
  174. package/build-style/latest-posts/editor-rtl.css +0 -7
  175. package/build-style/latest-posts/editor.css +0 -7
  176. package/build-style/media-text/style-rtl.css +1 -1
  177. package/build-style/media-text/style.css +1 -1
  178. package/build-style/navigation/style-rtl.css +1 -1
  179. package/build-style/navigation/style.css +1 -1
  180. package/build-style/page-list/style-rtl.css +4 -0
  181. package/build-style/page-list/style.css +4 -0
  182. package/build-style/query/editor-rtl.css +0 -4
  183. package/build-style/query/editor.css +0 -4
  184. package/build-style/search/style-rtl.css +3 -3
  185. package/build-style/search/style.css +3 -3
  186. package/build-style/social-link/editor-rtl.css +4 -4
  187. package/build-style/social-link/editor.css +4 -4
  188. package/build-style/style-rtl.css +28 -22
  189. package/build-style/style.css +28 -22
  190. package/build-style/video/editor-rtl.css +8 -0
  191. package/build-style/video/editor.css +8 -0
  192. package/build-types/lock-unlock.d.ts +2 -0
  193. package/build-types/lock-unlock.d.ts.map +1 -0
  194. package/package.json +39 -39
  195. package/src/block-keyboard-shortcuts/index.js +25 -11
  196. package/src/button/index.js +1 -1
  197. package/src/comments/block.json +3 -9
  198. package/src/cover/deprecated.js +182 -4
  199. package/src/cover/edit/block-controls.js +1 -1
  200. package/src/cover/edit/cover-placeholder.js +0 -3
  201. package/src/cover/edit/index.js +42 -27
  202. package/src/cover/editor.scss +4 -5
  203. package/src/cover/index.js +8 -8
  204. package/src/cover/save.js +27 -20
  205. package/src/cover/shared.js +10 -10
  206. package/src/cover/style.scss +40 -16
  207. package/src/cover/test/__snapshots__/edit.native.js.snap +9 -9
  208. package/src/cover/test/__snapshots__/transforms.native.js.snap +4 -4
  209. package/src/cover/test/edit.js +2 -2
  210. package/src/cover/test/edit.native.js +4 -4
  211. package/src/cover/test/transforms.native.js +4 -4
  212. package/src/details/block.json +1 -0
  213. package/src/details/index.js +23 -1
  214. package/src/file/edit.js +9 -3
  215. package/src/freeform/modal.js +1 -1
  216. package/src/gallery/edit.js +1 -1
  217. package/src/group/editor.scss +0 -12
  218. package/src/heading/block.json +1 -7
  219. package/src/home-link/edit.js +27 -45
  220. package/src/home-link/index.php +0 -3
  221. package/src/image/block.json +1 -1
  222. package/src/image/edit.js +1 -1
  223. package/src/image/editor.scss +4 -0
  224. package/src/image/image.js +200 -109
  225. package/src/image/style.scss +0 -1
  226. package/src/image/test/__snapshots__/transforms.native.js.snap +1 -1
  227. package/src/latest-posts/edit.js +0 -1
  228. package/src/latest-posts/editor.scss +0 -11
  229. package/src/media-text/style.scss +1 -1
  230. package/src/media-text/test/__snapshots__/transforms.native.js.snap +2 -2
  231. package/src/navigation/edit/index.js +3 -30
  232. package/src/navigation/index.php +5 -151
  233. package/src/navigation/style.scss +1 -1
  234. package/src/navigation/use-template-part-area-label.js +10 -10
  235. package/src/page-list/block.json +14 -0
  236. package/src/page-list/style.scss +4 -0
  237. package/src/paragraph/edit.js +20 -17
  238. package/src/pattern/index.php +0 -7
  239. package/src/post-content/block.json +14 -1
  240. package/src/post-template/block.json +2 -1
  241. package/src/post-template/edit.js +19 -0
  242. package/src/query/block.json +1 -1
  243. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +3 -5
  244. package/src/query/edit/inspector-controls/index.js +2 -12
  245. package/src/query/edit/pattern-selection-modal.js +0 -3
  246. package/src/query/edit/query-content.js +9 -17
  247. package/src/query/editor.scss +0 -4
  248. package/src/query/index.php +1 -1
  249. package/src/query/test/utils.js +59 -1
  250. package/src/query/utils.js +43 -15
  251. package/src/rss/index.php +11 -8
  252. package/src/search/index.php +2 -2
  253. package/src/search/style.scss +3 -5
  254. package/src/social-link/edit.js +47 -19
  255. package/src/social-link/editor.scss +6 -7
  256. package/src/template-part/edit/advanced-controls.js +13 -13
  257. package/src/template-part/edit/index.js +1 -4
  258. package/src/template-part/edit/selection-modal.js +0 -3
  259. package/src/template-part/edit/utils/get-template-part-icon.js +20 -0
  260. package/src/template-part/edit/utils/hooks.js +2 -7
  261. package/src/template-part/variations.js +4 -16
  262. package/src/video/edit.js +1 -1
  263. package/src/video/editor.scss +9 -0
  264. package/src/video/test/__snapshots__/transforms.native.js.snap +1 -1
  265. package/src/video/tracks-editor.js +157 -141
  266. package/tsconfig.tsbuildinfo +1 -1
  267. package/build/query/edit/inspector-controls/create-new-post-link.js +0 -40
  268. package/build/query/edit/inspector-controls/create-new-post-link.js.map +0 -1
  269. package/build-module/query/edit/inspector-controls/create-new-post-link.js +0 -33
  270. package/build-module/query/edit/inspector-controls/create-new-post-link.js.map +0 -1
  271. package/src/query/edit/inspector-controls/create-new-post-link.js +0 -32
  272. /package/src/{lock-unlock.js → lock-unlock.ts} +0 -0
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getTemplatePartIcon = void 0;
7
+ var _icons = require("@wordpress/icons");
8
+ /**
9
+ * WordPress dependencies
10
+ */
11
+
12
+ const getTemplatePartIcon = iconName => {
13
+ if ('header' === iconName) {
14
+ return _icons.header;
15
+ } else if ('footer' === iconName) {
16
+ return _icons.footer;
17
+ } else if ('sidebar' === iconName) {
18
+ return _icons.sidebar;
19
+ }
20
+ return _icons.symbolFilled;
21
+ };
22
+ exports.getTemplatePartIcon = getTemplatePartIcon;
23
+ //# sourceMappingURL=get-template-part-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_icons","require","getTemplatePartIcon","iconName","headerIcon","footerIcon","sidebarIcon","symbolFilledIcon","exports"],"sources":["@wordpress/block-library/src/template-part/edit/utils/get-template-part-icon.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\theader as headerIcon,\n\tfooter as footerIcon,\n\tsidebar as sidebarIcon,\n\tsymbolFilled as symbolFilledIcon,\n} from '@wordpress/icons';\n\nexport const getTemplatePartIcon = ( iconName ) => {\n\tif ( 'header' === iconName ) {\n\t\treturn headerIcon;\n\t} else if ( 'footer' === iconName ) {\n\t\treturn footerIcon;\n\t} else if ( 'sidebar' === iconName ) {\n\t\treturn sidebarIcon;\n\t}\n\treturn symbolFilledIcon;\n};\n"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAQO,MAAMC,mBAAmB,GAAKC,QAAQ,IAAM;EAClD,IAAK,QAAQ,KAAKA,QAAQ,EAAG;IAC5B,OAAOC,aAAU;EAClB,CAAC,MAAM,IAAK,QAAQ,KAAKD,QAAQ,EAAG;IACnC,OAAOE,aAAU;EAClB,CAAC,MAAM,IAAK,SAAS,KAAKF,QAAQ,EAAG;IACpC,OAAOG,cAAW;EACnB;EACA,OAAOC,mBAAgB;AACxB,CAAC;AAACC,OAAA,CAAAN,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -123,12 +123,7 @@ function useCreateTemplatePartFromBlocks(area, setAttributes) {
123
123
  function useTemplatePartArea(area) {
124
124
  return (0, _data.useSelect)(select => {
125
125
  var _selectedArea$area_ta;
126
- // FIXME: @wordpress/block-library should not depend on @wordpress/editor.
127
- // Blocks can be loaded into a *non-post* block editor.
128
- /* eslint-disable @wordpress/data-no-store-string-literals */
129
- const definedAreas = select('core/editor').__experimentalGetDefaultTemplatePartAreas();
130
- /* eslint-enable @wordpress/data-no-store-string-literals */
131
-
126
+ const definedAreas = select(_coreData.store).getEntityRecord('root', '__unstableBase')?.default_template_part_areas || [];
132
127
  const selectedArea = definedAreas.find(definedArea => definedArea.area === area);
133
128
  const defaultArea = definedAreas.find(definedArea => definedArea.area === 'uncategorized');
134
129
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["_changeCase","require","_data","_coreData","_blockEditor","_element","_blocks","_i18n","_createTemplatePartId","useAlternativeTemplateParts","area","excludedId","templateParts","isResolving","useSelect","select","getEntityRecords","_isResolving","coreStore","query","per_page","filteredTemplateParts","useMemo","filter","templatePart","createTemplatePartId","theme","slug","useAlternativeBlockPatterns","clientId","blockNameWithArea","getBlockRootClientId","getPatternsByBlockTypes","blockEditorStore","rootClientId","useCreateTemplatePartFromBlocks","setAttributes","saveEntityRecord","useDispatch","blocks","title","__","cleanSlug","kebabCase","replace","record","content","serialize","undefined","useTemplatePartArea","_selectedArea$area_ta","definedAreas","__experimentalGetDefaultTemplatePartAreas","selectedArea","find","definedArea","defaultArea","icon","label","tagName","area_tag"],"sources":["@wordpress/block-library/src/template-part/edit/utils/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { serialize } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { createTemplatePartId } from './create-template-part-id';\n\n/**\n * Retrieves the available template parts for the given area.\n *\n * @param {string} area Template part area.\n * @param {string} excludedId Template part ID to exclude.\n *\n * @return {{ templateParts: Array, isResolving: boolean }} array of template parts.\n */\nexport function useAlternativeTemplateParts( area, excludedId ) {\n\tconst { templateParts, isResolving } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords, isResolving: _isResolving } =\n\t\t\tselect( coreStore );\n\t\tconst query = { per_page: -1 };\n\t\treturn {\n\t\t\ttemplateParts: getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tquery\n\t\t\t),\n\t\t\tisResolving: _isResolving( 'getEntityRecords', [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tquery,\n\t\t\t] ),\n\t\t};\n\t}, [] );\n\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tif ( ! templateParts ) {\n\t\t\treturn [];\n\t\t}\n\t\treturn (\n\t\t\ttemplateParts.filter(\n\t\t\t\t( templatePart ) =>\n\t\t\t\t\tcreateTemplatePartId(\n\t\t\t\t\t\ttemplatePart.theme,\n\t\t\t\t\t\ttemplatePart.slug\n\t\t\t\t\t) !== excludedId &&\n\t\t\t\t\t( ! area ||\n\t\t\t\t\t\t'uncategorized' === area ||\n\t\t\t\t\t\ttemplatePart.area === area )\n\t\t\t) || []\n\t\t);\n\t}, [ templateParts, area, excludedId ] );\n\n\treturn {\n\t\ttemplateParts: filteredTemplateParts,\n\t\tisResolving,\n\t};\n}\n\n/**\n * Retrieves the available block patterns for the given area.\n *\n * @param {string} area Template part area.\n * @param {string} clientId Block Client ID. (The container of the block can impact allowed blocks).\n *\n * @return {Array} array of block patterns.\n */\nexport function useAlternativeBlockPatterns( area, clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst blockNameWithArea = area\n\t\t\t\t? `core/template-part/${ area }`\n\t\t\t\t: 'core/template-part';\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\treturn getPatternsByBlockTypes( blockNameWithArea, rootClientId );\n\t\t},\n\t\t[ area, clientId ]\n\t);\n}\n\nexport function useCreateTemplatePartFromBlocks( area, setAttributes ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\treturn async ( blocks = [], title = __( 'Untitled Template Part' ) ) => {\n\t\t// Currently template parts only allow latin chars.\n\t\t// Fallback slug will receive suffix by default.\n\t\tconst cleanSlug =\n\t\t\tkebabCase( title ).replace( /[^\\w-]+/g, '' ) || 'wp-custom-part';\n\n\t\t// If we have `area` set from block attributes, means an exposed\n\t\t// block variation was inserted. So add this prop to the template\n\t\t// part entity on creation. Afterwards remove `area` value from\n\t\t// block attributes.\n\t\tconst record = {\n\t\t\ttitle,\n\t\t\tslug: cleanSlug,\n\t\t\tcontent: serialize( blocks ),\n\t\t\t// `area` is filterable on the server and defaults to `UNCATEGORIZED`\n\t\t\t// if provided value is not allowed.\n\t\t\tarea,\n\t\t};\n\t\tconst templatePart = await saveEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\trecord\n\t\t);\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\n\t\t} );\n\t};\n}\n\n/**\n * Retrieves the template part area object.\n *\n * @param {string} area Template part area identifier.\n *\n * @return {{icon: Object, label: string, tagName: string}} Template Part area.\n */\nexport function useTemplatePartArea( area ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t\t/* eslint-disable @wordpress/data-no-store-string-literals */\n\t\t\tconst definedAreas =\n\t\t\t\tselect(\n\t\t\t\t\t'core/editor'\n\t\t\t\t).__experimentalGetDefaultTemplatePartAreas();\n\t\t\t/* eslint-enable @wordpress/data-no-store-string-literals */\n\n\t\t\tconst selectedArea = definedAreas.find(\n\t\t\t\t( definedArea ) => definedArea.area === area\n\t\t\t);\n\t\t\tconst defaultArea = definedAreas.find(\n\t\t\t\t( definedArea ) => definedArea.area === 'uncategorized'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ticon: selectedArea?.icon || defaultArea?.icon,\n\t\t\t\tlabel: selectedArea?.label || __( 'Template Part' ),\n\t\t\t\ttagName: selectedArea?.area_tag ?? 'div',\n\t\t\t};\n\t\t},\n\t\t[ area ]\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_changeCase","require","_data","_coreData","_blockEditor","_element","_blocks","_i18n","_createTemplatePartId","useAlternativeTemplateParts","area","excludedId","templateParts","isResolving","useSelect","select","getEntityRecords","_isResolving","coreStore","query","per_page","filteredTemplateParts","useMemo","filter","templatePart","createTemplatePartId","theme","slug","useAlternativeBlockPatterns","clientId","blockNameWithArea","getBlockRootClientId","getPatternsByBlockTypes","blockEditorStore","rootClientId","useCreateTemplatePartFromBlocks","setAttributes","saveEntityRecord","useDispatch","blocks","title","__","cleanSlug","kebabCase","replace","record","content","serialize","undefined","useTemplatePartArea","_selectedArea$area_ta","definedAreas","getEntityRecord","default_template_part_areas","selectedArea","find","definedArea","defaultArea","icon","label","tagName","area_tag"],"sources":["@wordpress/block-library/src/template-part/edit/utils/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { serialize } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { createTemplatePartId } from './create-template-part-id';\n\n/**\n * Retrieves the available template parts for the given area.\n *\n * @param {string} area Template part area.\n * @param {string} excludedId Template part ID to exclude.\n *\n * @return {{ templateParts: Array, isResolving: boolean }} array of template parts.\n */\nexport function useAlternativeTemplateParts( area, excludedId ) {\n\tconst { templateParts, isResolving } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords, isResolving: _isResolving } =\n\t\t\tselect( coreStore );\n\t\tconst query = { per_page: -1 };\n\t\treturn {\n\t\t\ttemplateParts: getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tquery\n\t\t\t),\n\t\t\tisResolving: _isResolving( 'getEntityRecords', [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tquery,\n\t\t\t] ),\n\t\t};\n\t}, [] );\n\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tif ( ! templateParts ) {\n\t\t\treturn [];\n\t\t}\n\t\treturn (\n\t\t\ttemplateParts.filter(\n\t\t\t\t( templatePart ) =>\n\t\t\t\t\tcreateTemplatePartId(\n\t\t\t\t\t\ttemplatePart.theme,\n\t\t\t\t\t\ttemplatePart.slug\n\t\t\t\t\t) !== excludedId &&\n\t\t\t\t\t( ! area ||\n\t\t\t\t\t\t'uncategorized' === area ||\n\t\t\t\t\t\ttemplatePart.area === area )\n\t\t\t) || []\n\t\t);\n\t}, [ templateParts, area, excludedId ] );\n\n\treturn {\n\t\ttemplateParts: filteredTemplateParts,\n\t\tisResolving,\n\t};\n}\n\n/**\n * Retrieves the available block patterns for the given area.\n *\n * @param {string} area Template part area.\n * @param {string} clientId Block Client ID. (The container of the block can impact allowed blocks).\n *\n * @return {Array} array of block patterns.\n */\nexport function useAlternativeBlockPatterns( area, clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst blockNameWithArea = area\n\t\t\t\t? `core/template-part/${ area }`\n\t\t\t\t: 'core/template-part';\n\t\t\tconst { getBlockRootClientId, getPatternsByBlockTypes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\treturn getPatternsByBlockTypes( blockNameWithArea, rootClientId );\n\t\t},\n\t\t[ area, clientId ]\n\t);\n}\n\nexport function useCreateTemplatePartFromBlocks( area, setAttributes ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\treturn async ( blocks = [], title = __( 'Untitled Template Part' ) ) => {\n\t\t// Currently template parts only allow latin chars.\n\t\t// Fallback slug will receive suffix by default.\n\t\tconst cleanSlug =\n\t\t\tkebabCase( title ).replace( /[^\\w-]+/g, '' ) || 'wp-custom-part';\n\n\t\t// If we have `area` set from block attributes, means an exposed\n\t\t// block variation was inserted. So add this prop to the template\n\t\t// part entity on creation. Afterwards remove `area` value from\n\t\t// block attributes.\n\t\tconst record = {\n\t\t\ttitle,\n\t\t\tslug: cleanSlug,\n\t\t\tcontent: serialize( blocks ),\n\t\t\t// `area` is filterable on the server and defaults to `UNCATEGORIZED`\n\t\t\t// if provided value is not allowed.\n\t\t\tarea,\n\t\t};\n\t\tconst templatePart = await saveEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\trecord\n\t\t);\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\n\t\t} );\n\t};\n}\n\n/**\n * Retrieves the template part area object.\n *\n * @param {string} area Template part area identifier.\n *\n * @return {{icon: Object, label: string, tagName: string}} Template Part area.\n */\nexport function useTemplatePartArea( area ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst definedAreas =\n\t\t\t\tselect( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t\t\t?.default_template_part_areas || [];\n\n\t\t\tconst selectedArea = definedAreas.find(\n\t\t\t\t( definedArea ) => definedArea.area === area\n\t\t\t);\n\t\t\tconst defaultArea = definedAreas.find(\n\t\t\t\t( definedArea ) => definedArea.area === 'uncategorized'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ticon: selectedArea?.icon || defaultArea?.icon,\n\t\t\t\tlabel: selectedArea?.label || __( 'Template Part' ),\n\t\t\t\ttagName: selectedArea?.area_tag ?? 'div',\n\t\t\t};\n\t\t},\n\t\t[ area ]\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,21 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.enhanceTemplatePartVariations = enhanceTemplatePartVariations;
7
7
  var _coreData = require("@wordpress/core-data");
8
8
  var _data = require("@wordpress/data");
9
- var _icons = require("@wordpress/icons");
9
+ var _getTemplatePartIcon = require("./edit/utils/get-template-part-icon");
10
10
  /**
11
11
  * WordPress dependencies
12
12
  */
13
13
 
14
- function getTemplatePartIcon(iconName) {
15
- if ('header' === iconName) {
16
- return _icons.header;
17
- } else if ('footer' === iconName) {
18
- return _icons.footer;
19
- } else if ('sidebar' === iconName) {
20
- return _icons.sidebar;
21
- }
22
- return _icons.symbolFilled;
23
- }
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
24
18
  function enhanceTemplatePartVariations(settings, name) {
25
19
  if (name !== 'core/template-part') {
26
20
  return settings;
@@ -59,7 +53,7 @@ function enhanceTemplatePartVariations(settings, name) {
59
53
  isActive
60
54
  }),
61
55
  ...(typeof variation.icon === 'string' && {
62
- icon: getTemplatePartIcon(variation.icon)
56
+ icon: (0, _getTemplatePartIcon.getTemplatePartIcon)(variation.icon)
63
57
  })
64
58
  };
65
59
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_coreData","require","_data","_icons","getTemplatePartIcon","iconName","headerIcon","footerIcon","sidebarIcon","symbolFilledIcon","enhanceTemplatePartVariations","settings","name","variations","isActive","blockAttributes","variationAttributes","area","theme","slug","getCurrentTheme","getEntityRecord","select","coreDataStore","entity","stylesheet","map","variation","icon"],"sources":["@wordpress/block-library/src/template-part/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport {\n\theader as headerIcon,\n\tfooter as footerIcon,\n\tsidebar as sidebarIcon,\n\tsymbolFilled as symbolFilledIcon,\n} from '@wordpress/icons';\n\nfunction getTemplatePartIcon( iconName ) {\n\tif ( 'header' === iconName ) {\n\t\treturn headerIcon;\n\t} else if ( 'footer' === iconName ) {\n\t\treturn footerIcon;\n\t} else if ( 'sidebar' === iconName ) {\n\t\treturn sidebarIcon;\n\t}\n\treturn symbolFilledIcon;\n}\n\nexport function enhanceTemplatePartVariations( settings, name ) {\n\tif ( name !== 'core/template-part' ) {\n\t\treturn settings;\n\t}\n\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\tconst { area, theme, slug } = blockAttributes;\n\t\t\t// We first check the `area` block attribute which is set during insertion.\n\t\t\t// This property is removed on the creation of a template part.\n\t\t\tif ( area ) {\n\t\t\t\treturn area === variationAttributes.area;\n\t\t\t}\n\t\t\t// Find a matching variation from the created template part\n\t\t\t// by checking the entity's `area` property.\n\t\t\tif ( ! slug ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { getCurrentTheme, getEntityRecord } =\n\t\t\t\tselect( coreDataStore );\n\t\t\tconst entity = getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t`${ theme || getCurrentTheme()?.stylesheet }//${ slug }`\n\t\t\t);\n\n\t\t\tif ( entity?.slug ) {\n\t\t\t\treturn entity.slug === variationAttributes.slug;\n\t\t\t}\n\t\t\treturn entity?.area === variationAttributes.area;\n\t\t};\n\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.isActive && { isActive } ),\n\t\t\t\t...( typeof variation.icon === 'string' && {\n\t\t\t\t\ticon: getTemplatePartIcon( variation.icon ),\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAUA,SAASG,mBAAmBA,CAAEC,QAAQ,EAAG;EACxC,IAAK,QAAQ,KAAKA,QAAQ,EAAG;IAC5B,OAAOC,aAAU;EAClB,CAAC,MAAM,IAAK,QAAQ,KAAKD,QAAQ,EAAG;IACnC,OAAOE,aAAU;EAClB,CAAC,MAAM,IAAK,SAAS,KAAKF,QAAQ,EAAG;IACpC,OAAOG,cAAW;EACnB;EACA,OAAOC,mBAAgB;AACxB;AAEO,SAASC,6BAA6BA,CAAEC,QAAQ,EAAEC,IAAI,EAAG;EAC/D,IAAKA,IAAI,KAAK,oBAAoB,EAAG;IACpC,OAAOD,QAAQ;EAChB;EAEA,IAAKA,QAAQ,CAACE,UAAU,EAAG;IAC1B,MAAMC,QAAQ,GAAGA,CAAEC,eAAe,EAAEC,mBAAmB,KAAM;MAC5D,MAAM;QAAEC,IAAI;QAAEC,KAAK;QAAEC;MAAK,CAAC,GAAGJ,eAAe;MAC7C;MACA;MACA,IAAKE,IAAI,EAAG;QACX,OAAOA,IAAI,KAAKD,mBAAmB,CAACC,IAAI;MACzC;MACA;MACA;MACA,IAAK,CAAEE,IAAI,EAAG;QACb,OAAO,KAAK;MACb;MACA,MAAM;QAAEC,eAAe;QAAEC;MAAgB,CAAC,GACzC,IAAAC,YAAM,EAAEC,eAAc,CAAC;MACxB,MAAMC,MAAM,GAAGH,eAAe,CAC7B,UAAU,EACV,kBAAkB,EAClB,GAAIH,KAAK,IAAIE,eAAe,CAAC,CAAC,EAAEK,UAAU,KAAON,IAAI,EACtD,CAAC;MAED,IAAKK,MAAM,EAAEL,IAAI,EAAG;QACnB,OAAOK,MAAM,CAACL,IAAI,KAAKH,mBAAmB,CAACG,IAAI;MAChD;MACA,OAAOK,MAAM,EAAEP,IAAI,KAAKD,mBAAmB,CAACC,IAAI;IACjD,CAAC;IAED,MAAMJ,UAAU,GAAGF,QAAQ,CAACE,UAAU,CAACa,GAAG,CAAIC,SAAS,IAAM;MAC5D,OAAO;QACN,GAAGA,SAAS;QACZ,IAAK,CAAEA,SAAS,CAACb,QAAQ,IAAI;UAAEA;QAAS,CAAC,CAAE;QAC3C,IAAK,OAAOa,SAAS,CAACC,IAAI,KAAK,QAAQ,IAAI;UAC1CA,IAAI,EAAExB,mBAAmB,CAAEuB,SAAS,CAACC,IAAK;QAC3C,CAAC;MACF,CAAC;IACF,CAAE,CAAC;IAEH,OAAO;MACN,GAAGjB,QAAQ;MACXE;IACD,CAAC;EACF;EACA,OAAOF,QAAQ;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["_coreData","require","_data","_getTemplatePartIcon","enhanceTemplatePartVariations","settings","name","variations","isActive","blockAttributes","variationAttributes","area","theme","slug","getCurrentTheme","getEntityRecord","select","coreDataStore","entity","stylesheet","map","variation","icon","getTemplatePartIcon"],"sources":["@wordpress/block-library/src/template-part/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { getTemplatePartIcon } from './edit/utils/get-template-part-icon';\n\nexport function enhanceTemplatePartVariations( settings, name ) {\n\tif ( name !== 'core/template-part' ) {\n\t\treturn settings;\n\t}\n\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\tconst { area, theme, slug } = blockAttributes;\n\t\t\t// We first check the `area` block attribute which is set during insertion.\n\t\t\t// This property is removed on the creation of a template part.\n\t\t\tif ( area ) {\n\t\t\t\treturn area === variationAttributes.area;\n\t\t\t}\n\t\t\t// Find a matching variation from the created template part\n\t\t\t// by checking the entity's `area` property.\n\t\t\tif ( ! slug ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tconst { getCurrentTheme, getEntityRecord } =\n\t\t\t\tselect( coreDataStore );\n\t\t\tconst entity = getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t`${ theme || getCurrentTheme()?.stylesheet }//${ slug }`\n\t\t\t);\n\n\t\t\tif ( entity?.slug ) {\n\t\t\t\treturn entity.slug === variationAttributes.slug;\n\t\t\t}\n\t\t\treturn entity?.area === variationAttributes.area;\n\t\t};\n\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.isActive && { isActive } ),\n\t\t\t\t...( typeof variation.icon === 'string' && {\n\t\t\t\t\ticon: getTemplatePartIcon( variation.icon ),\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,oBAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGO,SAASG,6BAA6BA,CAAEC,QAAQ,EAAEC,IAAI,EAAG;EAC/D,IAAKA,IAAI,KAAK,oBAAoB,EAAG;IACpC,OAAOD,QAAQ;EAChB;EAEA,IAAKA,QAAQ,CAACE,UAAU,EAAG;IAC1B,MAAMC,QAAQ,GAAGA,CAAEC,eAAe,EAAEC,mBAAmB,KAAM;MAC5D,MAAM;QAAEC,IAAI;QAAEC,KAAK;QAAEC;MAAK,CAAC,GAAGJ,eAAe;MAC7C;MACA;MACA,IAAKE,IAAI,EAAG;QACX,OAAOA,IAAI,KAAKD,mBAAmB,CAACC,IAAI;MACzC;MACA;MACA;MACA,IAAK,CAAEE,IAAI,EAAG;QACb,OAAO,KAAK;MACb;MACA,MAAM;QAAEC,eAAe;QAAEC;MAAgB,CAAC,GACzC,IAAAC,YAAM,EAAEC,eAAc,CAAC;MACxB,MAAMC,MAAM,GAAGH,eAAe,CAC7B,UAAU,EACV,kBAAkB,EAClB,GAAIH,KAAK,IAAIE,eAAe,CAAC,CAAC,EAAEK,UAAU,KAAON,IAAI,EACtD,CAAC;MAED,IAAKK,MAAM,EAAEL,IAAI,EAAG;QACnB,OAAOK,MAAM,CAACL,IAAI,KAAKH,mBAAmB,CAACG,IAAI;MAChD;MACA,OAAOK,MAAM,EAAEP,IAAI,KAAKD,mBAAmB,CAACC,IAAI;IACjD,CAAC;IAED,MAAMJ,UAAU,GAAGF,QAAQ,CAACE,UAAU,CAACa,GAAG,CAAIC,SAAS,IAAM;MAC5D,OAAO;QACN,GAAGA,SAAS;QACZ,IAAK,CAAEA,SAAS,CAACb,QAAQ,IAAI;UAAEA;QAAS,CAAC,CAAE;QAC3C,IAAK,OAAOa,SAAS,CAACC,IAAI,KAAK,QAAQ,IAAI;UAC1CA,IAAI,EAAE,IAAAC,wCAAmB,EAAEF,SAAS,CAACC,IAAK;QAC3C,CAAC;MACF,CAAC;IACF,CAAE,CAAC;IAEH,OAAO;MACN,GAAGjB,QAAQ;MACXE;IACD,CAAC;EACF;EACA,OAAOF,QAAQ;AAChB","ignoreList":[]}
@@ -135,7 +135,7 @@ function VideoEdit({
135
135
  withIllustration: !isSingleSelected,
136
136
  icon: _icons.video,
137
137
  label: (0, _i18n.__)('Video'),
138
- instructions: (0, _i18n.__)('Upload a video file, pick one from your media library, or add one with a URL.'),
138
+ instructions: (0, _i18n.__)('Drag and drop a video, upload, or choose from your library.'),
139
139
  children: content
140
140
  });
141
141
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_compose","_data","_icons","_notices","_util","_hooks","_editCommonSettings","_tracksEditor","_tracks","_caption","_jsxRuntime","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","useInstanceId","videoPlayer","useRef","posterImageButton","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","useState","blob","useUploadMediaFromBlobURL","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","useEffect","current","load","media","undefined","caption","isBlobURL","image","icon","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","createErrorNotice","useDispatch","noticesStore","message","type","placeholder","content","jsx","Placeholder","withIllustration","label","__","instructions","children","classes","clsx","blockProps","useBlockProps","MediaPlaceholder","BlockIcon","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","jsxs","Fragment","BlockControls","default","newTracks","group","MediaReplaceFlow","mediaId","mediaURL","onReset","InspectorControls","PanelBody","title","MediaUploadCheck","BaseControl","VisualLabel","MediaUpload","render","open","Button","__next40pxDefaultSize","variant","onClick","ref","hidden","sprintf","Disabled","isDisabled","Spinner","Caption","showToolbarButton","_default","exports"],"sources":["@wordpress/block-library/src/video/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { video 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 VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, controls, poster, src, tracks } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// 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\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newSrc ) {\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( {\n\t\t\t\tblob: undefined,\n\t\t\t\tsrc: newSrc,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\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\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\t\twithIllustration={ ! isSingleSelected }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Video' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\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={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\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\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ () => onSelectVideo( undefined ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n Disable the video tag if the block is not selected\n so the user clicking on it won't play the\n video when the controls are enabled.\n */ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src || temporaryURL }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ !! temporaryURL && <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={ __( 'Video 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 VideoEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_components","_blockEditor","_element","_i18n","_compose","_data","_icons","_notices","_util","_hooks","_editCommonSettings","_tracksEditor","_tracks","_caption","_jsxRuntime","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","useInstanceId","videoPlayer","useRef","posterImageButton","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","useState","blob","useUploadMediaFromBlobURL","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","useEffect","current","load","media","undefined","caption","isBlobURL","image","icon","onSelectURL","newSrc","embedBlock","createUpgradedEmbedBlock","createErrorNotice","useDispatch","noticesStore","message","type","placeholder","content","jsx","Placeholder","withIllustration","label","__","instructions","children","classes","clsx","blockProps","useBlockProps","MediaPlaceholder","BlockIcon","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","jsxs","Fragment","BlockControls","default","newTracks","group","MediaReplaceFlow","mediaId","mediaURL","onReset","InspectorControls","PanelBody","title","MediaUploadCheck","BaseControl","VisualLabel","MediaUpload","render","open","Button","__next40pxDefaultSize","variant","onClick","ref","hidden","sprintf","Disabled","isDisabled","Spinner","Caption","showToolbarButton","_default","exports"],"sources":["@wordpress/block-library/src/video/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { video 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 VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, controls, poster, src, tracks } = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\n\t} );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// 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\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newSrc ) {\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( {\n\t\t\t\tblob: undefined,\n\t\t\t\tsrc: newSrc,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\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\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\t\twithIllustration={ ! isSingleSelected }\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ __( 'Video' ) }\n\t\t\t\tinstructions={ __(\n\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\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={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\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\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t\tonReset={ () => onSelectVideo( undefined ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n Disable the video tag if the block is not selected\n so the user clicking on it won't play the\n video when the controls are enabled.\n */ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src || temporaryURL }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ !! temporaryURL && <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={ __( 'Video 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 VideoEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -38,29 +38,21 @@ function TrackList({
38
38
  tracks,
39
39
  onEditPress
40
40
  }) {
41
- let content;
42
- if (tracks.length === 0) {
43
- content = /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
44
- className: "block-library-video-tracks-editor__tracks-informative-message",
45
- children: (0, _i18n.__)('Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.')
46
- });
47
- } else {
48
- content = tracks.map((track, index) => {
49
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
50
- className: "block-library-video-tracks-editor__track-list-track",
51
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
52
- children: [track.label, " "]
53
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
54
- __next40pxDefaultSize: true,
55
- variant: "tertiary",
56
- onClick: () => onEditPress(index),
57
- "aria-label": (0, _i18n.sprintf)(/* translators: %s: Label of the video text track e.g: "French subtitles" */
58
- (0, _i18n._x)('Edit %s', 'text tracks'), track.label),
59
- children: (0, _i18n.__)('Edit')
60
- })]
61
- }, index);
62
- });
63
- }
41
+ const content = tracks.map((track, index) => {
42
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
43
+ className: "block-library-video-tracks-editor__track-list-track",
44
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
45
+ children: track.label
46
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
47
+ __next40pxDefaultSize: true,
48
+ variant: "tertiary",
49
+ onClick: () => onEditPress(index),
50
+ "aria-label": (0, _i18n.sprintf)(/* translators: %s: Label of the video text track e.g: "French subtitles". */
51
+ (0, _i18n._x)('Edit %s', 'text tracks'), track.label),
52
+ children: (0, _i18n.__)('Edit')
53
+ })]
54
+ }, index);
55
+ });
64
56
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuGroup, {
65
57
  label: (0, _i18n.__)('Text tracks'),
66
58
  className: "block-library-video-tracks-editor__track-list",
@@ -80,98 +72,93 @@ function SingleTrackEditor({
80
72
  kind = DEFAULT_KIND
81
73
  } = track;
82
74
  const fileName = src.startsWith('blob:') ? '' : (0, _url.getFilename)(src) || '';
83
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.NavigableMenu, {
84
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
85
- className: "block-library-video-tracks-editor__single-track-editor",
86
- spacing: "4",
87
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
88
- className: "block-library-video-tracks-editor__single-track-editor-edit-track-label",
89
- children: (0, _i18n.__)('Edit track')
90
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
91
- children: [(0, _i18n.__)('File'), ": ", /*#__PURE__*/(0, _jsxRuntime.jsx)("b", {
92
- children: fileName
93
- })]
94
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalGrid, {
95
- columns: 2,
96
- gap: 4,
97
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
98
- __next40pxDefaultSize: true,
99
- __nextHasNoMarginBottom: true
100
- /* eslint-disable jsx-a11y/no-autofocus */,
101
- autoFocus: true
102
- /* eslint-enable jsx-a11y/no-autofocus */,
103
- onChange: newLabel => onChange({
75
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
76
+ className: "block-library-video-tracks-editor__single-track-editor",
77
+ spacing: "4",
78
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
79
+ className: "block-library-video-tracks-editor__single-track-editor-edit-track-label",
80
+ children: (0, _i18n.__)('Edit track')
81
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
82
+ children: [(0, _i18n.__)('File'), ": ", /*#__PURE__*/(0, _jsxRuntime.jsx)("b", {
83
+ children: fileName
84
+ })]
85
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalGrid, {
86
+ columns: 2,
87
+ gap: 4,
88
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
89
+ __next40pxDefaultSize: true,
90
+ __nextHasNoMarginBottom: true,
91
+ onChange: newLabel => onChange({
92
+ ...track,
93
+ label: newLabel
94
+ }),
95
+ label: (0, _i18n.__)('Label'),
96
+ value: label,
97
+ help: (0, _i18n.__)('Title of track')
98
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
99
+ __next40pxDefaultSize: true,
100
+ __nextHasNoMarginBottom: true,
101
+ onChange: newSrcLang => onChange({
102
+ ...track,
103
+ srcLang: newSrcLang
104
+ }),
105
+ label: (0, _i18n.__)('Source language'),
106
+ value: srcLang,
107
+ help: (0, _i18n.__)('Language tag (en, fr, etc.)')
108
+ })]
109
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
110
+ spacing: "8",
111
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
112
+ __next40pxDefaultSize: true,
113
+ __nextHasNoMarginBottom: true,
114
+ className: "block-library-video-tracks-editor__single-track-editor-kind-select",
115
+ options: KIND_OPTIONS,
116
+ value: kind,
117
+ label: (0, _i18n.__)('Kind'),
118
+ onChange: newKind => {
119
+ onChange({
104
120
  ...track,
105
- label: newLabel
106
- }),
107
- label: (0, _i18n.__)('Label'),
108
- value: label,
109
- help: (0, _i18n.__)('Title of track')
110
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
121
+ kind: newKind
122
+ });
123
+ }
124
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
125
+ className: "block-library-video-tracks-editor__single-track-editor-buttons-container",
126
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
111
127
  __next40pxDefaultSize: true,
112
- __nextHasNoMarginBottom: true,
113
- onChange: newSrcLang => onChange({
114
- ...track,
115
- srcLang: newSrcLang
116
- }),
117
- label: (0, _i18n.__)('Source language'),
118
- value: srcLang,
119
- help: (0, _i18n.__)('Language tag (en, fr, etc.)')
120
- })]
121
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
122
- spacing: "8",
123
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
128
+ isDestructive: true,
129
+ variant: "link",
130
+ onClick: onRemove,
131
+ children: (0, _i18n.__)('Remove track')
132
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
124
133
  __next40pxDefaultSize: true,
125
- __nextHasNoMarginBottom: true,
126
- className: "block-library-video-tracks-editor__single-track-editor-kind-select",
127
- options: KIND_OPTIONS,
128
- value: kind,
129
- label: (0, _i18n.__)('Kind'),
130
- onChange: newKind => {
131
- onChange({
132
- ...track,
133
- kind: newKind
134
- });
135
- }
136
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
137
- className: "block-library-video-tracks-editor__single-track-editor-buttons-container",
138
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
139
- __next40pxDefaultSize: true,
140
- variant: "secondary",
141
- onClick: () => {
142
- const changes = {};
143
- let hasChanges = false;
144
- if (label === '') {
145
- changes.label = (0, _i18n.__)('English');
146
- hasChanges = true;
147
- }
148
- if (srcLang === '') {
149
- changes.srcLang = 'en';
150
- hasChanges = true;
151
- }
152
- if (track.kind === undefined) {
153
- changes.kind = DEFAULT_KIND;
154
- hasChanges = true;
155
- }
156
- if (hasChanges) {
157
- onChange({
158
- ...track,
159
- ...changes
160
- });
161
- }
162
- onClose();
163
- },
164
- children: (0, _i18n.__)('Close')
165
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
166
- __next40pxDefaultSize: true,
167
- isDestructive: true,
168
- variant: "link",
169
- onClick: onRemove,
170
- children: (0, _i18n.__)('Remove track')
171
- })]
134
+ variant: "primary",
135
+ onClick: () => {
136
+ const changes = {};
137
+ let hasChanges = false;
138
+ if (label === '') {
139
+ changes.label = (0, _i18n.__)('English');
140
+ hasChanges = true;
141
+ }
142
+ if (srcLang === '') {
143
+ changes.srcLang = 'en';
144
+ hasChanges = true;
145
+ }
146
+ if (track.kind === undefined) {
147
+ changes.kind = DEFAULT_KIND;
148
+ hasChanges = true;
149
+ }
150
+ if (hasChanges) {
151
+ onChange({
152
+ ...track,
153
+ ...changes
154
+ });
155
+ }
156
+ onClose();
157
+ },
158
+ children: (0, _i18n.__)('Apply')
172
159
  })]
173
160
  })]
174
- })
161
+ })]
175
162
  });
176
163
  }
177
164
  function TracksEditor({
@@ -182,24 +169,40 @@ function TracksEditor({
182
169
  return select(_blockEditor.store).getSettings().mediaUpload;
183
170
  }, []);
184
171
  const [trackBeingEdited, setTrackBeingEdited] = (0, _element.useState)(null);
172
+ const dropdownPopoverRef = (0, _element.useRef)();
173
+ (0, _element.useEffect)(() => {
174
+ dropdownPopoverRef.current?.focus();
175
+ }, [trackBeingEdited]);
185
176
  if (!mediaUpload) {
186
177
  return null;
187
178
  }
188
179
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Dropdown, {
189
180
  contentClassName: "block-library-video-tracks-editor",
181
+ focusOnMount: true,
182
+ popoverProps: {
183
+ ref: dropdownPopoverRef
184
+ },
190
185
  renderToggle: ({
191
186
  isOpen,
192
187
  onToggle
193
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarGroup, {
194
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
195
- label: (0, _i18n.__)('Text tracks'),
196
- showTooltip: true,
197
- "aria-expanded": isOpen,
198
- "aria-haspopup": "true",
199
- onClick: onToggle,
200
- children: (0, _i18n.__)('Text tracks')
201
- })
202
- }),
188
+ }) => {
189
+ const handleOnToggle = () => {
190
+ if (!isOpen) {
191
+ // When the Popover opens make sure the initial view is
192
+ // always the track list rather than the edit track UI.
193
+ setTrackBeingEdited(null);
194
+ }
195
+ onToggle();
196
+ };
197
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarGroup, {
198
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
199
+ "aria-expanded": isOpen,
200
+ "aria-haspopup": "true",
201
+ onClick: handleOnToggle,
202
+ children: (0, _i18n.__)('Text tracks')
203
+ })
204
+ });
205
+ },
203
206
  renderContent: () => {
204
207
  if (trackBeingEdited !== null) {
205
208
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(SingleTrackEditor, {
@@ -216,8 +219,17 @@ function TracksEditor({
216
219
  }
217
220
  });
218
221
  }
219
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
220
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.NavigableMenu, {
222
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
223
+ children: [tracks.length === 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
224
+ className: "block-library-video-tracks-editor__tracks-informative-message",
225
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h2", {
226
+ className: "block-library-video-tracks-editor__tracks-informative-message-title",
227
+ children: (0, _i18n.__)('Text tracks')
228
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
229
+ className: "block-library-video-tracks-editor__tracks-informative-message-description",
230
+ children: (0, _i18n.__)('Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.')
231
+ })]
232
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.NavigableMenu, {
221
233
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TrackList, {
222
234
  tracks: tracks,
223
235
  onEditPress: setTrackBeingEdited
@@ -281,7 +293,7 @@ function TracksEditor({
281
293
  })
282
294
  })]
283
295
  })]
284
- })
296
+ })]
285
297
  });
286
298
  }
287
299
  });