@wordpress/block-library 9.21.0 → 9.22.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 (143) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/cover/index.js +1 -1
  3. package/build/cover/index.js.map +1 -1
  4. package/build/details/edit.js +1 -5
  5. package/build/details/edit.js.map +1 -1
  6. package/build/details/index.js +1 -1
  7. package/build/details/index.js.map +1 -1
  8. package/build/navigation/view.js +2 -1
  9. package/build/navigation/view.js.map +1 -1
  10. package/build/navigation-link/edit.js +0 -21
  11. package/build/navigation-link/edit.js.map +1 -1
  12. package/build/navigation-link/index.js +0 -3
  13. package/build/navigation-link/index.js.map +1 -1
  14. package/build/navigation-link/transforms.js +0 -2
  15. package/build/navigation-link/transforms.js.map +1 -1
  16. package/build/navigation-link/update-attributes.js +0 -1
  17. package/build/navigation-link/update-attributes.js.map +1 -1
  18. package/build/navigation-submenu/edit.js +1 -24
  19. package/build/navigation-submenu/edit.js.map +1 -1
  20. package/build/navigation-submenu/index.js +0 -3
  21. package/build/navigation-submenu/index.js.map +1 -1
  22. package/build/post-comments-count/index.js +0 -1
  23. package/build/post-comments-count/index.js.map +1 -1
  24. package/build/post-comments-link/index.js +0 -1
  25. package/build/post-comments-link/index.js.map +1 -1
  26. package/build/post-featured-image/edit.js +15 -5
  27. package/build/post-featured-image/edit.js.map +1 -1
  28. package/build/query/edit/inspector-controls/index.js +47 -59
  29. package/build/query/edit/inspector-controls/index.js.map +1 -1
  30. package/build/query/edit/inspector-controls/parent-control.js +2 -2
  31. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  32. package/build/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  33. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  34. package/build/query/edit/query-content.js +4 -17
  35. package/build/query/edit/query-content.js.map +1 -1
  36. package/build/quote/index.js +1 -1
  37. package/build/quote/index.js.map +1 -1
  38. package/build/social-links/edit.js +29 -31
  39. package/build/social-links/edit.js.map +1 -1
  40. package/build/table/index.js +3 -3
  41. package/build/table/index.js.map +1 -1
  42. package/build/table/transforms.js +11 -3
  43. package/build/table/transforms.js.map +1 -1
  44. package/build/table-of-contents/edit.js +1 -1
  45. package/build/table-of-contents/edit.js.map +1 -1
  46. package/build/table-of-contents/hooks.js +6 -3
  47. package/build/table-of-contents/hooks.js.map +1 -1
  48. package/build-module/cover/index.js +1 -1
  49. package/build-module/cover/index.js.map +1 -1
  50. package/build-module/details/edit.js +1 -5
  51. package/build-module/details/edit.js.map +1 -1
  52. package/build-module/details/index.js +1 -1
  53. package/build-module/details/index.js.map +1 -1
  54. package/build-module/navigation/view.js +2 -1
  55. package/build-module/navigation/view.js.map +1 -1
  56. package/build-module/navigation-link/edit.js +0 -21
  57. package/build-module/navigation-link/edit.js.map +1 -1
  58. package/build-module/navigation-link/index.js +0 -3
  59. package/build-module/navigation-link/index.js.map +1 -1
  60. package/build-module/navigation-link/transforms.js +0 -2
  61. package/build-module/navigation-link/transforms.js.map +1 -1
  62. package/build-module/navigation-link/update-attributes.js +0 -1
  63. package/build-module/navigation-link/update-attributes.js.map +1 -1
  64. package/build-module/navigation-submenu/edit.js +1 -24
  65. package/build-module/navigation-submenu/edit.js.map +1 -1
  66. package/build-module/navigation-submenu/index.js +0 -3
  67. package/build-module/navigation-submenu/index.js.map +1 -1
  68. package/build-module/post-comments-count/index.js +0 -1
  69. package/build-module/post-comments-count/index.js.map +1 -1
  70. package/build-module/post-comments-link/index.js +0 -1
  71. package/build-module/post-comments-link/index.js.map +1 -1
  72. package/build-module/post-featured-image/edit.js +15 -5
  73. package/build-module/post-featured-image/edit.js.map +1 -1
  74. package/build-module/query/edit/inspector-controls/index.js +49 -61
  75. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  76. package/build-module/query/edit/inspector-controls/parent-control.js +2 -2
  77. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  78. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  79. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  80. package/build-module/query/edit/query-content.js +4 -17
  81. package/build-module/query/edit/query-content.js.map +1 -1
  82. package/build-module/quote/index.js +1 -1
  83. package/build-module/quote/index.js.map +1 -1
  84. package/build-module/social-links/edit.js +30 -32
  85. package/build-module/social-links/edit.js.map +1 -1
  86. package/build-module/table/index.js +3 -3
  87. package/build-module/table/index.js.map +1 -1
  88. package/build-module/table/transforms.js +11 -3
  89. package/build-module/table/transforms.js.map +1 -1
  90. package/build-module/table-of-contents/edit.js +1 -1
  91. package/build-module/table-of-contents/edit.js.map +1 -1
  92. package/build-module/table-of-contents/hooks.js +6 -3
  93. package/build-module/table-of-contents/hooks.js.map +1 -1
  94. package/build-style/editor-rtl.css +1 -50
  95. package/build-style/editor.css +1 -50
  96. package/build-style/media-text/style-rtl.css +0 -2
  97. package/build-style/media-text/style.css +0 -2
  98. package/build-style/search/style-rtl.css +1 -0
  99. package/build-style/search/style.css +1 -0
  100. package/build-style/social-links/editor-rtl.css +1 -50
  101. package/build-style/social-links/editor.css +1 -50
  102. package/build-style/style-rtl.css +1 -6
  103. package/build-style/style.css +1 -6
  104. package/build-style/tag-cloud/style-rtl.css +0 -4
  105. package/build-style/tag-cloud/style.css +0 -4
  106. package/package.json +35 -35
  107. package/src/button/index.php +2 -3
  108. package/src/cover/index.js +1 -1
  109. package/src/details/edit.js +6 -8
  110. package/src/details/index.js +1 -1
  111. package/src/file/index.php +2 -3
  112. package/src/latest-comments/index.php +1 -1
  113. package/src/latest-posts/index.php +3 -0
  114. package/src/media-text/style.scss +0 -2
  115. package/src/navigation/index.php +1 -1
  116. package/src/navigation/view.js +2 -1
  117. package/src/navigation-link/block.json +0 -3
  118. package/src/navigation-link/edit.js +1 -22
  119. package/src/navigation-link/index.php +1 -5
  120. package/src/navigation-link/transforms.js +1 -2
  121. package/src/navigation-link/update-attributes.js +0 -1
  122. package/src/navigation-submenu/block.json +0 -3
  123. package/src/navigation-submenu/edit.js +1 -24
  124. package/src/navigation-submenu/index.php +0 -4
  125. package/src/post-comments-count/block.json +0 -1
  126. package/src/post-comments-count/index.php +4 -0
  127. package/src/post-comments-link/block.json +0 -1
  128. package/src/post-comments-link/index.php +4 -0
  129. package/src/post-featured-image/edit.js +94 -77
  130. package/src/query/edit/inspector-controls/index.js +66 -91
  131. package/src/query/edit/inspector-controls/parent-control.js +2 -2
  132. package/src/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  133. package/src/query/edit/query-content.js +7 -16
  134. package/src/quote/index.js +1 -1
  135. package/src/search/index.php +12 -9
  136. package/src/search/style.scss +1 -0
  137. package/src/social-links/edit.js +29 -30
  138. package/src/social-links/editor.scss +1 -59
  139. package/src/table/index.js +3 -3
  140. package/src/table/transforms.js +14 -2
  141. package/src/table-of-contents/edit.js +1 -1
  142. package/src/table-of-contents/hooks.js +5 -2
  143. package/src/tag-cloud/style.scss +0 -5
