@wordpress/block-library 9.14.0 → 9.15.1
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/LICENSE.md +1 -1
- package/build/archives/edit.js +83 -36
- package/build/archives/edit.js.map +1 -1
- package/build/button/deprecated.js +182 -1
- package/build/button/deprecated.js.map +1 -1
- package/build/button/edit.js +47 -25
- package/build/button/edit.js.map +1 -1
- package/build/button/index.js +8 -2
- package/build/button/index.js.map +1 -1
- package/build/button/save.js +8 -5
- package/build/button/save.js.map +1 -1
- package/build/column/edit.js +33 -13
- package/build/column/edit.js.map +1 -1
- package/build/columns/edit.js +50 -27
- package/build/columns/edit.js.map +1 -1
- package/build/comments/index.js +1 -0
- package/build/comments/index.js.map +1 -1
- package/build/cover/edit/index.js +9 -3
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit.native.js +1 -1
- package/build/cover/edit.native.js.map +1 -1
- package/build/details/edit.js +29 -7
- package/build/details/edit.js.map +1 -1
- package/build/image/transforms.js +1 -0
- package/build/image/transforms.js.map +1 -1
- package/build/latest-posts/deprecated.js +12 -0
- package/build/latest-posts/deprecated.js.map +1 -1
- package/build/latest-posts/index.js +12 -0
- package/build/latest-posts/index.js.map +1 -1
- package/build/loginout/edit.js +42 -13
- package/build/loginout/edit.js.map +1 -1
- package/build/media-text/edit.js +59 -31
- package/build/media-text/edit.js.map +1 -1
- package/build/more/edit.js +28 -7
- package/build/more/edit.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +5 -3
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation-link/edit.js +95 -55
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +105 -53
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +44 -25
- package/build/page-list/edit.js.map +1 -1
- package/build/paragraph/edit.js +14 -4
- package/build/paragraph/edit.js.map +1 -1
- package/build/post-author/edit.js +15 -3
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author/index.js +4 -2
- package/build/post-author/index.js.map +1 -1
- package/build/post-author-name/edit.js +11 -5
- package/build/post-author-name/edit.js.map +1 -1
- package/build/post-author-name/index.js +4 -2
- package/build/post-author-name/index.js.map +1 -1
- package/build/post-comments-form/index.js +6 -1
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/index.js +8 -1
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-date/edit.js +58 -18
- package/build/post-date/edit.js.map +1 -1
- package/build/post-date/index.js +2 -1
- package/build/post-date/index.js.map +1 -1
- package/build/post-excerpt/edit.js +42 -18
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +17 -19
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +45 -11
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +6 -3
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/index.js +11 -7
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/post-navigation-link/variations.js +2 -2
- package/build/post-navigation-link/variations.js.map +1 -1
- package/build/post-template/index.js +11 -1
- package/build/post-template/index.js.map +1 -1
- package/build/post-title/index.js +6 -3
- package/build/post-title/index.js.map +1 -1
- package/build/query-no-results/index.js +10 -9
- package/build/query-no-results/index.js.map +1 -1
- package/build/query-pagination/edit.js +47 -17
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-pagination/query-pagination-label-control.js +1 -1
- package/build/query-pagination/query-pagination-label-control.js.map +1 -1
- package/build/query-pagination-numbers/edit.js +33 -15
- package/build/query-pagination-numbers/edit.js.map +1 -1
- package/build/query-total/edit.js +8 -10
- package/build/query-total/edit.js.map +1 -1
- package/build/query-total/index.js +8 -1
- package/build/query-total/index.js.map +1 -1
- package/build/read-more/index.js +7 -1
- package/build/read-more/index.js.map +1 -1
- package/build/site-logo/index.js +4 -2
- package/build/site-logo/index.js.map +1 -1
- package/build/site-title/edit.js +41 -12
- package/build/site-title/edit.js.map +1 -1
- package/build/site-title/index.js +4 -2
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/edit.js +19 -3
- package/build/social-link/edit.js.map +1 -1
- package/build/social-links/edit.js +41 -12
- package/build/social-links/edit.js.map +1 -1
- package/build/spacer/controls.js +34 -12
- package/build/spacer/controls.js.map +1 -1
- package/build/table/edit.js +48 -15
- package/build/table/edit.js.map +1 -1
- package/build/table/index.js +4 -1
- package/build/table/index.js.map +1 -1
- package/build/table-of-contents/edit.js +1 -1
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/table-of-contents/index.js +24 -23
- package/build/table-of-contents/index.js.map +1 -1
- package/build/tag-cloud/edit.js +56 -11
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/video/edit-common-settings.js +90 -30
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +20 -49
- package/build/video/edit.js.map +1 -1
- package/build/video/poster-image.js +81 -0
- package/build/video/poster-image.js.map +1 -0
- package/build/video/tracks-editor.js +1 -1
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/archives/edit.js +84 -37
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/button/deprecated.js +183 -2
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/edit.js +50 -28
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/index.js +8 -2
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/save.js +9 -6
- package/build-module/button/save.js.map +1 -1
- package/build-module/column/edit.js +34 -14
- package/build-module/column/edit.js.map +1 -1
- package/build-module/columns/edit.js +52 -29
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/comments/index.js +1 -0
- package/build-module/comments/index.js.map +1 -1
- package/build-module/cover/edit/index.js +9 -3
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit.native.js +2 -2
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/details/edit.js +30 -8
- package/build-module/details/edit.js.map +1 -1
- package/build-module/image/transforms.js +1 -0
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/latest-posts/deprecated.js +12 -0
- package/build-module/latest-posts/deprecated.js.map +1 -1
- package/build-module/latest-posts/index.js +12 -0
- package/build-module/latest-posts/index.js.map +1 -1
- package/build-module/loginout/edit.js +42 -14
- package/build-module/loginout/edit.js.map +1 -1
- package/build-module/media-text/edit.js +59 -31
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/more/edit.js +28 -8
- package/build-module/more/edit.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +5 -3
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation-link/edit.js +96 -56
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +106 -54
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +45 -26
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/paragraph/edit.js +15 -6
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/post-author/edit.js +16 -4
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author/index.js +4 -2
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-author-name/edit.js +12 -6
- package/build-module/post-author-name/edit.js.map +1 -1
- package/build-module/post-author-name/index.js +4 -2
- package/build-module/post-author-name/index.js.map +1 -1
- package/build-module/post-comments-form/index.js +6 -1
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +8 -1
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-date/edit.js +59 -19
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-date/index.js +2 -1
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-excerpt/edit.js +44 -20
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +18 -20
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +47 -13
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +6 -3
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/index.js +12 -7
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/post-navigation-link/variations.js +2 -2
- package/build-module/post-navigation-link/variations.js.map +1 -1
- package/build-module/post-template/index.js +11 -1
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/post-title/index.js +6 -3
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/query-no-results/index.js +10 -9
- package/build-module/query-no-results/index.js.map +1 -1
- package/build-module/query-pagination/edit.js +49 -19
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-pagination/query-pagination-label-control.js +1 -1
- package/build-module/query-pagination/query-pagination-label-control.js.map +1 -1
- package/build-module/query-pagination-numbers/edit.js +34 -16
- package/build-module/query-pagination-numbers/edit.js.map +1 -1
- package/build-module/query-total/edit.js +8 -10
- package/build-module/query-total/edit.js.map +1 -1
- package/build-module/query-total/index.js +8 -1
- package/build-module/query-total/index.js.map +1 -1
- package/build-module/read-more/index.js +7 -1
- package/build-module/read-more/index.js.map +1 -1
- package/build-module/site-logo/index.js +4 -2
- package/build-module/site-logo/index.js.map +1 -1
- package/build-module/site-title/edit.js +42 -13
- package/build-module/site-title/edit.js.map +1 -1
- package/build-module/site-title/index.js +4 -2
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/edit.js +20 -4
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-links/edit.js +42 -13
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/spacer/controls.js +35 -13
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/table/edit.js +49 -16
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/index.js +4 -1
- package/build-module/table/index.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/table-of-contents/index.js +26 -25
- package/build-module/table-of-contents/index.js.map +1 -1
- package/build-module/tag-cloud/edit.js +57 -12
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/video/edit-common-settings.js +91 -31
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +24 -53
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/poster-image.js +74 -0
- package/build-module/video/poster-image.js.map +1 -0
- package/build-module/video/tracks-editor.js +1 -1
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/comment-template/style-rtl.css +0 -1
- package/build-style/comment-template/style.css +0 -1
- package/build-style/editor-rtl.css +4 -19
- package/build-style/editor.css +4 -19
- package/build-style/form-input/style-rtl.css +0 -2
- package/build-style/form-input/style.css +0 -2
- package/build-style/freeform/editor-rtl.css +4 -8
- package/build-style/freeform/editor.css +4 -8
- package/build-style/{post-template/editor.css → post-comments-link/style-rtl.css} +2 -4
- package/build-style/{post-template/editor-rtl.css → post-comments-link/style.css} +2 -4
- package/build-style/post-template/style-rtl.css +1 -0
- package/build-style/post-template/style.css +1 -0
- package/build-style/query-total/style-rtl.css +103 -0
- package/build-style/query-total/style.css +103 -0
- package/build-style/read-more/style-rtl.css +0 -1
- package/build-style/read-more/style.css +0 -1
- package/build-style/style-rtl.css +9 -4
- package/build-style/style.css +9 -4
- package/build-style/tag-cloud/editor-rtl.css +0 -5
- package/build-style/tag-cloud/editor.css +0 -5
- package/package.json +35 -35
- package/src/archives/edit.js +94 -36
- package/src/audio/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/block/index.php +20 -0
- package/src/button/block.json +17 -2
- package/src/button/deprecated.js +189 -0
- package/src/button/edit.js +60 -31
- package/src/button/save.js +6 -1
- package/src/column/edit.js +34 -13
- package/src/columns/edit.js +71 -40
- package/src/comments/index.js +1 -0
- package/src/cover/edit/index.js +12 -5
- package/src/cover/edit.native.js +5 -2
- package/src/cover/test/edit.js +5 -7
- package/src/details/edit.js +40 -11
- package/src/editor.scss +0 -1
- package/src/file/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/image/transforms.js +1 -0
- package/src/latest-posts/block.json +12 -0
- package/src/loginout/edit.js +56 -20
- package/src/media-text/edit.js +57 -28
- package/src/more/edit.js +39 -12
- package/src/navigation/edit/navigation-menu-selector.js +9 -2
- package/src/navigation/index.php +2 -2
- package/src/navigation-link/edit.js +101 -61
- package/src/navigation-link/index.php +16 -1
- package/src/navigation-submenu/edit.js +113 -57
- package/src/page-list/edit.js +52 -31
- package/src/paragraph/edit.js +18 -4
- package/src/post-author/block.json +4 -2
- package/src/post-author/edit.js +17 -3
- package/src/post-author/index.php +4 -0
- package/src/post-author-name/block.json +4 -2
- package/src/post-author-name/edit.js +17 -4
- package/src/post-author-name/index.php +4 -0
- package/src/post-comments-form/block.json +6 -1
- package/src/post-comments-link/block.json +8 -1
- package/src/post-comments-link/style.scss +4 -0
- package/src/post-content/index.php +23 -0
- package/src/post-date/block.json +2 -1
- package/src/post-date/edit.js +79 -25
- package/src/post-excerpt/edit.js +59 -22
- package/src/post-featured-image/block.json +6 -3
- package/src/post-featured-image/dimension-controls.js +18 -21
- package/src/post-featured-image/edit.js +67 -10
- package/src/post-navigation-link/block.json +0 -6
- package/src/post-navigation-link/index.js +11 -0
- package/src/post-navigation-link/variations.js +2 -2
- package/src/post-template/block.json +11 -1
- package/src/post-template/style.scss +2 -0
- package/src/post-title/block.json +6 -3
- package/src/query-no-results/block.json +0 -10
- package/src/query-no-results/index.js +11 -0
- package/src/query-pagination/edit.js +57 -15
- package/src/query-pagination/query-pagination-label-control.js +1 -3
- package/src/query-pagination-numbers/edit.js +41 -19
- package/src/query-pagination-previous/index.php +21 -14
- package/src/query-total/block.json +8 -1
- package/src/query-total/edit.js +11 -13
- package/src/query-total/index.php +9 -13
- package/src/query-total/style.scss +4 -0
- package/src/read-more/index.js +6 -0
- package/src/site-logo/block.json +4 -2
- package/src/site-title/block.json +4 -2
- package/src/site-title/edit.js +52 -15
- package/src/social-link/edit.js +21 -6
- package/src/social-links/edit.js +52 -15
- package/src/spacer/controls.js +42 -15
- package/src/style.scss +2 -0
- package/src/table/block.json +4 -1
- package/src/table/edit.js +58 -20
- package/src/table-of-contents/block.json +0 -52
- package/src/table-of-contents/edit.js +1 -1
- package/src/table-of-contents/index.js +53 -0
- package/src/tag-cloud/edit.js +60 -8
- package/src/tag-cloud/editor.scss +0 -8
- package/src/video/edit-common-settings.js +97 -39
- package/src/video/edit.js +29 -75
- package/src/video/poster-image.js +86 -0
- package/src/video/tracks-editor.js +1 -1
- package/tsconfig.json +0 -2
- package/src/post-template/editor.scss +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useEntityProp","store","coreStore","useMemo","useState","dateI18n","humanTimeDiff","getSettings","getDateSettings","AlignmentControl","BlockControls","InspectorControls","useBlockProps","__experimentalDateFormatPicker","DateFormatPicker","__experimentalPublishDateTimePicker","PublishDateTimePicker","Dropdown","ToolbarGroup","ToolbarButton","ToggleControl","PanelBody","__","_x","sprintf","edit","DOWN","useSelect","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PostDateEdit","attributes","textAlign","format","isLink","displayType","context","postId","postType","postTypeSlug","queryId","setAttributes","blockProps","className","popoverAnchor","setPopoverAnchor","popoverProps","anchor","isDescendentOfQueryLoop","Number","isFinite","dateSettings","siteFormat","formats","date","siteTimeFormat","time","setDate","select","getPostType","dateLabel","postDate","dateTime","ref","children","href","onClick","event","preventDefault","group","value","onChange","nextAlign","renderContent","onClose","currentDate","is12Hour","is12HourFormat","dateOrder","renderToggle","isOpen","onToggle","openOnArrowDown","keyCode","icon","title","onKeyDown","defaultFormat","nextFormat","__nextHasNoMarginBottom","label","labels","singular_name","toLowerCase","checked","help","test"],"sources":["@wordpress/block-library/src/post-date/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo, useState } from '@wordpress/element';\nimport {\n\tdateI18n,\n\thumanTimeDiff,\n\tgetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n\t__experimentalPublishDateTimePicker as PublishDateTimePicker,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tToggleControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { edit } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\n\nexport default function PostDateEdit( {\n\tattributes: { textAlign, format, isLink, displayType },\n\tcontext: { postId, postType: postTypeSlug, queryId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `wp-block-post-date__modified-date` ]: displayType === 'modified',\n\t\t} ),\n\t} );\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( { anchor: popoverAnchor } ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dateSettings = getDateSettings();\n\tconst [ siteFormat = dateSettings.formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\tconst [ siteTimeFormat = dateSettings.formats.time ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'time_format'\n\t);\n\tconst [ date, setDate ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\tdisplayType,\n\t\tpostId\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) =>\n\t\t\tpostTypeSlug\n\t\t\t\t? select( coreStore ).getPostType( postTypeSlug )\n\t\t\t\t: null,\n\t\t[ postTypeSlug ]\n\t);\n\n\tconst dateLabel =\n\t\tdisplayType === 'date' ? __( 'Post Date' ) : __( 'Post Modified Date' );\n\n\tlet postDate = date ? (\n\t\t<time dateTime={ dateI18n( 'c', date ) } ref={ setPopoverAnchor }>\n\t\t\t{ format === 'human-diff'\n\t\t\t\t? humanTimeDiff( date )\n\t\t\t\t: dateI18n( format || siteFormat, date ) }\n\t\t</time>\n\t) : (\n\t\tdateLabel\n\t);\n\n\tif ( isLink && date ) {\n\t\tpostDate = (\n\t\t\t<a\n\t\t\t\thref=\"#post-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ postDate }\n\t\t\t</a>\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\t{ date &&\n\t\t\t\t\tdisplayType === 'date' &&\n\t\t\t\t\t! isDescendentOfQueryLoop && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\t\t\t\t\tcurrentDate={ date }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDate }\n\t\t\t\t\t\t\t\t\t\tis12Hour={ is12HourFormat(\n\t\t\t\t\t\t\t\t\t\t\tsiteTimeFormat\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tdateOrder={\n\t\t\t\t\t\t\t\t\t\t\t/* translators: Order of day, month, and year. Available formats are 'dmy', 'mdy', and 'ymd'. */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'dmy', 'date order' )\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\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t! isOpen &&\n\t\t\t\t\t\t\t\t\t\t\tevent.keyCode === DOWN\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tonToggle();\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\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\t\t\t\ttitle={ __( 'Change Date' ) }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\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</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display last modified date' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayType: value ? 'modified' : 'date',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ displayType === 'modified' }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Only shows if the post has been modified'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<div { ...blockProps }>{ postDate }</div>\n\t\t</>\n\t);\n}\n\nexport function is12HourFormat( format ) {\n\t// To know if the time format is a 12 hour time, look for any of the 12 hour\n\t// format characters: 'a', 'A', 'g', and 'h'. The character must be\n\t// unescaped, i.e. not preceded by a '\\'. Coincidentally, 'aAgh' is how I\n\t// feel when working with regular expressions.\n\t// https://www.php.net/manual/en/datetime.format.php\n\treturn /(?:^|[^\\\\])[aAgh]/.test( format );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useEntityProp","store","coreStore","useMemo","useState","dateI18n","humanTimeDiff","getSettings","getDateSettings","AlignmentControl","BlockControls","InspectorControls","useBlockProps","__experimentalDateFormatPicker","DateFormatPicker","__experimentalPublishDateTimePicker","PublishDateTimePicker","Dropdown","ToolbarGroup","ToolbarButton","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","sprintf","edit","DOWN","useSelect","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PostDateEdit","attributes","textAlign","format","isLink","displayType","context","postId","postType","postTypeSlug","queryId","setAttributes","blockProps","className","dropdownMenuProps","popoverAnchor","setPopoverAnchor","popoverProps","anchor","isDescendentOfQueryLoop","Number","isFinite","dateSettings","siteFormat","formats","date","siteTimeFormat","time","setDate","select","getPostType","dateLabel","postDate","dateTime","ref","children","href","onClick","event","preventDefault","group","value","onChange","nextAlign","renderContent","onClose","currentDate","is12Hour","is12HourFormat","dateOrder","renderToggle","isOpen","onToggle","openOnArrowDown","keyCode","icon","title","onKeyDown","label","resetAll","undefined","hasValue","onDeselect","isShownByDefault","defaultFormat","nextFormat","labels","singular_name","toLowerCase","__nextHasNoMarginBottom","checked","help","test"],"sources":["@wordpress/block-library/src/post-date/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo, useState } from '@wordpress/element';\nimport {\n\tdateI18n,\n\thumanTimeDiff,\n\tgetSettings as getDateSettings,\n} from '@wordpress/date';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n\t__experimentalPublishDateTimePicker as PublishDateTimePicker,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { edit } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function PostDateEdit( {\n\tattributes: { textAlign, format, isLink, displayType },\n\tcontext: { postId, postType: postTypeSlug, queryId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `wp-block-post-date__modified-date` ]: displayType === 'modified',\n\t\t} ),\n\t} );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( { anchor: popoverAnchor } ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dateSettings = getDateSettings();\n\tconst [ siteFormat = dateSettings.formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\tconst [ siteTimeFormat = dateSettings.formats.time ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'time_format'\n\t);\n\tconst [ date, setDate ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\tdisplayType,\n\t\tpostId\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) =>\n\t\t\tpostTypeSlug\n\t\t\t\t? select( coreStore ).getPostType( postTypeSlug )\n\t\t\t\t: null,\n\t\t[ postTypeSlug ]\n\t);\n\n\tconst dateLabel =\n\t\tdisplayType === 'date' ? __( 'Post Date' ) : __( 'Post Modified Date' );\n\n\tlet postDate = date ? (\n\t\t<time dateTime={ dateI18n( 'c', date ) } ref={ setPopoverAnchor }>\n\t\t\t{ format === 'human-diff'\n\t\t\t\t? humanTimeDiff( date )\n\t\t\t\t: dateI18n( format || siteFormat, date ) }\n\t\t</time>\n\t) : (\n\t\tdateLabel\n\t);\n\n\tif ( isLink && date ) {\n\t\tpostDate = (\n\t\t\t<a\n\t\t\t\thref=\"#post-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ postDate }\n\t\t\t</a>\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\t{ date &&\n\t\t\t\t\tdisplayType === 'date' &&\n\t\t\t\t\t! isDescendentOfQueryLoop && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\t\t\t\t\tcurrentDate={ date }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDate }\n\t\t\t\t\t\t\t\t\t\tis12Hour={ is12HourFormat(\n\t\t\t\t\t\t\t\t\t\t\tsiteTimeFormat\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tdateOrder={\n\t\t\t\t\t\t\t\t\t\t\t/* translators: Order of day, month, and year. Available formats are 'dmy', 'mdy', and 'ymd'. */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'dmy', 'date order' )\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\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t! isOpen &&\n\t\t\t\t\t\t\t\t\t\t\tevent.keyCode === DOWN\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tonToggle();\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\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\t\t\t\ttitle={ __( 'Change Date' ) }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\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</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tformat: undefined,\n\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\tdisplayType: 'date',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\tformat !== undefined && format !== siteFormat\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Date Format' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { format: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => isLink !== false }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: false } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tpostType?.labels.singular_name\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: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayType !== 'date' }\n\t\t\t\t\t\tlabel={ __( 'Display last modified date' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayType: 'date' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Display last modified date' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tdisplayType: value ? 'modified' : 'date',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ displayType === 'modified' }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Only shows if the post has been modified'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\n\t\t\t<div { ...blockProps }>{ postDate }</div>\n\t\t</>\n\t);\n}\n\nexport function is12HourFormat( format ) {\n\t// To know if the time format is a 12 hour time, look for any of the 12 hour\n\t// format characters: 'a', 'A', 'g', and 'h'. The character must be\n\t// unescaped, i.e. not preceded by a '\\'. Coincidentally, 'aAgh' is how I\n\t// feel when working with regular expressions.\n\t// https://www.php.net/manual/en/datetime.format.php\n\treturn /(?:^|[^\\\\])[aAgh]/.test( format );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["postDate","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","textAlign","type","format","isLink","displayType","usesContext","example","viewportWidth","supports","html","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","__experimentalBorder","radius","width","style","edit","deprecated","variations","settings","init"],"sources":["@wordpress/block-library/src/post-date/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postDate as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport deprecated from './deprecated';\nimport variations from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAAI,QAAQ,kBAAkB;;AAEnD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;IAAAC,MAAA;MAAAD,IAAA;IAAA;IAAAE,MAAA;MAAAF,IAAA;MAAA;IAAA;
|
|
1
|
+
{"version":3,"names":["postDate","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","textAlign","type","format","isLink","role","displayType","usesContext","example","viewportWidth","supports","html","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","__experimentalBorder","radius","width","style","edit","deprecated","variations","settings","init"],"sources":["@wordpress/block-library/src/post-date/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postDate as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport deprecated from './deprecated';\nimport variations from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAAI,QAAQ,kBAAkB;;AAEnD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;IAAAC,MAAA;MAAAD,IAAA;IAAA;IAAAE,MAAA;MAAAF,IAAA;MAAA;MAAAG,IAAA;IAAA;IAAAC,WAAA;MAAAJ,IAAA;MAAA;IAAA;EAAA;EAAAK,WAAA;EAAAC,OAAA;IAAAC,aAAA;EAAA;EAAAC,QAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAArB,KAAA;MAAAsB,KAAA;MAAAC,KAAA;MAAApB,6BAAA;QAAAkB,MAAA;QAAArB,KAAA;QAAAsB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE3C;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM4C,QAAQ,GAAG;EACvBjD,IAAI;EACJ8C,IAAI;EACJC,UAAU;EACVC;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAMjD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE+C;AAAS,CAAE,CAAC","ignoreList":[]}
|
|
@@ -9,14 +9,14 @@ import clsx from 'clsx';
|
|
|
9
9
|
import { useEntityProp, store as coreStore } from '@wordpress/core-data';
|
|
10
10
|
import { useMemo } from '@wordpress/element';
|
|
11
11
|
import { AlignmentToolbar, BlockControls, InspectorControls, RichText, Warning, useBlockProps } from '@wordpress/block-editor';
|
|
12
|
-
import {
|
|
12
|
+
import { ToggleControl, RangeControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
13
13
|
import { __, _x } from '@wordpress/i18n';
|
|
14
14
|
import { useSelect } from '@wordpress/data';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Internal dependencies
|
|
18
18
|
*/
|
|
19
|
-
import { useCanEditEntity } from '../utils/hooks';
|
|
19
|
+
import { useCanEditEntity, useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
20
20
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
21
|
const ELLIPSIS = '…';
|
|
22
22
|
export default function PostExcerptEditor({
|
|
@@ -40,6 +40,7 @@ export default function PostExcerptEditor({
|
|
|
40
40
|
rendered: renderedExcerpt,
|
|
41
41
|
protected: isProtected
|
|
42
42
|
} = {}] = useEntityProp('postType', postType, 'excerpt', postId);
|
|
43
|
+
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
43
44
|
|
|
44
45
|
/**
|
|
45
46
|
* Check if the post type supports excerpts.
|
|
@@ -173,27 +174,50 @@ export default function PostExcerptEditor({
|
|
|
173
174
|
})
|
|
174
175
|
})
|
|
175
176
|
}), /*#__PURE__*/_jsx(InspectorControls, {
|
|
176
|
-
children: /*#__PURE__*/_jsxs(
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
177
|
+
children: /*#__PURE__*/_jsxs(ToolsPanel, {
|
|
178
|
+
label: __('Settings'),
|
|
179
|
+
resetAll: () => {
|
|
180
|
+
setAttributes({
|
|
181
|
+
showMoreOnNewLine: true,
|
|
182
|
+
excerptLength: 55
|
|
183
|
+
});
|
|
184
|
+
},
|
|
185
|
+
dropdownMenuProps: dropdownMenuProps,
|
|
186
|
+
children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
187
|
+
hasValue: () => showMoreOnNewLine !== true,
|
|
180
188
|
label: __('Show link on new line'),
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
189
|
+
onDeselect: () => setAttributes({
|
|
190
|
+
showMoreOnNewLine: true
|
|
191
|
+
}),
|
|
192
|
+
isShownByDefault: true,
|
|
193
|
+
children: /*#__PURE__*/_jsx(ToggleControl, {
|
|
194
|
+
__nextHasNoMarginBottom: true,
|
|
195
|
+
label: __('Show link on new line'),
|
|
196
|
+
checked: showMoreOnNewLine,
|
|
197
|
+
onChange: newShowMoreOnNewLine => setAttributes({
|
|
198
|
+
showMoreOnNewLine: newShowMoreOnNewLine
|
|
199
|
+
})
|
|
184
200
|
})
|
|
185
|
-
}), /*#__PURE__*/_jsx(
|
|
186
|
-
|
|
187
|
-
__nextHasNoMarginBottom: true,
|
|
201
|
+
}), /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
202
|
+
hasValue: () => excerptLength !== 55,
|
|
188
203
|
label: __('Max number of words'),
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
204
|
+
onDeselect: () => setAttributes({
|
|
205
|
+
excerptLength: 55
|
|
206
|
+
}),
|
|
207
|
+
isShownByDefault: true,
|
|
208
|
+
children: /*#__PURE__*/_jsx(RangeControl, {
|
|
209
|
+
__next40pxDefaultSize: true,
|
|
210
|
+
__nextHasNoMarginBottom: true,
|
|
211
|
+
label: __('Max number of words'),
|
|
212
|
+
value: excerptLength,
|
|
213
|
+
onChange: value => {
|
|
214
|
+
setAttributes({
|
|
215
|
+
excerptLength: value
|
|
216
|
+
});
|
|
217
|
+
},
|
|
218
|
+
min: "10",
|
|
219
|
+
max: "100"
|
|
220
|
+
})
|
|
197
221
|
})]
|
|
198
222
|
})
|
|
199
223
|
}), /*#__PURE__*/_jsxs("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useEntityProp","store","coreStore","useMemo","AlignmentToolbar","BlockControls","InspectorControls","RichText","Warning","useBlockProps","PanelBody","ToggleControl","RangeControl","__","_x","useSelect","useCanEditEntity","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ELLIPSIS","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","postTypeSupportsExcerpts","select","getPostType","supports","excerpt","isEditable","blockProps","className","wordCountType","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","children","value","onChange","newAlign","readMoreLink","identifier","tagName","placeholder","newMoreText","withoutInteractiveFormatting","excerptClassName","rawOrRenderedExcerpt","trim","trimmedExcerpt","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","isTrimmed","excerptContent","title","__nextHasNoMarginBottom","label","checked","newShowMoreOnNewLine","__next40pxDefaultSize","min","max"],"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl, RangeControl } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nconst ELLIPSIS = '…';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine, excerptLength },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\n\t/**\n\t * Check if the post type supports excerpts.\n\t * Add an exception and return early for the \"page\" post type,\n\t * which is registered without support for the excerpt UI,\n\t * but supports saving the excerpt to the database.\n\t * See: https://core.trac.wordpress.org/browser/branches/6.1/src/wp-includes/post.php#L65\n\t * Without this exception, users that have excerpts saved to the database will\n\t * not be able to edit the excerpts.\n\t */\n\tconst postTypeSupportsExcerpts = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === 'page' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn !! select( coreStore ).getPostType( postType )?.supports\n\t\t\t\t?.excerpt;\n\t\t},\n\t\t[ postType ]\n\t);\n\n\t/**\n\t * The excerpt is editable if:\n\t * - The user can edit the post\n\t * - It is not a descendent of a Query Loop block\n\t * - The post type supports excerpts\n\t */\n\tconst isEditable =\n\t\tuserCanEdit && ! isDescendentOfQueryLoop && postTypeSupportsExcerpts;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\t/**\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) {\n\t\t\treturn '';\n\t\t}\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ __( 'This block will display the excerpt.' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'The content is currently protected and does not have the available excerpt.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tidentifier=\"moreText\"\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '“Read more” link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting\n\t\t/>\n\t);\n\tconst excerptClassName = clsx( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\n\t/**\n\t * The excerpt length setting needs to be applied to both\n\t * the raw and the rendered excerpt depending on which is being used.\n\t */\n\tconst rawOrRenderedExcerpt = (\n\t\trawExcerpt || strippedRenderedExcerpt\n\t).trim();\n\n\tlet trimmedExcerpt = '';\n\tif ( wordCountType === 'words' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( ' ', excerptLength )\n\t\t\t.join( ' ' );\n\t} else if ( wordCountType === 'characters_excluding_spaces' ) {\n\t\t/*\n\t\t * 1. Split the excerpt at the character limit,\n\t\t * then join the substrings back into one string.\n\t\t * 2. Count the number of spaces in the excerpt\n\t\t * by comparing the lengths of the string with and without spaces.\n\t\t * 3. Add the number to the length of the visible excerpt,\n\t\t * so that the spaces are excluded from the word count.\n\t\t */\n\t\tconst excerptWithSpaces = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\n\t\tconst numberOfSpaces =\n\t\t\texcerptWithSpaces.length -\n\t\t\texcerptWithSpaces.replaceAll( ' ', '' ).length;\n\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength + numberOfSpaces )\n\t\t\t.join( '' );\n\t} else if ( wordCountType === 'characters_including_spaces' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\t}\n\n\tconst isTrimmed = trimmedExcerpt !== rawOrRenderedExcerpt;\n\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\tisSelected\n\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t: ( ! isTrimmed\n\t\t\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t\t\t: trimmedExcerpt + ELLIPSIS ) ||\n\t\t\t\t\t __( 'No excerpt found' )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ ! isTrimmed\n\t\t\t\t? rawOrRenderedExcerpt || __( 'No excerpt found' )\n\t\t\t\t: trimmedExcerpt + ELLIPSIS }\n\t\t</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\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<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmin=\"10\"\n\t\t\t\t\t\tmax=\"100\"\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useEntityProp","store","coreStore","useMemo","AlignmentToolbar","BlockControls","InspectorControls","RichText","Warning","useBlockProps","ToggleControl","RangeControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","_x","useSelect","useCanEditEntity","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ELLIPSIS","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","dropdownMenuProps","postTypeSupportsExcerpts","select","getPostType","supports","excerpt","isEditable","blockProps","className","wordCountType","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","children","value","onChange","newAlign","readMoreLink","identifier","tagName","placeholder","newMoreText","withoutInteractiveFormatting","excerptClassName","rawOrRenderedExcerpt","trim","trimmedExcerpt","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","isTrimmed","excerptContent","label","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","newShowMoreOnNewLine","__next40pxDefaultSize","min","max"],"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tRangeControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseCanEditEntity,\n\tuseToolsPanelDropdownMenuProps,\n} from '../utils/hooks';\n\nconst ELLIPSIS = '…';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine, excerptLength },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\t/**\n\t * Check if the post type supports excerpts.\n\t * Add an exception and return early for the \"page\" post type,\n\t * which is registered without support for the excerpt UI,\n\t * but supports saving the excerpt to the database.\n\t * See: https://core.trac.wordpress.org/browser/branches/6.1/src/wp-includes/post.php#L65\n\t * Without this exception, users that have excerpts saved to the database will\n\t * not be able to edit the excerpts.\n\t */\n\tconst postTypeSupportsExcerpts = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === 'page' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn !! select( coreStore ).getPostType( postType )?.supports\n\t\t\t\t?.excerpt;\n\t\t},\n\t\t[ postType ]\n\t);\n\n\t/**\n\t * The excerpt is editable if:\n\t * - The user can edit the post\n\t * - It is not a descendent of a Query Loop block\n\t * - The post type supports excerpts\n\t */\n\tconst isEditable =\n\t\tuserCanEdit && ! isDescendentOfQueryLoop && postTypeSupportsExcerpts;\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\t/**\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) {\n\t\t\treturn '';\n\t\t}\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ __( 'This block will display the excerpt.' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'The content is currently protected and does not have the available excerpt.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tidentifier=\"moreText\"\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '“Read more” link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting\n\t\t/>\n\t);\n\tconst excerptClassName = clsx( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\n\t/**\n\t * The excerpt length setting needs to be applied to both\n\t * the raw and the rendered excerpt depending on which is being used.\n\t */\n\tconst rawOrRenderedExcerpt = (\n\t\trawExcerpt || strippedRenderedExcerpt\n\t).trim();\n\n\tlet trimmedExcerpt = '';\n\tif ( wordCountType === 'words' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( ' ', excerptLength )\n\t\t\t.join( ' ' );\n\t} else if ( wordCountType === 'characters_excluding_spaces' ) {\n\t\t/*\n\t\t * 1. Split the excerpt at the character limit,\n\t\t * then join the substrings back into one string.\n\t\t * 2. Count the number of spaces in the excerpt\n\t\t * by comparing the lengths of the string with and without spaces.\n\t\t * 3. Add the number to the length of the visible excerpt,\n\t\t * so that the spaces are excluded from the word count.\n\t\t */\n\t\tconst excerptWithSpaces = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\n\t\tconst numberOfSpaces =\n\t\t\texcerptWithSpaces.length -\n\t\t\texcerptWithSpaces.replaceAll( ' ', '' ).length;\n\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength + numberOfSpaces )\n\t\t\t.join( '' );\n\t} else if ( wordCountType === 'characters_including_spaces' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\t}\n\n\tconst isTrimmed = trimmedExcerpt !== rawOrRenderedExcerpt;\n\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\tisSelected\n\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t: ( ! isTrimmed\n\t\t\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t\t\t: trimmedExcerpt + ELLIPSIS ) ||\n\t\t\t\t\t __( 'No excerpt found' )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ ! isTrimmed\n\t\t\t\t? rawOrRenderedExcerpt || __( 'No excerpt found' )\n\t\t\t\t: trimmedExcerpt + ELLIPSIS }\n\t\t</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tshowMoreOnNewLine: true,\n\t\t\t\t\t\t\texcerptLength: 55,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => showMoreOnNewLine !== true }\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showMoreOnNewLine: true } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => excerptLength !== 55 }\n\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { excerptLength: 55 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tmin=\"10\"\n\t\t\t\t\t\t\tmax=\"100\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,9 +4,17 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { __, _x } from '@wordpress/i18n';
|
|
6
6
|
import { SelectControl, __experimentalUnitControl as UnitControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalUseCustomUnits as useCustomUnits, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
7
|
-
import { useSettings, store as blockEditorStore } from '@wordpress/block-editor';
|
|
7
|
+
import { useSettings, privateApis as blockEditorPrivateApis, store as blockEditorStore } from '@wordpress/block-editor';
|
|
8
8
|
import { useSelect } from '@wordpress/data';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Internal dependencies
|
|
12
|
+
*/
|
|
13
|
+
import { unlock } from '../lock-unlock';
|
|
9
14
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
const {
|
|
16
|
+
ResolutionTool
|
|
17
|
+
} = unlock(blockEditorPrivateApis);
|
|
10
18
|
const SCALE_OPTIONS = /*#__PURE__*/_jsxs(_Fragment, {
|
|
11
19
|
children: [/*#__PURE__*/_jsx(ToggleGroupControlOption, {
|
|
12
20
|
value: "cover",
|
|
@@ -175,27 +183,17 @@ const DimensionControls = ({
|
|
|
175
183
|
isBlock: true,
|
|
176
184
|
children: SCALE_OPTIONS
|
|
177
185
|
})
|
|
178
|
-
}), !!imageSizeOptions.length && /*#__PURE__*/_jsx(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
sizeSlug: undefined
|
|
186
|
+
}), !!imageSizeOptions.length && /*#__PURE__*/_jsx(ResolutionTool, {
|
|
187
|
+
panelId: clientId,
|
|
188
|
+
value: sizeSlug,
|
|
189
|
+
defaultValue: DEFAULT_SIZE,
|
|
190
|
+
options: imageSizeOptions,
|
|
191
|
+
onChange: nextSizeSlug => setAttributes({
|
|
192
|
+
sizeSlug: nextSizeSlug
|
|
186
193
|
}),
|
|
187
194
|
isShownByDefault: false,
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
__next40pxDefaultSize: true,
|
|
191
|
-
__nextHasNoMarginBottom: true,
|
|
192
|
-
label: __('Resolution'),
|
|
193
|
-
value: sizeSlug || DEFAULT_SIZE,
|
|
194
|
-
options: imageSizeOptions,
|
|
195
|
-
onChange: nextSizeSlug => setAttributes({
|
|
196
|
-
sizeSlug: nextSizeSlug
|
|
197
|
-
}),
|
|
198
|
-
help: __('Select the size of the source image.')
|
|
195
|
+
resetAllFilter: () => ({
|
|
196
|
+
sizeSlug: DEFAULT_SIZE
|
|
199
197
|
})
|
|
200
198
|
})]
|
|
201
199
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","_x","SelectControl","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","useSettings","store","blockEditorStore","useSelect","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SCALE_OPTIONS","children","value","label","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","media","availableUnits","defaultRatios","themeRatios","showDefaultRatios","units","imageSizes","select","getSettings","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","themeOptions","ratio","defaultOptions","aspectRatioOptions","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","__next40pxDefaultSize","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","labelPosition","min","nextHeight","nextWidth","help","isBlock","length","nextSizeSlug"],"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tuseSettings,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\tmedia,\n} ) => {\n\tconst [ availableUnits, defaultRatios, themeRatios, showDefaultRatios ] =\n\t\tuseSettings(\n\t\t\t'spacing.units',\n\t\t\t'dimensions.aspectRatios.default',\n\t\t\t'dimensions.aspectRatios.theme',\n\t\t\t'dimensions.defaultAspectRatios'\n\t\t);\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', '%', 'vw', 'em', 'rem' ],\n\t} );\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) {\n\t\t\treturn;\n\t\t}\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\n\tconst showScaleControl =\n\t\theight || ( aspectRatio && aspectRatio !== 'auto' );\n\n\tconst themeOptions = themeRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\n\tconst defaultOptions = defaultRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\n\tconst aspectRatioOptions = [\n\t\t{\n\t\t\tlabel: _x(\n\t\t\t\t'Original',\n\t\t\t\t'Aspect ratio option for dimensions control'\n\t\t\t),\n\t\t\tvalue: 'auto',\n\t\t},\n\t\t...( showDefaultRatios ? defaultOptions : [] ),\n\t\t...( themeOptions ? themeOptions : [] ),\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default DimensionControls;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","_x","SelectControl","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","useSettings","privateApis","blockEditorPrivateApis","store","blockEditorStore","useSelect","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ResolutionTool","SCALE_OPTIONS","children","value","label","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","media","availableUnits","defaultRatios","themeRatios","showDefaultRatios","units","imageSizes","select","getSettings","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","themeOptions","ratio","defaultOptions","aspectRatioOptions","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","__next40pxDefaultSize","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","labelPosition","min","nextHeight","nextWidth","help","isBlock","length","defaultValue","nextSizeSlug"],"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tuseSettings,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\tmedia,\n} ) => {\n\tconst [ availableUnits, defaultRatios, themeRatios, showDefaultRatios ] =\n\t\tuseSettings(\n\t\t\t'spacing.units',\n\t\t\t'dimensions.aspectRatios.default',\n\t\t\t'dimensions.aspectRatios.theme',\n\t\t\t'dimensions.defaultAspectRatios'\n\t\t);\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', '%', 'vw', 'em', 'rem' ],\n\t} );\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) {\n\t\t\treturn;\n\t\t}\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\n\tconst showScaleControl =\n\t\theight || ( aspectRatio && aspectRatio !== 'auto' );\n\n\tconst themeOptions = themeRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\n\tconst defaultOptions = defaultRatios?.map( ( { name, ratio } ) => ( {\n\t\tlabel: name,\n\t\tvalue: ratio,\n\t} ) );\n\n\tconst aspectRatioOptions = [\n\t\t{\n\t\t\tlabel: _x(\n\t\t\t\t'Original',\n\t\t\t\t'Aspect ratio option for dimensions control'\n\t\t\t),\n\t\t\tvalue: 'auto',\n\t\t},\n\t\t...( showDefaultRatios ? defaultOptions : [] ),\n\t\t...( themeOptions ? themeOptions : [] ),\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ResolutionTool\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\tdefaultValue={ DEFAULT_SIZE }\n\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: DEFAULT_SIZE,\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default DimensionControls;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SACCC,aAAa,EACbC,yBAAyB,IAAIC,WAAW,EACxCC,gCAAgC,IAAIC,kBAAkB,EACtDC,sCAAsC,IAAIC,wBAAwB,EAClEC,4BAA4B,IAAIC,cAAc,EAC9CC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SACCC,WAAW,EACXC,WAAW,IAAIC,sBAAsB,EACrCC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAExC,MAAM;EAAEC;AAAe,CAAC,GAAGP,MAAM,CAAEJ,sBAAuB,CAAC;AAE3D,MAAMY,aAAa,gBAClBF,KAAA,CAAAF,SAAA;EAAAK,QAAA,gBACCP,IAAA,CAACb,wBAAwB;IACxBqB,KAAK,EAAC,OAAO;IACbC,KAAK,EAAG7B,EAAE,CAAE,OAAO,EAAE,0CAA2C;EAAG,CACnE,CAAC,eACFoB,IAAA,CAACb,wBAAwB;IACxBqB,KAAK,EAAC,SAAS;IACfC,KAAK,EAAG7B,EAAE,CACT,SAAS,EACT,0CACD;EAAG,CACH,CAAC,eACFoB,IAAA,CAACb,wBAAwB;IACxBqB,KAAK,EAAC,MAAM;IACZC,KAAK,EAAG7B,EAAE,CAAE,MAAM,EAAE,0CAA2C;EAAG,CAClE,CAAC;AAAA,CACD,CACF;AAED,MAAM8B,aAAa,GAAG,OAAO;AAC7B,MAAMC,YAAY,GAAG,MAAM;AAE3B,MAAMC,SAAS,GAAG;EACjBC,KAAK,EAAElC,EAAE,CACR,+EACD,CAAC;EACDmC,OAAO,EAAEnC,EAAE,CACV,oEACD,CAAC;EACDoC,IAAI,EAAEpC,EAAE,CACP,qEACD;AACD,CAAC;AAED,MAAMqC,iBAAiB,GAAGA,CAAE;EAC3BC,QAAQ;EACRC,UAAU,EAAE;IAAEC,WAAW;IAAEC,KAAK;IAAEC,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC;EAC3DC,aAAa;EACbC;AACD,CAAC,KAAM;EACN,MAAM,CAAEC,cAAc,EAAEC,aAAa,EAAEC,WAAW,EAAEC,iBAAiB,CAAE,GACtErC,WAAW,CACV,eAAe,EACf,iCAAiC,EACjC,+BAA+B,EAC/B,gCACD,CAAC;EACF,MAAMsC,KAAK,GAAGzC,cAAc,CAAE;IAC7BqC,cAAc,EAAEA,cAAc,IAAI,CAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;EACjE,CAAE,CAAC;EACH,MAAMK,UAAU,GAAGlC,SAAS,CACzBmC,MAAM,IAAMA,MAAM,CAAEpC,gBAAiB,CAAC,CAACqC,WAAW,CAAC,CAAC,CAACF,UAAU,EACjE,EACD,CAAC;EACD,MAAMG,gBAAgB,GAAGH,UAAU,CACjCI,MAAM,CAAE,CAAE;IAAEC;EAAK,CAAC,KAAM;IACxB,OAAOX,KAAK,EAAEY,aAAa,EAAEC,KAAK,GAAIF,IAAI,CAAE,EAAEG,UAAU;EACzD,CAAE,CAAC,CACFC,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAEL;EAAK,CAAC,MAAQ;IAC7B5B,KAAK,EAAE4B,IAAI;IACX3B,KAAK,EAAEgC;EACR,CAAC,CAAG,CAAC;EAEN,MAAMC,iBAAiB,GAAGA,CAAEC,SAAS,EAAEC,SAAS,KAAM;IACrD,MAAMC,WAAW,GAAGC,UAAU,CAAEF,SAAU,CAAC;IAC3C;AACF;AACA;AACA;AACA;IACE,IAAKG,KAAK,CAAEF,WAAY,CAAC,IAAID,SAAS,EAAG;MACxC;IACD;IACApB,aAAa,CAAE;MACd,CAAEmB,SAAS,GAAIE,WAAW,GAAG,CAAC,GAAG,GAAG,GAAGD;IACxC,CAAE,CAAC;EACJ,CAAC;EACD,MAAMI,UAAU,GAAGpE,EAAE,CAAE,OAAO,EAAE,uBAAwB,CAAC;EAEzD,MAAMqE,gBAAgB,GACrB5B,MAAM,IAAMF,WAAW,IAAIA,WAAW,KAAK,MAAQ;EAEpD,MAAM+B,YAAY,GAAGtB,WAAW,EAAEY,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAEU;EAAM,CAAC,MAAQ;IAC/D1C,KAAK,EAAEgC,IAAI;IACXjC,KAAK,EAAE2C;EACR,CAAC,CAAG,CAAC;EAEL,MAAMC,cAAc,GAAGzB,aAAa,EAAEa,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAEU;EAAM,CAAC,MAAQ;IACnE1C,KAAK,EAAEgC,IAAI;IACXjC,KAAK,EAAE2C;EACR,CAAC,CAAG,CAAC;EAEL,MAAME,kBAAkB,GAAG,CAC1B;IACC5C,KAAK,EAAE7B,EAAE,CACR,UAAU,EACV,4CACD,CAAC;IACD4B,KAAK,EAAE;EACR,CAAC,EACD,IAAKqB,iBAAiB,GAAGuB,cAAc,GAAG,EAAE,CAAE,EAC9C,IAAKF,YAAY,GAAGA,YAAY,GAAG,EAAE,CAAE,CACvC;EAED,oBACC9C,KAAA,CAAAF,SAAA;IAAAK,QAAA,gBACCP,IAAA,CAACT,cAAc;MACd+D,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEnC,WAAa;MACjCV,KAAK,EAAG9B,EAAE,CAAE,cAAe,CAAG;MAC9B4E,UAAU,EAAGA,CAAA,KAAM/B,aAAa,CAAE;QAAEL,WAAW,EAAEqC;MAAU,CAAE,CAAG;MAChEC,cAAc,EAAGA,CAAA,MAAQ;QACxBtC,WAAW,EAAEqC;MACd,CAAC,CAAI;MACLE,gBAAgB;MAChBC,OAAO,EAAG1C,QAAU;MAAAV,QAAA,eAEpBP,IAAA,CAACnB,aAAa;QACb+E,qBAAqB;QACrBC,uBAAuB;QACvBpD,KAAK,EAAG9B,EAAE,CAAE,cAAe,CAAG;QAC9B6B,KAAK,EAAGW,WAAa;QACrB2C,OAAO,EAAGT,kBAAoB;QAC9BU,QAAQ,EAAKC,eAAe,IAC3BxC,aAAa,CAAE;UAAEL,WAAW,EAAE6C;QAAgB,CAAE;MAChD,CACD;IAAC,CACa,CAAC,eACjBhE,IAAA,CAACT,cAAc;MACd0E,SAAS,EAAC,eAAe;MACzBX,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEjC,MAAQ;MAC5BZ,KAAK,EAAG9B,EAAE,CAAE,QAAS,CAAG;MACxB4E,UAAU,EAAGA,CAAA,KAAM/B,aAAa,CAAE;QAAEH,MAAM,EAAEmC;MAAU,CAAE,CAAG;MAC3DC,cAAc,EAAGA,CAAA,MAAQ;QACxBpC,MAAM,EAAEmC;MACT,CAAC,CAAI;MACLE,gBAAgB;MAChBC,OAAO,EAAG1C,QAAU;MAAAV,QAAA,eAEpBP,IAAA,CAACjB,WAAW;QACX6E,qBAAqB;QACrBnD,KAAK,EAAG9B,EAAE,CAAE,QAAS,CAAG;QACxBuF,aAAa,EAAC,KAAK;QACnB1D,KAAK,EAAGa,MAAM,IAAI,EAAI;QACtB8C,GAAG,EAAG,CAAG;QACTJ,QAAQ,EAAKK,UAAU,IACtB1B,iBAAiB,CAAE,QAAQ,EAAE0B,UAAW,CACxC;QACDtC,KAAK,EAAGA;MAAO,CACf;IAAC,CACa,CAAC,eACjB9B,IAAA,CAACT,cAAc;MACd0E,SAAS,EAAC,eAAe;MACzBX,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAElC,KAAO;MAC3BX,KAAK,EAAG9B,EAAE,CAAE,OAAQ,CAAG;MACvB4E,UAAU,EAAGA,CAAA,KAAM/B,aAAa,CAAE;QAAEJ,KAAK,EAAEoC;MAAU,CAAE,CAAG;MAC1DC,cAAc,EAAGA,CAAA,MAAQ;QACxBrC,KAAK,EAAEoC;MACR,CAAC,CAAI;MACLE,gBAAgB;MAChBC,OAAO,EAAG1C,QAAU;MAAAV,QAAA,eAEpBP,IAAA,CAACjB,WAAW;QACX6E,qBAAqB;QACrBnD,KAAK,EAAG9B,EAAE,CAAE,OAAQ,CAAG;QACvBuF,aAAa,EAAC,KAAK;QACnB1D,KAAK,EAAGY,KAAK,IAAI,EAAI;QACrB+C,GAAG,EAAG,CAAG;QACTJ,QAAQ,EAAKM,SAAS,IACrB3B,iBAAiB,CAAE,OAAO,EAAE2B,SAAU,CACtC;QACDvC,KAAK,EAAGA;MAAO,CACf;IAAC,CACa,CAAC,EACfmB,gBAAgB,iBACjBjD,IAAA,CAACT,cAAc;MACd+D,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAEhC,KAAK,IAAIA,KAAK,KAAKZ,aAAe;MACtDD,KAAK,EAAGuC,UAAY;MACpBO,UAAU,EAAGA,CAAA,KACZ/B,aAAa,CAAE;QACdF,KAAK,EAAEZ;MACR,CAAE,CACF;MACD+C,cAAc,EAAGA,CAAA,MAAQ;QACxBnC,KAAK,EAAEZ;MACR,CAAC,CAAI;MACLgD,gBAAgB;MAChBC,OAAO,EAAG1C,QAAU;MAAAV,QAAA,eAEpBP,IAAA,CAACf,kBAAkB;QAClB2E,qBAAqB;QACrBC,uBAAuB;QACvBpD,KAAK,EAAGuC,UAAY;QACpBxC,KAAK,EAAGc,KAAO;QACfgD,IAAI,EAAG1D,SAAS,CAAEU,KAAK,CAAI;QAC3ByC,QAAQ,EAAKvD,KAAK,IACjBgB,aAAa,CAAE;UACdF,KAAK,EAAEd;QACR,CAAE,CACF;QACD+D,OAAO;QAAAhE,QAAA,EAELD;MAAa,CACI;IAAC,CACN,CAChB,EACC,CAAC,CAAE4B,gBAAgB,CAACsC,MAAM,iBAC3BxE,IAAA,CAACK,cAAc;MACdsD,OAAO,EAAG1C,QAAU;MACpBT,KAAK,EAAGe,QAAU;MAClBkD,YAAY,EAAG9D,YAAc;MAC7BmD,OAAO,EAAG5B,gBAAkB;MAC5B6B,QAAQ,EAAKW,YAAY,IACxBlD,aAAa,CAAE;QAAED,QAAQ,EAAEmD;MAAa,CAAE,CAC1C;MACDhB,gBAAgB,EAAG,KAAO;MAC1BD,cAAc,EAAGA,CAAA,MAAQ;QACxBlC,QAAQ,EAAEZ;MACX,CAAC;IAAI,CACL,CACD;EAAA,CACA,CAAC;AAEL,CAAC;AAED,eAAeK,iBAAiB","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@ import clsx from 'clsx';
|
|
|
9
9
|
import { isBlobURL } from '@wordpress/blob';
|
|
10
10
|
import { useEntityProp, store as coreStore } from '@wordpress/core-data';
|
|
11
11
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
12
|
-
import { ToggleControl,
|
|
12
|
+
import { ToggleControl, Placeholder, Button, Spinner, TextControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
13
13
|
import { InspectorControls, BlockControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, __experimentalUseBorderProps as useBorderProps, __experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles, useBlockEditingMode } from '@wordpress/block-editor';
|
|
14
14
|
import { useMemo, useEffect, useState } from '@wordpress/element';
|
|
15
15
|
import { __, sprintf } from '@wordpress/i18n';
|
|
@@ -22,7 +22,8 @@ import { store as noticesStore } from '@wordpress/notices';
|
|
|
22
22
|
import DimensionControls from './dimension-controls';
|
|
23
23
|
import OverlayControls from './overlay-controls';
|
|
24
24
|
import Overlay from './overlay';
|
|
25
|
-
import {
|
|
25
|
+
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
26
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
26
27
|
const ALLOWED_MEDIA_TYPES = ['image'];
|
|
27
28
|
function getMediaSourceUrlBySizeSlug(media, slug) {
|
|
28
29
|
return media?.media_details?.sizes?.[slug]?.source_url || media?.source_url;
|
|
@@ -139,6 +140,7 @@ export default function PostFeaturedImageEdit({
|
|
|
139
140
|
});
|
|
140
141
|
setTemporaryURL();
|
|
141
142
|
};
|
|
143
|
+
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
142
144
|
const controls = blockEditingMode === 'default' && /*#__PURE__*/_jsxs(_Fragment, {
|
|
143
145
|
children: [/*#__PURE__*/_jsx(InspectorControls, {
|
|
144
146
|
group: "color",
|
|
@@ -156,26 +158,58 @@ export default function PostFeaturedImageEdit({
|
|
|
156
158
|
media: media
|
|
157
159
|
})
|
|
158
160
|
}), /*#__PURE__*/_jsx(InspectorControls, {
|
|
159
|
-
children: /*#__PURE__*/_jsxs(
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
161
|
+
children: /*#__PURE__*/_jsxs(ToolsPanel, {
|
|
162
|
+
label: __('Settings'),
|
|
163
|
+
resetAll: () => {
|
|
164
|
+
setAttributes({
|
|
165
|
+
isLink: false,
|
|
166
|
+
linkTarget: '_self',
|
|
167
|
+
rel: ''
|
|
168
|
+
});
|
|
169
|
+
},
|
|
170
|
+
dropdownMenuProps: dropdownMenuProps,
|
|
171
|
+
children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
163
172
|
label: postType?.labels.singular_name ? sprintf(
|
|
164
173
|
// translators: %s: Name of the post type e.g: "post".
|
|
165
174
|
__('Link to %s'), postType.labels.singular_name) : __('Link to post'),
|
|
166
|
-
|
|
167
|
-
|
|
175
|
+
isShownByDefault: true,
|
|
176
|
+
hasValue: () => !!isLink,
|
|
177
|
+
onDeselect: () => setAttributes({
|
|
178
|
+
isLink: false
|
|
168
179
|
}),
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
180
|
+
children: /*#__PURE__*/_jsx(ToggleControl, {
|
|
181
|
+
__nextHasNoMarginBottom: true,
|
|
182
|
+
label: postType?.labels.singular_name ? sprintf(
|
|
183
|
+
// translators: %s: Name of the post type e.g: "post".
|
|
184
|
+
__('Link to %s'), postType.labels.singular_name) : __('Link to post'),
|
|
185
|
+
onChange: () => setAttributes({
|
|
186
|
+
isLink: !isLink
|
|
187
|
+
}),
|
|
188
|
+
checked: isLink
|
|
189
|
+
})
|
|
190
|
+
}), isLink && /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
191
|
+
label: __('Open in new tab'),
|
|
192
|
+
isShownByDefault: true,
|
|
193
|
+
hasValue: () => '_self' !== linkTarget,
|
|
194
|
+
onDeselect: () => setAttributes({
|
|
195
|
+
linkTarget: '_self'
|
|
196
|
+
}),
|
|
197
|
+
children: /*#__PURE__*/_jsx(ToggleControl, {
|
|
172
198
|
__nextHasNoMarginBottom: true,
|
|
173
199
|
label: __('Open in new tab'),
|
|
174
200
|
onChange: value => setAttributes({
|
|
175
201
|
linkTarget: value ? '_blank' : '_self'
|
|
176
202
|
}),
|
|
177
203
|
checked: linkTarget === '_blank'
|
|
178
|
-
})
|
|
204
|
+
})
|
|
205
|
+
}), isLink && /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
206
|
+
label: __('Link rel'),
|
|
207
|
+
isShownByDefault: true,
|
|
208
|
+
hasValue: () => !!rel,
|
|
209
|
+
onDeselect: () => setAttributes({
|
|
210
|
+
rel: ''
|
|
211
|
+
}),
|
|
212
|
+
children: /*#__PURE__*/_jsx(TextControl, {
|
|
179
213
|
__next40pxDefaultSize: true,
|
|
180
214
|
__nextHasNoMarginBottom: true,
|
|
181
215
|
label: __('Link rel'),
|
|
@@ -183,7 +217,7 @@ export default function PostFeaturedImageEdit({
|
|
|
183
217
|
onChange: newRel => setAttributes({
|
|
184
218
|
rel: newRel
|
|
185
219
|
})
|
|
186
|
-
})
|
|
220
|
+
})
|
|
187
221
|
})]
|
|
188
222
|
})
|
|
189
223
|
})]
|