@wordpress/block-library 10.5.2-next.v.202608281122.0 → 11.0.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 +19 -1
- package/build/audio/edit.cjs +5 -5
- package/build/audio/edit.cjs.map +2 -2
- package/build/audio/index.cjs +0 -37
- package/build/audio/index.cjs.map +3 -3
- package/build/button/index.cjs +0 -34
- package/build/button/index.cjs.map +3 -3
- package/build/code/index.cjs +0 -17
- package/build/code/index.cjs.map +3 -3
- package/build/comment-template/edit.cjs.map +1 -1
- package/build/cover/index.cjs +0 -38
- package/build/cover/index.cjs.map +3 -3
- package/build/details/index.cjs +0 -17
- package/build/details/index.cjs.map +3 -3
- package/build/file/index.cjs +0 -43
- package/build/file/index.cjs.map +3 -3
- package/build/footnotes/format.cjs +1 -1
- package/build/footnotes/format.cjs.map +2 -2
- package/build/gallery/dynamic-gallery.cjs +22 -12
- package/build/gallery/dynamic-gallery.cjs.map +2 -2
- package/build/heading/index.cjs +0 -16
- package/build/heading/index.cjs.map +3 -3
- package/build/image/image.cjs +7 -5
- package/build/image/image.cjs.map +2 -2
- package/build/image/index.cjs +0 -81
- package/build/image/index.cjs.map +3 -3
- package/build/image/use-open-image-media-editor-modal.cjs +81 -14
- package/build/image/use-open-image-media-editor-modal.cjs.map +2 -2
- package/build/index.cjs +0 -10
- package/build/index.cjs.map +2 -2
- package/build/latest-posts/edit.cjs.map +1 -1
- package/build/list-item/edit.cjs +14 -11
- package/build/list-item/edit.cjs.map +2 -2
- package/build/list-item/hooks/index.cjs +6 -9
- package/build/list-item/hooks/index.cjs.map +2 -2
- package/build/list-item/hooks/use-enter.cjs +62 -67
- package/build/list-item/hooks/use-enter.cjs.map +3 -3
- package/build/list-item/hooks/use-merge.cjs +26 -44
- package/build/list-item/hooks/use-merge.cjs.map +3 -3
- package/build/list-item/hooks/use-multi-select-tab.cjs +80 -0
- package/build/list-item/hooks/use-multi-select-tab.cjs.map +7 -0
- package/build/list-item/hooks/use-tab.cjs +65 -0
- package/build/list-item/hooks/use-tab.cjs.map +7 -0
- package/build/list-item/index.cjs +0 -17
- package/build/list-item/index.cjs.map +3 -3
- package/build/list-item/utils.cjs +169 -0
- package/build/list-item/utils.cjs.map +7 -0
- package/build/math/block.json +3 -0
- package/build/media-text/index.cjs +0 -50
- package/build/media-text/index.cjs.map +3 -3
- package/build/media-text/media-container.cjs +16 -11
- package/build/media-text/media-container.cjs.map +2 -2
- package/build/more/index.cjs +0 -18
- package/build/more/index.cjs.map +3 -3
- package/build/navigation/constants.cjs +1 -1
- package/build/navigation/constants.cjs.map +1 -1
- package/build/navigation-link/block.json +1 -1
- package/build/navigation-link/deprecated.cjs +69 -0
- package/build/navigation-link/deprecated.cjs.map +7 -0
- package/build/navigation-link/index.cjs +6 -74
- package/build/navigation-link/index.cjs.map +4 -4
- package/build/{form-submit-button/init.cjs → navigation-link/variations.cjs} +23 -8
- package/build/navigation-link/variations.cjs.map +7 -0
- package/build/navigation-submenu/index.cjs +0 -32
- package/build/navigation-submenu/index.cjs.map +3 -3
- package/build/paragraph/index.cjs +0 -17
- package/build/paragraph/index.cjs.map +3 -3
- package/build/paragraph/use-enter.cjs +8 -4
- package/build/paragraph/use-enter.cjs.map +2 -2
- package/build/post-template/edit.cjs +3 -1
- package/build/post-template/edit.cjs.map +2 -2
- package/build/preformatted/index.cjs +0 -17
- package/build/preformatted/index.cjs.map +3 -3
- package/build/pullquote/index.cjs +0 -24
- package/build/pullquote/index.cjs.map +3 -3
- package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs +13 -5
- package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs.map +2 -2
- package/build/query/edit/inspector-controls/index.cjs +9 -4
- package/build/query/edit/inspector-controls/index.cjs.map +2 -2
- package/build/query/edit/query-content.cjs +30 -9
- package/build/query/edit/query-content.cjs.map +3 -3
- package/build/query/utils.cjs +11 -4
- package/build/query/utils.cjs.map +2 -2
- package/build/search/edit.cjs +3 -1
- package/build/search/edit.cjs.map +2 -2
- package/build/search/index.cjs +0 -31
- package/build/search/index.cjs.map +3 -3
- package/build/site-tagline/edit.cjs +11 -17
- package/build/site-tagline/edit.cjs.map +2 -2
- package/build/site-title/edit.cjs +12 -18
- package/build/site-title/edit.cjs.map +2 -2
- package/build/social-link/index.cjs +0 -31
- package/build/social-link/index.cjs.map +3 -3
- package/build/verse/index.cjs +0 -17
- package/build/verse/index.cjs.map +3 -3
- package/build/video/index.cjs +0 -40
- package/build/video/index.cjs.map +3 -3
- package/build/video/tracks-editor.cjs +2 -3
- package/build/video/tracks-editor.cjs.map +3 -3
- package/build-module/audio/edit.mjs +5 -5
- package/build-module/audio/edit.mjs.map +2 -2
- package/build-module/audio/index.mjs +0 -37
- package/build-module/audio/index.mjs.map +2 -2
- package/build-module/button/index.mjs +0 -34
- package/build-module/button/index.mjs.map +2 -2
- package/build-module/code/index.mjs +0 -17
- package/build-module/code/index.mjs.map +2 -2
- package/build-module/comment-template/edit.mjs.map +1 -1
- package/build-module/cover/index.mjs +0 -38
- package/build-module/cover/index.mjs.map +2 -2
- package/build-module/details/index.mjs +0 -17
- package/build-module/details/index.mjs.map +2 -2
- package/build-module/file/index.mjs +1 -44
- package/build-module/file/index.mjs.map +2 -2
- package/build-module/footnotes/format.mjs +1 -1
- package/build-module/footnotes/format.mjs.map +2 -2
- package/build-module/gallery/dynamic-gallery.mjs +23 -13
- package/build-module/gallery/dynamic-gallery.mjs.map +2 -2
- package/build-module/heading/index.mjs +1 -21
- package/build-module/heading/index.mjs.map +2 -2
- package/build-module/image/image.mjs +7 -5
- package/build-module/image/image.mjs.map +2 -2
- package/build-module/image/index.mjs +0 -81
- package/build-module/image/index.mjs.map +2 -2
- package/build-module/image/use-open-image-media-editor-modal.mjs +84 -14
- package/build-module/image/use-open-image-media-editor-modal.mjs.map +2 -2
- package/build-module/index.mjs +0 -10
- package/build-module/index.mjs.map +2 -2
- package/build-module/latest-posts/edit.mjs.map +1 -1
- package/build-module/list-item/edit.mjs +20 -18
- package/build-module/list-item/edit.mjs.map +2 -2
- package/build-module/list-item/hooks/index.mjs +8 -10
- package/build-module/list-item/hooks/index.mjs.map +2 -2
- package/build-module/list-item/hooks/use-enter.mjs +63 -58
- package/build-module/list-item/hooks/use-enter.mjs.map +2 -2
- package/build-module/list-item/hooks/use-merge.mjs +27 -35
- package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
- package/build-module/list-item/hooks/use-multi-select-tab.mjs +59 -0
- package/build-module/list-item/hooks/use-multi-select-tab.mjs.map +7 -0
- package/build-module/list-item/hooks/use-tab.mjs +44 -0
- package/build-module/list-item/hooks/use-tab.mjs.map +7 -0
- package/build-module/list-item/index.mjs +0 -17
- package/build-module/list-item/index.mjs.map +2 -2
- package/build-module/list-item/utils.mjs +140 -0
- package/build-module/list-item/utils.mjs.map +7 -0
- package/build-module/math/block.json +3 -0
- package/build-module/media-text/index.mjs +0 -50
- package/build-module/media-text/index.mjs.map +2 -2
- package/build-module/media-text/media-container.mjs +17 -12
- package/build-module/media-text/media-container.mjs.map +2 -2
- package/build-module/more/index.mjs +0 -18
- package/build-module/more/index.mjs.map +2 -2
- package/build-module/navigation/constants.mjs +1 -1
- package/build-module/navigation/constants.mjs.map +1 -1
- package/build-module/navigation-link/block.json +1 -1
- package/build-module/navigation-link/deprecated.mjs +48 -0
- package/build-module/navigation-link/deprecated.mjs.map +7 -0
- package/build-module/navigation-link/index.mjs +7 -75
- package/build-module/navigation-link/index.mjs.map +3 -3
- package/build-module/navigation-link/variations.mjs +22 -0
- package/build-module/navigation-link/variations.mjs.map +7 -0
- package/build-module/navigation-submenu/index.mjs +1 -33
- package/build-module/navigation-submenu/index.mjs.map +2 -2
- package/build-module/paragraph/index.mjs +0 -17
- package/build-module/paragraph/index.mjs.map +2 -2
- package/build-module/paragraph/use-enter.mjs +8 -4
- package/build-module/paragraph/use-enter.mjs.map +2 -2
- package/build-module/post-template/edit.mjs +3 -1
- package/build-module/post-template/edit.mjs.map +2 -2
- package/build-module/preformatted/index.mjs +0 -17
- package/build-module/preformatted/index.mjs.map +2 -2
- package/build-module/pullquote/index.mjs +0 -24
- package/build-module/pullquote/index.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs +14 -6
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs.map +2 -2
- package/build-module/query/edit/inspector-controls/index.mjs +9 -4
- package/build-module/query/edit/inspector-controls/index.mjs.map +2 -2
- package/build-module/query/edit/query-content.mjs +32 -11
- package/build-module/query/edit/query-content.mjs.map +2 -2
- package/build-module/query/utils.mjs +10 -7
- package/build-module/query/utils.mjs.map +2 -2
- package/build-module/search/edit.mjs +4 -2
- package/build-module/search/edit.mjs.map +2 -2
- package/build-module/search/index.mjs +0 -31
- package/build-module/search/index.mjs.map +2 -2
- package/build-module/site-tagline/edit.mjs +13 -19
- package/build-module/site-tagline/edit.mjs.map +2 -2
- package/build-module/site-title/edit.mjs +14 -20
- package/build-module/site-title/edit.mjs.map +2 -2
- package/build-module/social-link/index.mjs +0 -31
- package/build-module/social-link/index.mjs.map +2 -2
- package/build-module/verse/index.mjs +0 -17
- package/build-module/verse/index.mjs.map +2 -2
- package/build-module/video/index.mjs +0 -40
- package/build-module/video/index.mjs.map +2 -2
- package/build-module/video/tracks-editor.mjs +3 -5
- package/build-module/video/tracks-editor.mjs.map +2 -2
- package/build-style/columns/style-rtl.css +1 -1
- package/build-style/columns/style.css +1 -1
- package/build-style/comment-template/style-rtl.css +0 -1
- package/build-style/comment-template/style.css +0 -1
- package/build-style/cover/style-rtl.css +1 -2
- package/build-style/cover/style.css +1 -2
- package/build-style/editor-rtl.css +20 -81
- package/build-style/editor.css +20 -81
- package/build-style/gallery/style-rtl.css +2 -4
- package/build-style/gallery/style.css +2 -4
- package/build-style/group/theme-rtl.css +1 -1
- package/build-style/group/theme.css +1 -1
- package/build-style/heading/style-rtl.css +1 -1
- package/build-style/heading/style.css +1 -1
- package/build-style/icon/style-rtl.css +3 -0
- package/build-style/icon/style.css +3 -0
- package/build-style/image/editor-rtl.css +0 -1
- package/build-style/image/editor.css +0 -1
- package/build-style/list/style-rtl.css +1 -1
- package/build-style/list/style.css +1 -1
- package/build-style/media-text/style-rtl.css +2 -3
- package/build-style/media-text/style.css +2 -3
- package/build-style/navigation/editor-rtl.css +8 -0
- package/build-style/navigation/editor.css +8 -0
- package/build-style/paragraph/style-rtl.css +1 -1
- package/build-style/paragraph/style.css +1 -1
- package/build-style/playlist/style-rtl.css +1 -2
- package/build-style/playlist/style.css +1 -2
- package/build-style/playlist-track/style-rtl.css +1 -2
- package/build-style/playlist-track/style.css +1 -2
- package/build-style/preformatted/style-rtl.css +1 -1
- package/build-style/preformatted/style.css +1 -1
- package/build-style/query/editor-rtl.css +5 -15
- package/build-style/query/editor.css +5 -15
- package/build-style/read-more/style-rtl.css +0 -1
- package/build-style/read-more/style.css +0 -1
- package/build-style/reset-rtl.css +1 -3
- package/build-style/reset.css +1 -3
- package/build-style/search/style-rtl.css +1 -3
- package/build-style/search/style.css +1 -3
- package/build-style/site-logo/editor-rtl.css +1 -2
- package/build-style/site-logo/editor.css +1 -2
- package/build-style/style-rtl.css +18 -77
- package/build-style/style.css +18 -77
- package/build-style/tab-list/style-rtl.css +1 -3
- package/build-style/tab-list/style.css +1 -3
- package/build-style/template-part/editor-rtl.css +4 -8
- package/build-style/template-part/editor.css +4 -8
- 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 +2 -2
- package/build-style/theme.css +2 -2
- package/build-style/video/style-rtl.css +1 -2
- package/build-style/video/style.css +1 -2
- package/build-types/navigation-link/deprecated.d.ts +48 -0
- package/build-types/navigation-link/deprecated.d.ts.map +1 -0
- package/package.json +43 -43
- package/src/accordion/index.php +2 -2
- package/src/accordion-item/index.php +1 -1
- package/src/audio/edit.jsx +6 -7
- package/src/audio/index.js +0 -37
- package/src/breadcrumbs/index.php +4 -4
- package/src/button/index.js +0 -34
- package/src/button/style.scss +16 -15
- package/src/button/test/{get-experimental-label.js → get-experimental-label.jsdom.test.js} +1 -0
- package/src/button/test/get-updated-link-attributes.js +1 -0
- package/src/button/test/utils.js +1 -0
- package/src/categories/index.php +4 -0
- package/src/code/index.js +0 -18
- package/src/code/test/utils.js +1 -0
- package/src/columns/style.scss +2 -1
- package/src/columns/test/{transforms.js → transforms.jsdom.test.js} +1 -0
- package/src/columns/test/utils.js +1 -0
- package/src/comment-template/edit.jsx +1 -1
- package/src/comment-template/index.php +2 -2
- package/src/comment-template/test/index.js +1 -0
- package/src/common.scss +51 -50
- package/src/cover/README.md +37 -0
- package/src/cover/index.js +0 -39
- package/src/cover/style.scss +3 -3
- package/src/cover/test/{edit.js → edit.jsdom.test.js} +18 -17
- package/src/cover/test/{transforms.js → transforms.jsdom.test.js} +1 -0
- package/src/details/index.js +0 -18
- package/src/editor.scss +0 -2
- package/src/embed/editor.scss +1 -0
- package/src/embed/test/{index.js → index.jsdom.test.js} +5 -1
- package/src/file/index.js +1 -43
- package/src/footnotes/format.jsx +5 -1
- package/src/gallery/dynamic-gallery.jsx +31 -4
- package/src/gallery/test/dynamic-source.js +1 -0
- package/src/gallery/test/{edit.js → edit.jsdom.test.js} +4 -0
- package/src/gallery/test/responsive-styles.js +1 -0
- package/src/gallery/test/shared.js +1 -0
- package/src/gallery/test/{transforms.js → transforms.jsdom.test.js} +1 -0
- package/src/gallery/test/{use-get-new-images.jsx → use-get-new-images.jsdom.test.jsx} +1 -0
- package/src/gallery/test/variations.js +1 -0
- package/src/group/test/{placeholder.jsx → placeholder.jsdom.test.jsx} +1 -0
- package/src/group/theme.scss +1 -1
- package/src/heading/index.js +1 -22
- package/src/heading/index.php +1 -1
- package/src/heading/style.scss +1 -1
- package/src/heading/test/shared.js +1 -0
- package/src/home-link/index.php +2 -2
- package/src/html/test/{index.js → index.jsdom.test.js} +9 -0
- package/src/html/test/{utils.js → utils.jsdom.test.js} +1 -0
- package/src/icon/index.php +18 -6
- package/src/icon/style.scss +7 -0
- package/src/image/image.jsx +18 -11
- package/src/image/index.js +0 -80
- package/src/image/test/{transforms.js → transforms.jsdom.test.js} +1 -0
- package/src/image/test/{use-open-image-media-editor-modal.js → use-open-image-media-editor-modal.jsdom.test.js} +343 -28
- package/src/image/use-open-image-media-editor-modal.js +184 -21
- package/src/index.jsx +0 -11
- package/src/latest-posts/edit.jsx +1 -1
- package/src/latest-posts/test/{deprecated.js → deprecated.jsdom.test.js} +1 -0
- package/src/list/index.php +1 -1
- package/src/list/style.scss +1 -1
- package/src/list-item/edit.jsx +20 -20
- package/src/list-item/hooks/index.js +2 -3
- package/src/list-item/hooks/use-enter.js +82 -70
- package/src/list-item/hooks/use-merge.js +28 -36
- package/src/list-item/hooks/use-multi-select-tab.js +83 -0
- package/src/list-item/hooks/use-tab.js +62 -0
- package/src/list-item/index.js +0 -18
- package/src/list-item/utils.js +236 -0
- package/src/math/README.md +2 -0
- package/src/math/block.json +3 -0
- package/src/media-text/index.js +0 -50
- package/src/media-text/media-container.jsx +22 -12
- package/src/media-text/style.scss +2 -1
- package/src/media-text/test/image-fill.js +1 -0
- package/src/more/index.js +0 -19
- package/src/navigation/constants.js +1 -1
- package/src/navigation/edit/test/are-blocks-dirty.js +1 -0
- package/src/navigation/edit/test/{layout-custom-properties.js → layout-custom-properties.jsdom.test.js} +8 -7
- package/src/navigation/edit/test/{navigation-menu-selector.jsx → navigation-menu-selector.jsdom.test.jsx} +23 -14
- package/src/navigation/edit/test/{overlay-template-part-selector.jsx → overlay-template-part-selector.jsdom.test.jsx} +22 -20
- package/src/navigation/edit/test/{responsive-wrapper.jsx → responsive-wrapper.jsdom.test.jsx} +14 -13
- package/src/navigation/edit/test/{use-create-overlay.js → use-create-overlay.jsdom.test.js} +19 -24
- package/src/navigation/edit/test/utils.js +1 -0
- package/src/navigation/editor.scss +13 -0
- package/src/navigation/index.php +14 -14
- package/src/navigation/test/{menu-items-to-blocks.js → menu-items-to-blocks.jsdom.test.js} +3 -2
- package/src/navigation/test/{use-navigation-menu.js → use-navigation-menu.jsdom.test.js} +7 -4
- package/src/navigation/test/{view.js → view.jsdom.test.js} +4 -2
- package/src/navigation-link/block.json +1 -1
- package/src/navigation-link/deprecated.tsx +58 -0
- package/src/navigation-link/{index.jsx → index.js} +5 -77
- package/src/navigation-link/index.php +5 -5
- package/src/navigation-link/shared/test/{controls.jsx → controls.jsdom.test.jsx} +18 -18
- package/src/navigation-link/shared/test/update-attributes.test.js +52 -51
- package/src/navigation-link/shared/test/{use-enable-link-status-validation.test.js → use-enable-link-status-validation.jsdom.test.js} +8 -6
- package/src/navigation-link/shared/test/{use-entity-binding.js → use-entity-binding.jsdom.test.js} +12 -11
- package/src/navigation-link/shared/test/{use-handle-link-change.test.js → use-handle-link-change.jsdom.test.js} +23 -20
- package/src/navigation-link/shared/test/{use-link-preview.test.js → use-link-preview.jsdom.test.js} +17 -14
- package/src/navigation-link/test/__snapshots__/{hooks.js.snap → hooks.jsdom.test.js.snap} +23 -6
- package/src/navigation-link/test/block-labelling.js +1 -0
- package/src/navigation-link/test/{hooks.js → hooks.jsdom.test.js} +1 -0
- package/src/navigation-link/variations.js +19 -0
- package/src/navigation-submenu/index.js +1 -33
- package/src/page-list/index.php +10 -10
- package/src/page-list/test/{convert-to-navigation-links.js → convert-to-navigation-links.jsdom.test.js} +3 -2
- package/src/paragraph/index.js +0 -18
- package/src/paragraph/style.scss +1 -1
- package/src/paragraph/use-enter.js +13 -6
- package/src/pattern/test/index.js +1 -0
- package/src/playlist/test/{edit-component.jsx → edit-component.jsdom.test.jsx} +31 -30
- package/src/playlist/test/{edit.js → edit.jsdom.test.js} +1 -0
- package/src/playlist/test/{transforms.js → transforms.jsdom.test.js} +1 -0
- package/src/playlist-track/test/{edit.jsx → edit.jsdom.test.jsx} +20 -19
- package/src/post-author/index.php +3 -3
- package/src/post-author-biography/index.php +3 -3
- package/src/post-author-name/index.php +3 -3
- package/src/post-comments-link/index.php +4 -4
- package/src/post-date/test/{edit.js → edit.jsdom.test.js} +1 -0
- package/src/post-template/edit.jsx +3 -1
- package/src/post-time-to-read/index.php +3 -3
- package/src/post-title/style.scss +1 -0
- package/src/preformatted/index.js +0 -18
- package/src/preformatted/style.scss +1 -1
- package/src/pullquote/index.js +0 -24
- package/src/query/edit/inspector-controls/enhanced-pagination-control.jsx +13 -6
- package/src/query/edit/inspector-controls/index.jsx +9 -4
- package/src/query/edit/query-content.jsx +31 -8
- package/src/query/editor.scss +1 -7
- package/src/query/index.php +2 -2
- package/src/query/test/{utils.js → utils.jsdom.test.js} +1 -0
- package/src/query/utils.js +15 -11
- package/src/quote/test/{migrate.js → migrate.jsdom.test.js} +1 -0
- package/src/read-more/index.php +1 -1
- package/src/search/edit.jsx +12 -2
- package/src/search/index.js +0 -30
- package/src/search/index.php +1 -1
- package/src/separator/test/{edit.jsx → edit.jsdom.test.jsx} +5 -4
- package/src/site-logo/index.php +1 -1
- package/src/site-tagline/edit.jsx +18 -27
- package/src/site-title/edit.jsx +20 -27
- package/src/social-link/index.js +0 -32
- package/src/social-link/index.php +0 -1
- package/src/style.scss +0 -1
- package/src/table/editor.scss +1 -0
- package/src/table/style.scss +2 -0
- package/src/table/test/state.js +1 -0
- package/src/table/test/utils.js +1 -0
- package/src/table-of-contents/index.php +3 -3
- package/src/template-part/theme.scss +1 -1
- package/src/utils/test/search-patterns.js +1 -0
- package/src/utils/test/{style-state.js → style-state.jsdom.test.js} +1 -0
- package/src/utils/test/{waveform-player-dependency.js → waveform-player-dependency.jsdom.test.js} +15 -21
- package/src/verse/index.js +0 -18
- package/src/verse/style.scss +1 -0
- package/src/video/index.js +0 -40
- package/src/video/test/variations.js +1 -0
- package/src/video/tracks-editor.jsx +4 -5
- package/build/form/block.json +0 -65
- package/build/form/deprecated.cjs +0 -111
- package/build/form/deprecated.cjs.map +0 -7
- package/build/form/edit.cjs +0 -180
- package/build/form/edit.cjs.map +0 -7
- package/build/form/icons.cjs +0 -33
- package/build/form/icons.cjs.map +0 -7
- package/build/form/index.cjs +0 -118
- package/build/form/index.cjs.map +0 -7
- package/build/form/init.cjs +0 -28
- package/build/form/init.cjs.map +0 -7
- package/build/form/save.cjs +0 -40
- package/build/form/save.cjs.map +0 -7
- package/build/form/utils.cjs +0 -61
- package/build/form/utils.cjs.map +0 -7
- package/build/form/variations.cjs +0 -152
- package/build/form/variations.cjs.map +0 -7
- package/build/form/view.cjs +0 -48
- package/build/form/view.cjs.map +0 -7
- package/build/form-input/block.json +0 -72
- package/build/form-input/deprecated.cjs +0 -252
- package/build/form-input/deprecated.cjs.map +0 -7
- package/build/form-input/edit.cjs +0 -206
- package/build/form-input/edit.cjs.map +0 -7
- package/build/form-input/icons.cjs +0 -33
- package/build/form-input/icons.cjs.map +0 -7
- package/build/form-input/index.cjs +0 -63
- package/build/form-input/index.cjs.map +0 -7
- package/build/form-input/init.cjs +0 -28
- package/build/form-input/init.cjs.map +0 -7
- package/build/form-input/save.cjs +0 -88
- package/build/form-input/save.cjs.map +0 -7
- package/build/form-input/variations.cjs +0 -105
- package/build/form-input/variations.cjs.map +0 -7
- package/build/form-submission-notification/block.json +0 -19
- package/build/form-submission-notification/edit.cjs +0 -71
- package/build/form-submission-notification/edit.cjs.map +0 -7
- package/build/form-submission-notification/index.cjs +0 -73
- package/build/form-submission-notification/index.cjs.map +0 -7
- package/build/form-submission-notification/init.cjs +0 -28
- package/build/form-submission-notification/init.cjs.map +0 -7
- package/build/form-submission-notification/save.cjs +0 -54
- package/build/form-submission-notification/save.cjs.map +0 -7
- package/build/form-submission-notification/variations.cjs +0 -78
- package/build/form-submission-notification/variations.cjs.map +0 -7
- package/build/form-submit-button/block.json +0 -15
- package/build/form-submit-button/edit.cjs +0 -36
- package/build/form-submit-button/edit.cjs.map +0 -7
- package/build/form-submit-button/index.cjs +0 -75
- package/build/form-submit-button/index.cjs.map +0 -7
- package/build/form-submit-button/init.cjs.map +0 -7
- package/build/form-submit-button/save.cjs +0 -32
- package/build/form-submit-button/save.cjs.map +0 -7
- package/build/list-item/hooks/use-indent-list-item.cjs +0 -79
- package/build/list-item/hooks/use-indent-list-item.cjs.map +0 -7
- package/build/list-item/hooks/use-outdent-list-item.cjs +0 -106
- package/build/list-item/hooks/use-outdent-list-item.cjs.map +0 -7
- package/build/list-item/hooks/use-space.cjs +0 -83
- package/build/list-item/hooks/use-space.cjs.map +0 -7
- package/build/query/edit/enhanced-pagination-modal.cjs +0 -89
- package/build/query/edit/enhanced-pagination-modal.cjs.map +0 -7
- package/build-module/form/block.json +0 -65
- package/build-module/form/deprecated.mjs +0 -96
- package/build-module/form/deprecated.mjs.map +0 -7
- package/build-module/form/edit.mjs +0 -170
- package/build-module/form/edit.mjs.map +0 -7
- package/build-module/form/icons.mjs +0 -8
- package/build-module/form/icons.mjs.map +0 -7
- package/build-module/form/index.mjs +0 -83
- package/build-module/form/index.mjs.map +0 -7
- package/build-module/form/init.mjs +0 -7
- package/build-module/form/init.mjs.map +0 -7
- package/build-module/form/save.mjs +0 -19
- package/build-module/form/save.mjs.map +0 -7
- package/build-module/form/utils.mjs +0 -35
- package/build-module/form/utils.mjs.map +0 -7
- package/build-module/form/variations.mjs +0 -134
- package/build-module/form/variations.mjs.map +0 -7
- package/build-module/form/view.mjs +0 -46
- package/build-module/form/view.mjs.map +0 -7
- package/build-module/form-input/block.json +0 -72
- package/build-module/form-input/deprecated.mjs +0 -226
- package/build-module/form-input/deprecated.mjs.map +0 -7
- package/build-module/form-input/edit.mjs +0 -186
- package/build-module/form-input/edit.mjs.map +0 -7
- package/build-module/form-input/icons.mjs +0 -8
- package/build-module/form-input/icons.mjs.map +0 -7
- package/build-module/form-input/index.mjs +0 -25
- package/build-module/form-input/index.mjs.map +0 -7
- package/build-module/form-input/init.mjs +0 -7
- package/build-module/form-input/init.mjs.map +0 -7
- package/build-module/form-input/save.mjs +0 -62
- package/build-module/form-input/save.mjs.map +0 -7
- package/build-module/form-input/variations.mjs +0 -84
- package/build-module/form-input/variations.mjs.map +0 -7
- package/build-module/form-submission-notification/block.json +0 -19
- package/build-module/form-submission-notification/edit.mjs +0 -45
- package/build-module/form-submission-notification/edit.mjs.map +0 -7
- package/build-module/form-submission-notification/index.mjs +0 -35
- package/build-module/form-submission-notification/index.mjs.map +0 -7
- package/build-module/form-submission-notification/init.mjs +0 -7
- package/build-module/form-submission-notification/init.mjs.map +0 -7
- package/build-module/form-submission-notification/save.mjs +0 -23
- package/build-module/form-submission-notification/save.mjs.map +0 -7
- package/build-module/form-submission-notification/variations.mjs +0 -57
- package/build-module/form-submission-notification/variations.mjs.map +0 -7
- package/build-module/form-submit-button/block.json +0 -15
- package/build-module/form-submit-button/edit.mjs +0 -15
- package/build-module/form-submit-button/edit.mjs.map +0 -7
- package/build-module/form-submit-button/index.mjs +0 -37
- package/build-module/form-submit-button/index.mjs.map +0 -7
- package/build-module/form-submit-button/init.mjs +0 -7
- package/build-module/form-submit-button/init.mjs.map +0 -7
- package/build-module/form-submit-button/save.mjs +0 -11
- package/build-module/form-submit-button/save.mjs.map +0 -7
- package/build-module/list-item/hooks/use-indent-list-item.mjs +0 -58
- package/build-module/list-item/hooks/use-indent-list-item.mjs.map +0 -7
- package/build-module/list-item/hooks/use-outdent-list-item.mjs +0 -85
- package/build-module/list-item/hooks/use-outdent-list-item.mjs.map +0 -7
- package/build-module/list-item/hooks/use-space.mjs +0 -52
- package/build-module/list-item/hooks/use-space.mjs.map +0 -7
- package/build-module/query/edit/enhanced-pagination-modal.mjs +0 -72
- package/build-module/query/edit/enhanced-pagination-modal.mjs.map +0 -7
- package/build-style/form-input/editor-rtl.css +0 -19
- package/build-style/form-input/editor.css +0 -19
- package/build-style/form-input/style-rtl.css +0 -48
- package/build-style/form-input/style.css +0 -48
- package/build-style/form-submission-notification/editor-rtl.css +0 -30
- package/build-style/form-submission-notification/editor.css +0 -30
- package/build-style/form-submit-button/style-rtl.css +0 -3
- package/build-style/form-submit-button/style.css +0 -3
- package/src/form/README.md +0 -90
- package/src/form/block.json +0 -65
- package/src/form/deprecated.jsx +0 -93
- package/src/form/edit.jsx +0 -169
- package/src/form/icons.jsx +0 -7
- package/src/form/index.js +0 -91
- package/src/form/index.php +0 -197
- package/src/form/init.js +0 -3
- package/src/form/save.jsx +0 -15
- package/src/form/utils.js +0 -36
- package/src/form/variations.js +0 -133
- package/src/form/view.js +0 -54
- package/src/form-input/README.md +0 -74
- package/src/form-input/block.json +0 -72
- package/src/form-input/deprecated.jsx +0 -248
- package/src/form-input/edit.jsx +0 -187
- package/src/form-input/editor.scss +0 -24
- package/src/form-input/icons.jsx +0 -7
- package/src/form-input/index.js +0 -22
- package/src/form-input/index.php +0 -47
- package/src/form-input/init.js +0 -3
- package/src/form-input/save.jsx +0 -89
- package/src/form-input/style.scss +0 -64
- package/src/form-input/variations.js +0 -82
- package/src/form-submission-notification/README.md +0 -50
- package/src/form-submission-notification/block.json +0 -19
- package/src/form-submission-notification/edit.jsx +0 -44
- package/src/form-submission-notification/editor.scss +0 -45
- package/src/form-submission-notification/index.js +0 -33
- package/src/form-submission-notification/index.php +0 -48
- package/src/form-submission-notification/init.js +0 -3
- package/src/form-submission-notification/save.jsx +0 -18
- package/src/form-submission-notification/variations.js +0 -56
- package/src/form-submit-button/README.md +0 -54
- package/src/form-submit-button/block.json +0 -15
- package/src/form-submit-button/edit.jsx +0 -12
- package/src/form-submit-button/index.js +0 -35
- package/src/form-submit-button/init.js +0 -3
- package/src/form-submit-button/save.jsx +0 -10
- package/src/form-submit-button/style.scss +0 -3
- package/src/list-item/hooks/use-indent-list-item.js +0 -73
- package/src/list-item/hooks/use-outdent-list-item.js +0 -100
- package/src/list-item/hooks/use-space.js +0 -66
- package/src/query/edit/enhanced-pagination-modal.jsx +0 -77
- /package/src/utils/test/{waveform-player.jsx → waveform-player.jsdom.test.jsx} +0 -0
- /package/src/utils/test/{waveform-utils.js → waveform-utils.jsdom.test.js} +0 -0
package/src/form/deprecated.jsx
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
InnerBlocks,
|
|
3
|
-
useBlockProps,
|
|
4
|
-
getTypographyClassesAndStyles,
|
|
5
|
-
__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,
|
|
6
|
-
__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,
|
|
7
|
-
} from '@wordpress/block-editor';
|
|
8
|
-
|
|
9
|
-
const v1 = {
|
|
10
|
-
// The block supports here are deliberately empty despite this
|
|
11
|
-
// deprecated version of the block having adopted block supports.
|
|
12
|
-
// The attributes added by these supports have been manually
|
|
13
|
-
// added to this deprecated version's attributes definition so
|
|
14
|
-
// that the data isn't lost on migration. All this is so that the
|
|
15
|
-
// automatic application of block support classes doesn't occur
|
|
16
|
-
// as this version of the block had a bug that overrode those
|
|
17
|
-
// classes. If those block support classes are applied during the
|
|
18
|
-
// deprecation process, this deprecation doesn't match and won't
|
|
19
|
-
// run.
|
|
20
|
-
// @see https://github.com/WordPress/gutenberg/pull/55755
|
|
21
|
-
supports: {},
|
|
22
|
-
attributes: {
|
|
23
|
-
submissionMethod: {
|
|
24
|
-
type: 'string',
|
|
25
|
-
default: 'email',
|
|
26
|
-
},
|
|
27
|
-
method: {
|
|
28
|
-
type: 'string',
|
|
29
|
-
default: 'post',
|
|
30
|
-
},
|
|
31
|
-
action: {
|
|
32
|
-
type: 'string',
|
|
33
|
-
},
|
|
34
|
-
email: {
|
|
35
|
-
type: 'string',
|
|
36
|
-
},
|
|
37
|
-
// The following attributes have been added to match the block
|
|
38
|
-
// supports at the time of the deprecation. See above for details.
|
|
39
|
-
anchor: {
|
|
40
|
-
type: 'string',
|
|
41
|
-
source: 'attribute',
|
|
42
|
-
attribute: 'id',
|
|
43
|
-
selector: '*',
|
|
44
|
-
},
|
|
45
|
-
backgroundColor: {
|
|
46
|
-
type: 'string',
|
|
47
|
-
},
|
|
48
|
-
textColor: {
|
|
49
|
-
type: 'string',
|
|
50
|
-
},
|
|
51
|
-
gradient: {
|
|
52
|
-
type: 'string',
|
|
53
|
-
},
|
|
54
|
-
style: {
|
|
55
|
-
type: 'object',
|
|
56
|
-
},
|
|
57
|
-
fontFamily: {
|
|
58
|
-
type: 'string',
|
|
59
|
-
},
|
|
60
|
-
fontSize: {
|
|
61
|
-
type: 'string',
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
save( { attributes } ) {
|
|
65
|
-
const { submissionMethod } = attributes;
|
|
66
|
-
const colorProps = getColorClassesAndStyles( attributes );
|
|
67
|
-
const typographyProps = getTypographyClassesAndStyles( attributes );
|
|
68
|
-
const spacingProps = getSpacingClassesAndStyles( attributes );
|
|
69
|
-
const blockProps = useBlockProps.save( {
|
|
70
|
-
// In this deprecated version, the block support is deliberately empty.
|
|
71
|
-
// As a result, the useBlockProps.save() does not output style or id attributes,
|
|
72
|
-
// so we apply them explicitly here.
|
|
73
|
-
style: {
|
|
74
|
-
...colorProps.style,
|
|
75
|
-
...typographyProps.style,
|
|
76
|
-
...spacingProps.style,
|
|
77
|
-
},
|
|
78
|
-
id: attributes.anchor,
|
|
79
|
-
} );
|
|
80
|
-
|
|
81
|
-
return (
|
|
82
|
-
<form
|
|
83
|
-
{ ...blockProps }
|
|
84
|
-
className="wp-block-form"
|
|
85
|
-
encType={ submissionMethod === 'email' ? 'text/plain' : null }
|
|
86
|
-
>
|
|
87
|
-
<InnerBlocks.Content />
|
|
88
|
-
</form>
|
|
89
|
-
);
|
|
90
|
-
},
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
export default [ v1 ];
|
package/src/form/edit.jsx
DELETED
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import { __ } from '@wordpress/i18n';
|
|
2
|
-
import {
|
|
3
|
-
InnerBlocks,
|
|
4
|
-
useBlockProps,
|
|
5
|
-
useInnerBlocksProps,
|
|
6
|
-
InspectorControls,
|
|
7
|
-
store as blockEditorStore,
|
|
8
|
-
} from '@wordpress/block-editor';
|
|
9
|
-
import {
|
|
10
|
-
SelectControl,
|
|
11
|
-
TextControl,
|
|
12
|
-
__experimentalToolsPanel as ToolsPanel,
|
|
13
|
-
__experimentalToolsPanelItem as ToolsPanelItem,
|
|
14
|
-
} from '@wordpress/components';
|
|
15
|
-
import { useSelect } from '@wordpress/data';
|
|
16
|
-
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
17
|
-
|
|
18
|
-
const Edit = ( { attributes, setAttributes, clientId } ) => {
|
|
19
|
-
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
20
|
-
|
|
21
|
-
const resetAllSettings = () => {
|
|
22
|
-
setAttributes( {
|
|
23
|
-
submissionMethod: 'email',
|
|
24
|
-
email: undefined,
|
|
25
|
-
action: undefined,
|
|
26
|
-
method: 'post',
|
|
27
|
-
} );
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const { action, method, email, submissionMethod } = attributes;
|
|
31
|
-
const blockProps = useBlockProps();
|
|
32
|
-
|
|
33
|
-
const { hasInnerBlocks } = useSelect(
|
|
34
|
-
( select ) => {
|
|
35
|
-
const { getBlock } = select( blockEditorStore );
|
|
36
|
-
const block = getBlock( clientId );
|
|
37
|
-
return {
|
|
38
|
-
hasInnerBlocks: !! ( block && block.innerBlocks.length ),
|
|
39
|
-
};
|
|
40
|
-
},
|
|
41
|
-
[ clientId ]
|
|
42
|
-
);
|
|
43
|
-
|
|
44
|
-
const innerBlocksProps = useInnerBlocksProps( blockProps, {
|
|
45
|
-
renderAppender: hasInnerBlocks
|
|
46
|
-
? undefined
|
|
47
|
-
: InnerBlocks.ButtonBlockAppender,
|
|
48
|
-
} );
|
|
49
|
-
|
|
50
|
-
return (
|
|
51
|
-
<>
|
|
52
|
-
<InspectorControls>
|
|
53
|
-
<ToolsPanel
|
|
54
|
-
dropdownMenuProps={ dropdownMenuProps }
|
|
55
|
-
label={ __( 'Settings' ) }
|
|
56
|
-
resetAll={ resetAllSettings }
|
|
57
|
-
>
|
|
58
|
-
<ToolsPanelItem
|
|
59
|
-
hasValue={ () => submissionMethod !== 'email' }
|
|
60
|
-
label={ __( 'Submissions method' ) }
|
|
61
|
-
onDeselect={ () =>
|
|
62
|
-
setAttributes( {
|
|
63
|
-
submissionMethod: 'email',
|
|
64
|
-
} )
|
|
65
|
-
}
|
|
66
|
-
isShownByDefault
|
|
67
|
-
>
|
|
68
|
-
<SelectControl
|
|
69
|
-
label={ __( 'Submissions method' ) }
|
|
70
|
-
options={ [
|
|
71
|
-
// TODO: Allow plugins to add their own submission methods.
|
|
72
|
-
{
|
|
73
|
-
label: __( 'Send email' ),
|
|
74
|
-
value: 'email',
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
label: __( '- Custom -' ),
|
|
78
|
-
value: 'custom',
|
|
79
|
-
},
|
|
80
|
-
] }
|
|
81
|
-
value={ submissionMethod }
|
|
82
|
-
onChange={ ( value ) =>
|
|
83
|
-
setAttributes( { submissionMethod: value } )
|
|
84
|
-
}
|
|
85
|
-
help={
|
|
86
|
-
submissionMethod === 'custom'
|
|
87
|
-
? __(
|
|
88
|
-
'Select the method to use for form submissions. Additional options for the "custom" mode can be found in the "Advanced" section.'
|
|
89
|
-
)
|
|
90
|
-
: __(
|
|
91
|
-
'Select the method to use for form submissions.'
|
|
92
|
-
)
|
|
93
|
-
}
|
|
94
|
-
/>
|
|
95
|
-
</ToolsPanelItem>
|
|
96
|
-
{ submissionMethod === 'email' && (
|
|
97
|
-
<ToolsPanelItem
|
|
98
|
-
hasValue={ () => !! email }
|
|
99
|
-
label={ __( 'Email for form submissions' ) }
|
|
100
|
-
onDeselect={ () =>
|
|
101
|
-
setAttributes( {
|
|
102
|
-
email: undefined,
|
|
103
|
-
action: undefined,
|
|
104
|
-
method: 'post',
|
|
105
|
-
} )
|
|
106
|
-
}
|
|
107
|
-
isShownByDefault
|
|
108
|
-
>
|
|
109
|
-
<TextControl
|
|
110
|
-
autoComplete="off"
|
|
111
|
-
label={ __( 'Email for form submissions' ) }
|
|
112
|
-
value={ email || '' }
|
|
113
|
-
required
|
|
114
|
-
onChange={ ( value ) => {
|
|
115
|
-
setAttributes( { email: value } );
|
|
116
|
-
setAttributes( {
|
|
117
|
-
action: `mailto:${ value }`,
|
|
118
|
-
} );
|
|
119
|
-
setAttributes( { method: 'post' } );
|
|
120
|
-
} }
|
|
121
|
-
help={ __(
|
|
122
|
-
'The email address where form submissions will be sent. Separate multiple email addresses with a comma.'
|
|
123
|
-
) }
|
|
124
|
-
type="email"
|
|
125
|
-
/>
|
|
126
|
-
</ToolsPanelItem>
|
|
127
|
-
) }
|
|
128
|
-
</ToolsPanel>
|
|
129
|
-
</InspectorControls>
|
|
130
|
-
{ submissionMethod !== 'email' && (
|
|
131
|
-
<InspectorControls group="advanced">
|
|
132
|
-
<SelectControl
|
|
133
|
-
label={ __( 'Method' ) }
|
|
134
|
-
options={ [
|
|
135
|
-
{ label: 'Get', value: 'get' },
|
|
136
|
-
{ label: 'Post', value: 'post' },
|
|
137
|
-
] }
|
|
138
|
-
value={ method }
|
|
139
|
-
onChange={ ( value ) =>
|
|
140
|
-
setAttributes( { method: value } )
|
|
141
|
-
}
|
|
142
|
-
help={ __(
|
|
143
|
-
'Select the method to use for form submissions.'
|
|
144
|
-
) }
|
|
145
|
-
/>
|
|
146
|
-
<TextControl
|
|
147
|
-
autoComplete="off"
|
|
148
|
-
label={ __( 'Form action' ) }
|
|
149
|
-
value={ action }
|
|
150
|
-
onChange={ ( newVal ) => {
|
|
151
|
-
setAttributes( {
|
|
152
|
-
action: newVal,
|
|
153
|
-
} );
|
|
154
|
-
} }
|
|
155
|
-
help={ __(
|
|
156
|
-
'The URL where the form should be submitted.'
|
|
157
|
-
) }
|
|
158
|
-
type="url"
|
|
159
|
-
/>
|
|
160
|
-
</InspectorControls>
|
|
161
|
-
) }
|
|
162
|
-
<form
|
|
163
|
-
{ ...innerBlocksProps }
|
|
164
|
-
encType={ submissionMethod === 'email' ? 'text/plain' : null }
|
|
165
|
-
/>
|
|
166
|
-
</>
|
|
167
|
-
);
|
|
168
|
-
};
|
|
169
|
-
export default Edit;
|
package/src/form/icons.jsx
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { SVG, Path } from '@wordpress/primitives';
|
|
2
|
-
|
|
3
|
-
export const icon = (
|
|
4
|
-
<SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
5
|
-
<Path d="M18 16H6c-1.1 0-2 .9-2 2s.9 2 2 2h12c1.1 0 2-.9 2-2s-.9-2-2-2Zm0 2.5H6c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h12c.3 0 .5.2.5.5s-.2.5-.5.5ZM13 13H4v1.5h9V13Zm-7-2h12c1.1 0 2-.9 2-2s-.9-2-2-2H6c-1.1 0-2 .9-2 2s.9 2 2 2Zm0-2.5h12c.3 0 .5.2.5.5s-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5s.2-.5.5-.5ZM13 4H4v1.5h9V4Z" />
|
|
6
|
-
</SVG>
|
|
7
|
-
);
|
package/src/form/index.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { addFilter } from '@wordpress/hooks';
|
|
2
|
-
import { __ } from '@wordpress/i18n';
|
|
3
|
-
import initBlock from '../utils/init-block';
|
|
4
|
-
import edit from './edit';
|
|
5
|
-
import metadata from './block.json';
|
|
6
|
-
import save from './save';
|
|
7
|
-
import variations from './variations';
|
|
8
|
-
import deprecated from './deprecated';
|
|
9
|
-
import { icon } from './icons';
|
|
10
|
-
import {
|
|
11
|
-
formSubmissionNotificationSuccess,
|
|
12
|
-
formSubmissionNotificationError,
|
|
13
|
-
} from './utils';
|
|
14
|
-
|
|
15
|
-
const { name } = metadata;
|
|
16
|
-
|
|
17
|
-
export { metadata, name };
|
|
18
|
-
|
|
19
|
-
const TEMPLATE = [
|
|
20
|
-
formSubmissionNotificationSuccess,
|
|
21
|
-
formSubmissionNotificationError,
|
|
22
|
-
[
|
|
23
|
-
'core/form-input',
|
|
24
|
-
{
|
|
25
|
-
type: 'text',
|
|
26
|
-
label: __( 'Name' ),
|
|
27
|
-
required: true,
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
[
|
|
31
|
-
'core/form-input',
|
|
32
|
-
{
|
|
33
|
-
type: 'email',
|
|
34
|
-
label: __( 'Email' ),
|
|
35
|
-
required: true,
|
|
36
|
-
},
|
|
37
|
-
],
|
|
38
|
-
[
|
|
39
|
-
'core/form-input',
|
|
40
|
-
{
|
|
41
|
-
type: 'textarea',
|
|
42
|
-
label: __( 'Comment' ),
|
|
43
|
-
required: true,
|
|
44
|
-
},
|
|
45
|
-
],
|
|
46
|
-
[ 'core/form-submit-button', {} ],
|
|
47
|
-
];
|
|
48
|
-
|
|
49
|
-
export const settings = {
|
|
50
|
-
icon,
|
|
51
|
-
template: TEMPLATE,
|
|
52
|
-
edit,
|
|
53
|
-
save,
|
|
54
|
-
deprecated,
|
|
55
|
-
variations,
|
|
56
|
-
example: {},
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
export const init = () => {
|
|
60
|
-
// Prevent adding forms inside forms.
|
|
61
|
-
const DISALLOWED_PARENTS = [ 'core/form' ];
|
|
62
|
-
addFilter(
|
|
63
|
-
'blockEditor.__unstableCanInsertBlockType',
|
|
64
|
-
'core/block-library/preventInsertingFormIntoAnotherForm',
|
|
65
|
-
(
|
|
66
|
-
canInsert,
|
|
67
|
-
blockType,
|
|
68
|
-
rootClientId,
|
|
69
|
-
{ getBlock, getBlockParentsByBlockName }
|
|
70
|
-
) => {
|
|
71
|
-
if ( blockType.name !== 'core/form' ) {
|
|
72
|
-
return canInsert;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
for ( const disallowedParentType of DISALLOWED_PARENTS ) {
|
|
76
|
-
const hasDisallowedParent =
|
|
77
|
-
getBlock( rootClientId )?.name === disallowedParentType ||
|
|
78
|
-
getBlockParentsByBlockName(
|
|
79
|
-
rootClientId,
|
|
80
|
-
disallowedParentType
|
|
81
|
-
).length;
|
|
82
|
-
if ( hasDisallowedParent ) {
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
);
|
|
89
|
-
|
|
90
|
-
return initBlock( { name, metadata, settings } );
|
|
91
|
-
};
|
package/src/form/index.php
DELETED
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
/**
|
|
3
|
-
* Server-side rendering of the `core/form` block.
|
|
4
|
-
*
|
|
5
|
-
* @package WordPress
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Renders the `core/form` block on server.
|
|
10
|
-
*
|
|
11
|
-
* @param array $attributes The block attributes.
|
|
12
|
-
* @param string $content The saved content.
|
|
13
|
-
*
|
|
14
|
-
* @return string The content of the block being rendered.
|
|
15
|
-
*/
|
|
16
|
-
function render_block_core_form( $attributes, $content ) {
|
|
17
|
-
wp_enqueue_script_module( '@wordpress/block-library/form/view' );
|
|
18
|
-
|
|
19
|
-
$processed_content = new WP_HTML_Tag_Processor( $content );
|
|
20
|
-
$processed_content->next_tag( 'form' );
|
|
21
|
-
|
|
22
|
-
// Get the action for this form.
|
|
23
|
-
$action = '';
|
|
24
|
-
$form_action = $attributes['action'] ?? null;
|
|
25
|
-
if ( is_string( $form_action ) ) {
|
|
26
|
-
$action = str_replace(
|
|
27
|
-
array( '{SITE_URL}', '{ADMIN_URL}' ),
|
|
28
|
-
array( site_url(), admin_url() ),
|
|
29
|
-
$form_action
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
$processed_content->set_attribute( 'action', esc_attr( $action ) );
|
|
33
|
-
|
|
34
|
-
// Add the method attribute. If it is not set, default to `post`.
|
|
35
|
-
$method = empty( $attributes['method'] ) ? 'post' : $attributes['method'];
|
|
36
|
-
$processed_content->set_attribute( 'method', $method );
|
|
37
|
-
|
|
38
|
-
$extra_fields = apply_filters( 'render_block_core_form_extra_fields', '', $attributes );
|
|
39
|
-
|
|
40
|
-
return str_replace(
|
|
41
|
-
'</form>',
|
|
42
|
-
$extra_fields . '</form>',
|
|
43
|
-
$processed_content->get_updated_html()
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Adds extra fields to the form.
|
|
49
|
-
*
|
|
50
|
-
* If the form is a comment form, adds the post ID as a hidden field,
|
|
51
|
-
* to allow the comment to be associated with the post.
|
|
52
|
-
*
|
|
53
|
-
* @param string $extra_fields The extra fields.
|
|
54
|
-
* @param array $attributes The block attributes.
|
|
55
|
-
*
|
|
56
|
-
* @return string The extra fields.
|
|
57
|
-
*/
|
|
58
|
-
function block_core_form_extra_fields_comment_form( $extra_fields, $attributes ) {
|
|
59
|
-
$form_action = $attributes['action'] ?? null;
|
|
60
|
-
if ( ! empty( $form_action ) && is_string( $form_action ) && str_ends_with( $form_action, '/wp-comments-post.php' ) ) {
|
|
61
|
-
$extra_fields .= '<input type="hidden" name="comment_post_ID" value="' . get_the_ID() . '" id="comment_post_ID">';
|
|
62
|
-
}
|
|
63
|
-
return $extra_fields;
|
|
64
|
-
}
|
|
65
|
-
add_filter( 'render_block_core_form_extra_fields', 'block_core_form_extra_fields_comment_form', 10, 2 );
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Sends an email if the form is a contact form.
|
|
69
|
-
*/
|
|
70
|
-
function block_core_form_send_email() {
|
|
71
|
-
check_ajax_referer( 'wp-block-form' );
|
|
72
|
-
|
|
73
|
-
// Get the POST data.
|
|
74
|
-
$params = wp_unslash( $_POST );
|
|
75
|
-
// Start building the email content.
|
|
76
|
-
$content = sprintf(
|
|
77
|
-
/* translators: %s: The request URI. */
|
|
78
|
-
__( 'Form submission from %1$s' ) . '</br>',
|
|
79
|
-
'<a href="' . esc_url( get_site_url( null, $params['_wp_http_referer'] ) ) . '">' . get_bloginfo( 'name' ) . '</a>'
|
|
80
|
-
);
|
|
81
|
-
|
|
82
|
-
$skip_fields = array( 'formAction', '_ajax_nonce', 'action', '_wp_http_referer' );
|
|
83
|
-
foreach ( $params as $key => $value ) {
|
|
84
|
-
if ( in_array( $key, $skip_fields, true ) ) {
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
$content .= sanitize_key( $key ) . ': ' . wp_kses_post( $value ) . '</br>';
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// Filter the email content.
|
|
91
|
-
$content = apply_filters( 'render_block_core_form_email_content', $content, $params );
|
|
92
|
-
|
|
93
|
-
// Send the email.
|
|
94
|
-
$result = wp_mail(
|
|
95
|
-
str_replace( 'mailto:', '', $params['formAction'] ),
|
|
96
|
-
__( 'Form submission' ),
|
|
97
|
-
$content
|
|
98
|
-
);
|
|
99
|
-
|
|
100
|
-
if ( ! $result ) {
|
|
101
|
-
wp_send_json_error( $result );
|
|
102
|
-
}
|
|
103
|
-
wp_send_json_success( $result );
|
|
104
|
-
}
|
|
105
|
-
add_action( 'wp_ajax_wp_block_form_email_submit', 'block_core_form_send_email' );
|
|
106
|
-
add_action( 'wp_ajax_nopriv_wp_block_form_email_submit', 'block_core_form_send_email' );
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Send the data export/remove request if the form is a privacy-request form.
|
|
110
|
-
*/
|
|
111
|
-
function block_core_form_privacy_form() {
|
|
112
|
-
// Get the POST data.
|
|
113
|
-
$params = wp_unslash( $_POST );
|
|
114
|
-
|
|
115
|
-
// Bail early if not a form submission, or if the nonce is not valid.
|
|
116
|
-
if ( empty( $params['wp-action'] )
|
|
117
|
-
|| 'wp_privacy_send_request' !== $params['wp-action']
|
|
118
|
-
|| empty( $params['wp-privacy-request'] )
|
|
119
|
-
|| '1' !== $params['wp-privacy-request']
|
|
120
|
-
|| empty( $params['email'] )
|
|
121
|
-
) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
// Get the request types.
|
|
126
|
-
$request_types = _wp_privacy_action_request_types();
|
|
127
|
-
$requests_found = array();
|
|
128
|
-
foreach ( $request_types as $request_type ) {
|
|
129
|
-
if ( ! empty( $params[ $request_type ] ) ) {
|
|
130
|
-
$requests_found[] = $request_type;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// Bail early if no requests were found.
|
|
135
|
-
if ( empty( $requests_found ) ) {
|
|
136
|
-
return;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
// Process the requests.
|
|
140
|
-
$actions_errored = array();
|
|
141
|
-
$actions_performed = array();
|
|
142
|
-
foreach ( $requests_found as $action_name ) {
|
|
143
|
-
// Get the request ID.
|
|
144
|
-
$request_id = wp_create_user_request( $params['email'], $action_name );
|
|
145
|
-
|
|
146
|
-
// Bail early if the request ID is invalid.
|
|
147
|
-
if ( is_wp_error( $request_id ) ) {
|
|
148
|
-
$actions_errored[] = $action_name;
|
|
149
|
-
continue;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
// Send the request email.
|
|
153
|
-
wp_send_user_request( $request_id );
|
|
154
|
-
$actions_performed[] = $action_name;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Determine whether the core/form-submission-notification block should be shown.
|
|
159
|
-
*
|
|
160
|
-
* @param bool $show Whether to show the core/form-submission-notification block.
|
|
161
|
-
* @param array $attributes The block attributes.
|
|
162
|
-
*
|
|
163
|
-
* @return bool Whether to show the core/form-submission-notification block.
|
|
164
|
-
*/
|
|
165
|
-
$show_notification = static function ( $show, $attributes ) use ( $actions_performed, $actions_errored ) {
|
|
166
|
-
switch ( $attributes['type'] ) {
|
|
167
|
-
case 'success':
|
|
168
|
-
return ! empty( $actions_performed ) && empty( $actions_errored );
|
|
169
|
-
|
|
170
|
-
case 'error':
|
|
171
|
-
return ! empty( $actions_errored );
|
|
172
|
-
|
|
173
|
-
default:
|
|
174
|
-
return $show;
|
|
175
|
-
}
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
// Add filter to show the core/form-submission-notification block.
|
|
179
|
-
add_filter( 'show_form_submission_notification_block', $show_notification, 10, 2 );
|
|
180
|
-
}
|
|
181
|
-
add_action( 'wp', 'block_core_form_privacy_form' );
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Registers the `core/form` block on server.
|
|
185
|
-
*/
|
|
186
|
-
function register_block_core_form() {
|
|
187
|
-
if ( ! gutenberg_is_experiment_enabled( 'gutenberg-form-blocks' ) ) {
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
register_block_type_from_metadata(
|
|
191
|
-
__DIR__ . '/form',
|
|
192
|
-
array(
|
|
193
|
-
'render_callback' => 'render_block_core_form',
|
|
194
|
-
)
|
|
195
|
-
);
|
|
196
|
-
}
|
|
197
|
-
add_action( 'init', 'register_block_core_form' );
|
package/src/form/init.js
DELETED
package/src/form/save.jsx
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { InnerBlocks, useBlockProps } from '@wordpress/block-editor';
|
|
2
|
-
|
|
3
|
-
export default function save( { attributes } ) {
|
|
4
|
-
const blockProps = useBlockProps.save();
|
|
5
|
-
const { submissionMethod } = attributes;
|
|
6
|
-
|
|
7
|
-
return (
|
|
8
|
-
<form
|
|
9
|
-
{ ...blockProps }
|
|
10
|
-
encType={ submissionMethod === 'email' ? 'text/plain' : null }
|
|
11
|
-
>
|
|
12
|
-
<InnerBlocks.Content />
|
|
13
|
-
</form>
|
|
14
|
-
);
|
|
15
|
-
}
|
package/src/form/utils.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { __ } from '@wordpress/i18n';
|
|
2
|
-
|
|
3
|
-
export const formSubmissionNotificationSuccess = [
|
|
4
|
-
'core/form-submission-notification',
|
|
5
|
-
{
|
|
6
|
-
type: 'success',
|
|
7
|
-
},
|
|
8
|
-
[
|
|
9
|
-
[
|
|
10
|
-
'core/paragraph',
|
|
11
|
-
{
|
|
12
|
-
content:
|
|
13
|
-
'<mark style="background-color:rgba(0, 0, 0, 0);color:#345C00" class="has-inline-color">' +
|
|
14
|
-
__( 'Your form has been submitted successfully' ) +
|
|
15
|
-
'</mark>',
|
|
16
|
-
},
|
|
17
|
-
],
|
|
18
|
-
],
|
|
19
|
-
];
|
|
20
|
-
export const formSubmissionNotificationError = [
|
|
21
|
-
'core/form-submission-notification',
|
|
22
|
-
{
|
|
23
|
-
type: 'error',
|
|
24
|
-
},
|
|
25
|
-
[
|
|
26
|
-
[
|
|
27
|
-
'core/paragraph',
|
|
28
|
-
{
|
|
29
|
-
content:
|
|
30
|
-
'<mark style="background-color:rgba(0, 0, 0, 0);color:#CF2E2E" class="has-inline-color">' +
|
|
31
|
-
__( 'There was an error submitting your form.' ) +
|
|
32
|
-
'</mark>',
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
],
|
|
36
|
-
];
|