@wordpress/block-library 8.5.0 → 8.6.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 (287) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/buttons/edit.native.js +1 -1
  3. package/build/buttons/edit.native.js.map +1 -1
  4. package/build/columns/edit.js +10 -8
  5. package/build/columns/edit.js.map +1 -1
  6. package/build/columns/edit.native.js +1 -1
  7. package/build/columns/edit.native.js.map +1 -1
  8. package/build/comments/edit/placeholder.js +8 -5
  9. package/build/comments/edit/placeholder.js.map +1 -1
  10. package/build/cover/index.js +13 -4
  11. package/build/cover/index.js.map +1 -1
  12. package/build/cover/variations.js +29 -0
  13. package/build/cover/variations.js.map +1 -0
  14. package/build/embed/edit.js +13 -14
  15. package/build/embed/edit.js.map +1 -1
  16. package/build/embed/edit.native.js +18 -14
  17. package/build/embed/edit.native.js.map +1 -1
  18. package/build/embed/util.js +39 -12
  19. package/build/embed/util.js.map +1 -1
  20. package/build/gallery/edit.js +1 -0
  21. package/build/gallery/edit.js.map +1 -1
  22. package/build/latest-posts/edit.js +10 -10
  23. package/build/latest-posts/edit.js.map +1 -1
  24. package/build/latest-posts/edit.native.js +3 -3
  25. package/build/latest-posts/edit.native.js.map +1 -1
  26. package/build/media-text/constants.js +17 -1
  27. package/build/media-text/constants.js.map +1 -1
  28. package/build/media-text/edit.js +7 -19
  29. package/build/media-text/edit.js.map +1 -1
  30. package/build/media-text/edit.native.js +6 -5
  31. package/build/media-text/edit.native.js.map +1 -1
  32. package/build/media-text/transforms.js +32 -44
  33. package/build/media-text/transforms.js.map +1 -1
  34. package/build/navigation/edit/index.js +56 -86
  35. package/build/navigation/edit/index.js.map +1 -1
  36. package/build/navigation/edit/inner-blocks.js +4 -1
  37. package/build/navigation/edit/inner-blocks.js.map +1 -1
  38. package/build/navigation/edit/menu-inspector-controls.js +2 -5
  39. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  40. package/build/navigation/edit/navigation-menu-selector.js +26 -22
  41. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  42. package/build/navigation/edit/unsaved-inner-blocks.js +14 -1
  43. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  44. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -4
  45. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  46. package/build/navigation/edit/use-create-navigation-menu.js +1 -1
  47. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  48. package/build/navigation/edit/use-navigation-notice.js +1 -1
  49. package/build/navigation/edit/use-navigation-notice.js.map +1 -1
  50. package/build/navigation-link/edit.js +0 -11
  51. package/build/navigation-link/edit.js.map +1 -1
  52. package/build/navigation-link/link-ui.js +0 -1
  53. package/build/navigation-link/link-ui.js.map +1 -1
  54. package/build/navigation-submenu/edit.js +1 -13
  55. package/build/navigation-submenu/edit.js.map +1 -1
  56. package/build/page-list/edit.js +59 -45
  57. package/build/page-list/edit.js.map +1 -1
  58. package/build/page-list-item/edit.js +3 -2
  59. package/build/page-list-item/edit.js.map +1 -1
  60. package/build/post-content/edit.js +6 -1
  61. package/build/post-content/edit.js.map +1 -1
  62. package/build/post-featured-image/dimension-controls.js +0 -6
  63. package/build/post-featured-image/dimension-controls.js.map +1 -1
  64. package/build/post-featured-image/edit.js +1 -1
  65. package/build/post-featured-image/edit.js.map +1 -1
  66. package/build/pullquote/deprecated.js +3 -3
  67. package/build/pullquote/deprecated.js.map +1 -1
  68. package/build/query/edit/query-placeholder.js +3 -2
  69. package/build/query/edit/query-placeholder.js.map +1 -1
  70. package/build/query/utils.js +26 -9
  71. package/build/query/utils.js.map +1 -1
  72. package/build/table/state.js +12 -4
  73. package/build/table/state.js.map +1 -1
  74. package/build/template-part/edit/import-controls.js +4 -24
  75. package/build/template-part/edit/import-controls.js.map +1 -1
  76. package/build/template-part/edit/utils/transformers.js +69 -19
  77. package/build/template-part/edit/utils/transformers.js.map +1 -1
  78. package/build/text-columns/edit.js +3 -7
  79. package/build/text-columns/edit.js.map +1 -1
  80. package/build/text-columns/save.js +11 -13
  81. package/build/text-columns/save.js.map +1 -1
  82. package/build-module/buttons/edit.native.js +1 -1
  83. package/build-module/buttons/edit.native.js.map +1 -1
  84. package/build-module/columns/edit.js +10 -7
  85. package/build-module/columns/edit.js.map +1 -1
  86. package/build-module/columns/edit.native.js +1 -1
  87. package/build-module/columns/edit.native.js.map +1 -1
  88. package/build-module/comments/edit/placeholder.js +9 -5
  89. package/build-module/comments/edit/placeholder.js.map +1 -1
  90. package/build-module/cover/index.js +12 -4
  91. package/build-module/cover/index.js.map +1 -1
  92. package/build-module/cover/variations.js +19 -0
  93. package/build-module/cover/variations.js.map +1 -0
  94. package/build-module/embed/edit.js +14 -15
  95. package/build-module/embed/edit.js.map +1 -1
  96. package/build-module/embed/edit.native.js +19 -15
  97. package/build-module/embed/edit.native.js.map +1 -1
  98. package/build-module/embed/util.js +34 -10
  99. package/build-module/embed/util.js.map +1 -1
  100. package/build-module/gallery/edit.js +1 -0
  101. package/build-module/gallery/edit.js.map +1 -1
  102. package/build-module/latest-posts/edit.js +10 -9
  103. package/build-module/latest-posts/edit.js.map +1 -1
  104. package/build-module/latest-posts/edit.native.js +3 -3
  105. package/build-module/latest-posts/edit.native.js.map +1 -1
  106. package/build-module/media-text/constants.js +10 -0
  107. package/build-module/media-text/constants.js.map +1 -1
  108. package/build-module/media-text/edit.js +2 -14
  109. package/build-module/media-text/edit.js.map +1 -1
  110. package/build-module/media-text/edit.native.js +4 -3
  111. package/build-module/media-text/edit.native.js.map +1 -1
  112. package/build-module/media-text/transforms.js +32 -44
  113. package/build-module/media-text/transforms.js.map +1 -1
  114. package/build-module/navigation/edit/index.js +58 -88
  115. package/build-module/navigation/edit/index.js.map +1 -1
  116. package/build-module/navigation/edit/inner-blocks.js +4 -1
  117. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  118. package/build-module/navigation/edit/menu-inspector-controls.js +2 -5
  119. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  120. package/build-module/navigation/edit/navigation-menu-selector.js +25 -22
  121. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  122. package/build-module/navigation/edit/unsaved-inner-blocks.js +14 -1
  123. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  124. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -4
  125. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  126. package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
  127. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  128. package/build-module/navigation/edit/use-navigation-notice.js +1 -1
  129. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
  130. package/build-module/navigation-link/edit.js +0 -11
  131. package/build-module/navigation-link/edit.js.map +1 -1
  132. package/build-module/navigation-link/link-ui.js +0 -1
  133. package/build-module/navigation-link/link-ui.js.map +1 -1
  134. package/build-module/navigation-submenu/edit.js +1 -13
  135. package/build-module/navigation-submenu/edit.js.map +1 -1
  136. package/build-module/page-list/edit.js +61 -47
  137. package/build-module/page-list/edit.js.map +1 -1
  138. package/build-module/page-list-item/edit.js +3 -2
  139. package/build-module/page-list-item/edit.js.map +1 -1
  140. package/build-module/post-content/edit.js +6 -1
  141. package/build-module/post-content/edit.js.map +1 -1
  142. package/build-module/post-featured-image/dimension-controls.js +0 -6
  143. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  144. package/build-module/post-featured-image/edit.js +1 -1
  145. package/build-module/post-featured-image/edit.js.map +1 -1
  146. package/build-module/pullquote/deprecated.js +3 -2
  147. package/build-module/pullquote/deprecated.js.map +1 -1
  148. package/build-module/query/edit/query-placeholder.js +4 -3
  149. package/build-module/query/edit/query-placeholder.js.map +1 -1
  150. package/build-module/query/utils.js +21 -6
  151. package/build-module/query/utils.js.map +1 -1
  152. package/build-module/table/state.js +13 -5
  153. package/build-module/table/state.js.map +1 -1
  154. package/build-module/template-part/edit/import-controls.js +4 -23
  155. package/build-module/template-part/edit/import-controls.js.map +1 -1
  156. package/build-module/template-part/edit/utils/transformers.js +69 -20
  157. package/build-module/template-part/edit/utils/transformers.js.map +1 -1
  158. package/build-module/text-columns/edit.js +3 -6
  159. package/build-module/text-columns/edit.js.map +1 -1
  160. package/build-module/text-columns/save.js +11 -12
  161. package/build-module/text-columns/save.js.map +1 -1
  162. package/build-style/cover/style-rtl.css +11 -5
  163. package/build-style/cover/style.css +11 -5
  164. package/build-style/editor-rtl.css +5 -1
  165. package/build-style/editor.css +5 -1
  166. package/build-style/navigation/editor-rtl.css +1 -1
  167. package/build-style/navigation/editor.css +1 -1
  168. package/build-style/page-list/editor-rtl.css +4 -0
  169. package/build-style/page-list/editor.css +4 -0
  170. package/build-style/post-featured-image/style-rtl.css +1 -0
  171. package/build-style/post-featured-image/style.css +1 -0
  172. package/build-style/style-rtl.css +12 -5
  173. package/build-style/style.css +12 -5
  174. package/package.json +31 -31
  175. package/src/audio/test/__snapshots__/edit.native.js.snap +44 -4
  176. package/src/audio/test/__snapshots__/transforms.native.js.snap +25 -0
  177. package/src/audio/test/transforms.native.js +42 -0
  178. package/src/block/test/__snapshots__/transforms.native.js.snap +15 -0
  179. package/src/block/test/transforms.native.js +40 -0
  180. package/src/buttons/edit.native.js +1 -1
  181. package/src/buttons/test/__snapshots__/transforms.native.js.snap +31 -0
  182. package/src/buttons/test/transforms.native.js +48 -0
  183. package/src/columns/edit.js +28 -17
  184. package/src/columns/edit.native.js +1 -1
  185. package/src/columns/test/__snapshots__/transforms.native.js.snap +61 -0
  186. package/src/columns/test/transforms.native.js +91 -0
  187. package/src/comment-template/index.php +1 -2
  188. package/src/comments/edit/placeholder.js +16 -4
  189. package/src/cover/block.json +9 -3
  190. package/src/cover/index.js +2 -0
  191. package/src/cover/style.scss +16 -7
  192. package/src/cover/test/__snapshots__/transforms.native.js.snap +73 -0
  193. package/src/cover/test/transforms.native.js +112 -0
  194. package/src/cover/variations.js +20 -0
  195. package/src/embed/edit.js +16 -12
  196. package/src/embed/edit.native.js +28 -18
  197. package/src/embed/test/__snapshots__/transforms.native.js.snap +23 -0
  198. package/src/embed/test/index.js +12 -0
  199. package/src/embed/test/transforms.native.js +44 -0
  200. package/src/embed/util.js +29 -8
  201. package/src/file/test/__snapshots__/edit.native.js.snap +18 -2
  202. package/src/file/test/__snapshots__/transforms.native.js.snap +19 -0
  203. package/src/file/test/transforms.native.js +42 -0
  204. package/src/freeform/test/__snapshots__/transforms.native.js.snap +19 -0
  205. package/src/freeform/test/transforms.native.js +39 -0
  206. package/src/gallery/edit.js +3 -0
  207. package/src/gallery/test/__snapshots__/transforms.native.js.snap +53 -0
  208. package/src/gallery/test/transforms.native.js +52 -0
  209. package/src/group/test/__snapshots__/transforms.native.js.snap +35 -0
  210. package/src/group/test/transforms.native.js +75 -0
  211. package/src/heading/test/__snapshots__/transforms.native.js.snap +47 -0
  212. package/src/heading/test/transforms.native.js +46 -0
  213. package/src/image/test/__snapshots__/transforms.native.js.snap +49 -0
  214. package/src/image/test/transforms.native.js +48 -0
  215. package/src/latest-posts/edit.js +11 -16
  216. package/src/latest-posts/edit.native.js +3 -3
  217. package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +15 -0
  218. package/src/latest-posts/test/transforms.native.js +61 -0
  219. package/src/list/test/__snapshots__/transforms.native.js.snap +85 -0
  220. package/src/list/test/transforms.native.js +56 -0
  221. package/src/media-text/constants.js +16 -0
  222. package/src/media-text/edit.js +8 -18
  223. package/src/media-text/edit.native.js +3 -9
  224. package/src/media-text/test/__snapshots__/transforms.native.js.snap +73 -0
  225. package/src/media-text/test/transforms.native.js +112 -0
  226. package/src/media-text/transforms.js +24 -51
  227. package/src/missing/test/__snapshots__/edit.native.js.snap +20 -2
  228. package/src/more/test/__snapshots__/transforms.native.js.snap +19 -0
  229. package/src/more/test/transforms.native.js +42 -0
  230. package/src/navigation/edit/index.js +104 -107
  231. package/src/navigation/edit/inner-blocks.js +3 -0
  232. package/src/navigation/edit/menu-inspector-controls.js +2 -7
  233. package/src/navigation/edit/navigation-menu-selector.js +41 -25
  234. package/src/navigation/edit/unsaved-inner-blocks.js +46 -33
  235. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +82 -83
  236. package/src/navigation/edit/use-create-navigation-menu.js +1 -1
  237. package/src/navigation/edit/use-navigation-notice.js +1 -1
  238. package/src/navigation/editor.scss +23 -20
  239. package/src/navigation/index.php +18 -39
  240. package/src/navigation-link/edit.js +0 -9
  241. package/src/navigation-link/index.php +5 -8
  242. package/src/navigation-link/link-ui.js +0 -1
  243. package/src/navigation-submenu/edit.js +0 -10
  244. package/src/navigation-submenu/index.php +23 -6
  245. package/src/nextpage/test/__snapshots__/transforms.native.js.snap +19 -0
  246. package/src/nextpage/test/transforms.native.js +42 -0
  247. package/src/page-list/edit.js +78 -44
  248. package/src/page-list/editor.scss +6 -0
  249. package/src/page-list-item/edit.js +2 -3
  250. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +59 -0
  251. package/src/paragraph/test/transforms.native.js +50 -0
  252. package/src/post-content/edit.js +5 -1
  253. package/src/post-excerpt/index.php +1 -2
  254. package/src/post-featured-image/dimension-controls.js +0 -8
  255. package/src/post-featured-image/edit.js +1 -1
  256. package/src/post-featured-image/style.scss +1 -0
  257. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +31 -0
  258. package/src/preformatted/test/transforms.native.js +42 -0
  259. package/src/pullquote/deprecated.js +2 -6
  260. package/src/pullquote/test/__snapshots__/transforms.native.js.snap +47 -0
  261. package/src/pullquote/test/transforms.native.js +46 -0
  262. package/src/query/edit/query-placeholder.js +10 -5
  263. package/src/query/test/utils.js +33 -1
  264. package/src/query/utils.js +19 -6
  265. package/src/quote/test/__snapshots__/transforms.native.js.snap +39 -0
  266. package/src/quote/test/transforms.native.js +67 -0
  267. package/src/search/test/__snapshots__/edit.native.js.snap +11 -1
  268. package/src/search/test/__snapshots__/transforms.native.js.snap +15 -0
  269. package/src/search/test/transforms.native.js +40 -0
  270. package/src/separator/test/__snapshots__/transforms.native.js.snap +19 -0
  271. package/src/separator/test/transforms.native.js +42 -0
  272. package/src/shortcode/test/__snapshots__/transforms.native.js.snap +19 -0
  273. package/src/shortcode/test/transforms.native.js +42 -0
  274. package/src/social-links/test/__snapshots__/transforms.native.js.snap +31 -0
  275. package/src/social-links/test/transforms.native.js +53 -0
  276. package/src/spacer/test/__snapshots__/transforms.native.js.snap +19 -0
  277. package/src/spacer/test/transforms.native.js +42 -0
  278. package/src/table/state.js +8 -17
  279. package/src/template-part/edit/import-controls.js +2 -29
  280. package/src/template-part/edit/utils/transformers.js +96 -19
  281. package/src/text-columns/edit.js +1 -6
  282. package/src/text-columns/save.js +1 -6
  283. package/src/verse/test/__snapshots__/transforms.native.js.snap +25 -0
  284. package/src/verse/test/transforms.native.js +42 -0
  285. package/src/video/test/__snapshots__/transforms.native.js.snap +41 -0
  286. package/src/video/test/transforms.native.js +48 -0
  287. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/page-list/edit.js"],"names":["classnames","createBlock","InspectorControls","BlockControls","useBlockProps","useInnerBlocksProps","getColorClassName","store","blockEditorStore","Warning","PanelBody","ToolbarButton","Spinner","Notice","ComboboxControl","Button","__","sprintf","useMemo","useState","useEffect","useEntityRecords","useSelect","useConvertToNavigationLinks","convertDescription","ConvertToLinksModal","MAX_PAGE_COUNT","NOOP","BlockContent","blockProps","innerBlocksProps","hasResolvedPages","blockList","pages","parentPageID","length","parentPageDetails","find","page","id","title","rendered","ConvertToLinks","onClick","disabled","isOpen","setOpen","openModal","closeModal","PageListEdit","context","clientId","attributes","setAttributes","records","hasResolved","per_page","_fields","orderby","order","allowConvertToLinks","pagesByParentId","Map","sortedPages","sort","a","b","menu_order","localeCompare","reduce","accumulator","parent","has","get","push","set","convertToNavigationLinks","className","textColor","backgroundColor","style","color","getBlockList","parentId","childPages","template","hasChildren","pageProps","label","link","url","item","children","makePagesTree","level","tree","value","repeat","rawName","pagesTree","allowedBlocks","renderAppender","__unstableDisableDropZone","templateLock","onInput","onChange","isNested","select","getBlockParentsByBlockName","blockParents"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToNavigationLinks } from './use-convert-to-navigation-links';\nimport {\n\tconvertDescription,\n\tConvertToLinksModal,\n} from './convert-to-links-modal';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\nfunction BlockContent( {\n\tblockProps,\n\tinnerBlocksProps,\n\thasResolvedPages,\n\tblockList,\n\tpages,\n\tparentPageID,\n} ) {\n\tif ( ! hasResolvedPages ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages === null ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length === 0 ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status={ 'info' } isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( blockList.length === 0 ) {\n\t\tconst parentPageDetails = pages.find(\n\t\t\t( page ) => page.id === parentPageID\n\t\t);\n\n\t\tif ( parentPageDetails?.title?.rendered ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( 'Page List: \"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length > 0 ) {\n\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t}\n}\n\nfunction ConvertToLinks( { onClick, disabled } ) {\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = () => setOpen( true );\n\tconst closeModal = () => setOpen( false );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>\n\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</BlockControls>\n\t\t\t{ isOpen && (\n\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tper_page: MAX_PAGE_COUNT,\n\t\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t\t// sort.\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t}\n\t);\n\n\tconst allowConvertToLinks =\n\t\t'showSubmenuIcon' in context &&\n\t\tpages?.length > 0 &&\n\t\tpages?.length <= MAX_PAGE_COUNT;\n\n\tconst pagesByParentId = useMemo( () => {\n\t\tif ( pages === null ) {\n\t\t\treturn new Map();\n\t\t}\n\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = pages.sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\n\t\treturn sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\t}, [ pages ] );\n\n\tconst convertToNavigationLinks = useConvertToNavigationLinks( {\n\t\tclientId,\n\t\tpages,\n\t\tparentPageID,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst getBlockList = ( parentId = parentPageID ) => {\n\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\tif ( ! childPages?.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\tconst pageProps = {\n\t\t\t\tid: page.id,\n\t\t\t\tlabel: page.title?.rendered,\n\t\t\t\ttitle: page.title?.rendered,\n\t\t\t\tlink: page.url,\n\t\t\t\thasChildren,\n\t\t\t};\n\t\t\tlet item = null;\n\t\t\tconst children = getBlockList( page.id );\n\t\t\titem = createBlock( 'core/page-list-item', pageProps, children );\n\t\t\ttemplate.push( item );\n\n\t\t\treturn template;\n\t\t}, [] );\n\t};\n\n\tconst makePagesTree = ( parentId = 0, level = 0 ) => {\n\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\tif ( ! childPages?.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\tconst item = {\n\t\t\t\tvalue: page.id,\n\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\trawName: page.title.rendered,\n\t\t\t};\n\t\t\ttree.push( item );\n\t\t\tif ( hasChildren ) {\n\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t}\n\t\t\treturn tree;\n\t\t}, [] );\n\t};\n\n\tconst pagesTree = useMemo( makePagesTree, [ pagesByParentId ] );\n\n\tconst blockList = useMemo( getBlockList, [\n\t\tpagesByParentId,\n\t\tparentPageID,\n\t] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/page-list-item' ],\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst { isNested } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName } = select( blockEditorStore );\n\t\t\tconst blockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation-submenu',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisNested: blockParents.length > 0,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\tsetAttributes( { isNested } );\n\t}, [ isNested ] );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\tlabel={ __( 'Parent page' ) }\n\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: value ?? 0 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t{ allowConvertToLinks && (\n\t\t\t\t\t<PanelBody title={ __( 'Edit this menu' ) }>\n\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<ConvertToLinks\n\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<BlockContent\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\thasResolvedPages={ hasResolvedPages }\n\t\t\t\tblockList={ blockList }\n\t\t\t\tpages={ pages }\n\t\t\t\tparentPageID={ parentPageID }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/page-list/edit.js"],"names":["classnames","createBlock","InspectorControls","BlockControls","useBlockProps","useInnerBlocksProps","getColorClassName","store","blockEditorStore","Warning","PanelBody","ToolbarButton","Spinner","Notice","ComboboxControl","Button","__","sprintf","useMemo","useState","useEffect","useCallback","useEntityRecords","useSelect","useDispatch","useConvertToNavigationLinks","convertDescription","ConvertToLinksModal","MAX_PAGE_COUNT","NOOP","BlockContent","blockProps","innerBlocksProps","hasResolvedPages","blockList","pages","parentPageID","length","parentPageDetails","find","page","id","title","rendered","PageListEdit","context","clientId","attributes","setAttributes","isOpen","setOpen","openModal","closeModal","records","hasResolved","per_page","_fields","orderby","order","allowConvertToLinks","pagesByParentId","Map","sortedPages","sort","a","b","menu_order","localeCompare","reduce","accumulator","parent","has","get","push","set","convertToNavigationLinks","className","textColor","backgroundColor","style","color","getBlockList","parentId","childPages","template","hasChildren","pageProps","label","trim","link","url","item","children","makePagesTree","level","tree","value","repeat","rawName","pagesTree","isNested","hasSelectedChild","parentBlock","hasDraggedChild","isChildOfNavigation","select","getBlockParentsByBlockName","hasSelectedInnerBlock","getBlockRootClientId","hasDraggedInnerBlock","blockParents","navigationBlockParents","allowedBlocks","renderAppender","__unstableDisableDropZone","templateLock","onInput","onChange","selectBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useConvertToNavigationLinks } from './use-convert-to-navigation-links';\nimport {\n\tconvertDescription,\n\tConvertToLinksModal,\n} from './convert-to-links-modal';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\nfunction BlockContent( {\n\tblockProps,\n\tinnerBlocksProps,\n\thasResolvedPages,\n\tblockList,\n\tpages,\n\tparentPageID,\n} ) {\n\tif ( ! hasResolvedPages ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<div className=\"wp-block-page-list__loading-indicator-container\">\n\t\t\t\t\t<Spinner className=\"wp-block-page-list__loading-indicator\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages === null ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length === 0 ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status={ 'info' } isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( blockList.length === 0 ) {\n\t\tconst parentPageDetails = pages.find(\n\t\t\t( page ) => page.id === parentPageID\n\t\t);\n\n\t\tif ( parentPageDetails?.title?.rendered ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( 'Page List: \"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t</Notice>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( pages.length > 0 ) {\n\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t}\n}\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = useCallback( () => setOpen( true ), [] );\n\tconst closeModal = () => setOpen( false );\n\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\tper_page: MAX_PAGE_COUNT,\n\t\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t\t// sort.\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t}\n\t);\n\n\tconst allowConvertToLinks =\n\t\t'showSubmenuIcon' in context &&\n\t\tpages?.length > 0 &&\n\t\tpages?.length <= MAX_PAGE_COUNT;\n\n\tconst pagesByParentId = useMemo( () => {\n\t\tif ( pages === null ) {\n\t\t\treturn new Map();\n\t\t}\n\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = pages.sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\n\t\treturn sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\t}, [ pages ] );\n\n\tconst convertToNavigationLinks = useConvertToNavigationLinks( {\n\t\tclientId,\n\t\tpages,\n\t\tparentPageID,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst getBlockList = ( parentId = parentPageID ) => {\n\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\tif ( ! childPages?.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\tconst pageProps = {\n\t\t\t\tid: page.id,\n\t\t\t\tlabel:\n\t\t\t\t\t// translators: displayed when a page has an empty title.\n\t\t\t\t\tpage.title?.rendered?.trim() !== ''\n\t\t\t\t\t\t? page.title?.rendered\n\t\t\t\t\t\t: __( '(no title)' ),\n\t\t\t\ttitle: page.title?.rendered,\n\t\t\t\tlink: page.url,\n\t\t\t\thasChildren,\n\t\t\t};\n\t\t\tlet item = null;\n\t\t\tconst children = getBlockList( page.id );\n\t\t\titem = createBlock( 'core/page-list-item', pageProps, children );\n\t\t\ttemplate.push( item );\n\n\t\t\treturn template;\n\t\t}, [] );\n\t};\n\n\tconst makePagesTree = ( parentId = 0, level = 0 ) => {\n\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\tif ( ! childPages?.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\tconst item = {\n\t\t\t\tvalue: page.id,\n\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\trawName: page.title.rendered,\n\t\t\t};\n\t\t\ttree.push( item );\n\t\t\tif ( hasChildren ) {\n\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t}\n\t\t\treturn tree;\n\t\t}, [] );\n\t};\n\n\tconst pagesTree = useMemo( makePagesTree, [ pagesByParentId ] );\n\n\tconst blockList = useMemo( getBlockList, [\n\t\tpagesByParentId,\n\t\tparentPageID,\n\t] );\n\n\tconst {\n\t\tisNested,\n\t\thasSelectedChild,\n\t\tparentBlock,\n\t\thasDraggedChild,\n\t\tisChildOfNavigation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasDraggedInnerBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation-submenu',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\tconst navigationBlockParents = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tisNested: blockParents.length > 0,\n\t\t\t\tisChildOfNavigation: navigationBlockParents.length > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId, true ),\n\t\t\t\thasDraggedChild: hasDraggedInnerBlock( clientId, true ),\n\t\t\t\tparentBlock: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/page-list-item' ],\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: isChildOfNavigation ? false : 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( hasSelectedChild || hasDraggedChild ) {\n\t\t\topenModal();\n\t\t\tselectBlock( parentBlock );\n\t\t}\n\t}, [\n\t\thasSelectedChild,\n\t\thasDraggedChild,\n\t\tparentBlock,\n\t\tselectBlock,\n\t\topenModal,\n\t] );\n\n\tuseEffect( () => {\n\t\tsetAttributes( { isNested } );\n\t}, [ isNested, setAttributes ] );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\tlabel={ __( 'Parent page' ) }\n\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: value ?? 0 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t{ allowConvertToLinks && (\n\t\t\t\t\t<PanelBody title={ __( 'Edit this menu' ) }>\n\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Edit' ) }\n\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ isOpen && (\n\t\t\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\t\t\tonClick={ convertToNavigationLinks }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\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\t<BlockContent\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinnerBlocksProps={ innerBlocksProps }\n\t\t\t\thasResolvedPages={ hasResolvedPages }\n\t\t\t\tblockList={ blockList }\n\t\t\t\tpages={ pages }\n\t\t\t\tparentPageID={ parentPageID }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
@@ -41,7 +41,8 @@ export default function PageListItemEdit(_ref) {
41
41
  id,
42
42
  label,
43
43
  link,
44
- hasChildren
44
+ hasChildren,
45
+ title
45
46
  } = attributes;
46
47
  const isNavigationChild = ('showSubmenuIcon' in context);
47
48
  const frontPageId = useFrontPageId();
@@ -70,7 +71,7 @@ export default function PageListItemEdit(_ref) {
70
71
  'wp-block-navigation-item__content': isNavigationChild
71
72
  }),
