@wordpress/block-library 9.10.0 → 9.11.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 (206) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +10 -5
  3. package/build/archives/index.js +6 -0
  4. package/build/archives/index.js.map +1 -1
  5. package/build/avatar/hooks.js +2 -3
  6. package/build/avatar/hooks.js.map +1 -1
  7. package/build/button/get-updated-link-attributes.js +1 -1
  8. package/build/button/get-updated-link-attributes.js.map +1 -1
  9. package/build/comments/index.js +12 -0
  10. package/build/comments/index.js.map +1 -1
  11. package/build/cover/constants.js +8 -0
  12. package/build/cover/constants.js.map +1 -0
  13. package/build/cover/edit/index.js +24 -3
  14. package/build/cover/edit/index.js.map +1 -1
  15. package/build/cover/edit/inspector-controls.js +40 -2
  16. package/build/cover/edit/inspector-controls.js.map +1 -1
  17. package/build/cover/index.js +3 -0
  18. package/build/cover/index.js.map +1 -1
  19. package/build/cover/save.js +3 -1
  20. package/build/cover/save.js.map +1 -1
  21. package/build/file/edit.js +1 -2
  22. package/build/file/edit.js.map +1 -1
  23. package/build/gallery/constants.js +2 -1
  24. package/build/gallery/constants.js.map +1 -1
  25. package/build/gallery/edit.js +11 -2
  26. package/build/gallery/edit.js.map +1 -1
  27. package/build/gallery/utils.js +26 -5
  28. package/build/gallery/utils.js.map +1 -1
  29. package/build/html/edit.js +5 -1
  30. package/build/html/edit.js.map +1 -1
  31. package/build/html/preview.js +2 -2
  32. package/build/html/preview.js.map +1 -1
  33. package/build/latest-posts/edit.js +3 -8
  34. package/build/latest-posts/edit.js.map +1 -1
  35. package/build/navigation/edit/index.js +23 -2
  36. package/build/navigation/edit/index.js.map +1 -1
  37. package/build/navigation/edit/menu-inspector-controls.js +1 -1
  38. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  39. package/build/navigation/edit/navigation-menu-selector.js +2 -2
  40. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  41. package/build/paragraph/edit.js +1 -1
  42. package/build/paragraph/edit.js.map +1 -1
  43. package/build/post-featured-image/edit.js +1 -1
  44. package/build/post-featured-image/edit.js.map +1 -1
  45. package/build/post-time-to-read/edit.js +2 -2
  46. package/build/post-time-to-read/edit.js.map +1 -1
  47. package/build/query/edit/inspector-controls/order-control.js +2 -2
  48. package/build/query/edit/inspector-controls/order-control.js.map +1 -1
  49. package/build/query-title/edit.js +1 -1
  50. package/build/query-title/edit.js.map +1 -1
  51. package/build/search/edit.js +19 -14
  52. package/build/search/edit.js.map +1 -1
  53. package/build/separator/transforms.js +12 -0
  54. package/build/separator/transforms.js.map +1 -1
  55. package/build/social-links/edit.js +0 -1
  56. package/build/social-links/edit.js.map +1 -1
  57. package/build/spacer/index.js +2 -0
  58. package/build/spacer/index.js.map +1 -1
  59. package/build/spacer/transforms.js +27 -0
  60. package/build/spacer/transforms.js.map +1 -0
  61. package/build/table/edit.js +0 -1
  62. package/build/table/edit.js.map +1 -1
  63. package/build/table-of-contents/edit.js +2 -7
  64. package/build/table-of-contents/edit.js.map +1 -1
  65. package/build/template-part/edit/index.js +1 -1
  66. package/build/template-part/edit/index.js.map +1 -1
  67. package/build/video/tracks-editor.js +1 -1
  68. package/build/video/tracks-editor.js.map +1 -1
  69. package/build-module/archives/index.js +6 -0
  70. package/build-module/archives/index.js.map +1 -1
  71. package/build-module/avatar/hooks.js +2 -3
  72. package/build-module/avatar/hooks.js.map +1 -1
  73. package/build-module/button/get-updated-link-attributes.js +1 -1
  74. package/build-module/button/get-updated-link-attributes.js.map +1 -1
  75. package/build-module/comments/index.js +12 -0
  76. package/build-module/comments/index.js.map +1 -1
  77. package/build-module/cover/constants.js +2 -0
  78. package/build-module/cover/constants.js.map +1 -0
  79. package/build-module/cover/edit/index.js +24 -3
  80. package/build-module/cover/edit/index.js.map +1 -1
  81. package/build-module/cover/edit/inspector-controls.js +41 -3
  82. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  83. package/build-module/cover/index.js +3 -0
  84. package/build-module/cover/index.js.map +1 -1
  85. package/build-module/cover/save.js +3 -1
  86. package/build-module/cover/save.js.map +1 -1
  87. package/build-module/file/edit.js +1 -2
  88. package/build-module/file/edit.js.map +1 -1
  89. package/build-module/gallery/constants.js +1 -0
  90. package/build-module/gallery/constants.js.map +1 -1
  91. package/build-module/gallery/edit.js +14 -5
  92. package/build-module/gallery/edit.js.map +1 -1
  93. package/build-module/gallery/utils.js +27 -6
  94. package/build-module/gallery/utils.js.map +1 -1
  95. package/build-module/html/edit.js +6 -2
  96. package/build-module/html/edit.js.map +1 -1
  97. package/build-module/html/preview.js +2 -2
  98. package/build-module/html/preview.js.map +1 -1
  99. package/build-module/latest-posts/edit.js +3 -8
  100. package/build-module/latest-posts/edit.js.map +1 -1
  101. package/build-module/navigation/edit/index.js +23 -2
  102. package/build-module/navigation/edit/index.js.map +1 -1
  103. package/build-module/navigation/edit/menu-inspector-controls.js +1 -3
  104. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  105. package/build-module/navigation/edit/navigation-menu-selector.js +2 -2
  106. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  107. package/build-module/paragraph/edit.js +1 -1
  108. package/build-module/paragraph/edit.js.map +1 -1
  109. package/build-module/post-featured-image/edit.js +1 -1
  110. package/build-module/post-featured-image/edit.js.map +1 -1
  111. package/build-module/post-time-to-read/edit.js +2 -2
  112. package/build-module/post-time-to-read/edit.js.map +1 -1
  113. package/build-module/query/edit/inspector-controls/order-control.js +2 -2
  114. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
  115. package/build-module/query-title/edit.js +2 -2
  116. package/build-module/query-title/edit.js.map +1 -1
  117. package/build-module/search/edit.js +20 -15
  118. package/build-module/search/edit.js.map +1 -1
  119. package/build-module/separator/transforms.js +12 -0
  120. package/build-module/separator/transforms.js.map +1 -1
  121. package/build-module/social-links/edit.js +0 -1
  122. package/build-module/social-links/edit.js.map +1 -1
  123. package/build-module/spacer/index.js +2 -0
  124. package/build-module/spacer/index.js.map +1 -1
  125. package/build-module/spacer/transforms.js +20 -0
  126. package/build-module/spacer/transforms.js.map +1 -0
  127. package/build-module/table/edit.js +0 -1
  128. package/build-module/table/edit.js.map +1 -1
  129. package/build-module/table-of-contents/edit.js +2 -7
  130. package/build-module/table-of-contents/edit.js.map +1 -1
  131. package/build-module/template-part/edit/index.js +1 -1
  132. package/build-module/template-part/edit/index.js.map +1 -1
  133. package/build-module/video/tracks-editor.js +2 -2
  134. package/build-module/video/tracks-editor.js.map +1 -1
  135. package/build-style/archives/editor-rtl.css +5 -0
  136. package/build-style/archives/editor.css +5 -0
  137. package/build-style/button/style-rtl.css +3 -0
  138. package/build-style/button/style.css +3 -0
  139. package/build-style/comments/editor-rtl.css +4 -0
  140. package/build-style/comments/editor.css +4 -0
  141. package/build-style/comments/style-rtl.css +4 -0
  142. package/build-style/comments/style.css +4 -0
  143. package/build-style/cover/style-rtl.css +5 -0
  144. package/build-style/cover/style.css +5 -0
  145. package/build-style/editor-rtl.css +20 -0
  146. package/build-style/editor.css +20 -0
  147. package/build-style/group/editor-rtl.css +10 -0
  148. package/build-style/group/editor.css +10 -0
  149. package/build-style/image/style-rtl.css +2 -0
  150. package/build-style/image/style.css +2 -0
  151. package/build-style/navigation/editor-rtl.css +1 -0
  152. package/build-style/navigation/editor.css +1 -0
  153. package/build-style/style-rtl.css +14 -0
  154. package/build-style/style.css +14 -0
  155. package/package.json +36 -35
  156. package/src/archives/block.json +6 -0
  157. package/src/archives/editor.scss +8 -0
  158. package/src/avatar/hooks.js +2 -3
  159. package/src/avatar/index.php +4 -5
  160. package/src/button/get-updated-link-attributes.js +1 -1
  161. package/src/button/style.scss +3 -0
  162. package/src/button/test/get-updated-link-attributes.js +15 -0
  163. package/src/comment-author-avatar/index.php +1 -1
  164. package/src/comments/block.json +21 -3
  165. package/src/comments/style.scss +4 -1
  166. package/src/cover/block.json +3 -0
  167. package/src/cover/constants.js +1 -0
  168. package/src/cover/edit/index.js +20 -2
  169. package/src/cover/edit/inspector-controls.js +46 -1
  170. package/src/cover/save.js +2 -0
  171. package/src/cover/style.scss +6 -0
  172. package/src/cover/test/edit.js +1 -3
  173. package/src/file/edit.js +1 -2
  174. package/src/gallery/constants.js +1 -0
  175. package/src/gallery/edit.js +25 -2
  176. package/src/gallery/utils.js +23 -2
  177. package/src/group/editor.scss +12 -0
  178. package/src/html/edit.js +7 -1
  179. package/src/html/preview.js +3 -2
  180. package/src/image/style.scss +1 -0
  181. package/src/latest-posts/edit.js +3 -7
  182. package/src/latest-posts/index.php +1 -1
  183. package/src/navigation/edit/index.js +30 -3
  184. package/src/navigation/edit/menu-inspector-controls.js +2 -2
  185. package/src/navigation/edit/navigation-menu-selector.js +2 -2
  186. package/src/navigation/editor.scss +1 -0
  187. package/src/paragraph/edit.js +1 -1
  188. package/src/post-featured-image/edit.js +1 -1
  189. package/src/post-time-to-read/edit.js +2 -2
  190. package/src/post-time-to-read/index.php +1 -1
  191. package/src/query/edit/inspector-controls/order-control.js +2 -2
  192. package/src/query-title/edit.js +2 -2
  193. package/src/rss/index.php +1 -1
  194. package/src/search/edit.js +28 -25
  195. package/src/separator/test/__snapshots__/transforms.native.js.snap +6 -0
  196. package/src/separator/test/transforms.native.js +1 -1
  197. package/src/separator/transforms.js +11 -0
  198. package/src/social-links/edit.js +0 -1
  199. package/src/spacer/index.js +2 -0
  200. package/src/spacer/test/__snapshots__/transforms.native.js.snap +6 -0
  201. package/src/spacer/test/transforms.native.js +1 -1
  202. package/src/spacer/transforms.js +20 -0
  203. package/src/table/edit.js +0 -1
  204. package/src/table-of-contents/edit.js +2 -6
  205. package/src/template-part/edit/index.js +1 -1
  206. package/src/video/tracks-editor.js +2 -2
