@wordpress/block-library 9.33.2-next.36001005c.0 → 9.34.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 (173) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/accordion/block.json +1 -1
  3. package/build/accordion/edit.js +11 -9
  4. package/build/accordion/edit.js.map +2 -2
  5. package/build/accordion-heading/block.json +1 -1
  6. package/build/accordion-item/block.json +2 -2
  7. package/build/accordion-panel/block.json +1 -1
  8. package/build/breadcrumbs/block.json +3 -4
  9. package/build/breadcrumbs/edit.js +43 -77
  10. package/build/breadcrumbs/edit.js.map +2 -2
  11. package/build/buttons/transforms.js +1 -0
  12. package/build/buttons/transforms.js.map +2 -2
  13. package/build/categories/edit.js +8 -4
  14. package/build/categories/edit.js.map +2 -2
  15. package/build/code/transforms.js +2 -0
  16. package/build/code/transforms.js.map +2 -2
  17. package/build/home-link/block.json +2 -1
  18. package/build/image/view.js +4 -1
  19. package/build/image/view.js.map +2 -2
  20. package/build/latest-comments/block.json +4 -3
  21. package/build/latest-comments/deprecated.js +56 -0
  22. package/build/latest-comments/deprecated.js.map +7 -0
  23. package/build/latest-comments/edit.js +16 -10
  24. package/build/latest-comments/edit.js.map +2 -2
  25. package/build/latest-comments/index.js +3 -1
  26. package/build/latest-comments/index.js.map +3 -3
  27. package/build/math/deprecated.js +54 -0
  28. package/build/math/deprecated.js.map +7 -0
  29. package/build/math/edit.js +1 -0
  30. package/build/math/edit.js.map +2 -2
  31. package/build/math/index.js +3 -1
  32. package/build/math/index.js.map +3 -3
  33. package/build/math/save.js +2 -3
  34. package/build/math/save.js.map +2 -2
  35. package/build/navigation/menu-items-to-blocks.js +8 -3
  36. package/build/navigation/menu-items-to-blocks.js.map +2 -2
  37. package/build/navigation/view.js +2 -2
  38. package/build/navigation/view.js.map +2 -2
  39. package/build/navigation-link/link-ui/page-creator.js +20 -0
  40. package/build/navigation-link/link-ui/page-creator.js.map +3 -3
  41. package/build/post-date/block.json +1 -1
  42. package/build/post-date/edit.js +11 -5
  43. package/build/post-date/edit.js.map +3 -3
  44. package/build/post-date/variations.js +4 -7
  45. package/build/post-date/variations.js.map +2 -2
  46. package/build/post-template/edit.js +13 -1
  47. package/build/post-template/edit.js.map +2 -2
  48. package/build/query/index.js +11 -1
  49. package/build/query/index.js.map +2 -2
  50. package/build/query/variations.js +16 -11
  51. package/build/query/variations.js.map +2 -2
  52. package/build/search/view.js +4 -4
  53. package/build/search/view.js.map +2 -2
  54. package/build/terms-query/edit/inspector-controls/index.js +1 -1
  55. package/build/terms-query/edit/inspector-controls/index.js.map +2 -2
  56. package/build/terms-query/edit/inspector-controls/inherit-control.js +2 -4
  57. package/build/terms-query/edit/inspector-controls/inherit-control.js.map +2 -2
  58. package/build/utils/get-transformed-attributes.js +1 -10
  59. package/build/utils/get-transformed-attributes.js.map +2 -2
  60. package/build-module/accordion/block.json +1 -1
  61. package/build-module/accordion/edit.js +11 -9
  62. package/build-module/accordion/edit.js.map +2 -2
  63. package/build-module/accordion-heading/block.json +1 -1
  64. package/build-module/accordion-item/block.json +2 -2
  65. package/build-module/accordion-panel/block.json +1 -1
  66. package/build-module/breadcrumbs/block.json +3 -4
  67. package/build-module/breadcrumbs/edit.js +44 -78
  68. package/build-module/breadcrumbs/edit.js.map +2 -2
  69. package/build-module/buttons/transforms.js +1 -0
  70. package/build-module/buttons/transforms.js.map +2 -2
  71. package/build-module/categories/edit.js +8 -4
  72. package/build-module/categories/edit.js.map +2 -2
  73. package/build-module/code/transforms.js +2 -0
  74. package/build-module/code/transforms.js.map +2 -2
  75. package/build-module/home-link/block.json +2 -1
  76. package/build-module/image/view.js +4 -1
  77. package/build-module/image/view.js.map +2 -2
  78. package/build-module/latest-comments/block.json +4 -3
  79. package/build-module/latest-comments/deprecated.js +36 -0
  80. package/build-module/latest-comments/deprecated.js.map +7 -0
  81. package/build-module/latest-comments/edit.js +17 -10
  82. package/build-module/latest-comments/edit.js.map +2 -2
  83. package/build-module/latest-comments/index.js +3 -1
  84. package/build-module/latest-comments/index.js.map +2 -2
  85. package/build-module/math/deprecated.js +34 -0
  86. package/build-module/math/deprecated.js.map +7 -0
  87. package/build-module/math/edit.js +1 -0
  88. package/build-module/math/edit.js.map +2 -2
  89. package/build-module/math/index.js +3 -1
  90. package/build-module/math/index.js.map +2 -2
  91. package/build-module/math/save.js +2 -3
  92. package/build-module/math/save.js.map +2 -2
  93. package/build-module/navigation/menu-items-to-blocks.js +8 -3
  94. package/build-module/navigation/menu-items-to-blocks.js.map +2 -2
  95. package/build-module/navigation/view.js +2 -2
  96. package/build-module/navigation/view.js.map +2 -2
  97. package/build-module/navigation-link/link-ui/page-creator.js +21 -1
  98. package/build-module/navigation-link/link-ui/page-creator.js.map +2 -2
  99. package/build-module/post-date/block.json +1 -1
  100. package/build-module/post-date/edit.js +11 -5
  101. package/build-module/post-date/edit.js.map +2 -2
  102. package/build-module/post-date/variations.js +4 -7
  103. package/build-module/post-date/variations.js.map +2 -2
  104. package/build-module/post-template/edit.js +13 -1
  105. package/build-module/post-template/edit.js.map +2 -2
  106. package/build-module/query/index.js +11 -1
  107. package/build-module/query/index.js.map +2 -2
  108. package/build-module/query/variations.js +16 -11
  109. package/build-module/query/variations.js.map +2 -2
  110. package/build-module/search/view.js +4 -4
  111. package/build-module/search/view.js.map +2 -2
  112. package/build-module/terms-query/edit/inspector-controls/index.js +1 -1
  113. package/build-module/terms-query/edit/inspector-controls/index.js.map +2 -2
  114. package/build-module/terms-query/edit/inspector-controls/inherit-control.js +2 -4
  115. package/build-module/terms-query/edit/inspector-controls/inherit-control.js.map +2 -2
  116. package/build-module/utils/get-transformed-attributes.js +1 -10
  117. package/build-module/utils/get-transformed-attributes.js.map +2 -2
  118. package/build-style/editor-rtl.css +5 -0
  119. package/build-style/editor.css +6 -0
  120. package/build-style/math/editor-rtl.css +49 -0
  121. package/build-style/math/editor.css +50 -0
  122. package/build-style/math/style-rtl.css +4 -0
  123. package/build-style/math/style.css +4 -0
  124. package/build-style/style-rtl.css +5 -0
  125. package/build-style/style.css +5 -0
  126. package/package.json +37 -37
  127. package/src/accordion/block.json +1 -1
  128. package/src/accordion/edit.js +16 -16
  129. package/src/accordion-heading/block.json +1 -1
  130. package/src/accordion-item/block.json +2 -2
  131. package/src/accordion-panel/block.json +1 -1
  132. package/src/breadcrumbs/block.json +3 -4
  133. package/src/breadcrumbs/edit.js +96 -132
  134. package/src/breadcrumbs/index.php +203 -50
  135. package/src/buttons/transforms.js +1 -0
  136. package/src/categories/edit.js +10 -6
  137. package/src/categories/index.php +1 -1
  138. package/src/code/transforms.js +2 -0
  139. package/src/editor.scss +1 -0
  140. package/src/home-link/block.json +2 -1
  141. package/src/image/index.php +9 -9
  142. package/src/image/view.js +11 -1
  143. package/src/latest-comments/block.json +4 -3
  144. package/src/latest-comments/deprecated.js +37 -0
  145. package/src/latest-comments/edit.js +17 -10
  146. package/src/latest-comments/index.js +2 -0
  147. package/src/latest-comments/index.php +11 -2
  148. package/src/math/deprecated.js +44 -0
  149. package/src/math/edit.js +1 -0
  150. package/src/math/editor.scss +7 -0
  151. package/src/math/index.js +2 -0
  152. package/src/math/save.js +6 -5
  153. package/src/math/style.scss +4 -0
  154. package/src/navigation/index.php +7 -7
  155. package/src/navigation/menu-items-to-blocks.js +12 -2
  156. package/src/navigation/test/menu-items-to-blocks.js +144 -0
  157. package/src/navigation/view.js +2 -2
  158. package/src/navigation-link/link-ui/page-creator.js +25 -2
  159. package/src/post-date/block.json +1 -1
  160. package/src/post-date/edit.js +15 -10
  161. package/src/post-date/variations.js +2 -5
  162. package/src/post-template/edit.js +13 -1
  163. package/src/query/index.js +10 -0
  164. package/src/query/variations.js +17 -11
  165. package/src/query-pagination-next/index.php +1 -1
  166. package/src/query-pagination-previous/index.php +1 -1
  167. package/src/search/index.php +2 -2
  168. package/src/search/view.js +4 -4
  169. package/src/style.scss +1 -0
  170. package/src/term-template/index.php +8 -2
  171. package/src/terms-query/edit/inspector-controls/index.js +2 -2
  172. package/src/terms-query/edit/inspector-controls/inherit-control.js +1 -3
  173. package/src/utils/get-transformed-attributes.js +5 -16
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 9.34.0 (2025-10-29)
6
+
5
7
  ## 9.33.0 (2025-10-17)
