@wordpress/patterns 2.4.0 → 2.6.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 +4 -0
- package/build/components/create-pattern-modal.js +1 -0
- package/build/components/create-pattern-modal.js.map +1 -1
- package/build/components/pattern-overrides-controls.js +18 -27
- package/build/components/pattern-overrides-controls.js.map +1 -1
- package/build-module/components/create-pattern-modal.js +1 -0
- package/build-module/components/create-pattern-modal.js.map +1 -1
- package/build-module/components/pattern-overrides-controls.js +19 -28
- package/build-module/components/pattern-overrides-controls.js.map +1 -1
- package/build-style/style-rtl.css +5 -2
- package/build-style/style.css +5 -2
- package/package.json +16 -16
- package/src/components/create-pattern-modal.js +1 -0
- package/src/components/pattern-overrides-controls.js +18 -29
package/CHANGELOG.md
CHANGED
|
@@ -111,6 +111,7 @@ function CreatePatternModalContents({
|
|
|
111
111
|
onChange: setCategoryTerms,
|
|
112
112
|
categoryMap: categoryMap
|
|
113
113
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
|
|
114
|
+
__nextHasNoMarginBottom: true,
|
|
114
115
|
label: (0, _i18n._x)('Synced', 'pattern (singular)'),
|
|
115
116
|
help: (0, _i18n.__)('Sync this pattern across multiple locations.'),
|
|
116
117
|
checked: syncType === _constants.PATTERN_SYNC_TYPES.full,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_element","_data","_notices","_coreData","_constants","_store","_categorySelector","_interopRequireDefault","_privateHooks","_lockUnlock","_jsxRuntime","CreatePatternModal","className","modalTitle","restProps","defaultModalTitle","useSelect","select","coreStore","getPostType","PATTERN_TYPES","user","labels","add_new_item","jsx","Modal","title","onRequestClose","onClose","overlayClassName","focusOnMount","size","children","CreatePatternModalContents","confirmLabel","__","defaultCategories","content","onError","onSuccess","defaultSyncType","PATTERN_SYNC_TYPES","full","defaultTitle","syncType","setSyncType","useState","categoryTerms","setCategoryTerms","setTitle","isSaving","setIsSaving","createPattern","unlock","useDispatch","patternsStore","createErrorNotice","noticesStore","categoryMap","findOrCreateTerm","useAddPatternCategory","onCreate","patternTitle","sync","categories","Promise","all","map","termName","newPattern","pattern","categoryId","PATTERN_DEFAULT_CATEGORY","error","message","type","id","onSubmit","event","preventDefault","jsxs","__experimentalVStack","spacing","TextControl","label","value","onChange","placeholder","__nextHasNoMarginBottom","__next40pxDefaultSize","default","ToggleControl","_x","help","checked","unsynced","__experimentalHStack","justify","Button","variant","onClick","isBusy"],"sources":["@wordpress/patterns/src/components/create-pattern-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tModal,\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_TYPES,\n} from '../constants';\nimport { store as patternsStore } from '../store';\nimport CategorySelector from './category-selector';\nimport { useAddPatternCategory } from '../private-hooks';\nimport { unlock } from '../lock-unlock';\n\nexport default function CreatePatternModal( {\n\tclassName = 'patterns-menu-items__convert-modal',\n\tmodalTitle,\n\t...restProps\n} ) {\n\tconst defaultModalTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t?.add_new_item,\n\t\t[]\n\t);\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle || defaultModalTitle }\n\t\t\tonRequestClose={ restProps.onClose }\n\t\t\toverlayClassName={ className }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<CreatePatternModalContents { ...restProps } />\n\t\t</Modal>\n\t);\n}\n\nexport function CreatePatternModalContents( {\n\tconfirmLabel = __( 'Add' ),\n\tdefaultCategories = [],\n\tcontent,\n\tonClose,\n\tonError,\n\tonSuccess,\n\tdefaultSyncType = PATTERN_SYNC_TYPES.full,\n\tdefaultTitle = '',\n} ) {\n\tconst [ syncType, setSyncType ] = useState( defaultSyncType );\n\tconst [ categoryTerms, setCategoryTerms ] = useState( defaultCategories );\n\tconst [ title, setTitle ] = useState( defaultTitle );\n\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\tconst { createPattern } = unlock( useDispatch( patternsStore ) );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\n\tasync function onCreate( patternTitle, sync ) {\n\t\tif ( ! title || isSaving ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSaving( true );\n\t\t\tconst categories = await Promise.all(\n\t\t\t\tcategoryTerms.map( ( termName ) =>\n\t\t\t\t\tfindOrCreateTerm( termName )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tconst newPattern = await createPattern(\n\t\t\t\tpatternTitle,\n\t\t\t\tsync,\n\t\t\t\ttypeof content === 'function' ? content() : content,\n\t\t\t\tcategories\n\t\t\t);\n\t\t\tonSuccess( {\n\t\t\t\tpattern: newPattern,\n\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-create',\n\t\t\t} );\n\t\t\tonError?.();\n\t\t} finally {\n\t\t\tsetIsSaving( false );\n\t\t\tsetCategoryTerms( [] );\n\t\t\tsetTitle( '' );\n\t\t}\n\t}\n\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonCreate( title, syncType );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t\t<CategorySelector\n\t\t\t\t\tcategoryTerms={ categoryTerms }\n\t\t\t\t\tonChange={ setCategoryTerms }\n\t\t\t\t\tcategoryMap={ categoryMap }\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ _x( 'Synced', 'pattern (singular)' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Sync this pattern across multiple locations.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ syncType === PATTERN_SYNC_TYPES.full }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\tsyncType === PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t\t\t? PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t\t: PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title || isSaving }\n\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ confirmLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_element","_data","_notices","_coreData","_constants","_store","_categorySelector","_interopRequireDefault","_privateHooks","_lockUnlock","_jsxRuntime","CreatePatternModal","className","modalTitle","restProps","defaultModalTitle","useSelect","select","coreStore","getPostType","PATTERN_TYPES","user","labels","add_new_item","jsx","Modal","title","onRequestClose","onClose","overlayClassName","focusOnMount","size","children","CreatePatternModalContents","confirmLabel","__","defaultCategories","content","onError","onSuccess","defaultSyncType","PATTERN_SYNC_TYPES","full","defaultTitle","syncType","setSyncType","useState","categoryTerms","setCategoryTerms","setTitle","isSaving","setIsSaving","createPattern","unlock","useDispatch","patternsStore","createErrorNotice","noticesStore","categoryMap","findOrCreateTerm","useAddPatternCategory","onCreate","patternTitle","sync","categories","Promise","all","map","termName","newPattern","pattern","categoryId","PATTERN_DEFAULT_CATEGORY","error","message","type","id","onSubmit","event","preventDefault","jsxs","__experimentalVStack","spacing","TextControl","label","value","onChange","placeholder","__nextHasNoMarginBottom","__next40pxDefaultSize","default","ToggleControl","_x","help","checked","unsynced","__experimentalHStack","justify","Button","variant","onClick","isBusy"],"sources":["@wordpress/patterns/src/components/create-pattern-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tModal,\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_TYPES,\n} from '../constants';\nimport { store as patternsStore } from '../store';\nimport CategorySelector from './category-selector';\nimport { useAddPatternCategory } from '../private-hooks';\nimport { unlock } from '../lock-unlock';\n\nexport default function CreatePatternModal( {\n\tclassName = 'patterns-menu-items__convert-modal',\n\tmodalTitle,\n\t...restProps\n} ) {\n\tconst defaultModalTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t?.add_new_item,\n\t\t[]\n\t);\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle || defaultModalTitle }\n\t\t\tonRequestClose={ restProps.onClose }\n\t\t\toverlayClassName={ className }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<CreatePatternModalContents { ...restProps } />\n\t\t</Modal>\n\t);\n}\n\nexport function CreatePatternModalContents( {\n\tconfirmLabel = __( 'Add' ),\n\tdefaultCategories = [],\n\tcontent,\n\tonClose,\n\tonError,\n\tonSuccess,\n\tdefaultSyncType = PATTERN_SYNC_TYPES.full,\n\tdefaultTitle = '',\n} ) {\n\tconst [ syncType, setSyncType ] = useState( defaultSyncType );\n\tconst [ categoryTerms, setCategoryTerms ] = useState( defaultCategories );\n\tconst [ title, setTitle ] = useState( defaultTitle );\n\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\tconst { createPattern } = unlock( useDispatch( patternsStore ) );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\n\tasync function onCreate( patternTitle, sync ) {\n\t\tif ( ! title || isSaving ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSaving( true );\n\t\t\tconst categories = await Promise.all(\n\t\t\t\tcategoryTerms.map( ( termName ) =>\n\t\t\t\t\tfindOrCreateTerm( termName )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tconst newPattern = await createPattern(\n\t\t\t\tpatternTitle,\n\t\t\t\tsync,\n\t\t\t\ttypeof content === 'function' ? content() : content,\n\t\t\t\tcategories\n\t\t\t);\n\t\t\tonSuccess( {\n\t\t\t\tpattern: newPattern,\n\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-create',\n\t\t\t} );\n\t\t\tonError?.();\n\t\t} finally {\n\t\t\tsetIsSaving( false );\n\t\t\tsetCategoryTerms( [] );\n\t\t\tsetTitle( '' );\n\t\t}\n\t}\n\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonCreate( title, syncType );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t\t<CategorySelector\n\t\t\t\t\tcategoryTerms={ categoryTerms }\n\t\t\t\t\tonChange={ setCategoryTerms }\n\t\t\t\t\tcategoryMap={ categoryMap }\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ _x( 'Synced', 'pattern (singular)' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Sync this pattern across multiple locations.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ syncType === PATTERN_SYNC_TYPES.full }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\tsyncType === PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t\t\t? PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t\t: PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title || isSaving }\n\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ confirmLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ var _components = require("@wordpress/components");
|
|
|
10
10
|
var _i18n = require("@wordpress/i18n");
|
|
11
11
|
var _constants = require("../constants");
|
|
12
12
|
var _allowOverridesModal = require("./allow-overrides-modal");
|
|
13
|
+
var _lockUnlock = require("../lock-unlock");
|
|
13
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
15
|
/**
|
|
15
16
|
* WordPress dependencies
|
|
@@ -19,24 +20,9 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
19
20
|
* Internal dependencies
|
|
20
21
|
*/
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
26
|
-
delete updatedBindings.__default;
|
|
27
|
-
if (!Object.keys(updatedBindings).length) {
|
|
28
|
-
updatedBindings = undefined;
|
|
29
|
-
}
|
|
30
|
-
return updatedBindings;
|
|
31
|
-
}
|
|
32
|
-
function addBindings(bindings) {
|
|
33
|
-
return {
|
|
34
|
-
...bindings,
|
|
35
|
-
__default: {
|
|
36
|
-
source: _constants.PATTERN_OVERRIDES_BINDING_SOURCE
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
}
|
|
23
|
+
const {
|
|
24
|
+
useBlockBindingsUtils
|
|
25
|
+
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
40
26
|
function PatternOverridesControls({
|
|
41
27
|
attributes,
|
|
42
28
|
setAttributes,
|
|
@@ -49,18 +35,22 @@ function PatternOverridesControls({
|
|
|
49
35
|
const defaultBindings = attributes.metadata?.bindings?.__default;
|
|
50
36
|
const hasOverrides = hasName && defaultBindings?.source === _constants.PATTERN_OVERRIDES_BINDING_SOURCE;
|
|
51
37
|
const isConnectedToOtherSources = defaultBindings?.source && defaultBindings.source !== _constants.PATTERN_OVERRIDES_BINDING_SOURCE;
|
|
38
|
+
const {
|
|
39
|
+
updateBlockBindings
|
|
40
|
+
} = useBlockBindingsUtils();
|
|
52
41
|
function updateBindings(isChecked, customName) {
|
|
53
|
-
const prevBindings = attributes?.metadata?.bindings;
|
|
54
|
-
const updatedBindings = isChecked ? addBindings(prevBindings) : removeBindings(prevBindings);
|
|
55
|
-
const updatedMetadata = {
|
|
56
|
-
...attributes.metadata,
|
|
57
|
-
bindings: updatedBindings
|
|
58
|
-
};
|
|
59
42
|
if (customName) {
|
|
60
|
-
|
|
43
|
+
setAttributes({
|
|
44
|
+
metadata: {
|
|
45
|
+
...attributes.metadata,
|
|
46
|
+
name: customName
|
|
47
|
+
}
|
|
48
|
+
});
|
|
61
49
|
}
|
|
62
|
-
|
|
63
|
-
|
|
50
|
+
updateBlockBindings({
|
|
51
|
+
__default: isChecked ? {
|
|
52
|
+
source: _constants.PATTERN_OVERRIDES_BINDING_SOURCE
|
|
53
|
+
} : undefined
|
|
64
54
|
});
|
|
65
55
|
}
|
|
66
56
|
|
|
@@ -74,6 +64,7 @@ function PatternOverridesControls({
|
|
|
74
64
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
|
|
75
65
|
group: "advanced",
|
|
76
66
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.BaseControl, {
|
|
67
|
+
__nextHasNoMarginBottom: true,
|
|
77
68
|
id: controlId,
|
|
78
69
|
label: (0, _i18n.__)('Overrides'),
|
|
79
70
|
help: helpText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_blockEditor","_components","_i18n","_constants","_allowOverridesModal","
|
|
1
|
+
{"version":3,"names":["_element","require","_blockEditor","_components","_i18n","_constants","_allowOverridesModal","_lockUnlock","_jsxRuntime","useBlockBindingsUtils","unlock","blockEditorPrivateApis","PatternOverridesControls","attributes","setAttributes","name","blockName","controlId","useId","showAllowOverridesModal","setShowAllowOverridesModal","useState","showDisallowOverridesModal","setShowDisallowOverridesModal","hasName","metadata","defaultBindings","bindings","__default","hasOverrides","source","PATTERN_OVERRIDES_BINDING_SOURCE","isConnectedToOtherSources","updateBlockBindings","updateBindings","isChecked","customName","undefined","hasUnsupportedImageAttributes","caption","length","href","helpText","__","jsxs","Fragment","children","jsx","InspectorControls","group","BaseControl","__nextHasNoMarginBottom","id","label","help","Button","__next40pxDefaultSize","className","variant","onClick","disabled","accessibleWhenDisabled","AllowOverridesModal","initialName","onClose","onSave","newName","DisallowOverridesModal","_default","exports","default"],"sources":["@wordpress/patterns/src/components/pattern-overrides-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useId } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { BaseControl, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { PATTERN_OVERRIDES_BINDING_SOURCE } from '../constants';\nimport {\n\tAllowOverridesModal,\n\tDisallowOverridesModal,\n} from './allow-overrides-modal';\nimport { unlock } from '../lock-unlock';\n\nconst { useBlockBindingsUtils } = unlock( blockEditorPrivateApis );\n\nfunction PatternOverridesControls( {\n\tattributes,\n\tsetAttributes,\n\tname: blockName,\n} ) {\n\tconst controlId = useId();\n\tconst [ showAllowOverridesModal, setShowAllowOverridesModal ] =\n\t\tuseState( false );\n\tconst [ showDisallowOverridesModal, setShowDisallowOverridesModal ] =\n\t\tuseState( false );\n\n\tconst hasName = !! attributes.metadata?.name;\n\tconst defaultBindings = attributes.metadata?.bindings?.__default;\n\tconst hasOverrides =\n\t\thasName && defaultBindings?.source === PATTERN_OVERRIDES_BINDING_SOURCE;\n\tconst isConnectedToOtherSources =\n\t\tdefaultBindings?.source &&\n\t\tdefaultBindings.source !== PATTERN_OVERRIDES_BINDING_SOURCE;\n\tconst { updateBlockBindings } = useBlockBindingsUtils();\n\n\tfunction updateBindings( isChecked, customName ) {\n\t\tif ( customName ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmetadata: {\n\t\t\t\t\t...attributes.metadata,\n\t\t\t\t\tname: customName,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tupdateBlockBindings( {\n\t\t\t__default: isChecked\n\t\t\t\t? { source: PATTERN_OVERRIDES_BINDING_SOURCE }\n\t\t\t\t: undefined,\n\t\t} );\n\t}\n\n\t// Avoid overwriting other (e.g. meta) bindings.\n\tif ( isConnectedToOtherSources ) {\n\t\treturn null;\n\t}\n\n\tconst hasUnsupportedImageAttributes =\n\t\tblockName === 'core/image' &&\n\t\t( !! attributes.caption?.length || !! attributes.href?.length );\n\n\tconst helpText =\n\t\t! hasOverrides && hasUnsupportedImageAttributes\n\t\t\t? __(\n\t\t\t\t\t`Overrides currently don't support image captions or links. Remove the caption or link first before enabling overrides.`\n\t\t\t )\n\t\t\t: __(\n\t\t\t\t\t'Allow changes to this block throughout instances of this pattern.'\n\t\t\t );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<BaseControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tid={ controlId }\n\t\t\t\t\tlabel={ __( 'Overrides' ) }\n\t\t\t\t\thelp={ helpText }\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"pattern-overrides-control__allow-overrides-button\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( hasOverrides ) {\n\t\t\t\t\t\t\t\tsetShowDisallowOverridesModal( true );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsetShowAllowOverridesModal( true );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t! hasOverrides && hasUnsupportedImageAttributes\n\t\t\t\t\t\t}\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ hasOverrides\n\t\t\t\t\t\t\t? __( 'Disable overrides' )\n\t\t\t\t\t\t\t: __( 'Enable overrides' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</BaseControl>\n\t\t\t</InspectorControls>\n\n\t\t\t{ showAllowOverridesModal && (\n\t\t\t\t<AllowOverridesModal\n\t\t\t\t\tinitialName={ attributes.metadata?.name }\n\t\t\t\t\tonClose={ () => setShowAllowOverridesModal( false ) }\n\t\t\t\t\tonSave={ ( newName ) => {\n\t\t\t\t\t\tupdateBindings( true, newName );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showDisallowOverridesModal && (\n\t\t\t\t<DisallowOverridesModal\n\t\t\t\t\tonClose={ () => setShowDisallowOverridesModal( false ) }\n\t\t\t\t\tonSave={ () => updateBindings( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default PatternOverridesControls;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -103,6 +103,7 @@ export function CreatePatternModalContents({
|
|
|
103
103
|
onChange: setCategoryTerms,
|
|
104
104
|
categoryMap: categoryMap
|
|
105
105
|
}), /*#__PURE__*/_jsx(ToggleControl, {
|
|
106
|
+
__nextHasNoMarginBottom: true,
|
|
106
107
|
label: _x('Synced', 'pattern (singular)'),
|
|
107
108
|
help: __('Sync this pattern across multiple locations.'),
|
|
108
109
|
checked: syncType === PATTERN_SYNC_TYPES.full,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Modal","Button","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","ToggleControl","__","_x","useState","useDispatch","useSelect","store","noticesStore","coreStore","PATTERN_DEFAULT_CATEGORY","PATTERN_SYNC_TYPES","PATTERN_TYPES","patternsStore","CategorySelector","useAddPatternCategory","unlock","jsx","_jsx","jsxs","_jsxs","CreatePatternModal","className","modalTitle","restProps","defaultModalTitle","select","getPostType","user","labels","add_new_item","title","onRequestClose","onClose","overlayClassName","focusOnMount","size","children","CreatePatternModalContents","confirmLabel","defaultCategories","content","onError","onSuccess","defaultSyncType","full","defaultTitle","syncType","setSyncType","categoryTerms","setCategoryTerms","setTitle","isSaving","setIsSaving","createPattern","createErrorNotice","categoryMap","findOrCreateTerm","onCreate","patternTitle","sync","categories","Promise","all","map","termName","newPattern","pattern","categoryId","error","message","type","id","onSubmit","event","preventDefault","spacing","label","value","onChange","placeholder","__nextHasNoMarginBottom","__next40pxDefaultSize","help","checked","unsynced","justify","variant","onClick","isBusy"],"sources":["@wordpress/patterns/src/components/create-pattern-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tModal,\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_TYPES,\n} from '../constants';\nimport { store as patternsStore } from '../store';\nimport CategorySelector from './category-selector';\nimport { useAddPatternCategory } from '../private-hooks';\nimport { unlock } from '../lock-unlock';\n\nexport default function CreatePatternModal( {\n\tclassName = 'patterns-menu-items__convert-modal',\n\tmodalTitle,\n\t...restProps\n} ) {\n\tconst defaultModalTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t?.add_new_item,\n\t\t[]\n\t);\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle || defaultModalTitle }\n\t\t\tonRequestClose={ restProps.onClose }\n\t\t\toverlayClassName={ className }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<CreatePatternModalContents { ...restProps } />\n\t\t</Modal>\n\t);\n}\n\nexport function CreatePatternModalContents( {\n\tconfirmLabel = __( 'Add' ),\n\tdefaultCategories = [],\n\tcontent,\n\tonClose,\n\tonError,\n\tonSuccess,\n\tdefaultSyncType = PATTERN_SYNC_TYPES.full,\n\tdefaultTitle = '',\n} ) {\n\tconst [ syncType, setSyncType ] = useState( defaultSyncType );\n\tconst [ categoryTerms, setCategoryTerms ] = useState( defaultCategories );\n\tconst [ title, setTitle ] = useState( defaultTitle );\n\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\tconst { createPattern } = unlock( useDispatch( patternsStore ) );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\n\tasync function onCreate( patternTitle, sync ) {\n\t\tif ( ! title || isSaving ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSaving( true );\n\t\t\tconst categories = await Promise.all(\n\t\t\t\tcategoryTerms.map( ( termName ) =>\n\t\t\t\t\tfindOrCreateTerm( termName )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tconst newPattern = await createPattern(\n\t\t\t\tpatternTitle,\n\t\t\t\tsync,\n\t\t\t\ttypeof content === 'function' ? content() : content,\n\t\t\t\tcategories\n\t\t\t);\n\t\t\tonSuccess( {\n\t\t\t\tpattern: newPattern,\n\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-create',\n\t\t\t} );\n\t\t\tonError?.();\n\t\t} finally {\n\t\t\tsetIsSaving( false );\n\t\t\tsetCategoryTerms( [] );\n\t\t\tsetTitle( '' );\n\t\t}\n\t}\n\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonCreate( title, syncType );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t\t<CategorySelector\n\t\t\t\t\tcategoryTerms={ categoryTerms }\n\t\t\t\t\tonChange={ setCategoryTerms }\n\t\t\t\t\tcategoryMap={ categoryMap }\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ _x( 'Synced', 'pattern (singular)' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Sync this pattern across multiple locations.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ syncType === PATTERN_SYNC_TYPES.full }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\tsyncType === PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t\t\t? PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t\t: PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title || isSaving }\n\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ confirmLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["Modal","Button","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","ToggleControl","__","_x","useState","useDispatch","useSelect","store","noticesStore","coreStore","PATTERN_DEFAULT_CATEGORY","PATTERN_SYNC_TYPES","PATTERN_TYPES","patternsStore","CategorySelector","useAddPatternCategory","unlock","jsx","_jsx","jsxs","_jsxs","CreatePatternModal","className","modalTitle","restProps","defaultModalTitle","select","getPostType","user","labels","add_new_item","title","onRequestClose","onClose","overlayClassName","focusOnMount","size","children","CreatePatternModalContents","confirmLabel","defaultCategories","content","onError","onSuccess","defaultSyncType","full","defaultTitle","syncType","setSyncType","categoryTerms","setCategoryTerms","setTitle","isSaving","setIsSaving","createPattern","createErrorNotice","categoryMap","findOrCreateTerm","onCreate","patternTitle","sync","categories","Promise","all","map","termName","newPattern","pattern","categoryId","error","message","type","id","onSubmit","event","preventDefault","spacing","label","value","onChange","placeholder","__nextHasNoMarginBottom","__next40pxDefaultSize","help","checked","unsynced","justify","variant","onClick","isBusy"],"sources":["@wordpress/patterns/src/components/create-pattern-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tModal,\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tToggleControl,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_TYPES,\n} from '../constants';\nimport { store as patternsStore } from '../store';\nimport CategorySelector from './category-selector';\nimport { useAddPatternCategory } from '../private-hooks';\nimport { unlock } from '../lock-unlock';\n\nexport default function CreatePatternModal( {\n\tclassName = 'patterns-menu-items__convert-modal',\n\tmodalTitle,\n\t...restProps\n} ) {\n\tconst defaultModalTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t?.add_new_item,\n\t\t[]\n\t);\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle || defaultModalTitle }\n\t\t\tonRequestClose={ restProps.onClose }\n\t\t\toverlayClassName={ className }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t>\n\t\t\t<CreatePatternModalContents { ...restProps } />\n\t\t</Modal>\n\t);\n}\n\nexport function CreatePatternModalContents( {\n\tconfirmLabel = __( 'Add' ),\n\tdefaultCategories = [],\n\tcontent,\n\tonClose,\n\tonError,\n\tonSuccess,\n\tdefaultSyncType = PATTERN_SYNC_TYPES.full,\n\tdefaultTitle = '',\n} ) {\n\tconst [ syncType, setSyncType ] = useState( defaultSyncType );\n\tconst [ categoryTerms, setCategoryTerms ] = useState( defaultCategories );\n\tconst [ title, setTitle ] = useState( defaultTitle );\n\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\tconst { createPattern } = unlock( useDispatch( patternsStore ) );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\n\tasync function onCreate( patternTitle, sync ) {\n\t\tif ( ! title || isSaving ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsSaving( true );\n\t\t\tconst categories = await Promise.all(\n\t\t\t\tcategoryTerms.map( ( termName ) =>\n\t\t\t\t\tfindOrCreateTerm( termName )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tconst newPattern = await createPattern(\n\t\t\t\tpatternTitle,\n\t\t\t\tsync,\n\t\t\t\ttypeof content === 'function' ? content() : content,\n\t\t\t\tcategories\n\t\t\t);\n\t\t\tonSuccess( {\n\t\t\t\tpattern: newPattern,\n\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-create',\n\t\t\t} );\n\t\t\tonError?.();\n\t\t} finally {\n\t\t\tsetIsSaving( false );\n\t\t\tsetCategoryTerms( [] );\n\t\t\tsetTitle( '' );\n\t\t}\n\t}\n\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonCreate( title, syncType );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t\t<CategorySelector\n\t\t\t\t\tcategoryTerms={ categoryTerms }\n\t\t\t\t\tonChange={ setCategoryTerms }\n\t\t\t\t\tcategoryMap={ categoryMap }\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ _x( 'Synced', 'pattern (singular)' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Sync this pattern across multiple locations.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ syncType === PATTERN_SYNC_TYPES.full }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tsetSyncType(\n\t\t\t\t\t\t\tsyncType === PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t\t\t? PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t\t: PATTERN_SYNC_TYPES.full\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\tsetTitle( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title || isSaving }\n\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ confirmLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useState, useId } from '@wordpress/element';
|
|
5
|
-
import { InspectorControls } from '@wordpress/block-editor';
|
|
5
|
+
import { InspectorControls, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
6
6
|
import { BaseControl, Button } from '@wordpress/components';
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
8
|
|
|
@@ -11,27 +11,13 @@ import { __ } from '@wordpress/i18n';
|
|
|
11
11
|
*/
|
|
12
12
|
import { PATTERN_OVERRIDES_BINDING_SOURCE } from '../constants';
|
|
13
13
|
import { AllowOverridesModal, DisallowOverridesModal } from './allow-overrides-modal';
|
|
14
|
+
import { unlock } from '../lock-unlock';
|
|
14
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
16
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
16
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
21
|
-
delete updatedBindings.__default;
|
|
22
|
-
if (!Object.keys(updatedBindings).length) {
|
|
23
|
-
updatedBindings = undefined;
|
|
24
|
-
}
|
|
25
|
-
return updatedBindings;
|
|
26
|
-
}
|
|
27
|
-
function addBindings(bindings) {
|
|
28
|
-
return {
|
|
29
|
-
...bindings,
|
|
30
|
-
__default: {
|
|
31
|
-
source: PATTERN_OVERRIDES_BINDING_SOURCE
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
}
|
|
18
|
+
const {
|
|
19
|
+
useBlockBindingsUtils
|
|
20
|
+
} = unlock(blockEditorPrivateApis);
|
|
35
21
|
function PatternOverridesControls({
|
|
36
22
|
attributes,
|
|
37
23
|
setAttributes,
|
|
@@ -44,18 +30,22 @@ function PatternOverridesControls({
|
|
|
44
30
|
const defaultBindings = attributes.metadata?.bindings?.__default;
|
|
45
31
|
const hasOverrides = hasName && defaultBindings?.source === PATTERN_OVERRIDES_BINDING_SOURCE;
|
|
46
32
|
const isConnectedToOtherSources = defaultBindings?.source && defaultBindings.source !== PATTERN_OVERRIDES_BINDING_SOURCE;
|
|
33
|
+
const {
|
|
34
|
+
updateBlockBindings
|
|
35
|
+
} = useBlockBindingsUtils();
|
|
47
36
|
function updateBindings(isChecked, customName) {
|
|
48
|
-
const prevBindings = attributes?.metadata?.bindings;
|
|
49
|
-
const updatedBindings = isChecked ? addBindings(prevBindings) : removeBindings(prevBindings);
|
|
50
|
-
const updatedMetadata = {
|
|
51
|
-
...attributes.metadata,
|
|
52
|
-
bindings: updatedBindings
|
|
53
|
-
};
|
|
54
37
|
if (customName) {
|
|
55
|
-
|
|
38
|
+
setAttributes({
|
|
39
|
+
metadata: {
|
|
40
|
+
...attributes.metadata,
|
|
41
|
+
name: customName
|
|
42
|
+
}
|
|
43
|
+
});
|
|
56
44
|
}
|
|
57
|
-
|
|
58
|
-
|
|
45
|
+
updateBlockBindings({
|
|
46
|
+
__default: isChecked ? {
|
|
47
|
+
source: PATTERN_OVERRIDES_BINDING_SOURCE
|
|
48
|
+
} : undefined
|
|
59
49
|
});
|
|
60
50
|
}
|
|
61
51
|
|
|
@@ -69,6 +59,7 @@ function PatternOverridesControls({
|
|
|
69
59
|
children: [/*#__PURE__*/_jsx(InspectorControls, {
|
|
70
60
|
group: "advanced",
|
|
71
61
|
children: /*#__PURE__*/_jsx(BaseControl, {
|
|
62
|
+
__nextHasNoMarginBottom: true,
|
|
72
63
|
id: controlId,
|
|
73
64
|
label: __('Overrides'),
|
|
74
65
|
help: helpText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useId","InspectorControls","BaseControl","Button","__","PATTERN_OVERRIDES_BINDING_SOURCE","AllowOverridesModal","DisallowOverridesModal","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","
|
|
1
|
+
{"version":3,"names":["useState","useId","InspectorControls","privateApis","blockEditorPrivateApis","BaseControl","Button","__","PATTERN_OVERRIDES_BINDING_SOURCE","AllowOverridesModal","DisallowOverridesModal","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useBlockBindingsUtils","PatternOverridesControls","attributes","setAttributes","name","blockName","controlId","showAllowOverridesModal","setShowAllowOverridesModal","showDisallowOverridesModal","setShowDisallowOverridesModal","hasName","metadata","defaultBindings","bindings","__default","hasOverrides","source","isConnectedToOtherSources","updateBlockBindings","updateBindings","isChecked","customName","undefined","hasUnsupportedImageAttributes","caption","length","href","helpText","children","group","__nextHasNoMarginBottom","id","label","help","__next40pxDefaultSize","className","variant","onClick","disabled","accessibleWhenDisabled","initialName","onClose","onSave","newName"],"sources":["@wordpress/patterns/src/components/pattern-overrides-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useId } from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { BaseControl, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { PATTERN_OVERRIDES_BINDING_SOURCE } from '../constants';\nimport {\n\tAllowOverridesModal,\n\tDisallowOverridesModal,\n} from './allow-overrides-modal';\nimport { unlock } from '../lock-unlock';\n\nconst { useBlockBindingsUtils } = unlock( blockEditorPrivateApis );\n\nfunction PatternOverridesControls( {\n\tattributes,\n\tsetAttributes,\n\tname: blockName,\n} ) {\n\tconst controlId = useId();\n\tconst [ showAllowOverridesModal, setShowAllowOverridesModal ] =\n\t\tuseState( false );\n\tconst [ showDisallowOverridesModal, setShowDisallowOverridesModal ] =\n\t\tuseState( false );\n\n\tconst hasName = !! attributes.metadata?.name;\n\tconst defaultBindings = attributes.metadata?.bindings?.__default;\n\tconst hasOverrides =\n\t\thasName && defaultBindings?.source === PATTERN_OVERRIDES_BINDING_SOURCE;\n\tconst isConnectedToOtherSources =\n\t\tdefaultBindings?.source &&\n\t\tdefaultBindings.source !== PATTERN_OVERRIDES_BINDING_SOURCE;\n\tconst { updateBlockBindings } = useBlockBindingsUtils();\n\n\tfunction updateBindings( isChecked, customName ) {\n\t\tif ( customName ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmetadata: {\n\t\t\t\t\t...attributes.metadata,\n\t\t\t\t\tname: customName,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tupdateBlockBindings( {\n\t\t\t__default: isChecked\n\t\t\t\t? { source: PATTERN_OVERRIDES_BINDING_SOURCE }\n\t\t\t\t: undefined,\n\t\t} );\n\t}\n\n\t// Avoid overwriting other (e.g. meta) bindings.\n\tif ( isConnectedToOtherSources ) {\n\t\treturn null;\n\t}\n\n\tconst hasUnsupportedImageAttributes =\n\t\tblockName === 'core/image' &&\n\t\t( !! attributes.caption?.length || !! attributes.href?.length );\n\n\tconst helpText =\n\t\t! hasOverrides && hasUnsupportedImageAttributes\n\t\t\t? __(\n\t\t\t\t\t`Overrides currently don't support image captions or links. Remove the caption or link first before enabling overrides.`\n\t\t\t )\n\t\t\t: __(\n\t\t\t\t\t'Allow changes to this block throughout instances of this pattern.'\n\t\t\t );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<BaseControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tid={ controlId }\n\t\t\t\t\tlabel={ __( 'Overrides' ) }\n\t\t\t\t\thelp={ helpText }\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"pattern-overrides-control__allow-overrides-button\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( hasOverrides ) {\n\t\t\t\t\t\t\t\tsetShowDisallowOverridesModal( true );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsetShowAllowOverridesModal( true );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t! hasOverrides && hasUnsupportedImageAttributes\n\t\t\t\t\t\t}\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ hasOverrides\n\t\t\t\t\t\t\t? __( 'Disable overrides' )\n\t\t\t\t\t\t\t: __( 'Enable overrides' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</BaseControl>\n\t\t\t</InspectorControls>\n\n\t\t\t{ showAllowOverridesModal && (\n\t\t\t\t<AllowOverridesModal\n\t\t\t\t\tinitialName={ attributes.metadata?.name }\n\t\t\t\t\tonClose={ () => setShowAllowOverridesModal( false ) }\n\t\t\t\t\tonSave={ ( newName ) => {\n\t\t\t\t\t\tupdateBindings( true, newName );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showDisallowOverridesModal && (\n\t\t\t\t<DisallowOverridesModal\n\t\t\t\t\tonClose={ () => setShowDisallowOverridesModal( false ) }\n\t\t\t\t\tonSave={ () => updateBindings( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default PatternOverridesControls;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -34,10 +34,13 @@
|
|
|
34
34
|
* https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
|
|
35
35
|
*/
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
37
|
+
* Radius scale.
|
|
38
|
+
*/
|
|
39
|
+
/**
|
|
40
|
+
* Elevation scale.
|
|
38
41
|
*/
|
|
39
42
|
/**
|
|
40
|
-
*
|
|
43
|
+
* Dimensions.
|
|
41
44
|
*/
|
|
42
45
|
/**
|
|
43
46
|
* Editor widths.
|
package/build-style/style.css
CHANGED
|
@@ -34,10 +34,13 @@
|
|
|
34
34
|
* https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
|
|
35
35
|
*/
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
37
|
+
* Radius scale.
|
|
38
|
+
*/
|
|
39
|
+
/**
|
|
40
|
+
* Elevation scale.
|
|
38
41
|
*/
|
|
39
42
|
/**
|
|
40
|
-
*
|
|
43
|
+
* Dimensions.
|
|
41
44
|
*/
|
|
42
45
|
/**
|
|
43
46
|
* Editor widths.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/patterns",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "Management of user pattern editing.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -32,20 +32,20 @@
|
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@babel/runtime": "^7.16.0",
|
|
35
|
-
"@wordpress/a11y": "^4.
|
|
36
|
-
"@wordpress/block-editor": "^
|
|
37
|
-
"@wordpress/blocks": "^13.
|
|
38
|
-
"@wordpress/components": "^28.
|
|
39
|
-
"@wordpress/compose": "^7.
|
|
40
|
-
"@wordpress/core-data": "^7.
|
|
41
|
-
"@wordpress/data": "^10.
|
|
42
|
-
"@wordpress/element": "^6.
|
|
43
|
-
"@wordpress/html-entities": "^4.
|
|
44
|
-
"@wordpress/i18n": "^5.
|
|
45
|
-
"@wordpress/icons": "^10.
|
|
46
|
-
"@wordpress/notices": "^5.
|
|
47
|
-
"@wordpress/private-apis": "^1.
|
|
48
|
-
"@wordpress/url": "^4.
|
|
35
|
+
"@wordpress/a11y": "^4.6.0",
|
|
36
|
+
"@wordpress/block-editor": "^14.1.0",
|
|
37
|
+
"@wordpress/blocks": "^13.6.0",
|
|
38
|
+
"@wordpress/components": "^28.6.0",
|
|
39
|
+
"@wordpress/compose": "^7.6.0",
|
|
40
|
+
"@wordpress/core-data": "^7.6.0",
|
|
41
|
+
"@wordpress/data": "^10.6.0",
|
|
42
|
+
"@wordpress/element": "^6.6.0",
|
|
43
|
+
"@wordpress/html-entities": "^4.6.0",
|
|
44
|
+
"@wordpress/i18n": "^5.6.0",
|
|
45
|
+
"@wordpress/icons": "^10.6.0",
|
|
46
|
+
"@wordpress/notices": "^5.6.0",
|
|
47
|
+
"@wordpress/private-apis": "^1.6.0",
|
|
48
|
+
"@wordpress/url": "^4.6.0"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"react": "^18.0.0",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "ab9564947967bb3f00343130954b9efacba6cdd7"
|
|
58
58
|
}
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useState, useId } from '@wordpress/element';
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
InspectorControls,
|
|
7
|
+
privateApis as blockEditorPrivateApis,
|
|
8
|
+
} from '@wordpress/block-editor';
|
|
6
9
|
import { BaseControl, Button } from '@wordpress/components';
|
|
7
10
|
import { __ } from '@wordpress/i18n';
|
|
8
11
|
|
|
@@ -14,22 +17,9 @@ import {
|
|
|
14
17
|
AllowOverridesModal,
|
|
15
18
|
DisallowOverridesModal,
|
|
16
19
|
} from './allow-overrides-modal';
|
|
20
|
+
import { unlock } from '../lock-unlock';
|
|
17
21
|
|
|
18
|
-
|
|
19
|
-
let updatedBindings = { ...bindings };
|
|
20
|
-
delete updatedBindings.__default;
|
|
21
|
-
if ( ! Object.keys( updatedBindings ).length ) {
|
|
22
|
-
updatedBindings = undefined;
|
|
23
|
-
}
|
|
24
|
-
return updatedBindings;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function addBindings( bindings ) {
|
|
28
|
-
return {
|
|
29
|
-
...bindings,
|
|
30
|
-
__default: { source: PATTERN_OVERRIDES_BINDING_SOURCE },
|
|
31
|
-
};
|
|
32
|
-
}
|
|
22
|
+
const { useBlockBindingsUtils } = unlock( blockEditorPrivateApis );
|
|
33
23
|
|
|
34
24
|
function PatternOverridesControls( {
|
|
35
25
|
attributes,
|
|
@@ -49,24 +39,22 @@ function PatternOverridesControls( {
|
|
|
49
39
|
const isConnectedToOtherSources =
|
|
50
40
|
defaultBindings?.source &&
|
|
51
41
|
defaultBindings.source !== PATTERN_OVERRIDES_BINDING_SOURCE;
|
|
42
|
+
const { updateBlockBindings } = useBlockBindingsUtils();
|
|
52
43
|
|
|
53
44
|
function updateBindings( isChecked, customName ) {
|
|
54
|
-
const prevBindings = attributes?.metadata?.bindings;
|
|
55
|
-
const updatedBindings = isChecked
|
|
56
|
-
? addBindings( prevBindings )
|
|
57
|
-
: removeBindings( prevBindings );
|
|
58
|
-
|
|
59
|
-
const updatedMetadata = {
|
|
60
|
-
...attributes.metadata,
|
|
61
|
-
bindings: updatedBindings,
|
|
62
|
-
};
|
|
63
|
-
|
|
64
45
|
if ( customName ) {
|
|
65
|
-
|
|
46
|
+
setAttributes( {
|
|
47
|
+
metadata: {
|
|
48
|
+
...attributes.metadata,
|
|
49
|
+
name: customName,
|
|
50
|
+
},
|
|
51
|
+
} );
|
|
66
52
|
}
|
|
67
53
|
|
|
68
|
-
|
|
69
|
-
|
|
54
|
+
updateBlockBindings( {
|
|
55
|
+
__default: isChecked
|
|
56
|
+
? { source: PATTERN_OVERRIDES_BINDING_SOURCE }
|
|
57
|
+
: undefined,
|
|
70
58
|
} );
|
|
71
59
|
}
|
|
72
60
|
|
|
@@ -92,6 +80,7 @@ function PatternOverridesControls( {
|
|
|
92
80
|
<>
|
|
93
81
|
<InspectorControls group="advanced">
|
|
94
82
|
<BaseControl
|
|
83
|
+
__nextHasNoMarginBottom
|
|
95
84
|
id={ controlId }
|
|
96
85
|
label={ __( 'Overrides' ) }
|
|
97
86
|
help={ helpText }
|