72
73
  href: link
73
- }, decodeEntities(label)), hasChildren && createElement(Fragment, null, !context.openSubmenusOnClick && context.showSubmenuIcon && createElement("button", {
74
+ }, decodeEntities(title)), hasChildren && createElement(Fragment, null, !context.openSubmenusOnClick && context.showSubmenuIcon && createElement("button", {
74
75
  className: "wp-block-navigation-item__content wp-block-navigation-submenu__toggle wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon",
75
76
  "aria-expanded": "false"
76
77
  }, createElement(ItemSubmenuIcon, null)), createElement("ul", innerBlocksProps)));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/page-list-item/edit.js"],"names":["classnames","useBlockProps","useInnerBlocksProps","useSelect","store","coreStore","decodeEntities","ItemSubmenuIcon","getColors","getNavigationChildBlockProps","useFrontPageId","select","canReadSettings","canUser","undefined","site","getEntityRecord","show_on_front","page_on_front","PageListItemEdit","context","attributes","id","label","link","hasChildren","isNavigationChild","frontPageId","innerBlocksColors","navigationChildBlockProps","blockProps","className","innerBlocksProps","openSubmenusOnClick","showSubmenuIcon"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,aAAT,EAAwBC,mBAAxB,QAAmD,yBAAnD;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,cAAT,QAA+B,0BAA/B;AAEA;AACA;AACA;;AACA,SAASC,eAAT,QAAgC,0BAAhC;AACA,SACCC,SADD,EAECC,4BAFD,QAGO,0BAHP;;AAKA,SAASC,cAAT,GAA0B;AACzB,SAAOP,SAAS,CAAIQ,MAAF,IAAc;AAC/B,UAAMC,eAAe,GAAGD,MAAM,CAAEN,SAAF,CAAN,CAAoBQ,OAApB,CACvB,MADuB,EAEvB,UAFuB,CAAxB;;AAIA,QAAK,CAAED,eAAP,EAAyB;AACxB,aAAOE,SAAP;AACA;;AAED,UAAMC,IAAI,GAAGJ,MAAM,CAAEN,SAAF,CAAN,CAAoBW,eAApB,CAAqC,MAArC,EAA6C,MAA7C,CAAb;AACA,WAAO,CAAAD,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEE,aAAN,MAAwB,MAAxB,KAAkCF,IAAlC,aAAkCA,IAAlC,uBAAkCA,IAAI,CAAEG,aAAxC,CAAP;AACA,GAXe,EAWb,EAXa,CAAhB;AAYA;;AAED,eAAe,SAASC,gBAAT,OAAqD;AAAA,MAA1B;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,GAA0B;AACnE,QAAM;AAAEC,IAAAA,EAAF;AAAMC,IAAAA,KAAN;AAAaC,IAAAA,IAAb;AAAmBC,IAAAA;AAAnB,MAAmCJ,UAAzC;AACA,QAAMK,iBAAiB,IAAG,qBAAqBN,OAAxB,CAAvB;AACA,QAAMO,WAAW,GAAGjB,cAAc,EAAlC;AAEA,QAAMkB,iBAAiB,GAAGpB,SAAS,CAAEY,OAAF,EAAW,IAAX,CAAnC;AAEA,QAAMS,yBAAyB,GAC9BpB,4BAA4B,CAAEmB,iBAAF,CAD7B;AAEA,QAAME,UAAU,GAAG7B,aAAa,CAAE4B,yBAAF,EAA6B;AAC5DE,IAAAA,SAAS,EAAE;AADiD,GAA7B,CAAhC;AAIA,QAAMC,gBAAgB,GAAG9B,mBAAmB,CAAE4B,UAAF,CAA5C;AAEA,SACC;AACC,IAAA,GAAG,EAAGR,EADP;AAEC,IAAA,SAAS,EAAGtB,UAAU,CAAE,2BAAF,EAA+B;AACpD,mBAAayB,WADuC;AAEpD,kCAA4BC,iBAFwB;AAGpD,uBAAiBN,OAAO,CAACa,mBAH2B;AAIpD,6BACC,CAAEb,OAAO,CAACa,mBAAV,IAAiCb,OAAO,CAACc,eALU;AAMpD,wBAAkBZ,EAAE,KAAKK;AAN2B,KAA/B;AAFvB,KAWGF,WAAW,IAAIL,OAAO,CAACa,mBAAvB,GACD,8BACC;AACC,IAAA,SAAS,EAAC,uEADX;AAEC,qBAAc;AAFf,KAIG3B,cAAc,CAAEiB,KAAF,CAJjB,CADD,EAOC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACC,cAAC,eAAD,OADD,CAPD,CADC,GAaD;AACC,IAAA,SAAS,EAAGvB,UAAU,CAAE,iCAAF,EAAqC;AAC1D,2CAAqC0B;AADqB,KAArC,CADvB;AAIC,IAAA,IAAI,EAAGF;AAJR,KAMGlB,cAAc,CAAEiB,KAAF,CANjB,CAxBF,EAiCGE,WAAW,IACZ,8BACG,CAAEL,OAAO,CAACa,mBAAV,IACDb,OAAO,CAACc,eADP,IAEA;AACC,IAAA,SAAS,EAAC,0IADX;AAEC,qBAAc;AAFf,KAIC,cAAC,eAAD,OAJD,CAHH,EAUC,oBAASF,gBAAT,CAVD,CAlCF,CADD;AAkDA","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 coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nfunction useFrontPageId() {\n\treturn useSelect( ( select ) => {\n\t\tconst canReadSettings = select( coreStore ).canUser(\n\t\t\t'read',\n\t\t\t'settings'\n\t\t);\n\t\tif ( ! canReadSettings ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst site = select( coreStore ).getEntityRecord( 'root', 'site' );\n\t\treturn site?.show_on_front === 'page' && site?.page_on_front;\n\t}, [] );\n}\n\nexport default function PageListItemEdit( { context, attributes } ) {\n\tconst { id, label, link, hasChildren } = attributes;\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst frontPageId = useFrontPageId();\n\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst blockProps = useBlockProps( navigationChildBlockProps, {\n\t\tclassName: 'wp-block-pages-list__item',\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps );\n\n\treturn (\n\t\t<li\n\t\t\tkey={ id }\n\t\t\tclassName={ classnames( 'wp-block-pages-list__item', {\n\t\t\t\t'has-child': hasChildren,\n\t\t\t\t'wp-block-navigation-item': isNavigationChild,\n\t\t\t\t'open-on-click': context.openSubmenusOnClick,\n\t\t\t\t'open-on-hover-click':\n\t\t\t\t\t! context.openSubmenusOnClick && context.showSubmenuIcon,\n\t\t\t\t'menu-item-home': id === frontPageId,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t<>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ decodeEntities( label ) }\n\t\t\t\t\t</button>\n\t\t\t\t\t<span className=\"wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t</span>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ classnames( 'wp-block-pages-list__item__link', {\n\t\t\t\t\t\t'wp-block-navigation-item__content': isNavigationChild,\n\t\t\t\t\t} ) }\n\t\t\t\t\thref={ link }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( label ) }\n\t\t\t\t</a>\n\t\t\t) }\n\t\t\t{ hasChildren && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! context.openSubmenusOnClick &&\n\t\t\t\t\t\tcontext.showSubmenuIcon && (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\"\n\t\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t<ul { ...innerBlocksProps }></ul>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/page-list-item/edit.js"],"names":["classnames","useBlockProps","useInnerBlocksProps","useSelect","store","coreStore","decodeEntities","ItemSubmenuIcon","getColors","getNavigationChildBlockProps","useFrontPageId","select","canReadSettings","canUser","undefined","site","getEntityRecord","show_on_front","page_on_front","PageListItemEdit","context","attributes","id","label","link","hasChildren","title","isNavigationChild","frontPageId","innerBlocksColors","navigationChildBlockProps","blockProps","className","innerBlocksProps","openSubmenusOnClick","showSubmenuIcon"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nfunction useFrontPageId() {\n\treturn useSelect( ( select ) => {\n\t\tconst canReadSettings = select( coreStore ).canUser(\n\t\t\t'read',\n\t\t\t'settings'\n\t\t);\n\t\tif ( ! canReadSettings ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst site = select( coreStore ).getEntityRecord( 'root', 'site' );\n\t\treturn site?.show_on_front === 'page' && site?.page_on_front;\n\t}, [] );\n}\n\nexport default function PageListItemEdit( { context, attributes } ) {\n\tconst { id, label, link, hasChildren, title } = attributes;\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst frontPageId = useFrontPageId();\n\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst blockProps = useBlockProps( navigationChildBlockProps, {\n\t\tclassName: 'wp-block-pages-list__item',\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps );\n\n\treturn (\n\t\t<li\n\t\t\tkey={ id }\n\t\t\tclassName={ classnames( 'wp-block-pages-list__item', {\n\t\t\t\t'has-child': hasChildren,\n\t\t\t\t'wp-block-navigation-item': isNavigationChild,\n\t\t\t\t'open-on-click': context.openSubmenusOnClick,\n\t\t\t\t'open-on-hover-click':\n\t\t\t\t\t! context.openSubmenusOnClick && context.showSubmenuIcon,\n\t\t\t\t'menu-item-home': id === frontPageId,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t<>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ decodeEntities( label ) }\n\t\t\t\t\t</button>\n\t\t\t\t\t<span className=\"wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t</span>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ classnames( 'wp-block-pages-list__item__link', {\n\t\t\t\t\t\t'wp-block-navigation-item__content': isNavigationChild,\n\t\t\t\t\t} ) }\n\t\t\t\t\thref={ link }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( title ) }\n\t\t\t\t</a>\n\t\t\t) }\n\t\t\t{ hasChildren && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! context.openSubmenusOnClick &&\n\t\t\t\t\t\tcontext.showSubmenuIcon && (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\"\n\t\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t<ul { ...innerBlocksProps }></ul>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n"]}
@@ -57,8 +57,13 @@ function Content(props) {
57
57
  postId
58
58
  } = {}
59
59
  } = props;
60
- const isDescendentOfQueryLoop = Number.isFinite(queryId);
61
60
  const userCanEdit = useCanEditEntity('postType', postType, postId);
61
+
62
+ if (userCanEdit === undefined) {
63
+ return null;
64
+ }
65
+
66
+ const isDescendentOfQueryLoop = Number.isFinite(queryId);
62
67
  const isEditable = userCanEdit && !isDescendentOfQueryLoop;
63
68
  return isEditable ? createElement(EditableContent, props) : createElement(ReadOnlyContent, {
64
69
  userCanEdit: userCanEdit,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-content/edit.js"],"names":["__","useBlockProps","useInnerBlocksProps","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","Warning","useEntityProp","useEntityBlockEditor","useCanEditEntity","ReadOnlyContent","userCanEdit","postType","postId","content","blockProps","protected","__html","rendered","EditableContent","context","blocks","onInput","onChange","id","props","className","value","Content","queryId","isDescendentOfQueryLoop","Number","isFinite","isEditable","Placeholder","layoutClassNames","RecursionError","PostContentEdit","attributes","__unstableLayoutClassNames","contextPostId","contextPostType","layout","hasAlreadyRendered"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { useEntityProp, useEntityBlockEditor } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nfunction ReadOnlyContent( { userCanEdit, postType, postId } ) {\n\tconst [ , , content ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'content',\n\t\tpostId\n\t);\n\tconst blockProps = useBlockProps();\n\treturn content?.protected && ! userCanEdit ? (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>{ __( 'This content is password protected.' ) }</Warning>\n\t\t</div>\n\t) : (\n\t\t<div\n\t\t\t{ ...blockProps }\n\t\t\tdangerouslySetInnerHTML={ { __html: content?.rendered } }\n\t\t></div>\n\t);\n}\n\nfunction EditableContent( { context = {} } ) {\n\tconst { postType, postId } = context;\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpostType,\n\t\t{ id: postId }\n\t);\n\n\tconst props = useInnerBlocksProps(\n\t\tuseBlockProps( { className: 'entry-content' } ),\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t}\n\t);\n\treturn <div { ...props } />;\n}\n\nfunction Content( props ) {\n\tconst { context: { queryId, postType, postId } = {} } = props;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\n\treturn isEditable ? (\n\t\t<EditableContent { ...props } />\n\t) : (\n\t\t<ReadOnlyContent\n\t\t\tuserCanEdit={ userCanEdit }\n\t\t\tpostType={ postType }\n\t\t\tpostId={ postId }\n\t\t/>\n\t);\n}\n\nfunction Placeholder( { layoutClassNames } ) {\n\tconst blockProps = useBlockProps( { className: layoutClassNames } );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'This is the Post Content block, it will display all the blocks in any single post or page.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'That might be a simple arrangement like consecutive paragraphs in a blog post, or a more elaborate composition that includes image galleries, videos, tables, columns, and any other block types.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'If there are any Custom Post Types registered at your site, the Post Content block can display the contents of those entries as well.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t</div>\n\t);\n}\n\nfunction RecursionError() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nexport default function PostContentEdit( {\n\tcontext,\n\tattributes,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst { postId: contextPostId, postType: contextPostType } = context;\n\tconst { layout = {} } = attributes;\n\tconst hasAlreadyRendered = useHasRecursion( contextPostId );\n\n\tif ( contextPostId && contextPostType && hasAlreadyRendered ) {\n\t\treturn <RecursionError />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ contextPostId }>\n\t\t\t{ contextPostId && contextPostType ? (\n\t\t\t\t<Content context={ context } layout={ layout } />\n\t\t\t) : (\n\t\t\t\t<Placeholder layoutClassNames={ layoutClassNames } />\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-content/edit.js"],"names":["__","useBlockProps","useInnerBlocksProps","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","Warning","useEntityProp","useEntityBlockEditor","useCanEditEntity","ReadOnlyContent","userCanEdit","postType","postId","content","blockProps","protected","__html","rendered","EditableContent","context","blocks","onInput","onChange","id","props","className","value","Content","queryId","undefined","isDescendentOfQueryLoop","Number","isFinite","isEditable","Placeholder","layoutClassNames","RecursionError","PostContentEdit","attributes","__unstableLayoutClassNames","contextPostId","contextPostType","layout","hasAlreadyRendered"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { useEntityProp, useEntityBlockEditor } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nfunction ReadOnlyContent( { userCanEdit, postType, postId } ) {\n\tconst [ , , content ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'content',\n\t\tpostId\n\t);\n\tconst blockProps = useBlockProps();\n\treturn content?.protected && ! userCanEdit ? (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>{ __( 'This content is password protected.' ) }</Warning>\n\t\t</div>\n\t) : (\n\t\t<div\n\t\t\t{ ...blockProps }\n\t\t\tdangerouslySetInnerHTML={ { __html: content?.rendered } }\n\t\t></div>\n\t);\n}\n\nfunction EditableContent( { context = {} } ) {\n\tconst { postType, postId } = context;\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpostType,\n\t\t{ id: postId }\n\t);\n\n\tconst props = useInnerBlocksProps(\n\t\tuseBlockProps( { className: 'entry-content' } ),\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t}\n\t);\n\treturn <div { ...props } />;\n}\n\nfunction Content( props ) {\n\tconst { context: { queryId, postType, postId } = {} } = props;\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tif ( userCanEdit === undefined ) {\n\t\treturn null;\n\t}\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\n\treturn isEditable ? (\n\t\t<EditableContent { ...props } />\n\t) : (\n\t\t<ReadOnlyContent\n\t\t\tuserCanEdit={ userCanEdit }\n\t\t\tpostType={ postType }\n\t\t\tpostId={ postId }\n\t\t/>\n\t);\n}\n\nfunction Placeholder( { layoutClassNames } ) {\n\tconst blockProps = useBlockProps( { className: layoutClassNames } );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'This is the Post Content block, it will display all the blocks in any single post or page.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'That might be a simple arrangement like consecutive paragraphs in a blog post, or a more elaborate composition that includes image galleries, videos, tables, columns, and any other block types.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'If there are any Custom Post Types registered at your site, the Post Content block can display the contents of those entries as well.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t</div>\n\t);\n}\n\nfunction RecursionError() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nexport default function PostContentEdit( {\n\tcontext,\n\tattributes,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst { postId: contextPostId, postType: contextPostType } = context;\n\tconst { layout = {} } = attributes;\n\tconst hasAlreadyRendered = useHasRecursion( contextPostId );\n\n\tif ( contextPostId && contextPostType && hasAlreadyRendered ) {\n\t\treturn <RecursionError />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ contextPostId }>\n\t\t\t{ contextPostId && contextPostType ? (\n\t\t\t\t<Content context={ context } layout={ layout } />\n\t\t\t) : (\n\t\t\t\t<Placeholder layoutClassNames={ layoutClassNames } />\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"]}
@@ -82,9 +82,6 @@ const DimensionControls = _ref => {
82
82
  }, {
83
83
  label: __('Square'),
84
84
  value: '1'
85
- }, {
86
- label: __('16:10'),
87
- value: '16/10'
88
85
  }, {
89
86
  label: __('16:9'),
90
87
  value: '16/9'
@@ -94,9 +91,6 @@ const DimensionControls = _ref => {
94
91
  }, {
95
92
  label: __('3:2'),
96
93
  value: '3/2'
97
- }, {
98
- label: __('10:16'),
99
- value: '10/16'
100
94
  }, {
101
95
  label: __('9:16'),
102
96
  value: '9/16'
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"names":["__","_x","SelectControl","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","useSetting","SCALE_OPTIONS","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","imageSizeOptions","defaultUnits","units","availableUnits","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","undefined","label","value","nextAspectRatio","nextHeight","nextWidth","length","nextSizeSlug"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { InspectorControls, useSetting } from '@wordpress/block-editor';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\timageSizeOptions = [],\n} ) => {\n\tconst defaultUnits = [ 'px', '%', 'vw', 'em', 'rem' ];\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || defaultUnits,\n\t} );\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) return;\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\treturn (\n\t\t<InspectorControls group=\"dimensions\">\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t// These should use the same values as AspectRatioDropdown in @wordpress/block-editor\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Original' ),\n\t\t\t\t\t\t\tvalue: 'auto',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Square' ),\n\t\t\t\t\t\t\tvalue: '1',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '16:10' ),\n\t\t\t\t\t\t\tvalue: '16/10',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '16:9' ),\n\t\t\t\t\t\t\tvalue: '16/9',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '4:3' ),\n\t\t\t\t\t\t\tvalue: '4/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:2' ),\n\t\t\t\t\t\t\tvalue: '3/2',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '10:16' ),\n\t\t\t\t\t\t\tvalue: '10/16',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '9:16' ),\n\t\t\t\t\t\t\tvalue: '9/16',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:4' ),\n\t\t\t\t\t\t\tvalue: '3/4',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '2:3' ),\n\t\t\t\t\t\t\tvalue: '2/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ ( height || aspectRatio ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\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={ __( 'Image size' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n};\n\nexport default DimensionControls;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"names":["__","_x","SelectControl","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","useSetting","SCALE_OPTIONS","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","imageSizeOptions","defaultUnits","units","availableUnits","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","undefined","label","value","nextAspectRatio","nextHeight","nextWidth","length","nextSizeSlug"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,EAAb,QAAuB,iBAAvB;AACA,SACCC,aADD,EAECC,yBAAyB,IAAIC,WAF9B,EAGCC,gCAAgC,IAAIC,kBAHrC,EAICC,sCAAsC,IAAIC,wBAJ3C,EAKCC,4BAA4B,IAAIC,cALjC,EAMCC,4BAA4B,IAAIC,cANjC,QAOO,uBAPP;AAQA,SAASC,iBAAT,EAA4BC,UAA5B,QAA8C,yBAA9C;AAEA,MAAMC,aAAa,GAClB,8BACC,cAAC,wBAAD;AACC,EAAA,KAAK,EAAC,OADP;AAEC,EAAA,KAAK,EAAGd,EAAE,CAAE,OAAF,EAAW,0CAAX;AAFX,EADD,EAKC,cAAC,wBAAD;AACC,EAAA,KAAK,EAAC,SADP;AAEC,EAAA,KAAK,EAAGA,EAAE,CACT,SADS,EAET,0CAFS;AAFX,EALD,EAYC,cAAC,wBAAD;AACC,EAAA,KAAK,EAAC,MADP;AAEC,EAAA,KAAK,EAAGA,EAAE,CAAE,MAAF,EAAU,0CAAV;AAFX,EAZD,CADD;AAoBA,MAAMe,aAAa,GAAG,OAAtB;AACA,MAAMC,YAAY,GAAG,MAArB;AAEA,MAAMC,SAAS,GAAG;AACjBC,EAAAA,KAAK,EAAEnB,EAAE,CACR,+EADQ,CADQ;AAIjBoB,EAAAA,OAAO,EAAEpB,EAAE,CACV,oEADU,CAJM;AAOjBqB,EAAAA,IAAI,EAAErB,EAAE,CACP,qEADO;AAPS,CAAlB;;AAYA,MAAMsB,iBAAiB,GAAG,QAKnB;AAAA,MALqB;AAC3BC,IAAAA,QAD2B;AAE3BC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,WAAF;AAAeC,MAAAA,KAAf;AAAsBC,MAAAA,MAAtB;AAA8BC,MAAAA,KAA9B;AAAqCC,MAAAA;AAArC,KAFe;AAG3BC,IAAAA,aAH2B;AAI3BC,IAAAA,gBAAgB,GAAG;AAJQ,GAKrB;AACN,QAAMC,YAAY,GAAG,CAAE,IAAF,EAAQ,GAAR,EAAa,IAAb,EAAmB,IAAnB,EAAyB,KAAzB,CAArB;AACA,QAAMC,KAAK,GAAGvB,cAAc,CAAE;AAC7BwB,IAAAA,cAAc,EAAEpB,UAAU,CAAE,eAAF,CAAV,IAAiCkB;AADpB,GAAF,CAA5B;;AAGA,QAAMG,iBAAiB,GAAG,CAAEC,SAAF,EAAaC,SAAb,KAA4B;AACrD,UAAMC,WAAW,GAAGC,UAAU,CAAEF,SAAF,CAA9B;AACA;AACF;AACA;AACA;AACA;;AACE,QAAKG,KAAK,CAAEF,WAAF,CAAL,IAAwBD,SAA7B,EAAyC;AACzCP,IAAAA,aAAa,CAAE;AACd,OAAEM,SAAF,GAAeE,WAAW,GAAG,CAAd,GAAkB,GAAlB,GAAwBD;AADzB,KAAF,CAAb;AAGA,GAXD;;AAYA,QAAMI,UAAU,GAAGxC,EAAE,CAAE,OAAF,EAAW,uBAAX,CAArB;;AACA,SACC,cAAC,iBAAD;AAAmB,IAAA,KAAK,EAAC;AAAzB,KACC,cAAC,cAAD;AACC,IAAA,QAAQ,EAAG,MAAM,CAAC,CAAEwB,WADrB;AAEC,IAAA,KAAK,EAAGzB,EAAE,CAAE,cAAF,CAFX;AAGC,IAAA,UAAU,EAAG,MAAM8B,aAAa,CAAE;AAAEL,MAAAA,WAAW,EAAEiB;AAAf,KAAF,CAHjC;AAIC,IAAA,cAAc,EAAG,OAAQ;AACxBjB,MAAAA,WAAW,EAAEiB;AADW,KAAR,CAJlB;AAOC,IAAA,gBAAgB,EAAG,IAPpB;AAQC,IAAA,OAAO,EAAGnB;AARX,KAUC,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGvB,EAAE,CAAE,cAAF,CAFX;AAGC,IAAA,KAAK,EAAGyB,WAHT;AAIC,IAAA,OAAO,EAAG,CACT;AACA;AACCkB,MAAAA,KAAK,EAAE3C,EAAE,CAAE,UAAF,CADV;AAEC4C,MAAAA,KAAK,EAAE;AAFR,KAFS,EAMT;AACCD,MAAAA,KAAK,EAAE3C,EAAE,CAAE,QAAF,CADV;AAEC4C,MAAAA,KAAK,EAAE;AAFR,KANS,EAUT;AACCD,MAAAA,KAAK,EAAE3C,EAAE,CAAE,MAAF,CADV;AAEC4C,MAAAA,KAAK,EAAE;AAFR,KAVS,EAcT;AACCD,MAAAA,KAAK,EAAE3C,EAAE,CAAE,KAAF,CADV;AAEC4C,MAAAA,KAAK,EAAE;AAFR,KAdS,EAkBT;AACCD,MAAAA,KAAK,EAAE3C,EAAE,CAAE,KAAF,CADV;AAEC4C,MAAAA,KAAK,EAAE;AAFR,KAlBS,EAsBT;AACCD,MAAAA,KAAK,EAAE3C,EAAE,CAAE,MAAF,CADV;AAEC4C,MAAAA,KAAK,EAAE;AAFR,KAtBS,EA0BT;AACCD,MAAAA,KAAK,EAAE3C,EAAE,CAAE,KAAF,CADV;AAEC4C,MAAAA,KAAK,EAAE;AAFR,KA1BS,EA8BT;AACCD,MAAAA,KAAK,EAAE3C,EAAE,CAAE,KAAF,CADV;AAEC4C,MAAAA,KAAK,EAAE;AAFR,KA9BS,CAJX;AAuCC,IAAA,QAAQ,EAAKC,eAAF,IACVf,aAAa,CAAE;AAAEL,MAAAA,WAAW,EAAEoB;AAAf,KAAF;AAxCf,IAVD,CADD,EAuDC,cAAC,cAAD;AACC,IAAA,SAAS,EAAC,eADX;AAEC,IAAA,QAAQ,EAAG,MAAM,CAAC,CAAElB,MAFrB;AAGC,IAAA,KAAK,EAAG3B,EAAE,CAAE,QAAF,CAHX;AAIC,IAAA,UAAU,EAAG,MAAM8B,aAAa,CAAE;AAAEH,MAAAA,MAAM,EAAEe;AAAV,KAAF,CAJjC;AAKC,IAAA,cAAc,EAAG,OAAQ;AACxBf,MAAAA,MAAM,EAAEe;AADgB,KAAR,CALlB;AAQC,IAAA,gBAAgB,EAAG,IARpB;AASC,IAAA,OAAO,EAAGnB;AATX,KAWC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGvB,EAAE,CAAE,QAAF,CADX;AAEC,IAAA,aAAa,EAAC,KAFf;AAGC,IAAA,KAAK,EAAG2B,MAAM,IAAI,EAHnB;AAIC,IAAA,GAAG,EAAG,CAJP;AAKC,IAAA,QAAQ,EAAKmB,UAAF,IACVX,iBAAiB,CAAE,QAAF,EAAYW,UAAZ,CANnB;AAQC,IAAA,KAAK,EAAGb;AART,IAXD,CAvDD,EA6EC,cAAC,cAAD;AACC,IAAA,SAAS,EAAC,eADX;AAEC,IAAA,QAAQ,EAAG,MAAM,CAAC,CAAEP,KAFrB;AAGC,IAAA,KAAK,EAAG1B,EAAE,CAAE,OAAF,CAHX;AAIC,IAAA,UAAU,EAAG,MAAM8B,aAAa,CAAE;AAAEJ,MAAAA,KAAK,EAAEgB;AAAT,KAAF,CAJjC;AAKC,IAAA,cAAc,EAAG,OAAQ;AACxBhB,MAAAA,KAAK,EAAEgB;AADiB,KAAR,CALlB;AAQC,IAAA,gBAAgB,EAAG,IARpB;AASC,IAAA,OAAO,EAAGnB;AATX,KAWC,cAAC,WAAD;AACC,IAAA,KAAK,EAAGvB,EAAE,CAAE,OAAF,CADX;AAEC,IAAA,aAAa,EAAC,KAFf;AAGC,IAAA,KAAK,EAAG0B,KAAK,IAAI,EAHlB;AAIC,IAAA,GAAG,EAAG,CAJP;AAKC,IAAA,QAAQ,EAAKqB,SAAF,IACVZ,iBAAiB,CAAE,OAAF,EAAWY,SAAX,CANnB;AAQC,IAAA,KAAK,EAAGd;AART,IAXD,CA7ED,EAmGG,CAAEN,MAAM,IAAIF,WAAZ,KACD,cAAC,cAAD;AACC,IAAA,QAAQ,EAAG,MAAM,CAAC,CAAEG,KAAH,IAAYA,KAAK,KAAKZ,aADxC;AAEC,IAAA,KAAK,EAAGyB,UAFT;AAGC,IAAA,UAAU,EAAG,MACZX,aAAa,CAAE;AACdF,MAAAA,KAAK,EAAEZ;AADO,KAAF,CAJf;AAQC,IAAA,cAAc,EAAG,OAAQ;AACxBY,MAAAA,KAAK,EAAEZ;AADiB,KAAR,CARlB;AAWC,IAAA,gBAAgB,EAAG,IAXpB;AAYC,IAAA,OAAO,EAAGO;AAZX,KAcC,cAAC,kBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGkB,UAFT;AAGC,IAAA,KAAK,EAAGb,KAHT;AAIC,IAAA,IAAI,EAAGV,SAAS,CAAEU,KAAF,CAJjB;AAKC,IAAA,QAAQ,EAAKgB,KAAF,IACVd,aAAa,CAAE;AACdF,MAAAA,KAAK,EAAEgB;AADO,KAAF,CANf;AAUC,IAAA,OAAO;AAVR,KAYG7B,aAZH,CAdD,CApGF,EAkIG,CAAC,CAAEgB,gBAAgB,CAACiB,MAApB,IACD,cAAC,cAAD;AACC,IAAA,QAAQ,EAAG,MAAM,CAAC,CAAEnB,QADrB;AAEC,IAAA,KAAK,EAAG7B,EAAE,CAAE,YAAF,CAFX;AAGC,IAAA,UAAU,EAAG,MACZ8B,aAAa,CAAE;AAAED,MAAAA,QAAQ,EAAEa;AAAZ,KAAF,CAJf;AAMC,IAAA,cAAc,EAAG,OAAQ;AACxBb,MAAAA,QAAQ,EAAEa;AADc,KAAR,CANlB;AASC,IAAA,gBAAgB,EAAG,KATpB;AAUC,IAAA,OAAO,EAAGnB;AAVX,KAYC,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGvB,EAAE,CAAE,YAAF,CAFX;AAGC,IAAA,KAAK,EAAG6B,QAAQ,IAAIZ,YAHrB;AAIC,IAAA,OAAO,EAAGc,gBAJX;AAKC,IAAA,QAAQ,EAAKkB,YAAF,IACVnB,aAAa,CAAE;AAAED,MAAAA,QAAQ,EAAEoB;AAAZ,KAAF,CANf;AAQC,IAAA,IAAI,EAAGjD,EAAE,CAAE,sCAAF;AARV,IAZD,CAnIF,CADD;AA8JA,CArLD;;AAuLA,eAAesB,iBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { InspectorControls, useSetting } from '@wordpress/block-editor';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\timageSizeOptions = [],\n} ) => {\n\tconst defaultUnits = [ 'px', '%', 'vw', 'em', 'rem' ];\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || defaultUnits,\n\t} );\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) return;\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\treturn (\n\t\t<InspectorControls group=\"dimensions\">\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t// These should use the same values as AspectRatioDropdown in @wordpress/block-editor\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Original' ),\n\t\t\t\t\t\t\tvalue: 'auto',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Square' ),\n\t\t\t\t\t\t\tvalue: '1',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '16:9' ),\n\t\t\t\t\t\t\tvalue: '16/9',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '4:3' ),\n\t\t\t\t\t\t\tvalue: '4/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:2' ),\n\t\t\t\t\t\t\tvalue: '3/2',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '9:16' ),\n\t\t\t\t\t\t\tvalue: '9/16',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:4' ),\n\t\t\t\t\t\t\tvalue: '3/4',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '2:3' ),\n\t\t\t\t\t\t\tvalue: '2/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ ( height || aspectRatio ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\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={ __( 'Image size' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n};\n\nexport default DimensionControls;\n"]}
@@ -127,7 +127,7 @@ export default function PostFeaturedImageEdit(_ref) {
127
127
  setAttributes: setAttributes,
128
128
  imageSizeOptions: imageSizeOptions
129
129
  }), createElement(InspectorControls, null, createElement(PanelBody, {
130
- title: __('Link settings')
130
+ title: __('Settings')
131
131
  }, createElement(ToggleControl, {
132
132
  __nextHasNoMarginBottom: true,
133
133
  label: postType !== null && postType !== void 0 && postType.labels.singular_name ? sprintf( // translators: %s: Name of the post type e.g: "post".
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"names":["classnames","useEntityProp","store","coreStore","useSelect","useDispatch","MenuItem","ToggleControl","PanelBody","Placeholder","Button","TextControl","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","blockEditorStore","__experimentalUseBorderProps","useBorderProps","__","sprintf","upload","noticesStore","DimensionControls","Overlay","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","featuredImage","setFeaturedImage","select","getMedia","getPostType","mediaUrl","imageSizes","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","style","borderProps","placeholder","content","className","onSelectImage","id","createErrorNotice","onUploadError","message","type","controls","labels","singular_name","toLowerCase","newRel","image","imageStyles","objectFit","open","alt_text"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport Overlay from './overlay';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t} = attributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { media, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug ]\n\t);\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t...borderProps.style,\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 onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t\t\t}\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</>\n\t);\n\tlet image;\n\n\t/**\n\t * A post featured image block placed in a query loop\n\t * does not have image replacement or upload options.\n\t */\n\tif ( ! featuredImage && isDescendentOfQueryLoop ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * A post featured image placed in a block template, outside a query loop,\n\t * does not have a postId and will always be a placeholder image.\n\t * It does not have image replacement, upload, or link options.\n\t */\n\tif ( ! featuredImage && ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<DimensionControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t/>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\theight: ( !! aspectRatio && '100%' ) || height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ imageStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ image }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"names":["classnames","useEntityProp","store","coreStore","useSelect","useDispatch","MenuItem","ToggleControl","PanelBody","Placeholder","Button","TextControl","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","blockEditorStore","__experimentalUseBorderProps","useBorderProps","__","sprintf","upload","noticesStore","DimensionControls","Overlay","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","featuredImage","setFeaturedImage","select","getMedia","getPostType","mediaUrl","imageSizes","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","style","borderProps","placeholder","content","className","onSelectImage","id","createErrorNotice","onUploadError","message","type","controls","labels","singular_name","toLowerCase","newRel","image","imageStyles","objectFit","open","alt_text"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport Overlay from './overlay';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t} = attributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { media, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug ]\n\t);\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t...borderProps.style,\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 onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\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={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t\t\t}\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</>\n\t);\n\tlet image;\n\n\t/**\n\t * A post featured image block placed in a query loop\n\t * does not have image replacement or upload options.\n\t */\n\tif ( ! featuredImage && isDescendentOfQueryLoop ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * A post featured image placed in a block template, outside a query loop,\n\t * does not have a postId and will always be a placeholder image.\n\t * It does not have image replacement, upload, or link options.\n\t */\n\tif ( ! featuredImage && ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<DimensionControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t/>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\theight: ( !! aspectRatio && '100%' ) || height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ imageStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ image }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"]}
@@ -4,7 +4,6 @@ import { createElement } from "@wordpress/element";
4
4
  * External dependencies
5
5
  */
6
6
  import classnames from 'classnames';
7
- import { get } from 'lodash';
8
7
  /**
9
8
  * WordPress dependencies
10
9
  */
@@ -410,7 +409,9 @@ const v2 = {
410
409
  }; // Is normal style and a named color is being used, we need to retrieve the color value to set the style,
411
410
  // as there is no expectation that themes create classes that set border colors.
412
411
  } else if (mainColor) {
413
- const colors = get(select(blockEditorStore).getSettings(), ['colors'], []);
412
+ var _select$getSettings$c;
413
+
414
+ const colors = (_select$getSettings$c = select(blockEditorStore).getSettings().colors) !== null && _select$getSettings$c !== void 0 ? _select$getSettings$c : [];
414
415
  const colorObject = getColorObjectByAttributeValues(colors, mainColor);
415
416
  figureStyles = {
416
417
  borderColor: colorObject.color
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/pullquote/deprecated.js"],"names":["classnames","get","getColorClassName","getColorObjectByAttributeValues","RichText","store","blockEditorStore","useBlockProps","select","create","replace","toHTMLString","__UNSTABLE_LINE_SEPARATOR","SOLID_COLOR_CLASS","blockAttributes","value","type","source","selector","multiline","citation","default","mainColor","customMainColor","textColor","customTextColor","parseBorderColor","styleString","matches","match","multilineToInline","html","multilineTag","RegExp","v5","attributes","__experimentalRole","textAlign","save","shouldShowCitation","isEmpty","className","migrate","v4","isSolidColorStyle","includes","figureClasses","figureStyles","backgroundClass","backgroundColor","undefined","borderColor","blockquoteTextColorClass","blockquoteClasses","blockquoteStyles","color","style","border","background","text","v3","figureStyle","attribute","v2","figureClass","colors","getSettings","colorObject","blockquoteStyle","v1","v0","align"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,SACCC,iBADD,EAECC,+BAFD,EAGCC,QAHD,EAICC,KAAK,IAAIC,gBAJV,EAKCC,aALD,QAMO,yBANP;AAOA,SAASC,MAAT,QAAuB,iBAAvB;AACA,SACCC,MADD,EAECC,OAFD,EAGCC,YAHD,EAICC,yBAJD,QAKO,sBALP;AAOA;AACA;AACA;;AACA,SAASC,iBAAT,QAAkC,UAAlC;AAEA,MAAMC,eAAe,GAAG;AACvBC,EAAAA,KAAK,EAAE;AACNC,IAAAA,IAAI,EAAE,QADA;AAENC,IAAAA,MAAM,EAAE,MAFF;AAGNC,IAAAA,QAAQ,EAAE,YAHJ;AAINC,IAAAA,SAAS,EAAE;AAJL,GADgB;AAOvBC,EAAAA,QAAQ,EAAE;AACTJ,IAAAA,IAAI,EAAE,QADG;AAETC,IAAAA,MAAM,EAAE,MAFC;AAGTC,IAAAA,QAAQ,EAAE,MAHD;AAITG,IAAAA,OAAO,EAAE;AAJA,GAPa;AAavBC,EAAAA,SAAS,EAAE;AACVN,IAAAA,IAAI,EAAE;AADI,GAbY;AAgBvBO,EAAAA,eAAe,EAAE;AAChBP,IAAAA,IAAI,EAAE;AADU,GAhBM;AAmBvBQ,EAAAA,SAAS,EAAE;AACVR,IAAAA,IAAI,EAAE;AADI,GAnBY;AAsBvBS,EAAAA,eAAe,EAAE;AAChBT,IAAAA,IAAI,EAAE;AADU;AAtBM,CAAxB;;AA2BA,SAASU,gBAAT,CAA2BC,WAA3B,EAAyC;AACxC,MAAK,CAAEA,WAAP,EAAqB;AACpB;AACA;;AACD,QAAMC,OAAO,GAAGD,WAAW,CAACE,KAAZ,CAAmB,0BAAnB,CAAhB;;AACA,MAAKD,OAAO,IAAIA,OAAO,CAAE,CAAF,CAAvB,EAA+B;AAC9B,WAAOA,OAAO,CAAE,CAAF,CAAd;AACA;AACD;;AAED,SAASE,iBAAT,CAA4Bf,KAA5B,EAAoC;AACnC,SAAOJ,YAAY,CAAE;AACpBI,IAAAA,KAAK,EAAEL,OAAO,CACbD,MAAM,CAAE;AAAEsB,MAAAA,IAAI,EAAEhB,KAAR;AAAeiB,MAAAA,YAAY,EAAE;AAA7B,KAAF,CADO,EAEb,IAAIC,MAAJ,CAAYrB,yBAAZ,EAAuC,GAAvC,CAFa,EAGb,IAHa;AADM,GAAF,CAAnB;AAOA;;AAED,MAAMsB,EAAE,GAAG;AACVC,EAAAA,UAAU,EAAE;AACXpB,IAAAA,KAAK,EAAE;AACNC,MAAAA,IAAI,EAAE,QADA;AAENC,MAAAA,MAAM,EAAE,MAFF;AAGNC,MAAAA,QAAQ,EAAE,YAHJ;AAINC,MAAAA,SAAS,EAAE,GAJL;AAKNiB,MAAAA,kBAAkB,EAAE;AALd,KADI;AAQXhB,IAAAA,QAAQ,EAAE;AACTJ,MAAAA,IAAI,EAAE,QADG;AAETC,MAAAA,MAAM,EAAE,MAFC;AAGTC,MAAAA,QAAQ,EAAE,MAHD;AAITG,MAAAA,OAAO,EAAE,EAJA;AAKTe,MAAAA,kBAAkB,EAAE;AALX,KARC;AAeXC,IAAAA,SAAS,EAAE;AACVrB,MAAAA,IAAI,EAAE;AADI;AAfA,GADF;;AAoBVsB,EAAAA,IAAI,OAAmB;AAAA,QAAjB;AAAEH,MAAAA;AAAF,KAAiB;AACtB,UAAM;AAAEE,MAAAA,SAAF;AAAajB,MAAAA,QAAb;AAAuBL,MAAAA;AAAvB,QAAiCoB,UAAvC;AACA,UAAMI,kBAAkB,GAAG,CAAEnC,QAAQ,CAACoC,OAAT,CAAkBpB,QAAlB,CAA7B;AAEA,WACC,wBACMb,aAAa,CAAC+B,IAAd,CAAoB;AACxBG,MAAAA,SAAS,EAAEzC,UAAU,CAAE;AACtB,SAAG,kBAAkBqC,SAAW,EAAhC,GAAqCA;AADf,OAAF;AADG,KAApB,CADN,EAOC,kCACC,cAAC,QAAD,CAAU,OAAV;AAAkB,MAAA,KAAK,EAAGtB,KAA1B;AAAkC,MAAA,SAAS;AAA3C,MADD,EAEGwB,kBAAkB,IACnB,cAAC,QAAD,CAAU,OAAV;AAAkB,MAAA,OAAO,EAAC,MAA1B;AAAiC,MAAA,KAAK,EAAGnB;AAAzC,MAHF,CAPD,CADD;AAgBA,GAxCS;;AAyCVsB,EAAAA,OAAO,QAA6B;AAAA,QAA3B;AAAE3B,MAAAA,KAAF;AAAS,SAAGoB;AAAZ,KAA2B;AACnC,WAAO;AACNpB,MAAAA,KAAK,EAAEe,iBAAiB,CAAEf,KAAF,CADlB;AAEN,SAAGoB;AAFG,KAAP;AAIA;;AA9CS,CAAX,C,CAiDA;;AAEA,MAAMQ,EAAE,GAAG;AACVR,EAAAA,UAAU,EAAE,EACX,GAAGrB;AADQ,GADF;;AAIVwB,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAEH,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLb,MAAAA,SADK;AAELC,MAAAA,eAFK;AAGLE,MAAAA,eAHK;AAILD,MAAAA,SAJK;AAKLT,MAAAA,KALK;AAMLK,MAAAA,QANK;AAOLqB,MAAAA;AAPK,QAQFN,UARJ;AAUA,UAAMS,iBAAiB,GAAGH,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEI,QAAX,CAAqBhC,iBAArB,CAA1B;AAEA,QAAIiC,aAAJ,EAAmBC,YAAnB,CAbsB,CAetB;;AACA,QAAKH,iBAAL,EAAyB;AACxB,YAAMI,eAAe,GAAG9C,iBAAiB,CACxC,kBADwC,EAExCoB,SAFwC,CAAzC;AAKAwB,MAAAA,aAAa,GAAG9C,UAAU,CAAE;AAC3B,0BAAkBgD,eAAe,IAAIzB,eADV;AAE3B,SAAEyB,eAAF,GAAqBA;AAFM,OAAF,CAA1B;AAKAD,MAAAA,YAAY,GAAG;AACdE,QAAAA,eAAe,EAAED,eAAe,GAAGE,SAAH,GAAe3B;AADjC,OAAf,CAXwB,CAcxB;AACA,KAfD,MAeO,IAAKA,eAAL,EAAuB;AAC7BwB,MAAAA,YAAY,GAAG;AACdI,QAAAA,WAAW,EAAE5B;AADC,OAAf;AAGA;;AAED,UAAM6B,wBAAwB,GAAGlD,iBAAiB,CACjD,OADiD,EAEjDsB,SAFiD,CAAlD;AAIA,UAAM6B,iBAAiB,GAAGrD,UAAU,CAAE;AACrC,wBAAkBwB,SAAS,IAAIC,eADM;AAErC,OAAE2B,wBAAF,GAA8BA;AAFO,KAAF,CAApC;AAKA,UAAME,gBAAgB,GAAGF,wBAAwB,GAC9CF,SAD8C,GAE9C;AAAEK,MAAAA,KAAK,EAAE9B;AAAT,KAFH;AAIA,WACC,wBACMlB,aAAa,CAAC+B,IAAd,CAAoB;AACxBG,MAAAA,SAAS,EAAEK,aADa;AAExBU,MAAAA,KAAK,EAAET;AAFiB,KAApB,CADN,EAMC;AACC,MAAA,SAAS,EAAGM,iBADb;AAEC,MAAA,KAAK,EAAGC;AAFT,OAIC,cAAC,QAAD,CAAU,OAAV;AAAkB,MAAA,KAAK,EAAGvC,KAA1B;AAAkC,MAAA,SAAS;AAA3C,MAJD,EAKG,CAAEX,QAAQ,CAACoC,OAAT,CAAkBpB,QAAlB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AAAkB,MAAA,OAAO,EAAC,MAA1B;AAAiC,MAAA,KAAK,EAAGA;AAAzC,MANF,CAND,CADD;AAkBA,GAxES;;AAyEVsB,EAAAA,OAAO,QAOH;AAAA,QAPK;AACR3B,MAAAA,KADQ;AAER0B,MAAAA,SAFQ;AAGRnB,MAAAA,SAHQ;AAIRC,MAAAA,eAJQ;AAKRE,MAAAA,eALQ;AAMR,SAAGU;AANK,KAOL;AACH,UAAMS,iBAAiB,GAAGH,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEI,QAAX,CAAqBhC,iBAArB,CAA1B;AACA,QAAI2C,KAAJ;;AAEA,QAAKjC,eAAL,EAAuB;AACtB,UAAK,CAAEqB,iBAAP,EAA2B;AAC1B;AACAY,QAAAA,KAAK,GAAG;AACPC,UAAAA,MAAM,EAAE;AACPF,YAAAA,KAAK,EAAEhC;AADA;AADD,SAAR;AAKA,OAPD,MAOO;AACN;AACAiC,QAAAA,KAAK,GAAG;AACPD,UAAAA,KAAK,EAAE;AACNG,YAAAA,UAAU,EAAEnC;AADN;AADA,SAAR;AAKA;AACD,KApBE,CAsBH;;;AACA,QAAKE,eAAe,IAAI+B,KAAxB,EAAgC;AAC/BA,MAAAA,KAAK,CAACD,KAAN,GAAc,EACb,GAAGC,KAAK,CAACD,KADI;AAEbI,QAAAA,IAAI,EAAElC;AAFO,OAAd;AAIA;;AAED,WAAO;AACNV,MAAAA,KAAK,EAAEe,iBAAiB,CAAEf,KAAF,CADlB;AAEN0B,MAAAA,SAFM;AAGNQ,MAAAA,eAAe,EAAEL,iBAAiB,GAAGtB,SAAH,GAAe4B,SAH3C;AAINC,MAAAA,WAAW,EAAEP,iBAAiB,GAAGM,SAAH,GAAe5B,SAJvC;AAKNe,MAAAA,SAAS,EAAEO,iBAAiB,GAAG,MAAH,GAAYM,SALlC;AAMNM,MAAAA,KANM;AAON,SAAGrB;AAPG,KAAP;AASA;;AAvHS,CAAX;AA0HA,MAAMyB,EAAE,GAAG;AACVzB,EAAAA,UAAU,EAAE,EACX,GAAGrB,eADQ;AAEX;AACA;AACA+C,IAAAA,WAAW,EAAE;AACZ5C,MAAAA,MAAM,EAAE,WADI;AAEZC,MAAAA,QAAQ,EAAE,QAFE;AAGZ4C,MAAAA,SAAS,EAAE;AAHC;AAJF,GADF;;AAWVxB,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAEH,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLb,MAAAA,SADK;AAELC,MAAAA,eAFK;AAGLC,MAAAA,SAHK;AAILC,MAAAA,eAJK;AAKLV,MAAAA,KALK;AAMLK,MAAAA,QANK;AAOLqB,MAAAA,SAPK;AAQLoB,MAAAA;AARK,QASF1B,UATJ;AAWA,UAAMS,iBAAiB,GAAGH,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEI,QAAX,CAAqBhC,iBAArB,CAA1B;AAEA,QAAIiC,aAAJ,EAAmBC,YAAnB,CAdsB,CAgBtB;;AACA,QAAKH,iBAAL,EAAyB;AACxB,YAAMI,eAAe,GAAG9C,iBAAiB,CACxC,kBADwC,EAExCoB,SAFwC,CAAzC;AAKAwB,MAAAA,aAAa,GAAG9C,UAAU,CAAE;AAC3B,0BAAkBgD,eAAe,IAAIzB,eADV;AAE3B,SAAEyB,eAAF,GAAqBA;AAFM,OAAF,CAA1B;AAKAD,MAAAA,YAAY,GAAG;AACdE,QAAAA,eAAe,EAAED,eAAe,GAAGE,SAAH,GAAe3B;AADjC,OAAf,CAXwB,CAcxB;AACA,KAfD,MAeO,IAAKA,eAAL,EAAuB;AAC7BwB,MAAAA,YAAY,GAAG;AACdI,QAAAA,WAAW,EAAE5B;AADC,OAAf,CAD6B,CAI7B;AACA;AACA,KANM,MAMA,IAAKD,SAAL,EAAiB;AACvB;AACA;AACA;AACA;AACA;AACA,YAAM6B,WAAW,GAAGzB,gBAAgB,CAAEmC,WAAF,CAApC;AACAd,MAAAA,YAAY,GAAG;AACdI,QAAAA;AADc,OAAf;AAGA;;AAED,UAAMC,wBAAwB,GAAGlD,iBAAiB,CACjD,OADiD,EAEjDsB,SAFiD,CAAlD;AAIA,UAAM6B,iBAAiB,GACtB,CAAE7B,SAAS,IAAIC,eAAf,KACAzB,UAAU,CAAE,gBAAF,EAAoB;AAC7B,OAAEoD,wBAAF,GAA8BA;AADD,KAApB,CAFX;AAMA,UAAME,gBAAgB,GAAGF,wBAAwB,GAC9CF,SAD8C,GAE9C;AAAEK,MAAAA,KAAK,EAAE9B;AAAT,KAFH;AAIA,WACC;AAAQ,MAAA,SAAS,EAAGqB,aAApB;AAAoC,MAAA,KAAK,EAAGC;AAA5C,OACC;AACC,MAAA,SAAS,EAAGM,iBADb;AAEC,MAAA,KAAK,EAAGC;AAFT,OAIC,cAAC,QAAD,CAAU,OAAV;AAAkB,MAAA,KAAK,EAAGvC,KAA1B;AAAkC,MAAA,SAAS;AAA3C,MAJD,EAKG,CAAEX,QAAQ,CAACoC,OAAT,CAAkBpB,QAAlB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AAAkB,MAAA,OAAO,EAAC,MAA1B;AAAiC,MAAA,KAAK,EAAGA;AAAzC,MANF,CADD,CADD;AAaA,GAxFS;;AAyFVsB,EAAAA,OAAO,QAQH;AAAA,QARK;AACR3B,MAAAA,KADQ;AAER0B,MAAAA,SAFQ;AAGRoB,MAAAA,WAHQ;AAIRvC,MAAAA,SAJQ;AAKRC,MAAAA,eALQ;AAMRE,MAAAA,eANQ;AAOR,SAAGU;AAPK,KAQL;AACH,UAAMS,iBAAiB,GAAGH,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEI,QAAX,CAAqBhC,iBAArB,CAA1B;AACA,QAAI2C,KAAJ;;AAEA,QAAKjC,eAAL,EAAuB;AACtB,UAAK,CAAEqB,iBAAP,EAA2B;AAC1B;AACAY,QAAAA,KAAK,GAAG;AACPC,UAAAA,MAAM,EAAE;AACPF,YAAAA,KAAK,EAAEhC;AADA;AADD,SAAR;AAKA,OAPD,MAOO;AACN;AACAiC,QAAAA,KAAK,GAAG;AACPD,UAAAA,KAAK,EAAE;AACNG,YAAAA,UAAU,EAAEnC;AADN;AADA,SAAR;AAKA;AACD,KApBE,CAsBH;;;AACA,QAAKE,eAAe,IAAI+B,KAAxB,EAAgC;AAC/BA,MAAAA,KAAK,CAACD,KAAN,GAAc,EACb,GAAGC,KAAK,CAACD,KADI;AAEbI,QAAAA,IAAI,EAAElC;AAFO,OAAd;AAIA,KA5BE,CA6BH;AACA;AACA;;;AACA,QAAK,CAAEmB,iBAAF,IAAuBtB,SAAvB,IAAoCuC,WAAzC,EAAuD;AACtD,YAAMV,WAAW,GAAGzB,gBAAgB,CAAEmC,WAAF,CAApC;;AACA,UAAKV,WAAL,EAAmB;AAClB,eAAO;AACNpC,UAAAA,KAAK,EAAEe,iBAAiB,CAAEf,KAAF,CADlB;AAEN,aAAGoB,UAFG;AAGNM,UAAAA,SAHM;AAIN;AACAe,UAAAA,KAAK,EAAE;AACNC,YAAAA,MAAM,EAAE;AACPF,cAAAA,KAAK,EAAEJ;AADA;AADF;AALD,SAAP;AAWA;AACD;;AACD,WAAO;AACNpC,MAAAA,KAAK,EAAEe,iBAAiB,CAAEf,KAAF,CADlB;AAEN0B,MAAAA,SAFM;AAGNQ,MAAAA,eAAe,EAAEL,iBAAiB,GAAGtB,SAAH,GAAe4B,SAH3C;AAINC,MAAAA,WAAW,EAAEP,iBAAiB,GAAGM,SAAH,GAAe5B,SAJvC;AAKNe,MAAAA,SAAS,EAAEO,iBAAiB,GAAG,MAAH,GAAYM,SALlC;AAMNM,MAAAA,KANM;AAON,SAAGrB;AAPG,KAAP;AASA;;AA1JS,CAAX;AA6JA,MAAM4B,EAAE,GAAG;AACV5B,EAAAA,UAAU,EAAErB,eADF;;AAEVwB,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAEH,MAAAA;AAAF,KAAiB;AACtB,UAAM;AACLb,MAAAA,SADK;AAELC,MAAAA,eAFK;AAGLC,MAAAA,SAHK;AAILC,MAAAA,eAJK;AAKLV,MAAAA,KALK;AAMLK,MAAAA,QANK;AAOLqB,MAAAA;AAPK,QAQFN,UARJ;AASA,UAAMS,iBAAiB,GAAGH,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEI,QAAX,CAAqBhC,iBAArB,CAA1B;AAEA,QAAImD,WAAJ,EAAiBjB,YAAjB,CAZsB,CAatB;;AACA,QAAKH,iBAAL,EAAyB;AACxBoB,MAAAA,WAAW,GAAG9D,iBAAiB,CAAE,kBAAF,EAAsBoB,SAAtB,CAA/B;;AACA,UAAK,CAAE0C,WAAP,EAAqB;AACpBjB,QAAAA,YAAY,GAAG;AACdE,UAAAA,eAAe,EAAE1B;AADH,SAAf;AAGA,OANuB,CAOxB;;AACA,KARD,MAQO,IAAKA,eAAL,EAAuB;AAC7BwB,MAAAA,YAAY,GAAG;AACdI,QAAAA,WAAW,EAAE5B;AADC,OAAf,CAD6B,CAI7B;AACA;AACA,KANM,MAMA,IAAKD,SAAL,EAAiB;AACvB,YAAM2C,MAAM,GAAGhE,GAAG,CACjBO,MAAM,CAAEF,gBAAF,CAAN,CAA2B4D,WAA3B,EADiB,EAEjB,CAAE,QAAF,CAFiB,EAGjB,EAHiB,CAAlB;AAKA,YAAMC,WAAW,GAAGhE,+BAA+B,CAClD8D,MADkD,EAElD3C,SAFkD,CAAnD;AAIAyB,MAAAA,YAAY,GAAG;AACdI,QAAAA,WAAW,EAAEgB,WAAW,CAACZ;AADX,OAAf;AAGA;;AAED,UAAMH,wBAAwB,GAAGlD,iBAAiB,CACjD,OADiD,EAEjDsB,SAFiD,CAAlD;AAIA,UAAM6B,iBAAiB,GACtB7B,SAAS,IAAIC,eAAb,GACGzB,UAAU,CAAE,gBAAF,EAAoB;AAC9B,OAAEoD,wBAAF,GAA8BA;AADA,KAApB,CADb,GAIGF,SALJ;AAMA,UAAMkB,eAAe,GAAGhB,wBAAwB,GAC7CF,SAD6C,GAE7C;AAAEK,MAAAA,KAAK,EAAE9B;AAAT,KAFH;AAGA,WACC;AAAQ,MAAA,SAAS,EAAGuC,WAApB;AAAkC,MAAA,KAAK,EAAGjB;AAA1C,OACC;AACC,MAAA,SAAS,EAAGM,iBADb;AAEC,MAAA,KAAK,EAAGe;AAFT,OAIC,cAAC,QAAD,CAAU,OAAV;AAAkB,MAAA,KAAK,EAAGrD,KAA1B;AAAkC,MAAA,SAAS;AAA3C,MAJD,EAKG,CAAEX,QAAQ,CAACoC,OAAT,CAAkBpB,QAAlB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AAAkB,MAAA,OAAO,EAAC,MAA1B;AAAiC,MAAA,KAAK,EAAGA;AAAzC,MANF,CADD,CADD;AAaA,GAvES;;AAwEVsB,EAAAA,OAAO,QAOH;AAAA,QAPK;AACR3B,MAAAA,KADQ;AAER0B,MAAAA,SAFQ;AAGRnB,MAAAA,SAHQ;AAIRC,MAAAA,eAJQ;AAKRE,MAAAA,eALQ;AAMR,SAAGU;AANK,KAOL;AACH,UAAMS,iBAAiB,GAAGH,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEI,QAAX,CAAqBhC,iBAArB,CAA1B;AACA,QAAI2C,KAAK,GAAG,EAAZ;;AAEA,QAAKjC,eAAL,EAAuB;AACtB,UAAK,CAAEqB,iBAAP,EAA2B;AAC1B;AACAY,QAAAA,KAAK,GAAG;AACPC,UAAAA,MAAM,EAAE;AACPF,YAAAA,KAAK,EAAEhC;AADA;AADD,SAAR;AAKA,OAPD,MAOO;AACN;AACAiC,QAAAA,KAAK,GAAG;AACPD,UAAAA,KAAK,EAAE;AACNG,YAAAA,UAAU,EAAEnC;AADN;AADA,SAAR;AAKA;AACD,KApBE,CAsBH;;;AACA,QAAKE,eAAe,IAAI+B,KAAxB,EAAgC;AAC/BA,MAAAA,KAAK,CAACD,KAAN,GAAc,EACb,GAAGC,KAAK,CAACD,KADI;AAEbI,QAAAA,IAAI,EAAElC;AAFO,OAAd;AAIA;;AAED,WAAO;AACNV,MAAAA,KAAK,EAAEe,iBAAiB,CAAEf,KAAF,CADlB;AAEN0B,MAAAA,SAFM;AAGNQ,MAAAA,eAAe,EAAEL,iBAAiB,GAAGtB,SAAH,GAAe4B,SAH3C;AAINC,MAAAA,WAAW,EAAEP,iBAAiB,GAAGM,SAAH,GAAe5B,SAJvC;AAKNe,MAAAA,SAAS,EAAEO,iBAAiB,GAAG,MAAH,GAAYM,SALlC;AAMNM,MAAAA,KANM;AAON,SAAGrB;AAPG,KAAP;AASA;;AAtHS,CAAX;AAyHA,MAAMkC,EAAE,GAAG;AACVlC,EAAAA,UAAU,EAAE,EACX,GAAGrB;AADQ,GADF;;AAIVwB,EAAAA,IAAI,QAAmB;AAAA,QAAjB;AAAEH,MAAAA;AAAF,KAAiB;AACtB,UAAM;AAAEpB,MAAAA,KAAF;AAASK,MAAAA;AAAT,QAAsBe,UAA5B;AACA,WACC,kCACC,cAAC,QAAD,CAAU,OAAV;AAAkB,MAAA,KAAK,EAAGpB,KAA1B;AAAkC,MAAA,SAAS;AAA3C,MADD,EAEG,CAAEX,QAAQ,CAACoC,OAAT,CAAkBpB,QAAlB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AAAkB,MAAA,OAAO,EAAC,MAA1B;AAAiC,MAAA,KAAK,EAAGA;AAAzC,MAHF,CADD;AAQA,GAdS;;AAeVsB,EAAAA,OAAO,SAA6B;AAAA,QAA3B;AAAE3B,MAAAA,KAAF;AAAS,SAAGoB;AAAZ,KAA2B;AACnC,WAAO;AACNpB,MAAAA,KAAK,EAAEe,iBAAiB,CAAEf,KAAF,CADlB;AAEN,SAAGoB;AAFG,KAAP;AAIA;;AApBS,CAAX;AAuBA,MAAMmC,EAAE,GAAG;AACVnC,EAAAA,UAAU,EAAE,EACX,GAAGrB,eADQ;AAEXM,IAAAA,QAAQ,EAAE;AACTJ,MAAAA,IAAI,EAAE,QADG;AAETC,MAAAA,MAAM,EAAE,MAFC;AAGTC,MAAAA,QAAQ,EAAE;AAHD,KAFC;AAOXqD,IAAAA,KAAK,EAAE;AACNvD,MAAAA,IAAI,EAAE,QADA;AAENK,MAAAA,OAAO,EAAE;AAFH;AAPI,GADF;;AAcViB,EAAAA,IAAI,SAAmB;AAAA,QAAjB;AAAEH,MAAAA;AAAF,KAAiB;AACtB,UAAM;AAAEpB,MAAAA,KAAF;AAASK,MAAAA,QAAT;AAAmBmD,MAAAA;AAAnB,QAA6BpC,UAAnC;AAEA,WACC;AAAY,MAAA,SAAS,EAAI,QAAQoC,KAAO;AAAxC,OACC,cAAC,QAAD,CAAU,OAAV;AAAkB,MAAA,KAAK,EAAGxD,KAA1B;AAAkC,MAAA,SAAS;AAA3C,MADD,EAEG,CAAEX,QAAQ,CAACoC,OAAT,CAAkBpB,QAAlB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AAAkB,MAAA,OAAO,EAAC,QAA1B;AAAmC,MAAA,KAAK,EAAGA;AAA3C,MAHF,CADD;AAQA,GAzBS;;AA0BVsB,EAAAA,OAAO,SAA6B;AAAA,QAA3B;AAAE3B,MAAAA,KAAF;AAAS,SAAGoB;AAAZ,KAA2B;AACnC,WAAO;AACNpB,MAAAA,KAAK,EAAEe,iBAAiB,CAAEf,KAAF,CADlB;AAEN,SAAGoB;AAFG,KAAP;AAIA;;AA/BS,CAAX;AAkCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,CAAED,EAAF,EAAMS,EAAN,EAAUiB,EAAV,EAAcG,EAAd,EAAkBM,EAAlB,EAAsBC,EAAtB,CAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetColorClassName,\n\tgetColorObjectByAttributeValues,\n\tRichText,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { select } from '@wordpress/data';\nimport {\n\tcreate,\n\treplace,\n\ttoHTMLString,\n\t__UNSTABLE_LINE_SEPARATOR,\n} from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { SOLID_COLOR_CLASS } from './shared';\n\nconst blockAttributes = {\n\tvalue: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'blockquote',\n\t\tmultiline: 'p',\n\t},\n\tcitation: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'cite',\n\t\tdefault: '',\n\t},\n\tmainColor: {\n\t\ttype: 'string',\n\t},\n\tcustomMainColor: {\n\t\ttype: 'string',\n\t},\n\ttextColor: {\n\t\ttype: 'string',\n\t},\n\tcustomTextColor: {\n\t\ttype: 'string',\n\t},\n};\n\nfunction parseBorderColor( styleString ) {\n\tif ( ! styleString ) {\n\t\treturn;\n\t}\n\tconst matches = styleString.match( /border-color:([^;]+)[;]?/ );\n\tif ( matches && matches[ 1 ] ) {\n\t\treturn matches[ 1 ];\n\t}\n}\n\nfunction multilineToInline( value ) {\n\treturn toHTMLString( {\n\t\tvalue: replace(\n\t\t\tcreate( { html: value, multilineTag: 'p' } ),\n\t\t\tnew RegExp( __UNSTABLE_LINE_SEPARATOR, 'g' ),\n\t\t\t'\\n'\n\t\t),\n\t} );\n}\n\nconst v5 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'cite',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { textAlign, citation, value } = attributes;\n\t\tconst shouldShowCitation = ! RichText.isEmpty( citation );\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\tclassName: classnames( {\n\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t} ),\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<blockquote>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ shouldShowCitation && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( { value, ...attributes } ) {\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\n// TODO: this is ripe for a bit of a clean up according to the example in https://developer.wordpress.org/block-editor/reference-guides/block-api/block-deprecation/#example\n\nconst v4 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tmainColor,\n\t\t\tcustomMainColor,\n\t\t\tcustomTextColor,\n\t\t\ttextColor,\n\t\t\tvalue,\n\t\t\tcitation,\n\t\t\tclassName,\n\t\t} = attributes;\n\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\n\t\tlet figureClasses, figureStyles;\n\n\t\t// Is solid color style\n\t\tif ( isSolidColorStyle ) {\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tmainColor\n\t\t\t);\n\n\t\t\tfigureClasses = classnames( {\n\t\t\t\t'has-background': backgroundClass || customMainColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tfigureStyles = {\n\t\t\t\tbackgroundColor: backgroundClass ? undefined : customMainColor,\n\t\t\t};\n\t\t\t// Is normal style and a custom color is being used ( we can set a style directly with its value)\n\t\t} else if ( customMainColor ) {\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: customMainColor,\n\t\t\t};\n\t\t}\n\n\t\tconst blockquoteTextColorClass = getColorClassName(\n\t\t\t'color',\n\t\t\ttextColor\n\t\t);\n\t\tconst blockquoteClasses = classnames( {\n\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t[ blockquoteTextColorClass ]: blockquoteTextColorClass,\n\t\t} );\n\n\t\tconst blockquoteStyles = blockquoteTextColorClass\n\t\t\t? undefined\n\t\t\t: { color: customTextColor };\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\tclassName: figureClasses,\n\t\t\t\t\tstyle: figureStyles,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<blockquote\n\t\t\t\t\tclassName={ blockquoteClasses }\n\t\t\t\t\tstyle={ blockquoteStyles }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( {\n\t\tvalue,\n\t\tclassName,\n\t\tmainColor,\n\t\tcustomMainColor,\n\t\tcustomTextColor,\n\t\t...attributes\n\t} ) {\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\t\tlet style;\n\n\t\tif ( customMainColor ) {\n\t\t\tif ( ! isSolidColorStyle ) {\n\t\t\t\t// Block supports: Set style.border.color if a deprecated block has a default style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tborder: {\n\t\t\t\t\t\tcolor: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Block supports: Set style.color.background if a deprecated block has a solid style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Block supports: Set style.color.text if a deprecated block has a `customTextColor` attribute.\n\t\tif ( customTextColor && style ) {\n\t\t\tstyle.color = {\n\t\t\t\t...style.color,\n\t\t\t\ttext: customTextColor,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\tclassName,\n\t\t\tbackgroundColor: isSolidColorStyle ? mainColor : undefined,\n\t\t\tborderColor: isSolidColorStyle ? undefined : mainColor,\n\t\t\ttextAlign: isSolidColorStyle ? 'left' : undefined,\n\t\t\tstyle,\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v3 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\t// figureStyle is an attribute that never existed.\n\t\t// We are using it as a way to access the styles previously applied to the figure.\n\t\tfigureStyle: {\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure',\n\t\t\tattribute: 'style',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tmainColor,\n\t\t\tcustomMainColor,\n\t\t\ttextColor,\n\t\t\tcustomTextColor,\n\t\t\tvalue,\n\t\t\tcitation,\n\t\t\tclassName,\n\t\t\tfigureStyle,\n\t\t} = attributes;\n\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\n\t\tlet figureClasses, figureStyles;\n\n\t\t// Is solid color style\n\t\tif ( isSolidColorStyle ) {\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tmainColor\n\t\t\t);\n\n\t\t\tfigureClasses = classnames( {\n\t\t\t\t'has-background': backgroundClass || customMainColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tfigureStyles = {\n\t\t\t\tbackgroundColor: backgroundClass ? undefined : customMainColor,\n\t\t\t};\n\t\t\t// Is normal style and a custom color is being used ( we can set a style directly with its value)\n\t\t} else if ( customMainColor ) {\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: customMainColor,\n\t\t\t};\n\t\t\t// If normal style and a named color are being used, we need to retrieve the color value to set the style,\n\t\t\t// as there is no expectation that themes create classes that set border colors.\n\t\t} else if ( mainColor ) {\n\t\t\t// Previously here we queried the color settings to know the color value\n\t\t\t// of a named color. This made the save function impure and the block was refactored,\n\t\t\t// because meanwhile a change in the editor made it impossible to query color settings in the save function.\n\t\t\t// Here instead of querying the color settings to know the color value, we retrieve the value\n\t\t\t// directly from the style previously serialized.\n\t\t\tconst borderColor = parseBorderColor( figureStyle );\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor,\n\t\t\t};\n\t\t}\n\n\t\tconst blockquoteTextColorClass = getColorClassName(\n\t\t\t'color',\n\t\t\ttextColor\n\t\t);\n\t\tconst blockquoteClasses =\n\t\t\t( textColor || customTextColor ) &&\n\t\t\tclassnames( 'has-text-color', {\n\t\t\t\t[ blockquoteTextColorClass ]: blockquoteTextColorClass,\n\t\t\t} );\n\n\t\tconst blockquoteStyles = blockquoteTextColorClass\n\t\t\t? undefined\n\t\t\t: { color: customTextColor };\n\n\t\treturn (\n\t\t\t<figure className={ figureClasses } style={ figureStyles }>\n\t\t\t\t<blockquote\n\t\t\t\t\tclassName={ blockquoteClasses }\n\t\t\t\t\tstyle={ blockquoteStyles }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( {\n\t\tvalue,\n\t\tclassName,\n\t\tfigureStyle,\n\t\tmainColor,\n\t\tcustomMainColor,\n\t\tcustomTextColor,\n\t\t...attributes\n\t} ) {\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\t\tlet style;\n\n\t\tif ( customMainColor ) {\n\t\t\tif ( ! isSolidColorStyle ) {\n\t\t\t\t// Block supports: Set style.border.color if a deprecated block has a default style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tborder: {\n\t\t\t\t\t\tcolor: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Block supports: Set style.color.background if a deprecated block has a solid style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Block supports: Set style.color.text if a deprecated block has a `customTextColor` attribute.\n\t\tif ( customTextColor && style ) {\n\t\t\tstyle.color = {\n\t\t\t\t...style.color,\n\t\t\t\ttext: customTextColor,\n\t\t\t};\n\t\t}\n\t\t// If is the default style, and a main color is set,\n\t\t// migrate the main color value into a custom border color.\n\t\t// The custom border color value is retrieved by parsing the figure styles.\n\t\tif ( ! isSolidColorStyle && mainColor && figureStyle ) {\n\t\t\tconst borderColor = parseBorderColor( figureStyle );\n\t\t\tif ( borderColor ) {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: multilineToInline( value ),\n\t\t\t\t\t...attributes,\n\t\t\t\t\tclassName,\n\t\t\t\t\t// Block supports: Set style.border.color if a deprecated block has `mainColor`, inline border CSS and is not a solid color style.\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tborder: {\n\t\t\t\t\t\t\tcolor: borderColor,\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\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\tclassName,\n\t\t\tbackgroundColor: isSolidColorStyle ? mainColor : undefined,\n\t\t\tborderColor: isSolidColorStyle ? undefined : mainColor,\n\t\t\ttextAlign: isSolidColorStyle ? 'left' : undefined,\n\t\t\tstyle,\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v2 = {\n\tattributes: blockAttributes,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tmainColor,\n\t\t\tcustomMainColor,\n\t\t\ttextColor,\n\t\t\tcustomTextColor,\n\t\t\tvalue,\n\t\t\tcitation,\n\t\t\tclassName,\n\t\t} = attributes;\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\n\t\tlet figureClass, figureStyles;\n\t\t// Is solid color style\n\t\tif ( isSolidColorStyle ) {\n\t\t\tfigureClass = getColorClassName( 'background-color', mainColor );\n\t\t\tif ( ! figureClass ) {\n\t\t\t\tfigureStyles = {\n\t\t\t\t\tbackgroundColor: customMainColor,\n\t\t\t\t};\n\t\t\t}\n\t\t\t// Is normal style and a custom color is being used ( we can set a style directly with its value)\n\t\t} else if ( customMainColor ) {\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: customMainColor,\n\t\t\t};\n\t\t\t// Is normal style and a named color is being used, we need to retrieve the color value to set the style,\n\t\t\t// as there is no expectation that themes create classes that set border colors.\n\t\t} else if ( mainColor ) {\n\t\t\tconst colors = get(\n\t\t\t\tselect( blockEditorStore ).getSettings(),\n\t\t\t\t[ 'colors' ],\n\t\t\t\t[]\n\t\t\t);\n\t\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\t\tcolors,\n\t\t\t\tmainColor\n\t\t\t);\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: colorObject.color,\n\t\t\t};\n\t\t}\n\n\t\tconst blockquoteTextColorClass = getColorClassName(\n\t\t\t'color',\n\t\t\ttextColor\n\t\t);\n\t\tconst blockquoteClasses =\n\t\t\ttextColor || customTextColor\n\t\t\t\t? classnames( 'has-text-color', {\n\t\t\t\t\t\t[ blockquoteTextColorClass ]: blockquoteTextColorClass,\n\t\t\t\t } )\n\t\t\t\t: undefined;\n\t\tconst blockquoteStyle = blockquoteTextColorClass\n\t\t\t? undefined\n\t\t\t: { color: customTextColor };\n\t\treturn (\n\t\t\t<figure className={ figureClass } style={ figureStyles }>\n\t\t\t\t<blockquote\n\t\t\t\t\tclassName={ blockquoteClasses }\n\t\t\t\t\tstyle={ blockquoteStyle }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( {\n\t\tvalue,\n\t\tclassName,\n\t\tmainColor,\n\t\tcustomMainColor,\n\t\tcustomTextColor,\n\t\t...attributes\n\t} ) {\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\t\tlet style = {};\n\n\t\tif ( customMainColor ) {\n\t\t\tif ( ! isSolidColorStyle ) {\n\t\t\t\t// Block supports: Set style.border.color if a deprecated block has a default style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tborder: {\n\t\t\t\t\t\tcolor: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Block supports: Set style.color.background if a deprecated block has a solid style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Block supports: Set style.color.text if a deprecated block has a `customTextColor` attribute.\n\t\tif ( customTextColor && style ) {\n\t\t\tstyle.color = {\n\t\t\t\t...style.color,\n\t\t\t\ttext: customTextColor,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\tclassName,\n\t\t\tbackgroundColor: isSolidColorStyle ? mainColor : undefined,\n\t\t\tborderColor: isSolidColorStyle ? undefined : mainColor,\n\t\t\ttextAlign: isSolidColorStyle ? 'left' : undefined,\n\t\t\tstyle,\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { value, citation } = attributes;\n\t\treturn (\n\t\t\t<blockquote>\n\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n\tmigrate( { value, ...attributes } ) {\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v0 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'footer',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\n\tsave( { attributes } ) {\n\t\tconst { value, citation, align } = attributes;\n\n\t\treturn (\n\t\t\t<blockquote className={ `align${ align }` }>\n\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"footer\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n\tmigrate( { value, ...attributes } ) {\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v5, v4, v3, v2, v1, v0 ];\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/pullquote/deprecated.js"],"names":["classnames","getColorClassName","getColorObjectByAttributeValues","RichText","store","blockEditorStore","useBlockProps","select","create","replace","toHTMLString","__UNSTABLE_LINE_SEPARATOR","SOLID_COLOR_CLASS","blockAttributes","value","type","source","selector","multiline","citation","default","mainColor","customMainColor","textColor","customTextColor","parseBorderColor","styleString","matches","match","multilineToInline","html","multilineTag","RegExp","v5","attributes","__experimentalRole","textAlign","save","shouldShowCitation","isEmpty","className","migrate","v4","isSolidColorStyle","includes","figureClasses","figureStyles","backgroundClass","backgroundColor","undefined","borderColor","blockquoteTextColorClass","blockquoteClasses","blockquoteStyles","color","style","border","background","text","v3","figureStyle","attribute","v2","figureClass","colors","getSettings","colorObject","blockquoteStyle","v1","v0","align"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetColorClassName,\n\tgetColorObjectByAttributeValues,\n\tRichText,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { select } from '@wordpress/data';\nimport {\n\tcreate,\n\treplace,\n\ttoHTMLString,\n\t__UNSTABLE_LINE_SEPARATOR,\n} from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { SOLID_COLOR_CLASS } from './shared';\n\nconst blockAttributes = {\n\tvalue: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'blockquote',\n\t\tmultiline: 'p',\n\t},\n\tcitation: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'cite',\n\t\tdefault: '',\n\t},\n\tmainColor: {\n\t\ttype: 'string',\n\t},\n\tcustomMainColor: {\n\t\ttype: 'string',\n\t},\n\ttextColor: {\n\t\ttype: 'string',\n\t},\n\tcustomTextColor: {\n\t\ttype: 'string',\n\t},\n};\n\nfunction parseBorderColor( styleString ) {\n\tif ( ! styleString ) {\n\t\treturn;\n\t}\n\tconst matches = styleString.match( /border-color:([^;]+)[;]?/ );\n\tif ( matches && matches[ 1 ] ) {\n\t\treturn matches[ 1 ];\n\t}\n}\n\nfunction multilineToInline( value ) {\n\treturn toHTMLString( {\n\t\tvalue: replace(\n\t\t\tcreate( { html: value, multilineTag: 'p' } ),\n\t\t\tnew RegExp( __UNSTABLE_LINE_SEPARATOR, 'g' ),\n\t\t\t'\\n'\n\t\t),\n\t} );\n}\n\nconst v5 = {\n\tattributes: {\n\t\tvalue: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'blockquote',\n\t\t\tmultiline: 'p',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'cite',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\ttextAlign: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { textAlign, citation, value } = attributes;\n\t\tconst shouldShowCitation = ! RichText.isEmpty( citation );\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\tclassName: classnames( {\n\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t} ),\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<blockquote>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ shouldShowCitation && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( { value, ...attributes } ) {\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\n// TODO: this is ripe for a bit of a clean up according to the example in https://developer.wordpress.org/block-editor/reference-guides/block-api/block-deprecation/#example\n\nconst v4 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tmainColor,\n\t\t\tcustomMainColor,\n\t\t\tcustomTextColor,\n\t\t\ttextColor,\n\t\t\tvalue,\n\t\t\tcitation,\n\t\t\tclassName,\n\t\t} = attributes;\n\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\n\t\tlet figureClasses, figureStyles;\n\n\t\t// Is solid color style\n\t\tif ( isSolidColorStyle ) {\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tmainColor\n\t\t\t);\n\n\t\t\tfigureClasses = classnames( {\n\t\t\t\t'has-background': backgroundClass || customMainColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tfigureStyles = {\n\t\t\t\tbackgroundColor: backgroundClass ? undefined : customMainColor,\n\t\t\t};\n\t\t\t// Is normal style and a custom color is being used ( we can set a style directly with its value)\n\t\t} else if ( customMainColor ) {\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: customMainColor,\n\t\t\t};\n\t\t}\n\n\t\tconst blockquoteTextColorClass = getColorClassName(\n\t\t\t'color',\n\t\t\ttextColor\n\t\t);\n\t\tconst blockquoteClasses = classnames( {\n\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t[ blockquoteTextColorClass ]: blockquoteTextColorClass,\n\t\t} );\n\n\t\tconst blockquoteStyles = blockquoteTextColorClass\n\t\t\t? undefined\n\t\t\t: { color: customTextColor };\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\t{ ...useBlockProps.save( {\n\t\t\t\t\tclassName: figureClasses,\n\t\t\t\t\tstyle: figureStyles,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<blockquote\n\t\t\t\t\tclassName={ blockquoteClasses }\n\t\t\t\t\tstyle={ blockquoteStyles }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( {\n\t\tvalue,\n\t\tclassName,\n\t\tmainColor,\n\t\tcustomMainColor,\n\t\tcustomTextColor,\n\t\t...attributes\n\t} ) {\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\t\tlet style;\n\n\t\tif ( customMainColor ) {\n\t\t\tif ( ! isSolidColorStyle ) {\n\t\t\t\t// Block supports: Set style.border.color if a deprecated block has a default style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tborder: {\n\t\t\t\t\t\tcolor: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Block supports: Set style.color.background if a deprecated block has a solid style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Block supports: Set style.color.text if a deprecated block has a `customTextColor` attribute.\n\t\tif ( customTextColor && style ) {\n\t\t\tstyle.color = {\n\t\t\t\t...style.color,\n\t\t\t\ttext: customTextColor,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\tclassName,\n\t\t\tbackgroundColor: isSolidColorStyle ? mainColor : undefined,\n\t\t\tborderColor: isSolidColorStyle ? undefined : mainColor,\n\t\t\ttextAlign: isSolidColorStyle ? 'left' : undefined,\n\t\t\tstyle,\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v3 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\t// figureStyle is an attribute that never existed.\n\t\t// We are using it as a way to access the styles previously applied to the figure.\n\t\tfigureStyle: {\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure',\n\t\t\tattribute: 'style',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tmainColor,\n\t\t\tcustomMainColor,\n\t\t\ttextColor,\n\t\t\tcustomTextColor,\n\t\t\tvalue,\n\t\t\tcitation,\n\t\t\tclassName,\n\t\t\tfigureStyle,\n\t\t} = attributes;\n\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\n\t\tlet figureClasses, figureStyles;\n\n\t\t// Is solid color style\n\t\tif ( isSolidColorStyle ) {\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tmainColor\n\t\t\t);\n\n\t\t\tfigureClasses = classnames( {\n\t\t\t\t'has-background': backgroundClass || customMainColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t} );\n\n\t\t\tfigureStyles = {\n\t\t\t\tbackgroundColor: backgroundClass ? undefined : customMainColor,\n\t\t\t};\n\t\t\t// Is normal style and a custom color is being used ( we can set a style directly with its value)\n\t\t} else if ( customMainColor ) {\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: customMainColor,\n\t\t\t};\n\t\t\t// If normal style and a named color are being used, we need to retrieve the color value to set the style,\n\t\t\t// as there is no expectation that themes create classes that set border colors.\n\t\t} else if ( mainColor ) {\n\t\t\t// Previously here we queried the color settings to know the color value\n\t\t\t// of a named color. This made the save function impure and the block was refactored,\n\t\t\t// because meanwhile a change in the editor made it impossible to query color settings in the save function.\n\t\t\t// Here instead of querying the color settings to know the color value, we retrieve the value\n\t\t\t// directly from the style previously serialized.\n\t\t\tconst borderColor = parseBorderColor( figureStyle );\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor,\n\t\t\t};\n\t\t}\n\n\t\tconst blockquoteTextColorClass = getColorClassName(\n\t\t\t'color',\n\t\t\ttextColor\n\t\t);\n\t\tconst blockquoteClasses =\n\t\t\t( textColor || customTextColor ) &&\n\t\t\tclassnames( 'has-text-color', {\n\t\t\t\t[ blockquoteTextColorClass ]: blockquoteTextColorClass,\n\t\t\t} );\n\n\t\tconst blockquoteStyles = blockquoteTextColorClass\n\t\t\t? undefined\n\t\t\t: { color: customTextColor };\n\n\t\treturn (\n\t\t\t<figure className={ figureClasses } style={ figureStyles }>\n\t\t\t\t<blockquote\n\t\t\t\t\tclassName={ blockquoteClasses }\n\t\t\t\t\tstyle={ blockquoteStyles }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( {\n\t\tvalue,\n\t\tclassName,\n\t\tfigureStyle,\n\t\tmainColor,\n\t\tcustomMainColor,\n\t\tcustomTextColor,\n\t\t...attributes\n\t} ) {\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\t\tlet style;\n\n\t\tif ( customMainColor ) {\n\t\t\tif ( ! isSolidColorStyle ) {\n\t\t\t\t// Block supports: Set style.border.color if a deprecated block has a default style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tborder: {\n\t\t\t\t\t\tcolor: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Block supports: Set style.color.background if a deprecated block has a solid style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Block supports: Set style.color.text if a deprecated block has a `customTextColor` attribute.\n\t\tif ( customTextColor && style ) {\n\t\t\tstyle.color = {\n\t\t\t\t...style.color,\n\t\t\t\ttext: customTextColor,\n\t\t\t};\n\t\t}\n\t\t// If is the default style, and a main color is set,\n\t\t// migrate the main color value into a custom border color.\n\t\t// The custom border color value is retrieved by parsing the figure styles.\n\t\tif ( ! isSolidColorStyle && mainColor && figureStyle ) {\n\t\t\tconst borderColor = parseBorderColor( figureStyle );\n\t\t\tif ( borderColor ) {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: multilineToInline( value ),\n\t\t\t\t\t...attributes,\n\t\t\t\t\tclassName,\n\t\t\t\t\t// Block supports: Set style.border.color if a deprecated block has `mainColor`, inline border CSS and is not a solid color style.\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tborder: {\n\t\t\t\t\t\t\tcolor: borderColor,\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\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\tclassName,\n\t\t\tbackgroundColor: isSolidColorStyle ? mainColor : undefined,\n\t\t\tborderColor: isSolidColorStyle ? undefined : mainColor,\n\t\t\ttextAlign: isSolidColorStyle ? 'left' : undefined,\n\t\t\tstyle,\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v2 = {\n\tattributes: blockAttributes,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tmainColor,\n\t\t\tcustomMainColor,\n\t\t\ttextColor,\n\t\t\tcustomTextColor,\n\t\t\tvalue,\n\t\t\tcitation,\n\t\t\tclassName,\n\t\t} = attributes;\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\n\t\tlet figureClass, figureStyles;\n\t\t// Is solid color style\n\t\tif ( isSolidColorStyle ) {\n\t\t\tfigureClass = getColorClassName( 'background-color', mainColor );\n\t\t\tif ( ! figureClass ) {\n\t\t\t\tfigureStyles = {\n\t\t\t\t\tbackgroundColor: customMainColor,\n\t\t\t\t};\n\t\t\t}\n\t\t\t// Is normal style and a custom color is being used ( we can set a style directly with its value)\n\t\t} else if ( customMainColor ) {\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: customMainColor,\n\t\t\t};\n\t\t\t// Is normal style and a named color is being used, we need to retrieve the color value to set the style,\n\t\t\t// as there is no expectation that themes create classes that set border colors.\n\t\t} else if ( mainColor ) {\n\t\t\tconst colors =\n\t\t\t\tselect( blockEditorStore ).getSettings().colors ?? [];\n\t\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\t\tcolors,\n\t\t\t\tmainColor\n\t\t\t);\n\t\t\tfigureStyles = {\n\t\t\t\tborderColor: colorObject.color,\n\t\t\t};\n\t\t}\n\n\t\tconst blockquoteTextColorClass = getColorClassName(\n\t\t\t'color',\n\t\t\ttextColor\n\t\t);\n\t\tconst blockquoteClasses =\n\t\t\ttextColor || customTextColor\n\t\t\t\t? classnames( 'has-text-color', {\n\t\t\t\t\t\t[ blockquoteTextColorClass ]: blockquoteTextColorClass,\n\t\t\t\t } )\n\t\t\t\t: undefined;\n\t\tconst blockquoteStyle = blockquoteTextColorClass\n\t\t\t? undefined\n\t\t\t: { color: customTextColor };\n\t\treturn (\n\t\t\t<figure className={ figureClass } style={ figureStyles }>\n\t\t\t\t<blockquote\n\t\t\t\t\tclassName={ blockquoteClasses }\n\t\t\t\t\tstyle={ blockquoteStyle }\n\t\t\t\t>\n\t\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t\t) }\n\t\t\t\t</blockquote>\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( {\n\t\tvalue,\n\t\tclassName,\n\t\tmainColor,\n\t\tcustomMainColor,\n\t\tcustomTextColor,\n\t\t...attributes\n\t} ) {\n\t\tconst isSolidColorStyle = className?.includes( SOLID_COLOR_CLASS );\n\t\tlet style = {};\n\n\t\tif ( customMainColor ) {\n\t\t\tif ( ! isSolidColorStyle ) {\n\t\t\t\t// Block supports: Set style.border.color if a deprecated block has a default style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tborder: {\n\t\t\t\t\t\tcolor: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t// Block supports: Set style.color.background if a deprecated block has a solid style and a `customMainColor` attribute.\n\t\t\t\tstyle = {\n\t\t\t\t\tcolor: {\n\t\t\t\t\t\tbackground: customMainColor,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Block supports: Set style.color.text if a deprecated block has a `customTextColor` attribute.\n\t\tif ( customTextColor && style ) {\n\t\t\tstyle.color = {\n\t\t\t\t...style.color,\n\t\t\t\ttext: customTextColor,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\tclassName,\n\t\t\tbackgroundColor: isSolidColorStyle ? mainColor : undefined,\n\t\t\tborderColor: isSolidColorStyle ? undefined : mainColor,\n\t\t\ttextAlign: isSolidColorStyle ? 'left' : undefined,\n\t\t\tstyle,\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { value, citation } = attributes;\n\t\treturn (\n\t\t\t<blockquote>\n\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"cite\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n\tmigrate( { value, ...attributes } ) {\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\nconst v0 = {\n\tattributes: {\n\t\t...blockAttributes,\n\t\tcitation: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'footer',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\n\tsave( { attributes } ) {\n\t\tconst { value, citation, align } = attributes;\n\n\t\treturn (\n\t\t\t<blockquote className={ `align${ align }` }>\n\t\t\t\t<RichText.Content value={ value } multiline />\n\t\t\t\t{ ! RichText.isEmpty( citation ) && (\n\t\t\t\t\t<RichText.Content tagName=\"footer\" value={ citation } />\n\t\t\t\t) }\n\t\t\t</blockquote>\n\t\t);\n\t},\n\tmigrate( { value, ...attributes } ) {\n\t\treturn {\n\t\t\tvalue: multilineToInline( value ),\n\t\t\t...attributes,\n\t\t};\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v5, v4, v3, v2, v1, v0 ];\n"]}