@wordpress/block-library 9.16.0 → 9.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/archives/edit.js +2 -2
- package/build/archives/edit.js.map +1 -1
- package/build/categories/edit.js +115 -37
- package/build/categories/edit.js.map +1 -1
- package/build/comments/edit/comments-inspector-controls.js +6 -5
- package/build/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build/comments-pagination/index.js +5 -0
- package/build/comments-pagination/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +2 -9
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/details/edit.js +16 -2
- package/build/details/edit.js.map +1 -1
- package/build/details/index.js +9 -0
- package/build/details/index.js.map +1 -1
- package/build/details/save.js +2 -0
- package/build/details/save.js.map +1 -1
- package/build/embed/transforms.js +5 -2
- package/build/embed/transforms.js.map +1 -1
- package/build/form/variations.js +1 -1
- package/build/form/variations.js.map +1 -1
- package/build/group/edit.js +2 -9
- package/build/group/edit.js.map +1 -1
- package/build/home-link/edit.js +1 -2
- package/build/home-link/edit.js.map +1 -1
- package/build/latest-comments/edit.js +73 -26
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/constants.js +2 -1
- package/build/latest-posts/constants.js.map +1 -1
- package/build/latest-posts/edit.js +91 -38
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list-item/index.js +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/edit/use-generate-default-navigation-title.js +4 -4
- package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
- package/build/navigation-link/edit.js +14 -19
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/index.js +7 -0
- package/build/navigation-submenu/index.js.map +1 -1
- package/build/page-list/edit.js +1 -1
- package/build/page-list/edit.js.map +1 -1
- package/build/paragraph/edit.js +4 -14
- package/build/paragraph/edit.js.map +1 -1
- package/build/pattern/index.js +1 -1
- package/build/post-content/index.js +1 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-date/edit.js +1 -1
- package/build/post-date/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +0 -6
- package/build/post-featured-image/edit.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-terms/edit.js +1 -0
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-time-to-read/index.js +1 -1
- package/build/query/edit/query-content.js +2 -6
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query-no-results/index.js +1 -1
- package/build/query-pagination-numbers/edit.js +1 -1
- package/build/query-pagination-numbers/edit.js.map +1 -1
- package/build/query-title/edit.js +1 -0
- package/build/query-title/edit.js.map +1 -1
- package/build/read-more/edit.js +25 -7
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +67 -49
- package/build/search/edit.js.map +1 -1
- package/build/separator/edit.js +2 -4
- package/build/separator/edit.js.map +1 -1
- package/build/spacer/controls.js +13 -9
- package/build/spacer/controls.js.map +1 -1
- package/build/spacer/edit.js +23 -21
- package/build/spacer/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +2 -9
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/utils/messages.js +22 -0
- package/build/utils/messages.js.map +1 -0
- package/build/video/edit-common-settings.js +1 -1
- package/build/video/edit-common-settings.js.map +1 -1
- package/build-module/archives/edit.js +2 -2
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/categories/edit.js +116 -38
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/comments/edit/comments-inspector-controls.js +5 -4
- package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/comments-pagination/index.js +5 -0
- package/build-module/comments-pagination/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -8
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/details/edit.js +17 -3
- package/build-module/details/edit.js.map +1 -1
- package/build-module/details/index.js +9 -0
- package/build-module/details/index.js.map +1 -1
- package/build-module/details/save.js +2 -0
- package/build-module/details/save.js.map +1 -1
- package/build-module/embed/transforms.js +5 -2
- package/build-module/embed/transforms.js.map +1 -1
- package/build-module/form/variations.js +1 -1
- package/build-module/form/variations.js.map +1 -1
- package/build-module/group/edit.js +1 -8
- package/build-module/group/edit.js.map +1 -1
- package/build-module/home-link/edit.js +1 -2
- package/build-module/home-link/edit.js.map +1 -1
- package/build-module/latest-comments/edit.js +74 -27
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/constants.js +1 -0
- package/build-module/latest-posts/constants.js.map +1 -1
- package/build-module/latest-posts/edit.js +93 -40
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list-item/index.js +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/edit/use-generate-default-navigation-title.js +4 -4
- package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
- package/build-module/navigation-link/edit.js +15 -20
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/index.js +7 -0
- package/build-module/navigation-submenu/index.js.map +1 -1
- package/build-module/page-list/edit.js +1 -1
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/paragraph/edit.js +5 -15
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/pattern/index.js +1 -1
- package/build-module/post-content/index.js +1 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-date/edit.js +1 -1
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +0 -6
- package/build-module/post-featured-image/edit.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-terms/edit.js +1 -0
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-time-to-read/index.js +1 -1
- package/build-module/query/edit/query-content.js +1 -5
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query-no-results/index.js +1 -1
- package/build-module/query-pagination-numbers/edit.js +1 -1
- package/build-module/query-pagination-numbers/edit.js.map +1 -1
- package/build-module/query-title/edit.js +1 -0
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/read-more/edit.js +26 -8
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +68 -50
- package/build-module/search/edit.js.map +1 -1
- package/build-module/separator/edit.js +1 -3
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/spacer/controls.js +13 -9
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/spacer/edit.js +24 -22
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +1 -8
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/utils/messages.js +15 -0
- package/build-module/utils/messages.js.map +1 -0
- package/build-module/video/edit-common-settings.js +1 -1
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-style/editor-rtl.css +8 -45
- package/build-style/editor.css +8 -45
- package/build-style/gallery/editor-rtl.css +0 -44
- package/build-style/gallery/editor.css +0 -44
- package/build-style/navigation-link/editor-rtl.css +3 -0
- package/build-style/navigation-link/editor.css +3 -0
- package/build-style/paragraph/editor-rtl.css +4 -0
- package/build-style/paragraph/editor.css +4 -0
- package/build-style/post-featured-image/editor-rtl.css +1 -1
- package/build-style/post-featured-image/editor.css +1 -1
- package/package.json +35 -35
- package/src/archives/edit.js +2 -2
- package/src/categories/edit.js +133 -45
- package/src/comments/edit/comments-inspector-controls.js +5 -8
- package/src/comments-pagination/block.json +5 -0
- package/src/cover/edit/inspector-controls.js +1 -21
- package/src/details/block.json +9 -0
- package/src/details/edit.js +18 -2
- package/src/details/save.js +6 -2
- package/src/embed/transforms.js +3 -1
- package/src/form/variations.js +1 -1
- package/src/gallery/editor.scss +0 -56
- package/src/group/edit.js +1 -20
- package/src/home-link/edit.js +0 -6
- package/src/latest-comments/edit.js +93 -33
- package/src/latest-posts/constants.js +1 -0
- package/src/latest-posts/edit.js +119 -44
- package/src/list/test/edit.native.js +9 -9
- package/src/list-item/block.json +1 -1
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
- package/src/navigation/edit/use-generate-default-navigation-title.js +4 -4
- package/src/navigation-link/edit.js +25 -29
- package/src/navigation-link/editor.scss +27 -18
- package/src/navigation-submenu/index.js +7 -0
- package/src/navigation-submenu/index.php +21 -4
- package/src/page-list/edit.js +52 -50
- package/src/paragraph/edit.js +3 -18
- package/src/paragraph/editor.scss +7 -0
- package/src/pattern/block.json +1 -1
- package/src/post-content/block.json +1 -0
- package/src/post-date/edit.js +1 -3
- package/src/post-featured-image/edit.js +2 -15
- package/src/post-featured-image/editor.scss +2 -2
- package/src/post-navigation-link/variations.js +2 -2
- package/src/post-terms/edit.js +1 -0
- package/src/post-time-to-read/block.json +1 -1
- package/src/query/edit/query-content.js +1 -11
- package/src/query-no-results/block.json +1 -1
- package/src/query-pagination-numbers/edit.js +1 -1
- package/src/query-title/edit.js +1 -0
- package/src/read-more/edit.js +35 -11
- package/src/search/edit.js +99 -74
- package/src/separator/edit.js +1 -6
- package/src/spacer/controls.js +10 -9
- package/src/spacer/edit.js +25 -23
- package/src/template-part/edit/advanced-controls.js +1 -21
- package/src/utils/messages.js +31 -0
- package/src/video/edit-common-settings.js +1 -1
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { InspectorControls, RichText, useBlockProps } from '@wordpress/block-editor';
|
|
5
|
-
import { ToggleControl,
|
|
5
|
+
import { ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
6
6
|
import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
8
13
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
14
|
export default function ReadMore({
|
|
10
15
|
attributes: {
|
|
@@ -15,17 +20,30 @@ export default function ReadMore({
|
|
|
15
20
|
insertBlocksAfter
|
|
16
21
|
}) {
|
|
17
22
|
const blockProps = useBlockProps();
|
|
23
|
+
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
18
24
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
19
25
|
children: [/*#__PURE__*/_jsx(InspectorControls, {
|
|
20
|
-
children: /*#__PURE__*/_jsx(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
children: /*#__PURE__*/_jsx(ToolsPanel, {
|
|
27
|
+
label: __('Settings'),
|
|
28
|
+
resetAll: () => setAttributes({
|
|
29
|
+
linkTarget: '_self'
|
|
30
|
+
}),
|
|
31
|
+
dropdownMenuProps: dropdownMenuProps,
|
|
32
|
+
children: /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
24
33
|
label: __('Open in new tab'),
|
|
25
|
-
|
|
26
|
-
|
|
34
|
+
isShownByDefault: true,
|
|
35
|
+
hasValue: () => linkTarget !== '_self',
|
|
36
|
+
onDeselect: () => setAttributes({
|
|
37
|
+
linkTarget: '_self'
|
|
27
38
|
}),
|
|
28
|
-
|
|
39
|
+
children: /*#__PURE__*/_jsx(ToggleControl, {
|
|
40
|
+
__nextHasNoMarginBottom: true,
|
|
41
|
+
label: __('Open in new tab'),
|
|
42
|
+
onChange: value => setAttributes({
|
|
43
|
+
linkTarget: value ? '_blank' : '_self'
|
|
44
|
+
}),
|
|
45
|
+
checked: linkTarget === '_blank'
|
|
46
|
+
})
|
|
29
47
|
})
|
|
30
48
|
})
|
|
31
49
|
}), /*#__PURE__*/_jsx(RichText, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InspectorControls","RichText","useBlockProps","ToggleControl","
|
|
1
|
+
{"version":3,"names":["InspectorControls","RichText","useBlockProps","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","createBlock","getDefaultBlockName","__","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ReadMore","attributes","content","linkTarget","setAttributes","insertBlocksAfter","blockProps","dropdownMenuProps","children","label","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","onChange","value","checked","identifier","tagName","placeholder","newValue","__unstableOnSplitAtEnd","withoutInteractiveFormatting"],"sources":["@wordpress/block-library/src/read-more/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function ReadMore( {\n\tattributes: { content, linkTarget },\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => setAttributes( { linkTarget: '_self' } ) }\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\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => linkTarget !== '_self' }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t}\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={ __( 'Open in new tab' ) }\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\tlinkTarget: value ? '_blank' : '_self',\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={ linkTarget === '_blank' }\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<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName=\"a\"\n\t\t\t\taria-label={ __( '“Read more” link text' ) }\n\t\t\t\tplaceholder={ __( 'Read more' ) }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\tsetAttributes( { content: newValue } )\n\t\t\t\t}\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,iBAAiB,EACjBC,QAAQ,EACRC,aAAa,QACP,yBAAyB;AAChC,SACCC,aAAa,EACbC,wBAAwB,IAAIC,UAAU,EACtCC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,mBAAmB;AACpE,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,8BAA8B,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAEhE,eAAe,SAASC,QAAQA,CAAE;EACjCC,UAAU,EAAE;IAAEC,OAAO;IAAEC;EAAW,CAAC;EACnCC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAMC,UAAU,GAAGtB,aAAa,CAAC,CAAC;EAClC,MAAMuB,iBAAiB,GAAGd,8BAA8B,CAAC,CAAC;EAE1D,oBACCM,KAAA,CAAAF,SAAA;IAAAW,QAAA,gBACCb,IAAA,CAACb,iBAAiB;MAAA0B,QAAA,eACjBb,IAAA,CAACR,UAAU;QACVsB,KAAK,EAAGjB,EAAE,CAAE,UAAW,CAAG;QAC1BkB,QAAQ,EAAGA,CAAA,KAAMN,aAAa,CAAE;UAAED,UAAU,EAAE;QAAQ,CAAE,CAAG;QAC3DI,iBAAiB,EAAGA,iBAAmB;QAAAC,QAAA,eAEvCb,IAAA,CAACN,cAAc;UACdoB,KAAK,EAAGjB,EAAE,CAAE,iBAAkB,CAAG;UACjCmB,gBAAgB;UAChBC,QAAQ,EAAGA,CAAA,KAAMT,UAAU,KAAK,OAAS;UACzCU,UAAU,EAAGA,CAAA,KACZT,aAAa,CAAE;YAAED,UAAU,EAAE;UAAQ,CAAE,CACvC;UAAAK,QAAA,eAEDb,IAAA,CAACV,aAAa;YACb6B,uBAAuB;YACvBL,KAAK,EAAGjB,EAAE,CAAE,iBAAkB,CAAG;YACjCuB,QAAQ,EAAKC,KAAK,IACjBZ,aAAa,CAAE;cACdD,UAAU,EAAEa,KAAK,GAAG,QAAQ,GAAG;YAChC,CAAE,CACF;YACDC,OAAO,EAAGd,UAAU,KAAK;UAAU,CACnC;QAAC,CACa;MAAC,CACN;IAAC,CACK,CAAC,eACpBR,IAAA,CAACZ,QAAQ;MACRmC,UAAU,EAAC,SAAS;MACpBC,OAAO,EAAC,GAAG;MACX,cAAa3B,EAAE,CAAE,uBAAwB,CAAG;MAC5C4B,WAAW,EAAG5B,EAAE,CAAE,WAAY,CAAG;MACjCwB,KAAK,EAAGd,OAAS;MACjBa,QAAQ,EAAKM,QAAQ,IACpBjB,aAAa,CAAE;QAAEF,OAAO,EAAEmB;MAAS,CAAE,CACrC;MACDC,sBAAsB,EAAGA,CAAA,KACxBjB,iBAAiB,CAAEf,WAAW,CAAEC,mBAAmB,CAAC,CAAE,CAAE,CACxD;MACDgC,4BAA4B;MAAA,GACvBjB;IAAU,CACf,CAAC;EAAA,CACD,CAAC;AAEL","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@ import clsx from 'clsx';
|
|
|
9
9
|
import { useBlockProps, BlockControls, InspectorControls, RichText, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, getTypographyClassesAndStyles as useTypographyProps, store as blockEditorStore, __experimentalGetElementClassName, useSettings } from '@wordpress/block-editor';
|
|
10
10
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
11
11
|
import { useEffect, useRef } from '@wordpress/element';
|
|
12
|
-
import { ToolbarDropdownMenu, ToolbarGroup, ToolbarButton, ResizableBox,
|
|
12
|
+
import { ToolbarDropdownMenu, ToolbarGroup, ToolbarButton, ResizableBox, __experimentalUseCustomUnits as useCustomUnits, __experimentalUnitControl as UnitControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalVStack as VStack } from '@wordpress/components';
|
|
13
13
|
import { useInstanceId } from '@wordpress/compose';
|
|
14
14
|
import { Icon, search } from '@wordpress/icons';
|
|
15
15
|
import { __, sprintf } from '@wordpress/i18n';
|
|
@@ -20,6 +20,7 @@ import { __unstableStripHTML as stripHTML } from '@wordpress/dom';
|
|
|
20
20
|
*/
|
|
21
21
|
import { buttonOnly, buttonOutside, buttonInside, noButton, buttonWithIcon, toggleLabel } from './icons';
|
|
22
22
|
import { PC_WIDTH_DEFAULT, PX_WIDTH_DEFAULT, MIN_WIDTH, isPercentageUnit } from './utils.js';
|
|
23
|
+
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
23
24
|
|
|
24
25
|
// Used to calculate border radius adjustment to avoid "fat" corners when
|
|
25
26
|
// button is placed inside wrapper.
|
|
@@ -264,6 +265,7 @@ export default function SearchEdit({
|
|
|
264
265
|
})]
|
|
265
266
|
});
|
|
266
267
|
};
|
|
268
|
+
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
267
269
|
const controls = /*#__PURE__*/_jsxs(_Fragment, {
|
|
268
270
|
children: [/*#__PURE__*/_jsx(BlockControls, {
|
|
269
271
|
children: /*#__PURE__*/_jsxs(ToolbarGroup, {
|
|
@@ -292,55 +294,71 @@ export default function SearchEdit({
|
|
|
292
294
|
})]
|
|
293
295
|
})
|
|
294
296
|
}), /*#__PURE__*/_jsx(InspectorControls, {
|
|
295
|
-
children: /*#__PURE__*/_jsx(
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
297
|
+
children: /*#__PURE__*/_jsx(ToolsPanel, {
|
|
298
|
+
label: __('Settings'),
|
|
299
|
+
resetAll: () => {
|
|
300
|
+
setAttributes({
|
|
301
|
+
width: undefined,
|
|
302
|
+
widthUnit: undefined
|
|
303
|
+
});
|
|
304
|
+
},
|
|
305
|
+
dropdownMenuProps: dropdownMenuProps,
|
|
306
|
+
children: /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
307
|
+
hasValue: () => !!width,
|
|
308
|
+
label: __('Width'),
|
|
309
|
+
onDeselect: () => {
|
|
310
|
+
setAttributes({
|
|
311
|
+
width: undefined,
|
|
312
|
+
widthUnit: undefined
|
|
313
|
+
});
|
|
314
|
+
},
|
|
315
|
+
isShownByDefault: true,
|
|
316
|
+
children: /*#__PURE__*/_jsxs(VStack, {
|
|
317
|
+
children: [/*#__PURE__*/_jsx(UnitControl, {
|
|
318
|
+
__next40pxDefaultSize: true,
|
|
319
|
+
label: __('Width'),
|
|
320
|
+
id: unitControlInputId // Unused, kept for backwards compatibility
|
|
321
|
+
,
|
|
322
|
+
min: isPercentageUnit(widthUnit) ? 0 : MIN_WIDTH,
|
|
323
|
+
max: isPercentageUnit(widthUnit) ? 100 : undefined,
|
|
324
|
+
step: 1,
|
|
325
|
+
onChange: newWidth => {
|
|
326
|
+
const parsedNewWidth = newWidth === '' ? undefined : parseInt(newWidth, 10);
|
|
327
|
+
setAttributes({
|
|
328
|
+
width: parsedNewWidth
|
|
329
|
+
});
|
|
330
|
+
},
|
|
331
|
+
onUnitChange: newUnit => {
|
|
332
|
+
setAttributes({
|
|
333
|
+
width: '%' === newUnit ? PC_WIDTH_DEFAULT : PX_WIDTH_DEFAULT,
|
|
334
|
+
widthUnit: newUnit
|
|
335
|
+
});
|
|
336
|
+
},
|
|
337
|
+
__unstableInputWidth: "80px",
|
|
338
|
+
value: `${width}${widthUnit}`,
|
|
339
|
+
units: units
|
|
340
|
+
}), /*#__PURE__*/_jsx(ToggleGroupControl, {
|
|
341
|
+
label: __('Percentage Width'),
|
|
342
|
+
value: PERCENTAGE_WIDTHS.includes(width) && widthUnit === '%' ? width : undefined,
|
|
343
|
+
hideLabelFromVision: true,
|
|
344
|
+
onChange: newWidth => {
|
|
345
|
+
setAttributes({
|
|
346
|
+
width: newWidth,
|
|
347
|
+
widthUnit: '%'
|
|
348
|
+
});
|
|
349
|
+
},
|
|
350
|
+
isBlock: true,
|
|
351
|
+
__next40pxDefaultSize: true,
|
|
352
|
+
__nextHasNoMarginBottom: true,
|
|
353
|
+
children: PERCENTAGE_WIDTHS.map(widthValue => {
|
|
354
|
+
return /*#__PURE__*/_jsx(ToggleGroupControlOption, {
|
|
355
|
+
value: widthValue,
|
|
356
|
+
label: sprintf(/* translators: Percentage value. */
|
|
357
|
+
__('%d%%'), widthValue)
|
|
358
|
+
}, widthValue);
|
|
359
|
+
})
|
|
360
|
+
})]
|
|
361
|
+
})
|
|
344
362
|
})
|
|
345
363
|
})
|
|
346
364
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useBlockProps","BlockControls","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","getTypographyClassesAndStyles","useTypographyProps","store","blockEditorStore","__experimentalGetElementClassName","useSettings","useDispatch","useSelect","useEffect","useRef","ToolbarDropdownMenu","ToolbarGroup","ToolbarButton","ResizableBox","PanelBody","__experimentalVStack","VStack","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","useInstanceId","Icon","search","__","sprintf","__unstableStripHTML","stripHTML","buttonOnly","buttonOutside","buttonInside","noButton","buttonWithIcon","toggleLabel","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","isPercentageUnit","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_INNER_PADDING","PERCENTAGE_WIDTHS","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","isSearchFieldHidden","style","wasJustInsertedIntoNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","searchFieldRef","buttonRef","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","onClick","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","type","value","onChange","event","target","ref","renderButton","buttonClasses","buttonStyles","handleButtonClick","children","identifier","withoutInteractiveFormatting","html","controls","spacing","__next40pxDefaultSize","id","min","max","step","newWidth","parsedNewWidth","parseInt","onUnitChange","newUnit","__unstableInputWidth","includes","hideLabelFromVision","isBlock","__nextHasNoMarginBottom","map","widthValue","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","labelClassnames","size","height","minWidth","enable","onResizeStart","direction","elt","offsetWidth","onResizeStop","delta","showHandle"],"sources":["@wordpress/block-library/src/search/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tToolbarButton,\n\tResizableBox,\n\tPanelBody,\n\t__experimentalVStack as VStack,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuttonOnly,\n\tbuttonOutside,\n\tbuttonInside,\n\tnoButton,\n\tbuttonWithIcon,\n\ttoggleLabel,\n} from './icons';\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tisPercentageUnit,\n} from './utils.js';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\nconst PERCENTAGE_WIDTHS = [ 25, 50, 75, 100 ];\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tisSearchFieldHidden,\n\t\tstyle,\n\t} = attributes;\n\n\tconst wasJustInsertedIntoNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( wasJustInsertedIntoNavigationBlock ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tshowLabel: false,\n\t\t\t\tbuttonUseIcon: true,\n\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t} );\n\t\t}\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\twasJustInsertedIntoNavigationBlock,\n\t\tsetAttributes,\n\t] );\n\n\tconst borderRadius = style?.border?.radius;\n\tlet borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps = {\n\t\t\t...borderProps,\n\t\t\tstyle: {\n\t\t\t\t...borderProps.style,\n\t\t\t\tborderRadius: `${ borderRadius }px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\tconst searchFieldRef = useRef();\n\tconst buttonRef = useRef();\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( hasOnlyButton && ! isSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tisSearchFieldHidden: true,\n\t\t\t} );\n\t\t}\n\t}, [ hasOnlyButton, isSelected, setAttributes ] );\n\n\t// Show the search field when width changes.\n\tuseEffect( () => {\n\t\tif ( ! hasOnlyButton || ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisSearchFieldHidden: false,\n\t\t} );\n\t}, [ hasOnlyButton, isSelected, setAttributes, width ] );\n\n\tconst getBlockClassNames = () => {\n\t\treturn clsx(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && isSearchFieldHidden\n\t\t\t\t? 'wp-block-search__searchfield-hidden'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button only' ),\n\t\t\tisActive: buttonPosition === 'button-only',\n\t\t\ticon: buttonOnly,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-only',\n\t\t\t\t\tisSearchFieldHidden: true,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = clsx(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\ttypographyProps.className\n\t\t);\n\t\tconst textFieldStyles = {\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t\t...typographyProps.style,\n\t\t\ttextDecoration: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t\tref={ searchFieldRef }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = clsx(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\ttypographyProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...typographyProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\t\tconst handleButtonClick = () => {\n\t\t\tif ( hasOnlyButton ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisSearchFieldHidden: ! isSearchFieldHidden,\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t\tref={ buttonRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"buttonText\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Show search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"wp-block-search__inspector-controls\"\n\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\tid={ unitControlInputId } // unused, kept for backwards compatibility\n\t\t\t\t\t\t\tmin={\n\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit ) ? 0 : MIN_WIDTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit ) ? 100 : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst parsedNewWidth =\n\t\t\t\t\t\t\t\t\tnewWidth === ''\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: parseInt( newWidth, 10 );\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parsedNewWidth,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tlabel={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tPERCENTAGE_WIDTHS.includes( width ) &&\n\t\t\t\t\t\t\t\twidthUnit === '%'\n\t\t\t\t\t\t\t\t\t? width\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: newWidth,\n\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisBlock\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>\n\t\t\t\t\t\t\t{ PERCENTAGE_WIDTHS.map( ( widthValue ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: Percentage value. */\n\t\t\t\t\t\t\t\t\t\t\t__( '%d%%' ),\n\t\t\t\t\t\t\t\t\t\t\twidthValue\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</ToggleGroupControl>\n\t\t\t\t\t</VStack>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t\tstyle: {\n\t\t\t...typographyProps.style,\n\t\t\t// Input opts out of text decoration.\n\t\t\ttextDecoration: undefined,\n\t\t},\n\t} );\n\n\tconst labelClassnames = clsx(\n\t\t'wp-block-search__label',\n\t\ttypographyProps.className\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\tclassName={ labelClassnames }\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t\tstyle={ typographyProps.style }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth:\n\t\t\t\t\t\twidth === undefined\n\t\t\t\t\t\t\t? 'auto'\n\t\t\t\t\t\t\t: `${ width }${ widthUnit }`,\n\t\t\t\t\theight: 'auto',\n\t\t\t\t} }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside ||\n\t\t\t\t\tisButtonPositionOutside ||\n\t\t\t\t\thasOnlyButton ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useBlockProps","BlockControls","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","getTypographyClassesAndStyles","useTypographyProps","store","blockEditorStore","__experimentalGetElementClassName","useSettings","useDispatch","useSelect","useEffect","useRef","ToolbarDropdownMenu","ToolbarGroup","ToolbarButton","ResizableBox","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalVStack","VStack","useInstanceId","Icon","search","__","sprintf","__unstableStripHTML","stripHTML","buttonOnly","buttonOutside","buttonInside","noButton","buttonWithIcon","toggleLabel","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","isPercentageUnit","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_INNER_PADDING","PERCENTAGE_WIDTHS","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","isSearchFieldHidden","style","wasJustInsertedIntoNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","searchFieldRef","buttonRef","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","onClick","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","type","value","onChange","event","target","ref","renderButton","buttonClasses","buttonStyles","handleButtonClick","children","identifier","withoutInteractiveFormatting","html","dropdownMenuProps","controls","resetAll","hasValue","onDeselect","isShownByDefault","__next40pxDefaultSize","id","min","max","step","newWidth","parsedNewWidth","parseInt","onUnitChange","newUnit","__unstableInputWidth","includes","hideLabelFromVision","isBlock","__nextHasNoMarginBottom","map","widthValue","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","labelClassnames","size","height","minWidth","enable","onResizeStart","direction","elt","offsetWidth","onResizeStop","delta","showHandle"],"sources":["@wordpress/block-library/src/search/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tToolbarButton,\n\tResizableBox,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuttonOnly,\n\tbuttonOutside,\n\tbuttonInside,\n\tnoButton,\n\tbuttonWithIcon,\n\ttoggleLabel,\n} from './icons';\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tisPercentageUnit,\n} from './utils.js';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\nconst PERCENTAGE_WIDTHS = [ 25, 50, 75, 100 ];\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tisSearchFieldHidden,\n\t\tstyle,\n\t} = attributes;\n\n\tconst wasJustInsertedIntoNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( wasJustInsertedIntoNavigationBlock ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tshowLabel: false,\n\t\t\t\tbuttonUseIcon: true,\n\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t} );\n\t\t}\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\twasJustInsertedIntoNavigationBlock,\n\t\tsetAttributes,\n\t] );\n\n\tconst borderRadius = style?.border?.radius;\n\tlet borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps = {\n\t\t\t...borderProps,\n\t\t\tstyle: {\n\t\t\t\t...borderProps.style,\n\t\t\t\tborderRadius: `${ borderRadius }px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\tconst searchFieldRef = useRef();\n\tconst buttonRef = useRef();\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( hasOnlyButton && ! isSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tisSearchFieldHidden: true,\n\t\t\t} );\n\t\t}\n\t}, [ hasOnlyButton, isSelected, setAttributes ] );\n\n\t// Show the search field when width changes.\n\tuseEffect( () => {\n\t\tif ( ! hasOnlyButton || ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisSearchFieldHidden: false,\n\t\t} );\n\t}, [ hasOnlyButton, isSelected, setAttributes, width ] );\n\n\tconst getBlockClassNames = () => {\n\t\treturn clsx(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && isSearchFieldHidden\n\t\t\t\t? 'wp-block-search__searchfield-hidden'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button only' ),\n\t\t\tisActive: buttonPosition === 'button-only',\n\t\t\ticon: buttonOnly,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-only',\n\t\t\t\t\tisSearchFieldHidden: true,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = clsx(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\ttypographyProps.className\n\t\t);\n\t\tconst textFieldStyles = {\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t\t...typographyProps.style,\n\t\t\ttextDecoration: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t\tref={ searchFieldRef }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = clsx(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\ttypographyProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...typographyProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\t\tconst handleButtonClick = () => {\n\t\t\tif ( hasOnlyButton ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisSearchFieldHidden: ! isSearchFieldHidden,\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t\tref={ buttonRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"buttonText\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Show search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<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\twidth: undefined,\n\t\t\t\t\t\t\twidthUnit: undefined,\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={ () => !! width }\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\t\twidthUnit: undefined,\n\t\t\t\t\t\t\t} );\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<VStack>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tid={ unitControlInputId } // Unused, kept for backwards compatibility\n\t\t\t\t\t\t\t\tmin={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t: MIN_WIDTH\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\t\tconst parsedNewWidth =\n\t\t\t\t\t\t\t\t\t\tnewWidth === ''\n\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( newWidth, 10 );\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth: parsedNewWidth,\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\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tPERCENTAGE_WIDTHS.includes( width ) &&\n\t\t\t\t\t\t\t\t\twidthUnit === '%'\n\t\t\t\t\t\t\t\t\t\t? width\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth: newWidth,\n\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\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\tisBlock\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ PERCENTAGE_WIDTHS.map( ( widthValue ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: Percentage value. */\n\t\t\t\t\t\t\t\t\t\t\t\t__( '%d%%' ),\n\t\t\t\t\t\t\t\t\t\t\t\twidthValue\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t\tstyle: {\n\t\t\t...typographyProps.style,\n\t\t\t// Input opts out of text decoration.\n\t\t\ttextDecoration: undefined,\n\t\t},\n\t} );\n\n\tconst labelClassnames = clsx(\n\t\t'wp-block-search__label',\n\t\ttypographyProps.className\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\tclassName={ labelClassnames }\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t\tstyle={ typographyProps.style }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth:\n\t\t\t\t\t\twidth === undefined\n\t\t\t\t\t\t\t? 'auto'\n\t\t\t\t\t\t\t: `${ width }${ widthUnit }`,\n\t\t\t\t\theight: 'auto',\n\t\t\t\t} }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside ||\n\t\t\t\t\tisButtonPositionOutside ||\n\t\t\t\t\thasOnlyButton ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,10 +14,8 @@ import { __ } from '@wordpress/i18n';
|
|
|
14
14
|
* Internal dependencies
|
|
15
15
|
*/
|
|
16
16
|
import useDeprecatedOpacity from './use-deprecated-opacity';
|
|
17
|
+
import { htmlElementMessages } from '../utils/messages';
|
|
17
18
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
|
-
const htmlElementMessages = {
|
|
19
|
-
div: __('The <div> element should only be used if the separator is a design element that should not be announced.')
|
|
20
|
-
};
|
|
21
19
|
export default function SeparatorEdit({
|
|
22
20
|
attributes,
|
|
23
21
|
setAttributes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","HorizontalRule","SelectControl","useBlockProps","getColorClassName","__experimentalUseColorProps","useColorProps","InspectorControls","__","useDeprecatedOpacity","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","
|
|
1
|
+
{"version":3,"names":["clsx","HorizontalRule","SelectControl","useBlockProps","getColorClassName","__experimentalUseColorProps","useColorProps","InspectorControls","__","useDeprecatedOpacity","htmlElementMessages","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SeparatorEdit","attributes","setAttributes","backgroundColor","opacity","style","tagName","colorProps","currentColor","hasCustomColor","color","background","colorClass","className","styles","Wrapper","children","group","__nextHasNoMarginBottom","__next40pxDefaultSize","label","options","value","onChange","help","undefined"],"sources":["@wordpress/block-library/src/separator/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { HorizontalRule, SelectControl } from '@wordpress/components';\nimport {\n\tuseBlockProps,\n\tgetColorClassName,\n\t__experimentalUseColorProps as useColorProps,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useDeprecatedOpacity from './use-deprecated-opacity';\nimport { htmlElementMessages } from '../utils/messages';\n\nexport default function SeparatorEdit( { attributes, setAttributes } ) {\n\tconst { backgroundColor, opacity, style, tagName } = attributes;\n\tconst colorProps = useColorProps( attributes );\n\tconst currentColor = colorProps?.style?.backgroundColor;\n\tconst hasCustomColor = !! style?.color?.background;\n\n\tuseDeprecatedOpacity( opacity, currentColor, setAttributes );\n\n\t// The dots styles uses text for the dots, to change those dots color is\n\t// using color, not backgroundColor.\n\tconst colorClass = getColorClassName( 'color', backgroundColor );\n\n\tconst className = clsx(\n\t\t{\n\t\t\t'has-text-color': backgroundColor || currentColor,\n\t\t\t[ colorClass ]: colorClass,\n\t\t\t'has-css-opacity': opacity === 'css',\n\t\t\t'has-alpha-channel-opacity': opacity === 'alpha-channel',\n\t\t},\n\t\tcolorProps.className\n\t);\n\n\tconst styles = {\n\t\tcolor: currentColor,\n\t\tbackgroundColor: currentColor,\n\t};\n\tconst Wrapper = tagName === 'hr' ? HorizontalRule : tagName;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<hr>)' ), value: 'hr' },\n\t\t\t\t\t\t{ label: '<div>', value: 'div' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<Wrapper\n\t\t\t\t{ ...useBlockProps( {\n\t\t\t\t\tclassName,\n\t\t\t\t\tstyle: hasCustomColor ? styles : undefined,\n\t\t\t\t} ) }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,cAAc,EAAEC,aAAa,QAAQ,uBAAuB;AACrE,SACCC,aAAa,EACbC,iBAAiB,EACjBC,2BAA2B,IAAIC,aAAa,EAC5CC,iBAAiB,QACX,yBAAyB;AAChC,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,SAASC,mBAAmB,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAExD,eAAe,SAASC,aAAaA,CAAE;EAAEC,UAAU;EAAEC;AAAc,CAAC,EAAG;EACtE,MAAM;IAAEC,eAAe;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAGL,UAAU;EAC/D,MAAMM,UAAU,GAAGlB,aAAa,CAAEY,UAAW,CAAC;EAC9C,MAAMO,YAAY,GAAGD,UAAU,EAAEF,KAAK,EAAEF,eAAe;EACvD,MAAMM,cAAc,GAAG,CAAC,CAAEJ,KAAK,EAAEK,KAAK,EAAEC,UAAU;EAElDnB,oBAAoB,CAAEY,OAAO,EAAEI,YAAY,EAAEN,aAAc,CAAC;;EAE5D;EACA;EACA,MAAMU,UAAU,GAAGzB,iBAAiB,CAAE,OAAO,EAAEgB,eAAgB,CAAC;EAEhE,MAAMU,SAAS,GAAG9B,IAAI,CACrB;IACC,gBAAgB,EAAEoB,eAAe,IAAIK,YAAY;IACjD,CAAEI,UAAU,GAAIA,UAAU;IAC1B,iBAAiB,EAAER,OAAO,KAAK,KAAK;IACpC,2BAA2B,EAAEA,OAAO,KAAK;EAC1C,CAAC,EACDG,UAAU,CAACM,SACZ,CAAC;EAED,MAAMC,MAAM,GAAG;IACdJ,KAAK,EAAEF,YAAY;IACnBL,eAAe,EAAEK;EAClB,CAAC;EACD,MAAMO,OAAO,GAAGT,OAAO,KAAK,IAAI,GAAGtB,cAAc,GAAGsB,OAAO;EAE3D,oBACCP,KAAA,CAAAF,SAAA;IAAAmB,QAAA,gBACCrB,IAAA,CAACL,iBAAiB;MAAC2B,KAAK,EAAC,UAAU;MAAAD,QAAA,eAClCrB,IAAA,CAACV,aAAa;QACbiC,uBAAuB;QACvBC,qBAAqB;QACrBC,KAAK,EAAG7B,EAAE,CAAE,cAAe,CAAG;QAC9B8B,OAAO,EAAG,CACT;UAAED,KAAK,EAAE7B,EAAE,CAAE,gBAAiB,CAAC;UAAE+B,KAAK,EAAE;QAAK,CAAC,EAC9C;UAAEF,KAAK,EAAE,OAAO;UAAEE,KAAK,EAAE;QAAM,CAAC,CAC9B;QACHA,KAAK,EAAGhB,OAAS;QACjBiB,QAAQ,EAAKD,KAAK,IACjBpB,aAAa,CAAE;UAAEI,OAAO,EAAEgB;QAAM,CAAE,CAClC;QACDE,IAAI,EAAG/B,mBAAmB,CAAEa,OAAO;MAAI,CACvC;IAAC,CACgB,CAAC,eACpBX,IAAA,CAACoB,OAAO;MAAA,GACF7B,aAAa,CAAE;QACnB2B,SAAS;QACTR,KAAK,EAAEI,cAAc,GAAGK,MAAM,GAAGW;MAClC,CAAE;IAAC,CACH,CAAC;EAAA,CACD,CAAC;AAEL","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@ import { View } from '@wordpress/primitives';
|
|
|
13
13
|
*/
|
|
14
14
|
import { unlock } from '../lock-unlock';
|
|
15
15
|
import { MIN_SPACER_SIZE } from './constants';
|
|
16
|
+
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
16
17
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
18
|
const {
|
|
18
19
|
useSpacingSizes
|
|
@@ -40,30 +41,31 @@ function DimensionInput({
|
|
|
40
41
|
vh: 25
|
|
41
42
|
}
|
|
42
43
|
});
|
|
43
|
-
const handleOnChange = unprocessedValue => {
|
|
44
|
-
onChange(unprocessedValue.all);
|
|
45
|
-
};
|
|
46
44
|
|
|
47
45
|
// Force the unit to update to `px` when the Spacer is being resized.
|
|
48
46
|
const [parsedQuantity, parsedUnit] = parseQuantityAndUnitFromRawValue(value);
|
|
49
47
|
const computedValue = isValueSpacingPreset(value) ? value : [parsedQuantity, isResizing ? 'px' : parsedUnit].join('');
|
|
50
|
-
return /*#__PURE__*/
|
|
51
|
-
children:
|
|
48
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
49
|
+
children: spacingSizes?.length < 2 ? /*#__PURE__*/_jsx(UnitControl, {
|
|
52
50
|
id: inputId,
|
|
53
51
|
isResetValueOnUnitChange: true,
|
|
54
52
|
min: MIN_SPACER_SIZE,
|
|
55
|
-
onChange:
|
|
53
|
+
onChange: onChange,
|
|
56
54
|
value: computedValue,
|
|
57
55
|
units: units,
|
|
58
56
|
label: label,
|
|
59
57
|
__next40pxDefaultSize: true
|
|
60
|
-
})
|
|
58
|
+
}) : /*#__PURE__*/_jsx(View, {
|
|
61
59
|
className: "tools-panel-item-spacing",
|
|
62
60
|
children: /*#__PURE__*/_jsx(SpacingSizesControl, {
|
|
63
61
|
values: {
|
|
64
62
|
all: computedValue
|
|
65
63
|
},
|
|
66
|
-
onChange:
|
|
64
|
+
onChange: ({
|
|
65
|
+
all
|
|
66
|
+
}) => {
|
|
67
|
+
onChange(all);
|
|
68
|
+
},
|
|
67
69
|
label: label,
|
|
68
70
|
sides: ['all'],
|
|
69
71
|
units: units,
|
|
@@ -71,7 +73,7 @@ function DimensionInput({
|
|
|
71
73
|
splitOnAxis: false,
|
|
72
74
|
showSideInLabel: false
|
|
73
75
|
})
|
|
74
|
-
})
|
|
76
|
+
})
|
|
75
77
|
});
|
|
76
78
|
}
|
|
77
79
|
export default function SpacerControls({
|
|
@@ -81,6 +83,7 @@ export default function SpacerControls({
|
|
|
81
83
|
width,
|
|
82
84
|
isResizing
|
|
83
85
|
}) {
|
|
86
|
+
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
84
87
|
return /*#__PURE__*/_jsx(InspectorControls, {
|
|
85
88
|
children: /*#__PURE__*/_jsxs(ToolsPanel, {
|
|
86
89
|
label: __('Settings'),
|
|
@@ -90,6 +93,7 @@ export default function SpacerControls({
|
|
|
90
93
|
height: '100px'
|
|
91
94
|
});
|
|
92
95
|
},
|
|
96
|
+
dropdownMenuProps: dropdownMenuProps,
|
|
93
97
|
children: [orientation === 'horizontal' && /*#__PURE__*/_jsx(ToolsPanelItem, {
|
|
94
98
|
label: __('Width'),
|
|
95
99
|
isShownByDefault: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","InspectorControls","useSettings","__experimentalSpacingSizesControl","SpacingSizesControl","isValueSpacingPreset","privateApis","blockEditorPrivateApis","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","useInstanceId","View","unlock","MIN_SPACER_SIZE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useSpacingSizes","DimensionInput","label","onChange","isResizing","value","inputId","spacingSizes","spacingUnits","availableUnits","filter","unit","units","defaultValues","px","em","rem","vw","vh","
|
|
1
|
+
{"version":3,"names":["__","InspectorControls","useSettings","__experimentalSpacingSizesControl","SpacingSizesControl","isValueSpacingPreset","privateApis","blockEditorPrivateApis","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","useInstanceId","View","unlock","MIN_SPACER_SIZE","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useSpacingSizes","DimensionInput","label","onChange","isResizing","value","inputId","spacingSizes","spacingUnits","availableUnits","filter","unit","units","defaultValues","px","em","rem","vw","vh","parsedQuantity","parsedUnit","computedValue","join","children","length","id","isResetValueOnUnitChange","min","__next40pxDefaultSize","className","values","all","sides","allowReset","splitOnAxis","showSideInLabel","SpacerControls","setAttributes","orientation","height","width","dropdownMenuProps","resetAll","undefined","isShownByDefault","hasValue","onDeselect","nextWidth","nextHeight"],"sources":["@wordpress/block-library/src/spacer/controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalSpacingSizesControl as SpacingSizesControl,\n\tisValueSpacingPreset,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { View } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { MIN_SPACER_SIZE } from './constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst { useSpacingSizes } = unlock( blockEditorPrivateApis );\n\nfunction DimensionInput( { label, onChange, isResizing, value = '' } ) {\n\tconst inputId = useInstanceId( UnitControl, 'block-spacer-height-input' );\n\tconst spacingSizes = useSpacingSizes();\n\tconst [ spacingUnits ] = useSettings( 'spacing.units' );\n\t// In most contexts the spacer size cannot meaningfully be set to a\n\t// percentage, since this is relative to the parent container. This\n\t// unit is disabled from the UI.\n\tconst availableUnits = spacingUnits\n\t\t? spacingUnits.filter( ( unit ) => unit !== '%' )\n\t\t: [ 'px', 'em', 'rem', 'vw', 'vh' ];\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits,\n\t\tdefaultValues: { px: 100, em: 10, rem: 10, vw: 10, vh: 25 },\n\t} );\n\n\t// Force the unit to update to `px` when the Spacer is being resized.\n\tconst [ parsedQuantity, parsedUnit ] =\n\t\tparseQuantityAndUnitFromRawValue( value );\n\tconst computedValue = isValueSpacingPreset( value )\n\t\t? value\n\t\t: [ parsedQuantity, isResizing ? 'px' : parsedUnit ].join( '' );\n\n\treturn (\n\t\t<>\n\t\t\t{ spacingSizes?.length < 2 ? (\n\t\t\t\t<UnitControl\n\t\t\t\t\tid={ inputId }\n\t\t\t\t\tisResetValueOnUnitChange\n\t\t\t\t\tmin={ MIN_SPACER_SIZE }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tvalue={ computedValue }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<View className=\"tools-panel-item-spacing\">\n\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\tvalues={ { all: computedValue } }\n\t\t\t\t\t\tonChange={ ( { all } ) => {\n\t\t\t\t\t\t\tonChange( all );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tsides={ [ 'all' ] }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\tsplitOnAxis={ false }\n\t\t\t\t\t\tshowSideInLabel={ false }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default function SpacerControls( {\n\tsetAttributes,\n\torientation,\n\theight,\n\twidth,\n\tisResizing,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\theight: '100px',\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t{ orientation === 'horizontal' && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => width !== undefined }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { width: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\tvalue={ width }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { width: nextWidth } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ orientation !== 'horizontal' && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => height !== '100px' }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { height: '100px' } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DimensionInput\n\t\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\t\tvalue={ height }\n\t\t\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { height: nextHeight } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|