@wordpress/block-library 7.8.0 → 7.9.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 +2 -0
- package/build/audio/edit.js +1 -0
- package/build/audio/edit.js.map +1 -1
- package/build/audio/save.js +2 -1
- package/build/audio/save.js.map +1 -1
- package/build/avatar/hooks.js +2 -2
- package/build/avatar/hooks.js.map +1 -1
- package/build/button/edit.js +1 -1
- package/build/button/edit.js.map +1 -1
- package/build/button/index.js +1 -24
- package/build/button/index.js.map +1 -1
- package/build/button/save.js +1 -1
- package/build/button/save.js.map +1 -1
- package/build/columns/variations.js +2 -2
- package/build/columns/variations.js.map +1 -1
- package/build/comment-author-name/edit.js +3 -5
- package/build/comment-author-name/edit.js.map +1 -1
- package/build/comment-author-name/index.js +0 -4
- package/build/comment-author-name/index.js.map +1 -1
- package/build/comment-date/edit.js +4 -4
- package/build/comment-date/edit.js.map +1 -1
- package/build/comment-date/index.js +0 -4
- package/build/comment-date/index.js.map +1 -1
- package/build/comment-edit-link/index.js +0 -4
- package/build/comment-edit-link/index.js.map +1 -1
- package/build/comment-reply-link/index.js +0 -4
- package/build/comment-reply-link/index.js.map +1 -1
- package/build/comments/edit.js +10 -2
- package/build/comments/edit.js.map +1 -1
- package/build/comments-title/deprecated.js +0 -3
- package/build/comments-title/deprecated.js.map +1 -1
- package/build/cover/index.js +1 -0
- package/build/cover/index.js.map +1 -1
- package/build/embed/embed-preview.js +1 -0
- package/build/embed/embed-preview.js.map +1 -1
- package/build/embed/icons.js +21 -1
- package/build/embed/icons.js.map +1 -1
- package/build/embed/save.js +1 -0
- package/build/embed/save.js.map +1 -1
- package/build/embed/variations.js +11 -0
- package/build/embed/variations.js.map +1 -1
- package/build/file/edit.js +1 -1
- package/build/file/edit.js.map +1 -1
- package/build/file/save.js +1 -1
- package/build/file/save.js.map +1 -1
- package/build/gallery/gallery.js +1 -1
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/save.js +1 -1
- package/build/gallery/save.js.map +1 -1
- package/build/gallery/transforms.js +2 -2
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/v1/edit.js +3 -3
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery-image.js +1 -0
- package/build/gallery/v1/gallery-image.js.map +1 -1
- package/build/gallery/v1/gallery.js +1 -1
- package/build/gallery/v1/gallery.js.map +1 -1
- package/build/gallery/v1/save.js +10 -2
- package/build/gallery/v1/save.js.map +1 -1
- package/build/group/index.js +1 -0
- package/build/group/index.js.map +1 -1
- package/build/html/edit.js +11 -20
- package/build/html/edit.js.map +1 -1
- package/build/html/preview.js +48 -0
- package/build/html/preview.js.map +1 -0
- package/build/image/edit.native.js +2 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +1 -0
- package/build/image/image.js.map +1 -1
- package/build/image/save.js +1 -0
- package/build/image/save.js.map +1 -1
- package/build/list/v2/transforms.js +33 -17
- package/build/list/v2/transforms.js.map +1 -1
- package/build/list-item/hooks/use-enter.js +7 -4
- package/build/list-item/hooks/use-enter.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +36 -15
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/navigation/edit/index.js +1 -1
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/index.js +9 -0
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +16 -74
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation/view.js +5 -3
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-submenu/view.js +5 -3
- package/build/navigation-submenu/view.js.map +1 -1
- package/build/post-comments-form/edit.js +12 -2
- package/build/post-comments-form/edit.js.map +1 -1
- package/build/post-comments-form/form.js +1 -1
- package/build/post-comments-form/form.js.map +1 -1
- package/build/search/edit.js +1 -1
- package/build/search/edit.js.map +1 -1
- package/build/table/edit.js +1 -0
- package/build/table/edit.js.map +1 -1
- package/build/table/save.js +2 -1
- package/build/table/save.js.map +1 -1
- package/build/video/edit.js +1 -0
- package/build/video/edit.js.map +1 -1
- package/build/video/save.js +1 -0
- package/build/video/save.js.map +1 -1
- package/build-module/audio/edit.js +2 -1
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/save.js +3 -2
- package/build-module/audio/save.js.map +1 -1
- package/build-module/avatar/hooks.js +2 -2
- package/build-module/avatar/hooks.js.map +1 -1
- package/build-module/button/edit.js +2 -2
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/index.js +1 -24
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/save.js +2 -2
- package/build-module/button/save.js.map +1 -1
- package/build-module/columns/variations.js +2 -2
- package/build-module/columns/variations.js.map +1 -1
- package/build-module/comment-author-name/edit.js +3 -5
- package/build-module/comment-author-name/edit.js.map +1 -1
- package/build-module/comment-author-name/index.js +0 -4
- package/build-module/comment-author-name/index.js.map +1 -1
- package/build-module/comment-date/edit.js +4 -4
- package/build-module/comment-date/edit.js.map +1 -1
- package/build-module/comment-date/index.js +0 -4
- package/build-module/comment-date/index.js.map +1 -1
- package/build-module/comment-edit-link/index.js +0 -4
- package/build-module/comment-edit-link/index.js.map +1 -1
- package/build-module/comment-reply-link/index.js +0 -4
- package/build-module/comment-reply-link/index.js.map +1 -1
- package/build-module/comments/edit.js +10 -2
- package/build-module/comments/edit.js.map +1 -1
- package/build-module/comments-title/deprecated.js +0 -3
- package/build-module/comments-title/deprecated.js.map +1 -1
- package/build-module/cover/index.js +1 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/embed/embed-preview.js +2 -1
- package/build-module/embed/embed-preview.js.map +1 -1
- package/build-module/embed/icons.js +19 -0
- package/build-module/embed/icons.js.map +1 -1
- package/build-module/embed/save.js +2 -1
- package/build-module/embed/save.js.map +1 -1
- package/build-module/embed/variations.js +12 -1
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/file/edit.js +2 -2
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/save.js +2 -2
- package/build-module/file/save.js.map +1 -1
- package/build-module/gallery/gallery.js +2 -2
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/save.js +2 -2
- package/build-module/gallery/save.js.map +1 -1
- package/build-module/gallery/transforms.js +3 -3
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/v1/edit.js +4 -4
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery-image.js +2 -1
- package/build-module/gallery/v1/gallery-image.js.map +1 -1
- package/build-module/gallery/v1/gallery.js +2 -2
- package/build-module/gallery/v1/gallery.js.map +1 -1
- package/build-module/gallery/v1/save.js +8 -3
- package/build-module/gallery/v1/save.js.map +1 -1
- package/build-module/group/index.js +1 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/html/edit.js +12 -23
- package/build-module/html/edit.js.map +1 -1
- package/build-module/html/preview.js +38 -0
- package/build-module/html/preview.js.map +1 -0
- package/build-module/image/edit.native.js +2 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +2 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/save.js +2 -1
- package/build-module/image/save.js.map +1 -1
- package/build-module/list/v2/transforms.js +32 -17
- package/build-module/list/v2/transforms.js.map +1 -1
- package/build-module/list-item/hooks/use-enter.js +7 -4
- package/build-module/list-item/hooks/use-enter.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +34 -15
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/navigation/edit/index.js +1 -1
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/index.js +9 -0
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +17 -75
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation/view.js +5 -3
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-submenu/view.js +5 -3
- package/build-module/navigation-submenu/view.js.map +1 -1
- package/build-module/post-comments-form/edit.js +12 -3
- package/build-module/post-comments-form/edit.js.map +1 -1
- package/build-module/post-comments-form/form.js +2 -2
- package/build-module/post-comments-form/form.js.map +1 -1
- package/build-module/search/edit.js +2 -2
- package/build-module/search/edit.js.map +1 -1
- package/build-module/table/edit.js +2 -1
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/save.js +3 -2
- package/build-module/table/save.js.map +1 -1
- package/build-module/video/edit.js +2 -1
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/save.js +2 -1
- package/build-module/video/save.js.map +1 -1
- package/build-style/button/style-rtl.css +5 -0
- package/build-style/button/style.css +5 -0
- package/build-style/editor-rtl.css +3 -0
- package/build-style/editor.css +3 -0
- package/build-style/file/style-rtl.css +5 -8
- package/build-style/file/style.css +5 -8
- package/build-style/navigation/style-rtl.css +9 -1
- package/build-style/navigation/style.css +9 -1
- package/build-style/post-comments/style-rtl.css +2 -1
- package/build-style/post-comments/style.css +2 -1
- package/build-style/post-comments-form/editor-rtl.css +3 -0
- package/build-style/post-comments-form/editor.css +3 -0
- package/build-style/post-template/style-rtl.css +9 -18
- package/build-style/post-template/style.css +9 -18
- package/build-style/search/style-rtl.css +6 -8
- package/build-style/search/style.css +6 -8
- package/build-style/style-rtl.css +36 -36
- package/build-style/style.css +36 -36
- package/package.json +28 -28
- package/src/audio/edit.js +4 -0
- package/src/audio/save.js +12 -2
- package/src/avatar/hooks.js +6 -9
- package/src/button/block.json +1 -24
- package/src/button/edit.js +2 -2
- package/src/button/save.js +2 -2
- package/src/button/style.scss +10 -0
- package/src/columns/variations.js +2 -2
- package/src/comment-author-name/block.json +0 -4
- package/src/comment-author-name/edit.js +3 -12
- package/src/comment-date/block.json +0 -4
- package/src/comment-date/edit.js +10 -14
- package/src/comment-date/index.php +0 -3
- package/src/comment-edit-link/block.json +0 -4
- package/src/comment-reply-link/block.json +0 -4
- package/src/comments/edit.js +24 -4
- package/src/comments-title/deprecated.js +0 -2
- package/src/cover/block.json +1 -0
- package/src/cover/index.php +21 -8
- package/src/embed/embed-preview.js +8 -1
- package/src/embed/icons.js +25 -0
- package/src/embed/save.js +10 -2
- package/src/embed/test/__snapshots__/index.native.js.snap +1 -1
- package/src/embed/variations.js +10 -0
- package/src/file/edit.js +4 -2
- package/src/file/save.js +2 -2
- package/src/file/style.scss +5 -5
- package/src/freeform/editor.scss +0 -2
- package/src/gallery/gallery.js +9 -2
- package/src/gallery/index.php +4 -0
- package/src/gallery/save.js +5 -1
- package/src/gallery/test/__snapshots__/index.native.js.snap +2 -2
- package/src/gallery/test/helpers.native.js +11 -198
- package/src/gallery/test/index.native.js +19 -29
- package/src/gallery/transforms.js +3 -3
- package/src/gallery/v1/edit.js +3 -4
- package/src/gallery/v1/gallery-image.js +4 -0
- package/src/gallery/v1/gallery.js +8 -2
- package/src/gallery/v1/save.js +20 -3
- package/src/group/block.json +1 -0
- package/src/html/edit.js +10 -40
- package/src/html/preview.js +46 -0
- package/src/image/edit.native.js +1 -0
- package/src/image/image.js +2 -0
- package/src/image/save.js +10 -2
- package/src/image/test/edit.native.js +51 -19
- package/src/list/v2/transforms.js +22 -7
- package/src/list-item/hooks/use-enter.js +9 -6
- package/src/list-item/hooks/use-outdent-list-item.js +48 -21
- package/src/navigation/block.json +9 -0
- package/src/navigation/edit/index.js +1 -0
- package/src/navigation/style.scss +10 -1
- package/src/navigation/test/use-navigation-menu.js +16 -11
- package/src/navigation/use-navigation-menu.js +26 -83
- package/src/navigation/view.js +7 -2
- package/src/navigation-submenu/view.js +7 -2
- package/src/post-comments/index.php +1 -1
- package/src/post-comments/style.scss +7 -3
- package/src/post-comments-form/edit.js +20 -3
- package/src/post-comments-form/editor.scss +4 -0
- package/src/post-comments-form/form.js +2 -2
- package/src/post-comments-form/index.php +1 -1
- package/src/post-featured-image/index.php +4 -2
- package/src/post-template/index.php +15 -3
- package/src/post-template/style.scss +1 -7
- package/src/search/edit.js +2 -2
- package/src/search/index.php +12 -10
- package/src/search/style.scss +9 -8
- package/src/table/edit.js +2 -0
- package/src/table/save.js +6 -1
- package/src/video/edit.js +4 -0
- package/src/video/save.js +10 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-comments-form/edit.js"],"names":["classnames","AlignmentControl","BlockControls","Warning","useBlockProps","store","blockEditorStore","useEntityProp","coreStore","__","sprintf","useSelect","CommentsForm","PostCommentsFormEdit","attributes","context","setAttributes","textAlign","postId","postType","commentStatus","blockProps","className","isSiteEditor","undefined","defaultCommentStatus","select","getSettings","__experimentalDiscussionSettings","postTypeSupportsComments","getPostType","supports","comments","warning","showPlaceholder","nextAlign"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,OAHD,EAICC,aAJD,EAKCC,KAAK,IAAIC,gBALV,QAMO,yBANP;AAOA,SAASC,aAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-comments-form/edit.js"],"names":["classnames","AlignmentControl","BlockControls","Warning","useBlockProps","store","blockEditorStore","Button","useEntityProp","coreStore","__","_x","sprintf","useSelect","CommentsForm","PostCommentsFormEdit","attributes","context","setAttributes","textAlign","postId","postType","commentStatus","setCommentStatus","blockProps","className","isSiteEditor","undefined","defaultCommentStatus","select","getSettings","__experimentalDiscussionSettings","postTypeSupportsComments","getPostType","supports","comments","warning","actions","showPlaceholder","nextAlign"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tWarning,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport CommentsForm from './form';\n\nexport default function PostCommentsFormEdit( {\n\tattributes,\n\tcontext,\n\tsetAttributes,\n} ) {\n\tconst { textAlign } = attributes;\n\tconst { postId, postType } = context;\n\tconst [ commentStatus, setCommentStatus ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'comment_status',\n\t\tpostId\n\t);\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst isSiteEditor = postType === undefined || postId === undefined;\n\n\tconst { defaultCommentStatus } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalDiscussionSettings\n\t);\n\n\tconst postTypeSupportsComments = useSelect( ( select ) =>\n\t\tpostType\n\t\t\t? !! select( coreStore ).getPostType( postType )?.supports.comments\n\t\t\t: false\n\t);\n\n\tlet warning = false;\n\tlet actions;\n\tlet showPlaceholder = true;\n\n\tif ( ! isSiteEditor && 'open' !== commentStatus ) {\n\t\tif ( 'closed' === commentStatus ) {\n\t\t\twarning = sprintf(\n\t\t\t\t/* translators: 1: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t__(\n\t\t\t\t\t'Post Comments Form block: Comments on this %s are not allowed.'\n\t\t\t\t),\n\t\t\t\tpostType\n\t\t\t);\n\t\t\tactions = [\n\t\t\t\t<Button\n\t\t\t\t\tkey=\"enableComments\"\n\t\t\t\t\tonClick={ () => setCommentStatus( 'open' ) }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t>\n\t\t\t\t\t{ _x(\n\t\t\t\t\t\t'Enable comments',\n\t\t\t\t\t\t'action that affects the current post'\n\t\t\t\t\t) }\n\t\t\t\t</Button>,\n\t\t\t];\n\t\t\tshowPlaceholder = false;\n\t\t} else if ( ! postTypeSupportsComments ) {\n\t\t\twarning = sprintf(\n\t\t\t\t/* translators: 1: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t__(\n\t\t\t\t\t'Post Comments Form block: Comments for this post type (%s) are not enabled.'\n\t\t\t\t),\n\t\t\t\tpostType\n\t\t\t);\n\t\t\tshowPlaceholder = false;\n\t\t} else if ( 'open' !== defaultCommentStatus ) {\n\t\t\twarning = __(\n\t\t\t\t'Post Comments Form block: Comments are not enabled.'\n\t\t\t);\n\t\t\tshowPlaceholder = false;\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ warning && (\n\t\t\t\t\t<Warning actions={ actions }>{ warning }</Warning>\n\t\t\t\t) }\n\n\t\t\t\t{ showPlaceholder ? <CommentsForm /> : null }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -9,7 +9,7 @@ import classnames from 'classnames';
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { __ } from '@wordpress/i18n';
|
|
12
|
-
import {
|
|
12
|
+
import { __experimentalGetElementClassName } from '@wordpress/block-editor';
|
|
13
13
|
import { useDisabled, useInstanceId } from '@wordpress/compose';
|
|
14
14
|
|
|
15
15
|
const CommentsForm = () => {
|
|
@@ -35,7 +35,7 @@ const CommentsForm = () => {
|
|
|
35
35
|
}, createElement("input", {
|
|
36
36
|
name: "submit",
|
|
37
37
|
type: "submit",
|
|
38
|
-
className: classnames('submit', 'wp-block-button__link',
|
|
38
|
+
className: classnames('submit', 'wp-block-button__link', __experimentalGetElementClassName('button')),
|
|
39
39
|
label: __('Post Comment'),
|
|
40
40
|
value: __('Post Comment')
|
|
41
41
|
}))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-comments-form/form.js"],"names":["classnames","__","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-comments-form/form.js"],"names":["classnames","__","__experimentalGetElementClassName","useDisabled","useInstanceId","CommentsForm","disabledFormRef","instanceId"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,iCAAT,QAAkD,yBAAlD;AACA,SAASC,WAAT,EAAsBC,aAAtB,QAA2C,oBAA3C;;AAEA,MAAMC,YAAY,GAAG,MAAM;AAC1B,QAAMC,eAAe,GAAGH,WAAW,EAAnC;AACA,QAAMI,UAAU,GAAGH,aAAa,CAAEC,YAAF,CAAhC;AAEA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAI,IAAA,SAAS,EAAC;AAAd,KAAsCJ,EAAE,CAAE,eAAF,CAAxC,CADD,EAEC;AAAM,IAAA,UAAU,MAAhB;AAAiB,IAAA,SAAS,EAAC,cAA3B;AAA0C,IAAA,GAAG,EAAGK;AAAhD,KACC,yBACC;AAAO,IAAA,OAAO,EAAI,WAAWC,UAAY;AAAzC,KACGN,EAAE,CAAE,SAAF,CADL,CADD,EAIC;AACC,IAAA,EAAE,EAAI,WAAWM,UAAY,EAD9B;AAEC,IAAA,IAAI,EAAC,SAFN;AAGC,IAAA,IAAI,EAAC,IAHN;AAIC,IAAA,IAAI,EAAC;AAJN,IAJD,CADD,EAYC;AAAG,IAAA,SAAS,EAAC;AAAb,KACC;AACC,IAAA,IAAI,EAAC,QADN;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,IAAA,SAAS,EAAGP,UAAU,CACrB,QADqB,EAErB,uBAFqB,EAGrBE,iCAAiC,CAAE,QAAF,CAHZ,CAHvB;AAQC,IAAA,KAAK,EAAGD,EAAE,CAAE,cAAF,CARX;AASC,IAAA,KAAK,EAAGA,EAAE,CAAE,cAAF;AATX,IADD,CAZD,CAFD,CADD;AA+BA,CAnCD;;AAqCA,eAAeI,YAAf","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalGetElementClassName } from '@wordpress/block-editor';\nimport { useDisabled, useInstanceId } from '@wordpress/compose';\n\nconst CommentsForm = () => {\n\tconst disabledFormRef = useDisabled();\n\tconst instanceId = useInstanceId( CommentsForm );\n\n\treturn (\n\t\t<div className=\"comment-respond\">\n\t\t\t<h3 className=\"comment-reply-title\">{ __( 'Leave a Reply' ) }</h3>\n\t\t\t<form noValidate className=\"comment-form\" ref={ disabledFormRef }>\n\t\t\t\t<p>\n\t\t\t\t\t<label htmlFor={ `comment-${ instanceId }` }>\n\t\t\t\t\t\t{ __( 'Comment' ) }\n\t\t\t\t\t</label>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tid={ `comment-${ instanceId }` }\n\t\t\t\t\t\tname=\"comment\"\n\t\t\t\t\t\tcols=\"45\"\n\t\t\t\t\t\trows=\"8\"\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t\t<p className=\"form-submit wp-block-button\">\n\t\t\t\t\t<input\n\t\t\t\t\t\tname=\"submit\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'submit',\n\t\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Post Comment' ) }\n\t\t\t\t\t\tvalue={ __( 'Post Comment' ) }\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t</form>\n\t\t</div>\n\t);\n};\n\nexport default CommentsForm;\n"]}
|
|
@@ -8,7 +8,7 @@ import classnames from 'classnames';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { useBlockProps, BlockControls, InspectorControls, RichText, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, store as blockEditorStore,
|
|
11
|
+
import { useBlockProps, BlockControls, InspectorControls, RichText, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, store as blockEditorStore, __experimentalGetElementClassName } from '@wordpress/block-editor';
|
|
12
12
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
13
13
|
import { useEffect } from '@wordpress/element';
|
|
14
14
|
import { ToolbarDropdownMenu, ToolbarGroup, Button, ButtonGroup, ToolbarButton, ResizableBox, PanelBody, BaseControl, __experimentalUseCustomUnits as useCustomUnits, __experimentalUnitControl as UnitControl } from '@wordpress/components';
|
|
@@ -182,7 +182,7 @@ export default function SearchEdit(_ref) {
|
|
|
182
182
|
|
|
183
183
|
const renderButton = () => {
|
|
184
184
|
// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.
|
|
185
|
-
const buttonClasses = classnames('wp-block-search__button', colorProps.className, isButtonPositionInside ? undefined : borderProps.className, buttonUseIcon ? 'has-icon' : undefined,
|
|
185
|
+
const buttonClasses = classnames('wp-block-search__button', colorProps.className, isButtonPositionInside ? undefined : borderProps.className, buttonUseIcon ? 'has-icon' : undefined, __experimentalGetElementClassName('button'));
|
|
186
186
|
const buttonStyles = { ...colorProps.style,
|
|
187
187
|
...(isButtonPositionInside ? {
|
|
188
188
|
borderRadius
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/search/edit.js"],"names":["classnames","useBlockProps","BlockControls","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","store","blockEditorStore","__experimentalElementButtonClassName","useDispatch","useSelect","useEffect","ToolbarDropdownMenu","ToolbarGroup","Button","ButtonGroup","ToolbarButton","ResizableBox","PanelBody","BaseControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","useInstanceId","Icon","search","__","__unstableStripHTML","stripHTML","buttonOnly","buttonOutside","buttonInside","noButton","buttonWithIcon","toggleLabel","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","MIN_WIDTH_UNIT","DEFAULT_INNER_PADDING","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","style","insertedInNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","onClick","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","event","target","value","renderButton","buttonClasses","buttonStyles","html","controls","newWidth","filteredWidth","parseInt","newUnit","maxWidth","map","widthValue","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","direction","elt","offsetWidth","delta"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\tstore as blockEditorStore,\n\t__experimentalElementButtonClassName,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tButton,\n\tButtonGroup,\n\tToolbarButton,\n\tResizableBox,\n\tPanelBody,\n\tBaseControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuttonOnly,\n\tbuttonOutside,\n\tbuttonInside,\n\tnoButton,\n\tbuttonWithIcon,\n\ttoggleLabel,\n} from './icons';\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tMIN_WIDTH_UNIT,\n} from './utils.js';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tstyle,\n\t} = attributes;\n\n\tconst insertedInNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\tif ( ! insertedInNavigationBlock ) return;\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( {\n\t\t\tshowLabel: false,\n\t\t\tbuttonUseIcon: true,\n\t\t\tbuttonPosition: 'button-inside',\n\t\t} );\n\t}, [ insertedInNavigationBlock ] );\n\tconst borderRadius = style?.border?.radius;\n\tconst borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps.style.borderRadius = `${ borderRadius }px`;\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = classnames(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className\n\t\t);\n\t\tconst textFieldStyles = isButtonPositionInside\n\t\t\t? { borderRadius }\n\t\t\t: borderProps.style;\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalElementButtonClassName\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Toggle search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Display Settings' ) }>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t\t\tmin={ `${ MIN_WIDTH }${ MIN_WIDTH_UNIT }` }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst filteredWidth =\n\t\t\t\t\t\t\t\t\twidthUnit === '%' &&\n\t\t\t\t\t\t\t\t\tparseInt( newWidth, 10 ) > 100\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: newWidth;\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parseInt( filteredWidth, 10 ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\tclassName=\"wp-block-search__components-button-group\"\n\t\t\t\t\t\t\taria-label={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\t`${ widthValue }%` ===\n\t\t\t\t\t\t\t\t\t\t\t`${ width }${ widthUnit }`\n\t\t\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: widthValue,\n\t\t\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t} );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tclassName=\"wp-block-search__label\"\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: `${ width }${ widthUnit }`,\n\t\t\t\t} }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside || isButtonPositionOutside ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasOnlyButton && renderButton() }\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/search/edit.js"],"names":["classnames","useBlockProps","BlockControls","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","store","blockEditorStore","__experimentalGetElementClassName","useDispatch","useSelect","useEffect","ToolbarDropdownMenu","ToolbarGroup","Button","ButtonGroup","ToolbarButton","ResizableBox","PanelBody","BaseControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","useInstanceId","Icon","search","__","__unstableStripHTML","stripHTML","buttonOnly","buttonOutside","buttonInside","noButton","buttonWithIcon","toggleLabel","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","MIN_WIDTH_UNIT","DEFAULT_INNER_PADDING","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","style","insertedInNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","onClick","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","event","target","value","renderButton","buttonClasses","buttonStyles","html","controls","newWidth","filteredWidth","parseInt","newUnit","maxWidth","map","widthValue","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","direction","elt","offsetWidth","delta"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tButton,\n\tButtonGroup,\n\tToolbarButton,\n\tResizableBox,\n\tPanelBody,\n\tBaseControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuttonOnly,\n\tbuttonOutside,\n\tbuttonInside,\n\tnoButton,\n\tbuttonWithIcon,\n\ttoggleLabel,\n} from './icons';\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tMIN_WIDTH_UNIT,\n} from './utils.js';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tstyle,\n\t} = attributes;\n\n\tconst insertedInNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\tif ( ! insertedInNavigationBlock ) return;\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( {\n\t\t\tshowLabel: false,\n\t\t\tbuttonUseIcon: true,\n\t\t\tbuttonPosition: 'button-inside',\n\t\t} );\n\t}, [ insertedInNavigationBlock ] );\n\tconst borderRadius = style?.border?.radius;\n\tconst borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps.style.borderRadius = `${ borderRadius }px`;\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = classnames(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className\n\t\t);\n\t\tconst textFieldStyles = isButtonPositionInside\n\t\t\t? { borderRadius }\n\t\t\t: borderProps.style;\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Toggle search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Display Settings' ) }>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t\t\tmin={ `${ MIN_WIDTH }${ MIN_WIDTH_UNIT }` }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst filteredWidth =\n\t\t\t\t\t\t\t\t\twidthUnit === '%' &&\n\t\t\t\t\t\t\t\t\tparseInt( newWidth, 10 ) > 100\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: newWidth;\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parseInt( filteredWidth, 10 ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\tclassName=\"wp-block-search__components-button-group\"\n\t\t\t\t\t\t\taria-label={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\t`${ widthValue }%` ===\n\t\t\t\t\t\t\t\t\t\t\t`${ width }${ widthUnit }`\n\t\t\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: widthValue,\n\t\t\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t} );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tclassName=\"wp-block-search__label\"\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: `${ width }${ widthUnit }`,\n\t\t\t\t} }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside || isButtonPositionOutside ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasOnlyButton && renderButton() }\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -9,7 +9,7 @@ import classnames from 'classnames';
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { useEffect, useRef, useState } from '@wordpress/element';
|
|
12
|
-
import { InspectorControls, BlockControls, RichText, BlockIcon, AlignmentControl, useBlockProps, __experimentalUseColorProps as useColorProps, __experimentalUseBorderProps as useBorderProps } from '@wordpress/block-editor';
|
|
12
|
+
import { InspectorControls, BlockControls, RichText, BlockIcon, AlignmentControl, useBlockProps, __experimentalUseColorProps as useColorProps, __experimentalUseBorderProps as useBorderProps, __experimentalGetElementClassName } from '@wordpress/block-editor';
|
|
13
13
|
import { __ } from '@wordpress/i18n';
|
|
14
14
|
import { Button, PanelBody, Placeholder, TextControl, ToggleControl, ToolbarDropdownMenu, __experimentalHasSplitBorders as hasSplitBorders } from '@wordpress/components';
|
|
15
15
|
import { alignLeft, alignRight, alignCenter, blockTable as icon, tableColumnAfter, tableColumnBefore, tableColumnDelete, tableRowAfter, tableRowBefore, tableRowDelete, table } from '@wordpress/icons';
|
|
@@ -444,6 +444,7 @@ function TableEdit(_ref2) {
|
|
|
444
444
|
}
|
|
445
445
|
}, renderedSections), !isEmpty && createElement(RichText, {
|
|
446
446
|
tagName: "figcaption",
|
|
447
|
+
className: __experimentalGetElementClassName('caption'),
|
|
447
448
|
"aria-label": __('Table caption text'),
|
|
448
449
|
placeholder: __('Add caption'),
|
|
449
450
|
value: caption,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/table/edit.js"],"names":["classnames","useEffect","useRef","useState","InspectorControls","BlockControls","RichText","BlockIcon","AlignmentControl","useBlockProps","__experimentalUseColorProps","useColorProps","__experimentalUseBorderProps","useBorderProps","__","Button","PanelBody","Placeholder","TextControl","ToggleControl","ToolbarDropdownMenu","__experimentalHasSplitBorders","hasSplitBorders","alignLeft","alignRight","alignCenter","blockTable","icon","tableColumnAfter","tableColumnBefore","tableColumnDelete","tableRowAfter","tableRowBefore","tableRowDelete","table","createBlock","getDefaultBlockName","createTable","updateSelectedCell","getCellAttribute","insertRow","deleteRow","insertColumn","deleteColumn","toggleSection","isEmptyTableSection","ALIGNMENT_CONTROLS","title","align","cellAriaLabel","head","body","foot","placeholder","TSection","name","props","TagName","TableEdit","attributes","setAttributes","insertBlocksAfter","isSelected","hasFixedLayout","caption","initialRowCount","setInitialRowCount","initialColumnCount","setInitialColumnCount","selectedCell","setSelectedCell","colorProps","borderProps","tableRef","hasTableCreated","setHasTableCreated","onChangeInitialColumnCount","count","onChangeInitialRowCount","onCreateTable","event","preventDefault","rowCount","parseInt","columnCount","onChangeFixedLayout","onChange","content","cellAttributes","onChangeColumnAlignment","columnSelection","type","columnIndex","newAttributes","getCellAlignment","onToggleHeaderSection","onToggleFooterSection","onInsertRow","delta","sectionName","rowIndex","newRowIndex","onInsertRowBefore","onInsertRowAfter","onDeleteRow","onInsertColumn","newColumnIndex","onInsertColumnBefore","onInsertColumnAfter","onDeleteColumn","current","querySelector","focus","sections","filter","tableControls","isDisabled","onClick","renderedSections","map","cells","tag","CellTag","scope","undefined","isEmpty","length","ref","nextAlign","className","style","border","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tRichText,\n\tBlockIcon,\n\tAlignmentControl,\n\tuseBlockProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPanelBody,\n\tPlaceholder,\n\tTextControl,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport {\n\talignLeft,\n\talignRight,\n\talignCenter,\n\tblockTable as icon,\n\ttableColumnAfter,\n\ttableColumnBefore,\n\ttableColumnDelete,\n\ttableRowAfter,\n\ttableRowBefore,\n\ttableRowDelete,\n\ttable,\n} from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcreateTable,\n\tupdateSelectedCell,\n\tgetCellAttribute,\n\tinsertRow,\n\tdeleteRow,\n\tinsertColumn,\n\tdeleteColumn,\n\ttoggleSection,\n\tisEmptyTableSection,\n} from './state';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align column left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align column center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align column right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst cellAriaLabel = {\n\thead: __( 'Header cell text' ),\n\tbody: __( 'Body cell text' ),\n\tfoot: __( 'Footer cell text' ),\n};\n\nconst placeholder = {\n\thead: __( 'Header label' ),\n\tfoot: __( 'Footer label' ),\n};\n\nfunction TSection( { name, ...props } ) {\n\tconst TagName = `t${ name }`;\n\treturn <TagName { ...props } />;\n}\n\nfunction TableEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tisSelected,\n} ) {\n\tconst { hasFixedLayout, caption, head, foot } = attributes;\n\tconst [ initialRowCount, setInitialRowCount ] = useState( 2 );\n\tconst [ initialColumnCount, setInitialColumnCount ] = useState( 2 );\n\tconst [ selectedCell, setSelectedCell ] = useState();\n\n\tconst colorProps = useColorProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst tableRef = useRef();\n\tconst [ hasTableCreated, setHasTableCreated ] = useState( false );\n\n\t/**\n\t * Updates the initial column count used for table creation.\n\t *\n\t * @param {number} count New initial column count.\n\t */\n\tfunction onChangeInitialColumnCount( count ) {\n\t\tsetInitialColumnCount( count );\n\t}\n\n\t/**\n\t * Updates the initial row count used for table creation.\n\t *\n\t * @param {number} count New initial row count.\n\t */\n\tfunction onChangeInitialRowCount( count ) {\n\t\tsetInitialRowCount( count );\n\t}\n\n\t/**\n\t * Creates a table based on dimensions in local state.\n\t *\n\t * @param {Object} event Form submit event.\n\t */\n\tfunction onCreateTable( event ) {\n\t\tevent.preventDefault();\n\n\t\tsetAttributes(\n\t\t\tcreateTable( {\n\t\t\t\trowCount: parseInt( initialRowCount, 10 ) || 2,\n\t\t\t\tcolumnCount: parseInt( initialColumnCount, 10 ) || 2,\n\t\t\t} )\n\t\t);\n\t\tsetHasTableCreated( true );\n\t}\n\n\t/**\n\t * Toggles whether the table has a fixed layout or not.\n\t */\n\tfunction onChangeFixedLayout() {\n\t\tsetAttributes( { hasFixedLayout: ! hasFixedLayout } );\n\t}\n\n\t/**\n\t * Changes the content of the currently selected cell.\n\t *\n\t * @param {Array} content A RichText content value.\n\t */\n\tfunction onChange( content ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes(\n\t\t\tupdateSelectedCell(\n\t\t\t\tattributes,\n\t\t\t\tselectedCell,\n\t\t\t\t( cellAttributes ) => ( {\n\t\t\t\t\t...cellAttributes,\n\t\t\t\t\tcontent,\n\t\t\t\t} )\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Align text within the a column.\n\t *\n\t * @param {string} align The new alignment to apply to the column.\n\t */\n\tfunction onChangeColumnAlignment( align ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert the cell selection to a column selection so that alignment\n\t\t// is applied to the entire column.\n\t\tconst columnSelection = {\n\t\t\ttype: 'column',\n\t\t\tcolumnIndex: selectedCell.columnIndex,\n\t\t};\n\n\t\tconst newAttributes = updateSelectedCell(\n\t\t\tattributes,\n\t\t\tcolumnSelection,\n\t\t\t( cellAttributes ) => ( {\n\t\t\t\t...cellAttributes,\n\t\t\t\talign,\n\t\t\t} )\n\t\t);\n\t\tsetAttributes( newAttributes );\n\t}\n\n\t/**\n\t * Get the alignment of the currently selected cell.\n\t *\n\t * @return {string} The new alignment to apply to the column.\n\t */\n\tfunction getCellAlignment() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getCellAttribute( attributes, selectedCell, 'align' );\n\t}\n\n\t/**\n\t * Add or remove a `head` table section.\n\t */\n\tfunction onToggleHeaderSection() {\n\t\tsetAttributes( toggleSection( attributes, 'head' ) );\n\t}\n\n\t/**\n\t * Add or remove a `foot` table section.\n\t */\n\tfunction onToggleFooterSection() {\n\t\tsetAttributes( toggleSection( attributes, 'foot' ) );\n\t}\n\n\t/**\n\t * Inserts a row at the currently selected row index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected row index at which to insert.\n\t */\n\tfunction onInsertRow( delta ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\t\tconst newRowIndex = rowIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertRow( attributes, {\n\t\t\t\tsectionName,\n\t\t\t\trowIndex: newRowIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new row.\n\t\tsetSelectedCell( {\n\t\t\tsectionName,\n\t\t\trowIndex: newRowIndex,\n\t\t\tcolumnIndex: 0,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a row before the currently selected row.\n\t */\n\tfunction onInsertRowBefore() {\n\t\tonInsertRow( 0 );\n\t}\n\n\t/**\n\t * Inserts a row after the currently selected row.\n\t */\n\tfunction onInsertRowAfter() {\n\t\tonInsertRow( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected row.\n\t */\n\tfunction onDeleteRow() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes( deleteRow( attributes, { sectionName, rowIndex } ) );\n\t}\n\n\t/**\n\t * Inserts a column at the currently selected column index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected column index at which to insert.\n\t */\n\tfunction onInsertColumn( delta = 0 ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { columnIndex } = selectedCell;\n\t\tconst newColumnIndex = columnIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertColumn( attributes, {\n\t\t\t\tcolumnIndex: newColumnIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new column.\n\t\tsetSelectedCell( {\n\t\t\trowIndex: 0,\n\t\t\tcolumnIndex: newColumnIndex,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a column before the currently selected column.\n\t */\n\tfunction onInsertColumnBefore() {\n\t\tonInsertColumn( 0 );\n\t}\n\n\t/**\n\t * Inserts a column after the currently selected column.\n\t */\n\tfunction onInsertColumnAfter() {\n\t\tonInsertColumn( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected column.\n\t */\n\tfunction onDeleteColumn() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, columnIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes(\n\t\t\tdeleteColumn( attributes, { sectionName, columnIndex } )\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedCell();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tif ( hasTableCreated ) {\n\t\t\ttableRef?.current\n\t\t\t\t?.querySelector( 'td[contentEditable=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t\tsetHasTableCreated( false );\n\t\t}\n\t}, [ hasTableCreated ] );\n\n\tconst sections = [ 'head', 'body', 'foot' ].filter(\n\t\t( name ) => ! isEmptyTableSection( attributes[ name ] )\n\t);\n\n\tconst tableControls = [\n\t\t{\n\t\t\ticon: tableRowBefore,\n\t\t\ttitle: __( 'Insert row before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowAfter,\n\t\t\ttitle: __( 'Insert row after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowDelete,\n\t\t\ttitle: __( 'Delete row' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteRow,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnBefore,\n\t\t\ttitle: __( 'Insert column before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnAfter,\n\t\t\ttitle: __( 'Insert column after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnDelete,\n\t\t\ttitle: __( 'Delete column' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteColumn,\n\t\t},\n\t];\n\n\tconst renderedSections = [ 'head', 'body', 'foot' ].map( ( name ) => (\n\t\t<TSection name={ name } key={ name }>\n\t\t\t{ attributes[ name ].map( ( { cells }, rowIndex ) => (\n\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{ content, tag: CellTag, scope, align },\n\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\ttagName={ CellTag }\n\t\t\t\t\t\t\t\tkey={ columnIndex }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'wp-block-table__cell-content'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tscope={ CellTag === 'th' ? scope : undefined }\n\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tunstableOnFocus={ () => {\n\t\t\t\t\t\t\t\t\tsetSelectedCell( {\n\t\t\t\t\t\t\t\t\t\tsectionName: name,\n\t\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\t\ttype: 'cell',\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taria-label={ cellAriaLabel[ name ] }\n\t\t\t\t\t\t\t\tplaceholder={ placeholder[ name ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</tr>\n\t\t\t) ) }\n\t\t</TSection>\n\t) );\n\n\tconst isEmpty = ! sections.length;\n\n\treturn (\n\t\t<figure { ...useBlockProps( { ref: tableRef } ) }>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tlabel={ __( 'Change column alignment' ) }\n\t\t\t\t\t\t\talignmentControls={ ALIGNMENT_CONTROLS }\n\t\t\t\t\t\t\tvalue={ getCellAlignment() }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) =>\n\t\t\t\t\t\t\t\tonChangeColumnAlignment( nextAlign )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\thasArrowIndicator\n\t\t\t\t\t\t\ticon={ table }\n\t\t\t\t\t\t\tlabel={ __( 'Edit table' ) }\n\t\t\t\t\t\t\tcontrols={ tableControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody\n\t\t\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\t\t\tclassName=\"blocks-table-settings\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Fixed width table cells' ) }\n\t\t\t\t\t\t\tchecked={ !! hasFixedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeFixedLayout }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Header section' ) }\n\t\t\t\t\t\t\tchecked={ !! ( head && head.length ) }\n\t\t\t\t\t\t\tonChange={ onToggleHeaderSection }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Footer section' ) }\n\t\t\t\t\t\t\tchecked={ !! ( foot && foot.length ) }\n\t\t\t\t\t\t\tonChange={ onToggleFooterSection }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t\t\t\t// This is required in the editor only to overcome\n\t\t\t\t\t\t\t// the fact the editor rewrites individual border\n\t\t\t\t\t\t\t// widths into a shorthand format.\n\t\t\t\t\t\t\t'has-individual-borders': hasSplitBorders(\n\t\t\t\t\t\t\t\tattributes?.style?.border\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t{ renderedSections }\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<RichText\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\taria-label={ __( 'Table caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\t// Deselect the selected table cell when the caption is focused.\n\t\t\t\t\tunstableOnFocus={ () => setSelectedCell() }\n\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isEmpty && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tlabel={ __( 'Table' ) }\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\tinstructions={ __( 'Insert a table for sharing data.' ) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"blocks-table__placeholder-form\"\n\t\t\t\t\t\tonSubmit={ onCreateTable }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Column count' ) }\n\t\t\t\t\t\t\tvalue={ initialColumnCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialColumnCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Row count' ) }\n\t\t\t\t\t\t\tvalue={ initialRowCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialRowCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create Table' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n\nexport default TableEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/table/edit.js"],"names":["classnames","useEffect","useRef","useState","InspectorControls","BlockControls","RichText","BlockIcon","AlignmentControl","useBlockProps","__experimentalUseColorProps","useColorProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetElementClassName","__","Button","PanelBody","Placeholder","TextControl","ToggleControl","ToolbarDropdownMenu","__experimentalHasSplitBorders","hasSplitBorders","alignLeft","alignRight","alignCenter","blockTable","icon","tableColumnAfter","tableColumnBefore","tableColumnDelete","tableRowAfter","tableRowBefore","tableRowDelete","table","createBlock","getDefaultBlockName","createTable","updateSelectedCell","getCellAttribute","insertRow","deleteRow","insertColumn","deleteColumn","toggleSection","isEmptyTableSection","ALIGNMENT_CONTROLS","title","align","cellAriaLabel","head","body","foot","placeholder","TSection","name","props","TagName","TableEdit","attributes","setAttributes","insertBlocksAfter","isSelected","hasFixedLayout","caption","initialRowCount","setInitialRowCount","initialColumnCount","setInitialColumnCount","selectedCell","setSelectedCell","colorProps","borderProps","tableRef","hasTableCreated","setHasTableCreated","onChangeInitialColumnCount","count","onChangeInitialRowCount","onCreateTable","event","preventDefault","rowCount","parseInt","columnCount","onChangeFixedLayout","onChange","content","cellAttributes","onChangeColumnAlignment","columnSelection","type","columnIndex","newAttributes","getCellAlignment","onToggleHeaderSection","onToggleFooterSection","onInsertRow","delta","sectionName","rowIndex","newRowIndex","onInsertRowBefore","onInsertRowAfter","onDeleteRow","onInsertColumn","newColumnIndex","onInsertColumnBefore","onInsertColumnAfter","onDeleteColumn","current","querySelector","focus","sections","filter","tableControls","isDisabled","onClick","renderedSections","map","cells","tag","CellTag","scope","undefined","isEmpty","length","ref","nextAlign","className","style","border","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tRichText,\n\tBlockIcon,\n\tAlignmentControl,\n\tuseBlockProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tPanelBody,\n\tPlaceholder,\n\tTextControl,\n\tToggleControl,\n\tToolbarDropdownMenu,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport {\n\talignLeft,\n\talignRight,\n\talignCenter,\n\tblockTable as icon,\n\ttableColumnAfter,\n\ttableColumnBefore,\n\ttableColumnDelete,\n\ttableRowAfter,\n\ttableRowBefore,\n\ttableRowDelete,\n\ttable,\n} from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcreateTable,\n\tupdateSelectedCell,\n\tgetCellAttribute,\n\tinsertRow,\n\tdeleteRow,\n\tinsertColumn,\n\tdeleteColumn,\n\ttoggleSection,\n\tisEmptyTableSection,\n} from './state';\n\nconst ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align column left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align column center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align column right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst cellAriaLabel = {\n\thead: __( 'Header cell text' ),\n\tbody: __( 'Body cell text' ),\n\tfoot: __( 'Footer cell text' ),\n};\n\nconst placeholder = {\n\thead: __( 'Header label' ),\n\tfoot: __( 'Footer label' ),\n};\n\nfunction TSection( { name, ...props } ) {\n\tconst TagName = `t${ name }`;\n\treturn <TagName { ...props } />;\n}\n\nfunction TableEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tisSelected,\n} ) {\n\tconst { hasFixedLayout, caption, head, foot } = attributes;\n\tconst [ initialRowCount, setInitialRowCount ] = useState( 2 );\n\tconst [ initialColumnCount, setInitialColumnCount ] = useState( 2 );\n\tconst [ selectedCell, setSelectedCell ] = useState();\n\n\tconst colorProps = useColorProps( attributes );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst tableRef = useRef();\n\tconst [ hasTableCreated, setHasTableCreated ] = useState( false );\n\n\t/**\n\t * Updates the initial column count used for table creation.\n\t *\n\t * @param {number} count New initial column count.\n\t */\n\tfunction onChangeInitialColumnCount( count ) {\n\t\tsetInitialColumnCount( count );\n\t}\n\n\t/**\n\t * Updates the initial row count used for table creation.\n\t *\n\t * @param {number} count New initial row count.\n\t */\n\tfunction onChangeInitialRowCount( count ) {\n\t\tsetInitialRowCount( count );\n\t}\n\n\t/**\n\t * Creates a table based on dimensions in local state.\n\t *\n\t * @param {Object} event Form submit event.\n\t */\n\tfunction onCreateTable( event ) {\n\t\tevent.preventDefault();\n\n\t\tsetAttributes(\n\t\t\tcreateTable( {\n\t\t\t\trowCount: parseInt( initialRowCount, 10 ) || 2,\n\t\t\t\tcolumnCount: parseInt( initialColumnCount, 10 ) || 2,\n\t\t\t} )\n\t\t);\n\t\tsetHasTableCreated( true );\n\t}\n\n\t/**\n\t * Toggles whether the table has a fixed layout or not.\n\t */\n\tfunction onChangeFixedLayout() {\n\t\tsetAttributes( { hasFixedLayout: ! hasFixedLayout } );\n\t}\n\n\t/**\n\t * Changes the content of the currently selected cell.\n\t *\n\t * @param {Array} content A RichText content value.\n\t */\n\tfunction onChange( content ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes(\n\t\t\tupdateSelectedCell(\n\t\t\t\tattributes,\n\t\t\t\tselectedCell,\n\t\t\t\t( cellAttributes ) => ( {\n\t\t\t\t\t...cellAttributes,\n\t\t\t\t\tcontent,\n\t\t\t\t} )\n\t\t\t)\n\t\t);\n\t}\n\n\t/**\n\t * Align text within the a column.\n\t *\n\t * @param {string} align The new alignment to apply to the column.\n\t */\n\tfunction onChangeColumnAlignment( align ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Convert the cell selection to a column selection so that alignment\n\t\t// is applied to the entire column.\n\t\tconst columnSelection = {\n\t\t\ttype: 'column',\n\t\t\tcolumnIndex: selectedCell.columnIndex,\n\t\t};\n\n\t\tconst newAttributes = updateSelectedCell(\n\t\t\tattributes,\n\t\t\tcolumnSelection,\n\t\t\t( cellAttributes ) => ( {\n\t\t\t\t...cellAttributes,\n\t\t\t\talign,\n\t\t\t} )\n\t\t);\n\t\tsetAttributes( newAttributes );\n\t}\n\n\t/**\n\t * Get the alignment of the currently selected cell.\n\t *\n\t * @return {string} The new alignment to apply to the column.\n\t */\n\tfunction getCellAlignment() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn getCellAttribute( attributes, selectedCell, 'align' );\n\t}\n\n\t/**\n\t * Add or remove a `head` table section.\n\t */\n\tfunction onToggleHeaderSection() {\n\t\tsetAttributes( toggleSection( attributes, 'head' ) );\n\t}\n\n\t/**\n\t * Add or remove a `foot` table section.\n\t */\n\tfunction onToggleFooterSection() {\n\t\tsetAttributes( toggleSection( attributes, 'foot' ) );\n\t}\n\n\t/**\n\t * Inserts a row at the currently selected row index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected row index at which to insert.\n\t */\n\tfunction onInsertRow( delta ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\t\tconst newRowIndex = rowIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertRow( attributes, {\n\t\t\t\tsectionName,\n\t\t\t\trowIndex: newRowIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new row.\n\t\tsetSelectedCell( {\n\t\t\tsectionName,\n\t\t\trowIndex: newRowIndex,\n\t\t\tcolumnIndex: 0,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a row before the currently selected row.\n\t */\n\tfunction onInsertRowBefore() {\n\t\tonInsertRow( 0 );\n\t}\n\n\t/**\n\t * Inserts a row after the currently selected row.\n\t */\n\tfunction onInsertRowAfter() {\n\t\tonInsertRow( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected row.\n\t */\n\tfunction onDeleteRow() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, rowIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes( deleteRow( attributes, { sectionName, rowIndex } ) );\n\t}\n\n\t/**\n\t * Inserts a column at the currently selected column index, plus `delta`.\n\t *\n\t * @param {number} delta Offset for selected column index at which to insert.\n\t */\n\tfunction onInsertColumn( delta = 0 ) {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { columnIndex } = selectedCell;\n\t\tconst newColumnIndex = columnIndex + delta;\n\n\t\tsetAttributes(\n\t\t\tinsertColumn( attributes, {\n\t\t\t\tcolumnIndex: newColumnIndex,\n\t\t\t} )\n\t\t);\n\t\t// Select the first cell of the new column.\n\t\tsetSelectedCell( {\n\t\t\trowIndex: 0,\n\t\t\tcolumnIndex: newColumnIndex,\n\t\t\ttype: 'cell',\n\t\t} );\n\t}\n\n\t/**\n\t * Inserts a column before the currently selected column.\n\t */\n\tfunction onInsertColumnBefore() {\n\t\tonInsertColumn( 0 );\n\t}\n\n\t/**\n\t * Inserts a column after the currently selected column.\n\t */\n\tfunction onInsertColumnAfter() {\n\t\tonInsertColumn( 1 );\n\t}\n\n\t/**\n\t * Deletes the currently selected column.\n\t */\n\tfunction onDeleteColumn() {\n\t\tif ( ! selectedCell ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { sectionName, columnIndex } = selectedCell;\n\n\t\tsetSelectedCell();\n\t\tsetAttributes(\n\t\t\tdeleteColumn( attributes, { sectionName, columnIndex } )\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedCell();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tif ( hasTableCreated ) {\n\t\t\ttableRef?.current\n\t\t\t\t?.querySelector( 'td[contentEditable=\"true\"]' )\n\t\t\t\t?.focus();\n\t\t\tsetHasTableCreated( false );\n\t\t}\n\t}, [ hasTableCreated ] );\n\n\tconst sections = [ 'head', 'body', 'foot' ].filter(\n\t\t( name ) => ! isEmptyTableSection( attributes[ name ] )\n\t);\n\n\tconst tableControls = [\n\t\t{\n\t\t\ticon: tableRowBefore,\n\t\t\ttitle: __( 'Insert row before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowAfter,\n\t\t\ttitle: __( 'Insert row after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertRowAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableRowDelete,\n\t\t\ttitle: __( 'Delete row' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteRow,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnBefore,\n\t\t\ttitle: __( 'Insert column before' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnBefore,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnAfter,\n\t\t\ttitle: __( 'Insert column after' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onInsertColumnAfter,\n\t\t},\n\t\t{\n\t\t\ticon: tableColumnDelete,\n\t\t\ttitle: __( 'Delete column' ),\n\t\t\tisDisabled: ! selectedCell,\n\t\t\tonClick: onDeleteColumn,\n\t\t},\n\t];\n\n\tconst renderedSections = [ 'head', 'body', 'foot' ].map( ( name ) => (\n\t\t<TSection name={ name } key={ name }>\n\t\t\t{ attributes[ name ].map( ( { cells }, rowIndex ) => (\n\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t{ content, tag: CellTag, scope, align },\n\t\t\t\t\t\t\tcolumnIndex\n\t\t\t\t\t\t) => (\n\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\ttagName={ CellTag }\n\t\t\t\t\t\t\t\tkey={ columnIndex }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'wp-block-table__cell-content'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tscope={ CellTag === 'th' ? scope : undefined }\n\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tunstableOnFocus={ () => {\n\t\t\t\t\t\t\t\t\tsetSelectedCell( {\n\t\t\t\t\t\t\t\t\t\tsectionName: name,\n\t\t\t\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\t\t\t\ttype: 'cell',\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taria-label={ cellAriaLabel[ name ] }\n\t\t\t\t\t\t\t\tplaceholder={ placeholder[ name ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</tr>\n\t\t\t) ) }\n\t\t</TSection>\n\t) );\n\n\tconst isEmpty = ! sections.length;\n\n\treturn (\n\t\t<figure { ...useBlockProps( { ref: tableRef } ) }>\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\t\tlabel={ __( 'Change column alignment' ) }\n\t\t\t\t\t\t\talignmentControls={ ALIGNMENT_CONTROLS }\n\t\t\t\t\t\t\tvalue={ getCellAlignment() }\n\t\t\t\t\t\t\tonChange={ ( nextAlign ) =>\n\t\t\t\t\t\t\t\tonChangeColumnAlignment( nextAlign )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\thasArrowIndicator\n\t\t\t\t\t\t\ticon={ table }\n\t\t\t\t\t\t\tlabel={ __( 'Edit table' ) }\n\t\t\t\t\t\t\tcontrols={ tableControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody\n\t\t\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\t\t\tclassName=\"blocks-table-settings\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Fixed width table cells' ) }\n\t\t\t\t\t\t\tchecked={ !! hasFixedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeFixedLayout }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Header section' ) }\n\t\t\t\t\t\t\tchecked={ !! ( head && head.length ) }\n\t\t\t\t\t\t\tonChange={ onToggleHeaderSection }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Footer section' ) }\n\t\t\t\t\t\t\tchecked={ !! ( foot && foot.length ) }\n\t\t\t\t\t\t\tonChange={ onToggleFooterSection }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<table\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-fixed-layout': hasFixedLayout,\n\t\t\t\t\t\t\t// This is required in the editor only to overcome\n\t\t\t\t\t\t\t// the fact the editor rewrites individual border\n\t\t\t\t\t\t\t// widths into a shorthand format.\n\t\t\t\t\t\t\t'has-individual-borders': hasSplitBorders(\n\t\t\t\t\t\t\t\tattributes?.style?.border\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t\t>\n\t\t\t\t\t{ renderedSections }\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<RichText\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\taria-label={ __( 'Table caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\t// Deselect the selected table cell when the caption is focused.\n\t\t\t\t\tunstableOnFocus={ () => setSelectedCell() }\n\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isEmpty && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tlabel={ __( 'Table' ) }\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } showColors /> }\n\t\t\t\t\tinstructions={ __( 'Insert a table for sharing data.' ) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"blocks-table__placeholder-form\"\n\t\t\t\t\t\tonSubmit={ onCreateTable }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Column count' ) }\n\t\t\t\t\t\t\tvalue={ initialColumnCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialColumnCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tlabel={ __( 'Row count' ) }\n\t\t\t\t\t\t\tvalue={ initialRowCount }\n\t\t\t\t\t\t\tonChange={ onChangeInitialRowCount }\n\t\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"blocks-table__placeholder-button\"\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create Table' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n\nexport default TableEdit;\n"]}
|
|
@@ -8,7 +8,7 @@ import classnames from 'classnames';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { RichText, useBlockProps, __experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles } from '@wordpress/block-editor';
|
|
11
|
+
import { RichText, useBlockProps, __experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles, __experimentalGetElementClassName } from '@wordpress/block-editor';
|
|
12
12
|
export default function save(_ref) {
|
|
13
13
|
let {
|
|
14
14
|
attributes
|
|
@@ -88,7 +88,8 @@ export default function save(_ref) {
|
|
|
88
88
|
rows: foot
|
|
89
89
|
})), hasCaption && createElement(RichText.Content, {
|
|
90
90
|
tagName: "figcaption",
|
|
91
|
-
value: caption
|
|
91
|
+
value: caption,
|
|
92
|
+
className: __experimentalGetElementClassName('caption')
|
|
92
93
|
}));
|
|
93
94
|
}
|
|
94
95
|
//# sourceMappingURL=save.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/table/save.js"],"names":["classnames","RichText","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","save","attributes","hasFixedLayout","head","body","foot","caption","isEmpty","length","colorProps","borderProps","classes","className","hasCaption","Section","type","rows","Tag","map","rowIndex","cells","cellIndex","content","tag","scope","align","cellClasses","undefined","style"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,QADD,EAECC,aAFD,EAGCC,uCAAuC,IAAIC,yBAH5C,EAICC,sCAAsC,IAAIC,wBAJ3C,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/table/save.js"],"names":["classnames","RichText","useBlockProps","__experimentalGetBorderClassesAndStyles","getBorderClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__experimentalGetElementClassName","save","attributes","hasFixedLayout","head","body","foot","caption","isEmpty","length","colorProps","borderProps","classes","className","hasCaption","Section","type","rows","Tag","map","rowIndex","cells","cellIndex","content","tag","scope","align","cellClasses","undefined","style"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst { hasFixedLayout, head, body, foot, caption } = attributes;\n\tconst isEmpty = ! head.length && ! body.length && ! foot.length;\n\n\tif ( isEmpty ) {\n\t\treturn null;\n\t}\n\n\tconst colorProps = getColorClassesAndStyles( attributes );\n\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\tconst classes = classnames( colorProps.className, borderProps.className, {\n\t\t'has-fixed-layout': hasFixedLayout,\n\t} );\n\n\tconst hasCaption = ! RichText.isEmpty( caption );\n\n\tconst Section = ( { type, rows } ) => {\n\t\tif ( ! rows.length ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst Tag = `t${ type }`;\n\n\t\treturn (\n\t\t\t<Tag>\n\t\t\t\t{ rows.map( ( { cells }, rowIndex ) => (\n\t\t\t\t\t<tr key={ rowIndex }>\n\t\t\t\t\t\t{ cells.map(\n\t\t\t\t\t\t\t( { content, tag, scope, align }, cellIndex ) => {\n\t\t\t\t\t\t\t\tconst cellClasses = classnames( {\n\t\t\t\t\t\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\tcellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t? cellClasses\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdata-align={ align }\n\t\t\t\t\t\t\t\t\t\ttagName={ tag }\n\t\t\t\t\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\t\t\t\t\tkey={ cellIndex }\n\t\t\t\t\t\t\t\t\t\tscope={\n\t\t\t\t\t\t\t\t\t\t\ttag === 'th' ? scope : undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t) ) }\n\t\t\t</Tag>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...useBlockProps.save() }>\n\t\t\t<table\n\t\t\t\tclassName={ classes === '' ? undefined : classes }\n\t\t\t\tstyle={ { ...colorProps.style, ...borderProps.style } }\n\t\t\t>\n\t\t\t\t<Section type=\"head\" rows={ head } />\n\t\t\t\t<Section type=\"body\" rows={ body } />\n\t\t\t\t<Section type=\"foot\" rows={ foot } />\n\t\t\t</table>\n\t\t\t{ hasCaption && (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n"]}
|
|
@@ -10,7 +10,7 @@ import classnames from 'classnames';
|
|
|
10
10
|
|
|
11
11
|
import { getBlobByURL, isBlobURL } from '@wordpress/blob';
|
|
12
12
|
import { BaseControl, Button, Disabled, PanelBody, Spinner, withNotices } from '@wordpress/components';
|
|
13
|
-
import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaUpload, MediaUploadCheck, MediaReplaceFlow, RichText, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
|
|
13
|
+
import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaUpload, MediaUploadCheck, MediaReplaceFlow, RichText, useBlockProps, store as blockEditorStore, __experimentalGetElementClassName } from '@wordpress/block-editor';
|
|
14
14
|
import { useRef, useEffect } from '@wordpress/element';
|
|
15
15
|
import { __, sprintf } from '@wordpress/i18n';
|
|
16
16
|
import { useInstanceId } from '@wordpress/compose';
|
|
@@ -226,6 +226,7 @@ function VideoEdit(_ref) {
|
|
|
226
226
|
tracks: tracks
|
|
227
227
|
}))), isTemporaryVideo && createElement(Spinner, null), (!RichText.isEmpty(caption) || isSelected) && createElement(RichText, {
|
|
228
228
|
tagName: "figcaption",
|
|
229
|
+
className: __experimentalGetElementClassName('caption'),
|
|
229
230
|
"aria-label": __('Video caption text'),
|
|
230
231
|
placeholder: __('Add caption'),
|
|
231
232
|
value: caption,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/video/edit.js"],"names":["classnames","getBlobByURL","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","withNotices","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","useRef","useEffect","__","sprintf","useInstanceId","useSelect","video","icon","createBlock","getDefaultBlockName","createUpgradedEmbedBlock","VideoCommonSettings","TracksEditor","Tracks","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","noticeUI","attributes","className","setAttributes","insertBlocksAfter","onReplace","noticeOperations","instanceId","videoPlayer","posterImageButton","id","caption","controls","poster","src","tracks","isTemporaryVideo","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectVideo","onError","message","createErrorNotice","allowedTypes","current","load","url","undefined","image","onSelectURL","newSrc","embedBlock","onUploadError","removeAllNotices","classes","blockProps","onSelectPoster","onRemovePoster","focus","videoPosterDescription","newTracks","open","isEmpty","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\twithNotices,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tnoticeUI,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n\tnoticeOperations,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, caption, controls, poster, src, tracks } = attributes;\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectVideo( media ),\n\t\t\t\t\tonError: ( message ) => {\n\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t},\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tnotices={ noticeUI }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<TracksEditor\n\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default withNotices( VideoEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/video/edit.js"],"names":["classnames","getBlobByURL","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","withNotices","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useRef","useEffect","__","sprintf","useInstanceId","useSelect","video","icon","createBlock","getDefaultBlockName","createUpgradedEmbedBlock","VideoCommonSettings","TracksEditor","Tracks","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","noticeUI","attributes","className","setAttributes","insertBlocksAfter","onReplace","noticeOperations","instanceId","videoPlayer","posterImageButton","id","caption","controls","poster","src","tracks","isTemporaryVideo","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectVideo","onError","message","createErrorNotice","allowedTypes","current","load","url","undefined","image","onSelectURL","newSrc","embedBlock","onUploadError","removeAllNotices","classes","blockProps","onSelectPoster","onRemovePoster","focus","videoPosterDescription","newTracks","open","isEmpty","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\twithNotices,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tnoticeUI,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n\tnoticeOperations,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, caption, controls, poster, src, tracks } = attributes;\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectVideo( media ),\n\t\t\t\t\tonError: ( message ) => {\n\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t},\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tnotices={ noticeUI }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<TracksEditor\n\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default withNotices( VideoEdit );\n"]}
|
|
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
|
-
import { RichText, useBlockProps } from '@wordpress/block-editor';
|
|
6
|
+
import { RichText, useBlockProps, __experimentalGetElementClassName } from '@wordpress/block-editor';
|
|
7
7
|
/**
|
|
8
8
|
* Internal dependencies
|
|
9
9
|
*/
|
|
@@ -37,6 +37,7 @@ export default function save(_ref) {
|
|
|
37
37
|
}, createElement(Tracks, {
|
|
38
38
|
tracks: tracks
|
|
39
39
|
})), !RichText.isEmpty(caption) && createElement(RichText.Content, {
|
|
40
|
+
className: __experimentalGetElementClassName('caption'),
|
|
40
41
|
tagName: "figcaption",
|
|
41
42
|
value: caption
|
|
42
43
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/video/save.js"],"names":["RichText","useBlockProps","Tracks","save","attributes","autoplay","caption","controls","loop","muted","poster","preload","src","playsInline","tracks","undefined","isEmpty"],"mappings":";;AAAA;AACA;AACA;AACA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/video/save.js"],"names":["RichText","useBlockProps","__experimentalGetElementClassName","Tracks","save","attributes","autoplay","caption","controls","loop","muted","poster","preload","src","playsInline","tracks","undefined","isEmpty"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,QADD,EAECC,aAFD,EAGCC,iCAHD,QAIO,yBAJP;AAMA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,eAAe,SAASC,IAAT,OAAgC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAC9C,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,OAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,IAJK;AAKLC,IAAAA,KALK;AAMLC,IAAAA,MANK;AAOLC,IAAAA,OAPK;AAQLC,IAAAA,GARK;AASLC,IAAAA,WATK;AAULC,IAAAA;AAVK,MAWFV,UAXJ;AAYA,SACC,wBAAaJ,aAAa,CAACG,IAAd,EAAb,EACGS,GAAG,IACJ;AACC,IAAA,QAAQ,EAAGP,QADZ;AAEC,IAAA,QAAQ,EAAGE,QAFZ;AAGC,IAAA,IAAI,EAAGC,IAHR;AAIC,IAAA,KAAK,EAAGC,KAJT;AAKC,IAAA,MAAM,EAAGC,MALV;AAMC,IAAA,OAAO,EAAGC,OAAO,KAAK,UAAZ,GAAyBA,OAAzB,GAAmCI,SAN9C;AAOC,IAAA,GAAG,EAAGH,GAPP;AAQC,IAAA,WAAW,EAAGC;AARf,KAUC,cAAC,MAAD;AAAQ,IAAA,MAAM,EAAGC;AAAjB,IAVD,CAFF,EAeG,CAAEf,QAAQ,CAACiB,OAAT,CAAkBV,OAAlB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AACC,IAAA,SAAS,EAAGL,iCAAiC,CAAE,SAAF,CAD9C;AAEC,IAAA,OAAO,EAAC,YAFT;AAGC,IAAA,KAAK,EAAGK;AAHT,IAhBF,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport Tracks from './tracks';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tautoplay,\n\t\tcaption,\n\t\tcontrols,\n\t\tloop,\n\t\tmuted,\n\t\tposter,\n\t\tpreload,\n\t\tsrc,\n\t\tplaysInline,\n\t\ttracks,\n\t} = attributes;\n\treturn (\n\t\t<figure { ...useBlockProps.save() }>\n\t\t\t{ src && (\n\t\t\t\t<video\n\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\tloop={ loop }\n\t\t\t\t\tmuted={ muted }\n\t\t\t\t\tposter={ poster }\n\t\t\t\t\tpreload={ preload !== 'metadata' ? preload : undefined }\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tplaysInline={ playsInline }\n\t\t\t\t>\n\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t</video>\n\t\t\t) }\n\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n"]}
|