@@ -16,14 +16,14 @@ import useNavigationEntities from '../use-navigation-entities';
16
16
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
17
17
  function buildMenuLabel(title, id, status) {
18
18
  if (!title) {
19
- /* translators: %s is the index of the menu in the list of menus. */
19
+ /* translators: %s: the index of the menu in the list of menus. */
20
20
  return sprintf(__('(no title %s)'), id);
21
21
  }
22
22
  if (status === 'publish') {
23
23
  return decodeEntities(title);
24
24
  }
25
25
  return sprintf(
26
- // translators: %1s: title of the menu; %2s: status of the menu (draft, pending, etc.).
26
+ // translators: 1: title of the menu. 2: status of the menu (draft, pending, etc.).
27
27
  __('%1$s (%2$s)'), decodeEntities(title), status);
28
28
  }
29
29
  function NavigationMenuSelector({
@@ -1 +1 @@
1
- {"version":3,"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useEntityProp","useNavigationMenu","useNavigationEntities","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","buildMenuLabel","title","id","status","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isUpdatingMenuRef","setIsUpdatingMenuRef","menus","classicMenus","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenus","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","label","rendered","value","ariaLabel","disabled","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","NavigationMenuSelectorDropdown","icon","toggleProps","size","children","onClose","onSelect","menuId","choices","menu","name","onClick"],"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction buildMenuLabel( title, id, status ) {\n\tif ( ! title ) {\n\t\t/* translators: %s is the index of the menu in the list of menus. */\n\t\treturn sprintf( __( '(no title %s)' ), id );\n\t}\n\n\tif ( status === 'publish' ) {\n\t\treturn decodeEntities( title );\n\t}\n\n\treturn sprintf(\n\t\t// translators: %1s: title of the menu; %2s: status of the menu (draft, pending, etc.).\n\t\t__( '%1$s (%2$s)' ),\n\t\tdecodeEntities( title ),\n\t\tstatus\n\t);\n}\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ isUpdatingMenuRef, setIsUpdatingMenuRef ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanUserCreateNavigationMenus,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title, status }, index ) => {\n\t\t\t\tconst label = buildMenuLabel(\n\t\t\t\t\ttitle?.rendered,\n\t\t\t\t\tindex + 1,\n\t\t\t\t\tstatus\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t! hasResolvedNavigationMenus,\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [\n\t\tnavigationMenus,\n\t\tactionLabel,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tisUpdatingMenuRef,\n\t] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenus;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tlet selectorLabel = '';\n\n\tif ( isResolvingNavigationMenus ) {\n\t\tselectorLabel = __( 'Loading…' );\n\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t// Note: classic Menus may be available.\n\t\tselectorLabel = __( 'Choose or create a Navigation Menu' );\n\t} else {\n\t\t// Current Menu's title.\n\t\tselectorLabel = currentTitle;\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisUpdatingMenuRef &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsUpdatingMenuRef( false );\n\t\t}\n\t}, [\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcanUserCreateNavigationMenus,\n\t\tcreateNavigationMenuIsError,\n\t\tisUpdatingMenuRef,\n\t\tmenuUnavailable,\n\t\tnoBlockMenus,\n\t\tnoMenuSelected,\n\t] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { size: 'small' } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\t\t\tawait onSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\tawait onCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create new Menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useEntityProp","useNavigationMenu","useNavigationEntities","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","buildMenuLabel","title","id","status","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isUpdatingMenuRef","setIsUpdatingMenuRef","menus","classicMenus","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenus","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","label","rendered","value","ariaLabel","disabled","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","NavigationMenuSelectorDropdown","icon","toggleProps","size","children","onClose","onSelect","menuId","choices","menu","name","onClick"],"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction buildMenuLabel( title, id, status ) {\n\tif ( ! title ) {\n\t\t/* translators: %s: the index of the menu in the list of menus. */\n\t\treturn sprintf( __( '(no title %s)' ), id );\n\t}\n\n\tif ( status === 'publish' ) {\n\t\treturn decodeEntities( title );\n\t}\n\n\treturn sprintf(\n\t\t// translators: 1: title of the menu. 2: status of the menu (draft, pending, etc.).\n\t\t__( '%1$s (%2$s)' ),\n\t\tdecodeEntities( title ),\n\t\tstatus\n\t);\n}\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ isUpdatingMenuRef, setIsUpdatingMenuRef ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanUserCreateNavigationMenus,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title, status }, index ) => {\n\t\t\t\tconst label = buildMenuLabel(\n\t\t\t\t\ttitle?.rendered,\n\t\t\t\t\tindex + 1,\n\t\t\t\t\tstatus\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t! hasResolvedNavigationMenus,\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [\n\t\tnavigationMenus,\n\t\tactionLabel,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tisUpdatingMenuRef,\n\t] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenus;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tlet selectorLabel = '';\n\n\tif ( isResolvingNavigationMenus ) {\n\t\tselectorLabel = __( 'Loading…' );\n\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t// Note: classic Menus may be available.\n\t\tselectorLabel = __( 'Choose or create a Navigation Menu' );\n\t} else {\n\t\t// Current Menu's title.\n\t\tselectorLabel = currentTitle;\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisUpdatingMenuRef &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsUpdatingMenuRef( false );\n\t\t}\n\t}, [\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcanUserCreateNavigationMenus,\n\t\tcreateNavigationMenuIsError,\n\t\tisUpdatingMenuRef,\n\t\tmenuUnavailable,\n\t\tnoBlockMenus,\n\t\tnoMenuSelected,\n\t] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { size: 'small' } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\t\t\tawait onSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\tawait onCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create new Menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"],"mappings":"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","ignoreList":[]}
@@ -55,7 +55,7 @@ function DropCapControl({
55
55
  } else if (dropCap) {
56
56
  helpText = __('Showing large initial letter.');
57
57
  } else {
58
- helpText = __('Toggle to show a large initial letter.');
58
+ helpText = __('Show a large initial letter.');
59
59
  }
60
60
  return /*#__PURE__*/_jsx(ToolsPanelItem, {
61
61
  hasValue: () => !!dropCap,
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","_x","isRTL","ToolbarButton","ToggleControl","__experimentalToolsPanelItem","ToolsPanelItem","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","useSettings","useBlockEditingMode","formatLtr","useOnEnter","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ParagraphRTLControl","direction","setDirection","icon","title","isActive","onClick","undefined","hasDropCapDisabled","align","DropCapControl","clientId","attributes","setAttributes","isDropCapFeatureEnabled","dropCap","helpText","hasValue","label","onDeselect","resetAllFilter","panelId","children","__nextHasNoMarginBottom","checked","onChange","help","disabled","ParagraphBlock","mergeBlocks","onReplace","onRemove","content","placeholder","blockProps","ref","className","style","blockEditingMode","group","value","newAlign","newDirection","identifier","tagName","newContent","onMerge","isEmpty","__unstableEmbedURLOnPaste","__unstableAllowPrefixTransformations"],"sources":["@wordpress/block-library/src/paragraph/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tuseSettings,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { formatLtr } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useOnEnter } from './use-enter';\n\nfunction ParagraphRTLControl( { direction, setDirection } ) {\n\treturn (\n\t\tisRTL() && (\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ formatLtr }\n\t\t\t\ttitle={ _x( 'Left to right', 'editor button' ) }\n\t\t\t\tisActive={ direction === 'ltr' }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDirection( direction === 'ltr' ? undefined : 'ltr' );\n\t\t\t\t} }\n\t\t\t/>\n\t\t)\n\t);\n}\n\nfunction hasDropCapDisabled( align ) {\n\treturn align === ( isRTL() ? 'left' : 'right' ) || align === 'center';\n}\n\nfunction DropCapControl( { clientId, attributes, setAttributes } ) {\n\t// Please do not add a useSelect call to the paragraph block unconditionally.\n\t// Every useSelect added to a (frequently used) block will degrade load\n\t// and type performance. By moving it within InspectorControls, the subscription is\n\t// now only added for the selected block(s).\n\tconst [ isDropCapFeatureEnabled ] = useSettings( 'typography.dropCap' );\n\n\tif ( ! isDropCapFeatureEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst { align, dropCap } = attributes;\n\n\tlet helpText;\n\tif ( hasDropCapDisabled( align ) ) {\n\t\thelpText = __( 'Not available for aligned text.' );\n\t} else if ( dropCap ) {\n\t\thelpText = __( 'Showing large initial letter.' );\n\t} else {\n\t\thelpText = __( 'Toggle to show a large initial letter.' );\n\t}\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => !! dropCap }\n\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\tonDeselect={ () => setAttributes( { dropCap: undefined } ) }\n\t\t\tresetAllFilter={ () => ( { dropCap: undefined } ) }\n\t\t\tpanelId={ clientId }\n\t\t>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\t\tchecked={ !! dropCap }\n\t\t\t\tonChange={ () => setAttributes( { dropCap: ! dropCap } ) }\n\t\t\t\thelp={ helpText }\n\t\t\t\tdisabled={ hasDropCapDisabled( align ) ? true : false }\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nfunction ParagraphBlock( {\n\tattributes,\n\tmergeBlocks,\n\tonReplace,\n\tonRemove,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { align, content, direction, dropCap, placeholder } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tref: useOnEnter( { clientId, content } ),\n\t\tclassName: clsx( {\n\t\t\t'has-drop-cap': hasDropCapDisabled( align ) ? false : dropCap,\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} ),\n\t\tstyle: { direction },\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ align }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\talign: newAlign,\n\t\t\t\t\t\t\t\tdropCap: hasDropCapDisabled( newAlign )\n\t\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t\t: dropCap,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ParagraphRTLControl\n\t\t\t\t\t\tdirection={ direction }\n\t\t\t\t\t\tsetDirection={ ( newDirection ) =>\n\t\t\t\t\t\t\tsetAttributes( { direction: newDirection } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"typography\">\n\t\t\t\t<DropCapControl\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/>\n\t\t\t</InspectorControls>\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName=\"p\"\n\t\t\t\t{ ...blockProps }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( newContent ) =>\n\t\t\t\t\tsetAttributes( { content: newContent } )\n\t\t\t\t}\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ onRemove }\n\t\t\t\taria-label={\n\t\t\t\t\tRichText.isEmpty( content )\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'Empty block; start writing or type forward slash to choose a block'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Block: Paragraph' )\n\t\t\t\t}\n\t\t\t\tdata-empty={ RichText.isEmpty( content ) }\n\t\t\t\tplaceholder={ placeholder || __( 'Type / to choose a block' ) }\n\t\t\t\tdata-custom-placeholder={ placeholder ? true : undefined }\n\t\t\t\t__unstableEmbedURLOnPaste\n\t\t\t\t__unstableAllowPrefixTransformations\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default ParagraphBlock;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","_x","isRTL","ToolbarButton","ToggleControl","__experimentalToolsPanelItem","ToolsPanelItem","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","useSettings","useBlockEditingMode","formatLtr","useOnEnter","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ParagraphRTLControl","direction","setDirection","icon","title","isActive","onClick","undefined","hasDropCapDisabled","align","DropCapControl","clientId","attributes","setAttributes","isDropCapFeatureEnabled","dropCap","helpText","hasValue","label","onDeselect","resetAllFilter","panelId","children","__nextHasNoMarginBottom","checked","onChange","help","disabled","ParagraphBlock","mergeBlocks","onReplace","onRemove","content","placeholder","blockProps","ref","className","style","blockEditingMode","group","value","newAlign","newDirection","identifier","tagName","newContent","onMerge","isEmpty","__unstableEmbedURLOnPaste","__unstableAllowPrefixTransformations"],"sources":["@wordpress/block-library/src/paragraph/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tuseSettings,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { formatLtr } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useOnEnter } from './use-enter';\n\nfunction ParagraphRTLControl( { direction, setDirection } ) {\n\treturn (\n\t\tisRTL() && (\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ formatLtr }\n\t\t\t\ttitle={ _x( 'Left to right', 'editor button' ) }\n\t\t\t\tisActive={ direction === 'ltr' }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDirection( direction === 'ltr' ? undefined : 'ltr' );\n\t\t\t\t} }\n\t\t\t/>\n\t\t)\n\t);\n}\n\nfunction hasDropCapDisabled( align ) {\n\treturn align === ( isRTL() ? 'left' : 'right' ) || align === 'center';\n}\n\nfunction DropCapControl( { clientId, attributes, setAttributes } ) {\n\t// Please do not add a useSelect call to the paragraph block unconditionally.\n\t// Every useSelect added to a (frequently used) block will degrade load\n\t// and type performance. By moving it within InspectorControls, the subscription is\n\t// now only added for the selected block(s).\n\tconst [ isDropCapFeatureEnabled ] = useSettings( 'typography.dropCap' );\n\n\tif ( ! isDropCapFeatureEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst { align, dropCap } = attributes;\n\n\tlet helpText;\n\tif ( hasDropCapDisabled( align ) ) {\n\t\thelpText = __( 'Not available for aligned text.' );\n\t} else if ( dropCap ) {\n\t\thelpText = __( 'Showing large initial letter.' );\n\t} else {\n\t\thelpText = __( 'Show a large initial letter.' );\n\t}\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ () => !! dropCap }\n\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\tonDeselect={ () => setAttributes( { dropCap: undefined } ) }\n\t\t\tresetAllFilter={ () => ( { dropCap: undefined } ) }\n\t\t\tpanelId={ clientId }\n\t\t>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Drop cap' ) }\n\t\t\t\tchecked={ !! dropCap }\n\t\t\t\tonChange={ () => setAttributes( { dropCap: ! dropCap } ) }\n\t\t\t\thelp={ helpText }\n\t\t\t\tdisabled={ hasDropCapDisabled( align ) ? true : false }\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n\nfunction ParagraphBlock( {\n\tattributes,\n\tmergeBlocks,\n\tonReplace,\n\tonRemove,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { align, content, direction, dropCap, placeholder } = attributes;\n\tconst blockProps = useBlockProps( {\n\t\tref: useOnEnter( { clientId, content } ),\n\t\tclassName: clsx( {\n\t\t\t'has-drop-cap': hasDropCapDisabled( align ) ? false : dropCap,\n\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t} ),\n\t\tstyle: { direction },\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ align }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\talign: newAlign,\n\t\t\t\t\t\t\t\tdropCap: hasDropCapDisabled( newAlign )\n\t\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t\t: dropCap,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ParagraphRTLControl\n\t\t\t\t\t\tdirection={ direction }\n\t\t\t\t\t\tsetDirection={ ( newDirection ) =>\n\t\t\t\t\t\t\tsetAttributes( { direction: newDirection } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"typography\">\n\t\t\t\t<DropCapControl\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/>\n\t\t\t</InspectorControls>\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName=\"p\"\n\t\t\t\t{ ...blockProps }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( newContent ) =>\n\t\t\t\t\tsetAttributes( { content: newContent } )\n\t\t\t\t}\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ onRemove }\n\t\t\t\taria-label={\n\t\t\t\t\tRichText.isEmpty( content )\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'Empty block; start writing or type forward slash to choose a block'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Block: Paragraph' )\n\t\t\t\t}\n\t\t\t\tdata-empty={ RichText.isEmpty( content ) }\n\t\t\t\tplaceholder={ placeholder || __( 'Type / to choose a block' ) }\n\t\t\t\tdata-custom-placeholder={ placeholder ? true : undefined }\n\t\t\t\t__unstableEmbedURLOnPaste\n\t\t\t\t__unstableAllowPrefixTransformations\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default ParagraphBlock;\n"],"mappings":"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","ignoreList":[]}
@@ -161,7 +161,7 @@ export default function PostFeaturedImageEdit({
161
161
  children: [/*#__PURE__*/_jsx(ToggleControl, {
162
162
  __nextHasNoMarginBottom: true,
163
163
  label: postType?.labels.singular_name ? sprintf(
164
- // translators: %s: Name of the post type e.g: "Page".
164
+ // translators: %s: Name of the post type e.g: "post".
165
165
  __('Link to %s'), postType.labels.singular_name) : __('Link to post'),
166
166
  onChange: () => setAttributes({
167
167
  isLink: !isLink
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","isBlobURL","useEntityProp","store","coreStore","useSelect","useDispatch","ToggleControl","PanelBody","Placeholder","Button","Spinner","TextControl","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","useMemo","useEffect","useState","__","sprintf","upload","noticesStore","DimensionControls","OverlayControls","Overlay","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","disabledClickProps","onClick","event","preventDefault","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","temporaryURL","setTemporaryURL","storedFeaturedImage","setFeaturedImage","postContent","featuredImage","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","postPermalink","select","getMedia","getPostType","getEditedEntityRecord","link","mediaUrl","blockProps","style","className","borderProps","shadowProps","blockEditingMode","placeholder","content","withIllustration","children","onSelectImage","value","url","createErrorNotice","onUploadError","message","type","controls","group","title","__nextHasNoMarginBottom","label","labels","singular_name","onChange","checked","__next40pxDefaultSize","newRel","image","href","target","imageStyles","objectFit","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","icon","variant","showTooltip","tooltipPosition","src","alt","alt_text","mediaId","mediaURL","onReset"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tSpinner,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\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 OverlayControls from './overlay-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\nconst disabledClickProps = {\n\tonClick: ( event ) => event.preventDefault(),\n\t'aria-disabled': true,\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\tuseFirstImageFromPost,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( 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\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t\tclassName: clsx( {\n\t\t\t'is-transient': temporaryURL,\n\t\t} ),\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx(\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\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.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\n\t\tif ( value?.url && isBlobURL( value.url ) ) {\n\t\t\tsetTemporaryURL( value.url );\n\t\t}\n\t};\n\n\t// Reset temporary url when media is available.\n\tuseEffect( () => {\n\t\tif ( mediaUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ mediaUrl, temporaryURL ] );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<OverlayControls\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</InspectorControls>\n\t\t\t<InspectorControls group=\"dimensions\">\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\tmedia={ media }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\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: \"Page\".\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\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__next40pxDefaultSize\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\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a conscious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\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{ !! isLink ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\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\t...shadowProps.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 && ! temporaryURL ) {\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\t__next40pxDefaultSize\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 =\n\t\t\t! media && ! temporaryURL ? (\n\t\t\t\tplaceholder()\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\t\tsrc={ temporaryURL || mediaUrl }\n\t\t\t\t\t\talt={\n\t\t\t\t\t\t\tmedia && media?.alt_text\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t/>\n\t\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t\t</>\n\t\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{ ! temporaryURL && 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\tonReset={ () => setFeaturedImage( 0 ) }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","isBlobURL","useEntityProp","store","coreStore","useSelect","useDispatch","ToggleControl","PanelBody","Placeholder","Button","Spinner","TextControl","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","useMemo","useEffect","useState","__","sprintf","upload","noticesStore","DimensionControls","OverlayControls","Overlay","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","disabledClickProps","onClick","event","preventDefault","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","temporaryURL","setTemporaryURL","storedFeaturedImage","setFeaturedImage","postContent","featuredImage","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","postPermalink","select","getMedia","getPostType","getEditedEntityRecord","link","mediaUrl","blockProps","style","className","borderProps","shadowProps","blockEditingMode","placeholder","content","withIllustration","children","onSelectImage","value","url","createErrorNotice","onUploadError","message","type","controls","group","title","__nextHasNoMarginBottom","label","labels","singular_name","onChange","checked","__next40pxDefaultSize","newRel","image","href","target","imageStyles","objectFit","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","icon","variant","showTooltip","tooltipPosition","src","alt","alt_text","mediaId","mediaURL","onReset"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tSpinner,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\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 OverlayControls from './overlay-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\nconst disabledClickProps = {\n\tonClick: ( event ) => event.preventDefault(),\n\t'aria-disabled': true,\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\tuseFirstImageFromPost,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( 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\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t\tclassName: clsx( {\n\t\t\t'is-transient': temporaryURL,\n\t\t} ),\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx(\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\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.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\n\t\tif ( value?.url && isBlobURL( value.url ) ) {\n\t\t\tsetTemporaryURL( value.url );\n\t\t}\n\t};\n\n\t// Reset temporary url when media is available.\n\tuseEffect( () => {\n\t\tif ( mediaUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ mediaUrl, temporaryURL ] );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<OverlayControls\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</InspectorControls>\n\t\t\t<InspectorControls group=\"dimensions\">\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\tmedia={ media }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\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\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__next40pxDefaultSize\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\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a conscious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\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{ !! isLink ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\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\t...shadowProps.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 && ! temporaryURL ) {\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\t__next40pxDefaultSize\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 =\n\t\t\t! media && ! temporaryURL ? (\n\t\t\t\tplaceholder()\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\t\tsrc={ temporaryURL || mediaUrl }\n\t\t\t\t\t\talt={\n\t\t\t\t\t\t\tmedia && media?.alt_text\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t/>\n\t\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t\t</>\n\t\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{ ! temporaryURL && 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\tonReset={ () => setFeaturedImage( 0 ) }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\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"],"mappings":"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","ignoreList":[]}
@@ -59,8 +59,8 @@ function PostTimeToReadEdit({
59
59
  */
60
60
  const wordCountType = _x('words', 'Word count type. Do not translate!');
61
61
  const minutesToRead = Math.max(1, Math.round(wordCount(content || '', wordCountType) / AVERAGE_READING_RATE));
62
- return sprintf(/* translators: %d is the number of minutes the post will take to read. */
63
- _n('%d minute', '%d minutes', minutesToRead), minutesToRead);
62
+ return sprintf(/* translators: %s: the number of minutes to read the post. */
63
+ _n('%s minute', '%s minutes', minutesToRead), minutesToRead);
64
64
  }, [contentStructure, blocks]);
65
65
  const blockProps = useBlockProps({
66
66
  className: clsx({
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","_x","_n","sprintf","useMemo","AlignmentControl","BlockControls","useBlockProps","__unstableSerializeAndClean","useEntityProp","useEntityBlockEditor","count","wordCount","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AVERAGE_READING_RATE","PostTimeToReadEdit","attributes","setAttributes","context","textAlign","postId","postType","contentStructure","blocks","id","minutesToReadString","content","Function","wordCountType","minutesToRead","Math","max","round","blockProps","className","children","group","value","onChange","nextAlign"],"sources":["@wordpress/block-library/src/post-time-to-read/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { _x, _n, sprintf } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { useEntityProp, useEntityBlockEditor } from '@wordpress/core-data';\nimport { count as wordCount } from '@wordpress/wordcount';\n\n/**\n * Average reading rate - based on average taken from\n * https://irisreading.com/average-reading-speed-in-various-languages/\n * (Characters/minute used for Chinese rather than words).\n */\nconst AVERAGE_READING_RATE = 189;\n\nfunction PostTimeToReadEdit( { attributes, setAttributes, context } ) {\n\tconst { textAlign } = attributes;\n\tconst { postId, postType } = context;\n\n\tconst [ contentStructure ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst [ blocks ] = useEntityBlockEditor( 'postType', postType, {\n\t\tid: postId,\n\t} );\n\n\tconst minutesToReadString = useMemo( () => {\n\t\t// Replicates the logic found in getEditedPostContent().\n\t\tlet content;\n\t\tif ( contentStructure instanceof Function ) {\n\t\t\tcontent = contentStructure( { blocks } );\n\t\t} else if ( blocks ) {\n\t\t\t// If we have parsed blocks already, they should be our source of truth.\n\t\t\t// Parsing applies block deprecations and legacy block conversions that\n\t\t\t// unparsed content will not have.\n\t\t\tcontent = __unstableSerializeAndClean( blocks );\n\t\t} else {\n\t\t\tcontent = contentStructure;\n\t\t}\n\n\t\t/*\n\t\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t\t * Do not translate into your own language.\n\t\t */\n\t\tconst wordCountType = _x(\n\t\t\t'words',\n\t\t\t'Word count type. Do not translate!'\n\t\t);\n\n\t\tconst minutesToRead = Math.max(\n\t\t\t1,\n\t\t\tMath.round(\n\t\t\t\twordCount( content || '', wordCountType ) / AVERAGE_READING_RATE\n\t\t\t)\n\t\t);\n\n\t\treturn sprintf(\n\t\t\t/* translators: %d is the number of minutes the post will take to read. */\n\t\t\t_n( '%d minute', '%d minutes', minutesToRead ),\n\t\t\tminutesToRead\n\t\t);\n\t}, [ contentStructure, blocks ] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>{ minutesToReadString }</div>\n\t\t</>\n\t);\n}\n\nexport default PostTimeToReadEdit;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SACCC,gBAAgB,EAChBC,aAAa,EACbC,aAAa,QACP,yBAAyB;AAChC,SAASC,2BAA2B,QAAQ,mBAAmB;AAC/D,SAASC,aAAa,EAAEC,oBAAoB,QAAQ,sBAAsB;AAC1E,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,MAAMC,oBAAoB,GAAG,GAAG;AAEhC,SAASC,kBAAkBA,CAAE;EAAEC,UAAU;EAAEC,aAAa;EAAEC;AAAQ,CAAC,EAAG;EACrE,MAAM;IAAEC;EAAU,CAAC,GAAGH,UAAU;EAChC,MAAM;IAAEI,MAAM;IAAEC;EAAS,CAAC,GAAGH,OAAO;EAEpC,MAAM,CAAEI,gBAAgB,CAAE,GAAGlB,aAAa,CACzC,UAAU,EACViB,QAAQ,EACR,SAAS,EACTD,MACD,CAAC;EAED,MAAM,CAAEG,MAAM,CAAE,GAAGlB,oBAAoB,CAAE,UAAU,EAAEgB,QAAQ,EAAE;IAC9DG,EAAE,EAAEJ;EACL,CAAE,CAAC;EAEH,MAAMK,mBAAmB,GAAG1B,OAAO,CAAE,MAAM;IAC1C;IACA,IAAI2B,OAAO;IACX,IAAKJ,gBAAgB,YAAYK,QAAQ,EAAG;MAC3CD,OAAO,GAAGJ,gBAAgB,CAAE;QAAEC;MAAO,CAAE,CAAC;IACzC,CAAC,MAAM,IAAKA,MAAM,EAAG;MACpB;MACA;MACA;MACAG,OAAO,GAAGvB,2BAA2B,CAAEoB,MAAO,CAAC;IAChD,CAAC,MAAM;MACNG,OAAO,GAAGJ,gBAAgB;IAC3B;;IAEA;AACF;AACA;AACA;AACA;IACE,MAAMM,aAAa,GAAGhC,EAAE,CACvB,OAAO,EACP,oCACD,CAAC;IAED,MAAMiC,aAAa,GAAGC,IAAI,CAACC,GAAG,CAC7B,CAAC,EACDD,IAAI,CAACE,KAAK,CACTzB,SAAS,CAAEmB,OAAO,IAAI,EAAE,EAAEE,aAAc,CAAC,GAAGd,oBAC7C,CACD,CAAC;IAED,OAAOhB,OAAO,CACb;IACAD,EAAE,CAAE,WAAW,EAAE,YAAY,EAAEgC,aAAc,CAAC,EAC9CA,aACD,CAAC;EACF,CAAC,EAAE,CAAEP,gBAAgB,EAAEC,MAAM,CAAG,CAAC;EAEjC,MAAMU,UAAU,GAAG/B,aAAa,CAAE;IACjCgC,SAAS,EAAEvC,IAAI,CAAE;MAChB,CAAE,kBAAmBwB,SAAS,EAAG,GAAIA;IACtC,CAAE;EACH,CAAE,CAAC;EAEH,oBACCN,KAAA,CAAAF,SAAA;IAAAwB,QAAA,gBACC1B,IAAA,CAACR,aAAa;MAACmC,KAAK,EAAC,OAAO;MAAAD,QAAA,eAC3B1B,IAAA,CAACT,gBAAgB;QAChBqC,KAAK,EAAGlB,SAAW;QACnBmB,QAAQ,EAAKC,SAAS,IAAM;UAC3BtB,aAAa,CAAE;YAAEE,SAAS,EAAEoB;UAAU,CAAE,CAAC;QAC1C;MAAG,CACH;IAAC,CACY,CAAC,eAChB9B,IAAA;MAAA,GAAUwB,UAAU;MAAAE,QAAA,EAAKV;IAAmB,CAAO,CAAC;EAAA,CACnD,CAAC;AAEL;AAEA,eAAeV,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["clsx","_x","_n","sprintf","useMemo","AlignmentControl","BlockControls","useBlockProps","__unstableSerializeAndClean","useEntityProp","useEntityBlockEditor","count","wordCount","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AVERAGE_READING_RATE","PostTimeToReadEdit","attributes","setAttributes","context","textAlign","postId","postType","contentStructure","blocks","id","minutesToReadString","content","Function","wordCountType","minutesToRead","Math","max","round","blockProps","className","children","group","value","onChange","nextAlign"],"sources":["@wordpress/block-library/src/post-time-to-read/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { _x, _n, sprintf } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { useEntityProp, useEntityBlockEditor } from '@wordpress/core-data';\nimport { count as wordCount } from '@wordpress/wordcount';\n\n/**\n * Average reading rate - based on average taken from\n * https://irisreading.com/average-reading-speed-in-various-languages/\n * (Characters/minute used for Chinese rather than words).\n */\nconst AVERAGE_READING_RATE = 189;\n\nfunction PostTimeToReadEdit( { attributes, setAttributes, context } ) {\n\tconst { textAlign } = attributes;\n\tconst { postId, postType } = context;\n\n\tconst [ contentStructure ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst [ blocks ] = useEntityBlockEditor( 'postType', postType, {\n\t\tid: postId,\n\t} );\n\n\tconst minutesToReadString = useMemo( () => {\n\t\t// Replicates the logic found in getEditedPostContent().\n\t\tlet content;\n\t\tif ( contentStructure instanceof Function ) {\n\t\t\tcontent = contentStructure( { blocks } );\n\t\t} else if ( blocks ) {\n\t\t\t// If we have parsed blocks already, they should be our source of truth.\n\t\t\t// Parsing applies block deprecations and legacy block conversions that\n\t\t\t// unparsed content will not have.\n\t\t\tcontent = __unstableSerializeAndClean( blocks );\n\t\t} else {\n\t\t\tcontent = contentStructure;\n\t\t}\n\n\t\t/*\n\t\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t\t * Do not translate into your own language.\n\t\t */\n\t\tconst wordCountType = _x(\n\t\t\t'words',\n\t\t\t'Word count type. Do not translate!'\n\t\t);\n\n\t\tconst minutesToRead = Math.max(\n\t\t\t1,\n\t\t\tMath.round(\n\t\t\t\twordCount( content || '', wordCountType ) / AVERAGE_READING_RATE\n\t\t\t)\n\t\t);\n\n\t\treturn sprintf(\n\t\t\t/* translators: %s: the number of minutes to read the post. */\n\t\t\t_n( '%s minute', '%s minutes', minutesToRead ),\n\t\t\tminutesToRead\n\t\t);\n\t}, [ contentStructure, blocks ] );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>{ minutesToReadString }</div>\n\t\t</>\n\t);\n}\n\nexport default PostTimeToReadEdit;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SACCC,gBAAgB,EAChBC,aAAa,EACbC,aAAa,QACP,yBAAyB;AAChC,SAASC,2BAA2B,QAAQ,mBAAmB;AAC/D,SAASC,aAAa,EAAEC,oBAAoB,QAAQ,sBAAsB;AAC1E,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,MAAMC,oBAAoB,GAAG,GAAG;AAEhC,SAASC,kBAAkBA,CAAE;EAAEC,UAAU;EAAEC,aAAa;EAAEC;AAAQ,CAAC,EAAG;EACrE,MAAM;IAAEC;EAAU,CAAC,GAAGH,UAAU;EAChC,MAAM;IAAEI,MAAM;IAAEC;EAAS,CAAC,GAAGH,OAAO;EAEpC,MAAM,CAAEI,gBAAgB,CAAE,GAAGlB,aAAa,CACzC,UAAU,EACViB,QAAQ,EACR,SAAS,EACTD,MACD,CAAC;EAED,MAAM,CAAEG,MAAM,CAAE,GAAGlB,oBAAoB,CAAE,UAAU,EAAEgB,QAAQ,EAAE;IAC9DG,EAAE,EAAEJ;EACL,CAAE,CAAC;EAEH,MAAMK,mBAAmB,GAAG1B,OAAO,CAAE,MAAM;IAC1C;IACA,IAAI2B,OAAO;IACX,IAAKJ,gBAAgB,YAAYK,QAAQ,EAAG;MAC3CD,OAAO,GAAGJ,gBAAgB,CAAE;QAAEC;MAAO,CAAE,CAAC;IACzC,CAAC,MAAM,IAAKA,MAAM,EAAG;MACpB;MACA;MACA;MACAG,OAAO,GAAGvB,2BAA2B,CAAEoB,MAAO,CAAC;IAChD,CAAC,MAAM;MACNG,OAAO,GAAGJ,gBAAgB;IAC3B;;IAEA;AACF;AACA;AACA;AACA;IACE,MAAMM,aAAa,GAAGhC,EAAE,CACvB,OAAO,EACP,oCACD,CAAC;IAED,MAAMiC,aAAa,GAAGC,IAAI,CAACC,GAAG,CAC7B,CAAC,EACDD,IAAI,CAACE,KAAK,CACTzB,SAAS,CAAEmB,OAAO,IAAI,EAAE,EAAEE,aAAc,CAAC,GAAGd,oBAC7C,CACD,CAAC;IAED,OAAOhB,OAAO,CACb;IACAD,EAAE,CAAE,WAAW,EAAE,YAAY,EAAEgC,aAAc,CAAC,EAC9CA,aACD,CAAC;EACF,CAAC,EAAE,CAAEP,gBAAgB,EAAEC,MAAM,CAAG,CAAC;EAEjC,MAAMU,UAAU,GAAG/B,aAAa,CAAE;IACjCgC,SAAS,EAAEvC,IAAI,CAAE;MAChB,CAAE,kBAAmBwB,SAAS,EAAG,GAAIA;IACtC,CAAE;EACH,CAAE,CAAC;EAEH,oBACCN,KAAA,CAAAF,SAAA;IAAAwB,QAAA,gBACC1B,IAAA,CAACR,aAAa;MAACmC,KAAK,EAAC,OAAO;MAAAD,QAAA,eAC3B1B,IAAA,CAACT,gBAAgB;QAChBqC,KAAK,EAAGlB,SAAW;QACnBmB,QAAQ,EAAKC,SAAS,IAAM;UAC3BtB,aAAa,CAAE;YAAEE,SAAS,EAAEoB;UAAU,CAAE,CAAC;QAC1C;MAAG,CACH;IAAC,CACY,CAAC,eAChB9B,IAAA;MAAA,GAAUwB,UAAU;MAAAE,QAAA,EAAKV;IAAmB,CAAO,CAAC;EAAA,CACnD,CAAC;AAEL;AAEA,eAAeV,kBAAkB","ignoreList":[]}
@@ -11,11 +11,11 @@ const orderOptions = [{
11
11
  label: __('Oldest to newest'),
12
12
  value: 'date/asc'
13
13
  }, {
14
- /* translators: label for ordering posts by title in ascending order */
14
+ /* translators: Label for ordering posts by title in ascending order. */
15
15
  label: __('A → Z'),
16
16
  value: 'title/asc'
17
17
  }, {
18
- /* translators: label for ordering posts by title in descending order */
18
+ /* translators: Label for ordering posts by title in descending order. */
19
19
  label: __('Z → A'),
20
20
  value: 'title/desc'
21
21
  }];
@@ -1 +1 @@
1
- {"version":3,"names":["SelectControl","__","jsx","_jsx","orderOptions","label","value","OrderControl","order","orderBy","onChange","__nextHasNoMarginBottom","__next40pxDefaultSize","options","newOrderBy","newOrder","split"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/order-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nconst orderOptions = [\n\t{\n\t\tlabel: __( 'Newest to oldest' ),\n\t\tvalue: 'date/desc',\n\t},\n\t{\n\t\tlabel: __( 'Oldest to newest' ),\n\t\tvalue: 'date/asc',\n\t},\n\t{\n\t\t/* translators: label for ordering posts by title in ascending order */\n\t\tlabel: __( 'A → Z' ),\n\t\tvalue: 'title/asc',\n\t},\n\t{\n\t\t/* translators: label for ordering posts by title in descending order */\n\t\tlabel: __( 'Z → A' ),\n\t\tvalue: 'title/desc',\n\t},\n];\nfunction OrderControl( { order, orderBy, onChange } ) {\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Order by' ) }\n\t\t\tvalue={ `${ orderBy }/${ order }` }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\tonChange( { order: newOrder, orderBy: newOrderBy } );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nexport default OrderControl;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,EAAE,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErC,MAAMC,YAAY,GAAG,CACpB;EACCC,KAAK,EAAEJ,EAAE,CAAE,kBAAmB,CAAC;EAC/BK,KAAK,EAAE;AACR,CAAC,EACD;EACCD,KAAK,EAAEJ,EAAE,CAAE,kBAAmB,CAAC;EAC/BK,KAAK,EAAE;AACR,CAAC,EACD;EACC;EACAD,KAAK,EAAEJ,EAAE,CAAE,OAAQ,CAAC;EACpBK,KAAK,EAAE;AACR,CAAC,EACD;EACC;EACAD,KAAK,EAAEJ,EAAE,CAAE,OAAQ,CAAC;EACpBK,KAAK,EAAE;AACR,CAAC,CACD;AACD,SAASC,YAAYA,CAAE;EAAEC,KAAK;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACrD,oBACCP,IAAA,CAACH,aAAa;IACbW,uBAAuB;IACvBC,qBAAqB;IACrBP,KAAK,EAAGJ,EAAE,CAAE,UAAW,CAAG;IAC1BK,KAAK,EAAG,GAAIG,OAAO,IAAMD,KAAK,EAAK;IACnCK,OAAO,EAAGT,YAAc;IACxBM,QAAQ,EAAKJ,KAAK,IAAM;MACvB,MAAM,CAAEQ,UAAU,EAAEC,QAAQ,CAAE,GAAGT,KAAK,CAACU,KAAK,CAAE,GAAI,CAAC;MACnDN,QAAQ,CAAE;QAAEF,KAAK,EAAEO,QAAQ;QAAEN,OAAO,EAAEK;MAAW,CAAE,CAAC;IACrD;EAAG,CACH,CAAC;AAEJ;AAEA,eAAeP,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["SelectControl","__","jsx","_jsx","orderOptions","label","value","OrderControl","order","orderBy","onChange","__nextHasNoMarginBottom","__next40pxDefaultSize","options","newOrderBy","newOrder","split"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/order-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nconst orderOptions = [\n\t{\n\t\tlabel: __( 'Newest to oldest' ),\n\t\tvalue: 'date/desc',\n\t},\n\t{\n\t\tlabel: __( 'Oldest to newest' ),\n\t\tvalue: 'date/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in ascending order. */\n\t\tlabel: __( 'A → Z' ),\n\t\tvalue: 'title/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in descending order. */\n\t\tlabel: __( 'Z → A' ),\n\t\tvalue: 'title/desc',\n\t},\n];\nfunction OrderControl( { order, orderBy, onChange } ) {\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Order by' ) }\n\t\t\tvalue={ `${ orderBy }/${ order }` }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\tonChange( { order: newOrder, orderBy: newOrderBy } );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nexport default OrderControl;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,EAAE,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErC,MAAMC,YAAY,GAAG,CACpB;EACCC,KAAK,EAAEJ,EAAE,CAAE,kBAAmB,CAAC;EAC/BK,KAAK,EAAE;AACR,CAAC,EACD;EACCD,KAAK,EAAEJ,EAAE,CAAE,kBAAmB,CAAC;EAC/BK,KAAK,EAAE;AACR,CAAC,EACD;EACC;EACAD,KAAK,EAAEJ,EAAE,CAAE,OAAQ,CAAC;EACpBK,KAAK,EAAE;AACR,CAAC,EACD;EACC;EACAD,KAAK,EAAEJ,EAAE,CAAE,OAAQ,CAAC;EACpBK,KAAK,EAAE;AACR,CAAC,CACD;AACD,SAASC,YAAYA,CAAE;EAAEC,KAAK;EAAEC,OAAO;EAAEC;AAAS,CAAC,EAAG;EACrD,oBACCP,IAAA,CAACH,aAAa;IACbW,uBAAuB;IACvBC,qBAAqB;IACrBP,KAAK,EAAGJ,EAAE,CAAE,UAAW,CAAG;IAC1BK,KAAK,EAAG,GAAIG,OAAO,IAAMD,KAAK,EAAK;IACnCK,OAAO,EAAGT,YAAc;IACxBM,QAAQ,EAAKJ,KAAK,IAAM;MACvB,MAAM,CAAEQ,UAAU,EAAEC,QAAQ,CAAE,GAAGT,KAAK,CAACU,KAAK,CAAE,GAAI,CAAC;MACnDN,QAAQ,CAAE;QAAEF,KAAK,EAAEO,QAAQ;QAAEN,OAAO,EAAEK;MAAW,CAAE,CAAC;IACrD;EAAG,CACH,CAAC;AAEJ;AAEA,eAAeP,YAAY","ignoreList":[]}
@@ -8,7 +8,7 @@ import clsx from 'clsx';
8
8
  */
9
9
  import { AlignmentControl, BlockControls, InspectorControls, useBlockProps, Warning, HeadingLevelDropdown } from '@wordpress/block-editor';
10
10
  import { ToggleControl, PanelBody } from '@wordpress/components';
11
- import { __, sprintf } from '@wordpress/i18n';
11
+ import { __, _x, sprintf } from '@wordpress/i18n';
12
12
 
13
13
  /**
14
14
  * Internal dependencies
@@ -52,7 +52,7 @@ export default function QueryTitleEdit({
52
52
  if (showPrefix) {
53
53
  if (archiveNameLabel) {
54
54
  title = sprintf(/* translators: 1: Archive type title e.g: "Category", 2: Label of the archive e.g: "Shoes" */
55
- __('%1$s: %2$s'), archiveTypeLabel, archiveNameLabel);
55
+ _x('%1$s: %2$s', 'archive label'), archiveTypeLabel, archiveNameLabel);
56
56
  } else {
57
57
  title = sprintf(/* translators: %s: Archive type title e.g: "Category", "Tag"... */
58
58
  __('%s: Name'), archiveTypeLabel);
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","AlignmentControl","BlockControls","InspectorControls","useBlockProps","Warning","HeadingLevelDropdown","ToggleControl","PanelBody","__","sprintf","useArchiveLabel","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","levelOptions","textAlign","showPrefix","showSearchTerm","setAttributes","archiveTypeLabel","archiveNameLabel","TagName","blockProps","className","includes","children","titleElement","title","__nextHasNoMarginBottom","label","onChange","checked","group","value","options","newLevel","nextAlign"],"sources":["@wordpress/block-library/src/query-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useArchiveLabel } from './use-archive-label';\n\nconst SUPPORTED_TYPES = [ 'archive', 'search' ];\n\nexport default function QueryTitleEdit( {\n\tattributes: {\n\t\ttype,\n\t\tlevel,\n\t\tlevelOptions,\n\t\ttextAlign,\n\t\tshowPrefix,\n\t\tshowSearchTerm,\n\t},\n\tsetAttributes,\n} ) {\n\tconst { archiveTypeLabel, archiveNameLabel } = useArchiveLabel();\n\n\tconst TagName = `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-query-title__placeholder', {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tif ( ! SUPPORTED_TYPES.includes( type ) ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>{ __( 'Provided type is not supported.' ) }</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet titleElement;\n\tif ( type === 'archive' ) {\n\t\tlet title;\n\t\tif ( archiveTypeLabel ) {\n\t\t\tif ( showPrefix ) {\n\t\t\t\tif ( archiveNameLabel ) {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: 1: Archive type title e.g: \"Category\", 2: Label of the archive e.g: \"Shoes\" */\n\t\t\t\t\t\t__( '%1$s: %2$s' ),\n\t\t\t\t\t\tarchiveTypeLabel,\n\t\t\t\t\t\tarchiveNameLabel\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t\t__( '%s: Name' ),\n\t\t\t\t\t\tarchiveTypeLabel\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( archiveNameLabel ) {\n\t\t\t\ttitle = archiveNameLabel;\n\t\t\t} else {\n\t\t\t\ttitle = sprintf(\n\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t__( '%s name' ),\n\t\t\t\t\tarchiveTypeLabel\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\ttitle = showPrefix\n\t\t\t\t? __( 'Archive type: Name' )\n\t\t\t\t: __( 'Archive title' );\n\t\t}\n\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show archive type in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showPrefix: ! showPrefix } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showPrefix }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<TagName { ...blockProps }>{ title }</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( type === 'search' ) {\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowSearchTerm: ! showSearchTerm,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showSearchTerm }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t{ showSearchTerm\n\t\t\t\t\t\t? __( 'Search results for: “search term”' )\n\t\t\t\t\t\t: __( 'Search results' ) }\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","AlignmentControl","BlockControls","InspectorControls","useBlockProps","Warning","HeadingLevelDropdown","ToggleControl","PanelBody","__","_x","sprintf","useArchiveLabel","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","levelOptions","textAlign","showPrefix","showSearchTerm","setAttributes","archiveTypeLabel","archiveNameLabel","TagName","blockProps","className","includes","children","titleElement","title","__nextHasNoMarginBottom","label","onChange","checked","group","value","options","newLevel","nextAlign"],"sources":["@wordpress/block-library/src/query-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useArchiveLabel } from './use-archive-label';\n\nconst SUPPORTED_TYPES = [ 'archive', 'search' ];\n\nexport default function QueryTitleEdit( {\n\tattributes: {\n\t\ttype,\n\t\tlevel,\n\t\tlevelOptions,\n\t\ttextAlign,\n\t\tshowPrefix,\n\t\tshowSearchTerm,\n\t},\n\tsetAttributes,\n} ) {\n\tconst { archiveTypeLabel, archiveNameLabel } = useArchiveLabel();\n\n\tconst TagName = `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-query-title__placeholder', {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tif ( ! SUPPORTED_TYPES.includes( type ) ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>{ __( 'Provided type is not supported.' ) }</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet titleElement;\n\tif ( type === 'archive' ) {\n\t\tlet title;\n\t\tif ( archiveTypeLabel ) {\n\t\t\tif ( showPrefix ) {\n\t\t\t\tif ( archiveNameLabel ) {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: 1: Archive type title e.g: \"Category\", 2: Label of the archive e.g: \"Shoes\" */\n\t\t\t\t\t\t_x( '%1$s: %2$s', 'archive label' ),\n\t\t\t\t\t\tarchiveTypeLabel,\n\t\t\t\t\t\tarchiveNameLabel\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t\t__( '%s: Name' ),\n\t\t\t\t\t\tarchiveTypeLabel\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( archiveNameLabel ) {\n\t\t\t\ttitle = archiveNameLabel;\n\t\t\t} else {\n\t\t\t\ttitle = sprintf(\n\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t__( '%s name' ),\n\t\t\t\t\tarchiveTypeLabel\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\ttitle = showPrefix\n\t\t\t\t? __( 'Archive type: Name' )\n\t\t\t\t: __( 'Archive title' );\n\t\t}\n\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show archive type in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showPrefix: ! showPrefix } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showPrefix }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<TagName { ...blockProps }>{ title }</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( type === 'search' ) {\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowSearchTerm: ! showSearchTerm,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showSearchTerm }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t{ showSearchTerm\n\t\t\t\t\t\t? __( 'Search results for: “search term”' )\n\t\t\t\t\t\t: __( 'Search results' ) }\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@ import clsx from 'clsx';
9
9
  import { useBlockProps, BlockControls, InspectorControls, RichText, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, getTypographyClassesAndStyles as useTypographyProps, store as blockEditorStore, __experimentalGetElementClassName, useSettings } from '@wordpress/block-editor';
10
10
  import { useDispatch, useSelect } from '@wordpress/data';
11
11
  import { useEffect, useRef } from '@wordpress/element';
12
- import { ToolbarDropdownMenu, ToolbarGroup, Button, ButtonGroup, ToolbarButton, ResizableBox, PanelBody, __experimentalVStack as VStack, __experimentalUseCustomUnits as useCustomUnits, __experimentalUnitControl as UnitControl } from '@wordpress/components';
12
+ import { ToolbarDropdownMenu, ToolbarGroup, ToolbarButton, ResizableBox, PanelBody, __experimentalVStack as VStack, __experimentalUseCustomUnits as useCustomUnits, __experimentalUnitControl as UnitControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption } from '@wordpress/components';
13
13
  import { useInstanceId } from '@wordpress/compose';
14
14
  import { Icon, search } from '@wordpress/icons';
15
15
  import { __ } from '@wordpress/i18n';
@@ -25,6 +25,7 @@ import { PC_WIDTH_DEFAULT, PX_WIDTH_DEFAULT, MIN_WIDTH, isPercentageUnit } from
25
25
  // button is placed inside wrapper.
26
26
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
27
27
  const DEFAULT_INNER_PADDING = '4px';
28
+ const PERCENTAGE_WIDTHS = [25, 50, 75, 100];
28
29
  export default function SearchEdit({
29
30
  className,
30
31
  attributes,
@@ -267,7 +268,7 @@ export default function SearchEdit({
267
268
  children: [/*#__PURE__*/_jsx(BlockControls, {
268
269
  children: /*#__PURE__*/_jsxs(ToolbarGroup, {
269
270
  children: [/*#__PURE__*/_jsx(ToolbarButton, {
270
- title: __('Toggle search label'),
271
+ title: __('Show search label'),
271
272
  icon: toggleLabel,
272
273
  onClick: () => {
273
274
  setAttributes({
@@ -319,19 +320,23 @@ export default function SearchEdit({
319
320
  __unstableInputWidth: "80px",
320
321
  value: `${width}${widthUnit}`,
321
322
  units: units
322
- }), /*#__PURE__*/_jsx(ButtonGroup, {
323
- className: "wp-block-search__components-button-group" // unused, kept for backwards compatibility
324
- ,
325
- "aria-label": __('Percentage Width'),
326
- children: [25, 50, 75, 100].map(widthValue => {
327
- return /*#__PURE__*/_jsxs(Button, {
328
- size: "small",
329
- variant: widthValue === width && widthUnit === '%' ? 'primary' : undefined,
330
- onClick: () => setAttributes({
331
- width: widthValue,
332
- widthUnit: '%'
333
- }),
334
- children: [widthValue, "%"]
323
+ }), /*#__PURE__*/_jsx(ToggleGroupControl, {
324
+ label: __('Percentage Width'),
325
+ value: PERCENTAGE_WIDTHS.includes(width) && widthUnit === '%' ? width : undefined,
326
+ hideLabelFromVision: true,
327
+ onChange: newWidth => {
328
+ setAttributes({
329
+ width: newWidth,
330
+ widthUnit: '%'
331
+ });
332
+ },
333
+ isBlock: true,
334
+ __next40pxDefaultSize: true,
335
+ __nextHasNoMarginBottom: true,
336
+ children: PERCENTAGE_WIDTHS.map(widthValue => {
337
+ return /*#__PURE__*/_jsx(ToggleGroupControlOption, {
338
+ value: widthValue,
339
+ label: `${widthValue}%`
335
340
  }, widthValue);
336
341
  })
337
342
  })]