6
8
 
7
9
  ### Enhancements
@@ -4,7 +4,7 @@
4
4
  "name": "core/accordion",
5
5
  "title": "Accordion",
6
6
  "category": "design",
7
- "description": "Displays a group of accordion headings and associated expandable content.",
7
+ "description": "Displays a foldable layout that groups content in collapsible sections.",
8
8
  "example": {},
9
9
  "supports": {
10
10
  "anchor": true,
@@ -84,15 +84,17 @@ function Edit({
84
84
  });
85
85
  };
86
86
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
87
- isSingleSelected && !isContentOnlyMode && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
88
- import_block_editor.HeadingLevelDropdown,
89
- {
90
- value: headingLevel,
91
- options: levelOptions,
92
- onChange: updateHeadingLevel
93
- }
94
- ) }) }),
95
- isSingleSelected && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.ToolbarButton, { onClick: addAccordionItemBlock, children: (0, import_i18n.__)("Add") }) }),
87
+ isSingleSelected && !isContentOnlyMode && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
88
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
89
+ import_block_editor.HeadingLevelDropdown,
90
+ {
91
+ value: headingLevel,
92
+ options: levelOptions,
93
+ onChange: updateHeadingLevel
94
+ }
95
+ ) }) }),
96
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.ToolbarButton, { onClick: addAccordionItemBlock, children: (0, import_i18n.__)("Add") }) })
97
+ ] }),
96
98
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
97
99
  import_components.__experimentalToolsPanel,