@@ -1 +1 @@
1
- {"version":3,"names":["__","quote","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","value","type","source","selector","multiline","role","citation","textAlign","supports","anchor","align","html","background","backgroundImage","backgroundSize","__experimentalDefaultControls","__experimentalBorder","color","radius","style","width","dimensions","minHeight","__experimentalOnEnter","__experimentalOnMerge","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","gradients","heading","link","text","layout","allowEditing","spacing","blockGap","padding","margin","interactivity","clientNavigation","styles","label","isDefault","editorStyle","save","transforms","settings","example","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/quote/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { quote as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcitation: 'Julio Cortázar',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( 'In quoting others, we cite ourselves.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAA;MAAAC,IAAA;IAAA;IAAAC,QAAA;MAAAL,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAE,IAAA;IAAA;IAAAE,SAAA;MAAAN,IAAA;IAAA;EAAA;EAAAO,QAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,oBAAA;MAAAC,KAAA;MAAAC,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAL,6BAAA;QAAAE,KAAA;QAAAC,MAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,SAAA;MAAAP,6BAAA;QAAAO,SAAA;MAAA;IAAA;IAAAC,qBAAA;IAAAC,qBAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAlB,6BAAA;QAAAW,QAAA;MAAA;IAAA;IAAAT,KAAA;MAAAiB,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAArB,6BAAA;QAAAH,UAAA;QAAAyB,IAAA;MAAA;IAAA;IAAAC,MAAA;MAAAC,YAAA;IAAA;IAAAC,OAAA;MAAAC,QAAA;MAAAC,OAAA;MAAAC,MAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,MAAA;IAAArD,IAAA;IAAAsD,KAAA;IAAAC,SAAA;EAAA;IAAAvD,IAAA;IAAAsD,KAAA;EAAA;EAAAE,WAAA;EAAA9B,KAAA;AAAA;AAE1B,OAAO+B,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE1D;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM2D,QAAQ,GAAG;EACvBlE,IAAI;EACJmE,OAAO,EAAE;IACRtD,UAAU,EAAE;MACXO,QAAQ,EAAE;IACX,CAAC;IACDgD,WAAW,EAAE,CACZ;MACC7D,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACXwD,OAAO,EAAEvE,EAAE,CAAE,uCAAwC;MACtD;IACD,CAAC;EAEH,CAAC;EACDmE,UAAU;EACV9D,IAAI;EACJ6D,IAAI;EACJ9D;AACD,CAAC;AAED,OAAO,MAAMoE,IAAI,GAAGA,CAAA,KAAMrE,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAE8D;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__","quote","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","value","type","source","selector","multiline","role","citation","textAlign","supports","anchor","align","html","background","backgroundImage","backgroundSize","__experimentalDefaultControls","__experimentalBorder","color","radius","style","width","dimensions","minHeight","__experimentalOnEnter","__experimentalOnMerge","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","gradients","heading","link","text","layout","allowEditing","spacing","blockGap","padding","margin","interactivity","clientNavigation","styles","label","isDefault","editorStyle","save","transforms","settings","example","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/quote/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { quote as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcitation: __( 'Julio Cortázar' ),\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( 'In quoting others, we cite ourselves.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAA;MAAAC,IAAA;IAAA;IAAAC,QAAA;MAAAL,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAE,IAAA;IAAA;IAAAE,SAAA;MAAAN,IAAA;IAAA;EAAA;EAAAO,QAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,oBAAA;MAAAC,KAAA;MAAAC,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAL,6BAAA;QAAAE,KAAA;QAAAC,MAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,SAAA;MAAAP,6BAAA;QAAAO,SAAA;MAAA;IAAA;IAAAC,qBAAA;IAAAC,qBAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAlB,6BAAA;QAAAW,QAAA;MAAA;IAAA;IAAAT,KAAA;MAAAiB,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAArB,6BAAA;QAAAH,UAAA;QAAAyB,IAAA;MAAA;IAAA;IAAAC,MAAA;MAAAC,YAAA;IAAA;IAAAC,OAAA;MAAAC,QAAA;MAAAC,OAAA;MAAAC,MAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,MAAA;IAAArD,IAAA;IAAAsD,KAAA;IAAAC,SAAA;EAAA;IAAAvD,IAAA;IAAAsD,KAAA;EAAA;EAAAE,WAAA;EAAA9B,KAAA;AAAA;AAE1B,OAAO+B,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE1D;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM2D,QAAQ,GAAG;EACvBlE,IAAI;EACJmE,OAAO,EAAE;IACRtD,UAAU,EAAE;MACXO,QAAQ,EAAEtB,EAAE,CAAE,gBAAiB;IAChC,CAAC;IACDsE,WAAW,EAAE,CACZ;MACC7D,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACXwD,OAAO,EAAEvE,EAAE,CAAE,uCAAwC;MACtD;IACD,CAAC;EAEH,CAAC;EACDmE,UAAU;EACV9D,IAAI;EACJ6D,IAAI;EACJ9D;AACD,CAAC;AAED,OAAO,MAAMoE,IAAI,GAAGA,CAAA,KAAMrE,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAE8D;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -6,7 +6,7 @@ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { useEffect, useRef } from '@wordpress/element';
9
+ import { useEffect } from '@wordpress/element';
10
10
  import { BlockControls, useInnerBlocksProps, useBlockProps, InspectorControls, ContrastChecker, withColors, InnerBlocks, __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown, __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients, store as blockEditorStore } from '@wordpress/block-editor';
11
11
  import { MenuGroup, MenuItem, ToggleControl, ToolbarDropdownMenu, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
12
12
  import { __ } from '@wordpress/i18n';
@@ -45,51 +45,50 @@ export function SocialLinksEdit(props) {
45
45
  } = props;
46
46
  const {
47
47
  iconBackgroundColorValue,
48
- customIconBackgroundColor,
49
48
  iconColorValue,
50
49
  openInNewTab,
51
50
  showLabels,
52
51
  size
53
52
  } = attributes;
54
- const hasSelectedChild = useSelect(select => select(blockEditorStore).hasSelectedInnerBlock(clientId), [clientId]);
53
+ const {
54
+ hasSocialIcons,
55
+ hasSelectedChild
56
+ } = useSelect(select => {
57
+ const {
58
+ getBlockCount,
59
+ hasSelectedInnerBlock
60
+ } = select(blockEditorStore);
61
+ return {
62
+ hasSocialIcons: getBlockCount(clientId) > 0,
63
+ hasSelectedChild: hasSelectedInnerBlock(clientId)
64
+ };
65
+ }, [clientId]);
55
66
  const hasAnySelected = isSelected || hasSelectedChild;
56
67
  const logosOnly = attributes.className?.includes('is-style-logos-only');
57
68
  const dropdownMenuProps = useToolsPanelDropdownMenuProps();
58
69
 
59
70
  // Remove icon background color when logos only style is selected or
60
71
  // restore it when any other style is selected.
61
- const backgroundBackupRef = useRef({});
62
72
  useEffect(() => {
63
73
  if (logosOnly) {
64
- backgroundBackupRef.current = {
65
- iconBackgroundColor,
66
- iconBackgroundColorValue,
67
- customIconBackgroundColor
68
- };
69
- setAttributes({
70
- iconBackgroundColor: undefined,
71
- customIconBackgroundColor: undefined,
72
- iconBackgroundColorValue: undefined
74
+ let restore;
75
+ setAttributes(prev => {
76
+ restore = {
77
+ iconBackgroundColor: prev.iconBackgroundColor,
78
+ iconBackgroundColorValue: prev.iconBackgroundColorValue,
79
+ customIconBackgroundColor: prev.customIconBackgroundColor
80
+ };
81
+ return {
82
+ iconBackgroundColor: undefined,
83
+ iconBackgroundColorValue: undefined,
84
+ customIconBackgroundColor: undefined
85
+ };
73
86
  });
74
- } else {
75
- setAttributes({
76
- ...backgroundBackupRef.current
87
+ return () => setAttributes({
88
+ ...restore
77
89
  });
78
90
  }
79
- }, [logosOnly]);
80
- const SocialPlaceholder = /*#__PURE__*/_jsx("li", {
81
- className: "wp-block-social-links__social-placeholder",
82
- children: /*#__PURE__*/_jsxs("div", {
83
- className: "wp-block-social-links__social-placeholder-icons",
84
- children: [/*#__PURE__*/_jsx("div", {
85
- className: "wp-social-link wp-social-link-twitter"
86
- }), /*#__PURE__*/_jsx("div", {
87
- className: "wp-social-link wp-social-link-facebook"
88
- }), /*#__PURE__*/_jsx("div", {
89
- className: "wp-social-link wp-social-link-instagram"
90
- })]
91
- })
92
- });
91
+ }, [logosOnly, setAttributes]);
93
92
 
94
93
  // Fallback color values are used maintain selections in case switching
95
94
  // themes and named colors in palette do not match.
@@ -102,11 +101,10 @@ export function SocialLinksEdit(props) {
102
101
  className
103
102
  });
104
103
  const innerBlocksProps = useInnerBlocksProps(blockProps, {
105
- placeholder: !isSelected && SocialPlaceholder,
106
104
  templateLock: false,
107
105
  orientation: (_attributes$layout$or = attributes.layout?.orientation) !== null && _attributes$layout$or !== void 0 ? _attributes$layout$or : 'horizontal',
108
106
  __experimentalAppenderTagName: 'li',
109
- renderAppender: hasAnySelected && InnerBlocks.ButtonBlockAppender
107
+ renderAppender: !hasSocialIcons || hasAnySelected ? InnerBlocks.ButtonBlockAppender : undefined
110
108
  });
111
109
  const POPOVER_PROPS = {
112
110
  position: 'bottom right'
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useEffect","useRef","BlockControls","useInnerBlocksProps","useBlockProps","InspectorControls","ContrastChecker","withColors","InnerBlocks","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","store","blockEditorStore","MenuGroup","MenuItem","ToggleControl","ToolbarDropdownMenu","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","check","useSelect","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","sizeOptions","name","value","SocialLinksEdit","props","_attributes$layout$or","clientId","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","customIconBackgroundColor","iconColorValue","openInNewTab","showLabels","size","hasSelectedChild","select","hasSelectedInnerBlock","hasAnySelected","logosOnly","className","includes","dropdownMenuProps","backgroundBackupRef","current","undefined","SocialPlaceholder","children","color","blockProps","innerBlocksProps","placeholder","templateLock","orientation","layout","__experimentalAppenderTagName","renderAppender","ButtonBlockAppender","POPOVER_PROPS","position","colorSettings","onChange","colorValue","label","resetAllFilter","push","colorGradientSettings","group","text","icon","popoverProps","onClose","map","entry","onClick","role","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","checked","hasColorsOrGradients","__experimentalIsRenderedInSidebar","settings","onColorChange","enableAlpha","clearable","panelId","textColor","backgroundColor","isLargeText","iconColorAttributes"],"sources":["@wordpress/block-library/src/social-links/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\twithColors,\n\tInnerBlocks,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst sizeOptions = [\n\t{ name: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ name: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ name: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ name: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\tcustomIconBackgroundColor,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t} = attributes;\n\n\tconst hasSelectedChild = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).hasSelectedInnerBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\n\tconst hasAnySelected = isSelected || hasSelectedChild;\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tconst backgroundBackupRef = useRef( {} );\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tbackgroundBackupRef.current = {\n\t\t\t\ticonBackgroundColor,\n\t\t\t\ticonBackgroundColorValue,\n\t\t\t\tcustomIconBackgroundColor,\n\t\t\t};\n\t\t\tsetAttributes( {\n\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( { ...backgroundBackupRef.current } );\n\t\t}\n\t}, [ logosOnly ] );\n\n\tconst SocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-placeholder\">\n\t\t\t<div className=\"wp-block-social-links__social-placeholder-icons\">\n\t\t\t\t<div className=\"wp-social-link wp-social-link-twitter\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-facebook\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-instagram\"></div>\n\t\t\t</div>\n\t\t</li>\n\t);\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = clsx( size, {\n\t\t'has-visible-labels': showLabels,\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tplaceholder: ! isSelected && SocialPlaceholder,\n\t\ttemplateLock: false,\n\t\torientation: attributes.layout?.orientation ?? 'horizontal',\n\t\t__experimentalAppenderTagName: 'li',\n\t\trenderAppender: hasAnySelected && InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\tconst POPOVER_PROPS = {\n\t\tposition: 'bottom right',\n\t};\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconColor( undefined );\n\t\t\t\tsetAttributes( { iconColorValue: undefined } );\n\t\t\t},\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconBackgroundColor( undefined );\n\t\t\t\tsetAttributes( { iconBackgroundColorValue: undefined } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\ttext={ __( 'Size' ) }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ sizeOptions.map( ( entry ) => {\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\ticon={\n\t\t\t\t\t\t\t\t\t\t\t( size === entry.value ||\n\t\t\t\t\t\t\t\t\t\t\t\t( ! size &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry.value ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'has-normal-icon-size' ) ) &&\n\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisSelected={ size === entry.value }\n\t\t\t\t\t\t\t\t\t\tkey={ entry.value }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tsize: entry.value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ entry.name }\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\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\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\topenInNewTab: false,\n\t\t\t\t\t\t\tshowLabels: false,\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\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\thasValue={ () => !! openInNewTab }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: 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\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\t\tchecked={ openInNewTab }\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\topenInNewTab: ! openInNewTab,\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\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\thasValue={ () => !! showLabels }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: 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\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\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{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t{ colorSettings.map(\n\t\t\t\t\t\t( { onChange, label, value, resetAllFilter } ) => (\n\t\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\t\tkey={ `social-links-color-${ label }` }\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcolorValue: value,\n\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\tonColorChange: onChange,\n\t\t\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\t\t\tresetAllFilter,\n\t\t\t\t\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t\t\t\t\t\tclearable: true,\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\tpanelId={ clientId }\n\t\t\t\t\t\t\t\t{ ...colorGradientSettings }\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{ ! logosOnly && (\n\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useEffect","BlockControls","useInnerBlocksProps","useBlockProps","InspectorControls","ContrastChecker","withColors","InnerBlocks","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","store","blockEditorStore","MenuGroup","MenuItem","ToggleControl","ToolbarDropdownMenu","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","check","useSelect","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","sizeOptions","name","value","SocialLinksEdit","props","_attributes$layout$or","clientId","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","iconColorValue","openInNewTab","showLabels","size","hasSocialIcons","hasSelectedChild","select","getBlockCount","hasSelectedInnerBlock","hasAnySelected","logosOnly","className","includes","dropdownMenuProps","restore","prev","customIconBackgroundColor","undefined","color","blockProps","innerBlocksProps","templateLock","orientation","layout","__experimentalAppenderTagName","renderAppender","ButtonBlockAppender","POPOVER_PROPS","position","colorSettings","onChange","colorValue","label","resetAllFilter","push","colorGradientSettings","children","group","text","icon","popoverProps","onClose","map","entry","onClick","role","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","checked","hasColorsOrGradients","__experimentalIsRenderedInSidebar","settings","onColorChange","enableAlpha","clearable","panelId","textColor","backgroundColor","isLargeText","iconColorAttributes"],"sources":["@wordpress/block-library/src/social-links/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\twithColors,\n\tInnerBlocks,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst sizeOptions = [\n\t{ name: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ name: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ name: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ name: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t} = attributes;\n\n\tconst { hasSocialIcons, hasSelectedChild } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\thasSocialIcons: getBlockCount( clientId ) > 0,\n\t\t\t\thasSelectedChild: hasSelectedInnerBlock( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst hasAnySelected = isSelected || hasSelectedChild;\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tlet restore;\n\t\t\tsetAttributes( ( prev ) => {\n\t\t\t\trestore = {\n\t\t\t\t\ticonBackgroundColor: prev.iconBackgroundColor,\n\t\t\t\t\ticonBackgroundColorValue: prev.iconBackgroundColorValue,\n\t\t\t\t\tcustomIconBackgroundColor: prev.customIconBackgroundColor,\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\t};\n\t\t\t} );\n\n\t\t\treturn () => setAttributes( { ...restore } );\n\t\t}\n\t}, [ logosOnly, setAttributes ] );\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = clsx( size, {\n\t\t'has-visible-labels': showLabels,\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: false,\n\t\torientation: attributes.layout?.orientation ?? 'horizontal',\n\t\t__experimentalAppenderTagName: 'li',\n\t\trenderAppender:\n\t\t\t! hasSocialIcons || hasAnySelected\n\t\t\t\t? InnerBlocks.ButtonBlockAppender\n\t\t\t\t: undefined,\n\t} );\n\n\tconst POPOVER_PROPS = {\n\t\tposition: 'bottom right',\n\t};\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconColor( undefined );\n\t\t\t\tsetAttributes( { iconColorValue: undefined } );\n\t\t\t},\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t\tresetAllFilter: () => {\n\t\t\t\tsetIconBackgroundColor( undefined );\n\t\t\t\tsetAttributes( { iconBackgroundColorValue: undefined } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\ttext={ __( 'Size' ) }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ sizeOptions.map( ( entry ) => {\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\ticon={\n\t\t\t\t\t\t\t\t\t\t\t( size === entry.value ||\n\t\t\t\t\t\t\t\t\t\t\t\t( ! size &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry.value ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'has-normal-icon-size' ) ) &&\n\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisSelected={ size === entry.value }\n\t\t\t\t\t\t\t\t\t\tkey={ entry.value }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tsize: entry.value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ entry.name }\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\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\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\topenInNewTab: false,\n\t\t\t\t\t\t\tshowLabels: false,\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\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\thasValue={ () => !! openInNewTab }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: 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\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\t\tchecked={ openInNewTab }\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\topenInNewTab: ! openInNewTab,\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\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\thasValue={ () => !! showLabels }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: 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\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show text' ) }\n\t\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\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{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t{ colorSettings.map(\n\t\t\t\t\t\t( { onChange, label, value, resetAllFilter } ) => (\n\t\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\t\tkey={ `social-links-color-${ label }` }\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcolorValue: value,\n\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\tonColorChange: onChange,\n\t\t\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\t\t\tresetAllFilter,\n\t\t\t\t\t\t\t\t\t\tenableAlpha: true,\n\t\t\t\t\t\t\t\t\t\tclearable: true,\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\tpanelId={ clientId }\n\t\t\t\t\t\t\t\t{ ...colorGradientSettings }\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{ ! logosOnly && (\n\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"],"mappings":"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","ignoreList":[]}
@@ -253,7 +253,7 @@ export const settings = {
253
253
  content: '5.2',
254
254
  tag: 'td'
255
255
  }, {
256
- content: 'Jaco Pastorius',
256
+ content: __('Jaco Pastorius'),
257
257
  tag: 'td'
258
258
  }, {
259
259
  content: __('May 7, 2019'),
@@ -264,7 +264,7 @@ export const settings = {
264
264
  content: '5.1',
265
265
  tag: 'td'
266
266
  }, {
267
- content: 'Betty Carter',
267
+ content: __('Betty Carter'),
268
268
  tag: 'td'
269
269
  }, {
270
270
  content: __('February 21, 2019'),
@@ -275,7 +275,7 @@ export const settings = {
275
275
  content: '5.0',
276
276
  tag: 'td'
277
277
  }, {
278
- content: 'Bebo Valdés',
278
+ content: __('Bebo Valdés'),
279
279
  tag: 'td'
280
280
  }, {
281
281
  content: __('December 6, 2018'),
@@ -1 +1 @@
1
- {"version":3,"names":["__","blockTable","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","hasFixedLayout","type","caption","source","selector","head","query","cells","content","tag","scope","attribute","align","colspan","rowspan","body","foot","supports","anchor","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalBorder","style","width","interactivity","clientNavigation","selectors","root","styles","label","isDefault","editorStyle","save","transforms","settings","example","viewportWidth","init"],"sources":["@wordpress/block-library/src/table/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { blockTable as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\thead: [\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Version' ),\n\t\t\t\t\t\t\ttag: 'th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Jazz Musician' ),\n\t\t\t\t\t\t\ttag: 'th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Release Date' ),\n\t\t\t\t\t\t\ttag: 'th',\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\tbody: [\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.2',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Jaco Pastorius',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'May 7, 2019' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.1',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Betty Carter',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'February 21, 2019' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.0',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: 'Bebo Valdés',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'December 6, 2018' ),\n\t\t\t\t\t\t\ttag: 'td',\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\tviewportWidth: 450,\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","blockTable","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","hasFixedLayout","type","caption","source","selector","head","query","cells","content","tag","scope","attribute","align","colspan","rowspan","body","foot","supports","anchor","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalBorder","style","width","interactivity","clientNavigation","selectors","root","styles","label","isDefault","editorStyle","save","transforms","settings","example","viewportWidth","init"],"sources":["@wordpress/block-library/src/table/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { blockTable as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\thead: [\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Version' ),\n\t\t\t\t\t\t\ttag: 'th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Jazz Musician' ),\n\t\t\t\t\t\t\ttag: 'th',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Release Date' ),\n\t\t\t\t\t\t\ttag: 'th',\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\tbody: [\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.2',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Jaco Pastorius' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'May 7, 2019' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.1',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Betty Carter' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'February 21, 2019' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcells: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: '5.0',\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'Bebo Valdés' ),\n\t\t\t\t\t\t\ttag: 'td',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcontent: __( 'December 6, 2018' ),\n\t\t\t\t\t\t\ttag: 'td',\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\tviewportWidth: 450,\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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","ignoreList":[]}
@@ -16,12 +16,12 @@ const tableContentPasteSchema = ({
16
16
  th: {
17
17
  allowEmpty: true,
18
18
  children: phrasingContentSchema,
19
- attributes: ['scope', 'colspan', 'rowspan']
19
+ attributes: ['scope', 'colspan', 'rowspan', 'style']
20
20
  },
21
21
  td: {
22
22
  allowEmpty: true,
23
23
  children: phrasingContentSchema,
24
- attributes: ['colspan', 'rowspan']
24
+ attributes: ['colspan', 'rowspan', 'style']
25
25
  }
26
26
  }
27
27
  }
@@ -62,11 +62,19 @@ const transforms = {
62
62
  const rowAttributes = Array.from(row.children).reduce((colAcc, col) => {
63
63
  const rowspan = normalizeRowColSpan(col.getAttribute('rowspan'));
64
64
  const colspan = normalizeRowColSpan(col.getAttribute('colspan'));
65
+ const {
66
+ textAlign
67
+ } = col.style || {};
68
+ let align;
69
+ if (textAlign === 'left' || textAlign === 'center' || textAlign === 'right') {
70
+ align = textAlign;
71
+ }
65
72
  colAcc.push({
66
73
  tag: col.nodeName.toLowerCase(),
67
74
  content: col.innerHTML,
68
75
  rowspan,
69
- colspan
76
+ colspan,
77
+ align
70
78
  });
71
79
  return colAcc;
72
80
  }, []);
@@ -1 +1 @@
1
- {"version":3,"names":["createBlock","normalizeRowColSpan","tableContentPasteSchema","phrasingContentSchema","tr","allowEmpty","children","th","attributes","td","tablePasteSchema","args","table","thead","tfoot","tbody","transforms","from","type","selector","schema","transform","node","Array","reduce","sectionAcc","section","length","sectionName","nodeName","toLowerCase","slice","sectionAttributes","rowAcc","row","rowAttributes","colAcc","col","rowspan","getAttribute","colspan","push","tag","content","innerHTML","cells"],"sources":["@wordpress/block-library/src/table/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { normalizeRowColSpan } from './utils';\n\nconst tableContentPasteSchema = ( { phrasingContentSchema } ) => ( {\n\ttr: {\n\t\tallowEmpty: true,\n\t\tchildren: {\n\t\t\tth: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\tattributes: [ 'scope', 'colspan', 'rowspan' ],\n\t\t\t},\n\t\t\ttd: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\tattributes: [ 'colspan', 'rowspan' ],\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst tablePasteSchema = ( args ) => ( {\n\ttable: {\n\t\tchildren: {\n\t\t\tthead: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: tableContentPasteSchema( args ),\n\t\t\t},\n\t\t\ttfoot: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: tableContentPasteSchema( args ),\n\t\t\t},\n\t\t\ttbody: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: tableContentPasteSchema( args ),\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'table',\n\t\t\tschema: tablePasteSchema,\n\t\t\ttransform: ( node ) => {\n\t\t\t\tconst attributes = Array.from( node.children ).reduce(\n\t\t\t\t\t( sectionAcc, section ) => {\n\t\t\t\t\t\tif ( ! section.children.length ) {\n\t\t\t\t\t\t\treturn sectionAcc;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst sectionName = section.nodeName\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.slice( 1 );\n\n\t\t\t\t\t\tconst sectionAttributes = Array.from(\n\t\t\t\t\t\t\tsection.children\n\t\t\t\t\t\t).reduce( ( rowAcc, row ) => {\n\t\t\t\t\t\t\tif ( ! row.children.length ) {\n\t\t\t\t\t\t\t\treturn rowAcc;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst rowAttributes = Array.from(\n\t\t\t\t\t\t\t\trow.children\n\t\t\t\t\t\t\t).reduce( ( colAcc, col ) => {\n\t\t\t\t\t\t\t\tconst rowspan = normalizeRowColSpan(\n\t\t\t\t\t\t\t\t\tcol.getAttribute( 'rowspan' )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tconst colspan = normalizeRowColSpan(\n\t\t\t\t\t\t\t\t\tcol.getAttribute( 'colspan' )\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tcolAcc.push( {\n\t\t\t\t\t\t\t\t\ttag: col.nodeName.toLowerCase(),\n\t\t\t\t\t\t\t\t\tcontent: col.innerHTML,\n\t\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\treturn colAcc;\n\t\t\t\t\t\t\t}, [] );\n\n\t\t\t\t\t\t\trowAcc.push( {\n\t\t\t\t\t\t\t\tcells: rowAttributes,\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\treturn rowAcc;\n\t\t\t\t\t\t}, [] );\n\n\t\t\t\t\t\tsectionAcc[ sectionName ] = sectionAttributes;\n\t\t\t\t\t\treturn sectionAcc;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\treturn createBlock( 'core/table', attributes );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,mBAAmB;;AAE/C;AACA;AACA;AACA,SAASC,mBAAmB,QAAQ,SAAS;AAE7C,MAAMC,uBAAuB,GAAGA,CAAE;EAAEC;AAAsB,CAAC,MAAQ;EAClEC,EAAE,EAAE;IACHC,UAAU,EAAE,IAAI;IAChBC,QAAQ,EAAE;MACTC,EAAE,EAAE;QACHF,UAAU,EAAE,IAAI;QAChBC,QAAQ,EAAEH,qBAAqB;QAC/BK,UAAU,EAAE,CAAE,OAAO,EAAE,SAAS,EAAE,SAAS;MAC5C,CAAC;MACDC,EAAE,EAAE;QACHJ,UAAU,EAAE,IAAI;QAChBC,QAAQ,EAAEH,qBAAqB;QAC/BK,UAAU,EAAE,CAAE,SAAS,EAAE,SAAS;MACnC;IACD;EACD;AACD,CAAC,CAAE;AAEH,MAAME,gBAAgB,GAAKC,IAAI,KAAQ;EACtCC,KAAK,EAAE;IACNN,QAAQ,EAAE;MACTO,KAAK,EAAE;QACNR,UAAU,EAAE,IAAI;QAChBC,QAAQ,EAAEJ,uBAAuB,CAAES,IAAK;MACzC,CAAC;MACDG,KAAK,EAAE;QACNT,UAAU,EAAE,IAAI;QAChBC,QAAQ,EAAEJ,uBAAuB,CAAES,IAAK;MACzC,CAAC;MACDI,KAAK,EAAE;QACNV,UAAU,EAAE,IAAI;QAChBC,QAAQ,EAAEJ,uBAAuB,CAAES,IAAK;MACzC;IACD;EACD;AACD,CAAC,CAAE;AAEH,MAAMK,UAAU,GAAG;EAClBC,IAAI,EAAE,CACL;IACCC,IAAI,EAAE,KAAK;IACXC,QAAQ,EAAE,OAAO;IACjBC,MAAM,EAAEV,gBAAgB;IACxBW,SAAS,EAAIC,IAAI,IAAM;MACtB,MAAMd,UAAU,GAAGe,KAAK,CAACN,IAAI,CAAEK,IAAI,CAAChB,QAAS,CAAC,CAACkB,MAAM,CACpD,CAAEC,UAAU,EAAEC,OAAO,KAAM;QAC1B,IAAK,CAAEA,OAAO,CAACpB,QAAQ,CAACqB,MAAM,EAAG;UAChC,OAAOF,UAAU;QAClB;QAEA,MAAMG,WAAW,GAAGF,OAAO,CAACG,QAAQ,CAClCC,WAAW,CAAC,CAAC,CACbC,KAAK,CAAE,CAAE,CAAC;QAEZ,MAAMC,iBAAiB,GAAGT,KAAK,CAACN,IAAI,CACnCS,OAAO,CAACpB,QACT,CAAC,CAACkB,MAAM,CAAE,CAAES,MAAM,EAAEC,GAAG,KAAM;UAC5B,IAAK,CAAEA,GAAG,CAAC5B,QAAQ,CAACqB,MAAM,EAAG;YAC5B,OAAOM,MAAM;UACd;UAEA,MAAME,aAAa,GAAGZ,KAAK,CAACN,IAAI,CAC/BiB,GAAG,CAAC5B,QACL,CAAC,CAACkB,MAAM,CAAE,CAAEY,MAAM,EAAEC,GAAG,KAAM;YAC5B,MAAMC,OAAO,GAAGrC,mBAAmB,CAClCoC,GAAG,CAACE,YAAY,CAAE,SAAU,CAC7B,CAAC;YACD,MAAMC,OAAO,GAAGvC,mBAAmB,CAClCoC,GAAG,CAACE,YAAY,CAAE,SAAU,CAC7B,CAAC;YAEDH,MAAM,CAACK,IAAI,CAAE;cACZC,GAAG,EAAEL,GAAG,CAACR,QAAQ,CAACC,WAAW,CAAC,CAAC;cAC/Ba,OAAO,EAAEN,GAAG,CAACO,SAAS;cACtBN,OAAO;cACPE;YACD,CAAE,CAAC;YAEH,OAAOJ,MAAM;UACd,CAAC,EAAE,EAAG,CAAC;UAEPH,MAAM,CAACQ,IAAI,CAAE;YACZI,KAAK,EAAEV;UACR,CAAE,CAAC;UAEH,OAAOF,MAAM;QACd,CAAC,EAAE,EAAG,CAAC;QAEPR,UAAU,CAAEG,WAAW,CAAE,GAAGI,iBAAiB;QAC7C,OAAOP,UAAU;MAClB,CAAC,EACD,CAAC,CACF,CAAC;MAED,OAAOzB,WAAW,CAAE,YAAY,EAAEQ,UAAW,CAAC;IAC/C;EACD,CAAC;AAEH,CAAC;AAED,eAAeQ,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["createBlock","normalizeRowColSpan","tableContentPasteSchema","phrasingContentSchema","tr","allowEmpty","children","th","attributes","td","tablePasteSchema","args","table","thead","tfoot","tbody","transforms","from","type","selector","schema","transform","node","Array","reduce","sectionAcc","section","length","sectionName","nodeName","toLowerCase","slice","sectionAttributes","rowAcc","row","rowAttributes","colAcc","col","rowspan","getAttribute","colspan","textAlign","style","align","push","tag","content","innerHTML","cells"],"sources":["@wordpress/block-library/src/table/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { normalizeRowColSpan } from './utils';\n\nconst tableContentPasteSchema = ( { phrasingContentSchema } ) => ( {\n\ttr: {\n\t\tallowEmpty: true,\n\t\tchildren: {\n\t\t\tth: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\tattributes: [ 'scope', 'colspan', 'rowspan', 'style' ],\n\t\t\t},\n\t\t\ttd: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\tattributes: [ 'colspan', 'rowspan', 'style' ],\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst tablePasteSchema = ( args ) => ( {\n\ttable: {\n\t\tchildren: {\n\t\t\tthead: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: tableContentPasteSchema( args ),\n\t\t\t},\n\t\t\ttfoot: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: tableContentPasteSchema( args ),\n\t\t\t},\n\t\t\ttbody: {\n\t\t\t\tallowEmpty: true,\n\t\t\t\tchildren: tableContentPasteSchema( args ),\n\t\t\t},\n\t\t},\n\t},\n} );\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tselector: 'table',\n\t\t\tschema: tablePasteSchema,\n\t\t\ttransform: ( node ) => {\n\t\t\t\tconst attributes = Array.from( node.children ).reduce(\n\t\t\t\t\t( sectionAcc, section ) => {\n\t\t\t\t\t\tif ( ! section.children.length ) {\n\t\t\t\t\t\t\treturn sectionAcc;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst sectionName = section.nodeName\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.slice( 1 );\n\n\t\t\t\t\t\tconst sectionAttributes = Array.from(\n\t\t\t\t\t\t\tsection.children\n\t\t\t\t\t\t).reduce( ( rowAcc, row ) => {\n\t\t\t\t\t\t\tif ( ! row.children.length ) {\n\t\t\t\t\t\t\t\treturn rowAcc;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst rowAttributes = Array.from(\n\t\t\t\t\t\t\t\trow.children\n\t\t\t\t\t\t\t).reduce( ( colAcc, col ) => {\n\t\t\t\t\t\t\t\tconst rowspan = normalizeRowColSpan(\n\t\t\t\t\t\t\t\t\tcol.getAttribute( 'rowspan' )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tconst colspan = normalizeRowColSpan(\n\t\t\t\t\t\t\t\t\tcol.getAttribute( 'colspan' )\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tconst { textAlign } = col.style || {};\n\n\t\t\t\t\t\t\t\tlet align;\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\ttextAlign === 'left' ||\n\t\t\t\t\t\t\t\t\ttextAlign === 'center' ||\n\t\t\t\t\t\t\t\t\ttextAlign === 'right'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\talign = textAlign;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tcolAcc.push( {\n\t\t\t\t\t\t\t\t\ttag: col.nodeName.toLowerCase(),\n\t\t\t\t\t\t\t\t\tcontent: col.innerHTML,\n\t\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\treturn colAcc;\n\t\t\t\t\t\t\t}, [] );\n\n\t\t\t\t\t\t\trowAcc.push( {\n\t\t\t\t\t\t\t\tcells: rowAttributes,\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\treturn rowAcc;\n\t\t\t\t\t\t}, [] );\n\n\t\t\t\t\t\tsectionAcc[ sectionName ] = sectionAttributes;\n\t\t\t\t\t\treturn sectionAcc;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\treturn createBlock( 'core/table', attributes );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
@@ -148,7 +148,7 @@ export default function TableOfContentsEdit({
148
148
  onChange: value => setAttributes({
149
149
  maxLevel: value ? parseInt(value) : undefined
150
150
  }),
151
- help: maxLevel ? __('Including all heading levels in the table of contents.') : __('Only include headings up to and including this level.')
151
+ help: !maxLevel ? __('Including all heading levels in the table of contents.') : __('Only include headings up to and including this level.')
152
152
  })
153
153
  })]
154
154
  })
@@ -1 +1 @@
1
- {"version":3,"names":["BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","Placeholder","ToggleControl","SelectControl","ToolbarButton","ToolbarGroup","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","useDispatch","useSelect","renderToString","__","useInstanceId","noticeStore","tableOfContents","icon","TableOfContentsList","linearToNestedHeadingList","useObserveHeadings","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","maxLevel","clientId","setAttributes","blockProps","instanceId","createWarningNotice","showRedirectionPreventedNotice","event","preventDefault","id","type","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","replaceBlocks","dropdownMenuProps","headingTree","toolbarControls","children","onClick","ordered","values","nestedHeadingList","inspectorControls","label","resetAll","undefined","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","onChange","value","help","__next40pxDefaultSize","options","parseInt","length","instructions","disableLinkActivation"],"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tToggleControl,\n\tSelectControl,\n\tToolbarButton,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\nimport { useObserveHeadings } from './hooks';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/** @typedef {import('./utils').HeadingData} HeadingData */\n\n/**\n * Table of Contents block edit component.\n *\n * @param {Object} props The props.\n * @param {Object} props.attributes The block attributes.\n * @param {HeadingData[]} props.attributes.headings The list of data for each heading in the post.\n * @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).\n * @param {number|undefined} props.attributes.maxLevel The maximum heading level to include, or null to include all levels.\n * @param {string} props.clientId The client id.\n * @param {(attributes: Object) => void} props.setAttributes The set attributes function.\n *\n * @return {Component} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage, maxLevel },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tuseObserveHeadings( clientId );\n\n\tconst blockProps = useBlockProps();\n\tconst instanceId = useInstanceId(\n\t\tTableOfContentsEdit,\n\t\t'table-of-contents'\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\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/table-of-contents/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn canInsertBlockType( 'core/list', rootClientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = canInsertList && (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\tordered: true,\n\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\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}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tonlyIncludeCurrentPage: false,\n\t\t\t\t\t\tmaxLevel: undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! onlyIncludeCurrentPage }\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Only including headings from the current page (if the post is paginated).'\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\t\t'Include headings from all pages (if the post is paginated).'\n\t\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</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! maxLevel }\n\t\t\t\t\tlabel={ __( 'Limit heading levels' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { maxLevel: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Include headings down to level' ) }\n\t\t\t\t\t\tvalue={ maxLevel || '' }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'All levels' ) },\n\t\t\t\t\t\t\t{ value: '1', label: __( 'Heading 1' ) },\n\t\t\t\t\t\t\t{ value: '2', label: __( 'Heading 2' ) },\n\t\t\t\t\t\t\t{ value: '3', label: __( 'Heading 3' ) },\n\t\t\t\t\t\t\t{ value: '4', label: __( 'Heading 4' ) },\n\t\t\t\t\t\t\t{ value: '5', label: __( 'Heading 5' ) },\n\t\t\t\t\t\t\t{ value: '6', label: __( 'Heading 6' ) },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tmaxLevel: value ? parseInt( value ) : undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\tmaxLevel\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Including all heading levels in the table of contents.'\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\t\t'Only include headings up to and including this level.'\n\t\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</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\t// If there are no headings or the only heading is empty.\n\t// Note that the toolbar controls are intentionally omitted since the\n\t// \"Convert to static list\" option is useless to the placeholder state.\n\tif ( headings.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\tlabel={ __( 'Table of Contents' ) }\n\t\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t\t'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ inspectorControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ol>\n\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t/>\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","Placeholder","ToggleControl","SelectControl","ToolbarButton","ToolbarGroup","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","useDispatch","useSelect","renderToString","__","useInstanceId","noticeStore","tableOfContents","icon","TableOfContentsList","linearToNestedHeadingList","useObserveHeadings","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","maxLevel","clientId","setAttributes","blockProps","instanceId","createWarningNotice","showRedirectionPreventedNotice","event","preventDefault","id","type","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","replaceBlocks","dropdownMenuProps","headingTree","toolbarControls","children","onClick","ordered","values","nestedHeadingList","inspectorControls","label","resetAll","undefined","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","onChange","value","help","__next40pxDefaultSize","options","parseInt","length","instructions","disableLinkActivation"],"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tToggleControl,\n\tSelectControl,\n\tToolbarButton,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\nimport { useObserveHeadings } from './hooks';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/** @typedef {import('./utils').HeadingData} HeadingData */\n\n/**\n * Table of Contents block edit component.\n *\n * @param {Object} props The props.\n * @param {Object} props.attributes The block attributes.\n * @param {HeadingData[]} props.attributes.headings The list of data for each heading in the post.\n * @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).\n * @param {number|undefined} props.attributes.maxLevel The maximum heading level to include, or null to include all levels.\n * @param {string} props.clientId The client id.\n * @param {(attributes: Object) => void} props.setAttributes The set attributes function.\n *\n * @return {Component} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage, maxLevel },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tuseObserveHeadings( clientId );\n\n\tconst blockProps = useBlockProps();\n\tconst instanceId = useInstanceId(\n\t\tTableOfContentsEdit,\n\t\t'table-of-contents'\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\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/table-of-contents/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn canInsertBlockType( 'core/list', rootClientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = canInsertList && (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\tordered: true,\n\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\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}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tonlyIncludeCurrentPage: false,\n\t\t\t\t\t\tmaxLevel: undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! onlyIncludeCurrentPage }\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Only including headings from the current page (if the post is paginated).'\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\t\t'Include headings from all pages (if the post is paginated).'\n\t\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</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! maxLevel }\n\t\t\t\t\tlabel={ __( 'Limit heading levels' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { maxLevel: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Include headings down to level' ) }\n\t\t\t\t\t\tvalue={ maxLevel || '' }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'All levels' ) },\n\t\t\t\t\t\t\t{ value: '1', label: __( 'Heading 1' ) },\n\t\t\t\t\t\t\t{ value: '2', label: __( 'Heading 2' ) },\n\t\t\t\t\t\t\t{ value: '3', label: __( 'Heading 3' ) },\n\t\t\t\t\t\t\t{ value: '4', label: __( 'Heading 4' ) },\n\t\t\t\t\t\t\t{ value: '5', label: __( 'Heading 5' ) },\n\t\t\t\t\t\t\t{ value: '6', label: __( 'Heading 6' ) },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tmaxLevel: value ? parseInt( value ) : undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t! maxLevel\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Including all heading levels in the table of contents.'\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\t\t'Only include headings up to and including this level.'\n\t\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</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\t// If there are no headings or the only heading is empty.\n\t// Note that the toolbar controls are intentionally omitted since the\n\t// \"Convert to static list\" option is useless to the placeholder state.\n\tif ( headings.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\tlabel={ __( 'Table of Contents' ) }\n\t\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t\t'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ inspectorControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ol>\n\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t/>\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -129,9 +129,12 @@ function observeCallback(select, dispatch, clientId) {
129
129
  }
130
130
  const headings = getLatestHeadings(select, clientId);
131
131
  if (!fastDeepEqual(headings, attributes.headings)) {
132
- __unstableMarkNextChangeAsNotPersistent();
133
- updateBlockAttributes(clientId, {
134
- headings
132
+ // Executing the update in a microtask ensures that the non-persistent marker doesn't affect an attribute triggering the change.
133
+ window.queueMicrotask(() => {
134
+ __unstableMarkNextChangeAsNotPersistent();
135
+ updateBlockAttributes(clientId, {
136
+ headings
137
+ });
135
138
  });
136
139
  }
137
140
  }
@@ -1 +1 @@
1
- {"version":3,"names":["fastDeepEqual","useRegistry","__unstableStripHTML","stripHTML","useEffect","addQueryArgs","removeQueryArgs","store","blockEditorStore","getLatestHeadings","select","clientId","_select$getPermalink","_getBlockAttributes","getBlockAttributes","getBlockName","getBlocksByName","getClientIdsOfDescendants","permalink","getPermalink","isPaginated","length","onlyIncludeCurrentPage","maxLevel","postContentClientId","allBlockClientIds","tocPage","tocIndex","indexOf","blockIndex","blockClientId","entries","latestHeadings","headingPage","headingPageLink","page","blockName","headingAttributes","level","canBeLinked","anchor","push","content","replace","link","observeCallback","dispatch","updateBlockAttributes","__unstableMarkNextChangeAsNotPersistent","attributes","headings","useObserveHeadings","registry","subscribe"],"sources":["@wordpress/block-library/src/table-of-contents/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry } from '@wordpress/data';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { useEffect } from '@wordpress/element';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nfunction getLatestHeadings( select, clientId ) {\n\tconst {\n\t\tgetBlockAttributes,\n\t\tgetBlockName,\n\t\tgetBlocksByName,\n\t\tgetClientIdsOfDescendants,\n\t} = select( blockEditorStore );\n\n\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t// Blocks can be loaded into a *non-post* block editor, so to avoid\n\t// declaring @wordpress/editor as a dependency, we must access its\n\t// store by string. When the store is not available, editorSelectors\n\t// will be null, and the block's saved markup will lack permalinks.\n\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\tconst permalink = select( 'core/editor' ).getPermalink() ?? null;\n\n\tconst isPaginated = getBlocksByName( 'core/nextpage' ).length !== 0;\n\tconst { onlyIncludeCurrentPage, maxLevel } =\n\t\tgetBlockAttributes( clientId ) ?? {};\n\n\t// Get post-content block client ID.\n\tconst [ postContentClientId = '' ] = getBlocksByName( 'core/post-content' );\n\n\t// Get the client ids of all blocks in the editor.\n\tconst allBlockClientIds = getClientIdsOfDescendants( postContentClientId );\n\n\t// If onlyIncludeCurrentPage is true, calculate the page (of a paginated post) this block is part of, so we know which headings to include; otherwise, skip the calculation.\n\tlet tocPage = 1;\n\n\tif ( isPaginated && onlyIncludeCurrentPage ) {\n\t\t// We can't use getBlockIndex because it only returns the index\n\t\t// relative to sibling blocks.\n\t\tconst tocIndex = allBlockClientIds.indexOf( clientId );\n\n\t\tfor ( const [\n\t\t\tblockIndex,\n\t\t\tblockClientId,\n\t\t] of allBlockClientIds.entries() ) {\n\t\t\t// If we've reached blocks after the Table of Contents, we've\n\t\t\t// finished calculating which page the block is on.\n\t\t\tif ( blockIndex >= tocIndex ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( getBlockName( blockClientId ) === 'core/nextpage' ) {\n\t\t\t\ttocPage++;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst latestHeadings = [];\n\n\t/** The page (of a paginated post) a heading will be part of. */\n\tlet headingPage = 1;\n\tlet headingPageLink = null;\n\n\t// If the core/editor store is available, we can add permalinks to the\n\t// generated table of contents.\n\tif ( typeof permalink === 'string' ) {\n\t\theadingPageLink = isPaginated\n\t\t\t? addQueryArgs( permalink, { page: headingPage } )\n\t\t\t: permalink;\n\t}\n\n\tfor ( const blockClientId of allBlockClientIds ) {\n\t\tconst blockName = getBlockName( blockClientId );\n\t\tif ( blockName === 'core/nextpage' ) {\n\t\t\theadingPage++;\n\n\t\t\t// If we're only including headings from the current page (of\n\t\t\t// a paginated post), then exit the loop if we've reached the\n\t\t\t// pages after the one with the Table of Contents block.\n\t\t\tif ( onlyIncludeCurrentPage && headingPage > tocPage ) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\theadingPageLink = addQueryArgs(\n\t\t\t\t\tremoveQueryArgs( permalink, [ 'page' ] ),\n\t\t\t\t\t{ page: headingPage }\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// If we're including all headings or we've reached headings on\n\t\t// the same page as the Table of Contents block, add them to the\n\t\t// list.\n\t\telse if ( ! onlyIncludeCurrentPage || headingPage === tocPage ) {\n\t\t\tif ( blockName === 'core/heading' ) {\n\t\t\t\tconst headingAttributes = getBlockAttributes( blockClientId );\n\n\t\t\t\t// Skip headings that are deeper than maxLevel\n\t\t\t\tif ( maxLevel && headingAttributes.level > maxLevel ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst canBeLinked =\n\t\t\t\t\ttypeof headingPageLink === 'string' &&\n\t\t\t\t\ttypeof headingAttributes.anchor === 'string' &&\n\t\t\t\t\theadingAttributes.anchor !== '';\n\n\t\t\t\tlatestHeadings.push( {\n\t\t\t\t\t// Convert line breaks to spaces, and get rid of HTML tags in the headings.\n\t\t\t\t\tcontent: stripHTML(\n\t\t\t\t\t\theadingAttributes.content.replace(\n\t\t\t\t\t\t\t/(<br *\\/?>)+/g,\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\tlevel: headingAttributes.level,\n\t\t\t\t\tlink: canBeLinked\n\t\t\t\t\t\t? `${ headingPageLink }#${ headingAttributes.anchor }`\n\t\t\t\t\t\t: null,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn latestHeadings;\n}\n\nfunction observeCallback( select, dispatch, clientId ) {\n\tconst { getBlockAttributes } = select( blockEditorStore );\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tdispatch( blockEditorStore );\n\n\t/**\n\t * If the block no longer exists in the store, skip the update.\n\t * The \"undo\" action recreates the block and provides a new `clientId`.\n\t * The hook still might be observing the changes while the old block unmounts.\n\t */\n\tconst attributes = getBlockAttributes( clientId );\n\tif ( attributes === null ) {\n\t\treturn;\n\t}\n\n\tconst headings = getLatestHeadings( select, clientId );\n\tif ( ! fastDeepEqual( headings, attributes.headings ) ) {\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( clientId, { headings } );\n\t}\n}\n\nexport function useObserveHeadings( clientId ) {\n\tconst registry = useRegistry();\n\tuseEffect( () => {\n\t\t// Todo: Limit subscription to block editor store when data no longer depends on `getPermalink`.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/45513\n\t\treturn registry.subscribe( () =>\n\t\t\tobserveCallback( registry.select, registry.dispatch, clientId )\n\t\t);\n\t}, [ registry, clientId ] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["fastDeepEqual","useRegistry","__unstableStripHTML","stripHTML","useEffect","addQueryArgs","removeQueryArgs","store","blockEditorStore","getLatestHeadings","select","clientId","_select$getPermalink","_getBlockAttributes","getBlockAttributes","getBlockName","getBlocksByName","getClientIdsOfDescendants","permalink","getPermalink","isPaginated","length","onlyIncludeCurrentPage","maxLevel","postContentClientId","allBlockClientIds","tocPage","tocIndex","indexOf","blockIndex","blockClientId","entries","latestHeadings","headingPage","headingPageLink","page","blockName","headingAttributes","level","canBeLinked","anchor","push","content","replace","link","observeCallback","dispatch","updateBlockAttributes","__unstableMarkNextChangeAsNotPersistent","attributes","headings","window","queueMicrotask","useObserveHeadings","registry","subscribe"],"sources":["@wordpress/block-library/src/table-of-contents/hooks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry } from '@wordpress/data';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { useEffect } from '@wordpress/element';\nimport { addQueryArgs, removeQueryArgs } from '@wordpress/url';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nfunction getLatestHeadings( select, clientId ) {\n\tconst {\n\t\tgetBlockAttributes,\n\t\tgetBlockName,\n\t\tgetBlocksByName,\n\t\tgetClientIdsOfDescendants,\n\t} = select( blockEditorStore );\n\n\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t// Blocks can be loaded into a *non-post* block editor, so to avoid\n\t// declaring @wordpress/editor as a dependency, we must access its\n\t// store by string. When the store is not available, editorSelectors\n\t// will be null, and the block's saved markup will lack permalinks.\n\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\tconst permalink = select( 'core/editor' ).getPermalink() ?? null;\n\n\tconst isPaginated = getBlocksByName( 'core/nextpage' ).length !== 0;\n\tconst { onlyIncludeCurrentPage, maxLevel } =\n\t\tgetBlockAttributes( clientId ) ?? {};\n\n\t// Get post-content block client ID.\n\tconst [ postContentClientId = '' ] = getBlocksByName( 'core/post-content' );\n\n\t// Get the client ids of all blocks in the editor.\n\tconst allBlockClientIds = getClientIdsOfDescendants( postContentClientId );\n\n\t// If onlyIncludeCurrentPage is true, calculate the page (of a paginated post) this block is part of, so we know which headings to include; otherwise, skip the calculation.\n\tlet tocPage = 1;\n\n\tif ( isPaginated && onlyIncludeCurrentPage ) {\n\t\t// We can't use getBlockIndex because it only returns the index\n\t\t// relative to sibling blocks.\n\t\tconst tocIndex = allBlockClientIds.indexOf( clientId );\n\n\t\tfor ( const [\n\t\t\tblockIndex,\n\t\t\tblockClientId,\n\t\t] of allBlockClientIds.entries() ) {\n\t\t\t// If we've reached blocks after the Table of Contents, we've\n\t\t\t// finished calculating which page the block is on.\n\t\t\tif ( blockIndex >= tocIndex ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( getBlockName( blockClientId ) === 'core/nextpage' ) {\n\t\t\t\ttocPage++;\n\t\t\t}\n\t\t}\n\t}\n\n\tconst latestHeadings = [];\n\n\t/** The page (of a paginated post) a heading will be part of. */\n\tlet headingPage = 1;\n\tlet headingPageLink = null;\n\n\t// If the core/editor store is available, we can add permalinks to the\n\t// generated table of contents.\n\tif ( typeof permalink === 'string' ) {\n\t\theadingPageLink = isPaginated\n\t\t\t? addQueryArgs( permalink, { page: headingPage } )\n\t\t\t: permalink;\n\t}\n\n\tfor ( const blockClientId of allBlockClientIds ) {\n\t\tconst blockName = getBlockName( blockClientId );\n\t\tif ( blockName === 'core/nextpage' ) {\n\t\t\theadingPage++;\n\n\t\t\t// If we're only including headings from the current page (of\n\t\t\t// a paginated post), then exit the loop if we've reached the\n\t\t\t// pages after the one with the Table of Contents block.\n\t\t\tif ( onlyIncludeCurrentPage && headingPage > tocPage ) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( typeof permalink === 'string' ) {\n\t\t\t\theadingPageLink = addQueryArgs(\n\t\t\t\t\tremoveQueryArgs( permalink, [ 'page' ] ),\n\t\t\t\t\t{ page: headingPage }\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// If we're including all headings or we've reached headings on\n\t\t// the same page as the Table of Contents block, add them to the\n\t\t// list.\n\t\telse if ( ! onlyIncludeCurrentPage || headingPage === tocPage ) {\n\t\t\tif ( blockName === 'core/heading' ) {\n\t\t\t\tconst headingAttributes = getBlockAttributes( blockClientId );\n\n\t\t\t\t// Skip headings that are deeper than maxLevel\n\t\t\t\tif ( maxLevel && headingAttributes.level > maxLevel ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst canBeLinked =\n\t\t\t\t\ttypeof headingPageLink === 'string' &&\n\t\t\t\t\ttypeof headingAttributes.anchor === 'string' &&\n\t\t\t\t\theadingAttributes.anchor !== '';\n\n\t\t\t\tlatestHeadings.push( {\n\t\t\t\t\t// Convert line breaks to spaces, and get rid of HTML tags in the headings.\n\t\t\t\t\tcontent: stripHTML(\n\t\t\t\t\t\theadingAttributes.content.replace(\n\t\t\t\t\t\t\t/(<br *\\/?>)+/g,\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\tlevel: headingAttributes.level,\n\t\t\t\t\tlink: canBeLinked\n\t\t\t\t\t\t? `${ headingPageLink }#${ headingAttributes.anchor }`\n\t\t\t\t\t\t: null,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn latestHeadings;\n}\n\nfunction observeCallback( select, dispatch, clientId ) {\n\tconst { getBlockAttributes } = select( blockEditorStore );\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tdispatch( blockEditorStore );\n\n\t/**\n\t * If the block no longer exists in the store, skip the update.\n\t * The \"undo\" action recreates the block and provides a new `clientId`.\n\t * The hook still might be observing the changes while the old block unmounts.\n\t */\n\tconst attributes = getBlockAttributes( clientId );\n\tif ( attributes === null ) {\n\t\treturn;\n\t}\n\n\tconst headings = getLatestHeadings( select, clientId );\n\tif ( ! fastDeepEqual( headings, attributes.headings ) ) {\n\t\t// Executing the update in a microtask ensures that the non-persistent marker doesn't affect an attribute triggering the change.\n\t\twindow.queueMicrotask( () => {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( clientId, { headings } );\n\t\t} );\n\t}\n}\n\nexport function useObserveHeadings( clientId ) {\n\tconst registry = useRegistry();\n\tuseEffect( () => {\n\t\t// Todo: Limit subscription to block editor store when data no longer depends on `getPermalink`.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/45513\n\t\treturn registry.subscribe( () =>\n\t\t\tobserveCallback( registry.select, registry.dispatch, clientId )\n\t\t);\n\t}, [ registry, clientId ] );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2377,59 +2377,10 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2377
2377
  transform: none;
2378
2378
  }
2379
2379
 
2380
- :root :where(.wp-block-social-links),
2381
- :root :where(.wp-block-social-links.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link) {
2380
+ :root :where(.wp-block-social-links) {
2382
2381
  padding: 0;
2383
2382
  }
2384
2383
 
2385
- :root :where(.wp-block-social-links__social-placeholder .wp-social-link) {
2386
- padding: 0.25em;
2387
- }
2388
-
2389
- :root :where(.wp-block-social-links.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link) {
2390
- padding-right: 0.6666666667em;
2391
- padding-left: 0.6666666667em;
2392
- }
2393
-
2394
- .wp-block-social-links__social-placeholder {
2395
- display: flex;
2396
- opacity: 0.8;
2397
- list-style: none;
2398
- }
2399
- .wp-block-social-links__social-placeholder > .wp-social-link {
2400
- padding-right: 0 !important;
2401
- margin-right: 0 !important;
2402
- padding-left: 0 !important;
2403
- margin-left: 0 !important;
2404
- width: 0 !important;
2405
- visibility: hidden;
2406
- }
2407
- .wp-block-social-links__social-placeholder > .wp-block-social-links__social-placeholder-icons {
2408
- display: flex;
2409
- }
2410
- .wp-block-social-links__social-placeholder .wp-social-link::before {
2411
- content: "";
2412
- display: block;
2413
- width: 1em;
2414
- height: 1em;
2415
- border-radius: 50%;
2416
- }
2417
- .is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link::before {
2418
- background: currentColor;
2419
- }
2420
-
2421
- .wp-block-social-links .wp-block-social-links__social-prompt {
2422
- min-height: 24px;
2423
- list-style: none;
2424
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
2425
- font-size: 13px;
2426
- line-height: 24px;
2427
- margin-top: auto;
2428
- margin-bottom: auto;
2429
- cursor: default;
2430
- padding-left: 8px;
2431
- }
2432
-
2433
2384
  .wp-block[data-align=center] > .wp-block-social-links,
2434
2385
  .wp-block.wp-block-social-links.aligncenter {
2435
2386
  justify-content: center;