@wordpress/block-library 8.30.0 → 8.32.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.
- package/CHANGELOG.md +4 -0
- package/build/block/edit.js +22 -16
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.native.js +1 -1
- package/build/button/edit.native.js.map +1 -1
- package/build/code/save.js +3 -1
- package/build/code/save.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/details/edit.js +1 -0
- package/build/details/edit.js.map +1 -1
- package/build/file/edit.js +2 -0
- package/build/file/edit.js.map +1 -1
- package/build/heading/index.js +4 -3
- package/build/heading/index.js.map +1 -1
- package/build/image/edit.js +10 -39
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +27 -6
- package/build/image/image.js.map +1 -1
- package/build/media-text/edit.js +33 -9
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +5 -0
- package/build/media-text/index.js.map +1 -1
- package/build/media-text/media-container.js +30 -11
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/save.js +2 -2
- package/build/media-text/save.js.map +1 -1
- package/build/navigation/edit/index.js +23 -29
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +24 -23
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +4 -4
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +15 -12
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation/view.js +12 -2
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +52 -27
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +31 -9
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/pattern/edit.js +3 -1
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +1 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -0
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +16 -4
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +13 -2
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-featured-image/overlay-controls.js +82 -0
- package/build/post-featured-image/overlay-controls.js.map +1 -0
- package/build/post-featured-image/overlay.js +5 -54
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-terms/edit.js +2 -0
- package/build/post-terms/edit.js.map +1 -1
- package/build/quote/edit.js +18 -23
- package/build/quote/edit.js.map +1 -1
- package/build/read-more/edit.js +1 -0
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +2 -0
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +2 -2
- package/build/search/edit.native.js.map +1 -1
- package/build/site-tagline/edit.js +13 -4
- package/build/site-tagline/edit.js.map +1 -1
- package/build/site-tagline/index.js +4 -0
- package/build/site-tagline/index.js.map +1 -1
- package/build/social-link/edit.js +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/icons/medium.js +1 -1
- package/build/social-link/icons/medium.js.map +1 -1
- package/build/social-link/icons/reddit.js +1 -1
- package/build/social-link/icons/reddit.js.map +1 -1
- package/build/table/deprecated.js +285 -175
- package/build/table/deprecated.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/template-part/edit/index.js +55 -47
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/inner-blocks.js +106 -10
- package/build/template-part/edit/inner-blocks.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +1 -9
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/utils/caption.js +19 -13
- package/build/utils/caption.js.map +1 -1
- package/build/utils/hooks.js +1 -0
- package/build/utils/hooks.js.map +1 -1
- package/build/video/edit.native.js +1 -1
- package/build/video/edit.native.js.map +1 -1
- package/build-module/block/edit.js +23 -17
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.native.js +1 -1
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/code/save.js +3 -1
- package/build-module/code/save.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/details/edit.js +1 -0
- package/build-module/details/edit.js.map +1 -1
- package/build-module/file/edit.js +2 -0
- package/build-module/file/edit.js.map +1 -1
- package/build-module/heading/index.js +4 -3
- package/build-module/heading/index.js.map +1 -1
- package/build-module/image/edit.js +11 -40
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +27 -6
- package/build-module/image/image.js.map +1 -1
- package/build-module/media-text/edit.js +34 -10
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +5 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/media-text/media-container.js +31 -12
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/save.js +2 -2
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/navigation/edit/index.js +24 -30
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +4 -4
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +15 -12
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation/view.js +12 -2
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +55 -30
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +31 -9
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/pattern/edit.js +3 -1
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-author/edit.js +1 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -0
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +17 -5
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +13 -2
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-featured-image/overlay-controls.js +75 -0
- package/build-module/post-featured-image/overlay-controls.js.map +1 -0
- package/build-module/post-featured-image/overlay.js +7 -56
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +2 -0
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/quote/edit.js +20 -25
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/read-more/edit.js +1 -0
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +2 -0
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +2 -2
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/site-tagline/edit.js +14 -5
- package/build-module/site-tagline/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +4 -0
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/social-link/edit.js +1 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/icons/medium.js +1 -1
- package/build-module/social-link/icons/medium.js.map +1 -1
- package/build-module/social-link/icons/reddit.js +1 -1
- package/build-module/social-link/icons/reddit.js.map +1 -1
- package/build-module/table/deprecated.js +286 -176
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/template-part/edit/index.js +58 -50
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/inner-blocks.js +108 -12
- package/build-module/template-part/edit/inner-blocks.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +2 -10
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/utils/caption.js +19 -13
- package/build-module/utils/caption.js.map +1 -1
- package/build-module/utils/hooks.js +1 -0
- package/build-module/utils/hooks.js.map +1 -1
- package/build-module/video/edit.native.js +1 -1
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/audio/theme-rtl.css +1 -1
- package/build-style/audio/theme.css +1 -1
- package/build-style/cover/style-rtl.css +5 -2
- package/build-style/cover/style.css +5 -2
- package/build-style/editor-rtl.css +22 -12
- package/build-style/editor.css +22 -12
- package/build-style/embed/theme-rtl.css +1 -1
- package/build-style/embed/theme.css +1 -1
- package/build-style/file/editor-rtl.css +3 -0
- package/build-style/file/editor.css +3 -0
- package/build-style/image/editor-rtl.css +0 -3
- package/build-style/image/editor.css +0 -3
- package/build-style/image/theme-rtl.css +1 -1
- package/build-style/image/theme.css +1 -1
- package/build-style/media-text/editor-rtl.css +7 -1
- package/build-style/media-text/editor.css +7 -1
- package/build-style/pullquote/theme-rtl.css +2 -1
- package/build-style/pullquote/theme.css +2 -1
- package/build-style/quote/theme-rtl.css +6 -6
- package/build-style/quote/theme.css +6 -6
- package/build-style/search/style-rtl.css +10 -0
- package/build-style/search/style.css +10 -0
- package/build-style/social-links/editor-rtl.css +0 -4
- package/build-style/social-links/editor.css +0 -4
- package/build-style/social-links/style-rtl.css +2 -2
- package/build-style/social-links/style.css +2 -2
- package/build-style/style-rtl.css +17 -4
- package/build-style/style.css +17 -4
- package/build-style/table/theme-rtl.css +4 -3
- package/build-style/table/theme.css +4 -3
- package/build-style/template-part/editor-rtl.css +12 -4
- package/build-style/template-part/editor.css +12 -4
- package/build-style/template-part/theme-rtl.css +1 -1
- package/build-style/template-part/theme.css +1 -1
- package/build-style/theme-rtl.css +17 -15
- package/build-style/theme.css +17 -15
- package/build-style/video/theme-rtl.css +1 -1
- package/build-style/video/theme.css +1 -1
- package/package.json +34 -34
- package/src/archives/index.php +4 -0
- package/src/audio/theme.scss +1 -1
- package/src/avatar/index.php +6 -0
- package/src/block/edit.js +43 -32
- package/src/block/index.php +4 -0
- package/src/block/test/edit.native.js +67 -0
- package/src/button/edit.native.js +1 -1
- package/src/calendar/index.php +12 -0
- package/src/categories/index.php +6 -0
- package/src/code/save.js +7 -1
- package/src/comment-author-name/index.php +4 -0
- package/src/comment-content/index.php +4 -0
- package/src/comment-date/index.php +4 -0
- package/src/comment-edit-link/index.php +4 -0
- package/src/comment-reply-link/index.php +4 -0
- package/src/comment-template/index.php +4 -0
- package/src/comments/index.php +10 -0
- package/src/comments-pagination/index.php +4 -0
- package/src/comments-pagination-next/index.php +4 -0
- package/src/comments-pagination-numbers/index.php +4 -0
- package/src/comments-pagination-previous/index.php +4 -0
- package/src/comments-title/index.php +4 -0
- package/src/cover/edit/index.js +4 -1
- package/src/cover/index.php +4 -0
- package/src/cover/style.scss +6 -2
- package/src/details/edit.js +1 -0
- package/src/embed/theme.scss +1 -1
- package/src/file/edit.js +2 -0
- package/src/file/editor.scss +3 -0
- package/src/file/index.php +4 -0
- package/src/gallery/editor.scss +1 -1
- package/src/gallery/index.php +7 -1
- package/src/heading/index.js +4 -3
- package/src/heading/index.php +4 -0
- package/src/home-link/index.php +10 -0
- package/src/image/edit.js +11 -40
- package/src/image/editor.scss +2 -7
- package/src/image/image.js +25 -7
- package/src/image/index.php +12 -1
- package/src/image/theme.scss +1 -1
- package/src/latest-comments/index.php +4 -0
- package/src/latest-posts/index.php +8 -0
- package/src/loginout/index.php +4 -0
- package/src/media-text/block.json +5 -0
- package/src/media-text/edit.js +70 -19
- package/src/media-text/editor.scss +7 -1
- package/src/media-text/index.php +70 -0
- package/src/media-text/media-container.js +49 -9
- package/src/media-text/save.js +2 -2
- package/src/navigation/edit/index.js +67 -71
- package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
- package/src/navigation/edit/navigation-menu-selector.js +39 -21
- package/src/navigation/edit/placeholder/index.js +4 -4
- package/src/navigation/edit/test/navigation-menu-selector.js +75 -53
- package/src/navigation/index.php +109 -26
- package/src/navigation/test/use-navigation-menu.js +21 -21
- package/src/navigation/use-navigation-menu.js +23 -9
- package/src/navigation/view.js +11 -2
- package/src/navigation-link/edit.js +64 -39
- package/src/navigation-link/index.php +14 -0
- package/src/navigation-submenu/edit.js +34 -10
- package/src/navigation-submenu/index.php +8 -0
- package/src/page-list/index.php +12 -0
- package/src/page-list-item/index.php +2 -0
- package/src/pattern/edit.js +4 -0
- package/src/pattern/index.php +2 -0
- package/src/post-author/edit.js +1 -0
- package/src/post-author/index.php +4 -0
- package/src/post-author-biography/index.php +4 -0
- package/src/post-author-name/index.php +4 -0
- package/src/post-comments-form/index.php +6 -0
- package/src/post-content/index.php +4 -0
- package/src/post-date/index.php +4 -0
- package/src/post-excerpt/edit.js +1 -0
- package/src/post-excerpt/index.php +4 -0
- package/src/post-featured-image/block.json +13 -2
- package/src/post-featured-image/edit.js +16 -1
- package/src/post-featured-image/editor.scss +1 -1
- package/src/post-featured-image/index.php +15 -0
- package/src/post-featured-image/overlay-controls.js +88 -0
- package/src/post-featured-image/overlay.js +17 -84
- package/src/post-navigation-link/edit.js +1 -0
- package/src/post-navigation-link/index.php +4 -0
- package/src/post-template/index.php +4 -0
- package/src/post-terms/edit.js +2 -0
- package/src/post-terms/index.php +6 -0
- package/src/post-title/index.php +2 -0
- package/src/pullquote/theme.scss +3 -1
- package/src/query/index.php +2 -0
- package/src/query-no-results/index.php +6 -0
- package/src/query-pagination/index.php +4 -0
- package/src/query-pagination-next/index.php +6 -0
- package/src/query-pagination-numbers/index.php +6 -0
- package/src/query-pagination-previous/index.php +4 -0
- package/src/query-title/index.php +4 -0
- package/src/quote/edit.js +27 -37
- package/src/quote/test/edit.native.js +4 -6
- package/src/quote/theme.scss +1 -2
- package/src/read-more/edit.js +1 -0
- package/src/read-more/index.php +4 -0
- package/src/rss/index.php +4 -0
- package/src/search/edit.js +2 -0
- package/src/search/edit.native.js +2 -2
- package/src/search/index.php +19 -1
- package/src/search/style.scss +11 -0
- package/src/shortcode/index.php +4 -0
- package/src/site-logo/editor.scss +2 -2
- package/src/site-logo/index.php +20 -0
- package/src/site-tagline/block.json +4 -0
- package/src/site-tagline/edit.js +16 -3
- package/src/site-tagline/index.php +13 -1
- package/src/site-title/index.php +4 -0
- package/src/social-link/edit.js +1 -1
- package/src/social-link/icons/medium.js +1 -1
- package/src/social-link/icons/reddit.js +1 -1
- package/src/social-link/index.php +22 -9
- package/src/social-link/socials-with-bg.scss +1 -1
- package/src/social-link/socials-without-bg.scss +1 -1
- package/src/social-links/editor.scss +1 -9
- package/src/table/block.json +1 -1
- package/src/table/deprecated.js +308 -175
- package/src/table/theme.scss +4 -2
- package/src/tag-cloud/index.php +4 -0
- package/src/template-part/edit/index.js +87 -79
- package/src/template-part/edit/inner-blocks.js +126 -13
- package/src/template-part/edit/selection-modal.js +1 -22
- package/src/template-part/editor.scss +11 -3
- package/src/template-part/index.php +12 -0
- package/src/template-part/theme.scss +1 -1
- package/src/term-description/index.php +4 -0
- package/src/utils/caption.js +19 -16
- package/src/utils/hooks.js +1 -0
- package/src/video/edit.native.js +2 -0
- package/src/video/editor.scss +2 -2
- package/src/video/theme.scss +1 -1
- package/tsconfig.json +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","RichText","getColorClassName","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","oldColors","v3","attributes","hasFixedLayout","type","default","caption","source","selector","head","query","cells","content","tag","scope","attribute","align","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","__experimentalSelector","save","isEmpty","length","colorProps","borderProps","classes","className","hasCaption","Section","rows","Tag","createElement","map","rowIndex","key","cellIndex","cellClasses","Content","undefined","tagName","value","v2","backgroundColor","backgroundClass","isEligible","migrate","v1"],"sources":["@wordpress/block-library/src/table/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\n\n// As the previous arbitrary colors won't match theme color palettes, the hex\n// value will be mapped to the style.color.background attribute as if it was\n// a custom color selection.\nconst oldColors = {\n\t'subtle-light-gray': '#f3f4f5',\n\t'subtle-pale-green': '#e9fbe5',\n\t'subtle-pale-blue': '#e7f5fe',\n\t'subtle-pale-pink': '#fcf0ef',\n};\n\n// In #41140 support was added to global styles for caption elements which\n// added a `wp-element-caption` classname to the embed figcaption element.\nconst v3 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tcolor: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, caption } = attributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames(\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t}\n\t\t);\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\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);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classes === '' ? undefined : classes }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n// Deprecation migrating table block to use colors block support feature.\nconst v2 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\n\t\t\t\t\t\t},\n\t\t\t\t\t\talign: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'data-align',\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},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave: ( { attributes } ) => {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor, caption } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\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);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table className={ classes === '' ? undefined : classes }>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tisEligible: ( attributes ) => {\n\t\treturn (\n\t\t\tattributes.backgroundColor &&\n\t\t\tattributes.backgroundColor in oldColors &&\n\t\t\t! attributes.style\n\t\t);\n\t},\n\n\t// This version is the first to introduce the style attribute to the\n\t// table block. As a result, we'll explicitly override that.\n\tmigrate: ( attributes ) => {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tbackgroundColor: undefined,\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\tbackground: oldColors[ attributes.backgroundColor ],\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\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\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\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\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: {\n\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttag: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tdefault: 'td',\n\t\t\t\t\t\t\tsource: 'tag',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tscope: {\n\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\t\t\tattribute: 'scope',\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},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t( { content, tag, scope }, cellIndex ) => (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<table className={ classes }>\n\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t</table>\n\t\t);\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v3, v2, v1 ];\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","RichText","getColorClassName","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__experimentalGetElementClassName","oldColors","v4Query","content","type","source","tag","default","scope","attribute","align","colspan","rowspan","v4","attributes","hasFixedLayout","caption","selector","head","query","cells","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","__experimentalSelector","interactivity","clientNavigation","save","isEmpty","length","colorProps","borderProps","classes","className","hasCaption","Section","rows","Tag","createElement","map","rowIndex","key","cellIndex","cellClasses","Content","undefined","tagName","value","colSpan","rowSpan","v3Query","v3","v2Query","v2","backgroundColor","backgroundClass","isEligible","migrate","v1Query","v1"],"sources":["@wordpress/block-library/src/table/deprecated.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tgetColorClassName,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\n// As the previous arbitrary colors won't match theme color palettes, the hex\n// value will be mapped to the style.color.background attribute as if it was\n// a custom color selection.\nconst oldColors = {\n\t'subtle-light-gray': '#f3f4f5',\n\t'subtle-pale-green': '#e9fbe5',\n\t'subtle-pale-blue': '#e7f5fe',\n\t'subtle-pale-pink': '#fcf0ef',\n};\n\n// Fixed width table cells on by default.\nconst v4Query = {\n\tcontent: {\n\t\ttype: 'rich-text',\n\t\tsource: 'rich-text',\n\t},\n\ttag: {\n\t\ttype: 'string',\n\t\tdefault: 'td',\n\t\tsource: 'tag',\n\t},\n\tscope: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'scope',\n\t},\n\talign: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'data-align',\n\t},\n\tcolspan: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'colspan',\n\t},\n\trowspan: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'rowspan',\n\t},\n};\n\nconst v4 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'rich-text',\n\t\t\tsource: 'rich-text',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v4Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v4Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v4Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tmargin: false,\n\t\t\t\tpadding: false,\n\t\t\t},\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tcolor: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t\tinteractivity: {\n\t\t\tclientNavigation: true,\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, caption } = attributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames(\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t}\n\t\t);\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\t\t\ttag,\n\t\t\t\t\t\t\t\t\t\tscope,\n\t\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t\t\tcolspan,\n\t\t\t\t\t\t\t\t\t\trowspan,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tcolSpan={ colspan }\n\t\t\t\t\t\t\t\t\t\t\trowSpan={ rowspan }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classes === '' ? undefined : classes }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n// In #41140 support was added to global styles for caption elements which\n// added a `wp-element-caption` classname to the embed figcaption element.\nconst v3Query = {\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t},\n\ttag: {\n\t\ttype: 'string',\n\t\tdefault: 'td',\n\t\tsource: 'tag',\n\t},\n\tscope: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'scope',\n\t},\n\talign: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'data-align',\n\t},\n};\n\nconst v3 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v3Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v3Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v3Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\tcolor: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tgradients: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tbackground: true,\n\t\t\t\ttext: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tmargin: true,\n\t\t\tpadding: true,\n\t\t},\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalLetterSpacing: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\tcolor: true,\n\t\t\tstyle: true,\n\t\t\twidth: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, caption } = attributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames(\n\t\t\tcolorProps.className,\n\t\t\tborderProps.className,\n\t\t\t{\n\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t}\n\t\t);\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\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);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classes === '' ? undefined : classes }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n// Deprecation migrating table block to use colors block support feature.\nconst v2Query = {\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t},\n\ttag: {\n\t\ttype: 'string',\n\t\tdefault: 'td',\n\t\tsource: 'tag',\n\t},\n\tscope: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'scope',\n\t},\n\talign: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'data-align',\n\t},\n};\n\nconst v2 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\tdefault: '',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v2Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v2Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v2Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t\t__experimentalSelector: '.wp-block-table > table',\n\t},\n\tsave: ( { attributes } ) => {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor, caption } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t{ content, tag, scope, align },\n\t\t\t\t\t\t\t\t\tcellIndex\n\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\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);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<table className={ classes === '' ? undefined : classes }>\n\t\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t\t</table>\n\t\t\t\t{ hasCaption && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tisEligible: ( attributes ) => {\n\t\treturn (\n\t\t\tattributes.backgroundColor &&\n\t\t\tattributes.backgroundColor in oldColors &&\n\t\t\t! attributes.style\n\t\t);\n\t},\n\n\t// This version is the first to introduce the style attribute to the\n\t// table block. As a result, we'll explicitly override that.\n\tmigrate: ( attributes ) => {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tbackgroundColor: undefined,\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\tbackground: oldColors[ attributes.backgroundColor ],\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n};\n\nconst v1Query = {\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t},\n\ttag: {\n\t\ttype: 'string',\n\t\tdefault: 'td',\n\t\tsource: 'tag',\n\t},\n\tscope: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tattribute: 'scope',\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\thasFixedLayout: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\thead: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'thead tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v1Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbody: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tbody tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v1Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfoot: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'tfoot tr',\n\t\t\tquery: {\n\t\t\t\tcells: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tdefault: [],\n\t\t\t\t\tsource: 'query',\n\t\t\t\t\tselector: 'td,th',\n\t\t\t\t\tquery: v1Query,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst { hasFixedLayout, head, body, foot, backgroundColor } =\n\t\t\tattributes;\n\t\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\t\tif ( isEmpty ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\n\t\tconst classes = classnames( backgroundClass, {\n\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t'has-background': !! backgroundClass,\n\t\t} );\n\n\t\tconst Section = ( { type, rows } ) => {\n\t\t\tif ( ! rows.length ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst Tag = `t${ type }`;\n\n\t\t\treturn (\n\t\t\t\t<Tag>\n\t\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t\t( { content, tag, scope }, cellIndex ) => (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<table className={ classes }>\n\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t</table>\n\t\t);\n\t},\n};\n\n/**\n * New deprecations need to be placed first\n * for them to have higher priority.\n *\n * Old deprecations may need to be updated as well.\n *\n * See block-deprecation.md\n */\nexport default [ v4, v3, v2, v1 ];\n"],"mappings":"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"}
|
|
@@ -2,9 +2,10 @@ import { createElement, Fragment } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
+
import { serialize } from '@wordpress/blocks';
|
|
5
6
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
6
|
-
import { BlockSettingsMenuControls, useBlockProps, Warning, store as blockEditorStore, RecursionProvider, useHasRecursion, InspectorControls, __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
|
|
7
|
-
import { PanelBody, Spinner, Modal, MenuItem } from '@wordpress/components';
|
|
7
|
+
import { BlockSettingsMenuControls, useBlockProps, Warning, store as blockEditorStore, RecursionProvider, useHasRecursion, InspectorControls, __experimentalBlockPatternsList as BlockPatternsList, BlockControls } from '@wordpress/block-editor';
|
|
8
|
+
import { PanelBody, Spinner, Modal, MenuItem, ToolbarButton } from '@wordpress/components';
|
|
8
9
|
import { useAsyncList } from '@wordpress/compose';
|
|
9
10
|
import { __, sprintf } from '@wordpress/i18n';
|
|
10
11
|
import { store as coreStore } from '@wordpress/core-data';
|
|
@@ -19,21 +20,20 @@ import TemplatePartSelectionModal from './selection-modal';
|
|
|
19
20
|
import { TemplatePartAdvancedControls } from './advanced-controls';
|
|
20
21
|
import TemplatePartInnerBlocks from './inner-blocks';
|
|
21
22
|
import { createTemplatePartId } from './utils/create-template-part-id';
|
|
22
|
-
import {
|
|
23
|
-
import { useAlternativeBlockPatterns, useAlternativeTemplateParts, useTemplatePartArea, useCreateTemplatePartFromBlocks } from './utils/hooks';
|
|
23
|
+
import { useAlternativeBlockPatterns, useAlternativeTemplateParts, useTemplatePartArea } from './utils/hooks';
|
|
24
24
|
function ReplaceButton({
|
|
25
25
|
isEntityAvailable,
|
|
26
26
|
area,
|
|
27
|
-
clientId,
|
|
28
27
|
templatePartId,
|
|
29
28
|
isTemplatePartSelectionOpen,
|
|
30
29
|
setIsTemplatePartSelectionOpen
|
|
31
30
|
}) {
|
|
31
|
+
// This hook fetches patterns, so don't run it unconditionally in the main
|
|
32
|
+
// edit function!
|
|
32
33
|
const {
|
|
33
34
|
templateParts
|
|
34
35
|
} = useAlternativeTemplateParts(area, templatePartId);
|
|
35
|
-
const
|
|
36
|
-
const hasReplacements = !!templateParts.length || !!blockPatterns.length;
|
|
36
|
+
const hasReplacements = !!templateParts.length;
|
|
37
37
|
const canReplace = isEntityAvailable && hasReplacements && (area === 'header' || area === 'footer');
|
|
38
38
|
if (!canReplace) {
|
|
39
39
|
return null;
|
|
@@ -47,19 +47,28 @@ function ReplaceButton({
|
|
|
47
47
|
}, __('Replace'));
|
|
48
48
|
}
|
|
49
49
|
function TemplatesList({
|
|
50
|
-
|
|
50
|
+
area,
|
|
51
|
+
clientId,
|
|
52
|
+
isEntityAvailable,
|
|
51
53
|
onSelect
|
|
52
54
|
}) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
// This hook fetches patterns, so don't run it unconditionally in the main
|
|
56
|
+
// edit function!
|
|
57
|
+
const blockPatterns = useAlternativeBlockPatterns(area, clientId);
|
|
58
|
+
const canReplace = isEntityAvailable && !!blockPatterns.length && (area === 'header' || area === 'footer');
|
|
59
|
+
const shownTemplates = useAsyncList(blockPatterns);
|
|
60
|
+
if (!canReplace) {
|
|
55
61
|
return null;
|
|
56
62
|
}
|
|
57
|
-
return createElement(
|
|
63
|
+
return createElement(PanelBody, {
|
|
64
|
+
title: __('Design')
|
|
65
|
+
}, createElement(BlockPatternsList, {
|
|
58
66
|
label: __('Templates'),
|
|
59
|
-
blockPatterns:
|
|
67
|
+
blockPatterns: blockPatterns,
|
|
60
68
|
shownPatterns: shownTemplates,
|
|
61
|
-
onClickPattern: onSelect
|
|
62
|
-
|
|
69
|
+
onClickPattern: onSelect,
|
|
70
|
+
showTitle: false
|
|
71
|
+
}));
|
|
63
72
|
}
|
|
64
73
|
export default function TemplatePartEdit({
|
|
65
74
|
attributes,
|
|
@@ -69,6 +78,9 @@ export default function TemplatePartEdit({
|
|
|
69
78
|
const {
|
|
70
79
|
createSuccessNotice
|
|
71
80
|
} = useDispatch(noticesStore);
|
|
81
|
+
const {
|
|
82
|
+
editEntityRecord
|
|
83
|
+
} = useDispatch(coreStore);
|
|
72
84
|
const currentTheme = useSelect(select => select(coreStore).getCurrentTheme()?.stylesheet, []);
|
|
73
85
|
const {
|
|
74
86
|
slug,
|
|
@@ -83,14 +95,17 @@ export default function TemplatePartEdit({
|
|
|
83
95
|
isResolved,
|
|
84
96
|
hasInnerBlocks,
|
|
85
97
|
isMissing,
|
|
86
|
-
area
|
|
98
|
+
area,
|
|
99
|
+
onNavigateToEntityRecord,
|
|
100
|
+
title
|
|
87
101
|
} = useSelect(select => {
|
|
88
102
|
const {
|
|
89
103
|
getEditedEntityRecord,
|
|
90
104
|
hasFinishedResolution
|
|
91
105
|
} = select(coreStore);
|
|
92
106
|
const {
|
|
93
|
-
getBlockCount
|
|
107
|
+
getBlockCount,
|
|
108
|
+
getSettings
|
|
94
109
|
} = select(blockEditorStore);
|
|
95
110
|
const getEntityArgs = ['postType', 'wp_template_part', templatePartId];
|
|
96
111
|
const entityRecord = templatePartId ? getEditedEntityRecord(...getEntityArgs) : null;
|
|
@@ -100,21 +115,26 @@ export default function TemplatePartEdit({
|
|
|
100
115
|
hasInnerBlocks: getBlockCount(clientId) > 0,
|
|
101
116
|
isResolved: hasResolvedEntity,
|
|
102
117
|
isMissing: hasResolvedEntity && (!entityRecord || Object.keys(entityRecord).length === 0),
|
|
103
|
-
area: _area
|
|
118
|
+
area: _area,
|
|
119
|
+
onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord,
|
|
120
|
+
title: entityRecord?.title
|
|
104
121
|
};
|
|
105
122
|
}, [templatePartId, attributes.area, clientId]);
|
|
106
|
-
const {
|
|
107
|
-
templateParts
|
|
108
|
-
} = useAlternativeTemplateParts(area, templatePartId);
|
|
109
|
-
const blockPatterns = useAlternativeBlockPatterns(area, clientId);
|
|
110
|
-
const hasReplacements = !!templateParts.length || !!blockPatterns.length;
|
|
111
123
|
const areaObject = useTemplatePartArea(area);
|
|
112
124
|
const blockProps = useBlockProps();
|
|
113
125
|
const isPlaceholder = !slug;
|
|
114
126
|
const isEntityAvailable = !isPlaceholder && !isMissing && isResolved;
|
|
115
127
|
const TagName = tagName || areaObject.tagName;
|
|
116
|
-
const
|
|
117
|
-
|
|
128
|
+
const onPatternSelect = async pattern => {
|
|
129
|
+
await editEntityRecord('postType', 'wp_template_part', templatePartId, {
|
|
130
|
+
blocks: pattern.blocks,
|
|
131
|
+
content: serialize(pattern.blocks)
|
|
132
|
+
});
|
|
133
|
+
createSuccessNotice(sprintf( /* translators: %s: template part title. */
|
|
134
|
+
__('Template Part "%s" updated.'), title || slug), {
|
|
135
|
+
type: 'snackbar'
|
|
136
|
+
});
|
|
137
|
+
};
|
|
118
138
|
|
|
119
139
|
// We don't want to render a missing state if we have any inner blocks.
|
|
120
140
|
// A new template part is automatically created if we have any inner blocks but no entity.
|
|
@@ -129,21 +149,16 @@ export default function TemplatePartEdit({
|
|
|
129
149
|
...blockProps
|
|
130
150
|
}, createElement(Warning, null, __('Block cannot be rendered inside itself.')));
|
|
131
151
|
}
|
|
132
|
-
const partsAsPatterns = templateParts.map(templatePart => mapTemplatePartToBlockPattern(templatePart));
|
|
133
|
-
const onTemplatePartSelect = templatePart => {
|
|
134
|
-
setAttributes({
|
|
135
|
-
slug: templatePart.slug,
|
|
136
|
-
theme: templatePart.theme,
|
|
137
|
-
area: undefined
|
|
138
|
-
});
|
|
139
|
-
createSuccessNotice(sprintf( /* translators: %s: template part title. */
|
|
140
|
-
__('Template Part "%s" replaceed.'), templatePart.title?.rendered || templatePart.slug), {
|
|
141
|
-
type: 'snackbar'
|
|
142
|
-
});
|
|
143
|
-
};
|
|
144
152
|
return createElement(Fragment, null, createElement(RecursionProvider, {
|
|
145
153
|
uniqueId: templatePartId
|
|
146
|
-
}, createElement(
|
|
154
|
+
}, isEntityAvailable && onNavigateToEntityRecord && createElement(BlockControls, {
|
|
155
|
+
group: "other"
|
|
156
|
+
}, createElement(ToolbarButton, {
|
|
157
|
+
onClick: () => onNavigateToEntityRecord({
|
|
158
|
+
postId: templatePartId,
|
|
159
|
+
postType: 'wp_template_part'
|
|
160
|
+
})
|
|
161
|
+
}, __('Edit'))), createElement(InspectorControls, {
|
|
147
162
|
group: "advanced"
|
|
148
163
|
}, createElement(TemplatePartAdvancedControls, {
|
|
149
164
|
tagName: tagName,
|
|
@@ -176,19 +191,12 @@ export default function TemplatePartEdit({
|
|
|
176
191
|
isTemplatePartSelectionOpen,
|
|
177
192
|
setIsTemplatePartSelectionOpen
|
|
178
193
|
});
|
|
179
|
-
}),
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
onSelect: pattern =>
|
|
184
|
-
|
|
185
|
-
}
|
|
186
|
-
}), createElement(TemplatesList, {
|
|
187
|
-
availableTemplates: blockPatterns,
|
|
188
|
-
onSelect: (pattern, blocks) => {
|
|
189
|
-
createFromBlocks(blocks, pattern.title);
|
|
190
|
-
}
|
|
191
|
-
}))), isEntityAvailable && createElement(TemplatePartInnerBlocks, {
|
|
194
|
+
}), createElement(InspectorControls, null, createElement(TemplatesList, {
|
|
195
|
+
area: area,
|
|
196
|
+
clientId: clientId,
|
|
197
|
+
isEntityAvailable: isEntityAvailable,
|
|
198
|
+
onSelect: pattern => onPatternSelect(pattern)
|
|
199
|
+
})), isEntityAvailable && createElement(TemplatePartInnerBlocks, {
|
|
192
200
|
tagName: TagName,
|
|
193
201
|
blockProps: blockProps,
|
|
194
202
|
postId: templatePartId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","BlockSettingsMenuControls","useBlockProps","Warning","store","blockEditorStore","RecursionProvider","useHasRecursion","InspectorControls","__experimentalBlockPatternsList","BlockPatternsList","PanelBody","Spinner","Modal","MenuItem","useAsyncList","__","sprintf","coreStore","useState","noticesStore","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","mapTemplatePartToBlockPattern","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","useCreateTemplatePartFromBlocks","ReplaceButton","isEntityAvailable","area","clientId","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","blockPatterns","hasReplacements","length","canReplace","createElement","onClick","TemplatesList","availableTemplates","onSelect","shownTemplates","label","shownPatterns","onClickPattern","TemplatePartEdit","attributes","setAttributes","createSuccessNotice","currentTheme","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","hasAlreadyRendered","isResolved","hasInnerBlocks","isMissing","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getEntityArgs","entityRecord","_area","hasResolvedEntity","Object","keys","areaObject","blockProps","isPlaceholder","TagName","createFromBlocks","partsAsPatterns","map","templatePart","onTemplatePartSelect","undefined","title","rendered","type","Fragment","uniqueId","group","defaultWrapper","onOpenSelectionModal","selectedClientIds","pattern","blocks","postId","overlayClassName","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInspectorControls,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { PanelBody, Spinner, Modal, MenuItem } from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n\tuseCreateTemplatePartFromBlocks,\n} from './utils/hooks';\n\nfunction ReplaceButton( {\n\tisEntityAvailable,\n\tarea,\n\tclientId,\n\ttemplatePartId,\n\tisTemplatePartSelectionOpen,\n\tsetIsTemplatePartSelectionOpen,\n} ) {\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t} }\n\t\t\taria-expanded={ isTemplatePartSelectionOpen }\n\t\t\taria-haspopup=\"dialog\"\n\t\t>\n\t\t\t{ __( 'Replace' ) }\n\t\t</MenuItem>\n\t);\n}\n\nfunction TemplatesList( { availableTemplates, onSelect } ) {\n\tconst shownTemplates = useAsyncList( availableTemplates );\n\n\tif ( ! availableTemplates ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tlabel={ __( 'Templates' ) }\n\t\t\tblockPatterns={ availableTemplates }\n\t\t\tshownPatterns={ shownTemplates }\n\t\t\tonClickPattern={ onSelect }\n\t\t/>\n\t);\n}\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\tconst { isResolved, hasInnerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlockCount } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: getBlockCount( clientId ) > 0,\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\t! hasInnerBlocks &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tconst partsAsPatterns = templateParts.map( ( templatePart ) =>\n\t\tmapTemplatePartToBlockPattern( templatePart )\n\t);\n\n\tconst onTemplatePartSelect = ( templatePart ) => {\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\n\t\t} );\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" replaceed.' ),\n\t\t\t\ttemplatePart.title?.rendered || templatePart.slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ReplaceButton\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\tisEntityAvailable,\n\t\t\t\t\t\t\t\t\tarea,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\ttemplatePartId,\n\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen,\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</BlockSettingsMenuControls>\n\n\t\t\t\t{ canReplace &&\n\t\t\t\t\t( partsAsPatterns.length > 0 ||\n\t\t\t\t\t\tblockPatterns.length > 0 ) && (\n\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Replace' ) }>\n\t\t\t\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\t\t\t\tavailableTemplates={ partsAsPatterns }\n\t\t\t\t\t\t\t\t\tonSelect={ ( pattern ) => {\n\t\t\t\t\t\t\t\t\t\tonTemplatePartSelect(\n\t\t\t\t\t\t\t\t\t\t\tpattern.templatePart\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\t\t\t\tavailableTemplates={ blockPatterns }\n\t\t\t\t\t\t\t\t\tonSelect={ ( pattern, blocks ) => {\n\t\t\t\t\t\t\t\t\t\tcreateFromBlocks(\n\t\t\t\t\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\t\t\t\t\tpattern.title\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t) }\n\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["serialize","useSelect","useDispatch","BlockSettingsMenuControls","useBlockProps","Warning","store","blockEditorStore","RecursionProvider","useHasRecursion","InspectorControls","__experimentalBlockPatternsList","BlockPatternsList","BlockControls","PanelBody","Spinner","Modal","MenuItem","ToolbarButton","useAsyncList","__","sprintf","coreStore","useState","noticesStore","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","ReplaceButton","isEntityAvailable","area","templatePartId","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","templateParts","hasReplacements","length","canReplace","createElement","onClick","TemplatesList","clientId","onSelect","blockPatterns","shownTemplates","title","label","shownPatterns","onClickPattern","showTitle","TemplatePartEdit","attributes","setAttributes","createSuccessNotice","editEntityRecord","currentTheme","select","getCurrentTheme","stylesheet","slug","theme","tagName","layout","hasAlreadyRendered","isResolved","hasInnerBlocks","isMissing","onNavigateToEntityRecord","getEditedEntityRecord","hasFinishedResolution","getBlockCount","getSettings","getEntityArgs","entityRecord","_area","hasResolvedEntity","Object","keys","areaObject","blockProps","isPlaceholder","TagName","onPatternSelect","pattern","blocks","content","type","Fragment","uniqueId","group","postId","postType","defaultWrapper","onOpenSelectionModal","selectedClientIds","overlayClassName","toLowerCase","onRequestClose","isFullScreen","onClose"],"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInspectorControls,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tSpinner,\n\tModal,\n\tMenuItem,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nfunction ReplaceButton( {\n\tisEntityAvailable,\n\tarea,\n\ttemplatePartId,\n\tisTemplatePartSelectionOpen,\n\tsetIsTemplatePartSelectionOpen,\n} ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst hasReplacements = !! templateParts.length;\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tsetIsTemplatePartSelectionOpen( true );\n\t\t\t} }\n\t\t\taria-expanded={ isTemplatePartSelectionOpen }\n\t\t\taria-haspopup=\"dialog\"\n\t\t>\n\t\t\t{ __( 'Replace' ) }\n\t\t</MenuItem>\n\t);\n}\n\nfunction TemplatesList( { area, clientId, isEntityAvailable, onSelect } ) {\n\t// This hook fetches patterns, so don't run it unconditionally in the main\n\t// edit function!\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst canReplace =\n\t\tisEntityAvailable &&\n\t\t!! blockPatterns.length &&\n\t\t( area === 'header' || area === 'footer' );\n\tconst shownTemplates = useAsyncList( blockPatterns );\n\n\tif ( ! canReplace ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Design' ) }>\n\t\t\t<BlockPatternsList\n\t\t\t\tlabel={ __( 'Templates' ) }\n\t\t\t\tblockPatterns={ blockPatterns }\n\t\t\t\tshownPatterns={ shownTemplates }\n\t\t\t\tonClickPattern={ onSelect }\n\t\t\t\tshowTitle={ false }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst currentTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.stylesheet,\n\t\t[]\n\t);\n\tconst { slug, theme = currentTheme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\tconst {\n\t\tisResolved,\n\t\thasInnerBlocks,\n\t\tisMissing,\n\t\tarea,\n\t\tonNavigateToEntityRecord,\n\t\ttitle,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlockCount, getSettings } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: getBlockCount( clientId ) > 0,\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing:\n\t\t\t\t\thasResolvedEntity &&\n\t\t\t\t\t( ! entityRecord ||\n\t\t\t\t\t\tObject.keys( entityRecord ).length === 0 ),\n\t\t\t\tarea: _area,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\ttitle: entityRecord?.title,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, attributes.area, clientId ]\n\t);\n\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\tconst onPatternSelect = async ( pattern ) => {\n\t\tawait editEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\ttemplatePartId,\n\t\t\t{\n\t\t\t\tblocks: pattern.blocks,\n\t\t\t\tcontent: serialize( pattern.blocks ),\n\t\t\t}\n\t\t);\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" updated.' ),\n\t\t\t\ttitle || slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t};\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\t! hasInnerBlocks &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t{ isEntityAvailable && onNavigateToEntityRecord && (\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\t\t\tpostId: templatePartId,\n\t\t\t\t\t\t\t\t\tpostType: 'wp_template_part',\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\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t) }\n\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { selectedClientIds } ) => {\n\t\t\t\t\t\t// Only enable for single selection that matches the current block.\n\t\t\t\t\t\t// Ensures menu item doesn't render multiple times.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! (\n\t\t\t\t\t\t\t\tselectedClientIds.length === 1 &&\n\t\t\t\t\t\t\t\tclientId === selectedClientIds[ 0 ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ReplaceButton\n\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\tisEntityAvailable,\n\t\t\t\t\t\t\t\t\tarea,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\ttemplatePartId,\n\t\t\t\t\t\t\t\t\tisTemplatePartSelectionOpen,\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen,\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</BlockSettingsMenuControls>\n\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\t\tonSelect={ ( pattern ) => onPatternSelect( pattern ) }\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -2,16 +2,25 @@ import { createElement } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
-
import { useEntityBlockEditor } from '@wordpress/core-data';
|
|
6
|
-
import { InnerBlocks, useInnerBlocksProps, useSettings, store as blockEditorStore } from '@wordpress/block-editor';
|
|
5
|
+
import { useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';
|
|
6
|
+
import { InnerBlocks, useInnerBlocksProps, useSettings, store as blockEditorStore, useBlockEditingMode } from '@wordpress/block-editor';
|
|
7
7
|
import { useSelect } from '@wordpress/data';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
import { useMemo } from '@wordpress/element';
|
|
9
|
+
import { parse } from '@wordpress/blocks';
|
|
10
|
+
function useRenderAppender(hasInnerBlocks) {
|
|
11
|
+
const blockEditingMode = useBlockEditingMode();
|
|
12
|
+
// Disable appending when the editing mode is 'contentOnly'. This is so that the user can't
|
|
13
|
+
// append into a template part when editing a page in the site editor. See
|
|
14
|
+
// DisableNonPageContentBlocks. Ideally instead of (mis)using editing mode there would be a
|
|
15
|
+
// block editor API for achieving this.
|
|
16
|
+
if (blockEditingMode === 'contentOnly') {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
if (!hasInnerBlocks) {
|
|
20
|
+
return InnerBlocks.ButtonBlockAppender;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function useLayout(layout) {
|
|
15
24
|
const themeSupportsLayout = useSelect(select => {
|
|
16
25
|
const {
|
|
17
26
|
getSettings
|
|
@@ -19,7 +28,65 @@ export default function TemplatePartInnerBlocks({
|
|
|
19
28
|
return getSettings()?.supportsLayout;
|
|
20
29
|
}, []);
|
|
21
30
|
const [defaultLayout] = useSettings('layout');
|
|
22
|
-
|
|
31
|
+
if (themeSupportsLayout) {
|
|
32
|
+
return layout?.inherit ? defaultLayout || {} : layout;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function NonEditableTemplatePartPreview({
|
|
36
|
+
postId: id,
|
|
37
|
+
layout,
|
|
38
|
+
tagName: TagName,
|
|
39
|
+
blockProps
|
|
40
|
+
}) {
|
|
41
|
+
useBlockEditingMode('disabled');
|
|
42
|
+
const {
|
|
43
|
+
content,
|
|
44
|
+
editedBlocks
|
|
45
|
+
} = useSelect(select => {
|
|
46
|
+
if (!id) {
|
|
47
|
+
return {};
|
|
48
|
+
}
|
|
49
|
+
const {
|
|
50
|
+
getEditedEntityRecord
|
|
51
|
+
} = select(coreStore);
|
|
52
|
+
const editedRecord = getEditedEntityRecord('postType', 'wp_template_part', id, {
|
|
53
|
+
context: 'view'
|
|
54
|
+
});
|
|
55
|
+
return {
|
|
56
|
+
editedBlocks: editedRecord.blocks,
|
|
57
|
+
content: editedRecord.content
|
|
58
|
+
};
|
|
59
|
+
}, [id]);
|
|
60
|
+
const blocks = useMemo(() => {
|
|
61
|
+
if (!id) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
if (editedBlocks) {
|
|
65
|
+
return editedBlocks;
|
|
66
|
+
}
|
|
67
|
+
if (!content || typeof content !== 'string') {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
return parse(content);
|
|
71
|
+
}, [id, editedBlocks, content]);
|
|
72
|
+
const innerBlocksProps = useInnerBlocksProps(blockProps, {
|
|
73
|
+
value: blocks,
|
|
74
|
+
onInput: () => {},
|
|
75
|
+
onChange: () => {},
|
|
76
|
+
renderAppender: false,
|
|
77
|
+
layout: useLayout(layout)
|
|
78
|
+
});
|
|
79
|
+
return createElement(TagName, {
|
|
80
|
+
...innerBlocksProps
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function EditableTemplatePartInnerBlocks({
|
|
84
|
+
postId: id,
|
|
85
|
+
hasInnerBlocks,
|
|
86
|
+
layout,
|
|
87
|
+
tagName: TagName,
|
|
88
|
+
blockProps
|
|
89
|
+
}) {
|
|
23
90
|
const [blocks, onInput, onChange] = useEntityBlockEditor('postType', 'wp_template_part', {
|
|
24
91
|
id
|
|
25
92
|
});
|
|
@@ -27,11 +94,40 @@ export default function TemplatePartInnerBlocks({
|
|
|
27
94
|
value: blocks,
|
|
28
95
|
onInput,
|
|
29
96
|
onChange,
|
|
30
|
-
renderAppender: hasInnerBlocks
|
|
31
|
-
layout:
|
|
97
|
+
renderAppender: useRenderAppender(hasInnerBlocks),
|
|
98
|
+
layout: useLayout(layout)
|
|
32
99
|
});
|
|
33
100
|
return createElement(TagName, {
|
|
34
101
|
...innerBlocksProps
|
|
35
102
|
});
|
|
36
103
|
}
|
|
104
|
+
export default function TemplatePartInnerBlocks({
|
|
105
|
+
postId: id,
|
|
106
|
+
hasInnerBlocks,
|
|
107
|
+
layout,
|
|
108
|
+
tagName: TagName,
|
|
109
|
+
blockProps
|
|
110
|
+
}) {
|
|
111
|
+
const {
|
|
112
|
+
canViewTemplatePart,
|
|
113
|
+
canEditTemplatePart
|
|
114
|
+
} = useSelect(select => {
|
|
115
|
+
var _select$canUser, _select$canUser2;
|
|
116
|
+
return {
|
|
117
|
+
canViewTemplatePart: (_select$canUser = select(coreStore).canUser('read', 'templates')) !== null && _select$canUser !== void 0 ? _select$canUser : false,
|
|
118
|
+
canEditTemplatePart: (_select$canUser2 = select(coreStore).canUser('create', 'templates')) !== null && _select$canUser2 !== void 0 ? _select$canUser2 : false
|
|
119
|
+
};
|
|
120
|
+
}, []);
|
|
121
|
+
if (!canViewTemplatePart) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
const TemplatePartInnerBlocksComponent = canEditTemplatePart ? EditableTemplatePartInnerBlocks : NonEditableTemplatePartPreview;
|
|
125
|
+
return createElement(TemplatePartInnerBlocksComponent, {
|
|
126
|
+
postId: id,
|
|
127
|
+
hasInnerBlocks: hasInnerBlocks,
|
|
128
|
+
layout: layout,
|
|
129
|
+
tagName: TagName,
|
|
130
|
+
blockProps: blockProps
|
|
131
|
+
});
|
|
132
|
+
}
|
|
37
133
|
//# sourceMappingURL=inner-blocks.js.map
|