98
100
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/accordion/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockEditingMode,\n\tstore as blockEditorStore,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst ACCORDION_BLOCK_NAME = 'core/accordion-item';\nconst ACCORDION_HEADING_BLOCK_NAME = 'core/accordion-heading';\nconst ACCORDION_BLOCK = {\n\tname: ACCORDION_BLOCK_NAME,\n};\n\nexport default function Edit( {\n\tattributes: {\n\t\tautoclose,\n\t\ticonPosition,\n\t\tshowIcon,\n\t\theadingLevel,\n\t\tlevelOptions,\n\t},\n\tclientId,\n\tsetAttributes,\n\tisSelected: isSingleSelected,\n} ) {\n\tconst registry = useRegistry();\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst blockProps = useBlockProps( {\n\t\trole: 'group',\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst { updateBlockAttributes, insertBlock } =\n\t\tuseDispatch( blockEditorStore );\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: [ [ ACCORDION_BLOCK_NAME ] ],\n\t\tdefaultBlock: ACCORDION_BLOCK,\n\t\tdirectInsert: true,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\n\tconst addAccordionItemBlock = () => {\n\t\t// When adding, set the header's level to current headingLevel\n\t\tconst newAccordionItem = createBlock( ACCORDION_BLOCK_NAME, {}, [\n\t\t\tcreateBlock( ACCORDION_HEADING_BLOCK_NAME, {\n\t\t\t\tlevel: headingLevel,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/accordion-panel', {} ),\n\t\t] );\n\t\tinsertBlock( newAccordionItem, undefined, clientId );\n\t};\n\n\t/**\n\t * Update all child Accordion Header blocks with a new heading level\n\t * based on the accordion group setting.\n\t * @param {number} newHeadingLevel The new heading level to set\n\t */\n\tconst updateHeadingLevel = ( newHeadingLevel ) => {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Get all accordion-header blocks from all accordion-content blocks.\n\t\tconst accordionHeaderClientIds = [];\n\t\tinnerBlockClientIds.forEach( ( contentClientId ) => {\n\t\t\tconst headerClientIds = getBlockOrder( contentClientId );\n\t\t\taccordionHeaderClientIds.push( ...headerClientIds );\n\t\t} );\n\n\t\t// Update own and child block heading levels.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { headingLevel: newHeadingLevel } );\n\t\t\tupdateBlockAttributes( accordionHeaderClientIds, {\n\t\t\t\tlevel: newHeadingLevel,\n\t\t\t} );\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && ! isContentOnlyMode && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\t\t\tvalue={ headingLevel }\n\t\t\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\t\t\tonChange={ updateHeadingLevel }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ToolbarButton onClick={ addAccordionItemBlock }>\n\t\t\t\t\t\t{ __( 'Add' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls key=\"setting\">\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tautoclose: false,\n\t\t\t\t\t\t\tshowIcon: true,\n\t\t\t\t\t\t\ticonPosition: 'right',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Auto-close' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! autoclose }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { autoclose: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Auto-close' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tautoclose: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tchecked={ autoclose }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Automatically close accordions when a new one is opened.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show icon' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showIcon }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { showIcon: true } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show icon' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowIcon: value,\n\t\t\t\t\t\t\t\t\ticonPosition: value\n\t\t\t\t\t\t\t\t\t\t? iconPosition\n\t\t\t\t\t\t\t\t\t\t: 'right',\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={ showIcon }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Display a plus icon next to the accordion header.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ showIcon && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Icon Position' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => iconPosition !== 'right' }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { iconPosition: 'right' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\tlabel={ __( 'Icon Position' ) }\n\t\t\t\t\t\t\t\tvalue={ iconPosition }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { iconPosition: value } );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Left' ) }\n\t\t\t\t\t\t\t\t\tvalue=\"left\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Right' ) }\n\t\t\t\t\t\t\t\t\tvalue=\"right\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockEditingMode,\n\tstore as blockEditorStore,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst ACCORDION_BLOCK_NAME = 'core/accordion-item';\nconst ACCORDION_HEADING_BLOCK_NAME = 'core/accordion-heading';\nconst ACCORDION_BLOCK = {\n\tname: ACCORDION_BLOCK_NAME,\n};\n\nexport default function Edit( {\n\tattributes: {\n\t\tautoclose,\n\t\ticonPosition,\n\t\tshowIcon,\n\t\theadingLevel,\n\t\tlevelOptions,\n\t},\n\tclientId,\n\tsetAttributes,\n\tisSelected: isSingleSelected,\n} ) {\n\tconst registry = useRegistry();\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst blockProps = useBlockProps( {\n\t\trole: 'group',\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst { updateBlockAttributes, insertBlock } =\n\t\tuseDispatch( blockEditorStore );\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: [ [ ACCORDION_BLOCK_NAME ] ],\n\t\tdefaultBlock: ACCORDION_BLOCK,\n\t\tdirectInsert: true,\n\t\ttemplateInsertUpdatesSelection: true,\n\t} );\n\n\tconst addAccordionItemBlock = () => {\n\t\t// When adding, set the header's level to current headingLevel\n\t\tconst newAccordionItem = createBlock( ACCORDION_BLOCK_NAME, {}, [\n\t\t\tcreateBlock( ACCORDION_HEADING_BLOCK_NAME, {\n\t\t\t\tlevel: headingLevel,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/accordion-panel', {} ),\n\t\t] );\n\t\tinsertBlock( newAccordionItem, undefined, clientId );\n\t};\n\n\t/**\n\t * Update all child Accordion Header blocks with a new heading level\n\t * based on the accordion group setting.\n\t * @param {number} newHeadingLevel The new heading level to set\n\t */\n\tconst updateHeadingLevel = ( newHeadingLevel ) => {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Get all accordion-header blocks from all accordion-content blocks.\n\t\tconst accordionHeaderClientIds = [];\n\t\tinnerBlockClientIds.forEach( ( contentClientId ) => {\n\t\t\tconst headerClientIds = getBlockOrder( contentClientId );\n\t\t\taccordionHeaderClientIds.push( ...headerClientIds );\n\t\t} );\n\n\t\t// Update own and child block heading levels.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { headingLevel: newHeadingLevel } );\n\t\t\tupdateBlockAttributes( accordionHeaderClientIds, {\n\t\t\t\tlevel: newHeadingLevel,\n\t\t\t} );\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && ! isContentOnlyMode && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\t\t\t\tvalue={ headingLevel }\n\t\t\t\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\t\t\t\tonChange={ updateHeadingLevel }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton onClick={ addAccordionItemBlock }>\n\t\t\t\t\t\t\t{ __( 'Add' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls key=\"setting\">\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tautoclose: false,\n\t\t\t\t\t\t\tshowIcon: true,\n\t\t\t\t\t\t\ticonPosition: 'right',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Auto-close' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! autoclose }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { autoclose: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Auto-close' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tautoclose: value,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tchecked={ autoclose }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Automatically close accordions when a new one is opened.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show icon' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showIcon }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { showIcon: true } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show icon' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowIcon: value,\n\t\t\t\t\t\t\t\t\ticonPosition: value\n\t\t\t\t\t\t\t\t\t\t? iconPosition\n\t\t\t\t\t\t\t\t\t\t: 'right',\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={ showIcon }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Display a plus icon next to the accordion header.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ showIcon && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Icon Position' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => iconPosition !== 'right' }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { iconPosition: 'right' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\tlabel={ __( 'Icon Position' ) }\n\t\t\t\t\t\t\t\tvalue={ iconPosition }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { iconPosition: value } );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Left' ) }\n\t\t\t\t\t\t\t\t\tvalue=\"left\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Right' ) }\n\t\t\t\t\t\t\t\t\tvalue=\"right\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["blockEditorStore", "ToolsPanel", "ToolsPanelItem", "ToggleGroupControl", "ToggleGroupControlOption"]
7
7
  }
@@ -4,7 +4,7 @@
4
4
  "name": "core/accordion-heading",
5
5
  "title": "Accordion Heading",
6
6
  "category": "design",
7
- "description": "Displays an accordion heading.",
7
+ "description": "Displays a heading that toggles the accordion panel.",
8
8
  "parent": [ "core/accordion-item" ],
9
9
  "usesContext": [
10
10
  "core/accordion-icon-position",
@@ -4,7 +4,7 @@
4
4
  "name": "core/accordion-item",
5
5
  "title": "Accordion Item",
6
6
  "category": "design",
7
- "description": "Displays a section of content in an accordion, including a heading and expandable content.",
7
+ "description": "Wraps the heading and panel in one unit.",
8
8
  "parent": [ "core/accordion" ],
9
9
  "allowedBlocks": [ "core/accordion-heading", "core/accordion-panel" ],
10
10
  "supports": {
@@ -33,7 +33,7 @@
33
33
  "shadow": true,
34
34
  "layout": {
35
35
  "allowEditing": false
36
- },
36
+ },
37
37
  "typography": {
38
38
  "fontSize": true,
39
39
  "lineHeight": true,
@@ -4,7 +4,7 @@
4
4
  "name": "core/accordion-panel",
5
5
  "title": "Accordion Panel",
6
6
  "category": "design",
7
- "description": "Displays an accordion panel.",
7
+ "description": "Contains the hidden or revealed content beneath the heading.",
8
8
  "parent": [ "core/accordion-item" ],
9
9
  "supports": {
10
10
  "html": false,
@@ -8,10 +8,9 @@
8
8
  "description": "Display a breadcrumb trail for hierarchical post types or based on taxonomy terms.",
9
9
  "textdomain": "default",
10
10
  "attributes": {
11
- "type": {
12
- "type": "string",
13
- "default": "auto",
14
- "enum": [ "auto", "postWithTerms", "postWithAncestors" ]
11
+ "prefersTaxonomy": {
12
+ "type": "boolean",
13
+ "default": false
15
14
  },
16
15
  "separator": {
17
16
  "type": "string",
@@ -31,33 +31,19 @@ var import_element = require("@wordpress/element");
31
31
  var import_server_side_render = require("@wordpress/server-side-render");
32
32
  var import_hooks = require("../utils/hooks");
33
33
  const separatorDefaultValue = "/";
34
- const typeDefaultValue = "auto";
35
- const BREADCRUMB_TYPES = {
36
- auto: {
37
- help: (0, import_i18n.__)(
38
- "Try to automatically determine the best type of breadcrumb for the template."
39
- )
40
- },
41
- postWithAncestors: {
42
- help: (0, import_i18n.__)(
43
- "Shows breadcrumbs based on post hierarchy. Only works for hierarchical post types."
44
- ),
45
- placeholderItems: [(0, import_i18n.__)("Ancestor"), (0, import_i18n.__)("Parent")]
46
- },
47
- postWithTerms: {
48
- help: (0, import_i18n.__)(
49
- "Shows breadcrumbs based on taxonomy terms. Chooses the first taxonomy with assigned terms and includes ancestors if the taxonomy is hierarchical."
50
- ),
51
- placeholderItems: [(0, import_i18n.__)("Category")]
52
- }
53
- };
54
34
  function BreadcrumbEdit({
55
35
  attributes,
56
36
  setAttributes,
57
37
  context: { postId, postType, templateSlug }
58
38
  }) {
59
- const { separator, showHomeLink, type } = attributes;
60
- const { post, isPostTypeHierarchical, hasTermsAssigned, isLoading } = (0, import_data.useSelect)(
39
+ const { separator, showHomeLink, prefersTaxonomy } = attributes;
40
+ const {
41
+ post,
42
+ isPostTypeHierarchical,
43
+ postTypeHasTaxonomies,
44
+ hasTermsAssigned,
45
+ isLoading
46
+ } = (0, import_data.useSelect)(
61
47
  (select) => {
62
48
  if (!postType) {
63
49
  return {};
@@ -68,9 +54,9 @@ function BreadcrumbEdit({
68
54
  postId
69
55
  );
70
56
  const postTypeObject = select(import_core_data.store).getPostType(postType);
71
- const postTypeHasTaxonomies = postTypeObject && postTypeObject.taxonomies.length;
57
+ const _postTypeHasTaxonomies = postTypeObject && postTypeObject.taxonomies.length;
72
58
  let taxonomies;
73
- if (postTypeHasTaxonomies) {
59
+ if (_postTypeHasTaxonomies) {
74
60
  taxonomies = select(import_core_data.store).getTaxonomies({
75
61
  type: postType,
76
62
  per_page: -1
@@ -79,12 +65,13 @@ function BreadcrumbEdit({
79
65
  return {
80
66
  post: _post,
81
67
  isPostTypeHierarchical: postTypeObject?.hierarchical,
68
+ postTypeHasTaxonomies: _postTypeHasTaxonomies,
82
69
  hasTermsAssigned: _post && (taxonomies || []).filter(
83
70
  ({ visibility }) => visibility?.publicly_queryable
84
71
  ).some((taxonomy) => {
85
72
  return !!_post[taxonomy.rest_base]?.length;
86
73
  }),
87
- isLoading: !_post || !postTypeObject || postTypeHasTaxonomies && !taxonomies
74
+ isLoading: postId && !_post || !postTypeObject || _postTypeHasTaxonomies && !taxonomies
88
75
  };
89
76
  },
90
77
  [postType, postId]
@@ -104,27 +91,31 @@ function BreadcrumbEdit({
104
91
  if (isLoading) {
105
92
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Spinner, {}) });
106
93
  }
107
- let breadcrumbsType;
108
- const isSpecificSupportedTypeSet = [
109
- "postWithAncestors",
110
- "postWithTerms"
111
- ].includes(type);
112
- if (isSpecificSupportedTypeSet) {
113
- breadcrumbsType = type;
94
+ let _showTerms;
95
+ if (!isPostTypeHierarchical) {
96
+ _showTerms = true;
97
+ } else if (!postTypeHasTaxonomies) {
98
+ _showTerms = false;
114
99
  } else {
115
- breadcrumbsType = isPostTypeHierarchical ? "postWithAncestors" : "postWithTerms";
100
+ _showTerms = prefersTaxonomy;
116
101
  }
117
102
  let placeholder = null;
118
103
  const showPlaceholder = !postId || !postType || // When `templateSlug` is set only show placeholder if the post type is not.
119
104
  // This is needed because when we are showing the template in post editor we
120
105
  // want to show the real breadcrumbs if we have the post type.
121
- templateSlug && !postType || breadcrumbsType === "postWithAncestors" && !isPostTypeHierarchical || breadcrumbsType === "postWithTerms" && !hasTermsAssigned;
106
+ templateSlug && !postType || !_showTerms && !isPostTypeHierarchical || _showTerms && !hasTermsAssigned;
122
107
  if (showPlaceholder) {
123
- const placeholderItems = [
124
- showHomeLink && (0, import_i18n.__)("Home"),
125
- // For now if we are adding this in a template show a generic placeholder.
126
- ...templateSlug && !isSpecificSupportedTypeSet ? [(0, import_i18n.__)("Page")] : BREADCRUMB_TYPES[breadcrumbsType].placeholderItems
127
- ].filter(Boolean);
108
+ const placeholderItems = [];
109
+ if (showHomeLink) {
110
+ placeholderItems.push((0, import_i18n.__)("Home"));
111
+ }
112
+ if (templateSlug && !postId) {
113
+ placeholderItems.push((0, import_i18n.__)("Page"));
114
+ } else if (_showTerms) {
115
+ placeholderItems.push((0, import_i18n.__)("Category"));
116
+ } else {
117
+ placeholderItems.push((0, import_i18n.__)("Ancestor"), (0, import_i18n.__)("Parent"));
118
+ }
128
119
  placeholder = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
129
120
  "nav",
130
121
  {
@@ -147,48 +138,11 @@ function BreadcrumbEdit({
147
138
  resetAll: () => {
148
139
  setAttributes({
149
140
  separator: separatorDefaultValue,
150
- showHomeLink: true,
151
- type: typeDefaultValue
141
+ showHomeLink: true
152
142
  });
153
143
  },
154
144
  dropdownMenuProps,
155
145
  children: [
156
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
157
- import_components.__experimentalToolsPanelItem,
158
- {
159
- label: (0, import_i18n.__)("Type"),
160
- isShownByDefault: true,
161
- hasValue: () => type !== typeDefaultValue,
162
- onDeselect: () => setAttributes({
163
- type: typeDefaultValue
164
- }),
165
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
166
- import_components.SelectControl,
167
- {
168
- __nextHasNoMarginBottom: true,
169
- __next40pxDefaultSize: true,
170
- label: (0, import_i18n.__)("Type"),
171
- value: type,
172
- onChange: (value) => setAttributes({ type: value }),
173
- options: [
174
- {
175
- label: (0, import_i18n.__)("Auto"),
176
- value: "auto"
177
- },
178
- {
179
- label: (0, import_i18n.__)("Post with ancestors"),
180
- value: "postWithAncestors"
181
- },
182
- {
183
- label: (0, import_i18n.__)("Post with terms"),
184
- value: "postWithTerms"
185
- }
186
- ],
187
- help: BREADCRUMB_TYPES[type].help
188
- }
189
- )
190
- }
191
- ),
192
146
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
193
147
  import_components.__experimentalToolsPanelItem,
194
148
  {
@@ -241,6 +195,18 @@ function BreadcrumbEdit({
241
195
  ]
242
196
  }
243
197
  ) }),
198
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
199
+ import_components.CheckboxControl,
200
+ {
201
+ __nextHasNoMarginBottom: true,
202
+ label: (0, import_i18n.__)("Prefer taxonomy terms"),
203
+ checked: prefersTaxonomy,
204
+ onChange: (value) => setAttributes({ prefersTaxonomy: value }),
205
+ help: (0, import_i18n.__)(
206
+ "The exact type of breadcrumbs shown will vary automatically depending on the page in which this block is displayed. In the specific case of a hierarchical post type with taxonomies, the breadcrumbs can either reflect its post hierarchy (default) or the hierarchy of its assigned taxonomy terms."
207
+ )
208
+ }
209
+ ) }),
244
210
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...blockProps, children: showPlaceholder ? placeholder : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_element.RawHTML, { inert: "true", children: content }) })
245
211
  ] });
246
212
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/breadcrumbs/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tTextControl,\n\tSelectControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useState, RawHTML } from '@wordpress/element';\nimport { useServerSideRender } from '@wordpress/server-side-render';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst separatorDefaultValue = '/';\nconst typeDefaultValue = 'auto';\n\nconst BREADCRUMB_TYPES = {\n\tauto: {\n\t\thelp: __(\n\t\t\t'Try to automatically determine the best type of breadcrumb for the template.'\n\t\t),\n\t},\n\tpostWithAncestors: {\n\t\thelp: __(\n\t\t\t'Shows breadcrumbs based on post hierarchy. Only works for hierarchical post types.'\n\t\t),\n\t\tplaceholderItems: [ __( 'Ancestor' ), __( 'Parent' ) ],\n\t},\n\tpostWithTerms: {\n\t\thelp: __(\n\t\t\t'Shows breadcrumbs based on taxonomy terms. Chooses the first taxonomy with assigned terms and includes ancestors if the taxonomy is hierarchical.'\n\t\t),\n\t\tplaceholderItems: [ __( 'Category' ) ],\n\t},\n};\n\nexport default function BreadcrumbEdit( {\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType, templateSlug },\n} ) {\n\tconst { separator, showHomeLink, type } = attributes;\n\tconst { post, isPostTypeHierarchical, hasTermsAssigned, isLoading } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( ! postType ) {\n\t\t\t\t\treturn {};\n\t\t\t\t}\n\t\t\t\tconst _post = select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t);\n\t\t\t\tconst postTypeObject =\n\t\t\t\t\tselect( coreStore ).getPostType( postType );\n\t\t\t\tconst postTypeHasTaxonomies =\n\t\t\t\t\tpostTypeObject && postTypeObject.taxonomies.length;\n\t\t\t\tlet taxonomies;\n\t\t\t\tif ( postTypeHasTaxonomies ) {\n\t\t\t\t\ttaxonomies = select( coreStore ).getTaxonomies( {\n\t\t\t\t\t\ttype: postType,\n\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tpost: _post,\n\t\t\t\t\tisPostTypeHierarchical: postTypeObject?.hierarchical,\n\t\t\t\t\thasTermsAssigned:\n\t\t\t\t\t\t_post &&\n\t\t\t\t\t\t( taxonomies || [] )\n\t\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t\t( { visibility } ) =>\n\t\t\t\t\t\t\t\t\tvisibility?.publicly_queryable\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.some( ( taxonomy ) => {\n\t\t\t\t\t\t\t\treturn !! _post[ taxonomy.rest_base ]?.length;\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\tisLoading:\n\t\t\t\t\t\t! _post ||\n\t\t\t\t\t\t! postTypeObject ||\n\t\t\t\t\t\t( postTypeHasTaxonomies && ! taxonomies ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ postType, postId ]\n\t\t);\n\n\t// Counter used to cache-bust `useServerSideRender`\n\t//\n\t// This is a catch-all signal to re-render the block when a post's title,\n\t// parent ID, or terms change.\n\t//\n\t// This is fundamentally imperfect, because there are other entities which\n\t// could change in the meantime (the titles of ancestor posts, or the\n\t// labels of taxonomy terms), hence the choice to re-render systematically\n\t// upon saving.\n\tconst [ invalidationKey, setInvalidationKey ] = useState( 0 );\n\tuseEffect( () => {\n\t\tsetInvalidationKey( ( c ) => c + 1 );\n\t}, [ post ] );\n\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst { content } = useServerSideRender( {\n\t\tattributes,\n\t\tskipBlockSupportAttributes: true,\n\t\tblock: 'core/breadcrumbs',\n\t\turlQueryArgs: { post_id: postId, invalidationKey },\n\t} );\n\n\tif ( isLoading ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</div>\n\t\t);\n\t}\n\t// TODO: this should be handled better when we add more types.\n\tlet breadcrumbsType;\n\tconst isSpecificSupportedTypeSet = [\n\t\t'postWithAncestors',\n\t\t'postWithTerms',\n\t].includes( type );\n\tif ( isSpecificSupportedTypeSet ) {\n\t\tbreadcrumbsType = type;\n\t} else {\n\t\tbreadcrumbsType = isPostTypeHierarchical\n\t\t\t? 'postWithAncestors'\n\t\t\t: 'postWithTerms';\n\t}\n\tlet placeholder = null;\n\t// This is fragile because this block is server side rendered and we'll have to\n\t// update the placeholder html if the server side rendering output changes.\n\tconst showPlaceholder =\n\t\t! postId ||\n\t\t! postType ||\n\t\t// When `templateSlug` is set only show placeholder if the post type is not.\n\t\t// This is needed because when we are showing the template in post editor we\n\t\t// want to show the real breadcrumbs if we have the post type.\n\t\t( templateSlug && ! postType ) ||\n\t\t( breadcrumbsType === 'postWithAncestors' &&\n\t\t\t! isPostTypeHierarchical ) ||\n\t\t( breadcrumbsType === 'postWithTerms' && ! hasTermsAssigned );\n\tif ( showPlaceholder ) {\n\t\tconst placeholderItems = [\n\t\t\tshowHomeLink && __( 'Home' ),\n\t\t\t// For now if we are adding this in a template show a generic placeholder.\n\t\t\t...( templateSlug && ! isSpecificSupportedTypeSet\n\t\t\t\t? [ __( 'Page' ) ]\n\t\t\t\t: BREADCRUMB_TYPES[ breadcrumbsType ].placeholderItems ),\n\t\t].filter( Boolean );\n\t\tplaceholder = (\n\t\t\t<nav\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--separator': `'${ separator }'`,\n\t\t\t\t} }\n\t\t\t\tinert=\"true\"\n\t\t\t>\n\t\t\t\t<ol>\n\t\t\t\t\t{ placeholderItems.map( ( text, index ) => (\n\t\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t\t<a href={ `#breadcrumbs-pseudo-link-${ index }` }>\n\t\t\t\t\t\t\t\t{ text }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) ) }\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<span aria-current=\"page\">{ __( 'Current' ) }</span>\n\t\t\t\t\t</li>\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\tshowHomeLink: true,\n\t\t\t\t\t\t\ttype: typeDefaultValue,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Type' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => type !== typeDefaultValue }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\ttype: typeDefaultValue,\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\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Type' ) }\n\t\t\t\t\t\t\tvalue={ type }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { type: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Auto' ),\n\t\t\t\t\t\t\t\t\tvalue: 'auto',\n\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\t\tlabel: __( 'Post with ancestors' ),\n\t\t\t\t\t\t\t\t\tvalue: 'postWithAncestors',\n\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\t\tlabel: __( 'Post with terms' ),\n\t\t\t\t\t\t\t\t\tvalue: 'postWithTerms',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\thelp={ BREADCRUMB_TYPES[ type ].help }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show home link' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showHomeLink }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowHomeLink: true,\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\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show home link' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHomeLink: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showHomeLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => separator !== separatorDefaultValue }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tseparator: separatorDefaultValue,\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\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\t\t\tvalue={ separator }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { separator: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\t\tif ( ! separator ) {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showPlaceholder ? (\n\t\t\t\t\tplaceholder\n\t\t\t\t) : (\n\t\t\t\t\t<RawHTML inert=\"true\">{ content }</RawHTML>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tTextControl,\n\tCheckboxControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useState, RawHTML } from '@wordpress/element';\nimport { useServerSideRender } from '@wordpress/server-side-render';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst separatorDefaultValue = '/';\n\nexport default function BreadcrumbEdit( {\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType, templateSlug },\n} ) {\n\tconst { separator, showHomeLink, prefersTaxonomy } = attributes;\n\tconst {\n\t\tpost,\n\t\tisPostTypeHierarchical,\n\t\tpostTypeHasTaxonomies,\n\t\thasTermsAssigned,\n\t\tisLoading,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! postType ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst _post = select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst postTypeObject = select( coreStore ).getPostType( postType );\n\t\t\tconst _postTypeHasTaxonomies =\n\t\t\t\tpostTypeObject && postTypeObject.taxonomies.length;\n\t\t\tlet taxonomies;\n\t\t\tif ( _postTypeHasTaxonomies ) {\n\t\t\t\ttaxonomies = select( coreStore ).getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpost: _post,\n\t\t\t\tisPostTypeHierarchical: postTypeObject?.hierarchical,\n\t\t\t\tpostTypeHasTaxonomies: _postTypeHasTaxonomies,\n\t\t\t\thasTermsAssigned:\n\t\t\t\t\t_post &&\n\t\t\t\t\t( taxonomies || [] )\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.some( ( taxonomy ) => {\n\t\t\t\t\t\t\treturn !! _post[ taxonomy.rest_base ]?.length;\n\t\t\t\t\t\t} ),\n\t\t\t\tisLoading:\n\t\t\t\t\t( postId && ! _post ) ||\n\t\t\t\t\t! postTypeObject ||\n\t\t\t\t\t( _postTypeHasTaxonomies && ! taxonomies ),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\t/**\n\t * Counter used to cache-bust `useServerSideRender`.\n\t *\n\t * This is a catch-all signal to re-render the block when a post's title,\n\t * parent ID, or terms change.\n\t *\n\t * This is fundamentally imperfect, because there are other entities which\n\t * could change in the meantime (the titles of ancestor posts, or the\n\t * labels of taxonomy terms), hence the choice to re-render systematically\n\t * upon saving.\n\t */\n\tconst [ invalidationKey, setInvalidationKey ] = useState( 0 );\n\tuseEffect( () => {\n\t\tsetInvalidationKey( ( c ) => c + 1 );\n\t}, [ post ] );\n\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst { content } = useServerSideRender( {\n\t\tattributes,\n\t\tskipBlockSupportAttributes: true,\n\t\tblock: 'core/breadcrumbs',\n\t\turlQueryArgs: { post_id: postId, invalidationKey },\n\t} );\n\n\tif ( isLoading ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Determine breadcrumb type for accurate previews (matching PHP logic).\n\tlet _showTerms;\n\tif ( ! isPostTypeHierarchical ) {\n\t\t_showTerms = true;\n\t} else if ( ! postTypeHasTaxonomies ) {\n\t\t// Hierarchical post type without taxonomies can only use ancestors.\n\t\t_showTerms = false;\n\t} else {\n\t\t// For hierarchical post types with taxonomies, use the attribute.\n\t\t_showTerms = prefersTaxonomy;\n\t}\n\tlet placeholder = null;\n\t// This is fragile because this block is server side rendered and we'll have to\n\t// update the placeholder html if the server side rendering output changes.\n\tconst showPlaceholder =\n\t\t! postId ||\n\t\t! postType ||\n\t\t// When `templateSlug` is set only show placeholder if the post type is not.\n\t\t// This is needed because when we are showing the template in post editor we\n\t\t// want to show the real breadcrumbs if we have the post type.\n\t\t( templateSlug && ! postType ) ||\n\t\t( ! _showTerms && ! isPostTypeHierarchical ) ||\n\t\t( _showTerms && ! hasTermsAssigned );\n\tif ( showPlaceholder ) {\n\t\tconst placeholderItems = [];\n\t\tif ( showHomeLink ) {\n\t\t\tplaceholderItems.push( __( 'Home' ) );\n\t\t}\n\t\tif ( templateSlug && ! postId ) {\n\t\t\tplaceholderItems.push( __( 'Page' ) );\n\t\t} else if ( _showTerms ) {\n\t\t\tplaceholderItems.push( __( 'Category' ) );\n\t\t} else {\n\t\t\tplaceholderItems.push( __( 'Ancestor' ), __( 'Parent' ) );\n\t\t}\n\t\tplaceholder = (\n\t\t\t<nav\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--separator': `'${ separator }'`,\n\t\t\t\t} }\n\t\t\t\tinert=\"true\"\n\t\t\t>\n\t\t\t\t<ol>\n\t\t\t\t\t{ placeholderItems.map( ( text, index ) => (\n\t\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t\t<a href={ `#breadcrumbs-pseudo-link-${ index }` }>\n\t\t\t\t\t\t\t\t{ text }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) ) }\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<span aria-current=\"page\">{ __( 'Current' ) }</span>\n\t\t\t\t\t</li>\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\tshowHomeLink: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show home link' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showHomeLink }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowHomeLink: true,\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\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show home link' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHomeLink: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showHomeLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => separator !== separatorDefaultValue }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tseparator: separatorDefaultValue,\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\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\t\t\tvalue={ separator }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { separator: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\t\tif ( ! separator ) {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tseparator: separatorDefaultValue,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<CheckboxControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Prefer taxonomy terms' ) }\n\t\t\t\t\tchecked={ prefersTaxonomy }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { prefersTaxonomy: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The exact type of breadcrumbs shown will vary automatically depending on the page in which this block is displayed. In the specific case of a hierarchical post type with taxonomies, the breadcrumbs can either reflect its post hierarchy (default) or the hierarchy of its assigned taxonomy terms.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showPlaceholder ? (\n\t\t\t\t\tplaceholder\n\t\t\t\t) : (\n\t\t\t\t\t<RawHTML inert=\"true\">{ content }</RawHTML>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["coreStore", "ToolsPanel", "ToolsPanelItem"]
7
7
  }
@@ -62,6 +62,7 @@ const transforms = {
62
62
  const link = element.querySelector("a");
63
63
  const url = link?.getAttribute("href");
64
64
  return (0, import_blocks.createBlock)("core/button", {
65
+ ...attributes,
65
66
  ...(0, import_get_transformed_attributes.getTransformedAttributes)(
66
67
  attributes,
67
68
  "core/button",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/buttons/transforms.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { __unstableCreateElement as createElement } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { getTransformedAttributes } from '../utils/get-transformed-attributes';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/button' ],\n\t\t\ttransform: ( buttons ) =>\n\t\t\t\t// Creates the buttons block.\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/buttons',\n\t\t\t\t\t{},\n\t\t\t\t\t// Loop the selected buttons.\n\t\t\t\t\tbuttons.map( ( attributes ) =>\n\t\t\t\t\t\t// Create singular button in the buttons block.\n\t\t\t\t\t\tcreateBlock( 'core/button', attributes )\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( buttons ) =>\n\t\t\t\t// Creates the buttons block.\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/buttons',\n\t\t\t\t\t{},\n\t\t\t\t\t// Loop the selected buttons.\n\t\t\t\t\tbuttons.map( ( attributes ) => {\n\t\t\t\t\t\tconst { content } = attributes;\n\t\t\t\t\t\tconst element = createElement( document, content );\n\t\t\t\t\t\t// Remove any HTML tags.\n\t\t\t\t\t\tconst text = element.innerText || '';\n\t\t\t\t\t\t// Get first url.\n\t\t\t\t\t\tconst link = element.querySelector( 'a' );\n\t\t\t\t\t\tconst url = link?.getAttribute( 'href' );\n\t\t\t\t\t\t// Create singular button in the buttons block.\n\t\t\t\t\t\treturn createBlock( 'core/button', {\n\t\t\t\t\t\t\t...getTransformedAttributes(\n\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t'core/button',\n\t\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\t\ttext: contentBinding,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttext,\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t\tisMatch: ( paragraphs ) => {\n\t\t\t\treturn paragraphs.every( ( attributes ) => {\n\t\t\t\t\tconst element = createElement(\n\t\t\t\t\t\tdocument,\n\t\t\t\t\t\tattributes.content\n\t\t\t\t\t);\n\t\t\t\t\tconst text = element.innerText || '';\n\t\t\t\t\tconst links = element.querySelectorAll( 'a' );\n\t\t\t\t\treturn text.length <= 30 && links.length <= 1;\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA4B;AAC5B,uBAAyD;AAKzD,wCAAyC;AAEzC,MAAM,aAAa;AAAA,EAClB,MAAM;AAAA,IACL;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,QAAQ,CAAE,aAAc;AAAA,MACxB,WAAW,CAAE;AAAA;AAAA,YAEZ;AAAA,UACC;AAAA,UACA,CAAC;AAAA;AAAA,UAED,QAAQ;AAAA,YAAK,CAAE;AAAA;AAAA,kBAEd,2BAAa,eAAe,UAAW;AAAA;AAAA,UACxC;AAAA,QACD;AAAA;AAAA,IACF;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,QAAQ,CAAE,gBAAiB;AAAA,MAC3B,WAAW,CAAE;AAAA;AAAA,YAEZ;AAAA,UACC;AAAA,UACA,CAAC;AAAA;AAAA,UAED,QAAQ,IAAK,CAAE,eAAgB;AAC9B,kBAAM,EAAE,QAAQ,IAAI;AACpB,kBAAM,cAAU,iBAAAA,yBAAe,UAAU,OAAQ;AAEjD,kBAAM,OAAO,QAAQ,aAAa;AAElC,kBAAM,OAAO,QAAQ,cAAe,GAAI;AACxC,kBAAM,MAAM,MAAM,aAAc,MAAO;AAEvC,uBAAO,2BAAa,eAAe;AAAA,cAClC,OAAG;AAAA,gBACF;AAAA,gBACA;AAAA,gBACA,CAAE,EAAE,SAAS,eAAe,OAAS;AAAA,kBACpC,MAAM;AAAA,gBACP;AAAA,cACD;AAAA,cACA;AAAA,cACA;AAAA,YACD,CAAE;AAAA,UACH,CAAE;AAAA,QACH;AAAA;AAAA,MACD,SAAS,CAAE,eAAgB;AAC1B,eAAO,WAAW,MAAO,CAAE,eAAgB;AAC1C,gBAAM,cAAU,iBAAAA;AAAA,YACf;AAAA,YACA,WAAW;AAAA,UACZ;AACA,gBAAM,OAAO,QAAQ,aAAa;AAClC,gBAAM,QAAQ,QAAQ,iBAAkB,GAAI;AAC5C,iBAAO,KAAK,UAAU,MAAM,MAAM,UAAU;AAAA,QAC7C,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD;AACD;AAEA,IAAO,qBAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { __unstableCreateElement as createElement } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { getTransformedAttributes } from '../utils/get-transformed-attributes';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/button' ],\n\t\t\ttransform: ( buttons ) =>\n\t\t\t\t// Creates the buttons block.\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/buttons',\n\t\t\t\t\t{},\n\t\t\t\t\t// Loop the selected buttons.\n\t\t\t\t\tbuttons.map( ( attributes ) =>\n\t\t\t\t\t\t// Create singular button in the buttons block.\n\t\t\t\t\t\tcreateBlock( 'core/button', attributes )\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( buttons ) =>\n\t\t\t\t// Creates the buttons block.\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/buttons',\n\t\t\t\t\t{},\n\t\t\t\t\t// Loop the selected buttons.\n\t\t\t\t\tbuttons.map( ( attributes ) => {\n\t\t\t\t\t\tconst { content } = attributes;\n\t\t\t\t\t\tconst element = createElement( document, content );\n\t\t\t\t\t\t// Remove any HTML tags.\n\t\t\t\t\t\tconst text = element.innerText || '';\n\t\t\t\t\t\t// Get first url.\n\t\t\t\t\t\tconst link = element.querySelector( 'a' );\n\t\t\t\t\t\tconst url = link?.getAttribute( 'href' );\n\t\t\t\t\t\t// Create singular button in the buttons block.\n\t\t\t\t\t\treturn createBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\t...getTransformedAttributes(\n\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t'core/button',\n\t\t\t\t\t\t\t\t( { content: contentBinding } ) => ( {\n\t\t\t\t\t\t\t\t\ttext: contentBinding,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttext,\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )\n\t\t\t\t),\n\t\t\tisMatch: ( paragraphs ) => {\n\t\t\t\treturn paragraphs.every( ( attributes ) => {\n\t\t\t\t\tconst element = createElement(\n\t\t\t\t\t\tdocument,\n\t\t\t\t\t\tattributes.content\n\t\t\t\t\t);\n\t\t\t\t\tconst text = element.innerText || '';\n\t\t\t\t\tconst links = element.querySelectorAll( 'a' );\n\t\t\t\t\treturn text.length <= 30 && links.length <= 1;\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA4B;AAC5B,uBAAyD;AAKzD,wCAAyC;AAEzC,MAAM,aAAa;AAAA,EAClB,MAAM;AAAA,IACL;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,QAAQ,CAAE,aAAc;AAAA,MACxB,WAAW,CAAE;AAAA;AAAA,YAEZ;AAAA,UACC;AAAA,UACA,CAAC;AAAA;AAAA,UAED,QAAQ;AAAA,YAAK,CAAE;AAAA;AAAA,kBAEd,2BAAa,eAAe,UAAW;AAAA;AAAA,UACxC;AAAA,QACD;AAAA;AAAA,IACF;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,QAAQ,CAAE,gBAAiB;AAAA,MAC3B,WAAW,CAAE;AAAA;AAAA,YAEZ;AAAA,UACC;AAAA,UACA,CAAC;AAAA;AAAA,UAED,QAAQ,IAAK,CAAE,eAAgB;AAC9B,kBAAM,EAAE,QAAQ,IAAI;AACpB,kBAAM,cAAU,iBAAAA,yBAAe,UAAU,OAAQ;AAEjD,kBAAM,OAAO,QAAQ,aAAa;AAElC,kBAAM,OAAO,QAAQ,cAAe,GAAI;AACxC,kBAAM,MAAM,MAAM,aAAc,MAAO;AAEvC,uBAAO,2BAAa,eAAe;AAAA,cAClC,GAAG;AAAA,cACH,OAAG;AAAA,gBACF;AAAA,gBACA;AAAA,gBACA,CAAE,EAAE,SAAS,eAAe,OAAS;AAAA,kBACpC,MAAM;AAAA,gBACP;AAAA,cACD;AAAA,cACA;AAAA,cACA;AAAA,YACD,CAAE;AAAA,UACH,CAAE;AAAA,QACH;AAAA;AAAA,MACD,SAAS,CAAE,eAAgB;AAC1B,eAAO,WAAW,MAAO,CAAE,eAAgB;AAC1C,gBAAM,cAAU,iBAAAA;AAAA,YACf;AAAA,YACA,WAAW;AAAA,UACZ;AACA,gBAAM,OAAO,QAAQ,aAAa;AAClC,gBAAM,QAAQ,QAAQ,iBAAkB,GAAI;AAC5C,iBAAO,KAAK,UAAU,MAAM,MAAM,UAAU;AAAA,QAC7C,CAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD;AACD;AAEA,IAAO,qBAAQ;",
6
6
  "names": ["createElement"]
7
7
  }
@@ -155,10 +155,14 @@ function CategoriesEdit({
155
155
  ];
156
156
  };
157
157
  const TagName = !!categories?.length && !displayAsDropdown && !isResolving ? "ul" : "div";
158
- const classes = (0, import_clsx.default)(className, {
159
- "wp-block-categories-list": !!categories?.length && !displayAsDropdown && !isResolving,
160
- "wp-block-categories-dropdown": !!categories?.length && displayAsDropdown && !isResolving
161
- });
158
+ const classes = (0, import_clsx.default)(
159
+ className,
160
+ `wp-block-categories-taxonomy-${taxonomySlug}`,
161
+ {
162
+ "wp-block-categories-list": !!categories?.length && !displayAsDropdown && !isResolving,
163
+ "wp-block-categories-dropdown": !!categories?.length && displayAsDropdown && !isResolving
164
+ }
165
+ );
162
166
  const blockProps = (0, import_block_editor.useBlockProps)({
163
167
  className: classes
164
168
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/categories/edit.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPlaceholder,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticeStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t\tlabel,\n\t\tshowLabel,\n\t\ttaxonomy: taxonomySlug,\n\t},\n\tsetAttributes,\n\tclassName,\n\tclientId,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\n\tconst { records: allTaxonomies, isResolvingTaxonomies } = useEntityRecords(\n\t\t'root',\n\t\t'taxonomy',\n\t\t{ per_page: -1 }\n\t);\n\n\tconst taxonomies = allTaxonomies?.filter( ( t ) => t.visibility.public );\n\n\tconst taxonomy = taxonomies?.find( ( t ) => t.slug === taxonomySlug );\n\n\tconst isHierarchicalTaxonomy =\n\t\t! isResolvingTaxonomies && taxonomy?.hierarchical;\n\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( isHierarchicalTaxonomy && showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\ttaxonomySlug,\n\t\tquery\n\t);\n\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/categories/redirection-prevented/${ clientId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : decodeEntities( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn categoriesList.map( ( category ) =>\n\t\t\trenderCategoryListItem( category )\n\t\t);\n\t};\n\n\tconst renderCategoryListItem = ( category ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id } className={ `cat-item cat-item-${ id }` }>\n\t\t\t\t<a href={ link } onClick={ showRedirectionPreventedNotice }>\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t\t{ isHierarchicalTaxonomy &&\n\t\t\t\t\tshowHierarchy &&\n\t\t\t\t\t!! childCategories.length && (\n\t\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ showLabel ? (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-categories__label\"\n\t\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\t\tplaceholder={ taxonomy?.name }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ selectId }>\n\t\t\t\t\t\t{ label ? label : taxonomy?.name }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t\t<select id={ selectId }>\n\t\t\t\t\t<option>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: taxonomy's singular name */\n\t\t\t\t\t\t\t__( 'Select %s' ),\n\t\t\t\t\t\t\ttaxonomy?.labels?.singular_name\n\t\t\t\t\t\t) }\n\t\t\t\t\t</option>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id } className={ `level-${ level }` }>\n\t\t\t\t{ Array.from( { length: level * 3 } ).map( () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tisHierarchicalTaxonomy &&\n\t\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\tconst TagName =\n\t\t!! categories?.length && ! displayAsDropdown && ! isResolving\n\t\t\t? 'ul'\n\t\t\t: 'div';\n\n\tconst classes = clsx( className, {\n\t\t'wp-block-categories-list':\n\t\t\t!! categories?.length && ! displayAsDropdown && ! isResolving,\n\t\t'wp-block-categories-dropdown':\n\t\t\t!! categories?.length && displayAsDropdown && ! isResolving,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttaxonomy: 'category',\n\t\t\t\t\t\t\tdisplayAsDropdown: false,\n\t\t\t\t\t\t\tshowHierarchy: false,\n\t\t\t\t\t\t\tshowPostCounts: false,\n\t\t\t\t\t\t\tshowOnlyTopLevel: false,\n\t\t\t\t\t\t\tshowEmpty: false,\n\t\t\t\t\t\t\tshowLabel: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ Array.isArray( taxonomies ) && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t\treturn taxonomySlug !== 'category';\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { taxonomy: 'category' } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\t\toptions={ taxonomies.map( ( t ) => ( {\n\t\t\t\t\t\t\t\t\tlabel: t.name,\n\t\t\t\t\t\t\t\t\tvalue: t.slug,\n\t\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\t\t\tvalue={ taxonomySlug }\n\t\t\t\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\ttaxonomy: selectedTaxonomy,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! displayAsDropdown }\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAsDropdown: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\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={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showLabel }\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabel: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\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\tclassName=\"wp-block-categories__indentation\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showLabel' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showPostCounts }\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showPostCounts: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\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 post counts' ) }\n\t\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showOnlyTopLevel }\n\t\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showOnlyTopLevel: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\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={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute(\n\t\t\t\t\t\t\t\t\t'showOnlyTopLevel'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showEmpty }\n\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showEmpty: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\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 empty terms' ) }\n\t\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showHierarchy }\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHierarchy: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\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={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Terms' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>{ taxonomy.labels.no_terms }</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</TagName>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPlaceholder,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticeStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t\tlabel,\n\t\tshowLabel,\n\t\ttaxonomy: taxonomySlug,\n\t},\n\tsetAttributes,\n\tclassName,\n\tclientId,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\n\tconst { records: allTaxonomies, isResolvingTaxonomies } = useEntityRecords(\n\t\t'root',\n\t\t'taxonomy',\n\t\t{ per_page: -1 }\n\t);\n\n\tconst taxonomies = allTaxonomies?.filter( ( t ) => t.visibility.public );\n\n\tconst taxonomy = taxonomies?.find( ( t ) => t.slug === taxonomySlug );\n\n\tconst isHierarchicalTaxonomy =\n\t\t! isResolvingTaxonomies && taxonomy?.hierarchical;\n\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( isHierarchicalTaxonomy && showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\ttaxonomySlug,\n\t\tquery\n\t);\n\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/categories/redirection-prevented/${ clientId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : decodeEntities( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn categoriesList.map( ( category ) =>\n\t\t\trenderCategoryListItem( category )\n\t\t);\n\t};\n\n\tconst renderCategoryListItem = ( category ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id } className={ `cat-item cat-item-${ id }` }>\n\t\t\t\t<a href={ link } onClick={ showRedirectionPreventedNotice }>\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t\t{ isHierarchicalTaxonomy &&\n\t\t\t\t\tshowHierarchy &&\n\t\t\t\t\t!! childCategories.length && (\n\t\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ showLabel ? (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-categories__label\"\n\t\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\t\tplaceholder={ taxonomy?.name }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ selectId }>\n\t\t\t\t\t\t{ label ? label : taxonomy?.name }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t\t<select id={ selectId }>\n\t\t\t\t\t<option>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: taxonomy's singular name */\n\t\t\t\t\t\t\t__( 'Select %s' ),\n\t\t\t\t\t\t\ttaxonomy?.labels?.singular_name\n\t\t\t\t\t\t) }\n\t\t\t\t\t</option>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id } className={ `level-${ level }` }>\n\t\t\t\t{ Array.from( { length: level * 3 } ).map( () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tisHierarchicalTaxonomy &&\n\t\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\tconst TagName =\n\t\t!! categories?.length && ! displayAsDropdown && ! isResolving\n\t\t\t? 'ul'\n\t\t\t: 'div';\n\n\tconst classes = clsx(\n\t\tclassName,\n\t\t`wp-block-categories-taxonomy-${ taxonomySlug }`,\n\t\t{\n\t\t\t'wp-block-categories-list':\n\t\t\t\t!! categories?.length && ! displayAsDropdown && ! isResolving,\n\t\t\t'wp-block-categories-dropdown':\n\t\t\t\t!! categories?.length && displayAsDropdown && ! isResolving,\n\t\t}\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttaxonomy: 'category',\n\t\t\t\t\t\t\tdisplayAsDropdown: false,\n\t\t\t\t\t\t\tshowHierarchy: false,\n\t\t\t\t\t\t\tshowPostCounts: false,\n\t\t\t\t\t\t\tshowOnlyTopLevel: false,\n\t\t\t\t\t\t\tshowEmpty: false,\n\t\t\t\t\t\t\tshowLabel: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t{ Array.isArray( taxonomies ) && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t\treturn taxonomySlug !== 'category';\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { taxonomy: 'category' } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\t\toptions={ taxonomies.map( ( t ) => ( {\n\t\t\t\t\t\t\t\t\tlabel: t.name,\n\t\t\t\t\t\t\t\t\tvalue: t.slug,\n\t\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\t\t\tvalue={ taxonomySlug }\n\t\t\t\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\ttaxonomy: selectedTaxonomy,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! displayAsDropdown }\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAsDropdown: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\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={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showLabel }\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabel: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\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\tclassName=\"wp-block-categories__indentation\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showLabel' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showPostCounts }\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showPostCounts: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\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 post counts' ) }\n\t\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showOnlyTopLevel }\n\t\t\t\t\t\t\tlabel={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showOnlyTopLevel: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\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={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute(\n\t\t\t\t\t\t\t\t\t'showOnlyTopLevel'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! showEmpty }\n\t\t\t\t\t\tlabel={ __( 'Show empty terms' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showEmpty: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\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 empty terms' ) }\n\t\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isHierarchicalTaxonomy && ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! showHierarchy }\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showHierarchy: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\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={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Terms' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>{ taxonomy.labels.no_terms }</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</TagName>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["noticeStore", "clsx", "ToolsPanel", "ToolsPanelItem"]
7
7
  }
@@ -37,6 +37,7 @@ const transforms = {
37
37
  transform: (attributes) => {
38
38
  const { content } = attributes;
39
39
  return (0, import_blocks.createBlock)("core/code", {
40
+ ...attributes,
40
41
  ...(0, import_get_transformed_attributes.getTransformedAttributes)(attributes, "core/code"),
41
42
  content
42
43
  });
@@ -48,6 +49,7 @@ const transforms = {
48
49
  transform: (attributes) => {
49
50
  const { content: text } = attributes;
50
51
  return (0, import_blocks.createBlock)("core/code", {
52
+ ...attributes,
51
53
  ...(0, import_get_transformed_attributes.getTransformedAttributes)(attributes, "core/code"),
52
54
  // The HTML is plain text (with plain line breaks), so
53
55
  // convert it to rich text.