@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-input/edit.jsx
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import clsx from 'clsx';
|
|
2
|
-
import { __ } from '@wordpress/i18n';
|
|
3
|
-
import {
|
|
4
|
-
InspectorControls,
|
|
5
|
-
RichText,
|
|
6
|
-
useBlockProps,
|
|
7
|
-
__experimentalUseBorderProps as useBorderProps,
|
|
8
|
-
__experimentalUseColorProps as useColorProps,
|
|
9
|
-
} from '@wordpress/block-editor';
|
|
10
|
-
import {
|
|
11
|
-
TextControl,
|
|
12
|
-
CheckboxControl,
|
|
13
|
-
__experimentalToolsPanel as ToolsPanel,
|
|
14
|
-
__experimentalToolsPanelItem as ToolsPanelItem,
|
|
15
|
-
} from '@wordpress/components';
|
|
16
|
-
import { useRef } from '@wordpress/element';
|
|
17
|
-
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
18
|
-
|
|
19
|
-
function InputFieldBlock( { attributes, setAttributes, className } ) {
|
|
20
|
-
const { type, name, label, inlineLabel, required, placeholder, value } =
|
|
21
|
-
attributes;
|
|
22
|
-
const blockProps = useBlockProps();
|
|
23
|
-
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
24
|
-
const ref = useRef();
|
|
25
|
-
const TagName = type === 'textarea' ? 'textarea' : 'input';
|
|
26
|
-
|
|
27
|
-
const borderProps = useBorderProps( attributes );
|
|
28
|
-
const colorProps = useColorProps( attributes );
|
|
29
|
-
if ( ref.current ) {
|
|
30
|
-
ref.current.focus();
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// Note: radio inputs aren't implemented yet.
|
|
34
|
-
const isCheckboxOrRadio = type === 'checkbox' || type === 'radio';
|
|
35
|
-
|
|
36
|
-
const controls = (
|
|
37
|
-
<>
|
|
38
|
-
{ 'hidden' !== type && (
|
|
39
|
-
<InspectorControls>
|
|
40
|
-
<ToolsPanel
|
|
41
|
-
label={ __( 'Settings' ) }
|
|
42
|
-
resetAll={ () => {
|
|
43
|
-
setAttributes( {
|
|
44
|
-
inlineLabel: false,
|
|
45
|
-
required: false,
|
|
46
|
-
} );
|
|
47
|
-
} }
|
|
48
|
-
dropdownMenuProps={ dropdownMenuProps }
|
|
49
|
-
>
|
|
50
|
-
{ 'checkbox' !== type && (
|
|
51
|
-
<ToolsPanelItem
|
|
52
|
-
label={ __( 'Inline label' ) }
|
|
53
|
-
hasValue={ () => !! inlineLabel }
|
|
54
|
-
onDeselect={ () =>
|
|
55
|
-
setAttributes( { inlineLabel: false } )
|
|
56
|
-
}
|
|
57
|
-
isShownByDefault
|
|
58
|
-
>
|
|
59
|
-
<CheckboxControl
|
|
60
|
-
label={ __( 'Inline label' ) }
|
|
61
|
-
checked={ inlineLabel }
|
|
62
|
-
onChange={ ( newVal ) => {
|
|
63
|
-
setAttributes( {
|
|
64
|
-
inlineLabel: newVal,
|
|
65
|
-
} );
|
|
66
|
-
} }
|
|
67
|
-
/>
|
|
68
|
-
</ToolsPanelItem>
|
|
69
|
-
) }
|
|
70
|
-
|
|
71
|
-
<ToolsPanelItem
|
|
72
|
-
label={ __( 'Required' ) }
|
|
73
|
-
hasValue={ () => !! required }
|
|
74
|
-
onDeselect={ () =>
|
|
75
|
-
setAttributes( { required: false } )
|
|
76
|
-
}
|
|
77
|
-
isShownByDefault
|
|
78
|
-
>
|
|
79
|
-
<CheckboxControl
|
|
80
|
-
label={ __( 'Required' ) }
|
|
81
|
-
checked={ required }
|
|
82
|
-
onChange={ ( newVal ) => {
|
|
83
|
-
setAttributes( {
|
|
84
|
-
required: newVal,
|
|
85
|
-
} );
|
|
86
|
-
} }
|
|
87
|
-
/>
|
|
88
|
-
</ToolsPanelItem>
|
|
89
|
-
</ToolsPanel>
|
|
90
|
-
</InspectorControls>
|
|
91
|
-
) }
|
|
92
|
-
<InspectorControls group="advanced">
|
|
93
|
-
<TextControl
|
|
94
|
-
autoComplete="off"
|
|
95
|
-
label={ __( 'Name' ) }
|
|
96
|
-
value={ name }
|
|
97
|
-
onChange={ ( newVal ) => {
|
|
98
|
-
setAttributes( {
|
|
99
|
-
name: newVal,
|
|
100
|
-
} );
|
|
101
|
-
} }
|
|
102
|
-
help={ __(
|
|
103
|
-
'Affects the "name" attribute of the input element, and is used as a name for the form submission results.'
|
|
104
|
-
) }
|
|
105
|
-
/>
|
|
106
|
-
{ 'hidden' === type && (
|
|
107
|
-
<TextControl
|
|
108
|
-
autoComplete="off"
|
|
109
|
-
label={ __( 'Value' ) }
|
|
110
|
-
value={ value }
|
|
111
|
-
onChange={ ( newVal ) =>
|
|
112
|
-
setAttributes( { value: newVal } )
|
|
113
|
-
}
|
|
114
|
-
help={ __(
|
|
115
|
-
'Sets the stored value for this hidden field.'
|
|
116
|
-
) }
|
|
117
|
-
/>
|
|
118
|
-
) }
|
|
119
|
-
</InspectorControls>
|
|
120
|
-
</>
|
|
121
|
-
);
|
|
122
|
-
|
|
123
|
-
const content = (
|
|
124
|
-
<RichText
|
|
125
|
-
tagName="span"
|
|
126
|
-
className="wp-block-form-input__label-content"
|
|
127
|
-
value={ label }
|
|
128
|
-
onChange={ ( newLabel ) => setAttributes( { label: newLabel } ) }
|
|
129
|
-
aria-label={ label ? __( 'Label' ) : __( 'Empty label' ) }
|
|
130
|
-
data-empty={ ! label }
|
|
131
|
-
placeholder={ __( 'Type the label for this input' ) }
|
|
132
|
-
/>
|
|
133
|
-
);
|
|
134
|
-
|
|
135
|
-
if ( 'hidden' === type ) {
|
|
136
|
-
return (
|
|
137
|
-
<div { ...blockProps }>
|
|
138
|
-
{ controls }
|
|
139
|
-
<span
|
|
140
|
-
className="wp-block-form-input__label is-input-hidden"
|
|
141
|
-
data-message={ __( 'Hidden field' ) }
|
|
142
|
-
/>
|
|
143
|
-
</div>
|
|
144
|
-
);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
return (
|
|
148
|
-
<div { ...blockProps }>
|
|
149
|
-
{ controls }
|
|
150
|
-
<span
|
|
151
|
-
className={ clsx( 'wp-block-form-input__label', {
|
|
152
|
-
'is-label-inline': inlineLabel || 'checkbox' === type,
|
|
153
|
-
} ) }
|
|
154
|
-
>
|
|
155
|
-
{ ! isCheckboxOrRadio && content }
|
|
156
|
-
<TagName
|
|
157
|
-
type={ 'textarea' === type ? undefined : type }
|
|
158
|
-
className={ clsx(
|
|
159
|
-
className,
|
|
160
|
-
'wp-block-form-input__input',
|
|
161
|
-
colorProps.className,
|
|
162
|
-
borderProps.className
|
|
163
|
-
) }
|
|
164
|
-
aria-label={ __( 'Optional placeholder text' ) }
|
|
165
|
-
// We hide the placeholder field's placeholder when there is a value. This
|
|
166
|
-
// stops screen readers from reading the placeholder field's placeholder
|
|
167
|
-
// which is confusing.
|
|
168
|
-
placeholder={
|
|
169
|
-
placeholder ? undefined : __( 'Optional placeholder…' )
|
|
170
|
-
}
|
|
171
|
-
value={ placeholder }
|
|
172
|
-
onChange={ ( event ) =>
|
|
173
|
-
setAttributes( { placeholder: event.target.value } )
|
|
174
|
-
}
|
|
175
|
-
aria-required={ required }
|
|
176
|
-
style={ {
|
|
177
|
-
...borderProps.style,
|
|
178
|
-
...colorProps.style,
|
|
179
|
-
} }
|
|
180
|
-
/>
|
|
181
|
-
{ isCheckboxOrRadio && content }
|
|
182
|
-
</span>
|
|
183
|
-
</div>
|
|
184
|
-
);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
export default InputFieldBlock;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
.wp-block-form-input {
|
|
2
|
-
.is-input-hidden {
|
|
3
|
-
display: flex;
|
|
4
|
-
position: relative;
|
|
5
|
-
font-size: 0.85em;
|
|
6
|
-
opacity: 0.3;
|
|
7
|
-
border: 1px dashed;
|
|
8
|
-
padding: 0.5em;
|
|
9
|
-
box-sizing: border-box;
|
|
10
|
-
background: repeating-linear-gradient(45deg, transparent, transparent 5px, currentColor 5px, currentColor 6px);
|
|
11
|
-
justify-content: center;
|
|
12
|
-
align-items: center;
|
|
13
|
-
|
|
14
|
-
&::after {
|
|
15
|
-
content: attr(data-message);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
&.is-selected {
|
|
19
|
-
.is-input-hidden {
|
|
20
|
-
opacity: 1;
|
|
21
|
-
background: none;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
package/src/form-input/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="M5.547 18.892A.99.99 0 0 0 6 19h.72v1H6a1.99 1.99 0 0 1-.908-.22l.455-.888ZM9.12 20H7.68v-1h1.44v1Zm2.4 0h-1.44v-1h1.44v1Zm2.4 0h-1.44v-1h1.44v1Zm2.4 0h-1.44v-1h1.44v1Zm2.587-.22c-.272.14-.58.22-.907.22h-.72v-1H18a.99.99 0 0 0 .453-.108l.454.888ZM5.108 17.547a.99.99 0 0 0 0 .906l-.89.454a1.99 1.99 0 0 1 0-1.815l.89.455Zm14.672-.455a1.99 1.99 0 0 1 0 1.815l-.888-.454a.99.99 0 0 0 0-.906l.888-.455ZM6.72 17H6a.99.99 0 0 0-.453.108l-.455-.89A1.99 1.99 0 0 1 6 16h.72v1ZM18 16c.327 0 .635.08.907.219l-.454.89A.99.99 0 0 0 18 17h-.72v-1H18Zm-8.88 1H7.68v-1h1.44v1Zm2.4 0h-1.44v-1h1.44v1Zm2.4 0h-1.44v-1h1.44v1Zm2.4 0h-1.44v-1h1.44v1ZM5.5 14.28H4.25v-1H5.5v1Zm2.5 0H6.5v-1H8v1Zm2.5 0H9v-1h1.5v1Zm2.25 0H11.5v-1h1.25v1ZM18 7a2 2 0 1 1 0 4H6a2 2 0 1 1 0-4h12ZM6 8.5a.5.5 0 0 0 0 1h12a.5.5 0 0 0 0-1H6Zm7-3H4V4h9v1.5Z" />
|
|
6
|
-
</SVG>
|
|
7
|
-
);
|
package/src/form-input/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import initBlock from '../utils/init-block';
|
|
2
|
-
import deprecated from './deprecated';
|
|
3
|
-
import edit from './edit';
|
|
4
|
-
import metadata from './block.json';
|
|
5
|
-
import save from './save';
|
|
6
|
-
import variations from './variations';
|
|
7
|
-
import { icon } from './icons';
|
|
8
|
-
|
|
9
|
-
const { name } = metadata;
|
|
10
|
-
|
|
11
|
-
export { metadata, name };
|
|
12
|
-
|
|
13
|
-
export const settings = {
|
|
14
|
-
icon,
|
|
15
|
-
deprecated,
|
|
16
|
-
edit,
|
|
17
|
-
save,
|
|
18
|
-
variations,
|
|
19
|
-
example: {},
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export const init = () => initBlock( { name, metadata, settings } );
|
package/src/form-input/index.php
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
/**
|
|
3
|
-
* Server-side rendering of the `core/form-input` block.
|
|
4
|
-
*
|
|
5
|
-
* @package WordPress
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Renders the `core/form-input` 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_input( $attributes, $content ) {
|
|
17
|
-
$visibility_permissions = 'all';
|
|
18
|
-
if ( isset( $attributes['visibilityPermissions'] ) ) {
|
|
19
|
-
$visibility_permissions = $attributes['visibilityPermissions'];
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
$user_logged_in = is_user_logged_in();
|
|
23
|
-
|
|
24
|
-
if ( 'logged-in' === $visibility_permissions && ! $user_logged_in ) {
|
|
25
|
-
return '';
|
|
26
|
-
}
|
|
27
|
-
if ( 'logged-out' === $visibility_permissions && $user_logged_in ) {
|
|
28
|
-
return '';
|
|
29
|
-
}
|
|
30
|
-
return $content;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Registers the `core/form-input` block on server.
|
|
35
|
-
*/
|
|
36
|
-
function register_block_core_form_input() {
|
|
37
|
-
if ( ! gutenberg_is_experiment_enabled( 'gutenberg-form-blocks' ) ) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
register_block_type_from_metadata(
|
|
41
|
-
__DIR__ . '/form-input',
|
|
42
|
-
array(
|
|
43
|
-
'render_callback' => 'render_block_core_form_input',
|
|
44
|
-
)
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
add_action( 'init', 'register_block_core_form_input' );
|
package/src/form-input/init.js
DELETED
package/src/form-input/save.jsx
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import clsx from 'clsx';
|
|
2
|
-
import removeAccents from 'remove-accents';
|
|
3
|
-
import {
|
|
4
|
-
RichText,
|
|
5
|
-
useBlockProps,
|
|
6
|
-
__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,
|
|
7
|
-
__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,
|
|
8
|
-
} from '@wordpress/block-editor';
|
|
9
|
-
import { __unstableStripHTML as stripHTML } from '@wordpress/dom';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Get the name attribute from a content string.
|
|
13
|
-
*
|
|
14
|
-
* @param {string} content The block content.
|
|
15
|
-
*
|
|
16
|
-
* @return {string} Returns the slug.
|
|
17
|
-
*/
|
|
18
|
-
const getNameFromLabel = ( content ) => {
|
|
19
|
-
return (
|
|
20
|
-
removeAccents( stripHTML( content ) )
|
|
21
|
-
// Convert anything that's not a letter or number to a hyphen.
|
|
22
|
-
.replace( /[^\p{L}\p{N}]+/gu, '-' )
|
|
23
|
-
// Convert to lowercase
|
|
24
|
-
.toLowerCase()
|
|
25
|
-
// Remove any remaining leading or trailing hyphens.
|
|
26
|
-
.replace( /(^-+)|(-+$)/g, '' )
|
|
27
|
-
);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export default function save( { attributes } ) {
|
|
31
|
-
const { type, name, label, inlineLabel, required, placeholder, value } =
|
|
32
|
-
attributes;
|
|
33
|
-
|
|
34
|
-
const borderProps = getBorderClassesAndStyles( attributes );
|
|
35
|
-
const colorProps = getColorClassesAndStyles( attributes );
|
|
36
|
-
|
|
37
|
-
const inputStyle = {
|
|
38
|
-
...borderProps.style,
|
|
39
|
-
...colorProps.style,
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
const inputClasses = clsx(
|
|
43
|
-
'wp-block-form-input__input',
|
|
44
|
-
colorProps.className,
|
|
45
|
-
borderProps.className
|
|
46
|
-
);
|
|
47
|
-
const TagName = type === 'textarea' ? 'textarea' : 'input';
|
|
48
|
-
|
|
49
|
-
const blockProps = useBlockProps.save();
|
|
50
|
-
|
|
51
|
-
// Note: radio inputs aren't implemented yet.
|
|
52
|
-
const isCheckboxOrRadio = type === 'checkbox' || type === 'radio';
|
|
53
|
-
|
|
54
|
-
if ( 'hidden' === type ) {
|
|
55
|
-
return <input type={ type } name={ name } value={ value } />;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return (
|
|
59
|
-
<div { ...blockProps }>
|
|
60
|
-
{ /* eslint-disable jsx-a11y/label-has-associated-control */ }
|
|
61
|
-
<label
|
|
62
|
-
className={ clsx( 'wp-block-form-input__label', {
|
|
63
|
-
'is-label-inline': inlineLabel,
|
|
64
|
-
} ) }
|
|
65
|
-
>
|
|
66
|
-
{ ! isCheckboxOrRadio && (
|
|
67
|
-
<span className="wp-block-form-input__label-content">
|
|
68
|
-
<RichText.Content value={ label } />
|
|
69
|
-
</span>
|
|
70
|
-
) }
|
|
71
|
-
<TagName
|
|
72
|
-
className={ inputClasses }
|
|
73
|
-
type={ 'textarea' === type ? undefined : type }
|
|
74
|
-
name={ name || getNameFromLabel( label ) }
|
|
75
|
-
required={ required }
|
|
76
|
-
aria-required={ required }
|
|
77
|
-
placeholder={ placeholder || undefined }
|
|
78
|
-
style={ inputStyle }
|
|
79
|
-
/>
|
|
80
|
-
{ isCheckboxOrRadio && (
|
|
81
|
-
<span className="wp-block-form-input__label-content">
|
|
82
|
-
<RichText.Content value={ label } />
|
|
83
|
-
</span>
|
|
84
|
-
) }
|
|
85
|
-
</label>
|
|
86
|
-
{ /* eslint-enable jsx-a11y/label-has-associated-control */ }
|
|
87
|
-
</div>
|
|
88
|
-
);
|
|
89
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
:where(.wp-block-form-input__label) {
|
|
2
|
-
width: 100%;
|
|
3
|
-
display: flex;
|
|
4
|
-
flex-direction: column;
|
|
5
|
-
gap: 0.25em;
|
|
6
|
-
margin-bottom: 0.5em;
|
|
7
|
-
|
|
8
|
-
&.is-label-inline {
|
|
9
|
-
flex-direction: row;
|
|
10
|
-
gap: 0.5em;
|
|
11
|
-
align-items: center;
|
|
12
|
-
|
|
13
|
-
.wp-block-form-input__label-content {
|
|
14
|
-
margin-bottom: 0.5em;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
&:has(input[type="checkbox"]) {
|
|
19
|
-
flex-direction: row;
|
|
20
|
-
width: fit-content;
|
|
21
|
-
|
|
22
|
-
.wp-block-form-input__label-content {
|
|
23
|
-
margin: 0;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
&:has(.wp-block-form-input__label-content + input[type="checkbox"]) {
|
|
28
|
-
/* stylelint-disable-next-line declaration-property-value-allowed-list -- This style is required for old markup. */
|
|
29
|
-
flex-direction: row-reverse;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
:where(.wp-block-form-input__label-content) {
|
|
34
|
-
width: fit-content;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
:where(.wp-block-form-input__input) {
|
|
38
|
-
padding: 0 0.5em;
|
|
39
|
-
font-size: 1em;
|
|
40
|
-
margin-bottom: 0.5em;
|
|
41
|
-
|
|
42
|
-
&[type="text"],
|
|
43
|
-
&[type="password"],
|
|
44
|
-
&[type="date"],
|
|
45
|
-
&[type="datetime"],
|
|
46
|
-
&[type="datetime-local"],
|
|
47
|
-
&[type="email"],
|
|
48
|
-
&[type="month"],
|
|
49
|
-
&[type="number"],
|
|
50
|
-
&[type="search"],
|
|
51
|
-
&[type="tel"],
|
|
52
|
-
&[type="time"],
|
|
53
|
-
&[type="url"],
|
|
54
|
-
&[type="week"] {
|
|
55
|
-
min-height: 2em;
|
|
56
|
-
line-height: 2;
|
|
57
|
-
border-width: 1px;
|
|
58
|
-
border-style: solid;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
textarea.wp-block-form-input__input {
|
|
63
|
-
min-height: 10em;
|
|
64
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { __ } from '@wordpress/i18n';
|
|
2
|
-
|
|
3
|
-
const variations = [
|
|
4
|
-
{
|
|
5
|
-
name: 'text',
|
|
6
|
-
title: __( 'Text Input' ),
|
|
7
|
-
description: __( 'A generic text input.' ),
|
|
8
|
-
attributes: { type: 'text' },
|
|
9
|
-
isDefault: true,
|
|
10
|
-
scope: [ 'inserter', 'transform' ],
|
|
11
|
-
isActive: ( blockAttributes ) =>
|
|
12
|
-
! blockAttributes?.type || blockAttributes?.type === 'text',
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
name: 'textarea',
|
|
16
|
-
title: __( 'Textarea Input' ),
|
|
17
|
-
description: __(
|
|
18
|
-
'A textarea input to allow entering multiple lines of text.'
|
|
19
|
-
),
|
|
20
|
-
attributes: { type: 'textarea' },
|
|
21
|
-
isDefault: true,
|
|
22
|
-
scope: [ 'inserter', 'transform' ],
|
|
23
|
-
isActive: ( blockAttributes ) => blockAttributes?.type === 'textarea',
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: 'checkbox',
|
|
27
|
-
title: __( 'Checkbox Input' ),
|
|
28
|
-
description: __( 'A simple checkbox input.' ),
|
|
29
|
-
attributes: { type: 'checkbox', inlineLabel: true },
|
|
30
|
-
isDefault: true,
|
|
31
|
-
scope: [ 'inserter', 'transform' ],
|
|
32
|
-
isActive: ( blockAttributes ) => blockAttributes?.type === 'checkbox',
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
name: 'email',
|
|
36
|
-
title: __( 'Email Input' ),
|
|
37
|
-
description: __( 'Used for email addresses.' ),
|
|
38
|
-
attributes: { type: 'email' },
|
|
39
|
-
isDefault: true,
|
|
40
|
-
scope: [ 'inserter', 'transform' ],
|
|
41
|
-
isActive: ( blockAttributes ) => blockAttributes?.type === 'email',
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: 'url',
|
|
45
|
-
title: __( 'URL Input' ),
|
|
46
|
-
description: __( 'Used for URLs.' ),
|
|
47
|
-
attributes: { type: 'url' },
|
|
48
|
-
isDefault: true,
|
|
49
|
-
scope: [ 'inserter', 'transform' ],
|
|
50
|
-
isActive: ( blockAttributes ) => blockAttributes?.type === 'url',
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: 'tel',
|
|
54
|
-
title: __( 'Telephone Input' ),
|
|
55
|
-
description: __( 'Used for phone numbers.' ),
|
|
56
|
-
attributes: { type: 'tel' },
|
|
57
|
-
isDefault: true,
|
|
58
|
-
scope: [ 'inserter', 'transform' ],
|
|
59
|
-
isActive: ( blockAttributes ) => blockAttributes?.type === 'tel',
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
name: 'number',
|
|
63
|
-
title: __( 'Number Input' ),
|
|
64
|
-
description: __( 'A numeric input.' ),
|
|
65
|
-
attributes: { type: 'number' },
|
|
66
|
-
isDefault: true,
|
|
67
|
-
scope: [ 'inserter', 'transform' ],
|
|
68
|
-
isActive: ( blockAttributes ) => blockAttributes?.type === 'number',
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
name: 'hidden',
|
|
72
|
-
title: __( 'Hidden Input' ),
|
|
73
|
-
icon: 'visibility',
|
|
74
|
-
description: __( 'A hidden input field.' ),
|
|
75
|
-
attributes: { type: 'hidden' },
|
|
76
|
-
isDefault: true,
|
|
77
|
-
scope: [ 'inserter', 'transform' ],
|
|
78
|
-
isActive: ( blockAttributes ) => blockAttributes?.type === 'hidden',
|
|
79
|
-
},
|
|
80
|
-
];
|
|
81
|
-
|
|
82
|
-
export default variations;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# Form Submission Notification
|
|
2
|
-
|
|
3
|
-
<!-- START TOKEN(Autogenerated block API docs) -->
|
|
4
|
-
<div class="callout callout-warning">This block is <strong>experimental</strong> and may change or be removed without notice.</div>
|
|
5
|
-
|
|
6
|
-
Provide a notification message after the form has been submitted.
|
|
7
|
-
|
|
8
|
-
- **Name:** `core/form-submission-notification`
|
|
9
|
-
- **Category:** [widgets](https://developer.wordpress.org/block-editor/reference-guides/core-blocks/core-blocks-widgets/)
|
|
10
|
-
- **API Version:** [3](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-api-versions/)
|
|
11
|
-
- **Block Type:** [Hybrid](https://developer.wordpress.org/block-editor/getting-started/fundamentals/static-dynamic-rendering/) (static save + server enhancements)
|
|
12
|
-
- **Keywords:** `form`, `feedback`, `notification`, `message`
|
|
13
|
-
|
|
14
|
-
## Block Relationships
|
|
15
|
-
|
|
16
|
-
**[Ancestor](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#ancestor) blocks:**
|
|
17
|
-
- [`core/form`](https://developer.wordpress.org/block-editor/reference-guides/core-blocks/core-blocks-widgets/core-block-form/)
|
|
18
|
-
|
|
19
|
-
## Attributes
|
|
20
|
-
|
|
21
|
-
_Defined via the [`attributes`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/) property in block.json._
|
|
22
|
-
|
|
23
|
-
| Attribute | [Type](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/#type-validation) | [Default](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/#default-value) | Description |
|
|
24
|
-
|-----------|------|---------|-------------|
|
|
25
|
-
| `type` | `string` | `"success"` | — |
|
|
26
|
-
|
|
27
|
-
## Supports
|
|
28
|
-
|
|
29
|
-
_Defined via the [`supports`](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-supports/) property in block.json._
|
|
30
|
-
|
|
31
|
-
_This block does not declare explicit supports._
|
|
32
|
-
|
|
33
|
-
## Block Markup
|
|
34
|
-
|
|
35
|
-
This is a [**hybrid block**](https://developer.wordpress.org/block-editor/getting-started/fundamentals/static-dynamic-rendering/). It saves static markup that the server may enhance during rendering.
|
|
36
|
-
|
|
37
|
-
```html
|
|
38
|
-
<!-- wp:form-submission-notification -->
|
|
39
|
-
<div class="wp-block-form-submission-notification form-notification-type-success"><!-- wp:paragraph {"style":{"elements":{"link":{"color":{"text":"#000000"}}}},"backgroundColor":"#00D084","textColor":"#000000"} -->
|
|
40
|
-
<p class="has-000000-color has-00-d-084-background-color has-text-color has-background has-link-color">Your form has been submitted successfully.</p>
|
|
41
|
-
<!-- /wp:paragraph --></div>
|
|
42
|
-
<!-- /wp:form-submission-notification -->
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Source
|
|
46
|
-
|
|
47
|
-
- [block.json](https://github.com/WordPress/gutenberg/tree/trunk/packages/block-library/src/form-submission-notification/block.json) ([reference](https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/))
|
|
48
|
-
- [Source directory](https://github.com/WordPress/gutenberg/tree/trunk/packages/block-library/src/form-submission-notification/) — browse the `edit` and `save` source files, `index.php`, and more.
|
|
49
|
-
|
|
50
|
-
<!-- END TOKEN(Autogenerated block API docs) -->
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://schemas.wp.org/trunk/block.json",
|
|
3
|
-
"apiVersion": 3,
|
|
4
|
-
"__experimental": true,
|
|
5
|
-
"name": "core/form-submission-notification",
|
|
6
|
-
"title": "Form Submission Notification",
|
|
7
|
-
"category": "widgets",
|
|
8
|
-
"ancestor": [ "core/form" ],
|
|
9
|
-
"description": "Provide a notification message after the form has been submitted.",
|
|
10
|
-
"keywords": [ "form", "feedback", "notification", "message" ],
|
|
11
|
-
"textdomain": "default",
|
|
12
|
-
"icon": "feedback",
|
|
13
|
-
"attributes": {
|
|
14
|
-
"type": {
|
|
15
|
-
"type": "string",
|
|
16
|
-
"default": "success"
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { __ } from '@wordpress/i18n';
|
|
2
|
-
import {
|
|
3
|
-
InnerBlocks,
|
|
4
|
-
useBlockProps,
|
|
5
|
-
useInnerBlocksProps,
|
|
6
|
-
store as blockEditorStore,
|
|
7
|
-
} from '@wordpress/block-editor';
|
|
8
|
-
import { useSelect } from '@wordpress/data';
|
|
9
|
-
import clsx from 'clsx';
|
|
10
|
-
|
|
11
|
-
const Edit = ( { attributes, clientId } ) => {
|
|
12
|
-
const { type } = attributes;
|
|
13
|
-
const blockProps = useBlockProps( {
|
|
14
|
-
className: clsx( 'wp-block-form-submission-notification', {
|
|
15
|
-
[ `form-notification-type-${ type }` ]: type,
|
|
16
|
-
} ),
|
|
17
|
-
} );
|
|
18
|
-
|
|
19
|
-
const { hasInnerBlocks } = useSelect(
|
|
20
|
-
( select ) => {
|
|
21
|
-
const { getBlock } = select( blockEditorStore );
|
|
22
|
-
const block = getBlock( clientId );
|
|
23
|
-
return {
|
|
24
|
-
hasInnerBlocks: !! ( block && block.innerBlocks.length ),
|
|
25
|
-
};
|
|
26
|
-
},
|
|
27
|
-
[ clientId ]
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
const innerBlocksProps = useInnerBlocksProps( blockProps, {
|
|
31
|
-
renderAppender: hasInnerBlocks
|
|
32
|
-
? undefined
|
|
33
|
-
: InnerBlocks.ButtonBlockAppender,
|
|
34
|
-
} );
|
|
35
|
-
|
|
36
|
-
return (
|
|
37
|
-
<div
|
|
38
|
-
{ ...innerBlocksProps }
|
|
39
|
-
data-message-success={ __( 'Submission success notification' ) }
|
|
40
|
-
data-message-error={ __( 'Submission error notification' ) }
|
|
41
|
-
/>
|
|
42
|
-
);
|
|
43
|
-
};
|
|
44
|
-
export default Edit;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
.wp-block-form-submission-notification {
|
|
2
|
-
> * {
|
|
3
|
-
opacity: 0.25;
|
|
4
|
-
border: 1px dashed;
|
|
5
|
-
box-sizing: border-box;
|
|
6
|
-
background: repeating-linear-gradient(45deg, transparent, transparent 5px, currentColor 5px, currentColor 6px);
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
&.is-selected,
|
|
10
|
-
&:has(.is-selected) {
|
|
11
|
-
> * {
|
|
12
|
-
opacity: 1;
|
|
13
|
-
background: none;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
&::after {
|
|
17
|
-
display: none !important;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
&::after {
|
|
22
|
-
display: flex;
|
|
23
|
-
position: absolute;
|
|
24
|
-
width: 100%;
|
|
25
|
-
height: 100%;
|
|
26
|
-
top: 0;
|
|
27
|
-
left: 0;
|
|
28
|
-
justify-content: center;
|
|
29
|
-
align-items: center;
|
|
30
|
-
font-size: 1.1em;
|
|
31
|
-
// font-weight: bold;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
&.form-notification-type-success {
|
|
35
|
-
&::after {
|
|
36
|
-
content: attr(data-message-success);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
&.form-notification-type-error {
|
|
41
|
-
&::after {
|
|
42
|
-
content: attr(data-message-error);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|